Acerca del servicio de personal

Con Business Process Choreographer puede separar la lógica de procesos de empresa y las tareas humanas de la resolución de personal. Las consultas de personal se resuelven con un plug-in que es específico del servicio de directorio. A continuación se describen los aspectos básicos del uso del servicio de personal:

Para obtener información detallada sobre los plug-in de resolución de personal, consulte los documentos técnicos Process Choreographer: Staff Resolution Architecture, Process Choreographer: Programming Model for Staff Resolution y Process Choreographer: Staff Resolution Parameter Reference en WebSphere Business Process Choreographer

Conceptos de consulta de personal y servicio de personal

Utilice WebSphere Integration Developer para definir consultas de personal para el servicio de soporte de personal. Las consultas de personal se basan en plantillas de consulta de personal y verbos de personal y están asociadas con los roles previstos para tareas humanas y procesos de empresa como, por ejemplo, ProcessStarter y PotentialOwners.

Un verbo de personal se identifica con un nombre exclusivo e incluye un conjunto de parámetros de consulta. El verbo de personal parametrizado se transforma durante el despliegue de la aplicación para determinar una consulta de personal específica del depósito. Esto se utiliza durante la ejecución de un proceso de empresa o una tarea humana para recuperar las identidades de los usuarios de un depósito de usuarios.

Cada proceso de empresa o tarea humana está asociado con una configuración de plug-in de personal específica por su nombre JNDI. La configuración se extrae durante el despliegue de la definición de procesos o tareas, y se utiliza para correlacionar todos los verbos de personal encontrados con una consulta de personal específica del depósito. La correlación está regida por un archivo de transformación XSL que toma un verbo de personal como entrada y produce la correspondiente consulta específica del depósito como salida.

Por omisión, se incluyen tres proveedores de plug-in de personal que representan distintas opciones de depósito de usuarios:
  • El proveedor de plug-in de personal LDAP se utiliza para generar consultas de personal que pueden ejecutarse en un servidor LDAP.
  • El proveedor de plug-in de registro de usuarios se utiliza para generar consultas de personal que pueden ejecutarse en un registro de usuarios de WebSphere Application Server.
  • El proveedor de plug-in de personal del sistema no está asociado con un depósito de usuarios, sino que devuelve identidades de usuario que se derivan directamente de los parámetros de verbo de personal. Este proveedor de plug-in está previsto para probar y crear prototipos de propósitos.
Cada uno de los proveedores de plug-in de personal mencionados anteriormente está asociado con una configuración como mínimo. En particular, una configuración especifica un archivo de transformación XSL que realiza la correlación entre verbos de personal y consultas de personal específicas del depósito. Los siguientes archivos de transformación se proporcionan por omisión:
  • El archivo LDAPTransformation.xsl correlaciona verbos de personal con consultas de personal específicas de LDAP que pueden ejecutarse mediante una interfaz JNDI.
  • El archivo UserRegistryTransformation.xsl correlaciona verbos de personal con consultas de personal específicas del registro de usuarios de WebSphere.
  • El archivo SystemTransformation.xsl correlaciona verbos de personal con los ID de usuario reales especificados en los verbos. No requiere un depósito de usuarios reales.
  • El archivo EverybodyTransformation.xsl correlaciona todos los verbos de personal con el resultado por omisión "everybody" (todos). No requiere un depósito de usuarios reales.

Implementación de una consulta de personal

El ejemplo siguiente resume los pasos implicados en la implementación de una consulta de personal:
  1. Mediante WebSphere Integration Developer, un modelador asocia una tarea recién creada con la configuración de plug-in de personal bpe/staff/sampleldapconfiguration.
  2. Mediante WebSphere Integration Developer, el modelador asocia los roles para la tarea con verbos de personal correspondientes, por ejemplo, PotentialOwners está asociado con el verbo de personal "Group Members", incluidos los parámetros:
    • "GroupName" se establece en el valor "cn=group1,dc=mycomp,dc=com"
    • "IncludeSubgroups" se establece en el valor "true"
  3. En el contexto de la tarea, WebSphere Integration Developer almacena la definición de verbo como fragmento de XML:
    <verb>
          <name>Group Members</name>
          <parameter id="GroupName">cn=group1,dc=mycomp,dc=com</parameter>
          <parameter id="IncludeSubgroups">true</parameter>
    </verb>
  4. Cuando la tarea se despliega en WebSphere Application Server, el servicio de soporte de personal establece que debe utilizarse el proveedor de plug-in de personal LDAP bpe/staff/sampleldapconfiguration. El archivo LDAPTransformation.xsl asociado se utiliza para transformar el verbo de personal en una consulta específica de LDAP, que se almacena internamente.

Staff query verb set

El servicio de soporte de personal acepta consultas de forma abstracta que sea independiente de la infraestructura de depósito de usuarios. Tanto el editor de procesos como el editor de tareas tienen un conjunto de verbos de personal predefinidos que pueden utilizarse al modelar procesos y tareas. Estos verbos están contenidos en el archivo VerbSet.xml. Este archivo se instala con WebSphere Integration Developer.

Los plug-in de resolución de personal individuales y los archivos de correlación XSLT no dan soporte a todos los verbos. El verbo Manager of Employee, por ejemplo, no está disponible si utiliza el registro de usuarios o el plug-in del sistema. Puede modificar el conjunto de verbos de consulta de personal. Realice los cambios que desee en una copia del archivo. Asegúrese de que el archivo copiado tenga otro nombre de archivo.

El siguiente conjunto de verbos definidos previamente está disponible. Si desea obtener información sobre los parámetros que pueden utilizarse con cada uno de los verbos, consulte Verbos de personal predefinidos y sus parámetros.

Department Members
Utilice este verbo para definir una consulta a fin de recuperar los miembros de un departamento. Los usuarios recuperados pertenecen a cualquiera de los departamentos especificados (DepartmentName, AlternativeDepartmentName1 o AlternativeDepartmentName2). El plug-in LDAP da soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Everybody
Utilice este verbo para asignar un elemento de trabajo a cada usuario autentificado por WebSphere Process Server. Este verbo recibe soporte del sistema, del registro de usuarios y de los plug-in LDAP.
Group Members
Utilice este verbo para definir una consulta a fin de recuperar los miembros de un máximo de tres grupos. Los usuarios recuperados pertenecen a alguno de los grupos especificados (GroupName, AlternativeGroupName1 o AlternativeGroupName2). El registro de usuarios y los plug-in LDAP dan soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Miembros del grupo sin usuarios denominados
Utilice este verbo para definir una consulta para recuperar los miembros de un grupo, excepto los usuarios denominados explícitamente de ese grupo. Se pueden especificar uno o más miembros para la exclusión en forma de lista separada por comas. El registro de usuarios y los plug-in LDAP dan soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Miembros del grupo sin usuarios filtrados
Utilice este verbo para definir una consulta para recuperar los miembros de un grupo, excepto un conjunto de usuarios definido por un filtro de búsqueda LDAP. El plug-in LDAP da soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Group Search
Utilice este verbo para buscar un grupo basado en una coincidencia de atributo y para recuperar los miembros del grupo. El registro de usuarios y los plug-in LDAP dan soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Manager of Employee
Utilice este verbo para recuperar el superior de una persona con el nombre de la persona. El plug-in LDAP da soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Manager of Employee by user ID
Utilice este verbo para recuperar el superior de una persona con el ID de la persona. Este verbo es útil en combinación con consultas de contexto. El plug-in LDAP da soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Native Query
Utilice este verbo para definir una consulta nativa basada en parámetros específicos de directorio. El registro de usuarios y los plug-in LDAP dan soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Nobody
Utilice este verbo para denegar el acceso normal de los usuarios al elemento de trabajo; para las tareas en línea, sólo tienen acceso el administrador de procesos de empresa y el administrador del sistema de procesos de empresa. Para las tareas autónomas, sólo el administrador de tareas humanas y el administrador del sistema de tareas humanas tienen acceso. En función de la API utilizada, el administrador J2EE autorizado será diferente. Para la API de procesos de empresa será el usuario BPESystemAdministrator, mientras que para la API de tareas humanas será el usuario TaskSystemAdministrator. Este verbo recibe soporte del sistema, del registro de usuarios y de los plug-in LDAP.
Person Search
Utilice este verbo para buscar una persona mediante una coincidencia de atributo. El registro de usuarios y los plug-in LDAP dan soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Role Members
Utilice este verbo para recuperar los usuarios asociados con un rol de depósito de personal. Los usuarios recuperados pertenecen a cualquiera de los roles especificados (RoleName, AlternativeRoleName1 o AlternativeRoleName2). El plug-in LDAP da soporte a este verbo. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Users
Utilice este verbo para definir una consulta de personal sobre un usuario cuyo nombre se conoce. No se recomienda utilizar códigos para los nombres de usuario en las plantillas de procesos. Este verbo es útil para propósitos de prueba. Este verbo recibe soporte del sistema, del registro de usuarios y de los plug-in de LDAP. Puede que tenga que personalizar el archivo XSLT de correlación por omisión para que coincida con el esquema LDAP de la organización.
Users by user ID
Utilice este verbo para definir una consulta de personal sobre un usuario cuyo ID de usuario se conoce. Aun cuando no se recomienda utilizar código para los ID de usuario en plantillas de proceso y tarea, este verbo resulta de utilidad junto con consultas de contexto, por ejemplo:
User [username='%wf:process.starter%']
Este verbo es útil para propósitos de prueba. Este verbo recibe soporte del sistema, del registro de usuarios y de los plug-in LDAP.

Consultas de personal específicas del depósito

El archivo de transformación XSL que está asociado con una configuración de plug-in de personal se utiliza para generar consultas de personal específicas para un depósito concreto. Cada consulta puede ejecutarse por el plug-in de personal respectivo para obtener una lista de ID de usuario. Las consultas predefinidas que están disponibles para un plug-in de personal corresponden a las llamadas que el plug-in puede ejecutar y, por tanto, están fijadas.

En función de las consultas predefinidas, pueden formarse consultas más complejas mediante los siguientes mecanismos:
  • Una unión de resultados de consulta implica que los ID de usuario devueltos por las consultas individuales se añadirán a la lista de resultados actual de identidades de usuario. Por ejemplo: el plug-in de personal LDAP permite, entre otras cosas, las consultas predefinidas de los tipos siguientes:
    La lista de los ID de usuario para los miembros de grupo de un grupo específico:
    <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
    ...
    </sldap:usersOfGroup>
    El ID de usuario de un usuario específico:
    <sldap:user dn="uid=user1,dc=mycomp" .../>
    Puede construirse una consulta compleja para la lista de ID de usuario de los miembros del grupo específico, más la identidad del usuario específico:
    <sldap:staffQueries>
         <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
        ...
        </sldap:usersOfGroup>
        <sldap:user dn="uid=user1,dc=mycomp" .../>
    </sldap:staffQueries>
  • Una diferencia entre los resultados de consultas implica que los ID de usuario devueltos por una consulta <remove> se eliminarán de la lista de resultados actual. Por ejemplo, para eliminar "user1" de la lista de ID recuperados de los miembros de grupo específicos:
    <sldap:staffQueries>
         <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
        ...
        </sldap:usersOfGroup>
        <sldap:remove value="user1"/>
    </sldap:staffQueries>
  • Hacer referencia a los resultados de consultas implica que los resultados obtenidos de una consulta se utilizan para influir en el comportamiento de una consulta posterior. Por ejemplo, en el fragmento siguiente, se realizan dos consultas. En la primera, el valor del atributo "manager" de la entrada LDAP para el usuario "uid=user1,…" se recupera y se guarda en la variable intermedia "supervisor" que, a continuación, se utiliza para buscar la entrada LDAP del gestor y recuperar la identidad de usuario asociada.
    <sldap:staffQueries>
           <sldap:intermediateResult name="supervisor">
             <sldap:user dn="uid=user1,dc=mycomp" attribute="manager" ... />
           </sldap:intermediateResult>
          <sldap:user dn="%supervisor% .../>
        </sldap:staffQueries>
Las consultas de personal construidas según las tres reglas de combinación antedichas pueden ejecutarlas los plug-in de personal. Para obtener una descripción detallada de todas las consultas de personal predefinidas para cada uno de los plug-in de personal soportados y otros ejemplos de maneras de combinarlos, consulte los documentos técnicos Process Choreographer: Staff Resolution Parameter Reference de WebSphere Business Process Choreographer.

Archivos de transformación XSL de verbos de personal

El archivo de transformación XSL especificado para una configuración de plug-in de personal define la correlación entre verbos de personal y consultas de personal específicas del depósito. Se espera que cada configuración de plug-in de personal para tener su propio archivo de transformación XSL.

Los archivos de transformación por omisión son:
  • LDAPTransformation.xsl para el plug-in de proveedor de personal LDAP
  • UserRegistryTransformation.xsl para el plug-in de proveedor de personal del registro de usuarios
  • SystemTransformation.xsl y EverybodyTransformation.xsl para el plug-in de proveedor de personal del sistema
Estos archivos de transformación correlacionan el conjunto predefinido de verbos de personal con las consultas correspondientes, simples y compuestas, específicas del depósito. Estos archivos se encuentran en el directorio raíz_instalación/ProcessChoreographer/Staff.

En los archivos de transformación se supone cierta semántica para los verbos de personal y su ejecución mediante las consultas generadas específicas del depósito. Si se necesitan otras semánticas, la correlación del archivo de transformación debe cambiarse como corresponda.

Por ejemplo, el plug-in de personal LDAP se proporciona con un verbo de personal predefinido:
<staff:verb>
		<staff:name>Manager of Employee</staff:name>
   <staff:parameter id="EmployeeName">
          uid=anEmployeeName,cn=users,dc=ibm,dc=com
   </staff:parameter>
</staff:verb>
El archivo LDAPTransformation.xsl correlaciona esto con una consulta LDAP:
<sldap:staffQueries>
     <sldap:intermediateResult name="supervisor">
     <sldap:user dn="anEmployeeName" attribute="manager" 
                                objectclass="inetOrgPerson"/>
     </sldap:intermediateResult>
     <sldap:user dn="%supervisor%" attribute="uid" objectclass="inetOrgPerson"/>
</sldap:staffQueries>
Con esto se supone de manera explícita que el DN LDAP de supervisor se almacena en el atributo del empleado "manager". Si el verbo ha de tener una semántica distinta, por ejemplo, si el supervisor debe venir del atributo LDAP "teacher". Luego, la consulta LDAP específica debe cambiarse como corresponda:
<sldap:staffQueries>
     <sldap:intermediateResult name="supervisor">
     <sldap:user dn="anEmployeeName" attribute="teacher" 
                          objectclass="inetOrgPerson"/>
     </sldap:intermediateResult>
     <sldap:user dn="%supervisor%" attribute="uid" objectclass="inetOrgPerson"/>
</sldap:staffQueries>
Los medios de conseguirlo consisten en adaptar el archivo LDAPTransformation.xsl de la manera correspondiente:
  <xsl:template name="ManagerOfEmployee">
      <sldap:staffQueries>...
      <sldap:intermediateResult>
           <xsl:attribute name="name">supervisor</xsl:attribute>
           <sldap:user>
                 <xsl:attribute name="dn">
                     <xsl:value-of select="staff:parameter[@id='EmployeeName']"/>
                 </xsl:attribute>
                 <xsl:attribute name="attribute">teacher</xsl:attribute>
                 ...
           </sldap:user>
      </sldap:intermediateResult>
      <sldap:user>
            <xsl:attribute name="dn">%supervisor%</xsl:attribute>
            ...
      </sldap:user>
      </sldap:staffQueries>
</xsl:template>
Puede comprender de manera más profunda del comportamiento de correlación si visualiza los archivos de transformación por omisión. Las semánticas de las transformaciones por omisión se describen en Staff query verb set.

Utilización de variables de contexto de tarea y proceso en verbos de personal

En ciertos verbos de personal, puede utilizar variables de contexto de procesos de empresa y tareas humanas como valores de parámetro. Esto permite que el servicio de soporte de personal resuelva los verbos de personal durante la ejecución, basándose en la información suministrada por los contextos. Por ejemplo, el verbo de personal:
<verb>
<name>Users by user ID</staff:name>
	<parameter id="UserID">%htm:input.\name%</staff:parameter>
</verb>
especifica como un parámetro la variable de contexto de tarea htm:input.\name, que indica la parte "name" del mensaje de entrada recibido por la tarea al iniciarse. El servicio de soporte de personal sustituye de forma dinámica la variable de contexto con el valor de contexto de tarea real.

Para ver una descripción de los verbos y los parámetros en los que puede utilizar variables de contexto, consulte Verbos de personal predefinidos y sus parámetros.

E-mail verb set

El conjunto de verbos de correo electrónico de WebSphere Integration Developer sirve para las notificaciones de correo electrónico de las escaladas de tareas. Estos verbos de correo electrónico se transforman durante el modelado y el despliegue en un conjunto de consultas que se pueden ejecutar en un depósito de personal. Se definen verbos de correo electrónico para los verbos de personal más comunes soportados por el plug-in de LDAP. Los siguientes verbos de correo electrónico están disponibles:

Para los demás verbos de personal LDAP, los identificadores de usuario recuperados por los verbos de personal se utilizan como entrada en el verbo Dirección de correo electrónico para usuarios por ID de usuario.

Antes de que los verbos de correo electrónico se puedan ejecutar como consultas en un depósito de personal concreto, deben convertirse en consultas ejecutables mediante la transformación LDAP XSL. El resultado de una transformación (correlación) puede ejecutarse mediante el plug-in de resolución de personal LDAP. Durante la ejecución, la consulta devuelve un conjunto de direcciones de correo electrónico, por ejemplo, user1@mycomp.com, user2@mycomp.com, etc.


Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)