<< Clic para mostrar Tabla de Contenidos >> 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:
El uso de un puerto TCP explícito sigue las mejores prácticas (en lugar de puertos TCP dinámicos).
4. La Virtualización de datos funcionando en producción
Tenga en cuenta que una vez que una entidad virtual está operativa en un ambiente de producción, no puede convertirla en una entidad no virtual.
Una vez que una fuente de datos externa (registrada como un sistema en Bizagi) ha sido implementada en un Ambiente de Producción, no será posible editar su configuración para que no sea utilizada por entidades virtuales.
Esto significa asegurar qué tablas deben y cuáles no deben ser virtuales, y esto debe estar definido previamente para implementar los Procesos y usarlos en producción.
En caso de que necesite dejar de usar la virtualización de datos para su proyecto, deberá crear una nueva versión de proceso y asegurarse de que su modelo de datos de proceso considere una entidad alternativa (que no está configurada como virtual).
De manera similar, no puede convertir una entidad no virtual en una entidad virtual una vez que esté configurada en un ambiente de producción, por lo que necesitará una nueva entidad.
Se deben tener en cuenta las precauciones adecuadas para los valores existentes 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).
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 específicos 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. Llaves primarias o índices adecuados
Recordemos que con el fin de utilizar los datos de Virtualización o Replicación, se requiere que la tabla externa cumpla con lo siguiente:
•Debe contener una definición de llave primaria si es una tabla. En caso de ser una vista, entonces debe tener un índice único por lo menos.
•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).
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:
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.