A tecnologia de Web services (Serviços Web) é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Os Web services são descritos em WSDL (Webservice Description Language), um padrão baseado em XML para descrever o serviço, juntamente com seus métodos. Essa funciona como uma espécie de “TypeLibrary” do Webservice alem de ser usado para a validação das chamadas dos métodos.
Os Web services podem ser armazenados em um serviço de registro UDDI (Universal Description, Discovery and Integration), que é um Web Service que gerencia informação sobre provedores, implementações e metadados de serviços. Os provedores de serviços podem utilizar o UDDI para publicar os serviços que eles oferecem. Os usuários de serviços podem usar o UDDI para descobrir serviços que lhes interessem e obter os metadados necessários para utilizar esses serviços.
Para trabalhar com Web Services nesta disciplina, usaremos o Apache Axis, que é um framework de código aberto, baseado na linguagem Java e no padrão XML, utilizado para construção de web services no padrão SOAP.
O Axis disponibiliza dois modos para "expor" os métodos de uma classe através de web services. O modo mais simples utiliza os arquivos JWS (Java Web Service) do Axis. O outro método utiliza um arquivo WSDD (Web Service Deployment Descriptor), que descreve com detalhes como serão criados os web services a partir dos recursos (classes Java) existentes.
Também é possível, através do Axis, gerar automaticamente o arquivo WSDL (Web Service Description Language). O WSDL contém a definição da interface dos web services.
Para instalar o Apache Tomcate, é necessário:
1. Fazer download do Tomcat no site do Apache Tomcat. Procure pegar o arquivo ZIP. 2. Instalar ou descompactar em um diretório. Por exemplo: C:\tomcat\
Para a execução, é necessário configurar as seguintes variáveis de ambiente:
JAVA_HOME=diretorio_home_do_java_jdk JRE_HOME=diretorio_home_do_java_jre
depois disso, dentro do diretório bin do apache, executar:
No Windows: catalina.bat run No Linux: ./catalina.sh run
1. Fazer download da última versão do Axis; 2. Descompactar o arquivo do Axis; 3. Dentro da pasta webapps, você encontra a pasta axis. Copiar essa pasta para o diretório webapps do tomcat. 4. Reinicializar o Tomcat
Como exemplo, temos o seguinte código em Java, que possui um único método chamado soma. Este tem do is parâmetros de entrada inteiros e retorna um inteiro como resultado.
public class Calculadora { public int soma(int a, int b) { return a + b; } }
Salve o código acima com o nome de Calculadora.jws dentro do diretório Axis dentro do Tomcat, criado anteriormente.
Para a verificação do Web Service criado, acesse o sguinte link no navegador:
http://localhost:8080/axis/Calculadora.jws?wsdl
Para testar o Web Service, vamos executar o metodo soma com os dois parâmetros requeridos:
http://localhost:8080/axis/Calculadora.jws?method=soma&a=3&b=5
Para acessar o Web Service criado, por meio de um programa java, é necessário adicionar as bibliotecas necessárias no Eclipse (se for o caso) ou manualmente, assim como os imports necessários para a aplicação java.
import javax.xml.namespace.QName; import javax.xml.rpc.Call; import org.apache.axis.client.Service; class UsaTeste { public static void main(String[] args) { try { String wsLink = "http://localhost:8080/axis/Calculadora.jws"; Service service = new Service(); QName port = new QName(wsLink, "Calculadora"); QName operation = new QName(wsLink, "soma"); Call call = service.createCall(port, operation); call.setTargetEndpointAddress(wsLink); Object[] params = { 2, 8 }; Integer out = (Integer) call.invoke(params); System.out.println(out); } catch (Exception e) { e.printStackTrace(); } } }
Salve o programa como UsaTeste.java no local de sua preferência ou no projeto de uma aplicação Java criado no Eclipse.
Para podermos compilar e executar a aplicação no Eclipse, é necessário ir nas propriedades do projeto, ir em Java Build Path, Libraries e Add External JARs. Procure pelo diretório WEB-INF/lib dentro do diretório axis que foi colocado no diretório do Tomcat e adicione todas as bibliotecas JAR que estão ali.
[voltar]