EAI-Plattformen integrieren Applikationen und Services

Prozess-Integration - die Geschichte holt uns ein

Aus historischen Gründen betreiben grössere Unternehmen eine Vielzahl von Systemen auf unterschiedlichen Plattformen mit unterschiedlichen Datenformaten, Protokollen usw. Man bezeichnet diesen Umstand oft als «gewachsene Systemlandschaften».

Mit dem Aufbau von E-Business-Dienstleistungen müssen die Geschäftsprozesse, welche bedingt durch verschiedene Systeme oft Medienbrüche beinhalten vereinfacht bzw. optimiert werden. Denn die Medienbrüche verursachen Mehrfacherfassungen, sie stellen ein Daten- oder Servicequalitätsrisiko gegenüber den Kunden dar.

Die konsequente Umsetzung eines zentralen Konvertierungsservices das den durchgängigen Datenaustausch in einem Unternehmen ermöglicht wird «Enterprise Application Integration» oder kurz «EAI» genannt.

Grundsätzlich ist ein EAI-System mit EDI-Systemen nahe verwandt, bei EDI werden Daten oder Meldungen jedoch über Unternehmensgrenzen hinweg zwischen den Systemen von Geschäftspartnern ausgetauscht.

Grundprinzip einer EAI-Plattform

Eine EAI-Plattform wird als zentrale Datendrehscheibe positioniert. Die Daten, welche von einem System zu einem anderen transportiert werden müssen, werden via EAI-Plattform «vermittelt» und bei Bedarf auch in ein anderes Format (Datenstruktur) gewandelt. So kann im Rahmen eines Datenaustausches eine Umwandlung von einer Textdatei in eine XML-Struktur notwendig sein.

Der zentrale Ansatz der EAI-Plattform bietet die Hauptvorteile, dass alle internen Datentransaktionen auf einem System nachvollziehbar sind und Daten- und Datentyp-Konversionen nur auf einem System definiert werden müssen.

Das Prinzip einer EAI-Plattform kann auf Basis des Diagramms nachvollzogen werden.

Prinzip-Darstellung einer EAI-Plattform

Da das Personalwesen und die Logistik (noch) nicht über einheitliche System verfügen, wurde von der IT-Abteilung ein entsprechender Abfrageprozess auf der EAI-Plattform implementiert, der die Daten beider Systeme im gewünschten Format an die abfragende Funktion im Management Informations-System (MIS) zurückliefert.

Schritt 0: Abfrage
Ein Benutzer stellt eine Datenabfrage am MIS zusammen, für diese Abfrage werden Personal- und Logistikdaten benötigt

Schritt 1: Abfrageanalyse
Die benötigten Daten / Systeme werden vom MIS aufgrund einer Analyse als Auftrag an die EAI-Plattform zusammengestellt

Schritt 2: Prozess-Initiierung
Das EAI-System initiiert den definierten Datensammlungs- und Konvertierungsprozess

Schritt 3 / 4: Datensammlung
Das Logistik- und Personalsystem werden mit entsprechenden Abfragen kontaktiert. Die Ergebnisse werden vom EAI-System konsolidiert

Schritt 5: Datenlieferung
Das EAI-System liefert die konvertierten Daten als Abfrage-Ergebnis im geforderten Format an den MIS-Client zurück. (Möglich wäre auch eine Rücklieferung an den MIS-Server, so das der MIS-Server die Daten an den Client liefert)

Die Beschreibung des EAI-Prinzips zeigt das Pull-Verfahren auf, die EAI-Plattform beschafft sich die für die Prozessabwicklung notwendigen Daten selbständig und liefert das Ergbenis zurück. Häufig wird auch ein Push-Prinzip angewendet, dabei kontaktieren die Daten verarbeitenden System die EAI-Plattform während der Verarbeitung selbständig für eine Konversion (Push), das Daten beziehende System erhält die Daten im geforderten Format zurück, so dass sie weiter verarbeitet werden können.

Funktionen einer EAI-Plattform

In der folgenden Beschreibung werden die drei Hauptfunktionen einer EAI-Plattform zusammengefasst. Basierend auf der Geschäftsprozess-Abbildung muss ein EAI-System umfassende Datentransfer- und Konversionsdienste anbieten.

Geschäftsprozess-Abbildung
Um als echte Enterprise Application Integration-Plattform funktionieren zu können muss ein EAI-System Kenntnisse von Geschäftsprozessen auf Datenebene besitzen. Die Datenaustausch- und Datenkonversions-Szenarien des EAI-Systems müssen einer gewissen Logik folgen welche die Geschäftsprozesse auf Datenebene darstellen.

Basierend auf diesen Prozess-Definitionen kann die EAI-Plattform die eintreffenden Daten analysieren, bei Bedarf in ein anderes Format umwandeln und an den richtigen Empfänger weiterleiten. Die Prozess-Definitionen werden zum zentralen Informationspunkt für das «Routing von Daten».

Die Abbildung von Geschäftsprozessen ermöglicht auch einen effizienten Support bei Problemen in der Meldungsverarbeitung. Das System kann anzeigen, wo in der Meldungsverarbeitung ein Problem besteht, der Techniker oder Supporter kann mittels Flussdiagramm den Ablauf des Datentransfers mit der Konversion prüfen. So ist ein strukturiertes Troubleshooting Schritt für Schritt möglich. Laufende Prozesse können angehalten bzw. unterbrochen und wieder gestartet werden - dies ist auch wichtig für kontrollierte Wieder-Anlaufszenarien bei einem Systemausfall.

Datentransfer / Schnittstellen
Eine EAI-Plattform verfügt typischerweise über zahlreiche Schnittstellen oder Software-Anschlussmöglichkeiten:
  • Meldungs-Verarbeitung (MQ-Series)
  • CORBA-Schnittstelle
  • Filetransfer-Schnittstelle über Verzeichnisse
Garantierte Meldungs-Verarbeitung
Ein Unternehmen muss sich auf die Meldungs-Verarbeitung auf einer EAI-Plattform verlassen können. Beim Datenaustausch darf keine Nachricht verloren gehen, sämtliche Meldungen werden garantiert verarbeitet oder im Eskalationsfall zurück an den Absender geschickt. In der Meldungsverarbeitung werden dazu oft sogenannte Queue-Systeme verwendet, die Queue-Systeme stellen Warteschlangen dar, welche mittels einer Manager-Komponente überwacht werden. Ein weit verbreitetes Produkt für diese Queue-Systeme ist MQ-Series von IBM.

Mit Hilfe von MQ-Series von IBM können mittlerweile 35 verschiedene System-Plattformen Daten interaktiv austauschen. MQ-Series sichert den Transport über die Plattformen mittels einem Transaktionssystem auf Basis von Queues oder Warteschlangen, wenn die Daten auf dem Zielsystem nicht korrekt ankommen, so werden die erneut gesendet. Die Daten werden mittels MQ-Series als Meldungen versandt, es erfolgt automatisch eine Lastverteilung, bei einem Ausfall von Komponenten werden nicht korrekt verarbeitete Meldungen nochmals gesendet oder vom Empfängersystem angefordert.

Das Grundprinzip von MQ-Series lässt sich anhand der folgenden Grafik veranschaulichen, beide Programme A und B arbeiten auf einem System und sind mit dem selben MQ-Series Queue-Manager #1 verbunden.

Vereinfachte Darstellung der Meldungsverarbeitung mittels MQSeries


Das Programm A sendet die Daten als MQPUT in die Queue, der Queue-Manager benachrichtigt Programm B über vorhandene Daten, bei Empfangsbereitschaft wird der Datentransfer mittels MQGET durchgeführt. Das API von MQ-Series wird als Message Queues Interface (MQI) bezeichnet.

Der Verbindungsaufbau zur MQ-Series Queue-Manager erfolgt mittels API-Aufruf («MQPUT»), die aufrufende Applikation erhält bei Erfolg vom Queue-Manager einen so genannten Connection Handler zurück. Über diese Kennung (Connection Handler) wird jede weitere Kommunikation mit dem MQI eingeleitet. Es kann nur eine Queue-Verbindung gleichzeitig geöffnet sein. Nach dem Verbindungsaufbau wird von der sendenden Applikation über die Kennung die Queue geöffnet, die Meldung kann deponiert werden. Auf Seite des Empfängers ist der Ablauf identisch.

MQ-Series unterstützt folgende Plattformen (Auszug): UNIX-Derivate wie IBM AIX oder HP-UX, DOS, LINUX, Mac OS, OS/2, OS/390, OS/400, Solaris, Windows 2000, Windows 3.x, Windows 95, Windows 98, Windows NT/2000/XP/7, Windows Server 2003/2008 sowie die Java-Plattform von Sun.

CORBA-Schnittstelle
Über eine CORBA-Schnittstelle («Common Object Request Broker Architecture») können von einem System Programme bzw. Prozeduren auf einem anderen System aufgerufen werden. Die CORBA-Komponenten müssen auf beiden Systemen vorhanden sein um einen Dialog führen zu können. Über CORBA ist es beispielsweise möglich, von einer Java-Applikation - betrieben auf Windows XP - auf Daten bzw. Ergebnisse eines IBM-Mainframe-Programmes zuzugreifen.

Herzstück einer CORBA-Infrastruktur ist der Object Request-Broker (ORB), er nimmt alle Objekt-Anfragen oder -Anforderungen von Applikationen in einer bestimmten Sprache (IDL, Interface Definition Language) entgegen und leitet die Anfragen an die entsprechenden Programme auf den Zielsystemen weiter, die Ergebnisse dieser Programme werden zurück an den Request-Broker gesandt, dieser liefert sie wiederum an die aufrufende Applikation aus und beendet so die Kommunikation.

Prinzip-Darstellung einer Kommunikation in CORBA

Filetransfer-Schnittstelle
Der einfache Filetransfer innerhalb eines Unternehmens ist eine weit verbreitete Form des Datenaustausches von und zu EAI-Plattformen. Im einfachsten Fall wird ein Transfer mittels FTP auf Basis von TCP/IP durchgeführt. FTP besitzt den Vorteil, dass es auf praktisch allen wichtigen Systemplattformen verfügbar ist und über wenige Kommandos auch mittels Batch-Programmen und Scriptprogrammen ein Datentransfer programmiert werden kann. Grundsätzlich ist ein Transfer mittels FTP nicht sehr stabil und sicher, da die Kontrolle über den Transfer aufwändig zu entwickeln ist.

Vergleichbar mit MQ-Series können für Filetransfers unternehmensintern oder über die Unternehmensgrenzen hinweg Transfer-Systeme wie beispielsweise «CONNECT:Direct» von Sterling Commerce eingesetzt werden. CONNECT:Direct ist auf den wichtigsten Systemplattformen (Windows NT/2000/XP/7, OS/390, UNIX, LINUX usw.) vorhanden und unterstützt zahlreiche Protokolle, und Medienformate. Datentransfers können auch mittels Zertifikaten digital signiert werden.

Datenkonversion
Beim Datenaustausch zwischen Systemplattformen (beispielsweise von UNIX nach Windows) oder nur zwischen einzelnen Systemen (beispielsweise von einer Textdatei nach Excel auf Windows) müssen oft Daten konvertiert werden. Die Konversion basiert auf einzelnen Meldungen, die in Form von Dateien verarbeitet werden. Aus einer Quell-Meldung vom Sendersystem wird durch die Konversion die Ziel-Meldung für den Empfänger hergestellt.

Beispielsweise soll eine Adressangabe von einer typischen Schweizer-Struktur in eine amerikanische Struktur gewandelt werden:

Quellformat

Herr
Max Müller
Kreuzackerstrasse 29
CH-8623 Wetzikon ZH3
01/950 17 17
Konversion

pfeil rechts
Zielformat

Mr. Müller Max
29, Kreuzackerstrasse
Wetzikon
8623, ZH3
Switzerland
+41 44 950 17 17

Aufgaben welche die Konvertierungsfunktion in diesem Beispiel übernimmt
  • Anrede «Herr» durch «Mr.» ersetzt
  • Vorname und Name werden in der Reihenfolge getauscht
  • Strassennummer und Strassenname werden in der Reihenfolge getauscht
  • Land «CH» wird durch «Switzerland» ersetzt und ganz am Ende der Adresse platziert
  • Ort wird auf eine eigene Zeile geschrieben
  • Postleitzahl (ZIP) und Kantonsangabe (State) werden separiert
  • Internationale Telefon-Vorwahl +41 wird ergänzt
  • 01-Vorwahl von Zürich wird durch 044 ersetzt

Die Konvertierungsfunktion muss bei einem EAI-System sehr flexibel konfigurierbar sein, zudem muss eine Scriptsprache integriert sein, welche die Bearbeitung von Meldungsinhalten bei der Konversion ermöglicht.

Die Verwendung der Scriptsprache auf einer EAI-Plattform muss dabei durch ein Einsatzkonzepte geregelt werden, Script-Elemente die häufig gebraucht werden sind nach dem Business Rule-Ansatz zu modellieren und zu separieren. Das Einsatzkonzept muss auch die Verwendung von Business Logik regeln - wenn immer möglich, sollte keine Geschäftslogik in einer EAI-Plattform «deponiert» werden.