Compartir a través de


Recomendaciones para aplicaciones de extensión de esquema

Además de los requisitos previos, se recomiendan los procedimientos recomendados siguientes para las aplicaciones de extensión de esquema:

  • Busque el patrón de esquema. Enlace al esquema del controlador de dominio que es el patrón de esquema. Evite cambiar innecesariamente el rol maestro de esquema entre controladores de dominio. Para enlazar con el contenedor de esquemas en el patrón de esquema. Para obtener más información, vea Requisitos previos para instalar una extensión de esquema.

  • Antes de realizar cualquier acción, compruebe la propiedad allowedChildClassesEffective del contenedor de esquemas para comprobar que puede crear atributos o clases. Si attributeSchema y classSchema no son valores de esa propiedad, no tiene derechos suficientes para agregar atributos o clases al esquema. Para obtener más información, vea código de ejemplo para comprobar si hay derechos para crear objetos de esquema.

  • Asegúrese de que la actualización de esquema permitida esté establecida correctamente en el registro del patrón de esquema. Para crear o establecer este valor, restáurelo a su estado original como parte de la rutina de limpieza de la aplicación. Para obtener más información sobre cómo comprobar y establecer este valor, vea Habilitación de cambios de esquema en el patrón de esquema.

  • Antes de agregar atributos o clases, asegúrese de que aún no existen. Si existen, compruebe que son los mismos atributos o clases que va a agregar y no un atributo o clase creado por alguien con una sintaxis y propiedades diferentes incompatibles con sus atributos o clases.

    Para los atributos, consulte cn, attributeID, governsID, lDAPDisplayNamey schemaIDGUID para asegurarse de que aún no se usan. Si agrega un conjunto de atributos vinculados (un vínculo hacia delante, un vínculo posterior), asegúrese de que el linkIDs aún no se use. Consulta de governsID porque el identificador de objeto (OID) debe ser único entre atributos y clases.

    Para las clases, consulte cn, governsID, attributeID, lDAPDisplayNamey schemaIDGUID para asegurarse de que aún no se usan. Consulte attributeID porque el OID debe ser único entre las clases y los atributos.

    Para obtener más información sobre cómo comprobar las colisiones de nomenclatura, vea código de ejemplo para detectar colisiones de nomenclatura de esquemas.

    Si existen atributos o clases que entran en conflicto con los nuevos atributos o clases, la aplicación no debe aplicar los cambios de esquema.

  • Si existe tal colisión, la aplicación no debe aplicar los cambios de esquema. Es posible que el administrador del esquema tenga que resolver la colisión y, a continuación, volver a ejecutar la aplicación. Como alternativa, se podría usar otro lDAPDisplayName; Sin embargo, cualquier aplicación que use el atributo o el objeto debe tener en cuenta ese cambio. Para ayudar a evitar colisiones de OID, obtenga un OID de una entidad de registro de nombres ISO.

  • Si la aplicación depende de atributos o clases que ha agregado, actualice la caché de esquemas antes de agregar los nuevos atributos o clases que dependen de esos atributos o clases. Tenga en cuenta que el schemaUpdateNow atributo operativo es sincrónico. Es decir, la llamada al método IADs::P ut bloqueará hasta que se actualice la caché de esquemas. Cuando se devuelve la llamada, se ha actualizado la caché de esquemas y se pueden acceder a los nuevos atributos o clases.

    Para obtener más información sobre cómo actualizar la memoria caché de esquemas, vea código de ejemplo para actualizar la memoria caché de esquemas.