Tópicos

IntroduçãoTo top of page

O RAD 6.0 fornece um conjunto extensivo de ferramentas para suportar a descoberta, criação, teste, implementação e publicação de serviços da Web. Eles permitem o desenvolvimento de serviços da Web com base nos padrões mais recentes e suportam a implementação de múltiplos ambientes do tempo de execução. As ferramentas também fornecem muitos assistentes para suportar e facilitar diferentes abordagens de desenvolvimento. Este documento descreve as várias abordagens fornecidas pelo RAD 6.0 para desenvolver um serviço da Web e discute as considerações de desenvolvimento relacionadas à implementação do Serviço da Web e nível das opções de interoperabilidade.

Abordagens de Desenvolvimento To top of page

Os assistentes de Serviços da Web no RAD 6.0 permitem que você crie um serviço da Web utilizando uma abordagem de cima para baixo ou de baixo para cima. De cima para baixo permite iniciar com um documento WSDL (Web Services Description Language) e gera um Java bean de estrutura ou um EJB (Enterprise JavaBean) de estrutura que pode ser utilizado para criar um serviço da Web. A abordagem de Cima para baixo permite criar um serviço da Web a partir de um Java bean, EJB, arquivo DADX (Document Access Definition Extender) existente, URL (Uniform Resource Locator) ou arquivo ISD (Descritor de Implementação do serviço da Web). A Figura 1 descreve as abordagens de criação de serviços da Web fornecidas pelo RAD 6.0.

 

Figura 1 - Abordagens de Criação de Serviços da Web do RAD 6.0

Durante a criação de um serviço da Web, o assistente opcionalmente permite que você:

  • Teste o serviço da Web logo que é criado utilizando a ferramenta Web Services Explorer.
  • Gere um proxy cliente que você pode utilizar nos aplicativos clientes para acessar um serviço da Web.
  • Teste um proxy cliente utilizando a ferramenta UTC (Universal Test Client) ou um aplicativo JSP de amostra gerado pela ferramenta.
  • Publique o serviço da Web para um registro de UDDI (Universal Description, Discovery and Integration utilizando a ferramenta Web Services Explorer.

Os serviços da Web desenvolvidos no RAD 6.0 devem ser criados em um projeto da Web ou EJB e contêm artefatos que estão em conformidade com os seguintes padrões:

  • WSDL (Web Services Definition Language) versão 1.1
  • SOAP (Simple Object Access Protocol) versão 1.1 (incluindo as implementações Apache SOAP 2.2 e 2.3)
  • UDDI (Universal Description, Discovery and Integration) versão 2.0
  • WSIL (Web Services Inspection Language) versão 1.0
  • Java API para Chamada de Procedimento Remoto com base em XML (JAX-RPC), também conhecida como JSR-101
  • JSR-109 e JSR-921(Implementing Enterprise Web Services)
  • Perfil Básico WS-I (Web Services Interoperability) 1.0 (conformidade opcional)
  • WS-Security

Para obter informações adicionais sobre esses tópicos, consulte Conceitos: Serviços da Web para J2EE.

Desenvolvimento de Cima para Baixo To top of page

O desenvolvimento de cima para baixo permite pegar a definição abstrata de um serviço da Web contido em um documento WSDL e gerar uma implementação concreta para ela. (Nota: O RAD 6.0 também fornece um assistente para criar um documento WSDL). As duas abordagens a seguir são suportadas:

  • Criando um Java bean de estrutura a partir de um documento WSDL

    Você pode criar um Java bean de estrutura a partir de um documento WSDL e o expor como um serviço da Web. Os métodos do Java bean gerados correspondem às operações descritas do documento WSDL e contêm uma implementação comum que pode ser substituída. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • É possível digitar o URI de um documento WSDL, ou alternativamente, de um documento WSIL ou HTML apontando para o arquivo WSDL como a origem para o serviço da Web.
    • O arquivo WSDL deve conter um elemento de serviço. Opcionalmente, também é possível gerar um documento (WSIL) de referência WSDL para o serviço da Web resultante.
    • O serviço da Web gerado deve ser criado em um projeto Web.

 

  • Criando um EJB de estrutura a partir de um documento WSDL

    Semelhante à acima, essa abordagem permite criar um EJB de Sessão Sem Estado da estrutura a partir de um documento WSDL e o expor a um serviço da Web. Os métodos no EJB correspondem às operações descritas no documento WSDL e contêm uma implementação comum que pode ser substituída. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • Essa abordagem poderá ser utilizada somente se você selecionar o IBM WebSphere v6 como o seu ambiente de tempo de execução de serviço da Web (consulte Dependências de Implementação)
    • É possível digitar o URI de um documento WSDL, ou alternativamente, de um documento WSIL ou HTML apontando para o arquivo WSDL como a origem para o serviço da Web.
    • O arquivo WSDL deve conter um elemento de serviço. Opcionalmente, também é possível gerar um documento (WSIL) de referência WSDL para o serviço da Web resultante.
    • O serviço da Web gerado deve ser criado em um projeto EJB. Além disso, um projeto Roteador é criado para ativar o serviço da Web para receber pedidos sobre o transporte HTTP (Nota: O transporte JMS não é suportado nesta abordagem). O projeto Roteador pode ser um projeto da Web ou EJB e não pode ser o mesmo projeto contendo o serviço da Web, mas deve estar no mesmo contendo o arquivo EAR.

Desenvolvimento de Baixo para Cima To top of page

A meta de desenvolvimento de baixo para cima é expor um componente ou recurso de aplicativo existente como um Serviço da Web. As variadas abordagens são discutidas a seguir.

  • Criando um serviço da Web a partir de um Java bean

    Essa abordagem permite que você selecione um Java bean existente e exponha seus métodos como um serviço da Web. Os artefatos gerados incluem:

    • Arquivo WSDL: Este arquivo descreve o serviço da Web e tem uma extensão de nome de arquivo .wsdl. Você pode escolher entre três estilos de WSDL (Documento/Literal, RPC/Literal e RPC/Codificado). Para obter o impacto de interoperabilidade de cada opção, consulte Conformidade Básica do Perfil WS-I.
    • SEI (Service Endpoint Interface): Esta interface Java define os métodos do serviço da Web. Seu nome de arquivo tem um sufixo _SEI.
    • Descritor de Implementação de serviço da Web: O arquivo webservices.xml especifica a implementação e os detalhes de implementação do serviço da Web.
    • Arquivos de mapeamento JAX-RPC: Estes arquivos definem como os elementos Java de serviço da Web são mapeados para e a partir do WSDL.
  •  

  • Criando um serviço da Web a partir de um EJB

    Você pode expor os métodos de um bean de Sessão Sem Preservação de Estado como um serviço da Web. Os artefatos gerados são semelhantes aos que são gerados para um Java bean e incluem um arquivo WSDL, SEI, Descritor de Implementação do serviço da Web e arquivos de Mapeamento JAX-RPC. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • O serviço da Web gerado deve ser criado em um projeto EJB.
    • Um projeto Roteador deve ser criado para permitir que o serviço da Web receba pedidos dos clientes. Se você estiver utilizando SOAP sobre HTTP como o seu método de transporte, crie o projeto Roteador como um projeto da Web. Caso contrário, se o cliente estiver utilizando SOAP sobre JMS, crie-o como um projeto EJB (neste caso, o Roteador JMS é implementado como um Bean Orientado a Mensagens). Os projetos de Roteador e Serviço da Web não podem ser os mesmos, mas deve estar contidos no mesmo arquivo EAR.
    • Se você estiver utilizando o SOAP sobre o transporte JMS, você deve configurar um provedor JMS no seu servidor. Também não será possível utilizar o Explorer do serviço da Web para testar seu serviço da Web.

 

  • Criando um serviço da Web a partir de um arquivo DADX

    Essa abordagem permite que você agrupe dados do DB2 acessados por meio das instruções do DB2 XML Extender ou SQL regular dentro de um serviço da Web. Os dados acessados por meio do DB2 XML Extender consistem em documentos XML que são mapeados para um banco de dados do DB2 utilizando um documento DAD (Document Access Definition). O ponto inicial da abordagem é um arquivo DADX que especifica como criar um serviço da Web utilizando o conjunto de operações definido por instruções SQL regulares ou em um arquivo DAD. Os artefatos gerados incluem o arquivo WSDL padrão, SEI, Descritor de Implementação de serviço da Web e arquivos de Mapeamento JAX-RPC. Deployment Descriptor and JAX-RPC Mapping files. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • Essa abordagem pode ser utilizada apenas se selecionar IBM SOAP como seu ambiente de tempo de execução de serviço da Web (consulte Dependências da Implementação).
    • Opcionalmente você pode gerar um arquivo DADX a partir de uma combinação de uma ou mais instruções SQL, procedimentos armazenados e arquivos DAD.
    • O arquivo DADX deve estar em um grupo DADX que define a conexão JDBC e outras informações compartilhadas entre os arquivos DADX dentro do grupo.
    • O serviço da Web gerado deve ser criado em um projeto Web.

 

  • Criando um serviço da Web a partir de um URL

    A partir do seu URL, é possível criar um serviço da Web que acesse diretamente um servlet em execução em um servidor remoto. O assistente permite descrever a interface do servlet em termos de portas, operações e parâmetros e gera um documento WSDL descrevendo o serviço da Web resultante. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • Essa abordagem pode ser utilizada apenas se selecionar IBM SOAP como seu ambiente de tempo de execução de serviço da Web (consulte Dependências da Implementação).
    • Normalmente, a porta corresponde à peça do domínio/nome do host do URL, a operação para a raiz de contexto do servlet e peça da URI e os parâmetros para os parâmetros de entrada do servlet.
    • O serviço da Web gerado deve ser criado em um projeto Web.
    • Não há serviço da Web a ser implementado desde que já tenha sido implementado pela URL ativa.
  •  

  • Criando um serviço da Web a partir de um arquivo Descritor de Implementação (ISD)

    Quando um serviço da Web é implementado, sua configuração e atributos de tempo de execução são definidos em um arquivo descritor de implementação ISD. Esse arquivo fornece informações sobre o serviço que deve ser disponibilizado para os clientes por um ambiente de tempo de execução SOAP, por exemplo, URI, métodos, classes de implementação (JavaBeans e EJBs), serializadores e desserializadores. É possível criar um serviço da Web a partir de um arquivo ISD utilizando essas informações disponíveis. Isso permite agrupar as implementações de serviço da Web e reimplementá-las como novos serviços da Web sem ter que reespecificar suas informações de configuração e de mapeamento. As seguintes considerações se aplicam a essa abordagem e seus artefatos gerados:

    • Essa abordagem pode ser utilizada apenas se selecionar IBM SOAP como seu ambiente de tempo de execução de serviço da Web (consulte Dependências da Implementação).
    • O serviço da Web gerado deve ser criado em um projeto da Web

Diretrizes de DesenvolvimentoTo top of page

As seguintes seções abordam considerações importantes relevantes ao desenvolvimento de um serviço da Web em RAD 6.0. Elas descrevem as opções de desenvolvimento disponíveis com base na implementação e requisitos de conformidade WS-I do seu serviço da Web.

Dependências de ImplementaçãoTo top of page

As abordagens (de cima para baixo e de baixo para cima) que estão disponíveis para criar um serviço da Web dependem do ambiente do tempo de execução que você está destinando para implementação. O RAD 6.0 suporta os seguintes ambientes de tempo de execução de serviços da Web:

  • IBM WebSphere v6

    Este é o ambiente de tempo de execução de serviços da Web padrão no RAD 6.0 e o recomendado para utilização da produção. Ele suporta o protocolo de transporte JMS e HTTP, permitindo assim que os clientes e os servidores do serviço da Web se comuniquem por conexões HTTP ou filas e tópicos JMS. Observe que um serviço da Web deve ser implementado como um EJB se estará acessível por meio do transporte JMS.

  • IBM SOAP

    O ambiente do tempo de execução IBM SOAP suporta os protocolos Apache SOAP versão 2.2 e 2.3 (consulte Recursos) e era o único ambiente de tempo de execução do serviço da Web suportado no WebSphere Studio versão 5.0 e anterior. Deveria ser utilizado somente para finalidades de compatibilidade de retrocesso.

  • Apache Axis 1.0

    Este ambiente de tempo de execução suporta a implementação SOAP Apache Axis versão 1.0 (consulte Recursos). Não é recomendado para a utilização da produção por causa dos potenciais problemas de interoperabilidade do serviço da Web (consulte Problemas com a utilização do ambiente de tempo de execução Apache Axis 1.0 no Conteúdo da Ajuda da ferramenta)

É recomendável que você escolha o ambiente de tempo de execução IBM WebSphere v5 a menos que o seu destino de implementação exija especificamente que você utilize uma implementação Apache SOAP ou Apache Axis (se for assim, esteja ciente das limitações associadas descritas nas Limitações do conteúdo da Ajuda dos Serviços da Web da ferramenta). A Tabela 1 resume as abordagens da criação de serviço da Web suportadas pelo RAD 6.0 para cada ambiente do tempo de execução.

Abordagem IBM WebSphere v6 IBM SOAP Apache Axis 1.0
Crie um JavaBean de estrutura a partir de um documento WSDL
Sim
Sim
Sim
Crie um EJB de estrutura a partir de um documento WSDL
Sim
Não
Não
Crie um Serviço da Web a partir de um JavaBean
Sim
Sim
Sim
Crie um Serviço da Web a partir de um EJB
Sim
Sim
Não
Crie um serviço da Web a partir de um DADX
Não
Sim
Não
Crie um serviço da Web a partir de um URL
Não
Sim
Não
Crie um serviço da Web a partir de um Descritor de Implementação de serviço da Web (ISD)
Não
Sim
Não

Tabela 1 - Abordagem de Criação do Serviço da Web Suportado pelo Ambiente do Tempo de Execução

Conformidade do Perfil Básico WS-ITo top of page

O Perfil Básico WS-I (Web Services-Interoperability) é um conjunto de requisitos publicados pela organização WS-I para promover a interoperabilidade dos serviços da Web em plataformas, sistemas operacionais e linguagens de programação. Ele define os requisitos de tráfego (SOAP/HTTP) do protocolo e WSDL que um serviço da Web deve satisfazer para que atenda à conformidade WS-I. O RAD 6.0 inclui ferramentas de validação que podem ser utilizadas para verificar uma conformidade do serviço da Web para os requisitos do Perfil Básico WS-I. Você pode definir um nível de conformidade WS-I (Exigir, Sugerir ou Ignorar (padrão)) para o espaço de trabalho ou projeto antes do desenvolvimento de um serviço da Web ou executar as ferramentas de validação depois de ter sido desenvolvido.

É recomendável que você desenvolva serviços da Web que estejam em conformidade com o Perfil Básico WS-I. As seguintes diretrizes devem ser seguidas para garantir isso:

  • Utilize Documento/literal ou RPC/literal para o Estilo WSDL (RPC/codificado não está em conformidade com WS-I)
  • Utilize SOAP sobre HTTP como os protocolos de mensagem e de transporte (SOAP sobre JMS não está em conformidade com WS-I)
  • não utilize quaisquer opções de segurança para o serviço da Web (Assinatura Digital XML e Criptografia XML não estão em conformidade com WS-I)

Considerações do Proxy ClienteTo top of page

  • Há dois tipos de proxies clientes que você pode, opcionalmente, gerar ao criar um serviço da Web:
    • Proxy do Java bean

    O proxy cliente do Java bean permite chamar os métodos do serviço da Web via chamadas de procedimento remoto. Pode ser criado somente em um projeto da Web do cliente se o IBM SOAP ou Apache Axis 1.0 estiver selecionado para o ambiente de tempo de execução do cliente. Caso contrário, para um ambiente de tempo de execução do cliente IBM WebSphere v6, ele poderá ser criado em um projeto de Web, Java, EJB ou Cliente Aplicativo.

    • Função Definida pelo Usuário do Serviço da Web

Essa opção permite criar uma UDF (User-Defined Function) do DB2 para cada método do serviço da Web que você deseja chamar. Ela exige que o pacote UDF do consumidor de serviços da Web do DB2 e o DB2 XML Extender sejam instalados no banco de dados. O UDF é criado e incluído na definição do banco de dados com todos os artefatos do cliente relacionados, armazenados em um projeto da Web.

  • Selecione um EAR diferente para o serviço da Web e o cliente de serviço da Web para reduzir a chance de encontrar erros de tempo de execução. Lembre-se que um cliente deve ser um aplicativo diferente do serviço da Web e os serviços da Web não são planejados para comunicação entre aplicativos.

Recursos To top of page

Para obter informações adicionais sobre os tópicos a seguir, consulte o link correspondente.

 

Rational Unified Process   2003.06.15