OfficeFloor is true inversion of control for building real-time web applications that are build once run anywhere - even with Cloud Computing
v2.2.0
The run anywhere flexibility is unique to OfficeFloor due to its inversion of control fundamentals of:
OfficeFloor is freely distributed under GPL (LGPL also available on request) and the source is available here.
The intuitive graphical configuration makes OfficeFloor applications self documenting - which works great with both Agile and Support.
OfficeFloor dynamic web pages only require the following 3 non-obtrusive tags:
The reason for using non-obtrusive tags in the web pages is to allow OfficeFloor to integrate with WYSIWYG web design tools (e.g. DreamWeaver, KompoZer) to create and edit the web pages.
Also reviewers can open the raw web pages in any web browser. This makes for faster feedback loops with the Web Designer enabling the right look and feel for the web application.
The application logic is written with POJOs (plain old Java objects) but with a slightly different focus to many dependency injection frameworks. OfficeFloor injects the dependency as a parameter into the method rather than into the object. This difference is key to OfficeFloor's simplicity yet power!
Dependency injection into methods is fundamental to true inversion of control as methods are the natural building blocks for managed code. The JEE API's highlight this:
OfficeFloor focuses on the method and its context, dependency injection and the invoking thread (thread injection).
OfficeFloor also provides simplified integration with GWT so that the AJAX rich user web page experience can be written in Java. This keeps all code in the one programming language for easier development and support. OfficeFloor can also be used with JavaScript, jQuery or any other rich user interface technologies.
The web pages and POJO methods are connected together via OfficeFloor's function orchestration providing a cohesive web application.
OfficeFloor's function orchestration is configured graphically which improves application development by:
No additional coding/configuration is required for OfficeFloor function orchestration allowing development teams to focus on the web pages and POJOs. OfficeFloor will interrogate the web pages and POJO methods to obtain all necessary information for function orchestration.
An OfficeFloor Eclipse plug-in provides the tools to graphically configure the function orchestration.
The run anywhere flexibility provided by OfficeFloor's inversion of control fundamentals means that web applications built with OfficeFloor can be deployed anywhere, including:
The build once run anywhere capability of OfficeFloor provides flexibility to make the best deployment decisions for the web application - both now and in the future.