Zum Inhalt springen

Common Object Request Broker Architecture

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. Mai 2003 um 11:53 Uhr durch 195.124.137.66 (Diskussion) (neu). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


Die Common Object Request Broker Architecture kurz CORBA ist eine objektorientierte Middleware, die plattformübergreifende Protokolle und Services definiert und von der Object Management Group (OMG) entwickelt wird. CORBA ermöglicht das Erstellen von Verteilten Anwendungen in heterogenen Umgebungen.

CORBA ist nicht an eine bestimmte Programmiersprache gebunden. Mittel einer Interface Definition Language (IDL) erstellt man eine formale Spezifikation der Klassen und Objekte sowie sämtlicher Parameter und Datentypen. Diese Interface-Beschreibung wird dann in ein Objektmodell der verwendeten Programmiersprache umgesetzt. Die breiteste Unterstützung existiert für JAVA und C++, es existieren jedoch auch Implementierungen für viele weitere Sprachen.

Meist erzeugt ein sogenannter IDL-Compiler Stubs und Skeletons, die mit der eigentlichen Programmlogik ergänzt werden. Der Locale Client ruft nun den Stub-Code auf, der die Daten an einen Object Request Broker (ORB) weitergibt. Der ORB reicht die Daten dann mittels eines Inter-ORB Protocols (IOP) an den ORB des entfernten Objeks weiter. Der Aufruf des entfernten Objekts erfolgt mittels der Skeletons.

Die zweite Möglichkeit verwendet Clientseitig das Dynamic Invocation Interface (DII), um ohne IDL auch inbekannte Objekte ansprechen zu können. Hierbei können die Methoden dynamisch abgefragt und aufgerufen werden. Serverseitig kann das Objekt mittels Dynamic Skeleton Interface (DSI) dynamisch auf Methodenaufrufe reagieren.

Jedes CORBA-Objekt, auch Servant genannt, ist mittels einer eindeutigen Adresse ansprechbar, der Interoperable Object Reference (IOR).

Zusätzlich zum Protokoll definiert CORBA noch einige Services, die eine definierte IDL-Schnittstelle besitzen.Der wichtigste CORBA-Dienst ist der COS Naming Service, der Serverobjekten ermöglicht, mittels eines festgelegten Namens angesprochen zu werden. Der Namensdienst liefert dann die IOR zu einem registrierten Objektnamen.

Bekannte CORBA-Implementierungen: Orbix, Mico, Orbit, VisiBroker