42 Web-to-Host Web-to-Host HTML-Entwickler erstellen Web-to-Host-Anwendungen 1095 Java Server Pages-Technik senkt Projektkosten Schon bei der Entwicklung einer Web-to-Host-Anwendung sollte man an zukünftige Änderungen denken. Die Java Server Pages-Technik macht es möglich, den Dateninhalt einer Anwendung von der Präsentationslogik zu trennen. So lassen sich Änderungen in der Regel einer der beiden Kategorien zuordnen. Java-Entwickler sorgen auf der Ebene der Dateninhalte für den reibungslosen Datenfluss auf die HTML-Seiten und Webdesigner auf der Darstellungsebene für eine ansprechende Optik. Neuartige Entwicklungswerkzeuge gehen sogar noch weiter. Für komplexere Aufgabenstellungen wird der Java-Entwickler weiterhin unverzichtbar bleiben, aber für eine einfache Web-Applikation wird er entbehrlich. isher profitierten nur Java Entwickler von Entwicklungswerkzeugen, die den Zugang zu Mainframe-Systemen, SQL-Servern oder SAP/R2-Anwendungen in der von Ihnen bevorzugten Form – Java eben – ermöglichen. Diese Werkzeuge oder Assistenten unterstützen die Programmierer in ihren gewohnten Java Entwicklungsumgebungen wie zum Beispiel Visual Age oder Visual Cafe. B Tragende Rolle für HTML Entwickler Aber oft liegt die Gestaltung und das Design von Web-Applikationen oder von HTML-Frontends in den Händen von HTML-Entwicklern. Neuartige Entwicklungswerkzeuge wie HostBeans for Development 6.0 der Firma INTRA-SYS enthalten ein Java Server Pages Modul. Bei der Verwendung solcher Tools genügen schon Kenntnisse in HTML, um eine einfache Web-Applikation zu erstellen, die mit den datentragenden Systemen kommuniziert. Mit der Unterstützung von Java Server Pages können HTML-Entwickler vermehrt Aufgaben bei der Gestaltung und Betreuung einer Internet Anwendung übernehmen. JavaEntwickler werden in geringerem Um- 8/9•2001 IT FOKUS Bild 1: Zusammenspiel von JSP-Engine, Tag-Lib, Servlet und Bean. www.it-verlag.de 44 Web-to-Host fang oder bei einfachen Anwendungen gar nicht mehr benötigt. So verringern sich Entwicklungszeiten und Budgets. 1095 Java Server Pages-Technik Bei der Entwicklung webbasierter Anwendungen ist nicht nur die schnelle und einfache Erstellung von Bedeutung. Auch das Design der Applikation und der Dialog mit dem beteiligten System, das die relevanten Daten speichert, sollte sich in der Zukunft möglichst einfach verändern lassen. Dies gilt besonders dann, wenn Informationen aus mehreren unterschiedlichen Systemen zusammengeführt und gemeinsam im Frontend dargestellt werden. Hier kann die Java Server Pages-Technik sowohl bei Entwicklung als auch bei späteren Änderungen einen wichtigen Beitrag leiBild 2: Die 3 Säulen der Web-to-Host Kommunikation: Java Server Pages, Servlets und HostBeans. sten. Doch zunächst zur Begriffsdefinition. Was sind eigentlich Java Server Pagnern bearbeitet werden. Jede VerändeJava-Entwickler sorgen für den reiges – kurz auch JSP genannt? Dabei rung im Quellcode – egal ob das Design bungslosen Datenfluss und Webdesihandelt es sich um eine Erweiterung der oder die Präsentationslogik betroffen ist gner für eine ansprechende Optik. Diese Java-Servlet-Technologie. JSPs ähneln in – erfordert immer eine manuelle NeuAufteilung der Aufgaben ist um so ihrem Aufbau normalen HTML-Seiten, kompilierung des Servlets. Ein Java-Entwichtiger, weil an diesen beiden Bereisind aber mittels Tags (spezieller Befehwickler wird also auch dann erforderchen naturgemäß mit völlig unterle) um Java-Code ergänzt worden. lich, wenn nur eine Änderung des Deschiedlichen Werkzeugen gearbeitet Taucht beim Abarbeiten eines JSP signs gewünscht wird. Ganz anders wird. Zukünftige Änderungen an der Scripts (siehe Listing 1) auf dem Websieht die Sache aus, wenn die Java SerApplikation betreffen im allgemeinen Server – beispielsweise ausgelöst durch ver Pages-Technik zum Einsatz kommt. nur einen der beiden Bereiche und köneine Anfrage auf dem Client – ein solnen so von den jeweiligen Spezialisten Vorteile der JSPs ches Tag auf, dann wird innerhalb der realisiert werden. Neuartige EntwickTag-Bibliothek auf dem Web-Server der Die Trennung der Dateninhalte einer lungswerkzeuge wie HostBeans for Dezugeordnete Code identifiziert. AnSeite von der Präsentationslogik ist der velopment 6.0 der Firma INTRA-SYS schließend wird dieser durch eine Java wichtigste Vorteil beim Einsatz der Java gehen sogar noch weiter. Die im Java Server Pages-Engine in ein Java-Servlet Server Pages-Technik. Hierdurch erfolgt Server Pages Modul mitgelieferte Tagübersetzt (kompiliert). Diese Engine eine saubere Verteilung der Aufgaben. Bibliothek genügt, damit der Webdesiliegt üblicherweise selbst als Java Servlet auf dem Web1 <html> Server vor. Von Vorteil ist na2 <%@ page language="java" buffer="16k" %> türlich auch, dass die Java 3 <%@ page import="java.util.*" %> Server Pages das Java-Beans4 <%@ taglib uri="/WEB-INF/tlds/isEmuTagLib.tld" prefix="emu" %> 5 <head> Komponentenmodell unter6 <title>Emu</title> stützen. Denn die Java-Beans 7 </head> (HostBeans) haben die Auf8 <body> gabe, mit den datentragen9 <emu:OpenSession sessionName="HostA" /><br> den Systemen wie Hosts oder 10 <emu:NavigateTo maskName="MaskeKIS" 11 kundenNr="<%= request.getParameter(\"kundennr\")%>" /><br> SQL-Servern zu kommunizie12 <emu:UseFieldMap maskName="MaskeKIS" /><br> ren. Wird nur mit Java13 Name:<emu:Field fieldName="Name" /><br> Servlet-Technologie gearbei14 Vorname:<emu:Field fieldName="Vorname" /><br> tet, dann tauchen alle Tags im 15 Offene Bestellungen:<emu:Field fieldName="Offene Bestellungen" /><br> Quellcode des Java-Servlets 16 <emu:CloseSession/><br> 17 </body> oder in Templates auf. Des18 </html> halb können die Tags nicht einfach mit Entwicklungswerkzeugen von Webdesi- Listing 1: Java Server Pages Script auf dem WEB-Server. 8/9•2001 IT FOKUS www.it-verlag.de gner ohne Java Kenntnisse eine einfache Web-Applikation erstellt, die mit den Daten liefernden Systemen kommuniziert. Für komplexere Aufgabenstellungen wird der Java-Entwickler aber weiterhin unverzichtbar bleiben. Das Listing 1 zeigt, wie Tags auf einfache Weise in HTML eingebettet werden. Bevor diese Befehle allerdings verwendet werden können, müssen sie zunächst in einer Art Bibliothek definiert und hinterlegt werden (Zeile 4). Bei der Anlage dieser Bibliothek (Tag Lib) auf dem Web-Server nutzt man die Tatsache, dass bei der Kommunikation mit dem Host immer die selben grundlegenden Schritte erfolgen. Die Anzahl der für die Unterhaltung notwendigen Vokabeln – sprich Tags – ist für einfache Anwendungen deshalb gut überschaubar und kann im voraus festgelegt werden. Wird die Seite vom Browser angefordert, werden die Tags auf dem WEBServer ausgeführt und das Ergebnis als HTML-Seite zum Browser gesendet. Die Darstellung zeigt die typische Sequenz von Anweisungen, die aufeinander folgen. Zunächst ist immer ein Öffnen einer Host-Session und eine Anmeldung erforderlich (Zeile 9). Danach erfolgt die Navigation zur Maske des Kundeninformationssystems (Zeile 10) und das – mitunter mehrmalige und wiederholte – Abrufen von Daten (Zeile 12–14). Am Ende steht immer ein Schließen der Session (Zeile 16). Bild 1 zeigt das Zusammenspiel von JSP-Engine, Tag-Lib, Servlet und Bean Was geschieht, wenn beim Abarbeiten eines JSP Scripts auf dem Web-Server – zum Beispiel ausgelöst durch eine Anfrage auf dem Client – ein solches Tag auftaucht? Wie reagiert die JSP-Engine, die bei den ablaufenden Prozessen eine zentrale Rolle spielt? Betrachten wir das Beispiel aus Listing 1. In Zeile 4 erhält die Java-Engine die Information, was sie tun soll, wenn sie im folgenden auf einen Passus stößt, der mit „emu“ beginnt und somit ein Tag darstellt. Sie bekommt Name und Adresse der Bibliothek genannt, in der zu jedem Tag ein entsprechender JavaCode hinterlegt ist. Jeder dieser Codes stellt eine Arbeitsanweisung zum Beispiel für ein Bean (HostBean) dar. Diese Anweisung gibt die Engine an das ausführende Organ weiter. Betrachten wir der anderen Seite. In dieser zentralen Rolle sind sie für die Steuerung des Applikationsablaufes verantwortlich. Sie instruieren die HostBeans, welche spezielle Adresse auf dem Host anzusteuern ist und welche Daten gesucht werden. Nach der erfolgten Recherche übernimmt das Servlet die Host-Daten und generiert eine neue HTML-Seite, in der die aktuelle Information angezeigt wird. Zeile 13. Hier steht, wieder in Form eines Tags, ein konkreter Auftrag an ein HostBean: Suche in der Maske des Kundeninformationssystems die Information aus dem Feld „Name“! Diese Information übergibt das HostBean nach der Recherche auf dem Host an die Engine. Diese erstellt ein Servlet, das die Information in HTML einbettet und zurück an den Client sendet. Java Server Pages, Servlets und HostBeans sind die 3 Säulen der Web-toHost-Kommunikation. Mittels JSP-Technologie werden Tags, Befehle in JSP, automatisch in Java kompiliert. Die entstehenden Java-Servlets sprechen HostBeans an, die auf dem Host Daten recherchieren. Die aktuellen Daten werden abschließend vom Servlet in das HTML integriert und an den Client (HTML-Frontend) gesendet. Selbstverständlich ist es möglich, nur Teildaten einer Hostmaske zu verwenden und mehrere Hostmasken von einem oder mehreren Hosts zusammenzufassen. Unterschiedliche HostBeans kommunizieren mit Unix-, Sinix-, AS/400-, MVSund BS2000-Systemen und binden weitere Datenquellen wie SQL-Server mit ein. Java Server Pages: JSP sind eine Art Zwitterwesen. Einerseits ähneln sie bei erster Betrachtung traditionellem HTML, aber sie enthalten in Form von Tags quasi gekapselten Java-Code. Diese Tags sind in Form einer Bibliothek auf dem Webserver gespeichert und können abgerufen werden. Die Umwandlung in Java-Servlets erfolgt automatisch. Servlets: Sie sind das verbindende Element zwischen den Java Server Pages auf der einen und den HostBeans auf HostBeans: HostBeans sind JavaBeans, die über den Terminaldatenstrom auf Hostanwendungen zugreifen. Durch die Verwendung der TerminalSchnittstelle müssen die Hostanwendungen nicht geändert werden. Aus einem Java-Programm heraus erfolgt ein lesender Zugriff auf die Bildschirmdaten und – zur Simulation von Benutzereingaben – ein schreibender Zugriff auf den Tastaturpuffer. An die Stelle des Mitarbeiters, der eine Datensuche durchführt, tritt das HostBean. Welche Daten gesucht werden, gibt das Servlet vor, das – nach der Recherche – auch die gefundenen Informationen entgegennimmt. Zusammenfassung Schon bei der Entwicklung einer Webto-Host-Anwendung sollte man an zukünftige Änderungen denken. Die Java Server Pages-Technik macht es möglich, den Dateninhalt einer Anwendung von der Präsentationslogik zu trennen. So lassen sich Änderungen in der Regel einer der beiden Kategorien zuordnen. Java-Entwickler sorgen auf der Ebene der Dateninhalte für den reibungslosen Datenfluß auf die HTML-Seiten und Webdesigner auf der Darstellungsebene für eine ansprechende Optik. Werden neuartige Entwicklungswerkzeuge eingesetzt, können einfache Web-Applikationen ohne Java-Entwickler entworfen werden. Für komplexere Aufgabenstellungen wird der Java-Entwickler weiterhin unverzichtbar bleiben. Mit der im Java Server Pages Modul mitgelieferte Tag-Bibliothek kann der Webdesigner ohne Java- Kenntnisse eine einfache Web-Applikation erstellen, die mit den datenliefernden Systemen kommuniziert. Uwe Schreiber Weitere Informationen: www.intra-sys.de 8/9•2001 IT FOKUS 45 1095 Web-to-Host