Web

Open-Source-Plattform für Java

06.09.2001
Es müssen nicht immer die etablierten Hersteller sein: Mit "Enhydra" existiert seit längerem eine Open-Source-Plattform, die eine Java- und XML-basierende Entwicklung von Web-Anwendungen ermöglicht und sich zu einer Alternative zu Applikations-Servern mausert.

Von CW-Redakteur Sascha Alexander

MÜNCHEN (COMPUTERWOCHE) - "Enhydra" gilt als eine der umfassendesten Open-Source-Plattformen für die Implementierung von Java/XML-basierende Web-Anwendungen. Sie ist vergleichbar mit dem populären quelloffenen Java-Server "Jboss" und besteht wie dieser aus einer Reihe von miteinander koordinierten Projekten und Subprojekten, die laufend erweitert werden. Technisch gesehen ist Enhydra ein in Java geschriebener Applikations-Server mit Web-Server und Servlet-Engine, der Java- und XML-Technologie verwendet sowie Java-Klassen und -APIs für die Entwicklung von Web-Anwendungen bietet. Zusätzlich ist mit "Enhydra ME" eine spezielle Version für die Entwicklung mobiler Anwendungen in der Entstehung.

Mehrere Server in einem

Der Kern des Enhydra-Server setzt sich aus dem "Enhydra Multiserver" als Kernel sowie Teilen der Open-Source-Produkte "Jigsaw", einem Web-Server, und der JSP/Servlet-Engine "Tomcat 3.1" zusammen. Hinzu gesellen sich eine grafische Management-Konsole, sowie diverse Server-Dienste wie Load-Balancing und Failover. Weiter gehören zur Enhydra-Plattform Bausteine wie das Framework "Barracuda", das eine Standardmethode für die komponentenbasierende Entwicklung der Präsentationslogik bietet, zahlreiche Wizards, beispielsweise für das Erstellen grafischer Anwendungen, ferner Toolsets wie beispielsweise "Kelp", das Hilfassistenten für die Arbeit mit Entwicklungsumgebungen umfasst, sowie die Open-Source-Java-Datenbank "InstantDB". Ebenfalls erhältlich sind schließlich eine Reihe von Anwendungen, die auf dem Server aufsetzen. Hierzu gehören der Content-Management-Service "Brock" sowie "Abalone" für die Verwaltung von Kontaktdaten.

Für Unternehmen, die die einzelnen Enhydra-Bausteine nicht selbst zusammenstellen oder aktualisieren wollen, bietet das US-Unternehmen Lutris Technologies ein Komplettpaket an (siehe Kasten). Die aktuelle Version 3.52 ist kompatibel mit dem Java Developer´s Kit, Version 1.3 und kann als Stand-alone-Lösung oder auf den Web-Servern von Apache, Iplanet oder Microsoft laufen.

Verfügbarkeit und Service

Enhydra ist als "Enterprise Application Server" erhältlich, der in der aktuellen Version 4.0 die Java 2 Enterprise Edition 1.3 verwendet. Die Plattform unterstützt die Betriebssysteme Red Hat, SuSE, and VA Linux, Solaris 7 und 8, Windows 2000 und Windows NT, Compaq Tru64 5.1, HP-UX 11 sowie MPE/IX 6.5. Zudem sind unter "Enhydra ME" Projekte für die Entwicklung von mobilen Anwendungen gemäß der Java 2 Micro Edition auf dem Weg. Die Open-Source-Plattform ist als kostenloser Download unter http://www.enhydra.org erhältlich. Zentrale Anlaufstellen für Java-Open-Source-Projekte sind Web-Dienste wie http://sourceforge.net oder www.berlios.de.

Das kommerzielle Komplettpaket von Lutris beinhaltet Dokumentation, Entwicklungswerkzeuge, Tools für die mobile Anwendungen, Testcode sowie Installationsservice und kostet 995 Dollar pro CPU und 695 Dollar pro Entwicklerlizenz. Der US-Hersteller unterhält im englischen Hartford eine europäische Dependance. Beratungsdienstleistungen bieten im deutschsprachigen Raum Firmen wie Tivano Software aus Neu-Isenburg, Together Teamlösungen in Wien, Digital Wire Consulting in Zürich oder Opus 5 in Frankfurt.

Das Besondere ist nun die Architektur, die sich mit der quelloffenen Software aufbauen lässt. Üblicherweise wird es bei der herkömmlichen Arbeit mit Servlets und Java Serverpages (JSP) favorisiert, den Datenzugriff, die Geschäftslogik und die Formatierung der Präsentationslogik über eine gemeinsame Quelldatei zu verwalten. Dadurch erhöht sich auf Dauer der Pflegeaufwand einer Web-Anwendung. Bei Enhydra werden hingegen Webseiten, die Geschäftslogik und der Datenbankzugriff strikt von einander getrennt und eine mehrschichtige Anwendungsarchitektur Realität. Designer und Entwickler können so parallel am Layout beziehungsweise der dahinter liegende Java-Logik arbeiten.

Das Kernstück von Enhydra ist dabei der XML-Compiler (XMLC). Mit ihm lassen sich aus statischen HTML- oder XML-Templates Java-Klassen kompilieren, die die Dokumente in der Struktur des Standard XML-APIs Document Object Model (DOM) darstellen. Die Instanzen der Klassen lassen sich über die Java-Anwendung manipulieren und dynamische Webseiten erzeugen.

Die CW-Schwesterpublikation "Infoworld" testete kürzlich Enhydra 3.52 auf einem Server mit zwei "Intel Xeon" CPUs und 256 MB RAM unter "Redhat Linux 7.1". Dabei kam man zu dem Schluss, dass XMLC nicht nur leichter als JSP zu verwenden ist, sondern zudem mit allen HTML/XML-Dialekten umgehen kann, inklusive der Wireless Markup Language und Compact HTML. Das Konzept lässt sich allerings nur mit Enhydra nutzen.

Anpassungsaufwand

Ein Nachteil von XMLC ist laut Tester, dass bei größeren Veränderungen, die statischen HTML- oder XML-Templates stets neu kompiliert werden müssen. In einem Enhydra-Projekt kann es also leicht vorkommen, dass dies mehrmals notwendig wird. Mit JSP sei es hingegen einfacher, den Präsentations-Layer anzupassen, da Logik und HTML eine gemeinsame Datei verwenden. Welcher Ansatz für den Benutzer letztlich der bessere ist, ist laut Infoworld aber auch eine philosophische Frage.

Enhydra verfügt über keine integrierte Java-Entwicklungsumgebung. Doch bieten mittlerweile Borland mit dem "Jbuilder 4" oder Sun mit "Forté for Java" Tools an, die die Plattform unterstützen. Sie sind auch Teil des Lutris-Pakets. Ebenso müssen Anwender nicht auf die Nutzung von Suns Komponenten-Standard Enterprise Javabeans (EJB) für die serverseitige Entwicklung von Geschäftslogik oder Corba-Kommunikationsmechanismen verzichten.

Vielmehr verwendet das Enhydra-Projekt die aus dem Objectweb-Projekt stammenden Java- und Corba-Technologien. So steht mit "Jonas" ein Open-Source-Container gemäß der EJB Version 1.1 sowie eine Implementierung des Java Message Service "Joram" bereit. Weiter nutzt Enhydra den Object Request Broker "Jonathan" und dessen API "Jeremie", dass eine der Sun-RMI vergleichbare eigene Lösung darstellt. Eine echte Corba-Implementierung soll später in Form des API "David" folgen.

Integrierte Datenbank

Die mit dem aktuellen Enhydra-Release angebotenen Wizards erzeugen automatisch Template-Files und die für neue Projekte benötigte Hierarchie im Directory. Auch sei es laut Infoworld einfach, den mitgelieferten Testcode durch eigene Java-Logik und HTML zu ersetzen. Wird etwas an einer Anwendung verändert, erzeugt der Wizard jedesmal automatisch eine Make-File. Dies macht die Arbeit einerseits einfacher, aber das häufige Recompilieren macht Enhydra-Projekte zeitaufwändig.

Dienlich ist hingegen laut Tester, die genannte Datenbank Instant DB. Sie ist mittlerweile in ihrer vierten Version erhältlich, bietet einen Ressourcen-sparenden und einfach zu installierende SQL-Datenbank-Manager und ist überall dort von Nutzen, wo für die Entwicklung und eine Desktop-Datenbank genügt. Dank des mitgelieferten Design-Werkzeug "Data Object Design Studio (DODS)" ist zudem ein objekt-relationales Mapping sowie die Trennung von Geschäftsobjekten und Datenobjekten möglich. Enhydra und DODS lassen sich zudem mit jeder gängigen Management-Konsole kombinieren, die den Datenbanktreiber Java Database Connectivity verwendet. Die mitgelieferte Dokumentation bietet die spezifischen Konfigurationen für eine Reihe von Datenbank-Management-Systemen.