Connecting eHealth blog

Mirth Connect (V): consejos útiles y buenas prácticas (ii)

En el artículo anterior dimos algunos consejos y buenas prácticas a la hora de trabajar con la herramienta Mirth Connect. En este artículo continuamos con algunos consejos y finalizamos esta serie dedicada a Mirth Connect.


Serie de artículos sobre Mirth Connect:

Otros recursos en Caduceus:


Cuidado con los canales de polling

En el artículo sobre canales y conectores vimos que existe una categoría readers para definir algunos tipos de conectores para las fuentes, y que se configuran en base a una frecuencia de rastreo (polling frecuency) que determina cada cuánto tiempo se ejecuta el canal.

Pues bien, es conveniente que sigamos algunos consejos para evitar ciertos problemas que este tipo de conectores podría llegar a ocasionarnos. Algunos de ellos son especialmente importantes si nos estamos planteando actualizar nuestra versión de Mirth Connect.

Limitar las consultas a bases de datos

Un conector puede dejar de ejecutarse por algún problema. Aunque Mirth Connect dispone de una gestión propia de colas, si no existe un límite de consultas a bases de datos, al activar el conector de nuevo puede llegar a saturarse con demasiada información y ocasionar algunos errores difíciles de solucionar en nuestra integración.

Para evitar estos casos, es importante establecer un límite en las consultas a bases de datos para este tipo de conectores.

Reutilizar conexiones a bases de datos

Hay casos en los que es necesario establecer un valor muy bajo para la frecuencia de rastreo (menor a un segundo) para trabajar con sistemas en tiempo real.

En estos casos Mirth Connect abre y cierra una conexión con la base de datos cada vez que rastreamos por defecto. Esto puede ocasionar algunos problemas con el pool de conexiones de la base de datos.

Para mejorar este comportamiento, es posible almacenar las conexiones a bases de datos en variables de Mirth Connect para reutilizarlas en este tipo de conectores.

Controlar bien las alertas

Mind the step
Imagen cortesía de artur84 / FreeDigitalPhotos.net

Es frecuente incluir los conectores de los canales polling en las alertas de Mirth Connect . Esto que parece lógico puede tener consecuencias graves.

Ante una caída de la base de datos o un cambio que implique que la consulta falle y con una frecuencia de rastreo del canal grande, el sistema lanzará una alerta cada vez que rastree. Además de las consecuencias en el propio servidor de Mirth Connect, se puede llegar a saturar el sistema de envío de correos si las alertas se reportan por email.

Para evitar estos casos, recomendamos realizar una gestión propia de alertas externa a Mirth Connect para este tipo de conectores.

Cuidado con las consultas a bases de datos que usen varias tablas

Hay versiones de Mirth Connect que ocasionan problemas al cruzar varias tablas en una consulta SQL (mediante un join, por ejemplo).

Para ejecutar este tipo de consultas, conviene revisar que la versión de Mirth Connect que estamos utilizando no presenta problemas en este sentido. En caso de tener problemas y no poder cambiar la versión de Mirth Connect, una alternativa es crear vistas en la base de datos para acceder a esta información.

Revisar el orden de ejecución del script Run On-Update Statement

Una característica muy usada en el conector source de los canales de polling, es el Run On-Update Statement, que permite ejecutar una sentencia UPDATE sobre los registros de base de datos afectados en la consulta principal, por ejemplo, para actualizar su estado.

Dependiendo de la versión de Mirth Connect, este script se ejecuta antes o después de los transformadores del conector. Si suponemos un orden de ejecución y estamos equivocados puede que tengamos problemas inesperados cuando nuestra integración esté funcionando. Así, es importante que nos aseguremos de si ese script se ejecuta antes o después de los transformadores.

Establecer una estrategia para la configuración global de los canales

Como ya adelantamos en el artículo sobre canales y conectores, la configuración global de cada canal (summary), entre otras cosas, permite definir el estado inicial del canal tras ser desplegado (parado o arrancado) y definir las características de almacenamiento de los mensajes en la base de datos (no almacenar filtrados, sólo con errores, duración en días, etc.).

La configuración recomendable es diferente en función de en qué fase de procesamiento situemos el canal y del tipo de conector utilizado para el source. Estas configuraciones hay que definirlas en el momento de estructurar los canales de nuestro motor de integración y llevarlas a rajatabla.

Fontanero de conectores de Mirth
Imagen cortesía de vectorolie / FreeDigitalPhotos.net

Por ejemplo, para nosotros, una regla de oro es:

Todos los canales con fuentes readers dentro de una fase de enrutamiento deben arrancar parados y sin almacenar información en la base de datos.

De esta forma, no saturaremos la base de datos de Mirth Connect si existen errores en el rastreo a muy alta frecuencia y evitaremos situaciones peligrosas en caso de que el servicio de Mirth Connect se reinicie de forma inesperada. Al igual que ocurre con las alertas, la gestión de este tipo de errores conviene hacerla de forma externa y controlada.

Al establecer una estrategia, debemos tener en cuenta otras buenas prácticas como almacenar sólo errores para un entorno producción o establecer adecuadamente los días que permanecen los mensajes almacenados (los suficientes como para poder corregirlos y no tantos como para que se desborde el espacio de almacenamiento).

Todo lo anterior dependerá del análisis inicial que realicemos de la integración y de las características del servidor donde instalemos Mirth Connect.

Usar clases de Java propias

Otra característica muy potente en Mirth Connect es la posibilidad de incluir clases de Java desarrolladas por nosotros mismos. Esto es necesario en algunas integraciones para adaptar ciertos conectores a circunstancias especiales que hacen que los conectores por defecto no sean apropiados.

En este enlace a la wiki de Mirth Connect se explica cómo hacerlo.

Mirth y el repositorio de código

Como ya adelantamos cuando hablamos del panel de administración, es posible exportar configuraciones, canales, alertas, global scripts y code templates a formato XML.

Estos archivos XML, estructurados de una forma adecuada, pueden servir para mantener un control de versiones de nuestros desarrollos sobre Mirth Connect utilizando herramientas de control de versiones como GIT o SVN.

Trabajadores con buenas ideas
Imagen cortesía de 1shots / FreeDigitalPhotos.net

Y aquí concluye esta serie sobre Mirth Connect. En futuros artículos volveremos a hablar sobre esta herramienta con ejemplos prácticos y su uso conjuntamente con 7Edit.

Además tenemos planeada una serie de artículos sobre consejos y buenas prácticas desde un punto de vista más general, enfocados desde las diferentes fases de una integración (especificación, análisis, diseño, implementación, pruebas, implantación, soporte y mantenimiento), e independiente de la herramienta de motor de integración utilizada.

Francisco J. CarrascoMirth Connect (V): consejos útiles y buenas prácticas (ii)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de la Política de Privacidad

Responsable: Caduceus Software S.L.
Finalidad: Atender tu solicitud de publicar un comentario en este artículo. Además, si marcas "Recibir nuevos artículos por correo electrónico", suscribirte a nuestra lista de correo, .
Legitimación: Para poder publicar el comentario a tu nombre necesitamos tu nombre, email, web (opcional). Para evitar spam, tus datos personales y otra información técnica pueden ser enviados a un sistema automático de reconocimiento de spam (Akismet). Para suscribirte a nuestra lista de correo necesitamos tu correo electrónico.
Destinatarios: Tus datos para el comentario no se compartirán ni se cederán a terceros. Si marcas "Recibir nuevos artículos por correo electrónico", añadiremos tu dirección de correo y tu nombre a nuestra lista en MailChimp, una compañía estadounidense que cumple y respeta la privacidad de datos. Podrás darte de baja en cualquier momento.
Derechos: Puedes ejercer tus derechos escribiendo a info@caduceus.es o en nuestro formulario de contacto (https://www.caduceus.es/contacto/).

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.