Einführung in Windows Server AppFabric

Windows Server AppFabric stellt eine Erweiterung für Windows Server dar, die erweiterte Möglichkeiten für Hosting, Verwaltung und Caching für Webanwendungen und Dienste der mittleren Ebene bereitstellt. Die Hostingfeatures von AppFabric fügen den Internetinformationsdiensten (IIS), dem Windows-Prozessaktivierungsdienst (WAS) und dem .NET Framework 4 Hostingfeatures und Erweiterungen zur Dienstverwaltung hinzu. Dies schließt Hostingdienste und Tools zur Hostingverwaltung ein, die das Bereitstellen, Konfigurieren und Verwalten von Diensten auf der Basis von Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) erleichtern. Die AppFabric-Cachefeatures fügen einen verteilten Objektcache im Arbeitsspeicher zu Windows Server hinzu, der das Hochskalieren von hochgradig leistungsfähigen .NET-Anwendungen erleichtert, insbesondere von ASP.NET-Anwendungen.

Heutzutage werden häufig Dienste und dienstorientierte Architekturen in viele Arten von Webanwendungen integriert, vom einfachen Verfügbarmachen eingeschränkter Funktionen als Dienst für die Verwendung durch andere Benutzer bis hin zu Anwendungen, die ihrerseits auf der komplexen Koordinierung vieler Dienste basieren. Das Erfordernis, Anwendungen zu erstellen, die auf einfache Weise an dieser Welt der Dienste teilnehmen und mitwirken können, war nie so groß wie heute. Moderne Webanwendungen weisen als zentralen Bestandteil normalerweise eine datengetriebene Transaktionskomponente (wie etwa für die Bestellungsabwicklung auf einer Website) in Verbindung mit einer stark verteilten Geschäftslogik, die zum Verwalten dieser Transaktionen über eine mittlere Ebene dient, auf.

Oftmals stellt das Bereitstellen, Verwalten und Überwachen von Diensten der mittleren Ebene einen arbeitsintensiven Vorgang dar, der Entwickler zum Erstellen einer Hostinginfrastruktur zwingt und Zeitaufwand zum Erstellen benutzerdefinierter Bereitstellungslösungen für die Anwendungen erfordert. Auch nach dem Bereitstellen einer Anwendung werden Entwickler häufig für ihre Verwaltung benötigt, um manuelle Änderungen an Konfigurationsdateien vorzunehmen. AppFabric kann dazu beitragen, diese Last zu verringern. Dazu wird die Bereitstellung von Diensten vereinfacht und eine anpassbare Überwachungslösung sowie eine umfangreiche Sammlung von Verwaltungstools zur Verfügung gestellt, auf die sämtlich direkt über die IIS-Verwaltungskonsole oder in Form von Skripts mithilfe der AppFabric-Module für Windows PowerShell zugegriffen werden kann.

Entwickler sehen sich auch zunehmend mit der Anforderung konfrontiert, reaktionsschnelle und hochgradig skalierbare Anwendungen zu liefern. Dies betrifft nicht nur Dienste der mittleren Ebene, sondern auch Web-, mobile und Desktopanwendungen. In dem Maß, da die Anforderungen an Anwendungen steigen (z. B. der Bekanntheitsgrad einer Website steigt oder andere Gruppen beginnen, einen freigegebenen Dienst zu verwenden), kann umfangreicher Datenzugriff häufig ernsthafte Einschränkungen der Leistung und Skalierbarkeit von Anwendungen mit sich bringen. Der Einsatz von Caching stellt zwar eine etablierte Lösung im Datenbankkontext dar, wird jedoch auch zunehmend als grundlegender Bestandteil hoch leistungsfähiger Webanwendungen und kombinierter Dienste anerkannt. In beiden Fällen können die AppFabric-Cachedienste zum Verbessern von Leistung und Skalierbarkeit datenintensiver .NET-Anwendungen und -Dienste verwendet werden. Die AppFabric-Cachedienste stellen einen hochverfügbaren, verteilten Cache im Arbeitsspeicher bereit, der unabhängig von den verwendeten Anwendungs- oder Datenebenen leicht und elastisch skaliert (sowohl hoch als auch runter). Dank einer .NET-API und nahtloser Integration in ASP.NET und PowerShell stellen die AppFabric-Cachedienste sicher, dass Sie mit minimalen Codeeingriffen und einer einheitlichen Verwaltungserfahrung Caching für Ihre Lösungen bereitstellen können.

Die folgenden Abschnitte beleuchten einige der Herausforderungen beim Bereitstellen von Diensten der mittleren Ebene und beim Skalieren von Webanwendungen und beschreiben die von AppFabric bereitgestellten Lösungen.

Weitere Informationen zu AppFabric (möglicherweise englischsprachig) finden Sie im Windows Server Developer Center (http://go.microsoft.com/fwlink/?LinkId=182970).

Hostingdienste

Die Aufgabenstellung

Das Einrichten einer Hostingumgebung für eine Anwendung, die WCF- und WF-basierte Dienste umfasst, kann komplex und zeitaufwändig sein. Zwar stellen IIS/WAS eine leistungsfähige Hostingumgebung für solche Anwendungen bereit, das Nutzen ihrer Features kann jedoch erhebliche Entwicklungsanstrengungen, benutzerdefinierte Bereitstellungslösungen und manuelle Konfigurationsprozeduren erforderlich machen. Sobald eine Lösung bereitgestellt und konfiguriert ist, kann die Verwaltung der Dienste die nächste Herausforderung darstellen.

Die Lösung

Mithilfe der AppFabric-Hostingdienste können WCF- und WF-basierte Dienste schnell und einfach fertig- und bereitgestellt werden. Sie können die Hostingfähigkeiten von AppFabric nutzen, ohne weitere Hostingfeatures entwickeln zu müssen. Die Hostingdienste erweitern die Hostingfähigkeiten von WAS, indem sie eine Standardkonfiguration der WAS-Hostingumgebung bereitstellen. Die Hostingdienste umfassen Features, die vom Workflowverwaltungsdienst bereitgestellt werden, einschließlich Sperre/Wiederholung, automatischer Start, permanente Zeitgeber und eine Befehlswarteschlange.

Die AppFabric-Hostingverwaltung bietet Tools, mit denen sich die Verwaltung von ausgeführten Workflowinstanzen erheblich vereinfachen lässt, sowie Fähigkeiten zur Steuerung, Überwachung und Abfrage. Darüber hinaus können WAS und die von WAS gehosteten Anwendungen auf standardisierte Weise konfiguriert werden. Die Tools zur Hostingverwaltung ermöglichen die Konfiguration von Dienstendpunkten, die Verwaltung der Aktivierung des automatischen Starts und die Konfiguration von Sicherheits- und Leistungseinstellungen.

Weitere Informationen zu den Hostingmöglichkeiten in AppFabric finden Sie unter Hostingkonzepte.

AppFabric-Arbeitsspeichercache-Plattform

Die Aufgabenstellung

Die Verwendung eines Caches im Arbeitsspeicher zum Speichern häufig verwendeter Anwendungsdaten ist eine seit langem etablierte Methode zum Verbessern der Anwendungsleistung. Das Lesen aus dem und das Schreiben in den Arbeitsspeicher erfolgt um Größenordnungen schneller als das Lesen von und das Schreiben auf Festplatten. Die Größe eines Caches im Arbeitsspeicher ist jedoch im Allgemeinen durch die Menge des auf dem Computer, auf dem die Anwendung ausgeführt wird, verfügbaren Arbeitsspeichers beschränkt, und die in einem Cache im Arbeitsspeicher gespeicherten Daten sind aufgrund der prinzipbedingten Flüchtigkeit von Computerarbeitsspeicher durch Totalverlust bedroht. Die Entwicklung von Anwendungen, die einen Cache im Arbeitsspeicher in vollem Umfang nutzen können, ist jedoch ferner durch das Fehlen einer API (Application Programming Interface, Anwendungsprogrammierschnittstelle) zum Speichern und Abrufen von Objekten in einem Cache im Arbeitsspeicher eingeschränkt. Die Entwicklung von Anwendungen, die Cachetechniken einsetzen, kann außerdem durch fehlende Funktionalität zur Cacheverwaltung behindert werden.

Die Lösung

Die Cachefeatures von AppFabric können Sie bei der einfachen und kostengünstigen Skalierung von .NET-Anwendungen unterstützen, indem sie die Zusammenfassung der Speicherkapazität mehrerer Computer in einem einzelnen, einheitlichen Cachecluster ermöglichen. Diese Features umfassen die Cachedienste, den Cacheclient und die Tools zur Cacheverwaltung. Die Cachedienste von AppFabric sind in hohem Maß skalierbar, wodurch die Konfiguration vieler Computer als Knoten eines Cacheclusters ermöglicht wird, der dann als einzelner, einheitlicher Speichercache verfügbar ist. Die Cachedienste stellen ein Feature für hohe Verfügbarkeit bereit, das die ständige Verfügbarkeit der zwischengespeicherten Daten durch Speichern von Kopien dieser Daten auf getrennten Cachehosts unterstützt. Wenn für einen Cluster mit mehreren Servern hohe Verfügbarkeit aktiviert ist, kann die Anwendung ihre zwischengespeicherten Daten beim Ausfall eines Cacheservers immer noch abrufen.

Der Cachedienst stellt einen umfangreichen Satz vollständig dokumentierter APIs zum Integrieren der Verwendung eines Caches im Arbeitsspeicher in .NET-basierte Anwendungen zur Verfügung. Darüber hinaus besteht nahtlose Integration mit ASP.NET zum Speichern des Sitzungsstatus im Cache. Damit steht für ASP.NET-basierte Websites ein kostengünstiger Weg für die schnelle Verbesserung von Leistung und Skalierbarkeit der Site zur Verfügung. Die AppFabric-Cacheverwaltung bietet eine vollständige Sammlung von Verwaltungstools für die Erstellung, Konfiguration und Verwaltung von Caches im Arbeitsspeicher. Die Cache- und Hostingfeatures von AppFabric sind in einem integrierten Installationspaket zusammengefasst.

Weitere Informationen finden Sie unter Windows Server AppFabric-Cachefeatures.

Persistente Workflows

Die Aufgabenstellung

Das Bereitstellen von zustandsbehafteten Diensten mit langer Ausführungszeit in Windows Workflow Foundation kann eine Herausforderung darstellen. Zum Einrichten von Persistenz, um die Dauerhaftigkeit von Workflows sicherzustellen, müssen ggf. ein Persistenzspeicher und ein Schema erstellt werden, dann eine Persistenzdatenbank eingerichtet und diese anschließend konfiguriert werden. In der Produktionsumgebung besteht möglicherweise eine Datenbank, die an Instanzen der aufgerufenen dauerhaften Workflows festhält. Einige dieser Workflowinstanzen wurden möglicherweise angehalten, andere werden ausgeführt. Es kann schwierig sein, den Zustand des Systems zu ermitteln.

Die Lösung

Bei AppFabric funktioniert Persistenz gleich nach dem Installieren. Die AppFabric-Hostingdienste verwenden den SQL-Persistenzspeicher, der zum Lieferumfang von .NET Framework 4 gehört, und erstellen eine standardmäßige Persistenzdatenbank, die von Ihren Anwendungen genutzt werden kann und das Skalieren Ihrer zustandsbehafteten Dienste auf einen ganzen Satz von Computern ermöglicht. Sie können einen benutzerdefinierten Persistenzspeicher Ihrer Wahl verwenden. Die Hostingverwaltung von AppFabric stellt zudem die erforderlichen Tools bereit, die zum Überwachen der Aktivität in der Persistenzdatenbank oder in Workflows mit langer Ausführungszeit erforderlich sind.

Weitere Informationen zu Persistenzfeatures in AppFabric finden Sie unter Persistenzkonzepte.

Überwachen von Diensten

Die Aufgabenstellung

Bei WCF- und WF-basierten Anwendungen ist nicht immer ersichtlich, was mit Diensten und Workflowinstanzen geschieht. Wenn Dienste und Workflows auf mehreren Computern ausgeführt werden, wo werden diese aktiviert? Wie viele von ihnen werden aktiviert? Was ist ihr jeweiliger Status? Werden Fehler ausgegeben?

Die Lösung

Die AppFabric-Hostingdienste und die -Hostingverwaltung erlauben das Durchführen von Systemüberwachung und Problembehebung ausgeführter WCF- und WF-Dienste und das Steuern dieser Dienste. Dies erfolgt auf der Seite AppFabric-Dashboard im IIS-Manager. Mithilfe des AppFabric-Dashboards können Sie den Status des Systems ständig im Blick behalten. Das Überwachen von Daten kann Sie bei der besseren Steuerung von Workflowinstanzen unterstützen. Ferner verfügen Sie über die Flexibilität, die Abfragen zum Generieren der Daten zu ändern und eine Überwachungsstufe auszuwählen, die ausreichend Informationen zum Überwachen des Zustands der Anwendungen bereitstellt, zugleich aber die durch die Überwachung bedingte Leistungseinbuße auf einem angemessenen Niveau hält. Die AppFabric-Überwachung basiert auf den Fähigkeiten zur Nachverfolgung und Ablaufverfolgung von .NET Framework.

Ereignisse werden in einer Überwachungsdatenbank gespeichert, auf die über die Tools zur Hostingverwaltung zugegriffen werden kann. Ein Nachverfolgungsteilnehmer schreibt Ereignisse in eine Sitzung der Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW), und der zusammen mit den Hostingfeatures von AppFabric installierte Ereignisauflistungsdienst liest die Ereignisse aus der ETW-Sitzung, wodurch eine leistungsfähige Datenverarbeitung bereitsteht. Beim Installieren der Hostingfeatures von AppFabric richtet das Installationsprogramm eine konfigurierbare Überwachungsinfrastruktur ein, die für die Verwendung in Ihrer Produktionsumgebung ausgelegt ist. Sie können den in .NET Framework enthaltenen SQL-Überwachungsspeicher oder einen benutzerdefinierten Speicher Ihrer Wahl verwenden. AppFabric kann für die automatische Bereinigung der Überwachungsdatenbank konfiguriert werden.

Weitere Informationen zu Überwachungsfeatures in AppFabric finden Sie unter Überwachungskonzepte.

Verwaltungstools

Die Aufgabenstellung

IT-Experten und Entwickler benötigen leistungsfähige und einfach zu verwendende Tools, die sie bei der Arbeit mit WCF- oder WF-basierten Diensten in einer Produktionsumgebung unterstützen. Zum Verwalten einer Anwendung kann die Verwendung mehrerer Tools und die manuelle Bearbeitung von Konfigurationsdateien erforderlich sein. Möglicherweise sind keine dienstbezogenen Daten sichtbar, und die Konfiguration entzieht sich der Kontrolle. Die Konfiguration einer Anwendung lässt sich möglicherweise nur schwer festlegen, da dies den Zugriff auf mehrere Konfigurationsdateien mit dem Dienstkonfigurationseditor zum Öffnen und Bearbeiten der Konfigurationselemente erfordert.

Die Lösung

Die AppFabric-Hostingfeatures stellen einen umfassenden Satz von Erweiterungen des IIS-Managers für die Dienstverwaltung bereit. Das AppFabric-Dashboard gibt Ihnen den visuellen Zugriff auf den Systemzustand, und die einheitliche Konfigurationsoberfläche verleiht Ihnen die Kontrolle über Ihre Dienstkonfiguration. Erforderlichenfalls können Sie persistente Workflowinstanzen fortsetzen, anhalten, abbrechen oder beenden und Dienste starten oder beenden. Da die Benutzeroberfläche auf IIS-Manager basiert, sind Administratortätigkeit und Tools für WCF- und WF-basierte Dienste ähnlich wie für Webanwendungen. Viele Aufgaben der Anwendungsverwaltung können im IIS-Manager ausgeführt werden und ersparen so den Wechsel von Tools und das manuelle Bearbeiten von Konfigurationsdateien.

In der AppFabric-Erweiterung für IIS-Manager können die Dienste auf einem Server leicht aufgezählt werden, und das Ändern von Abfragen zum Anpassen der Daten erfolgt auf einfache Weise. Sie sehen, wie viele Workflowinstanzen ausgeführt werden und wie viele sich in einem nicht ausgeführten Status befinden. Persistente Workflowinstanzen oder Nachverfolgungs-Workflowinstanzen können angezeigt werden.

Im IIS-Manager kann die Konfiguration für einen Dienst in einem einzelnen Dialogfeld angezeigt werden. In diesem Dialogfeld können sowohl die Konfiguration für einen Dienst als auch die Standardkonfigurationseinstellungen für eine Anwendung, eine Website oder einen Server, die von einem Dienst durch Vererbung übernommen werden können, festgelegt werden. Der AppFabric-Hostingdienst macht sich die Fähigkeiten von .NET Framework 4 zum Zusammenführen von Verhalten zunutze, die einem Dienst das Erben von Konfigurationseigenschaften von jeder beliebigen Ebene der IIS-Hierarchie ermöglicht. In vielen Konfigurationsszenarien ermöglichen die Hostingdienste, Konfigurationseinstellungen in der entsprechenden Web.config-Datei ohne direkten Zugriff auf diese Datei vorzunehmen.

Die Tools zur Hostingverwaltung umfassen Windows PowerShell-Cmdlets, mit deren Hilfe Anwendungen von der PowerShell-Konsole oder mithilfe von Skripts verwaltet werden können, die eine automatische Konfiguration ermöglichen. Diese PowerShell-Module schließen das ApplicationServer-Modul für die AppFabric-Hostingdienste und die Module DistributedCacheAdministration und DistributedCacheConfiguration für die AppFabric-Cachedienste ein.

AppFabric enthält einen Setup-Assistenten zur Installation der AppFabric-Hosting- und -Cachefeatures und einen Konfigurations-Assistenten zum Konfigurieren dieser Features. AppFabric kann auch mithilfe von WebPI installiert werden.

Weitere Informationen zu den AppFabric-Verwaltungstools finden Sie unter Verwaltungstools.

Entwickeln von Diensten

Die Aufgabenstellung

Häufig müssen bei einem neuen Produkt auch neue Verfahren zum Entwickeln von Anwendungen erlernt werden, um die neuen Features nutzen oder die Integration in das Produkt realisieren zu können.

Die Lösung

Bei den AppFabric-Hostingdiensten bestehen keine besonderen Anforderungen für das Erstellen einer Anwendung über das Erfordernis hinaus, dass die Anwendung in der IIS/WAS-Hostingumgebung mithilfe des Windows-Prozessautomatisierungsdiensts (WAS) gehostet werden kann. Die Standardprojektvorlagen in Visual Studio® (WCF-Dienstanwendung und WCF-Workflowdienstanwendung) unterstützen IIS/WAS und können von AppFabric ohne Änderungen verwaltet werden. Wenn Sie aktuell über Anwendungen verfügen, die in WAS gehostet werden, können sie ohne Änderungen in AppFabric bereitgestellt werden.

Weitere Informationen zum Entwickeln einer Anwendungzur Verwendung in AppFabric finden Sie unter Entwickeln einer Anwendung.

Bereitstellen von Diensten

Die Aufgabenstellung

Das Bereitstellen eines Diensts auf einem anderen Server oder das Bereitstellen auf mehreren Servern mit identischer Konfiguration kann schwierig sein.

Die Lösung

Die AppFabric-Hostingdienste nutzen das Microsoft-Webbereitstellungstool zum Bereitstellen von Diensten in ihrer Hostingumgebung. Das Webbereitstellungstool integriert sich sowohl in die IIS- als auch in die Visual Studio-Umgebung, daher können Dienste auf einfache Weise direkt aus Visual Studio gepackt und bereitgestellt oder fertig gepackte Anwendungen direkt aus dem IIS-Manager bereitgestellt werden.

Weitere Informationen zum Bereitstellen von Anwendungen in AppFabric finden Sie unter Typische Bereitstellungen und Bereitstellen einer Anwendung.

Erweiterbarkeit von Hostingdiensten und Verwaltung

Die Aufgabenstellung

Auf einigen fertig verpackten Lösungen kann nur schwierig aufgebaut werden.

Die Lösung

Die AppFabric-Hostingfeatures stellen Erweiterungspunkte bereit, auf denen benutzerdefinierte Lösungen aufbauen können. Dem IIS-Manager können Module hinzugefügt werden, und Sie können eigene Tools mit grafischer Benutzeroberfläche für Cmdlets der AppFabric-Hostingverwaltung erstellen. Den Zielbenutzern der Anwendung kann eine eigene Benutzeroberfläche zur Verfügung gestellt werden. Sie können eigene Cmdlets erstellen oder Piping verwenden, um AppFabric-Cmdlets nach Bedarf zu kombinieren. Erweiterungspunkte stehen auch für die Überwachungs- und Persistenzfähigkeiten der Hostingdienste zur Verfügung. Es können benutzerdefinierte Überwachungs- und Persistenzspeicher eingesetzt werden.

Weitere Informationen zur Erweiterbarkeit in AppFabric finden Sie unter Erweiterbarkeit von AppFabric.

  2011-12-05