Der Host öffnet sich Web-Applikationen

22.02.2005
Von Joseph Reger
Wie sich Legacy-Anwendungen effizient in moderne IT-Infrastrukturen einbinden lassen.

Zur Erschließung neuer Geschäftsfelder stehen Unternehmen vor der Aufgabe, ihre Host-Systeme für neue Benutzergruppen, Web-Anwendungen und B-to-B-Lösungen zu öffnen. Web-to-Host-Techniken sind hierfür eine risikofreie Lösung, da für die Modernisierung keinerlei Eingriffe in die Programmlogik der bestehenden Applikationen erforderlich sind. Die Integrationsstufen moderner Web-Integrations-Server erstrecken sich von der einfachen Browser-basierenden Emulation über das Aufsetzen einer grafischen Benutzeroberfläche (GUIfizierung) und Dialog-Reengineering bis hin zum Process Reengineering, das mehrere Anwendungen unter einer gemeinsamen Web-Oberfläche zusammenführt.

Emulation via Web

Die Web-basierende Emulation transformiert die ursprünglichen, meist zeichenorientierten Bildschirmmasken und -dialoge eins zu eins in Browser-fähige HTML-Seiten. Der Integrations-Server erzeugt dafür aus den proprietären Formatdefinitionen von MVS-, BS2000/OSD-, AS/400- oder Unix-Anwendungen automatisch Templates, die zur Laufzeit vom Programm interpretiert werden. Sie legen das Layout der im Browser angezeigten HTML-Seiten fest, steuern die Web-Applikation und definieren die Kommunikationsschritte mit den Dialoganwendungen der Host-Systeme. Statt über das Terminal oder den PC mit Terminalemulation kann der Benutzer nun über jeden gängigen Browser via Intra-, Extra- oder Internet auf die Host-Anwendungen zugreifen.

Während die bei der Web-basierenden Emulation generierten HTML-Seiten noch voll- ständig dem Look and Feel des Terminals entsprechen, lässt sich die Web-Oberfläche anschließend mit Hilfe von GUI- fizierung und Dialog-Reengi neering grafisch optimieren, funktional erweitern oder die Dialogführung ergonomischer strukturieren. Die Modernisierung muss nicht alle Bildschirmseiten betreffen, sondern kann auch eine Mischung aus Eins-zu-eins-Darstellungen und verbesserten Interfaces ergeben. So lassen sich zunächst die Hauptpfade aufbereiten und später nach und nach die Seitenpfade der Dialoge verbessern. Ein- und Ausgabeelemente können ausgefiltert oder hinzugefügt werden. Die Dialoge lassen sich zusammenfassen oder in mehrere kleine Interaktionsschritte zerlegen, um beispielsweise die eingeschränkten Darstellungskapazitäten mobiler Endgeräte zu kompensieren.

Für die individuelle Gestaltung der Bildschirme und die Programmierung der entsprechenden Verarbeitungslogik werden die zuvor erzeugten Templates mit Hilfe von HTML- und Javascript-Sprachmitteln bearbeitet. Integrations-Server bieten hierfür oft vorgefertigte Komponenten, mit denen Auswahlboxen, Pop-up-Listen oder Tabellenreiter nicht mehr aufwändig entwickelt, sondern nur noch in das Template eingefügt und anschließend menügeführt parametrisiert werden müssen.

Im Rahmen des Process Reengineering lassen sich schließlich mehrere heterogene Host-Anwendungen unter einer gemeinsamen Web-Oberfläche verknüpfen und mit beliebigen dynamischen Web-Inhalten kombinieren. Welche Datenquelle die angeforderten Services liefert, ist für den Endbenutzer nicht mehr sichtbar. Die Integration erfolgt in den Templates und Konfigurationsdateien des Integrations-Servers. Die Extended Markup Language (XML) liefert die Basis für weitere Integrationsmöglichkeiten. So lassen sich mittels XML mehrere verteilte Anwendungen zu einer übergreifenden Gesamtlösung zusammenführen. Die Templates der beteiligten Applikationen werden hierbei in Form von XML-Dateien über das Hypertext Transfer Protocol (HTTP) ausgetauscht.

Gegenüber einem Emulations-Applet oder Control in einer Website, das immer als isolierte Einheit im Browser läuft, wertet die Umsetzung auf HTML-Seiten die Host-Applikation zu einer vollwertigen Web-Anwendung auf. Damit stehen alle Integrationsmöglichkeiten zur Verfügung, die in den letzten Jahren entstanden sind. Beispielsweise können die Legacy-Systeme so ohne Probleme in Enterprise-Portalen konsolidiert werden. Der Anwender muss sich dadurch nicht mehr gegenüber einer Vielzahl von Applikationen authentifizieren, sondern lediglich über ein Single-Sign-on einmal am Portal-Server ausweisen.

Die Daten und Anwendungen selbst liefert das Portal dem Benutzer rollenspezifisch entsprechend seinen Aufgaben und Interessen. Den Blick auf die einzelnen Quellen ermöglichen so genannte Portlets. Technisch handelt es sich dabei um Adapter, welche die verschiedenen externen Informationsquellen und Applikationen über eine einheitliche Schnittstelle in das Portal integrieren. Die einzelnen Ausgaben der Portlets werden vom Portal-Server zusammengesetzt und anschließend aggregiert im Browser angezeigt.

Anwendungskapselung

Eine weitere Möglichkeit zur Anwendungsintegration bietet der objektorientierte Zugriff auf die Host-Applikationen. Hierbei wird die Funktionalität der bestehenden Open-UTM-, BS2000/OSD- oder MVS-Dialoganwendungen in Business-Objekte eingekapselt. Diese lassen sich dann als Web Services, Enterprise-Java-Beans-(EJB-) oder .NET-Objekte beliebig weiterverarbeiten und zusammen mit neu entwickelten Anwendungskomponenten in neue Geschäftsprozesse einbinden. Änderungen an den Host-Systemen sind auch bei diesem Verfahren nicht notwendig.

Zur Generierung der Business-Objekte werden die zu integrierenden Anwendungen zunächst mitgeschnitten. Während der Benutzer die Applikation in gewohnter Weise bedient, zeichnet die Integrationssoftware alle ablaufenden Aktionen auf: Von der Abfolge der Bildschirmmasken über die Dialogsequenzen bis hin zur Ein- und Ausgabe.

Business-Objekte

Aus den so gewonnenen Informationen generiert die Integrationssoftware anschließend ablauffähige Business-Objekte. Diese fassen die Services der Anwendungen zu einem logischen Objekt mit Attributen und Methoden zusammen. Über welche Schnittstelle das jeweilige Host-System angesprochen wird, spielt somit keine Rolle mehr. Durch die einheitliche Sicht lassen sich die Business-Objekte - und darüber die unterschiedlichen Anwendungen - frei kombinieren und mit Hilfe von grafischen Tools zu neuen Geschäftsprozessen zusammenfügen. Unternehmen erhalten dadurch ein konsistentes Anwendungssystem, das um neue Komponenten erweitert und an veränderte Geschäftsbedingungen angepasst werden kann.

Applikations-Server

In Web-orientierten, dreischichtigen IT-Infrastrukturen, wie sie heute in vielen Unternehmen existieren, nehmen J2EE-Applikations-Server aufgrund ihrer komponenten- und standardbasierenden Architektur eine zentrale Rolle ein. Solche Server verbinden die Web-basierenden Oberflächen auf Client-Systemen mit verteilten Datenbeständen, betriebswirtschaftlicher Software, Fertigungssteuerung oder Warenwirtschaftssystemen im Backend.

Verbindung zu OLTP-Systemen

Ein großer Teil der entsprechenden Host-Anwendungen ist für das Online Transaction Processing (OLTP) erstellt worden und wird durch klassische Transaktionsmonitore wie Cics von IBM oder Open UTM von Fujitsu-Siemens Computers gesteuert. Für die Verbindung zwischen den Transaktionsmonitoren und den Applikations-Servern sorgen spezielle Adapterprogramme. Die OLTP-Anwendungen lassen sich hierbei bidirektional an die auf dem Applikations-Server laufenden Java-Anwendungen anbinden.

Das heißt, der Start einer Transaktion kann sowohl von der Java-Komponente als auch von der Legacy-Anwendung ausgehen. Der Nachrichtenaustausch erfolgt entweder synchron über Funktionsaufrufe via JCA - die in der J2EE-Spezifikation definierte Java Connector Architecture - oder asynchron über den Java Messaging Service (JMS). Über die JCA-Schnittstelle können Java-Entwickler auch auf Standardsoftware, Datenbanken oder Legacy-Systeme zugreifen, wodurch die Integration von Unternehmensanwendungen und J2EE-basierenden Anwendungen deutlich vereinfacht wird.

Web-Services

Last, but not least lässt sich mittels J2EE und entsprechenden Applikations-Servern die Lücke zwischen Host-Anwendungen und Web-Services schließen, die sich immer mehr für den Datenaustausch zwischen heterogenen Systemen durchsetzen. Für Web-Services bieten sich insbesondere Host-Dienste wie Open-UTM- oder Cics-Applikationen an, auf denen bereits heute die Online-Verarbeitung basiert. Um die Funktionalität dieser Programme in die Welt der Web-Services zu übertragen, müssen passende XML-Ein- und Ausgabedokumente definiert, diese in Cobol-Strukturen konvertiert und der komplette Transportweg vom Client bis zum Host-Service bereitgestellt werden. Für einfache Abfragen ist lediglich ein Servlet zu entwickeln, das über HTTP oder HTTPS die XML-Daten annimmt, daraus die nötigen Nettodaten für das Host-Programm extrahiert und diese über existierende Java-Client-Schnittstellen mit dem Host-Programm austauscht.

Um eine hohe Qualität bezüg- lich Transaktionen und Sicherheit zu gewährleisten und die Host-Dienste mit neuen in J2EE entwickelten Diensten zu kombinieren, bietet die J2EE-Spezifikation verschiedene Möglichkeiten. Die OLTP-Anwendungen tragen den hohen Konsistenz- und Sicherheitsbedürfnissen ihrer Betreiber Rechnung. Auch wenn noch nicht alle Faktoren wie Sicherheit, Sessions und Transaktionen in den Web-Service-Spezifikationen festgeschrieben sind, werden diese Aspekte doch durch die J2EE-Applikations-Server und die Schutzfunktionen der internen Unternehmensnetze aufgefangen. Deshalb ergibt es bereits heute Sinn, traditionelle Host-Systeme in Intra- und Extranets mittels J2EE-Applikations-Server in ein Konzept mit Web-Services einzubeziehen. (wh)