Spaetestens mit den entsprechenden OMG-Spezifikationen: Die Objektorientierung zieht in die Welt der OLTP-Systeme ein

09.12.1994

Fieberhaft arbeiten IBM-Entwickler an einer objektorientierten Version des Transaktionsmonitors CICS. Ein fertiges Produkt fuer die OS/2-Betriebssystem-Plattform ist jedoch erst fuer Ende 1995 zu erwarten. John Knapman* gibt einen ersten Einblick in die dort verwendeten Techniken. Dazu gehoert die Einbindung eines offenen Transaktionsstandards von der Object Management Group (OMG).

Ein grosser Vorteil der objektorientierten Programmentwicklung besteht in der leichten Wiederverwendbarkeit von Programmteilen. Diese als "Kapselung" bekannte Eigenschaft fuehrt in Kombination mit den Techniken der Vererbung zu wesentlich klarer strukturierten Schnittstellen als bisher. Auf diese Weise lassen sich objektorientierte "Frameworks" entwickeln, also logisch verknuepfte Objekte, die in Klassenbibliotheken zusammengefasst werden.

In den heutigen Softwaremaerkten, in denen die individuelle Anpassung von Standardanwendungen an die Beduerfnisse des Kunden von zentraler Bedeutung ist, spielen solche Konzepte eine wesentliche Rolle: Objektorientierte Frameworks lassen sich durch ihre klar definierten Schnittstellen und ihre hierarchische Strukturierung wesentlich einfacher anpassen und erweitern als prozedurale Entwicklungen.

Die OMG hat es sich zur zentralen Aufgabe gemacht, die Grundlagen fuer einen Markt von Software-Objekten aufzubauen. Die von ihr definierte Corba regelt das Zusammenspiel von Objekten zwischen unterschiedlichen Hard- und Softwareplattformen. Ein wichtiger Teil dieses Regelwerks besteht in der Interface Definition Language (IDL), die eine eindeutige Syntax fuer die Beziehungen der Objekte untereinander definiert. Der naechste Schritt besteht in der Festlegung einer Spezifikation fuer allgemeine Objektdienste. Dazu gehoeren unter anderem Definitionen fuer Datenhaltung, Namensgebung und Transaktionen. Damit soll ein Grundgeruest geschaffen werden, auf dessen Basis sich objektorientierte Frameworks fuer die unterschiedlichsten Anwendungsbereiche erstellen lassen. So ist beispielsweise der Objektdienst "Datenhaltung" fuer alle Massnahmen zur Sicherung von Datenbestaenden in Files und Datenbanken zustaendig.

"Transaktion" fuehrt Transaktions- und Resource-Objekte ein. Er unterstuetzt sowohl das Konzept der "Atomic Unit of Work" als auch das bewaehrte Zwei-Phasen-Commit-Protokoll.

Die Unternehmen, die sich an Standards der OMG orientieren, haben sich verpflichtet, diese Regelungen innerhalb eines Jahres in kommerziellen Applikationen umzusetzen. Derzeit arbeiten bereits eine Reihe von Firmen auch an der Implementierung der neuen Objektdienste.

Abgesehen von der Entwicklung spezifischer Frameworks fuer bestimmte Anwendungsbereiche, zum Beispiel fuer Medizin oder Petrochemie, koennen auch anwendungsuebergreifende Strukturen als Frameworks angelegt werden. Ein moeglicher Ansatz zur Kombination von Objekten und Frameworks ist die Konstruktion aus Basisobjekten.

Die Idee besteht darin, die Wiederverwendung von Software durch die Definition von Objektregeln zu erleichtern, die von anderen Objekten verstanden werden. Solche Basisobjekte passen leichter zusammen. Man kann sie als Teile betrachten, aus denen sich Anwendungen zusammensetzen lassen. Demnach ist ein Transaktionsobjekt dergestalt mit anderen Objekten zu verbinden, dass auftretende Aenderungen sofort von allen beteiligten Objekten reflektiert werden - bei entsprechender Programmierung sogar auf verteilten Servern mit unterschiedlichen Betriebssystemen.

Mit Hilfe der visuellen Programmierung koennen Objektklassen als Basisobjekte repraesentiert werden. Der Anwendungsentwickler ist in der Lage, Panels und Kontrollelemente auf einer grafischen Oberflaeche zu beliebigen Basisobjekten zusammenzufassen, die von Listen bis hin zu CICS-Transaktionen reichen.

Die jeweilige Bedeutung wird im Einklang mit den integrierten Konventionen interpretiert. Nehmen wir beispielsweise an, zwei Attribute repraesentieren einen Geldbetrag. Wird eines der beiden geaendert, so spiegelt sich das sofort in dem anderen wider. Diese Konventionen unterscheiden einen Baustein von einer anderen Klasse oder einem Objekt; sie machen es fuer Objekte einfacher, aufeinander zu reagieren.

Einbindung von Compound-Document

Ein weiterer interessanter Ansatz bei der Strukturierung von objektorientierten Anwendungen besteht in der Verwendung von Compound-Document-Standards. Derzeit konkurrieren hier zwei Ansaetze: Microsofts OLE 2.0 und Opendoc, das massgeblich von IBM, Apple und Novell vorangetrieben wird. In Opendoc ist es moeglich, Objekte als Teile von Dokumenten zu definieren. Kuenftig wird es auch moeglich sein, die Ergebnisse von Transaktionen in Opendoc- Dokumente einzubinden.

Die wissenschaftliche Arbeit an fortschrittlichen, komplexen Transaktionsmodellen war in letzter Zeit vor allem auf dem Gebiet des Workflow-Managements erfolgreich. Eine Reihe aufeinanderfolgender Operationen, wie sie beispielsweise die Erfassung eines Auftrags darstellt, laesst sich im Fall, dass die Gesamtoperation rueckgaengig gemacht werden soll, nicht mit Hilfe einfacher Transaktions-Rollbacks zuruecksetzen. Hier sind neue "Negativauftraege" oder kompensierende Transaktionen notwendig. Aus diesem Grund ist es guenstig, den Arbeitsfluss aus einem Set transaktionaler Basisobjekte aufzubauen.

Bisher gibt es noch wenig Erfahrung mit dieser Vorgehensweise. Eine Transaktion fuehrt typischerweise zu einer Veraenderung von Daten, eventuell sogar in verteilter Form. In einer objektorientierten Transaktion sollten solche Daten als persistente Objekte dargestellt werden. Allerdings koennte dabei eine traditionellere Sichtweise von Dateien und Datenbanken beziehungsweise eine Hybridform durchaus moeglich bleiben. Transaktionen benoetigen eine Programmierlogik, die sich in der Regel besser in einer Sprache formulieren laesst als in einer grafischen Umgebung.

Client-Server-Applikationen werden heute oftmals mit Hilfe objektorientierter Programmierung auf der Client-Seite und mit Standardprogrammiersprachen wie Cobol auf der Server-Seite realisiert. Doch auch die Unterstuetzung objektorientierter Programmierung bei Transaktions-Servern beginnt sich durchzusetzen. So unterstuetzt beispielsweise CICS OS/2 bereits die objektorientierte Programmiersprache C++. Die OMG-Spezifikationen fuer Transaktionsdienste, die mittlerweile von neun Firmen uebernommen wurden, lassen eine breite Server-Unterstuetzung innerhalb der naechsten zwoelf Monate erwarten.

Abgesehen von einigen Puristen, die Hybridloesungen fuer unakzeptabel halten, legen die meisten kommerziellen Anwender von Transaktions- und Datenbanksystemen grossen Wert auf die Einbindung ihrer bereits existierenden Systeme und Daten. Fuer diese Firmen ist es von entscheidender Bedeutung, die vorhandenen Programme, Daten, Netzwerke und andere Quellen weiter nutzen zu koennen. Schliesslich besteht die Aufgabe eines Unternehmens nicht ausschliesslich darin, den Beschaeftigten der DV-Abteilung Arbeit zu verschaffen.

Marktuebersicht

IBMs Transaktionsmonitor CICS ist unbestritten das Vorbild aller heute verfuegbaren OLTP-Systeme. Diese Sonderstellung reicht so weit, dass die in dieser Auswahl aufgefuehrten Produkte fuer offene DV-Umgebungen sich erst durchsetzen konnten, als auch CICS fuer Unix angekuendigt wurde. Wie immer erhebt die auf

Herstellerangaben beruhende Uebersicht keinerlei Anspruch auf Vollstaendigkeit.

* Dr. John Knapman arbeitet in der Abteilung OO und Transaktionssysteme des IBM-Labors in Hursley, Grossbritannien. Seine Kontaktperson in Deutschland ist Hans-Michael Obst, Leiter des Bereichs Transaktionsverarbeitung bei IBM.