Objectif
Ce guide d'utilisation permet également de concevoir des composants J2EE dans l'infrastructure J2EE préfabriquée,
représentés dans Rose sous la forme de classes et de collaborations de classes.
En règle générale, une application J2EE utilise les services d'une base de données relationnelle. Vous concevez un
modèle de données pour la base de données, en le représentant dans Rose à l'aide de Rose Data Modeler.
Pour modéliser une application J2EE dans Rose, effectuez les étapes suivantes :
Pour plus d'informations sur J2EE, reportez-vous à Concept : Présentation de Java 2 Platform Enterprise Edition (J2EE).
Pour accéder à la présentation du développement à base de composants via l'utilisation de la plateforme J2EE,
reportez-vous à Concept : Développement de solutions à base de composants .
Voir également :
Configurez Rational Rose conformément aux descriptions de Guide d'utilisation de l'outil : Configuration de Rational Rose pour un
projet.
Vous devez en outre activer l'extension Java de Rose et configurer les options propres aux différents projets.
Pour obtenir des informations détaillées sur la configuration de Rose Java, reportez-vous à la rubrique d'aide en ligne
de Rational Rose Rose Java > Comment > Définir les propriétés du projet.
Le guide d'utilisation de l'outil : Gestion du modèle de conception à l'aide
de Rational Rose décrit la création de packages et de couches dans le produit
: Modèle de conception, en commençant par le canevas de modèle RUP livré avec Rose. Ce canevas fournit un
squelette du modèle de conception, y compris les marques de réservation des différents types de package, les
sous-systèmes et les diagrammes qu'il convient de créer au cours des activités de conception (Tâche : Conception d'un cas d'utilisation, Tâche : Conception d'une classe et Tâche : Conception en temps réel d'un sous-système).
Voir également :
Notez que la structure du package figurant dans Produit
: Modèle de conception ne doit pas nécessairement correspondre à la structure de package figurant dans le Produit : Modèle d'implémentation. Lorsque vous effectuez la
rétro-conception des classes Java, la structure de package du modèle d'implémentation détermine la structure de package
des classes Java créées.
Pour plus d'informations sur les packages, reportez-vous à la rubrique d'aide en ligne de Rational
Rose Package.
Vous devez ajouter les packages de langue Java pour Java et J2EE, afin de fournir les services de la plateforme J2EE
(appelée couche système). Ces packages sont utilisés lorsque vous créez vos propres classes dans le modèle ; par
exemple, si votre classe définit une opération qui renvoie le type Java String (Chaîne), le package de langue Java
java.lang contenant la classe String doit figurer dans votre modèle.
Pour obtenir des informations détaillées, reportez-vous aux rubriques suivantes de l'aide en ligne de Rational
Rose :
Le package de schéma contient la conception des tables de base de données de l'application. Pour plus
d'informations, reportez-vous à Guide d'utilisation de l'outil : Conception et modélisation de bases de
données à l'aide de Rational Rose Data Modeler.
Cette section ne traite ni du processus de modélisation des EJB (reportez-vous à Modélisation
d'EJB), ni des classes de présentation, telles que les pages HTML et JSP (reportez-vous à Modélisation de la couche de présentation).
Elle décrit la modélisation des autres JavaBeans et classes Java (telles que les classes d'utilitaires) pour les
applications Java. Pour plus d'informations, reportez-vous à :
Pour plus d'informations sur les EJB, reportez-vous à Instructions : Enterprise JavaBean (EJB).
Le récapitulatif des étapes à exécuter pour modéliser un EJB dans Rose figure ci-après :
En règle générale, les EJB sont regroupés en sous-systèmes de conception.
Les sous-systèmes de conception sont utilisés pour encapsuler le comportement dans un "package", qui fournit des
interfaces explicites et formelles et qui (par convention) n'expose aucun de ses contenus internes.
Pour plus d'informations sur le mode de création de sous-systèmes de conception, reportez-vous à Guide d'utilisation de l'outil : Gestion de sous-systèmes à l'aide de
Rational Rose.
Avant de pouvoir créer l'EJB dans Rose, vous devez déterminer le type d'EJB (bean entity, bean session ou bean géré par
message). Pour les beans entity, vous devez choisir entre la persistance gérée par conteneur et la persistance gérée
par bean. Pour les beans session, vous devez déterminer si le bean doit être avec état ou sans état.
Reportez-vous à Instructions : Enterprise JavaBean (EJB).
Rose Java contient un ensemble de boîtes de dialogue permettant de créer de mettre à jour des classes EJB dans Rose.
Pour plus d'informations, reportez-vous à la rubrique d'aide en ligne Rational Rose Rose Java
> Comment > Utiliser les EJB et les servlets.
Rose Java peut être utilisé pour :
-
créer un EJB de toutes pièces ;
-
convertir une classe existante du modèle en EJB (Rose Java convertit la classe existante en interface EJB
distante et créé les nouvelles classes pour l'interface et pour la classe de bean) ;
-
ajouter des méthodes de recherche à l'EJB ;
-
mettre à jour l'interface à l'aide des méthodes de recherche ou de cycle de vie définies dans la classe
d'implémentation de bean ;
-
mettre à jour les propriétés des classes d'EJB (telles que le nom de l'interface home), de persistance (s'il
s'agit d'une persistance gérée par bean ou par conteneur) et des descripteurs de déploiement (telles que les
zones gérées par conteneur ou les entrées d'environnement).
Un bean entity ou session créé avec Rose Java comporte les éléments suivants :
-
Classe d'interface
-
Classe d'interface distante
-
Classe de bean
-
Propriétés définissant le descripteur de déploiement EJB générique ejb-jar.xml, stocké sous forme de propriétés
de classe de bean EJB
-
Opérations et attributs requis par la spécification EJB (méthodes de rappel, par exemple) créés au niveau de
l'interface, de l'interface distante et de la classe de bean
Ces classes créées par l'utilitaire EJB Rose Java sont modélisées conformément au mappage défini dans la norme Sun sur
le mappage (JSR-000026 UML/EJB Mapping Specification). Pour plus d'informations, reportez-vous à
la rubrique d'aide en ligne de Rational Rose Rose Java > Concepts > A propos du support pour Java 2 Platform
Enterprise Edition (J2EE).
Pour plus d'informations sur les spécifications EJB 1.1 ou 2.0, visitez le site http://java.sun.com/, puis cliquez sur les liens Docs & Training > Java 2 Platform,
Enterprise Edition > Enterprise JavaBeans Specification.
Après avoir créé les classes EJB, vous pouvez ajouter des opérations (des méthodes métier, par exemple) et les
attributs de votre choix.
Rose Java contient un ensemble de boîtes de dialogue permettant de créer de mettre à jour des classes EJB dans Rose.
Reportez-vous à la rubrique d'aide en ligne de Rational Rose Rose Java > Comment >
Utiliser les EJB et les servlets > Ajout de méthode à une classe de bean.
Pour plus d'informations sur la définition d'opérations et d'attributs, reportez-vous à :
Créez des diagrammes de classes au cours de la tâche : Conception
d'une classe, avec lesquels vous modélisez les relations (des associations, des dépendances et des relations
d'héritage, par exemple) entre ces classes.
Le modèle RUP fourni avec Rose constitue un point de départ pour l'élaboration des diagrammes de classes.
Pour plus d'informations sur la modélisation de relations entre des classes, reportez-vous à Tâche : Conception d'une classe.
Au cours de la tâche : Conception d'un cas d'utilisation, vous créez des messages
relatifs aux diagrammes de séquence, qui vous permettent ensuite de décrire les interactions entre des objets de
conception. Créez un ensemble de diagrammes de séquence décrivant les principaux flux d'événement de chaque réalisation
de cas d'utilisation de votre modèle de conception.
En tant que concepteur EJB, vous utilisez un diagramme de séquence pour :
-
déterminer les opérations et les arguments d'opérations des classes impliquées dans l'interaction ;
-
documenter les opérations qui seront appelées par une classe au cours de l'itération ;
-
documenter les actions d'un objet à la réception d'un message, en attachant un script au message par exemple.
Pour plus d'informations, reportez-vous à la rubrique d'aide Rational Rose > Comment
> Créer et travailler dans un modèle > Utilisation de scripts dans des diagrammes de séquence.
Voir également :
Une entité EJB représente une vue orientée objets des données persistantes des applications. Modéliser une classe
EJB comme une entité et l'indiquer comme étant persistante indique que le Rôle :
Concepteur de base de données devra mapper l'objet EJB au modèle de
données au cours de la tâche : Conception d'une base de données.
Le rôle Concepteur de base de données crée le modèle de données de
l'application au cours de la tâche :
Conception d'une base de données.
Rose contient un support de conception de base de données à l'aide de l'outil de modélisation des données Rational
Rose, qui permet de convertir les classes persistantes de votre modèle d'objet en modèle de données, et inversement.
Le mappage de classes contenues dans modèle d'objet à des tables du modèle de données est documenté dans la zone
Mappé à partir de de la spécification Rose sur les tables du modèle de données.
Reportez-vous également à Produit :
Modèle de données et Instructions :
Modèle de données.
Pour plus d'informations sur Rose Data Modeler, reportez-vous à Guide d'utilisation de l'outil : Conception et modélisation de bases de
données à l'aide de Rational Rose Data Modeler.
Considérations liées à la modélisation pour les EJB session
Les beans session peuvent lire ou écrire des données persistantes. Reportez-vous à Instructions : Conceptions d'Enterprise JavaBeans (EJB)- Accès direct ou EJB entity
?
Dans ce cas, vous devez utiliser des classes DAO pour isoler les informations de connexion et d'accès à la base de
données des EJB à l'aide de l'interface javax.sql.
Considérations liées à la modélisation pour les EJB entity
Les beans entity peuvent lire et écrire les tables de base de données à l'aide de l'API JDBC. Utilisez des classes DAO
pour isoler les informations de connexion et d'accès à la base de données des EJB à l'aide de l'interface
javax.sql.
Considérations liées à la modélisation pour les EJB entity gérés par conteneur
Il est inutile de concevoir des classes DAP pour les EJB entity gérés par conteneurs, car leur persistance est gérée
par le conteneur d'EJB.
Les transactions définissent un ensemble d'appels d'opérations atomiques : soit elles sont toutes effectuées,
soit aucune d'entre elles n'est effectuée. Dans le contexte de la persistance, une transaction définit un ensemble de
changements effectué sur un ensemble d'objets qui sont soit tous exécutés soit aucun d'entre eux. Les transactions
offrent une certaine cohérence, ce qui garantit que des ensembles d'objets passent d'un état cohérent à un autre.
Pour accéder à une présentation de la gestion des transactions, reportez-vous à Concept: Présentation de Java 2 Platform Enterprise Edition (J2EE) - Gestion des
transactions.
Modélisez les transactions EJB comme décrit dans Tâche :
Conception d'un cas d'utilisation - Modélisation des transactions. En vous basant sur le modèle de
conception, vous décidez lors de l'implémentation de démarquer les transactions en les déclarant dans le descripteur de
déploiement (à savoir en définissant l'attribut de transaction d'une méthode EJB sur l'un des suivants : Required,
RequiresNew, NotSupported, Supports, Mandatory ou Never) ou en procédant à une programmation à l'aide de l'API de
Transaction Java.
Déterminez si la sécurité de l'application peut être gérée de façon déclarative à l'aide des rôles et des autorisations
de sécurité figurant dans le descripteur de déploiement EJB, ou si elle doit être programmée à l'aide des API de
sécurité J2EE.
Utilisez les diagrammes de séquence pour examiner les différents scénarios de sécurité. Si besoin est, notez sur les
diagrammes de séquence les conditions de sécurité.
Pour accéder à une présentation de la sécurité, reportez-vous à Concept : Présentation de Java 2 Platform Enterprise Edition (J2EE) - Gestion de la
sécurité.
Vous générez des classes Java d'EJB en appliquant une rétro-conception à l'aide de Rose Java, comme décrit dans Guide d'utilisation de l'outil : Génération d'éléments partir d'un modèle
à l'aide de Rational Rose. Le descripteur de déploiement EJB ejb-jar.xml sera généré automatiquement suite à la
rétro-conception de la classe de bean d'EJB.
Vous pouvez appliquer une génération de code à un EJB existant avec Rose Java, conformément à la description figurant
dans Guide d'utilisation de l'outil : Génération de code avec Rational
Rose. Vous devez appliquer une génération de code à un fichier .jar contenant les classes EJB et le descripteur de
déploiement, afin que Rose Java puisse déterminer les relations entre les classes (par exemple la classe représentant
l'interface) auxquelles une génération de code est appliquée.
Modélisez la couche d'interface utilisateur d'une application J2EE comme pour toute application Web. En règle générale,
les classes d'analyse affectées du stéréotype <<boundary>> sont candidates aux classes et collaborations de
classes dans la couche d'interface utilisateur. Les classes de frontière peuvent par exemple être implémentées en tant
que pages JSP, servlets, pages HTML ou clients Java autonomes, en fonction de la conception correspondante.
Pour plus d'informations, reportez-vous à :
Activités connexes :
Voir également :
Génération de code et rétro-conception des classes de présentation
Vous pouvez appliquer une génération de code et une rétro-conception aux classes de présentation. Rose Java prend en
charge :
-
la génération de code pour les applications Web (.war). Pour plus d'informations, reportez-vous
à la rubrique d'aide en ligne de Rational Rose Rose Java > Comment > Recourir à l'ingénierie retour à
partir de Source Java vers Rose .
-
la création d'une classe de servlet avec les méthodes appropriées. Pour plus d'informations,
reportez-vous à la rubrique d'aide en ligne de Rational Rose Rose Java > Comment > Utiliser les EJB et
les servlets.
|