Abstract:
|
Este proyecto se desarrolla en una de las principales compañías eléctricas de España, y trata sobre la creación de un sistema genérico de replicación de datos.
La idea surge de la necesidad de estandarizar la forma de traspasar información entre departamentos o sistemas, debido a que existen gran variedad de interfaces diferentes, y cada vez que surge la necesidad de crear una implica nuevos costes de desarrollo, mantenimiento y futuros evolutivos.
Entre los diferentes departamentos de la empresa se intercambian datos periódicamente para gestionar informes, recuperar datos de subsistemas, complementar información base, etc, por lo que la existencia y el desarrollo de interfaces es algo bastante habitual.
Para estandarizar esa comunicación se decidió crear una herramienta que permita a los desarrolladores facilitar y agilizar la creación de las mismas.
Se realiza, por tanto, el diseño y desarrollo de un sistema genérico que contemple todas las fases de comunicación de datos existentes entre dos departamentos: Extracción, Envío y Carga. Para ello se utiliza código en PL/SQL para montar los diferentes módulos encargados de gestionar los datos, tanto en la base de datos origen como en la base de datos destino. Se utilizan planificaciones en Control-M encargadas de ejecutar las interfaces origen y traspasar los datos vía FTP a los servidores destino para posteriormente ejecutar planificaciones de carga en destino.
Se crea una herramienta mediante Oracle Forms Developer que permita al desarrollador configurar su interfaz origen y destino con la información a enviar o recibir (según corresponda), además de parámetros como longitud y tipo de los campos, tipo de interface, etc. Fruto de esta configuración se generan automáticamente una serie de paquetes a compilar en las bases de datos Oracle para que funcione la extracción e incorporación de datos configurados. De este modo, se flexibiliza el sistema genérico y se da libertad para adaptar a las posibles particularidades que requiere cada interfaz.
En origen se crea todo el proceso de codificación de datos, extracción, grabación de la información solicitada, y en destino el de lectura, decodificación y carga, de forma que son totalmente transparentes para el desarrollador. |