Tópicos

IntroduçãoPara o início da página

Essa diretriz focaliza a identificação de Beans Orientados a Mensagens. Orientação adicional sobre os Beans Orientados a Mensagens é fornecida em Diretrizes: Beans Orientados a Mensagens. Orientação geral sobre EJBs é fornecida por Diretrizes: Enterprise JavaBeans.

Algumas características dos beans orientados a mensagens são:

  • Eles são beans sem preservação de estado.
  • Eles não retornam valores ou exceções aos clientes.
  • Eles não possuem interfaces, uma vez que os clientes não acessam os beans orientados a mensagens diretamente, mas indiretamente, pelo envio de mensagens para o destino (ou nó de extremidade) atendido pelo bean. Há um método de listener ("onMessage()" no caso de bean orientado a mensagens do JMS) que manipula genericamente qualquer mensagem. Isso significa que a verificação do tipo tem que ser executada no tempo de execução, utilizando a operação "instanceOf()" para determinar o tipo de uma mensagem recebida.

As mensagens podem ser enviadas para o contêiner de qualquer lugar, incluindo de outros EJBs, de componentes da Web e de clientes aplicativos. O contêiner chama os EJBs orientados a mensagens, conforme necessário, para manipular os eventos de mensagem que chegam. Os EJBs orientados a mensagens podem acessar outros EJBs de sessão ou de entidade ou a camada EIS diretamente para processar as mensagens.

Identificando Beans Orientados a MensagensPara o início da página

Os beans orientados a mensagens fornecem uma maneira de manipular as mensagens assincronicamente. Os beans de Sessão e de Entidade só podem ser chamados sincronicamente. Os beans orientados a mensagens são identificados como parte da definição de coincidência para o sistema geral. Consulte Diretrizes: Coincidência para obter diretrizes gerais sobre coincidência, como padrões de design para o desacoplamento de código do responsável pela chamada e código chamado. Os beans orientados a mensagens são normalmente identificados como parte de Atividade: Descrever a Arquitetura do Tempo de Execução, como um meio de fornecer coincidência no contêiner EJB. Como tal, eles não são geralmente identificados diretamente a partir das classes de análise, mas em vez disso, são identificados para solucionar problemas específicos de design, como questões de desempenho e de acoplamento.

Alguns motivos para introduzir os beans orientados a mensagens:

  • Problemas distintos entre diferentes áreas do software - pode enviar uma mensagem para uma fila sem ser acoplado ao consumidor dessas mensagens. Também é possível suportar vários emissores e receptores.
  • Aumento no desempenho, permitindo que o emissor da mensagem execute processamento em vez de ser bloqueado em uma chamada síncrona (tal como ocorre em uma chamada de um bean de Entidade ou de Sessão).
  • Aumento na confiabilidade, permitindo que o emissor da mensagem continue a funcionar mesmo que os consumidores de mensagens estejam off-line.
  • Outras vantagens podem ser oferecidas pelo MOM (Message-oriented Middleware) atrás da interface do sistema de mensagens - como a entrega garantida de mensagens.
  • Existe um elemento de design (como um sistema legado) que utiliza o sistema de mensagens para comunicação.

Modelando Beans Orientados a MensagensPara o início da página

Consulte Diretrizes: Identificando EJBs (Enterprise JavaBeans) para obter orientação geral sobre a modelagem de EJBs. Observe, entretanto, que os beans orientados a mensagens são geralmente modelados como parte da Visualização do Processo. Para obter orientação específica sobre a modelagem de beans orientados a mensagens na Visualização do Processo, consulte Diretrizes: Descrevendo a Arquitetura de Tempo de Execução para Aplicativos J2EE.

Retornando Resultados aos Emissores de Mensagens Para o início da página

Os beans orientados a mensagens não podem enviar respostas diretamente para o emissor de mensagens.

Uma estratégia comum para enviar uma resposta é introduzir outro destino ou nó de extremidade para as respostas. Consulte [ROM02] para obter detalhes adicionais sobre essa estratégia.



Rational Unified Process   2003.06.15