Übung 1.3: Entity-Beans zu den Klassendiagrammen hinzufügen

Bevor Sie beginnen, müssen Sie Übung 1.2: Den Arbeitsbereich vorbereiten abgeschlossen haben.

Übung 1.3 führt Sie durch die Erstellung von Entity-Beans aus einem UML-Klassendiagramm. In diesem Modul werden Sie die folgenden Übungen durchführen:

Beschreibung der Beans

In diesem Szenario werden zwei Entity-Beans erstellt: Author und Book. Das Bean 'Author' stellt eine Datenbanktabelle dar, die ebenfalls 'AUTHOR' genannt ist. Das Bean enthält Felder, die den Verfasser darstellen: ID, Name, Alter und Geschlecht. Diese Felder im Bean werden direkt den Spalten in der Tabelle 'AUTHOR' zugeordnet.

Das Bean 'Book' stellt ein Buch dar. Zu den Feldern gehören u.a. ID und Titel. Die zum Bean 'Book' gehörenden Daten werden in der Tabelle 'BOOK' gespeichert.

Erstellung des Beans 'Author'

Gehen Sie wie folgt vor, um die Author-Bean zu erstellen:

  1. Platzieren Sie den EJB-Drawer der Palette auf der rechten Seite des UML-Klassendiagramms.
  2. Klicken Sie auf den EJB-Drawer, um ihn zu öffnen, falls er noch nicht geöffnet ist. In der Mitte der Liste erscheint CMP 2.x Entity-Bean.
  3. Klicken Sie auf den Pfeil (Symbol 'Pulldown-Menü') rechts von CMP 2.x Entity-Bean, um weitere Auswahloptionen anzuzeigen. Die andere aufgeführte Auswahlmöglichkeit ist CMP 1.x Entity-Bean.
  4. Wählen Sie CMP 2.x Entity-Bean aus.
  5. Bewegen Sie den Cursor auf das Klassendiagramm und klicken Sie an der Stelle, an der das Bean platziert werden soll. Hierdurch wird im Klassendiagramm ein neues CMP 2.x Entity-Bean erstellt und dargestellt.

Da EJB-Beans komplex sind, startet diese Aktion den Assistenten 'Enterprise-Bean erstellen', in dem Sie das Bean definieren können.

Die Seite 'Ein Enterprise-Bean erstellen'

Auf der ersten Seite des Assistenten gehen Sie wie folgt vor:

  1. Stellen Sie sicher, dass es sich bei dem EJB-Projekt um UML EJB tutorial handelt.
  2. Geben Sie als Beannamen, Author ein.
  3. Stellen Sie sicher, dass es sich bei dem Quellenordner um ejbModule handelt.
  4. Ändern Sie den Namen Standardpaket in Beispiel.
  5. Stellen Sie sicher, dass es sich bei der CMP Version um die Version 2.x handelt.
  6. Klicken Sie auf Weiter.

Seite 'Grundsätzliche Eigenschaften' des Assistenten 'Neues EJB'

Die Seite 'Enterprise-Bean-Details'

Auf der zweiten Seite des Assistenten gehen Sie wie folgt vor:

  1. Lassen Sie den Bean-Supertyp leer.
  2. Stellen Sie sicher, dass es sich bei der Beanklasse um sample.AuthorBean handelt.
  3. Lassen Sie das Markierungsfeld Sicht Ferner Client unmarkiert.
  4. Wählen Sie das Markierungsfeld Sicht Lokaler Client aus.
  5. Stellen Sie sicher, dass es sich bei dem Namen für Lokale Home-Schnittstelle um sample.AuthorLocalHome handelt.
  6. Stellen Sie sicher, dass es sich bei dem Namen für Lokale Schnittstelle umsample.AuthorLocal handelt.
  7. Stellen Sie sicher, dass es sich bei der Schlüsselklasse um java.lang.Integer handelt.
  8. Wählen Sie das Markierungsfeld Einzelnen Schlüsselattributstyp als Schlüsselklasse verwenden aus.
  9. Stellen Sie sicher, dass sich die Schlüssel id auf der Liste der CMP-Attribute befindet.
  10. Fügen Sie zwei CMP-Attribute hinzu:
    1. Klicken Sie auf Hinzufügen.
    2. Erstellen Sie ein Attribut namens Name mit dem Typ java.lang.String. Lassen Sie die Markierungsfelder Bereich und Schlüsselfeld unmarkiert und die das Markierungsfeld Getter- und Setter-Methoden auf lokale Schnittstelle hochstufen markiert. Wenn Sie die Getter- und Setter-Methoden auf die lokale Schnittstelle hochstufen, werden sie Clientanwendungen zur Verfügung gestellt.
    3. Klicken Sie auf Anwenden.
    4. Erstellen Sie ein Attribut namens Alter mit dem Typ java.lang.Integer. Lassen Sie die Markierungsfelder Bereich und Schlüsselfeld unmarkiert und die das Markierungsfeld Getter- und Setter-Methoden auf lokale Schnittstelle hochstufen markiert.
    5. Klicken Sie auf Anwenden und dann auf Schließen.
    6. Klicken Sie auf Fertig stellen.

Die Seite 'Enterprise-Bean-Details' im Assistenten 'Neues EJB'

Ihre erste Entity-Bean ist damit erstellt und wird im Klassendiagramm dargestellt. Die folgenden Dateien werden in der Sicht 'Projektexplorer' angezeigt:

Öffnen Sie den EJB-Implementierungsdeskriptor und beachten Sie, dass auf der Übersichtsseite unter 'Enterprise JavaBeans' die Bean 'Author' aufgeführt wird. Klicken Sie auf den Eintrag der Bean 'Author'. Die Bean-Seite des Editors für den Implementierungsdeskriptor wird geöffnet und zeigt die drei CMP-Felder und die vier Klassen- und Schnittstellendateien an, einschließlich der Klasse, die durch den Primärschlüssel verwendet wird, java.lang.Integer.

Auf der Bean-Seite, unter 'WebSphere Bindings' wird der JNDI-Name ejb/sample/AuthorLocalHome angezeigt. Dieser JNDI-Name wird verwendet, wenn die Clientanwendung nach dem Bean sucht.

In der Sicht 'Projektexplorer', unter dem EJB-Projekt, enthält das Verzeichnis ejbModule > META-INF die neue Datei ibm-ejb-jar-bnd.xmi. Diese Datei enthält IBM-spezifische Binding-Informationen. Auf die hierin enthaltenen Informationen kann über den Implementierungsdeskriptoreditor zugegriffen werden, die Werte werden allerdings als gesonderte Datei gespeichert, damit Sie die IBM-spezifischen Erweiterungen leicht entfernen können, wenn sie Ihre Anwendung auf dem EJB-Server eines anderen Anbieters implementieren möchten. Später im EJB-Entwicklungsprozess erscheint noch die Datei ibm-ejb-jar-ext.xmi. Sie enthält IBM-spezifische Erweiterungsinformationen.

Ebenfalls in der Sicht 'Projektexplorer' erweitern Sie das Verzeichnis des Implementierungsdeskriptors unter dem EJB-Projekt, erweitern Entity-Beans > Author und untersuchen die Links zu den verschiedenen Komponenten, die die Author-Bean beinhalten.

Erstellung des Beans 'Book'

Als nächstes wird die Bean 'Book' erstellt. Gehen Sie wie folgt vor:

  1. Fügen Sie ein weiteres CMP 2.x Entity-Bean zum Klassendiagramm hinzu.
  2. Befolgen Sie die gleichen Schritte wie für die Bean 'Author', mit den folgenden Unterschieden:
  3. Klicken Sie auf Fertig stellen.

Ihre zweite Entity-Bean ist erstellt und wird im Klassendiagramm dargestellt und die folgenden Zeilen werden in der Sicht 'Projektexplorer' angezeigt:

Auf der Übersichtsseite des EJB-Implementierungsdeskriptors befindet sich 'Book' nun in der Liste der 'Enterprise JavaBeans'. Die Details der Bean 'Book' ähneln denen von 'Author'. In der Sicht 'Projektexplorer' erweitern Sie das Verzeichnis des Implementierungsdeskriptors unter dem EJB-Projekt. Erweitern Sie Entity-Beans > Book und untersuchen Sie die Links zu den Komponenten der Bean.

Beziehungen zwischen Beans definieren

Als Nächstes werden Sie eine CMP-Beziehung zwischen den beiden CMP-Beans in dem Klassendiagramm definieren. Ein einzelner Author kann null oder mehr Books zugeordnet werden. Und ein einzelnes Book kann einem oder mehreren Authors zugeordnet werden. Diese Beziehung würde als eine bidirektionale Viele-zu-viele-Beziehung unter Verwendung der Anmerkung 0..*:0..* ausgedrückt.

  1. Doppelklicken Sie auf die Titelleiste des Klassendiagramms, um es zu vergrößern.
  2. In der Sicht 'Palette' erweitern Sie den Drawer CMP-Beziehung, indem Sie auf den Pfeil klicken (Symbol Pull-down-Menü).
  3. Wählen Sie 0..*:0..* CMP-Beziehung aus.
  4. Bewegen Sie den Cursor auf die Author-Bean. Es wird ein Pfeilsymbol (Pfeilsymbol) angezeigt, wenn die Beziehung für die Bean gültig ist. Wenn die Beziehung nicht gültig ist, wird dasselbe Symbol und ein Ungültigkeitssymbol (Pfeilsymbol 'ungültig') angezeigt.
  5. Klicken Sie auf die Author-Bean.
  6. Ziehen Sie den Cursor auf die Book-Bean und lassen Sie ihn los. Wenn diese Ziel-Bean für die Beziehung ungültig ist, wird das Ungültigkeitssymbol (Pfeilsymbol 'ungültig') angezeigt.
  7. Die CMP-Beziehung wird als eine Zuordnung im Diagramm dargestellt, nach dem der zugrundeliegende Code generiert worden ist. Im Implementierungsdeskriptor erscheinen diese Beziehungen unter dem Titel 'Beziehungen' auf der Bean-Seite.
  8. Drücken Sie die Tasten Strg + S, um das Klassendiagramm zu speichern.

Beziehungsabschnitt des EJB-Implementierungsdeskriptors

Vielleicht möchten Sie im Klassendiagramm Elemente neu anordnen, um die Details zu sehen.

Klassendiagramm mit angezeigten Beziehungen

Zusätzliche Sichten untersuchen

Die Sichten 'Gliederung' und 'Eigenschaften' stellen nützliche Informationen über das gesamte Klassendiagramm und die Eigenschaften spezifischer EJB-Komponenten zur Verfügung.

Standardmäßig wird die Sicht 'Gliederung' unten links in der Workbench angezeigt. Verwenden Sie die Sicht, um in einem großen Diagramm zu navigieren

  1. Wenn das Klassendiagramm immer noch den gesamten Workbenchrahmen einnimmt, klicken Sie erneut doppelt auf die Titelleiste des Klassendiagramms, um es auf die normale Größe zurückzusetzen.
  2. Beachten Sie die Sicht 'Gliederung' in der linken unteren Ecke der Workbench. Das Diagramm wird dort stark verkleinert dargestellt. Wenn das Diagramm zu groß ist, um im Editierfenster vollständig angezeigt zu werden, sehen Sie in der Gliederungssicht ein markiertes Rechteck, das den sichtbaren Bereich des Diagramms anzeigt.
  3. In der Sicht 'Gliederung' bewegen Sie das hervorgehobene Rechtecks mit Ihrem Mauszeiger. Der Abschnitt des Klassendiagramms, der im Editorbereich sichtbar ist, wird so verschoben, dass er mit dem hervorgehobenen Abschnitt der Gliederungssicht übereinstimmt.

Gliederungssicht eines Klassendiagramms

Standardmäßig wird die Sicht 'Eigenschaften' unten rechts in der Workbench angezeigt. Sie verfügt über zwei Registerkarten, Darstellung und Erweitert. Auf der Seite 'Darstellung' können Sie Farben, Schriftarten und andere visuelle Eigenschaften ändern. Die Seite 'Erweitert' zeigt detaillierte Eigenschaften des hervorgehobenen Elements im Klassendiagramm an. Einige der Eigenschaftswerte in der Sicht 'Eigenschaften' sind schreibgeschützt, andere können geändert werden.

Eigenschaftssicht eines Klassendiagramms

Änderung von Attributen aus dem UML-Klassendiagramm

Als Nächstes werden Sie einige der CMP-Attribute für die Bean 'Author' ändern.

Ein CMP-Attribut zu einer Bean hinzufügen

  1. Bewegen Sie den Cursor auf die Author-Bean. Eine Aktionsleiste wird angezeigt.

  2. Aktionsleiste
  3. Klicken Sie auf das Primärschlüsselsymbol (Primäres Schlüsselfeldsymbol) in der Aktionsleiste, um der Bean 'Author' zusätzliche CMP-Attribute hinzuzufügen. Der Assistent 'CMP-Felder' wird daraufhin geöffnet.
  4. Fügen Sie ein Feld mit dem Namen Geschlecht und Typ java.lang.Character hinzu.
  5. Klicken Sie auf Anwenden > Schließen > Fertig stellen. Die Beanklassen werden aktualisiert und das Attribut Geschlecht erscheint im Bereich 'Attribut' der Bean im Klassendiagramm.

CMP-Attribute für die Bean 'Author'

Ein CMP-Attribut zu einem Teil des Schlüssels machen

  1. Markieren Sie das Attribut 'Name' in der Bean 'Author'.
  2. Klicken Sie mit der rechten Maustaste und wählen Sie Bearbeiten > Zu Schlüssel hinzufügen aus. Der Assistent 'Neue Schlüsselklasse' wird geöffnet. Eine neue Schlüsselkjlasse ist nun erforderlich, da der Schlüssel nicht länger ein einfacher Java-Typ ist. Vor diesem Schritt wurde 'java.lang.Integer' als Schlüsselklasse verwendet.
  3. Klicken Sie auf OK, um die vorausgewählten Optionen zur Erstellung der neuen Schlüsselklasse mit dem standardmäßigen Schlüsselklassenamen AuthorKey zu verwenden. Das Namensattribut wird nun in dem Klassendiagramm mit dem primären Schlüsselfeldsymbol angezeigt. Die neue Schlüsselklasse wird im Verzeichnis UML EJB tutorialClient > ejbModule > sample angezeigt.
  4. Drücken Sie die Tasten Strg + S, um das Klassendiagramm zu speichern.

Assistent Neue Schlüsselklasse

Objekte im UML-Klassendiagramm bearbeiten

Als nächstes werden die Details des Klassendiagramms betrachtet. Doppelklicken Sie auf die Titelleiste des Klassendiagramms, um es zu vergrößern. Nun füllt der Klassendiagrammeditor das Workbench-Fenster fast vollständig aus, lediglich die Palette ist noch auf der rechten Seite erweitert.

Die Bean-Komponenten im Diagramm neu anordnen

  1. Klicken Sie einmal auf ein Bean. Kleine schwarze Quadrate erscheinen um das Rechteck des Beans herum, um anzuzeigen, dass es ausgewählt wurde.
  2. Ziehen Sie die Bean an eine andere Position im Klassendiagramm und lassen Sie sie los. Wenn die Beans 'Author' oder 'Book' bewegt werden, wird der Verbindungspfeil angepasst, um die neue Position wiederzugeben.

Die für eine Bean angezeigten Elemente ändern

  1. Im Klassendiagramm markieren Sie das Author-Bean. Das Rechteck der Bean wird in mehrere Bereiche eingeteilt. Die standardmäßig angezeigten Bereiche sind 'Attribut' und 'Zur Verfügung gestellte Schnittstellen'. Die Bereiche enthalten in der oberen linken Ecke ein Symbol zum Ausblenden (Symbol zum Ausblenden).
  2. Klicken Sie auf eines dieser Symbole zum Ausblenden, um den Bereich der Bean auszublenden. Der Bereich wird ausgeblendet und das Symbol zum Ausblenden wird durch ein Symbol zum Einblenden ersetzt (Symbol zum Einblenden).
  3. Klicken Sie auf das Symbol zum Einblenden, um den Bereich wieder zu erweitern.
  4. Sie können auswählen, welche Bereiche ein- oder ausgeblendet werden, indem Sie mit der rechten Maustaste auf die Bean klicken und dann Filter > Bereich ein-/ausblenden auswählen.

EJB mit aus- und eingeblendeten Bereichen

Editoren vom Diagramm aus öffnen

Wenn Sie den EJB Bean Java Editor öffnen, wird eine Gliederungssicht für diesen Editor in der unteren linken Ecke der Workbench geöffnet. In dieser Sicht können Sie Änderungen an der Bean vornehmen. Klicken Sie mit der rechten Maustaste eine der Methoden in der Gliederungssicht an und wählen Sie Enterprise- Bean aus. Wählen Sie eine der Auswahlmöglichkeiten aus, um die ausgewählte Methode zu einer der aufgeführten Schnittstellentypen hoch- oder herabzustufen.

Versuchen Sie, eine Methode unter Verwendung des EJB Bean Java-Editors zu der Klasse hinzuzufügen. Die neue Methode wird in der Gliederungssicht angezeigt. Wenn Sie die neue Methode zu einer Schnittstelle hochstufen, wird die Methode im Klassendiagramm angezeigt.

EJB Bean Java-Editor

Machen Sie sich mit den Dekorationen vertraut, die den Beans zugeordnet sind

Dekoration Bedeutung
CMP 2.x Entity-Bean-Dekoration CMP 2.x Entity-Bean
Primärschlüsselfeld-Dekoration Primärschlüsselfeld
CMP-Feld-Dekoration CMP-Feld, nicht primär
Lokale Schnittstellendekoration lokale Schnittstelle
Lokale Home-Schnittstellendekoration Lokale Home-Schnittstelle
Ferne Schnittstellendekoration Ferne Schnittstelle
Lokale Methodendekoration Lokale Methode
Lokale Home-Methodendekoration Lokale Home-Methode
Ferne Methodendekoration Ferne Methode

Eine vollständige Liste der Dekorationen steht Ihnen im Informationszentrum unter UML- Darstellungsreferenz zur Verfügung.

Interaktion zwischen UML-Klassendiagrammen und Code

Änderungen in Ihrem Klassendiagramm führen automatisch zu entsprechenden Änderungen am zugrundeliegenden Code. Ebenso wird das Klassendiagramm bei direkten Änderungen am Code automatisch geändert, um diese Änderung wiederzugeben. Jede Art von Änderung, die innerhalb der Workbench vorgenommen wird, führt zu einer automatischen und sofortigen erneuten Überprüfung des Codes. Bei EJB-Anwendungen umfasst diese Überprüfung unter anderem Kompilierungsfehler in Java-Klassen, Klassenpfadprobleme und Verstöße gegen die EJB-Spezifikationen.

Am unteren Ende der Workbench sind mehrere Ansichten gestapelt. Eine diese Ansichten heißt 'Probleme'. Diese Ansicht zeigt alle Fehler, Warnungen und Informationsnachrichten für alle Projekte und Dateien innerhalb der Workbench an. Wenn Sie auf eins der aufgeführten Probleme doppelklicken, öffnet sich die entsprechende Datei an der Stelle, an der der Fehler aufgetreten ist.

Die Problemsicht beschränkt die Anzahl aufgeführter Probleme standardmäßig auf 100. Sie können diese Begrenzung ändern oder die Ansicht filtern, so dass sie nur die Elemente anzeigt, die für Sie interessant sind. Zu den Filteroptionen gehören unter anderem Fehlerbewertung, Projekte, Ressourcen und Problemarten. Um diese standardmäßige Einstellung zu ändern, klicken Sie auf den Pfeil (Symbol Pulldown-Menü) und wählen Sie Filter aus.

Benutzervorgaben für UML-Klassendiagramme konfigurieren

Sie können einige der Standardverhaltensmerkmale und Anzeigemerkmale eines Klassendiagramms ändern. Dies geschieht über das Menü Fenster, in dem Sie Benutzervorgaben auswählen. Erweitern Sie Modellierung', um die Elemente anzuzeigen, die geändert werden können.

Der Hauptabschnitt enthält Allgemeine Einstellungen, wie z.B. ob Aktionsleisten erscheinen sollen, wenn Sie den Cursor im Diagram über eine Klasse führen. Der Bereich 'Darstellung' enthält mehrere Seiten, auf denen Sie u.a. Schriftarten, Farben, Connectoren und Formen ändern können. Der EJB-Bereich enthält eine Einstellung dafür, wann Klassendiagramme geöffnet werden. Andere Abschnitte enthalten Optionen für Java-Felder und Methoden, Lineale und Gitter und Überprüfungen.

Klicken Sie sich durch die Abschnitte, um sich mit den verschiedenen Optionen vertraut zu machen. Nachdem Sie Änderungen vorgenommen haben, klicken Sie auf OK, um diese zu speichern und verlassen Sie die Seite 'Benutzervorgaben'.

Sie sind nun bereit, um mit Übung 1.4: Entity-Beans den relationalen Datenbanken zuordnen zu beginnen.

Feedback
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.