Open-Source-Lager trifft sich in Las Vegas

Apachecon: Die Infrastruktur im Visier

05.12.2003
LAS VEGAS (ws) - Auf der Konferenz Apachecon gaben Open-Source-Teams Auskunft über den Stand ihrer Projekte. Eine Reihe von ehrgeizigen Vorhaben soll dazu beisteuern, eine umfassende Infrastruktur auf Basis von Open Source aufzubauen. Zu den wichtigsten Beiträgen hierzu zählen der J2EE-Server "Geronimo" sowie das XML-Framework "Cocoon".

Nach dem anfänglichen Hype um freie Software dauerte es einige Zeit, bis sie schließlich auch in der Unternehmens-DV salonfähig wurde. Die Unterstützung durch große Hersteller sowie die steigende Akzeptanz in den Firmen führte mittlerweile zu einem reichhaltigen Angebot an quelloffenen Programmen. Da es sich dabei zumeist um Systemsoftware handelt, wächst mit der Anzahl ausgereifter Open-Source-Produkte eine frei verfügbare Infrastruktur heran. Dazu zählen nicht nur Linux und der Web-Server von Apache, sondern auch Messaging-Lösungen, Programmiersprachen, Browser und eine Unzahl von Programmen in fast allen Anwendungskategorien.

Auf der Konferenz Apachecon vom 16. bis 19. November in Las Vegas präsentierten mehrere Open-Source-Teams den Stand ihrer Projekte. Neben zahlreichen Tools und Frameworks galt die Aufmerksamkeit einigen größeren Vorhaben. Mit ihnen dehnt sich die frei zugängliche Softwareplattform über die Basisdienste von Linux in den Bereich der Middleware aus. Dazu zählen der J2EE-Server Geronimo, die Apache-Integration der freien .NET-Implementierung "Mono" sowie das XML-Framework Cocoon.

Die Ankündigung der Apache Software Foundation vor drei Monaten, mit Geronimo einen eigenen J2EE-Server zu entwickeln, stieß auf großes öffentliches Interesse. Dieses verdankt sich den hohen Erwartungen, die an Apache-Software gestellt werden, der man im Fall des J2EE-Servers einen ähnlichen Erfolg zutraut wie dem HTTP-Server. Das Interesse der Medien zog Geronimo zuletzt auf sich, weil dieses Projekt von Entwicklern ins Leben gerufen wurde, die im Unfrieden aus dem Jboss-Team ausgeschieden waren. Das konkurrierende Open-Source-Projekt beschuldigte die abtrünnigen Programmierer via Rechtsanwalt, Jboss-Code in Geronimo eingebracht zu haben. Sie wären daher laut Lesser GNU Public Licence (LPGL), unter der Jboss publiziert wird, verpflichtet, ihre Software ebenfalls unter dieser Lizenz und nicht unter jener von Apache freizugeben.

Geronimo aus Komponenten zusammengesetzt

Das Geronimo-Projekt beruht indes nicht nur auf dem Know-how der ehemaligen Jboss-Programmierer, sondern führt den Code zahlreicher Open-Source-Initiativen zusammen (siehe http://www.computerwoche.de/index.cfm?pageid=255&artid=52438). Auf der Apachecon kündigten Mitglieder des Kernteams an, die zahlreichen benutzten Komponenten nicht fest zu verschweißen, sondern Anwendern über ein Plugin-API die Möglichkeit zu bieten, zwischen alternativen Bausteinen zu wählen. So soll zur Ausführung von Servlets und Java Server Pages (JSPs) nicht nur der Apache-eigene "Tomcat" zur Verfügung stehen, sondern alternativ auch Jetty (http://jetty.mortbay.org/jetty). Daneben sollen alle Module von Grund auf die System-Management-Standards "Java Management Extensions" (JMX), JSR-77 (http://jcp.org/en/jsr/detail?id=77) und JSR-88 (http://jcp.org/en/jsr/detail?id=88) unterstützen. Dies ermöglicht nicht nur die standardkonforme Installation von Java-Programmen, sondern auch die Überwachung und Steuerung des Gesamtsystems zur Laufzeit.

Ehrgeizige Roadmap für J2EE-Server

Offiziell befindet sich Geronimo (http://incubator.apache.org/projects/geronimo.html) noch im Incubator-Projekt, das vor einem Jahr gegründet wurde, um in einem formalen Verfahren über die Aufnahme von Open-Source-Projekten in die ASF zu entscheiden. Angesichts des großen Interesses an Geronimo und der gezeigten Entwicklungsfortschritte dürfte kaum ein Zweifel daran bestehen, dass dieses Projekt einen Platz in der ASF erhalten wird. Auf der Apachecon führte das Kernteam nach einem dreitägigen Programmiermarathon eine erste lauffähige Version des Servers vor, die bereits die J2EE-Referenzanwendung "Petstore" ausführen konnte. Deshalb erscheint der relativ ehrgeizig gewählte Freigabetermin August 2004 nicht unrealistisch.

Geronimo gesellt sich dann zu den vorhandenen freien J2EE-Servern "Jboss" und "Jonas", die jedoch beide noch nicht von Sun zertifiziert wurden. Allerdings scheinen sich die Jboss Group und Sun nun nach monatelangem Tauziehen auf einen Modus geeinigt zu haben, bei dem Erstere Gerüchten zufolge pro Jahr eine halbe Million Dollar für den begehrten Kompatibilitätsnachweis an Sun bezahlen muss. Die europäische Object Web, die Organisation hinter dem Jonas-Projekt, erfüllt hingegen wie Apache Suns Kriterien einer gemeinnützigen Einrichtung. Voraussichtlich werden beide die J2EE-Zertifizierung kostenlos erhalten.

Während Open-Source-Projekte in der Java-Welt bereits eine weitgehend vollständige Infrastruktur ausmachen, steht dieser Prozess auf der Microsoft-Plattform noch am Anfang. Das aussichtsreichste Unterfangen für eine freie Implementierung des .NET-Frameworks ist Mono (http://www.go-mono.org/). Dieses Projekt wurde von der Firma Ximian ins Leben gerufen, die Novell im August dieses Jahres übernahm. Die Netware-Company bekräftigte in einer Pressekonferenz auf der Apachecon, dass sie die Fortführung von Mono finanziell weiter unterstützen wolle. Obwohl es nicht Teil von Apache ist und anderen Lizenzen (GPL, LPGL, X11) unterliegt, widmete sich ein Vortrag diesem Projekt. Mono benötigt nämlich die Anbindung an Apaches Web-Server, weil es auch die dynamische Erzeugung von Web-Seiten über ASP.NET unterstützen soll. Diese Verbindung zwischen der Mono Runtime und Apache stellt das Modul "mod_mono" her. Dieses leidet in der derzeitigen Fassung indes noch unter erheblichen Einschränkungen. Die wohl schwerwiegendste besteht darin, dass zurzeit jeder Server-Prozess ähnlich wie bei CGI-Programmen eine eigene Instanz der Laufzeitumgebung in den Speicher lädt.

Kein Problem seitens Microsoft erwartet

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 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 (http://www.s-und-n.de/) 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.

Cocoon 2.1 ist mittlerweile eine erprobte Software, die in zahlreichen Projekten zum Einsatz kommt und quelloffenen CMS wie Apaches "Lenya (http://cocoon.apache.org/lenya)" als Basis dienen. Die Praxistauglichkeit von Cocoon demonstrierte der Vortrag von Gianugo Rabellino, der die Migration einer Vignette-Installation auf eine Open-Source-Lösung beschrieb. Aufgrund seiner zahlreichen Funktionen für das Content-Management eignet sich Cocoon nicht nur zur Verwendung in derartigen Projekten, sondern könnte sich - wie Linux bei Novell - als Infrastruktur für kommerzielle CMS durchsetzen.

Schlechte Aussichten für kommerzielle Plattformen

Auch wenn sich Apache und Linux hinsichtlich ihrer Open-Source-Konzepte unterscheiden, technisch und strategisch ergänzen sich die beiden zu einer umfassenden freien Softwareplattform. Während Linux die klassischen Aufgaben eines Betriebssystems übernimmt, schichtet die Apache Software Foundation (ASF) darauf eine Reihe von Middleware-Komponenten.

Diese Kombination von erfolgreichen Open-Source-Projekten wirkt sich immer deutlicher auf das Geschäft mit Systemsoftware aus. Sie zwingt kommerzielle Anbieter dazu, ständig höherwertige und komplexere Produkte zu entwickeln. Ihr Erfolg hängt zunehmend davon ab, wie stark sie sich von den Commodity-Funktionen der freien Infrastruktur abheben können. Gleichzeitig tendieren einige der großen Anbieter dazu, ihre Features auf eine Open-Source-Grundlage zu stellen. IBM, Sun und Oracle integrieren eine Vielzahl von freien Komponenten in ihr Softwareportfolio. Als jüngstes Beispiel für diesen Kurs gilt Novell. Anstatt wie bisher mit Netware in die Entwicklung eines eigenen Systemkerns, in Netzwerkprotokolle oder Hardwaretreiber zu investieren, ziehen die Netzwerker aus Utah in Zukunft Linux als Basis für proprietäre Novell-Features heran.

Noch stärker als Linux zeigt der Web-Server von Apache, wie eine hochwertige freie Software ein Marktsegment für das Lizenzgeschäft austrocknen kann. Außer Sun, das mit seiner Netscape-Erbschaft "Sun ONE Webserver" einen marginalen Marktanteil hält, bietet unter den großen Herstellern nur mehr Microsoft einen eigenen HTTP-Server an. Allerdings verliert der "Internet Information Server" laut Netcraft (http://news.netcraft.com/archives/web_server_survey.html) seit mehr als einem Jahr gegenüber Apache an Boden, sein Anteil lag im November bei 23 Prozent.

Insgesamt wird die von Open-Source-Theoretikern vor Jahren prognostizierte Umwälzung der Softwareindustrie erst jetzt allmählich sichtbar. Sie führt nach Meinung von Marktbeobachtern zu einer stärkeren Ausrichtung der Branche auf Dienstleistungen.