Westfälische Wilhelms-Universität Münster Enterprise Application Integration Grundlagen und Konzepte des EAI Christian Arndt Lehrstuhl für praktische Informatik in der Wirtschaft Prof. Dr. Herbert Kuchen
2 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
3 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
4 Allgemeine Grundlagen der Anwendungsintegration Begriff EAI EAI (Enterprise Application Integration) ist kein technologisches Produkt, sondern ein Konzept zur umfassenden Anwendungsintegration auf innerbetrieblicher oder zwischenbetrieblicher Ebene. EAI umfasst spezifische: Methoden Standards und Technologien Architekturkonzepte
5 Allgemeine Grundlagen der Anwendungsintegration Gründe für EAI Projekte Verbesserte Wettbewerbsfähigkeit durch Erhöhung der Effizienz und Effektivität von Geschäftsprozessen (Prozessoptimierung, Beseitigung von Medienbrüchen und Redundanzen, Vermeidung manueller Nacharbeiten und Kontrollen) Steigerung der Kundenzufriedenheit (Verbesserte Auskunftsbereitschaft, geringere Durchlaufzeiten, höhere Qualität) Erschließung neuer Geschäftsfelder Unternehmenszusammenschlüsse, Übernahmen Aber: Sicherung der in die bestehenden Anwendungen getätigten Investitionen Erhalt des in Altanwendungen enthaltenen Wissens
6 Allgemeine Grundlagen der Anwendungsintegration Beispiel: Versandhaus Anforderung: Durchgängige Unterstützung der Geschäftsprozesse durch Informationssysteme. Problem: Abteilungen verwenden jeweils spezifische IS. Auftrags- und Kundendaten werden zum Teil redundant verwaltet. Ein Informationsaustausch zwischen den Systemen ist durch unterschiedliche Plattformen, Datenformate und Architekturen eingeschränkt.
7 Allgemeine Grundlagen der Anwendungsintegration Heterogene Informationssystemlandschaften Unterschiedliche Schnittstellen Windows Standardsoftware IS Fakturierung IS Auftragsbearbeitung C++, Oracle Versandhaus IS Debitorenbuchhaltung Client Server Anwendung Unterschiedliche Plattformen Unterschiedliche Architekturen Monolithisch aufgebaute Applikationen ohne Schnittstellen IS Warenwirtschaft Monolithische Mainframe Anwendung ohne Schnittstellen LINUX J2EE IS Logistik Unterschiedliche Frameworks und Technologien
8 Allgemeine Grundlagen der Anwendungsintegration Heterogenität Technische Heterogenität Unterschiede auf der Ebene der technischen Infrastrukturen wie DBMS, Hardwareplattformen, Betriebssysteme und Netzwerkkomponenten. Syntaktische Heterogenität Unterschiede in der Datenmodellierung, ausgelöst durch Anwendung unterschiedlicher Modellierungskonzepte oder Sprachen (z.b. relationales vs. objektorientiertes Datenmodell). Schemakonflikte durch uneinheitliche Verwendung von Modellierungskonstrukten (z.b. Vererbung vs. Delegation). Datenkonflikte durch Auswahl unterschiedlicher Objekteigenschaften oder Einsatz uneinheitlicher Bezeichner, Datentypen, Wertebereiche und Skalierungen für semantisch vergleichbare Objekte.
9 Allgemeine Grundlagen der Anwendungsintegration Heterogenität Semantische Heterogenität Für ähnliche Konzepte existieren in verschiedenen Systemen unterschiedliche Bedeutungen, welche sich aus der zugrunde liegenden Geschäftslogik ableiten und in der Programmlogik verankert sind. Autonomie und Verteilung Systeme sind räumlich getrennt und unterstehen unterschiedlichen Verantwortlichkeiten.
10 Allgemeine Grundlagen der Anwendungsintegration Beispiel für Datenmodell Heterogenität pers_nr name v_name geb_datum abt_nr abt_nr abt_name
11 Allgemeine Grundlagen der Anwendungsintegration Beispiele für Datenheterogenität Homonyme: Prozess (-> Geschäftsprozess) Prozess (-> jur. Prozessbegriff) Synonyme: Mitarbeiter Angestellte Datentypen: int String (zur Zahlendarstellung) Skalierungen: 1,75 m 175 cm Genauigkeiten: 0,5276 kg 0,53 kg Unterschiedliche Schreibweisen: Weseler Strasse, Weselerstr., Weseler-Straße, etc. Problem: Fehlerhafte (Tippfehler, Programmfehler) oder veraltete Datenbestände
12 Allgemeine Grundlagen der Anwendungsintegration Beispiel für Daten- und Schemaheterogenität Kunde Umsatzkonto 1 1 -Name : String -VName : String -Umsatzkto : Umsatzkonto -Adresse : Adresse 0..* 1..* Adresse Geschäftskunde -Rabatt : Double -Kontaktpers : Person
13 Allgemeine Grundlagen der Anwendungsintegration Integrationsrichtung Horizontal: Integration von Systemen entlang der Wertschöpfungskette (bspw. Marketing, Auftragsbearbeitung, Produktion, Vertrieb, Personal). Vertikal: Integration von Systemen ausgehend von der strategischen bis zur operativen Unternehmensebene (bspw. Planungs- und Entscheidungssysteme, Analysesysteme, Bericht- und Kontrollsysteme, operative Systeme). Integrationsreichweite Innerbetrieblich Zwischenbetrieblich
14 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
15 Konzepte und Architekturen der Anwendungsintegration Integrationsebene Datenintegration Funktionsintegration Benutzerschnittstellenintegration Integrationstopologie Punkt zu Punkt Integration Bus Topologie Hub and Spokes Topologie
16 Konzepte und Architekturen der Anwendungsintegration Punkt zu Punkt Integration Systeme werden bedarfsgetrieben durch spezifische Schnittstellen mit anderen Anwendungen verbunden. Vorteile In überschaubaren Integrationsszenarien einfach zu realisieren Nachteile Enge Kopplung der Systeme Hoher Wartungs- und Anpassungsaufwand durch viele Schnittstellen Für eine vollständige Integration von n Systemen werden (n*(n-1))/2 Schnittstellen benötigt!
17 Konzepte und Architekturen der Anwendungsintegration Bus Topologie Die Integrationsfunktionalitäten werden dezentral durch die angebundenen Einheiten implementiert (verteilte Architektur). Vorteil Niedrige Anzahl an Schnittstellen Flexible Anpassung an Performanz- und Verfügbarkeitsanforderungen Nachteile Mögliche Redundanzen bei den Infrastrukturfunktionalitäten Overhead durch Koordination und Verwaltung der dezentral agierenden Einheiten
18 Konzepte und Architekturen der Anwendungsintegration Hub and Spokes Topologie Ein zentraler Hub stellt grundlegende Infrastrukturdienste für die Anwendungsintegration zur Verfügung. Die einzelnen Anwendungen werden mittels standardisierter Schnittstellen über den Hub miteinander verbunden. Vorteil Niedrige Anzahl an Schnittstellen Anbindung neuer Systeme mit geringem Aufwand möglich Nachteile Hoher initialer Aufwand für die Einrichtung der Integrationsinfrastruktur Hub könnte zum Performanz-Flaschenhals oder Single Point of Failure werden
19 Konzepte und Architekturen der Anwendungsintegration Integration auf Datenebene Integration durch Zusammenführung der Daten, die durch die zu integrierenden Systeme erzeugt, verwaltet und gespeichert werden. Datenbank Gateways JDBC ODBC OLAP Data Mining Data Warehousing Der Zugriff auf die Daten einer Anwendung erfolgt in der Regel unmittelbar über ihre Datenbank. Anwendungslogik und Präsentationsschicht des Systems werden dabei umgangen.
20 Konzepte und Architekturen der Anwendungsintegration Integration auf Datenebene: Vorgehen Globales Schema Transformation auf Daten- und Schemaebene Lokales Schema A Lokales Schema B Lokales Schema A Lokales Schema B Transformation auf Daten- und Schemaebene Datenbank A Datenbank B Datenbank A Datenbank B Zur Überwindung der Syntaktischen Heterogenitäten auf Datenmodell-, Schema- und Datenebene müssen die Daten einer Transformation unterzogen werden. Eine Datenintegration kann durch direkten Datenaustausch zwischen verschiedenen Datenspeichern oder durch Abbildung der zu integrierenden Daten auf ein gemeinsames Datenschema realisiert werden. Jedes lokale Schema kann dabei als Sicht auf das globale Schema aufgefasst werden.
21 Konzepte und Architekturen der Anwendungsintegration Integration auf Datenebene: Behebung von Datenheterogenitäten Transformation in ein gemeinsames Datenmodell zur Beseitigung von Datenmodellkonflikten. Beseitigung von Schemaheterogenitäten durch Abbildung der unterschiedlichen Schemata auf ein globales Referenzschema. Explizite Wertabbildung durch mathematische Funktionen oder tabellarische Gegenüberstellung, um Heterogenitäten, welche auf unterschiedlichen Bezeichnungen, Skalierungen oder Genauigkeiten beruhen zu beseitigen. Explizite Typumwandlungen zur Überführung unterschiedlicher Datentypen. Einführen von Ähnlichkeitsmaßen um ähnliche Werte (Tippfehler, unterschiedliche Schreibweisen) identifizieren zu können. Verwendung einer Ontologie um schwierige Datenheterogenitäten aufgrund der begrifflichen Zusammenhänge im Anwendungsbereich auflösen zu können.
22 Konzepte und Architekturen der Anwendungsintegration Integration auf Datenebene: Kritische Würdigung Vorteile Einfach zu realisieren, da keine Anpassung in den Datenstrukturen oder der Anwendungslogik des zu integrierenden Systems erforderlich. Anbindung neuer Systeme ist auch dann möglich, wenn deren Quellcode nicht verfügbar ist. Nachteile Mögliche semantische Probleme (z.b. Verletzung von Integritätsbedingungen), wenn bei schreibenden Zugriffen auf die Daten eines Systems die in der Anwendungslogik hinterlegten semantischen Informationen nicht berücksichtigt werden. Keine Zugriff auf die Verarbeitungslogik (Integration von Funktionen und Prozessen) einer Anwendung möglich. Änderungen an den Datenstrukturen eines integrierten Systems führen zu Anpassungen an den Transformationen, dem globalen Datenmodell und im ungünstigsten Fall auch an Klienten, die diese Daten nutzen.
23 Konzepte und Architekturen der Anwendungsintegration Integration auf Funktionsebene Integration durch unmittelbaren Zugriff auf die Programmlogik, welche durch die zu integrierenden Anwendungen bereitgestellt wird. RPC RMI CORBA EJB (J2EE) DCOM MOM Die Funktionsintegration ist die semantisch reichhaltigste und flexibelste Art der Anwendungsintegration. Sie umfasst sowohl die Möglichkeiten der Daten- als auch der Benutzerschnittstellenintegration.
24 Konzepte und Architekturen der Anwendungsintegration Integration auf Funktionsebene: Kritische Würdigung Vorteile Semantisch reichhaltigste Art der Integration, da nicht nur ein Zugriff auf Daten, sondern auch eine Nutzung der Anwendungslogik möglich ist. Durch die Nutzung der Integritäts- und Plausibilitätsprüfungen einer Anwendung werden Integritätsprobleme bei schreibenden Zugriffen vermieden. Nachteile Aufwändig zu realisieren und daher mit einem vergleichsweise hohen Investitionsrisiko verbunden. Bei unzureichendem Schnittstellenangebot ist eine Anpassung der Anwendung oder die Implementierung eines Wrappers erforderlich. Schwierig umzusetzen, wenn entsprechende Schnittstellen fehlen oder nicht dokumentiert sind und ein Zugriff auf den Quellcode nicht möglich ist.
25 Konzepte und Architekturen der Anwendungsintegration Integration auf Präsentationsebene Integration durch Einbindung der Benutzerschnittstelle einer Applikation mittels geeigneter Werkzeuge, Präsentation A Integrierte Präsentation Screen Scraping WSRP HttpUnit Präsentation B Anwendung A Anwendung B Datenspeicher A Datenspeicher B Die Präsentationsintegration wird nur dann angewendet, wenn alternative Integrationsansätze aufgrund fehlender Schnittstellen und Anpassungsmöglichkeiten einer Anwendung ausscheiden. Wegen ihrer Performanznachteile und der geringen Flexibilität gilt die Integration auf Benutzerschnittstellenebene gemeinhin als Notlösung.
26 Konzepte und Architekturen der Anwendungsintegration Integration auf Präsentationsebene Vorgehen Die Verbindung zu einer Anwendung wird durch das Parsen der Bildschirminhalte und anschließende Simulation eines Benutzerdialoges hergestellt. Das Verfahren wird in erster Linie zur Integration von HTML Seiten angewendet. Weitere Einsatzmöglichkeiten bestehen bei der Anbindung von Legacy Systemen, welche sich oftmals aufgrund fehlender Schnittstellen, unzureichender Dokumentation und eines monolithischen Systemaufbaus schwierig integrieren lassen.
27 Konzepte und Architekturen der Anwendungsintegration Integration auf Präsentationsebene: Kritische Würdigung Vorteile Mithilfe geeigneter Werkzeuge schnell und einfach zu realisieren Kann auch dann eingesetzt werden, wenn eine Anwendung keine API bereitstellt und der Quellcode nicht verfügbar ist In schwierigen Integrationsszenarien oft die einzige Alternative Nachteile Keine Integration der zugrunde liegenden Daten und Funktionen Schränkt die Performanz und Skalierbarkeit einer Integrationslösung massiv ein Geringe Flexibilität und Widerverwendbarkeit
28 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
29 Funktionaler Aufbau einer EAI Infrastruktur Funktionale Bestandteile einer EAI Lösung Prozessmodellierung, Ablaufsteuerung, Prozessbenchmarking Prozessmanagement Nachrichtenmanagement Transformationsdienste, Nachrichtenverwaltung, Synchronisation, Transaktionskontrolle Middleware Konnektivität Physisches Netzwerk System-/ Dienstmanagement, Identitätsmanagement, Administrationswerkzeuge
30 Funktionaler Aufbau einer EAI Infrastruktur: Adapter Adapter Ermöglicht die Kommunikation mit einer bestimmten Anwendung Die Anbindung einer Anwendung erfolgt dabei über ihre Schnittstellen (API - Application Programming Interface) oder durch einen Wrapper. Ein Wrapper definiert und implementiert eine Schnittstelle, welche einen kontrollierten Zugriff auf die Funktionen der Anwendung ermöglicht. Übernimmt häufig elementare Transformationsdienste Prozessmanagement Nachrichtenmanagement Middleware Physisches Netzwerk
31 Funktionaler Aufbau einer EAI Infrastruktur: Adapter Adapter Möglichkeiten der Funktionsintegration Funktionsintegration über eine API Funktionsintegration über einen Wrapper
32 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Middleware/ Nachrichtenmanagement Infrastruktur für die Kommunikation zwischen den Anwendungen und zur Überbrückung der Heterogenitäten unterschiedlicher Systeme Ermöglicht einen zuverlässigen Nachrichtenaustausch zwischen den Systemen Regelbasierte Verteilung und Verbreitung von Nachrichten (intelligentes Routing) Unterstützung von Transaktionen Bereitstellen von Benachrichtigungsdiensten Durchführung von Datentransformationen (soweit nicht durch Adapter umgesetzt) Prozessmanagement Nachrichtenmanagement Middleware Physisches Netzwerk
33 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Differenzierungsmerkmal - Kommunikationsmechanismus Synchrone Kommunikation Sender übermittelt eine Nachricht an Empfänger oder Gruppe von Empfängern und wartet bis eine Antwort eintrifft. In zeitkritischen Anwendungsszenarien unerlässlich Ausfall des Empfängers oder Verlust von Nachrichten blockieren den Sender Asynchrone Kommunikation Nicht zustellbare Nachrichten werden persistent gespeichert, bis Empfänger wieder verfügbar ist. Kann zur Nachbildung einer synchronen Kommunikation genutzt werden Für die Zustellung und Verwaltung der Nachrichten ist eine komplexe Infrastruktur (Message Bus) erforderlich
34 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Differenzierungsmerkmal - Integrationsgegenstand Funktionsorientiert: Kommunikation über Aufruf von Prozeduren und Funktionen. Fehlende Kapselung der Funktionalitäten bewirkt enge Kopplung der integrierten Systeme Änderungen an der Implementierung einer Funktionalität erzwingen zumeist Anpassungen der Klienten, welche diese nutzen.
35 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Differenzierungsmerkmal - Integrationsgegenstand Objektorientiert: Kommunikation über Objekte Abgeleitet aus dem Konzept der Objektorientierung Macht Funktionalitäten als Methoden in verteilten Objekten zugänglich. Kapselung und Zugriff durch definierte Schnittstellen Entkopplung der Systeme durch Trennung von Schnittstelle und Implementierung
36 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Differenzierungsmerkmal - Integrationsgegenstand Dienstorientiert: Dienste sind grobgranular und durch eine Schnittstellenbeschreibung definiert Dienste können über ein Verzeichnis gefunden und zur Laufzeit aufgerufen werden Zugriff auf Dienste erfolgt nachrichtenbasiert und lose gekoppelt Nutzung von Diensten definiert ein Vertragsverhältnis zwischen Anbieter und Konsument
37 Funktionaler Aufbau einer EAI Infrastruktur: Middleware/ Nachrichtenmanagement Ordnungsrahmen Integrationstechnologien. Synchron RPC-basiert Synchron/ Asynchron nachrichtenbasiert Durch Kombination einzelner Technologien lassen sich deren Vorteile gezielt nutzen und Schwächen umgehen. Beispielsweise können EJB s in Verbindung mit Web Services zur Implementierung einer auf Objektorientierung basierenden sowie Dienst- und Nachrichtenorientierten Integrationsinfrastruktur genutzt werden.
38 Funktionaler Aufbau einer EAI Infrastruktur: Prozessmanagement Prozessmanagement Ermöglicht das Zusammenspiel einzelner Anwendungen und somit eine Prozessintegration Modellierung, Durchführung, Steuerung und Überwachung von Geschäftsprozessen Integrierte Anwendungen implementieren einzelne Schritte übergeordneter Geschäftsprozesse Modellierung der Prozesse und ihrer Informationsflüsse erfolgt unabhängig von der Implementierung der einzelnen Prozessbausteine Prozessmanagement Nachrichtenmanagement Middleware Physisches Netzwerk
39 Funktionaler Aufbau einer EAI Infrastruktur: Metadatenbank und Zusatzdienste Metadatenbank und Zusatzdienste Verwaltet zentrale Informationen, welche für die gesamte EAI Lösung und alle integrierten Anwendungen von Belang sind. Verwaltung von Diensten, Ressourcen, Benutzern und Berechtigungen Authentifizierung und Autorisierung von Benutzern (Identitätsmanagement) Adapter Adapter Adapter Adapter Adapter Metadatenbank und Zusatzdienste Protokoll- und Monitoringfunktionen zur Überwachung von Diensten und Interaktionen Bereiststellung von Administrations- und Entwicklungswerkzeugen zur Überwachung, Wartung und Anpassung der Integrationsinfrastruktur
40 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
41 Integrationstechnologien: Middleware/ Nachrichtenmanagement Funktionsorientierte und synchrone Integrationstechnologien: Remote Procedure Call/ Remote Method Invocation RPC (Remote Procedure Call): Protokoll zur Implementierung verteilter Anwendungen Ermöglicht dem Entwickler den Zugriff auf Funktionen einer entfernten Anwendung unter Abstraktion von Einzelheiten der Netzwerkschicht Arbeitet in der Regel synchron RMI (Remote Method Invocation): Stellt einen RPC Mechanismus in Java zur Verfügung Ermöglicht im Unterschied zu RPC den Zugriff auf Methoden in Objekten
42 Integrationstechnologien: Middleware/ Nachrichtenmanagement Remote Procedure Call/ Remote Method Invocation Einschränkungen Nicht Plattformunabhängig (RPC) nicht und Programmiersprachenunabhängig (RPC/RMI) Sender kann durch Ausfall des Empfängers oder Verlust von Nachrichten blockiert werden Unflexibel, da Adressierungsinformationen des Empfängers im Quellcode des Senders codiert sind (keine Adressierung zur Laufzeit) Nutzung erfordert in der Regel Einblick in die Programmlogik der zu integrierenden Anwendungen
43 Integrationstechnologien: Middleware/ Nachrichtenmanagement Objektorientierte und synchrone Integrationstechnologien: CORBA (Common Object Request Broker Architecture) Eigenschaften Komponentenarchitektur der OMG (Object Management Group) Macht Anwendungen als verteilte Objekte zugänglich Plattformunabhängige Schnittstellenbeschreibung mittels IDL (Interface Definition Language) Eigenschaften der zugrunde liegenden Hardwareplattform und Netzwerkinfrastruktur bei entferntem Methodenaufruf transparent Vereinfachtes Auffinden von Objekten durch Repositoryfunktionen Verpacken (Marshalling) und Entpacken (Demarshalling) von Parametern und Rückgagbewerten
44 Integrationstechnologien: Middleware/ Nachrichtenmanagement CORBA (Common Object Request Broker Architecture) Grundlegende Funktionsweise Definition von Schnittstellen mittels Interface Definition Language (IDL) IDL Compiler erzeugt mittels der Schnittstellenbeschreibung auf der Clientseite einen Stub und serverseitig einen Skeleton Der Client ruft den Stub lokal auf Dieser übergibt den Aufruf an den ORB (Object Request Broker). Serverseitig übergibt der ORB diesen an den Skeleton, welcher das entfernte Objekt lokal aufruft
45 Integrationstechnologien: Middleware/ Nachrichtenmanagement CORBA (Common Object Request Broker Architecture) Einschränkungen von CORBA und DCOM Nur eingeschränkt programmiersprachenunabhängig Interoperabilität der verschiedenen CORBA Implementierungen problematisch Keine Adressierung von Funktionen zur Laufzeit Keine vollständige Plattformunabhängigkeit beim Einsatz von DCOM
46 Inhaltsübersicht Fortsetzung Morgen 18:00 Uhr
47 Integrationstechnologien: Middleware/ Nachrichtenmanagement Objektorientierte und synchrone Integrationstechnologien: Enterprise Java Beans Der Begriff Enterprise Java Beans (EJB) bezeichnet ein Framework zur Entwicklung objektorientierter, komponentenbasierter und verteilter Anwendungen. Enterprise Java Beans repräsentieren dabei die Komponenten transaktionsorientierter verteilter Geschäftsprozesse.
48 Integrationstechnologien : Middleware/ Nachrichtenmanagement Enterprise Java Beans Eigenschaften Objektorientierung Plattformunabhängigkeit Serverseitiger Einsatz Verteilung Persistenz Transaktionskontrolle Sicherheit Können mit anderen EJB s zu komplexen Anwendungen kombiniert werden
49 Integrationstechnologien: Middleware/ Nachrichtenmanagement Enterprise Java Beans Der Einsatz von Enterprise Java Beans erfolgt im Kontext eines EJB Containers Bietet eine Umgebung in der EJB s laufen Übernimmt Verwaltung der Beans Implementiert Infrastrukturfunktionalitäten, die nicht direkt im Zusammenhang mit der Geschäftslogik stehen (Namensvergabe, Lebenszyklussteuerung, Persistenz, Messaging, Sicherheit, Transaktionskontrolle) Teil eines J2EE Anwendungsservers (z.b. JBOSS)
50 Integrationstechnologien: Middleware/ Nachrichtenmanagement Enterprise Java Beans Architekturübersicht Klient J2EE Server EJB Container OODBMS Home Interface EJB DBMS Remote Interface Transactions, Naming, Persistance, Security Präsentationsschicht Geschäftslogik & Zusatzdienste durch EJB Container Datenhaltungsschicht
51 Integrationstechnologien: Middleware/ Nachrichtenmanagement Enterprise Java Beans Vorteile Plattformunabhängig und objektorientiert Entwickler kann sich auf die Geschäftslogik konzentrieren, da der EJB Container grundlegende Infrastrukturdienste wie Persistenz, Transaktionen und Sicherheit zur Verfügung stellt. Kann in Verbindung mit Java Messaging Service (JMS) zur Implementierung asynchroner Kommunikationsmechanismen angewendet werden Nachteile Nicht programmiersprachenunabhängig Keine Konfiguration und Integration von Anwendungen zur Laufzeit Siehe auch: Vorlesung J2EE und MOM!
52 Integrationstechnologien: Middleware/ Nachrichtenmanagement Objektorientierte und asynchrone Integrationstechnologien: Message Oriented Middleware (MOM) Eigenschaften Kommunikation über Nachrichten Asynchrone Aufrufe zwischen Client- und Serveranwendungen möglich aber nicht zwingend Nachrichten werden in Warteschlangen zwischengespeichert und an Ziel- Anwendung weitergereicht Nachrichtenaustausch zwischen Systemen unabhängig von den ihnen zugrunde gelegten Plattformen und Technologien Nachrichten enthalten sowohl Daten als auch Meta- und Kontrollinformationen Multicasting: Eine Nachricht kann mehrere Empfänger haben Siehe auch: Vorlesung J2EE und MOM!
53 Integrationstechnologien: Middleware/ Nachrichtenmanagement Service Orientierte Architekturen (SOA) SOA ist ein Integrationskonzept und keine konkrete Technologie Dienste sind modulare, durch eine Schnittstelle definierte und durch eine Anwendung implementierte fachliche Funktionalitäten Dienste repräsentieren wieder verwendbare Geschäftsprozessbausteine Elementare Dienste lassen sich zu komplexeren Diensten zusammenfügen (orchestrieren) Dienste können über ein öffentliches Verzeichnis (Service-Registry) anhand ihrer Beschreibung aufgefunden, ausgewählt und zur Laufzeit eingebunden werden Die Kommunikation zwischen einzelnen Diensten sollte zeitlich (asynchron) und logisch (Kapselung) entkoppelt stattfinden
54 Integrationstechnologien: Middleware/ Nachrichtenmanagement Interaktionen in einer SOA Service Anbieter Stellt Dienste zur Verfügung Publiziert Dienste durch die Service Registry Service Registry Stellt Verzeichnis zur Verfügung, wo Dienste registriert und gefunden werden können Service Konsument Findet Dienst in der Service Registry Bindet den Dienst anhand seiner Beschreibung ein
55 Integrationstechnologien: Middleware/ Nachrichtenmanagement Dienstorientierte und asynchrone Integrationstechnologien: Web Services A Web service is a software application identified by an URI, whose interface and bindings are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via internet-based protocols Quelle: W3C World Wide Web Consortium
56 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Services Zentrale Eigenschaften Lose gekoppelt (Schnittstelle und Dienstbeschreibung sind unabhängig von der Implementierung) Wiederverwendbar Werden unter Einsatz XML basierter Standards beschrieben und aufgefunden Interaktion auf der Grundlage XML basierter Nachrichten Protokollunabhängig (Nutzung verschiedener Internetprotokolle für den Nachrichtentransport möglich)
57 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Service Standards SOAP (Simple Object Access Protocol) Basiert auf XML Kann verschiedene Internetprotokolle (HTTP, UDP, SMTP) als Transportmechanismus nutzen Besteht aus dem Header welcher Kontrollinformationen und Verarbeitungsanweisungen enthält und dem Body mit den eigentlichen Nutzdaten SOAP kommuniziert normalerweise über einen asynchronen Request/ Response Zyklus (vgl. HTTP) Mittels SOAP RPC kann ein RPC ähnlicher synchroner Kommunikationsmechanismus realisiert werden
58 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Service Standards WSDL (Web Service Description Language) XML basierte Sprache zur Beschreibung eines Dienstes und seiner Schnittstelle Beschreibung ist unabhängig von konkreten Transportprotokollen oder Programmiermodellen Eine WSDL Beschreibung spezifiziert: Welche Funktionalität bietet der Dienst? Mit welcher URI kann dieser adressiert werden? Wie erfolgt der Zugriff auf den angebotenen Dienst und wie ist dessen Schnittstelle gestaltet?
59 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Service Standards UDDI (Universal Description, Discovery and Integration) Verzeichnisdienst zur Registrierung und zum Auffinden von Web Services Ist als Web Service realisiert und kann über SOAP Nachrichten angesprochen werden Das UDDI Verzeichnis enthält folgenden Informationen: White Pages: Register aller Web Service Anbieter mit Detailangaben, wie Ansprechpartner, Kontaktinformationen, etc. Yellow Pages: Ermöglicht Spezifische Suche gemäß bestimmten Kategorien wie (Ort, Industriezweig, Produkte und Dienstleistungen des Anbieters, etc.) Green Pages: Enthält Dienst Beschreibungen, Zugriffsinformationen und Verweis auf WSDL Definitionen
60 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Service Interaktionen Service Anbieter Stellt Dienste zur Verfügung und beschreibt diese mittels WSDL UDDI Registry Ermöglicht das Registrieren und Auffinden von Web Services Ist selbst als Web Service ansprechbar Service Konsument Findet Dienst in der UDDI Registry Bindet den Dienst anhand seiner WSDL Beschreibung ein und ruft ihn mittels SOAP auf
61 Integrationstechnologien: Middleware/ Nachrichtenmanagement Web Services Vorteile Plattform-, Programmiersprachen- und Protokollunabhängig Flexibilität und Interoperabilität durch Verwendung offener Standards Adressierung, Konfiguration und Integration zur Laufzeit möglich Unterstützt synchrone und asynchrone Kommunikation Nachteile Perfomanznachteile durch Nachrichtenhandling und XML-Verarbeitung Schutz sensibler Daten kann nur durch Einsatz weiterer Standards (XML Encryption, WS-Security, etc.) gewährleistet werden
62 Integrationstechnologien: Prozessmanagement Business Process Execution Language (BPEL) XML basierte Sprache zur Beschreibung von Geschäftsprozessen, deren Baussteine (Aktivitäten) durch Web Services implementiert sind Definiert die Ausführungsreihenfolge (Orchestration) der Einzelschritte eines Geschäftsprozesses sowie Nebenbedingungen und die Behandlung von Ausnahmen Durch BPEL beschriebene Geschäftsprozesse stellen wiederum Web Services dar Zielsetzung: Konfiguration der Prozesslogik anstatt Programmierung Benötigt zur Ausführung eine BPEL Laufzeitumgebung (z.b. ActiveBPEL)
63 Integrationstechnologien: Prozessmanagement Business Process Execution Language (BPEL) Vorteile Keine Implementierung von Prozesslogik durch Service Konsumenten Basiert auf etablierten Standards Ähnliche Mächtigkeit wie Petri Netze Bei Verfügbarkeit entsprechender Werkzeuge ist eine Modellierung komplexer Workflows ohne Programmierung möglich Nachteile Beschreibung der Geschäftsprozesse semantisch unpräzise Relativ geringes Angebot an ausgereiften Modellierungswerkzeugen Siehe auch: Vorlesung BPEL!
64 Inhaltsübersicht Allgemeine Grundlagen der Anwendungsintegration Konzepte und Architekturen der Anwendungsintegration Funktionaler Aufbau einer EAI Infrastruktur Integrationstechnologien Literatur
65 Literaturempfehlungen Einstiegsliteratur Conrad S., Hasselbring W., Koschel A., Tritsch R.: Enterprise Application Integration Grundlagen, Konzepte, Entwurfsmuster, Praxisbeispiele, Spektrum München 2006. Linthicum D. S.: Enterprise Application Integration, Addison Wesley Boston et al. 2000. Weiterführende Literatur Gustavo A., Fabio C., Harumi K., Vijay M.: Web services: concepts, architectures and applications, Springer Berlin et al. 2004. Haake J., Schwabe G., Wessner M. (Hrsg.): Enterprise Application Integration: Grundlagen, Integrationsprodukte, Anwendungsbeispiele, Dissertation, Universität Marburg 2002. Deutscher Universitäts Verlag Marburg 2004.