Recomendaciones para la integración de datos

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Mejores prácticas y recomendaciones de implementación > Mejores prácticas en el Modelo de Datos >

Recomendaciones para la integración de datos

Recomendaciones básicas

El siguiente artículo enumera las recomendaciones para las mejores prácticas durante el uso (o el uso planeado) de la funciones de Virtualización y Replicación de Datos de Bizagi.

 

1. Haga un análisis adecuado y diseñe en etapas tempranas

Se recomienda tener en cuenta todas las limitaciones, las posibilidades de integración y el diseño adecuado para el modelado de datos (en análisis y en las fases de diseño de la implementación del proyecto).

De este modo, teniendo en cuenta que las entidades serán virtuales, es una buena práctica crear, antes de empezar, todas las entidades y el Modelo de Datos de Bizagi.

Esto implica:

 

Definir del Modelo de Datos entidad-relación para la Virtualización y Replicación, y definir qué entidades y atributos serán virtuales.

Tener en cuenta que el diseño de la base de datos de la fuente externa debe utilizar la tercera forma normal (normalización).

 

 

2. Siempre mapee sus atributos y relaciones de Bizagi (considerar las referencias a las claves compuestas)

Es estrictamente requerido mapear los atributos a los campos en la fuente externa (los que usted va a utilizar).

Tenga en cuenta que las relaciones creadas en Bizagi también deben ser mapeadas.

Para obtener más información y recomendaciones sobre esta configuración, consulte el ejemplo Cómo configurar la Virtualización, en la que también se puede ver cómo hacer esto cuando se incluye una referencia a una llave compuesta.

 

 

3. Tener puertos externos explícitos (aplica cuando se integra a una fuente de datos de SQL Server)

Cuando se utiliza SQL Server como fuente de datos externa, se recomienda que la configuración de la instancia de la base de datos tenga un puerto TCP explícito:

 

SQLConfiguration06_TCPProperties

 

El uso de un puerto TCP explícito sigue las mejores prácticas (en lugar de puertos TCP dinámicos).

 

Para incluir esta configuración, se debe que incluir una propiedad denominada "SQLServerDBPort" con el valor del puerto TCP de la instancia de SQL Server:

 

VRJEE04_sqlport

 

Esta configuración del atributo SQLServerDBPort solo es requerida para la edición JEE de Bizagi en su ambiente de desarrollo.

 

 

4. La Virtualización de datos funcionando en producción

Tenga en cuenta que una vez que una fuente de datos externa (registrada como un sistema en Bizagi) se ha implementado en un entorno de producción, no será posible convertir este modelo virtualizado en un modelo no virtualizado.

Esto significa que debe verificar cuáles tablas deben y cuáles no deben ser virtualizadas, y esto se debe definir previamente a la implementación de los procesos y su uso en producción.

 

En caso de que necesite dejar de usar la virtualización para su proyecto, usted tendrá que crear nuevas versiones de proceso y asegurarse de que su modelo de datos de proceso considera el uso de una entidad alternativa (que no es virtual).

 

De manera similar, no se recomienda virtualizar en una fuente de datos externa cuando las entidades no virtualizadas ya están desplegadas en Producción (ya han almacenado valores).

Si esto es estrictamente necesario, tome las precauciones adecuadas para los valores actuales y las llaves de negocio.

 

 

5. Nomenclatura de las entidades

Si su fuente de datos tiene nombres muy extensos (en los nombres de tablas o columnas), entonces tenga presente que en Bizagi se tendrá una estructura de datos mapeada a su fuente, soportando dicho nombre extenso, pero la estructura en Bizagi tendrá un nombre truncado.

Esto se debe a que Oracle limita el nombre de estructuras a 26 caracteres, y además de ello, Bizagi pondrá un sufijo al nombre de la estructura cuando se use Virtualización o Replicación.

Recuerde que esto aplica a los nombres de los objetos (aquellos principalmente de uso interno), y no aplica a los nombres para mostrar (a los que finalmente se refieren los usuarios finales).

 

note_pin

Si su fuente de datos (sea el nombre de tabla o de sus columnas) contiene espacios en blanco, entonces deberá asegurarse de configurar y mapear el nombre de la fuente usando los caracteres de escape especfícos de dicho motor de base de datos (p.e. utilizando [] en SQL Server).

 

6. Utilizar los parámetros de optimización cuando sea necesario

Cuando se consulta la información de una fuente externa a través de Virtualización, Bizagi utilizará un parámetro de optimización que se crea separado y consulta por demanda la información que reside en las columnas de tipo texto que tengan más de 100 caracteres. (Es decir, varchar(101), varchar2(200), etc).

 

Por lo tanto, es posible modificar este parámetro para que pueda mejorar el rendimiento en ciertos escenarios.

Para usarlo, agregue la siguiente clave a su archivo web.config:

<add key="AttribMaxLengthThreshold" value="[column_length]"/>

 

Observe que se debe editar el valor de [column_length] con la longitud de la cadena que desea que Bizagi considerare en la consulta principal.

De esta manera, su atributo virtual de más de 100 caracteres no requiere una consulta adicional.

 

7. Tipos de datos adecuados en las llaves primarias

Recordemos que con el fin de utilizar los datos de Virtualización o Replicación, se requiere que la tabla externa contenga una definición de llave primaria.

Al definir las llaves primarias en las tablas externas, recuerde que no es recomendable usar tipos de datos string (por ejemplo, varchar, texto, etc).

La indexación de las llaves primarias y el rendimiento se ve afectado cuando se utilizan estos tipos datos y se debe evitar.

 

8. Uso de las vistas cuando corresponda

La Virtualización y Replicación de datos de Bizagi soporta vistas.

Usted puede utilizar vistas cuando aplique, siempre y cuando las vistas garanticen unicidad en sus registros (haya una columna o conjunto de columnas que lo garanticen y que puedan tomarse como llave de negocio).

 

note_pin

Usualmente las vistas son para propósitos de consulta.

 

Tenga presente que cuando se usa una vista donde se quiere actualizar información desde Bizagi (y cuando la vista sea construida a partir de más de una tabla), el motor de base de datos como tal podrá tener restricciones.

Por ejemplo, en SQL Server, este tipo de vistas solo le permitirá actualizar información en la tabla base (para mayor información, consultar https://msdn.microsoft.com/en-us/library/ms187956.aspx).

 

9. Usar entidades virtuales con atributos virtuales y no-virtuales cuando sea necesario

Es importante entender que si se tiene una entidad virtual, donde hay atributos virtuales y no-virtuales, entonces deberá diseñar sus formas y reglas en general con especial cuidado.

Tenga en cuenta que un modelo mixto (con atributos de ambos tipos) deberá usarse cuando sea necesario, por lo que esto implica que se controle desde su diseño mismo que no se construyan o promuevan filtros que permitan problemas de desempeño.

No se recomienda que hayan filtros combinando atributos de ambos tipos en estos escenarios.

 

En caso de que considere que los requerimientos del Modelo de Datos del proceso necesitarían atributos adicionales para una entidad virtual y usted desee no encontrar problemas potenciales de desempeño, estos podrán ser creados en una entidad separada (que tiene un atributo de referencia Entidad a la Entidad virtual).

En el siguiente ejemplo de Modelo de Datos de un proceso Bizagi, los atributos adicionales "Observaciones" y "Cuentas totales" para un cliente se crean en otra entidad ("Customer_AdditionalInfo") que hace referencia a la entidad virtual Cliente:

 

HT_VirtualizationRelatedEntities26_Allattributes

 

note_pin

La importancia de estas recomendaciones se centra en cómo la Virtualización de Bizagi realiza búsquedas y sincronización de los registros en entidades virtuales (que se realiza directamente en la fuente de datos).

Por lo tanto, en un modelo con atributos mixtos, las consultas que se realicen sobre la fuente podrán no ser las óptimas.

 

10. Incluir en la Virtualización o Replicación de datos, las entidades relacionadas por entidades virtuales

Es importante que diseñe su modelo de datos, teniendo en cuenta que si usted tiene una entidad virtual (o replicada) con atributos que referencien a otras entidades, entonces esas otras entidades deben estar igualmente incluidas en la Virtualización o Replicación de datos (recomendado enfáticamente).

Esto aplica igual recursivamente para esas entidades relacionadas, es decir, si a su vez tienen un atributo que referencia a otras entidades.

 

11. Replicar primero si las Entidades virtuales se relacionan con entidades replicadas

Al tener un modelo mixto en el que tiene tanto la virtualización y replicación, y usted tiene una entidad virtual que tiene un atributo de referencia a una entidad replicada, asegúrese de que los registros replicados (aquellos en la Entidad de parámetros) se han sincronizado anteriormente.

Para ello, usted puede establecer ejecuciones periódicas de replicación.

 

 

Recomendaciones Avanzadas

Las siguientes recomendaciones aplican al utilizar Virtualización Personalizada (sobrescribiendo los métodos predeterminados en Bizagi incluyendo una aplicación propietaria):

 

 

1. Acceso a los datos y evitar bloqueos

Es posible acceder a diferentes fuentes de datos a través de Virtualización Personalizada utilizando cualquier mecanismo de conexión y transporte (ODBC, OLEDB, acceso cliente HTTP, Sockets, etc.). Lo que es importante, es seguir las buenas prácticas de conexión a la fuente (y otras consideraciones especiales) con el fin de gestionar adecuadamente las conexiones y evitar bloqueos.

 

2. Rendimiento

Al desarrollar una aplicación personalizada para una fuente de datos diferente de Oracle o SQL Server, tenga en cuenta las variables de rendimiento.

No está permitido el acceso a la base de datos de Bizagi desde la clase de virtualización y tener pocas conexiones de acceso a la base de datos fuente es la mejor estrategia para alcanzar el máximo rendimiento.

 

3. Implemente el CRUD teniendo en cuenta los tipos de datos

Al utilizar Virtualización Personalizada, la fuente de datos externa debe exponer los mecanismos para: seleccionar, insertar, actualizar y eliminar instancias de la entidad (mediante el uso de funciones, procedimientos almacenados, Servicios Web, etc.).

 

Los tipos de datos del origen de datos externo debe ser lo más parecido posible (idealmente igual) a los tipos de datos de Bizagi.

Si los tipos de datos no se pueden asignar de forma natural a los tipos de datos de Bizagi entonces la interfaz de virtualización debe implementar estas asignaciones.

 

Esto significa que si es necesario, se debe realizar la asignación de datos y las validaciones de tipo de forma manual y en la interfaz de virtualización.

Esto se hace con el fin de evaluar las posibles transformaciones de Bizagi a la fuente de datos externa.