COM+ Design-Annahmen und Prinzipien
Das Microsoft Distributed Programming Model besteht aus mehreren Technologien, einschließlich MSMQ, IIS, DCOM und COM+. Alle diese Dienste wurden für die Verwendung durch verteilte Anwendungen entwickelt.
COM+ wurde entwickelt, um die Erstellung verteilter Anwendungen zu vereinfachen. Die Gesamtarchitektur basiert auf einer Reihe von Annahmen und Prinzipien.
Annahmen
Die Annahmen sind wie folgt:
- Die COM+-Anwendung unterstützt mehrere Benutzer auf mehreren Servern. Mit anderen Worten: Sie erstellen eine verteilte Anwendung, und diese mehrere Benutzer befinden sich auf verschiedenen Hostcomputern, von denen der Code ausgeführt wird. Benutzer werden über das Internet oder über ein privates Netzwerk auf den Code zugreifen. Die Benutzeroberfläche wird über den Browser oder vielleicht eine benutzerdefinierte Anwendung präsentiert, z. B. eine formularbasierte Anwendung, die mit Microsoft Visual Basic oder MFC geschrieben wurde. Diese Benutzeroberfläche wird sich auf dem Clientcomputer befinden.
- Die COM+-Anwendung kann skalierbar gemacht werden und kann durch die Bereitstellung der Anwendung auf mehreren Servercomputern eine höhere Verfügbarkeit und Zuverlässigkeit bieten. Auf diese Weise können Sie die Arbeitsauslastung der Anwendung ausgleichen und fehlertoleranz mithilfe von Windows-Clustering bereitstellen.
- Wenn die Dinge schief gehen, wird der Status der gespeicherten Daten, die in einer Datenbank gespeichert sind, von einer COM+-Anwendung verwaltet, wenn Sie Transaktionen verwenden. Der Anwendungszustand muss Unfälle überleben, die auftreten können, z. B. Anwendungsfehler, Systemabstürzen oder Netzwerkfehler.
Grundsätze
Zusätzlich zu diesen drei Annahmen gelten die folgenden Prinzipien für das COM+-Programmiermodell:
- Die Anwendungslogik befindet sich auf Servercomputern, nicht auf Clientcomputern. Hierfür gibt es drei Hauptgründe:
- Der Clientcomputer verfügt möglicherweise nicht über die Verarbeitungsleistung oder Features, die zum Ausführen der Anwendungslogik erforderlich sind. Darüber hinaus vereinfacht die Beibehaltung der Anwendungslogik auf dem Server die Bereitstellung.
- Die Servercomputer sind häufig näher an den Daten, und diese Daten befinden sich am häufigsten in einer Datenbank. Da Ihre Anwendung auf Datenbanken zugreift, sollten Sie die Kosten für Datenbankverbindungen sehr beachten. Indem Sie den Großteil der Logik auf den Servercomputern platzieren, können Sie Datenbankverbindungen freigeben und eine erhebliche Leistungsverbesserung erzielen. Es gibt weitere Ressourcen auf den Servercomputern, die ebenfalls gemeinsam genutzt werden können, und zwar wieder mit einem Leistungsvorteil.
- Wenn sich anwendungslogik auf Servercomputern befindet, behalten Sie die Kontrolle über den Sicherheitskontext mit der Anwendung. Sie haben mehr Kontrolle über die Sicherheit, wenn Sie diese Sicherheit auf Anwendungskomponenten beibehalten, die auf Servercomputern und nicht auf Clientcomputern ausgeführt werden.
- Transaktionen sind der Kern. Im Design durchdringen Transaktionen das COM+-Programmiermodell so, dass es für Sie sehr wichtig ist, sie zu verstehen. Sie können zwar viele der Dienste von COM+ nutzen, ohne Transaktionen zu verwenden, aber wenn Sie diese nicht verwenden möchten, können Sie die für Sie verfügbaren COM+-Dienste nicht vollständig nutzen. Zu den wichtigen Vorteilen bei der Verwendung von Transaktionen gehören:
- Transaktionen sind eine vernünftige Lösung für das Problem der Parallelitätsverwaltung. Darüber hinaus schützen Transaktionen vor Abstürze und haben ein gutes Fehlerwiederherstellungsmodell. Darüber hinaus stellen Transaktionen eine hervorragende Möglichkeit dar, Aufgaben über mehrere Systeme hinweg zu verwalten.
- Sie können eine transaktionsbasierte COM+-Anwendung für die Arbeit mit einem Ressourcen-Manager und einer Datenbank entwerfen, die die meisten Statusinformationen schützt. Indem Sie den Zustand innerhalb einer Datenbank oder eines anderen Speichers beibehalten, der von einem Ressourcen-Manager verwaltet wird, müssen Sie in den tatsächlichen Objekten, die Ihre Anwendung erstellt, nicht viel Zustand behalten. Obwohl dies eine Abkehr von einem rein objektorientierten Modell ist, eignet es sich gut für die Erstellung verteilter Anwendungen mit Fehlerwiederherstellung.
- Anwendungsfunktionen werden als COM-Objekte erstellt, wobei die Protokolle umschlossen werden, die für die Kommunikation mit anderen Systemen oder Technologien verwendet werden. Da Sie wahrscheinlich Komponenten erstellen, die mehrere Technologien oder ältere Systeme zusammenfügen werden, planen Sie die Verwendung einer Vielzahl von Kommunikationsprotokollen. Verwenden Sie HTTP für die Client-/Serverkommunikation oder Anwendungs-zu-Anwendung-Kommunikation über das Internet. Verwenden Sie DCOM für die Anwendungs-zu-Anwendung- oder Komponentenkommunikation auf dem Server.
Verwandte Themen
-
Grundlegende Richtlinien für das Entwerfen von COM+-Anwendungen
-
Optimieren von Interaktionen mit der COM+ Geschäftslogikebene