Enterprise Application Integration



Ähnliche Dokumente
Enterprise Application Integration. 1. Grundlagen, Konzepte und Architekturen

Workflow, Business Process Management, 4.Teil

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Web Services Die Definition von Web Services in der Theorie und FNT-Command als Web Service in der Praxis

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Java und XML 2. Java und XML

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Schnittstellen von E-Learning Anwendungen mit Systemen der Hochschulverwaltung

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Java 2, Enterprise Edition Einführung und Überblick

SE2-10-Entwurfsmuster-2 15

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Client/Server-Systeme

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Wiederholung: Beginn

CORBA. Systemprogrammierung WS

Softwareentwicklung mit Enterprise JAVA Beans

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Zustandsgebundene Webservices

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Klausur Verteilte Systeme Was versteht man unter verteilte Systeme

Microsoft.NET und SunONE

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Guten Tag! CampusSource. Die CSE Integration Platform. CampusSource Engine. Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Java Enterprise Architekturen Willkommen in der Realität

Message Oriented Middleware am Beispiel von XMLBlaster

Thema: Web Services. Was ist ein Web Service?

Standards und Standardisierungsgremien

1. Was bedeutet EAI? 2. Worin liegen die Vorteile? 3. Worin liegen die Nachteile? 4. EAI-Markt

16.4 Wiederverwendung von COTS-Produkten

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Implementierung von Web Services: Teil I: Einleitung / SOAP

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Grundlagen der Web-Entwicklung INF3172

SAP NetWeaver Gateway. 2013

Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software

Enterprise Service Bus

5. Programmierschnittstellen für XML

Mobile und Verteilte Datenbanken

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Seminarvortrag Serviceorientierte Softwarearchitekturen

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Übungen zu Softwaretechnik

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Identity & Access Management in der Cloud

Inside. IT-Informatik. Die besseren IT-Lösungen.

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

BIS-Grid: Kommerzieller Einsatz von Grid-Middleware am Beispiel betrieblicher Informationssysteme. Prof. Dr. W. Hasselbring

GI-Services erstellen und bereitstellen

Java RMI, CORBA und Firewalls

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Enterprise Portale & Enterprise Application Integration

Enterprise JavaBeans Überblick

Enterprise Application Integration Erfahrungen aus der Praxis

JPC Visualisierung in Java

Client-Server mit Socket und API von Berkeley

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

ObjectBridge Java Edition

MS Outlook Integration

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen

5. Programmierschnittstellen für XML

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Etablierung serviceorientierter Architekturen mit Web Services

Microsoft SharePoint 2013 Designer

E-Services mit der Web-Service-Architektur

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Datenbank-basierte Webserver

PL/SQL Web-Services mit Oracle 11g

Enterprise Application Integration

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

3. Stored Procedures und PL/SQL

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Man liest sich: POP3/IMAP

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Secure Network Communications (BC-SEC-SNC)

ORACLE Business Components for Java (BC4J) Marco Grawunder

Ein Vergleich zwischen SCA,JBI und WCF. Marcello Volpi

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

INFORMATION MONITOR HSM SOFTWARE GMBH CLIENT-INSTALLATION

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Web-Services - die GIS-Zukunft?

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

EIDAMO Webshop-Lösung - White Paper

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

SOA Starter Kit Einführungsstrategien und Einstiegspunkte

Semantic Web Services

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Transkript:

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.