Curso Generación de código

Generación de código

Detalle del Curso

En la actualidad, como en el pasado, la construcción de software sigue siendo tanto un arte como una técnica. Se han ido comprendiendo algunos principios, plasmados en estilos arquitectónicos y patrones. Pero estamos rodeados de multitud de tecnologías (ventanas, paginas dinámicas, Java, .NET, JSP, ASP.NET, PHP, PHP5, Prado, Remoting, Servicios Web, RMI, J2EE, Struts, Spring, Hibernate, NHibernate, EJB2, distintas bases de datos con sus correspondientes lenguajes de procedimientos almacenados...) cada una de las cuales necesita cantidad de artefactos a producir y codificar para conseguir algo que funcione. Y cuando dominamos una, aparece otra, como Struts, Shale, JavaServer Faces, Linq o EJB3. Y cambian las arquitecturas, y los patrones, y ... Quieren que siga?

Ante tantos detalles, archivos a escribir, componentes, librerías y demás a tomar en cuenta, el desarrollo de una aplicación tiene mucho de esfuerzo simplemente en la tecnología, desviándonos de implementar el negocio de la aplicación.

En los últimos años, ha ido surgiendo una alternativa: hacer que el propio software produzca software, que los detalles los maneje otro. Esto, transformar la computadora de herramienta a agente, es un camino a seguir, y que se ha tomado en varios proyectos importantes.

Requisitos

Conocimientos de programación y manejo de base de datos

Modalidad

Charla dictada en auditorio con proyector

Plan de Estudio

Durante la charla, examineremos el concepto de modelo independiente de la plataforma de un sistema, y mediante tecnologias de templates, generaremos codigo para gran parte de una aplicacion, en distintas tecnologias, como PHP, Java con JSP, .NET con ASP.NET, contra MySql o SQL Server, usando distintas estrategias de persistencia, como procedimientos almacenados o NHibernate. Todo basado en un mismo modelo, con distintas plantillas de generacion de codigo, manejados desde el proyecto de codigo abierto AjGenesis. Los principales puntos son:

- Modelo independiente de la plataforma
- Generacion de artefactos de texto con logica y plantillas definibles por cada usuario (no produce algo fijo, sino codigo como el que hubieramos producido en nuestro equipo de programacion)
- Capacidad de ejecutar varias tareas adicionales (compilacion, instalacion en la base...)
- Organizacion de esa tareas de generacion y adicionales en forma automatica y repetible
- Adaptacion a varias tecnologias destino

Programado por Angel J. Lopez y el Club de Programadores | HTML + CSS por FedericoMP