Features und Fähigkeiten
Die Windows Server AppFabric-Hostingfeatures erweitern das Hosten .NET Framework, Version 4, Windows Communication Foundation (WCF) und WF (Windows Workflow Foundation) im Windows-Prozessaktivierungsdienst (Windows Process Activation Service, WAS), indem die folgenden Funktionen bereitgestellt werden:
Vereinfachte Bereitstellung und Verwaltung von den in WAS gehosteten WCF- und WF-Diensten
Vereinfachte Konfiguration von Persistenz für dauerhafte Workflows
Anpassbare Nachverfolgungsprofile, die das selektive Erfassen nur der benötigten Daten ermöglichen
Dedizierte Speicherung von nachverfolgten Daten mit Abfragemöglichkeit
Windows PowerShell-Cmdlets, die das Erstellen von benutzerdefinierten Verwaltungsskripts erlauben
Anpassbare Überwachung gehosteter Dienste
Unterstützt Internet Protocol Version 6 (IPv6) über den Windows IPv6-Stapel
Automatisches Starten von Anwendungen zum Minimieren der Dienstlatenz
Hinweis
Für dieses Feature ist Windows Server 2008 R2 oder Windows® 7 erforderlich.
Die AppFabric-Cachefeatures stellen eine Plattform für verteilten Cache im Arbeitsspeicher zum Entwickeln skalierbarer, verfügbarer und hochgradig leistungsfähiger Anwendungen bereit. Die folgenden Features sind die wichtigsten Cachefeatures in AppFabric:
Alle serialisierbaren CLR-Objekte können zwischengespeichert werden, mit Zugriffsmöglichkeit über einfache Cache-APIs
Skalierbarkeit auf Unternehmensniveau: mehrere 10 bis mehrere 100 Computer
Als Dienst mit Zugriff über das Netzwerk konfigurierbar
Unterstützung für verbreitete Cachekonfigurationen
Unterstützung für dynamische Skalierung durch Hinzufügen weiterer Knoten
Feature für hohe Verfügbarkeit, das ständige Verfügbarkeit zwischengespeicherter Daten durch Speicherung von Kopien dieser Daten auf separaten Cachehosts unterstützt
Automatischer Lastenausgleich
Integration in Verwaltungs- und Überwachungstools, wie etwa Ereignisablaufverfolgung für Windows (ETW) und System Center.
Enge Integration mit ASP.NET, damit ASP.NET-Sitzungsdaten im Cache ohne das Erfordernis, sie in Quelldatenbanken zu schreiben, zwischengespeichert werden können. Diese Funktionalität kann auch als Cache für Anwendungsdaten verwendet werden, damit Anwendungsdaten der gesamten Webfarm übergreifend zwischengespeichert werden können.
Nicht unterstützte Szenarien und Konfigurationen
Mit .NET Framework 4 können Workflowdienste mithilfe von XAML (eXtensible Application Markup Language) definiert werden. AppFabric wurde für die Zusammenarbeit mit den .NET Framework 4-Workflowdiensten konzipiert. Dies beinhaltet Workflowdienste, die mithilfe einer SVC-Datei oder über die neue konfigurationsbasierte Funktion aktiviert werden, die die Aktivierung eines Webdiensts ohne eine SVC-Datei ermöglicht. Weitere Informationen zur konfigurationsbasierten Aktivierung finden Sie unter Konfigurationsbasierte Aktivierung. Weitere Informationen zum Definieren eines Workflows als Dienst mithilfe von XAML finden Sie unter WCF- und WF-Dienste in .NET Framework 4 und „Dublin“ .
In Windows-Prozessaktivierungsdienst (WAS) gehostete WCF- und WF-Dienste bieten jedoch die folgenden Dienstaktivierungs- und Konfigurationsoptionen, die von AppFabric nicht unterstützt werden.
Dienste, die Teil einer vorkompilierten Webanwendung sind, werden nicht unterstützt. Vorkompilierung ist ein Mechanismus, der von ASP.NET zum Verbessern der Websiteleistung verwendet wird. Wenn das ASP.NET-Compilertool die Ressourcen einer Webanwendung bei der ersten Anforderung abruft, wird der Inhalt allgemeiner Dateitypen, die für die Aktivierung verwendet werden (z. B. ASPX oder SVC), in einer Assembly kompiliert. Diese wird dann durch automatisch generierten Text ersetzt. Auf diese Weise wird sichergestellt, dass die Datei auch weiterhin den physischen Eintrittspunkt für die Aktivierung (und die URL) darstellt, auch wenn ihr Inhalt nicht mehr benötigt wird. Die AppFabric-Tools müssen den Inhalt der SVC-Datei analysieren, um die Dienstkonfiguration zu ermitteln und zu verwalten. Nachdem der SVC-Inhalt mithilfe des ASP.NET-Compilers durch automatisch generierten Text ersetzt wurde, kann AppFabric nicht mehr verwendet werden, um diese Dienste aufzulisten und zu verwalten. Wie bereits erwähnt, arbeitet ein .NET Framework 4-Workflowdienst, der mithilfe von XAML definiert wird und Teil einer vorkompilierten ASP.NET-Anwendung ist, auch weiterhin in Windows Server AppFabric. Weitere Informationen finden Sie unter Vorkompilierung von ASP.NET-Websites.
Dienste, die zur Laufzeit mithilfe der Funktion RouteTable.Routes.Add() registriert und aktiviert werden werden, werden nicht unterstützt. Die .NET Framework-Klasse RouteTable wird zum Speichern der URL-Routen für eine Anwendung verwendet. Wenn eine ASP.NET-Anwendung eine Anforderung verarbeitet, iteriert die Anwendung durch die Sammlung der Routen in der Eigenschaft Routen, um die erste Route zu ermitteln, die mit dem Format der URL-Anforderung übereinstimmt. Weitere Informationen finden Sie unter Klasse „RouteTable“.
Hinweis
Das Verwenden von RouteTable für die Dienstregistrierung ist ein gängiges Muster für RESTful-Dienste, die klassische URLs im REST-Stil benötigen. Beispiel: https://server/AutoService/Car/123-345-678.
AppFabric-Hostingfunktionen
Die AppFabric-Hostingfeatures bauen auf WAS auf, um die Hostumgebung für WCF- und WF-Dienste bereitzustellen, und erweitern die IIS-Verwaltungskonsole, um Verwaltungs- und Konfigurationstools für mit WAS gehostete Dienste zur Verfügung zu stellen. Wenn bereits in WAS gehostete WCF- oder WF-Dienste vorhanden sind, ermöglichen die AppFabric-Hostingdienste, diese Dienste aufzuzählen und zu verwalten. Wenn die Dienste jedoch in einem verwalteten Windows-Dienst oder einer eigenständigen Anwendung gehostet sind, müssen die Dienste zuerst in die WAS-Hostumgebung migriert werden, bevor die AppFabric-Hostingfeatures zusammen mit diesen Diensten verwendet werden können.
Wenn Sie aktuell Dienste mit einem anderen Host als WAS bereitstellen, wird empfohlen, die Features und Fähigkeiten von AppFabric sorgfältig zu bewerten, bevor die Entscheidung zur Verlagerung der Dienste nach WAS getroffen wird. Weitere Informationen zu den Hostingoptionen für WCF- und WF-Dienste finden Sie unter Hostdienste (https://go.microsoft.com/fwlink/?LinkId=166423).
Anwendungsbereitstellung
Die aktuellen Methoden zur Anwendungsbereitstellung umfassen die Verwendung von Xcopy oder von Bereitstellungspaketen auf der Basis von Technologien in der Art von Windows Installer. Mit Xcopy werden Anwendungsartefakte von dem Ordner, der einem virtuellen Verzeichnis entspricht, in einen Zielordner verschoben. Bereitstellungspakete werden zum Bereitstellen weiterer Artefakte verwendet, wie etwa Zertifikate, einem Anwendungspool zugeordnete Benutzerkonten, Registrierungseinstellungen und Daten in Datenbanken. Zwar sind die vorhandenen Bereitstellungstechnologien für die Bereitstellung auf Einzelservern geeignet, jedoch ist Xcopy oftmals zu einfach, während die Erstellung eines Windows-Installerpakets häufig zu komplex ist und für die Implementierung unter Umständen spezifische Entwicklerfertigkeiten erfordert. Keins dieser Verfahren ist besonders geeignet, um einen Dienst zur besseren Skalierbarkeit auf einer Serverfarm bereitzustellen.
Das IIS-Webbereitstellungstool, MSDeploy, bietet einfache, paketbasierte Bereitstellungsfunktionalität, die auf der Befehlszeile, in der IIS-Verwaltungskonsole oder in Visual Studio 2010 verwendet werden kann. MSDeploy kann ferner verwendet werden, um einen Computer mit einem anderen zu synchronisieren.
Weitere Informationen zu MSDeploy finden Sie unter Web Deployment Tool for IIS7 (https://go.microsoft.com/fwlink/?LinkId=127069) (englischsprachig).
Anwendungskonfiguration
Eine Schlüsselkomponente für die Verwaltbarkeit von Anwendungen ist die Fähigkeit, das Anwendungsverhalten durch Anwenden von Konfigurationsoptionen zu beeinflussen, ohne den zugrundeliegenden Code zu ändern. AppFabric bietet die folgende Funktionalität für die Konfiguration von gehosteten Anwendungen und Diensten:
Vereinfachte Anwendungskonfiguration: Das Leitprinzip, das den AppFabric-Hostingfeatures zugrundeliegt, besteht darin, dass nur die in den Web.config-Dateien enthaltenen Konfigurationseinstellungen zu Verwaltungszwecken verwendet werden. Auf die im Quellcode definierten Einstellungen kann mithilfe der AppFabric-Verwaltungstools nicht zugegriffen werden, und sie können nicht verändert werden. Dieses Prinzip gilt sowohl für imperativen Code, wie C#, als auch für deklarativen Code, wie XAML. Selbst wenn der Code einfach anzuzeigen ist, wie das bei XAML der Fall ist, werden die Einstellungen trotzdem als gesperrt behandelt und sind nicht zugänglich.
Zum Vereinfachen der Konfigurationsverwaltung wendet AppFabric Standardeinstellungen für jeden Serverknoten an, der mithilfe von Setup konfiguriert wird. Diese Einstellungen werden in der Web.config-Stammdatei definiert und können von jeder gehosteten Anwendung verwendet werden. Ein Administrator kann darüber hinaus mithilfe der Web.config-Datei der Site oder der Anwendung site- oder anwendungsspezifische Konfigurationseinstellungen implementieren, um präziseres Nachverfolgungs- oder Persistenzverhalten für gehostete Anwendungen festzulegen.
In der IIS-Verwaltungskonsole bereitgestellte WCF-Konfigurationsoptionen: Die aktuelle Praxis der WCF-Konfiguration mithilfe des WCF-Dienstkonfigurationseditors (SvcConfigEditor.exe) hält sowohl für Entwickler als auch für IT-Experten Herausforderungen bereit. Insbesondere die Verwendung des Dienstkonfigurationseditors erfordert ein relativ tiefes Verständnis des WCF-Dienstmodells, wodurch IT-Experten mit weiterem Mehraufwand belastet werden.
AppFabric verbessert diese Benutzererfahrung, indem die bekannte IIS-Verwaltungskonsole um die IIS-Verwaltungserweiterungen für WCF und WF erweitert wird, um die häufigsten Konfigurationsaufgaben durchzuführen. Beispiele für Aufgaben, die mithilfe der IIS-Verwaltungserweiterungen ausgeführt werden können, stellen das Aktivieren von Ablaufverfolgung, das Definieren von Drosselungsparametern für Anwendungen und das Aufzählen aller ausgeführten Dienste dar. Weitere Konfigurationsoptionen können mithilfe des AppFabric-Konfigurations-Assistenten oder des IIS-Konfigurations-Editors, der in IIS 7.0 enthalten ist, angewendet werden.
WF-Persistenzkonfiguration: Zum Unterstützen des Konzepts dauerhafter Workflows für Geschäftsprozesse mit langer Ausführungszeit können WF-Dienste persistent in einem Persistenzspeicher fortgeführt werden und die Verarbeitung fortsetzen, wenn ein bestimmtes Ereignis, wie z. B. der Empfang einer Nachricht, eintritt. Das Konfigurieren von Persistenz blieb jedoch weitgehend ein manueller Vorgang, der die Erstellung eines Persistenzdienstes erfordert, der durch einen Mechanismus zur dauerhaften Speicherung unterstützt wird.
Zum Vereinfachen der Konfiguration von Workflowpersistenz und zum Unterstützen von Serverfarmkonfigurationen bieten die AppFabric-Hostingdienste einen auf SQL Server basierenden Persistenzspeicher und einen SQL-Persistenzanbieter, der von jedem in WAS gehosteten dauerhaften Workflow genutzt werden kann. AppFabric erlaubt darüber hinaus die Verwendung eines benutzerdefinierten Persistenzspeichers und -anbieters eigener Wahl. AppFabric ermöglicht wahlweise die Konfiguration von standardmäßigen Persistenzeinstellungen, die von allen gehosteten Anwendungen geerbt werden, oder von Persistenzeinstellungen, die für eine einzelne Anwendung spezifisch sind.
Windows PowerShell-Cmdlets. Zwar ermöglicht die Bereitstellung von Konfigurations- und Verwaltungsoptionen innerhalb der IIS-Verwaltungskonsole eine einfache Verwaltung gehosteter Anwendungen, jedoch ist es häufig sinnvoll, Skripts zu erstellen, mit denen aus vielen Schritten bestehende Konfigurations- und Verwaltungsszenarien automatisiert werden können.
Zum Unterstützen der Erstellung von Skriptlösungen beinhalten die AppFabric-Hostingfeatures das ApplicationServer-Modul für Windows Powershell, das Cmdlets enthält, die das gleiche Maß an Zugriff auf die Konfiguration und Verwaltung gehosteter Anwendungen bereitstellen wie die in der IIS-Verwaltungskonsole enthaltenen Tools.
Anwendungsüberwachung
Über das Vereinfachen der Bereitstellung, Verwaltung und Konfiguration gehosteter Dienste hinaus erleichtern die AppFabric-Hostingdienste außerdem das Überwachen von Anwendungen, indem die zur Laufzeit ausgegebenen Nachverfolgungsinformationen erfasst und in der Überwachungsdatenbank gespeichert werden. Nach der Erfassung sind diese Informationen dann im Dashboard-Feature in der IIS-Verwaltungskonsole oder direkt in der Überwachungsdatenbank verfügbar.
Die aus einer Anwendung gesammelten Informationen können mithilfe von Nachverfolgungsprofilen angepasst werden, um Informationen wie den Aktivitätsstatus (gestartet, beendet, ungültig), den Inhalt bestimmter Variablen in einem Workflow oder – mithilfe eines benutzerdefinierten Nachverfolgungsdatensatzes – benutzerdefinierte Nachverfolgungsinformationen, die von der Anwendung ausgegeben werden, zu erfassen.
Hosten von Anwendungen
Die AppFabric-Hostingdienste bauen auf WAS auf, um eine belastbare Hostingumgebung für WCF- und WF-Anwendungen der mittleren Ebene bereitzustellen. Dies sind einige der von WAS bereitgestellten Features:
Nachrichtenbasierte Aktivierung von Anwendungen und Arbeitsprozess. Anwendungen werden in Reaktion auf Arbeitsaufgaben, die über HTTP oder andere Netzwerkprotokolle eingehen, dynamisch gestartet und beendet.
Belastbares Recycling von Anwendungen und Arbeitsprozessen, um den intakten Status ausgeführter Anwendungen aufrecht zu erhalten.
Zentralisierte Anwendungskonfiguration und -verwaltung.
Über die normalerweise von WAS bereitgestellten Features hinaus bietet .NET Framework 4 Verbesserungen im Bereich der Aktivierung gehosteter Dienste. Die Aktivierung eines Diensts, der mithilfe von .NET Framework 3.5 erstellt wurde, erfordert die Erstellung einer getrennten „Dienstdatei“ (mit SVC-Erweiterung), die zusammen mit dem Dienst bereitgestellt werden muss. Wenn der Dienst WF verwendet, muss darüber hinaus eine zusätzliche XAML-Datei (Extensible Application Markup Language) mit XAML-Erweiterung erstellt und zusammen mit dem Dienst bereitgestellt werden. .NET Framework 4 ermöglicht die direkte Aktivierung eines WF-Diensts ohne das Erfordernis, eine separate SVC-Datei zu erstellen und bereitzustellen. Die XAML-Datei muss die Erweiterung XAMLX aufweisen, um die direkte Aktivierung der zugeordneten WF-Anwendung durch den Host zu ermöglichen. Sowohl WCF- als auch WF-Anwendungen können direkt aus der Web.config-Datei aktiviert werden, ohne dass eine separate SVC-Datei zu benötigt wird. Weitere Informationen zu diesem und anderen Features der WAS-Hostingumgebung finden Sie unter Hosting (https://go.microsoft.com/fwlink/?LinkId=166403).
Die vereinfachte Aktivierung eines gehosteten Diensts beseitigt zwar das Erfordernis einer Dienstdatei, führt jedoch bei den Mechanismen der von WAS verwendeten nachrichtenbasierten Aktivierung nicht weiter. Wenn ein Dienst in WAS gehostet wird, wird keine Dienstinstanz erstellt, bis eine Nachricht empfangen wird, die an den Dienst adressiert ist. Dies bedeutet, dass ein Dienst beim ersten Start eine neue Instanz durch Zuweisen von Arbeitsspeicher, Laden von Bibliotheken und Erstellen von Objekten initialisieren muss. Wenn die Anwendung zeitkritische Daten verarbeitet, ist diese Verzögerung beim Starten einzelner Dienste möglicherweise nicht akzeptabel. Selbst wenn keine zeitkritischen Daten verarbeitet werden, bringt dieses Aufbauen auf nachrichtenbasierter Aktivierung Einschränkungen für die Art, wie der Dienst Daten empfangen kann, mit sich, da für die nachrichtenbasierte Aktivierung ein WAS-Aktivator erforderlich ist. .NET stellt im Lieferzustand einen Aktivator für die folgenden Protokolle bereit:
http: Bietet HTTP-Aktivierung für IIS 7.0 und WCF.
net.tcp: Bietet TCP-portbasierte Aktivierung.
net.pipe: Bietet auf benannten Pipes basierte Aktivierung.
net.msmq: Wird mit MSMQ-Anwendungen (Message Queuing) auf WCF-Basis verwendet.
msmq.formatname: Bietet Abwärtskompatibilität mit vorhandenen MSMQ-Anwendungen.
Zum Überwinden der Einschränkungen der nachrichtenbasierten Aktivierung können die AppFabric-Hostingdienste das in Windows Server 2008 R2 und Windows 7 enthaltene IIS-Feature für den automatischen Start nutzen, um einen mit WAS gehosteten Dienst sofort nach der Bereitstellung automatisch zu starten, statt auf eine Aktivierungsnachricht zu warten.
AppFabric-Cachefeatures
Die AppFabric-Cachedienste verbinden den Arbeitsspeicher über die Grenzen mehrerer Computer hinweg, um Anwendungen den Zugriff auf einen einzelnen, einheitlichen Cache zu ermöglichen. Anwendungen können alle serialisierbaren CLR-Objekte speichern, ohne sich um den Speicherort kümmern zu müssen. Skalierbarkeit lässt sich durch einfaches Hinzufügen weiterer Computer nach Bedarf erreichen. Die AppFabric-Cachedienste ermöglichen außerdem das verteilte Speichern von Kopien im Cluster und bieten so einen Schutz vor Ausfällen. Die AppFabric-Cachedienste enthalten ein ASP.NET-Sitzungsanbieterobjekt, das die Speicherung von ASP.NET-Sitzungsobjekten im verteilten Cache ohne das Erfordernis von Schreibvorgängen in einer Datenbank ermöglicht. Dadurch erhöhen sich Leistung und Skalierbarkeit von ASP.NET-Anwendungen.
Weitere Informationen zu den AppFabric-Cachefeatures finden Sie unter Introduction to Caching with Windows Server AppFabric (https://go.microsoft.com/fwlink/?LinkId=164828) (englischsprachig).
2011-12-05