Anwendungsumgebungen sind flexibler als Betriebssysteme Eine Gegenueberstellung: Common Point und Open Step

01.09.1995

In den vergangenen drei Jahren ist bei Taligent, dem Joint-venture von Apple, IBM und HP, ein Produktpaket entstanden, das kaum mehr etwas mit den bisherigen Vorstellungen von Betriebssystemen zu tun hat: "Common Point". Obwohl es zum Beispiel von der IBM als AIX- Variante vermarktet wird, handelt es sich dabei nicht um ein Betriebssystem, sondern um eine sogenannte Anwendungsumgebung, die so umfassend ist, dass vom Betriebssystem nur noch ein Microkernel gebraucht wird. Das Produkt arbeitet mit netzweit verteilbaren Objekten und wird derzeit als Umgebung zur Entwicklung von unternehmenskritischen Anwendungen positioniert. Gleiches gilt fuer ein aehnlich innovatives Produkt, das schon laenger am Markt ist: "Openstep" von Next. Bis dato wissen jedoch selbst Fachleute kaum, was unter einer Anwendungsumgebung zu verstehen ist. Diese Wissensluecke wollen Markus Weyerhaeuser* fuer die Taligent-Technik und Peter Lipps* fuer das Next-Produkt schliessen.

Das Apple-, IBM- und HP-Joint-venture Taligent wurde 1992 - damals noch ohne Hewlett-Packard - mit dem Ziel gegruendet, eine neue Generation von Betriebssystem-Software zu entwickeln. Daraus wurde die Anwendungsumgebung Common Point.

Dieses erste Produkt stellt ueber 100 Frameworks zur Verfuegung, die ein breites Spektrum an Funktionalitaet abdecken und in bestehende Betriebssyteme integriert werden. Vorgesehen sind AIX, OS/2, HP-UX sowie die naechste Generation des Macintosh-Betriebssystems und die 32-Bit-Windows-Plattformen.

Eine durchgaengig objektorientierte, C++-basierende Entwicklungsumgebung, "cp Professional", soll die Erstellung von Software in wesentlich kuerzeren Zeitabschnitten als bisher ermoeglichen. Um die einfache Portierung von Common Point- Anwendungen von einer Plattform auf eine andere zu gewaehrleisten, ist ein Zertifizierungsprogramm von Taligent fuer die Common Point- APIs geplant.

Anders als bisherige Techniken steht bei der Common Point- Architektur nicht das Dateisystem im Zentrum, sondern das Dokument, das ein Benutzer erstellen moechte. Diese Dokumente koennen andere Dokumente enthalten beziehungsweise in andere eingebettet werden. Sie lassen sich - gemeinsam und gleichzeitig - von mehreren Benutzern und unterschiedlichen Maschinen aus bearbeiten. Man sieht, dass der Begriff eines Dokuments in Common Point weiter gefasst wird, als dies in der traditionellen, anwendungszentrierten Umgebung der Fall ist.

Dokumente sind mit Komponenten vergleichbar, die zusammenarbeiten, obwohl sie unabhaengig voneinander entwickelt wurden. Dabei bestimmt der Benutzer, welche Komponenten Bestandteil seines Dokuments sein sollen.

Ein aehnliches Konzept verfolgen die Objekttechniken OLE von Microsoft und Opendoc vom CI-Lab. Dadurch entsteht nicht notwendig eine Konkurrenzsituation, denn beide Ansaetze lassen sich in Common Point integrieren.

People, Places and Things

Der naechste Schritt in dieser Evolution wird auf einer aufgabenzentrierten (Task-centered) Sicht basieren. Diese orientiert sich am Arbeitsfluss der jeweiligen Benutzer. Taligent versucht, jene Ablaeufe besser in die Benutzeroberflaeche zu integrieren, als dies heute moeglich ist.

Die Loesung dieser Aufgabe umschreibt Taligent mit der Metapher "People, Places and Things". Einige Abbildungen von Gegenstaenden (Things), mit denen wir arbeiten, wie etwa Papierkoerbe oder Ordner, finden wir schon heute in die Benutzeroberflaeche integriert. Personen (People) sind durch Zeichnungen oder Bilder darstellbar, denen bestimmte Attribute wie Rechte oder Aufgaben zugeordnet sind. Darueber hinaus lassen sich mit der People- Metapher auch Rollen abbilden. Raeume (Places) spiegeln Umgebungen wie Besprechungsraeume, Bueros oder auch Lagerhallen wider. An diesen virtuellen Orten befinden sich dann beispielsweise die Repraesentationen von Leuten, die dort - unter Nutzung der Informationen im People-Objekt - Gegenstaende wie Visitenkarten austauschen.

Dieses Konzept ist bereits in Commonpoint integriert und wie alle Frameworks erweiterbar. Auch wird durch das Framework-Konzept die Integration in das Gesamtsystem gewaehrleistet (siehe Kasten).

Werkzeuge fuer Common Point

Der Schwerpunkt der Entwicklungsarbeiten lag bisher auf dem Entwurf der Common Point-Frameworks. Taligent arbeitet an einer ganzen Reihe von integrierten Werkzeugen, die auf eine Framework- basierte Entwicklung in C und C++ optimiert sind. Sie stellen selbst wiederum Common Point-Anwendungen dar - nutzen also die Framework-Architektur. Die Werkzeuge, die als Gesamtheit unter der Bezeichnung "cp Professional" angeboten werden, stellen eine durchgaengig objektorientierte Entwicklungsumgebung dar, zu der beispielsweise ein inkrementell arbeitender C++-Compiler gehoert.

Aufbauend auf einer objektorientierten Datenbank lassen sich damit die heute ueblichen langen Turn-around-Zeiten in der Entwicklungsphase deutlich verkuerzen. Ebenso werden dynamische Browser, ein automatisches Build-Utility, Online-Dokumentation und Multi-User-Sourcecontrol enthalten sein. Mit "cp Constructor" steht ein GUI-Builder zur Verfuegung, mit dem Entwickler in der Lage sind, die komplette Benutzer-Schnittstelle ihrer Anwendung mit grafischer Unterstuetzung zu gestalten und zu testen.

Anschliessend wird daraus jedoch kein C++-Quellcode erzeugt, sondern die Komponenten des User-Interface werden als "Live- Objekte" in einem Archiv gespeichert. Das hat zur Folge, dass Common Point im Gegensatz zu anderen Framework-basierenden Systemen keine Mixtur aus prozeduralen und objektorientierten Techniken darstellt.

Erste Produkte von Big Blue

Taligent lieferte das Referenz-Release von Common Point Ende Juni an seine Investoren Apple, IBM und HP aus. Dieses wird von IBM in AIX und OS/2 integriert. Das Look and feel der Commonpoint- Anwendungen wird dem der jeweiligen Umgebung gleichen. Das heisst, dass sie in der AIX-Variante genauso aussehen und sich auch so verhalten wie herkoemmliche Motif-Programme. Aehnlich integrieren sich Common Point fuer OS/2-Applikationen in die dort verwendete Workplace Shell. Fuer den Benutzer aendert sich also nichts an der Bedienung seiner gewohnten DV-Umgebung.

Anders sieht die Situation fuer die Entwickler aus. Ihnen stehen nun zusaetzlichen Funktionsbausteine zur Verfuegung. Auch die Interoperabilitaet zwischen Opendoc, OLE und Taligents Compound- Document-Framework unterstuetzt die OS/2-Warp-Version. Selbst Opendoc-Parts lassen sich bauen.

Common Point 1.1 fuer AIX ist seit Ende Juli von IBM erhaeltlich. Die OS/2-Ausgabe soll Ende des Jahres ausgeliefert werden. Eine Betaversion von cp Professional, der Taligent- Entwicklungsumgebung, ist fuer das dritte Quartal 1995 geplant, die generelle Verfuegbarkeit fuer das erste Quartal 1996.

Die von Taligent stammende Technologie ist ein wichtiger Bestandteil von IBMs Objektstrategie. Das gilt nicht nur fuer die Integration von Commonpoint in Betriebssysteme wie AIX und OS/2 Warp. So sollen einige Komponenten auch die Open-Class-C++- Bibliothek von Big Blue ergaenzen.

Openstep ist die von Next auf der Grundlage des Nextstep- Betriebssystems entwickelte Technik fuer plattformuebergreifende, Betriebssystem-unabhaengige, objektorientierte Anwendungs- und Entwicklungsumgebung.

Die Spezifikation von Openstep ist offengelegt und ueber das Internet frei verfuegbar (ftp://ftp.Next.com/pub/OpenstepSpec).

Die Openstep-Umgebung wird nicht nur von Next, sondern im Laufe dieses Jahres auch von Sunsoft fuer das Solaris-Unix und von DEC fuer das Digital Unix, vormals OSF/1 ausgeliefert. Versionen von Hewlett-Packards HP-UX und dem Mach-OS existieren schon laenger, die Unterstuetzung der Microsoft-Betriebssysteme Windows NT und Windows 95 besorgt Next. Anwendungen, die auf Openstep aufsetzen, sind quellcodekompatibel und somit ueber verschiedene Implementierungen von Openstep portabel.

Verteilung von Objekten

Openstep beruht auf einem Objektmodell mit der Bezeichnung Portable Distributed Objects (PDO). Dieses wiederum basiert auf dem Laufzeitsystem der hauseigenen Programmiersprache Objective- C++. Dabei werden die Vorteile eines flexiblen, dynamischen Objektmodells, wie man es etwa von Smalltalk kennt, mit der Portabilitaet und Plattformunabhaengigkeit der Sprachen C und C++ kombiniert.

Die Erfahrung zeigt, dass ein solcher Sprachkern ausreicht, um einfache Programme zu entwickeln, nicht aber, um umfangreiche objektorientierte Anwendungssysteme zu erstellen, die in unternehmenswichtigen Anwendungsbereichen eingesetzt werden. Um diesen Anforderungen gerecht zu werden, stattet man PDO mit folgenden zusaetzlichen Diensten aus:

Der Kern, der die Flexibilitaet dynamischer Laufzeitentscheidungen und die Sicherheit statischer Typpruefung miteinander kombiniert und sowohl mehrfache Schnittstellen- als auch einfache Implementierungsvererbung gestattet;

eine Syntax, die auf Objective-C++ basiert und somit das Einbinden vorhandener C- und C++-Programmteile transparent ermoeglicht, aber sehr viel einfacher zu erlernen und zu warten ist als C++;

die Speicherverwaltung, die die Einfachheit der "Garbage Collection" mit den besseren Laufzeiteigenschaften eines Referenzzaehlmechanismus verbindet und netzwerkuebergreifend funktioniert;

eine Reihe von Persistenzmechanismen, die auf unterschiedlichsten Traegerschichten basieren koennen wie beispielsweise Dateien und relationalen oder objektorientierten Datenbank-Management- Systemen;

die transparente Verteilung von Objekten in Netzwerken ueber Adressraum- und Rechnergrenzen hinweg. Verteilte Objekte unterstuetzen den Zugriff auf gemeinsame Informationen (Information-sharing), die Kommunikation verschiedener Anwendungen im Netzwerk (Inter-Application Communication), Skalierbarkeit und die flexible Nutzung von Hardwareressourcen;

Interoperabilitaet ueber verschiedene Rechner- und Betriebssystemplattformen und zu anderen Objektmodellen. Unterstuetzt werden Microsofts Komponentenmodell OLE/COM sowie die Corba-2-Architektur der OMG.

Zu den Vorteilen von PDO gehoert, dass es sich um eine eingefuehrte Technik handelt. Es existieren daher bereits eine Vielzahl von darauf beruhenden Software-Produkten von Drittanbietern. Es gibt somit eine Infrastruktur von unternehmensweit wiederverwendbaren Objekten.

Die PDO-Bestandteile sind als Teil von Nextstep-Komponenten auf den RISC-Plattformen von HP und Sun sowie auf der CISC-Architektur von Intel verfuegbar. Es gibt PDO aber auch als eigenes Produkt fuer die Betriebssysteme Digital Unix, Solaris und SunOS, HP/UX, Microsoft Windows NT sowie Windows 95. Das PDO-Objektmodell ist seit 1993 im industriellen Einsatz.

Die Bewaehrung in der Praxis hat auch dazu gefuehrt, dass es fuer Openstep inzwischen eine ganze Reihe von Entwicklungswerkzeugen und Anwendungen gibt. Langsam entsteht auch ein Markt von Drittanbietern, die horizontale und vertikale Loesungen auf Basis der PDO-Objekte anbieten. Der Aspekt der transparenten Verteilung hat dazu gefuehrt, dass bereits heute die Mehrzahl der unter Nextstep verfuegbaren Drittanbieterprogramme ueber eine Programmier-Schnittstelle (API) verfuegen, die sich netzweit ansprechen laesst.

Neu ist "PDO Plus" fuer Windows NT und Windows 95, das im August auf der Objectworld in San Franzisko vorgestellt wurde. Das Tool ermoeglicht die transparente, bidirektionale Kommunikation zwischen OLE/COM-Komponenten und PDO-Objekten lokal sowie ueber Netzwerke. Es erschliesst somit den gesamten Komponentenmarkt unter Windows und bildet die Bruecke zwischen den Unix- und Windows- Welten.

Frameworks bei Next

Bei Next heisst das zentrale Framework "Application Kit" (kurz App- Kit). Es bildet die Grundlage jeder grafischen Openstep-Anwendung. Das App-Kit-Framework kapselt den Zugriff auf das zugrundeliegende Betriebs- und Fenstersystem Windows GDI, X/Motif, Next DPS). Auf diese Weise erweitert es die Grafikfaehigkeiten des Systems um Display PostScript (DPS), das ein einheitliches Beschreibungsmodell fuer Bildschirm und Drucker darstellt, so dass echtes WYSIWYG (What you see is what you get) entsteht.

Das App-Kit besteht unter anderem aus Klassen, die folgende Teilbereiche abdecken:

standardisierte Komponenten fuer die Benutzeroberflaeche;

Ereignisbehandlung, Zeichnen und Drucken;

Internationale Textverarbeitung auf der Basis von Unicode inklusive Rechtschreibpruefung und Zeichensatzauswahl;

Mechanismen fuer die Kommunikation zwischen den Anwendungen, wie Cut and paste, Drag and drop, Services sowie Object Linking;

Dokumentverarbeitung, die strukturierte Dokumente durch Object Linking und Embedding unterstuetzt.

Ein weiteres Framework ist das "Foundation Kit", das die grundlegenden Softwarebausteine fuer die Verwaltung von Daten und Ressourcen zur Verfuegung stellt. Dazu gehoeren neben Klassen zur Implementierung von Persistenzmechanismen eine Sammlung von essentiellen Basisklassen wie Felder, multinationale Zeichensaetze, Wortketten und Datum.

Mit dem zu Openstep kompatiblen "Enterprise Objects Framework" bietet Next einen objektorientierten Bausteinkasten zur Entwicklung komplexer Datenbankanwendungen an. Dieses implementiert einen Persistenzmechanismus fuer alle Arten von fachspezifischen Unternehmensobjekten auf der Basis gaengiger, meist relationaler Datenbank-Management-Systeme (DBMS) wie DB/2, Informix, Sybase und Oracle. Die Vorteile der Objektorientierung sind somit nutzbar, ohne dass die Verwendung eines objektorientierten DBMS erforderlich waere.

Die dreischichtige Architektur des Openstep-Frameworks erlaubt es, robuste, skalierbare, unternehmensweite und mehrstufige Client- Server-Anwendungen zu erstellen. Dabei lassen sich die Objekte aller Stufen (Praesentations-, Anwendungs- und Datenbank-Server) selbst in globalen Netzwerken frei verteilen, unabhaengig von der zugrundeliegenden physikalischen Netzwerk- und Rechnerinfrastruktur. Die Nachteile der sogenannten kleinen Client-Server-Systeme werden so vermieden.

Der Einsatz beim Anwender

Zu den PDO-Anwendern zaehlt die vor einem Jahr von AT&T uebernommene McCaw Cellular Communications, einer der groessten Netzbetreiber fuer Mobiltelefone in den USA.

Der Erfolg des Unternehmens beruht vor allem auf seiner Anpassungsfaehigkeit im Bereich Kundenservice-, Netz-Management- und Buchungssoftware. Bei McCaw hat das Enterprise Objects Framework nach nur drei Monaten Umstellungszeit eine auf C++- basierte Eigenentwicklung abgeloest und dabei entscheidend zu einer Verkleinerung des Anwendungscodes um 80 Prozent beigetragen sowie eine Produktivitaetssteigerung in der Entwicklung um den Faktor sieben bewirkt.

* Markus Weyerhaeuser ist Berater fuer objektorientierte Technologien bei der IBM Informationssysteme GmbH in Stuttgart- Herrenberg.

* Peter Lipps ist Leiter Systems Engineering der Next Computer Deutschland GmbH.