Características Avanzadas
Una implementación de contexto debe soportar métodos definidos en el
interface
Context y sus subinterfaces de acuerdo con
las especificaciones JNDI. Dentro de ese marco de trabajo, sin embargo,
hay cierta libertad sobre las características que una implementación de
contexto soporta. Ninguna de las características explicadas en esta
página implica añadir nuevos componentes. Sólo implican embellecer una
implementación de contexto, típicamente haciendo que métodos existentes
soporten la característica o añadiendo nuevos métodos.
Federación
Los conceptos de federación se describieron en la lección
Federación.
El soporte para federaciones consiste en lo siguiente:
- Determinar la porción del nombre de entrada a procesar
- Contactar con el siguiente sistema de nombres
(nns) para continuar la operación
El marco de trabajo SPI de JNDI contiene métodos para asistirnos en
el último paso. El soporte de federación en una implementación de
contexto es útil pero no necesario. Se puede usar la implementación
sólo para acceder a un servicio de nombres/directorio particular--
un uso válido y soportado del JNDI.
La lección Adñadir Soporte de Federación
describe cómo añadir soporte de federaciones.
Soportar Enlaces de Referencia
Un enlace de referencia
es un enlace simbólico que puede expandir múltiples sistemas de
nombres. Esta representado por la clase
LinkRef.
Context.lookup() y se
supone que la porción de resolución de todos los métodos de
contexto pueden desreferenciar enlaces de referencia automáticamente.
Se usa
Context.lookupLink() para
leer un enlace de referencia. Los enlaces de referencia se describieron
en la lección Miscelánea.
Una implementación de contexto que no soporte unión de enlaces de
referencia obviamente no tiene trato con ellas. Una que soporte
esta característica debería procesar las referencias de
acuerdo a las especifiaciones. También debería tener
mecanismos para capturar bucles de enlaces y/o limitar el
número de enlaces que se puede seguir.
La lección Miscelánea
describe cómo soportar los enlaces de referencias.
Soporte de Remisiones
Una remisión
es una entidad usada para redirigir una petición de un cliente
a otro servidor. Contiene los nombres y localizaciones de otros
objetos, la envía el servidor para indicar que la información
que el cliente ha solicitado puede encontrarse en otra dirección
(o direcciones), posiblemente en otro u otros servidores.
El LDAP (RFC 2251)
usa las remisiones y por lo tanto sólo se aplica a los
directorios del tipo lDAP. Estos se describieron en detalle en la lección
Remisiones.
El JNDI especifica con la propiedad de entorno
Context.REFERRAL ("java.naming.referral")
que una aplicación puede utilizar para controlar cómo la implementación
de contexto procesa las remisiones. Una implementación de contexto
que soporte las remisiones debe seguir esta especificación. También
debe tener mecanimos para capturar bucles de remisiones y/o limitar
el número de remisiones que puede seguir.
La lección Miscelánea
describe cómo soportar las remisiones.
Soporte de Esquema
Los interfaces
DirContext y
Attribute contienen
métodos que permiten a los programas recuperar los esquemas
de entradas/atributos del directorio. El esquema LDAP se
describió en más detalle en la lección
Esquema.
Estos métodos sólo tienen sentido para una implementación
de contexto de directorio que publique su esquema. El
esquema podría ser de sólo lectura o de lectura-escritura,
dependiendo de la implementación de contexto y el servicio
de directorio subyacente.
La lección Añadir Soporte de Directorio
describe cómo añadir soporte para el esquema.
Soporte de Notificación de Eventos
El soporte para notificación de eventos está definido en el paquete
javax.naming.event.
Se describió en más detalle en la lección
Notificación de Eventos.
El soporte de notificación de eventos tiene sentido para un servicio
de nombres y directorios que soporte notificación de eventos. Algunas
implementaciones de contexto podrían soportar esta característica para
estos servicios subyacentes que no soportan notificación de eventos,
usando técnicas como "polling" para simular los efectos de las
notificaciones.
La lección Miscelánea
describe como añadir soporte para eventos.