Java/Integration mit Java: Sparstrumpf der DV

12.06.1998

Es bestehen drei Integrationsvarianten: Zunächst die Datenintegration auf der Grundlage von vorhandenen Datenbeständen, beispielsweise aus Datenbanken oder Dateisystemen. Als wichtiger und viel komplexer erweist sich in der Praxis die Applikationsintegration. Dabei sind bestehende und neue Applikationen miteinander zu verbinden. Im Gegensatz zur Wiederverwendung von Daten bilden hier die unterschiedlichen Programmiersprachen und -paradigmen ein technisches Hemmnis. Als dritte und oftmals vernachlässigte Variante gilt die Dokumentenintegration: Sie gliedert vorhandene Dokumente, etwa aus Textverarbeitungssystemen, in Anwendungssysteme ein.

Die im Zusammenhang mit dem Internet vieldiskutierte Sprache Java reichert die bis dato statischen Web-Seiten um ausführbaren Code an (Executable content principle). Auf der Client-Seite von Intranets können damit vollwertige Applikationen ablaufen.

Java bietet neben der Objektorientierung auch noch den Vorteil, daß es kompakt und leicht zu lernen ist. Das ermöglicht vielen Unternehmen, die Entwickler sehr schnell und effektiv auf den neuesten Stand zu bringen. Erfahrungen aus der Praxis belegen, daß C++-Programmierer bereits innerhalb von zwei bis vier Wochen mit Java eine akzeptable Produktivität erreichen können.

Theoretisch stellen Portabilität und plattformübergreifende Verfügbarkeit auch für Smalltalk und C++ keine wesentlichen Probleme dar. Tatsächlich existieren jedoch kaum wirklich portable und heterogen verfügbare Anwendungssysteme für diese Sprachen. Die Pflege von Programmen auf mehreren Betriebssystemen, insbesondere für unterschiedliche Benutzeroberflächen, ist aufwendig und teuer.

Java läßt da auf Besserung hoffen: Sieht man von "Kinderkrankheiten" bei Fonts, Skalierung und Grafikdarstellung ab, so sichert die Java-Standardbibliothek "Abstract Window Toolkit" (AWT) die Portabilität zwischen unterschiedlichen Grafik-Plattformen.

Damit allein ist es aber nicht getan. Die Integration vorhandener Daten und Anwendungssysteme zu leicht skalier- und wartbaren Systemen läßt sich nur über flexible Gesamtarchitekturen erreichen. Unter dem Stichwort Mehr-Ebenen-Client-Server ist diese Art des Systemdesigns mittlerweile weit verbreitet. Sie läßt sich effektiv verwirklichen, wenn die Definition klarer und präziser Schnittstellen zwischen den einzelnen Systemkomponenten gelingt.

Auf dem Sprung von Clients zu Servern

Insbesondere bei der Einbindung von Host-basierten Altsystemen fehlen solche Schnittstellen aber häufig oder genügen den heutigen Anforderungen nicht mehr. Dann helfen sogenannte Wrapper. Diese kapseln die Altsysteme von der Außenwelt ab und machen Funktionen der Altanwendungen für Corba- und COM-Umgebungen zugänglich.

Seine größte Bedeutung besitzt Java als Programmiersprache heute für Client-Software. Immer öfter entstehen allerdings auch Server-Applikationen. Durch den Einsatz von Java für komplette Anwendungssysteme steigt deren Skalierbarkeit und Partitionierbarkeit erheblich an. Insbesondere im Zusammenhang mit dem noch zu beschreibenden Integrationsfaktor Corba ermöglicht Java somit sehr flexible Systemarchitekturen.

Für den übergreifenden Erfolg von Java gibt es neben der Integrationsfähigkeit drei kritische Faktoren:

1. Sicherheit: Java besticht hier gegenüber anderen Sprachen durch ein ganzheitliches Konzept.

2. Werkzeuge für Entwickler: Lange Zeit galt das Angebot an Entwicklungsumgebungen für Java als die Gretchenfrage. Durch die Ähnlichkeit zu C++ schufen eine Reihe namhafter Hersteller sehr schnell Java-Versionen ihrer jeweiligen C++-Tools. So konkurrierten Ende 1996 eine ganze Reihe von Produkten um die Gunst der Entwickler.

Symantecs "Visual Cafe" ist das meistverkaufte Tool; für Enterprise-Entwicklung gibt es zum Beispiel "Power J" von Sybase. Neben dem komplett in Java geschriebenen "Java Workshop" der Firma Sun überzeugen "Visual J++" von Microsoft, Borlands "JBuilder" sowie "VisualAge" von IBM als gelungene Tools. Mittlerweile liegen auch eine Reihe kommerzieller Klassenbibliotheken in Java vor, so daß Entwickler auch nicht alles selbst programmieren müssen.

3. Marktakzeptanz: Gelingt es Java, die Mehrzahl der Programmierer und Entscheider von seinen Qualitäten zu überzeugen? Technisch gute Konzepte können sich nur durch die Akzeptanz einer großen Zahl von Anwendern durchsetzen.

Bei den relationalen Datenbanken dauerte dieser Prozeß mehr als ein Jahrzehnt. Java erblickte Anfang 1995 das Licht der Welt, von daher scheint es etwas verfrüht, schon heute von einem Durchbruch zu reden. Doch laut Umfragen auf der diesjährigen Java-Entwicklerkonferenz in San Fran- zisko gibt es weltweit mittlerweile mehr als 600000 Java-Programmierer. Eine sehr große Anzahl von Unternehmen entwickelt zur Zeit Produkte im Java-Umfeld, die die Akzeptanz der Technologie sichern sollen. Dazu gehören Applikations-Server, Anbindungen an Transaktionsmonitore wie CICS, hochperformante Datenbankzugriffe sowie diverse Produkte im Sicherheitsbereich.

Java bietet ein ganzes Portfolio von Integrations- und Connectivity-Technologien. Netzwerkfunktionen bietet Java bereits über seine Standardbibliotheken an. Aber Vorsicht: Grundsätzlich wird TCP/IP als Protokoll vorausgesetzt. Im Falle von SNA-Netzen müssen Anwendungsprogramme unter Umständen zwischen diesen Protokollen übersetzen. Auf dem Markt existieren eine Reihe von Produkten, die diese Konvertierungen leisten.

Die Verträglichkeit von Java mit kommerziellen Datenbanksystemen besorgt die Schnittstelle Java Database Connectivity (JDBC). Als Bestandteil der Java-Standardbibliotheken definiert sie eine Zugriffsschicht auf relationale Datenbanken, ähnlich dem seit langem aus der Objektorientierung bekannten ODBC.

Mit JDBC lassen sich problemlos alle Standarddatenbanken anbinden. Für umfangreiche Integrationsprojekte ist dabei interessant, daß sich sogar mehrere unterschiedliche Datenbanken parallel über JDBC problemlos bedienen lassen.

Zur Integration von Anwendungssystemen bietet Java wiederum mehrere Möglichkeiten an. Zum "Lieferumfang" der Programmiersprache gehört die Remote Method Invocation (RMI). Sie erlaubt den Aufruf externer Java-Methoden auch über Maschinengrenzen hinweg.

Diese Technik zeigt sich für einfache Integrationsvorhaben durchaus praktikabel. Als nachteilig erweist sich bisher die schwerfällige Administrierbarkeit und geringe Skalierbarkeit von RMI. Nicht-Java-Programme benötigen dann Wrapper.

Solche lassen sich über die Common Object Request Broker Architecture (Corba) realisieren, eine höchst leistungsfähige Integrationsplattform. Die in diesem Standard beschriebenen Object Request Broker (ORB) erlauben die flexible Kommunikation von Objekten auf beliebigen DV-Architekturen und Netzen. Es spielt nur selten eine Rolle, in welcher Sprache oder auf welchem Betriebssystem die jeweiligen Objekte implementiert sind.

Java und Corba bilden eine ideale Kombination zur Applikationsintegration: Java zur Implementierung von Clients und auch Applikations-Servern, Corba als sprach- und betriebssystemneutrales Kommunikationsmedium.

Ein konkretes Projektbeispiel kapselt ein bestehendes, in C++ realisiertes Flugbuchungs-system. Das Altsystem, genannt TIX, verfügt über eine textbasierte Benutzeroberfläche. Ziel des Projekts war es, unter Beibehaltung des funktionalen Kerns von TIX eine portable Client-Version zu schaffen, die bei Bedarf auch per Internet nutzbar ist.

Bei der Erweiterung bleibt die bestehende Anwendung vollständig und ohne Modifikation erhalten. Ein in C++ erstellter Object Wrapper kapselt die Interna der bestehenden Programmierschnittstelle von TIX gegenüber der Außenwelt vollständig ab. Symbolisch kommunizieren die neuen TIX-Clients nur noch über die Corba-Schnittstelle mit dem System.

Die Mainframe-Integration durch Java gewinnt an Bedeutung. Sollte aus irgendeinem Grund Corba als Integrationstechnologie für Großrechner-basierte Applikationen ausscheiden, so gibt es für die wichtigen Anwendungsplattformen wie CICS und IMS gleichwohl noch alternative Integrationsansätze auf Java-Basis:

Auf dem Mainframe wird ein sogenannter Remote Procedure Call- ( RPC-)-Server eingerichtet. Java-Programme sprechen diesen über TCP/IP-Funktionen an und starten beliebige CICS- oder IMS-Transaktionen. Der RPC-Server regelt die bidirektionale Parameterübergabe sowie alle notwendigen Protokollkonvertierungen.

Die Vorteile dieses Ansatzes liegen in der starken Host-Konformität des RPC-Servers, der guten Skalierbarkeit sowie der Effektivität der notwendigen Java-Klassen. Vorhandene Transaktionen auf dem Mainframe können unverändert bleiben. IBM liefert mit dem CICS-Gateway für Java eine Reihe von Java-Klassen aus, die eine Integration vorhandener CICS-Transaktionen ermöglichen.

Den einfachsten Weg zur Integration vorhandener Dokumente in Java-Programme bieten Web-Browser. Java erlaubt es, beliebige Dokumente in einem Browser darzustellen. Auf diese Weise lassen sich beispielsweise vorhandene Online-Hilfesysteme oder Office-Dokumente sehr einfach in neue Applikationen einbetten. Darüber hinaus bieten mittlerweile viele Hersteller klassischer Dokumenten-Management-Systeme ihre Programme auch als Intra-, beziehnungsweise Internet-Versionen an. Die Schnittstellen dieser Systeme ermöglichen oft eine saubere Integration mit Java-basierten Anwendungssystemen.

Im Fazit kann durchaus von einem Gewinn für alle beteiligten die Rede sein. Die Nutzung von Java, Intra- und Internet-Technologien führt in Projekten zu hohen Nutzenpotentialen für alle. Die Anwender erhalten integrierte und effektive Unterstützung ihrer Geschäftsprozesse. Die Browser-basierten Applikationen ermöglichen ergonomische Benutzeroberflächen.

Das Management erhält langfristige Kostenvorteile durch ein hohes Maß an Investitionssicherung durch Integration sowie durch standardisierte Technologien. Und die Entwicklerteams erfreuen sich an modernen und effektiven Methoden. Hierdurch steigen Motivation wie auch Produktivität.

Eine Vielzahl erfolgreich abgeschlossener Java-Projekte belegt die technische Reife des Konzeptes. Um es mit den Worten des Sun-Chefstrategen Scott McNealy zu sagen: "Gar nicht schlecht, wenn man bedenkt, daß Java vor 800 Tagen nichts weiter war als eine Tasse Kaffee."Zertifiziert

Sun Microsystems initiiert mit den Authorized Java Center (AJC) ein Programm zur Qualifikation und Zertifizierung von Softwarehäusern. Diese Zertifizierung gewährleistet einen hohen Standard in der Java- und Intranetberatung.

Im Gegensatz zu den meisten anderen Klassifizierungen mit "Authorized" oder "Certified" geht es Sun bei dieser Zertifizierung nicht um Produktwissen. Vielmehr sollen diese Zentren die von Javasoft vorgezeichnete "Road to Java Computing" durch Kompetenz in der Sprache Java und den zugehörigen Themengebieten unterstützten.

Die Auswahl der potentiellen Systemhäuser erfolgt akribisch. Die Projekt- und Entwicklungserfahrung der Kandidaten im Bereich Java und Client-Server-Computing spielt eine entscheidende Rolle. Zusätzlich untersucht eine Kommission auch betriebswirtschaftliche Daten und Kundenorientierung.

Weltweit etwa 150 ausgewählte Software- und Beratungsfirmen durchlaufen einen gründlichen und umfassenden Trainingszyklus. Die Ansprüche sind hoch. Erst der Erfolg in den entsprechenden Prüfungen sichert den begehrten Titel "Authorized Java Center".

Weitere Informationen zu den Authorized Java Center finden sich im Internet unter http://www.sun.de/Unternehmen/JavaComputing/JavaServices/JavaCenter/index.html.

Gernot Starke ist Berater für DV-Strategie, Methoden und Tools der Schumann Unternehmensberatung AG, Köln.