Enterprise Application Integration Prof. Dr. Christian Pape Übersicht Überblick à Literatur à Was ist EAI? à Warum EAI? Anwendungsfelder EAI 1-2 Themen Übersicht, Beispiele EAI Wiederholung / Vertiefung Verteilte Systeme à Referenzarchitekturen à J2EE Entwurfsmuster à CORBA EAI Produkte EAI Entwurfsmuster Evtl. praktische Übung zum Vorlesungsende EAI 1-3 Literatur Wolfgang Keller (Einführung) „Enterprise Application Integration“ dpunkt Verlag Gregor, Hohpe, Bobby Woolf „Enterprise Integration Patterns“ Addison-Wesley Vorlesungsfolien, Übungsblätter: http://www.home.hs-karlsruhe.de/~pach0003/eai.html EAI 1-4 Was ist EAI? Allgemeine Definition existiert nicht EAI: Enterprise Application Integration à Enterprise: Unternehmen à Application: Softwareanwendungen à Integration EAI à Heterogene Softwareanwendungen eines Unternehmens zusammenbringen, um unternehmensweite Geschäftsprozesse einheitlich abzubilden Focus Vorlesung à Heterogene Technik, nicht Prozesse EAI 1-5 Was ist EAI? Heterogene Technologien à à Ändernde Geschäftsprozesse à à Homogene Systeme einfach zu integrieren Alles J2EE Anwendungen mit EJBs, dann kann EJB einer Anwendung problemlos von anderer verwendet werden Systeme sind oft Insellösungen zu einem geänderten Geschäftsprozess Marketingabteilung lässt Datenbank für Pflege von Kundendaten hinsichtlich Werbezwecke entwickeln (ohne Verbindung zu bestehenden Kundeninformationssystemen) Resultat Menge von Stove-pipe-systems à nicht vernetzte isolierte Systeme unterschiedlichster Technologie W2K, ASP.Net, MS SQL Server MVS 3270 Terminal Appl. DB2 J2EE EAI 1-6 Was ist EAI? Fiktives Beispiel Bank à Bank verwaltet Konten von Privatkunden à Prozesse: Konto anlegen, Geld abheben, Zinsen verbuchen, … à Softwaresystem dazu, vor 25 Jahren eingeführt à Technik: COBOL, 3270 Terminal-Emulation und zentrale Server. à Software wird im Intranet z.B. an Kassenschalter verwendet EAI 1-7 Was ist EAI? Geschäftsprozesse ändern sich à à Technik hat sich in 20 Jahren stark gewandelt à à 15 Jahre später: Geld Automaten ersetzen zunehmend Kassenpersonal 20 Jahre später: Internetbanking Geldautomat und Internetanwendung muss Zugriff auf Konten haben Zugriff auf alte Bankwendung problematisch Lösungsalternativen 1. Alte Anwendung durch neue ersetzen 2. Wege suchen, alte Anwendung weiter zu verwenden EAI 1-8 Was ist EAI? 1. Alte Anwendung ersetzen à à à à à à Teuer (50 Millionen €) Risikoreich (Projekt könnte scheitern) Entwicklung und Einführung dauert 2-3 Jahre (Internet Banking soll aber in 1.5 Jahren eingeführt sein) Branchenwissen der COBOL Entwickler geht verloren … Fazit Die Investition alter Anwendungen ist oft zu hoch, um sie zu ersetzen EAI 1-9 Was ist EAI? 2. Wege suchen, alte Anwendung weiter zu verwenden EAI Produkte und Methoden einsetzten, um Technologie Hürden zu überwinden Alte Anwendung schrittweise modernisieren Heterogene Systeme integrieren Internetbanking Geldautomaten ? EAI Alte Banklösung 1-10 Was ist EAI? Abgrenzung zu B2B (B2C) à Business to Business (Customer) à Integration von System und Geschäftsprozessen verschiedener Unternehmen à Meist über das Internet oder WWW à Elektronische Handelsplätze (für Geschäftskunden) EAI 1-11 Was ist EAI? EAI B2B Internetbanking Unternehmen A Automaten Unternehmen B Unternehmen C Alte Banklösung Bankanwendung im Intranet elektronischer Handelsplatz im Internet EAI 1-12 Was ist EAI? B2B und EAI à Unterschiede geringfügig à Werkzeuge für B2B ähnlich zu EAI à Sicherheitsanforderungen bei B2B zu EAI restriktiver Ansonsten: Probleme und Herausforderungen ähnlich à Technologien überbrücken à Prozesse neu gestalten EAI 1-13 Übersicht Überblick à Literatur à Was ist EAI? à Warum EAI? Anwendungsfelder EAI 1-14 Warum EAI? Trends, die zur Integration von ITSystemen führen: 1. Time-to-market 2. Zurechtschneidern halbfertiger Anwendungen, statt Eigenentwicklung 3. Unternehmensfusionen und – aufspaltungen EAI 1-15 Warum EAI? Time-to-market à Produktzyklen werden immer geringer (Mobiltelefon- oder DSL-Abos) à Neue Produkte müssen immer schneller eingeführt werden (Voice over IP, TV über Internet) à Hat oft neue Prozesse zur Folge (TV bei Telekommunikationsunternehmen bestellen) Neue Prozesse Î IT-Anwendungen müssen angepasst werden EAI 1-16 Warum EAI? Zurechtschneidern halbfertiger Anwendungen à Statt teure Eigenentwicklung, Einführung von „Standard“ Software wie SAP R/3. à Anwendung im Quelltext ausgeliefert Î Anbindung z.B. für eigenes Logistiksystem, CRM System, Webshop nötig à MOTS (Modifiable off the shelf): Anwendung halbfertig, muss – teilweise im Quelltext – angepasst werden à COTS (Custom off the shelf): Anwendung fix und fertig, leicht installierbar (z.B. Textverarbeitung) EAI 1-17 Warum EAI? Unternehmensfusionen und Aufspaltungen à Aufspaltung: Abspaltung von T-Online von T-Com à Merger & Akquisition (MA) - Verschmelzen von T-Com und T-Online (2005) - Übernahme Debis von T-Systems (2000) à Verschmelzung Î Unterschiedliche Systeme verschmolzener Unternehmen integrieren, doppelte abschafften (z.B. nur ein Lohnbuchhaltungssystem) à Aufspaltung Î „verlorene“ Systeme ersetzen und integrieren (z.B. neues Lohnbuchhaltungssystem) EAI 1-18 Überblick Zusammenfassung à EAI beschäftigt sich mit der Integration heterogener Anwendungen und der zugrunde liegenden Prozesse in einem Unternehmen à EAI wird durch technologischen Fortschritt, schnelleren Produktzyklen und sich stetig ändernde Unternehmen bedeutender EAI 1-19 Übersicht Überblick à Literatur à Was ist EAI? à Warum EAI? Anwendungsfelder à Multi-Channel-Architekturen à Applikation-zu-Applikation Kommunikation à Geschäftsprozessintegration EAI 1-20 Multi-Channel-Architekturen Mehrkanal-Architektur Kanal: Vertriebskanal Verkaufsanwendung Kernanwendung DWH / Statistikanwendungen ERP, HR, Buchhaltung à Früher: Meist einige wenige Vertriebskanäle à Heute: Viele verschiedene Vertriebskanäle EAI 1-21 Multi-Channel-Architekturen Beispiel Versicherung Verkaufsanwendung Kernanwendung DWH / Statistikanwendungen EAI ERP, HR, Buchhaltung à Kanäle: Versicherungsvertreter, Partnerorganisationen, Agenten à Informationsfluss vom Kunden zur Versicherung hauptsächlich Paper à Eingabe Daten in einer Verkaufsanwendung (Frontoffice) oder direkt im Kernsystem (Backoffice) 1-22 Multi-Channel-Architekturen Neue Verkaufskanäle kommen hinzu à à à à Webanwendung (Prämienberechnung Versicherung) Off-line Anwendung für Laptop Wiederverkäufer (Partner) Call-center Web Laptop Partner Middleware Kernanwendung (Backoffice) EAI Internet Call-center Intranet 1-23 Multi-Channel-Architekturen Middleware à Keine klare, fassbare Definition à Minimal: Kommunikationsinfrastruktur zwischen mehreren Systemen (oder Schichten) Beispiele à à à à Common Object Request Broker (CORBA) Message Queue (MQ) Transaktionsmonitor EAI Produkte (z.B. MS BizTalk) EAI 1-24 Multi-Channel-Architektur n:m Kanäle n:1 Kanäle Ein Backoffice für n Kanäle m Hintergrundsysteme für n Kanäle EAI 1-25 Multi-Channel-Architektur Extrem abstrakte Architektursicht EAI in diesem Kontext Wie soll Zielarchitektur sein? (nicht-funktionale) Anforderungen Übersicht der bestehenden Systeme Einzusetzende Produkte, Middleware (MQ oder Web Services oder ???) à Zu entwickelnde Komponenten für diese Produkte/Middleware? à à à à EAI 1-26 Übersicht Überblick à Literatur à Was ist EAI? à Warum EAI? Anwendungsfelder à Multi-Channel-Architekturen à Applikation-zu-Applikation Kommunikation à Geschäftsprozessintegration EAI 1-27 A2A Integration Application to application (A2A) integration à Häufigstes Verkaufsargument für EAI à Dutzende von Client/Server Inselanwendungen unterschiedlichster Technologie à Anwendungen dieses Szenarios kommunizieren direkt miteinander à Schlimmster Fall: O(n2) Verbindungen EAI 1-28 A2A Integration Probleme bei A2A à Zu viele direkte Verbindungen (Komplexität hoch) à Viele verschiedene Technologien, Kommunikationsprotokolle (System können nicht vernünftig miteinander gekoppelt werden) à Nicht normalisierte Schnittstellen (RPC, OO, Datenorientiert, Granularität verschieden) à Jedes System von anderen Personen (jahrelang) gewartet (Wissen ist über gesamte Organisation verteilt) IIOP CRM Sockets COBOL IIOP-COM Brücke native EJB SQL C HTTP Babylonische Sprachverwirrung: Kein System versteht das andere FTP VB ERP EAI 1-29 A2A Integration Typische Lösungsarchitekturen à Softwarebus (CORBA, MQ) à Dienst-orientierung (CORBA, WS) à Hub and Spoke (EAI Produkten) Typische Versprechungen à à à à O(n) Abhängigkeiten Schnellere Entwicklung, dank existierender Adapter Zukunftssicheres Produkt Geringere Betriebskosten EAI Server Bus (MQ, ORB) CRM EJB C COBOL EAI ERP VB 1-30 A2A Integration / Versprechungen Mit HALs Autobuzz Technologie nur noch O(n) Abhängigkeiten Autobuzz A1 A1 A2 An An A2 O(n2) O(n) EAI 1-31 A2A Integration / Versprechungen A1 sendet Produktdaten an alle anderen A2 sendet Auftragsdaten an alle anderen Abhängigkeiten: 2(n-1) statt 2 à Sendendes System muss Daten (einmal) aufbereiten (einheitliches Format) à Jedes empfangendes System muss Daten spezifisch verarbeiten (Adapter) Autobuzz A1 A2 A3 An 2(n-1) Adapter O(n2) Abhängigkeiten eine Architekturstufe tiefer EAI 1-32 A2A Integration / Versprechungen Versprechungen kritisch gegenübertreten à Welcher Architektursicht „verdangt“ Verkäufer sein Argument? - Konzeptionelle Sicht auf Infrastruktur (Netzwerkverbindungen, Hardware)? - Funktionale Sicht auf Komponenten (Software)? à Abhängigkeiten genauer untersuchen: - Welche Aufgaben fallen bei A2A Integration an? - Welche neuen Komponenten sind notwendig? Bei A2A Integration à Im schlimmsten Fall (alle Anwendungen kommunizieren miteinander) immer O(n2) funktionale Abhängigkeiten (n = Anzahl Systeme) à Schlimmer noch: n = Anzahl Schnittstellen (Ein System kann mehrere Schnittstellen haben) EAI 1-33 Architektursichten Zachman Framework for Architecture à www.zifa.com What abstrakt How Where Who When Why Architekturebene Scope Business Model System Model Technology Model Detailed Representation detailliert Implementation EAI 1-34 Zachmann Framework EAI 1-35 Architektursichten What How Where Who When Why Scope Business Model System Model (logical) O(n) Technology Model Detailed Representation Implementation O(n2) EAI 1-36 Architektursichten Verteilte Sicht (Where) à (vermutlich) Verbesserung auf O(n) Funktionale Sicht (How) à Weiterhin O(n2), keine O(n) Funktionale Sicht kann beträchtliche Kosten verursachen à Anforderungsanalyse pro Schnittstelle à Implementierung à Testen verteilter Komponenten EAI 1-37 Übersicht Überblick à Literatur à Was ist EAI? à Warum EAI? Anwendungsfelder à Multi-Channel-Architekturen à Applikation-zu-Applikation Kommunikation à Geschäftsprozessintegration EAI 1-38 Geschäftsprozessintegration Prozess à Eingabe (Antragsformular) à Verarbeitung (Entscheidung über Antrag) à Ausgabe (pos. Entscheid, Ablehnung) Prozesse werden angestoßen à Kundenbestellung (eShop, Anruf) Prozesse können verzweigen à Bestellung ausliefern und Inkasso betreiben Prozesse enden à Bestellung ausgeliefert à Bestellung bezahlt Prozesse können verschmelzen à Bestellung ausgeliefert und bezahlt, löst Teilnahme an einem Wettbewerb aus EAI 1-39 Geschäftsprozessintegration Unternehmen „bestehen“ aus Vielzahl von Geschäftsprozessen Geschäftsprozesse regeln à abteilungsübergreifende Aufgabenteilung à Verantwortlichkeiten von Personen/Rollen à Entscheidungskompetenzen Geschäftsprozesse ohne IT (bis ca. 1950) à Eingabe: Papier (von einer anderen Abteilung) à Verarbeitung: Mensch à Ausgabe: Papier (geht an eine weitere Abteilung) Heute à Prozesse sind (teil)automatisiert, Eingabe, Verarbeitung, Ausgabe elektronisch EAI 1-40 Geschäftsprozessintegration 1950 – heute Ein noch manueller Prozess wird automatisiert oder bereits automatisierte Prozesse ändern sich. Folge: à Bestehendes Softwaresystem erweitern oder à Neues Softwaresystem dazu à Jeweils neuer Teil in bestehende IT-Landschaft integrieren EAI 1-41 Geschäftsprozessintegration Geschäftsprozess A1 A3 A2 A4 Automatisierten Prozesse mit bestehenden Systemen EAI 1-42 Geschäftsprozessintegration Geschäftsprozess Soll automatisiert werden A1 A3 A2 A4 Automatisierten Prozesse mit bestehenden Systemen EAI 1-43 Geschäftsprozessintegration Geschäftsprozess A1 A2 A5 A3 A4 Neues System dazu Manuelle Kommunikation mit bestehenden Systemen wird automatisiert EAI 1-44 Geschäftsprozessintegration Geschäftsprozess A1 A2 A5 A3 A4 Ein-/Ausgabe jetzt mit neuem System EAI 1-45 Geschäftsprozessintegration Geschäftsprozess A1 A2 A5 A3 EAI A4 Geschäftsprozess vereinfacht durch Automatisierung EAI 1-46 Geschäftsprozessintegration Geschäftsprozesse ändern immer schneller à à à à Kurze Produktzyklen Fusionen Outsourceing Reorganisationen Integrationsaufgaben im Unternehmen nehmen zu EAI 1-47 Kontextdiagramm Beschreibung Schnittstellen System zu Umwelt Syntaktische Regeln à Nur ein Prozess (Gesamtsystem), erhält die Nummer 0. à Mindestens eine Schnittstelle (Teilsystem) à Zwischen Schnittstellen keine Datenflüsse (Pfeile) à Enthält keinen Speicher à Jede Schnittstelle nur einmal vorhanden Ausnahme: Übersichtlichkeit EAI 0. 1-48 Kontextdiagramm Semantische Regeln: Beschreibt Anwendungsbereich des Systems Zeigt Datenflüsse über die Systemgrenzen Ist die Zusammenfassung von Diagramm 0 Kann es von derselben Schnittstelle mehrere Instanzen geben, wird sie einmal dargestellt à Schnittstelle muss ursprüngliche Quelle oder Senke einer Information angeben à Wahl einer Schnittstelle abstrahiert von der konkreten Eingabe oder Ausgabe à à à à EAI 1-49 Kontextdiagramm / Beispiel Prozess 0 à Dekan erstellt Stundenplan für Studenten eines Studiengangs und Semesters sowie für Dozenten Schnittstellen à Student - Schreibt sich für einen Studiengang ein à Dozent - Meldet SWS pro Vorlesung dem Dekan à Raumvergabe (System) - Abfrage von Räumen - Raum belegen und wieder freigeben EAI 1-50 Kontextdiagramm / Beispiel Student Stundenplan Stundenplan Dozent Anmeldung Studiengang Raum belegen 0. erstellt Stundenplan Freie Räume abfragen Freie Räume Raumvergabe Raum freigeben Meldung SWS pro Vorlesung EAI 1-51 Kontextdiagramm Angemessene Abstraktion der Datenflüsse à Zu detailliert: unübersichtlich, überladen à Zu abstrakt: nichts sagend Leitfaden à Außenstehenden müssen wesentlichen Informationen über die Umwelt erkennen à Problembezogene Namensgebung à Alle Datenflüsse auf selben Abstraktionsniveau EAI 1-52 Kontextdiagramm In der Geschäftsprozessintegration à Kontextdiagramm für zu automatisierenden Prozess aufstellen à Datenflüsse mit umgebenden Schnittstellen analysieren Startpunkt für Entwurf Schnittstellen à Anwender zu neuem System à Bestehende Systeme zu neuem System EAI 1-53