Exemplarische Vorgehensweise: Entwerfen von Anwendungssystemen anhand eines Top-Down-Ansatzes

Aktualisiert: November 2007

Diese exemplarische Vorgehensweise führt Sie durch den Entwurf eines Anwendungssystems anhand eines Top-Down-Ansatzes.

Im Verlauf dieser exemplarischen Vorgehensweise führen Sie folgende Aufgaben aus:

  • Erstellen Sie eine neue Systementwurfsprojektmappe.

  • Stellen Sie das Verhalten für die Systemdefinition als Webdienst dar, und machen Sie sie verfügbar.

  • Definieren Sie einen Vorgang für den neuen Webdienst.

  • Fügen Sie zwei neue Systeme als Member zu einer Systemdefinition hinzu.

  • Benennen Sie die neuen Systeme um.

  • Fügen Sie einen Webdienst zu einem Member der Systemdefinition hinzu.

  • Verbinden Sie die zwei Systeme in der Systemdefinition.

  • Delegieren Sie das Verhalten der Systemdefinition an einen Member.

  • Fahren Sie mit dem Entwurf für die Member der Systemdefinition fort.

  • Implementieren Sie die zugrunde liegenden Anwendungsdefinitionen.

Erstellen einer neuen Systementwurfsprojektmappe

Zuerst entwerfen Sie ein System, indem Sie einen Top-Down-Ansatz verwenden. Sie führen diese Aufgabe aus, indem Sie eine neue Systementwurfsprojektmappe erstellen. Standardmäßig enthält diese Projektmappe ein leeres Systemdiagramm und ein Anwendungsdiagramm. Das Systemdiagramm zeigt eine leere Systemdefinition an. Das Anwendungsdiagramm zeigt die Definitionen von allen Anwendungen an, die Sie als Member zur Systemdefinition hinzufügen.

So erstellen Sie eine neue Systementwurfsprojektmappe

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie auf Projekt.

    Das Dialogfeld Neues Projekt wird angezeigt.

  2. Klicken Sie im Dialogfeld Neues Projekt unter Projekttypen auf Verteilte Systeme.

  3. Klicken Sie unter Vorlagen auf Systemdesign.

  4. Geben Sie der Projektmappe den Namen StoreFrontSystem.

  5. Geben Sie einen Speicherort ein, an dem diese Projektmappe gespeichert werden soll.

Visual Studio erstellt die Projektmappe. System-Designer wird geöffnet und zeigt ein Systemdiagramm an. Der Anwendungs-Designer öffnet das Anwendungsdiagramm im Hintergrund.

Sie stellen jetzt das Verhalten der Systemdefinition als Webdienst dar und machen es als Webdienst verfügbar.

Darstellen und Verfügbarmachen des Verhaltens für die Systemdefinition als Webdienst

Sie definieren das Verhalten für die Systemdefinition als Webdienst und machen es als Webdienst verfügbar. Sie führen diese Aufgabe aus, indem Sie zur Systemdefinition einen .NET-Webdienst-Anbieterendpunkt hinzufügen. Über diese Aktion können Sie dieses System auch mit Membern in anderen Systemdefinitionen verbinden.

So fügen Sie einen Webdienst zu einer Systemdefinition hinzu

  1. Klicken Sie im Systemdiagramm auf StoreFrontSystem.

  2. Zeigen Sie im Menü Diagramm auf Hinzufügen, dann auf Endpunkt, und klicken Sie auf .NETWebServiceEndpoint.

    In StoreFrontSystem wird ein .NET-Webdienst-Anbieterendpunkt mit dem Namen WebService1 angezeigt.

  3. Klicken Sie in StoreFrontSystem auf WebService1.

  4. Klicken Sie im Menü Ansicht auf Eigenschaftenfenster.

    Das Eigenschaftenfenster wird angezeigt.

  5. Verwenden Sie im Eigenschaftenfenster die Name-Eigenschaft, um für den Endpunkt den Namen CatalogService zu vergeben.

    Hinweis:

    Wenn Sie zu einer Systemdefinition einen Endpunkt hinzufügen, wird dieser Endpunkt auch für alle Verwendungsmöglichkeiten dieser Definition in anderen Systemdefinitionen angezeigt. Wenn Sie einen Endpunkt aus einer Systemdefinition löschen, wird dieser auch für alle Verwendungsmöglichkeiten dieser Definition in anderen Systemdefinitionen gelöscht.

Sie definieren jetzt einen Webdienstvorgang und seine Parameter für CatalogService.

Definieren eines Vorgangs für den neuen Webdienst

Sie definieren einen Vorgang für den CatalogService-Webdienst, indem Sie das Fenster Webdienstdetails verwenden. Vorgänge beschreiben die Methodennamen, Parameter und andere Informationen in Verbindung mit Vorgängen für einen Webdienst.

Hinweis:

Standardmäßig legt Visual Studio die Sprache für einen Webdienst-Endpunkt in einer Systemdefinition auf Visual Basic fest. Sie wählen die tatsächliche Implementierungssprache für diesen Endpunkt aus, wenn Sie das Verhalten des Endpunkts an eine Anwendung delegieren.

So fügen Sie einen Vorgang zu einem Webdienst-Endpunkt hinzu

  1. Klicken Sie in StoreFrontSystem auf den CatalogService-Endpunkt.

  2. Klicken Sie im Menü Diagramm auf Vorgänge definieren.

    Das Fenster Webdienstdetails wird angezeigt.

  3. Klicken Sie im Fenster Webdienstdetails auf <Vorgang hinzufügen>, fügen Sie einen Vorgang mit dem Namen GetCatalog hinzu, und drücken Sie die TAB-TASTE.

  4. Geben Sie im Feld Typ den Typ Catalog ein, und drücken Sie die EINGABETASTE.

    Hinweis:

    Catalog ist ein benutzerdefinierter Typ, den Sie definieren können, nachdem Sie den Endpunkt an eine ASP.NET-Webanwendung delegiert und diese Anwendung implementiert haben.

  5. Erweitern Sie den Vorgangsknoten, klicken Sie auf <Parameter hinzufügen>, fügen Sie einen Parameter mit dem Namen CatalogName hinzu, und drücken Sie die TAB-TASTE.

  6. Geben Sie im Feld Typ den Typ Zeichenfolge ein, und drücken Sie die TAB-TASTE.

    Hinweis:

    Visual Studio zeigt eine Liste verfügbarer Typen an, wenn Sie mit Ihrer Eingabe im Feld Typ beginnen.

  7. Wählen Sie im Feld Modifizierer die Option ByVal aus, und drücken Sie die EINGABETASTE.

Sie fügen jetzt neue Member zu StoreFrontSystem hinzu.

Hinzufügen zweier neuer Systeme als Member zu einer Systemdefinition

Sie fügen zwei neue Systeme als Member zur StoreFrontSystem-Systemdefinition hinzu. Visual Studio fügt eine neue Systemdiagramm-Datei (.SD) zur Projektmappe für jedes neue System hinzu, das Sie zu einer Systemdefinition hinzufügen. Jedes Systemdiagramm enthält die Definition jedes neuen Systems.

So fügen Sie neue Systeme zu einer Systemdefinition hinzu

  1. Klicken Sie im Systemdiagramm auf StoreFrontSystem.

  2. Zeigen Sie im Menü Diagramm auf Hinzufügen, dann auf System, und klicken Sie auf Blank System.

    Ein neues System mit dem Namen System1 wird in StoreFrontSystem als Member angezeigt. Eine neue Systemdiagrammdatei (.sd) wird in der Projektmappe angezeigt und im Hintergrund geöffnet.

  3. Fügen Sie ein zweites leeres System mit dem Namen System2 hinzu.

Sie benennen jetzt diese neuen Member um.

Umbenennen der neuen Systeme

Sie benennen die zwei neuen Systeme und ihre zugrunde liegenden Definitionen um.

So benennen Sie neue Member um

  1. Klicken Sie innerhalb von StoreFrontSystem auf System1.

  2. Klicken Sie im Menü Diagramm auf Umbenennen.

    Das Dialogfeld Umbenennen wird angezeigt.

  3. Aktivieren Sie im Dialogfeld Umbenennen das Kontrollkästchen Definition umbenennen (falls es nicht bereits aktiviert ist).

  4. Vergeben Sie für den Member im Feld Membername den Namen OrderSystem, und klicken Sie auf OK.

    Der Member und seine Definition zeigen den neuen Namen an.

    Hinweis:

    Visual Studio aktualisiert nicht die Namen der Diagrammdateien, die die zugrunde liegenden Definitionen enthalten.

  5. Benennen Sie System2 in CatalogSystem um.

Sie stellen jetzt das Verhalten eines Members dar und machen das Verhalten eines Members als Webdienst verfügbar.

Hinzufügen eines Webdiensts zu einem Member der Systemdefinition

Sie stellen das Verhalten für einen Member von StoreFrontSystem dar und machen das Verhalten für einen solchen Member als Webdienst verfügbar. Sie führen diese Aufgabe aus, indem Sie einen .NET-Webdienst-Anbieterendpunkt zu diesem neuen Member hinzufügen. Über diese Aktion können Sie diesen Member in StoreFrontSystem auch mit anderen Membern verbinden.

So fügen Sie einen Webdienst zu einem Member hinzu

  1. Klicken Sie auf das System OrderSystem.

  2. Zeigen Sie im Menü Diagramm auf Hinzufügen, und klicken Sie auf .NETWebServiceEndpoint.

    Ein .NET-Webdienst-Anbieterendpunkt mit dem Namen WebService1 wird in OrderSystem und der zugrunde liegenden Definition angezeigt.

  3. Klicken Sie in OrderSystem auf WebService1.

  4. Verwenden Sie im Eigenschaftenfenster die Name-Eigenschaft, um für den Endpunkt den Namen OrderService zu vergeben.

    Hinweis:

    Wenn Sie einen Endpunkt zu einem Member hinzufügen, wird dieser Endpunkt auch in der Definition angezeigt, die dem Member zugrunde liegt. Der Endpunkt wird auch bei allen Verwendungen dieser Definition in anderen Systemdefinitionen angezeigt. Sobald Sie einen Endpunkt zu einem Member hinzufügen, können Sie diesen nicht direkt aus diesem Member entfernen. Um einen Endpunkt aus einem Member zu entfernen, müssen Sie ihn aus der Definition des Members löschen. Diese Aktion entfernt den Endpunkt auch aus allen Verwendungen dieser Definition. Durch diese Anforderung wird deutlich, wie sich diese Änderung an einer Memberdefinition auf die Verwendung dieser Definition in anderen Systemdefinitionen auswirkt.

Sie definieren jetzt Kommunikationswege zwischen den Membern von StoreFrontSystem.

Verbinden der zwei Systeme in der Systemdefinition

Sie definieren die Kommunikationswege, die bei der Bereitstellung zwischen den Membern einer Systemdefinition verwendet werden. Sie führen diese Aufgabe aus, indem Sie die zwei Systeme in StoreFrontSystem verbinden. Diese Verbindung beschreibt eine Anbieter-Consumer-Beziehung zwischen diesen zwei Systemen.

So verbinden Sie die Member einer Systemdefinition

  1. Klicken Sie in OrderSystem auf den OrderService-Endpunkt.

  2. Klicken Sie im Menü Diagramm auf Verbinden.

    Das Dialogfeld Verbindung erstellen wird angezeigt.

  3. Wählen Sie unter Verbinden mit aus der Liste Member die Option CatalogSystem aus, und klicken Sie auf OK.

    Eine Verbindung zwischen OrderSystem und CatalogSystem wird angezeigt. In CatalogSystem wird darüber hinaus ein Webdienst-Consumerendpunkt angezeigt und mit OrderService verbunden. Dieser Consumerendpunkt wird auch in der zugrunde liegenden Definition von CatalogSystem angezeigt.

Sie delegieren jetzt das Verhalten der StoreFrontSystem-Systemdefinition an einen ihrer Member.

Delegieren des Verhaltens der Systemdefinition an einen Member

Sie wählen den Member aus, der bei Bereitstellung das Verhalten der Systemdefinition verfügbar macht. Sie führen diese Aufgabe aus, indem Sie das Verhalten der Systemdefinition an einen ihrer Member delegieren. Genauer ausgedrückt delegieren Sie das Verhalten des CatalogService-Webdiensts an CatalogSystem. Diese Aktion ersetzt den Webdienst-Endpunkt in der Systemdefinition durch einen Proxyendpunkt. Der Webdienst-Endpunkt wird erneut auf dem Member angezeigt. Beide Endpunkte werden miteinander verbunden.

Hinweis:

Der Webdienst-Endpunkt wird auch in der zugrunde liegenden Definition von CatalogSystem angezeigt, da dieser Endpunkt Teil der Definition dieses Members wird.

So delegieren Sie das Verhalten einer Systemdefinition an einen Member

  1. Klicken Sie in StoreFrontSystem auf CatalogService.

  2. Klicken Sie im Menü Diagramm auf Delegieren.

    Das Dialogfeld Verhalten an Systemmember delegieren wird angezeigt.

  3. Wählen Sie unter Delegieren an aus der Liste Member die Option CatalogSystem aus, und klicken Sie auf OK.

    CatalogService wird jetzt in CatalogSystem angezeigt. Ein Proxyendpunkt wird am vorherigen Speicherort von CatalogService mit demselben Namen angezeigt. Dieser Proxyendpunkt stellt eine Verbindung mit CatalogService her und macht sein Verhalten außerhalb des Systems verfügbar.

Fortfahren mit dem Entwurf für die Member der Systemdefinition

Sie fahren mit dem Entwurf der Member von StoreFrontSystem fort. Sie führen diese Aufgabe aus, indem Sie ASP.NET-Webanwendungen zu den Definitionen von CatalogSystem und OrderSystem hinzufügen. Diese Anwendungen stellen das Verhalten für diese Systemdefinitionen bereit. Sie delegieren dann das Verhalten dieser Systemdefinitionen an diese Anwendungen.

So fahren Sie mit dem Entwurf von Membern einer Systemdefinition fort

  1. Klicken Sie im Systemdiagramm auf CatalogSystem.

  2. Klicken Sie im Menü Diagramm auf In System Designer öffnen.

    Das Systemdiagramm, das die Definition von CatalogSystem enthält, wird geöffnet.

  3. Zeigen Sie im Menü Diagramm auf Hinzufügen, dann auf Anwendung, und klicken Sie auf ASP.NETWebService.

    In CatalogSystem wird eine neue ASP.NET-Webanwendung mit dem Namen WebApplication1 angezeigt. Visual Studio fügt die Definition dieser Anwendung auch in der Projektmappe zum Anwendungsdiagramm hinzu. 

  4. Löschen Sie den WebService1-Endpunkt.

  5. Nennen Sie die Anwendung CatalogManager.

  6. Klicken Sie in CatalogSystem auf CatalogService, und klicken Sie dann im Menü Diagramm auf Delegieren.

    Das Dialogfeld Verhalten an Systemmember delegieren wird angezeigt.

  7. Wählen Sie unter Delegieren an die Option CatalogManager aus, und klicken Sie auf OK.

    CatalogService wird jetzt in CatalogManager angezeigt. Sie implementieren später die Definition von CatalogManager, um mit der Definition des Verhaltens von CatalogService in Code fortzufahren.

  8. Klicken Sie in CatalogSystem auf den Consumerendpunkt.

  9. Delegieren Sie den Consumerendpunkt an CatalogManager.

    CatalogManager kann jetzt außerhalb von CatalogSystem kommunizieren.

  10. Klicken Sie auf die Dokumentregisterkarte StoreFrontSystem.sd, um das Systemdiagramm für StoreFrontSystem anzuzeigen.

  11. Wiederholen Sie die Schritte 1-3 für OrderSystem, und nennen Sie die Anwendung OrderManager.

  12. Delegieren Sie den OrderService-Endpunkt an OrderManager.

  13. Klicken Sie auf die Dokumentregisterkarte StoreFrontSystem.sd, um das Systemdiagramm für StoreFrontSystem anzuzeigen.

In CatalogSystem kommuniziert die CatalogManager-Anwendung nun mit der OrderManager-Anwendung in OrderSystem über die Proxyendpunkte in den jeweiligen Systemen. Außerdem stellt CatalogManager über den Proxyendpunkt auf diesem System das Verhalten für StoreFrontSystem bereit.

Implementieren der zugrunde liegenden Anwendungsdefinitionen

Sie fahren mit der Definition des Verhaltens von CatalogSystem und OrderSystem fort. Sie können diese Aufgabe ausführen, indem Sie zuerst die zugrunde liegenden Definitionen von CatalogSystem und OrderSystem verbinden und diese dann implementieren. Wenn Sie Anwendungsdefinitionen implementieren, generiert Visual Studio in der Projektmappe Projekte, sodass Sie mit der Definition von deren Verhalten im Code fortfahren können.

Hinweis:

Sie müssen Anwendungsdefinitionen verbinden, bevor Sie sie implementieren. Damit ist Visual Studio in der Lage, alle benötigten Proxyklassen für Webdienstclients ordnungsgemäß zu generieren.

So verbinden und implementieren Sie Anwendungsdefinitionen

  1. Klicken Sie auf die Dokumentregisterkarte StoreFrontSystem.ad, um das Anwendungsdiagramm anzuzeigen.

    Der Anwendungs-Designer zeigt das Anwendungsdiagramm an, das die Anwendungsdefinitionen für CatalogManager und OrderManager enthält.

  2. Verbinden Sie den Consumerendpunkt in CatalogManager mit dem OrderService-Endpunkt in OrderManager.

    Hinweis:

    Visual Studio stellt keine Verbindung zwischen Anwendungsdefinitionen her, wenn Sie ihre Verwendungen in Systemdefinitionen verbinden. Die Verbindungen im Anwendungsdiagramm stellen Kommunikationswege in der Entwicklungsumgebung dar, während die Verbindungen in den Systemdiagrammen Kommunikationswege in der Bereitstellungsumgebung darstellen.

  3. Legen Sie im Eigenschaftenfenster die Template-Eigenschaft für CatalogManager und OrderManager auf ASP.NET-Webanwendung fest.

  4. Zeigen Sie im Menü Diagramm auf Implementierung, und klicken Sie auf Alle Anwendungen implementieren.

    Visual Studio generiert in der Projektmappe Projekte, sodass Sie mit der Definition von CatalogManager und OrderManager im Code fortfahren können.

Siehe auch

Referenz

Neues in der Architecture Edition