Aviso:  O developerWorks estará indisponível devido à uma manutenção programada para sábado, 7 de Junho, das 10h00 à 00h00 (Meia-noite).

Desenvolvendo JAX-RS 1.1 RESTful Services no Rational Software Architect V8 para implementação no WebSphere Application Server V8

Ativação de aplicativos legados para REST

Saiba como expor a funcionalidade de negócios existente integrada em aplicativos legados como serviços JAX-RS 1.1 RESTful usando WebSphere® Application Server V8.0 e Rational® Software Architect.

Tendai Chinoda, IT Specialist and Senior Software Engineer, IBM

Photo of Tendai ChinodaTendai Chinoda é IBM Certified IT Specialist e Senior Software Engineer no IBM Software Services for WebSphere (ISSW). Ele presta serviços de consultoria e ativação para clientes IBM para a família de produtos IBM WebSphere. Seu conhecimento e interesses incluem arquitetura do aplicativo, design e desenvolvimento para computação em nuvem, SOA, Java EE e soluções de serviços da Web.


nível de autor Contribuidor do
        developerWorks

Harry L. Hoots, III, IT Specialist, IBM China

Photo of Harry HootsHarry L. Hoots, III é IT Specialist que trabalha na Conta IBM. Ele opera em funções seniores e é líder de desenvolvimento da equipe de serviços da web em um importante projeto interno. Seu conhecimento inclui arquitetura do aplicativo, design e desenvolvimento de Java EE, serviços da web e soluções de MQ Series.



17/Nov/2011

Antes de Iniciar

Saiba o que esperar desse tutorial e como tirar o máximo proveito dele.

Sobre este tutorial

O IBM® WebSphere® Application Server V8.0 fornece suporte para desenvolvimento simplificado de aplicativos Representational State Transfer (REST) usando a API Java™ para RESTful Web Services (JAX-RS) 1.1. Rational® Software Architect (doravante referido como Software Architect) fornece um conjunto de ferramentas para projetar, desenvolver, testar e empacotar aplicativos JAX-RS 1.1 REST para implementação no WebSphere Application Server V8 (doravante referido como Application Server). Esse tutorial fornece um percurso passo a passo das tarefas de desenvolvimento necessárias no Software Architect e as etapas adicionais para implementação no Application Server. É possível fazer o download do conjunto da solução ou realizar a sequência de tarefas de desenvolvimento para criar a solução por si mesmo.

Objetivos

Usando um cenário de negócios fictício, os objetivos deste tutorial são:

  • Demonstrar o suporte do conjunto de ferramentas no Software Architect V8 para desenvolvimento de serviços JAX-RS 1.1 RESTful
  • Demonstrar o uso do padrão acima para expor a funcionalidade de negócios existente integrada em aplicativos legados como serviços JAX-RS 1.1 RESTful que têm suporte para cargas úteis XML e JavaScript Object Notation (JSON)
  • Demonstrar o suporte do Application Server V8 para Java EE 6 e a aplicação de implementações de Serviço da web como serviços JAX-RS 1.1 RESTful
  • Fornecer uma oportunidade para os profissionais obterem experiência prática no desenvolvimento de serviços JAX-RS 1.1 RESTful no Software Architect V8 e implementar a solução ao Application Server V8

Pré-requisitos

Este tutorial é destinado a programadores de aplicativo com qualificações intermediárias de a avançadas. Você deve estar familiarizado com o uso do Rational Software Architect e entender aplicativos REST.

Requisitos do Sistema

Para executar os exemplos neste tutorial, é preciso ter o Rational Software Architect V8 e o WebSphere Application Server V8.


Introdução

Cenário de negócios

A HTBanking Corporation atualmente controla todo o acesso a informações financeiras via um aplicativo legado hospedado fora da sua sede principal. As subsidiárias financeiras precisam enviar documentos e formulários manuais solicitando informações da conta quando processam solicitações de empréstimo. Representantes de conta localizados no escritório principal da HTBanking então processam essas solicitações usando um aplicativo Java Swing hospedado nas suas estações de trabalho pessoais.

Devido a projeções de crescimento significativo, as equipes de TI e negócios estratégicos da HTBanking Corporation decidiram expandir as capacidades de interface do sistema legado. O plano é dar suporte ao crescimento permitindo que as subsidiárias acessem e manipulem contas usando as interfaces com o usuário remoto e em desktop avançadas que aproveita tecnologias com base em padrões como Asynchronous JavaScript e XML (AJAX), Serviços da Web REST e Dojo. Essa expansão permitirá um processamento mais eficiente de empréstimos, bem como a habilidade de subsidiárias descarregarem o gerenciamento das informações da conta.

Solução técnica

Após revisão cuidadosa das opções de aplicação e implementação para a solução de interface expandida, a equipe de TI da HTBanking decidiu-se pelo® WebSphere® Application Server V8.0. O Application Server fornece suporte para desenvolvimento simplificado de aplicativos REST usando a API Java para RESTful Web Services (JAX-RS) 1.1. Em tandem, as equipes de desenvolvimento implementarão a solução usando o Rational® Software Architect, que fornece o conjunto de ferramentas para design, desenvolvimento, teste e empacotamento de aplicativos JAX-RS 1.1 REST para a implementação no Application Server.

O padrão de design e os artefatos de código usados e entregues como parte da solução são mostrados na Figura 1.

Figura 1. Padrão de design: Ativação de aplicativos legados como Serviços da web REST usando o JAX- RS 1.1

Implementando a solução

Uma visão geral das seções neste tutorial e as etapas para implementar a solução são:

OPCIONAL: se você estiver mais disposto, pode importar toda a solução (extrair o archive JAXRS-RESTService_solution_devWorks.zip dos artefatos de amostra fornecidos na seção Download deste tutorial e ignorar Implementar a solução para o ambiente de teste de tempo de execução). Entretanto, é preciso primeiro configurar um ambiente de tempo de execução como descrito em Configurar o ambiente de tempo de execução do WebSphere Application Server V8.


Importar o código do aplicativo legado e serviços de suporte (auxiliares XML e JSON)

Esta seção descreve as etapas para importar o código fornecido como parte da solução.

  1. Inicie o Rational Software Architect V8.0 e crie um novo espaço de trabalho.
  2. Se solicitado a configurar seu espaço de trabalho com um Ambiente de Tempo de Execução e Configuração de Perfil existentes, clique em Cancel (Figura 2).
    Figura 2. Configurando o diálogo do WebSphere Application Server
  3. Para abrir a perspectiva Java EE , marque a caixa de seleção Window > Open Perspective > Other.
  4. Consulte o Show all , selecione Java EE e clique em OK.
  5. Se solicitado a Confirm Enablement dos novos recursos, marque a caixa Always enable activities e don’t ask me again e depois clique em OK (Figura 3).
    Figura 3. Diálogo Confirm Enablement
  6. Faça download do archive devWorks_LegacyBankAppArtifacts.zip fornecido na seção Downloads para um local do diretório da sua escolha. Os seguintes arquivos são contidos no archive:
    File Name Description
    JAXRS-RESTService_devWorks.zip Contém Legacy Bank App, Legacy Wrapper Service Projects e RESTClient para verificar a solução. Os arquivos contendo código e fragmentos de log estão no projeto TextFiles.
    JAXRS-RESTService_solution_devWorks.zip Contém a solução completa pronta para implementação em um Ambiente de Tempo de Execução do WebSphere Application Server V8.0
  7. Selecione File > Import e, no diálogo Import, selecione General > Existing Projects Into Workspace e, em seguida, clique em Next (Figura 4).
    Figura 4. Importar: diálogo Select Import Type
  8. Clique em Selecione o item de archive e depois clique em Browse.
  9. Navegue para o local dos downloads extraídos, selecione o arquivo LegacyBankAppCode.zip e então clique em Open.
  10. Verifique se todos os projetos exigidos estão localizados (Figura 5) e então clique em Finish.
    Figura 5. Importar: diálogo Import Projects

Os projetos e arquivos importados para o espaço de trabalho são mostrados na Figura 6 e consistem no seguinte:

  • LegacyBankApp. Projeto Java contendo o código do aplicativo de banco legado
  • LegacyBankAppWrapperService. Projeto Java contendo o serviço Wrapper que chama o código de aplicativo do banco legado. A estrutura JAX-RS chamará métodos nessa classe.
  • RESTClient/ Projeto Java contendo um cliente de teste para verificar a solução.
Figura 6. Projetos e arquivos importados para o espaço de trabalho

Isso conclui as etapas necessárias para importar os artefatos do código de aplicativo legado usados pelo Serviço REST JAX-RS 1.1 do aplicativo do banco legado.


Configurar o ambiente de tempo de execução do WebSphere Application Server V8.0

Esta seção descreve as tarefas necessárias para configurar um novo WebSphere Application Server V8.0 para implementar o JAX-RS REST Service.

  1. Na visualização do Servidor, clique com o botão direito e selecione New > Server.
  2. No diálogo Define a New Server, selecione WebSphere Application Server v8.0 como o tipo de servidor a ser criado.
  3. No campo do ambiente de tempo de execução do servidor, selecione Create new runtime environment e, em seguida, clique em Next (Figura 7).
    Figura 7. Criar Servidor: diálogo Define a New Server
  4. No diálogo Application Server Runtime Environment, clique em Browse para navegar para o Installation Directory. Selecione <installation_directory> para o WebSphere Application Server V8.0 e depois clique em Next (Figura 8).
    Figura 8. Criar servidor: especificar o ambiente de tempo de execução do servidor
  5. No diálogo WebSphere Application Server Settings, se tiver um perfil existente, é possível selecioná-lo na lista suspensa de nome do Perfil ou pode criar um novo.
  6. Para criar um novo perfil, clique no link Configure profiles e siga as etapas restantes (Figura 9).
    Figura 9. Criar Servidor: Especificar as Configurações do Servidor
  7. Se solicitado a criar um ambiente de tempo de execução, clique em Yes.
  8. Na janela Preferences, expanda Preferences > Server > WebSphere Application Server e clique em Run Profile Management Tool (Figura 10).
    Figura 10. Criar Servidor: Selecionar Run Profile Management Tool
  9. Na janela WebSphere Customization Toolbox, clique em Create (Figura 11).
    Figura 11. Criar Servidor: Criar Perfil
  10. No diálogo Environment Selection, escolha Application Server e clique em Next (Figura 12).
    Figura 12. Criar Servidor: Seleção do Ambiente do Novo Perfil
  11. No diálogo Profile Creation Options, selecione Advanced profile creation e clique em Next (Figura 13).
    Figura 13. Criar Servidor: Diálogo Profile Creation Options
  12. No diálogo Optional Application Deployment, certifique-se de que Deploy the admin console esteja marcado, desmarque Deploy default application e clique em Next (Figura 14).
    Figura 14. Criar Servidor: Diálogo Profile Application Deployment
  13. No diálogo Profile Name and Location, insira um nome para o perfil (por exemplo: devWorksProfile)
  14. Altere o diretório do perfil para incluir o nome do servidor de aplicativos e clique em Next (Figura 15)
    Figura 15. Criar Servidor: Nome e Local do Perfil
  15. No diálogo Node and Host Names, insira os valores adequados para Node name, Nome do servidor e Host name e, em seguida, clique em Next (Figura 16).
    Figura 16. Criar Servidor: Diálogo Profile Node and Host Names
  16. No diálogo Administrative Security, marque Enable administrative security e insira os valores adequados para User name e Password e, em seguida, clique em Next (Figura 17). OBSERVAÇÃO: Lembre-se desse nome de usuário para acessar o Console Administrativo e iniciar ou parar o servidor a partir da linha de comando.
    Figura 17. Criar Servidor: Diálogo Profile Administrative Security
  17. No diálogo Security Certificate (Parte 1), deixe todos os campos como padrão para criar um novo certificado pessoal padrão e certificado de assinatura raiz e clique em Next (Figura 18).
    Figura 18. Criar Servidor: Diálogo Profile Security Certificate I
  18. No diálogo Security Certificate (Parte 2), deixe todos os campos como padrão para criar um novo certificado pessoal padrão e certificado de assinatura raiz e clique em Next (Figura 19).
    Figura 19. Criar Servidor: Diálogo Profile Security Certificate II
  19. No diálogo Port Values Assignments, aceite as portas geradas padrão e clique em Next (Figura 20). Tome nota da porta de transporte HTTP, uma vez que será necessária para o cliente HTTP em um estágio posterior no tutorial.
    Figura 20. Criar Servidor: Atribuições de Porta
  20. No diálogo Window Service Definition, desmarque Run the application sever process as a Windows service e clique em Next (Figura 21).
    Figura 21. Criar Servidor: Diálogo Server Windows Service
  21. No diálogo Web Server Definition, deixe todos os campos como padrão e clique em Next (Figura 22).
    Figura 22. Criar Servidor: Diálogo Web Server Definition
  22. Revise as informações do Profile Creation Summary e clique em Create (Figura 23).
    Figura 23. Criar Servidor: Resumo de Criação de Perfil
  23. No diálogo Profile Creation Complete, desmarque Launch the First steps console e clique em Finish (Figura 24).
    Figura 24. Criar Servidor: Diálogo Profile Creation Complete
  24. O perfil recém-criado agora deve estar disponível no WebSphere Customization Toolbox (Figura 25). Feche a janela para retornar ao Rational Software Architect.
    Figura 25. Criar Servidor: Lista de Perfis Atualizada
  25. Na janela Preferences, expanda Preferences > Server > WebSphere Application Server e clique no tempo de execução instalado WebSphere Application Server V8.0 para atualizar a lista de perfis. O novo servidor deve aparecer na seção de perfil. Clique em OK (Figura 26).
    Figura 26. Criar Servidor: Visualização de Perfis e Servidores Atualizada
  26. No diálogo WebSphere Application Server Settings, selecione o perfil recém-criado no menu suspenso Profile name. Insira o ID do usuário e a senha e clique em Next (Figura 27).
    Figura 27. Criar Servidor: Diálogo Configure WebSphere Application Server Settings
  27. No diálogo Add Remove projects, clique em Finish.

Isso conclui as etapas necessárias para configurar o ambiente de tempo de execução do WebSphere Application Server V8.0 para a implementação do JAX-RS 1.1 REST Service do aplicativo do banco legado. Na visualização Server, agora deve ser possível ver o servidor recém-criado no estado Stopped.


Criar o serviço JAX-RS 1.1 REST e os módulos Java EE

  1. Na perspectiva Java EE, selecione File > New > Dynamic Web Project.
  2. No diálogo Dynamic Web Project, insira LegacyBankAppWeb como o nome do projeto.
  3. No menu suspenso Target runtime, selecione WebSphere Application Server V8.0.
  4. No menu suspenso Configuration, selecione IBM JAX-RS Configuration.
  5. No menu suspenso EAR project name, insira LegacyBankAppEAR como o Projeto EAR para implementar o Módulo da web recém-criado e clique em Next (Figura 28).
    Figura 28. Diálogo Dynamic Web Project Creation
  6. No diálogo Configure Project for Java Application (diálogo Src Folder), deixe todos os campos como padrão e clique em Next (Figura 29).
    Figura 29. Diálogo Dynamic Web Project Src Folder
  7. No diálogo Web Module Settings, marque Generate web.xml deployment descriptor e clique em Next (Figura 30).
    Figura 30. Configurações dinâmicas do módulo de projeto da Web
  8. No diálogo JAX-RS Capabilities, deixe todos os campos como padrão e clique em Finish (Figura 31).
    Figura 31. Diálogo Dynamic Web Project JAX-RS Settings
  9. Se solicitado a Open Associated Perspective (ou seja, Web Perspective) clique em No.
  10. Na Enterprise Explorer View, expanda o projeto LegacyBankAppEAR , clique com o botão direito em LegacyBankAppEAR > LegacyBankAppEAR > Utility JARs e selecione Modify.
  11. Na janela Properties for LegacyBankAppEAR, clique em Deployment Assembly e no painel EAR Module Assembly, clique em Add (Figura 32).
    Figura 32. Conjunto de Implementação do óculo EAR
  12. No diálogo Select Assembly Directive Type, selecione Projeto e clique em Next (Figura 33).
    Figura 33. Conjunto de Implementação do Módulo EAR: Diálogo Select Assembly Directive
  13. No diálogo Select Project to include, selecione o projeto LegacyBankAppWrapperService e, enquanto pressiona a tecla CTRL ,também selecione o projeto LegacyBankApp e clique em Finish (Figura 34).
    Figura 34. Conjunto de Implementação do Módulo EAR: Diálogo Select Projects
  14. Confirme que o projeto LegacyBankAppWrapperService e LegacyBankApp aparecem no painel EAR Module Assembly e clique em OK (Figura 35).
    Figura 35. Conjunto de Implementação do Módulo EA: Projetos e Empacotamento de Utilitário
  15. Na visualização Enterprise Explorer, confirme que os JARs do Utilitário foram adicionados ao arquivo EAR como mostrado na Figura 36.
    Figura 36. JARs do Utilitário LegacyBankAppEAR
  16. Na visualização Enterprise Explorer, clique com o botão direito no projeto LegacyBankAppWeb e selecione Build Path > Configure Build Path….
  17. Na janela Properties for LegacyBankAppWeb, clique na guia Projetos e depois clique em Add (Figura 37).
    Figura 37. Caminho de Criação Java cnsLegacyBankAppWeb
  18. No diálogo Required Project Selection, selecione o projeto LegacyBankAppWrapperService e clique em OK (Figura 38).
    Figura 38. Diálogo LegacyBankAppWeb Java Build Path Select Projects
  19. O Build Path deve agora incluir o projeto LegacyBankAppWrapperService como mostrado na Figura 39.
    Figura 39. Caminho de Criação Java Atualizado LegacyBankAppWeb

Isso conclui as etapas exigidas para criar os artefatos associados e os Java EE Modules para o JAX-RS 1.1 REST Service do aplicativo do banco legado.


Implementar as classes de recurso e configuração do aplicativo JAX-RS 1.1

  1. No Enterprise Explorer, clique com o botão direito na pasta LegacyBankAppWeb > Java Resources > src e selecione New > Class.
  2. No campo Package, insira com.ibm.wrapper.bankapp.rest.resources como o nome do pacote.
  3. No campo Name, insira CustomerAccountResource como o nome da classe e clique em Finish (Figura 40).
    Figura 40. Criar classe de recursos JAX-RS
  4. Clique com o botão direito do mouse no pacote LegacyBankAppWeb > Java Resources > src > com.ibm.wrapper.bankapp.rest.resources e selecione New > Class.
  5. No campo Name, insira CustomerAccountApplication como o nome da classe.
  6. No campo Superclass, insira javax.ws.rs.core.Application como a Superclasse e clique em Finish (Figura 41).
    Figura 41. Criar classe de configuração do aplicativo JAX-RS
  7. Na visualização do Enterprise Explorer, expanda LegacyBankAppWeb > Java Resources > src > com.ibm.wrapper.bankapp.rest.resources .
  8. Clique com o botão direito do mouse na classe CustomerAccountApplication e selecione Open.
  9. Abra o arquivo TextFiles > CodeSnippets.txt e copie o código da seção === CustomerAccountApplication === para a classe CustomerAccountApplication (Figura 42).
    Figura 42. Código JAX-RS CustomerAccountApplication
  10. Clique em File > Save.
  11. Na visualização Enterprise Explorer, expanda LegacyBankAppWeb > Java Resources > src > com.ibm.wrapper.bankapp.rest.resources .
  12. Clique com o botão direito do mouse na classe CustomerAccountResource e selecione Open .
  13. Abra o arquivo TextFiles > CodeSnippets.txt e copie o código da seção === CustomerAccountResource === para a classe CustomerAccountResource (Figura 43).
    Figura 43. Código JAX-RS CustomerAccountResource
  14. Clique em File > Save.

Isso conclui as etapas necessárias para criar e implementar artefatos de código JAX-RS para o JAX-RS 1.1 REST Service do aplicativo do banco legado.


Modificar os descritores de implementação do módulo da Web

  1. No Enterprise Explorer, expanda LegacyBankAppWeb e navegue para LegacyBankAppWeb > WebContent > WEB-INF.
  2. Clique com o botão direito do mouse no arquivo web.xml e clique em Open .
  3. No Web Application 3.0 Deployment Descriptor Editor, clique em Design Tab.
  4. Selecione Web Application (LegacyBankAppWeb) > Servlet (JAX-RS Servlet) e clique em Add (Figura 44).
    Figura 44. Descritor de implementação LegacyBankAppWeb
  5. No diálogo Add Item to Servlet, selecione Initialization Parameter e clique em OK (Figura 45).
    Figura 45. Diálogo LegacyBankAppWeb Deployment Descriptor Add Item
  6. Na seção Design Tab’s Details para o parâmetro de inicialização do servlet recém-adicionado, insira o seguindo nos campos nome e valor (Figura 46): Name*: javax.ws.rs.ApplicationValue*: com.ibm.wrapper.bankapp.rest.resources.CustomerAccountApplication
    Figura 46. Descritor de Implementação LegacyBankAppWeb com parâmetro de inicialização
  7. Salve as alterações ao Web Deployment Descriptor e feche o editor.

Isso conclui as etapas necessárias para modificar os descritores de implementação do Módulo da web para o JAX-RS 1.1 REST Service do aplicativo do banco legado. A solução agora está pronta para ser implementada no ambiente do tempo de execução do WebSphere Application Server V8.0.


Implementar a solução para o ambiente de teste de tempo de execução

  1. Em Server View, clique com o botão direito do mouse no servidor e selecione Add and Remove.
  2. Selecione LegacyBankAppEAR e clique em Add (Figura 47).
    Figura 47. Adicionar LegacyBankAppEAR ao servidor
  3. Clique em Finish (Figura 48).
    Figura 48. LegacyBankAppEAR implementado no servidor
  4. Em Server View, clique com o botão direito no servidor e depois em Start.

Isso conclui as etapas necessárias para implementar o JAX-RS 1.1 REST Service de um aplicativo de banco legado em um ambiente de tempo de execução WebSphere Application Server configurado no Software Architect.


Verifique a solução com o cliente HTTP REST

  1. Expanda RESTClient > src > com.ibm.simple.bankapp.client. Clique com o botão direito em RESTHTTPClient.java e selecione Open (Figura 49).
    Figura 49. Selecione e abra RESTHTTPClient para edição
  2. Atualize a variável String “port” com o número de porta para o tempo de execução do Application Server (Figura 50).
    Figura 50. Atualização do código RESTHTTPClient
  3. Clique com o botão direito em RESTHTTPClient.java e selecione Run As > Java Application (Figura 51).
    Figura 51. Ativar RESTHTTPClient
  4. A saída do cliente de teste é mostrada no arquivo TextFiles > RESTHTTPClientOutput.txt sob downloads. OBSERVAÇÃO: o código do Lado do Servidor lançará uma Exceção de Aplicativo dizendo que a Conta não existe quando o cliente de teste verifica que a conta foi excluída (consulte TextFiles > ServerRuntimeOutput.txt)
  5. Quando o teste e a validação estão concluídos, em Server View clique com o botão direito em Server > Stop.

Isso conclui as etapas necessárias para verificar a implementação bem-sucedida do JAX-RS 1.1 REST Service do aplicativo de banco legado em um ambiente de tempo de execução WebSphere Application Server configurado no Software Architect.


Download

DescriçãoNomeTamanho
Sample artifacts for this tutorialdevWorks_LegacyBankAppArtifacts.zip4.82MB

Recursos

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tecnologia Java, WebSphere
ArticleID=973494
ArticleTitle=Desenvolvendo JAX-RS 1.1 RESTful Services no Rational Software Architect V8 para implementação no WebSphere Application Server V8
publish-date=11172011