Mas generacion de codigo con AjGenesis

Hola gente!


En estos dias he escrito nuevos ejemplos para mi generador de codigo AjGenesis open source. El proyecto y los ejemplos los pueden bajar desde


http://www.ajlopez.com/ajgenesis


Los ejemplos nuevos estan el zip AjGenesisExamples.zip. Sobre un solo modelo, se generan tres implementaciones: una en PHP, otra en VB.Net, y otra en VB.Net con NHibernate. El modelo, como en las versiones anteriores, se expresa en XML. No dejo de destacar que el modelo es algo que el usuario del AjGenesis define. No está fijo, sino que cada cual puede especificar su propio modelo.


Si uno quiere modelar sistemas que sólo emitan un mensaje (el clásico Hola Mundo), podría diseñar un modelo:


<Project>
<Message>Hola, AjGenesis</Message>
</Project>


tranquilamente (hay un ejemplo así en la solución principal).


También levanta modelos de XMI, pero todavía no hay template para tomarlo. Pueden probar de levantar un modelo con el AjGenesisWinConsole que viene en la solución, y hacer un File Open desde ahi



Observen que desde el lenguaje del AjGenesis, se puede acceder a esos valores con nombres no estándar con corchetes:


[UML:Diagram].name


Desde el año pasado, le incorporé integración con NAnt, así se ve un ejemplo desde el NAnt-GUI:


 


 


Esos ejemplos nuevos, tienen cada uno, un archivo .build para lanzar las tareas desde el NAnt o el NAnt-GUI. En el directorio Templates se encuentran plantillas para distintas tecnologías (VbNet, PHP, MySql, MSSql….). En el directorio Tasks se colocaron las tareas a ejecutar desde el NAnt. En Projects estan los proyectos, en este caso, uno solo, descripto en Project.xml, y varios archivos Technology*.xml que describen el modelo dependiente de la plataforma.


Este es un vistazo de la estructura


 



En el caso del proyecto Vb.Net, genera la solución, y varios proyectos (hay que publicar uno como sitio web antes de levantar la solución en el VS 2003). Vean como queda:


 


 


Espero que lo puedan usar, se aceptan sugerencias, críticas, contribuciones a los templates, ideas…


Nos leemos!


 

This entry was posted in 2643. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>