
(por Kleber Bacili)
O assunto SOA está de fato em voga. Muito popular também é a implementação desse conceito usando Web Services. Muitas empresas estão desenvolvendo serviços web principalmente para integrar aplicações, normalmente desenvolvidas em plataformas diferentes. Embora essa seja uma das principais características dos Web Services, as empresas precisam ter cuidado em alguns aspectos relacionados a essa estratégia: a) mundo de conexões ponto-a-ponto; b) problemas com interoperabilidade.

Sobre o item “a”, cabe um texto específico no futuro mas, de forma geral, com o desenvolvimento de Web Services integrando as aplicações, embora essa seja uma boa estratégia no início, corre-se o risco, no médio prazo, de ter um número alto de serviços conectando aplicações (ponto-a-ponto), gerando muita dificuldade para se entender, manter e evoluir. As empresas estão atacando esse problema com a utilização de um middleware de mensageria, tipicamente um ESB (Enterprise Service Bus).
Sobre o item “b”, que é o foco desse Tech in Depth, gostaria de atacar alguns aspectos importantes. É bastante comum vermos a questão da interoperabilidade, ou seja, escrever um serviço web usando, por exemplo, Java e um cliente desse serviço (como em VB.NET), como uma forma de se resolver os problemas de integração entre aplicações desenvolvidas em plataformas diferentes. Bom, a estratégia é boa, mas alguns pontos precisam ser observados. Existem diversos protocolos relacionados a Web Services que nem sempre são totalmente compatíveis. Isso certamente causa dificuldades para integração via Web Services e diversos problemas de interoperabilidade. Foi criado inclusive uma organização chamada WS-I (Web Services Interoperability) composta por cerca de 130 empresas com o objetivo de integrar esses protocolos e oferecer guias, boas práticas, exemplos e ferramentas para garantia de interoperabilidade no uso de Web Services.
Para exemplificar essa questão, podemos citar as estruturas ADO e DataSet da plataforma Microsoft. Embora sejam muito utilizadas, elas não devem estar presentes nas interfaces dos serviços web, pois a engine SOAP da Microsoft não consegue fazê-la seriada de uma forma padronizada que possa ser “compreendida” por um cliente do serviço escrito em plataforma JEE, por exemplo. Certamente um problema! Ainda existem diversos outros aspectos problemáticos da interoperabilidade, como controle de transações distribuídas, utilização de attachments nas mensagens, entre outros.
A recomendação é que sejam usados os recursos da WS-I para se tentar garantir a interoperabilidade dos Web Services. Alguns deliverables importantes da WS-I são o Basic Profile e o Security Basic Profile. Procure usar as construções de XML Schema mais básicas e a forma de comunicação Document/Literal (ao invés do RPC/encoded). Seguindo essas recomendações, certamente algumas dores de cabeça poderão ser evitadas. Até a próxima!
Enviado por: aqueleblogdesoa
Posts relacionados:
- Princípios Básicos de SOA – Baixo Acoplamento
- Cenários e etapas para implantação SOA
- Como ter SOA
- Aprenda a calcular o ROI em SOA
- Ataques XML em WebServices
Categorias:
Divulgue esse post:
LinkTo