Investigación y desarrollo experimental de un sistema generación automática de sistemas de información basados en tecnologías de código abierto a partir de modelos de comportamiento

DISID ha desarrollado el proyecto de I+D de "Investigación y desarrollo experimental de un sistema generación automática de sistemas de información basados en tecnologías de código abierto a partir de modelos de comportamiento". Este proyecto ha sido financiado por el IVACE, Instituto Valenciano de Competitividad Empresarial de la Generalitat Valenciana, a través de los Fondos Europeos FEDER de Desarrollo Regional, dentro del marco del Programa Operativo de la Comunitat Valenciana para el periodo 2014‐2020.

El objetivo del proyecto es desarrollar una solución software que permita transformar sistemas de información desarrollados a medida con tecnologías propietarias a entornos tecnológicos basados en software de código abierto. El alcance del proyecto se divide en 4 ámbitos:

  1. Ingeniería inversa de un sistema origen implementado con la familia de productos Oracle Developer Suite.

  2. Especificación del sistema origen en notación estructurada.

  3. Generación automática de un nuevo sistema de información.

  4. Sistema de información generado basado en tecnologías de código abierto.

Dentro de la diversidad de sistemas propietarios hemos escogido como primer objetivo del proyecto los sistemas de información desarrollados con Oracle Developer Suite debido al inmenso número de aplicaciones (millones de líneas de código) que todavía se encuentran en funcionamiento sin una perspectiva clara de migración a nuevos entornos debido a su alto coste de migración. Se trata de sistemas complejos y críticos que guardan todo el core de negocio de las empresas.

Como sistema abierto para ejecutar el sistema de información generado hemos elegido la plataforma JEE, hoy por hoy la más extendida y estandarizada en el sector. Por último se ha elegido gvNIX, el entorno de desarrollo Java de código abierto recientemente elegido como estándar de desarrollo de la Generalitat Valenciana, como la plataforma de desarrollo donde se implementarán los componentes y algoritmos de generación automática de aplicaciones.

El principal desafío técnico del proyecto ha consistido en cubrir la brecha tecnológica entre sistemas mediante la implementación de un conjunto de procesos de ingeniería inversa que permitan analizar el código, documentación y comportamiento del sistema a migrar para identificar sus componentes y sus dependencias con el objetivo de extraer una abstracción del sistema que sirva de entrada a una serie de herramientas de generación de código que permitan generar semiautomáticamente un nuevo sistema con el mismo comportamiento que el anterior pero funcionando en una tecnología diferente.

Este proyecto se ha desarrollado en 2 campos de investigación relacionados:

  • Mediante técnicas de reingeniería de procesos y técnicas de reingeniería de datos, generación automática de un "modelo de sistema" que sea capaz de abstraer el funcionamiento y los componentes estructurales de un sistema de información origen desarrollado con tecnologías propietarias.
  • A partir de un "modelo de sistema", generación automática de un nuevo sistema de información funcional y basado en tecnologías de código abierto.

Referencia del proyecto IFIDTA/2014/87

  • Objetivo 1. Definición del "modelo de sistema", es decir, conjunto de especificaciones que permita representar los componentes de un sistema de información:
    • Estructura. Modelo de los componentes estructurales del sistema de información.
    • Comportamiento. Modelo de los componentes dinámicos del sistema de información.
    • Interfaz de usuario. Modelo de la interfaz de interacción con el usuario.​
  • Objetivo 2. Diseño y desarrollo de componentes gvNIX para automatización de la generación de código del nuevo sistema
    • ​El sistema de generación que a partir de un "modelo de sistema" que genera: la capa de negocio, la capa de control y la capa de interfaz de usuario.​
    • ​El código generado es personalizable por el desarrollador.
    • El código generado utiliza sólo tecnologías de código abierto.
  • ​Objetivo 3. Pilotaje del sistema.

    Se ha realizado un piloto del sistema que ha permitido evaluar la fiabilidad y adecuación del sistema a los problemas presentes en situaciones reales.

  • ​Objetivo 4. Difusión de la labor de investigación y desarrollo

    ​Se han publicado los resultados obtenidos para dar a conocer los avances experimentados en el proyecto y difundir las actividades de investigación realizadas.

El objetivo del proyecto era desarrollar una solución software que permitiera transformar sistemas de información desarrollados a medida con tecnologías propietarias y no compatibles con el cloud a entornos tecnológicos basados en software de código abierto y que pudieran hacer uso de servicios cloud del mercado que fueran ventajosos, de forma que fuera viable técnicamente y se garantizara el retorno de la inversión.

Para ello se crea el "Add-on Scene" un componente OSGI que se integra perfectamente en el entorno de Spring Roo y gvNIX, ofreciendo la nueva funcionalidad requerida.

Estamos orgullosos de la novedad técnológica del proyecto donde la solución propuesta tiene uno de sus puntos fuertes en la transformación de sistemas desarrollados con tecnologías propietarias en sistemas desarrollados con tecnologías de código abierto. Esta nueva línea abrirá un nuevo marco de colaboración entre empresas de la Comunidad Valenciana.

Una ventaja importante para los usuarios potenciales de la solución, tanto a nivel económico como a nivel técnico y funcional, pudiendo pasar a ser participantes activos de las comunidades de desarrollo.

Actualmente los costes de una migración de este tipo son tan elevados que son equiparables a volver a desarrollar nuevamente toda la aplicación. Es por ello que muchas organizaciones ni siquiera se lo plantean. Es por esto que con este proyecto DISID, en colaboración con Pentec, logramos semi-automatizar el proceso de migración de este tipo de sistemas reduciendo los costes en un gran nivel, se abre un mercado de miles de migraciones de sistemas que se encuentran en esta situación.

El proyecto se ha desarrollado como un addon "Add-on Scene" de Spring Roo y como parte de las funcionalidades que ofrecerá la nueva versión de gvNIX.

Instituto Valenciano de Competitividad Empresarial

El Instituto Valenciano de Competitividad Empresarial (IVACE) es una entidad de derecho público de la Generalitat Valenciana adscrita a la Consellería de Economía, Industria, Turismo y Empleo. El anterior Instituto de la Pequeña y Mediana Industria de la Generalitat Valenciana (IMPIVA) pasó a denominarse Instituto Valenciano de Competitividad Empresarial a raiz del D/L 7/2012 de 19 de octubre del Consell, de Medidas de Reestructuración y Racionalización del Sector Público Empresarial y Fundacional de la Generalitat.

Los fines del Instituto son la gestión de la política industrial de la Generalitat y el apoyo a las empresas en materia de innovación, emprendimiento, internacionalización y captación de inversiones, así como la promoción de enclaves tecnológicos, la seguridad industrial de productos e instalaciones industriales, la metrología, vehículos y empresas y el fomento del ahorro, la eficiencia energética y las fuentes de energías renovables, así como la gestión de la política energética de la Generalitat.

Proyecto Cofinanciado por los Fondos FEDER dentro del programa operativo FEDER de la Comunidad Valenciana 2014-2020

El Fondo Europeo de Desarrollo Regional (FEDER) tiene como objetivo fortalecer la cohesión socioeconómica dentro de la Unión Europea corrigiendo los desequilibrios entre sus regiones.

El FEDER centra sus inversiones en varias áreas prioritarias clave. Esto se conoce como «concentración temática»: innovación e investigación, programa digital, apoyo a las pequeñas y medianas empresas (pymes) y economía de bajas emisiones de carbono.