Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren
Vergleich TP-Lite versus TP-Heavy Objektorientierung: Object Request Brokers (ORBs) OMs: Object Monitors
OHO
Kap3-1
3.1 TP-Lite oder TP-Heavy? Aktive Diskussion vor wenigen Jahren! Es ist zu erwarten, dass Unterschiede verschwinden. DBMS-Hersteller werden TP-Monitor-ähnliche (Middleware)Schicht anbieten. Grober Vergleich: TP-Lite: Anwendung implementiert als Stored Procedure in proprietärer 4GL des DBMS-Herstellers, z.B. PL/SQL. 2-Tier Vorteil:
Geringer Verkehr über Netzwerk, homogene DBMS-Umgebung
Nachteil:
1) Längere Laufzeit, da dynamisch und meistens interpretiert, daher oft nicht optimiert, nicht portierbar, benutzen proprietäres RPC 2) oft nicht einschliessbar in globale Transaktion als Subtransaktion.
TP-Heavy: Anwendung implementiert in Standard 3GL, z.B. C (ESQL, CLI) in der Entwicklungsumgebung des TP-Monitor. 3-Tier Nachteil:
Netzwerkbelastung zwischen TPM und DBMS (SQL Calls) hoch, DBMS und TPM, also grössere Softwarekomplexität
Vorteil:
Flexibilität durch standardisierte (“transactional”) Kommunikationsprotokolle, compilierte, optimierte SQL- Programme, flexible, angepasste Anzahl Serverprozessen, höchste Performanz
OHO
Kap3-2
TPC-C Benchmarkresultate (OHE99) Rank
Company
System
TpmC
$/tpmC
Database
TP Monitor
1
Compaq Sequent
102,54 1 86,252
$139.49
2
AlphaServer 8400 8 node 96 CPU Cluster NUMA Center 2000
3
IBM
57,053
$147.40
4
SUN
RISC System/6000 SP Model 309 Enterprise 6500 Server
53,049
$76.00
Digital TP Web BEA Tuxedo IBM TX Series BEA Tuxedo
5
Hewlett Packard
52,117
$81.17
Bea Tuxedo
13.8.98
6
SUN
51,871
$134.46
Sequent
48,793
$127.53
8
IBM
AS/400e
43,169
$128.91
BEA Tuxedo BEA Tuxedo CICS
9
Hewlett Packard Hewlett Packard
V2200 Enterprise Server HP900 Model V2200 Enterprise Server
40,794
$103.43
Oracle8 Enterprise Edition 8.0.3 Oracle8 Enterprise Edition 8.0.4 IBM DB2 for AS/400 V4R3 Oracle8.1.5
23.1.98
7
HP 9000 Model V2250 Enterprise Server Enterprise 6000 Cluster NUMA Center 2000
Oracle8 Enterprise Edition 8.0 Oracle8 Enterprise Edition 8.0.4 Oracle8 Enterprise Edition 8.0.4 Sybase Adaptive Server Enterprise 11.9.3 Sybase Adaptive Server Enterprise 11.5
28.2.98
39,469
$94.18
BEA Tuxedo Bea Tuxedo
10
$170.60
Sybase Adaptive Server Enterprise 11.5
Tabelle 17-1
OHO
System Availability 15.9.98 15.3.98 30.4.98 31.1.98
15.3.99 11.9.98
1.3.98
Kap3-3
Weiterer Vergleich aus OHE99 TP-Lite 20 TPS 200 Clients
Informix DB Engine 200 Dedicated Pipes
TP-Heavy 80 TPS 1000 Clients
Informix DB Engine TP Monitor
OHO
24 Shared Pipes
Kap3-4
3.2 Object Request Broker Beim TP-Monitor: Erleichterter Umgang für den Programmierer bei verteilten Transaktionen steht im Vordergrund. Dazu wurde der XAStandard eingeführt. Beim Object Request Broker demgegenüber im Vordergrund: Erleichterung der Programmierung durch Objektorientierung im Umgang mit (verteilten) Objekten Es gibt im wesentlichen die Standards CORBA der OMG (Object Management Group) und DCOM von Microsoft, sowie JavaBeans. Die wichtigsten Eigenschaften: Objektorientierung Verteilungstransparenz Hardware-, Betriebssystem- und Sprachunabhängigkeit Offenheit OHO
Kap3-5
Begriffswelt Objekt Anwendungsobjekt als Abstrakter Datentyp, verfügt über Schnittstelle (Methoden und Attribute) Objektreferenz (eindeutig, intern) Client Softwareeinheit, die Methoden eines Objekts aufruft (Proxy-Objekt, ObjektSicht) Server Softwareeinheit, die Objektimplementationen anbietet (Stub oder Skeleton, Methodenausführung) OHO
Kap3-6
Unterschied zwischen RPC und ORB
Client
Server Code akjdkfjdksjf kdjkfjdks fkja sd kdjfkdjfkjdkjfkdk fjd kfjdkfjkd kfjdkjfkdjkfjkdjfkd kfjkdjkfjdkfkd kfkd ddddddddddddddddddddd dddddddddddddddddddd ddddddddd ddddddddddddddd d d dddddddd ddddddddddd dddddddd dd
Call foo
Data
Client Invoke foo on Object X
Server Object X Object Y
Invoke foo on Object Y
foo
foo
Execute foo
RPC Mechanism
Object Request Broker
Aus OHE99, Figur 22-3
OHO
Kap3-7
OLE / DCOM Kein separater Standard, sondern Teil von MS Windows 98 / NT (OLE: Object Linking and Embedding ) Interface orientiert: COM-Objekte bieten mehrere Interfaces an DCOM ermöglicht Kommunikation per RPC und bietet Verteilungs- und Sprachtransparenz Genauer: siehe Workshop-Teil 3.4 OLE Components Client Common Services
OLE Objects
Distributed Component Object Model (DCOM) Operating System Network Software OHO
Kap3-8
CORBA Middleware Object Request Broker (ORB) vermittelt zwischen Common Object Services= CORBAServices. Wichtige Bestandteile GIOP=General Inter-ORB Protokoll, nützt Interface Definition Language (IDL) und Common Data Representation (CDR) IIOP=Internet Inter-Orb Protocol =GIOP+TCP/IP Genauer: s. Kapitel 4
Client Objects
Horizontal Facilities
Vertical Facilities
Common Object Services
Server Objects
Object Request Broker Operating System Network Software OHO
Kap3-9
3.3 Evolution von TP Monitoren zu ObjektMonitoren Moderne (objektorientierte) Middleware, die verteilte Objekte koordiniert. Häufig verwendet man heute “Komponenten” und “verteilte Objekte“ synonym. Zitat: “Just as databases were at the center of the design of the applications of the ‘70s and ‘80s, components are at the center of the applications of the ‘90s and the next century” (Vaskevitch, Microsoft) Wir sagen auch “Datenbanken höherer Ordnung” mit Eigenschaften wie: Statische und dynamische Methodenaufrufe Einbettung in bestehende Programmiersprachen Selbstbeschreibung Ortstransparenz Polymorphismus Sicherheit Transaktionen OHO
Kap3-10
Kurzformel für OM Integration der Funktionalitäten TP-Monitor (Distributed Transaction Processing) Wir haben Tuxedo als Beispiel dafür besprochen und besprechen hier Microsoft Transaction Server (MTS) ORB (Distributed Objects) Wir besprechen hier COM/DCOM und werden CORBA in Kap 4 besprechen MOM (Message orientierte Middleware füer asynchrone Verarbeitung, vor allem wichtig unter Verwendung persistenter Queues) anschaulich: s. nächste Folie) Als Beispiel eines OM besprechen wir hier COM + MTS = COM
+
OHO
Kap3-11
Persistent Queues
Server
Client
Server
Client Client
Server
Queue 1
Der Zugriff auf die Aufträge in der Queue erfolgt konkurrierend, die Information muss persistent sein. Das Deponieren und Entnehmen von Aufträgen muss atomar sein. Es handelt sich praktisch um kurze, aber verteilte Transaktionen zwischen Client und Queue sowie zwischen Queue und Server. OHO
Kap3-12
Von TP-Monitor Architektur... TP Monitor Apps
Client RPC or MOM
Client
DBMS Apps Apps
DBMS
Client Tier 1
Tier 2
Tier 3
GUI
Application Logic
Data
Aus OHE99, Fig. 16-5 OHO
Kap3-13
…zu Objekt-Monitoren Java
AktiveX
ORB CORBA’s IIOP or DCOM
Forms
RB CO
A
O R B DC OM
OM
DBMS
EJBs
OM
Lotus Notes
ActiveXs ODBMS
Tier 1
Tier 2
Tier 3
View Objects
Server Objects
Legacy Applications
Aus OHE99, Fig. 16-6 OHO
Kap3-14