Common Object Request Broker-Architektur (Corba)

Definition - Was bedeutet Common Object Request Broker Architecture (CORBA)?

Die Common Object Request Broker-Architektur (CORBA) ist eine Spezifikation, die von der Object Management Group (OMG) entwickelt wurde. CORBA beschreibt einen Messaging-Mechanismus, mit dem über ein Netzwerk verteilte Objekte unabhängig von der Plattform und der Sprache, die zur Entwicklung dieser Objekte verwendet werden, miteinander kommunizieren können.

In CORBA gibt es zwei grundlegende Objekttypen. Das Objekt, das einige Funktionen enthält und von anderen Objekten verwendet werden kann, wird als Dienstanbieter bezeichnet. Das Objekt, das die Dienste anderer Objekte benötigt, wird als Client bezeichnet. Das Dienstanbieterobjekt und das Clientobjekt kommunizieren unabhängig von der Programmiersprache, mit der sie entworfen wurden, und unabhängig von dem Betriebssystem, auf dem sie ausgeführt werden. Jeder Dienstanbieter definiert eine Schnittstelle, die eine Beschreibung der vom Client bereitgestellten Dienste enthält.

Technische.me erklärt die Common Object Request Broker-Architektur (CORBA)

Mit CORBA können separate Softwareteile, die in verschiedenen Sprachen geschrieben sind und auf verschiedenen Computern ausgeführt werden, wie eine einzelne Anwendung oder eine Reihe von Diensten miteinander arbeiten. Insbesondere ist CORBA ein Mechanismus in der Software zum Normalisieren der Methodenaufrufsemantik zwischen Anwendungsobjekten, die sich entweder im selben Adressraum (Anwendung) oder im Remote-Adressraum (im selben Host oder Remote-Host in einem Netzwerk) befinden.

CORBA-Anwendungen bestehen aus Objekten, die Daten und Funktionen kombinieren, die etwas in der realen Welt darstellen. Jedes Objekt verfügt über mehrere Instanzen, und jede Instanz ist einer bestimmten Clientanforderung zugeordnet. Beispielsweise verfügt ein Bankangestellterobjekt über mehrere Instanzen, von denen jede für einen einzelnen Kunden spezifisch ist. Jedes Objekt gibt alle von ihm bereitgestellten Dienste, die für jeden Dienst erforderlichen Eingaben und gegebenenfalls die Ausgabe eines Dienstes in Form einer Datei in einer Sprache an, die als Interface Definition Language (IDL) bezeichnet wird. Das Clientobjekt, das auf eine bestimmte Operation für das Objekt zugreifen möchte, verwendet die IDL-Datei, um die verfügbaren Dienste anzuzeigen und die Argumente entsprechend zu marshallen.

Die CORBA-Spezifikation schreibt vor, dass es einen Object Request Broker (ORB) gibt, über den eine Anwendung mit anderen Objekten interagiert. In der Praxis initialisiert die Anwendung einfach den ORB und greift auf einen internen Objektadapter zu, der Dinge wie Referenzzählung, Objekt- (und Referenz-) Instanziierungsrichtlinien und Objektlebensdauerrichtlinien verwaltet. Der Objektadapter wird verwendet, um Instanzen der generierten Codeklassen zu registrieren. Generierte Codeklassen sind das Ergebnis der Kompilierung des Benutzer-IDL-Codes, der die Definition der übergeordneten Schnittstelle in eine betriebssystem- und sprachspezifische Klassenbasis übersetzt, die von der Benutzeranwendung angewendet werden soll. Dieser Schritt ist erforderlich, um die CORBA-Semantik durchzusetzen und einen sauberen Benutzerprozess für die Anbindung an die CORBA-Infrastruktur bereitzustellen.