Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

24.09.1999 - 

Java als Integrationsplattform/Mit Datenaustausch alleine ist es nicht getan

Java öffnet bestehende Programme für das Web

Java wird seit einiger Zeit verstärkt für die Server-Programmierung eingesetzt. Dabei gibt es zwei primäre Einsatzbereiche: Neuentwicklung von modernen verteilten Applikationen und Integration mit Altsystemen. Besonders der Integrationsaspekt spielt eine herausragende Rolle, wofür sich Java aufgrund seiner zahlreichen eingebauten Programmierschnittstellen und seiner Plattformunabhängigkeit besonders eignet. Von Michael Johann*

Steht die Einbindung des Altbestands in neue Anwendungen auf dem Programm, dann geht es meist nicht nur um Mainframes und Midrange-Rechner. In den meisten Unternehmen hat sich darüber hinaus mittlerweile ein reicher Fundus an PC-Applikationen angesammelt, der auch im Zeitalter netzwerkorientierten Computings nicht einfach über Bord geworfen werden soll. Integration von Anwendungen meint bereits traditionell den einfachen Datenaustausch. Wer es darauf abzielt, hat meist Dinge wie Dateitransfer oder EDI-Fakt im Sinn. Generell bietet sich heute der Datenaustausch mittels XML an. Der Vorteil dieser Lösung liegt auf der Hand: XML ist relativ einfach erlernbar, und entsprechende dazugehörige Parser oder Editoren sind reichlich vorhanden. Der größere Vorteil ist allerdings die Standardisierung für den Austausch von strukturierten Daten und entsprechend einem offenen Standard.

Im Zeitalter von Internet und E-Commerce freilich geht es zunehmend um die Einbindung bestehender Daten und Anwendungen in das Web, um sie für den Standard-Client Web-Browser zugänglich zu machen.

Im Host-Umfeld gibt es eine Fülle von Anbietern, Produkten und Vorgehensweisen, die ein Integrationsvorhaben vereinfachen können. Eine Möglichkeit ist die Öffnung der Systeme mittels CORBA (Common Object Request Broker Architecture). Dabei wird ein sogenannter Wrapper um die Applikationen gelegt, der sich über einen Object Request Broker (ORB) mit anderen Komponenten austauschen kann. Funktionen alter Cobol-Programme sind so von außen als Methoden von Corba-Objekten sichtbar. Dieses Verfahren geht offensichtlich über den reinen Datenaustausch hinaus und nutzt bestehende Funktionalität. Auch wenn dies ein sehr sauberer Ansatz ist, so findet man diesen noch relativ selten vor - vielleicht deshalb, weil er mit einem erheblichen Aufwand verbunden ist. Eine andere Variante ist der Einsatz einer Middleware, die meist über MQSeries und CICS mit dem Host-System spricht.

Die Integration von Windows-Applikationen über das Distributed Component Object Model (DCOM) in die Java-Welt stellt sich in der Regel weniger kompliziert dar. Hier bietet Microsoft eine Virtual Machine (VM), die diesen Vorgang transparent macht. Java-Komponenten werden unter Windows als COM-Komponenten sichtbar und umgekehrt. Somit lassen sich schnell Java-Objekte beispielsweise von Visual-Basic-Applikationen aus aufrufen; dies funktioniert auch in umgekehrter Reihenfolge.

Applikations-Server gewinnen an Bedeutung

Eine herausragende Rolle bei der Weiterverwendung von Altsoftware im Zeitalter des Internet spielen Applikations-Server mit entsprechenden Konnektoren. Dabei werden neue Geschäftsprozesse als Business-Objekte abgebildet, die dann auf der mittleren Anwendungsschicht ablaufen und mit der vorhandenen Software kommunizieren. In diesem Zusammenhang setzt sich zunehmend das Komponentenmodell Enterprise Javabeans (EJB) als Standard durch.

Bei Enterprise Javabeans handelt es sich um eine transaktionsorientierte verteilte Komponententechnologie, die ausschließlich für die Server-Seite existiert; deshalb sollte sie nicht mit den client-seitigen Javabeans verwechselt werden. Ziel von EJB ist es, den Entwickler von lästigen Nebenarbeiten wie Transaktionshandling, Multithreading oder Datenbankzugriffen zu entlasten. Damit kann der Großteil des Programmieraufwands der Implementierung von Geschäftsprozessen zugutekommen.

Gerade bei der Integration mit dem Internet macht sich eine derart verbesserte Produktivität entscheidend bemerkbar. Das schnelle und unkomplizierte Zusammenspiel zwischen Anbieter, Lieferanten und Banken wird zunehmend über Erfolg oder Mißerfolg von E-Commerce-Vorhaben bestimmen.

Von Vorteil ist in diesem Zusammenhang auch, daß der Portierungsaufwand beim Wechsel auf ein anderes Betriebssystem oder einen anderen Anwendungs-Server weitgehend entfällt. Ein weithin akzeptierter Standard für Server-seitige Busineß-Komponenten bedeutet für die Hersteller, daß sie ihre Leistungsfähigkeit nicht an proprietären Erweiterungen, sondern an Preis, Skalierbarkeit, Support und Zusatzwerkzeugen messen lassen müssen.

Wie sieht eine solche Architektur aus, wenn Altsysteme über Applikations-Server angebunden werden? In der Backend finden sich die zu integrierenden Alt-, Datenbank- und ERP-Systeme wieder. Das Frontend kann aus allen erdenklichen Clients bestehen, wobei für die Kommunikation das Internet Inter-ORB Protocol (IIOP) eingesetzt werden sollte. Java- und Nicht-Java- Clients werden direkt über IIOP an die Mittelschicht angekoppelt. Java-Applets hingegen unterstützen heute nur HTTP und müssen ihre Anfragen an ein Gateway richten, das dann IIOP-Aufrufe generiert.

Die letzte Variante ist, was die Zahl der erreichbaren Client-Systeme angeht, gut skalierbar und bietet darüber hinaus einen sehr großen gestalterischen Spielraum - die Rede ist natürlich vom Web-Browser. Er versteht zwar nur HTTP oder HTTPS, bietet aber mittels eines Web-Servers mit Java-Server-Pages oder DHTML einen sehr flexiblen Ansatz. Schließlich können Servlets mit der Mittelschicht reden und entsprechende HTML-Seiten für Web-Browser erzeugen.

Produkte, die diese Architektur bereits heute unterstützen, sind "Bea Weblogic Enterprise", "IBM Websphere" oder "Prosyst Enterprise-Beans Server". Inprise, Hersteller der Borland-Tools, bietet die nötige CORBA-Unterstützung und hat den "Inprise Application Server" im Programm, der in naher Zukunft auch mit Enterprise Javabeans umgehen kann.

Fazit: Java ist mittlerweile den Kinderschuhen entwachsen und bietet eine Menge an Funktionalität, die andere Programmiersprachen nur mit sehr viel höherem Aufwand ermöglichen. Wer Integrationsprojekte starten will, sollte sich genau umsehen, welcher Applikations-Server die volle Bandbreite der Java 2 Enterprise Edition unterstützt.

Techniken rund um Java

Enterprise Javabeans: Eine Spezifikation für den Einsatz von plattform- und serverneutralen transaktionsorientierten Komponenten, die sich mit Altsystemen integrieren lassen.

Java Server Pages: Eine Technologie, um serverseitig HTML-Seiten zu generieren und die Trennung zwischen Programmierer und Web-Designer wiederherzustellen.

Java Servlets: Servlets sind die Vorgänger von Java Server Pages. Sie erlauben die Generierung kompletter HTML-Seiten auf dem Server. Dies setzt allerdings ein umfangreiches HTML-Wissen der Programmierer voraus.

JNDI: Java Naming und Directory Interface. Bietet einen standardisierten Zugriff auf Verzeichnisdienste, um Objekte und Ressourcen anzufordern. So werden die Enterprise-Javabeans-Komponenten-Schnittstellen über JNDI angefordert.

Java IDL: Die aus dem Corba-Bereich stammende Interface Definition Language beschreibt die Schnittstellen von Objekten. Java IDL bietet ein passendes Mapping für Java auf Corba.

JDBC: Für die Integration von relationalen Datenbanken steht die Java-DataBase-Connectivity-Schnittstelle zur Verfügung. JDBC existiert schon seit einigen Jahren, ist aber mit der Version 2.0 wesentlich leistungsfähiger geworden.

JMS: Der Java Messaging Service bietet eine Schnittstelle zur asynchronen unternehmensweiten Kommunikation. So läßt sich beispielsweise ein IBM MQSeries integrieren.

JTA: Java Transaction API ist die Programmierschnittstelle für Ressourcen-Manager und Transaktionssysteme.

JTS: Der Java Transaction Service wird von den Herstellern vom Transaktionsmanager implementiert. Die Integration von CICS ist somit ohne weiteres möglich.

JavaMail: Mit JavaMail hält der Programmierer eine flexible Schnittstelle für die Entwicklung von Mail-Applikationen in der Hand.

RMI-IIOP: Mittels dieser Brücke ist es möglich, Enterprise Javabeans direkt zu integrieren, beispielsweise in Visual Basic Clients, und umgekehrt.

*Michael Johann (mjohannqjavatalk.net) ist Geschäftsführer der auf Java spezialisierten Unternehmenungsberatung j.talk().