Baukasten für Web-Designer

22.06.2001
Content-Manager benötigen gründliche Programmierkenntnisse, wenn sie dynamische Webseiten bearbeiten. Eine Technik von Sun soll das Editieren zum Kinderspiel machen.

Von: Dr. Klaus Plessner

"Web Services" hieß das Schlagwort der diesjährigen Java-One-Konferenz. Es fasst verschiedene Java-Komponenten zusammen, die zum Aufbau von E-Business-Sites dienen. Wann das Bündel von Programmbausteinen auf den Markt kommen wird, lässt Sun noch offen. Fest steht jedoch schon, welche Teile dazugehören. Zum Beispiel die Skriptsprache für dynamische Webseiten "Java Server Pages". Fast die Hälfte der über 50 technischen Vorträge in San Francisco widmete sich dieser Technik, die zwar nicht mehr ganz neu ist und schon mit der "Enterprise Edition" von Java 2 ausgeliefert wurde. Allerdings hat sie sich bei den Entwicklern längst als gute Alternative zum Microsoft-Pendant "Active Server Pages" (ASP) etabliert. Die Säule des Web-Services-Pack soll nun als Web-Design-Methode der Zukunft zu neuem Leben kommen.

JSP-Programme sind kürzer

Genau genommen ist Java Server Pages eine Erweiterung der Servlet-Technik. Denn jedes JSP-Skript wird, bevor es eine HTML-Seite erzeugt und an den Browser des Internetnutzers zurückgibt, von einer JSP-Engine in reinen Java-Code mit Servlet- und JSP-Objekten übersetzt. Der entscheidende Unterschied zu Java besteht aber in der Länge des Skripts: JSP-Programme sind kürzer und, so behaupten die Product Manager von Sun, wesentlich einfacher zu schreiben als Java-Seiten. Mithilfe von JSP würden deshalb nicht nur eingefleischte Programmierer, sondern auch Web-Designer ohne Java-Wissen dynamisch erzeugte Inhalte zusammenstellen.

Der Trick besteht darin, dass die JSP-Technik die Entwicklung dynamischer Seiten in zwei Schritte unterteilt. Zunächst bildet der Java-Programmierer die Geschäftslogik auf Java-Objekte ab. Er schreibt den Code, der die dynamischen Inhalte eines E-Business aufbaut und bestimmt außerdem, wie die Fenster des Webshops aussehen. Anschließend verfasst der Page-Designer mit HTML- oder XML-Anweisungen die statischen Inhalte der Seiten. Dabei baut er die vom Programmierer definierten Objekte mithilfe so genannter "JSP Tags" in sein Skript ein. Standard-Tags greifen zum Beispiel auf Java Beans zu oder bearbeiten Datenbankinhalte mit JDBC-Funktionen (Java Database Connectivity). Um dem Gestalter die Arbeit noch mehr zu erleichtern, kann die Entwicklungsabteilung eines Unternehmens die Tag-Bibliothek erweitern und selbst eine "Customized Tag Library" erzeugen, die sie speziell auf die Web-Site der Firma zuschneidert.

Plattform für "Java-Scheue"

"Anfangs hatte Sun das Verfahren für Webentwickler konzipiert, die eine bequeme Sprache für die Erzeugung von HTML-Seiten mit statischen und dynamischen Elementen brauchten", sagte Keith Wescourt, J2EE Web Marketing Manager in San Francisco über die Zielgruppe der JSP-Produkte. "Heute dient JSP mit zusätzlichen Funktionen wie den Custom Tag Libraries drei Personengruppen: Webdesign-Firmen, die das Verfassen der Inhalte und das Entwickeln der Anwendungen verschiedenen Mitarbeitern überlassen wollen, Seitengestaltern ohne Programmiererfahrung, die ihre Pages mit dynamischen Inhalten aufwerten wollen und schließlich Unternehmen, die eine flexible Skriptsprache zum Bearbeiten ihrer XML-Contents benötigen." Die erste Version der Software erschien 1999, mittlerweile hat sich die zweite Edition 1.1 verbreitet, die die Technik um Tag-Bibliotheken erweitert hat. Nummer 1.2 liegt als Beta-Release vor.

Den Bau der JSP-Engine, die den JSP-Code in Java umwandelt, hat Sun an das Jakarta-Projekt der Apache-Group abgegeben, das die Software unter dem Namen "Tomcat" auf seiner Homepage jakarta.apache.org kostenlos zum Download anbietet. Tomcat ist gleichzeitig ein Servlet-Container und passt als Plug-in zu den gängigen Webservern: zum Beispiel "Apache", "Microsoft Internet Information Server", "Microsoft Personal Web Server" und "Netscape Enterprise Server". Weil das Programm in Java geschrieben ist, läuft es auf allen Plattformen, die Java unterstützen, darunter Net-ware, Linux, Unix und Windows.

Im Vergleich zu ASP von Microsoft ist deshalb JSP die flexiblere Variante. Denn die Server Pages aus Redmond verfolgen zwar dasselbe Ziel, nämlich die Programmierung von statischen Inhalten zu trennen, kooperieren aber nur mit Webservern aus dem eigenen Hause und laufen lediglich auf Windows-Plattformen. Einerseits benutzt ASP mit "Component Object Model" (COM) wie Java ein Komponentenmodell. Auch erlaubt dieses den Entwicklern je nach Geschmack mit Visual Basic, Visual C++ oder sogar Java zu programmieren. Andererseits lässt sich die Microsoft-Technik nicht erweitern, denn sie unterstützt keine Tag-Bibliotheken. Ein weiterer Nachteil, der ASP angekreidet wird, kommt durch das wackelige Sicherheitsmodell, das die Methode von Windows NT 4.0 übernommen hat.

Auch bei der Performance hat JSP bessere Karten. JSP-Seiten durchlaufen zwei Phasen: Zuerst werden sie in Servlet-Klassen umgewandelt. Anschließend warten sie auf Anfragen aus dem Internet und bearbeiten diese. Die Übersetzung findet dabei in der Regel dann statt, wenn die JSP-Seite zum ersten mal aufgerufen wird. Bei wiederholten Besuchen geht deshalb keine Zeit durch erneutes Kompilieren verloren. Die ASP-Engine hingegen interpretiert VBS-Befehle (Visual Basic Script) oder JScript-Anweisungen bei jedem Besuch einer Seite. Microsoft hat jedoch angekündigt, dass der Compiler des designierten Nachfolgers "ASP.Net" diesen Mangel beheben wird.

Streng nach Regeln Programmieren

Damit die Rechnung mit geteilten Rollen für Entwickler und Designer aufgeht, müssen sich die Programmierer strikt an den Grundsatz halten, dass sie möglichst wenig Java-Anweisungen in eine JSP-Seite packen. JSP erlaubt nämlich, neben speziellen JSP-Befehlen und JSP-Tags auch "Scriptlets" einzubauen. Das sind Java-Programme, die kleine Aufgaben erledigen, bevor Java Beans und Co. in Aktion treten. Zum Beispiel dienen sie zum Verteilen der Anfragen nach bestimmten Gesichtspunkten: Kunden von A bis M sollen auf den Seiten X landen, Kunden von N bis Z auf den Seiten Y. Je komplizierter jedoch diese Prozesslogik wird, desto mehr wächst die Geschwulst aus Java-Zeilen, die das JSP-Programm dem Designer unübersichtlich erscheinen lässt. Große Sites mit einer komplexen Seitenstruktur arbeiten deshalb nach folgender Methode: Sie lassen die Client Requests von Servlets entgegennehmen und betrauen JSP lediglich mit der Erzeugung der HTML-Antwort. Auf diese Weise wird die JSP-Seite um die Befehle zur Request-Bearbeitung kürzer und beschränkt sich auf die Darstellungsweise der Inhalte.

Offen bleibt freilich, ob Programmierer immer nach dem Reinheitsgebot vorgehen, das JSP-Seiten von Java-Anweisungen freihalten soll. Außerdem bleiben dann immer noch die HTML- und XML-Anteile übrig. Selbst wenn eine Server Page ohne Scriptlets auskommt, ist sie deshalb für ungeübte Augen schwer zu bearbeiten. Ohnehin wagen sich Content-Manager selten in den Befehlswald einer HTML-Quelldatei vor. Viel lieber vertrauen sie ihre Inhalte einem Content-Management-Tool an, das sie ihre Seiten nach "Wysiwyg"-Manier (What you see is what you get) gestalten lässt. Einige Management-Werkzeuge, darunter "One-to-One Enterprise" von Broadvision, "Content Server" von Open Market und "Content Management Server" von Vignette unterstützen deshalb JSP-Seiten und erleichtern dem Ungeübten das Hantieren mit Tags.