Next: Die SOM-Laufzeitumgebung
Up: 2.3 IBM's SOMObjects
Previous: 2.3 IBM's SOMObjects
Das System Object Model (SOM) ist eine objektorientierte Technologie zur Erstellung von binären Klassenbibliotheken. Es wurde entwickelt, um eine Reihe von Problemen zu lösen, die bei heutigen objektorientierten Programmiersprachen wie C++ auftreten. Einige dieser Probleme sind:
- Eine Klassenbibliothek, die mit einem bestimmten Compiler übersetzt wurde, kann in der Regel nicht mit Code, der von einem anderen Compiler erzeugt wurde, gebunden werden. Der Grund dafür ist die Inkompatibilität der von verschiedenen Compilern erzeugten internen Daten.
- Objekte, die in einer Programmiersprache implementiert wurden, können nicht von Programmen in einer anderen Sprache verwendet werden. Dies ist insbesondere ein Hindernis für die Entwicklung von wiederverwendbaren Softwarekomponenten und Objekt-Frameworks.
- Häufig müssen Anwendungen neu compiliert werden, wenn sich die Implementierung der verwendeten Klassenbibliotheken ändert, was z.B. der Fall sein kann, wenn ein neues Release der Bibliothek eingesetzt wird.
SOMObjects löst diese Probleme durch ein sprachneutrales Objektmodell, das die Entwicklung von binärkompatiblen Klassenbibliotheken erlaubt. Dabei werden ausgehend von einer IDL-Beschreibung einer Objektklasse, die dem CORBA-Standard entspricht, Implementierungstemplates für Programmiersprachen generiert.
Die Implementierung einer normalen SOM-Anwendung (deren Objekte nicht verteilt sind) geschieht durch folgende Schritte:
Abbildung:
Der SOM-Entwicklungsprozeß
 |
- 1.
- Zuerst werden die Aufrufschnittstellen (die Methoden und die sichtbaren Attribute) für die Objektklassen in IDL definiert.
- 2.
- Der SOM-Compiler erzeugt aus den IDL-Dateien Skelette für die Implementierung der Klassen sowie Client- und Server-Stubs in Form von Header-Dateien. Der Compiler kann konfiguriert werden, um Implementierungstemplates für unterschiedliche Programmiersprachen zu erzeugen.
- 3.
- Die Methoden in den vom SOM-Compiler erzeugten Skeletten werden durch den Anwendungsprogrammierer implementiert. Dabei können für die einzelnen Klassen unterschiedliche Programmiersprachen verwendet werden.
- 4.
- Das Client-Programm, das die Klassen benutzt, wird erstellt.
- 5.
- Das Client-Programm wird mit einem Compiler der entsprechenden Programmiersprache übersetzt und die Implementierung der Klassen wird dazugebunden.
- 6.
- Das Client-Programm wird ausgeführt.
SOM ist derzeit für AIX, OS/2, Windows und MVS verfügbar.
Next: Die SOM-Laufzeitumgebung
Up: 2.3 IBM's SOMObjects
Previous: 2.3 IBM's SOMObjects
Copyright Munich Network Management Team