MDA para dummies David Marzo Pérez [email_address] v 0.1 25-Enero-2008 duracion: 30''
Quien soy? David Marzo Pérez Director tecnico en Solnatec Miembro de navarraDotNet Programador -[2001,...)-> Desarrollador  Qbasic,pascal,c -> java,.NET Muy critico/cascarrabias con las tecnologias
De que hablamos hoy? 30'' Aventuras y desventuras (dummy)‏ Objetivo: Charla --> “Tambien quiero probar”
Que es MDA? M odel  D riven ,   A rchitecture Iniciativa de la OMG (Corba,UML,MDA,...)‏ Sopa de siglas:   MDA,UML,XMI,MOF,QVT,OCL,PIM,PSM,CWM,.. Muy “cientifico” 2000-(draft)->2001(v1)-->2003(v1.1)->... Modelo(UML) + MDA tool = aplicación
Para que sirve MDA? Que los consultores vivan bien :-)‏ Desarrollador vs Consultor Convention over configuration, El codigo es lo que importa, KISS, AOP, spring, EJB3, ORM, etc.. Futuro muy prometedor (Embarazo largo)‏ Hoy ya diseñamos las aplicaciones,verdad !? Aprovechar y automatizar  parte  del desarrollo. Aumento de la productividad <dMarzo>Productividad: -teclear ,+pensar</dMarzo>
Aumento de la productividad Exagerado:  (x1.3 ... x5)  Estudio petstore J2EE: x1,55 tradicional(est:500,real:507)h MDA(est:440, real:330)h Propias Aplicaciones de vida larga con desarrollo continuo. Ayuda a marcar el proceso de trabajo Aumenta la complejidad
Historias del abuelo, Timeline 2003 Generador de acceso a datos ( tinypersistence ) Modelo(XML) -> for+WriteLine -> .cs 2004 Herramienta +sofiticada  Modelo(XML) ->QueGenerar(xml)+Plantillas(Velocity) ->Texto(.cs .sql)‏ 2005 Prototipo herramienta MDA (Xeaf.Codegen) Modelo(DbSchema,xml,xmi,.dll,...) -> DSL procesado->Plantillas(Velocity) ->texto(.cs,.xml, .sql) 2007 Pruebas internas 2008 Publicar herramienta como opensource (Castle?,Apache?,?)‏
Xeaf.Codegen Prototipo Un paso atrás de MDA Un paso mas cerca del  desarrollador Simil: IDE vs ANT Reinventar la rueda?  Si, pero la nuestra es mas redonda ;-)‏ AndroMDA,OpenArchitectuware,OpenMDX,Extensiones sobre Eclipse EMF, blueJ, etc...
Proceso de trabajo (I)‏ Analisis+Diseño  (Definir arquitectura de la linea de producto)  -  Contexto,   - Lenguaje comun(PIM)  - Tecnologia/plataforma(PSM)‏ Ejemplos : (AppGestion, 50Usr) + (tablas,vistas,CRUD+find)  + (asp, SQL server, storeprocedures)‏ (AppGestion, 500Usr) + (Entidades,relaciones,herencia) +(asp.NET, Ibatis,SQL server)‏ (Website) + (zona admin) + (php, dao)‏
Proceso de trabajo (II)‏ Dia a dia Diseño modelo Generar Desarrollar Cambiar modelo Generar Desarrollar ... La sincronizacion (Modelo<---->Codigo) es un Mito!?
Conclusiones “ No silver bullet” Merece el esfuerzo, mucho y continuo. Y tu que me dices que me quieres vender? Busco gente con ganas de colaborar en la herramienta. (Xeaf.Codegen)‏ Alguna empresa que quiera hacer de conejillo de indias

Mda Para Dummies

  • 1.
    MDA para dummiesDavid Marzo Pérez [email_address] v 0.1 25-Enero-2008 duracion: 30''
  • 2.
    Quien soy? DavidMarzo Pérez Director tecnico en Solnatec Miembro de navarraDotNet Programador -[2001,...)-> Desarrollador Qbasic,pascal,c -> java,.NET Muy critico/cascarrabias con las tecnologias
  • 3.
    De que hablamoshoy? 30'' Aventuras y desventuras (dummy)‏ Objetivo: Charla --> “Tambien quiero probar”
  • 4.
    Que es MDA?M odel D riven , A rchitecture Iniciativa de la OMG (Corba,UML,MDA,...)‏ Sopa de siglas: MDA,UML,XMI,MOF,QVT,OCL,PIM,PSM,CWM,.. Muy “cientifico” 2000-(draft)->2001(v1)-->2003(v1.1)->... Modelo(UML) + MDA tool = aplicación
  • 5.
    Para que sirveMDA? Que los consultores vivan bien :-)‏ Desarrollador vs Consultor Convention over configuration, El codigo es lo que importa, KISS, AOP, spring, EJB3, ORM, etc.. Futuro muy prometedor (Embarazo largo)‏ Hoy ya diseñamos las aplicaciones,verdad !? Aprovechar y automatizar parte del desarrollo. Aumento de la productividad <dMarzo>Productividad: -teclear ,+pensar</dMarzo>
  • 6.
    Aumento de laproductividad Exagerado: (x1.3 ... x5) Estudio petstore J2EE: x1,55 tradicional(est:500,real:507)h MDA(est:440, real:330)h Propias Aplicaciones de vida larga con desarrollo continuo. Ayuda a marcar el proceso de trabajo Aumenta la complejidad
  • 7.
    Historias del abuelo,Timeline 2003 Generador de acceso a datos ( tinypersistence ) Modelo(XML) -> for+WriteLine -> .cs 2004 Herramienta +sofiticada Modelo(XML) ->QueGenerar(xml)+Plantillas(Velocity) ->Texto(.cs .sql)‏ 2005 Prototipo herramienta MDA (Xeaf.Codegen) Modelo(DbSchema,xml,xmi,.dll,...) -> DSL procesado->Plantillas(Velocity) ->texto(.cs,.xml, .sql) 2007 Pruebas internas 2008 Publicar herramienta como opensource (Castle?,Apache?,?)‏
  • 8.
    Xeaf.Codegen Prototipo Unpaso atrás de MDA Un paso mas cerca del desarrollador Simil: IDE vs ANT Reinventar la rueda? Si, pero la nuestra es mas redonda ;-)‏ AndroMDA,OpenArchitectuware,OpenMDX,Extensiones sobre Eclipse EMF, blueJ, etc...
  • 9.
    Proceso de trabajo(I)‏ Analisis+Diseño (Definir arquitectura de la linea de producto) - Contexto, - Lenguaje comun(PIM) - Tecnologia/plataforma(PSM)‏ Ejemplos : (AppGestion, 50Usr) + (tablas,vistas,CRUD+find) + (asp, SQL server, storeprocedures)‏ (AppGestion, 500Usr) + (Entidades,relaciones,herencia) +(asp.NET, Ibatis,SQL server)‏ (Website) + (zona admin) + (php, dao)‏
  • 10.
    Proceso de trabajo(II)‏ Dia a dia Diseño modelo Generar Desarrollar Cambiar modelo Generar Desarrollar ... La sincronizacion (Modelo<---->Codigo) es un Mito!?
  • 11.
    Conclusiones “ Nosilver bullet” Merece el esfuerzo, mucho y continuo. Y tu que me dices que me quieres vender? Busco gente con ganas de colaborar en la herramienta. (Xeaf.Codegen)‏ Alguna empresa que quiera hacer de conejillo de indias