Examen

publicité
Examen
Module LOG O1
12 décembre 2005
-- 2 heures -Tout document autorisé
Nous allons dans cet examen construire les premières briques d’un métamodèle et profil pour les
EJB.
1) Approche simple du métamodèle Enterprise Java Bean :
esquisse d’un métamodèle
L’implémentation d’un composant EJB correspond à une collaboration complexe entre plusieurs
classes et interfaces de Java. Nous la simplifions ici ;
A tout « EnterpriseBean » est associé une classe Java d’implémentation, une interface Java
« home » et une interface Java « remote ». Il existe deux sortes d’« EnterpriseBean », Session et
Entity.
Question 1 :
Dessiner un diagramme UML permettant de représenter ce métamodèle.
Vous pourrez utiliser les éléments donnés par le diagramme UML de la Figure 1.
1/6
Figure 1 : le métamodèle java [2]
Question 2 : Proposer une représentation OCL de l’information complémentaire suivante :
L’implémentation d’un composant “EnterpriseBean” doit contenir les méthodes spécifiées par
l’interface “remote”.
2) Stéréotypes
Dans le document défini par Rational Corporation [1], on trouve l’exemple de la Figure 2.
Question 3 :
Quels sont les stéréotypes utilisés dans cet exemple ?
2/6
Question 4 :
En vous appuyant sur les diagrammes UML de la Figure 1 et éventuellement certains éléments
vus en TD, précisez à quelle classe de base, vous associeriez chaque stéréotype.
Question 5 :
Après avoir ajouté les informations éventuellement manquantes dans les diagrammes UML,
a) Exprimez en OCL les contraintes suivantes associées à « EJBRemoteMethod »
1) The Operation must have a visibility property value of public
2) The name must not start with “ejb”…
b) Exprimez en OCL les contraintes suivantes associées à « EJBCreateMethod » :
1) The name of the Operation must be "create".
2) The type of the return Parameter must be the model element that represents the EJB
Remote Interface.
Figure 2 : Exemple d'utilisation du profil EJB défini par [1]
3/6
Question 6 :
La Figure 3, extraite de 4, décrit les éléments permettant de définir des composants.
Proposez pour certains éléments que vous avez définis à la question précédente de nouvelles
classes de base à partir de ces nouvelles données.
Figure 3 : The metaclasses that define the basic Component construct
3) Conformité de modèle vis-à-vis d’un métamodèle
Figure 4 :métamodèle de "assembly" pour EJB
Question 7 :
Soit le descripteur d’assemblage EJB décrit ci-après.
Ce descripteur est-il conforme au métamodèle présenté dans la Figure 4? Sinon, expliquez.
4/6
<assemblydescriptor>
<containertransaction>
<method>
<ejbname>Fournisseur</ejbname>
<methodname>*</methodname>
</method>
<transattribute> Required</transattribute>
</containertransaction>
<containertransaction>
<method>
<ejbname> Fournisseur </ejbname>
<methodname>*</methodname>
</method>
<transattribute> Supports</transattribute>
</containertransaction>
<securityrole>
<description>Personnel administratif de gestion</description>
<rolename>
Administrative
</rolename>
</securityrole>
<methodpermission>
<rolename> administratif</rolename>
<method>
<ejbname>Fournisseur</ejbname>
<methodname>*</methodname>
</method>
</methodpermission>
</ assemblydescriptor>
Question 8 :
Expliquez en moins de 10 lignes ce que signifie « MDA ».
Figure 5 : Diagramme de Classes extrait de l'infrastructure [3]
5/6
Bibliographie
[1] Rational Software Corporation. Jsr-000026 UML/EJB™ mapping specification.
http://www.jcp.org/aboutJava/communityprocess/review/jsr026/, May 2001.
[2] OMG. Metamodel and UML profille for Java and EJB specification.
http://www.omg.org/cgi-bin/doc?formal/2004-02-02, February 2004. Version 1.0,
formal/04-02-02.
[3] OMG. ptc/04-10-14 (UML 2.0 infrastructure convenience document).
http://www.omg.org/cgi-bin/apps/doc?ptc/04-10-14.pdf, October 2004.
[4] OMG. UML 2.0 superstructure. http://www.omg.org/cgibin/doc ?ptc/2004-10-02, October
2004.
6/6
Téléchargement