Apachecon: Die Infrastruktur im Visier

04.12.2003
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.

Der spanische mod_mono-Entwickler Daniel López Ridruejo bemühte sich in seinem Referat, Zweifel an der Zukunft einer freien .NET-Implementierung auszuräumen. So seien keine patentrechtlichen Anfechtungen durch Microsoft zu erwarten, weil die Open-Source-Entwickler keine Technologie aus Redmond durch Reverse Engineering auskundschaften mussten. Vielmehr seien alle nötigen Spezifikationen öffentlich zugänglich. Auch in Bezug auf die Entwicklungsgeschwindigkeit widersprach er der gängigen Meinung, Mono hinke .NET stark hinterher, sei nicht praxistauglich und diene Microsoft nur zur Imagepolitur. Tatsächlich laufe bereits eine Reihe von .NET-Programmen unter Mono, die Fertigstellung der Version 1.0 sei für nächstes Jahr zu erwarten.

Die Initiatoren von Mono verfolgten ursprünglich die Absicht, Desktop-Programme für Windows unter Linux ablaufen zu lassen. Mit der Unterstützung von ASP.NET bietet sich zukünftig auch die Möglichkeit, die Darstellungsschicht für Web-Anwendungen sowie einfache Geschäftslogik zu programmieren. Eine Open-Source-Implementierung von Microsofts "Enterprise Services" (ehemals "COM+") ist vorerst nicht vorgesehen. Diese enthalten einen Transaktionsmonitor (MTS) und eine asynchrone Middleware namens "MS MQ". Im Unterschied zu den freien J2EE-Servern, auf denen sich Enterprise Javabeans (EJBs) ausführen lassen, bietet Mono somit keine Unterstützung für objektbasierende Transaktionsverarbeitung.

Infrastruktur für CMS

Während J2EE und .NET eine Ablaufumgebung und objektorientierte Frameworks für die Entwicklung moderner Anwendungen bieten, stellt ein weiteres Apache-Projekt auf höherer Ebene zahlreiche Dienste für Content-Management-Systeme (CMS) zur Verfügung. Es handelt sich dabei um Cocoon, das erstmals 1998 von Stefano Mazzocchi in einer experimentellen Version publiziert wurde. Die erste offizielle Ausführung wurde von ihren Schöpfern als XML-Publishing-Framework bezeichnet. Den Kern des Systems bildete ein Pipeline-Mechanismus, durch den XML-Dokumente geschleust und dabei verschiedenen Bearbeitungsschritten unterzogen werden konnten. Die Version 1.0 eignete sich noch nicht für Produktivumgebungen, weil die Transformation von XML-Daten auf dem Document Object Model (DOM) beruht und daher zu langsam und zu speicherhungrig war.

Das Team um Mazzocchi überarbeitete daher die Architektur seiner Software grundlegend. Die aktuelle Version 2.1 beruht aber nicht bloß auf dem wesentlich effizienteren Pipelining von SAX-Ereignissen, sondern umfasst eine Vielzahl zusätzlicher Funktionen. Die Software leistet viel mehr als das ursprünglich vorgesehene Publishing-Framework und bietet als XML-Server eine reichhaltige Infrastruktur für CMS. Dazu zählen etwa unter anderem mehrere Serialisierungsmodule, die XML-Dokumente in verschiedenen Formaten ausgeben können, darunter PDF, Microsoft Office oder HTML.

Über diese Publishing-Features hinaus beinhaltet die Software das Formular-Framework "Woody", eine Unterstützung für WebDAV, Mechanismen für das Caching und den Export von statischen Dokumenten sowie einen vollständigen Portal-Server zur Aufbereitung von personalisierten Inhalten. Letzteren steuerte die deutsche S&N AG bei, die ihn für ein Projekt bei BASF entwickelt hatte. Zu den wesentlichen Neuerungen gehört zudem, dass der Dokumentenfluss durch die Pipeline per Script gesteuert werden kann, etwa um die Verarbeitung anzuhalten und dem Benutzer ein HTML-Formular zu präsentieren.