Upload
others
View
26
Download
0
Embed Size (px)
Citation preview
Enterprise Application Integration
Prof. Dr. Christian Pape
EAI 1-2
Übersicht
ÜberblickLiteraturWas ist EAI?Warum EAI?
Anwendungsfelder
EAI 1-3
Themen
Übersicht, Beispiele EAIWiederholung / Vertiefung Verteilte Systeme
ReferenzarchitekturenJ2EE EntwurfsmusterCORBA
EAI ProdukteEAI EntwurfsmusterEvtl. praktische Übung zum Vorlesungsende
EAI 1-4
LiteraturWolfgang 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-5
Was ist EAI?Allgemeine Definition existiert nichtEAI: Enterprise Application Integration
Enterprise: UnternehmenApplication: SoftwareanwendungenIntegration
EAIHeterogene Softwareanwendungen eines Unternehmens zusammenbringen, um unternehmensweite Geschäftsprozesse einheitlich abzubilden
Focus VorlesungHeterogene Technik, nicht Prozesse
EAI 1-6
Was ist EAI?Heterogene Technologien
Homogene Systeme einfach zu integrierenAlles J2EE Anwendungen mit EJBs, dann kann EJB einer Anwendung problemlos von anderer verwendet werden
Ändernde GeschäftsprozesseSysteme sind oft Insellösungen zu einem geänderten GeschäftsprozessMarketingabteilung lässt Datenbank für Pflege von Kundendaten hinsichtlich Werbezwecke entwickeln (ohne Verbindung zu bestehenden Kundeninformationssystemen)
Resultat Menge von Stove-pipe-systemsnicht vernetzte isolierte Systeme unterschiedlichster Technologie
W2K,ASP.Net,MS SQL Server
MVS3270 Terminal Appl.DB2
J2EE
EAI 1-7
Was ist EAI?
Fiktives Beispiel BankBank verwaltet Konten von PrivatkundenProzesse: Konto anlegen, Geld abheben, Zinsen verbuchen, …Softwaresystem dazu, vor 25 Jahren eingeführtTechnik: COBOL, 3270 Terminal-Emulation und zentrale Server.Software wird im Intranet z.B. an Kassenschalter verwendet
EAI 1-8
Was ist EAI?Geschäftsprozesse ändern sich
15 Jahre später: Geld Automaten ersetzen zunehmend Kassenpersonal20 Jahre später: Internetbanking
Technik hat sich in 20 Jahren stark gewandelt Geldautomat und Internetanwendung muss Zugriff auf Konten habenZugriff auf alte Bankwendung problematisch
Lösungsalternativen1. Alte Anwendung durch neue ersetzen2. Wege suchen, alte Anwendung weiter zu verwenden
EAI 1-9
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…
FazitDie Investition alter Anwendungen ist oft zu hoch, um sie zu ersetzen
EAI 1-10
Was ist EAI?2. Wege suchen, alte Anwendung weiter zu
verwendenEAI Produkte und Methoden einsetzten, um Technologie Hürden zu überwindenAlte Anwendung schrittweise modernisierenHeterogene Systeme integrieren
Alte Banklösung
Internetbanking
Geldautomaten?
EAI 1-11
Was ist EAI?
Abgrenzung zu B2B (B2C)Business to Business (Customer)Integration von System und Geschäftsprozessen verschiedenerUnternehmenMeist über das Internet oder WWWElektronische Handelsplätze (für Geschäftskunden)
EAI 1-12
Was ist EAI?EAI B2B
Unter-nehmen
A
elektronischer Handelsplatzim Internet
Unter-nehmen
B
Unter-nehmen
CAlte
Bank-lösung
Internet-banking
Automaten
Bank-anwendung im Intranet
EAI 1-13
Was ist EAI?
B2B und EAIUnterschiede geringfügigWerkzeuge für B2B ähnlich zu EAISicherheitsanforderungen bei B2B zu EAI restriktiver
Ansonsten: Probleme und Herausforderungen ähnlich
Technologien überbrückenProzesse neu gestalten
EAI 1-14
Übersicht
ÜberblickLiteraturWas ist EAI?Warum EAI?
Anwendungsfelder
EAI 1-15
Warum EAI?Trends, die zur Integration von IT-Systemen führen:
1. Time-to-market2. Zurechtschneidern halbfertiger
Anwendungen, statt Eigenentwicklung3. Unternehmensfusionen und –
aufspaltungen
EAI 1-16
Warum EAI?
Time-to-marketProduktzyklen 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-17
Warum EAI?
Zurechtschneidern halbfertiger AnwendungenStatt teure Eigenentwicklung, Einführung von „Standard“ Software wie SAP R/3.Anwendung im Quelltext ausgeliefertAnbindung z.B. für eigenes Logistiksystem, CRM
System, Webshop nötigMOTS (Modifiable off the shelf): Anwendung halbfertig, muss – teilweise im Quelltext –angepasst werdenCOTS (Custom off the shelf): Anwendung fix und fertig, leicht installierbar (z.B. Textverarbeitung)
EAI 1-18
Warum EAI?Unternehmensfusionen und Aufspaltungen
Aufspaltung: Abspaltung von T-Online von T-ComMerger & Akquisition (MA)
- Verschmelzen von T-Com und T-Online (2005)- Übernahme Debis von T-Systems (2000)
VerschmelzungUnterschiedliche Systeme verschmolzener
Unternehmen integrieren, doppelte abschafften (z.B. nur ein Lohnbuchhaltungssystem)
Aufspaltung„verlorene“ Systeme ersetzen und integrieren (z.B.
neues Lohnbuchhaltungssystem)
EAI 1-19
Überblick
ZusammenfassungEAI beschäftigt sich mit der Integration heterogener Anwendungen und der zugrunde liegenden Prozesse in einem UnternehmenEAI wird durch technologischen Fortschritt, schnelleren Produktzyklen und sich stetig ändernde Unternehmen bedeutender
EAI 1-20
Übersicht
ÜberblickLiteraturWas ist EAI?Warum EAI?
AnwendungsfelderMulti-Channel-ArchitekturenApplikation-zu-Applikation KommunikationGeschäftsprozessintegration
EAI 1-21
Multi-Channel-Architekturen
Mehrkanal-ArchitekturKanal: Vertriebskanal
Früher: Meist einige wenige Vertriebskanäle
Heute: Viele verschiedene Vertriebskanäle
Kernanwendung
Verkaufsanwendung
DWH / Statistikanwendungen
ERP,
HR
,Bu
chha
ltung
EAI 1-22
Multi-Channel-ArchitekturenBeispiel Versicherung
Kanäle: Versicherungsvertreter, Partnerorganisationen, AgentenInformationsfluss vom Kunden zur Versicherung hauptsächlich PaperEingabe Daten in einer Verkaufsanwendung (Frontoffice) oder direkt im Kernsystem (Backoffice)
Kernanwendung
Verkaufsanwendung
DWH / Statistikanwendungen
ERP,
HR
,Bu
chha
ltung
EAI 1-23
Multi-Channel-ArchitekturenNeue Verkaufskanäle kommen hinzu
Webanwendung (Prämienberechnung Versicherung)Off-line Anwendung für LaptopWiederverkäufer (Partner)Call-center
Kernanwendung (Backoffice)
Web Laptop Partner
Middleware Call-center
Intranet
Internet
EAI 1-24
Multi-Channel-Architekturen
MiddlewareKeine klare, fassbare DefinitionMinimal: Kommunikationsinfrastruktur zwischen mehreren Systemen (oder Schichten)
BeispieleCommon Object Request Broker (CORBA)Message Queue (MQ)TransaktionsmonitorEAI Produkte (z.B. MS BizTalk)
EAI 1-25
Multi-Channel-Architektur
Ein Backoffice für n Kanäle
m Hintergrundsysteme für n Kanäle
n:1 Kanäle n:m Kanäle
EAI 1-26
Multi-Channel-Architektur
Extrem abstrakte ArchitektursichtEAI in diesem Kontext
Wie soll Zielarchitektur sein?(nicht-funktionale) AnforderungenÜbersicht der bestehenden SystemeEinzusetzende Produkte, Middleware (MQ oder Web Services oder ???)Zu entwickelnde Komponenten für diese Produkte/Middleware?
EAI 1-27
Übersicht
ÜberblickLiteraturWas ist EAI?Warum EAI?
AnwendungsfelderMulti-Channel-ArchitekturenApplikation-zu-Applikation KommunikationGeschäftsprozessintegration
EAI 1-28
A2A IntegrationApplication to application (A2A) integration
Häufigstes Verkaufsargument für EAIDutzende von Client/Server Inselanwendungen unterschiedlichster TechnologieAnwendungen dieses Szenarios kommunizieren direkt miteinanderSchlimmster Fall: O(n2) Verbindungen
EAI 1-29
A2A IntegrationProbleme 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)
CRMCOBOL
VBCEJB ERP
Babylonische Sprachverwirrung:Kein System versteht das andere
IIOP
nativeSockets
IIOP-COM BrückeFTP
SQL
HTTP
EAI 1-30
A2A IntegrationTypische Lösungsarchitekturen
Softwarebus (CORBA, MQ)Dienst-orientierung (CORBA, WS)Hub and Spoke (EAI Produkten)
Typische VersprechungenO(n) AbhängigkeitenSchnellere Entwicklung, dank existierender AdapterZukunftssicheres ProduktGeringere Betriebskosten
Bus (MQ, ORB)
COBOL VBCEJB ERP
EAI Server
CRM
EAI 1-31
A2A Integration / Versprechungen
Mit HALs Autobuzz Technologie nur noch O(n) Abhängigkeiten
Autobuzz
A1 A2 An
A1
A2
An
O(n) O(n2)
EAI 1-32
A2A Integration / VersprechungenA1 sendet Produktdaten an alle anderenA2 sendet Auftragsdaten an alle anderenAbhä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 AnA3
2(n-1) Adapter
O(n2) Abhängigkeiten eine Architekturstufe tiefer
EAI 1-33
A2A Integration / VersprechungenVersprechungen 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 IntegrationIm 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-34
ArchitektursichtenZachman Framework for Architecture
www.zifa.com
DetailedRepresentationImplementation
Technology Model
System Model
Business Model
ScopeWhyWhenWhoWhereHowWhat
Arc
hite
ktur
eben
e
abstrakt
detailliert
EAI 1-35
Zachmann Framework
EAI 1-36
Architektursichten
DetailedRepresentationImplementation
Technology Model
System Model(logical)
Business Model
ScopeWhyWhenWhoWhereHowWhat
O(n)
O(n2)
EAI 1-37
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 SchnittstelleImplementierungTesten verteilter Komponenten
EAI 1-38
Übersicht
ÜberblickLiteraturWas ist EAI?Warum EAI?
AnwendungsfelderMulti-Channel-ArchitekturenApplikation-zu-Applikation KommunikationGeschäftsprozessintegration
EAI 1-39
GeschäftsprozessintegrationProzess
Eingabe (Antragsformular)Verarbeitung (Entscheidung über Antrag)Ausgabe (pos. Entscheid, Ablehnung)
Prozesse werden angestoßenKundenbestellung (eShop, Anruf)
Prozesse können verzweigenBestellung ausliefern und Inkasso betreiben
Prozesse endenBestellung ausgeliefertBestellung bezahlt
Prozesse können verschmelzenBestellung ausgeliefert und bezahlt, löst Teilnahme an einem Wettbewerb aus
EAI 1-40
GeschäftsprozessintegrationUnternehmen „bestehen“ aus Vielzahl von GeschäftsprozessenGeschäftsprozesse regeln
abteilungsübergreifende AufgabenteilungVerantwortlichkeiten von Personen/RollenEntscheidungskompetenzen
Geschäftsprozesse ohne IT (bis ca. 1950)Eingabe: Papier (von einer anderen Abteilung)Verarbeitung: MenschAusgabe: Papier (geht an eine weitere Abteilung)
HeuteProzesse sind (teil)automatisiert, Eingabe, Verarbeitung, Ausgabe elektronisch
EAI 1-41
Geschäftsprozessintegration
1950 – heuteEin noch manueller Prozess wird automatisiert oder bereits automatisierte Prozesse ändern sich. Folge:
Bestehendes Softwaresystem erweitern oderNeues Softwaresystem dazuJeweils neuer Teil in bestehende IT-Landschaftintegrieren
EAI 1-42
Geschäftsprozessintegration
Geschäftsprozess
A1 A2 A4A3
Automatisierten Prozesse mit bestehenden Systemen
EAI 1-43
Geschäftsprozessintegration
Geschäftsprozess
A1 A2 A4A3
Automatisierten Prozesse mit bestehenden Systemen
Soll automatisiertwerden
EAI 1-44
Geschäftsprozessintegration
Geschäftsprozess
A1 A2 A4A3
Neues System dazuManuelle Kommunikation mit bestehenden Systemenwird automatisiert
A5
EAI 1-45
Geschäftsprozessintegration
Geschäftsprozess
A1 A2 A4A3
Ein-/Ausgabe jetzt mit neuem System
A5
EAI 1-46
Geschäftsprozessintegration
Geschäftsprozess
A1 A2 A4A3A5
Geschäftsprozess vereinfacht durch Automatisierung
EAI
EAI 1-47
Geschäftsprozessintegration
Geschäftsprozesse ändern immer schneller
Kurze ProduktzyklenFusionenOutsourceingReorganisationen
Integrationsaufgaben im Unternehmen nehmen zu
EAI 1-48
KontextdiagrammBeschreibung Schnittstellen System zu UmweltSyntaktische Regeln
Nur ein Prozess (Gesamtsystem), erhält die Nummer 0.Mindestens eine Schnittstelle (Teilsystem)Zwischen Schnittstellen keine Datenflüsse (Pfeile)Enthält keinen SpeicherJede Schnittstelle nur einmal vorhanden Ausnahme: Übersichtlichkeit
0.
EAI 1-49
Kontextdiagramm
Semantische Regeln:Beschreibt Anwendungsbereich des SystemsZeigt Datenflüsse über die SystemgrenzenIst die Zusammenfassung von Diagramm 0Kann es von derselben Schnittstelle mehrere Instanzen geben, wird sie einmal dargestelltSchnittstelle muss ursprüngliche Quelle oder Senke einer Information angebenWahl einer Schnittstelle abstrahiert von der konkreten Eingabe oder Ausgabe
EAI 1-50
Kontextdiagramm / Beispiel
Prozess 0Dekan erstellt Stundenplan für Studenten eines Studiengangs und Semesters sowie für Dozenten
SchnittstellenStudent
- Schreibt sich für einen Studiengang einDozent
- Meldet SWS pro Vorlesung dem DekanRaumvergabe (System)
- Abfrage von Räumen- Raum belegen und wieder freigeben
EAI 1-51
Kontextdiagramm / Beispiel
Student
0.erstellt
Stunden-plan
Dozent
Raum-vergabe
Anmeldung Studiengang
Meldung SWS pro Vorlesung
Raum belegen
Freie Räume abfragen
Freie Räume
Raum freigeben
Stundenplan
Stundenplan
EAI 1-52
Kontextdiagramm
Angemessene Abstraktion der DatenflüsseZu detailliert: unübersichtlich, überladenZu abstrakt: nichts sagend
LeitfadenAußenstehenden müssen wesentlichen Informationen über die Umwelt erkennenProblembezogene Namensgebung Alle Datenflüsse auf selben Abstraktionsniveau
EAI 1-53
Kontextdiagramm
In der GeschäftsprozessintegrationKontextdiagramm für zu automatisierenden Prozess aufstellenDatenflüsse mit umgebenden Schnittstellen analysieren
Startpunkt für Entwurf SchnittstellenAnwender zu neuem SystemBestehende Systeme zu neuem System