Detalhes do Serviço da Web de Leilão

O serviço da Web foi desenvolvido como uma outra maneira de interagir com o banco de dados de itens utilizado pelo aplicativo de Leilão, utilizando XML. Os usuários do serviço da Web de Leilão podem excluir itens no banco de dados, bem como visualizar informações em um ou em todos os itens atuais no Leilão.

Um serviço da Web é um conjunto de funções relacionadas do aplicativo que podem ser publicadas, localizadas e chamadas pela Internet. Os serviços da Web permitem que os aplicativos que são executados em plataformas diferentes e desenvolvidos em linguagens diferentes interoperem utilizando componentes baseados em XML.

Há duas abordagens gerais para desenvolvimento de serviços da Web: descendente e ascendente. Na abordagem descendente, um serviço da Web baseia-se na interface do serviço da Web e nos tipos XML, definidos nos arquivos WSDL (Web Services Description Language) e XSD (XML Schema Definition). O desenvolvedor modifica a implementação do esqueleto para a interface com a lógica de negócios. Na abordagem ascendente, um serviço da Web é criado com base na lógica de negócios existente em Java beans ou EJBs. Um arquivo WSDL é gerado para descrever a interface do serviço da Web resultante. A abordagem descendente permite mais controle sobre a interface do serviço da Web e os tipos XML utilizados e é a abordagem recomendada para desenvolver um serviço da Web.

O serviço da Web de Leilão foi desenvolvido utilizando uma abordagem descendente, primeiro definindo arquivos WSDL e XSD. O arquivo WSDL define quais interfaces estão expostas, quais operações são chamadas e quais mensagens são transmitidas durante essas operações. O arquivo WSDL refere-se ao arquivo XSD para a definição exata dessas mensagens.

Para o aplicativo de serviços da Web de Listagem de Leilão, as operações fornecem estas funções:
  • Incluir um item no catálogo
  • Remover um item do catálogo
  • Exibir informações sobre um item específico
  • Exibir uma lista de todos os itens no catálogo
Para executar essas operações, o ID de usuário e o ID de categoria devem estar presentes.

O diagrama a seguir ilustra os estágios de desenvolvimento para o serviço da Web. Os editores WSDL e XSD são utilizados para definir arquivos WSDL e XSD. O segundo componente, o esqueleto do Java bean, contém três partes distintas que são desenvolvidas utilizando um assistente. Como essas partes são geradas ao mesmo tempo e testadas juntas como uma unidade, elas são descritas juntas.

Esse diagrama ilustra as ferramentas e os processos para desenvolver o serviço da Web.

Definindo os Arquivos WSDL e XSD com os Editores WSDL e XSD

A interface do serviço da Web e os tipos XML definidos nos arquivos WSDL (Web Services Description Language) e XSD (XML Schema Definition) descrevem como o serviço da Web será e atuará, definindo os elementos e suas ações associadas.

Quando um serviço da Web de Leilão foi desenvolvido, um novo arquivo XSD foi criado utilizando o editor de esquema XML para definir os tipos de esquema XML, que foram transmitidos no serviço da Web.

Depois, um novo arquivo WSDL foi criado utilizando o assistente para Novo Arquivo WSDL, que cria um arquivo WSDL de esqueleto utilizando o estilo e uso padrão de literal do documento. Essa é a opção recomendada pela Organização WS-I (Web Services Interoperability). WS-I é uma organização de segmento de mercado aberto que publica diretrizes para assegurar a interoperação dos serviços da Web de diferentes fornecedores.

Depois que o arquivo WSDL de esqueleto foi criado, o Editor WSDL foi utilizado para editar o arquivo WSDL. Novas operações, mensagens e partes são criadas no arquivo WSDL, juntamente com uma ligação recentemente gerada. O Editor WSDL está estreitamente acoplado ao editor de esquema XML, que pode ser aberto a partir do Editor WSDL para que as partes no arquivo WSDL possam referir-se aos tipos de esquema XML definidos no arquivo XSD, conforme mostrado na captura de tela a seguir. Esse diagrama mostra o editor de esquema WSDL.

Gerando o Esqueleto de Java Bean com o Assistente para Serviços da Web

O esqueleto do Java Bean é criado a partir de arquivos SDL e XSD, utilizando o assistente de serviço da Web. O assistente de serviços da Web gera o código Java de acordo com o modelo de programação JAX-RPC. Os descritores de implementação de serviços da Web são gerados de acordo com os Serviços da Web para Especificação J2EE.

Ao longo da criação do serviço da Web de esqueleto, nós também optamos por utilizar o assistente para criar dois outros elementos:
  • O proxy Java: Um proxy é um cliente de serviço da Web que permite que o cliente converse com o fornecedor de serviços.
  • Um JSP de amostra: O JSP de amostra é um arquivo JavaServer Pages que interage com o cliente de serviço da Web para finalidades de teste.

Criar o proxy Java e o JSP de amostra ao mesmo tempo que o serviço da Web de esqueleto torna muito mais fácil testar todos os elementos do serviço da Web de uma vez.

Depois que o esqueleto de serviço da Web foi criado, o arquivo de implementação do esqueleto Java gerado foi aberto no editor Java, que continha a interface requerida para os métodos, conforme definido pelo arquivo WSDL. Neste ponto, o desenvolvedor modificou o arquivo de implementação do esqueleto para acessar a lógica de negócios de backend.

O JSP de amostra gerado é básico e funcional, com o conteúdo organizado em três quadros. O quadro esquerdo contém uma lista de todos os métodos disponíveis com os quais o usuário interagirá. Clicar em um desses métodos abre uma área de entrada no quadro superior direito. Depois que a entrada é digitada no formulário, clicar no botão Chamar (Invoke) chama o método para processar a entrada e exibe o resultado no quadro inferior direito.

Esse diagrama mostra três quadros do JSP gerado.

Para o serviço da Web de Leilão, alteramos o JSP de amostra gerado para criar uma interface visualmente mais interessante e incluímos suporte para manipular matrizes, porque a operação que retorna uma lista de todos os itens no banco de dados retorna uma matriz.

Tópico pai: Serviço da Web de Leilão

Feedback