Con etooltech Framework Generator (eFG) generamos las capas de la aplicación desde un diseño de objetos hecho con interfaces, de esta manera ahorramos todo el trabajo de escribir el código inicial de una aplicación pasando directamente a escribir el código funcional.

eFG aplica AOP para las funcionalidades transversales, estas son comunes en todas las aplicaciones así que las tenemos encapsuladas y se referencia en el modelo por inyección de dependencias, además genera dos "modelos", uno safe, que sólo es modificable desde eFG, y otro extensible que es donde programaremos las funcionalidades específicas de la aplicación.

Las extensiones se generan como clases parciales, de esta manera la separación entre las extensiones y el modelo safe es transparente a la hora de trabajar con el framework.

El acceso a Datos se trata como una dependencia más, de esta manera el modelo es independiente de donde persistan los datos, sólo sabe pedir objetos y guardar objetos en el interface de datos, eFG genera dos modelos de acceso a Datos, uno sobre SQL con Linq2SQL y otro sobre MongoDB como MongoMapper.NET, un mapeador de objetos desarrollado por etooltech.

eFG genera una capa de servicios web donde se exponen todos los métodos CRUD de los objetos además de todas las búsquedas que se hayan definido en el modelo, estos servicios se pueden exponer con casi todos los protocolos de consumo (HHTP - GET/POST, XML/JSON, SOAP).

En su última versión eFG genera las clases proxy para los servicios web en Ruby y en PHP, además está en desarrollo el generar código para crear el esqueleto para desarrollar un UI en ruby on rails.

eFG se encuentra en fase Beta 2.