Implementando Aplicativos de Serviços da Web com JAX-WS
Ao iniciar a partir de JavaBeans ou enterprise beans existentes, você pode usar uma abordagem ascendente para desenvolver serviços da Web baseados no modelo de programação Java™ API for XML-Based Web Services (JAX-WS).
Antes de Iniciar
Determine os JavaBeans ou enterprise beans existentes que você deseja expor como um serviço da Web JAX-WS.
Sobre Esta Tarefa
Para desenvolver serviços da Web baseados no modelo de programação JAX-WS, é possível usar uma abordagem de desenvolvimento ascendente começando a partir de JavaBeans ou enterprise beans existentes ou é possível usar uma abordagem de desenvolvimento descendente começando com um arquivo Web Services Description Language (WSDL) existente. Esta tarefa descreve as etapas ao utilizar a abordagem de desenvolvimento ascendente.
Ao desenvolver serviços da Web JAX-WS começando a partir de JavaBeans ou enterprise beans existentes, é 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. Serviços da Web JAX-WS podem opcionalmente usar uma interface de terminal em serviço. Além de anotar o bean e a interface de terminal em serviço opcional, você deve montar todos os artefatos que o serviço da Web necessita e implementar o aplicativo resultante no ambiente do servidor de aplicativos para concluir o processo de ativação do bean como um serviço da Web. Apesar de o uso de um arquivo WSDL ser considerado uma boa prática, você não é obrigado a compactar um arquivo WSDL com os seus serviços da Web JAX-WS.
- Considerações ao Utilizar JavaBeans
- O JavaBeans exposto como serviços da Web JAX-WS são suportados apenas sobre um transporte HTTP.
- O JavaBeans pode usar o Contexts and Dependency Injection (CDI). Note que a injeção de construtor não é suportada.
- Considerações ao Utilizar Enterprise Beans
- O enterprise bean deve ser um bean de sessão stateless ou singleton.
- 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.
- Os aplicativos JAX-WS que contêm enterprise beans devem ser implementados com o comando endptEnabler.
- Serviços da Web JAX-WS que usam enterprise beans são suportados sobre um transporte HTTP ou Java Message Service (JMS).
- Os enterprise beans podem usar o CDI. Note que a injeção de construtor não é suportada.
- É possível incluir opcionalmente documentos do Web Services Description Language (WSDL) no pacote de aplicativos JAX-WS.
A partir do WebSphere Application Server Versão 7.0 e posterior, nos módulos do aplicativo Java EE 5 (módulos de aplicativo da web versão 2.5 ou superior, ou módulos EJB versão 3.0 ou superior) ocorre a varredura de anotações para identificação de serviços e clientes JAX-WS. Entretanto, os módulos aplicativos pré-Java EE 5 (módulos aplicativos da web versão 2.4 ou anterior, ou módulos EJB versão 2.1 ou anterior) não são digitalizados para anotações JAX-WS, por padrão, para considerações de desempenho. No Feature Pack for Web Services Versão 6.1, o comportamento padrão é digitalizar módulos aplicativos da web pré-Java EE 5 para identificar serviços JAX-WS e digitalizar módulos aplicativos da web pré-Java EE 5 e módulos EJB para clientes de serviço durante a instalação do aplicativo. Como o comportamento padrão para o WebSphere Application Server Versão 7.0 e mais recente é não varrer módulos pré-Java EE 5 para anotações durante a instalação do aplicativo ou inicialização do servidor, para preservar a compatibilidade com versões anteriores com o feature pack de liberações anteriores, deve-se configurar a propriedade UseWSFEP61ScanPolicy no META-INF/MANIFEST.MF de um arquivo web application archive (WAR) ou módulo EJB ou definir a propriedade customizada de Java virtual machine, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, em servidores para solicitar varredura durante a instalação do aplicativo e inicialização do servidor. Para aprender mais sobre a varredura de anotações, consulte as informações de anotações do JAX-WS.
Procedimento
Resultados
Você desenvolveu um aplicativo JAX-WS.