Principes et conseils:
|
Session | Orienté messages | Entité | |
---|---|---|---|
Rôle |
Mise en place du client - logique applicative spécifique |
Mise en place du traitement des messages - logique applicative spécifique |
Mise en place d'une entité métier - logique applicative spécifique |
Méthode d'Accès |
Un seul client par des interfaces locales ou distantes |
Conteneur par l'interface JMS MessageListener; pas d'accès direct pour les clients. |
Plusieurs clients à la fois par des interfaces locales ou distantes |
Etat |
L'état conversationnel transitoire entre le client et le conteneur peut être maintenu. |
Sans état, mais peut maintenir les descripteurs aux ressources en instance |
Etat persistant enregistré à la base de données. |
Les EJB sont modélisés comme un ensemble de classes stéréotypées. En particulier, la classe Bean et toutes les classes d'interface EJB. Les interfaces EJB sont modélisées comme des classes stéréotypées mais pas les interfaces UML pour les raisons évoquées dans Principes et conseils: les interfaces pour les applications J2EE. .
Les relations entre la classe bean et les interfaces EJB sont modélisées comme des dépendances, de la classe bean jusqu'aux interfaces, et non pas comme des relations "realizes" . Généralement, l'outil d'implémentation Java est représenté comme une réalisation entre une interface et une classe. Cependant, les classes EJB n'implémentent pas leurs classes d'interface; une dépendance est donc plus appropriée. Le diagramme suivant présente un exemple. Pour en savoir plus sur cet exemple précis, consultezPrincipes et conseils: Conception des sous-systèmes pour les applications J2EE.s.
Exemple de classes EJB et de classes utilitaires.
Des stéréotypes UML applicables à la modélisation des EJB sont présentés ci-dessous.
Stéréotype | S'applique à | Définition |
---|---|---|
<<Interface d'accueil d'un EJB de session >> |
Classe | Indique respectivement une interface d'accueil d'un bean de session ou entité. |
<<Interface EJB distante>> | Classe | Indique une interface EJB distante. |
<<Interface EJB locale>> | Classe | Indique une interface EJB locale. |
<< EJB de session>> | Classe | Indique une classe EJB de session. |
<<EJB Entité>> | Classe | Indique une classe EJB Entité. |
<<EJB orienté messages>> | Classe | Indique que la classe est un bean orienté messages. |
Un EJB est généralement groupé dans un sous-système avec les classes et les EJB très proches. Cela permet au concepteur de donner une vue desspécifications des EJB indépendants de leur implémentation et de les regrouper avec d'autres éléments graphiques pour fournir un niveau d'abstraction plus élevé. Pour plus de détails, voir Principes et conseils: Conception de sous-systèmes pour les application J2EE.
Voir également la spécification de mappage UML/EJB(RSC01) pour une liste complète des stéréotypes pour représenter les outils EJB.
Modélisez les dépendances aux sujets et aux files d'attente auxquels s'abonnent les beans orientés messages. Pour plus de détails sur la modélisation des éléments concurrents dans une application J2EE, voir Principes et conseils: Description de l'architecture Run-Time pour les applications J2EE.
L'utilisation des mécanismes, tels que la persistance gérée par conteneur, les transactions, l'autorisation, etc., peut être modélisée comme des caractéristiques supplémentaires de la classe bean, ou simplement inclue dans une description textuelle associée à la classe bean.
Utilisez les diagrammes de séquence pour étudier des scénarios employant ces mécanismes.
Les diagrammes d'interactions (diagrammes de collaboration et de séquence) peuvent servir à montrer le comportement dynamique des EJB et l'interaction des non-EJB (y compris les composants Web et les applications client externes) avec les EJB.
Ces diagrammes d'interactions sont pour l'essentiel identiques à ceux que nous avons décrits dans Activité: Conception d'un cas d'utilisation. Les interactions peuvent apparaître avec le bean comme une boîte noire, en interagissant seulement avec les interfaces EJB. Les interactions pourraient également afficher l'implémentation du bean en montrant les interactions entre les interfaces EJB et la classe d'implémentation du bean. Remarque: l'interaction qui suit avec le conteneur n'est généralement pas affichée.
Les beans orientés messages consomment les messages qui arrivent de manière asynchrone d'autres sources. Vous pourriez choisir d'afficher un message asynchrone allant directement du producteur au consommateur, ou de modéliser plus précisément la relation en modélisant les sujets et les files d'attente.
La figure 2 présente un exemple de diagramme de séquence qui montre une interaction entre une classe client et des interfaces EJB.
Figure 2: Interaction d'une classe client avec des interfaces EJB.
LA figure 3 présente un diagramme de séquence similaire à celui de la figure 2, mais montre les interactions avec l'implémentation du bean.
Figure 3: Exemple d'une interaction avec une implémentation EJB.
L'EJB, en tant que regroupement d'une classe d'implémentation du bean et des interfaces EJB , peut également être modélisé comme un sous-système ou un composant.
Certains concepteurs peuvent choisir de modéliser un EJB comme une classe, et stéréotyper les opérations pour indiquer si elles appartiennent aux interfaces "locales", "distantes", ou "d'accueil". La notation est ainsi plus concise que les autres alternatives.
RUP (Rational Unified Process)
|