Entwerfen für die Bereitstellung
Die Planung des Umfangs von COM+-Anwendungen ist eine wichtige Entwurfsaufgabe, die Sie frühzeitig berücksichtigen sollten. Verteilte Systeme, die mit COM+ ausgeführt werden sollen, sollten für die Bereitstellung mit der geringsten Individuellen Konfiguration und für die effizienteste Verwendung der einzelnen Prozesse konzipiert sein. Es gibt auch Techniken, die Sie verwenden können, mit denen Sie bei der Bereitstellung einer COM+-Anwendung eine optimale Leistung erzielen können. (Weitere Informationen finden Sie unter Bereitstellen für schnellere Kommunikation.)
Wenn sie mit dem Verwaltungstool Component Services angezeigt wird, wird jede COM+-Anwendung als Ordner angezeigt, in dem Sätze von Komponenten logisch gruppiert sind. Sie können zwar einzelne Komponenten zwischen COM+- Anwendungskomponentenordnern verschieben (d. h. von einer Anwendung in eine andere), aber mehrere Dienste, die auf COM+-Anwendungsebene festgelegt sind, wie z. B. Sicherheit, können sich unterscheiden. Diese Diensteinstellungen können sich auf die Portabilität auswirken.
Eine COM+-Serveranwendung definiert eine Prozessgrenze
Wenn Sie eine neue COM+-Serveranwendung erstellen, definieren Sie tatsächlich eine neue Prozessgrenze. (Beachten Sie die unten erläuterte Ausnahme für Bibliotheksanwendungen.) Dieser Prozess wird zum steuernden Anwendungs-instance für die Komponenten, die in der COM+-Anwendung enthalten sind. Diese Komponenten werden alle in einem neuen instance des ausführbaren COM+-Programms ausgeführt, wenn ein Programm zum ersten Mal eine COM+-Anwendung aufruft. Dies bedeutet, dass alle Komponenten im Komponentenordner einer bestimmten COM+-Anwendung in einem einzelnen Prozessbereich ausgeführt werden, der als DCOM-Server fungiert. Innerhalb der COM+-Anwendung verwaltet COM+ Arbeitsspeicher, Koordination mit dem Distributed Transaction Coordinator (DTC), Just-In-Time-Komponente instance Aktivierung, Absturzerkennung und -wiederherstellung sowie rollenbasierte Sicherheit.
Aufrufen über COM+-Anwendungsgrenzen hinweg
Da jede COM+-Anwendung normalerweise als separate ausführbare Anwendung implementiert wird, führt die Aufteilung einer verteilten Anwendung auf mehrere COM+-Anwendungen zu com-out-of-process-COM-Aufrufen, wenn Komponenten in einer COM+-Anwendung die Komponenten in einer anderen COM+-Anwendung aufrufen. Dies führt zu Leistungseinbußen aufgrund der zusätzlichen Belastung, die das Marshallen von COM-Parametern über Prozesse hinweg mit sich bringt.
Hinweis
Es ist nichts an sich falsch, diese Leistungsstrafe zu erehen; Sie müssen sich nur bewusst sein, dass es auftreten wird. Abhängig von der erforderlichen Antwortzeit, der Anzahl der Benutzer, die gleichzeitig Geschäftsdienste anfordern, und dem zusätzlichen Startaufwand, den jede Komponente jeder COM+-Anwendung hinzufügt, stellen Sie möglicherweise fest, dass der Leistungstreffer, der auf anwendungsübergreifende Aufrufe zurückzuführen ist, akzeptabel ist.
Eine Möglichkeit, die die Leistungseinbußen beim Aufrufen über COM+-Anwendungsgrenzen hinweg beseitigt, besteht darin, eine bestimmte COM+-Anwendung als Bibliotheksanwendung zu markieren. Eine COM+-Bibliotheksanwendung wird im Prozess des Clients ausgeführt, der sie erstellt. Natürlich hat kein Leistungsgewinn null Kosten. In diesem Fall umfasst der Kompromiss die Einschränkungen von COM+-Bibliotheksanwendungen. Eine Bibliotheksanwendung kann zwar rollenbasierte Sicherheit verwenden, aber keine Komponenten in der Warteschlange oder remote zugriff unterstützen.
Zugehörige Themen