A implementação de Arquitecturas de Integração de Aplicações Empresariais com recurso a Web Services, baseada nos standards XML, SOAP, WSDL e UDDI, forma a base de uma visão de computação distribuída, situada na Web e em que diferentes dispositivos, sistemas operativos e aplicações colaboram na implementação de funcionalidades.
O emaranhado de aplicações díspares que existe actualmente na maioria das organizações, obrigou à criação de interfaces complexas e a carregamentos em lote, frequentemente efectuados de forma não automatizada. O novo paradigma das soluções de EAI pretende dar resposta à integração das aplicações dentro da mesma organização (A2A) e entre organizações (B2B), através de sistemas de messaging fiáveis e da orquestração de processos que definem as regras do negócio.
No entanto, é necessário aprender com o passado e pensar em construir componentes facilmente integráveis em plataformas e ambientes de desenvolvimento heterogéneos. A emergência dos Web Services representa a evolução natural das Arquitecturas Distribuídas, alicerçada no modelo de Arquitecturas Orientados a Serviços (SOA). Mas poderá este novo standard livrar-nos do pesadelo da integração que impera hoje em dia?
Web Services significam integração
Os Web Services constituem um importante passo na evolução das arquitecturas orientadas a serviços, tornando possível a adaptação do software às mudanças rápidas do negócio e das necessidades dos clientes. Ao invés de se codificarem processos de negócio que resultam em aplicações de manutenção complexa, as diferentes etapas do mesmo processo podem agora recorrer a serviços externos que serão incorporados à medida que vão sendo necessários. Estes serviços podem ser facilmente integrados/substituídos, de modo a acompanharem as alterações que vão sendo necessárias.
Na perspectiva do negócio, a abordagem aos Web Services significa integração - integrar as funcionalidades das aplicações dentro de uma organização, ou integrar aplicações entre os parceiros do negócio. Esta integração permite ganhar eficiência em termos de tempo e de custos em todos os processos do negócio (ordens de compra, resposta a inquéritos, processamento de pedidos de envio, etc.). Se outro fornecedor apresenta um preço mais vantajoso, ou melhores condições de envio, ou ainda garantir melhor qualidade, então o sistema tem a capacidade de facilmente se reposicionar para passar a considerar esse fornecedor. Conseguir isto é tão simples como apontar o browser para outro website.
O aspecto mais importante a reter é que os Web Services permitem a integração de aplicações em tempo real, sem que tenha de haver um pré-acordo em termos da tecnologia utilizada pelos vários parceiros de negócio. Os Web Services - independentemente de serem implementados na plataforma .NET (Microsoft), WebSphere (IBM), WebLogic (BEA), SunONE (Sun), ou em qualquer outra que suporte Web Services - têm a vantagem de ser uma infra-estrutura extraordinariamente adaptativa e independente da plataforma.
Quando se torna tão simples integrar sistemas, a possibilidade de uma organização chegar a qualquer fornecedor, cliente ou parceiro de negócio é muito maior, reflectindo-se em reduções de custos e em melhores serviços.
O que são os Web Services
Como seria de esperar, existem várias definições de Web Services. A definição adoptada pela IBM diz que "os Web Services são aplicações modulares auto-contidas e auto-descritas que podem ser publicadas, localizadas e invocadas através da rede - geralmente através da Internet".
Esta descrição aborda logo à partida os protocolos de base (descrição de regras e formatos que suportam uma comunicação) que caracterizam os Web Services. No entanto, convém fornecer mais alguns esclarecimentos sobre as características referidas na definição.
Auto-descritos. O protocolo standard WSDL (Web Service Description Language) descreve os serviços (métodos) e a estrutura de dados de entrada e saída. Este documento descreve a interface e, de uma forma geral, é inferido automaticamente a partir do código do próprio Web Service.
Podem ser publicados e localizados. O protocolo standard UDDI (Universal Description, Discovery and Integration) permite que os Web Services possam ser referidos num registo para posterior descoberta e utilização pelos clientes. Este registo organiza os serviços por categorias e armazena um conjunto de apontadores que permitem identificar o Web Service - por exemplo o URL onde este se localiza e a interface que expõe.
Podem ser invocados. O protocolo standard SOAP (Simple Object Access Protocol) estabelece o protocolo de comunicação entre a aplicação cliente e os serviços. As várias partes que o compõem incluem o cabeçalho, o corpo da mensagem e o controlo de erros.
Convém referir ainda dois outros protocolos standard largamente utilizadas actualmente e adoptados pelos Web Services.
Oportunidades de negócio dos Web Services
A economia da Web está actualmente a conduzir a evolução do negócio. Torna-se, portanto, imperativo que as organizações consigam responder à crescente dinâmica do mercado. O desafio da integração de aplicações de e-businness é enorme, pelo que os grandes nomes da indústria informática estão a apostar nos Web Services. Por outro lado, as necessidades dos clientes e a pressão dos mercados fazem com que muitas empresas passem a suportar esta tecnologia.
O utilizador de um Web Service pode ser taxado pela utilização de um serviço. Um exemplo poderá ser um serviço que permita o envio de SMS (mensagens curtas), com o operador que fornece o serviço a cobrar por cada mensagem que é enviada. Os Web Services permitem interacção e colaboração em tempo real.
Actualmente, os dados são replicados e utilizados localmente. Os Web Services permitem realizar queries a dados remotos em tempo real. Nada é mais frustrante do que comprar algo através da Internet e só nos apercebermos no dia seguinte que o produto que pretendíamos não existe em armazém.
Um serviço pode agregar vários serviços. Um exemplo típico seria um serviço que permitiria comparar qual a melhor oferta de entre vários serviços. Outro exemplo poderia ser um serviço que permitisse agrupar serviços relacionados de alguma forma. Um destes serviços poderia actualizar o nosso endereço nos correios, na segurança social e nas finanças e encontrar a "melhor" transportadora para efectuar a mudança dos pertences para a nova casa.
Uma característica importante dos Web Services é o facto de utilizarem standards abertos na forma de invocar as funcionalidades, descrever os serviços e registá-los. Comparativamente ao Corba ou ao DCOM, por exemplo, são notórias as vantagens dos Web Services, nomeadamente a simplicidade dos seus protocolos e a flexibilidade que oferecem ao permitirem a comunicação entre sistemas baseados em sistemas operativos e/ou linguagens de programação díspares.
Os Web Services também poderão auxiliar-nos na difícil tarefa de criar componentes facilmente reutilizáveis pelas aplicações, independentemente da linguagem de programação utilizada e da plataforma de suporte. Para atingir este objectivo, os Web Services disponibilizam protocolos de interface únicos para que todas as aplicações tenham apenas de entender uma única semântica.