Herramientas personales
 

Virtualizacion

De


Contenido

Virtualización

Introducción

La virtualización de entidades en Bizagi es un mecanismo de integración, que permite a los procesos de Bizagi acceder a diferentes fuentes de Datos (RDBMS, XMLs etc.), y presentar la información que reside en estos repositorios externos, como parte del proceso de negocio.


Este mecanismo de integración a nivel de datos, se realiza sincronizando la información existente en el repositorio original con la base de datos de los procesos de Bizagi en tiempo de ejecución.

De esta manera, la información de una entidad virtualizada puede ser consultada o actualizada en el transcurso de una actividad o un proceso de negocios modelado.


Bizagi ofrece un asistente gráfico y módulo de configuración para la virtualización con fuentes de datos externas como SQL Server y Oracle. Dicho asistente guía la configuración del proveedor de datos y conexión, y representación de las entidades en el modelo de datos de Bizagi sin la necesidad de programación.


La librería de virtualización que incluye Bizagi por defecto (a través del asistente gráfico), soporta la integración con las siguiente versiones de bases de datos: MSSQL 2000, 2005, 2008 ú Oracle (9i, 10g R2, 11g R1, 11g R2). De ser necesario acceder a otro tipo de fuente de datos, entonces se puede realizar una implementación personalizada para acceder a dicha fuente (por ejemplo, mySQL database, un archivo xml, Microsoft Access, etc), sobrecargando los métodos usados por Bizagi.





Nota: La funcionalidad para incluir una implementación personalizada, para utilizar la virtualización contra cualquier otra fuente de datos (diferente a Oracle y SQL Server), está soportada por la edición Bizagi Enterprise .Net.


Requerimientos

La fuente de datos externa debe cumplir los siguientes requerimientos:

Image:Bulletazul.gif El acceso al sistema de información externo debe estar disponible en tiempo real; si este no es el caso, debería ser implementada replicación de datos en lotes.

Image:Bulletazul.gif Si la virtualización va a acceder una base de datos, esta debería estar normalizada. Esto es requerido para identificar claramente las llaves de negocio en cada entidad de tal manera que Bizagi pueda identificar sin equivocaciones una instancia. Adicionalmente, las relaciones entre entidades Bizagi las cuales serán virtualizadas deben también existir en la fuente externa.

Image:Bulletazul.gif La fuente externa debe exponer mecanismos para seleccionar, insertar, actualizar y borrar instancias de entidades (usando funciones, procedimientos almacenados, servicios web, etc.)

Image:Bulletazul.gif De ser necesario, el mapeo de datos y las validaciones de tipos de datos deben incluirse explícitamente, para validar y evaluar posibles conversiones de Bizagi a la fuente de datos externa.

Image:Bulletazul.gif La virtualización de registros se ejecuta en línea y bajo demanda (al consultar, crear o actualizar registros). Ante este funcionamiento es importante resaltar que para los datos de conexión al proveedor de datos externos se debe contar con permisos de lectura y escritura sobre la fuente.


Nota: Cuando se virtuliazan entidades contra una fuente de datos Oracle, para utilizar el asistente gráfico de Bizagi, se requiere instalar Oracle Data Provider para .Net.


Cómo funciona la virtualización?

El administrador de entidades (entityManager) de Bizagi es el componente el cual maneja el acceso a datos de las entidades virtuales a los sistemas externos. Una vez una entidad se define como “virtual”, el administrador de entidades usa una interfaz de virtualización para acceder el sistema externo.

Bizagi provee una interfase para acceder entidades en los sistemas manejadores de bases de datos SQL Server u Oracle DBMS, pero es posible integrar en Bizagi una interfaz personalizada para acceder cualquier datos de otro sistema. Esto es especialmente poderoso cuando se tienen sistemas "legacy", como por ejemplo con un AS/400.


Una vez la capa de virtualización tiene la información requerida para conectarse y transportar datos a la fuente de datos, se ejecutan las funciones requeridas por Bizagi (select, insert, update or delete) y se retornan valores o datos; de esta manera los analistas de negocio estarán utilizando entidades “externas” de la misma forma como lo hacen con las entidades locales (formas, reglas de negocio, notificaciones, etc.).


La virtualización aplica para entidades de tipo Maestras en Bizagi (datos transaccionales), y se soporta la configuración de entidades con llaves compuestas. Para utilizar la integración con entidades de parametrización de Bizagi (listas de valores), referirse a la Replicación de Bizagi.


Beneficios

La capacidad de Bizagi para virtualizar cualquier entidad definida en Bizagi provee los siguientes beneficios:

Image:Bulletazul.gif Habilita a Bizagi para ofrecer al analista de negocios un modelo de datos corporativo limpio para manejar y cambiar la información de los procesos.

Image:Bulletazul.gif Los analistas de negocio siempre se enfrentaran a datos usados por el proceso como si estuvieran disponibles en el administrador de entidades de Bizagi e.g. como datos locales. De esta manera ellos no tienen que entender las complejidades asociadas con la localización física actual de los datos.

Image:Bulletazul.gif El diagrama de flujo del proceso no deberá incluir actividades técnicas (como por ejemplo de acceso a datos) y de aquí los procesos organizacionales permanecen fáciles de leer y entendibles por la audiencia de negocio.

Image:Bulletazul.gif Tener un solo componente para proveer todas las actividades de acceso a datos externos simplifica notablemente el mantenimiento de la solución. El número de interfaces con sistemas externos se reduce significantemente.

Image:Bulletazul.gif Las reglas de negocio no deberán involucrar acciones de acceso a datos mapeo de campos.

Image:Bulletazul.gif Se fomenta la integración con modelos y sistemas existentes, como parte integral de la solución BPM en una empresa.

Image:Bulletazul.gif La distribución del trabajo en los proyectos BPM se vuelve más clara: los analistas de negocio diseñan e implementan procesos y reglas de negocio, mientras el personal de IT diseña e implementa virtualización de entidades y componentes de integración.


La siguiente figura ilustra los beneficios presentes en la virtualización.




En la figura de arriba, el modelo de datos de proceso representa las entidades para el proceso de negocio, pero algunas de ellas ya existen como entidades en otros sistemas (bases de datos, mainframes, archivos, etc).

La capa de virtualización provista por el administrador de entidades de Bizagi ofrece el mecanismo para manipular de una manera transparente las entidades “remotas” en los sistemas externos.

Para acceder los datos remotos, la capa de virtualización usa una clase que Bizagi provee que trabaja con las entidades externas en bases de datos SQL Server y Oracle usando OLEDB como capa de conexión y transporte.
Es posible tener acceso a otras fuentes de datos diferentes implementando una clase de virtualización especifica para el sistema o manejador de base de datos usando cualquier conexión y mecanismo de transporte (ODBC, OLEDB, Client Access, HTTP, Sockets, etc.).

Estas interfaces de virtualización pueden implementar diferentes métodos requeridos por Bizagi para acceso a datos y manipulación (select, insert, update, delete, etc.).



Lineamientos generales y otros aspectos

Image:Bulletazul.gif Es altamente recomendable hacer el diseño de la virtualización antes de empezar la creación de entidades en Bizagi. Esto significa definir la relación modelo-entidad para la virtualización al inicio del proyecto.

Image:Bulletazul.gif Una vez el sistema está en un ambiente de producción, la versión actual del componente de deployment no soporta la conversión automática de entidades virtualizadas a no virtualizadas y viceversa (es decir, si se virtualiza una tabla in el ambiente de prueba, esta acción no será ejecutada automáticamente por el deployment una vez un proceso es transferido al ambiente de producción). Esto significa que la correcta identificación de cuáles tablas deberían y no deberían ser virtualizadas debe darse antes de llevar el sistema a producción.

Image:Bulletazul.gif Cuando se desarrolla una clase de virtualización personalizada se deberá cuidar el desempeño. El acceso a la base de datos de Bizagi desde la clase de virtualización no está permitida y obviamente pocos accesos a la base de datos externa es la mejor estrategia para alcanzar máximo desempeño.

Image:Bulletazul.gif Es muy recomendable que el modelo entidad relación esté en la tercera forma normal (normalizado) antes de enfrentar los aspectos de la virtualización.

Image:Bulletazul.gif Los tipos de datos en la fuente externa deberían ser tan similares como sea posible (idealmente iguales) a los tipos de datos de Bizagi. Si los tipos de datos no pueden ser mapeados naturalmente a los tipos de datos de Bizagi entonces la interface de virtualización debe implementar estas conversiones.

Image:Bulletazul.gif El nombre de las entidades de Bizagi virtualizadas deben ser de máximo 15 caracteres (obligatoriamente); al hacer planes para la nomenclatura de la definición de los nombres de entidades locales hay que tener esto en cuenta.



Borrado de instancias de entidades

Uno de los principales aspectos a tener en cuenta cuando se trabaja con entidades externas consiste en la sincronización en el “borrado” de instancias entre entidades Bizagi y entidades externas.

Bizagi es el responsable de mantener la integridad de casos y referencias a instancias de entidades; mientras las instancias externas pueden ser borradas por aplicaciones de terceros esto pude resultar en posibles referencias inválidas de un caso de proceso a las instancias de entidades borradas.

Para evitar esto, Bizagi guarda todas las referencias a las instancias y si la entidad es borrada en la fuente externa entonces Bizagi la marca como “borrada” pero la información de la instancia es salvada en estructuras de Bizagi para mantener la integridad de la información en los casos.

Bizagi sabrá que una instancia a sido borrada la próxima vez que el proceso intente tener acceso a la instancia. En ese momento Bizagi llamará la interfase apropiada de la capa de virtualización y esta interfase arrojara una excepción predefinida de “instancia borrada” que Bizagi manejará automáticamente.
De otro lado, el borrado local de entidades es inmediatamente reflejado en la fuente externa si la capa de virtualización (métodos y timeout) esta configurada de esta forma.



Consideración para Bizagi Enterprise JEE

Para la configurar la virtualización o replicación en un ambiente de Pruebas o Producción específicamente, en un proyecto de la edición Bizagi Enterprise JEE (para procesos que estén sobre un Servidor de Aplicaciones JEE), se requiere un paso adicional para registrar las fuentes de datos externas a nivel del servidor.

Para llevar a cabo este paso, asegúrese previamente que el servidor de aplicaciones se haya configurado para trabajar con Bizagi.

Tenga en cuenta que este paso únicamente se requiere en un ambiente diferente al de Desarrollo (ya que en este caso, Bizagi Studio configura de manera automática las fuentes de datos externas en el servidor JBoss 7.1.1).

Vea cómo configurar la virtualización y replicación en un Servidor JEE.


Artículos Relacionados