Como os Aplicativos JMS Conectam a um Mecanismo do Sistema de Mensagens em um Barramento

Há vários fatores que afetam como os aplicativos JMS serão conectados a um barramento de integração de serviços, para que possam usar recursos fornecidos pelo barramento.

Para conectar-se a um barramento de integração de serviços, um aplicativo é conectado na realidade a um mecanismo do sistema de mensagens no barramento.

Por padrão, o ambiente conecta automaticamente aplicativos a um mecanismo do sistema de mensagens disponível no barramento. No entanto, é possível especificar detalhes adicionais na configuração para influenciar o processo de conexão; por exemplo, para identificar servidores de autoinicialização especiais ou para limitar a conexão a um subgrupo de mecanismos do sistema de mensagens disponível, ou para aprimorar a disponibilidade ou o desempenho, ou para garantir processamento sequencial de mensagens recebidas.

Aplicativos em Execução em um Servidor de Aplicativos: Configuração Padrão

Aplicativos que estão sendo executados em um servidor de aplicativos são direcionados pelo ambiente do WebSphere Application Server para um mecanismo de sistema de mensagens disponível.

Se o mecanismo de sistema de mensagens for localizado no mesmo servidor, será criada uma conexão que fornecerá ao aplicativo a conexão disponível mais rápida a um mecanismo de sistema de mensagens. Caso contrário, se um mecanismo de sistema de mensagens for encontrado em outro processo, no mesmo host ou em um diferente, será estabelecida uma conexão remota. Se nenhum mecanismo do sistema de mensagens adequado for encontrado, o aplicativo não conseguirá conectar-se ao barramento.

Figura 1. Conexão padrão a um mecanismo do sistema de mensagens - Aplicativos em execução em um servidor de aplicativos Esta figura é descrita no texto ao redor.

A figura mostra dois aplicativos em execução nos servidores de aplicativos. O aplicativo X no servidor 3 foi conectado ao mecanismo do sistema de mensagens em execução no mesmo servidor. O aplicativo Y no servidor1 foi conectado a um mecanismo do sistema de mensagens em execução no mesmo barramento, porém em um servidor e host diferentes, pois o servidor1 não tem um mecanismo do sistema de mensagens adequado.

Aplicativos em Execução Fora de um Servidor de Aplicativos

Os aplicativos clientes em execução fora de um servidor de aplicativos (por exemplo, em execução em um contêiner do cliente ou fora do ambiente do WebSphere Application Server) não podem sozinhos localizar um mecanismo do sistema de mensagens adequado e devem concluir um processo de autoinicialização por meio de um servidor de autoinicialização. Um servidor de autoinicialização que está executando o serviço SIBService, mas que, necessariamente, não está executando nenhum mecanismo do sistema de mensagens. O servidor de autoinicialização seleciona um mecanismo do sistema de mensagens em execução em um servidor de aplicativos que suporte a cadeia de transporte de destino necessária.

Figura 2. Conexão com um mecanismo do sistema de mensagens - Aplicativos em execução fora de um servidor de aplicativosEsta figura é descrita no texto ao redor.

Esta figura mostra um aplicativo cliente sendo executado fora de um servidor de aplicativos. Para conectar-se a um mecanismo do sistema de mensagens, o aplicativo conecta-se antes a um servidor de auto-inicialização. O servidor de autoinicialização seleciona um mecanismo de sistema de mensagens e informa ao aplicativo cliente que se conecte ao mecanismo.

Um servidor de autoinicialização utiliza uma porta específica e uma cadeia de transporte de autoinicialização, com a qual o nome do host forma o endereço de nó de extremidade do servidor de autoinicialização.

As propriedades de um Connection Factory JMS utilizado por um aplicativo cliente controlam a seleção de um mecanismo de sistema de mensagens adequado e a maneira com que o cliente conecta-se ao mecanismo de sistema de mensagens selecionado. Por padrão, espera-se que um connection factory use um servidor de autoinicialização que tenha um endereço terminal de localhost:7276:BootstrapBasicMessaging. Ou seja: o aplicativo cliente espera usar um servidor de autoinicialização que está no mesmo host que o cliente e que usa a porta 7276 e a cadeia de transporte de autoinicialização predefinida chamada BootstrapBasicMessaging.
[IBM i]Nota: Para a plataforma IBM® i, é necessário (ao menos) alterar o endereço terminal padrão de localhost:7276:BootstrapBasicMessaging para nome.do.servidor:7276:BootstrapBasicMessaging.

Quando você cria um servidor de aplicativos, ele é designado automaticamente a uma porta de autoinicialização não protegida exclusiva, SIB_ENDPOINT_ADDRESS, e a outra porta SIB_ENDPOINT_SECURE_ADDRESS. Se desejar usar um servidor de aplicativos como um servidor de autoinicialização e o servidor tiver sido designado a uma porta não segura, diferente da 7276, ou se desejar usar a porta segura, então será necessário especificar o endereço terminal do servidor na propriedade Terminais do Provedor do connection factory.

Os endereços de nó de extremidade para servidores de autoinicialização devem ser especificados em cada Connection Factory utilizado por aplicativos fora de um servidor de aplicativos. Para não ter de especificar uma longa lista de servidores de autoinicialização, será possível fornecer alguns servidores altamente disponíveis como servidores de autoinicialização dedicados. Será necessário, então, especificar apenas uma lista curta de servidores de autoinicialização em cada connection factory.

Processo de seleção do mecanismo do sistema de mensagens

O processo de seleção é utilizado para escolher um mecanismo de sistema de mensagens a que um aplicativo deve se conectar, para que possa utilizar os recursos de um barramento de integração do serviço. As informações que controlam o processo de seleção são configuradas em um dos seguintes locais:
  • Para aplicativos cliente JMS, estas informações estão configuradas no connection factory.
  • Para aplicativos de bean acionado por mensagens (MDB), estas informações estão configuradas na especificação de ativação.
  • Para outros tipos de aplicativos, estas informações são configuradas programaticamente pelo aplicativo.
Embora uma conexão possa ser estabelecida com qualquer mecanismo do sistema de mensagens disponível, o processo de conexão aplica algumas regras simples para encontrar o mecanismo do sistema de mensagens mais adequado. Para um aplicativo em execução em um servidor de aplicativos, o processo é o seguinte:
  1. Se um mecanismo do sistema de mensagens estiver sendo executado no barramento necessário no mesmo servidor de aplicativos, uma conexão será feita do aplicativo com o mecanismo do sistema de mensagens. Se não houver mecanismo de sistema de mensagens adequado, a próxima regra será verificada.
  2. Se um mecanismo do sistema de mensagens estiver sendo executado no mesmo host que o aplicativo, o aplicativo fará uma conexão remota com o mecanismo do sistema de mensagens selecionado. Se não houver mecanismo de sistema de mensagens adequado, a próxima regra será verificada.
  3. Se um mecanismo do sistema de mensagens estiver sendo executado em qualquer lugar no barramento, o o aplicativo fará uma conexão remota com o mecanismo do sistema de mensagens selecionado. Se não houver mecanismo de sistema de mensagens adequado, a tentativa de conexão não será bem-sucedida.
Para um aplicativo em execução fora de um servidor de aplicativos, os pedidos de conexão são balanceados por carga de trabalho entre todos os mecanismos do sistema de mensagens disponíveis no barramento.

Em ambos os casos (isto é, um aplicativo em execução em um servidor de aplicativos e um aplicativo sendo executado fora de um servidor de aplicativos), você pode restringir o intervalo de mecanismos do sistema de mensagens disponíveis para conexão a um subgrupo daqueles disponíveis no barramento de integração de serviços. Para isso, configure as seguintes propriedades de conexão do connection factory ou da especificação de ativação:

Destino

Antes da procura de proximidade de conexão ser executada para selecionar um mecanismo do sistema de mensagens adequado, o conjunto de mecanismos do sistema de mensagens que são membros do grupo de destino especificado são selecionados. A procura de proximidade de conexão é então limitada a estes mecanismo do sistema de mensagens. Se um grupo de destino não estiver especificado (o padrão), todos os mecanismos de mensagem no barramento são considerados durante a procura de proximidade de conexão.

Por exemplo, se a propriedade Tipo de destino estiver configurada para Nome do Membro do Barramento, a propriedade Destino especifica o nome do membro do barramento a partir do qual mecanismos de mensagens adequados podem ser escolhidos.

Tipo de destino
Nome do Membro do Barramento
O nome de um membro de barramento. Esta opção recupera os mecanismos de sistema de mensagens ativos que são hospedados pelo membro de barramento denominado (um servidor de aplicativos ou cluster de servidores).
Nome do Grupo do Mecanismo do Sistema de Mensagens Customizado
O nome de um grupo customizado de mecanismos de sistema de mensagens (que formam um cluster de auto-declaração). Esta opção recupera os mecanismos de sistema de mensagens ativos que foram registrados no grupo customizado denominado.
Nome do mecanismo do sistema de mensagens
O nome de um mecanismo do sistema de mensagens. Esta opção recupera os nós de extremidade disponíveis que podem ser utilizados para acessar o mecanismo do sistema de mensagens denominado.
Significado do Destino
Essa propriedade define se a procura de proximidade de conexão está restrita apenas aos mecanismos do sistema de mensagens no grupo de destino.
Preferido
É preferível que um mecanismo do sistema de mensagens seja selecionado no grupo de destino. Um mecanismo do sistema de mensagens no grupo de destino será selecionado se houver algum disponível. Se um mecanismo do sistema de mensagens não estiver disponível no grupo de destino, um mecanismo do sistema de mensagens fora do grupo de destino será selecionado se estiver disponível no mesmo barramento de integração de serviços.
Requerido
É necessário que um mecanismo do sistema de mensagens seja selecionado no grupo de destino. Um mecanismo do sistema de mensagens no grupo de destino será selecionado se houver algum disponível. Se um mecanismo do sistema de mensagens não estiver disponível no grupo de destino, o processo de conexão falhará.
Cada de transporte de entrada de destino

O nome da cadeia de transporte de entrada do mecanismo do sistema de mensagens que um aplicativo deve destinar, ao conectar-se a um mecanismo do sistema de mensagens em um processo separado do aplicativo.

Essas cadeias de transporte especificam os protocolos de comunicações que podem ser usados para se comunicarem com o servidor de aplicativos aos quais o aplicativo cliente está conectado. Se um mecanismo do sistema de mensagens em outro processo for escolhido, uma conexão poderá ser estabelecida somente se o mecanismo do sistema de mensagens estiver em um servidor que executa a cadeia de transporte de entrada especificada.

São fornecidas as seguintes cadeias de transporte de entrada do mecanismo do sistema de mensagens predefinido:
InboundBasicMessaging
JFAP sobre TCP/IP
InboundSecureMessaging
JFAP sobre SSL sobre TCP/IP
Proximidade de Conexão
Para um aplicativo em execução em um servidor de aplicativos, a propriedade define a proximidade dos mecanismos de sistema de mensagens ao servidor de aplicativos. Para um aplicativo em execução fora de um servidor de aplicativos, essa propriedade define a proximidade dos mecanismos de sistema de mensagens relativa ao servidor de autoinicialização.
Barramento
As conexões podem ser estabelecidas com os mecanismos dos sistemas de mensagens no mesmo barramento.

Um mecanismo de sistema de mensagens adequado no mesmo servidor é selecionado antes de um mecanismo de sistema de mensagens no mesmo host e, por sua vez, antes de um um mecanismo em outro host.

Cluster
As conexões podem ser estabelecidas com os mecanismos dos sistemas de mensagens no mesmo cluster de servidores. Se o aplicativo não estiver em execução em um servidor em cluster, ou se o servidor de autoinicialização não estiver em um cluster, não haverá mecanismos do sistema de mensagens apropriados.

Um mecanismo de sistema de mensagens adequado no mesmo servidor é selecionado antes de um mecanismo de sistema de mensagens no mesmo host e, por sua vez, antes de um um mecanismo em outro host.

Host,
As conexões podem ser estabelecidas com os mecanismos dos sistemas de mensagens no mesmo host. Um mecanismo do sistema de mensagens adequado no mesmo servidor é selecionado antes de um mecanismo do sistema de mensagens adequado no mesmo host.
Servidor
As conexões podem ser estabelecidas com os mecanismos dos sistemas de mensagens no mesmo servidor de aplicativos.
Para aplicativos MDB que se conectam a um membro do barramento do cluster, é possível também ativar uma das seguintes configurações adicionais:
  • Todos os servidores do cluster podem receber mensagens do aplicativo MDB, para fazer uso completo da força de processamento do cluster.
  • Apenas um servidor por vez pode receber mensagens do aplicativo MDB, para garantir o processamento seqüencial das mensagens.

Para obter mais informações, consulte Como um Bean Acionado por Mensagem Conecta-se em um Cluster.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjb0001_
Nome do arquivo: cjb0001_.html