Message - Datenbanken - Martin-Luther-Universität Halle

Werbung
Aufbau Integrierter
Informationssysteme
Überblick über Basistechnologien
Christina Reuter, David Kaiser, Thomas Hoffmann
Martin-Luther-Universität Halle-Wittenberg
Hauptseminar - Halle - 21.11.2001
Gliederung
1. Überblick über Basistechnologien
2. Middleware
3. Message Broker
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
2
Überblick
Überblick - Gliederung
1. Gliederung in 4 Basisblöcke
2. Kommunikationsmodel
1.
2.
Synchrone Kommunikation
Asynchrone Kommunikation
3. Integrationsmethoden
1.
2.
3.
Messaging
Interface
Connectors
4. Middleware
1.
2.
RPC
MOM
5. Services
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
3
Überblick
Basisblöcke
Unterteilung der EAI-Architektur in folgende 4 Basisblöcke
1.
Kommunikationsmodel
2.
Integrationsmethoden
3.
Middleware
4.
Services
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
4
Überblick
1.
Kommunikationsmodel - Grundlagen
Sender
Request = Anfrage
Reply = Antwort
Receiver
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
= Empfänger
5
Überblick
1.
Arten der Kommunikation
Kommunikation
Synchron
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Asynchron
6
Überblick
Synchrone Kommunikation
1.
Request / Reply
Bearbeitet
Request
Blockt
Request
Sender
Reply
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Receiver
7
Überblick
Synchrone Kommunikation
2.
One-Way
Bearbeitet
Request
Blockt
Request
Sender
Empfangsbestätigung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Receiver
8
Überblick
Synchrone Kommunikation
3.
Synchrones Polling
Checks
Success
for
Failure
Stoppt
Response
polling
Continues
Sender
Bearbeitet
Request
Request
Reply
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Receiver
9
Überblick
Asynchrone Kommunikation
1.
Message Passing
Accepts Message
+ continues
continues
Message Sent
Sender
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Receiver
10
Überblick
Asynchrone Kommunikation
2.
Publish / Subscribe
continues
Sender
Receiver
Message A Sent
Subscription
List
Accepts Message
Continues
Message A Sent
Receiver
Accepts Message
Continues
Receiver
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
11
Überblick
Asynchrone Kommunikation
3.
Broadcast
Receiver
weißt Nachricht zurück
+ continues
Receiver
Nimmt Nachricht an
+ continues
Receiver
Nimmt Nachricht an
+ continues
continues
Sender
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
12
Überblick
2.
Messaging:
Integrationsmethoden
- Message enthält Informationen über gewünschte Aktion
und Daten die für das ausführen gebraucht werden
Sender
- Nachricht im passenden Format erzeugen
(z.B. Sender,Receiver,AccountNr.,AccountAction, Value)
- Nachricht ins Kommunikationssystem weitergeben
Receiver
- Nachricht vom Kommunikationssystem empfangen
- Die Nachricht in Kontrollinformation und Daten aufteilen
- Bestimmen was zu tun ist
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
13
Überblick
2.
Interface:
Sender
Integrationsmethoden
- Definiert die Aktionen die aufgerufen werden können
- gebrauchte Daten werden über das Interface versand
- Definierten Aufruf mit Parametern erzeugen
(z.B. Erzeuge_Kunden „Meier“)
- Aufruf ausführen
Interface
Receiver
- Aufruf und Parameter entgegennehmen
- Aktion ausführen (Abhängig vom Interface)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
14
Überblick
2.
Integrationsmethoden
Connectors: - Interface mit erweiterten Funktionen
- Fehlerbehandlung, Gültigkeitsscheck
- Marshalling, Unmarshalling
- Konvertierung und Transformation von Daten
(EBCDIC to UNICODE, DOLLAR to YEN)
- Zustandsinformationen verwalten
(Garantierte Übertragung,Wiederherstellung)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
15
Überblick
3.
Middleware
Verwaltet Requests zwischen Softwarekomponenten.
5 Basistypen:
- Remote Procedure Calls (RPC)
- Database Acces Middleware
- Message Oriented Middleware (MOM)
- Distributed Object Technology (DOT)
- Transaction Processing Monitors (TPMs)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
16
Überblick
4.
Services
Erweiterung von Basiskommunikation und Middleware-Fähigkeiten.
- Directory
- Lifecycle
- Security
- Conversion and Transformation
- Persistence
- Notification
- Workflow
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
17
MiddlewaretypenGliederung
Middleware
2. Middlewaretypen
2.1 RPC
2.2 MOM
2.2.1 Einleitung
2.2.2 Message Queuing
2.2.3 Publish/Subscribe
2.2.4 Eigenschaften
2.3 Distributed Objects/ORB
2.3.1 Eigenschaften
2.3.2 CORBA
2.3.3 COM
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
18
MiddlewaretypenGliederung
Middleware
2.4 Datenbankorientierte Middleware
2.4.1 CLIs
2.4.1.1 ODBC
2.4.1.2. JDBC
2.4.2 native DBorientierte Middleware
2.5 Transaktionale Middleware
2.5.1 Transaktionen
2.5.2 Eigenschaften
2.5.3 TP Monitor
2.5.4 Application Server
2.5.5 Enterprise Java Beans
2.5.6 Transactional COM+
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
19
Middleware
Remote Procedure Call
• Aufruf einer fremden Prozedur durch ein Programm
• 2 Nachrichtenübertragungen:
– Sender übergibt Prozedurnamen und notwendige
Parameter
– Empfänger sendet den Rückgabewert zurück
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
20
Middleware
EigenschaftenRemote
Procedure Call
• Umsetzung des Aufrufs durch Stubs
• Kenntnis über Schnittstelle der betroffenen Prozedur
• Deklaration der Schnittstelle, um die Stubs zu generieren
• üblicherweise synchron
– Stoppen der Sender-Anwendung bis der Rückgabewert von der
Empfänger-Applikation gesendet wurde
– Rückgabewert ist relevant für die weitere Abarbeitung des
Programms
•
auch asynchrone Ansätze
– Sender kann nebenläufig weiterarbeiten
– keine Antwort notwendig
– Koordination der Rückläufe von Antworten bei mehreren asynchronen
RPCs
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
21
Middleware
GrafikRemote
Auftraggeber
6. Rückgabe
Parameter
4.
Rückgabe
Parameter
lokal
Programm
Procedure Call
Auftragnehmer
Programm
2. Nachricht mit
Aufruf
Stub
Stub
1. Aufruf
entfernte
Prozedur
5. Nachricht mit
Rückgabe
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
3. Aufruf
lokale
Prozedur
22
Middleware
Remote Procedure Call
• Transparenz
– Prozeduraufruf erscheint lokal
– Übergabe an den entfernten Rechner ist nicht erkennbar
• Probleme
– Parameterübergabe
– Ortstransparenz
– Fehlerfälle
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
23
Remote Procedure Call
• Vorteile
– Einfachheit des Mechanismus und Programmierung
– Stabilität
– kompatibel Client-Server-Architektur
• Nachteile
– Hohes Maß an Verarbeitungsleistung
– Netzwerkbelastung
– Keine grossen Datenmengen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
24
Middleware
Message oriented Middleware
• ereignisorientiert
• Nachrichtenübertragung zur Kommunikation zwischen
Anwendungen
• Asynchrone Verarbeitung
– aufrufende Applikation setzt mit ihrer Arbeit fort
• kann mit anderen Middlewaretypen verknüpft werden
(„Middleware, die Middleware verwendet“)
– z Bsp: Message Broker (siehe 3. Teil der Vorlesung)
• 2 Kopplungsmodelle
– Message Queuing
– Message Grouping
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
25
Middleware
Einfaches Message Queuing 
MOM
Message Queue
Applikation
A
M5
M4
M3
M6
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Applikation
B
M2
M1
26
Middleware
•
Request/ReplyMessage Queuing 
MOM
Request/Reply
–
–
–
–
–
–
intelligente MOM-Variante
point-to-point-messaging
Synchroner Charakter
Anfrage und Antwort in einer Transaktion
Verarbeitung der Messages nach FIFO oder speziell festgelegten Prioritäten
erfordert eine Queue für jede Antwort
M1
M1
Message Queue
Applikation
A
Applikation
B
Message Queue
M2
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
M2
27
Middleware
Publish/subsribeMOM
• Gruppenkommunikation (publish/subscribe)
• 2 Gruppen:
– Abonnenten
• Abbonieren eines bestimmten Ereignis, das durch spezielle Kriterien
identifiziert wird
– Herausgeber
• Freisetzen eines Ereignisses, das vom Kommunikationsdienst zum
entsprechenden Abonnenten geleitet wird
• Verbreitung zu allen Clients möglich
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
28
Middleware
Publish/subscribeMOM
Subscrib
er
Subscribe
r
Subscribe
r
Publisher
Message
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
29
Publish/subscribeMOM
Middleware
Client n
Subscription
criteria
messages
Subscribe
messagea
Client n+10 Subscribe
messageb
Subscription Queue
Publication Queue
Subscribe
messagec
Client n+100
Pub-Sub
Server
Publish
messagec
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Publication
messagec
Verbindung
zu Informationsquellen
30
Middleware
Eigenschaften
MOM
• Message Translation
– Konvertierung in transportables Format
– Rückkonvertierung
– an Fixpunkten oder während des Routings
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
31
Middleware
Eigenschaften
MOM
• Queue Management
– Verwaltung mehrerer Queues
– Verwaltung/Behandlung kritischer Aspekte wie Synchronisation,
Antwortzeit, Message Inhalt, Message Grösse, Message Priorität,
Queue Kapazität, Queue Timeouts, Queue Persistenz, Queue
Priorität
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
32
Middleware
Client 1
Client 2
Queue ManagementEigenschaften
MOM
Client
Anfragen
Queue
manager
Client 3
Überwachen
der Queues
Message Message
Queue
Queue
a
b
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
33
Middleware
Eigenschaften
MOM
• Queue Persistenz
– Gewährleistung des Wiederauffindens von Messages bei Fehlern
wie Queue Errors, Message beschädigungen , Serverfehlern
– Message Repository enthält alle Request und Replies bis zum
erfolgreichen Empfang durch den Server
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
34
Middleware
Queue PersistenzEigenschaften
Message
Request
message
store
message
Message
Server
korrekter
ReplyEmpfang
 Löschen
aus
Repository
Request Queue
Message Repository
Requests
Replies
Message
Message
Message
Message
Message
Message
Message
Message
Reply
message
Message
Reply Queue
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
MOM
Message
korrekter
RequestEmpfang
 Löschen
aus
Repository
Request
message
Message
Server
store
message
Reply
message
Message
35
Multiple Queuing RoutingEigenschaften
MOM
• Multiple Queuing and Routing
– Multiple Queues um Performance zu verbessern
– Dienst, der festlegt in welche Queue die Message geschleust
werden soll, abhängig vom Message-Inhalt oder der QueueVerfügbarkeit
• z Bsp eine Queue für einen bestimmten Messagetyp
– Vorraussetzung:
• Queue Manager oder Queue Router
 d.h. der Client kennt lediglich den Ort der Manager Software, die den
Router oder den Namen der Queue enthält
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
36
Multiple Queuing RoutingEigenschaften
MOM
Client A
Message
M-Typ Y
Message Queue X
Message
M-Typ X
Client B
M-Typen
Z+Y
Queue
Manager
M-Typ Y
Message
Message Queue Y
Message
M-Typ Z
M-Typ X
Message
Message Queue Z
Message
Client C
Multiple Queues für multiple Message-Typen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
37
Middleware
Multiple Queuing RoutingEigenschaften
Client
n
Client
n+1
MOM
Message Queue 1
Queue
manager
Message Queue 2
Queue ist voll
Client
n+100
Message Queue 3
Multiple Queues für eine grössere Bandbreite
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
38
Middleware
Distributed Objects/ORB
• ähnlich dem synchronen RPC
• basiert auf dem objektorientierten Paradigma
• Mechanismen zur transparenten Interaktion zwischen verteilten
Objekten über verschiedene Netzwerke und Plattformen (ORB)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
39
Distributed Objects
Middleware
MACH_DAS()
NEIN_DAS()
NETZWERK
NEIN_DAS_HIER()
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
kleine Applikationen,
die Standard-Interfaces und Protokolle
zur Kommunikation
untereinander
benutzen
40
ORB
Middleware
EIGENSCHAFTEN 
• Schnittstelle des Serverobjekts muss definiert sein
Generierung der Stubs durch IDL-Interface Spezifikation
• Object Adapter - spezielle Laufzeitumgebung für Serverobjekte
• statisches Kommunizieren mit Stubs
–
(d.h. Serverobjekte zur Kompilierzeit bekannt)
• Interface Repository – zur Bestimmung der Serverobjekte zur
Runtime
• Objekte können auf lokale Dienste des ORB zugreifen
– Naming Service, Trading Service
• mögliche Entkopplung zur asynchronen Publish/Subscribe
Verbindung durch Event Service
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
41
Middleware
CORBA + OLE/COM
DO
• 2 Typen von „Betriebssystemen“ für DO:
• CORBA (common object request broker architecture)
• COM (component object model)
• Ziel Standard für Systemintegration auf Basis der
verteilten Objektorientierung etablieren
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
42
Distributed Objects/ORB
Middleware
• CORBA von OMG
–
–
–
–
Standard
Spezifikation der Regeln, um ein CORBA Objekt zu entwickeln
heterogen, auf den meisten Plattformen erreichbar
basiert auf klassischem Objektmodell (multiple Vererbung,
Verkapselung, Polymorphismus)
• COM
–
–
–
–
–
Standard von Microsoft
„rules of the road“ für den Entwickler
Interface-Standards und Kommunikationsprotokolle
erlaubt keine Vererbung von Klassen
homogen, für Win-Oberflächen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
43
CORBAORB
Middleware
Server
Client
Interface
Repository
Skeleton
Dynamic
Client
ORB
Invocation Stubs Interface Object Adapter
Object Request Broker Kern
CORBA ORB Architektur
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
44
Middleware
•
CORBA
Client:
– Programmeinheit, dass eine Operation eines anderen Objekts anstößt
– Forderung nach Transparenz
•
Server/Serverobjekte:
– Eigentümer der aufgerufenen Methoden/Operationen
•
Object Adapter:
– Unterstützung der Anfrageübergabe zum Objekt und dessen
Aktivierung
– Verbindung Objektimplementierung mit dem ORB
•
Interface Repository:
– Information über die Schnittstellen für Laufzeitunterstützung und
Design
•
Dynamic Invocation:
– erlaubt dynamischen Zugriff auf den Server ohne implementierte IDLspezifische Stubs
•
Stubs und Skeletons:
– automatische Transformation zwischen CORBA IDL Definitionen und
der Zielprogrammiersprache durch CORBA IDL Compiler
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
45
OLE/COM
Middleware
Frameworks
Compound Document
Management
In-place-activation
Custom Controls (OCX)
OLE Automation
23
4567
8 ###
Automation
Controller
Automation
Server
Object
Services
Interface Negotiation Uniform Data Transfer Naming and Binding
Licensing
Life
Cycle
Events
Structured Storage
ORB
Component Object Model
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
46
OLE/COM
Middleware
•
Management zusammengesetzter Dokumente:
–
–
•
OLE Automation:
–
–
–
•
–
vorgefertigte Komponente mit definierten Schnittstellen
kann mit Hilfe des Automation Servers in ein zusammengesetzes Dokument
eingebunden werden
Zbsp: Mausklick auf bestimmte Dokumentenstelle und als Ereignis weitergeleitet
und nach vorgeg. Regeln behandelt
Network OLE:
–
–
•
Automation Server (zbsp: Tabellenverarbeitung) stellt seine Funktionalität dem
Automation Controller zur Verfügung
Scriptsprache oder Tool
GUI nicht betroffen transparente Funktionalitätsherkunft
OCX:
–
–
•
z Bsp Aktivierung der Funktionalität von Tabellen innerhalb eines Textdokuments
(in-place-activation)
OLE  object linking and embedding
höhere Version des bis dahin nur LOKAL funktionierenden OLE 2.0
Ermöglicht Verteilung der Komponeten
COM:
–
–
hat die Aufgaben eines ORB
Ergänzt durch eine Reihe von Diensten für die Zusammenarbeit mit
Komponenten
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
47
Middleware
Database oriented Middleware
• Ermöglichung der Kommunikation mit einer DB
• Extrahieren von Information aus einer lokalen oder entfernte DB
• Datenanfrage und –bewegung über Netzwerke
• 2 Typen:
– ursprüngliche DB-Middleware und Call Level Interfaces (CLIs: zbsp
ODBC,JDBC)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
48
ODBCDOM
Middleware
• Bereitstellung einer Standardschnittstelle zum Zugriff auf DBs
• für relationale DBs
• Treiber:
– zum Ausgleich der Heterogenität der einzelnen DBs
• Unterstützung von simultanen Mehrfachzugriff
• ODBC:
– 4 Komponenten:
•
•
•
•
Anwendungsprogramm
Datenquelle
Treiber-Manager
ODBC-Treiber
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
49
Middleware
Treiber-ManagerODBCDOM
• Code Bibliothek mit dem das AWP kommuniziert
• Laden und Löschen der einzelnen Treiber
• Kann mit mehreren DB-Treibern arbeiten
• Verbindungsherstellung mit den DB-Treibern zur
Befehlsabarbeitung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
50
Middleware
ODBC-TreiberODBCDOM
•
Bibliotheken zur Gewährleistung der Interaktion mit einer DB
•
Treiber muss für jede einzelne verwendete DB verfügbar sein
•
laufen auf demselben Rechner der DB oder auf einem mit ihr
verbundenen
•
Weiterleitung der SQL-Anfragen an Datenquellen
•
Verbergen der Heterogenität unterschiedlicher Datenquellen
•
Ggf. Ausführung von SQL-Anfragen/SQL-Dialekt/Datentypumwandlung
•
durch Veröffentlichung der DB-API  einfaches Entwickeln des
zugehörigen Treibers möglich
•
3 Arten:
– Ein-Stufen-Treiber
– Zwei-Stufen-Treiber
– Drei-Stufen-Treiber
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
51
Middleware
Ein-Stufen-TreiberODBC-TreiberODBC
DOM
Ein-Stufen-Treiber
• Zugriff auf flache Dateien (ISAM Files, EXCEL Spreadsheets)
• Transformation der SQL-Befehle durch AWP und TreiberManager zu geeigneten Befehlen für flache Dateien
• Komplette SQL-Bearbeitung (Parsen, Optimierung, Bereitstellung des
Ausführungsmoduls
• häufig keine Mehrbenutzer-/TA-Unterstützung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
52
Middleware
Ein-Stufen-TreiberODBC-TreiberODBC
Zugriff auf flache Dateien
DOM
Zugriff auf ISAM-Dateien
Anwendung
Anwendung
Treiber Manager
Treiber Manager
Ein-Stufen-Treiber
Ein-Stufen-Treiber
ISAM-Aufrufe
Datei-I/O-Aufrufe
ISAM-Engine
Datei-I/O-Aufrufe
Dateisystem
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Dateisystem
53
Middleware
•
Zwei-Stufen-TreiberODBC-TreiberODBC
DOM
Direkter Zugriff auf SQL geeignete DQ
Keine Wiederaufbereitung der SQL-Befehle
•
2-Schichten: Client- und Server-Schicht, können auf einem einzigen
oder 2 Rechnern liegen
•
Treiber übernimmt Client-Rolle im Datenprotokoll mit dem DBVS
•
Unterschiedliche Realisierungsmöglichkeiten:
•
•
•
Direkte Teilnahme am Datenprotokoll
Abbildung von ODBC-Funktion auf DBS-API
Einsatz von Middlewaretechnologien
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
54
Middleware
Zwei-Stufen-TreiberODBC-TreiberODBC
Treiber Manager
Zwei-Stufen-Treiber
Treiber Manager
(Abbildung von DBS-API)
Zwei-Stufen-Treiber
(Verwendung von Messages
oder RPCs)
Datenprotokoll
DB-Laufzeitbibliothek
Netzwerkbibliothek/
RPC-Laufzeitsystem
DBVS
Protokoll
für Datenübertragung
im Netzwerk
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Netzwerkbibliothek/
RPC-Laufzeitsystem
Abbildung von ODBC-Fkt auf DBS-API
Anwendung
Anwendung
Direkte Teilnahme am Datenprotokoll
DOM
DBVS
55
Middleware
Zwei-Stufen-TreiberODBC-TreiberODBC
DOM
Einsatz von Middlewaretechnologien
Anwendung
Treiber Manager
Zwei-Stufen-Treiber
Datenprotokoll des
Middlewareherstellers
für Netzwerk
1
Netzwerkbibliothek/
RPC-Laufzeitsystem 1
Serveranwendung
Netztransport
1
DBS-API
1
DBVS
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
: des Middlewareherstellers
56
Middleware
Drei-Stufen-TreiberODBC-TreiberODBC
DOM
• Treiber-Manager und Datenbank-Treiber auf
separaten Rechner (Verbindungsserver)
• 3 Rechner involviert: Client, Gateway Server, Datenbankserver
• Komplexitätsverlagerung auf den Verbindungsserver
• theoret. beliebig viele Verbindungsstufen implementierbar
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
57
Middleware
Drei-Stufen-TreiberODBC-TreiberODBC
DOM
Anwendung
Treiber-Manager
Client
Drei-Stufen-Treiber
Netzwerkbibliothek/RPC-Runtimesystem
Datenprotokoll 1
(Verbindungs)Server
Treiber-Manager
Ein- oder Zwei-Stufen-Treiber
Verbindungsrechner auf
dem LAN
weitere Komponenten
Datenprotokoll 2
DBVS
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
DBVS-Server
58
JDBC  DOM
Middleware
•
Java DataBase Connectivity
•
Interface Standard, ähnlich dem ODBC (dieselben 4 Komponenten)
•
Menge von Java-Methoden zum Zugriff auf multiple DBs
•
DB-unabhängiges Programmieren in Java
•
mit jeder SQL-DB und als darüberliegende Schicht auf ODBC
verwendbar
•
unterstützt Features der Programmiersprache Java
» (Netzwerkbewusstsein, Sicherheitsaspekte, oo-Charakteristik)
•
2 Architekturen: 2-Schichten oder 3-Schichten-Architektur
•
4 Typen JDBC Treiber :
–
–
–
–
JDBC-ODBC-Bridge in Verbindung mit einem ODBC Treiber;
Nutzung eines proprietären Datenbank-APIs mit Java Treiber;
JDBC-Netzwerkprotokoll mit Pure Java-Treiber;
Datenbank-proprietäres Netzwerk-protokoll mit Pure Java Treiber
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
59
Middleware
ArchitekturenJDBC 
Zwei-Schichten-Architektur
DOM
Drei-Schichten-Architektur
Client
Java Applet
(nur GUI)
HTML-Browser
Client
Java-Applikation
HTTP, CORBA,...
JDBC
proprietäres
Protokoll
Application
Server
(AnwendungsServer
logik)
JDBC
Server
DBMS
DBMS
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
60
Middleware
Typ1-Treiber 
Java Anwendung
JDBC-Treiber Manager
JDBC-ODBC-Bridge
Treiber (Abb. auf ODBC)
JDBC  DOM
JDBC-ODBC-Bridge in Verbindung mit
einem ODBC Treiber:
•ODBC Treiber verwendbar
•Geringe Performance
•Binärcode auf Client erforderlich
ODBC-Aufrufe
ODBC Treiber Manager
+ Treiber (Binärcode)
Datenprotokoll
Netzwerkbibliothek/
RPC-Laufzeitsystem
DBVS
Protokoll für Datenübertragung im
Netzwerk
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
61
Middleware
Typ2-Treiber 
Java Anwendung
JDBC  DOM
Nutzung eines proprietären DatenbankAPIs mit Java Treiber:
•vom Hersteller zu implementieren
•Abbildung des JDBC Interface
auf DB-API
•Binärcode auf Client erforderlich
JDBC-Treiber Manager
Zwei-Stufen Treiber
(Abb. auf DBS-API)
DBS-API
DB Laufzeitbibliothek
(Binärcode)
Datenprotokoll
Netzwerkbibliothek/
RPC-Laufzeitsystem
DBVS
Protokoll für Datenübertragung im
Netzwerk
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
62
Middleware
Typ3-Treiber 
Java Anwendung
JDBC  DOM
JDBC-Netzwerkprotokoll mit Pure JavaTreiber:
JDBC-Treiber Manager
•aufwendige Implementierung von
Middleware
•kein Binärcode auf Client
erforderlich
•sehr flexibel durch DBunabhängiges Netzwerkprotokoll
Zwei-Stufen Treiber
(vom Middlewarehersteller)
Netzwerkbibliothek/
RPC-Laufzeitsystem
Datenprotokoll des
Middlewareherstellers für
Netzwerk
Serveranwendung
DBS-API
Binärcode
auf Server
DBVS
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
63
Middleware
Typ4-Treiber 
Java Anwendung
Datenbank-proprietäres Netzwerkprotokoll mit Pure Java Treiber:
JDBC Treiber Manager
Zwei-Stufen-Treiber
(Verwendung von
Messages oder RPCs)
Datenprotokoll
Netzwerkbibliothek/
RPC-Laufzeitsystem
JDBC  DOM
• reine Javalösung
• einfache, leistungsstarke
Implementierung durch Hersteller
möglich
• kein Binärcode auf Client
erforderlich
• direkte Teilnahme am
Datenbankprotokoll
Protokoll für Datenübertragung im
Netzwerk
DBVS
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
64
Middleware
Native Datenbank Middleware 
DOM
Native Datenbank Middleware
• Zugriff auf Features und Funktionen einer einzelnen DB
• Beschränkung auf nur einen DB-Typ
• alle Features der DB nutzbar
• Höhere Performance
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
65
Middleware
•
Transaction oriented Middleware
Was ist eine Transaktion?
– Menge von logisch zusammenhängenden (DML)Operationen, die eine
Datenbank von einem konsistenten Zustand in einen anderen
konsistenten Zustand überführt. Innerhalb der TA können
Inkonsistenzen auftreten.
•
ACID Eigenschaften der TA:
– A: Atomicity („Alles oder Nichts“)
– C: Constistency („in sich Geschlossenheit“)
– I : Isolation ( mehrere TAs laufen voneinander isoliert ab, TAs
sehen keine inkonstistenten zustände anderer TAs)
– D: Durability ( Gewährleistung der Persistenz von Änderungen von
erfolgreichen TAs)
•
Komplexe Anwendungen werden in diese Einheiten (TA) gespalten
•
Kontrolle der TA von ihrem Anfang bis zu ihrem Ende
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
66
Middleware
Transaction oriented Middleware
•
TA-Verarbeitung im Auftrag eines Client oder Knotens
•
Schleusen der TA durch unterschiedlichste Systeme
•
Raum für Anwendungslogik, Anwendungsobjekte, und
Funktionsaustausch
•
Durchführung der Geschäftsprozesslogik
•
Erhaltung der Datenintegrität
•
Entwicklung von Gesamt-Anwendungen durch Erstellung von TADiensten , die durch den Client angesprochen werden.
•
wichtige Eigenschaften:
– Database Multiplexing
– Load Balancing
– Fehlertoleranz
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
67
EigenschaftenTOM
Middleware
• Database Multiplexing
– Multiplexen und Verwalten von TAs
• Übertragung von Nachrichten und Anfragen auf denselben Rechner
• Reduzierung der Anzahl von Verbindungen und Verarbeitungslast, die
größere Systeme auf die DB einnehmen
• Erhöhung der Anzahl von Clients ohne die Größe des DB-Servers
ändern zu müssen
– „Trichtern“von Client-Anfragen
• Keine 1-Prozess-pro-Client-Anforderung
• die TA-Dienste, die vom Client angesprochen werden, können sich
dieselbe DB-Server-Verbindung teilen
• nur bei vollständiger Auslastung wir eine neue Verbindung gestartet
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
68
EigenschaftenTOM
Middleware
• Load Balancing/ Lastausgleich:
– bei Überschreitung der Anzahl der Client-Anfragen mit der Anzahl
der gleichzeitg ausführbaren Prozesse werden automatisch neue
Prozesse gestartet
– dynamisches Verteilen der Prozesslast über mehrere Server zur
gleichen zeit oder Verteilung der Verarbeitung in mehrere
hintereinanderlaufende Prozesse
– Definieren von Arbeitsklassen nach Prioritätenfestlegung
•
high-priority server classes für kurze wichtige Funktionen oder lowpriority server classes für Stapelprozesse
• Weitere Kriterien definierbar wie Anwendungstyp, Antwortzeit,
Fehlertoleranz einer TA
– Festlegen einer Menge von Parametern zur Kontrolle der Anzahl
der Prozesse und Threads, die für jede TA verfügbar ist
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
69
EigenschaftenTOM
Middleware
• Fehlertoleranz :
– Gewährleistung der Recovery bei Auftreten jedes
systemabhängigen Problems
– z Bsp : redundante Systeme
» hohe Verfügbarkeit
» Dynamisches Switching, um die TA an Server- oder
Netzwerkproblemen vorbeizuschleusen
– Sicherung:
• der vollständigen Beendigung der TA
• der Änderungen erfolgreicher TAs bei Fehlerauftreten
• der konsistenten Zustände der heterogenen Ressourcen
– bei Auftreten eines Fehlers werden alle Teilnehmer der TA
informiert, um Änderungen dieser fehlgeschlagenen TA vollständig
rückgängig zu machen
– oft Entwicklung von TAs, die sich nach einem Fehler automatisch
rückmelden
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
70
Middleware
Eigenschaften
TOM
• Transaktionsverarbeitungsmodell nach X/OPEN :
– Art und Weise wie heterogene Softwarekomponenten miteinander
kombiniert werden, um TAs zu verarbeiten
– Ressource Manager (RMs):
• Systemkomponenten zur Sicherung des Transaktionsschutzes für DBDaten und andere Betriebsmittel (Nachrichten, persistente
Queues,Dateisysteme, MailService,...)
• externe Koordination von Ressourcenänderungen durch 2PC-Protokoll
• globaler TA-Schutz durch eine RM-Architektur
begin
Anwendung
TA-Manager
join
requests
prepare for commit/
commit
RM
RM
ResourceRM
Manager
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
71
Middleware
EigenschaftenTOM
• begin:
– starten einer neuen TA beim lokalen TA-Manager
• join:
– wenn Anwendung auf die Ressource zugreift, wird der zugehörige
RM an der TA-Verarbeitung beteiligt
• prepare for commit:
– TA-Manager leitet den Wunsch nach commit an die
entsprechenden RMs weiter
– RM führen dann lokale Commit/Abort-Aktionen durch und melden
den Vollzug dem TA-Manager
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
72
EigenschaftenTOM
Middleware
• 2PC-Protokoll:
– 1. Phase: „voting phase“
– 2. Phase „commit phase“
1 prepare
2 lokales Ergebnis
1. Phase
(READY/FAILED)
RM
TA-Manager
3 globales Ergebnis
(COMMIT/ROLLBACK/ABORT)
2. Phase
4 Quittierung
(ACK)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
73
TP-MonitorTOM
Middleware
– Ermöglichung der Kommunikation zwischen 2 oder mehreren
Applikationen
– Bereitstellung von Anwendungslogik
– Umgebung für die Entwicklung und Betrieb von TP-Systemen
– Koordination und Organisation der Benutzeranfragen an die
Applikationen, welche wiederum auf Ressourcen zugreifen
– Bereitstellung von speziellen Diensten auf die die Applikationen
zugreifen können
• TA-Managementdienst  Koordination der TA-Abwicklung (TA-Integrität,
•
•
•
•
Ressource Management)
Masken
Menüs zum Zugriff auf Ressourcen
Kommunikationsmechanismen (RPC)
Queue-Management
– Dienste werden selbst implementiert oder auf „fremde“
Middlewaredienste aufgesetzt
– verschiedene Services unter einheitlicher Schnittstelle integriert
– Basiert auf prozeduralen Sprachen wie C oder Cobol
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
74
Middleware
Architektur eines TP-Monitor Frameworks
TOM
Benutzerschnittstelle
auf Terminals, Desktops
TP-Applikation
TP-Applikation
TP-Applikation
TP-Applikation
Tools
TP-Monitor API
TP Monitor
Dienste
TP-Monitor
Framework
Präsentation
Daten:
Masken
SQL-Zugriff
und Menüs Dateizugriff TA-Manager
RPC
Queuing
Middlewaredienste
Ressourcen: Datenbank, Datei, Queue
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
75
Application ServerTOM
Middleware
• Ähnlich dem TP-Monitoren
• basiert auf modernen Sprachen wie Java
• Bereitstellung der Verbindung zu Backend-Ressourcen (DB, ERPSysteme, Mainframe-Anwendungen)
•
Koordination vieler Ressourcenverbindungen
•
Mittler zwischen Datenbank und Anwendungen
•
Arten:
–
–
–
Web Application Server
Legacy Application Server
Enterprise Application Server
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
76
Middleware
Application ServerTOM
• 3-Schichten-Modell (Client-, Applikations-, Datenbankserverschicht)
DBMS
Webbrowser
Web-Server
Gateway
Webbrowser
Webbrowser
Präsentationslogik
ApplikationsServer
Geschäftslogik
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
Mainframe
Datenhaltung
77
Middleware
Web Application ServerTOM
Java
Application Server
Web Server
DBMS
Intranet
Internet
DBMS
JDBC/ODBC
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
78
Middleware
Web Application ServerTOM
• Entwicklungsumgebung für webbasierte Anwendungen (HTML
authoring)
• Application Server neben herkömmlichen WebServer
• Meist javaorientiert
• Unterstützung von Enterprise Java Beans für serverseitige
Komponententwicklung
• Nicht geeignet für Entwicklung von Unternehmensapplikationen
• weniger gute Performance
• einfache Managementtools
• oft keine Einbindung herkömmlicher Programmierumgebungen
• z Bsp: ColdFusion, Netscape Application Server, WebLogic
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
79
Middleware
Legacy Application ServerTOM
Java
Legacy
Application Server
Intranet
Internet
TP Monitor
TP Monitor
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
80
Middleware
Legacy Application ServerTOM
• Bereitstellung der Infrastruktur für geschäftskritische
Anwendungsstrukturen
• TA-Management, Load Balancer, Sicherheitsfunktionen
• Integration von TP-Monitoren
• meist Lademechanismen, um verteilte Objekte in die
Client/Server-Architektur einzubinden
• sichere etablierte Entwicklungsumgebungen
• hohe Komplexität
• nicht geeignet für Entwicklung webbasierter Anwendungen
• z Bsp: BEA M3, IBM Component Broker
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
81
Middleware
Enterprise Application ServerTOM
Java
Web Server
Inprise Application
Server
DBMS
Intranet
Internet
Business Object
Inprise
Application
Server
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
TP Monitor
82
Middleware
Enterprise Application ServerTOM
• deckt beide Aufgabenbereiche ab
• webbasierte Anwendungen sowie Windows-Programme
entwickelbar
• z Bsp: Inprise Application Server
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
83
Middleware
StandardsApplication Server TOM
• Enterprise Java Beans (EJB)
– Java-enabled Middleware
– Spezifikation zur Definition von serverseitigem Komponentenmodell
für Java Beans
– repräsentieren spezialisierte Java Beans, die auf einem entfernten
Server laufen (EJB Container)
– ähnlich den verteilten Objekten (COM, CORBA)
– Nutzung derselben Architektur wie Java Beans
– Gruppierung zu einer verteilten Anwendung, um die Verarbeitung
innerhalb der Java Beans zu koordinieren
– Verarbeitung der Java Beans als transaktionale Komponenten
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
84
StandardsApplication Server TOM
Middleware
– EJB Modell:
• Keine Notwendigkeit die TA genau abzugrenzen
• Automatisches Verwalten der TA auf Anfrage der EJB
• Definition der Beziehung zwischen EJB Komponenten und EJB
Container System
• kein spezielles Containersystem erforderlich
• EJB Container kann jedes Anwendungssystem sein, das den EJB
Standard unterstützt (z Bsp: Application Server)
– mit Diensten wie: Persistenzmanagement, Sicherheitsdienste, TA-Kontrolle
• EJB Server:
– EJB-Verarbeitungssystem mit einer Menge von Diensten zur Unterstützung
von EJB-Komponenten
– Zugriff auf TA-Management Mechanismus
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
85
StandardsApplication Server TOM
Middleware
•
Transactional COM+ (unter Benutzung von AppCenter)
•
COM+ ( COM und Microsoft Transaction Server)
–
–
–
–
–
–
•
Komponenten-Standard
mehrere Schnittstellen pro Komponente
verschachtelte TAs
keine Persistenzunterstützung
Ereignisdienste
nur auf Windowsplattformen
AppCenter:
– Umgebung zur Verarbeitung von COM+ Komponenten mit ACIDUnterstützung, DB-Zugriff, Recovery-Fähigkeit
– TA-Server für TA-Support
– Microsoft Message Queue Server für Message Queuing Support
– Router, der durch die kritische Komponente Antwortzeit, den am wenigsten
beschäftigten Server findet, der die COM+ Komponenten verarbeitet
– Komponenten-dynamische Last-Balancierung (Win 2000)
• Unterstützt bis zu 8 verbundene Application Servers
• Fähigkeit ein o. mehrere COM+ Komponenten im Cluster zu verarbeiten
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
86
Zusammenfassung
Middleware
•
RPC
– einfacher synchroner Mechanismus
•
MOM
– asynchrone Kommunikation durch Messages
•
Distributed Objects
– „objektorientierte RPC“
– Modelle: CORBA, COM
•
Database oriented Middleware
– CLIs:
• ODBC
• JDBC
• OLE DB
•
Transaktionale Middleware
– ACID
– TP Monitore
– Applicationserver:
• Arten
• Standards (EJB, COM+ feat. AppServer)
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
87
Message Broker
Message Broker
• koordiniert Zusammenarbeit zwischen Vielzahl von Systemen:
– Anwendungen
– Middleware
– Datenbanken
• baut auf bestehenden Middleware-Technologien auf
• asynchrone Kommunikation
• store-and-forward messaging
• skalierbar
• plattformunabhängig
• ähneln dem Ablauf von Geschäftsprozessen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
88
Message Broker
Komponenten 
MB
• Message Transformation
• Rules Processing
• Intelligentes Routing
• Message Warehousing
• Repository Services
• GUI
• Directory Services
• Management
• Adapter und APIs
• Topologien
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
89
Message Broker
Eingangsinformation
Primärkomponenten 
Message Transformation
Regelwerk
MB
Message
Broker
Intelligentes Routing
Ausgangsinformation
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
90
Message Broker
Message Transformations-Ebene 
MB
• Versteht sämtliche Nachrichten
• konvertiert und restrukturiert Daten zum Verständnis der ZielAnwendung(en)
• Wörterbuch ( repository) mit Beziehung jeglicher
Informationen, die die Anwendungen zur Kommunikation nutzen
• Parsing- und Pattern-matching-Methoden
• feste, unbegrenzte und variable Nachrichten
• sichert Konsistenz zwischen Applikationen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
91
Message Broker
Schema ConversionMessage
TransformationMB
• Prozess der Umwandlung des Formats einer Nachricht in das
des Zielsystems
• Definition der Datentypen kann innerhalb der Rules-processingEbene erfolgen
• obwohl jedes Schema in jedes andere übersetzt werden kann,
sind außergewöhnliche Umstände möglich
– z.B. Daten eines OODBS  RDBS
21. November 2001
alphanumerisch 17
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
21/10/2001
alphanumerisch 10
92
Message Broker
Data Conversion 
Message Transformation 
MB
• Umwandlung der Werte innerhalb der Nachrichten
• Feststellen der Formate der Quell- und Zielapplikation(en)
• Bewerten ihrer Unterschiede
• Transformation (falls nötig) mittels Regel(n) oder Look-upTabelle
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
93
Message Broker
Rules Processing 
MB
• Erzeugen von Regeln zur Kontrolle der Verarbeitung und
Verteilung von Nachrichten
• Programm, das spezielle Anforderungen der zu integrierten
Anwendungen anspricht
• m.H. dieser Rules-Processing-Maschinen realisieren Message
Broker Transformation und intelligentes Routing
• Fähigkeiten reichen von einfachem Information-Sharing bis fast
zu denen eines Anwendungs-Servers
• Anbieter setzen meist auf Skriptsprachen und Interpreter bei der
Abarbeitung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
94
Message Broker
Rules Processing 
MB
• Erzeugen und Verknüpfen der Regeln mit Aktionen meist mit
Boolean-Logik in Hochsprachen
• Regel-Editor, Wizard
• Speicherung der Regeln im Repository oder in Textfiles
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
95
Message Broker
Intelligentes Routing 
MB
• baut auf Fähigkeiten der Message-Transformations-Ebene und
dem Regelwerk auf
• identifizieren der Quell- und Zielapplikation(en)
• übersetzen (falls nötig), ausführen und weiterleiten
Quell-System
Ziel-System
System D
System A
System E
.............
System F
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
System B
System C
96
Message Broker
Message Warehousing 
MB
• Datenbank zur Speicherung von Nachrichten
• Message mining:
– meist unverändert, selten aggregiert
– Erstellung von entscheidungsunterstützenden Informationen
• Message-Integrität
– nach Prinzip des persistenten Message-Queuing der MOM
– Puffer
• Message-Archivierung:
– längerfristige Speicherung für Analysezwecke
• Auditing:
– Prüfung, ob die Integrations-Lösung in der Lage ist, die
übertragenen Aufgaben anforderungsgerecht erledigt
– z.B. Formatänderungen, Anzahl erforderlicher Transformationen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
97
Repository Service 
Message Broker
MB
• Vorrangige Datenbank mit für Integration notwendigen
Informationen über Quell- und Zielanwendungen:
–
–
–
–
Sicherheitsparameter
Nachrichtenformate
Metadaten
Konvertierungsinformationen
–
–
–
–
–
Regeln und Logik für Message-Processing
Geschäftsprozesse
Systemeigner
Verzeichnis des Systems
Objekte
– Netzwerk-Adressen, Informationen über Fehlercodetransformation
u.ä.
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
98
Message Broker
Graphical User Interface 
MB
• Graphische Benutzerschnittstelle
• Darstellungen von Strukturen
• nutzerfreundliche Definitionen der meisten Informationen im
Repsitory
• Wizards
• Administation
– Anzeige des Nachrichtenaufkommens
– Performance
– Status verbundener Systeme
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
99
Message Broker
Directory Services 
MB
• Verzeichnis, um Netzwerk-Ressourcen in verteilten Systemen
zu lokalisieren, zu identifizieren und zu nutzen
• bietet Anwendungen und Middleware eine zentrale Anlaufstelle
• Umleitung wenn Ressourcen umkonfiguriert, verschoben oder
gelöscht wurden
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
100
Message Broker
Management 
MB
• Administration und Management
• anzeigen wichtiger Statistiken
– Performance
– Nachrichten-Integrität
– generelle Integrationsprobleme
• anzeigen von Nachrichtenbewegungen
• Alarmfunktionen bei Überlastungen und Nichtverfügbarkeit von
Systemen
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
101
Message Broker
Adapter 
MB
• Schnittstelle zwischen Message Broker und Applikation
• nicht standardisiert
• verlagern der Komplexität zweier Interfaces in einen Adapter
• Adapter für verschiedene
– Applikationen (SAP R/3, Baan, ...)
– Datenbanken (Oracle, DB2, ...)
– Typen von Middleware
• zunehmend intelligenter
• Typen: Thin Adapter, Thick Adapter
• deren Verhalten kann dynamisch oder statisch sein
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
102
Message Broker
Thin Adapter 
Adapter 
MB
• meist einfache APIWrapper oder Binder
• bilden das Interface des
Quell- oder Zielsystems
auf ein gemeinsames,
vom MB unterstütztes,
Interface ab
• Performanceverluste ohne
Funktionalitätsgewinn
Applikation
oder
Datenbank
API
Gemeinsames
Interface
Message
Broker
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
103
Message Broker
Thick Adapter 
Adapter 
MB
• Aufsetzen einer zusätzlichen
Abstraktionsebene auf das API
• Nutzung des Repositories
• erheblich mehr Funktionalität
und Entwicklungsaufwand
Applikation
oder
Datenbank
API
High-Level
Business Events
Message
Broker
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
104
Message Broker
Hub-and-spoke-Konfiguration 
Topologien 
MB
• Sterntopologie
Message
Broker
Anwendung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
105
Message Broker
Multi-Hub-Konfiguration 
Topologien 
MB
•
wenn mehr Anwendungen bestehen als ein Message Broker handeln kann
•
virtuell unbegrenzte Zahl von Applikationen integrierbar
Message
Broker
Anwendung
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
106
Federated Konfiguration 
Message Broker
Topologien 
MB
• Interaktion mehrerer unabhängiger Message Broker über ein
gemeinsames Austauschformat zur Integration einer Handelsgemeinschaft
MB
Unternehmen A
XML/EDI
MB
MB
Unternehmen C
Unternehmen B
© 2001 Christina Reuter, David Kaiser, Thomas Hoffmann MLU Halle-Wittenberg
107
Herunterladen