MSDN Magazin > Home > Ausgaben > 2007 > March >  IIS 7.0: Webserver für Windows V...
IIS 7.0
Webserver für Windows Vista und mehr
Mike Volodarsky

Themen in diesem Artikel:
  • Modulare Webserverfunktionalität
  • Vereinfachte Bereitstellung und Konfiguration
  • Erweiterbarkeit und ASP.NET-Integration
  • Höhere Sicherheit, Leistung und Kompatibilität
In diesem Artikel werden folgende Technologien verwendet:
Windows Vista, IIS
Ich höre oft, wie die Benutzer bei Microsoft und auch Benutzer außerhalb des Unternehmens den neuen IIS 7.0-Webserver als eine der wichtigsten Entwicklungen von Microsoft in den vergangenen Jahren bezeichnen. In Anbetracht der langen Reihe von Technologien, die Microsoft kürzlich veröffentlicht hat, z. B. Windows Vista™, ist das eine recht bedeutende Aussage!
Die Veröffentlichung von IIS 7.0 fällt mit dem 10. Jahrestag der Veröffentlichung der ersten Version von IIS zusammen, damals noch in Windows NT® 4.0. Im Jahr 2001 und vier Versionen später war IIS 5.0 der am weitesten verbreitete Webserver im Internet, obwohl dieser Server nur wenige Monate später den Würmern Code Rot und Nimbda zum Opfer gefallen ist. IIS 6.0 wurde mit Windows Server® 2003 auf den Markt gebracht. Diese Version war im Prinzip eine komplette Überarbeitung des Servers, bei der viel Wert auf die Verbesserung von Sicherheit, Zuverlässigkeit und Leistung gelegt wurde. Seit dieser Zeit hat sich IIS 6.0 als äußerst solider Webserver bewährt. Die hohe Zuverlässigkeit und die große Sicherheit erforderten dabei nur ein einziges wichtiges Security Bulletin seit der Veröffentlichung (wobei die behandelte Sicherheitsanfälligkeit noch nicht einmal von einem Remotestandort ausnutzbar war).
In diesem Artikel sollen die wichtigsten Gründe dargelegt werden, warum der IIS 7.0-Webserver der nächsten Generation für Entwickler und Administratoren gleichermaßen einen so großen Unterschied ausmacht, und Sie sollen zudem einen kleinen Vorsprung bei der Verwendung vieler neuer Features erhalten.
Für IIS 7.0 galt die Zielsetzung, auf der Grundlage der Geschwindigkeit, Zuverlässigkeit und Sicherheit der IIS 6.0-Codebasis eine äußerst erweiterbare und verwaltbare Webserverplattform aufzubauen, die so leistungsfähig ist, dass auch die Webanwendungen der Zukunft darauf laufen. Das Ergebnis ist der bislang anspruchsvollste Microsoft-Webserver aller Zeiten, und das mit der größten Anzahl von Verbesserungen an der Architektur im gesamten Produktzyklus von IIS.
Das Herzstück der IIS 7.0-Version bildet ein vollständig modularer Webserver mit mehr als 40 Features, die sich ganz nach Bedarf zu kompakten Webservern für die verschiedenen Rollen in der Anwendungstopologie zusammenstellen lassen. Diese Features beruhen auf einer neuen Erweiterungsschicht, mit der die Entwickler in der Lage sind, praktisch alle Aspekte des Servers zu erweitern oder auszutauschen, wahlweise in systemeigenem Code oder mit Microsoft® .NET Framework. Die Erweiterbarkeit von IIS 7.0 ergibt sich aus den Laufzeit-, Verwaltungs- und Betriebsfeatures, mit denen Sie End-to-End-Lösungen für Ihre speziellen Anforderungen erstellen können. Neben der Hauptplattform bietet IIS 7.0 auch Lösungen für viele Probleme im Zusammenhang mit der Verwaltbarkeit und dem Betrieb des Servers. Diese Version umfasst ein vollkommen neues Konfigurationssystem, das für die vollständig delegierte Verwaltung von Websites sorgt und endlich die xcopy-Bereitstellung von Webanwendungen ermöglicht. Die neuen Verwaltungs-APIs und die Diagnosefeatures machen die Bereitstellung, Verwaltung und Fehlerbehebung bezüglich der Server deutlich einfacher und so bequem wie nie zuvor.
Aber warum sollen Sie über IIS nachdenken, also über eine Serveranwendung, bevor die Veröffentlichung der nächsten Version von Windows Server mit dem Codenamen „Longhorn“ überhaupt in greifbare Nähe rückt? Windows Vista enthält bereits jetzt dieselben voll funktionsfähigen Bestandteile von IIS 7.0, wie sie in Windows Server „Longhorn“ veröffentlicht werden sollen. Das bedeutet, dass Sie mit den neuen IIS 7.0-Features sofort Ihre persönliche Website erstellen und auf Windows Vista hosten können. Das ist aber noch nicht alles. Sie sichern sich einen vielleicht entscheidenden Vorteil, wenn Sie Ihre Produktionswebanwendungen und Ihre Webserverinfrastruktur auf derselben IIS-Plattform entwickeln und testen, die später in Windows Server „Longhorn“ bereitstehen wird.
Interessiert? Dann geht es jetzt ins Detail.

Modularer Webserver
IIS 7.0 gliedert den Webserver in einen einfachen Serverkern und mehr als 40 Featuremodule, die in diesen Kern integriert werden können. Diese Module können unabhängig voneinander auf dem Server installiert werden, sodass Sie stets den gewünschten Funktionsumfang erhalten, ähnlich wie StaticFileModule (zum Herunterladen statischer Webinhalte) oder WindowsAuthModule (unterstützt die integrierte NTLM-Authentifizierung).
Diese Module lassen sich zudem jederzeit vollständig vom Server deinstallieren (siehe Abbildung 1) oder explizit für bestimmte Anwendungen deaktivieren, in denen sie nicht erforderlich sind. Damit sind die Serveradministratoren in der Lage, rasch äußerst kompakte Server mit deutlich verkleinerter Angriffsfläche bereitzustellen und die Leistung erheblich zu steigern, weil nur der tatsächlich notwendige Code ausgeführt wird.
Abbildung 1 Features nach Wunsch – und sonst nichts (Klicken Sie zum Vergrößern auf das Bild)
Die in Komponenten gegliederte Architektur ist eine wichtige Eigenschaft von IIS 7.0, die zu geringeren Sicherheitsrisiken führt und die Patchanforderungen minimiert. Diese Architektur ermöglicht zudem spezielle Serverbereitstellungen, in denen ausgewählte IIS-Features und benutzerdefinierte Komponenten, die für eine bestimmte Serverrolle in der Anwendungstopologie optimiert sind, kombiniert werden (z. B. Reverseproxys und Cacheserver, Vorrichtungen für den HTTP-Protokoll-Lastenausgleich, SSL- und Sicherheitsüberwachungsserver).
Aller Serverfeatures in IIS 7.0 beruhen auf neuen APIs für die öffentliche Erweiterbarkeit. Als Entwickler haben Sie die Möglichkeit, die vorhandenen Serverfeatures durch eigene Features zu ersetzen oder auch ein neues Modul zu erstellen und dieses den IIS 7.0-Features hinzuzufügen. Würden Sie gern die integrierten Authentifizierungsmechanismen durch ein benutzerdefiniertes Authentifizierungsmodul ersetzen oder eine neue Art der Antwortkomprimierung einführen? Nur zu.
Die neuen Erweiterbarkeits-APIs bilden eine grundlegende Verbesserung im Vergleich zum bisherigen ISAPI-Erweiterbarkeitsmodell. Mit diesen APIs sind Sie in der Lage, den Server auf deutlich flexiblere, komfortablere Weise zu optimieren. Praktisch jeder Aspekt des Servers, vom eigentlichen Hauptserver über die Konfiguration und Verwaltung bis hin zur Diagnose, lässt sich erweitern und an Ihre individuellen Anforderungen anpassen. Weitere Informationen zur Erweiterbarkeit finden Sie weiter unten in diesem Artikel.

Vereinfachte Bereitstellung und Konfiguration
Der zentrale Konfigurationsspeicher der bisherigen IIS-Veröffentlichungen, auch liebevoll als Metabase bezeichnet, gehört der Vergangenheit an. IIS 7.0 umfasst nunmehr ein neues, delegiertes Konfigurationssystem auf Grundlage einer Hierarchie verteilter XML-Konfigurationsdateien. Diese Hierarchie besteht aus der globalen applicationHost.config-Datei mit Konfigurationsstandards auf Serverebene sowie aus verteilten web.config-Dateien innerhalb der Verzeichnisstruktur der Anwendung. Dies sind dieselben web.config-Dateien, mit denen im ASP.NET-Anwendungsframework die Anwendungseinstellungen in mobiler Form gespeichert werden. Damit können Sie IIS- und ASP.NET-Konfigurationen parallel anhand von eindeutigen, klar strukturierten XML-Richtlinien zu speichern. Hier ein Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <customErrors mode="Off" />
    </system.web>
    <system.webServer>
      <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

In der Vergangenheit mussten die IIS-Anwendungseinstellungen explizit im Metabaserepository auf Computerebene konfiguriert werden, bevor die Anwendung überhaupt einwandfrei arbeitete. Mit verteilten web.config-Dateien kapseln die Anwendungen die jeweils erforderliche Serverkonfiguration innerhalb der eigenen Verzeichnisstruktur ein. Dies vereinfacht die Bereitstellung immens: Eigenständige Anwendungen lassen sich einfach in das Anwendungsverzeichnis des Zielservers kopieren und stehen gleich komplett mit den gewünschten Einstellungen zur Verfügung.
Das neue Konfigurationssystem gibt außerdem den Serveradministratoren umfassende Kontrolle. Die Administratoren können beispielsweise bestimmte Konfigurationsoptionen für die Anwendung delegieren und andere Optionen aus Sicherheitsgründen oder aus geschäftlichen Gründen selbst behalten. Bei Anwendungen auf gehosteten Servern ist es somit möglich, die grundlegende Konfiguration direkt festzulegen, ohne dass der Serveradministrator eingreifen oder ein externes Konfigurationstool zum Einsatz kommen muss.
Ganz nach der Wesensart von IIS 7.0 ist das Konfigurationssystem vollständig erweiterbar. Neue Module können ein eigenes Konfigurationsschema hinzufügen, sodass die Anwendungen ihre Features parallel zur IIS- und ASP.NET-Konfiguration konfigurieren können:
<configuration>
    <system.webServer>
      <directoryBrowse enabled="true" />
    </system.webServer>
    <myBandwidthThrottler enabled="true" />    
</configuration>

Die benutzerdefinierten Konfigurationsabschnitte nutzen dasselbe Konfigurationsschema wie die Konfiguration für die IIS 7.0-Features. Besonderen Stellenwert nehmen hierbei die streng in Typen gegliederten Attributwerte, die Erfassungssyntax und das hierarchische Außerkraftsetzen und Sperren der Semantik ein.
IIS 7.0 unterstützt nach wie vor den bereits vorhandenen Setupcode, der über die ABO-APIs (Admin Base Object) in die ältere Metabase oder in die Skripts schreibt, mit denen IIS über die allgemeineren ADSI- und WMI-Objekte (Active Directory®-Dienstschnittstellen bzw. Windows-Verwaltungsinstrumentation) konfiguriert wird. Hierzu wird eine Kompatibilitätsebene zur Verfügung gestellt, die die ABO-APIs emuliert, auf denen wiederum alle anderen älteren Konfigurations-APIs beruhen. Diese Skripts können somit die Konfiguration wie in den bisherigen IIS-Versionen lesen und ändern. (Weitere Informationen zur Metabasekompatibilität finden Sie im Abschnitt „Verbesserte Leistung“ und „Abwärtskompatibilität“ weiter unten in diesem Artikel.) Das neue, strukturierte XML-Konfigurationsformat vereinfacht die Konfiguration in Ihrem bevorzugten Editor. Daneben bietet IIS eine Vielzahl von Verwaltungstools und APIs für Administratoren, die die Serververwaltung erleichtern und die automatisierte Konfiguration und Bereitstellung ermöglichen.

Verbesserte Verwaltung
IIS 7.0 umfasst ein reichhaltiges Angebot an Verwaltungsfeatures, die für die Verwaltung des Servers in unzähligen Szenarios sorgen. Das neue grafische IIS Manager-Verwaltungstool, das das MMC-Snap-In „InetMgr.exe“ ablöst, macht die manuelle Serververwaltung dank der aufgabenbasierten Verwaltungsschnittstelle zum Kinderspiel (siehe Abbildung 2).
Abbildung 2 IIS Manager bietet grafische Verwaltungstools (Klicken Sie zum Vergrößern auf das Bild)
Mit IIS Manager können Sie den Großteil der Features in IIS 7.0 verwalten und den Serverbetrieb überwachen. Das Tool unterstützt die Remoteverwaltung über eine firewallfreundliche HTTP/SSL-Verbindung, wobei wahlweise Windows-basierte und andere Anmeldeinformationen zur Authentifizierung genutzt werden können.
Das ist aber noch nicht alles: Das Tool ermöglicht die delegierte Verwaltung, sodass die Anwendungsbesitzer ihre Anwendungen von einem Remotestandort aus verwalten können, ohne Administratorzugriff auf den Servercomputer zu benötigen. Mit dieser Funktion in der Hinterhand können die Benutzer gehosteter Dienste das Verwaltungstool auf ihrem Heimdesktop ausführen, eine Remoteverbindung zum gehosteten Server herstellen und dort ihre Anwendungen verwalten. Die Serveradministratoren besitzen selbstverständlich die uneingeschränkte Kontrolle über die Verwaltungsfeatures, die an die Anwendungsbesitzer delegiert werden.
Des Weiteren ist das Administrationstool vollständig erweiterbar, und das über die Erweiterbarkeit des Konfigurationssystems hinaus, sodass Sie eine benutzerdefinierte Verwaltungsbenutzeroberfläche in das Tool eingliedern können. Weitere Informationen zum IIS Manager-Tool und zum Hinzufügen eigener Verwaltungs-Plug-Ins finden Sie unter iis.net/default.aspx?tabid=7&subtabid=73 (auf Englisch).
Für die flexiblere Befehlszeilenverwaltung bietet IIS 7.0 das Befehlszeilenprogramm „appcmd.exe“ (siehe Abbildung 3). Dieses Tool umfasst eine Reihe von Verwaltungsfunktionen und bietet eine bessere Unterstützung für Massenvorgänge als die Benutzeroberfläche. Mit diesem leistungsfähigen Dienstprogramm können Sie die Konfiguration mühelos lesen und in die Konfiguration schreiben, auf Daten zum Status der Websites und Anwendungspools zugreifen und nahezu alle anderen Verwaltungsaufgaben durchführen, und das alles über die Eingabeaufforderung.
Abbildung 3 Befehlszeileverwaltung für IIS 7.0 mittels appcmd.exe (Klicken Sie zum Vergrößern auf das Bild)
Mit appcmd.exe erstellen und konfigurieren Sie Websites, Anwendungen, Anwendungspools und virtuelle Verzeichnisse. Sie können Websites starten und stoppen, Anwendungspools wiederverwerten, die laufenden Arbeitsprozesse auflisten, die derzeit ausgeführten Anforderungen untersuchen und FREB-Ablaufverfolgungsprotokolle (Failed Event Request Buffering) durchsuchen. Darüber hinaus können Sie IIS- und ASP.NET-Konfigurationsdaten durchsuchen, bearbeiten, exportieren und importieren.
Das Tool ermöglicht flexible Suchvorgänge für unterstützte Serverobjekte. Ermitteln Sie beispielsweise alle Websites mit einer bestimmten Einstellung oder alle gestoppten Anwendungspools. Bei einer Suche lassen sich beliebig viele Bedingungen für die Eigenschaften des Objekts festlegen. Unter anderem können Sie numerische Bereiche verwenden und einfach mit Platzhaltern nach Zeichenfolgen suchen.
Appcmd unterstützt außerdem verknüpfte Vorgänge wie in der Windows PowerShell™, sodass mehrere Vorgänge für einen zusammengehörigen Objektsatz gemeinsam über eine einzige Befehlszeile durchgeführt werden können. So können Sie beispielsweise einem einzigen Befehl alle Anwendungspools mit suchen und wiederverwerten, die Anwendungen für eine bestimmte Website hosten. Weitere Informationen zur Verwaltung von IIS mit AppCmd finden Sie unter iis.net/default.aspx?tabid=2&subtabid=25&i=954&p=1 (auf Englisch).

.NET-Framework und Skriptprogrammierung
Neben der manuellen Serververwaltung mit IIS Manager oder dem Befehlszeilenprogramm „appcmd.exe“ bietet IIS 7.0 eine wahre Fülle an Optionen für die programmatische Verwaltung. Verwalten Sie beispielsweise den Server mithilfe der Microsoft.Web.Administration-API über .NET-Anwendungen. Außerdem können Sie das IIS-Konfigurationssystem über die neue COM-API direkt verwalten oder auch aus einer Skriptprogrammierungsumgebung wie ASP oder Windows® Skripthost (WSH) darauf zugreifen. Auch ein neuer WMI-Anbieter ist zu vorhanden, und die Metabase-Kompatibilitätsebene sorgt für die Unterstützung älterer WMI- und ADSI-Anbieter.
Mit Microsoft.Web.Administration, der neuen .NET-Verwaltungs-API, können verwaltete Codeanwendungen mühelos IIS-Websites und -Anwendungen über Programme bereitstellen, auf wichtige Status- und Diagnosedaten zugreifen und den Server konfigurieren. Wenn Sie .NET Framework-basierte Anwendungen aktivieren und damit den unkomplizierten Zugriff auf IIS-Konfigurationsdaten und Statusinformationen ermöglichen, erhalten Sie bislang ungekannte Möglichkeiten, .NET-basierte Setup- und Verwaltungsanwendungen zu schreiben und sogar Verwaltungsaufgaben direkt aus ASP.NET-Seiten heraus zu erledigen.
Das kleine C#-Programm im Beispiel in Abbildung 4 erstellt eine neue Website von der Befehlszeile aus über Microsoft.Web.Administration.
using System;
using Microsoft.Web.Administration;

class CreateASite
{
    static void Main(string[] args)
    {
        ServerManager serverManager = new ServerManager();
        Site mySite = serverManager.Sites.Add(
            "MySite", "d:\\inetpub\\mysite", 8080);
        mySite.ServerAutoStart = true;
        serverManager.CommitChanges();
    }
}

Mit Microsoft.Web.Administration lassen sich IIS-Vorgänge und Konfigurationsaufgaben im Handumdrehen abwickeln, und das direkt in der Anwendung und mit einer .NET-kompatiblen Sprache Ihrer Wahl. Auch Angaben zum Laufzeitstatus des Servers lassen sich ganz einfach abrufen, beispielsweise die laufenden Arbeitsprozesse oder die derzeit ausgeführten Anwendungen.
Die Microsoft.Web.Administration-API dient als Grundlage für den Zugriff auf die individuelle Konfiguration innerhalb benutzerdefinierter .NET-Servermodule und Benutzeroberflächen-Plug-Ins für das IIS Manager-Tool. Ein Beispiel für ein End-to-End-Serverpaket (mit Bildurheberrechts-Handler zur Optimierung des Webservers und der zugeordneten Konfigurations- und Verwaltungskomponenten) finden Sie unter iis.net/default.aspx?tabid=2&subtabid=25&i=1076 (auf Englisch).
Im Rahmen des Zeitplans für Windows Server „Longhorn“ erstellt das IIS-Team ein vereinheitlichtes Erweiterbarkeitsmodell, mit dem sich benutzerdefinierte Verwaltungsobjekte hinzufügen oder vorhandene Objekte erweitern lassen. Durch diese Objekte können benutzerdefinierte Verwaltungsfunktionen automatisch über die verschiedenen integrierten Verwaltungsfeatures (z. B. Skriptprogrammierung oder Microsoft.Web.Administration-API) zur Verfügung gestellt werden. Bei Windows Vista ist es nicht möglich, Verwaltungsobjekte hinzuzufügen oder zu erweitern. Als Alternative können Sie über die Microsoft.Web.Administration-API und andere APIs auf Ihre benutzerdefinierten Konfigurationsabschnitte zugreifen und diese Abschnitte bearbeiten, so wie bei vorhandenen IIS-Konfigurationsabschnitten.

Entwickeln von Webserverfeatures
Mit IIS 7.0 können Sie beispielsweise Features im Server ergänzen oder austauschen. Auf diese Weise lässt sich der Funktionsumfang des Servers ganz an Ihre individuellen Anforderungen anpassen. Das Kernstück dieser Vorgänge ist eine vollkommen neue Webservererweiterbarkeits-API, auf der alle vorhandenen HTTP-Features in IIS 7.0 aufbauen. Diese API ist öffentlich, was bedeutet, dass Sie berechtigt sind, alle Features aus dem Lieferumfang von IIS 7.0 ungehindert zu implementieren. Dies ist eine Neuerung bei IIS und eine grundlegende Verbesserung im Vergleich zum bisherigen, eingeschränkten ISAPI-Erweiterbarkeitsmodell.
Die neue Erweiterbarkeits-API besteht aus einer Reihe intuitiver C++-Klassen, die das Webserverobjektmodell definieren und ein Modul aktivieren, mit dem Dienste zur Verarbeitung von Anforderungen in IIS bereitgestellt werden. Diese Klassen sind in der Headerdatei „inc\httpserv.h“ im Windows Vista-SDK definiert.
Im Vergleich zu ISAPI sind diese APIs sowohl leistungsfähiger als auch viel einfacher zu bedienen. Wie ist dies möglich? Die neue API stellt ein typensicheres, gut gekapseltes Objektmodell dar. Die Entwicklungsarbeiten laufen mit dem neuen Serverobjektmodell, das spezialisierte Schnittstellen für alle grundlegenden Serverobjekte und Aufgaben bietet, viel einfacher ab. Dazu gehören folgende Aufgaben:
  • Prüfen der Anforderung mit der IHttpRequest-Klasse
  • Bearbeiten der Antwort mit der IHttpResponse-Klasse
  • Einsetzen nützlicher Dienstprogrammfunktionen aus der IHttpServer-Klasse
  • Authentifizierung mit der IHttpUser-Klasse
  • Zugriff auf den benutzerdefinierten Konfigurationsabschnitt im Modul mit den Konfigurations-APIs
Diese Klassen stellen eine beträchtlich größere Gruppe der Serverfunktionen zur Verfügung als zuvor (mehr als notwendig, um alle Features aus dem Lieferumfang von IIS zu nutzen), und der Einsatz der ISAPI-Schnittstellen, deren Typen nur locker definiert sind, wird deutlich erleichtert.
Darüber hinaus profitieren die Entwickler von den verbesserten Mustern für die Speicher- und Statusverwaltung. Der Großteil der Server-APIs in IIS 7.0 nutzt serververwalteten Speicher für die zurückgegebenen Daten. Sie müssen also nicht die Puffer selbst zuordnen und verwalten, so wie bei ISAPI und bei den meisten vorhandenen Win32®-APIs. In der Vergangenheit war dies eine der fehleranfälligsten und mühsamsten Bereiche der ISAPI-Entwicklung. Die neue API vereinfacht zudem zahlreiche komplizierte Aufgaben bei der Verarbeitung der Anforderungen, beispielsweise die Pufferung der Antworten, die Authentifizierung und die Vorbereitung der Antwortdaten für den Client. Vor einigen Monaten veröffentlichte ich eine Reihe von Beiträgen in meinem Blog, in denen die wichtigen Verbesserungen und die Muster im neuen Programmiermodell erläutert werden. Weitere Informationen zur C++-Entwicklung für IIS finden Sie unter mvolo.com/blogs/serverside/archive/2006/10/07/10-reasons-why-server-development-is-better-with-IIS7.aspx (auf Englisch).
IIS 7.0 bietet außerdem eine vollständig integrierte .NET-Framework-API zur Erweiterung des Servers. Dies ist dieselbe API, mit der Entwickler ihre ASP.NET-Module und -Handler seit ASP.NET  1.0 unter Windows 2000 erstellt haben. Lassen Sie sich jedoch nicht täuschen: Das so vertraut scheinende ASP.NET-Modell bewirkt zwar, dass Sie die vorhandenen ASP.NET-Module und -Handler weiterhin auf dem IIS 7.0-Server nutzen können, ist allerdings meilenweit von der alten Technologie entfernt.
Bei IIS 7.0 wird ASP.NET in zwei Versionen umgesetzt: im klassischen Modus und im integrierten Modus. Die Funktionsweise des klassischen Modus ist mit den bisherigen Versionen von IIS identisch. Der integrierte Modus, der neue Plattformstandard, ermöglicht über ein vollkommen neues Modul einen neuen Grad der Integration in den IIS-Webserver. Im integrierten Modus können Sie IIS 7.0-Module mit ASP.NET-APIs entwickeln, die sich direkt in den Webserver integrieren lassen, und dabei praktisch alle Dienste bereitstellen, die mit der zugrunde liegenden C++-API möglich und denkbar sind.
Damit erhalten Sie die größten Vorteile aus beiden Bereichen: die vertrauten Schnittstellen und den Komfort von .NET-Framework und den ASP.NET 2.0-Anwendungsdiensten (z. B. Mitgliedschaft oder Rollenverwaltung) einerseits und andererseits die schier unendlichen Möglichkeiten zur Erweiterung des Servers, die bislang nur Benutzern von C-gestützten ISAPI-Komponenten vorbehalten waren.
So können Sie nicht nur neue ASP.NET-Module schreiben, die auf den speziellen Vorteilen des integrierten Modus aufbauen, sondern auch die Leistung vieler älterer ASP.NET-Module deutlich steigern, und das mit nur wenigen Änderungen an den Konfigurationsoptionen in der web.config-Datei.

ASP.NET-Integration
In Kombination mit IIS 7.0 wächst ASP.NET 2.0 noch über den ohnehin schon guten Ruf eines ausgezeichneten Frameworks für die Erstellung dynamischer Anwendungen hinaus. Die resultierende Plattform liefert sämtliche Grundlagen, mit denen Sie den IIS-Webserver erweitern und die ASP.NET-Komponenten als vollwertige Mitglieder in die Pipeline für die Verarbeitung von Anforderungen in IIS eingliedern können. Das geschieht folgendermaßen.
In früheren IIS-Versionen bis einschließlich Version 6.0 hat ASP.NET eine Verbindung zum Webserver als eigenständiges Anwendungsframework hergestellt. Dieses Framework übernahm die Verarbeitung der Anforderungserweiterungen, die für dieses Framework registriert waren (in der Regel .aspx und einige andere Erweiterungen). Für diese Anforderungen standen leistungsfähige Features zur Verfügung, beispielsweise die Authentifizierung, die Ausgabezwischenspeicherung der Antworten und andere Dienste, auch solchen von benutzerdefinierten ASP.NET-Modulen. Diese Dienste standen daher ausschließlich den Inhaltstypen offen, die für ASP.NET registriert waren. Andere Dienste wie ASP-Seiten, PHP-Seiten, Bilder oder CGI-Anwendungen gingen leer aus. Selbst für ASP.NET-Ressourcen waren bestimmte Webserverfunktionen in ASP.NET nicht möglich – wegen einiger Beschränkungen der Laufzeit. Es gab beispielsweise keine Möglichkeit, die Gruppe der ausgehenden HTTP-Antwortheader zu prüfen und ggf. zu überarbeiten, bevor sie an den Client gesendet wurden.
Bei der Ausführung im integrierten Modus in IIS 7.0 werden die ASP.NET-Module in der vereinheitlichten Anforderungsverarbeitungs-Pipeline parallel zu systemeigenem C++-IIS-Modulen ausgeführt (siehe Abbildung 5). Dies bedeutet, dass die vorhandenen ASP.NET-Dienste wie die Ausgabezwischenspeicherung, das URL-Rewriting und viele andere Dienste aus Ihren benutzerdefinierten ASP.NET-Modulen jetzt für beliebige Inhaltstypen genutzt werden können. Durch die bessere Laufzeitintegration können die ASP.NET-Module zudem auf bislang nicht verfügbare Serverfunktionen zugreifen, sodass es in den meisten Fällen nicht mehr notwendig ist, Funktionen für die systemeigene IIS-Erweiterbarkeit zu schreiben.
Abbildung 5 Integration in ASP.NET bei IIS 6.0 und IIS 7.0 (Klicken Sie zum Vergrößern auf das Bild)
Im integrierten Modus bietet ASP.NET schließlich einige wenige neue APIs, mit denen die zusätzlichen Funktionen aus der engeren Integration in IIS eröffnet werden. Hierzu gehören beispielsweise die Überprüfung aller Antwortheader unabhängig vom Urheber der Antwort und auch das komplette Umschreiben der Anforderungsausführung mit einer anderen URL.
Eine vorhandene Anwendung kann häufig den integrierten Modus nutzen, ohne dass neue ASP.NET-Module mit Funktionen aus dem integrierten Modus erforderlich wären. Durch einfache Änderungen an der Konfiguration kann eine Anwendung beispielsweise die Formularauthentifizierung und die URL-Autorisierung aus ASP.NET heranziehen, um damit die gesamte Website mit Benutzersicherheit zu schützen. Auch das Umschreiben von URLs mithilfe der URL-Zuordnung von ASP.NET ist eine Möglichkeit. Ein Beispiel für den wirksamen Einsatz des integrierten Modus finden Sie unter mvolo.com/2006/11/10/stopping-hotlinking-with-iis-and-aspnet.aspx. Mit diesem ASP.NET-Modulbeispiel wird verhindert, dass Websauger einen Hotlink auf Ihre Website legen. Dies ist ein gutes Beispiel dafür, wie Sie mehr Schwung aus vorhandenen ASP.NET-Modulen von Drittanbietern holen, wenn Sie diese Module im integrierten Modus ausführen.
Eine ausführliche Erörterung der Vorteile beim integrierten Modus für vorhandene Anwendungen finden Sie unter iis.net/default.aspx?tabid=2&subtabid=25&i=1081&p=1 (auf Englisch).

Erhöhte Sicherheit
IIS 7.0 beruht auf der Codebasis aus IIS 6.0, die dank der sorgfältigen Programmierpraxis und der Entwurfsprinzipien mit integrierter Sicherheit auf beträchtliche Erfolge bei der Sicherheit verweisen kann. Als Ergänzung werden mit IIS 7.0 einige Änderungen an der Architektur eingeführt, die zu einer noch höheren Sicherheit führen, sowie einige Features für die Erstellung sicherer Webanwendungen.
Die Verkleinerung der Angriffsfläche ist eines der elementaren Grundsätze beim Entwerfen und Bereitstellen sicherer Systeme. In IIS 7.0 wird der Gedanke der standardmäßigen Sperrung aus IIS 6.0 noch einen Schritt weitergeführt. Es werden noch weniger Features standardmäßig installiert, sodass der resultierende Server noch stärker gesperrt ist. Wenn Sie dann noch alle ungenutzten Features mithilfe des modularen Aufbaus des Servers entfernen, können Sie die Angriffsfläche des Servers auf ein Minimum verkleinern. Damit senken Sie beträchtlich die Gefahr einer Beeinträchtigung durch einen Angreifer.
Sollte ein Sicherheitsrisiko in einer Komponente auftreten, die auf Ihrem Server nicht zum Einsatz kommt, müssen Sie den Server nicht aus dem turnusmäßigen Plan herausnehmen, um eine Ausnutzung dieser Sicherheitslücke zu vermeiden, oder sofort ein Patch für die gefährdete Komponente anwenden. Auf diese Weise können Sie eine höhere Verfügbarkeit der Anwendung erzielen und auch die Kosten für die Patchverwaltung senken.
Neben diesen grundlegenden Verbesserungen bei der Sicherheit bietet IIS 7.0 eine Reihe von Sicherheitsfeatures, mit denen Sie sichere Anwendungen auf dem Server weiter sperren und bereitstellen. IIS unterstützt seit jeher den Schutz der Anwendungsinhalte mittels Authentifizierung. Mit dem integrierten Modus von ASP.NET können Sie nunmehr auf die beliebten ASP.NET-Sicherheitsfeatures zurückgreifen (z. B. Formularauthentifizierungs-, Mitgliedschafts- und Anmeldungssteuerelemente) und so eine Komplettlösung für die Authentifizierung und Zugriffssteuerung für die gesamte Anwendung aufbauen. Dies ist meist nur eine Sache von wenigen Minuten, wobei Sie nicht eine einzige Codezeile schreiben müssen.
Mit dem neuen Feature zur URL-Autorisierung, das auf dem URL-Autorisierungsfeature in ASP.NET aufbaut, können Sie deklarative Zugriffssteuerungsregeln für die gesamte Anwendung konfigurieren. Über die Zugriffsregeln können Sie den Zugang zu URLs innerhalb der Anwendung mithilfe von Benutzernamen und Rollen zulassen oder verweigern. Die URL-Autorisierung fügt sich nahtlos in die Mitgliedschafts- und Rollenverwaltungsfeatures aus ASP.NET 2.0 ein, wobei Sie mit der Formularauthentifizierung und den Anmeldungssteuerelementen aus ASP.NET rasch die Benutzersicherheit für Ihre Anwendungen herstellen können.
Das neue Feature zur Anforderungsfilterung bietet leistungsfähige Sperrfunktionen, die teilweise schon im beliebten URLScan-Tool zur Verfügung standen. Mit der Anforderungsfilterung lassen sich außerdem Anforderungen mit verdächtigen Daten ablehnen, vertrauliche Ressourcen schützen oder strenge Anforderungsgrenzwerte durchsetzen, sodass Sie die Website noch weiter sperren können.
Eine Reihe von Änderungen an der Bereitstellung und Verwaltung der Sicherheitseinstellungen in IIS 7.0 erleichtern die Verwaltung der Sicherheitseinstellungen. Das neue anonyme Konto „IIS_IUSR“ ist direkt integriert, was bedeutet, dass sich das Ablaufen der Kennwörter nicht auf das Konto auswirkt und dass auch keine Kennwortsynchronisierung zwischen Computern erforderlich ist. Die neue Gruppe „IIS_IUSRS“ (ersetzt die Gruppe „IIS_WPG“) wird zur Laufzeit automatisch in die Identität des Arbeitsprozesses integriert. Damit ist es leichter möglich, die Arbeitsprozessidentität manuell der Gruppe hinzufügen, wenn benutzerdefinierte Konten verwendet werden.
Dank des integrierten Kontos „IIS_IUSR“ und der integrierten Gruppe „IIS_USRS“ lassen sich Anwendungsinhalte, in denen Zugriffssteuerungslisten (ACLs) für das anonyme IIS-Konto und die anonyme IIS-Gruppe definiert werden, schnell und einfach auf einen anderen IIS-Server kopieren, ohne dass zusätzliche Schritte zur Beibehaltung der Sicherheitseinstellungen notwendig wären. Dies vereinfacht die Anwendungsbereitstellung im gesamten Zyklus von der Bereitstellungs über die Tests bis hin zum Einsatz in der Produktionsumgebung.
Mit dem bereits beschriebenen Konfigurationssystem sind die Anwendungsbesitzer in der Lage, die notwendigen Webservereinstellungen direkt in der Anwendung zu verwalten, ohne Administratorzugriff auf den Server zu benötigen. Die Anwendungsadministratoren können die erforderliche Konfiguration in den web.config-Dateien innerhalb der Anwendungsinhalte festlegen, wenn sie ihre Anwendungen auf den Server hochladen oder die Anwendungen über das IIS Manager-Tool von einem Remotestandort aus konfigurieren.
Das IIS Manager-Tool sorgt für die sichere Remoteverwaltung über firewallfreundliche HTTPs-Verbindungen. Die Anwendungsadministratoren lassen sich hierbei wahlweise als Windows-Benutzer oder als benutzerdefinierte Benutzerkonten über den Mitgliedschaftsdienst authentifizieren, sodass die Remoteverwaltung der Anwendungen möglich wird, ohne dass der Besitzer über Windows-Zugriff auf dem Server verfügt.
Als Serveradministrator besitzen Sie mit der flexiblen Sperrungsunterstützung im Konfigurationssystem die volle Kontrolle über die Einstellungen, die durch die Anwendung konfiguriert werden können. Ebenso können Sie festlegen, welche Features im IIS Manager-Tool für die Anwendungsadministratoren zur Verfügung stehen sollen, die ihre Anwendungen von einem Remotestandort aus verwalten.

Verbesserte Diagnose
In Anbetracht all der neuen Features, die in Windows, IIS 7.0 und der Webanwendung unterstützt werden, ist ein Webserver ein äußerst kompliziertes System, dessen Fehlerbehebung meist erhebliche Zeit und Mühe in Anspruch nimmt. IIS 7.0 bietet eine Reihe neuer Features, mit denen Sie den Betrieb des Servers überwachen und Anwendungsprobleme debuggen können.
Mit IIS 7.0 erhalten Sie einen Echtzeiteinblick in den Status des Servers. Dieses Feature wird als RSCA bezeichnet (Runtime State and Control API) und meldet den aktiven Status von Websites und Anwendungspools, in denen Arbeitsprozesse ausgeführt werden, wobei Sie sogar die derzeit ausgeführten Anforderungen auf dem Server abrufen können. Darüber hinaus können Sie den Status des Servers überprüfen (z. B. Starten und Anhalten von Websites) und die Anwendungspools wiederverwenden. In Windows Vista erhalten Sie diese Informationen im IIS Manager, über das Befehlszeilenprogramm „appcmd.exe“ sowie programmatisch über die Microsoft.Web.Administration-API.
Rufen Sie beispielsweise die derzeit ausgeführten Anforderungen ab, und ermitteln Sie die Serverphasen, in denen diese Anforderungen stecken geblieben sind. Auf diese Weise lassen sich Probleme mit „hängenden“ Anwendungen rasch erkennen, und Sie finden heraus, welches Skript den Prozessor in Trab hält (siehe Abbildung 6).
Die RSCA-Funktionen machen sich insbesondere beim Untersuchen von Serverproblemen und beim Feinabstimmen der Serverleistung nützlich; Sie erhalten einen raschen Einblick in die Vorgänge im System, und Sie können den Server bei der Fehlerbehandlung eingehend kontrollieren. Ich selbst komme immer wieder auf appcmd.exe zurück, wenn ich den Status der Anwendungspools abrufe, die Arbeitsprozesse untersuche oder problematische Anwendungspools starte oder anhalte, um so bei der Fehleruntersuchung rasch Probleme zu erkennen.
Abbildung 6 Ermitteln von stecken gebliebenen Skripts in IIS Manager (Klicken Sie zum Vergrößern auf das Bild)
Fehler in der Webanwendung können nach einer falschen Serverkonfiguration aufgrund von Anwendungsfehlern oder wegen verschiedener Umgebungsfaktoren auftreten. Der Statuscode und die Standardfehlermeldungen geben nur wenig Anhaltspunkte, weshalb sich die Fehlerbehandlung der Server zu einem wahren Albtraum auswachsen kann. IIS 7.0 liefert ausführliche Informationen zu den meisten Fehlern, aus denen genau ersichtlich ist, was warum schief gegangen und welche Fehlerbehebung möglich ist (siehe Abbildung 7).
Abbildung 7 Ausführliche Fehlerinformationen zeigen Problem und Lösung (Klicken Sie zum Vergrößern auf das Bild)
Für die ausführliche Erläuterung der Fehler gilt ein ähnliches Sicherheitsschema wie bei ASP.NET. Standardmäßig erhalten Sie die ausführlichen Informationen nur dann, wenn Sie die Website vom lokalen Computer aus durchsuchen. Wie bisher können Sie auch benutzerdefinierte Fehlerseiten für verschiedene Fehlercodes konfigurieren oder die Ausgabe zu einer benutzerdefinierten URL umleiten. Die ausführlichen Fehlerseiten stehen nunmehr auch in lokalisierten Versionen zur Verfügung, sodass die Fehlerbeschreibung in der voreingestellten Sprache des Clients angezeigt wird, sofern das Sprachpaket für die entsprechende Sprache installiert ist.

Diagnose der Fehler ohne Debuggen
Was passiert, wenn der aufgetretene Fehler unbekannt ist oder durch ein komplexes Zusammenspiel mehrerer Webserverkomponenten verursacht wird? Keine Sorge. Der umfassende Nachverfolgungsmechanismus in IIS 7.0 erzeugt ein ausführliches Protokoll (in gedruckter Form) für alle Anforderungen, mit dem sich die Problemursache rasch einkreisen lässt.
Bei IIS 7.0 werden die ETW-Ereignisse (Event Tracing for Windows), die mit IIS 6.0 in Windows Server 2003 Service Pack 1 (SP1) eingeführt wurden, zudem durch noch ausführlichere Ereignisse ergänzt. Diese Ereignisse enthalten nützliche Informationen zu den einzelnen Phasen der Serververarbeitung, mit denen Sie schrittweise rückwärts durch die Anforderungsausführung gehen und so die Stelle ermitteln können, an der der Fehler aufgetreten ist. Diese Ereignisse können an die Windows-Nachverfolgungsinfrastruktur weitergeleitet werden, in der verschiedene Windows-Komponenten (z. B. ASP.NET und SQL Server™) ihre Nachverfolgungsdaten zu einem einzigen, logischen Ausführungsprotokoll für die Anforderung verknüpfen.
Auch die Weiterleitung an das neue Failed Request Tracing-Feature (auch FREB genannt) ist möglich. Hiermit werden die Ablaufverfolgungsprotokolle in XML-Protokolldateien gespeichert, die sich dann mit dem bereitgestellten XSLT-Stylesheet abrufen (siehe Abbildung 8) oder für die Programmierung nutzen lassen.
Abbildung 8 Abrufen der XML-Protokolldateien (Klicken Sie zum Vergrößern auf das Bild)
Das Beste an Failed Request Tracing ist, dass dieses Feature auf dem Server ständig aktiviert sein kann. Auf diese Weise können Sie automatisch Ablaufverfolgungsprotokolle für Anforderungen aufzeichnen, bei denen eine konfigurierbare Fehlerbedingung aufgetreten ist, und gleichzeitig die Leistungseinbußen umgehen, die beim Speichern von Ablaufverfolgungsprotokollen für längst erfolgreich abgeschlossene Anforderungen entstehen. Aktivieren Sie dieses Feature beispielsweise für Anforderungen, die zu Serverfehlern führen oder eine längere Zeit als normal in Anspruch nehmen.
Mit Failed Request Tracing werden die wertvollen Ablaufverfolgungsdaten bei jedem Fehler aufgezeichnet, selbst wenn dieser Fehler nur vorübergehend auftritt oder nicht ohne weiteres reproduziert werden kann. Damit lassen sich selbst solche Probleme diagnostizieren und beheben, bei denen bislang intensives Debuggen erforderlich war.
Die zugrunde liegende Infrastruktur wird den IIS-Modulen über das Servererweiterbarkeitsmodell zur Verfügung gestellt, mit dem alle Serverkomponenten (aus dem Lieferumfang von IIS oder von Drittanbietern) in der Lage sind, ausführliche Ablaufverfolgungsdaten während der Anforderungsverarbeitung zu senden. Die Ablaufverfolgung in IIS 7.0 ist über die System.Diagnostics-API und die ASP.NET-Seitenverfolgung in die ASP.NET-Ablaufverfolgung integriert, sodass die verwalteten Module das vereinheitlichte Ablaufverfolgungsmodell nutzen können. Darüber hinaus können Sie eigene Ablaufverfolgungsmodule schreiben und damit neue Möglichkeiten bereitstellen, mit denen die Ablaufverfolgungsinformationen verarbeitet und ausgegeben werden. Sie können beispielsweise als Erster ein Modul schreiben, mit dem die IIS-Ablaufverfolgungsinformationen in SQL Server oder in einer Textdatei gespeichert werden.

Verbesserte Leistung
Windows Vista ist als Clientbetriebssystemversion nicht für die Bereitstellung in Produktionsumgebungen mit hohem Durchsatz konzipiert. (IIS unter Windows Vista ist auf 10 gleichzeitige Anforderungen beschränkt.) Dennoch werden hier bereits einige der Verbesserungen an der Architektur präsentiert, die auf die deutliche Leistungssteigerung bei Webanwendungen abzielen. Zusammen mit den umfangreichen Arbeiten an der Leistungssteigerung, die im Zeitrahmen von Windows Server „Longhorn“ ablaufen, werden diese Verbesserungen dazu beitragen, dass die Leistung Ihres Servers mit IIS 7.0 weiter ansteigt.
Die erste und gleichzeitig wichtigste Verbesserung ist die Aufteilung in Komponenten. Durch den modularen Aufbau des Servers sind die Administratoren in der Lage, ungenutzte Serverfeatures zu entfernen und so die Speicher- und Prozessorbelegung bei der Anforderungsverarbeitung zu senken. Dies kann zu einer bedeutenden Steigerung beim Durchsatz und bei der Kapazität des Computers führen. Die Möglichkeit, die Features einzeln zuzuschalten (also für die Anwendungen auf dem Server einzeln zu aktivieren und zu deaktivieren), bewirkt weitere Leistungssteigerungen bei Anwendungen, wenn ein bestimmtes Feature nicht auf der gesamten Website erforderlich ist.
Das zweite bemerkenswerte Leistungsfeature in IIS 7.0 ist der neue IIS-Ausgabezwischenspeicher. Dieses Feature unterstützt die Wiederverwendung von Antworten für kostspielige dynamische Seiten auf dem Server, sodass kein teures Rendern und keine Datenbanktransaktionen notwendig sind, um die Antwort zum Client zurückzugeben. Der IIS-Ausgabezwischenspeicher ist eine schnellere Alternative zum bereits vorhandenen Feature für die Ausgabezwischenspeicherung in ASP.NET. Es wird nur eine kleinere Gruppe von Zwischenspeicherfunktionen unterstützt, das jedoch mit einer ausreichend großen Flexibilität, um auch dynamische Inhalte auf leistungssteigernde Weise zwischenzuspeichern.
Durch die Ausgabezwischenspeicherung der dynamischen Inhalte (ASP.NET-Seiten, PHP-Skripts, CGI-Anwendungen) lässt sich die Leistung oft um das Fünf- bis Zehnfache steigern, wobei die Belastung der Datenträger und der Datenbank deutlich sinkt.

Abwärtskompatibilität
Unter IIS 7.0 sollten die meisten vorhandenen Anwendungen ohne Änderung ausführbar sein. In Anbetracht des Umfangs aller Änderungen an der Architektur, die erforderlich waren, um die Innovationen in dieser Veröffentlichung zu unterstützen, war dies keine leichte Aufgabe. Das Konfigurationssystem hat dabei die meisten Änderungen durchgemacht. Dieses System hat sich von einem zentralen Konfigurationsspeicher mit loser Typbindung zu einer delegierten XML-Konfigurationsdateihierarchie gemausert. Sowohl die Struktur als auch die Speicherung der Konfigurationsdaten unterscheiden sich grundlegend von der IIS 6.0-Metabase, und der Zugriff über die älteren Konfigurations-APIs ist nicht mehr möglich.
Bei IIS 7.0 wird dieses Problem mithilfe einer Emulationsebene für die Metabase gelöst, die für dynamische Übersetzungen der zugrunde liegenden Daten im Konfigurationssystem und in den Schnittstellen in den ABO-APIs der Metabase sorgt. Dadurch arbeitet wiederum der für die Metabase geschriebene Code einwandfrei, wenn der Zugriff über ABO oder über WMI- oder ADSI-Skripts auf höherer Ebene erfolgt. Um diese Funktionen nutzen zu können, müssen jedoch die Kompatibilitätssetupkomponenten installiert werden.
IIS 7.0 bietet ein neues Erweiterbarkeitsmodell für die Entwicklung von IIS-Komponenten und unterstützt gleichzeitig weiterhin die ISAPI-Komponenten. Wenn Sie die Setupkomponenten für die ISAPI-Erweiterungen und die ISAPI-Filter installieren, lassen sich die vorhandenen Erweiterungen und Filter wie gewohnt weiter ausführen. Falls Sie neue Komponenten entwickeln, sollten Sie dagegen auf das neue Erweiterbarkeitsmodell zurückgreifen, um so leistungsfähigere, verbesserte Entwicklungsmöglichkeiten zur Verfügung zu haben.
Unter Umständen müssen einige wenige ASP.NET-Anwendungen, bei denen Inkompatibilitäten während der Laufzeit mit dem integrierten Modus auftreten, in einen Anwendungspool verschoben werden, der im klassischen Modus ausgeführt wird. In diesem Fall können Sie mehrere Anwendungen in beiden Modi parallel auf demselben Server ausführen, einfach indem Sie sie in separate Anwendungspools einbinden. Eine vollständige Liste der bahnbrechenden ASP.NET-Änderungen sowie allgemeine Informationen zur ASP.NET-Kompatibilität bei IIS 7.0 finden Sie im Whitepaper über die ASP.NET-Kompatibilität unter iis.net/default.aspx?tabid=2&subtabid=25&i=1223 (auf Englisch).

Schlussbemerkung
Die IIS 7.0-Version in Windows Vista zielt darauf ab, die bestmögliche Architekturgrundlage für die Webanwendungsplattform der nächsten Generation bereitzustellen. Das Hauptaugenmerk liegt dabei auf der richtigen Kernarchitektur, der Erweiterbarkeit und der Verwaltungsplattform für den Webserver. Mit Windows Vista sind Sie in der Lage, Ihre Anwendungen auf derselben Serverplattform zu entwickeln und zu testen, auf der sie auch bereitgestellt werden, sobald die Serverversion von Windows Vista verfügbar ist.
Mit der Veröffentlichung der IIS 7.0-Version in Windows Vista verlagert sich der Arbeitsschwerpunkt des Teams „Web Platform and Tools“. Dieses Team beschäftigt sich dann mit der Vorbereitung des Webservers auf den Einsatz in Produktionsumgebungen und mit der Erhöhung der Stabilität und der Leistung für Produktionsszenarios. Die wichtigsten Entwicklungs- und Verwaltungsfeatures in Windows Vista bleiben jedoch unverändert. Sobald die Serverversion von IIS 7.0 vollständig ist, werden die Verbesserungen aus dieser Version in Form eines Service Packs für Windows Vista bereitgestellt. Zu jenem Zeitpunkt läuft auf den Client- und Servercomputern wieder genau dieselbe Version von IIS, sodass Sie weiterhin Webanwendungen auf Ihrem Windows Vista-Desktop entwickeln und testen können.
Als Einstieg in IIS 7.0 werfen Sie einen Blick in die umfangreichen, äußerst nützlichen Ressourcen im Web, beginnend mit der iis.net-Website (auf Englisch), der neuen Homepage des IIS-Teams. Auf unserer neuen Website finden Sie ein Portal für alle Aspekte im Zusammenhang mit IIS 7.0, beispielsweise ausführliche Artikel und schrittweise Anleitungen zu allen Features in IIS 7.0. In den Foren können Sie Fragen stellen und Probleme mit dem IIS-Team und der IIS-Community erörtern.
In meinem Blog unter www.mvolo.com (auf Englisch) finden Sie außerdem ausführliche Informationen und Insidertipps zu IIS 7.0. Schauen Sie einmal vorbei. Lassen Sie mich wissen, für welche IIS 7.0-Themen Sie sich besonders interessieren, damit ich diese Themen im Blog ansprechen kann.

Mike Volodarsky ist als technischer Programm-Manager im Microsoft-Team „Web Platform and Tools“ tätig. Er ist für die Hauptserverinfrastruktur für ASP.NET und IIS zuständig. Derzeit befasst sich Mike Volodarsky mit der Optimierung der Webanwendungsplattform in IIS 7.0, dem Server der nächsten Generation.

Page view tracker