Konzept: Integration von Unternehmensanwendungen
Dieses Konzept beschreibt die Integration von Unternehmensanwendungen, einen Prozess, den Unternehmen anwenden können, um ihre eigenen vorhandenen IT-Systeme zu integrieren.
Beziehungen
Hauptbeschreibung

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:

  1. Informationen mit einer bereitgestellten Anwendungsschnittstelle aus einer Anwendung extrahieren.
  2. Daten in ein Format konvertieren, das von der Zielanwendung verstanden wird.
  3. 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

  1. David Linthicum, Next Generation Application Integration: From Simple Information to Web Services, Addison-Wesley, 2003.
  2. Gregor Hope and Bobby Woolf, Enterprise Integration Patterns, Addison-Wesley, 2003.