REKO

REKO
Información sobre la plantilla
Reko componentes.JPG
Software de replicación de datos.
CreadorIng. Luis Alberto Pimentel González, Ing. Luis Edgardo Mena, Ing. Luis Edgardo Mena, Ing. Yusmary Campaneony, Ing. Albin Amat Reyes, Ing. Luis Miguel Pimentel, Ing. Eivys Hernández Suárez
DesarrolladorUniversidad de las Ciencias Informáticas de Cuba (UCI)
Lanzamiento inicial2008
Versiones1.0, 1.2, 1.4
Última versión estable1.2
GéneroReplicador de Base de Datos
IdiomaEspañol

REKO. REKO es un software de réplica de datos entre Bases de Datos. Fue diseñado e implementado completamente usando herramientas Open Source y librerías de clases con licencia gratuita. Está siendo usado en el Sistema de Gestión Penitenciaria Venezolano (SIGEP), instalada en 21 servidores y en el Sistema de Gestión de Flujos DALASQ. Se ha adoptado como solución de réplica en Sistema de Gestión de Gobierno, Prevención del Delito, ERP cubano y Alas-HIS. Ha sido registrado como producto y se ha liberado por CALISOFT en dos ocasiones. REKO constituye una solución soberana de alto impacto en la sustitución de importaciones dado que es una solución madura construida sobre una arquitectura en tecnologías modernas y libres.

Surgimiento

REKO surge ante la necesidad que se presentó en la distribución de datos sobre Oracle 10g en el Sistema de Gestión Penitenciario Venezolano (SIGEP) en el año 2007. Después de analizar las soluciones existentes en el mundo de software libre y de analizar los costos de las soluciones comerciales, se tomó la decisión de dedicar esfuerzo a desarrollar una solución propia pues no existían soluciones en software libre que cubrieran las necesidades y las propietarias representaban altos costoso debido al alto número de centros involucrados.

La primera versión de REKO fue liberada por CALISOFT en el año 2008 para ser desplegada en SIGEP, pero a medida que otros proyectos dentro de la Universidad de Ciencias Informáticas comenzaron a utilizarlo con nuevos requerimientos se le fueron adicionando nuevas funcionalidades, como la configuración y solución de conflictos de replicación y configuración de la replicación programada. En el año 2010 se registró finalmente REKO como un software comercializable, propiedad del entonces Centro de Consultoría Tecnológica e Integración de Sistemas, y fue liberada también en ese año una segunda versión del software, con funcionalidades añadidas. Actualmente, REKO constituye un software maduro y una solución robusta ante un alto conjunto de escenarios de replicación para los cuales ha sido probado, y cuenta además con una comunidad de desarrollo en la Universidad de las Ciencias informáticas que lo respalda.

Características

REKO ha sido implementado en la plataforma Java Enterpise Edition (JEE) que provee una arquitectura robusta para el desarrollo de aplicaciones empresariales en el lenguaje Java utilizando un modelo multicapas e incluye una serie de APIs (Application Programming Interface), tecnologías, herramientas de desarrollo y especificaciones e implementaciones de referencia de los servicios que brinda la plataforma.

Se empleó además Spring, contenedor y framework de peso ligero, basado en inyección de dependencias y orientación a aspectos.

Pretende cubrir las principales necesidades relacionadas con la distribución de datos entre los gestores más populares como la protección, recuperación, sincronización de datos, transferencia de datos entre diversas localizaciones o la centralización de la información en una única localización. Ha sido diseñado para permitir la réplica y sincronización de datos con conexión y sin conexión, la selección de los datos a replicar y la definición de filtros de replicación, replica datos entre bases de datos con estructuras heterogéneas, y entre gestores heterogéneos.

Principales componentes

  • Núcleo: Maneja las configuraciones fundamentales del software y agrupa las principales funcionalidades de procesamiento información.
  • Capturador de Cambios: Captura los cambios que se realizan sobre la BD y se los entrega al Distribuidor de Cambios.
  • Aplicador de Cambios: Ejecuta sobre la BD los cambios que sean replicados hacia la BD.
  • Distribuidor de Cambios: Determina para dónde debe ser enviado cada cambio realizado en la BD, los envía y se responsabiliza de que cada cambio llegue a su destino.
  • BD Local de Réplica: Es utilizada para guardar las configuraciones propias de la réplica, las acciones sobre la BD que han dado conflicto al aplicarse y las acciones o transacciones que no han podido llegar a su destino.
  • Consola Web de Administración: Representa la interfaz del software. Permite realizar las configuraciones principales del software como el registro de nodos, configuración de las tablas a replicar, datos a replicar y el monitoreo del funcionamiento del software.
  • Servidor JMS: Servidor de Mensajería bajo la especificación Java Message Service, es utilizado como punto intermedio en la distribución de la información enviada bajo JMS.
  • Servidor FTP: El servidor FTP es utilizado de forma opcional en el funcionamiento del software. La función principal de utilizar un servidor de FTP es para enviar grandes archivos de réplica y que se pueda resumir la transmisión de los mismos en caso de problemas en la conexión.
  • Base de Datos: Es la base de datos que se está replicando, el software de réplica envía los cambios que se realizan sobre ella y aplica los cambios que provienen de otros nodos de réplica.

Principales funcionalidades

  • Soporte para réplica de datos en ambientes conexión y sin conexión:
  • Soporte para réplica entre bases de datos con diferentes estructuras.
  • Soporte para réplica de ficheros externos la base de datos.
  • Soporte para la Sincronización de datos en ambientes con conexión y sin conexión.
  • Selección de los datos de réplica ajustada por filtros.
  • Soporte para réplica de datos entre gestores diferentes (PostgreSQL-Oracle).
  • Soporte para resolución de conflictos automática y manual.
  • Monitoreo en tiempo real de los datos de réplica.
  • Réplica de datos de gran tamaño con capacidad de resumen.
  • Capacidad para crear y ajustarse a complejos escenarios de replicación.
  • Interfaz de administración de réplica.
  • Soporte para programación del momento de captura y envío de los datos de réplica.

Aplicación en proyectos

  • Sistema de Gestión Penitenciaria Venezolano (SIGEP).
  • Sistema de Gestión de Flujos DALASQ.
  • Sistema de Gestión de Gobierno.
  • Prevención de Delito.
  • Alas-HIS

Fuentes

  • Artículo Replicador de datos REKO Disponible en "tallertematico.fordes.co.cu" Consultado: 19 de diciembre de 2011.
  • Linea Java del Centro de Desarrollo de Arquitecturas Empresariales (CEDAE)