Einführung
Der zunehmende Bedarf an echtzeitorientierten und konsolidierten Informationen motiviert immer mehr Unternehmen, eine
Möglichkeit zu finden, um ihre unterschiedlichen vorhandenen Systeme zu integrieren. Der Prozess dieser Integration
wird als Integration von Unternehmensanwendung (EAI, Enterprise Application Integration) bezeichnet.
Was ist Integration von Unternehmensanwendungen
Die Integration von Unternehmensanwendungen ist der Prozess, mit dem mehrere Softwareanwendungen, die unabhängig
voneinander entwickelt wurden, die inkompatible Technologien verwenden und unabhängig voneinander gepflegt werden, zu
integrieren.
Im Wesentlichen geht es bei der Integration von Unternehmensanwendungen um die gemeinsame Nutzung und den Austausch von
Daten und Geschäftsprozessen zwischen den unterschiedlichen Anwendungen und Datenquellen im Unternehmen.
Typen der Integration von Unternehmensanwendungen
Die Integration von Unternehmensanwendungen kann auf verschiedenen Ebenen durchgeführt werden und ist von vielen
Faktoren abhängig, wie z. B. Größe des Unternehmens und Branche, Integrations- und/oder Projektkomplexität und Budget.
Es gibt vier Hauptintegrationsebenen:
Datenebene
Die Integration von Unternehmensanwendungen auf Datenebene ist ein datenbankorientierter Ansatz, bei dem Daten aus
einer Datenbank extrahiert und in einer anderen Datenbank aktualisiert werden. Manchmal können die extrahierten Daten
umgewandelt werden, bevor sie in die Zieldatenbank eingefügt werden, z. B. um bestimmte Geschäftsregeln anzuwenden.
Die Integration auf Datenebene wird gewöhnlich mit so genannten ETL-Tools (Extract, Transform, Load) durchgeführt, die
Daten aus verschiedenen Datenquellen extrahieren, umwandeln, bereinigen und in ein allgemeines
Unternehmensdaten-Repository (ein Data Warehouse) oder in Daten-Repositorys laden können, die für die Unterstützung
verschiedener Geschäftsbedürfnisse optimiert wurden (Data Marts).
Die Hauptvorteile dieses Ansatzes sind seine geringen Kosten und sein geringes Risikoprofil. Da wir keine Änderungen am
vorhandenen Code der Anwendungen vornehmen, fallen die Ausgaben für Entwicklung, Tests und Deployment neuer Versionen
der Anwendungen weg. Die Hauptnachteile dieses Ansatzes sind die riesigen Mengen von Datenbanken und Tabellen, die
generiert werden, das enorme Wissen, das sich der Datenbankdesigner aneignen muss, um die zu verschiebenden Daten zu
verstehen, und die zugehörigen Geschäftsregeln.
Anwendungsschnittstellenebene
Bei der Integration von Unternehmensanwendungen auf dieser Ebene werden die Schnittstellen genutzt, die die von
angepassten oder gepackten Anwendungen für den Zugriff auf Geschäftsprozesse und einfache Informationen bereitgestellt
werden. Normalerweise ist diese Art der Integration ein Prozess, der sich aus drei Schritten zusammensetzt:
-
Informationen mit einer bereitgestellten Anwendungsschnittstelle aus einer Anwendung extrahieren.
-
Daten in ein Format konvertieren, das von der Zielanwendung verstanden wird.
-
Informationen an die Zielanwendung übertragen.
Der gebräuchlichste Ansatz für die Implementierung dieser Art von Integration ist ein "Nachrichtenbroker". Dieser
Ansatz standardisiert und steuert den Informationsfluss über einen Bus oder ein Knotenframework.
Aufgrund der steigenden Popularität von Web-Services verwenden jedoch immer mehr traditionelle Anwendungen und
Standardsoftware diese Technologie, um ihre Geschäftsfunktionen zugänglich zu machen. Die Verfügbarkeit dieser
Geschäftsfunktionen als wiederverwendbare Services bewirkt eine zunehmende Verwendung von serviceorientierten Architekturen (SOA) als alternative zum "Nachrichtenbroker".
Die Hauptvorteile dieses Ansatzes ist die Tatsache, dass die Kopplung der unterschiedlichen Anwendungen relativ leicht
zu realisieren ist, weil die Anwendungsschnittstellen von der Anwendung bereitgestellt werden. Der Nachteil dieses
Ansatzes sind die Kosten der Nachrichtenbrokertechnologie. In der Vergangenheit waren diese Schnittstellen häufig
anwendungsabhängig, d. h. die Entwickler mussten bestimmte Features und Funktionen jeder Schnittstelle erlernen. Mit
der zunehmenden Popularität von XML und dem Einsatz von XML als Standardsprache für viele Anwendungsschnittstellen, ist
dieses Problem jedoch rückläufig.
Methodenebene
Die Integration auf Methodenebene ist der Integration auf Anwendungsschnittstellenebene sehr ähnlich, ist aber
wesentlich differenzierter. Die Idee ist hier, nicht Geschäftsfunktionen (wie auf Anwendungsschnittstellenebene),
sondern sofort die unterschiedlichen Methoden gemeinsam zu nutzen, die für die Komposition einer bestimmten
Geschäftsfunktion verwendet werden. Alle anderen Unternehmensanwendungen, die dieselben Methoden implementieren müssen,
können sie verwenden, ohne sie umschreiben zu müssen.
Auch wenn auf dieser Integrationsebene viele Technologien (Java RMI, Corba, DCOM usw.) eingesetzt werden können, geht
der Trend dahin, dass für die Implementierung dieses Ansatzes Web-Services als Mittel für die gemeinsame Nutzung der
Methoden verwendet werden.
Aufgrund der Möglichkeit, Methoden gemeinsam zu nutzen und Geschäftslogik wiederzuverwenden, ist dieser Ansatz bestens
für die Integration von Unternehmensanwendungen geeignet. Dieser Ansatz hat jedoch den Nachteil, dass er der invasivere
ist, weil er die Modifizierung vorhandener Anwendungen voraussetzt, um die gemeinsame Nutzung auf einer solch niedrigen
Ebene zu ermöglichen.
Benutzerschnittstellenebene
Die Integration von Unternehmensanwendungen auf Benutzerschnittstellenebene wird häufig auch "Refacing" genannt. Bei
diesem Ansatz werden vorhandene textbasierte Benutzerschnittstellen traditioneller Systeme und grafische Oberflächen
von PCs durch eine standardisierte Schnittstelle ersetzt, die gewöhnlich browserbasiert ist.
Geschäftsportale für Unternehmen sind eine aufkommende Lösung für diese Art der Integration. Bei diesem Ansatz wird
erden die Präsentation mehrerer Anwendungen in eine anpassbare, browserbasierte Schnittstelle eingebunden.
Diese Art der Integration ist nicht so kostenintensiv wie die anderen Ansätze, da der Code der vorhandenen Anwendungen
nicht modifiziert wird. Allerdings ist dieser Ansatz aus denselben Gründen nicht so flexibel.
Integration von Unternehmensanwendungen und Middleware
Bei der Integration von Unternehmensanwendungen wird Middlewaretechnologie lediglich als Mechanismus für das
Verschieben von Informationen und die gemeinsame Nutzung von Geschäftsprozessen zwischen Anwendungen verwendet. Die
Middleware verbirgt die Komplexität der Kommunikationsmechanismen zwischen Quell- und Zielsystem. Dies ermöglicht den
Entwicklern, sich auf die Anwendungsprogrammierschnittstellen (API, Application Programming Interfaces) der einzelnen
Systeme zu konzentrieren, während die Middleware die Übertragung der Informationen zwischen den beiden Systemen
handhabt. Ein und dieselbe Middleware-API kann von unterschiedlichen Anwendungen auf unterschiedlichen Plattformen
verwendet werden.
Middleware kann als zugrunde liegende Technologie für die Integration von Unternehmensanwendungen auf jeder Ebene
eingesetzt werden (selbst auf Benutzerschnittstellenebene, da die Geschäftsportale
ebenfalls als Art von Middleware betrachtet werden können). Middlewaretechnologie wird jedoch am häufigsten auf Anwendungsschnittstellenebene in Form von Nachrichtenbrokern eingesetzt.
Integration von Unternehmensanwendungen und XML
Der Standard eXtensible Markup Language (XML) ist eine textbasierte Markup-Sprachenspezifikation des World Wide Web
Consortium (W3C), deren Ziel die Definition portabler strukturierter Daten ist. Da XML einfach ist und sich zu einem
gängigen Austauschformat entwickelt, eignet sie sich ideal als Nachrichtenformat und Protokoll für die Integration von
Unternehmensanwendungen.
XML kann auf jeder Integrationsebene (vielleicht mit Ausnahme der Benutzerschnittstellenebene) verwendet werden. Sie
kann auf Datenebene als allgemeines Datenaustauschformat, auf Anwendungsschnittstellenebene als Messaging-Format
und/oder -Protokoll und in serviceorientierten Architekturen (SOA) als Unterstützung für Web-Services verwendet
werden. Da Web-Services mit XML erstellt werden, hat XML auch ihren Platz in der Integration auf Methodenebene.
Weitere Informationsquellen und Referenzen
-
David Linthicum, Next Generation Application Integration: From Simple Information to Web Services, Addison-Wesley,
2003.
-
Gregor Hope and Bobby Woolf, Enterprise Integration Patterns, Addison-Wesley, 2003.
|