Software developers creating form based applications will inevitably stumble across the single most important architectural design pattern “Model View Controller” or “MVC“ in short. This concept has paved the way for many frameworks which provide true separation of concerns. The main idea of these MVC frameworks are to separate content from presentation. In layman’s terms I call them “Forms Framework“. When building enterprise applications with a forms framework the ability to achieve rapid application development and developer productivity will increase greatly. I would like to create a series of blog entries (five parts) detailing a simple proof of concept of a mini forms framework. Below is a brief summary of the five part series:
Other Form based technologies
- Mozilla – XUL – Browser based development platform
- Adobe - XML Forms Architecture (XFA) – PDF based
- W3C – XForms - Next generation browsers would support a standard
- Apache – Struts – A Java Web based framework
- SwingML – A Java Swing based application framework
- SWIXML – A Java Swing based UI framework
- Thinlet – A Java Applet based UI framework
- WPF XAML/InfoPath – Microsoft .Net Forms architecture
Although the form based technologies listed above use vastly different ways to build form based applications, they all are basically using the MVC based architectural pattern. My intent is reuse existing Java domain objects POJOs while using JavaFX as a front-end thus providing a return on investment on legacy system domain models. While mature Java technologies like JAXB, EJB and Hibernate still dominate the Java enterprise the idea is to reuse what we already have. JavaFX was developed from the ground up with MVC in mind such as the “Designer-Developer Workflow“. So, with a forms framework a Java Bean would bind to a Presentation Model and a JavaFX Form. I will call the mini forms framework “FXForms” framework throughout the series.
A form containing JavaFX textbox components to capture a person’s full name.
- Check Box to toggle two people using the same form
- Type and change information in fields, thus changing the underlying bean
- Click on Next for a transition to next form.
- Click on Back to return to form
Many who have already read my entry regarding JavaFX Presentation Model Pattern Using Binding. Here, I have decided to kick it up a notch and actually develop a mini forms framework to make forms development easier than ever. JavaFX is an excellent choice to create nice looking GUI forms that will easily bind to your domain model. Next Part 2, we will take a look at requirements for a forms framework.