la ingeniería dirigida por modelos (mde) logra en las...
TRANSCRIPT
![Page 1: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/1.jpg)
La Ingeniería Dirigida por Modelos (MDE) logra en las empresas
sistemas de software con mayor productividad y calidad
Un caso exitoso universidad-empresa con el proyecto Lion2
María Consuelo Franky
Jaime Pavlich-Mariscal
Pontificia Universidad Javeriana
María Catalina Acero
Heinsohn Business Technology
![Page 2: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/2.jpg)
Proyectos Lion y Lion2
• Objetivo: Incrementar la productividad de Heinsohn (HBT) mediante la automatización en el desarrollo de software:
Aplicando técnicas recientes de construcción de software y de Ingeniería Dirigida por Modelos (MDE)
Integrando componentes existentes desarrollados por la empresa (componentes Lion)
Foco: aplicaciones Web (Java EE)
pg. 2
![Page 3: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/3.jpg)
• Participantes en los proyectos:
Investigadores de la PUJ Ingenieros líderes de HBT
Asistentes de investigación de la PUJ Ingenieros desarrolladores de HBT
María Consuelo FrankyJaime Pavlich-Mariscal
Alvaro InfanteMaría Catalina AceroLeonardo GiralAngee Zambrano
Luisa BarreraAndrea BarrazaJohn Carlos OlarteFrancisco Mora
Cristián FernándezRubén BetancurJorge CamargoNicolás Pinzón
Cofinanciado por Colcienciaspg. 3
![Page 4: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/4.jpg)
El Problema
pg. 4
![Page 5: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/5.jpg)
Componentes en HBT
Componentes Lion: resuelven requerimientos comunes de las aplicaciones empresariales
pg. 5
Seguridad AuditoríaProcesamiento
Archivos
Procesos Automáticos
Notificaciones Encuestas
Firmas digitales
Entitymatic
![Page 6: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/6.jpg)
Problema 1¿Cómo organizar estos componentes de software como piezas de rompecabezas para que se puedan ensamblar fácilmente a cualquier proyecto ?
pg. 6
![Page 7: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/7.jpg)
• Situación inicial:
Para cada nuevo proyecto se ensamblan manualmente los componentes
Esto toma varias semanaspg. 7
![Page 8: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/8.jpg)
Problema 2
• Un proyecto de software empresarial es tan complejo como construir un edificio.
• Los componentes Lion representan solo los “cimientos”
Cómo acelerar la construcción del resto del proyecto de software?
pg. 8
cimientos
![Page 9: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/9.jpg)
• Situación inicial:Cada proyecto se programa de forma manual
Esto toma varias mesespg. 9
![Page 10: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/10.jpg)
El proceso propuesto como solución
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
Aplicación de frameworks de generación y transformación de código
Aplicación de MDE pg. 10
![Page 11: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/11.jpg)
1. Estandarizar la arquitectura
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
pg. 11
![Page 12: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/12.jpg)
Arquitectura estándar adoptada
• Multicapa con bajo acoplamiento
• Unifica decisiones de diseño para futuros proyectosAsume que los proyectos en la
organización son similares
• Facilita la integración de nuevos componentes
Capa de
PresentaciónPáginas web
JSF
Capa de AplicaciónInterme-
diarios
Capa de
Servicios
Componentes
de negocio
(de sesión)
Capa de DominioEntidades
persis-
tentes
Delegado de negocio genérico
Localizador de Datos
Bases de
datos
pg. 12
![Page 13: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/13.jpg)
2. Concretar arquitectura
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
pg. 13
![Page 14: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/14.jpg)
Maven
• Automatización del ciclo de vidaCompilar, empacar, pruebas, despliegue, etc.
• Manejo de dependenciasMaven automáticamente descarga y configura
dependencias (artefactos)
Los artefactos residen en repositorios Maven, en Internet o en la Intranet de la organización
• ArquetiposDefinen el esqueleto de nuevos proyectos
Basados en la arquitectura estándar
pg. 14
![Page 15: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/15.jpg)
Arquetipo Maven genera nuevo proyecto con la arquitectura estándar
artefacto jarcon beans de negocio que
realizan funcionalidad de los casos
de uso
artefacto war con páginas web JSF
artefacto jar con
beans para soportar
las páginas web
artefacto jar con
entidades persistentes
Super POM
módulo
padre
submódulo
Aplicación
submódulo
Servicios
submódulo
Dominiosubmódulo
Presentación
scripts SQL para poblar las tablas con
datos iniciales
submódulo
Persistencia
![Page 16: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/16.jpg)
3. Migrar y adaptar componentes
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
![Page 17: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/17.jpg)
Migración a Maven
• Cada componente Lion fue migrado a un proyecto Maven multi-módulo
Alineación con capas de la arquitectura estándar
Especificación de dependencias entre componentes
Repositorio de componentes en la Intranet de HBT
pg. 17
![Page 18: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/18.jpg)
Documentación Maven de la empresa
pg. 18
![Page 19: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/19.jpg)
4. Automatizar Integración
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
pg. 19
![Page 20: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/20.jpg)
Recordar Problema 1 ¿Cómo organizar estos componentes de software como piezas de rompecabezas para que se puedan ensamblar fácilmente a cualquier proyecto ?
pg. 20
![Page 21: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/21.jpg)
Esto ahora toma pocos minutos
• Solución Propuesta
Ensamblar automáticamente los componentes Lion a cada nuevo proyecto.
pg. 21
![Page 22: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/22.jpg)
Lion Wizard
• Automatiza tareas complejas de integración de componentes
Lion Wizard
Arquetipos
acopla
componentes
Componentes
Lion
genera nuevos
proyectos
nuevo proyecto con
componentes acoplados
pg. 22
![Page 23: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/23.jpg)
pg. 23
• Define propiedades del nuevo proyecto
• Genera automáticamente un nuevo proyecto con la estructura estándar
• Integra al nuevo proyecto uno o más componentes en cuestión de minutos
![Page 24: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/24.jpg)
• Ejemplo de proyecto generado en ejecución(con 6 componentes acoplados)
pg. 24
![Page 25: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/25.jpg)
5. Desarrollar un lenguaje de modelado
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
![Page 26: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/26.jpg)
Recordar Problema 2
• Un proyecto de software empresarial es tan complejo como construir un edificio.
• Los componentes representan sólo los “cimientos”
Cómo acelerar la construcción del resto del proyecto de software?
pg. 26
cimientos
![Page 27: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/27.jpg)
Solución Propuesta:Ingeniería Dirigida por Modelos (MDE)
Construir el resto del “edificio” (proyecto de software) de manera semiautomática
pg. 27
![Page 28: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/28.jpg)
Desarrollar un lenguaje de modelado
• Information Systems Modeling Language (ISML)
• Principios de diseño:
AbstracciónAutomatizaciónFlexibilidadControl de versionesFacilitar AdopciónIntegración con Frameworks Existentes
pg. 28
ISML
Metamodelo
GrámaticaChequeo
de tipos
Manejador
de contexto
![Page 29: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/29.jpg)
ISML - Características
• Lenguaje Textual definido mediante gramática (facilidades Xtext)Flexibilidad, Control de Versiones
• Modelo-Vista-Controlador (MVC)Abstracción, facilita Adopción
• Servicios y Reutilización de componentes LionIntegración con FWs existentes
• Facilidades de modelado parcialFacilita Adopción
• Plugins de EclipseFacilita Adopción
• Generadores de códigoAutomatización
pg. 29
![Page 30: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/30.jpg)
ISML – Principales Conceptos
Entidades de Negocio(Model)
Páginas(View)
Controladores(Controller)
Servicios(Services)
Muestran Utilizan
Invocan
Definen Flujo
Administran
pg. 30
![Page 31: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/31.jpg)
Entidades
pg. 31
![Page 32: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/32.jpg)
Páginas
pg. 32
![Page 33: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/33.jpg)
Página:
Controladores
Controlador:
pg. 33
![Page 34: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/34.jpg)
ServiciosControlador:
Servicio: (modela servicios estándares o componentes Lion o también
servicios de negocio por desarrollar)
![Page 35: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/35.jpg)
ISML – principales elementos del Metamodelo
pg. 35
![Page 36: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/36.jpg)
6. Crear generadores de código
1
Estandarizar
arquitectura
2
Concretar
arquitectura
3
Migrar y
adaptar
componentes
4
Automatizar
integración
5
Desarrollar un
lenguaje de
modelado
6
Crear
generadores
de código
![Page 37: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/37.jpg)
ISML-GEN
• Un conjunto de generadores de código modulares (mediante facilidades Xtend)
pg. 37
ISML-GEN Entity Generator
JEE + JSF Generator
JEE + JavaFX + REST Gen.
CRUD Transformer
Generator Suites
Generators
Templates
![Page 38: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/38.jpg)
Generadores de código
• Generador de entidadesCrea entidades basadas en JPA
• Generador JEE + JSFPáginas y backing beans, basados en JSF and JEE 6
• Generador JEE + JavaFX + RESTPáginas JavaFX, backing beans, servicios REST
pg. 38
![Page 39: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/39.jpg)
Generador de CRUD
• Transformador de modelos
![Page 40: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/40.jpg)
¿Cómo opera el ambiente ISML-MDE?1. Lion Wizard 2. Ambiente de modelado y
lenguaje ISML (Eclipse + Plugins)
3. Generadores de Código
Compilación y empaquetamiento
automático(Maven)
Aplicación JEE6 + JSF
Aplicación JEE6 + JavaFX + REST
Esqueletoaplicación con componentes acoplados
ModeloISML
agregan librerías de servicios
![Page 41: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/41.jpg)
Proyecto generado a partir de un modelo ISML con uso de componentes
pg. 41
![Page 42: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/42.jpg)
RESULTADOS Y CONCLUSIONES
![Page 43: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/43.jpg)
• 14 productos, cada uno con manuales, tutoriales y videos:
Productos de los proyectos Lion y Lion2
pg. 43
![Page 44: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/44.jpg)
• Modalidad universidad-empresa con cofinanciación de Colciencias
• Duración total : 3 años
• Número de Participantes por proyecto: 8 (4 de la universidad y 4 de la empresa)
Cifras económicas de los proyectos
pg. 44
proyecto costo total financiación Colciencias (para la Univ.)
contrapartida Univ.
contrapartida en especie de la empresa
contrapar-tida en dinero de la empresa
Lion 365’220.000 131’000.000 4’100.000 215’060.000 15’060.000
Lion2 382’046.000 149’400.000 1’400.000 208’246.000 23’000.000
![Page 45: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/45.jpg)
• Promedio relación modelo-códigoSin usar generador CRUD 1 : 4.6Usando generador CRUD 1 : 115
Validación - Resultados Preliminares
pg. 45
6 24 144182696
2078
908
3187
8794
0
2000
4000
6000
8000
10000
Aplicación 1 Aplicación 2 Aplicación 3
Tam
año
(LO
C)
Modelo sinCRUD
Modelo conCRUD
Código
![Page 46: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/46.jpg)
NECESIDAD EN HEINSOHN
pg. 46
Disminuir tiempos de desarrollo
• Reducir desviaciones
• Facilitar desarrollo en la capa de presentación
Disminuir el nivel de errores
• Menores costos
• Mayor satisfacción del cliente
Facilitar la integración de los componentes de Lion
Estandarización de buenas prácticas
PRODUCTIVIDAD
![Page 47: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/47.jpg)
IMPACTO DEL CAMBIO HEINSOHN
pg. 47
Arquitecturas de Referencia
Gobierno Técnico
Estandarización Técnica
Evaluación Arquitectura
USO COMPONENTES FRAMEWORK LION
EVOLUCIÓN Y USO GENERADORES ISML-MDE
![Page 48: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/48.jpg)
pg. 48
IMPACTO DEL CAMBIO HEINSOHN
INGENIEROS DE DESARROLLO - HOY
Detalle técnico, evolución tecnológica
Solución de Errores
Modelo y lógica de negocio
![Page 49: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/49.jpg)
pg. 49
IMPACTO DEL CAMBIO HEINSOHN
Desarrollo en tecnologías específicas Más centrados en el modelo
de negocio
Modeladores
Mantener generadores de código
Evolucionar lenguaje ISML
NUEVOS ROLES
INGENIEROS DE DESARROLLO - FUTURO
![Page 50: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/50.jpg)
CONCLUSIONES
• ISML-MDE tiene el potencial de:Incrementar productividad
Ahorro de costos y tiempo
Mayor competitividad
Disminución de errores
• Sinergia universidad empresaTransferencia PUJ HBT
de conocimiento y dominio tecnológico
pg. 50
![Page 51: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/51.jpg)
TRABAJO FUTURO
pg. 51
Extender ISML para otros propósitos SOA Requerimientos de negocio:
MiDAS: a Model-Driven Approach for Adaptive Software (tesis de doctorado de José Bocanegra)
![Page 52: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/52.jpg)
TRABAJO FUTURO
pg. 52
Extender ISML para generar código en otras tecnologías
.NET
Plataformas móviles
AngularJS
HTML5, CSS3 Alinear con arquitectura de referencia Java
Integrar ISML a la línea de productos
Ejecución proyecto piloto basado en ISML - MDE
![Page 53: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/53.jpg)
Referencias de los proyectos Lion y Lion2
M. C. Franky, J. A. Pavlich-Mariscal, "A Method to Achieve Automation in the Development of Web-Based Software Projects" ICIW 2014: The Ninth International Conference on Internet and Web Applications and Services. July 2014 - Paris, France.
M. C. Franky, J. A. Pavlich-Mariscal, L. Giral, A. Barraza-Urbina, L. Barrera, A. Zambrano, "Achieving Software Reuse and Integration in a Large-scale Software Development Company: Practical Experience of the Lion Project”, ACM SIGSOFT Software Engineering Notes, Volume 40 Issue 4, July 2015.
M. C. Franky, J. A. Pavlich-Mariscal, M. C. Acero, A. Zambrano, J. C. Olarte, J. L. Camargo, J. N. Pinzón: “ISML: Un Lenguaje y un Ambiente MDE para modelar y generar aplicaciones web con integración de componentes de legado”, 10CCC: Décimo Congreso Colombiano de Computación. Bogotá, Colombia. Septiembre de 2015.
pg. 53
![Page 54: La Ingeniería Dirigida por Modelos (MDE) logra en las ...cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=grupos:secsy:... · JSF Interme-Capa de Aplicación diarios Capa de](https://reader034.vdocuments.net/reader034/viewer/2022051307/5c64d56609d3f29b6e8bd10d/html5/thumbnails/54.jpg)
¿Preguntas?