Adaptateur d'objet portable
Un adaptateur d'objet est la méthode principale d'un objet pour accéder aux services ORB, tels que la génération de référence d'objet. Un adaptateur d'objet portable exporte des interfaces standard vers l'objet.
- Génération et interprétation des références d'objet.
- Activation de l'appel de méthode.
- Activation et désactivation d'objet et d'implémentation.
- Mappage des références d'objet aux implémentations d'objet correspondantes.

Dans CORBA 2.1 et les versions antérieures, tous les fournisseurs ORB implémentaient un adaptateur d'objet appelé l'adaptateur d'objet de base. Un adaptateur d'objet de base ne pouvait jamais être spécifié complètement avec un IDL CORBA standard. Par conséquent, les fournisseurs implémentaient les adaptateurs d'un grand nombre de manières différentes. Par conséquent, les programmeurs ne pouvaient pas écrire des implémentations serveur totalement portables entre différents produits ORB. Une première tentative de définir une interface d'adaptateur d'objet standard a été effectuée dans CORBA 2.1. Avec CORBA v.2.3, le groupe OMG a publié la version corrigée finale pour une interface standard pour l'adaptateur d'objet. Cet adaptateur s'appelle un adaptateur POA (Portable Object Adapter).
- Permet aux programmeurs de créer des implémentations d'objet et serveur portables entre différents produits ORB.
- Fournit le support pour les objets persistants. Le support permet aux objets de persister sur plusieurs durées de vie de serveur.
- Active de manière transparente le support des objets.
- Associe des informations de politique aux objets.
- Permet à plusieurs instances distinctes du POA d'exister dans un ORB.
Pour plus d'informations sur l'adaptateur POA, consultez la spécification CORBA v.2.3 (formal/99-10-07).
L'ORB IBM® prend en charge la spécification POA et l'adaptateur d'objet de base propriétaire précédent. Par défaut, le compilateur RMI génère des liens RMI-IIOP pour les serveurs lorsqu'il est utilisé avec l'option -iiop. Ces liens reposent sur l'adaptateur d'objet de base. Lorsqu'une implémentation serveur utilise l'interface POA, vous devez ajouter l'option -poa au compilateur rmic pour générer les liens appropriés.
Si vous voulez implémenter un objet en utilisant l'adaptateur POA, l'application serveur doit obtenir un objet POA. Lorsque l'application serveur appelle la méthode ORB resolve_initial_reference("RootPOA"), l'ORB retourne la référence à l'objet POA principal qui contient les politiques par défaut. Pour la liste de toutes les politiques POA, consultez la spécification CORBA. Vous pouvez créer des POA sous forme d'objets enfant RootPOA qui peuvent contenir des politiques différentes. Cette structure permet de gérer différents groupes d'objets séparément et de partitionner l'espace de nom des ID d'objet.

Le gestionnaire POA est un objet qui encapsule l'état de traitement d'un ou de plusieurs POA. Vous pouvez contrôler et modifier l'état de tous les POA en utilisant des opérations dans le gestionnaire POA.
L'activateur d'adaptateur est un objet qu'utilise un développeur d'application pour activer les POA enfant.