Configuração do Barramento de Integração de Serviços para o Serviço de Sistema de Mensagens da Web

O serviço de sistema de mensagens da Web usa o barramento de integração de serviço fornecido como parte do WebSphere® Application Server V6.1.x e mais recente para fornecer o recurso subjacente de publicação e assinatura necessário para suportar clientes Bayeaux. Para determinar como os publicadores e assinantes do Bayeaux interagem com o barramento de integração de serviços, é necessário fornecer alguns parâmetros de configuração ao implementar um aplicativo que fornece o recurso Bayeaux.

O conceito de canal de assinatura do Bayeaux é equivalente a um tópico no barramento de integração de serviços, de tal forma que ele ativa a classificação de eventos em grupos relacionados, por exemplo, /esportes/futebol ou /tempo. No barramento de integração de serviços, há tópicos dentro de um destino de espaço de tópico aos quais os produtores e consumidores se conectam. Os tópicos em um espaço de tópico são completamente independentes de tópicos que existem em um espaço de tópico diferente, mesmo que tenham o mesmo nome. Assim, parte da configuração do serviço de sistema de mensagens da web fornece ao desenvolvedor de aplicativos a capacidade de especificar qual espaço de tópico do barramento de integração de serviços será usado pelos aplicativos Bayeaux.

Além disso, eventos (mensagens) publicados em um espaço de tópico do barramento de integração de serviços possuem uma confiabilidade aplicada a eles que determina como as mensagens são tratadas dentro do barramento. Isso inclui as condições sob as quais as mensagens podem ser descartadas pela infra-estrutura do sistema de mensagens. Em alguns cenários, é aceitável que as mensagens sejam descartadas se o servidor se tornar limitado a recursos, possivelmente devido a uma alta carga de trabalho, enquanto em outros, é preferível manter as mensagens mesmo com o risco de sobrecarregar o servidor.

Ao configurar cenários avançados que incluam conceitos como gerenciamento de carga de trabalho ou segurança, também é necessário considerar as implicações desses requisitos no barramento de integração de serviços. Cada um desses conceitos é descrito em mais detalhes abaixo.

As seguintes opções estão disponíveis para configurar a maneira como os aplicativos Bayeaux interagem com o barramento de integração de serviços.

  busName

    Um barramento de integração de serviços é necessário para operações do sistema de mensagens da Web. Os clientes só podem conectar-se a um único barramento de integração de serviços por meio de um único URI de entrada. A conexão a vários barramentos só é possível criando uma definição de configuração de sistema de mensagens da Web separada e especificando um nome de barramento diferente, mas o cliente terá que se conectar por meio de URIs separadas e utilizar várias conexões. Ao utilizar um cliente do Ajax, só é possível fazer uma conexão do Bayeux a um único servidor em uma página da Web única. Páginas diferentes podem especificar URIs diferentes e conectar-se a barramentos diferentes.

Nome: busName
Obrigatório ou Opcional: Necessário
Tipo de Dado: Sequência
Valores suportados: O nome de qualquer barramento de integração de serviços
Valor padrão: Não há padrão
Descrição:

O barramento de integração de serviços que clientes do sistema de mensagens da Web que chegam utilizam para publicar ou assinar operações.

  destino

    Na maioria dos cenários, um aplicativo Bayeaux precisa consumir ou produzir mensagens a partir de um único espaço de tópico do barramento de integração de serviços. A propriedade de destino possibilita ao desenvolvedor de aplicativos especificar qual espaço de tópico é utilizado para todas as interações com o barramento de integração de serviços.

Nome: destination
Obrigatório ou Opcional: Opcional
Tipo de Dado: Sequência
Valores suportados: O nome de qualquer espaço de tópico do barramento de integração de serviços
Valor padrão: Default.Topic.Space
Descrição:

Este é o espaço de tópicos no barramento de integração de serviços a partir do qual o aplicativo consome ou para o qual o aplicativo produz.

O destino especificado pode ser um espaço de tópico real, ou alternativamente pode ser um alias (consulte Destinos de alias) para um espaço de tópico. Utilizar um alias possibilita que o aplicativo seja isolado do nome real do espaço de tópicos.

Ao utilizar essa propriedade para designar o espaço de tópicos utilizado por aplicativos Bayeaux, o nome do tópico dentro do espaço de tópicos é determinado utilizando o nome do canal de assinatura do Bayeaux e removendo a barra inicial, por exemplo, um nome do canal "/esportes/futebol" mapeia para um tópico do barramento de integração de serviços "esportes/futebol"

Se o desenvolvedor de aplicativos não estiver ciente de qual espaço de tópicos é utilizado, essa propriedade poderá ser omitida e o espaço de tópicos padrão será utilizado.

Observe que essa propriedade é substituída pela propriedade multipleDestinations, conforme descrito em uma seção a seguir.


  multipleDestinations

    Em cenários avançados, poderia ser necessário para um aplicativo Bayeaux produzir ou consumir com mais de um espaço de tópico do barramento de integração de serviços, por exemplo, para exibir dados de um intervalo de origens distintas como parte de um ambiente de portlet. Nesse caso, o desenvolvedor de aplicativos pode ativar a propriedade multipleDestinations, que substitui a propriedade destino e permite ao desenvolvedor especificar o nome de destino do espaço de tópico necessário (ou alias) como parte do nome do canal de assinatura do Bayeaux.

Nome: multipleDestinations
Obrigatório ou Opcional: Opcional
Tipo de Dado: Booleana
Valores suportados: true ou false
Valor padrão: falso
Descrição:

Ativa uma sintaxe de canal de assinatura do Bayeaux alternativa que suporta especificar o nome do espaço de tópico do barramento de integração de serviços de destino como parte do nome do canal.

Quando ativada, essa propriedade faz o primeiro segmento do canal ser utilizado para especificar o nome do espaço de tópico. Por exemplo, para publicar em um tópico "track/relay4x100" no espaço de tópico "OlympicResults", o aplicativo especifica o seguinte canal de assinatura do Bayeaux;

/OlympicResults/track/relay4x100

Observe que, se multipleDestinations estiver ativado, o valor da propriedade "destino' será ignorado.


  reliability

    Eventos (mensagens) publicados para um espaço de tópico do barramento de integração de serviços possuem uma 'confiabilidade' aplicada a eles que determina como as mensagens são tratadas dentro do barramento. Isso inclui as condições sob as quais as mensagens podem ser descartadas pela infra-estrutura do sistema de mensagens. Em alguns cenários, é aceitável que as mensagens sejam descartadas se o servidor se tornar limitado a recursos, possivelmente devido a uma alta carga de trabalho, enquanto em outros, é preferível manter as mensagens mesmo com o risco de sobrecarregar o servidor.

Nome: confiabilidade
Obrigatório ou Opcional: Opcional
Tipo de Dado: Sequência
Valores suportados:
  • BestEffortNonPersistent
  • ExpressNonPersistent
  • ReliableNonPersistent
  • ReliablePersistent
  • AssuredPersistent
Valor padrão: ExpressNonPersistent
Descrição:

Especifica o nível de confiabilidade com que os eventos (mensagens) publicados pelos aplicativos Bayeaux são enviados ao barramento de integração de serviços.

Detalhes sobre o comportamento dessas opções podem ser localizados na seguinte seção Níveis de confiabilidade de mensagem.

Observe que, para assinaturas não-duráveis, as mensagens não estão disponíveis após uma reinicialização de servidor porque a assinatura não existe mais. Isso significa que existe um benefício limitado na escolha de um dos dois níveis de confiabilidade persistentes. Na maioria dos casos, um dos valores não persistentes deve ser utilizado.


  clientCanPublish

    O protocolo Bayeux suporta a publicação de clientes no barramento de integração de serviços. Dependendo do aplicativo que está desenvolvendo, você poderia não apenas permitir que mensagens fluam do servidor para clientes do sistema de mensagens da Web. Por exemplo, você poderia preferir requerer que clientes publicassem através de um aplicativo da Web (servlet) e ter maior controle sobre a inspeção do conteúdo da mensagem antes de publicar a mensagem no barramento de integração de serviços. Por padrão, os clientes não podem publicar através do protocolo Bayeux.

Nome: clientCanPublish
Obrigatório ou Opcional: Opcional
Tipo de Dado: Booleana
Valores suportados: true ou false
Valor padrão: falso
Descrição:

Indica se clientes do sistema de mensagens da Web têm permissão para publicar. Por padrão, os clientes não podem publicar. Você deve configurar explicitamente clientCanPublish como true para suportar a publicação do cliente.


  authType

    Clientes do sistema de mensagens da Web que chegam devem ser autenticados e autorizados para conexão ao barramento de integração de serviços quando a segurança do barramento estiver ativada. Consulte Protegendo um Aplicativo Ativado pelo Sistema de Mensagens da Web para obter informações adicionais.

Nome: authType
Obrigatório ou Opcional: Opcional
Tipo de Dado: Sequência
Valores suportados:
  • Nenhum
  • auth_alias
  • básico
  • sso
Valor padrão: Nenhum
Descrição:

Quando a segurança do barramento está ativada, os clientes da Web que chegam precisam de uma identidade para serem autorizados para o barramento de integração de serviços. Especifique esse parâmetro de configuração para determinar onde as informações sobre autenticação são obtidas para efetuar login no barramento de integração de serviços.

  • A opção "nenhum" indica que nenhuma informação de ID do usuário e senha é utilizada para efetuar login no barramento de integração de serviços.
  • O alias "auth_alias" indica que o ID do usuário e senha obtidos a partir da diretiva de configuração authAlias são utilizados para efetuar login no barramento de integração de serviços.
  • A opção "básico" pode ser utilizada quando a segurança da Web estiver ativada para o aplicativo. A opção "básico" utiliza as credenciais do cabeçalho de autenticação básica para efetuar login no barramento de integração de serviços.
  • A opção "sso" pode ser utilizada quando a segurança da Web está ativada para o aplicativo. A opção "sso" utiliza as credenciais dos cookies de LTPA para efetuar login no barramento de integração de serviços.

Se qualquer uma das opções falhar ao recuperar credenciais, é executado um login no barramento de integração de serviços com um ID do usuário e senha em branco. Se a segurança do barramento de integração de serviços estiver ativada, os clientes da Web não poderão conectar-se para operações do sistema de mensagens da Web.


useDurable

   Uma assinatura durável para o barramento de integração de serviços será utilizada para pedidos de assinatura do Bayeux quando a propriedade de configuração useDurable for configurada como true. Uma assinatura durável pode ser utilizada para preservar mensagens publicadas em um tópico enquanto um assinante está inativo.

Nome: useDurable
Obrigatório ou Opcional: Opcional
Tipo de Dados: Booleana
Valores Suportados: true ou false
Valor Padrão: false
Descrição:

Quando assinaturas duráveis forem utilizadas para o sistema de mensagens da Web, os clientes da Web poderão retomar as operações após um breve período de tempo sem perder mensagens quando as assinaturas de um cliente da Web para o barramento de integração de serviços tornam-se inativas. Uma assinatura pode tornar-se inativa por alguma das seguintes razões: falha do servidor, falha do mecanismo do sistema de mensagens ou falha de conexão com um mecanismo do sistema de mensagens.

Ao executar um aplicativo ativado para o sistema de mensagens da Web em um ambiente em cluster, considere configurar as propriedades de configuração useDurable e useDistributedSession como true para obter resultados ideais de failover. Quando ambas as propriedades forem configuradas como true, um cliente de sistema de mensagens da Web poderá efetuar failover de um servidor para outro e retomar quaisquer assinaturas duráveis.

Quando assinaturas duráveis são utilizadas para o sistema de mensagens da Web, cada cliente de sistema de mensagens da Web fica vinculado ao mecanismo do sistema de mensagens no qual ele conecta-se primeiro. Quando um cliente de sistema de mensagens da Web remove a assinatura de um tópico, quer seja um resultado de uma operação de remoção de assinatura específica do Bayeux, uma operação de desconexão do Bayeux ou expiração de sessão do Bayeux, o mecanismo do sistema de mensagens deve estar em execução para que a operação de remoção de assinatura seja concluída. O serviço de sistema de mensagens da Web rastreia as informações de assinatura durável e as expira quando possível, porém às vezes isto não é possível. Nestas situações, as assinaturas duráveis devem ser excluídas manualmente por meio de procedimentos de administração.

Muitas vezes, existe um pequeno atraso antes das assinaturas duráveis de um cliente de Sistema de Mensagens da Web poderem ser retomadas. O mecanismo de aviso de repetição de reconexão do Bayeux é utilizado para instruir os clientes de sistema de mensagens da Web a reconectarem após um curto período de tempo, para restaurar essas assinaturas duráveis. O intervalo de reconexão é controlado pela propriedade de configuração reinitInterval. O período máximo de tempo para tentar a reconexão é controlado pela propriedade de configuração MaxReinitDuration.

Há uma sobrecarga adicional ao utilizar assinaturas duráveis e deve-se considerar o planejamento antes de configurar essa propriedade. Consulte a documentação do barramento de integração de serviços para obter informações adicionais.

autoReinit

     Os clientes de sistema de mensagens da Web se reconectarão ao barramento de integração de serviços e tornarão a assinar quaisquer tópicos quando um problema de comunicação com um barramento de integração de serviços for encontrado, se a propriedade de configuração autoReinit for configurada como true.

Nome: autoReinit
Obrigatório ou Opcional: Opcional
Tipo de Dados: Booleana
Valores Suportados: true ou false
Valor Padrão: false
Descrição:

Quando um cliente de sistema de mensagens da Web encontra um erro de comunicação com um barramento de integração de serviços, a propriedade autoReinit deve ser configurada para reinicializar automaticamente uma conexão com o barramento de integração de serviços e tornar a assinar quaisquer tópicos assinados anteriormente. Durante o intervalo entre a perda da assinatura e a reinicialização, quaisquer mensagens publicadas para um tópico não alcançarão o cliente de sistema de mensagens da Web.

Se ambas as propriedades, useDurable e autoReinit, forem configuradas como true, a propriedade useDurable entrará em vigor.

Ao executar um aplicativo ativado para o sistema de mensagens da Web em um cluster, você pode considerar configurar as propriedades de configuração autoReinit e useDistributedSession como true. Quando ambas as propriedades forem configuradas como true, um cliente de sistema de mensagens da Web poderá retomar as operações quando um servidor falhar e as operações do sistema de mensagens da Web serão retomadas em outro servidor. Se as propriedades autoReinit e useDurable forem, ambas, configuradas como false, o aviso de novo handshake do Bayeux será enviado ao cliente indicando que o cliente deve efetuar um novo handshake e inicializar uma nova sessão do Bayeux.

Muitas vezes, existe um pequeno atraso antes das conexões e assinaturas de um cliente de Sistema de Mensagens da Web poderem ser reinicializadas. O mecanismo de aviso de repetição de reconexão do Bayeux é utilizado para instruir os clientes de sistema de mensagens da Web a reconectarem após um curto período de tempo, para reinicializar as assinaturas do cliente. Esse intervalo de reconexão é controlado pela propriedade de configuração reinitInterval. O período máximo de tempo para tentar a reconexão é controlado pela propriedade de configuração MaxReinitDuration.

reinitInterval

   Quando as propriedades de configuração autoReinit ou useDurable são true e existe um erro de comunicação com o barramento de integração de serviços, o cliente de sistema de mensagens da Web é instruído a reconectar-se periodicamente para retomar as operações, conforme especificado pela propriedade de configuração reinitInterval.

Nome: reinitInterval
Obrigatório ou Opcional: Opcional
Tipo de Dados: Número Inteiro
Valores Suportados: Valor especificado em segundos entre 1 e 300.
Valor Padrão: 10
Descrição:

Depois que um cliente de sistema de mensagens da Web encontra um erro de comunicação com um barramento de integração de serviços, pode haver um breve período de tempo antes de um cliente de sistema de mensagens da Web poder retomar a comunicação com um barramento de integração de serviços. Quando isso acontece, o aviso de repetição de reconexão do Bayeux com um intervalo é enviado ao cliente para instruí-lo a reconectar-se de acordo com o intervalo especificado pela propriedade de configuração reinitInterval . O cliente de sistema de mensagens da Web tentará reconectar-se até o tempo máximo, conforme especificado pela propriedade de configuração maxReinitDuration.

maxReinitDuration

    A propriedade de configuração maxReinitDuration especifica o período de tempo máximo que um cliente de sistema de mensagens da Web tentará retomar as operações com um barramento de integração de serviços.

Nome: maxReinitDuration
Obrigatório ou Opcional: Opcional
Tipo de Dados: Número Inteiro
Valores Suportados: Valor especificado em segundos entre 10 e 600
Valor Padrão: 60
Descrição:

Quando as propriedades de configuração autoReinit ou useDurable forem configuradas como true, um cliente de sistema de mensagens da Web tentará retomar as operações com o barramento de integração de serviços. Em algumas situações, talvez não seja possível retomar as operações de uma maneira adequada. Após decorrido o tempo de maxReinitDuratio, o cliente de sistema de mensagens da Web não tentará mais retomar as operações com o barramento de integração de serviços e a sessão do Bayeux será expirada.



Termos de Uso | Feedback