Rubriques

IntroductionHaut de la page

Ces conseils sont axés sur l'identification des beans pilotés par message. Pour plus d'informations sur les beans pilotés par message, voir Principes et conseils : Beans pilotés par message. Des conseils généraux sur les EJB sont fournis dans Principes et conseils : Enterprise JavaBeans.

Voici quelques caractéristiques des beans pilotés par message :

  • Ils sont sans état.
  • Ils ne renvoient aucune valeur ni exception aux clients.
  • Ils n'ont pas d'interface, car les clients n'accèdent pas aux beans pilotés par message directement mais indirectement en envoyant des messages à la destination (ou extrémité) prise en charge par le bean. Il existe une méthode de récepteur ("surMessage()" dans le cas des beans JMS pilotés par message) qui traite généralement tous les messages. Cela signifie qu'il faut effectuer une vérification de type lors de la durée d'exécution, en utilisant l'opération "instanceDe()" pour déterminer le type de message reçu.

Les messages peuvent être envoyés au conteneur de n'importe quel endroit, y compris d'autres EJB, composants Web, et clients d'application. Le conteneur appelle les EJB pilotés par message, selon les besoins, pour traiter les événements message entrant. Les EJB pilotés par message peuvent accéder à une autre session ou à des EJB d'entité, ou directement au niveau du système de pilotage d'entreprise pour traiter les messages.

Identifier les beans pilotés par messageHaut de la page

Les beans pilotés par message permettent de traiter les messages de manière non-synchrone. Les beans d'entité et de session ne peuvent être appelés que de manière synchrone. Les beans pilotés par message sont identifiés lors de la définition de la simultanéité pour le système global. Voir Principes et conseils : Simultanéité pour des conseils généraux sur la simultanéité, comme les schémas de conception pour découpler les modes appelant et appelé. Les beans pilotés par message sont généralement identifiés comme faisant partie de l'Activité : Décrire l'architecture d'exécution comme une manière de fournir une simultanéité dans le conteneur EJB. Ainsi, ils ne sont généralement pas identifiés à partir de classes d'analyse, mais plutôt pour résoudre des problèmes relatifs à la conception, comme des préoccupations de performance et de couplage.

On introduit des beans pilotés par message notamment pour les raisons suivantes :

  • Séparer les préoccupations entre différents domaines du logiciel - peut envoyer un message à une file d'attente sans être couplé au consommateur de ces messages. Peut également prendre en charge des expéditeurs et destinataires multiples.
  • Améliorer la performance en autorisant l'expéditeur du message à effectuer le traitement plutôt que d'être bloqué sur un appel synchrone (comme cela arrive lors de l'appel d'un bean d'entité ou de session).
  • Améliorer la fiabilité en autorisant l'expéditeur du message à continuer de fonctionner même si les consommateurs du message sont hors ligne.
  • D'autres avantages peuvent être offerts par le middleware orienté message (MOM) derrière l'interface demessagerie - comme la livraison garantie des messages.
  • Un élément de conception existant (comme un système patrimonial) utilise la messagerie pour communiquer.

Modéliser les beans pilotés par messageHaut de la page

Voir Principes et conseils : Identifier les Enterprise JavaBeans (EJB) pour des conseils généraux sur la modélisation des EJB. Notez, cependant, que les beans pilotés par message sont généralement modélisés comme une partie de la vue de processus. Pour des conseils spécifiques sur la modélisation des beans pilotés par message dans le vue de processus, voir Principes et conseils : Décrire l'architecture d'exécution pour les applications J2EE.

Renvoyer les résultats aux expéditeurs du messageHaut de la page

Les beans pilotés par message ne peuvent pas envoyer directement de réponses à l'expéditeur du message.

Une stratégie répandue pour l'envoi des messages est d'ajouter une autre destination ou une autre extrémité pour les réponses. Voir [ROM02] pour plus de détails sur cette stratégie.



RUP (Rational Unified Process)   2003.06.15