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