Relatório de Desenvolvendo e Usando Web S
Por: talessarkis • 3/4/2015 • Relatório de pesquisa • 1.118 Palavras (5 Páginas) • 314 Visualizações
[pic 1]
UNIVERSIDADE FEDERAL DO ACRE
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO
DESENVOLVENDO E USANDO WEB SERVICES EM JAVA
RIO BRANCO
2014
TALES SARKIS CARNEIRO
EMMANUEL PAMPLONA
DESENVOLVENDO E USANDO WEB SERVICES EM JAVA
Trabalho de Sistemas Distribuído apresentado para obtenção parcial da nota da n2.
Docente: Luiz Augusto Matos da Silva
RIO BRANCO
2014
Desenvolvendo e Usando Web Services em Java
1.Introdução
Os Web Services podem ser baseados no protocolo SOAP ou no estilo REST (chamados de RESTful). Ambos funcionam sob o protocolo HTTP, que é o protocolo padrão de transferência de documentos na Web.
SOAP é um dialeto XML utilizado para descrever mensagens que são trocadas entre componentes SOA (Service Oriented Architecture).
2.Objetivos
O objetivo central é implementar um sistema de Web Service na qual demostre para os demais colegas de classe, um conceito básico e o principio de seu funcionamento através das classes criadas.
3.Metodologia
Para o desenvolvimento desta implementação, na qual utilizaremos como meta desenvolver uma aplicação Web Service que irar calcular as quatro operações básicas e retornará ao cliente os resultados do calculo, para isso utilizaremos a linguagem Java para definir os serviços web em suas classes. O Web Service a ser criado utilizará o protocolo SOAP que é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída
A implementação das interfaces será dividida em dois serviços: SEI( onde serão implementados os métodos definidos) e SIB (que possuirá as quatro operações básicas).
3.1.Criando Web Services em SOAP
Em Java, os serviços Web são definidos por classes. Um Web Service pode oferecer várias operações, representada por um método de classe. Uma prática muito importante de ser seguida é sempre dividirmos a interface de um serviço da sua implementação. A interface de um serviço é chamada de SEI (Service Endpoint Interface) e a implementação é chamada de SIB (Service Implementation Bean).
Neste exemplo usaremos o bloco de notas para entendermos melhor tudo o que acontece, diferente de utilizar um ambiente de desenvolvimento que muitas vezes abstraem diversos detalhes que deveriam ser implementados.
Vamos iniciar a implementação criando um Web Service simples separada em SEI e SIB que possui quatro operações: “soma, subtracao, divisao, multiplicação”. O objetivo deste serviço é retornar o calculo de uma das operações invocadas pelo cliente. Segue abaixo o exemplo do SEI para o nosso serviço de calculadora. Salve o arquivo abaixo com o nome CalculadoraServer.java dentro de uma pasta "calc".
[pic 2]
Não há nada de muito diferente em relação a um código qualquer normal de interface Java. Porém notamos que as @WebService, @WebMethod e @SOAPBinding provavelmente são novidades para aqueles que ainda estão aprendendo sobre Web Services. @Webservice é uma anotação que avisa ao compilador Java que o arquivo atual corresponde à definição SEI de um serviço Web.
@WebMethod indica que um determinado método corresponde a uma operação de serviço e assim pode ser invocado por um cliente. @SOAPBinding indica que o serviço utilizará a abordagem SOAP e não Rest que é a outra abordagem suportada.
Agora que a interface está criada e anotada corretamente vamos criar a implementação da interface, ou seja, a nossa SEI onde serão implementados os métodos definidos anteriormente. Para isso precisamos criar a classe CalculadoraServerImpl.java que estará salvo dentro da pasta calc. Segue abaixo a implementação:
[pic 3]
A listagem acima nada mais é do que uma implementação de uma classe como outra qualquer com os métodos da interface descritos e implementados. No entanto, neste código temos uma novidade, a propriedade endpointInterface dentro da anotação @WebService.
Essa propriedade faz com que a classe atual, a SIB, ligue-se com a SEI especificada anteriormente (calc.CalculadoraServer).
Agora tudo que nos resta é compilar este arquivo. Se não ocorrer nenhum erro tudo foi corretamente criado e as class relativo a cada um dos arquivos foi criado na pasta calc. Se ocorrer algum erro veja se não houve nenhum erro de digitação e se a variável JAVA_HOME foi corretamente especificada.
Agora estamos prontos para publicar o serviço e isso será discutido na próxima seção do artigo.
3.2.Publicando o Serviço
Agora que os arquivos já foram compilados podemos publicá-lo. Para isso precisamos gerar o arquivo abaixo CalculadoraServerPublisher.java dentro da pasta calc juntamente com os arquivo definidos anteriormente.
[pic 4]
Neste código percebe-se o uso da classe Endpoint que está disponível na linguagem Java e que nos permite publicar um serviço em um servidor. Para que possamos usa-la deve-se passar como parâmetro o endereço do servidor e a instância do SIB do serviço a ser publicado. Notamos que o serviço é publicado na porta 9876.
...