Citrix workflow permite realizar flujos de trabajo basados en reglas para toda la infraestructura de aplicaciones, permitiendo agrupar componentes tecnológicos y automatizando los procesos. En el siguiente artículo podremos ver el funcionamiento de esta herramienta de Citrix para la gestión de procesos.

 Flow01

 

Citrix Workflow, proporciona un valor añadido al usuario, haciendo mas eficiente el personal de asistencia.

El funcionamiento de Citrix Workflow se basa en instrucciones de tipo virtual de cualquier producto y los presenta como objetos gráficos que se pueden enlazar entre sí en un flujo de trabajo visual.

Optimizado con bibliotecas para interactuar con las soluciones Microsoft (AD), Citrix y de terceros, esta basado en las tecnologías Microsoft .NET, PowerShell y Windows Workflow Foundation.

 

Como crear un simple workflow de inicio

 

Para ello vamos a realizar un ejemplo muy sencillo, creando un diagram de flujo para el arranque de máquinas virtuales de XenServer.

Empezando el proyecto:

Insertamos el  “Workflow Start”, tarea con la cual empiezan todos los diagramas:

 

A continuación añadimos una nueva tarea, la cual realizará una conexión y nos facilitará el nombre de las máquinas virtuales disponibles en el servidor XenServer.

3

 

En esta definiremos el usuario, passwd, IP Servidor, Puerto de conexión con el servidor XenServer (Este ejemplo es muy sencillo, pero cada uno de los campos puede ser solicitado anteriormente al usuario con una tarea “User Input” guardando el resultado en variables).

img4

  En este punto, es necesario que el usuario tome la decisión de elegir que máquina virtual debe ser arrancada, para ello utilizaremos la tarea “User Option” en la cual facilitaremos los datos obtenidos de “Get-VM” y solicitaremos que se elija uno o varias máquinas para el arranque de las mismas.

 img5

img6

 

En esta se nos mostrarán todas las máquinas sin ordenar (por orden de aparición) – sort list: None – en $XenVMs – definida anteriormente – por su nombre – List Variable Propertly Name: Name – y se guardan las máquinas seleccionadas en la variable $StartV.

  • Podemos ver una lista de las ListVariablePopertlyName si seleccionamos (…) de la opción OptionList: (Collection) de la tarea “Get-VM".

img7

Llegado a este punto, es el momento de arrancar las máquinas indicadas. Para ello, haremos uso de la tarea “For Each Object”. Cada objeto seleccionado anteriormente (en referencia al nombre de las máquinas virtuales, ejmpl. $StartVM.Name, será tratado dentro según una función definida. Ahora, añadiremos la tarea y la configuraremos como mostramos a continuación.

 img8

Indicamos la variable de entrada, y con que nombre será usada dentro de la función. Por defecto, aquí dispondremos de una nueva tarea “WorkFlow Start”. Solo queda añadir la última tarea, en nuestro caso “Start-VM”.

 

img9

 

En esta indicamos nuevamente los datos de conexión al servidor Xen, como antes, es posible usar variables. Aquí la parte importante es, VM variable, pues realizará la acción, por cada VM seleccionada anteriormente.

 

 img10

 

Terminado, tenemos el siguiente esquema básico, que nos permitirá arrancar una máquina virtual. De echo, este workflow permitirá arrancar una máquina virtual a cualquiera sin disponer de conocimientos de XenServer pudiendo de este modo, realizar flujos de trabajo para las tareas más habituales proporcionando todas las ventajas anteriormente comentadas.

 img11