Definition

Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture (CORBA) ist eine Architektur und Spezifikation zur Erstellung, Verteilung und Verwaltung von verteilten Programmobjekten in einem Netzwerk. CORBA sorgt dafür, dass Programme verschiedener Anbieter aus verschiedenen Standorten in einem Netzwerk über einen Interface Broker miteinander kommunizieren.

Die Architektur wurde von einem Konsortium von Anbietern in der Object Management Group (OMG) entwickelt, die derzeit mehr als 500 Mitgliedsunternehmen umfasst. Sowohl die Internationale Organisation für Normung (ISO) als auch X/Open haben CORBA als Standardarchitektur für verteilte Objekte beziehungsweise Komponenten anerkannt.

Wesentliches Element von CORBA ist der Object Request Broker (ORB). Wenn ORB in einem Client-Server-Netzwerk auf unterschiedlichen Computern unterstützt wird, kann ein Client-Programm (das selbst ein Objekt sein kann) Dienste von einem Server-Programm oder einem Objekt anfordern, ohne wissen zu müssen, wo sich der Server in einem verteilten Netzwerk befindet oder wie die Schnittstelle zum Server-Programm aussieht.

Um Anfragen oder Antworten zwischen den ORB abzuwickeln, verwenden Programme das General Inter-ORB Protocol (GIOP) und für das Internet das Internet-Inter-ORB Protocol (IIOP). IIOP weist GIOP-Anfragen und -Antworten der TCP-Schicht (Transmission Control Protocol) des Computers zu.

Microsoft unterstützt CORBA nicht und setzt stattdessen auf seine eigene verteilte Objektarchitektur, das Distributed Component Object Model (DCOM). CORBA und Microsoft haben sich aber auf einem Gateway-Ansatz verständigt. Damit kann ein Client-Objekt, das mit dem Component Object Model entwickelt wurde, mit einem CORBA-Server (und umgekehrt) kommunizieren.

Derzeit setzen viele Unternehmen noch die verteilte Programmierarchitektur Distributed Computing Environment (DCE) ein, dem Vorgänger der objektorientierten Programmierung (OOP) und CORBA. Da DCE wohl parallel zu CORBA bestehen wird, wird es „Brücken“ zwischen den beiden Standards geben.

Diese Definition wurde zuletzt im November 2016 aktualisiert

Erfahren Sie mehr über Softwareentwicklung