Zweck
Die Schritte in diesem Toolmentor entsprechen denen in der Aufgabe. Links zu Themen in der Onlinehilfe von Rational
Software Architect (RSA) sind mit dem Symbol gekennzeichnet.
Übersicht
Dieser Toolmentor beschreibt die Schritte zum Erstellen eines einfachen Servicemodells mit RSA. Das UML-Profil für
Softwareservices und das Schablonenmodell, das in diesem Toolmentor beschrieben wird, ist in früheren Versionen von RSA
möglicherweise nicht installiert. Ein für den Download verfügbares Paket, das diese Elemente und
Installationsanweisungen enthält, ist über IBM developerWorks abrufbar.
In diesem Toolmentor werden die folgenden Schritte ausgeführt:
Mit diesem Schritt wird auch ein Servicedesignmodell erstellt. Fahren Sie nach Abschluss mit Schritt 3 fort.
-
Wählen Sie im RSA-Menü die Optionen "Datei --> Neu --> Projekt" aus.
-
Wählen Sie im erscheinenden Assistenten den Ordner "Modellierung" und dann den Ordner "UML-Projekt" aus der
Baumstruktur aus. Wenn diese Elemente nicht in der Baumstruktur sichtbar sind, wählen Sie das Markierungsfeld "Alle
Assistenten anzeigen" direkt unter der Baumstruktur aus. Wählen Sie die Schaltfläche "Weiter" aus.
-
Geben Sie Ihrem Projekt einen Namen, z. B. "mein.erstes.Servicemodellprojekt", und wählen Sie dann die Schaltfläche
"Weiter" aus.
-
Wählen Sie in der Liste mit Modellschablonen die Option "Servicedesignmodell" und dann die Schaltfläche "Weiter"
aus.
-
Wenn die Liste mit den referenzierbaren Projekten erscheint, wählen Sie die Schaltfläche "Fertig stellen" aus.
Weitere Informationen zur Erstellung eines neuen Projekts finden Sie im Thema zum Zustandsübergang in der Onlinehilfe
zu Rational Rose.
Wenn Sie bereits ein Modellierungsprojekt haben, fügen Sie mit diesem Schritt ein Servicedesignmodell zu Ihrem Projekt
hinzu.
-
Wählen Sie das Projekt aus, das Sie zum Servicedesignmodell hinzufügen möchten.
-
Wählen Sie im RSA-Menü "Datei --> Neu --> Andere" aus.
-
Wählen Sie im erscheinenden Assistenten den Ordner "Modellierung" und dann "UML-Modell" aus der Baumstruktur aus.
Wenn diese Elemente nicht in der Baumstruktur sichtbar sind, wählen Sie das Markierungsfeld "Alle Assistenten
anzeigen" direkt unter der Baumstruktur aus. Wählen Sie die Schaltfläche "Weiter" aus.
-
Wählen Sie in der Liste mit Modellschablonen die Option "Servicedesignmodell" aus. Sie können dann nach Bedarf
einen neuen Namen für das Modell auswählen. Wählen Sie die Schaltfläche "Fertig stellen" aus.
-
Erstellen Sie im Paket "Message View" eine neue Klasse mit dem Namen "Customer".
-
Erstellen Sie eine weitere Klasse mit dem Namen "Address".
-
Erstellen Sie eine Aggregationszuordnung von "Customer" zu "Address".
-
Öffnen Sie die Modellbibliothek "Reusable Design Elements", drücken Sie die Strg-Taste, und ziehen Sie die Klasse
<<Message>> in das Paket mit der Nachrichtensicht.
-
Klicken Sie mit der rechten Taste auf die neu erstellte Klasse in der Nachrichtensicht, und wählen Sie
"Suchen/Ersetzen...." aus.
-
Geben Sie im Dialogfenster im Textfeld "Zu suchendes Element" den Text "${service.message}" ein.
-
Wählen Sie die Schaltfläche "Ersetzen" aus.
-
Geben Sie im Dialogfenster den Text "CreateCustomer" in das Textfeld "Ersetzen durch" ein.
-
Wählen Sie "OK" aus.
-
Ziehen Sie die neue Nachrichtenklasse in das Klassendiagramm mit "Customer" und "Address", und fügen Sie eine
Aggregationszuordnung von "CreateCustomer" zu Kunde hinzu.
-
Drücken Sie die Strg-Taste, ziehen Sie eine weitere Klasse <<Message>> in das Paket "Message View" und
benennen Sie sie im Dialog "Suchen/Ersetzen" in "UpdateCustomerAddress" um.
-
Ziehen Sie die neue Nachrichtenklasse in das Klassendiagramm und fügen Sie eine Aggregationszuordnung von
"UpdateCustomerAddress" zu "Address" hinzu.
-
Drücken Sie die Strg-Taste und ziehen Sie die Komponente <<ServiceProvider>> im Dialog
"Suchen/Ersetzen" in das oben beschriebene Paket "Service View", benennen Sie sie in "CustomerInfo" um (der Text in
"Zu suchendes Element" lautet in diesem Fall "${service}").
-
Die konkret erstellten Elemente sind folgende:
-
Eine Komponente mit dem Namen "CustomerInfoProvider" mit einem verschachtelten zusammengesetzten
Strukturdiagramm.
-
Eine Schnittstelle mit dem Namen ICustomerInfo und dem Stereotyp <<ServiceSpecification>>
(Servicespezifikation), die ein Aktivitätsdiagramm enthält.
-
Ein Port in der Komponente mit dem Namen CustomerInfo, dem Stereotyp <<Service>> und dem Typ
ICustomerInfo.
-
Fügen Sie eine Operation mit dem Namen "createCustomer" zu ICustomerInfo hinzu, und fügen Sie außerdem einen
Parameter, der mit der oben erstellten Nachricht CreateCustomer typisiert wurde, hinzu.
-
Fügen Sie eine weitere Operation mit dem Namen "updateCustomerAddress" und außerdem einen Parameter, der mit der
oben erstellten Nachricht UpdateCustomerAddress typisiert wurde, hinzu.
-
Erstellen Sie einen weiteren Service. Folgen Sie den obigen Anweisungen und nennen Sie den Service "AccountMgmt"
(in diesem Fall ist es nicht erforderlich, Operationen hinzuzufügen).
-
Drücken Sie die Strg-Taste und ziehen Sie den Knoten <<ServicePartition>> in das Paket mit der
Kollaborationssicht und benennen Sie ihn in "Back Office" um. Der Text für "Zu suchendes Element" lautet in diesem
Fall "${partition}".
-
Öffnen Sie das Strukturdiagramm, das in der Partition eingebettet ist, und fügen Sie zwei Komponenten zum Diagramm
hinzu, wenn Sie aufgefordert werden, ein vorhandenes Element auszuwählen. Wählen Sie die zwei bis dahin erstellten
Serviceprovider aus.
-
Die Komponenten sollten nicht nur typisiert werden. Es sollten auch die den Providern zugeordneten Ports und
Schnittstellen angezeigt werden.
-
Gehen Sie wie folgt vor, um einen Servicekanal zwischen den zwei Services zu erstellen: Wählen Sie den Konnektor
aus der Toolbox aus, und stellen Sie eine Verbindung zu den zwei Ports her.
-
Geben Sie für den Konnektor den Stereotyp <<ServiceChannel>> (Servicekanal) an.
-
Wählen Sie in der Eigenschaftensicht die Registerkarte "Erweitert" aus, und setzen Sie die Bindung auf
"RMI".
Führen Sie die folgenden zusätzlichen Schritte aus, um eine strikte Partition zu erstellen und nur den Service
AccountMgmt zugänglich zu machen.
-
Klicken Sie mit der rechten Maustaste auf die Partition im Modellexplorer, und fügen Sie einen neuen Port hinzu.
-
Benennen Sie den Port und setzen Sie den Stereotyp auf <<ServiceGateway>> (Service-Gateway).
-
Setzen Sie den Port-Typ in der Eigenschaftssicht auf die Servicespezifikation IAccountMgmt.
-
Öffnen Sie das oben erstellte zusammengesetzte Strukturdiagramm und prüfen Sie, ob der neue Port im Diagramm
angezeigt wird.
-
Erstellen Sie einen <<ServiceChannel>> vom Service-Gateway zum Service AccountMgmt.
|