Web Services Addressing: Firewalls e Nós Intermediários
O uso do suporte de WS-Addressing (Web Services Addressing) neste produto possibilita a criação de referências de terminais que podem ser distribuídas através de firewalls e nós intermediários.
O uso do suporte de WS-Addressing possibilita a geração automática de referências de terminal, que representam terminais no nó, nos quais as referências são geradas. Essas referências de terminais contêm informações de endereço apropriadas, baseadas na URL configurada para o terminal e qualquer configuração de proxy válida para o servidor em que reside o terminal. As mensagens destinadas no referência de terminal do cliente são roteadas para o terminal através de nó ou nós intermediários apropriados, conforme descrito nos cenários de topologia a seguir.
A API proprietária
da IBM também pode ser utilizada para criar uma referência de terminal que represente
um serviço que não deve ser gerenciado pela carga de trabalho, por exemplo, porque mantém
o estado na memória. Um serviço que utiliza um bean de sessão com
preservação de estado é um exemplo de serviço que conta com a afinidade de roteamento para uma
instância específica do servidor. Para criar uma referência de terminal para tal serviço, utilize o ~
método EndpointReferenceManager.createEndpointReference(QName serviceName, String
endpointName, java.rmi.Remote statefulSessionBean).
Se você ativar a alta disponibilidade para beans de sessão stateful e criar a
referência de terminal usando esse método, a referência de terminal permanecerá válida mesmo se o bean de sessão stateful
tenha ativado o failover, desde que o pedido se origine de um cliente do
WebSphere Application Server no versão 6.1 ou posterior, ou é roteado por um Servidor Proxy
para o IBM®
WebSphere Application Server na mesma célula administrativa, conforme descrito nos cenários de
topologia a seguir.
- Utilize a topologia Conexão direta para configurações sem cluster.
- Utilize a topologia Servidor HTTP, como o IBM HTTP Server quando as referências
de terminais referem-se a serviços que:
- são implementados em um cluster gerenciado por carga de trabalho
- não acessam quaisquer informações com preservação de estado localizadas em um servidor específico
- Utilize a topologia Servidor Proxy para IBM WebSphere Application Server ou a topologia Servidor HTTP com um Servidor Proxy para IBM WebSphere Application Server quando as referências de terminais
referem-se a serviços que:
- são implementados em um cluster gerenciado por carga de trabalho
- opcionalmente, acessam informações com preservação de estado localizadas em um servidor específico
- opcionalmente, podem ser submetidos a failover em uma configuração altamente disponível
O servidor HTTP com um Servidor Proxy para a topologia do IBM WebSphere Application Server é útil quando o próprio servidor HTTP não possuir nenhum recurso integrado para roteamento com base em afinidade para terminais do WS-Addressing.
Para referências de terminais que referem-se a serviços que não acessam informações com preservação de estado localizadas em um servidor específico, todos os seguintes cenários de topologias são apropriados.
Conexão direta
Utilize esta topologia para configurações sem cluster.


Referências de terminais criadas usando a API do JAX-WS padrão não são gerenciadas pela carga de trabalho.
Servidor Proxy para IBM WebSphere Application Server
Utilize essa topologia quando as referências de terminais referirem-se a serviços implementados em um cluster gerenciado pela carga de trabalho, acessarem, opcionalmente, informações com preservação de estado localizadas em um servidor específico e puderem, opcionalmente, ser submetidas a failover em uma configuração altamente disponível.

![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- Se a referência de terminal representar um bean de sessão com preservação de estado, os pedidos destinados na referência de terminal reterão afinidade com o servidor e a instância desse bean de sessão com preservação de estado.
- Se a referência de terminal representar um bean de sessão com preservação de estado altamente disponível, a referência de terminal permanecerá válida, se o bean de sessão com preservação de estado for submetido a failover em outro servidor.
Se o proxy endereçado pela referência de
terminal for um Servidor Proxy para IBM
WebSphere Application Server, na Versão 6.1 ou posterior, que exista na mesma célula
administrativa que o terminal, as mensagens destinadas em uma referência de terminal gerenciada pela carga de trabalho
serão gerenciadas pela carga de trabalho, com base no cluster.
Servidor HTTP, como o IBM HTTP Server
Utilize esta topologia quando as referências de terminal referem-se a serviços que são implementados em um cluster gerenciado por carga de trabalho e que não acessam quaisquer informações com preservação de estado localizadas em um servidor específico.

Não
implemente uma referência de terminal que representa um bean de sessão com preservação de estado
nesta topologia, porque o servidor HTTP não reterá afinidade com esse bean de sessão com preservação
de estado e distribuirá seus pedidos entre os servidores disponíveis.
Para
manter a afinidade do bean de sessão stateful e a alta disponibilidade de referências de terminais criados usando a API
proprietária da IBM, use um Servidor Proxy para
IBM
WebSphere Application Server além do seu servidor HTTP, conforme descrito na topologia a seguir.
Servidor HTTP com um Servidor Proxy para IBM WebSphere Application Server
Utilize esta topologia quando as referências de terminais referem-se a serviços implementados em um cluster gerenciado por carga de trabalho, opcionalmente acessam informações com preservação de estado localizadas em um servidor específico e, opcionalmente, podem ser submetidas a failover em uma configuração altamente disponível. A topologia é semelhante à topologia do Servidor Proxy para IBM WebSphere Application Server, mas suporta o uso de qualquer servidor HTTP como proxy reverso externo.
Nessa topologia, a API do WS-Addressing gera automaticamente o endereço de referência de terminal apropriado com base no prefixo de URL do servidor HTTP configurado para o módulo de serviço da Web de destino. É necessário fornecer informações de URL de terminal HTTP, ou seja, configurar o prefixo de URL do HTTP para cada implementação de cada aplicativo.

![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
- Se a referência de terminal representar um bean de sessão com preservação de estado, os pedidos destinados na referência de terminal reterão afinidade com o servidor e a instância desse bean de sessão com preservação de estado.
- Se a referência de terminal representar um bean de sessão com preservação de estado altamente disponível, a referência de terminal permanecerá válida, se o bean de sessão com preservação de estado for submetido a failover em outro servidor.
Se o
proxy endereçado pela referência de terminal for um Servidor Proxy para
IBM
WebSphere Application Server, na Versão 6.1 ou posterior, que exista na mesma célula
administrativa que o terminal, as mensagens destinadas em uma referência de terminal gerenciada pela carga de trabalho
serão gerenciadas pela carga de trabalho, com base no cluster.