Toolmentor: Servicemodell mit RSA erstellen
Dieser Toolmentor beschreibt die Schritte zum Erstellen eines einfachen Servicemodells mit Rational Software Architect.
Tool: Rational Software Architect
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

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:

Architekturübersicht entwickeln 

Neues Modellierungsprojekt erstellen

Mit diesem Schritt wird auch ein Servicedesignmodell erstellt. Fahren Sie nach Abschluss mit Schritt 3 fort.

  1. Wählen Sie im RSA-Menü die Optionen "Datei --> Neu --> Projekt" aus.
  2. 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.
  3. Geben Sie Ihrem Projekt einen Namen, z. B. "mein.erstes.Servicemodellprojekt", und wählen Sie dann die Schaltfläche "Weiter" aus.
  4. Wählen Sie in der Liste mit Modellschablonen die Option "Servicedesignmodell" und dann die Schaltfläche "Weiter" aus.
  5. 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.

Neues Servicedesignmodell erstellen

Wenn Sie bereits ein Modellierungsprojekt haben, fügen Sie mit diesem Schritt ein Servicedesignmodell zu Ihrem Projekt hinzu.

  1. Wählen Sie das Projekt aus, das Sie zum Servicedesignmodell hinzufügen möchten.
  2. Wählen Sie im RSA-Menü "Datei --> Neu --> Andere" aus.
  3. 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.
  4. 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.

Nachrichten für Service aus Modellbibliothek erstellen

  1. Erstellen Sie im Paket "Message View" eine neue Klasse mit dem Namen "Customer".
  2. Erstellen Sie eine weitere Klasse mit dem Namen "Address".
  3. Erstellen Sie eine Aggregationszuordnung von "Customer" zu "Address".
  4. Ö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.
  5. Klicken Sie mit der rechten Taste auf die neu erstellte Klasse in der Nachrichtensicht, und wählen Sie "Suchen/Ersetzen...." aus.
    1. Geben Sie im Dialogfenster im Textfeld "Zu suchendes Element" den Text "${service.message}" ein.
    2. Wählen Sie die Schaltfläche "Ersetzen" aus.
    3. Geben Sie im Dialogfenster den Text "CreateCustomer" in das Textfeld "Ersetzen durch" ein.
    4. Wählen Sie "OK" aus.
  6. Ziehen Sie die neue Nachrichtenklasse in das Klassendiagramm mit "Customer" und "Address", und fügen Sie eine Aggregationszuordnung von "CreateCustomer" zu Kunde hinzu.
  7. 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.
  8. Ziehen Sie die neue Nachrichtenklasse in das Klassendiagramm und fügen Sie eine Aggregationszuordnung von "UpdateCustomerAddress" zu "Address" hinzu.

Neuen Service und Provider erstellen

  1. 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}").
  2. Die konkret erstellten Elemente sind folgende:
    1. Eine Komponente mit dem Namen "CustomerInfoProvider" mit einem verschachtelten zusammengesetzten Strukturdiagramm.
    2. Eine Schnittstelle mit dem Namen ICustomerInfo und dem Stereotyp <<ServiceSpecification>> (Servicespezifikation), die ein Aktivitätsdiagramm enthält.
    3. Ein Port in der Komponente mit dem Namen CustomerInfo, dem Stereotyp <<Service>> und dem Typ ICustomerInfo.
  3. 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.
  4. 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.

Servicepartition erstellen

  1. 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).
  2. 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}".
  3. Ö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.
  4. Die Komponenten sollten nicht nur typisiert werden. Es sollten auch die den Providern zugeordneten Ports und Schnittstellen angezeigt werden.
  5. 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.
    1. Geben Sie für den Konnektor den Stereotyp <<ServiceChannel>> (Servicekanal) an.
    2. 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.

  1. Klicken Sie mit der rechten Maustaste auf die Partition im Modellexplorer, und fügen Sie einen neuen Port hinzu.
  2. Benennen Sie den Port und setzen Sie den Stereotyp auf <<ServiceGateway>> (Service-Gateway).
  3. Setzen Sie den Port-Typ in der Eigenschaftssicht auf die Servicespezifikation IAccountMgmt.
  4. Öffnen Sie das oben erstellte zusammengesetzte Strukturdiagramm und prüfen Sie, ob der neue Port im Diagramm angezeigt wird.
  5. Erstellen Sie einen <<ServiceChannel>> vom Service-Gateway zum Service AccountMgmt.