Conceitos: Serviços da Web para o J2EE
Tópicos
O que é um Serviço da Web do J2EE?
Um Serviço da Web é organizado em torno de uma arquitetura, contendo três elementos principais:
o Registro de Serviço, o Fornecedor de Serviços e
o Solicitante de Serviços. A Figura 1
fornece uma visão geral do relacionamento entre esses diferentes elementos.

Figura 1: -
Arquitetura do Serviço da Web
O Fornecedor de Serviços inicia pela definição da Service Interface por meio de um documento
de Descrição de Serviço abstrata, utilizando o WSDL (Web Services Description Language). Essa descrição abstrata é associada para transportar e codificar as ligações
e para tratar de uma Descrição de Serviço concreta para definir uma instância de
Serviço concreta também chamada Nó de Extremidade do Serviço ou
Porta.Essa descrição concreta pode então
ser publicada em um Registro de Serviço, como um UDDI (Universal Description, Discovery
and Integration) para ser acessada por qualquer Solicitante de Serviços. Um Solicitante de Serviços
a utilizará para selecionar e utilizar uma Implementação de Serviço concreta para o Serviço da
Web.
Um Serviço da Web do J2EE consiste em um conjunto dessas Portas que operam em um contêiner.
O contêiner media o acesso ao serviço e fornece o ambiente de tempo de execução.
Um cliente de um Serviço da Web pode ser outro serviço da Web,
qualquer componente J2EE ou um aplicativo Java arbitrário.
Mesmo os aplicativos não-java ou não-Web podem
utilizar os serviços da Web.
Visualização do Cliente do Serviço da Web
A visualização do cliente do Serviço da Web é fornecida pelo Provedor de Porta (Fornecedor de Serviços)
e pelo contêiner. Conforme mostrado na Figura
2 a seguir (em cinza), a visualização do cliente é composta por uma
Service Interface e uma Service Endpoint Interface.

Figura 2: -
Visualização do cliente do Serviço da Web
Para acessar uma Porta de um Serviço da Web,
o cliente inicia pela localização da Service Interface, utilizando as APIs de JNDI. Por meio
da Service Interface, o cliente descobrirá
os métodos a serem utilizados
para acessar uma Porta e acessará a implementação do Serviço da Web utilizando a Service
Endpoint Interface. Na visualização do cliente uma Porta é considerada um objeto sem preservação de estado.
A Service Interface e a Service Endpoint Interface são definidas pela
especificação JAX-RPC; entretanto,
o comportamento da Service Interface é definido pelo documento de Descrição de Serviço do WSDL
fornecido pelo Fornecedor de Serviços da Web.
Visualização do Servidor do Serviço da Web
A visualização do servidor de um Serviço da Web
lida com a implementação da lógica de negócios do serviço. Conforme definido
no J2EE 1.4, o Nó de Extremidade de Serviço da Web pode ser implementado
utilizando umas das abordagens a seguir:
- Utilizando um bean de
sessão sem preservação de estado, conforme especificado nas especificações JSR
109 e EJB 2.1
- Utilizando um servlet, conforme especificado em JAX-RPC 1.1
Para obter informações adicionais sobre essas duas abordagens, consulte
Diretrizes: Identificando Beans de
Sessão para nó de extremidade com base em bean de sessão e Diretrizes:
Identificando Servlets para nó de extremidade com base em servlet.
Referência
A principal referência para esta página é a especificação Serviços da
Web para J2EE (JSR 109).
|