Freigeben über


Architekturdiagramm

AppFabric ist eine Weiterentwicklung des Windows-Prozessaktivierungsdiensts (WAS) und der Anwendungsserverrolle in Windows Server, um WCF- und WF-Dienste zu hosten und zu verwalten. In dieser Funktion ist AppFabric eng an .NET Framework 4 ausgerichtet und verwendet eine Reihe von Features, die im Rahmen des Frameworks Schlüsselfunktionalität, wie Persistenz, Überwachung und Hosting von WCF- und WF-Diensten, bereitstellt. AppFabric ist auch in IIS (Internet Information Services, Internetinformationsdienste) integriert, die Verwaltungs- und Überwachungstools innerhalb der IIS-Verwaltungskonsole zur Verfügung stellen.

Das folgende Architekturdiagramm zeigt die Teile von AppFabric sowie .NET Framework 4 und IIS-Komponenten, die von AppFabric verwendet werden:

Abbildung zur Architekturübersicht

In diesem Thema wird schrittweise die AppFabric-Architektur behandelt, indem zu jeder der im Architekturdiagramm beschriebenen Technologien weitere Detailinformationen vermittelt werden.

Erweitern des Windows-Prozessaktivierungsdiensts

Da die Basistechnologien, auf denen AppFabric basiert, im Architekturdiagramm unten dargestellt sind, wird dort mit IIS und WAS begonnen.

IIS und WAS

Die Grundlage, auf der AppFabric basiert, ist die stabile Hostingumgebung, die von IIS und WAS bereitgestellt wird. Hostinganwendungen innerhalb von WAS bieten mehrere Features, die auch in einer dienstorientierten Architektur (Service-oriented Architecture, SOA) wünschenswert sind, wie z. B.:

  • Nachrichtenbasierte Aktivierung von Anwendungen, die das dynamische Starten und Beenden von Anwendungen als Reaktion auf eingehende Nachrichten gestattet.

  • Belastbares Recycling von Anwendungen und Arbeitsprozessen, um den intakten Status ausgeführter Anwendungen aufrecht zu erhalten.

  • Anwendungskonfiguration und -verwaltung.

  • Organisation von Anwendungen in Sites für Adressierungs- und Verwaltungszwecke. Zur Laufzeit werden Anwendungen Anwendungspools zugeordnet, die Laufzeitprozessgrenzen definieren.

Trotz all der vorhandenen Features wird die Bereitstellung, Verwaltung und Überwachung von WCF- und WF-Diensten nicht geleistet, und dem Anwendungsentwickler wird die Last auferlegt, ein Bereitstellungsvehikel, Verwaltungsanleitungen und benutzerdefinierte Überwachungslösungen bereitzustellen. Ferner stellt es aufgrund bedarfsgesteuerter Aktivierung und Recycling von Prozessen eine Herausforderung dar, einen dauerhaft ausgeführten Prozess wie einen Workflow in IIS und WAS zu hosten. Statuspersistenz und Hostaktivierung müssen vom Entwickler ausdrücklich konfiguriert werden, falls sie für die Anwendung erforderlich sind. Diese Schwachstellen werden von AppFabric durch Bereitstellung von Tools und Diensten beseitigt, die Ihnen die unkomplizierte Bereitstellung und Überwachung von Anwendungen sowie die Konfiguration von Features der Hostingumgebung ermöglichen.

Laufzeitdienste und -komponenten

AppFabric bietet Dienste, wie z. B. Persistenz des Status dauerhaft ausgeführter Workflows in einem Persistenzspeicher, inhaltsbasiertes Routing und konfigurationsbasierte Aktivierung.

ASP.NET

Viele der grundlegenden Features, die die WAS-Hostingumgebung interessant machen, wie z. B. Anwendungsdomänen, Lebenszyklusverwaltung, Systemüberwachung, allgemeines Konfigurationssystem und dynamische Kompilierung, werden von ASP.NET bereitgestellt. ASP.NET bietet darüber hinaus nachrichtenbasierte Aktivierung für WCF- und WF-Dienste, die Nachrichten über HTTP erhalten.

WCF und WF

WCF- und WF-Dienste stellen die Bausteine zum Erstellen von SOA-Anwendungen zur Verfügung und stehen im Mittelpunkt von AppFabric. WCF bietet ein einheitliches Programmiermodell für die Entwicklung von SOA-Anwendungen, die über das Web kommunizieren, einschließlich Interoperabilität mit Anwendungen, die mit anderen Technologien erstellt wurden. WF bietet ein Workflowmodul, mit dessen Hilfe dauerhaft ausgeführte Prozesse implementiert werden können.

Weitere Informationen zu WCF und WF finden Sie unter Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF).

Laufzeitdatenbanken

Bei der Implementierung der Statuspersistenz zum Ausführen von Anwendungen oder Erfassen von Überwachungsinformationen ist eine der ersten Erwägungen das Speichermedium für Daten. Besonders für SOA-Anwendungen ist es von wesentlicher Bedeutung, dass dieser Datenspeicher belastbar, sicher, skalierbar und hoch verfügbar ist. Da Ihre Anwendungen aus Komponenten bestehen können, die auf mehreren Servern in einer Farm ausgeführt werden, muss auch der einfache gleichzeitige Zugriff auf den Datenspeicher von mehreren Servern aus gewährleistet sein.

Um diese Kriterien zu erfüllen, speichert AppFabric alle Persistenz- und Überwachungsinformationen in einem Datenspeicher.

Hinweis

Standardmäßig werden sowohl Persistenz- als auch Überwachungsdaten in derselben Datenbank gespeichert. Sie können die Daten jedoch in getrennte Datenbanken aufteilen und sogar zusätzliche Persistenz- und Überwachungsdatenbanken für bestimmte Anwendungen erstellen.

Weitere Informationen zu den von AppFabric verwendeten Datenbanken finden Sie unter Datenbankverwaltung.

Persistenz

Eine der Herausforderungen beim Hosting einer Anwendung besteht darin, sicherzustellen, dass die Anwendung in der Lage ist, Ereignisse wie Systemausfälle oder -neustarts zu überstehen. AppFabric erreicht dies durch Verwendung eines Persistenzanbieters, der WF-Diensten das Speichern des eigenen Status in der Persistenzdatenbank sowie im Falle eines Systemausfalls oder -neustarts das anschließende Fortsetzen der Ausführung auf einem stabilen System ermöglicht.

Über die Bereitstellung von Dauerhaftigkeit im Falle von Systemausfällen oder -neustarts hinaus können dauerhaft ausgeführte WF-Dienste während der normalen Ausführung angehalten werden, um Ressourcen für andere Anwendungen freizugeben, und anschließend den Betrieb fortsetzen, wenn eine Nachricht eintrifft, die von einer persistenten Workflowinstanz verarbeitet werden muss. Die Fortsetzung von WF-Diensten kann auch nach einem bestimmten Intervall ausgelöst werden, indem ein dauerhafter Timer verwendet wird, von dem der Indikator „run at“ für persistente WF-Instanzen überwacht und die betreffende Instanz fortgesetzt wird.

Weitere Informationen zur Persistenz finden Sie unter Persistenzkonzepte.

Hosting

AppFabric integriert die „ServiceHost (Host-WCF)“- und „WorkflowServiceHost (Host-WF)“-Diensthostingumgebung mit IIS und WAS. Beispielsweise nehmen beide Hosts an einem ordnungsgemäßen Herunterfahren und Recycling von appDomain sowie an automatischen Startvorgängen von Anwendungen teil. Während die kombinierte Funktionalität von IIS und WAS eine robuste Hostingumgebung für WCF- und WF-Anwendungen bereitstellt, erfordert das Nutzen dieser Features häufig erhebliche Anstrengungen seitens des Entwicklers beim Bereitstellen und Konfigurieren einer Anwendung. AppFabric stellt einen umfassenden Satz Tools bereit, die eine Konfiguration von Anwendungen in standardisierter Weise, ohne das Erfordernis benutzerdefinierter Bereitstellungslösungen oder manueller Konfigurationsprozeduren, ermöglicht.

Weitere Informationen darüber, wie IIS- und WAS-Technologien von AppFabric genutzt werden, finden Sie unter Hostingkonzepte.

Überwachung

Aufgrund der lose gekoppelten und verteilten Natur von Lösungen, die mit WCF- und WF-Diensten erstellt wurden, stellt deren Überwachung und Problembehandlung häufig ein schwieriges Unterfangen dar, das die Betrachtung jedes einzelnen Prozesses sowie die manuelle Korrelation der beobachteten Ereignisse erforderlich macht, um eine Gesamtübersicht der in der Anwendung ablaufenden Prozesse zu gewinnen. In AppFabric werden Ereignisse aus einer Reihe verschiedener Quellen erfasst und korreliert, um einen umfassenden Einblick in die Ausführung eines aktiven Prozesses zu vermitteln. Diese Daten werden in einer Datenbank gespeichert, aus der sie entweder mithilfe der in der IIS-Verwaltungskonsole befindlichen Überwachungstools oder mit den ApplicationServer-Modul für Windows PowerShell-Cmdlets abgerufen werden können.

Weitere Informationen zur Überwachung finden Sie unter Überwachungskonzepte.

Verwaltungs-APIs

Um eine breite Palette unterschiedlicher Verwaltungsszenarios unterstützen zu können, bietet AppFabric über die ApplicationServer-Modul für Windows PowerShell Zugriff auf alle Verwaltungsfunktionen in Form von Cmdlets. Diese Implementierung bietet Ihnen zahlreiche Möglichkeiten, die Verwaltungsfunktionalität einzusetzen, wie z. B. das interaktive Aufrufen von Cmdlets über die Windows PowerShell-Befehlszeilenshell, das Erstellen von Skripts, aus denen Cmdlets aufgerufen werden, bzw. das Aufrufen von Cmdlets aus einer benutzerdefinierten Anwendung heraus.

Weitere Informationen finden Sie unter Verwaltungstools.

IIS-Manager

Zur Bereitstellung einer zentralen Konfiguration und Verwaltung der WF- und WCF-Dienste bietet AppFabric ein leistungsstarkes Paket mit Verwaltungs- und Überwachungstools für WCF- und WF-Dienste innerhalb von IIS-Manager. AppFabric verwendet außerdem MSDeploy zum Bereitstellen von Diensten in der WAS-Hostingumgebung. Sie können „MSDeploy“ verwenden, um Anwendungen bereitzustellen, die WCF- und WF-Dienste enthalten.

Hinweis

Alle in der IIS-Verwaltungskonsole bereitgestellten Funktionen basieren auf der ApplicationServer-Modul für Windows PowerShell und sind als Windows PowerShell-Cmdlets implementiert. Alle in der Benutzeroberfläche von AppFabric ausgeführten Aufgaben können somit also als Skripts erstellt werden.

Weitere Informationen zu den AppFabric-Erweiterungen für IIS-Manager finden Sie unter Verwaltungstools.

Visual Studio

Visual Studio 2010 stellt eine umfassende Entwicklungsumgebung bereit, die zum Erstellen von Anwendungen, die WCF- und WF-Dienste enthalten, verwendet werden kann. Visual Studio 2010 unterstützt darüber hinaus beim Drücken von F5 das direkte Testen der Diensten innerhalb von AppFabric und bietet die Möglichkeit, Entwicklungspakete für Projekte zu erstellen, die mithilfe von MSDeploy direkt in eine AppFabric-Umgebung importiert werden können.

Weitere Informationen zu Visual Studio 2010 finden Sie unter Visual Studio 2010. Weitere Informationen zur Verwendung von Visual Studio 2010 mit AppFabric finden Sie in den folgenden Themen:

Siehe auch

Konzepte

Architektur (Übersicht)

  2011-12-05