CORBA

CORBA (CORBA - Common Object Request Broker Architecture) ist eine offene, herstellerunabhängige Spezifikation für die verteilte Datenverarbeitung. Sie wird von der Object Management Group (OMG) veröffentlicht.

Die meisten Anwendungen benötigen verschiedene Objekte auf verschiedenen Plattformen und Betriebssystemen, um über Netze miteinander kommunizieren zu können. Mithilfe der CORBA-Architektur können Objekte auf diese Weise über das Internet Inter-ORB Protocol (IIOP) interagieren. Damit die Objekte die verfügbaren Operationen und die erforderliche Syntax zum Aufrufen der Operationen verstehen, wird eine Schnittstellendefinitionssprache (Interface Definition Language, IDL) verwendet. Die IDL ist von der Programmiersprache unabhängig, um die Interoperabilität zwischen Objekten zu erhöhen.

Wenn ein Anwendungsentwickler ein Objekt definiert, werden auch andere Aspekte definiert. Zu diesen Aspekten gehören die Position des Objekts in einer Gesamthierarchie, Objektattribute und mögliche Operationen. Als Nächstes werden die Aspekte alle in der IDL beschrieben. Die Beschreibung wird dann mithilfe eines IDL-Compilers in eine Implementierung konvertiert. IDLJ ist beispielsweise ein IDL-Compiler für die Programmiersprache Java™ und konvertiert eine IDL-Beschreibung in einen Java-Quellcode. Dies hat den Vorteil, dass die Objektimplementierung in die IDL-Definition eingebunden wird. Alle anderen Objekte, die interagieren möchten, können dies mithilfe von Mechanismen tun, die mit der gemeinsam genutzten IDL definiert werden.

Entwickler ermöglichen diese Interoperabilität, indem Sie die Hierarchie, Attribute und Operationen von Objekten mit IDL definieren. Anschließend verwenden sie einen IDL-Compiler (z. B. IDLJ für Java), um die Definition einer Implementierung in einer Programmiersprache zuzuordnen. Die Implementierung eines Objekts wird eingebunden. Clients des Objekts sehen lediglich seine externe IDL-Schnittstelle. Die OMG hat Spezifikationen für Zuordnungen von IDL zu vielen gängigen Programmiersprachen, einschließlich C, C++ und Java, erstellt.

Ein wesentlicher Teil der CORBA-Spezifikation ist der Object-Request-Broker (ORB). Der ORB leitet Anforderungen von einem Clientobjekt zu einem fernen Objekt weiter. Anschließend sendet der ORB Antworten an ihre Bestimmungsorte zurück. Java enthält eine Implementierung des ORB, die über IIOP kommuniziert.