home‎ > ‎

Screencasts added

posted Jan 10, 2012, 12:40 AM by Daniel Stieger   [ updated Jan 10, 2012, 8:49 AM ]

Starting in October 2010, modellwerkstatt developed three domain specific languages (DSL) in order to model the requirments of business applications. The DSL´s are programming languages pretty close to java, but with unique features to easy and accelerate the development of business applications. Major features common to standard business applications are implemented in code generators. This is not only improving time to market, but also increasing standardization and code quality. Please refer to Martin Fowler to get a more in detail explanation of the theory behind DSLs (http://martinfowler.com/bliki/DomainSpecificLanguage.html).


The three languages were developed in Jetbrains MPS:

  1. objectflow: a fast object relational mapper. Objectflow can query databases, convert results in BusinessObjects and save BusinessObjects to a database with appropriate transaction handling. Although various relations are supported, no additional SQL knowledge is needed.Code is generated for the mybatis sql mapping framework.  

  2. forms: a user interface design language. Forms addresses all features needed to develop ERP styled user interfaces, i.e. tabular views, form views, editing windows, wizzards, workflows and a application trees. Code is generated for the Apache Pivot RIA framework.

  3. fopland: a language to define printing layouts. In order to print BusinessObjects on various printing systems, fopland allows for the definition of so called printing stylesheets. The fopland code-generator converts those fopland stylesheets to xsl-fo. Common known formatting systems like apache fop can be use to create pdf documents then.


We have created two sceencasts to point out the power of DSL modelling. A simple BusinessObject “customer” should be handled. The whole business application is built from scratch. In screencast 1 we are creating the application with a view, in screencast 2 we add editing features to the application. Hope you enjoy the videos …  although we have German versions only right now...


The next screencasts will be available in english. We will demonstrate input validation, wizzards, advanced queries and how a service can be implemented with a powerful collection language and preconditions. Stay tuned! 


Comments