Enhydra ermöglicht XML-basiertes Publishing

Open-Source-Plattform für Java

07.09.2001
MÜNCHEN (as) - 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 kommerziellen Applikations-Servern mausert.

Enyhdra gilt als eine der umfassendsten Open-Source-Plattformen für die Implementierung von Web-Anwendungen. Sie ist vergleichbar dem quelloffenen Java-Server "Jboss" (www.jboss.org) 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 einemDer 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.

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 Web-Seiten, 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 statische HTML- oder XML-Templates zu 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 Web-Seiten 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 allerdings nur mit Enhydra nutzen.

AnpassungsaufwandEin 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 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-Kommunikationsmechansimen 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", das eine der Sun-RMI vergleichbare eigene Lösung darstellt. Eine echte Corba-Implementierung soll später in Form des API "David" folgen.

Integrierte DatenbankDie mit dem aktuellen Enhydra-Release angebotenen Wizards erzeugen automatisch Template-Files und die für neue Projekte benötigte Hierachie 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 bietet einen Ressourcensparenden und einfach zu installierenden SQL-Datenbank-Manager und ist überall dort von Nutzen, wo für die Entwicklung 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.

Verfügbarkeit und ServiceEnhydra 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 Redhat, 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 http://www.berlios.de.

Das kommerzielle Komplettpaket von Lutris beinhaltet Dokumentation, Entwicklungswerkzeuge, Tools für mobile Anwendungen, Testcode sowie Installationsservice. Es 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.

Abb: Architektur

Enhydra setzt sich aus einer ganzen Reihe von integrierten Funktionsbausteinen zusammen. Weitere Tools lassen sich dank der offenen Architektur anbinden. Wizards sollen die Arbeit erleichtern. Quelle: Lutris