No artigo anterior foi visto como desenvolver um web service simples utilizando o framework Axis e uma aplicação cliente para acessá-lo. Além disso, mostramos também como configurar o ambiente de desenvolvimento (container web Apache Tomcat 5.0.28, o framework Apache Axis 1.1) para permitir o desenvolvimento e o acesso aos web services.
O objetivo deste segundo artigo é mostrar uma outra abordagem para implementar web service utilizando o Axis e também como acessá-lo através de aplicações para desktop (J2SE) e para dispositivos móveis (J2ME). Nessa nova abordagem, será utilizado WSDD (Web Services Deployment Descriptor) que gerencia informações para publicação do web service, tornando os acessos mais rápidos, fáceis e utilizando uma solução computacional mais profissional.
Web service
O Web service que será utilizado como exemplo durante esse artigo consiste em um programa que realiza o cálculo de fatorial (veja a Listagem 1).
01. public class ServidorWS { //declaração da classe ServidorWS
02. //lembramos que o fatorial de um número é o próprio número
03. //multiplicado por todos seus números inteiros menores
04. //exemplo: Fatorial de 5 = 5 x 4 x 3 x 2 x 1 = 120
05. public long fatorial( int n ) { //declaração do método fatorial
06.
07. long fat = 1;
08.
09. for ( int i = n; i >= 1; i-- ) {
10. fat = fat * i;
11. }
12.
13. return fat;
14.
15. } //fim do método fatorial
16. } //fim da classe ServidorWS
Listagem 1. ServidorWS.java – Web service para cálculo fatorial.
Como pode ver, essa aplicação consiste em uma simples classe Java. Para transformá-la em um web service, copie o arquivo para home_tomcat/axis/ trocando o nome do arquivo de ServidorWS.java para ServidorWS.jws.
O framework Axis se baseia no arquivo .jws para criar o arquivo de definição WSDL. Com isso, todos os métodos públicos existentes nesta classe serão automaticamente disponibilizados para terceiros. Gerar o arquivo WSDL de forma automática é uma característica presente em poucos frameworks, por este motivo o Axis se destaca.
Para visualizar o arquivo WSDL do web service, basta iniciar o Tomcat, abrir o navegador e digitar: http://localhost:8080/axis/ServidorWS.jws?wsdl (ver Figura 1).
Figura 1. WSDL visualizado no browser.
Gerando o WSDD (Web Service Deployment Descriptor)
Uma dificuldade quando se trabalha com web service é descobrir se já foi implementado um serviço que atenda suas necessidades para não correr o risco de se “reinventar a roda”. Para minimizar esse problema, é aconselhável registrar o web service desenvolvido no servidor (no nosso exemplo, o Apache Axis), facilitando a pesquisa dos serviços disponíveis. Esse repositório central é conhecido como UDDI (Universal Description, Discovery and Integration) (ler Nota 1).
Nota 1. UDDI na internet
Na internet, o site http://www.uddi.org/ possui uma lista extensa de web services disponíveis para acesso.
...