CORBA

Es werden CORBA Implementationen vorgestellt, sowie die Komponenten und das Funktionsprinzip von CORBA erklärt.

CORBA ist eine sehr detailierte Spezifikation der Object Management Group (OMG) [Obje07]. Diese Spezifikation wurde in verschiedenen Programmiersprachen von Softwareunternehmen und openSource Communities komplett oder nur teilweise implementiert. Eine CORBA Implementierung wird auch CORBA Distribution genannt. Die verschiedenen Distributionen sind, solange man sich auf die in der Spezifikation beschriebenen CORBA Features beschränkt, untereinander kompatibel.

Einige CORBA Implementierungen:

JacORB
[Spie07] ist eine freie openSource Implementation auf Java Basis mit einigen Monitoring Tools
Orbacus
[Tech07] von IONA auf Java basierende kommerzielle Implementation
Visibroker
[Corp07a] von Borland, unterstützt: Java, C++ und die .NET Sprachen
The ACE Orb (TAO)
[Schm07c] sehr komplette, freie, plattformunabhängige, openSource Implementation in C++ (Details siehe Kapitel 3.3.2)

ein einfaches CORBA System [width=0.5]./img/minCORBA.jpg

Ein CORBA System besteht aus mindestens einem CORBA Server und einem CORBA Client (siehe Abb. 4).

Der CORBA Server stellt ein oder mehrere Objekte zur Verfügung. Der CORBA Client kann diese Objekte aus seiner Applikation heraus ansprechen. Die Programmlogik ist dabei die Selbe, als würden sich die vom Server zur Verfügung gestellten Objekte tatsächlich auf dem Client befinden.

CORBA Object Request [width=0.45]./img/objRequest.jpg

Abbildung 5 zeigt den Ablauf einer Objektanfrage. Der Stub serialisiert die zu übertragenden Parameter. Der Object Request Broker (siehe Kapitel 2.6.1) routet die Anfrage zum Skeleton des entsprechenden Objekts, welcher die übermittelten Parameter deserialisiert und den eigentlichen Aufruf absetzt.

Die Schnittstelle, zu dem vom Server angebotenen Objekt, wird in Interface Definition Language (IDL, siehe Kapitel 2.6.3) definiert.







Subsections
Manuel Traut 2007-02-25