Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
12. Seminar GIS & Internet - UniBwMünchen
Middleware als Bindeglied – aktuelle Techniken und Trends –
Univ.-Prof. Dr.-Ing. Andreas Karcher Professur für SW-Werkzeuge und Methoden
für integrierte Anwendungen Fakultät für Informatik
12. Seminar GIS & Internet – UniBw München A. Karcher 2
Inhalt • Motivation • Definition & Grundansatz • Kategorien
– Database Middleware – Transaction Processing Monitore – Message Oriented Middleware (MOM) – Remote Method Invocation (RMI) – Verteilte Objektmodelle – Komponentenbasierte Middleware – Diensteorientierte Middleware (SOA) – Enterprise Application Integration (EAI)
• Zusammenfassung
12. Seminar GIS & Internet – UniBw München A. Karcher 3
Motivation
Quelle: www.mettenmeier.de/mettenmeier/ge-smallworld.htm
Quelle: SAP
12. Seminar GIS & Internet – UniBw München A. Karcher 4
Motivation • Hauptproblem „Heterogenität“
– unterschiedlichste Plattformen und Betriebssysteme – proprietäre Altanwendungen („Legacy“) – Zugriffsprotokolle und Standards
• HTTP • ODBC, JDBC • CORBA/IIOP, COM+ . . .
– Ergebnissyntax und Wertformate • Datumsrepräsentation,
Einheiten/Währungen, ... – Informationsmodelle/Schemata – unterschiedliche Begriffswelten
• unterschiedliche Datenmodelle – Anfragemöglichkeiten & unterschiedliche Sichten
• volle Mächtigkeit von SQL • navigierende Anfragen (HTML-Seiten) • unterschiedliche Informationsportionierung
Insellandschaft der Fachinformationssysteme
Logistik
Organistion
Haushalt
Rechnungswesen
Personal- wesen
HIS
DV-Kasse
Bw-MILSTRAP
BESI - H/2
ZTBÜ
PERFIS
WEWIS
GEBAS
EMIR
ZKoReBw PERKOS NOBKOS MABEKOS
BRW
UFIS Org.-Gdlg
Dez. KLR KOLIBRI
HÜL-DV
12. Seminar GIS & Internet – UniBw München A. Karcher 5
Definition & Grundansatz "Metadata is data about data;
Middleware is software about software." Nick Gall [Gall2003] – Middleware bezeichnet primär das allgemeine Abstraktionskonzept einer
Softwareschicht, die zwischen heterogenen, auf unterschiedlichen Plattformen laufenden und über Netzwerke verbundenen Anwendungssystemen und Datenquellen vermittelt
lift lift lift
Middleware Konzeptuelle Integration & Mediation
konzept. Datenmodell konzept. Datenmodell konzept. Datenmodell
Anwendungen
Existierende Anwendungen und Daten
12. Seminar GIS & Internet – UniBw München A. Karcher 6
Definition & Grundansatz • Wesentliches Ziel von Middleware ist somit die Beherrschung der
Komplexität bei verteilten Anwendungssystemlandschaften durch Einführung einer einheitlichen abstrakten Zwischenschicht
• Diese Grundidee geht bereits in die sehr frühen Phasen der Informatik zurück und ist auf der berühmten NATO-Konferenz 1968 [Naur, Randell] als Begriff erstmals veröffentlicht
• Erst mit stärker aufkommender Vernetzung und Verteilten Systemen sowie der damit verbundenen Komplexität zunehmend unternehmens- und organisationsübergreifender Anwendungen entwickelte sich Middleware ab den 1980er-Jahren zu einem wichtigen und zentralen Forschungs- und Entwicklungsgegenstand der Informatik
• Seit den 1990er-Jahren sind eine Reihe sowohl kommerzieller als auch nicht-kommerzieller Middleware-Ansätze und -Produkte verfügbar, die heute die Basis für die Entwicklung komplexer verteilter Anwendungen sind
• Wichtige Aspekte von Middleware sind: • Bereitstellung lokaler Transparenz (Ortstransparenz) • Unabhängigkeit von den Details der Protokolle,
der Betriebssysteme sowie der Hardware • Interoperabilität unterschiedlicher Applikationen • Programmiersprachen-Unabhängigkeit
• Middleware besteht immer aus einer Anzahl von Diensten, die es verteilten Applikationen/Prozessen erlauben, über das Netzwerk hinweg zu interagieren und zu kooperieren
Application
MW
OS
Application
MW
OS
12. Seminar GIS & Internet – UniBw München A. Karcher 7
Kategorien Typ Charakteristika Beispiele
datenbankorientiert (Database Middleware)
Anfragevermittlung an verteilte Datenbanken EDA, DQBroker
transaktionsorientiert (TP - Transaction Processing - Monitor)
Verarbeitung von (höchst zuverlässigen) Transaktionen auf Großrechnern CICS, IMS/TM
nachrichtenorientiert (MOM – Message Oriented Middleware)
lose Kopplung über den Austausch von Nachrichten; primär asynchron MQSeries
funktionsaufruforientiert
Ermöglicht einer nutzenden Anwendung (Client) den Aufruf einer entfernten Funktion/Methode, die von einer anbietenden Anwendung (Server) über das Netzwerk zur Verfügung gestellt wird
RPC RMI
objektorientiert (ORB - Object Request Broker)
Transparente Erweiterung des objektorientierten Paradigmas über Prozess-/ Rechner-/ Betriebs-systemgrenzen hinweg
RMI, CORBA, COM/DCOM
komponentenorientiert Lose gekoppelte, verteilte und zur Laufzeit installierbare SW-Komponenten stellen logisch zusammenhängende Funktionen einer Gesamtapplikation zur Verfügung
EJB, CCM, .NET
dienstorientiert (Service Oriented Architecture SOA)
(Verteilte) Geschäftsprozesse in Basisdienste zerlegt, die ihrerseits auf (heterogene) Anwendungssysteme abgebildet werden
SOA, Web Service
EAI (Enterprise Application Integration)
Weiterentwicklung auf Basis herkömmlicher Middleware; Ergänzung der reinen Connectivity durch Transformations-/Prozessmanagement sowie Entwicklungs- und Management-Funktionalitäten, synchron und asynchron
TIBCO, SeeBeyond
12. Seminar GIS & Internet – UniBw München A. Karcher 8
Datenbankorientierte Middleware • Idee: Anwendungen über eine vermittelnde Schicht den entfernten Zugriff auf die in verteilten,
heterogenen Datenhaltungssystemen bzw. Datenbanken gespeicherten Daten zur Verfügung zu stellen (Remote Database Access)
• Middleware stellt aus Anwendungssicht eine Art „Virtuelle Datenbank“ zur Verfügung, die von den Details der konkreten Speicherung der Daten in den einzelnen Systemen abstrahiert und Daten so zur Verfügung stellt, wie sie die jeweilige Anwendung benötigt
• Insofern geht dieser Ansatz über das Konzept der verteilten Datenbanken hinaus, da hier kein gemeinsames Datenmodell vorausgesetzt werden kann
• Vielmehr muss die Middleware zur Laufzeit zwischen unterschiedlichen zugrunde liegenden Strukturmodellen vermitteln und beispielweise ein in relationaler Form gespeichertes Datentupel „Auftrag“ und ein als Instanz einer Klasse „Purchase Order“ gespeichertes SW-Objekt einer zugreifenden Anwendung integriert zur Verfügung stellen
„Database-oriented Middleware is all the software that connects some application to some database“. [Linthicum]
12. Seminar GIS & Internet – UniBw München A. Karcher 9
Transaktionsorientierte MW • TP-Monitor = Transaction Processing Monitor
– entstanden vor ca. 30 Jahren als Plattform für große
kommerzielle Client-Server-Systeme (z.B. Flugbuchung) – primäre Funktion: transaktionale Ausführung von Dienstprozeduren – weitere Funktionen: Lastkontrolle, Lastverteilung, Aufbereitung von
Eingabe- und Ausgabedaten für Bildschirmmasken – Produktbeispiele:
• Customer Information Control System CICS (IBM) • Tuxedo (BEA) • Encina (Transarc) • . . .
Client TP Monitor Database Server
Database Server
12. Seminar GIS & Internet – UniBw München A. Karcher 10
Message Oriented Middleware – gemeinsame Schnittstelle und Datentransport zwischen
Applikationen – vergleichbar mit einem E-Mail-System – mit dem Unterschied, dass Daten direkt zwischen verschiedenen
Anwendungssystemen ausgetauscht werden – speichert die Daten in einer
Nachrichten-Warteschlage (Message Queue) . . .
– . . . auch wenn die Partner- applikation nicht direkt erreichbar ist
– kann, mit entsprechender Business-Logik ausgestattet, die Daten zu den Ziel- applikationen transportieren und dabei gleichzeitig die evtl. erforderlichen Konvertierungen/ Umformatierungen usw. vornehmen
12. Seminar GIS & Internet – UniBw München A. Karcher 11
Funktionsaufruforientierte MW
Client Objects
Stub
Remote Reference Manager
Server Objects
Skeleton
Remote Reference Manager
Client Process Server Process
RMI Transport Layer (binary data protocol)
Application Layer
Stub/Skeleton Layer
Remote Reference Layer
(Applikationen)
(Schnittstelle für die Interaktion der
Objekte)
(Erzeugen und Verwalten
der entfernten Objektreferenzen)
Entfernter Methodenaufruf = Remote Method Invocation RMI
12. Seminar GIS & Internet – UniBw München A. Karcher 12
Funktionsaufruforientierte MW • Ein entferntes Objekt gibt seine Schnittstelle(n) nach
außen bekannt: „remote interface“ • Entfernter Client kann auf die Methoden dieser
Schnittstelle so zugreifen, als wären sie lokal verfügbar -> Ortstransparenz
interface remote
m1 m2 m3
m4 m5 m6
Daten
Methoden {
entferntes Objekt
Client Process Server Process
12. Seminar GIS & Internet – UniBw München A. Karcher 13
Verteilte Objektmodelle • interagierende und kooperierende Objekte sind auf
mehrere Prozesse und/oder mehrere Rechner verteilt • wichtige Konzepte
– entfernte Objektreferenzen: die Adresse eines Objektes muss über das gesamte verteilte System hinweg eindeutig sein
– entfernte Schnittstellen: Schnittstelle eines entfernten Objektes wird in (neutraler) formaler Spezifikationssprache (Interface Definition Language IDL) festgelegt:
• Name der Schnittstelle • evtl. Datentypdefinitionen • Signatur der Methoden (Methodenname, Ein-/ Ausgabeparameter,
Rückgabewert jeweils mit Typ) – Aktionen resultieren in Zustandsänderungen auf entfernten
Objekten – „Verteiltes Exception Handling“: die verteilte Ausführung von
Objekten/ Methoden erweitert das Spektrum möglicher Fehlerfälle und somit die Anforderungen an das Fehlermanagement
Verteiltes Objektsystem
Rechner
Prozess
Objekt
12. Seminar GIS & Internet – UniBw München A. Karcher 14
Verteilte Objektmodelle
• pos enthält eine Objekt-Referenz • im Objekt, auf das die Referenz pos zeigt, wird die Methode
getPositionX() aufgerufen, die einen Fließkomma-Rückgabewert liefert • Ziel: auch bei einem entferntem Objekt „Positionsgeber“ bleibt diese
Aufrufsyntax für den Client identisch • Middleware als Vermittler d. h. der nutzende Client „spürt nichts“
davon, dass der Zugriff über ein Netzwerk und u.U. auf einen Rechner mit ganz anderer HW/SW-Plattform erfolgt
Client “Positionsgeber”
Server-Objekt
getPositionX()
Positionsgeber pos = new Positionsgeber(); double t = pos.getPositionX();
12. Seminar GIS & Internet – UniBw München A. Karcher 15
Komponentenorientierte MW Idee:
– integrierte Anwendung ergibt sich durch „Verdrahtung“ von möglichst universellen SW-Bausteinen (Komponenten)
– einfachere Wiederverwendung bewährter Module („Baukastenprinzip“)
– Kombinieren und Konfigurieren statt Programmieren
– Beispiele • Java EE • .NET • CORBA Component
Model CCM
Presentation Business Data
DB Server
Client
Container
Business Object
Data Object
External Applications
Legacy Systems
Databases
Thin Client
Rich Client
12. Seminar GIS & Internet – UniBw München A. Karcher 16
• Zentrale Technologie: Application Server – auch als CTM = Component Transaction Monitor bezeichnet – entstanden durch Kombination aus
• Objektorientierung/ Komponentenmodellen • Verteilung • Transaktionsverarbeitung
– stellen entsprechende Container und Dienste (Application Services) bereit Beispiele:
Microsoft Transaction Server (Microsoft)
J2EE Reference Implementation (Sun)
WebSphere Application Server (IBM)
WebLogic (ORACLE/BEA)
JBOSS
External Applications
Legacy Systems
Databases
Thin Client
Rich Client Application
Services
Komponentenorientierte MW
12. Seminar GIS & Internet – UniBw München A. Karcher 17
Dienstorientierte MW – SOA
Idee – Einzubindende Anbieter stellen ihre Dienste
plattformübergreifend zur Verfügung – Kapselung von Daten und Funktionalität hinter einer
Schnittstelle, die die Funktion eines Vertrages hat – Durch eine geeignete Infrastruktur wird die gegenseitige
Nutzung autonomer Dienste ermöglicht – Hauptprobleme
• Wie mache ich Dienste interoperabel? • Wie finde ich benötigte Dienste? • Wie beschreibe ich Dienste? • Wie kombiniere/aggregiere ich Dienste?
„ The service-oriented architecture approach [web services] is the latest in a long series of attempts in software engineering that try to foster the reuse of
software components.” [Leymann]
12. Seminar GIS & Internet – UniBw München A. Karcher 18
Dienstorientierte MW – SOA • Grundprinzip Dienst- Bereitsteller Dienst-
Nutzer Nutzen eines Dienstes
Dienst-Registrierung
BIND
FIND PUBLISH
12. Seminar GIS & Internet – UniBw München A. Karcher 19
Dienstorientierte MW – SOA • Wesentliche Aspekte
– Kommunikationsprotokoll (technische Ebene) – Dienstbeschreibung
• Konkrete Adresse (wie erreiche ich den Dienst) • Dienstschnittstelle (wie rufe ich ihn auf) • Semantik des Dienstes (was tut der Dienst) • Organisatorisches (was kostet der Dienst, welche Qualität bietet der Dienst etc.)
– Verzeichnisdienste • Wie finde ich einen passenden Dienst
• Eine mögliche Umsetzung: Web Services – verteilte, lose gekoppelte und wieder verwendbare
Software-Komponenten, auf die über Standard-Internetprotokolle programmtechnisch zugegriffen werden kann
– Ermöglichen den entfernten Zugriff auf wohl definierte, gekapselte Anwendungsdienste
– Bilden universelle Basis für die dynamische Kopplung global verteilter Anwendungssysteme bzw. entsprechender Dienste
12. Seminar GIS & Internet – UniBw München A. Karcher 20
Dienstorientierte MW – SOA
Quelle: www.geonames.org
• Web Service Beispiel
12. Seminar GIS & Internet – UniBw München A. Karcher 21
Dienstorientierte MW – SOA
• WS-Aufruf …
• … liefert Ergebnis als XML (hier direkt im Browser)
Quelle: www.geonames.org
• Web Service Beispiel
12. Seminar GIS & Internet – UniBw München A. Karcher 22
Enterprise Application Integration • ganzheitliches Konzept zur unternehmensweiten bzw. unternehmens-
übergreifenden Anwendungsintegration entlang von Wertschöpfungsketten – Geschäftsprozessorientierte Integration von Anwendungsfunktionen in
heterogenen IT-Anwendungsarchitekturen – Einzelanwendungen können auf unterschiedliche Plattformen verteilt sein und
werden über Adapter „angedockt“ EAI-Produkte bieten
i. d. R. eine Workflow Engine, mit der die Geschäftslogik abgebildet werden kann
Middleware als „Enabling Technology“ TP Monitore Message Broker Verteilte
Objektsysteme Service Oriented
Middleware SOA
12. Seminar GIS & Internet – UniBw München A. Karcher 23
Enterprise Application Integration • TIBCO Designer – Beispiel „Order Management“
www.tibco.com
12. Seminar GIS & Internet – UniBw München A. Karcher 24
Zusammenfassung • Wesentliches Ziel von Middleware ist die Beherrschung der Komplexität bei
verteilten Anwendungssystemen durch Einführung einer einheitlichen abstrakten Zwischenschicht
• Dieses Konzept wird durch unterschiedliche Paradigmen adressiert und umgesetzt
• Heute sind sehr leistungsfähige und ausgereifte MW-Produkte am Markt verfügbar
• Der Trend geht zu Mehrschichtarchitekturen mit lose gekoppelten – über SW-Komponenten realisierten – Services, die zu Gesamtprozessen verknüpft werden
• aber: – “Any problem in
Computer Science can be solved with another level of indirection.”
Butler Lampson
– “…except the problem of indirection complexity.”
Bob Morgan Quelle: IBM
12. Seminar GIS & Internet – UniBw München A. Karcher 25
Fragen?
12. Seminar GIS & Internet – UniBw München A. Karcher 26
Literatur
• Britton C., Bye P. (2004): IT Architectures and Middleware: Strategies for Building Large, Integrated Systems; Addison-Wesley, 2004
• Gold-Bernstein B., Ruh W.(2004): Enterprise Integration: The Essential Guide to Integration Solutions; Addison-Wesley, 2004
• Gall(2003): The Origin (Coining) of the Term "Middleware“ http://ironick.typepad.com/ironick/2003/11/the_origin_coin.html
• Hohpe G., Woolf B. (2003): Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions; Addison-Wesley, 2003
• Kaib M. (2002): Enterprise Application Integration; Deutscher Universitäts-Verlag, Wiesbaden 2002
• Kurbel K., Becker J., Gronau N., Sinz E., Suhl L. (Hrsg.): Enzyklopädie der Wirtschaftsinformatik; www.enzyklopaedie-der-wirtschaftsinformatik.de; Stichwort „Middleware“ (Autor: Karcher A.), Oldenbourg Wissenschaftsverlag 2009
• Linthicum D. S. (2000): Enterprise Application Integration; Addison-Wesley 2000 • Naur, Randell (Ed.) (1968): NATO Software Engineering Conference, Garmisch
1968, NATO Scientific Affairs Division, Brussels