Deployment Avanzado

<< Click to Display Table of Contents >>

Navigation:  Bizagi Engine > Administración del Sistema Bizagi > Deployment de procesos y nuevas versiones >

Deployment Avanzado

Introducción

Bizagi presenta una herramienta de Deployment Avanzado como alternativa al Deployment-en-un-clic que se ofrece desde Bizagi Studio, para realizar el Deployment de los Procesos en situaciones donde hay requerimientos sofisticados.

Para más información sobre el Deployment-en-un-clic (donde Bizagi asiste y realiza automáticamente el despliegue de paquetes de información), consulte el Deployment de sus procesos.

 

 

¿Cuándo utilizar el Deployment Avanzado?

El Deployment de los Procesos se realiza una vez se haya completado la fase de automatización, para publicar uno o más Procesos implementados hacia el ambiente de pruebas y el ambiente de producción.

El Deployment Avanzado cubre escenarios avanzados con requerimientos de Deployment tales como:

 

1. Proyectos que requieren de un Deployment fuera de línea (offline).

Llevar a cabo un Deployment offline se requiere cuando no hay conexión de red entre el ambiente de desarrollo (donde está Bizagi Studio), y el ambiente final de producción (p.e, podrá ubicarse en un servicio en la nube, en un data center en otro dominio y red, etc).

 

2. Proyectos con automatización de procesos en un cronograma en paralelo.

Aplica para proyectos a gran escala con un gran número de desarrolladores que automatizan varios procesos los cuales van quedando completos en diferentes momentos.

Este caso aplica cuando se quieran publicar unos procesos listos mientras se continúa la implementación de otros, y no se quiere detener su avance mientras se realiza el deployment.

 

3. Proyectos que manejan más de los 3 ambientes por defecto.

Aplica dependiendo de la naturaleza de los procesos, y para aquellos que son de misión crítica y que a nivel corporativo exigen que se utilicen más de los 3 ambientes que se presentan por defecto.

El Deployment-en-un-clic de Bizagi considera el ambiente de desarrollo, junto con un ambiente de pruebas y uno de producción.

Al utilizar ambientes adicionales como por ejemplo una réplica de producción, o staging, deberá utilizar el Deployment Avanzado.

 

4. Proyectos donde se desee conservar cierta información.

El Deployment Avanzado provee un procedimiento más flexible que el deployment tradicional, dado que habilita una serie de opciones para revisar o modificar la información que será llevada desde desarrollo hacia el ambiente destino (pruebas o producción).

Es muy útil cuando los usuarios avanzados conocen bien qué necesitan publicar y qué no.

De esta manera, todos los objetos de Bizagi (Entidades, reglas, formas, etc) pertenecientes a uno o más Procesos pueden seleccionarse de manera explícita, o desmarcarse (para no ser tenidos en cuenta) en el deployment.

Esto incluye la posibilidad de preservar los casos de prueba de un ambiente de pruebas.

 

 

¿Cómo funciona?

En breve, el Deployment Avanzado mediante su herramienta, le permitirá seleccionar los procesos y subprocesos a publicar al ambiente de pruebas o de producción, a través de un set de 4 archivos ejecutables:

 

Puede de manera opcional:

Incluir otros objetos (no necesariamente atados a los Procesos seleccionados), para llevarlos en el deployment.

Excluir objetos para los cuales tiene la certeza que no desea llevarlos en el deployment.

 

Esta información es exportada a un paquete de Deployment de Bizagi (un archivo utilizando una extensión .bex).

 

El archivo .bex se lleva al ambiente de producción, y es utilizado para analizar y visualizar lo que se va a importar al ambiente destino (se pueden revisar los objetos que serán llevados en el deployment), de manera que se pueda asegurar que la estructura e información que va a quedar en pruebas o producción sea la adecuada.

Este análisis realiza una comparación contra la Base de datos de destino, modificandola.

 

Importante

Antes de continuar, considere las siguientes implicaciones:

 

1. Deployment inicial podrá hacerse con el Deployment-en-un-clic

Cuando ejecuta sus procesos sobre una plataforma de .NET, se recomienda realizar el primer Deployment (puesta en marcha inicial) a través del Deployment-en-un-clic.

De esta manera Bizagi asistirá en la creación del ambiente destino (el Portal, servicio Scheduler y la Base de datos), y permitirá que Bizagi valide ciertos objetos y la existencia del ambiente de producción.

Si definitivamente no es viable utilizar el Deployment-en-un-clic incluso para el primer Deployment, entonces tendrá que crear la base de datos en blanco del modelo de Bizagi a través del Deployment Avanzado.

 

2. Si utiliza el Deployment Avanzado, deberá seguir utilizándolo siempre

Es posible decidir utilizar el Deployment Avanzado (su herramienta), aún si se ha utilizado el Deployment en un clic de Bizagi (pero no

viceversa).

Esto significa que una vez que se decida utilizar el Deployment Avanzado para su proyecto, no será posible cambiar y volver a utilizar el Deployment en un clic (el Deployment tradicional presentado en Bizagi Studio).

 

Para los proyectos que hayan usado la herramienta para el Deployment Avanzado, cualquier Deployment a futura deberá seguirse realizando por medio del Deployment Avanzado.

 

3. Siempre cree sus backups

Las herramientas de Deployment Avanzado no crean backups de manera automática de ninguna Base de datos.

Recuerde que como medida de contingencia, se recomienda siempre tomar backups de sus distintos ambientes del proyecto, antes de realizar cambios significativos en ellos.  El Deployment realiza cambios significativos, sea por medio del Deployment en un clic o el Deployment Avanzado.

 

Esto implica que si se utiliza el Deployment Avanzado, se debe tomar un backup del ambiente destino (pruebas o producción), por lo menos antes de aplicar cualquier cambio (p.e antes de importar paquetes).

 

4. No eliminar los objetos en el ambiente de Desarrollo a menos que no se utilicen en producción

Es muy importante que tenga en cuenta que al usar el Deployment Avanzado, Bizagi Studio no podrá realizar sus validaciones de dependencias.

Es decir, si un objeto ya existe en producción.

Ante esto, es sumamente indispensable que no se eliminen objetos en desarrollo que estén siendo usados en producción y que se creen nuevas versiones de Proceso cuando se requieran realizar cambios sobre los Procesos.

 

5. Planee y coordine el Deployment

Al igual que con el Deployment en un clic, se recomienda programar y llevar a cabo el Deployment Avanzado en un horario no laboral.

Esto promueve poder tener rápidas medidas de contingencia como la restauración de backups, en caso de que los resultados del Deployment no sean los esperados.

 

6. Considere ambientes adicionales si aplica

Dependiendo de la criticidad de los Procesos y si se deben hacer pruebas sobre las instancias existentes (casos en producción) o dependiendo del tipo de cambios que se realizaron en desarrollo, se puede optar por usar un ambiente alterno  (de Staging o Réplica de producción), para llevar a cabo pruebas de aceptación de usuario rigorosas enfocadas a los casos de producción.

Esto significa crear de antemano un ambiente temporal sólo con el propósito de probar cómo se comportaría el Deployment final en producción.

Al realizar esto mediante la restauración de un backup, se tendría una forma de revisar si algún cambio o información adicional debe llevarse en el Deployment.

Al utilizar este ambiente temporal, tenga en cuenta cambiar la configuración del Servidor SMTP, cualquier interfaz configurada, ECMs o Proveedores  de datos, las direcciones de correo configuradas para usuarios o en el negocio, etc,  para que no se disparen servicios reales de producción.

 

 

Perfil requerido

El usuario que lleve a cabo un Deployment Avanzado, debe contar con el siguiente perfil:

1. Tener un conocimiento básico sobre la estructura de un XML (para editar los archivos de configuración).

2. Tener acceso a las Base de Datos involucradas (con credenciales de super usuario).

3. Tener conocimiento sobre automatización de Procesos en Bizagi (conceptos y Experto de Bizagi Studio).

Para más información sobre el tratamiento que Bizagi da a los objetos en un deployment, consulte el Deployment de los objetos.

4. Tener un entendimiento sobre los Procesos implementados en particular, en el proyecto.

Esto implica conocer sobre el propósito de los Procesos involucrados, sus versiones, modelo de datos, integraciones, configuración de seguridad, parámetros de ambiente y su administración (p.e políticas, alarmas, valores de entidades de parametrización), y el funcionamiento del Proceso en general.

 

Tenga en cuenta que para llevar a cabo pruebas adecuadas (de aceptación de usuario), se debe poder determinar cuál es el comportamiento esperado de los Procesos en el Portal de Trabajo de acuerdo a las diferentes posibilidades de negocio.

 

 

Archivos ejecutables del Deployment Avanzado

El Deployment Avanzado provee 4 archivos ejecutables diferentes, cada uno con su archivo de configuración y con un fin específico.

Estos archivos ejecutables vienen instalados por defecto en la ruta del Management Console (en C:\Program Files\Bizagi\Bizagi Studio\MC).

 

ExecutableFiles

El propósito de cada ejecutable y dónde debe utilizarse se describe en la tabla a continuación (este archivo se ubica bajo el nombre que listamos, con la extensión .exe).

 

Ejecutable

Propósito

¿Dónde debe utilizarse?

CreateDatabase.exe

Crea una base de datos en blanco con el modelo de Bizagi, justo como lo realiza Bizagi Studio o el Management Console cuando se crea un proyecto nuevo.

Se requiere especialmente porque a través del Advanced Deployment no se crea una base de datos sino que se parte de una base de datos existente a donde se van a aplicar los objetos de su implementación (entidades, formas, reglas, etc).

En una máquina que tenga acceso al servidor de base de datos de Producción.

Export.exe

Crea un archivo de exportación .bex export donde tendrá el paquete de objetos de su ambiente de Desarrollo.

En una máquina que tenga acceso al servidor de base de datos del ambiente de Desarrollo.

Podrá usarlo directamente desde donde se encuentra Bizagi Studio.

CreateImport.exe

Crea un paquete de importación .bim donde tendrá los objetos finales que llevará a su ambiente de Producción. Se realiza después del análisis al archivo .bex para considerar si debe haber un manejo especial en la información de los 2 ambientes  (p.e hacer merge).

En una máquina que tenga acceso al servidor de base de datos de Producción.

 

Archivos de configuración

La configuración de los ejecutables mencionados anteriormente se realiza a través de sus archivos con extensión .config.

Estos archivos de configuración contienen formato XML y corresponden de la siguiente manera:

CreateDatabase.exe.config para CreateDatabase.exe

Export.exe.config para Export.exe

CreateImport.exe config para CreateImport.exe

 

Todos los archivos de configuración contienen la siguiente estructura, donde requieren configuración de 3 llaves dentro del elemento <appSettings>:

ProofConcept_Utility: Contiene el nombre del utilitario, al archivo ejecutable que referencia.

DSNDB: Contiene el string de conexión a la base de datos al cuál el ejecutable se conecta. En el caso del CreateDatabase.exe, la conexión representa la base de datos que aún no ha sido creada.

PROVIDERTYPE: Especifica el proveedor de datos para esa conexión (SQL Server o Oracle).

 

 

ConfigFiles

 

Para configurar un ejecutable, deberá incluir el detalle de la conexión a la base de datos y del proveedor.

 

Al utilizar SQL Server:

<add key="DSNDB" value="Persist Security Info=True;User ID=[SQL_Login];Password=[Login_password];Data Source=[DB_Server]\[Named_instance];Initial Catalog=[Database];" />

<add key="PROVIDERTYPE" value="MSSqlClient" />

Considere:

[SQL_Login]: La cuenta de login que se utiliza para conectarse a una instancia SQL Server.

[Login_password]: La contraseña de la cuenta de login de la conexión.

[DB_Server]: Nombre o dirección IP del servidor de base de datos. Utilice \[nombre_instancia] si aplica (si no es la instancia sin nombre por defecto).

[Database]: El nombre de la base de datos del ambiente de su proyecto. Recuerde que para el CreateDatabase particularmente, esta base de datos es la que aún no ha sido creada.

 

 

note_pin

Al configurar los archivos ejecutables, el login de SQL Server requerirá de permisos de sysadmin.

 

Al utilizar Oracle:

<add key="DSNDB" value="Data Source=[DB_Server]:[Port_number]/[Service];User ID=[User_schema];Password=[User_schema_password];Unicode=True;" />

<add key="PROVIDERTYPE" value="Oracle" />

Considere:

[DB_Server]: Nombre o dirección IP del servidor de base de datos.

[Port_number]: El número de puerto utilizado para la conexión a ese servicio.

[Service]: El identificador de servicio usado para su base de datos Oracle.

[User_schema]: El nombre de la base de datos del ambiente de su proyecto (esquema de usuario). Recuerde que para el CreateDatabase particularmente, esta base de datos es la que aún no ha sido creada.

[User_schema_password]: La contraseña para ese esquema de usuario.

 

 

CreateDatabase.exe

Utilice este ejecutable si su proyecto se ejecuta sobre una plataforma de JEE, o si va a realizar un Deployment inicial a un determinado ambiente (p.e, el primer Deployment a ambiente de pruebas o de producción).

Deberá crear una base de datos en blanco del modelo de Bizagi únicamente la primera vez para que el Deployment Avanzado aplique scripts sobre una base de datos existente.

Significa que para Deployments siguientes (incrementales), no necesita utilizar este ejecutable.

 

Recuerde que para los proyectos que se ejecutan sobre una plataforma de .NET, podrá considerar el uso del Deployment-en-un-clic para el primer Deployment.

De ser así, entonces no necesitará del CreateDatabase.exe.

 

note_pin

Tenga en cuenta:

Si usted crea una Base de datos SQL Server, deberá asegurarse que la instancia tenga un puerto TCP/IP explícito.

Para mayor información sobre los requisitos y configuración de SQL Server, consulte Configuración de SQL Server.

Si usted crea una Base de datos Oracle, deberá asegurarse de haber creado previamente el usuario BizagiAdmon.

La nueva Base de datos quedará con la misma contraseña del usuario BizagiAdmon, de manera que deberá especificar la contraseña de BizagiAdmon para la nueva configuración.

Para mayor información sobre los requisitos y configuración de Oracle, consulte Crear un proyecto utilizando Oracle.

 

Para utilizar CreateDatabase.exe, previamente asegúrese de haber copiado la carpeta completa del MC en una ruta local de una máquina con acceso a la base de datos de producción (la carpeta MC contiene los 3 archivos ejecutables y las dlls necesarias).

Seguidamente:

1. Edite el archivo CreateDatabase.exe.config para especificar el detalle de la conexión a la base de datos que desea crear.

2. Ejecute el CreateDatabase.exe.

La interfaz de usuario le presentará lo siguiente:

Target (destino): Enseña la base de datos y el servidor de base de datos configurado, al cuál se está conectado.

 

CreateDatabase

 

note_pin

Tenga en cuenta que las configuraciones unicode de su base de datos de desarrollo serán copiadas a su entorno de producción.

 

3. Cree la base de datos.

Para ello, utilice una de las 2 opciones:

Create Bizagi Test database (Crear la base de datos para ambiente de pruebas):  Haga clic en este enlace para comenzar la creación de la base de datos en blanco, que quedará inicialmente marcada como ambiente de pruebas.

Create Bizagi Production database (Crear la base de datos para ambiente de producción): Haga clic en este enlace para comenzar la creación de la base de datos en blanco, que quedará inicialmente marcada como ambiente de producción.

 

CreateDatabase_confirm

 

Una vez que confirme la acción, el progreso de la creación de base de datos se enseña:

 

CreateDatabase_progress

 

Tan pronto finaliza exitosamente, podrá cerrar el ejecutable.

 

CreateDatabase_finished

 

 

Export.exe

Utilice este ejecutable para generar el paquete inicial de objetos que se extraen desde el ambiente de desarrollo.

Este ejecutable es el único que se configura apuntando a la base de datos del ambiente de desarrollo.

Para utilizar Export.exe:

1. Edite el archivo Export.exe.config para especificar el detalle de la conexión a la base de datos de desarrollo.

2. Ejecute el Export.exe.

 

Export1_patchA

 

La interfaz de usuario le presentará lo siguiente:

Target (destino): Enseña la base de datos y el servidor de base de datos configurado, al cuál se está conectado.

Panel principal: Lista todos los procesos y sus versiones. Asegúrese de marcar la casilla de los cuales desea incluir.

Nótese que podrá hacer clic derecho sobre la versión de proceso para utilizar la opción Define additional dependencies para definir dependencias adicionales y forzar la inclusión de ciertos objetos independientes en el deployment. Tenga en cuenta que los procesos que no sean explícitamente seleccionados no se incluirán en el deployment aún cuando estén relacionados en otra parte.

Para definir objetos adicionales, podrá marcar registros específicos de las tablas de Bizagi. Si la entidad marcada no tiene atributos, no será incluida en el deployment.

Realice esto adicionando la tabla desde la lista desplegable y marcando las casillas de esos registros:

 

Dependencies

 

 

Set Advanced Import-export (Marcar el uso del import-export): Se recomienda dar clic en esta opción para marcar explícitamente en el proyecto que se está utilizando el deployment Avanzado.

De esta manera, desde Bizagi se pueden realizar validaciones adicionales para proteger la integridad, y se pueden llevar a cabo las actualizaciones de versión con un mejor enfoque.

 

SetAdvanced

 

 

Advanced options (Opciones avanzadas): Ofrecen las posibilidades para excluir o incluir objetos del sistema, administrados por Bizagi.

 

AdvancedOptions

 

OPCIÓN

¿CUÁNDO UTILIZARLA?

Incluir valores de parámetros de ambiente

Puede incluir valores que se administran de manera diferente en sus ambientes. Se recomienda sin embargo, cerciorarse de que dichos valores de parámetros (p.e el servidor SMTP, las URL de las interfaces, etc) correspondan correctamente a su ambiente.

Incluir trabajos personalizados

Si su proyecto utiliza trabajos personalizados y desea llevarlos en el deployment, asegúrese de marcar esta casilla.

Incluir organización

Seleccione cualquier configuración que desee incluir en el deployment.

Incluir opciones de autenticación

Usted puede incluir las opciones de autenticación que haya personalizado previamente en Bizagi Studio para este proyecto. Sin embargo, éstas opciones pueden ser administradas a través del Management Console en su ambiente de producción.

Incluir instancias de las entidades

Se recomienda inicialmente validar y revisar que registros se llevan en el deployment de las entidades de parametrización.

Si tiene entidades de este tipo donde su valor no será administrado desde producción, asegúrese que esta casilla esté marcada.

 

3. Seleccione los componentes de la experiencia haciendo clic en el botón Componentes de Experiencia. Tenga en cuenta todas las consideraciones previas, teniendo en cuenta componentes de experiencia ya que algunos de éstos pueden ser incluidos en deployment sin alguna relación necesaria o componente para trabajar correctamente. Para más información refiérase al artículo Relacionar Objetos.

 

advanced_components

 

4. Dé clic sobre el botón Export.

Esta acción generará el paquete con los objetos seleccionados de sus versiones de proceso y lo almacenará como un archivo .bex.

En este punto ya el Export se ha utilizado pero puede usar las opciones presentadas para "después del export" para revisar qué contiene exactamente su paquete y evaluar si requiere volver a crear uno.

Podrá ver de qué tablas se tienen objetos completamente o parcialmente.

 

AfterExport

 

CreateImport.exe

Utilice este ejecutable para analizar el paquete que creó previamente a través de Export.

El análisis que se lleva a cabo en este punto considera cómo se manejaría la aplicación de este paquete sobre el ambiente de producción (manejo de conflictos, merge) sin hacer cambios algunos aún.

Al finalizar el análisis usted podrá aplicar el paquete seleccionado, el cual es el paquete final para su ambiente de producción.

 

Para utilizar CreateImport.exe, previamente asegúrese de haber copiado la carpeta MC en una máquina que tenga acceso a la base de datos del ambiente de producción (esta carpeta contiene los 3 ejecutables y las dlls que se utilizan).

Seguidamente:

1. Edite el archivo de configuración CreateImport.exe.config de manera que especifique la cadena de conexión a su base de datos del ambiente de producción.

2. Ejecute CreateImport.exe.

 

Import1

 

La interfaz de usuario le presentará lo siguiente:

Target (destino): Enseña la base de datos y el servidor de base de datos configurado, al cuál se está conectado.

Load file (cargar archivo): Utilice esta opción para iniciar con el uso de CreateImport. Deberá cargar el paquete .bex que se creó previamente a través del Export.exe

Export file details (Detalle de exportación): Podrá utilizar las opciones: View process objects to import (Ver objetos de proceso a importar), o View entities to import (Ver entidades a importar) para revisar la información que se incluye en el paquete (tal como se presentan dichas opciones desde el Export).

 

View process objects to import (Ver objetos de proceso a importar): lista las entidades internas (del sistema) que tienen la información del proceso y que serán incluidas en el deployment.

View entities to import (Ver entidades a importar): ista las entidades de parametrización que contienen registros que serán insertados o actualizados en producción.

3. Revise los objetos a incluir en el deployment.

Utilice las opciones View/edit process objects to import (Ver/editar los objetos de proceso) y View/edit entity objects to import (Ver/editar los objetos de entidades) para explícitamente excluir aquellos objetos que no desee incluir en el ambiente final de producción.

 

A través de ambas opciones podrá utilizar filtros y desmarcar exactamente los registros que no desee considerar en el paquete:

 

ViewEditObjects

 

 

3. Haga clic en Aplicar a la base de datos (Apply into target database).

Esta opción da inicio al procedimiento de aplicar el paquete, correrá procedimientos en la base de datos de destino (por ejemplo su ambiente de producción), y por lo tanto es importante que tome las medidas necesarias en este punto.

 

Import03

 

Esto podrá tardar un par de minutos y recuerde que en este punto se ejecutarán scripts a nivel de base de datos.

Una vez haya finalizado, se notificará el éxito de la operación:

 

 

 

ImportAnalysis

 

 

Pasos posteriores

Una vez se haya completado el deployment de procesos a través del Deployment avanzado, recomendamos que se limpie la caché del servidor en producción antes de anunciar la finalización del deployment.

 

Cuando se ejecutan los procesos sobre un IIS (plataforma de .NET), después de realizar un deployment avanzado deberá limpiar la memoria caché del Portal de trabajo y de la base de datos.

Para realizar esto, invoque los siguientes servicios web de Bizagi disponibles en cada proyecto:

Caché de formas de la base de datos: http://[su_servidor][su_proyecto]/webservices/cache.asmx?op=CleanRenderCache

Caché de aplicación: http://[su_servidor][su_proyecto]/webservices/cache.asmx?op=CleanUpCache

 

Nótese que seguidamente deberá reiniciar los servicios del IIS.