Especificação Web Services for Java EE
A especificação do Web Services for Java™ Platform, Enterprise Edition (Java EE) define o modelo de programação e a arquitetura de tempo de execução para implementação dos serviços da Web com base na linguagem Java. Outro nome para a especificação do Web Services for Java EE é JRS (Java Specification Requirements) 109. A especificação inclui padrões abertos para o desenvolvimento e a implementação de serviços da Web.
Os Serviços da Web para a especificação do Java EE baseia-se na tecnologia Java EE e suporta os modelos de programação Java API for XML Web Services (JAX-WS) e Java API for XML-based RPC (JAX-RPC) para serviços da Web e clientes de uma maneira interoperável e móvel nos servidores de aplicativos dentro de ambientes escaláveis e seguros. Esta especificação baseia-se nos padrões de mercado para serviços da Web, incluindo Web Services Description Language (WSDL) e SOAP, e descreve o desenvolvimento e a implementação de serviços da Web.
É possível integrar a tecnologia Java EE com serviços da Web de várias maneiras. É possível expor os componentes Java EE como serviços da Web, por exemplo, JavaBeans e enterprise beans. Ao expor componentes Java EE como serviços da Web, os clientes gravados em código Java ou clientes de serviço da Web existentes que não estão gravados em código Java podem acessar estes serviços. Os componentes Java EE podem também agir como clientes de serviço da Web.
A especificação Web Services for Java EE é a plataforma preferida para a programação baseada na web porque fornece padrões abertos que permitem diferentes tipos de linguagens, sistemas operacionais e software para uma comunicação perfeita por meio da Internet.
Para um aplicativo Java agir como cliente de serviço da Web, deve existir um mapeamento entre o arquivo WSDL e o aplicativo Java. Para aplicativos JAX-WS, o mapeamento é definido usando anotações. É possível também usar o descritor de implementação webservices.xml para especificar o local do arquivo WSDL e substituir o valor definido na anotação @WebServices. Para aplicativos JAX-RPC, você deve definir o arquivo de mapeamento do JAX-RPC. Para saber mais sobre o mapeamento que está definido entre o arquivo WSDL e seu aplicativo de serviços da Web, consulte a especificação JAX-WS ou JAX-RPC nas especificações de serviços da Web e na documentação da API, dependendo do modelo de programação usado.
É possível usar um componente Java para implementar um serviço da Web especificando a interface do componente e informações sobre ligação no arquivo WSDL e projetando a infra-estrutura do servidor de aplicativos para aceitar o pedido de serviço.
Este processo inteiro se baseia na especificação do Web Services for Java EE.
A especificação define o descritor de implementação webservices.xml especificamente para serviços da Web. O arquivo descritor de implementação webservices.xml define o conjunto de serviços da Web que pode ser implementado em um contêiner ativado para Web Services for Java EE.
Para serviços da web JAX-WS, o uso do descritor de implementação webservices.xml é opcional porque é possível usar anotações para especificar todas as informações que estão contidas dentro do arquivo do descritor de implementação. É possível utilizar o arquivo do descritor de implementação para aumentar ou substituir anotações JAX-WS existentes. Qualquer informação definida no descritor de implementação webservices.xml substitui quaisquer informações correspondentes especificadas pelas anotações.
@WebService(wsdlLocation=”http://myhost.com/location/of/the/wsdl/ExampleService.wsdl”)
e o webservices.xml especificar um nome de arquivo diferente para o documento WSDL como segue: <webservices>
<webservice-description>
<webservice-description-name>ExampleService</webservice-description-name>
<wsdl-file>META-INF/wsdl/ExampleService.wsdl</wsdl-file>
…
</webservice-description>
</webservices>
o valor especificado no descritor de implementação,
META-INF/wsdl/ExampleService.wsdl, substituirá o valor da anotação. Consulte a seção 5 da especificação Web Services for Java EE para obter detalhes relacionados à correlação entre os valores especificados no arquivo descritor de implementação de serviços da Web e nos atributos das anotações @WebService e @WebServiceProvider.
Para serviços da Web JAX-RPC, você deve definir as características de implementação no arquivo descritor de implementação webservices.xml.
- Nome da Porta
- Implementação do serviço da porta
- Interface do nó de extremidade de serviço do serviço da porta
- Definição de WSDL da porta
- QName da porta
- Suporte MTOM/XOP para serviços da Web JAX-WS
- Ligação de protocolo para serviços da Web JAX-WS
- Mapeamento JAX-RPC
- Rotinas de tratamento (opcional)
- Mapeamento de servlet (opcional)
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.