Visão Geral da Tarefa: Implementando Aplicativos de Serviços da Web

Use este tópico como uma introdução ao uso dos serviços da Web. O WebSphere Application Server suporta serviços da Web que são desenvolvidos e implementados com base em diversos modelos de programação Java™. Use os serviços da Web ao operar em diversas plataformas, incluindo a Java Platform, Enterprise Edition (Java EE) e plataformas não Java EE.

Antes de Iniciar

Decida se uma implementação de serviços da Web se beneficia do seu processo de negócios.

Sobre Esta Tarefa

boas práticas: IBM® WebSphere Application Server suporta o modelo de programação Java API for XML-Based Web Services (JAX-WS) e o modelo de programação Java API for XML-based RPC (JAX-RPC). O JAX-WS é o modelo de programação de serviços da Web da próxima geração, estendendo a base fornecida pelo modelo de programação JAX-RPC. Ao usar o modelo de programação JAX-WS estratégico, o desenvolvimento de serviços da Web e clientes é simplificado por meio do suporte de um modelo de anotações baseado em padrões. Embora o modelo de programação JAX-RPC e seus aplicativos ainda sejam suportados, aproveite o modelo de programação JAX-WS de fácil implementação para desenvolver novos aplicativos de serviços da web e clientes.

Para obter uma lista completa de padrões e especificações suportados, consulte as especificações de serviços da Web e a documentação da API.

Implementar aplicativos de serviços da Web é uma maneira fácil de integrar sistemas de aplicativo juntos dentro ou fora da sua infraestrutura de negócios que funcionam como sistemas independentes. Por exemplo, seu banco de dados de informações do cliente é um aplicativo independente, mas você deseja que o aplicativo contábil acesse os dados do cliente. É possível criar um serviço da Web para o banco de dados do cliente e depois ativar o aplicativo contábil como um cliente de serviço da Web. Agora, o aplicativo de contabilidade pode acessar as informações do cliente. Ao implementar um serviço da Web, esses dois aplicativos podem compartilhar informações de uma maneira eficiente.

Porque os serviços da Web são facilmente aplicados a aplicativos e recursos de tecnologia de informação existentes, é possível desenvolver, implementar e recompor novas soluções rapidamente para endereçar novas oportunidades. Conforme os serviços da Web se tornam mais populares, o conjunto de serviços cresce, promovendo desenvolvimento de modelos mais robustos de aplicativo sob demanda e integração de negócios na Internet.

É possível usar aplicativos de serviços da Web com o servidor de aplicativos seguindo as etapas fornecidas:

Procedimento

  1. Planeje usar os serviços da Web. Revise todos os componentes de serviços da Web para aprender como tornar o seu plano de serviços da Web mais robusto.
  2. (Opcional) Migre serviços da Web existentes.

    Como os ambientes Java EE enfatizam a compatibilidade, a maioria dos servidores de aplicativos que oferecem suporte para as especificações JAX-WS e JAXB mais recentes continuam a suportar a especificação JAX-RPC mais antiga. Uma consequência disso é que, serviços da Web existentes têm mais chance de permanecerem baseados em JAX-RPC enquanto os novos são desenvolvidos usando JAX-WS e JAXB.

    Porém, conforme o tempo passa e os aplicativos são revisados e reescritos, pode haver momentos em que a melhor estratégia é migrar um serviço da Web baseado em JAX-RPC para um baseado em JAX-WS e JAXB. Isso pode resultar em fornecedores optando por fornecer aprimoramentos para qualidades de serviço que estejam disponíveis apenas nos novos modelos de programação. Por exemplo, o suporte ao SOAP 1.2 e ao SOAP MTOM (Message Transmission Optimization Mechanism) está disponível apenas nos modelos de programação JAX-WS 2.x e JAXB 2.x e não no JAX-RPC. Consulte sobre as melhores práticas de migração de serviços da Web para saber mais sobre as melhores práticas e exemplos ao migrar serviços da Web JAX-RPC para serviços da Web JAX-WS e JAXB.

    Nota: Os aplicativos da JAX-RPC existentes que desejam utilizar os recursos JAX-WS devem ser reescritos utilizando o modelo de programação JAX-WS.

    Se você usou serviços da Web baseados em Apache SOAP e agora deseja desenvolver e implementar serviços da Web para a especificação Java EE, é necessário migrar aplicativos do cliente desenvolvidos com todas as versões do 4.0, e as versões do 5.0 anteriores à 5.0.2. Para saber mais, consulte as informações de migração dos serviços da Web Apache SOAP para serviços da Web JAX-RPC baseado em padrõesJava EE.

  3. Desenvolva aplicativos de serviços da Web. É possível desenvolver serviços da Web de uma das seguintes maneiras:
    1. Desenvolva serviços da Web a partir de arquivos WSDL existentes usando JAX-WS.

      É possível criar um serviço da Web JAX-WS começando com um arquivo Web Services Description Language (WSDL) existente descrevendo a interface de serviço para um aplicativoJavaBeans ou enterprise beans. Geralmente, o arquivo WSDL é definido como parte do processo de modelagem do aplicativo. A utilização de uma definição de serviço existente ou arquivo WSDL para gerar um novo aplicativo é chamada de abordagem descendente para desenvolver serviços da Web.

    2. Desenvolva aplicativos de serviços da Web usando JAX-WS.

      É possível usar o modelo de programação Java API for XML-Based Web (JAX-WS) para desenvolver serviços da Web. A JAX-WS simplifica o desenvolvimento de aplicativos por meio de suporte de um modelo padrão, baseado em anotação, para desenvolver aplicativos e clientes de serviço da Web. Um conjunto comum de regras de ligação para objetos XML e Java facilita incorporar os dados XML e as funções de processo em aplicativos Java. Um conjunto adicional de aprimoramentos o ajuda a enviar anexos binários de forma otimizada, como imagens ou arquivos, com os pedidos de serviços da Web.

      O Versão 9.0 inclui suporte para enterprise beans de sessão singleton como terminais JAX-WS. Beans de sessão singleton são úteis em situações nas quais uma única instância de um bean de implementação de terminal de serviços da Web é necessário para processar todos os pedidos que são recebidos para um terminal de serviços da Web particular. Talvez a única instância do bean precise compartilhar informações de estado entre os pedidos. Tipicamente, uma nova instância de um bean de implementação de terminal de serviços da Web é criada para processar cada pedido.

      Ao desenvolver um serviço da Web JAX-WS iniciando a partir de um JavaBeans existente ou a partir de enterprise beans de sessão stateless ou singleton, é possível expor o bean como um serviço da Web JAX-WS usando anotações. Incluir a anotação @WebService ou @WebServiceProvider no bean define o bean como um serviço da Web JAX-WS. Enterprise beans que são expostos como serviços da Web JAX-WS devem ser compactados em EJB 3.0 ou módulos mais altos.

      Transformar um aplicativo existente em serviços da Web é chamado de abordagem ascendente para desenvolver serviços da Web. Esse processo é chamado de ascendente porque você está iniciando com a implementação em vez de iniciar com um serviço existente ou arquivo WSDL (Web Services Description Language).

    3. Desenvolva e implemente clientes de serviços da Web JAX-WS. Clientes de serviços da Web que podem acessar e chamar serviços da Web JAX-WS são desenvolvidos baseados nos Serviços da Web para a especificação Java Platform, Enterprise Edition (Java EE). O servidor de aplicativos suporta clientes EJB (Enterprise JavaBeans™), aplicativos clientes Java EE, arquivos JSP (JavaServer Pages) e servlets que são baseados no modelo de programação JAX-WS.
    4. Desenvolva os aplicativos de serviços da Web a partir de arquivos WSDL existentes com JAX-RPC.

      É possível criar um serviço da Web JAX-RPC começando com um arquivo WSDL existente descrevendo a interface de serviço de uma implementação de enterprise bean usando uma abordagem descendente para desenvolver serviços da Web.

    5. Desenvolva aplicativos de serviços da Web com JAX-RPC.

      É possível usar o modelo de programação Java API for XML-based RPC (JAX-RPC) para desenvolver serviços da Web. Ao desenvolver um serviço da Web JAX-RPC começando a partir de um JavaBeans ou enterprise beans existente, você precisa desenvolver um arquivo WSDL. É possível usar JavaBeans ou enterprise beans existentes e depois ativar a implementação para serviços da Web.

    6. Desenvolva e implemente clientes de serviços da Web JAX-RPC. É possível desenvolver clientes de serviços da Web baseados nos Serviços da Web para a especificação Java Platform, Enterprise Edition (Java EE) e a especificação Java API for XML-based remote procedure call (JAX-RPC). O servidor de aplicativos suporta clientes EJB (Enterprise JavaBeans™), aplicativos clientes Java EE, arquivos JSP (JavaServer Pages) e servlets que são baseados no modelo de programação JAX-RPC.
    7. Ative serviços da Web por meio de tecnologias de integração de serviço
      É possível usar a ativação de serviços da Web do barramento de integração de serviço para alcançar nos seguintes objetivos:
      • Disponibilize como um serviço da Web um serviço hospedado internamente que está disponível em um destino de barramento.
      • Disponibilize um serviço da Web externo disponível internamente em um destino de barramento.
      • Use o gateway de serviços da Web para mapear um serviço existente, tanto um serviço hospedado internamente quando um serviço da Web externo, para um novo serviço da Web que é fornecido pelo gateway.

    É possível desenvolver serviços da Web para tirar vantagem do suporte do Web Services Addressing (WS-Addressing), Web Services Resource Framework (WSRF), e Web Services Transaction (WS-Transaction).

    • Use o WS-Addressing SPI: Executando tarefas de Endereçamento de Serviços da Web mais avançadas.

      É possível desenvolver serviços da Web para tirar vantagem do Web Services Addressing (WS-Addressing), que ajuda a interoperabilidade entre serviços da Web usando uma maneira padrão de endereçar serviços da Web e fornecer informações de endereçamento em mensagens.

    • Crie serviços da Web stateful usando a Web Services Resource Framework.

      Com o suporte da Web Services Resource Framework (WSRF) no servidor de aplicativos, é possível implementar um serviço da Web stateful como um WS-Resource, e referenciar esse serviço usando uma referência de terminal de WS-Addressing.

    • Use a política de WS-Transaction para coordenar transações ou atividades de negócios para serviços da Web.

      O WS-Transaction é um padrão de interoperabilidade que inclui as especificações WS-AtomicTransaction, WS-BusinessActivity e WS-Coordination. O suporte ao Web Services Atomic Transaction (WS-AT) no servidor de aplicativos fornece qualidade de serviço transacional ao ambiente de serviços da Web. Os aplicativos de serviço da Web distribuídos, e os recursos usados por eles, podem fazer parte de transações globais distribuídas. Com suporte a Web Services Business Activity (WS-BA) no servidor de aplicativos, os serviços da Web em diferentes sistemas podem coordenar atividades que são acopladas mais livremente do que transações atômicas. Estas atividades podem ser difíceis ou impossíveis de reverter atomicamente e exigem portanto um processo de compensação, caso ocorra um erro.

    • Utilize o WS-Policy para trocar políticas em um formato padrão.

      WS-Policy é um padrão de interoperabilidade que é usado para descrever e comunicar as políticas de um serviço da Web para que os provedores de serviço possam exportar requisitos de política em um formato padrão. Os clientes podem combinar os requisitos do provedor de serviços com suas próprias capacidades para estabelecer as políticas necessárias para uma interação específica.

  4. Monte serviços da Web.

    Consulte sobre o que é necessário para montar um serviço da Web e a ordem na qual montar as partes, por exemplo, um arquivo enterprise archive (EAR).

  5. Implementar os Serviços da Web.

    Consulte sobre as etapas necessárias para implementar o arquivo EAR que foi configurado e ativado para serviços da Web.

  6. Administre serviços da Web implementados.

    Depois que o seu aplicativo de serviços da Web é implementado, é possível configurar definições de segurança, visualizar descritores de implementação e documentos WSDL, configurar o escopo de uma porta de serviço da Web, e gerenciar conjuntos de política e provedores de serviço. Essas tarefas podem ser realizadas utilizando-se o console administrativo ou as ferramentas de linha de comandos.

  7. Proteja serviços da Web.
  8. Publique o arquivo WSDL.

    Após instalar um aplicativo de serviços da Web, e opcionalmente modificar as informações de terminal, você pode precisar de arquivos Web Services Description Language (WSDL) que contenham as informações de terminal atualizadas. Leia sobre as etapas necessárias para publicar os arquivos WSDL para que essas informações estejam disponíveis.

  9. Monitore o desempenho de aplicativos de serviços da Web.

    Consulte sobre o uso da Performance Monitoring Infrastructure (PMI) para medir o tempo necessário para processar pedidos de serviços da Web.

  10. Resolução de problemas de serviços da Web.

    Consulte sobre resolução de problemas de diferentes processos usados para desenvolver, implementar e usar serviços da Web, incluindo ferramentas de linha de comandos, erros de compilação de Java, erros e exceções de tempo de execução de cliente, erros de serialização e desserialização, e desafios de autenticação e falhas de autorização com a Segurança de Serviços da Web.

Exemplo

O exemplo a seguir ilustra como um negócio pode usar serviços da Web.

A proprietária de uma floricultura quer começar a receber pedidos de clientes através da Web. Ela começa o processo localizando fornecedores de flores no atacado, estabelecendo o preço do produto e fechando contratos para futuros pedidos de flores.

Usando serviços da Web, o proprietário da floricultura pode localizar fornecedores de flores no atacado. Uma maneira de localizar novos fornecedores é utilizar um registro UDDI (Universal Description, Discovery and Integration) para procurar fornecedores potenciais. Quando os fornecedores forem escolhidos, o registro enviará de volta informações sobre como entrar em contato com os distribuidores de flores que atendam aos critérios do proprietário da floricultura.

A proprietária da floricultura pode solicitar listas de preços de cada um dos fornecedores obtendo um arquivo WSDL para cada fornecedor em potencial. O WSDL pode ser transferido por download da página da Web do fornecedor, recebido por meio de email, ou recuperado da entrada de registro UDDI do fornecedor.

O WSDL descreve a chamada do procedimento. Ao utilizar o servidor de aplicativos, a chamada de procedimento será uma chamada de procedimento JAX-RPC ou JAX-WS. Um desses tipos de chamada de procedimento recupera a lista de preços. O arquivo WSDL também especifica a URL (Universal Resource Locator) para onde o pedido é enviado.

O proprietário da floricultura agora precisa comparar os preços recebidos de cada fornecedor, decidir com quais fornecedores fazer negócios e fazer os acertos para que futuros pedidos sejam preenchidos. Agora a floricultura pode vender mercadoria por meio da Web usando serviços da Web para se comunicar com fornecedores para os melhores preços e concluir os processos de pedido. As listas de preço de mercadoria precisam ser publicadas no Web site e um mecanismo é necessário para que os clientes peçam as flores.

Os clientes de serviços da Web do fornecedor de flores são implementados no servidor da floricultura. Quando um cliente faz uma transação para comparar flores através da Web, o pedido é enviado ao fornecedor através da chamada de procedimento. O fornecedor responde, enviando uma confirmação com o número do pedido e a data de entrega. Os fornecedores mantêm o inventário e a proprietária da floricultura cuida da cobrança e do gerenciamento dos pedidos dos clientes.

De maneira semelhante, o catálogo da floricultura pode ser composto automaticamente a partir dos catálogos de cada fornecedor. Se o fornecedor entregar diretamente ao cliente, as consultas de rastreio do pedido poderão passar diretamente para o sistema de rastreio de pedido do fornecedor. O fornecedor também pode usar serviços da Web para enviar faturas para pedidos da floricultura. Processos que antes exigiam que formulários fossem preenchidos manualmente e enviados por fax ou por correio agora podem ser feitos automaticamente, economizando custos de mão de obra para a floricultura e o fornecedor.

Usar serviços da Web é benéfico porque um inventário muito maior é disponibilizado à floricultura. Não existem despesas de manutenção de comercialização e a floricultura pode oferecer a seus clientes produtos que, do contrário, eles não teriam. Vender flores por meio da Web aumenta o capital para a floricultura sem o gasto adicional de outra loja ou de recursos investidos em produtos adicionais.

Para um cenário mais detalhado, consulte as informações para a visão geral do cenário de serviços da Web que conta a história de um varejista de suprimentos de jardim on-line fictício, a Plants by WebSphere, e como eles incorporaram o conceito dos serviços da Web.

Consulte a seção Amostras do Centro de Informações para obter Amostras adicionais que demonstram os serviços da Web JAX-WS e JAX-RPC.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_usewbs
Nome do arquivo: twbs_usewbs.html