Artigo WebMobile 15 - Integrando tecnologias heterogêneas com Web Services
Veremos como utilizar web services para integrar uma aplicação em J2ME com sistemas desenvolvido em outras tecnologias.
Clique aqui para ler a revista em PDF
Java e .NET
Integrando tecnologias heterogêneas com Web Services
A cada dia que passa lemos e escutamos falar mais sobre web services. Muitas empresas como Microsoft, IBM, Oracle, Google, Yahoo, etc... utilizam essa tecnologia. Mas o que leva essas empresas a utilizarem essa tecnologia? Web services é atualmente a tecnologia que permite a nós, desenvolvedores, integrar sistemas legados e heterogêneos de forma rápida e fácil. Criando web services, podemos disponibilizá-los para que o resto do mundo possa consumi-lo sem se preocupar com quem (que tecnologia) está consumindo. Dessa forma, podemos integrar aplicações, negócios e componentes.
Atualmente, podemos encontrar na prática várias aplicações com tecnologias diferentes. Se a empresa adotasse uma plataforma de desenvolvimento padrão, as coisas seriam mais fáceis. Mas hoje vemos empresas com, por exemplo, sistema financeiro em Delphi, web site em ASP, sistema de força de venda com .NET, aplicações em Java pra celular, ou seja, uma verdadeira salada de tecnologia. Chega um momento que alguém vai querer integrar tudo isso, exemplo: o celular envia informações para que o sistema financeiro possa visualizar a aplicação de força de venda, atualizando informações de estoque, para que a aplicação web possa exibir essas informações para os clientes no browser. Enfim, fazer com que as aplicações feitas em tecnologias diferentes se comuniquem. Nesse momento paramos e pensamos: como fazemos isso?
Ao longo deste artigo será apresentado como você pode resolver esse tipo de problema utilizando web services para integrar uma aplicação em J2ME com sistemas desenvolvido em outras tecnologias.
Utilizando Web Services em celulares
Apesar da importância dos conceitos relacionas a este tema, neste artigo não será explicado com maiores detalhes o que são web services, mas sim, como usar esta tecnologia para integrar outras tecnologias, como Java e C#.
Será apresentado como escrever uma aplicação J2ME para acessar um web service escrito em .NET sem a necessidade de gerar stubs (stubs client é um cliente de web service que mapeia o serviço com o WSDL – Nota 1 – gerado pelo web service. Os stubs se comunicam com JAX-RPC – Nota 1), ou Proxies (em .NET, quando adicionamos uma web reference, o visual studio gera automaticamente o proxy de comunicação com o serviço web), nem utilizar os frameworks conhecidos como KSOAP (framework que faz parser das mensagens SOAP (que será discutido a seguir)).
Nota 1. WSDL e JAX-RPC
·O WSDL (Web Service Description Language) é um documento escrito em XML que descreve as características do web service, como: endereço, métodos (operações) e como acessá-los.
·JAX-RPC é o pacote padrão da SUN para suporte a web services.
Esse tipo de acesso é interessante porque como na maioria dos celulares atuais não temos disponível o JAX-RPC, “não teríamos como consumir web services”. Porém como os Web services usam o protocolo HTTP como base de comunicação, podemos facilmente escrever uma requisição HTTP para consumir o web service sem a necessidade de usar este pacote. Esta forma de requisição pode ser feita a partir de qualquer linguagem, como C/C++. Iremos escrever uma requisição encapsulando o envelope SOAP dentro de nossa requisição.
Os web services utilizam-se de padrões abertos de comunicação, sendo o mais comum o protocolo SOAP (Simple Object Access Protocol). O protocolo SOAP, resumidamente, é um protocolo de trocas de mensagens XML, e possui diversas implementações, ou seja, .NET tem sua implementação do SOAP, Java tem a sua, e assim por diante. Portanto, nós consumimos web services com o mesmo padrão, mas de formas diferentes, dependendo da tecnologia que estejamos usando.
Para o nosso exemplo, utilizaremos o protocolo SOAP para fazermos a requisição ao web service escrito em C#. Se você tem interesse em aprender mais sobre web services, acesse o endereço http://www.w3schools.com/webservices/default.asp. Neste site, você vai encontrar um bom conteúdo sobre o que são e como funcionam os web services.
Estudo de caso
Antes de iniciarmos o desenvolvimento, vamos imaginar uma situação:
“Existe uma empresa Cont. Corp S/A, focada no ramo de contabilidade. A empresa possui em seu escritório central na Alemanha um software que processa vários cálculos complexos. A mesma empresa possui diversos representantes espalhados pelo mundo. Hoje, o representante utiliza um web site para entrar com os dados e receber o resultado dos cálculos somente depois de visitar todos os seus clientes durante o dia. Dessa forma, o representante fica restrito a fazer todos esses cálculos no final do dia.
A empresa Cont.Corp S/A deseja que seus representantes possam entrar valores pelo celular, enviar esses dados ao servidor no escritório central, para que sejam feitos os cálculos e retornar o valor para o representante, de forma que o mesmo possa apresentar os resultados ao cliente durante a visita.”
Para resolver esse problema iremos criar um web service chamado Calculadora, e nesse serviço teremos um método (Soma) que irá receber dois parâmetros de entrada e que em teoria fará o nosso cálculo complexo. Em seguida iremos criar a aplicação em J2ME para consumirmos o web service criado. Nossa aplicação J2ME terá um formulário com dois campos de entrada e um botão (command) para invocar nosso web service (desenvolvido em C#).
Ambiente para desenvolvimento do Web Service
Chega de teoria e vamos iniciar nossa aplicação. Para este exemplo serão utilizadas as seguintes tecnologias (segue também o link para que você possa baixá-las):" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo