Transforming autoforms to quality interface with DSL


Download presentation

Large software projects contain a lot of metadata in domain model related, for example, to ORM. This metadata could be reused in interface, however the difficulties in implementation of user interface generator based on metamodel formed an opinion that code generation is good enough only for prototyping. At the same time, implementation of complex interfaces in traditional way – using separate components from standard or third-party library – remains difficult and expensive. We were able to work around the limitations of form user interface generation and provide the same flexibility as in traditional approach, using following principles:

  • Build interface model in runtime instead of source code generation. UI components and events are reflection of this model.
  • Metamodel from application domain is only a starting point for interface generation. Developers transform the generated interface to the expected look and feel using internal DSL right in their Java code.
  • Pure Java SE solution. No dependencies on external libraries and frameworks: external sources of metadata (e.g. JPA annotations) are bound to form generator using plug-in architecture.

This approach is implemented in our corporate Java platform, which is already used in several banking software projects. This presentation will show on real life examples how the demonstrated architecture solves the goal of rapid form user interface construction, reducing the implementation costs and the complexity of application code.

Ivan Gammel

Ivan GammelIvan Gammel

Senior Developer, CUSTIS

Ivan learned programming on ZX Spectrum Basic in elementary school, then switching to more powerful Turbo Pascal. He started his career as assistant at school IT center in 1996, performing technical service of several computer classes. During that time he learned C and Java. In 2002 Ivan graduated from Moscow Institute of Physics and Technology. During his career of Java developer, architect and team lead, Ivan participated in various software projects related to image recognition, data mining, automated classification and CAD in Russia and USA. Currently he is working on banking software in CUSTIS as senior developer of corporate Java platform and member of Knowledge Management group.

 


Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© CEE-SECR 2012 • Email:
Powered by WordPress. • Hosted by Hosting Community • Developed by i-Help