Adattatore oggetto portatile
Un adattatore oggetto è il modo principale per un oggetto di accedere ai servizi ORB come la generazione di riferimenti oggetto. Un adattatore oggetto portatile esporta le interfacce standard nell'oggetto.
- Generazione e interpretazione di riferimenti di oggetti.
- Abilitazione della chiamata al metodo.
- Attivazione e disattivazione dell'oggetto e dell'implementazione.
- Associazione dei riferimenti degli oggetti alle implementazioni degli oggetti corrispondenti.

Per CORBA 2.1 e versioni precedenti, tutti i fornitori ORB implementavano un adattatore oggetto, noto come adattatore oggetto di base. Non è stato possibile specificare un adattatore oggetto di base con un IDL CORBA standard. Pertanto, i fornitori hanno implementato gli adattatori in molti modi diversi. Il risultato è stato che i programmatori non sono stati in grado di scrivere implementazioni del server che fossero realmente portabili tra i diversi prodotti ORB. Un primo tentativo di definizione di un'interfaccia adattatore oggetti standard è stato eseguito in CORBA 2.1. Con CORBA v.2.3, il gruppo OMG ha rilasciato la versione finale corretta di un'interfaccia standard per l'adattatore oggetto. Questo adattatore è noto come POA (Portable Object Adapter).
- Consente ai programmatori di creare implementazioni di oggetti e server portabili tra diversi prodotti ORB.
- Fornire supporto per gli oggetti persistenti. Il supporto consente agli oggetti di persistere per diverse durate del server.
- Supporta l'attivazione trasparente degli oggetti.
- Associare le informazioni sulla politica agli oggetti.
- Consentire a più istanze distinte del POA di esistere in un ORB.
Per ulteriori dettagli sul POA, consultare la specifica CORBA v.2.3 (formal/99-10-07).
L'ORB IBM® supporta sia la specifica POA che l'adattatore oggetto di base proprietario precedente. Per impostazione predefinita, il compilatore RMI, quando utilizzato con l'opzione -iiop , genera collegamenti RMI - IIOP per i server. Questi legami si basano sull'adattatore oggetto di base. Quando un'implementazione server utilizza l'interfaccia POA, è necessario aggiungere l'opzione -poa al compilatore rmic per generare i collegamenti pertinenti.
Per implementare un oggetto utilizzando il POA, l'applicazione server deve ottenere un oggetto POA. Quando l'applicazione server richiama il metodo ORB resolve_initial_reference("RootPOA"), l'ORB restituisce il riferimento all'oggetto POA principale che contiene le politiche predefinite. Per un elenco di tutte le politiche POA, consultare la specifica CORBA. È possibile creare nuovi POA come oggetti figlio di RootPOA. Questi oggetti child possono contenere politiche differenti. Questa struttura consente di gestire diverse serie di oggetti separatamente e di partizionare lo spazio dei nomi degli ID oggetto.

Il gestore POA è un oggetto che incapsula lo stato di elaborazione di uno o più POA. È possibile controllare e modificare lo stato di tutti i POA utilizzando le operazioni sul gestore POA.
L'attivatore dell'adattatore è un oggetto che uno sviluppatore di applicazioni utilizza per attivare i POA child.