Notas de la versión Sun™ Identity Manager 8.0

Anexos a la documentación y correcciones

Esta sección contiene información nueva y corregida que ha sido necesaria tras publicar la documentación de Identity Manager 8.0. Esta información se ha dividido como sigue:


Identity Manager 8.0 Administration

Esta sección contiene una corrección para Sun Identity Manager Administration:


Identity Manager Technical Deployment Overview

Esta sección contiene información nueva y corregida relacionada con el documento Sun Identity Manager Technical Deployment Overview:

La información siguiente debe añadirse o modificarse en el capítulo “Private Labeling of Identity Manager” (Etiquetado privado de Identity Manager) de la Identity Manager Technical Deployment Overview:

Ahora es posible incluir la cadena de nombre del producto en la barra de título del navegador con la cadena localizable que se elija.

  1. Importe el siguiente archivo XML:
  2. Ejemplo de código 1 XML para importar

    <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Configuration name='AltMsgCatalog'>

    <Extension>

    <CustomCatalog id='AltMsgCatalog' enabled='true'>

    <MessageSet language='en' country='US'>

    <Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Override Name</Msg>

        </MessageSet>

    </CustomCatalog>

    </Configuration>

    </Extension>

  3. Con el Identity Manager IDE, cargue el objeto de configuración del sistema para editarlo. Agregue un nuevo atributo de nivel superior:
  4. Name = customMessageCatalog

    Type = string

    Value = AltMsgCatalog

  5. Abra el objeto genérico ui.web y busque el atributo browserTitleProdNameOverride. Defina su valor en true.
  6. Guarde esta modificación del objeto de configuración del sistema y reinicie el servidor de aplicaciones.
  7. Las instrucciones para personalizar páginas de inicio proporcionadas en “Customizing Identity Manager End User Pages” ahora deben incluir la información siguiente sobre claves de mensaje. (ID-16072)
  8. Componente de JSP o Identity Manager

    Interfaz afectada

    Clave de mensaje

    TÃ˘TULO de página de inicio de sesión

    Administrador y usuario

    UI_LOGIN_TITLE_TO_RESOURCE

    UI_LOGIN_CHALLENGE

    SUBTÃ˘TULO de página de inicio de sesión

    Administrador y usuario

    Seleccione una clave según el modo de inicio de sesión: olvidó su contraseña, olvidó su ID de usuario, pregunta de desafío.

    UI_LOGIN_WELCOME3

    UI_LOGIN_WELCOME4

    UI_LOGIN_WELCOME5

    UI_LOGIN_WELCOME6

    UI_LOGIN_CHALLENGE_INFO

    staticLogout.jsp and user/staticUserLogout.jsp

    Administrador y usuario

    UI_LOGIN_TITLE

    continueLogin.jsp

    Administrador

    UI_LOGIN_IN_PROGRESS_TITLE

    UI_LOGIN_WELCOME

Cambio del texto predeterminado “Logged in as ...”

  1. Importe el siguiente archivo XML:
  2. <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Configuration name='AltMsgCatalog'>

    <Extension>

    <CustomCatalog id='AltMsgCatalog' enabled='true'>

    <MessageSet language='en' country='US'>

    <Msg id='UI_NAV_FOOT_LOG_AS'>mytext {0}!</Msg>

    </MessageSet>

    </CustomCatalog>

    </Extension>

    </Configuration>

  3. Añada la línea siguiente al objeto System Configuration, en el elemento <Configuration><Extension><Object>:
  1. Guarde los cambios y reinicie el servidor de aplicaciones.


Identity Manager Workflows, Forms, and Views

Esta sección contiene información nueva y corregida relacionada con el documento Sun Identity Manager Workflows, Forms, and Views.

Capítulo 1, Identity Manager Workflow (Flujo de trabajo de Identity Manager)

Capítulo 2,   Workflow Services (Servicios de flujo de trabajo)

lock Provisioning Workflow Service (Servicio de flujo de trabajo de aprovisionamiento de bloqueo)

unlock Workflow Service (Servicio de flujo de trabajo de desbloqueo)

Capítulo 3, Identity Manager Forms (Formularios de Identity Manager )

Información relacionada

Acerca del procesamiento de formularios relacionados con auditoría

Especificación de formularios de usuario

Formularios relacionados con auditoría

¿Por qué personalizar estos formularios?

Variables de la tarea de exploración

Capítulo 4, Identity Manager Views (Vistas de Identity Manager)

Atributos comunes

La tabla siguiente muestra los atributos de nivel superior de la vista organizativa.

Nombre

¿Editable?

Tipo de datos

¿Requerido?

orgName

Leer

Cadena

Generado por sistema

orgDisplayName

Leer/Escribir

Cadena

orgType

Leer/Escribir

Cadena

No

orgId

Leer

Cadena

Generado por sistema

orgAction

Escribir

Cadena

No

orgNewDisplayName

Escribir

Cadena

No

orgParentName

Leer/Escribir

Cadena

No

orgChildOrgNames

Leer

Lista

Generado por sistema

orgApprovers

Leer/Escribir

Lista

No

allowsOrgApprovers

Leer

Lista

Generado por sistema

allowedOrgApproverIds

Leer

Lista

Generado por sistema

orgUserForm

Leer/Escribir

Cadena

No

orgViewUserForm

Leer/Escribir

Cadena

No

orgPolicies

Leer/Escribir

Lista

No

orgAuditPolicies

Leer/Escribir

Lista

No

renameCreate

Leer/Escribir

Cadena

No

renameSaveAs

Leer/Escribir

Cadena

No

orgName

Identifica el UID de la organización. Este valor se diferencia de la mayoría de los nombres de objeto de vista porque el nombre de las organizaciones puede adoptar la misma forma abreviada, pero sus organizaciones precursoras pueden ser distintas.

orgDisplayName

Especifica el nombre abreviado de la organización. Este valor sólo se utiliza en visualización y no tiene por qué ser único.

orgType

Define el tipo de organización, cuyos valores admitidos son junction o virtual. Las organizaciones que no son de tipo junction o virtual carecen de valor.

orgId

Especifica el ID que identifica a la organización en exclusiva dentro de Identity Manager.

orgAction

Sólo se admite con empalmes de directorios, organizaciones virtuales y organizaciones dinámicas. El valor permitido es refresh. Cuando una organización es virtual o un empalme de directorios, el comportamiento de la operación de regeneración depende del valor de orgRefreshAllOrgsUserMembers.

orgNewDisplayName

Especifica el nuevo nombre abreviado al renombrar la organización.

orgParentName

Identifica la ruta de acceso completa a la organización precursora.

orgChildOrgNames

Muestra una lista con los nombres de interfaz de Identity Manager de todas las organizaciones derivadas directas e indirectas.

orgApprovers

Muestra una lista con los administradores de Identity Manager necesarios para aprobar usuarios añadidos o modificados en esta organización.

allowedOrgApprovers

Muestra una lista con los posibles nombres de usuario que podrían actuar como aprobadores de los usuarios añadidos o modificados en esta organización.

allowedOrgApproverIds

Muestra una lista con los posibles ID de usuario que podrían actuar como aprobadores de los usuarios añadidos o modificados en esta organización.

orgUserForm

Especifica el formulario de usuario (userForm) que los afiliados de esta organización utilizan para crear o editar usuarios.

orgViewUserForm

Especifica el formulario de vista de usuario que los afiliados de esta organización utilizan para ver usuarios.

orgPolicies

Identifica las directivas que se aplican a todos los afiliados de esta organización. Se trata de una lista de objetos que se introducen mediante cadenas de tipo: Cada objeto de directiva contiene los siguientes atributos de vista, que llevan el prefijo orgPolicies[<type>]. <type> representa el tipo de directiva (por ejemplo, cuenta de Lighthouse).

orgAuditPolicies

Especifica las directivas de auditoría que se aplican a todos los afiliados de esta organización.

renameCreate

Cuando se define en true, clona esta organización en otra utilizando el valor de orgNewDisplayName.

renameSaveAs

Cuando se define en true, renombra esta organización utilizando el valor de orgNewDisplayName.

Atributos de empalme de directorios y organización virtual

Nombre

¿Editable?

Tipo de datos

¿Requerido?

orgContainerId

Leer

Cadena

Generado por sistema

orgContainerTypes

Leer

Lista

Generado por sistema

orgContainers

Leer

Lista

Generado por sistema

orgParentContainerId

Leer

Cadena

Generado por sistema

orgResource

Leer/Escribir

Cadena

Sí, en caso de empalme de directorios u organización virtual

orgResourceType

Leer

Cadena

Generado por sistema

orgResourceId

Leer

Cadena

Generado por sistema

orgRefreshAllOrgsUserMembers

Escribir

Cadena

No

orgContainerId

Especifica el dn del contenedor de directorio LDAP asociado (por ejemplo, cn=foo,ou=bar,o=foobar.com).

orgContainerTypes

Muestra una lista con todos los tipos de objetos de recurso permitidos que pueden contener otros objetos de recurso.

orgContainers

Muestra una lista con los contenedores básicos del recurso que la interfaz de Identity Manager utiliza para presentar una lista donde elegir.

orgParentContainerId

Especifica el dn del contenedor de directorio LDAP principal asociado (por ejemplo, cn=foo,ou=bar,o=foobar.com).

orgResource

Especifica el nombre del recurso de Identity Manager utilizado para sincronizar empalmes de directorios y organizaciones virtuales (por ejemplo, West Directory Server).

orgResourceType

Especifica el tipo de recurso de Identity Manager desde el que se sincronizan empalmes de directorios y organizaciones virtuales (por ejemplo, LDAP).

orgResourceId

Especifica el ID del recurso de Identity Manager utilizado para sincronizar empalmes de directorios y organizaciones virtuales.

orgRefreshAllOrgsUserMembers

Si se define en true y si el valor de orgAction es refresh, sincroniza la afiliación del usuario de la organización de Identity con la afiliación del contenedor de recursos para la organización seleccionada y todas las organizaciones derivadas. Si se define en false, no se sincronizará la afiliación del contenedor de recursos, sino únicamente los contenedores de recursos con las organizaciones de Identity para la organización seleccionada y todas las derivadas.

Atributos de organización dinámica

Nombre

¿Editable?

Tipo de datos

¿Requerido?

orgUserMembersRule

Leer/Escribir

Cadena

No

orgUserMembersRuleCacheTimeout

Leer/Escribir

Cadena

No

orgUserMembersRule

Identifica (por nombre o UID) la regla cuyo tipo de autorización (authType) es UserMembersRule, que se evalúa en tiempo de ejecución para determinar la afiliación del usuario.

orgUserMembersCacheTimeout

Especifica el tiempo transcurrido (en milésimas de segundo) antes de que se agote el tiempo de espera en caché si los afiliados devueltos por la regla orgUserMembersRule van a incluirse en caché. Un valor de 0 indica que no se incluye en caché.

En la actualidad, el análisis de la vista de usuario también está relacionado con los atributos accounts[Lighthouse].delegates: (ID-15468)

accounts[Lighthouse].delegates

Ofrece una lista de objetos delegados, clasificados por workItemType, en la que cada objeto incluye información concreta sobre un tipo de elemento de trabajo específico.

accounts[Lighthouse].delegatesHistory

Ofrece una lista de objetos delegados, clasificados entre 0 y n, donde n corresponde al nivel máximo actual de historiales.

Este atributo sólo tiene un atributo, selected, que es un valor booleano que indica el objeto de historial actualmente seleccionado.

accounts[Lighthouse].delegatesOriginal

Después de una operación get o checkout view, ofrece la lista original de objetos delegados, clasificados por workItemType.

Todos los atributos accounts[Lighthouse].delegates* reciben los siguientes atributos:

Atributos de accounts[Lighthouse].delegate*

Descripción

 

workItemType

Identifica el tipo de elemento de trabajo que se delega. Para obtener una lista de tipos de elementos de trabajo válidos, consulte la descripción del modelo de objeto delegado en la sección Identity Manager Technical Deployment Overview de este anexo.

workItemTypeObjects

Presenta una lista con los nombres concretos de los roles, los recursos o las organizaciones cuya solicitud futura de aprobación de elemento de trabajo piensa delegar el usuario. Este atributo es válido cuando el valor de workItemType es roleApproval, resourceApproval o organizationApproval.

Si no se especifica, este atributo establece de forma predeterminada la delegación de solicitudes futuras de aprobación de elemento de trabajo relacionadas con roles, recursos u organizaciones de los que el usuario es aprobador.

toType

Tipo al que se va a delegar. Los valores válidos son:

manager

delegateWorkItemsRule

selectedUsers

toUsers

Lista de los nombres de los usuarios en los que se delega (si toType es selectedUsers).

toRule

Especifica el nombre de la regla de evaluación que se empleará para determinar el conjunto de usuarios en el que se va a delegar (si toType es delegateWorkItemsRule).

startDate

Especifica la fecha de inicio de la delegación.

endDate

Especifica la fecha en la que termina la delegación.

Referencia de un objeto DelegateWorkItems View de un formulario

En el siguiente ejemplo de código se ilustra la forma de hacer referencia a un objeto delegado DelegateWorkItems View desde un formulario.

<Field name='delegates[*].workItemType'>

<Field name=’delegates[*].workItemTypeObjects’>

<Field name=’delegates[*].toType’>

<Field name='delegates[*].toUsers'>

<Field name=’delegates[*].toRule’>

<Field name='delegates[*].startDate'>

<Field name='delegates[*].endDate'>

donde los valores de índice (*) admitidos son valores workItemType.

Nombre

¿Editable?

Tipo

¿Requerido?

Nombre

 

Cadena

estado

 

Cadena

Usuario

 

Cadena

userId

 

Cadena

attestorHint

 

Cadena

No

userView

 

GenericObject

reviewInstanceId

 

Cadena

reviewStartDate

 

Cadena

scanId

 

Cadena

scanInstanceId

 

Cadena

approvalWorkflowName

 

Cadena

organizationId

 

Cadena

attestorComments.name

 

Cadena

No

attestorComments.attestor

 

Cadena

No

attestorComments.time

 

Cadena

No

attestorComments.timestamp

 

Cadena

No

attestorComments.status

 

 

No

Nombre

Identifica el derecho de usuario mediante un identificador exclusivo.

estado

Especifica el estado del objeto de derecho de usuario. Los estados válidos incluyen PENDING (pendiente), ACCEPTED (aceptado), REJECTED (denegado), REMEDIATING (remediando) y CANCELLED (cancelado).

Usuario

Identifica el nombre del WSUser asociado a este derecho.

userId

Especifica el ID del WSUser asociado.

attestorHint

Muestra al autenticador el truco (cadena) que ofrece la regla de determinación de revisión. Este truco sirve como consejo de la regla al autenticador.

userView

Contiene la vista de usuario que captura la operación de exploración de derechos de usuario. Esta vista contiene cero o más cuentas de recurso según la configuración del objeto de exploración de acceso.

reviewInstanceId

Especifica el ID de la instancia de la tarea PAR.

reviewStartDate

Indica la fecha de inicio (cadena) de la tarea PAR (en formato canónico).

scanId

Especifica el ID de la definición de tarea de exploración de acceso.

scanInstanceId

Especifica el ID de la instancia de tarea de exploración de acceso.

approvalWorkflowName

Identifica el nombre del flujo de trabajo que se debe ejecutar para aprobación. Este valor procede de la definición de tarea de exploración de acceso.

organizationId

Especifica el ID de la organización de WSUser en el momento de la exploración.

attestorComments

Muestra los registros de autenticación del derecho. Cada registro de autenticación indica una acción o instrucción efectuadas acerca del derecho, incluidas aprobación, denegación y reexploración.

attestorComments[timestamp].name

Indicación de tiempo utilizada para identificar este elemento en la lista.

attestorComments[timestamp].attestor

Identifica el nombre de WSUser del autenticador que comenta el derecho.

attestorComments[timestamp].time

Especifica la hora en que el autenticador autenticó este registro. Puede ser distinta a la indicación de tiempo.

attestorComments[timestamp].status

Indica el estado asignado por el autenticador. Puede ser cualquier cadena, pero suele indicar la acción realizada por el autenticador; por ejemplo, aprobar, denegar, reexplorar o remediar.

attestorComments[name].comment

Contiene comentarios introducidos por el autenticador.

Capítulo 6, XPRESS Language (Lenguaje XPRESS)

Capítulo 8, HTML Display Components (Componentes de visualización HTML)

Cómo utilizar el código de ejemplo de objectSelector

  1. En el Identity Manager IDE, abra el objeto de formulario de usuario de la biblioteca del administrador.
  2. Añada el código siguiente a este formulario:
  3. <Incluir>

       <ObjectRef type='UserForm' name='Scalable Selection Library'/>

    </Include>

  4. Seleccione el campo accounts[Lighthouse].adminRoles en el campo AdministratorFields.
  5. Sustituya accounts[Lighthouse].adminRoles por la referencia siguiente:
  6. <FieldRef name='scalableWaveset.adminRoles'/>

  7. Guarde el objeto.
  8. Cuando después modifique un usuario y seleccione la ficha de seguridad, Identity Manager presentará el formulario personalizado. Cuando haga clic en ... se abrirá el componente Selector y aparecerá un campo de búsqueda. Utilice este campo para buscar roles de administración que empiecen con una cadena de texto y defina el campo en uno o varios valores.

    Para restaurar el formulario, importe el archivo $WSHOME/sample/formlib.xml mediante el uso del menú Configurar > Importar fichero de intercambio.

    Consulte la biblioteca de selección escalable del archivo sample/formlib.xml para ver otros ejemplos de cómo utilizar la plantilla objectSelector para administrar recursos y roles en entornos con muchos objetos.

  9. La sección relacionada con el componente TabPanel incluye la siguiente descripción de la propiedad validatePerTab: (ID-15501)

ListEditor

Habilitación de autocomplete en páginas de inicio de sesión de Identity Manager

Apéndice A, Form and Process Mappings (Asignaciones de formularios y procesos)


Identity Manager Deployment Tools

Esta sección contiene las correcciones y los anexos a la documentación Identity Manager Deployment Tools:

Uso del analizador de Identity Manager

Identity Manager ofrece un analizador que ayuda a solucionar problemas de rendimiento en formularios, Java, reglas, flujos de trabajo y XPRESS de la implementación.

Formularios, Java, reglas, flujos de trabajo y XPRESS pueden causar problemas de rendimiento y escala. El analizador calcula cuánto tiempo se invierte en distintas áreas de los formularios, Java, normas, flujos de trabajo u objetos XPRESS, lo que le permite determinar si provocan problemas de rendimiento y escala y, en tal caso, averiguar qué partes de dichos objetos producen los problemas.

En esta sección se explica cómo utilizar el analizador de Identity Manager se incluye un tutorial que le enseñará a solucionar problemas de rendimiento en la implementación. La información se ha dividido como sigue:

Descripción general

En esta sección se describen las características y la funcionalidad del analizador de Identity Manager. La información se ha dividido como sigue:

Funciones principales

Puede utilizar el analizador para:

Búsqueda y gestión del orígenes en el analizador

En esta sección se explica cómo el analizador busca y gestiona el origen de los siguientes objetos de Identity Manager:

Objetos de formularios, reglas, flujos de trabajo y XPRESS     Cuando se toma una instantánea con el analizador, el servidor evalúa todos los datos del análisis y averigua de qué orígenes dependen. A continuación, el servidor recupera todos esos orígenes del repositorio y los incluye en la instantánea. Por tanto, puede tener la certeza de que los objetos de Identity Manager mostrados en la instantánea reflejan con exactitud el punto en que se ha capturado ésta.

Este proceso aumenta el tamaño de la instantánea, pero el tamaño del origen es una fracción relativamente pequeña del tamaño total. En consecuencia, puede enviar una instantánea al servicio de asistencia al cliente de Sun sin necesidad de remitir los archivos de origen por separado.

Orígenes Java     Cuando se toma una instantánea de origen Java, el cliente la descarga y luego la examina para capturar todos los orígenes Java referenciados del proyecto. Al guardar la instantánea, el cliente aplica zip a los orígenes y los anexa al final de la instantánea.

Después, cuando se visualiza la instantánea y se accede al origen Java, el cliente comprueba primero el contenido de la instantánea. Si no lo encuentra, comprueba el contenido del proyecto. Este proceso permite enviar una instantánea que contenga todos los datos del análisis tanto del código Java personalizado como del código de Identity Manager.


Nota

En una instantánea con origen Java no se debe asumir que el origen está actualizado con el servidor ni que siempre está disponible.


Advertencias sobre estadísticas

En las secciones siguientes se incluye información que conviene tener en cuenta al evaluar los resultados del analizador:

Estadísticas de tiempo propio     Para calcular la estadística del tiempo propio de un nodo raíz, el analizador resta los tiempos de todos los nodos secundarios al tiempo total del nodo raíz.

Por tanto, el tiempo de un nodo secundario no instrumentado se refleja en el tiempo propio del nodo raíz. Si un nodo raíz tiene un tiempo propio considerable, conviene indagar la razón. Quizá no haya instrumentado los métodos adecuados y, por tanto, no esté usando el lugar correcto.

Por ejemplo, supongamos que el método A llama al método B.

El método A tarda un tiempo total de 10 segundos (tiempo total que incluye la llamada a B) y la llamada a B tarda un tiempo total de 10 segundos.

Si están instrumentados A y B, la pila de llamadas refleja dicha información. Observará que A tiene un tiempo propio de 0 segundos y que B tiene un tiempo propio de 10 segundos (10 segundos invertidos realmente en B). Sin embargo, si B no está instrumentado, sólo observará que la llamada a A dura 10 segundos y que el tiempo propio de A es 10 segundos. En consecuencia, tal vez asuma que el problema reside directamente en A, no en B.

En concreto, se podrían apreciar largos tiempos propios durante la compilación inicial de JSP. Si restablece los resultados recogidos y vuelve a presentar la página, el tiempo propio será muy inferior.

Llamadas de constructor     Dadas las limitaciones de la estrategia de instrumentación de de Java, las llamadas iniciales a this() o super() resultan similares para la llamada de constructor, en lugar de  secundarias. Consulte el ejemplo siguiente:

class A

{

public A()

{

this(0);

}

public A(int i)

{

}

}

and:

class B

{

public static void test()

{

new A();

}

}

El árbol de llamadas será así:

B.test()

-A.<init>(int)

-A.<init>()

En lugar de así:

B.test()

-A.<init>()

-A.<init>(int)

Threads de daemon     No se confunda con la aparente gran cantidad de tiempo invertida en diversos threads de daemon de Identity Manager, como ReconTask.WorkerThread.run() o TaskThread.WorkerThread.run(). La mayor parte de este tiempo es inactivo, en espera de eventos. Hay que explorar estos rastros para constatar cuánto tiempo se tarda realmente al procesar un evento.

Primeros pasos

En esta sección se explica cómo iniciar el analizador y cómo utilizar las diversas funciones de su interfaz gráfica. Esta información se ha dividido como sigue:

Antes de empezar

Como el analizador acapara mucha memoria, conviene realizar una considerable ampliación de memoria tanto en el servidor como en la máquina virtual de Java (JVM) donde está Netbeans.

Cuando termine, puede iniciar el analizador como se indica en la siguiente sección.

Inicio del analizador

Utilice uno de estos métodos para iniciar el analizador desde la ventana de Identity Manager IDE:

Al iniciar el analizador, aparece el cuadro de diálogo Profiler Options, donde puede especificar las opciones de análisis que desea utilizar. Las instrucciones para definir estas opciones se encuentran en Especificación de las opciones del analizador.

Uso del analizador

En esta sección se describen las funciones de la interfaz gráfica del analizador y cómo utilizarlas. La información se ha dividido como sigue:

Especificación de las opciones del analizador

El cuadro de diálogo Profiler Options contiene las fichas:

Use las opciones de estas fichas para indicar qué objetos se analizan y qué elementos aparecen en el análisis.

Tras especificar las opciones del analizador, haga clic en OK para iniciarlo. Según la configuración del proyecto, el analizador realiza uno de estos dos procesos:

Mode     La ficha Mode ofrece las siguientes opciones:

IDM Object Filters     La ficha IDM Object Filters ofrece las siguientes opciones:

Java Filters     Seleccione la ficha Java Filters para:

Los filtros de Java se suministran en patrones de métodos y se expresan mediante patrones que incluyen o excluyen aplicando un nombre de método canónico. Un nombre de método canónico es:

fully-qualified-class-name.method-name(parameter-type-1, parameter-type-2, ...)


Nota

Para los constructores, method-name es <init>.


He aquí algunos ejemplos:

Si es preciso, puede instrumentar otros jar modificando como interese las líneas siguientes en build.xml. Por ejemplo:

<instrument todir="${lighthouse-dir-profiler}/WEB-INF" verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" excludeMethods="${profiler.excludes}">

<fileset dir="${lighthouse-dir}/WEB-INF">

<include name="lib/idm*.jar"/>

<include name="classes/**/*.class"/>

</fileset>

</instrument>

De forma predeterminada, la configuración incluye todas las clases personalizadas y la mayoría de las clases de Identity Manager. Se excluyen forzosamente diversas clases de Identity Manager, ya que su habilitación interrumpiría el analizador.

Por ejemplo, se excluyen las clases de los motores de flujo de trabajo, formularios y XPRESS, porque de lo contrario el analizador generaría una instantánea ininteligible al analizar objetos de Java e Identity Manager.

Los filtros de Java ofrecen mucha más granularidad de filtrado que los de objeto de IDM. La instrumentación de Java sobrecarga significativamente el tiempo de ejecución, lo que puede sesgar radicalmente los resultados del análisis. Como los objetos de Identity Manager se interpretan en lugar de compilarse, apenas hay sobrecarga de instrumentación. De ahí que, por ejemplo, no haya razones básicas para excluir el flujo de trabajo A e incluir el flujo de trabajo B, etc.


Nota

No es posible modificar los filtros de Java mientras se ejecuta el analizador. Antes debe detener el analizador.


Misceláneo     La ficha Miscellaneous ofrece las siguientes opciones:

Uso de la vista del analizador de IDM

La vista del analizador de IDM contiene las áreas:

Área Current Project     El área Current Project consta de un menú descendente que contiene todos los proyectos actuales. Use este menú para seleccionar el proyecto que desea analizar.

Área Controls     El área Controls contiene cuatro iconos, descritos en la tabla siguiente:

Icono

Función

Icono Iniciar analizador de Identity Manager

Iniciar analizador de Identity Manager

Inicia el analizador y abre el cuadro de diálogo Profiler Options.

Detener analizador de Identity Manager

Detener analizador de Identity Manager

Detiene el analizador.

Ilustración del icono Restaurar resultados recogidos.

Restaurar resultados recogidos

Restaura todos los resultados del análisis recogidos hasta ese momento.

Icono Modificar análisis

Modificar análisis

Vuelve a abrir el cuadro de diálogo Profiler Options para que pueda cambiar las opciones que desee a fin de modificar los resultados del análisis actual.

Área Status     El área Status le indica si está conectado al sistema principal y le ofrece información de estado conforme el analizador se inicia, se ejecuta y se detiene.

Área Profiling Results     El área Profiling Results contiene dos iconos, descritos en la tabla siguiente:

Icono

Función

Icono Capturar instantánea

Iniciar analizador de Identity Manager

Inicia el analizador y abre el cuadro de diálogo Profiler Options.

Ilustración del icono Restaurar resultados recogidos.

Restaurar resultados recogidos

Restaura todos los resultados del análisis recogidos hasta ese momento.

Área Saved Snapshots     El área Saved Snapshots contiene una lista de todas las instantáneas guardadas.


Nota

Las instrucciones para guardar instantáneas se encuentran en Guardar una instantánea.


Además, puede usar uno de los botones siguientes para administrar esas instantáneas:

Uso de la vista de instantáneas

Al abrir una instantánea, los resultados aparecen en la ventana de vista de instantáneas, situada en el lado superior derecho de Identity Manager IDE.

Una instantánea ofrece varias vistas de los datos, que se describen en las secciones siguientes:

Vista de llamadas en árbol     La vista de llamadas en árbol contiene una tabla de árbol con el control del tiempo de llamada y el recuento de invocaciones en todo el sistema.

Esta tabla contiene tres columnas:

Vista de zonas activas     La vista de zonas activas ofrece una lista lineal de nodos con los controles acumulados de tiempo de llamadas, independientemente del elemento principal.

Esta vista contiene las siguientes columnas:

Vista de retroseguimientos     La vista de retroseguimientos proporciona una pila de llamadas invertida con todas las cadenas de llamada desde las que se ha llamado el nodo.

Puede usar estas estadísticas para responder a la pregunta: ¿Cuánto tiempo ahorraría si eliminase esta cadena de llamada concreta de este  nodo?

Puede acceder a la vista de retroseguimientos desde cualquiera de las demás vistas de instantáneas haciendo clic con el botón secundario en un nodo (denominado nodo raíz) y seleccionando Show Back Traces en el menú emergente.


Notas

Los valores de datos de Time e Invocations tienen un significado distinto en la vista de retroseguimientos:

  • Time: Los valores de esta columna representan el tiempo invertido en el nodo raíz cuando se llama desde una cadena determinada.
  • Invocations: Los valores de esta columna representan el número de veces que se ha invocado el nodo raíz desde una cadena de llamada determinada.

Vista de receptores de llamadas     La vista de receptores de llamadas muestra un árbol de llamadas agregadas de un nodo (denominado nodo raíz), cualquiera que sea la cadena principal.

Estas estadísticas resultan útiles cuando hay un área problemática que se llama desde muchos lugares mediante el árbol de llamadas maestro y se desea ver el análisis global del nodo.

Puede acceder a la vista de receptores de llamadas desde cualquiera de las demás vistas de instantáneas haciendo clic con el botón secundario en un nodo (denominado nodo raíz) y seleccionando Show Callees en el menú emergente.


Nota

Los valores de datos de Time e Invocations de la vista de receptores de llamadas tienen el mismo significado que los de la vista de llamadas en árbol.


Uso de las opciones de menú emergente

Al hacer clic con el botón secundario en una vista de llamadas en árbol o de zonas activas, aparece un menú emergente con las opciones descritas en la tabla siguiente:

Opción de menú

Descripción

GoTo Source

Seleccione esta opción para ver el origen XML de un nodo que corresponda a un método Java, flujo de trabajo, formulario, regla o XPRESS. Para obtener más información sobre esta vista, consulte Búsqueda y gestión del orígenes en el analizador

Show Back Traces

Seleccione esta opción para acceder a la vista de retroseguimientos. Para obtener más información sobre esta vista, consulte Vista de retroseguimientos

Show Callees

Seleccione esta opción para acceder a la vista de receptores de llamadas. Para obtener más información sobre esta vista, consulte Vista de receptores de llamadas

Find In Hotspots

Seleccione esta opción para buscar un nodo en la vista de zonas activas. Para obtener más información sobre esta vista, consulte Vista de zonas activas

List Options > Sort >

Seleccione esta opción para ordenar por:

  • Ninguno
  • Árbol de llamadas
  • Hora
  • Invocaciones
  • Orden ascendente
  • Orden descendente

List Options > Change Visible Columns

Seleccione esta opción para cambiar las columnas mostradas en la lista de árbol de llamadas o zonas activas.

En el cuadro de diálogo Change Visible Columns puede especificar una o varias de las opciones siguientes:

  • Call Tree: Árbol de llamadas
  • Invocations: Invocaciones
  • Time: Hora

Búsqueda en una instantánea

Use el icono de búsqueda , situado en la parte superior de la ventana de la vista de instantáneas, para buscar nodos por su nombre en las vistas de llamadas en árbol o de zonas activas.

Otra posibilidad es hacer clic con el botón secundario en la vista de llamadas en árbol o de zonas activas y seleccionar Find in Call Tree o Find in Hotspots (respectivamente) en el menú emergente para buscar un nodo.

Guardar una instantánea

El analizador ofrece varias opciones para guardar una instantánea. Encontrará una descripción de estas opciones en la tabla siguiente:

Icono

Función

Icono Capturar instantánea

Icono Guardar instantánea en el proyecto (ubicado en la parte superior de la ventana de vista de instantáneas)

Guarda la instantánea en el directorio nbproject/private/idm-profiler del proyecto. Las instantáneas guardadas en el proyecto aparecen en la sección Saved Snapshots de la vista del analizador.

Ilustración del icono Restaurar resultados recogidos.

Icono Guardar instantánea externamente (ubicado en la parte superior de la ventana de vista de instantáneas)

Guarda la instantánea en una ubicación externa arbitraria.

Ilustración con el botón Save As del área Saved Snapshots.

Botón Save As (situado en el área Saved Snapshots)

Guarda la instantánea en una ubicación externa arbitraria.

Tutorial: Solución de problemas de rendimiento

Identity Manager ofrece un tutorial (profiler-tutorial.zip) que le ayuda a usar el analizador para solucionar problemas con formularios, Java, reglas, flujos de trabajo y XPRESS.

Paso 1: Creación de un proyecto de Identity Manager

Siga estos pasos para crear un proyecto de Identity Manager:

  1. Seleccione File > New Project.
  2. Cuando aparezca el asistente New Project, especifique lo siguiente y luego haga clic en Next:
    1. En la lista Categories, seleccione Web para indicar el tipo de proyecto que va a crear.
    2. En la lista Projects, seleccione Identity Manager Project.

    3. Nota

      Debe crear un proyecto normal de Identity Manager para un entorno de desarrollo totalmente funcional. No seleccione la opción Identity Manager Project (Remote).


  3. Rellene los campos siguientes del panel Name and Location y luego haga clic en Next:
    • Project Name: Escriba Idm80 como nombre del proyecto.
    • Project Location: Utilice la ubicación predeterminada o especifique otra.
    • Project Folder: Utilice la carpeta predeterminada o especifique otra.
  4. Cuando Identity Manager aparezca el panel Identity Manager 8.0 WAR File Location, introduzca la ubicación del archivo war. Normalmente, al descomprimir este archivo se crea un archivo idm.war en el mismo directorio.
  5. Haga clic en Next para pasar al panel Repository Setup.
  6. Como no debe ser necesario cambiar la configuración predeterminada de este panel, basta con hacer clic en Finish. Cuando vea el mensaje BUILD SUCCESSFUL en la ventana Identity Manager IDE, puede extraer los archivos de tutorial del analizador. Consulte las instrucciones en Paso 2: Extracción del tutorial del analizador.

Paso 2: Extracción del tutorial del analizador

Descomprima profiler-tutorial.zip en el directorio raíz del proyecto. Los archivos extraídos incluyen:

<raíz proyecto>/custom/WEB-INF/config/ProfilerTutorial1.xml

<raíz proyecto>/custom/WEB-INF/config/ProfilerTutorial2.xml

<raíz proyecto>/src/org/example/ProfilerTutorialExample.java

<raíz proyecto>/ PROFILER_TUTORIAL_README.txt

Ahora ya puede iniciar el analizador.

Paso 3: Inicio del analizador

Para iniciar el analizador:

  1. Siga las instrucciones de Antes de empezar para ampliar la memoria del servidor y de la JVM donde está Netbeans.
  2. Utilice uno de estos métodos descritos en Descripción general para iniciar el analizador.
  3. Cuando aparezca el cuadro de diálogo Profiler Options, puede especificar las opciones de análisis.

Paso 4: Especificación de las opciones del analizador


Nota

Para obtener más información sobre todas las opciones del analizador, consulte Especificación de las opciones del analizador.


Para realizar este tutorial, especifique las siguientes opciones del analizador:

  1. En la ficha Mode, seleccione Java and IDM Objects para analizar objetos de formulario, Java, regla, flujo de trabajo y XPRESS.
  2. Seleccione la ficha Java Filters.
  3. Siga los pasos indicados a continuación para desactivar todas las clases Java de Identity Manager excepto sus clases Java personalizadas (en este caso, org.example.ProfilerTutorialExample):

    1. Haga clic en New y aparecerá un campo nuevo vacío al final de la columna Filter.
    2. Escriba com.waveset.* en el campo nuevo y después marque la casilla Exclude.
    3. Vuelva a hacer clic en New.
    4. Escriba com.sun.idm.* en el campo nuevo y después marque la casilla Exclude.
  4. Haga clic en OK para ejecutar el analizador.

  5. Nota

    El analizador tarda unos minutos la primera vez que se ejecuta en un proyecto o si se ha realizado hace poco una acción Limpiar un proyecto.


    Cuando el analizador termine el proceso, se le pedirá que inicie la sesión.

  6. Introduzca la contraseña configurator, marque la casilla Recordar contraseña y haga clic en Aceptar para continuar.
  7. Cuando aparezca la ventana de Identity Manager, inicie la sesión.

  8. Nota

    Típicamente debe iniciar la sesión de Identity Manager como otro usuario, no de nuevo como configurator. Ya ha iniciado una sesión del analizador como configurador y sólo se admite una entrada por usuario en el grupo de sesiones de Identity Manager. Si utiliza varias entradas, se puede interrumpir el grupo de sesiones y sesgar los resultados del análisis con problemas de rendimiento más granulares.

    Sin embargo, como en este sencillo ejemplo no importa el grupo de sesiones, puede iniciar la sesión como configurator/configurator.


  9. En Identity Manager, seleccione Tareas de servidor > Ejecutar tareas y después haga clic en ProfilerTutorialWorkflow1.
  10. El tutorial quizá tarde un poco en responder.

  11. Aunque ahora podría capturar una instantánea, lo que hará será restablecer los resultados, ejecutar el analizador, volver a ejecutarlo y después tomar una instantánea.

  12. Nota

    Es mejor ejecutar el analizador un par de veces antes de tomar una instantánea, para asegurarse de que se ceben todas las cachés, se compilen todos los JSP, etc.

    La ejecución repetida del analizador le permite concentrarse en los problemas de rendimiento reales. La única excepción a esta regla es cuando un problema acapara las propias cachés.


    1. Vuelva a la vista del analizador de IDM en Identity Manager IDE. Haga clic en el icono Restaurar resultados recogidos. Ilustración del icono Restaurar resultados recogidos. de la sección Profiling Results (o de Controls) para restablecer todos los resultados recogidos hasta ahora.
    2. En Identity Manager, vuelva a seleccionar Tareas de servidor > Ejecutar tareas y haga clic en ProfilerTutorialWorkflow1.
    3. Cuando aparezca el diagrama de procesos, vuelva al Identity Manager IDE y haga clic en el icono Capturar instantánea de la sección Profiling Results.
  13. El Identity Manager IDE descarga la instantánea y muestra los resultados en el lado derecho de la ventana.
  14. Esta área es la vista de llamadas en árbol. En la parte superior de la vista de llamadas en árbol, debe aparecer un archivo /idm/task/taskLaunch.jsp con un tiempo indicado en la columna Time. Debe mostrar que la solicitud completa tardó seis+ segundos.

  15. Expanda el nodo /idm/task/taskLaunch.jsp, verá que ProfilerTutorialWorkflow1 tardó seis segundos.
  16. Expanda el nodo ProfilerTutorialWorkflow1. Observe que activity2 tardó cuatro segundos y activity1 dos.
  17. Expanda activity2.
  18. Observe que action1 tardó dos segundos y action2 también dos.

  19. Expanda action1 y observará que <invoke> también tardó dos segundos.
  20. Haga doble clic en <invoke> para abrir ProfilerTutorialWorkflow1.xml y resalte la línea siguiente:
  1. Seleccione la ficha CPU:<date><time> para volver a la instantánea.
  2. Expanda el nodo <invoke> y observe que el analizador tardó dos segundos en el método de Java ProfilerTutorialExample.example().
  3. Haga doble clic en el nombre del método para abrir el origen ProfilerTutorialExample.java y resalte la línea siguiente:
  1. Si vuelve a la vista de llamadas en árbol, verá que todas las rutas de dos segundos conducen a este método. (Debe ver tres rutas, con un total de seis segundos.)
  2. Seleccione la ficha Hotspots (situada en la parte inferior del área de llamadas en árbol) para abrir la vista de zonas activas. Fíjese en que ProfilerTutorialExample.example() tiene un tiempo propio total de seis segundos.
  3. (Para obtener más información sobre zonas activas, consulte Vista de zonas activas.)

  4. Haga clic con el botón secundario en ProfilerTutorialExample.example() y seleccione Show Back Traces en el menú emergente.
  5. Aparece una nueva ficha Back Traces en la parte inferior del área.

  6. Expanda el nodo ProfilerTutorialExample.example() de la ficha Back Traces para comprobar que este método se ha llamado desde tres sitios y que ha tardado dos segundos desde cada sitio.
  7. (Para obtener más información sobre Back Traces, consulte Vista de retroseguimientos.)

  8. Haga clic en el icono Guardar instantánea en el proyecto. Ilustración con el icono Guardar instantánea en el proyecto para guardar la instantánea y cerrarla.
  9. Si observa la sección Saved Snapshots de la ficha IDM Profiler, verá la instantánea. (Quizá tenga que desplazarse hacia abajo.)

  10. Seleccione la instantánea guardada y después haga clic en Open para volver a abrirla.

  11. Nota

    Puede utilizar el botón Save As para guardar las instantáneas externamente, y el botón Load para cargar instantáneas desde fuera del proyecto.


  12. Vuelva a cerrar la instantánea.

Uso del analizador con acciones manuales de flujo de trabajo

En la siguiente parte de este tutorial se explica cómo analizar una acción manual de flujo de trabajo.

  1. En Identity Manager, seleccione Tareas de servidor > Ejecutar tareas y después haga clic en ProfilerTutorialWorkflow2.
  2. Al cabo de unos instantes aparecerá un formulario vacío.

  3. Haga clic en Guardar y aparecerá el diagrama de procesos.
  4. Vuelva a seleccionar Tareas de servidor > Ejecutar tareas.
  5. Regrese a la vista del analizador de IDM en Identity Manager IDE y haga clic en el icono Restaurar resultados recogidos de la sección Profiling Results.
  6. Ahora, haga clic sobre ProfilerTutorialWorkflow2 en Identity Manager.
  7. Cuando aparezca de nuevo el formulario vacío, haga clic en Guardar.
  8. En la vista del analizador de IDM, haga clic en Capturar instantánea.
  9. Al cabo de unos segundos debe aparecer una instantánea en el área de llamadas en árbol. Observará que /idm/task/workItemEdit.jsp tardó seis+segundos. (Este resultado corresponde a la acción manual en el flujo de trabajo.)

  10. Expanda el nodo /idm/task/workItemEdit.jsp, verá que se tardó un total de seis segundos en ejecutar todas las derivaciones del formulario de acción manual (ManualAction).
  11. Expanda los nodos Derivation, displayNameForm, variables.dummy y <block>.
  12. Observará que <block> tardó seis segundos, de los cuales el analizador empleó dos segundos en cada una de las tres invocaciones al método ProfilerTutorialExample.example().

  13. Puede hacer doble clic en <block> para ver el origen.

Identity Manager IDE Preguntas frecuentes

En esta sección se responden algunas de las preguntas frecuentes sobre el uso del Identity Manager Integrated Development Environment (Identity Manager IDE). La información se ha dividido como sigue:

Utilización de NetBeans

P: ¿Qué versión de Netbeans debo utilizar?

R: Use la versión de Netbeans indicada en la documentación de producto de Identity Manager suministrada para la versión de complemento de Netbeans que está usando.


Nota

Utilice siempre exactamente la versión indicada, ya que incluso los parches pueden anular funcionalidades principales.


P: El complemento Netbeans funcionaba, hice algo y dejó de funcionar. ¿A qué puede deberse este problema?

R: Este problema suele deberse a un archivo dañado en el directorio .netbeans. Normalmente, basta con borra el directorio .netbeans y reinstalar el complemento NetBeans para solucionar el problema. (Al borrar el directorio .netbeans se desinstala el complemento NetBeans. Se pierde toda la configuración de usuario, pero el contenido del proyecto queda a salvo.)

Los pasos son:

  1. Cierre NetBeans.
  2. Borre el directorio .netbeans.
  3. Inicie NetBeans.
  4. Instale el complemento NetBeans.
  5. Reinicie NetBeans.

Trabajar con proyectos

P: Se tarda mucho en compilar y ejecutar un proyecto y parece que el Identity Manager IDE copia un montón de archivos. ¿A qué puede deberse este problema?

R: Este problema puede tener varias causas:

P: Ahora que he creado un proyecto de Identity Manager, ¿qué archivos deben registrarse en control de origen?

R: Para obtener información, consulte la sección “CVS Best Practices” del archivo README.txt de Identity Manager IDE.

P: ¿Cuáles son las prácticas recomendadas para gestionar proyectos en CVS?

R:Para obtener información, consulte la sección “CVS Best Practices” del archivo README.txt de Identity Manager IDE.

P: ¿Cuándo se importan objetos al repositorio?

R: Para obtener información, consulte Uso del repositorio.

P: ¿Cómo se añade un nuevo JAR al proyecto?

R: Consulte la sección “How to add a new JAR dependency” del archivo README.txt de Identity Manager IDE.

Uso del repositorio

P: ¿Qué repositorio debo utilizar para mi zona protegida?

R: Use el repositorio incrustado para su zona protegida, sobre todo si utiliza Identity Manager 7.1 (o superior), que tiene disponible un repositorio HsSQL. Se pierde funcionalidad cuando no se utiliza el repositorio incrustado.

Para obtener más información, consulte la sección “Working with the Repository” del archivo README.txt de Identity Manager IDE.

P: ¿Cuándo se importan objetos automáticamente?

R: Hay que configurar Identity Manager IDE para importar objetos automáticamente.

Los pasos son:

  1. En el menú de IdM, seleccione Repositorio > Manage Embedded Repository.
  2. Active la opción Automatically Publish Identity Manager Objects en el cuadro de diálogo Manage Embedded Repository.

  3. Nota

    Esta opción no está disponible para Identity Manager Project (Remote) ni cuando se especifica un repositorio propio.


  4. Seleccione Project > Run Project o Project > Debug Project.
  5. El Identity Manager IDE importa automáticamente todos los objetos que han cambiado desde la última vez que se ejecutó el proyecto.


    Nota

    La publicación automática de objetos de Identity Manager aumenta el tiempo necesario para iniciar el servidor. Para minimizar el tiempo de inicio del servidor, desactive esta opción y transfiera los objetos explícitamente al repositorio.


P: ¿Cuál es el medio más eficaz de transferir objetos?

R:Utilice uno de estos métodos para transferir objetos modificados:

Con cualquiera de estos métodos se transfieren los objetos directamente al servidor, lo que evita problemas de latencia en caché y resulta mucho más rápido que Run Project o Debug Project. La función Upload Objects está disponible con independencia del repositorio utilizado.

Uso del depurador del Identity Manager IDE

P: El depurador del Identity Manager IDE es muy lento. ¿A qué puede deberse este problema?

R: Para aumentar el rendimiento del depurador:

P: No puedo definir un punto de interrupción en el depurador. ¿A qué puede deberse este problema?

R: Las condiciones siguientes pueden impedir que se defina un punto de interrupción:

P: He definido un punto de interrupción en el depurador y no suspende en dicho punto. ¿A qué puede deberse este problema?

R: Hay que comprobar dos cosas:

Uso de reglas

P: Cuando se desarrollan reglas en Netbeans, ¿por qué no está disponible el modo de diseño para una biblioteca de reglas?

R: La funcionalidad del modo de diseño está disponible desde el árbol del explorador en la vista del proyecto. Siga estos pasos:

  1. Expanda el nodo de la biblioteca y haga clic con el botón secundario en una regla.
  2. En el menú emergente, seleccione Properties y luego Body.


Ajuste, solución de problemas y mensajes de error en Identity Manager

Esta sección contiene información nueva y corregida relacionada con el documento Sun Identity Manager Tuning, Troubleshooting, and Error Messages.


Ámbito de localización

Históricamente, en Identity Manager no se localizan las funciones y los objetos de recurso, porque son principalmente ejemplos que se cargan (mediante init.xml) durante la inicialización de Identity Manager y porque los atributos de tipo de objeto pueden variar de una a otra implementación de cliente según el nivel de personalización. A continuación se indican áreas que pueden aparecer en inglés: (ID-16349)


Ayuda en línea

Esta sección contiene correcciones de documentación a la ayuda en línea.