Informazioni sul servizio staff

Con Business Process Choreographer è possibile separare la logica dei processi business e human task dalla risoluzione staff. Le query staff vengono risolte utilizzando un plugin specifico per il servizio directory. Di seguito sono riportati gli aspetti di base per utilizzare il servizio staff:

Per informazioni dettagliate sui plug-in della risoluzione staff, fare riferimento ai White paper di Process Choreographer: Staff Resolution Architecture, Process Choreographer: Programming Model for Staff Resolution e Process Choreographer: Staff Resolution Parameter Reference all'indirizzo WebSphere Business Process Choreographer

Concetto della query e del servizio di staff

Utilizzare WebSphere Integration Developer per definire le query staff per il servizio di supporto staff. Le query staff si basano sulle maschere delle query staff, sui verbi staff e sono associate ai ruoli previsti per i processi business e human task, come ad esempio ProcessStarter e PotentialOwners.

Un verbo staff viene identificato da un nome univoco e comprende una serie di parametri di query. Il verbo staff che dispone di parametri viene trasformato al momento della distribuzione dell'applicazione per determinare una query di staff specifica dell'archivio. Quest'ultima viene utilizzata durante l'esecuzione di un processo business o human task per richiamare le identità degli utenti da un archivio utenti.

Ciascun processo business o human task viene associato ad una configurazione di plug-in specifica mediante il nome JNDI. La configurazione viene estratta al momento della distribuzione dalla definizione del processo o dell'attività e viene utilizzata per mappare ciascun verbo di staff trovato in una query di staff specifica dell'archivio. La mappatura è governata da un file di trasformazione XSL che specifica un verbo staff come input e produce la query specifica dell'archivio come output.

Per impostazione predefinita, sono compresi tre plug-in staff predefiniti, che rappresentano le diverse opzioni di archivio utente:
  • Il provider di plug-in staff LDAP viene utilizzato per generare le query di staff che possono essere eseguite con un server LDAP:
  • Il provider di plug-in staff del registro utente è utilizzato per generare le query di staff che possono essere eseguite con il registro utente WebSphere Application Server.
  • Il provider di plug-in del sistema non è associato ad un archivio utente. Invece, restituisce le identità utente che derivano direttamente dai parametri del verbo staff esistente. Questo provider di plug-in si intende per scopi di verifica e di prototipo.
Ciascuno dei provider di plug-in staff è associato ad almeno una configurazione. In particolare, una configurazione specifica un file di trasformazione XSL che esegue la mappatura tra i verbi staff e le query staff specifiche all'archivio. Per impostazione predefinita, sono forniti i seguenti file di trasformazione:
  • Il file di trasformazione LDAPTransformation.xsl mappa i verbi di staff alle query staff specifiche LDAP che possono essere eseguite mediante un'interfaccia JNDI.
  • Il file UserRegistryTransformation.xsl mappa i verbi di staff alle query staff specifiche al registro utente WebSphere.
  • Il file SystemTransformation.xsl mappa i verbi di staff agli ID utente correnti specificati nei verbi. Non richiede un archivio utente reale.
  • Il file EverybodyTransformation.xsl mappa i verbi di staff al risultato predefinito "everybody". Non richiede un archivio utente reale.

Implementazione di una query di staff

L'esempio di seguito riportato riepiloga i passi per l'implementazione di una query di staff:
  1. Utilizzando WebSphere Integration Developer, un programma di modellazione associa un'attività appena creata alla configurazione del plug-in di staff bpe/staff/sampleldapconfiguration.
  2. Utilizzando WebSphere Integration Developer, il programma di modellazione associa i ruoli dell'attività ai verbi di staff corrispondenti, ad esempio, PotentialOwners viene associato al verbo di staff "Group Members" che comprende i parametri:
    • "GroupName" impostato al valore "cn=group1,dc=mycomp,dc=com"
    • "IncludeSubgroups" impostato al valore "true"
  3. Nel contesto dell'attività, WebSphere Integration Developer memorizza la definizione del verbo come frammento XML:
    <verb>
          <name>Group Members</name>
          <parameter id="GroupName">cn=group1,dc=mycomp,dc=com</parameter>
          <parameter id="IncludeSubgroups">true</parameter>
    </verb>
  4. Quando l'attività viene distribuita in WebSphere Application Server, il servizio di supporto staff stabilisce che deve essere utilizzato il provider di plug-in staff LDAP bpe/staff/sampleldapconfiguration. Il file LDAPTransformation.xsl associato viene utilizzato per trasformare il verbo staff in una query specifica LDAP, memorizzata internamente.

Impostazione verbi delle query staff

Il servizio di supporto staff accetta le query in formato astratto, indipendente dall'infrastruttura dell'archivio utente. Sia l'editor del processo sia l'editor delle attività dispongono di una serie di verbi di staff predefiniti che possono essere utilizzati quando si modellano i processi e le attività. Questi verbi si trovano nel file VerbSet.xml. Questo file viene installato con WebSphere Integration Developer.

I plug-in di risoluzione staff singoli e i file di mappatura XSLT non supportano tutti i verbi. Il verbo Dirigente dell'impiegato, ad esempio, non è disponibile se si utilizza il registro utenti o il plugin di sistema. E' possibile modificare la serie di verbi di query di staff. Apportare le modifiche a una copia del file. Accertarsi che il file copiato abbia un nome differente.

È disponibile la seguente serie predefinita di verbi. Per informazioni sui parametri che possono essere utilizzati con ciascuno dei verbi, consultare Verbi di staff predefiniti e relativi parametri.

Membri reparto
Utilizzare questo verbo per definire una query in modo da richiamare i membri di un reparto. Gli utenti richiamati appartengono a ognuno dei reparti specificati (DepartmentName, AlternativeDepartmentName1 o AlternativeDepartmentName2). Questo verbo è supportato dal plugin LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Tutti
Utilizzare questo verbo per assegnare un elemento di lavoro a ogni utente autenticato da WebSphere Process Server. Tale verbo è supportato dai plugin di sistema, del registro utente e LDAP.
Membri gruppo
Utilizzare questo verbo per definire una query in modo da richiamare i membri fino a tre gruppi. Gli utenti richiamati appartengono a ognuno dei gruppi specificati (GroupName, AlternativeGroupName1 o AlternativeGroupName2). Questo verbo è supportato dai plugin del registro utenti e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Membri di un gruppo senza utenti denominati
Utilizzare questo verbo per definire una query in modo da richiamare i membri di un gruppo, esclusi gli utenti del gruppo esplicitamente denominati. E' possibile specificare uno o più membri per l'esclusione in forma di un elenco separato da virgole. Questo verbo è supportato dai plugin del registro utenti e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Membri di un gruppo senza utenti filtrati
Utilizzare questo verbo per definire una query in modo da richiamare i membri di un gruppo, esclusa una serie di utenti definiti da un filtro di ricerca LDAP. Questo verbo è supportato dal plugin LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Ricerca del gruppo
Utilizzare questo verbo per ricercare un gruppo in base a una corrispondenza di attributi e richiamare i membri del gruppo. Questo verbo è supportato dai plugin del registro utenti e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Dirigente dell'impiegato
Utilizzare questo verbo per richiamare il dirigente di una persona utilizzando il nome della persona stessa. Questo verbo è supportato dal plugin LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Dirigente dell'impiegato per ID utente
Utilizzare questo verbo per richiamare il dirigente di una persona utilizzando l'ID utente della persona stessa. Tale verbo risulta utile insieme alle query di contesto. Questo verbo è supportato dal plugin LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Query nativa
Utilizzare questo verbo per definire una query nativa basata su parametri specifici della directory. Questo verbo è supportato dai plugin del registro utenti e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Nessuno
Utilizzare questo verbo per negare il normale accesso utente all'elemento di lavoro; per le attività in linea, solo l'amministratore business process e l'amministratore di sistema business process possono disporre dell'accesso. Per le attività autonome, solo l'amministratore human task e l'amministratore del sistema human task dispongono dell'accesso. In base all'API utilizzato, l'amministratore J2EE autorizzato sarà diverso. Per l'API del processo business, è l'utente BPESystemAdministrator, per l'API human task sarà l'utente TaskSystemAdministrator. Tale verbo è supportato dai plugin di sistema, del registro utente e LDAP.
Ricerca della persona
Utilizzare questo verbo per ricercare una persona in base a una corrispondenza di attributi. Questo verbo è supportato dai plugin del registro utenti e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Membri del ruolo
Utilizzare questo verbo per richiamare gli utenti associati al ruolo dell'archivio di staff. Gli utenti richiamati appartengono a ognuno dei ruoli specificati (RoleName, AlternativeRoleName1 o AlternativeRoleName2). Questo verbo è supportato dal plugin LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Utenti
Utilizzare questo verbo per definire una query staff per un utente conosciuto tramite il nome. Non si consiglia di codificare in modo permanente i nomi utente nelle maschere di processo. Questo verbo è utile per scopi di test. Tale verbo è supportato dai plugin di sistema, del registro utente e LDAP. Potrebbe essere necessario personalizzare il file XSLT di mappatura predefinito affinché corrisponda allo schema LDAP dell'organizzazione.
Utenti per ID utente
Utilizzare questo verbo per definire una query staff per un utente di cui si conosce l'ID. Sebbene non sia consigliato codificare in modo permanente gli ID utente nelle maschere di processo e di attività, questo verbo è utile insieme alle query di contesto, ad esempio:
Utente [username='%wf:process.starter%']
Questo verbo è utile per scopi di test. Tale verbo è supportato dai plugin di sistema, del registro utente e LDAP.

Query di staff specifiche all'archivio

Il file di conversione XSL, associato alla configurazione del plug-in staff, viene utilizzato per generare query di staff che sono specifiche per un determinato archivio. Ciascuna query può essere eseguita dal rispettivo plug-in staff per ottenere un elenco di ID utenti. Le query predefinite, disponibili per un plug-in staff, corrispondono ai richiami che possono essere eseguiti dal plug-in, pertanto sono fisse.

In base a query predefinite, è possibile formare query più complesse utilizzando i seguenti meccanismi:
  • Un unione di risultati di query implica che gli ID utente restituiti dalle singole query verranno aggiunti all'elenco dei risultati correnti delle identità utente. Ad esempio: il plug-in staff LDAP consente, tra l'altro, per le query predefinite i seguenti tipi:
    L'elenco di ID utente per i membri del gruppo di un gruppo specificato:
    <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
    ...
    </sldap:usersOfGroup>
    L'ID utente di un utente specificato:
    <sldap:user dn="uid=user1,dc=mycomp" .../>
    Una query complessa può essere creata per l'elenco di ID utenti per i membri di un determinato gruppo, compresa l'identità dell'utente specificato:
    <sldap:staffQueries>
         <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
        ...
        </sldap:usersOfGroup>
        <sldap:user dn="uid=user1,dc=mycomp" .../>
    </sldap:staffQueries>
  • Una differenza di risultati di query implica che gli ID utente restituiti da una query <remove> verranno rimossi dall'elenco corrente dei risultati. Ad esempio, se si rimuove "user1" dall'elenco di ID richiamati per membri di un gruppo specificato:
    <sldap:staffQueries>
         <sldap:usersOfGroup groupDN="cn=group1,dc=mycomp" recursive="yes">
        ...
        </sldap:usersOfGroup>
        <sldap:remove value="user1"/>
    </sldap:staffQueries>
  • Il riferimento ai risultati di query implica che i risultati ottenuti da una query siano utilizzati per condizionare il comportamento di una query successiva. Ad esempio, nel seguente frammento, vengono eseguite due query. Primo, il valore dell'attributo "manager" nella voce LDAP per l'utente "uid=user1,…" viene richiamato e salvato in una variabile intermedia "supervisor", che viene, quindi, utilizzata per ricercare la voce LDAP del dirigente e richiamare l'identità utente associata.
    <sldap:staffQueries>
           <sldap:intermediateResult name="supervisor">
             <sldap:user dn="uid=user1,dc=mycomp" attribute="manager" ... />
           </sldap:intermediateResult>
          <sldap:user dn="%supervisor% .../>
        </sldap:staffQueries>
Le query di staff create in base alle tre regole di combinazione illustrate in precedenza possono essere eseguite dai plug-in di staff. Per una descrizione dettagliata di tutte le query di staff predefinite per ciascuno dei plug-in di staff supportati ed ulteriori esempi sulla relativa combinazione, consultare i White paper Process Choreographer: Staff Resolution Parameter Reference all'indirizzo WebSphere Business Process Choreographer.

File di conversione XSL del verbo di staff

Il file di conversione XSL specificato per una configurazione dei plug-in di staff definisce la mappatura tra i verbi di staff e le query di staff specifiche dell'archivio. Si prevede che ciascuna configurazione di plug-in staff disponga del relativo file di conversione XSL.

I file di conversione predefiniti sono:
  • LDAPTransformation.xsl per il plug-in del provider di staff LDAP
  • UserRegistryTransformation.xsl per il plug-in del provider di staff del registro utente
  • SystemTransformation.xsl e EverybodyTransformation.xsl per il plug-in del provider di staff del sistema
Questi file di conversione mappano la serie predefinita di verbi staff alle corrispondenti query semplici e composite specifiche dell'archivio. Questi file si trovano nella directory install_root/ProcessChoreographer/Staff.

I file di conversione presuppongono alcune semantiche per i verbi di staff e la relativa esecuzione utilizzando le query di staff specifiche dell'archivio generate. Se vengono richieste altre semantiche, è necessario modificare di conseguenza la mappatura nel file di conversione.

Ad esempio, il plug-in di staff fornito con un verbo di staff predefinito:
<staff:verb>
		<staff:name>Dirigente dell'impiegato</staff:name>
   <staff:parameter id="EmployeeName">
          uid=anEmployeeName,cn=users,dc=ibm,dc=com
   </staff:parameter>
</staff:verb>
E' mappato mediante il file LDAPTransformation.xsl ad una query 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>
Che presuppone esplicitamente che LDAP DN del supervisore è memorizzato nell'attributo "manager" dell'impiegato. Se questo verbo deve disporre di semantiche diverse, ad esempio, se il supervisore dovrebbe provenire dall'attributo LDAP "teacher". Quindi, la query specifica LDAP deve essere modificata di conseguenza:
<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>
Per ottenere ciò, adattare il file LDAPTransformation.xsl di conseguenza:
  <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>
Per una conoscenza più approfondita del comportamento relativo alla mappatura, visualizzare i file di conversione predefiniti. La semantica delle conversioni predefinite è descritta all'indirizzo Impostazione verbi delle query staff.

Utilizzo di variabili di contesto del processo e dell'attività nei verbi di staff

In alcuni verbi di staff, è possibile utilizzare variabili di contesto business process e human task come valori di parametri. In questo modo, il servizio di supporto staff risolve i verbi staff al runtime in base alle informazioni fornite dai contesti. Ad esempio, il verbo di staff:
<verb>
<name>Utenti per ID utente</staff:name>
	<parameter id="UserID">%htm:input.\name%</staff:parameter>
</verb>
Specifica come parametro, la variabile del contesto dell'attività htm:input.\name, che denota la parte "nome" del messaggio di input ricevuto dall'attività quando è inizializzata. Il servizio di supporto staff sostituisce in modo dinamico la variabile di contesto con il corrente valore del contesto dell'attività.

Per una descrizione dei verbi e dei parametri in cui è possibile utilizzare le variabili di contesto, consultare Verbi predefiniti del servizio Staff e relativi parametri.

Serie di verbi e-mail

La serie di verbi e-mail in WebSphere Integration Developer è per le notifiche è e-mail per le escalation delle attività. Questi verbi e-mail vengono trasformati durante il modellamento e la distribuzione in una serie di query che possono essere eseguite in un archivio di staff. I verbi e-mail vengono definiti per i più comuni verbi staff supportati dal plug-in LDAP. I seguenti verbi e-mail sono disponibili:

Per gli altri verbi staff LDAP, gli identificativi utente richiamati dai verbi staff vengono utilizzati come input per l'Indirizzo e-mail per gli utenti per verbo dell'ID utente.

Prima che i verbi e-mail possano essere eseguiti come query su un archivio staff specifico, devono essere tradotti in query eseguibili utilizzando la trasformazione XSL LDAP. Il risultato di una trasformazione (mappatura) può essere eseguita dal plug-in di risoluzione staff LDAP. Al runtime, la query restituisce una serie di indirizzi e-mail, ad esempio, user1@mycomp.com, user2@mycomp.com e così via.


Terms of use |

Last updated: Thu Mar 30 14:34:14 2006

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)