Serviços da Web - Características
Os serviços da Web têm as seguintes características comportamentais especiais -
Baseado em XML
Os serviços da Web usam XML nas camadas de representação e transporte de dados. O uso de XML elimina qualquer rede, sistema operacional ou ligação de plataforma. Os aplicativos baseados em serviços da Web são altamente interoperáveis em seu nível central.
Fracamente acoplada
Um consumidor de um serviço da web não está vinculado a esse serviço da web diretamente. A interface do serviço da web pode mudar ao longo do tempo sem comprometer a capacidade do cliente de interagir com o serviço. Um sistema fortemente acoplado implica que a lógica do cliente e do servidor estão intimamente ligadas uma à outra, implicando que, se uma interface mudar, a outra deverá ser atualizada. A adoção de uma arquitetura fracamente acoplada tende a tornar os sistemas de software mais gerenciáveis e permite uma integração mais simples entre diferentes sistemas.
Grão Grosso
As tecnologias orientadas a objetos, como Java, expõem seus serviços por meio de métodos individuais. Um método individual é uma operação muito fina para fornecer qualquer capacidade útil em um nível corporativo. Construir um programa Java do zero requer a criação de vários métodos de baixa granularidade que são então compostos em um serviço de baixa granularidade que é consumido por um cliente ou outro serviço.
Os negócios e as interfaces que eles expõem devem ser de granulação grossa. A tecnologia de serviços da Web fornece uma maneira natural de definir serviços de granulação grossa que acessam a quantidade certa de lógica de negócios.
Capacidade de ser síncrono ou assíncrono
A sincronicidade refere-se à vinculação do cliente à execução do serviço. Em invocações síncronas, o cliente bloqueia e espera que o serviço conclua sua operação antes de continuar. As operações assíncronas permitem que um cliente invoque um serviço e execute outras funções.
Os clientes assíncronos recuperam seus resultados posteriormente, enquanto os clientes síncronos recebem seus resultados quando o serviço é concluído. A capacidade assíncrona é um fator chave na ativação de sistemas fracamente acoplados.
Oferece suporte a chamadas de procedimento remoto (RPCs)
Os serviços da Web permitem que os clientes invoquem procedimentos, funções e métodos em objetos remotos usando um protocolo baseado em XML. Os procedimentos remotos expõem os parâmetros de entrada e saída que um serviço da web deve oferecer suporte.
O desenvolvimento de componentes por meio de Enterprise JavaBeans (EJBs) e componentes .NET tem se tornado cada vez mais uma parte das arquiteturas e implantações corporativas nos últimos dois anos. Ambas as tecnologias são distribuídas e acessíveis por meio de uma variedade de mecanismos RPC.
Um serviço da Web oferece suporte a RPC fornecendo serviços próprios, equivalentes aos de um componente tradicional, ou traduzindo as chamadas recebidas em uma chamada de um componente EJB ou .NET.
Suporta Troca de Documentos
Uma das principais vantagens do XML é sua maneira genérica de representar não apenas dados, mas também documentos complexos. Esses documentos podem ser tão simples quanto representar um endereço atual, ou podem ser tão complexos quanto representar um livro inteiro ou solicitação de cotação (RFQ). Os serviços da Web suportam a troca transparente de documentos para facilitar a integração de negócios.