Seja bem vindo(a) ao GOJava!

O GoJava é um grupo formado por pessoas envolvidas no desenvolvimento de software em Java no Estado de Goiás.
Introdução a Web Services no Netbeans

Introdução a Web Services no Netbeans

O intuito desse post é mostrar um exemplo básico de como trabalhar com WebServices. Utilizar um WebService é uma das maneiras mais comuns de se integrar aplicações diferentes. Um serviço muito comum e bastante utilizado, por exemplo, é o de WebService dos correios. Fazer o uso de WebServices também evita a re-programação, ou seja, incentiva o reuso de código. Mas o que realmente são WebServices?

Definição

Web Services são aplicações que fornecem ao usuário uma interação com servidores de uma maneira mais genérica que o uso de navegadores web, fazendo requisições pela rede (geralmente via HTTP), podendo se comunicar com qualquer arquitetura de programação, enviando e recebendo dados em padrões abertos (XML), facilitando assim, a interoperabilidade. Constitui-se basicamente de uma URL que é acessada (pelo navegador, ou por outro aplicativo independente) para que seja possível executar suas operações, independente de como, onde e quando essa aplicação existe. A principal característica da maioria dos serviços web é que eles podem processar mensagens SOAP formatadas em XML. Uma alternativa é a estratégia REST, que com estilo de operação muito restrito, utiliza-se de operações HTTP [GET, PUT, DELETE e POST] para manipular os recursos representados em XML.

JAX-WS

Java API para XML Web Services (JAX-WS) – JSR 224, é uma API Java para criação de WebServices, que faz parte da plataforma Java EE. Utiliza annotations para facilitar o desenvolvimento e implantação de webservices.  JAX-WS é uma evolução da JAX-RPC (Java API for XML-based RPC) dando suporte à múltiplos protocolos.

Criando o WebService

Uma vez que você tem o ambiente de programação completamente instalado e configurado, abra o Netbeans, clique em Novo projeto, na categoria Java Web, escolha Aplicação Web. Dê o nome que desejar, para exemplo utilizaremos CalcWS, termine de criar o projeto (finalizando o wizard).

Clique com o botão direito em cima do projeto, e depois em Novo > Web Service. O nome do web service fica a seu critério, para exemplo, usaremos MiniCalcWS. Informe o nome do pacote (br.com.exemplo). Talvez você será perguntado se deseja utilizar a METRO (sun-jaxws.xml), clique em sim.

Com a classe/web service criada, já é possível criar seus métodos. O Netbeans, em suas últimas versões, vêm facilitando a vida do programador com seus recursos visuais. A aba de design ajuda muito quem faz programas utilizando Swing, e não é diferente para criação de web services. Estando na visão design haverá um botão “Adicionar Operação”. Clique nele e preencha os dados para uma operação de soma: Nome - soma, Tipo de Retorno - float; e dois parâmetros (float a, float b).

O Netbeans cria uma operação (hello) de exemplo, você pode removê-la, pois não será necessária. Faça as demais operações básicas da matemática, e em seguida verifique, na aba Código-fonte, como está sua classe. Adicione o código correspondente a cada operação, ficando desta maneira:

/*
 * Simples exemplo de Web Service
 */
package com.sheldonled;

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

/**
 *
 * @author sheldonled
 */
@WebService(serviceName = "MiniCalcWS")
public class MiniCalcWS {

    /**
     * Operação de Web service
     */
    @WebMethod(operationName = "soma")
    public float soma(@WebParam(name = "a") float a, @WebParam(name = "b") float b) {
        return a+b;
    }

    /**
     * Operação de Web service
     */
    @WebMethod(operationName = "subtracao")
    public float subtracao(@WebParam(name = "a") float a, @WebParam(name = "b") float b) {
        return a-b;
    }

    /**
     * Operação de Web service
     */
    @WebMethod(operationName = "multiplicacao")
    public float multiplicacao(@WebParam(name = "a") float a, @WebParam(name = "b") float b) {
        return a*b;
    }

    /**
     * Operação de Web service
     */
    @WebMethod(operationName = "divisao")
    public float divisao(@WebParam(name = "a") float a, @WebParam(name = "b") float b) {
        return a/b;
    }
}

Testando o WebService

Uma vez que o seu código estiver feito, podemos testar o WebService. Observe que, na visão Projetos do Netbeans, existe o seu projeto (CalcWS) e dentro dele algumas pastas. Uma das pastas chama-se Web Services, e dentro dela existe o web service que você criou (MiniCalcWS). Execute o seu projeto (isso fará com que seu servidor seja iniciado) e depois clique com o botão direito sobre o seu web service e em seguida, Testar Web Service. Abrir-se-á uma janela no seu navegador com uma URL parecida com esta: http://localhost:8080/CalcWS/MiniCalcWS

Provavelmente, seu WSDL terá uma URL assim: http://localhost:8080/CalcWS/MiniCalcWS?wsdl e ao acessá-la, algo bem esquisito (XML) aparecerá. Caso você esteja utilizando o GlassFish você já poderá executar as funções do seu web service, porém o Tomcat não tem cliente de teste para web services. Isso indica que seu web service está funcionando corretamente e precisamos criar algo que execute as funções do seu web service (também conhecido como consumir o web service).

Consumindo o WebService

Vamos criar uma simples página em JSP que consome algum método de seu WebService, como o de multiplicação, por exemplo. Crie um novo projeto de Aplicação Web, como o projeto anterior, e dê um nome como CalcClient. Com o projeto criado, clique com botão direito e escolha Novo > Cliente para Web Service. Em Projeto clique em procurar e localize o web service que você criou e clique em finalizar.

Agora a parte mágica! Aparecerá uma pasta “Referências de Web Services” com seu web service dentro, e dentro dele os métodos disponíveis. Como fazer para executar algum deles em sua página JSP? Simplesmente selecionando um deles e arrastando até o código de sua página. Veja meu exemplo:

<%--      Document   : index     Created on : 05/06/2013, 05:29:48     Author     : sheldonled --%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>Consumindo Web Service

Exemplo de Web Service!

            <%-- start web service invocation --%>

    <%     try { 	com.sheldonled.MiniCalcWS_Service service = new com.sheldonled.MiniCalcWS_Service(); 	com.sheldonled.MiniCalcWS port = service.getMiniCalcWSPort(); 	 // TODO initialize WS operation arguments here 	float a = 5; 	float b = 3; 	// TODO process result here 	float result = port.multiplicacao(a, b); 	out.println("Resultado = "+result);     } catch (Exception ex) { 	out.println("Erro = "+ ex);     }     %>
    <%-- end web service invocation --%>

O navegador interpretou algumas partes que são html mas o código é basicamente este. Agora basta editar o restante de sua aplicação.

Conclusão

Este foi apenas um exemplo, tente procurar empresas que já tem web services disponíveis publicamente e embutí-los em suas aplicações. Assim você aprenderá a trabalhar com o consumo de web services, que geralmente é onde se concentra mais os esforços dos programadores.

Fonte:

https://netbeans.org/kb/docs/websvc/jax-ws.html (em inglês)

https://netbeans.org/kb/docs/websvc/client.html  (em inglês)

5 de junho de 2013 Read More
Flisol 2013

Flisol 2013

Logo_1

O FLISOL (Festival Latino-americano de Instalação de Software Livre) é o maior evento de divulgação de Software Livre da América Latina. Ele acontece simultaneamente , na mesma data, em diversos países desde 2005.

Seu principal objetivo é promover o uso de Software Livre, apresentando sua filosofia, seu alcance, avanços e desenvolvimento ao público em geral.

Acompanhe tudo em: http://www.flisolgo.org.br/gyn/index.php

31 de março de 2013 Read More
JoinCommunity

JoinCommunity

482355_10200108731653702_2144448078_n

Os grupos GoJava, DevGoiás, GoPHP e GDG se reuniram para realizar a primeira edição do evento Join Community.

Nesta primeira edição abordaremos o tema OO (Orientação a objetos), onde serão discutidas melhores práticas e seu uso em cada tecnologia especifica. Já pensando no sucesso do evento poderemos ter edições semestrais.

Objetivo

Como vamos envolver várias comunidades, evento terá foco em networking e compartilhar conhecimentos entre as comunidades e interoperabilidade entre as diversas tecnologias

Público Alvo

Desenvolvedores, Gerentes de TI, Empresários e Estudantes.

Nesta primeira edição abordaremos o tema OO (Orientação a objetos), onde serão discutidas melhores práticas e seu uso em cada tecnologia especifica.

Mais informações em: http://www.joincommunity.com.br/

3 de março de 2013 Read More
Palestra App Nativo vs Web App

Palestra App Nativo vs Web App

App Nativo vs Web App – Evento gratuito! De desenvolvedor pra desenvolvedor. Participe!

 

evento1

Data: 22/02/2013

Horário :18:29h às 19:29h

Local: Alfa-Bueno: Av. Mutirão, nº2600 -Setor Bueno

15 de fevereiro de 2013 Read More
Submissão de Palestras para o JustJava 2013

Submissão de Palestras para o JustJava 2013

Estão abertas as submissões de palestras para o JustJava 2013, o evento acontecerá nos dias 7 e 8 de junho na Senac Santo Amaro. O evento é organizado pelo SouJava em parceria com a Sucesu e é um grande evento da comunidade Java Brasileira, não perca essa oportunidade! Submeta sua palestra, ou melhor, suas palestras e participe! Data de encerramento da submissão de palestras: 28/fevereiro/2013. Notificações das palestras aprovadas entre 30 de março.

Mais  informações em: http://soujava.org.br/

6 de fevereiro de 2013 Read More
O prazer de estar em comunidade

O prazer de estar em comunidade

Já faz quase quatro anos que pertenço à comunidade do Gojava. Tudo começou no FliSol 2009 na Faculdade de Tecnologia do Senai, próximo ao Diário da manhã. Um evento extremamente lotado, por culpa do Gojava, que conseguiu trazer o Javaman para encerrar o evento. Eu estava estudando Java por conta própria, pois em contradição com as demais instituições, a minha faculdade não estava ensinando esta linguagem nas disciplinas que envolvem programação ainda.

Javaman

Javaman – Encerramento Flisol 2009

Foi uma experiência incrível e, graças ao HackLab do Gojava, conheci a Flávia Suares, que pelos meus cálculos é a JugLeader mais antiga da comunidade, e apesar de ficar encantado com sua beleza, fiz um contato bem profissional com ela (Eu juro). Brincadeiras a parte, ingressei na comunidade, assinei a lista e comecei a conhecer o pessoal, e percebi que já fiquei a frente dos demais colegas de classe por não estar mais preso ao mundinho acadêmico.

Uma lista com mais de mil inscritos, já há tantos anos ativa, não é um grupo qualquer. E foi assim que conheci pessoas incríveis, com grandes cargos, em grandes empresas, com palestras hipnotizantes, tratando assuntos tão recentes, e fui aprimorando meu networking, tudo isso graças ao Gojava.

Assim, conheci outras comunidades goianas através do Gojava, ajudei a organizar eventos de informática, palestrei em vários, vi eventos terem só uma edição, vi eventos já com 10 anos de acontecimento, discussões, tensão e muitas outras coisas que acontecem em uma comunidade. Isso agregou uma experiência que, em quase todas as empresas em que trabalhei, eu cito exemplos vividos dentro da comunidade para servir de exemplo no ambiente de trabalho.

Através do Gojava conquistei oportunidades de emprego, ganhei cursos online, presenciais, na 3way, por exemplo, e conquistei o melhor: Amigos. Gosto de falar que é sempre bom comentar com as pessoas sobre suas experiências pois assim elas podem te ajudar em algo, ou absorver algum conteúdo para si. E assim foi com o Gojava. Aprendi muito e cresci muito intelectualmente estando em comunidade.

SheldonLed-Gojava

Sheldon Led – Latinoware 2009

Gostaria de fazer um convite a quem está lendo este post, para que se envolva! Mantenha-se conectado. Networking é algo imprescindível no mercado de trabalho, e porque não começar com uma comunidade tão grandiosa como o Gojava. Participe, palestre, colabore nos eventos! O Gojava apóia o Movimento Software Livre, e em Goiás há dois eventos fixos nessa área: O Flisol e o FGSL.

Fique por dentro, acompanhe a Página do Gojava no Facebook,e no Twitter também, inscreva-se no Grupo de Discussão do Gojava. Eu garanto que terá experiências fascinantes, que agregarão seu currículo, e agregará seu conhecimento de desenvolvimento colaborativo.

31 de janeiro de 2013 Read More
JUDCon (JBoss Users and Developer Conference)

JUDCon (JBoss Users and Developer Conference)

O JUDCon (JBoss Users and Developer Conference) é um grande encontro de desenvolvedores que acontece em várias partes do mundo, dando aos seus usuários a oportunidade de falar e colaborar com os principais líderes da comunidade e permitindo que os líderes do desenvolvimento destes projetos aprendam e colaborem com os seus usuários.

O JUDCon 2013: Brasil irá acontecer em 19 e 20 de Abril (sexta e sábado) no SENAC Campus Santo Amaro no endereço Avenida Engenheiro Eusébio Stevaux 823.

Fonte e mais informações em : http://www.jboss.org/pt_BR/events/JUDCon/2013/brazil

 

31 de janeiro de 2013 Read More
Ginga Hackathon

Ginga Hackathon

 

Uma maratona de programação onde desenvolvedores interessados no assunto poderão desenvolver aplicativos para TV Digital com Java.

Um evento realizado pela Oracle do Brasil em parceria com a Globalcode.

Venha participar também, o evento é gratuito!

Veja a programação: http://gingahackathon.java.net/programacao.html

Data e Local: Acontecerá na Globalcode SP nos dias 9 e 10 de março de 2013.

30 de janeiro de 2013 Read More
XXXIII Congresso da Sociedade Brasileira de Computação

XXXIII Congresso da Sociedade Brasileira de Computação

 

image

XXXIII Congresso da Sociedade Brasileira de Computação

Data: 23 a 26 de julho

Local:Maceió-AL

Mais informações em: http://ic.ufal.br/csbc2013/

25 de janeiro de 2013 Read More
Palestra: “Desenvolvimento profissional com Kinect for Windows”

Palestra: “Desenvolvimento profissional com Kinect for Windows”

“Desenvolvimento profissional com Kinect for Windows”

Dia: 31/01/2013 – Quinta Feira
Hora: 17h29 às 18h29
Local: Alfa-Bueno: Av. Mutirão, nº2600 -Setor Bueno
Palestrante: Alexandre Borges

24 de janeiro de 2013 Read More