Este documento describe la generación de código sobre plataformas específicas de desarrollo de aplicaciones utilizando las herramientas gvHidra y gvNix. Explica los beneficios de la generación de código, como un desarrollo más rápido y mejora en la calidad. También describe las plataformas soportadas, como las transformaciones para generar entidades, persistencia y la interfaz de usuario para las plataformas gvHidra y gvNix.
MOSKitt es una herramienta CASE libre desarrollada por la Conselleria de Infraestructuras y Transporte de la Generalitat Valenciana para dar soporte a la metodología gvMétrica. MOSKitt utiliza la plataforma Eclipse para proveer editores gráficos y textuales, soporte a la persistencia de modelos, transformación de modelos, y generación de documentación y código a partir de modelos. La arquitectura modular de MOSKitt la convierte en una plataforma extensible para construir herramientas de modelado.
MOSKitt Sketcher: Diseño rápido de interfaces de usuariojjfons
Este documento presenta MOSKitt Sketcher, una herramienta desarrollada para introducir técnicas de bocetado rápido en el desarrollo de interfaces de usuario utilizando MOSKitt. MOSKitt Sketcher permite crear bocetos de interfaces que pueden usarse como documentación, entrada para especificar modelos o diseñar interfaces de usuario, y como entrada para generar código. La herramienta utiliza la notación estándar de bocetado y permite transformar bocetos a modelos MOSKitt UIM.
The document presents MOSKitt UIM, a user interface modeling tool developed as part of the gvCASE project. MOSKitt UIM allows modeling user interfaces in a technology-independent way and integrating them into software development methods. It includes a modeling language, tool support based on Eclipse, and model transformations to generate user interfaces in PHP and Java. The tool was developed collaboratively between academia and industry and applied in practice at the Conselleria de Infraestructuras y Transporte of the Valencian regional government.
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
1) El documento describe una arquitectura para integrar modelos de machine learning en una aplicación mediante microservicios.
2) Se propone dividir la aplicación en tres servicios principales - interfaz, servicios y ML - empaquetados como contenedores Docker y orquestados por Kubernetes.
3) La arquitectura permite el desarrollo políglota usando diferentes tecnologías para cada servicio, con integración continua y entrega continua mediante Jenkins.
Viafirma Hanuman es una plataforma de desarrollo que permite generar código a partir de un modelo definido. Ofrece funciones como Model Driven Architecture, generación de proyectos JavaEE6 compatibles con cualquier servidor JavaEE6, y mecanismos de extensión y generación independiente del código. Usa tecnologías como Primefaces, JSF 2.0 y Prettyfaces para la interfaz de usuario en la capa cliente.
El documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, LINQ to Entities y Object Services. También cubre conceptos como ORM, POCO objects y LINQ y ofrece consideraciones para mejorar el rendimiento.
El documento describe Genesis Suite Servers, un servicio en la nube que permite el desarrollo rápido y económico de aplicaciones Java a través de una arquitectura de tres servidores (seguridad, desarrollo y aplicaciones) que utilizan patrones MVC y permiten el desarrollo 4 veces más rápido y costos 6 veces menores que otros métodos. El servicio ofrece características como disponibilidad las 24 horas, actualizaciones automáticas de software y backups en tiempo real.
MOSKitt es una herramienta CASE libre desarrollada por la Conselleria de Infraestructuras y Transporte de la Generalitat Valenciana para dar soporte a la metodología gvMétrica. MOSKitt utiliza la plataforma Eclipse para proveer editores gráficos y textuales, soporte a la persistencia de modelos, transformación de modelos, y generación de documentación y código a partir de modelos. La arquitectura modular de MOSKitt la convierte en una plataforma extensible para construir herramientas de modelado.
MOSKitt Sketcher: Diseño rápido de interfaces de usuariojjfons
Este documento presenta MOSKitt Sketcher, una herramienta desarrollada para introducir técnicas de bocetado rápido en el desarrollo de interfaces de usuario utilizando MOSKitt. MOSKitt Sketcher permite crear bocetos de interfaces que pueden usarse como documentación, entrada para especificar modelos o diseñar interfaces de usuario, y como entrada para generar código. La herramienta utiliza la notación estándar de bocetado y permite transformar bocetos a modelos MOSKitt UIM.
The document presents MOSKitt UIM, a user interface modeling tool developed as part of the gvCASE project. MOSKitt UIM allows modeling user interfaces in a technology-independent way and integrating them into software development methods. It includes a modeling language, tool support based on Eclipse, and model transformations to generate user interfaces in PHP and Java. The tool was developed collaboratively between academia and industry and applied in practice at the Conselleria de Infraestructuras y Transporte of the Valencian regional government.
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
1) El documento describe una arquitectura para integrar modelos de machine learning en una aplicación mediante microservicios.
2) Se propone dividir la aplicación en tres servicios principales - interfaz, servicios y ML - empaquetados como contenedores Docker y orquestados por Kubernetes.
3) La arquitectura permite el desarrollo políglota usando diferentes tecnologías para cada servicio, con integración continua y entrega continua mediante Jenkins.
Viafirma Hanuman es una plataforma de desarrollo que permite generar código a partir de un modelo definido. Ofrece funciones como Model Driven Architecture, generación de proyectos JavaEE6 compatibles con cualquier servidor JavaEE6, y mecanismos de extensión y generación independiente del código. Usa tecnologías como Primefaces, JSF 2.0 y Prettyfaces para la interfaz de usuario en la capa cliente.
El documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, LINQ to Entities y Object Services. También cubre conceptos como ORM, POCO objects y LINQ y ofrece consideraciones para mejorar el rendimiento.
El documento describe Genesis Suite Servers, un servicio en la nube que permite el desarrollo rápido y económico de aplicaciones Java a través de una arquitectura de tres servidores (seguridad, desarrollo y aplicaciones) que utilizan patrones MVC y permiten el desarrollo 4 veces más rápido y costos 6 veces menores que otros métodos. El servicio ofrece características como disponibilidad las 24 horas, actualizaciones automáticas de software y backups en tiempo real.
[TOP 3 TECH UPDATES MEXICO]
Creando Aplicaciones Web en el 2015:
Nuevas tendencias, desafíos, y mejores prácticas
Empujado por la revolución mobile, el emergente mundo de Internet Of Things, la web a evolucionado hacia una gran y ubícua plataforma de desarrollo de aplicaciones. Sin embargo, esta evolución posee dos caras: la de posicionar a la web como una plataforma tecnológica capaz de desbancar tecnologías como Flash y Silverlight, y de competir con iOS, o Android; y la de una plataforma inmadura, difícil de aprender, y de utilizar para crear experiencias de usuario de calidad.
En esta charla se dará una introducción a las nuevas tendencias en el desarrollo web, sus dificultades y desafíos, y las lecciones aprendidas obtenidas trabajando con estas tecnologías de punta.
Speaker: Fernando Curra
Este documento describe el Método WATCH y la línea de productos de software para generar y mejorar mallas de volumen y superficie. El Método WATCH es un marco metodológico flexible e incremental para el desarrollo de aplicaciones empresariales. La línea de productos aprovecharía activos comunes como componentes, diseños y especificaciones para producir de manera más rápida y económica una variedad de productos relacionados con mallas.
Este documento describe el Método WATCH y la línea de productos de software para generar y mejorar mallas de volumen y superficie. El Método WATCH es un marco metodológico flexible e incremental para el desarrollo de aplicaciones empresariales. La línea de productos aprovecharía activos de software comunes como componentes, diseños y especificaciones para producir de manera más rápida y económica diversos productos relacionados con mallas de volumen y superficie.
Este documento describe cómo MercadoLibre implementa su plataforma utilizando AWS y Docker. Explica que recibe unos 18 millones de solicitudes por minuto y realiza unos 400 despliegues diarios con unos 700 desarrolladores distribuidos en 5 centros. Describe cómo Docker permite empaquetar aplicaciones y correrlas en contenedores de forma unificada entre desarrollo y producción. Finalmente, resume el proceso de desarrollo con Fury que incluye crear una aplicación, codificar, crear versiones y realizar despliegues.
Este documento describe cómo MercadoLibre implementa su plataforma utilizando AWS y Docker. Explica que recibe unos 18 millones de solicitudes por minuto y realiza unos 400 despliegues diarios con unos 700 desarrolladores distribuidos en 5 centros. Describe cómo Docker permite empaquetar aplicaciones y correrlas en contenedores de forma unificada entre desarrollo y producción. Resume el proceso de desarrollo con Docker que incluye crear una aplicación, codificar, crear versiones y realizar despliegues a producción de forma automatizada.
Este documento presenta información sobre la preparación para el examen final de la carrera de programación .NET. Cubre objetivos como adquirir conceptos básicos de Visual Studio y reconocer sus características. También describe componentes clave de .NET como el marco de trabajo común de ejecución y la biblioteca de clases base. Además, explica conceptos como LINQ, Entity Framework y herramientas de NuGet.
Este documento proporciona una introducción a Entity Framework, un ORM para .NET que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Explica los componentes clave de EF como EDM, LINQ y Entity SQL, y discute temas como el mapeo objeto-relacional, estilos de desarrollo, consideraciones de rendimiento y estrategias de herencia.
Este documento presenta información sobre la preparación para un examen de fin de carrera en programación .NET. Cubre temas como Visual Studio, .NET Framework, Xamarin, Entity Framework, LINQ, consultas y herramientas de NuGet. También incluye información sobre reportes RDLC, .NET Multi-platform App UI (.NET MAUI) y su evolución desde Xamarin.Forms.
El documento presenta las credenciales y experiencia de Michael Rojas R. en ingeniería de software, incluyendo una maestría en ciencias de la computación y certificaciones en Microsoft, Java, Spring Framework y Android. También describe sus habilidades en el diseño de soluciones de tecnologías de la información y comunicación, así como conceptos clave de ingeniería de software como los modelos de proceso de software.
El documento describe SIMUNROBOT, un software de simulación de robótica de código abierto. Explica que las herramientas actuales como Matlab son caras y lentas, y que SIMUNROBOT ofrece una alternativa gratuita y optimizada para renderizado 3D. Permite importar modelos 3D, calcular cinemática directa e inversa, y personalizar entornos de simulación para diseño y enseñanza de robótica. El autor propone que el código abierto permite una rápida adaptación y difusión del software.
Este documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos de base de datos usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, modelos conceptuales y de almacenamiento, y mapeo. También cubre conceptos como LINQ, Entity SQL y acceso a datos con ADO.NET y LINQ. Finalmente, discute consideraciones de rendimiento como caché, consultas compiladas y estrategias de herencia.
Este documento describe el Método WATCH y las líneas de productos de software. Brevemente resume que el Método WATCH es un marco metodológico flexible y adaptable que integra procesos técnicos, gerenciales y de soporte para el desarrollo de aplicaciones. También describe las líneas de productos de software como un conjunto de sistemas de software relacionados que comparten activos comunes y pueden ser configurados de diferentes maneras para satisfacer necesidades específicas.
Este documento describe el Método WATCH y las líneas de productos de software. Brevemente resume que el Método WATCH es un marco metodológico flexible y adaptable que integra procesos técnicos, gerenciales y de soporte para el desarrollo de aplicaciones. También describe las líneas de productos de software como un conjunto de sistemas de software relacionados que comparten activos comunes y pueden ser configurados de diferentes maneras para satisfacer necesidades específicas.
Android Studio proporciona nuevas funciones con cada versión, incluyendo integración de ProGuard, renderizado en tiempo real, herramientas Lint, plantillas para diseños comunes, y soporte para desarrollo en Android Wear y Google Cloud Platform. El editor de diseño permite arrastrar y soltar componentes de interfaz de usuario y construcción basada en Gradle.
El Rational Unified Process (RUP) es un marco de proceso de ingeniería de software que provee un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es asegurar la producción de software de alta calidad que satisfaga las necesidades de los usuarios finales, dentro de un cronograma y presupuesto predecible.
El documento resume el estado actual y las futuras direcciones del proyecto de software libre MOSKitt. MOSKitt es una herramienta CASE basada en Eclipse que proporciona soporte para el desarrollo dirigido por modelos. El documento describe las capacidades actuales de MOSKitt, como el modelado de bases de datos y procesos de negocio, y las mejoras planeadas, como la generación automática de código y la especificación de interfaces de usuario. También discute las colaboraciones del proyecto y proporciona algunas estadísticas
Arquitecturas de Programación Avanzadas en NI LabVIEW.pdfErnestoAmillano1
El documento presenta varios patrones de diseño avanzados en LabVIEW, incluyendo la máquina de estados, interfaz de usuario basada en eventos, productor/consumidor, y programación orientada a objetos. Explica cómo estos patrones simplifican el desarrollo, mejoran la confiabilidad y extensibilidad del código, y demuestra ejemplos de su implementación.
El documento habla sobre ASP.NET MVC, un framework para desarrollo web que ofrece separación de preocupaciones, URLs limpias y un modelo de programación más performante. Explica conceptos como modelos, vistas y controladores, y características como Razor, rutas, y jQuery. También cubre SignalR, una biblioteca que permite comunicaciones en tiempo real entre el servidor y el cliente.
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxpauca1501alvar
Explica cómo las tecnologías digitales han facilitado e impulsado la globalización al eliminar barreras geográficas y permitir un flujo global sin precedentes de información, bienes, servicios y capital. Se describen los impactos de las herramientas digitales en áreas como la comunicación global, el comercio electrónico internacional, las finanzas y la difusión cultural. Además, se mencionan los beneficios como el crecimiento económico y el acceso a la información, así como los desafíos como la desigualdad y el impacto ambiental. Se concluye que la globalización y las herramientas digitales se refuerzan mutuamente, promoviendo una creciente interdependencia mundial.
More Related Content
Similar to Generación de código sobre plataformas específicas de desarrollo de aplicaciones con MOSKitt
[TOP 3 TECH UPDATES MEXICO]
Creando Aplicaciones Web en el 2015:
Nuevas tendencias, desafíos, y mejores prácticas
Empujado por la revolución mobile, el emergente mundo de Internet Of Things, la web a evolucionado hacia una gran y ubícua plataforma de desarrollo de aplicaciones. Sin embargo, esta evolución posee dos caras: la de posicionar a la web como una plataforma tecnológica capaz de desbancar tecnologías como Flash y Silverlight, y de competir con iOS, o Android; y la de una plataforma inmadura, difícil de aprender, y de utilizar para crear experiencias de usuario de calidad.
En esta charla se dará una introducción a las nuevas tendencias en el desarrollo web, sus dificultades y desafíos, y las lecciones aprendidas obtenidas trabajando con estas tecnologías de punta.
Speaker: Fernando Curra
Este documento describe el Método WATCH y la línea de productos de software para generar y mejorar mallas de volumen y superficie. El Método WATCH es un marco metodológico flexible e incremental para el desarrollo de aplicaciones empresariales. La línea de productos aprovecharía activos comunes como componentes, diseños y especificaciones para producir de manera más rápida y económica una variedad de productos relacionados con mallas.
Este documento describe el Método WATCH y la línea de productos de software para generar y mejorar mallas de volumen y superficie. El Método WATCH es un marco metodológico flexible e incremental para el desarrollo de aplicaciones empresariales. La línea de productos aprovecharía activos de software comunes como componentes, diseños y especificaciones para producir de manera más rápida y económica diversos productos relacionados con mallas de volumen y superficie.
Este documento describe cómo MercadoLibre implementa su plataforma utilizando AWS y Docker. Explica que recibe unos 18 millones de solicitudes por minuto y realiza unos 400 despliegues diarios con unos 700 desarrolladores distribuidos en 5 centros. Describe cómo Docker permite empaquetar aplicaciones y correrlas en contenedores de forma unificada entre desarrollo y producción. Finalmente, resume el proceso de desarrollo con Fury que incluye crear una aplicación, codificar, crear versiones y realizar despliegues.
Este documento describe cómo MercadoLibre implementa su plataforma utilizando AWS y Docker. Explica que recibe unos 18 millones de solicitudes por minuto y realiza unos 400 despliegues diarios con unos 700 desarrolladores distribuidos en 5 centros. Describe cómo Docker permite empaquetar aplicaciones y correrlas en contenedores de forma unificada entre desarrollo y producción. Resume el proceso de desarrollo con Docker que incluye crear una aplicación, codificar, crear versiones y realizar despliegues a producción de forma automatizada.
Este documento presenta información sobre la preparación para el examen final de la carrera de programación .NET. Cubre objetivos como adquirir conceptos básicos de Visual Studio y reconocer sus características. También describe componentes clave de .NET como el marco de trabajo común de ejecución y la biblioteca de clases base. Además, explica conceptos como LINQ, Entity Framework y herramientas de NuGet.
Este documento proporciona una introducción a Entity Framework, un ORM para .NET que permite a los desarrolladores trabajar con datos relacionales usando objetos de dominio. Explica los componentes clave de EF como EDM, LINQ y Entity SQL, y discute temas como el mapeo objeto-relacional, estilos de desarrollo, consideraciones de rendimiento y estrategias de herencia.
Este documento presenta información sobre la preparación para un examen de fin de carrera en programación .NET. Cubre temas como Visual Studio, .NET Framework, Xamarin, Entity Framework, LINQ, consultas y herramientas de NuGet. También incluye información sobre reportes RDLC, .NET Multi-platform App UI (.NET MAUI) y su evolución desde Xamarin.Forms.
El documento presenta las credenciales y experiencia de Michael Rojas R. en ingeniería de software, incluyendo una maestría en ciencias de la computación y certificaciones en Microsoft, Java, Spring Framework y Android. También describe sus habilidades en el diseño de soluciones de tecnologías de la información y comunicación, así como conceptos clave de ingeniería de software como los modelos de proceso de software.
El documento describe SIMUNROBOT, un software de simulación de robótica de código abierto. Explica que las herramientas actuales como Matlab son caras y lentas, y que SIMUNROBOT ofrece una alternativa gratuita y optimizada para renderizado 3D. Permite importar modelos 3D, calcular cinemática directa e inversa, y personalizar entornos de simulación para diseño y enseñanza de robótica. El autor propone que el código abierto permite una rápida adaptación y difusión del software.
Este documento proporciona una introducción a Entity Framework. Explica que Entity Framework es un ORM que permite a los desarrolladores trabajar con datos de base de datos usando objetos de dominio. Describe los componentes clave de Entity Framework como EDM, modelos conceptuales y de almacenamiento, y mapeo. También cubre conceptos como LINQ, Entity SQL y acceso a datos con ADO.NET y LINQ. Finalmente, discute consideraciones de rendimiento como caché, consultas compiladas y estrategias de herencia.
Este documento describe el Método WATCH y las líneas de productos de software. Brevemente resume que el Método WATCH es un marco metodológico flexible y adaptable que integra procesos técnicos, gerenciales y de soporte para el desarrollo de aplicaciones. También describe las líneas de productos de software como un conjunto de sistemas de software relacionados que comparten activos comunes y pueden ser configurados de diferentes maneras para satisfacer necesidades específicas.
Este documento describe el Método WATCH y las líneas de productos de software. Brevemente resume que el Método WATCH es un marco metodológico flexible y adaptable que integra procesos técnicos, gerenciales y de soporte para el desarrollo de aplicaciones. También describe las líneas de productos de software como un conjunto de sistemas de software relacionados que comparten activos comunes y pueden ser configurados de diferentes maneras para satisfacer necesidades específicas.
Android Studio proporciona nuevas funciones con cada versión, incluyendo integración de ProGuard, renderizado en tiempo real, herramientas Lint, plantillas para diseños comunes, y soporte para desarrollo en Android Wear y Google Cloud Platform. El editor de diseño permite arrastrar y soltar componentes de interfaz de usuario y construcción basada en Gradle.
El Rational Unified Process (RUP) es un marco de proceso de ingeniería de software que provee un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es asegurar la producción de software de alta calidad que satisfaga las necesidades de los usuarios finales, dentro de un cronograma y presupuesto predecible.
El documento resume el estado actual y las futuras direcciones del proyecto de software libre MOSKitt. MOSKitt es una herramienta CASE basada en Eclipse que proporciona soporte para el desarrollo dirigido por modelos. El documento describe las capacidades actuales de MOSKitt, como el modelado de bases de datos y procesos de negocio, y las mejoras planeadas, como la generación automática de código y la especificación de interfaces de usuario. También discute las colaboraciones del proyecto y proporciona algunas estadísticas
Arquitecturas de Programación Avanzadas en NI LabVIEW.pdfErnestoAmillano1
El documento presenta varios patrones de diseño avanzados en LabVIEW, incluyendo la máquina de estados, interfaz de usuario basada en eventos, productor/consumidor, y programación orientada a objetos. Explica cómo estos patrones simplifican el desarrollo, mejoran la confiabilidad y extensibilidad del código, y demuestra ejemplos de su implementación.
El documento habla sobre ASP.NET MVC, un framework para desarrollo web que ofrece separación de preocupaciones, URLs limpias y un modelo de programación más performante. Explica conceptos como modelos, vistas y controladores, y características como Razor, rutas, y jQuery. También cubre SignalR, una biblioteca que permite comunicaciones en tiempo real entre el servidor y el cliente.
Similar to Generación de código sobre plataformas específicas de desarrollo de aplicaciones con MOSKitt (20)
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxpauca1501alvar
Explica cómo las tecnologías digitales han facilitado e impulsado la globalización al eliminar barreras geográficas y permitir un flujo global sin precedentes de información, bienes, servicios y capital. Se describen los impactos de las herramientas digitales en áreas como la comunicación global, el comercio electrónico internacional, las finanzas y la difusión cultural. Además, se mencionan los beneficios como el crecimiento económico y el acceso a la información, así como los desafíos como la desigualdad y el impacto ambiental. Se concluye que la globalización y las herramientas digitales se refuerzan mutuamente, promoviendo una creciente interdependencia mundial.
Ingeniería en Telemática y ejercicios.pdfCamila301231
La ingeniería de telemática se encarga de satisfacer todas las necesidades de los usuarios, lo que incluye la creación de aplicaciones mediante el uso de software avanzado para que todos puedan enviar y recibir mensajes.
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
Presentación realizada en el #Collabdays #Madrid 2024 donde traté las funcionalidades de Gobierno que incorpora ShrePoint Premium para facilitar la adopción de Copilot para Microsoft 365: Controles de Acceso Restringido | Acceso Condicional Granular | Bloqueo de descarga de archivos | Gestión del Ciclo de Vida de Sitios | Acciones recientes en Sitios de SharePoint | Informe de cambios
Generación de código sobre plataformas específicas de desarrollo de aplicaciones con MOSKitt
1. Generación de código sobre plataformas específicas de
desarrollo de aplicaciones: gvHidra y gvNix
Jose Manuel García Valladolid
garcia_josval@gva.es
Héctor Iturria Sánchez
hiturria@prodevelop.es
2. Generación de código
● Qué es
● Proceso por el cual se generan
modelos o recursos específicos de la
plataforma (PSM) a partir de modelos
independientes de ella (PIM).
● Beneficios
● Desarrollo más rápido.
● Estandarización del proceso de
desarrollo.
● Determinación precisa del impacto
frente a cambios.
● Mejora en la calidad del producto
final.
3. Generación de código en MOSKitt
● Qué es
● Conjunto de transformaciones M2M y M2T a partir de
modelos PIM que generan artefactos específicos de la
plataforma de desarrollo.
● Qué nos permite
● Generar prototipos que sirven de apoyo a las fases de
análisis y/o diseño.
● Generar artefactos que servirán de base para la fase de
implementación de la aplicación.
4. Plataformas de desarrollo: MVC
● Patrón arquitectónico MVC
● Modelo
– Encapsula datos y funcionalidad de la
aplicación.
– Proveen interfaces para acceso a
consultas y procesos de negocio.
● Vista
– Visualización de datos de la aplicación.
– Procesa las peticiones del modelo.
● Controlador
– Define el comportamiento de la
aplicación frente a estímulos del
usuario.
– Selecciona la vista adecuada en cada
momento.
7. Plataformas soportadas por MOSKitt
gvHIDRA (PHP5) gvNIX (Java JEE)
● Generación de prototipo de UI
● Generación de código de aplicación ● Generación de entidades Java
para UI (POJO's)
● Generación de objetos y permisos para ● Generación de Persistencia
la base de datos. (Anotaciones JPA)
8. Código generado por UML2JPA
Estrategias para respectar
código del programador:
Zonas protegidas
Son generadas y “vigiladas” por la
transformación de MOSKitt.
Se generarán en:
(a) Al final de cada clase Java:
permiten al programador añadir
nuevas propiedades y métodos a la
clase.
(b) En el cuerpo de cada
método java que corresponda
con una operación de negocio:
permiten al programador especificar
el código del método.
9. Código generado por UML2JPA
Estrategias para respectar
código del programador:
AOP
Inyección de código con AOP
(Orientación a Aspectos). Este
mecanismo es proporcionado
por gvNIX (Spring Roo).
10. Generación de una aplicación
gvHidra
Dos posibles productos:
● Prototipo
– Vista previa de la aplicación
– No necesita una fuente de datos asociada
● Aplicación
– Preparado para modificaciones manuales en caso de ser
necesarias
– Soporte para persistencia de datos
12. Transformación UML2DB
A partir del modelo de dominio se genera el modelo
de base de datos con la estructura que da soporte a
la aplicación.
La transformación se puede configurar para
personalizar la información que no se puede
expresar en el primer modelo.
14. Transformación DB2DDL
A partir del modelo de base de datos se obtiene
el script ddl que permitirá crear, para el sistema
de base de datos elegido, la estructura de
tablas necesaria para persistir la información.
Generación para MySql, PostgreSql y Oracle.
15. Transformación DB2DDL
CREATE TABLE Model_Schema.Pelicula(
PK_Pelicula integer,
titulo char(50),
fecha_estreno date,
en_cine boolean,
dni_director integer,
pais integer,
genero integer,
productora integer
) ;
CREATE SEQUENCE PK_Pelicula
NO MINVALUE
NO MAXVALUE
NO CYCLE
OWNED BY Pelicula.PK_Pelicula;
ALTER TABLE Pelicula ALTER COLUMN PK_Pelicula SET DEFAULT nextval('SEQ_Pelicula_PK_Pelicula');
ALTER TABLE Model_Schema.Pelicula ADD CONSTRAINT PK_Pelicula PRIMARY KEY (PK_Pelicula);
18. Transformación Sketcher2gvHidra
● Diseño de la interfaz de la aplicación a partir del
Sketcher.
● Se construyen las pantallas a partir de los patrones
proporcionados.
● Generación de las plantillas:
–Creación de la estructura y elementos de agrupación
– Generación de los controles
● Tipos de datos de los campos:
– Se aplican las máscaras para tipos numéricos y
fechas
– Definición de listas y valores booleanos
21. Transformación Uim2gvHidra
● En este caso particular, se utilizan modelos
UIM para especificar, a partir de los patrones,
los diferentes módulos de la aplicación y sus
componentes.
● Se obtiene el conjunto de controladores,
mappings, vistas, así como la configuración y la
conexión a la base de datos.
● Suficiente para obtener tanto un prototipo como
una aplicación.
22. Entonces, ¿qué debo hacer? (I)
● A partir del Sketcher es posible obtener un prototipo
completo, ya que MOSKitt permite encapsular todo el
proceso de generación en una única transformación.
● Dicho mecanismo proporciona también un asistente
de generación selectiva: Sólo lo que interesa.
24. Entonces, ¿qué debo hacer? (II)
● Para resultados más complejos se puede modificar el modelo
UIM creado para añadir nuevas funcionalidades:
● Infraestructura de generación de informes
● Saltos de pantalla
● Acciones de interfaz
● La configuración de la transformación Uim2gvHidra permite
especificar información que no está disponible en el Sketcher.
● A través del UIM se añaden los requisitos mínimos que necesita la
generación de una aplicación con persistencia de datos.
26. Preservación de código
● El código generado es susceptible a ser modificado
tras su generación.
● Los cambios efectuados no deben perderse si los
modelos se regeneran.
● Solución en dos fases:
● Herencia de clases en los controladores:
– Constructor y matchings
– Definición de tipos de datos
– Métodos de lógica de negocio
● Uso de zonas protegidas para la lógica de negocio
29. Generación de entidades Java
● Cada uml::Class representa a una posible entidad
del sistema.
● Cada uml::Property representa un posible atributo
de una entidad.
● Cada uml::Operation representa una posible
operación de negocio de una entidad.
● También soporte para uml::Interface y
uml::Enumeration.
● Entre en juego la figura del EntityManager, que es
capaz de persistir una entidad por sí mismo. No hay
que modelar operaciones básicas de persistencia.
● Herencia simple (la soportada por Java).
● Podríamos simular herencia múltiple usando
Interfaces, pero cuidado que JSR-220 no permite
anotar en interfaces Java.
33. Configuración de Validación en UML2JPA
Soporte de JSR-303, Bean Validation
●NotNull
●MinSize
●MaxSize
●RegExp
34. Código generado por UML2JPA
● Se genera un fichero .java con una clase
java por cada clase UML2. Si se ha
configurado como Entidad, entonces será
anotada como tal.
● Se genera un fichero .java con una
interface java por cada Interface de UML2.
● Se genera un fichero .java con un tipo
enumerado por cada Enumeration de UML2.
● Aquellos elementos que no han cambiado
en las sucesivas generaciones de código no
sobreescriben el fichero correspondiente.
De este modo evitamos que gvNIX procese
ficheros que no han cambiado.
37. Generación de servicios: Spring
Generación específica para Spring Framework (gvNIX): @Service
Provee transparencia en la localización física de la lógica de negocio.
38. Generación de servicios
Generación estándard independiente de la plataforma: WSDL
gvNIX dará soporte a generación de servicios en base a WSDL