Portierbarer Objektadapter
Ein Objektadapter stellt für ein Objekt den primären Weg zum Zugriff auf ORB-Services wie die Generierung von Objektverweisen dar. Ein portabler Objektadapter exportiert Standardschnittstellen zum Objekt.
- Generierung und Interpretation von Objektverweisen.
- Aktivierung des Methodenaufrufs.
- Aktivierung und Inaktivierung von Objekten und Implementierungen.
- Zuordnung von Objektverweisen zu den entsprechenden Objektimplementierungen.

Bei CORBA 2.1 und früher haben alle ORB-Anbieter einen Objektadapter implementiert; dieser wurde als "Basisobjektadapter" bezeichnet. Ein Basisobjektadapter konnte nicht mit einer Standard-CORBA-Schnittstellendefinitionssprache angegeben werden. Aus diesem Grund wurden die Adapter von den Anbietern auf viele verschiedene Arten implementiert. Dies führte dazu, dass es den Programmierern nicht möglich war, Serverimplementierungen zu schreiben, die tatsächlich zwischen den verschiedenen ORB-Produkten portierbar waren. Ein erster Versuch zur Definition einer Standardschnittstelle für den Objektadapter wurde in CORBA 2.1 unternommen. In CORBA Version 2.3 veröffentlichte die OMG-Gruppe die endgültige korrigierte Version einer Standardschnittstelle für den Objektadapter. Dieser Adapter wird als "Portabler Objektadapter" (POA) bezeichnet.
- Programmierern die Erstellung von Objekt- und Serverimplementierungen zu ermöglichen, die zwischen verschiedenen ORB-Produkten portierbar sind.
- Unterstützung für persistentes Objekte zu bieten. Die Unterstützung ermöglicht den Objekten, über mehrere Server-Laufzeiten hinweg bestehen zu bleiben.
- Unterstützung der transparenten Objektaktivierung.
- Verknüpfung von Richtlinieninformationen mit Objekten.
- Ermöglichen, dass mehrere verschiedene Instanzen des POA in einem ORB vorhanden sind.
Weitere Informationen zum POA finden Sie in der Spezifikation für CORBA Version 2.3 (formal/99-10-07).
Der IBM® ORB unterstützt sowohl die POA-Spezifikation als auch den vorherigen proprietären Basisobjektadapter. Wird der RMI-Compiler mit der Option -IIOP verwendet, generiert er standardmäßig RMI-IIOP-Ties für Server. Diese Ties basieren auf dem Basisobjektadapter. Wird die POA-Schnittstelle von einer Serverimplementierung genutzt, müssen Sie die Option -poa dem rmic-Compiler hinzufügen, um die relevanten Ties zu generieren.
Zur Implementierung eines Objekts, das den POA verwendet, muss die Serveranwendung ein POA-Objekt abrufen. Wenn die Serveranwendung die ORB-Methode resolve_initial_reference("RootPOA") aufruft, liefert der ORB den Verweis auf das POA-Hauptobjekt, das Standardrichtlinien enthält. In der CORBA-Spezifikation werden alle POA-Richtlinien aufgelistet. Neue POAs können als untergeordnete Objekte des RootPOA erstellt werden. Diese untergeordneten Objekte können verschiedene Richtlinien enthalten. Diese Struktur ermöglicht die jeweils separate Verwaltung verschiedener Objektgruppen sowie die Partitionierung des Namensbereichs der Objekt-IDs.

Der POA-Manager ist ein Objekt, das den Verarbeitungsstatus eines oder mehrerer POAs einbindet. Mithilfe der Operationen auf dem POA-Manager können Sie den Status aller POA steuern und ändern.
Der Adapteraktivator ist ein Objekt, das ein Anwendungsentwickler zur Aktivierung von untergeordneten POA verwendet.