Normalerweise werden bei der Umsetzung Assoziationen auf dieselbe Weise umgesetzt wie bei der Umsetzung von UML in Java: die Endpunktattribute werden in Java-Eigenschaften umgesetzt.
Wenn ein Endpunkt der Assoziation eine Klasse mit dem Stereotyp <<Entity>>, <<Service>> oder <<MessageProcessor>> ist, wird dieser Endpunkt bei der Umsetzung nicht umgesetzt. Stattdessen wird bei der Umsetzung eine Nachricht in die Protokolldatei des Metadatenverzeichnisses geschrieben, die angibt, dass die Endpunkteigenschaft nicht umgesetzt wurde. Eine Ausnahme dazu gibt es für den Fall, dass die Assoziation zwischen zwei Klassen mit <<Entity>>-Stereotypen besteht und dass beide Klassen als CMP 2.x-Beans erstellt werden. In einem solchen Fall wird die UML-Assoziation bei der Umsetzung in eine EJB 2.0-Beziehung umgesetzt, die auch als containergesteuerte Beziehung (Container-managed Relationship, CMR) bezeichnet wird. In der folgenden Tabelle werden die Zuordnungen zwischen Assoziationseigenschaften und EJB-Beziehungseigenschaften dargestellt:
Assoziationseigenschaft |
EJB-Beziehungseigenschaft |
End1 |
BeanA |
End2 |
BeanB |
End1-Name |
BeanB-CMR-Name |
End2-Name |
BeanA-CMR-Name |
Navigierbarkeit End1 |
Navigierbarkeit BeanB |
Navigierbarkeit End2 |
Navigierbarkeit BeanA |
|
|
|
|
Die folgende Abbildung zeigt zwei UML-Klassen mit <<Entity>>-Stereotypen. Die Assoziation zwischen den Klassen wird in einer CMR generiert, wenn bei der Umsetzung beide Entity-Klassen als CMP 2.x-Entity-Beans generiert werden.
Nach der Umsetzung enthält der Implementierungsdeskriptor einen Eintrag, der die CMR zwischen AEntity und BEntity beschreibt. Wie die folgende Abbildung zeigt, kann der Implementierungsdeskriptor des Projekts die Assoziation zwischen den beiden CMP 2.x-Entity-Beans anzeigen:
Rechtliche Hinweise
| Feedback
(C) Copyright IBM Corporation 2004. Alle Rechte vorbehalten.