Windows Application Server (WAS)

Eintrag zuletzt aktualisiert am: 24.11.2022

Die Bezeichnung Windows Application Server hat bei Microsoft eine lange, bewegte Geschichte. Stand Januar 2009 ist Windows Application Server kein konkretes Microsoft Produkt. Auch gehört die Abkürzung "WAS" nicht zu "Windows Application Server", sondern "Windows Process Activation Service" (ab Windows Vista enthalten).

Transaction Server statt Application Server

Das erste Produkt, das eigentlich den Namen "Windows Application Server" verdient gehabt hätte, war der Microsoft Transaction Server (MTS), der mit dem Windows NT 4.0 Option Pack im Jahr 1998 erschienen ist. Der MTS war ein Host für Dienste, die von COM-basierten Softwarekomponenten angeboten wurden. Er bot verteilte Transaktionunterstützung, Sicherheitskonfiguration bis auf Methodenebene, Protokollierung, Packetierung und Mechanismen zur Skalierbarkeit (Object Pooling und Just-in-Time-Activation). Er war (bis auf die fehlende Objektpersistenzunterstützung) dem ebenbürtig, was die Java Enterprise-Welt einen Application Server nannte. Aber der MTS durfte eben in Microsofts Denke nicht "Application Server" heißen. Auch die nachfolgende Version hieß nicht so, sondern COM+ und ist seit Windows 2000 fester Bestandteil jeder Windows-Version.

Von MTS über COM+ zu Enterprise Services

Als dann .NET erschien, klebte Microsoft ein neues Etikett auf COM+: ".NET Enterprise Services" hieß das unveränderte System fortan aus der Sicht von .NET. Man kann .NET-Komponenten in COM+ hosten, aber auf Kosten der ständig notwendigen Interoperabilitätsaufrufe zwischen der COM-Welt und der .NET-Welt. Es verwunderte sehr, dass Microsoft keinen in .NET geschrieben Application Server anbot (wo man doch ansonsten Java so viel nachgemacht hatte). Für das Hosting von ASP.NET-basierten Webservices war der Internet Information Server (IIS) eine gute Lösung. Aber für nicht HTTP-basierte .NET Remoting-Dienste redete Microsoft nur von "self-hosting", was auf deutsch so viel hieß, dass sich der Entwickler selbst einen Application Server schreiben musste.

Auch mit .NET 1.1 und 2.0 gab es hier nichts. Stattdessen einigte man sich in Redmond auf die Marketing-Floskel, dass man keinen Application Server brauche, denn Windows enthalte schon alles, was andere Hersteller als teure Extras anböten. Manche Leute in Redmond setzten auch immer den IIS mit Application Server gleich und konnten sich einfach nicht vorstellen, dass es Leute gibt, die nicht über HTTP kommunizieren wollen. Diese Strategie kritisiert auch die Gartner Group: "Microsoft does not identify ist Enterprise Application Server capability as a distinct product. Technology representing the functionality of an EAS is spread across several products, confusing some users and complicating competitive positioning against Java EAS vendors." [http://mediaproducts.gartner.com/reprints/microsoft/vol3/article2/article2.html].

Tatsächlich haben wir mit .NET 2.0 gesehen, dass Microsoft die verteilte Transaktionsunterstützung nun auch außerhalb von COM+ anbot im Namensraum "System.Transactions". Und mit .NET 3.0 gab es dann durch die Windows Communication Foundation (WCF) auch wieder Sicherheitskonfigurationen auf Methoden, Skalierbarkeitsfeatures und Protokollierung. Aber was es nicht gab, war ein vorgefertigter Hostingprozess, eine Verwaltungskonsole und Packetierung. Auch in .NET 3.5 gab es keine Lösung.

Windows als Application Server

Vielmehr hatte Microsoft zwischenzeitlich den Begriff "Application Server" anderweitig ver(sch)wendet. Im Windows Server 2003 ist "Application Server" der Oberbegriff für einige Installationsoptionen des Windows-Betriebssystemes (siehe Systemsteuerung/Software/Windows-Komponenten). Dazu gehören der IIS, ASP.NET und Microsoft Message Queuing. Die "Application Server Console" war auch nur ganz alter Wein unter neuem Etikett: Hier fand man lediglich die Management-Konsole für COM+, die Verwaltung von Benutzern und Computern im Active Directory, den "Event Viewer" und die Steuerkonsole für Systemdienste. In Windows Server 2008 geht es noch weiter, denn dort ist "Application Server" eine Rolle des Betriebssystems. Neben den vorgenannten Bausteinen gehören dort auch .NET 2.0/3.0 und COM+ zu dem Begriff "Application Server".

Ebenfalls in diese Historie passt WAS. WAS steht für Windows Process Activation Services und ist ein allgemeiner Hosting-Prozess für WCF-Dienste als Verallgemeinerung des IIS. Der IIS öffnete sich damit für andere Protokolle wie TCP und Named Pipes. WAS gibt es in Windows Vista und Windows Server 2008 und befreit den Entwickler zumindest davon, einen eigenen Server-Prozess schreiben zu müssen. Hier hätte Microsoft noch einmal eine Chance gehabt, WAS für "Windows Application Server" verwenden zu können.

Ein Umdenken war erstmal auf der TechEd 2007 zu spüren als Steve Swartz und Clemens Vasters (den man hier in Deutschland noch als Prediger für COM+ kannte bevor er die "blaue Pille" schluckte und nach Redmond umzog) die Anforderungen an einen modernen Application Server skizzierten. Dabei hörte der interessierte Besucher dann wieder von eigenen Verwaltungskonsolen, Serverfarmen, Lastverteilung, der Überwachung durch Microsoft System Center und der Frage des Deployments. Das ganze vernahm man im Zusammenhang mit dem kommenden SOA-Produkt "Oslo."

Jetzt führt die Reise nach Dublin

Die "Dublin"-Katze ließ Microsoft dann schon kurz vor der Professional Developer Conference (PDC) 2008 Anfang Oktober aus dem Sack. Die norwegische Hauptstadt ist Oslo jetzt "nur" noch die Modellierungsplattform und die Laufzeit wird den Iren überlassen. Metaphorisch gesprochen wäre "Irland" dabei das Entwicklungsteam des IIS, das die Aufgabe bekam, den IIS für WCF und die Windows Workflow Foundation (WF) weiter zu öffnen. So erklärt sich dann auch, dass "Dublin" im Wesentlichen eine Erweiterung des IIS und seiner Verwaltungskonsole ist.

Während einerseits schon von "Windows Application Server" als Produktname zu lesen war, gab es auf der anderen Seite die Aussagen, dass das endgültige Produkt den eher kantigen Produktnamen "Windows Application Server Extensions for IIS" erhalten soll, um die bisherige Strategie, dass ja Windows Server selbst der Anwendungsserver sei nicht vollends zu konterkarieren. Mit der Nähe zum IIS läuft Microsoft aber Gefahr, Kunden abzuschrecken. Denn es gibt (große) Unternehmen, bei denen steht der IIS seit Nimda, Code Red & Co auf der roten Liste. "Suchen Sie sofort nach Alternativen zum IIS!" sagte die Gartner Group damals [http://www.tecchannel.de/news/themen/business/409292/gartnerempfiehlt_wegen_nimda_apache_stattiis/]. Zwar hat der IIS sich seitdem gebessert, aber mancherorts sind die Vorbehalte geblieben. In der aktuellen Vorabversion von Dublin, die auf der Professional Developer's Conference (PDC) 2008 als Virtual-PC-Image verteilt wurde (siehe auch Kasten "Aktuelle Version"), findet man immer wieder den Namen "Process Server" als interne Bezeichnung, z.B. in den dem .NET-Namensraum (Microsoft.ProcessServer), den PowerShell-Snap-Ins und schließlich auch im Setup-Programm.