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:
- Mediante WebSphere Integration Developer, un modelador asocia una tarea
recién creada con la configuración de plug-in de personal
bpe/staff/sampleldapconfiguration.
- 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"
- 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>
- 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:
- Dirección de correo electrónico para miembros de departamento
- Dirección de correo electrónico para miembros de grupo
- Dirección de correo electrónico para miembros de grupo sin usuarios de
nombres
- Dirección de correo electrónico para miembros de grupo sin usuarios con
filtro
- Dirección de correo electrónico para la búsqueda de grupos
- Dirección de correo electrónico para miembros de rol
- Dirección de correo electrónico para usuarios
- Dirección de correo electrónico para usuarios por ID de usuario
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.