Technology



Our development process is based on two main elements:

  • Code generator
  • Frameworks
Code Generator
 
We have developed a tool, known as language workbench, where we can define a set of concepts, their graphical representations and their translations to code in different languages. This programming style is more a knowlegde representation than a simple functional declaration.

Examples of concepts could be SW design concepts as columns, tables, data sources, web pages, workflows, and others more related with the business domain.

DevProcess

Development process

 

This tool allows an easier and faster development process with the quality of software provided by the generated code. Beside this, it centralizes the definition of the system regardless the different final layers; once a concept is defined it can be translated into database language, middleware language, interface language and others.

TableLWTableSQLTableCSh

 

Example of table concept instance: definition, SQL translation, C# translation. [Click to zoom]

 

Frameworks

We have developed a generic reusable architecture based on frameworks: JavaScrpit framework, database framework and web server framework.

The JavaScript framework implements an MVC (Model-View-Controller) pattern within the context of a SPA (Single Page Application) architecture. The whole structure is encapsulated in a single object.

The database framework is a set of services such as session management, data log, error handling, multi-language, multi-scope and others. These services are used by the generated code to create an extensible framework for the developers.

The web server framework provides a set of classes to handle, mainly, web requests and data access. By extending these classes, the generated code implements the required application functionality.

WebFW

Web Server Framework

 

On a final stage, a building process provides a full integration of all these building blocks.

 
You can know more about the technology in our academic post.