Template based generation of artifacts helps for developer productivity in the initial phase of building the application. There are several application components, which have similar behavior and often very similar implementation.

A prominent example is Entity Service. It has several predefined methods based on REST concepts and HTTP - GET, POST, PUT, DELETE on an entity level as well as a list of all entities. Additionally, the most notable storage for the entity data is the RDBMS provided by the platform. Hence, to save the developer’s effort to create such entity services from scratch, we introduced a template that can be used for generation from table to service.

Another example is user interface templates based on patterns - list, master-detail, input form, etc. There can be provided also templates based on different frameworks for client-side interaction.

NOTE: The generation is one-time process. Once you have the generated artifact you can modify it based on your own requirements.

In contrast to the MDA, where you can expect to regenerate the PSMs every time you make changes on PIMs, we decided to choose the more pragmatic approach - single model. In general, it is good to have an abstraction and technology agnostic languages and models, but in practice, in the last years, it turned out that it brings more problems than benefits especially for support - where MDA claims to be good for.