Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El ejemplo DocumentApprovalProcess demuestra el uso conjunto de varias características de Windows Workflow Foundation (WF) y Windows Communication Foundation (WCF). Juntos implementan un escenario de proceso de aprobación de documentos. Una aplicación cliente puede enviar documentos para su aprobación y aprobar documentos. Existe una aplicación de administrador de aprobaciones para facilitar las comunicaciones entre los clientes y aplicar las reglas del proceso de aprobación. El proceso de aprobación es un flujo de trabajo que puede ejecutar varios tipos de aprobación. Existen actividades para obtener una sola aprobación, una aprobación de quórum (un porcentaje de un conjunto de aprobadores) y un proceso de aprobación complejo que consta de un quórum seguido de una sola aprobación en secuencia.
Detalles de ejemplo
En el gráfico siguiente se muestra el flujo de trabajo del proceso de aprobación de documentos:
Desde la perspectiva del cliente, el proceso de aprobación funciona de la siguiente manera:
Un cliente se suscribe para que sea un usuario en el sistema de proceso de aprobación.
Un cliente WCF envía información a un servicio WCF que está alojado en la aplicación del administrador de aprobaciones.
Se devuelve un identificador de usuario único al cliente. El cliente ahora puede participar en los procesos de aprobación.
Una vez unido, un cliente puede enviar un documento para su aprobación mediante procesos de aprobación únicos, cuórum o complejos.
Al hacer clic en un botón de la interfaz del cliente, se inicia una instancia de servicio de flujo de trabajo en un host de servicio de flujo de trabajo del cliente.
El flujo de trabajo envía una solicitud de aprobación a la aplicación del administrador de aprobaciones.
El administrador de flujos de trabajo inicia un flujo de trabajo por su cuenta para representar un proceso de aprobación.
Una vez que se ejecuta el flujo de trabajo de aprobación del administrador, los resultados se devuelven al cliente.
El cliente muestra los resultados.
Un cliente puede recibir una solicitud de aprobación y responder a la solicitud en cualquier momento.
Un servicio WCF hospedado en el cliente puede recibir una solicitud de aprobación de la aplicación del administrador de aprobaciones.
La información del documento se presenta en el cliente para su revisión.
El usuario puede aprobar o rechazar el documento.
Un cliente WCF se usa para enviar una respuesta de aprobación de nuevo a la aplicación del administrador de aprobaciones.
Desde el punto de vista de la aplicación del administrador de aprobaciones, el proceso de aprobación funciona de la siguiente manera:
Un cliente solicita participar en el sistema de procesos de aprobación.
Un servicio de WCF en el administrador de aprobaciones recibe una solicitud para formar parte del sistema del proceso de aprobación.
Se genera un identificador único para el cliente. La información del usuario se almacena en una base de datos.
El identificador único se devuelve al usuario.
Se recibe una solicitud de aprobación. El administrador de aprobación ejecuta un proceso de aprobación.
El administrador de aprobaciones recibe una solicitud de aprobación, iniciando un nuevo flujo de trabajo.
Dependiendo del tipo de solicitud (simple, cuórum o complejo) se ejecuta una actividad diferente.
Las actividades de envío y recepción con correlación se usan para enviar la solicitud de aprobación al cliente para su revisión y recibir la respuesta.
El resultado del flujo de trabajo del proceso de aprobación se envía al cliente.
Uso del ejemplo
Para configurar la base de datos
- Desde un símbolo del sistema de Visual Studio abierto con privilegios de administrador, vaya a esta carpeta DocumentApprovalProcess y ejecute Setup.cmd.
Para configurar la aplicación
Con Visual Studio, abra el archivo de solución DocumentApprovalProcess.sln.
Para compilar la solución, presione Ctrl+MAYÚS+B.
Para ejecutar la solución, inicie la Aplicación del Administrador de Aprobaciones haciendo clic con el botón derecho sobre el proyecto ApprovalManager en el Explorador de Soluciones y seleccionando Depurar - >Iniciar nueva instancia en el menú contextual.
Espere a que la salida del administrador le permita saber que está lista.
Para ejecutar el escenario de aprobación única
Abra un símbolo del sistema con permisos de administrador.
Vaya al directorio que contiene la solución.
Navegue a la carpeta ApprovalClient\Bin\Debug y ejecute dos instancias de ApprovalClient.exe.
Haga clic en Detectar y espere hasta que el botón suscribirse esté habilitado.
Escriba cualquier nombre de usuario y haga clic en Suscribirse. Para un cliente, use
UserType1
y para el otro tipo de clienteUserType2
.En el
UserType1
cliente, seleccione el tipo de aprobación único en el menú desplegable y escriba un nombre de documento y contenido. Haga clic en Solicitar aprobación.En el
UserType2
cliente, aparece un documento en espera de aprobación. Selecciónelo y presione aprobar o rechazar. Los resultados deben mostrarse en elUserType1
cliente.
Para ejecutar el escenario de aprobación de quórum
Abra un símbolo del sistema con permisos de administrador.
Vaya al directorio que contiene la solución.
Navegue a la carpeta ApprovalClient\Bin\Debug y ejecute tres instancias de ApprovalClient.exe.
Haga clic en Detectar y espere hasta que el botón suscribirse esté habilitado.
Escriba cualquier nombre de usuario y haga clic en Suscribirse. Para un cliente, use
UserType1
y para los otros dos, escribaUserType2
.En el
UserType1
cliente, seleccione el tipo de aprobación de cuórum en el menú desplegable y escriba un nombre de documento y contenido. Haga clic en Solicitar aprobación. Esto solicita que los dosUserType2
clientes aprueben o rechacen el documento. Aunque ambosUserType2
clientes deben responder, solo un cliente debe aprobar el documento para que se apruebe.En los
UserType2
clientes, aparece un documento en espera de aprobación. Selecciónelo y presione aprobar o rechazar. Los resultados deben mostrarse en elUserType1
cliente.
Para ejecutar el escenario de aprobación complejo
Abra un símbolo del sistema con permisos de administrador.
Vaya al directorio que contiene la solución.
Navegue a la carpeta ApprovalClient\Bin\Debug y ejecute cuatro instancias de ApprovalClient.exe.
Haga clic en Detectar y espere hasta que el botón suscribirse esté habilitado.
Escriba cualquier nombre de usuario y haga clic en Suscribirse. Para un cliente, utilice
UserType1
, en dos usos, escribaUserType2
, y en el último uso,UserType3
.En el
UserType1
cliente, seleccione el tipo de aprobación único en el menú desplegable y escriba un nombre de documento y contenido. Haga clic en Solicitar aprobación.En los
UserType2
clientes, aparece un documento en espera de aprobación. Selecciónelo y presione Aprobar, el documento se pasa alUserType3
cliente.Si el primer quórum
UserType2
aprueba el documento, el documento se pasa al clienteUserType3
.Apruebe o rechace el documento del
UserType3
cliente. Los resultados deben mostrarse en elUserType1
cliente.
Para realizar una limpieza
- Desde un símbolo del sistema Visual Studio, vaya a la carpeta DocumentApprovalProcess y ejecute Cleanup.cmd.