Diese Arbeit soll einen Überblick über Methoden und Konzepte zur
Anwendungsintegration bieten. Dabei richtet sich der Fokus auf die Grundlagen, die dem grundsätzlichen Verständnis dienen, sowie auf die aktuellen Entwicklungsansätze.
Technologische Umsetzungen der vorgestellten Konzepte und eingesetzte Produkte werden in dieser Ausarbeitung nicht berücksichtigt.
Vielmehr soll sie bei der objektiven Bewertung des für den Anwendungsfall richtigen Integrations-Vorgehens helfen.
[...]
Inhaltsverzeichnis
Abbildungsverzeichnis
1 Einführung in die Arbeit
1.1 Motivation der Anwendungsintegration
1.2 Motivation dieser Arbeit
1.3 Abgrenzung und Begriffsklärung
1.3.1 EAI vs. Anwendungsintegration
1.3.2 A2A vs. B2B
2 Anwendungsintegration
2.1 Hintergrund, Zielsetzung und heutige Bedeutung
2.1.1 Historische Entwicklung
2.1.2 Zielsetzung der Anwendungsintegration
2.1.3 Stand heute
2.2 Middleware
2.3 Methoden der Anwendungsintegration
2.3.1 Integration über Benutzerschnittstellen
2.3.2 Integration über Funktionsaufrufe
2.3.3 Integration über Datenbanken
2.3.4 Integration über Komponenten
2.3.5 Wann hilft welche Methode?
2.4 Topologien der Anwendungsintegration
2.4.1 Punkt-zu-Punkt-Verbindungen
2.4.2 Hub-and-Spokes
2.4.3 Bus-Systeme
2.5 Integrationskonzepte
2.5.1 Datenintegration
2.5.2 Enterprise Application Integration (EAI)
2.5.3 Service Oriented Architecture (SOA)
2.6 SOA vs. EAI
3 Fazit und Ausblick
4 Literaturverzeichnis
Abbildungsverzeichnis
Abbildung 1 : Die Einteilung eines betrieblichen Informationssystems in drei Schichten
Abbildung 2 : Integration über die Benutzerschnittstelle
Abbildung 3 : Integration über Funktionsaufrufe
Abbildung 4 : Integration über föderierte Datenbanken
Abbildung 5 : Integration über gemeinsame Datenbanken
Abbildung 6 : Skizze einer Punkt-zu-Punkt-Integration
Abbildung 7 : Hub-and-Spokes-Integration
Abbildung 8 : Bus-Integration
Abbildung 9 : Schematischer Aufbau einer SOA
1 Einführung in die Arbeit
Im Umfeld der Unternehmensanwendungen sind Begriffe wie „Service-orientierte Architektur“ (SOA) und „Enterprise-Service-Bus“ (ESB) derzeit in aller Munde. Der zugrunde liegende Gedanke der Anwendungsintegration ist aber keinesfalls neu. Mit den vielzähligen Technologien, Konzepten und Standards wird das Bestreben unterstützt, verschiedene Anwendungen, die nicht für eine Zusammenarbeit entworfen worden sind, in gemeinsame Abläufe zu integrieren. Schließlich und endlich geht es immer wieder um den Datentransfer von einer Anwendung zu einer anderen.
1.1 Motivation der Anwendungsintegration
Der Einsatz von Informationstechnologie ist bereits seit langer Zeit ein unverzichtbarer Bestandteil vieler Organisationen. In den Arbeitsabläufen von Industrie-Unternehmen, Behörden etc. unterstützen IT-Systeme die Arbeit der Menschen oder automatisieren Vorgänge.
Allerdings arbeiten die wenigsten Systeme völlig autark und unabhängig von anderen. Die Zusammenarbeit kann sich darauf beschränken, dass Anwendungslogik, die einmal entwickelt wurde, an anderer Stelle wieder benutzt wird. Sie kann sich aber auch bis zur Ausgestaltung fachlicher Prozesse entlang der kompletten Wertschöpfungskette erstrecken.[1]
Die Schnittstellen-Landschaften sind dabei ein jeweils historisch gewachsenes Ergebnis, mit dem spezifische Integrationsanforderungen erfüllt worden sind. Ohne zentrale Koordination und durch die Verwendung verschiedenster Technologien ist hier an vielen Stellen die Wartung und Anpassung zu einer sehr komplexen Aufgabe geworden. In jüngerer Zeit haben sich zur Lösung dieser Problematik ganzheitliche Ansätze entwickelt.[2]
1.2 Motivation dieser Arbeit
Durch die historisch gewachsene Zahl von Alternativen ergibt sich heute oftmals das Problem der Auswahl des richtigen Integrationskonzepts für die jeweilige betriebliche Anwendungslandschaft.
Es liegt in der Natur der Sache, dass neuere Konzepte und Technologien viele Möglichkeiten und Vorteile im Vergleich zu den älteren mitbringen.
Dies ist im Wesentlichen darin begründet, dass sie dazu entwickelt wurden, immer komplexere Szenarien zu bewältigen.[3]
Dieser Umstand bedeutet jedoch nicht, dass der Einsatz der neuesten Entwicklungen in jeder Situation die richtige Lösung ist. Jede Variante hat dabei Vor- und Nachteile, die sie zur einzigen brauchbaren Möglichkeit, aber unter anderen Bedingungen auch unbrauchbar machen können.
Die Auswahl an Möglichkeiten kann auch zu Problemen führen. Es ist keine einfache Aufgabe, für das individuelle Integrations-Problem bzw. die Schnittstelle, die man gerade entwerfen muss, die optimale Methode und Technologie zu finden.
Die Beantwortung dieser Fragen erfolgt in der Praxis zumeist äußerst subjektiv. Man orientiert sich beispielsweise an
bisher im Unternehmen bereits erfolgreich eingesetzten Vorgehensweisen, ohne neue Entwicklungen zu berücksichtigen,
aktuellen Trends, wobei man hier ggf. Nachteile im erhöhten Evaluierungs- und Implementierungs-Aufwand in Kauf nimmt,
der Meinung und der favorisierten Vorgehensweise externer Berater,
den „out-of-the-box“ mitgelieferten Bordmitteln von eingesetzten ERP-Systemen (Bsp.: SAP Netweaver-Plattform, Oracle Fusion).
Diese Arbeit soll einen Überblick über Methoden und Konzepte zur Anwendungsintegration bieten. Dabei richtet sich der Fokus auf die Grundlagen, die dem grundsätzlichen Verständnis dienen, sowie auf die aktuellen Entwicklungsansätze. Technologische Umsetzungen der vorgestellten Konzepte und eingesetzte Produkte werden in dieser Ausarbeitung nicht berücksichtigt. Vielmehr soll sie bei der objektiven Bewertung des für den Anwendungsfall richtigen Integrations-Vorgehens helfen.
1.3 Abgrenzung und Begriffsklärung
1.3.1 EAI vs. Anwendungsintegration
Im täglichen Sprachgebrauch wird „Enterprise Application Integration“ (EAI) zuweilen als Oberbegriff über alle Varianten der Integration von Anwendungen gebraucht (z.B. als Bezeichnung „EAI Competence Center“ innerhalb einer Unternehmens-Organisation). Vom Begrifflichen her ist dagegen auch nichts einzuwenden. In der historischen Entwicklung wird mit dem Begriff EAI allerdings ein noch recht aktueller Evolutionsstand bei den Integrationskonzepten verbunden. So steht bei tatsächlichen EAI-Lösungen die so genannte Hub-and-Spokes-Architektur („Nabe und Speichen“) im Mittelpunkt, um Anwendungen miteinander zu verbinden und Informationsflüsse im Unternehmen zu beschleunigen.[4] Diese Bedeutung wird auch im Rahmen dieser Arbeit verwendet. Auf EAI als Integrationskonzept wird im Kapitel 2.5 näher eingegangen. Als Oberbegriff für alle Varianten der Integration wird der allgemeinere Begriff „Anwendungsintegration“ gebraucht.
1.3.2 A2A vs. B2B
Unter der genannten Voraussetzung, dass der Begriff der Anwendungsintegration als Oberbegriff verwendet wird, ist zu unterscheiden zwischen der reinen Integration von stattfindenden Geschäftsabläufen über Anwendungen innerhalb eines Unternehmens sowie der Integration von ganzheitlichen Geschäftsprozessen entlang einer Wertschöpfungskette, an denen verschiedene Unternehmen und deren Anwendungen beteiligt sind. Bei der ersten spricht von einer Integration „A2A“ (Application to Application), letztere sind unter dem Akronym „B2B“ (Business to Business) einzuordnen und damit auch der Kern des Electronic Business.[5]
2 Anwendungsintegration
2.1 Hintergrund, Zielsetzung und heutige Bedeutung
2.1.1 Historische Entwicklung
In frühen Zeiten der Informatik standen für die Kommunikation zwischen Anwendungen lediglich traditionelle Medien wie Papier und Bleistift oder Telefon zur Verfügung. Die Daten mussten manuell aus einem System extrahiert und in ein anderes eingefügt werden. Doch schon bald entstanden - z.B. mit dem RPC[6], der Daten-Replikation oder dem Datei-Transfer über Netzwerke - Mechanismen zum automatischen Austausch von Daten. Im Laufe der Zeit wurden neuere Technologien und Konzepte entwickelt, da die Komplexität der Anforderungen dies erforderte. So entstanden beispielsweise RMI[7], CORBA[8] oder SOAP[9]. Die grundsätzliche Idee hinter dem jeweiligen Konzept verfolgt dabei allerdings immer das gleiche Ziel, die Integration von Anwendungen.[10]
2.1.2 Zielsetzung der Anwendungsintegration
Unabhängig von der konkreten Methode oder Technologie werden mit der Integration von Anwendungen zwei grobe Ziele verfolgt, nämlich
das Einsparen von Kosten (für die Erstellung und Wartung von Schnittstellen)
die Erhöhung der Flexibilität (bezüglich des Austauschs von einzelnen Systemen oder der Änderung von Geschäftsprozessen).
Diese beiden Grobziele können in drei Bereichen erreicht werden, die es sich näher zu betrachten lohnt. Diese Zielbereiche sind im Einzelnen:[11]
Schnittstellen
Geschäftsprozesse und Anwendungsentwicklung
Investitionsschutz
Die Zielbereiche sind voneinander weitestgehend unabhängig. Das heißt, dass je nach Integrations-Szenario ein anderes Ziel oder eine andere Kombination von Zielen maßgeblich ist.
2.1.2.1 Schnittstellen
Die Problematik der so genannten „Spaghetti-Architektur“ (d.h. einem sehr schwer zu übersehenden Geflecht von Punkt-zu-Punkt-Verbindungen) war der Auslöser für die Entwicklung der ersten ganzheitlichen Integrations-Ansätze. Deren Ziel, das auch heute noch aktuell ist, ist die Reduzierung der Anzahl und Heterogenität der Schnittstellen zwischen den Anwendungen. Dies erfolgt, um eine bessere Übersicht und Wartbarkeit der Anwendungslandschaft gewährleisten zu können. Außerdem soll dadurch eine automatisierte und schnellere Kommunikation zwischen diesen Anwendungen ermöglicht werden.[12]
Die Anforderungen des E-Business, die im Wesentlichen aus der Geschwindigkeit der Informationsflüsse und der Flexibilität bei der Integration neuer Anwendungen bestehen, können durch die ganzheitliche Integration der Schnittstellen tatkräftig unterstützt werden.[13]
2.1.2.2 Geschäftsprozesse und Anwendungsentwicklung
Die Integration von Geschäftsprozessen ist die eigentliche Kernidee hinter der Anwendungsintegration. Vor allem große Unternehmen sehen sich im Rahmen eines ablaufenden Geschäftsprozesses mit einer Vielzahl verschiedener Anwendungen konfrontiert, die sich auf verschieden flexible Art und Weisen „unterhalten“.[14]
Ziele, die durch die Integration von Geschäftsprozessen erreicht werden sollen, können dabei sein:[15]
[...]
[1] Vgl. Fischer, S., Tiedemann, M. (2006), S. 812 ff.
[2] Vgl. Kaib, M. (2002), S. 2.
[3] Vgl. Melzer, I. et al. (2007), S. 2.
[4] Vgl. Keller, W. (2002), S. 6 f.
[5] Vgl. Lebender, M. et al. (2003), S. 11, 23.
[6] Remote Procedure Call, eine Technologie, mit deren Hilfe ein Netzwerk Funktionsaufrufe auf entfernten Rechnern durchgeführt werden
[7] Remote Method Invocation, eine Java-eigene Art des RPC
[8] Common Objects Request Broker Architecture, eine Spezifikation für eine objektorientierte Middleware
[9] Simple Objects Access Protocol, ein plattformunabhängiges Kommunikationsprotokoll für RPC
[10] Vgl. Melzer, I. et al. (2007), S. 2.
[11] Vgl. Fischer, S., Tiedemann, M. (2006), S. 812 ff.
[12] Vgl. Fischer, S., Tiedemann, M. (2006), S. 812 ff.
[13] Vgl. Winkeler, T. et al. (2000), S. 11-13.
[14] Vgl. Keller, W. (2002), S. 25 ff.
[15] Vgl. Stark, C. et al. (2006), S. 16.
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.