We're currently working on updating our website's content in order to provide you with a more thorough description of our technology and also update you on the significant improvements on our new Transformation Engines.
We invite you to come visit our new website in a few weeks. You'll discover INTEGRANOVA M.E.S. is the software development disruptor!

Escenarios de uso para Integranova

Integranova MES (Model Execution System) es un conjunto de herramientas que industrializan el desarrollo de software utilizando modelos como principal input.

Los Clientes y Partners de Integranova adoptan principalmente este paradigma para desarrollar sistemas de información de modo repetible y predecible, con altos niveles de consistencia y calidad, al tiempo que aumentan su velocidad de desarrollo y su productividad. Pero, en más de una ocasión, descubren otros escenarios de uso en los que Integranova les resulta de utilidad. A continuación, se presentan algunos.

Generación de aplicaciones completas

Naturalmente, este es el escenario de uso más común para Integranova: la generación de aplicaciones o sistemas de información completos. Dado que Integranova Modeler permite definir la funcionalidad de un sistema de información – a un mayor nivel de abstracción, pero con alta expresividad – la mayoría de las veces, los Clientes utilizan estas capacidades para crear aplicaciones completas que incluyen uno o varios frontends (web y/o móvil), el backend y la capa de datos.

Puesto que este escenario es el más común y directo, no se discutirá más por ahora. Exploremos otros casos de uso en los que proporcionan valor a los desarrolladores.

Desarrollo de funcionalidad sobre bases de datos existentes

Nuestros Partners y Clientes han trabajado en múltiples ocasiones en proyectos en los que ya se contaba con una base de datos que debía preservarse. Los procesos tienen una importancia vital, por supuesto, pero los datos constituyen con toda seguridad el activo más preciado de cualquier organización, puesto que son la base para derivar información, generar inteligencia y asistir en la toma de decisiones.

¿Dejan de utilizar Integranova los Clientes en tales proyectos y los desarrollan utilizando técnicas más convencionales? Nada de eso. Integranova está bien preparada para funcionar en este tipo de situaciones.

Integranova Modeler es capaz de conectarse a una base de datos existente, explorar su estructura (tablas, campos, claves, restricciones…etc.) y generar un modelo a partir de dicha información. Así que, en lugar de comenzar con una página en blanco, se crea automáticamente la definición de la estructura de los datos. Desde ahí, el modelo puede completarse añadiendo funcionalidad (léase “comportamiento y reglas de negocio”) para manipular dichos datos, así como los mecanismos de interacción (léase “escenarios del frontend”) para operar y consultar los datos.

Cuando los Integranova Transformation Engines traducen el modelo (creado a partir de la base de datos existente y aumentado con elementos de funcionalidad e interfaz de usuario), el código generado está listo para funcionar sobre la base de datos existente.

Cualquiera podría pensar “¡Qué bueno es no perder mis datos! Pero ¿qué pasa si tengo también funcionalidad en la capa de datos?”. Integranova también está preparada para lidiar con esto: la herramienta permite integrar en el código generado procedimientos almacenados o funciones de base de datos, todo ello a nivel de modelo. En otras palabras, se pueden mapear servicios y consultas definidas en un modelo a procedimientos almacenados y funciones de base de datos, de manera que el código generado no implementará la funcionalidad del servicio o consulta mapeados, sino que delegará en la implementación existente del procedimiento almacenado o función de base de datos al que hayamos mapeado el elemento de modelo.

Migración y actualización de aplicaciones y sistemas existentes

Un corolario natural del anterior escenario de uso es que Integranova puede utilizarse no sólo para desarrollos desde cero, sino también para migrar y actualizar aplicaciones y sistemas existentes.

Además de reutilizar y trabajar sobre bases de datos existentes, se puede utilizar Integranova en proyectos de actualización tecnológica.

Si está pensando en si Integranova implementa procesos de ingeniería inversa de código legado, la respuesta es que no lo hace. Hemos analizado esta cuestión con múltiples compañías en diferentes países y sectores industriales, y estamos abiertos a hacerlo nuevamente con cualquier Cliente a quien le interese. En cualquier caso, esto no implica que Integranova no aporte valor en este tipo de proyectos. De hecho, ha transformado el análisis coste-beneficio desde “inasumible” (pensemos en las típicas situaciones de “mejor dejar el sistema legado tal cual y hacer únicamente mantenimiento esencial) a “factible” (permitiendo a compañías evolucionar sus procesos según dicten las necesidades, lo cual es clave para mejorar la competitividad de cualquier negocio.

Así es como estos escenarios ha sido comúnmente abordados:

Al tratar con proyectos de migración, nuestros Clientes llevan a cabo un análisis inicial de la situación actual para identificar los componentes y módulos del sistema que deben ser objeto de migración o actualización tecnológica (prestando atención a las interfaces e interacciones que tienen lugar entre ellos), y plantean el orden en el que cada componente o módulo debe ser migrado.

A continuación, nuestros Clientes acometen la migración de cada componente creando un modelo (o parte de un modelo) que represente su funcionalidad. También definen, en el modelo, las interfaces que dicho componente tenga con otras partes del sistema general. Una vez dicho modelo se ha completado, utilizan los Integranova Transformation Engines para generar el código de la versión actualizada del componente, que puede así ser probado (en paralelo con el módulo original, si así se desea) para verificar que se comporta como se espera, incluyendo su interacción con otras partes del sistema general. Una vez que el componente actualizado ha sido verificado, puede reemplazar al componente original, de modo que el sistema continúa operando sin incidencias.

Esta técnica incremental se sigue hasta que todos los componentes del sistema han sido actualizados o migrados.

Prototipado rápido

En ocasiones, nuestros Clientes utilizan Integranova como solución de prototipado rápido.

Es prácticamente imposible definir completamente un producto software a la primera. Normalmente se necesitan varias iteraciones hasta “dar en la diana”. Además de utilizar Integranova Modeler para definir de manera incremental la especificación del sistema a desarrollar, nuestros Clientes son muy conscientes de que también pueden utilizar los Integranova Transformation Engines para “animar la especificación” generando rápidamente código que se comportará tal y como dicte dicha especificación. La versión en ejecución de la especificación (*) puede ser sometida a un proceso de validación para detectar cualquier posible desviación, identificar características faltantes, …etc. y obtener retroalimentación rápida para volver al tablero de dibujo (léase “Integranova Modeler”) para corregir o aumentar la especificación, dando así inicio a la siguiente iteración en el ciclo de desarrollo. Con esta práctica, se sigue iterando hasta que el concepto a desarrollar alcance un estado válido.

(*) Nótese que constará de artefactos completamente funcionales, no simplemente “mockups” con funcionalidad limitada, o componentes de código que sean básicamente esqueletos de código que, en el mejor de los casos, lleven a cabo operaciones CRUD básicas y no vayan más allá. La “versión en ejecución de la especificación” generada por Integranova es, de hecho, un producto software totalmente funcional.

Construcción de aplicaciones backend

Por último, aunque no menos importante, otro escenario de uso que nuestros Clientes han empleado en múltiples ocasiones es el de utilizar únicamente parte de las características de generación de código que oferta Integranova. Concretamente, los relacionados con la generación de aplicaciones backend.

Algunos clientes, por motivos varios, utilizan otras soluciones o tecnologías para el frontend. En otras ocasiones, los Clientes quieren construir un software que no dispondrá de un frontend, sino que expondrá cierta funcionalidad que será consumida por otros componentes de su ecosistema software.

En muchas de estas situaciones, nuestros Clientes se han beneficiado de las capacidades de nuestros Transformation Engines para generar automáticamente el código que se encarga de toda la carga de trabajo relacionada con las reglas de negocio y expone su funcionalidad a través de APIs REST que pueden ser consumidas bien por algún frontend, bien por otros componentes backend.

Mezclar y combinar

De igual modo que los proyectos de desarrollo presentan diferentes requisitos y circunstancias, existen variados escenarios de uso para Integranova.

Por supuesto, Integranova no es la panacea, y habrá proyectos en los que no aplique.

Habrá proyectos en los que Integranova encaje como anillo al dedo.

Y habrá proyectos en los que Integranova no será la solución perfecta para cualquier aspecto, fase o componente del proyecto, pero muy probablemente los usuarios serán todavía capaces de utilizar Integranova para abordar alguna parte del proyecto y obtener aumentos de calidad y productividad.

Conozca más en futuros posts sobre Integranova Model Execution System.

Si quiere saber más sobre Integranova MES o le gustaría ver una demo, contacte con nosotros.