Tecnología



Nuestro proceso de desarrollo se basa principalmente en dos elementos:

  • Generador de código
  • Frameworks
Generador de código
 
Hemos desarrollado una herramienta, conocida como language workbench, que nos permite definir un conjunto de conceptos, sus representaciones gráficas y su traducción a diferentes lenguajes. Este estilo de programación es más una representación de conocimiento que una simple declaración funcional.

Ejemplos de conceptos podrían ser columnas, tablas, fuentes de datos, páginas web y otros más relacionados con los diferentes ámbitos de negocio.

DevProcess

Proceso de desarrollo

 

Esta herramienta permite un proceso de desarrollo más rápido y sencillo y con la calidad de software que ofrece el código generado. Aparte de esto, centraliza la definición del sistema independientemente de las capas finales; una vez que un concepto es definido puede ser traducido a un lenguaje de base de datos, de capa intermedia, de interfaz, etc.

TableLWTableSQLTableCSh

 

Ejemplo de instancia de un concepto “tabla”: definición, traducción a SQL y traducción a C#. [Pulse para aumentar]

 

Frameworks

Hemos desarrollado una arquitectura genérica y reutilizable basada en frameworks: framework JavaScript, framework de base de datos y framework de servidor web.

El framework JavaScript implementa un patrón MVC (Modelo-Vista-Controlador) en el marco de una arquitectura SPA (Aplicación de página única). Toda esta estructura se encuentra encapsulada en un único objeto.

El framework de base de datos es un conjunto de servicios como: gestión de sesión, log de datos, gestión de errores, multi-idioma, multi-ámbito, etc. En estos servicios se apoya el código generado para crear un framework extensible para los desarrolladores.

El framework de servidor web proporciona un conjunto de clases encargadas de gestionar, principalmente, peticiones web y acceso a datos. Por medio de la extensión de estas clases, el código generado implementa las funcionalidades requeridas a la aplicación.

WebFW

Framework de servidor web

 
 

Finalmente, un proceso de building se encarga de la integración completa de estos bloques.

 
Puedes conocer más acerca de la tecnología en los artículos académicos del blog.