TerraFrame MOJO framework

MOJO's Metadata Model

TerraFrame MOJO uses a descriptive metadata model to automatically generate and manage the boilerplate within the technology stack. Many of the basic features common to all rules-based web applications are generated and actively managed, including: authentication, authorization, persistence and transaction management.

TerraFrame MOJO metadata model

All concerns are separated, so your business logic does not become cluttered, and application context is automatically maintained by MOJO without the need to explicitly pass context objects through the call stack.

Type safety is one of the many advantages of using a static language like Java. TerraFrame MOJO extends this advantage by generating type-safe APIs for the domain classes defined in MOJO's metadata model. Type-safe getters and setters are also generated for all attributes, relationships and state transitions. When the developer uses a popular IDE such as Eclipse or IntelliJTM, code hints are provided on all types, which extends immediate visibility into the structure and behavior of the domain classes.

TerraFrame MOJO using the Facade pattern

Many common MVC frameworks provide the presentation layer with complete access to the domain model. This behavior often increases the complexity of implementing security and presentation logic. TerraFrame MOJO takes the opposite approach by providing powerful encapsulation through the Façade design pattern. MOJO's metadata model allows the developer to define APIs which hide the complexity from concerns beyond the business layer. Attributes on all objects and relationships can be set to public/private depending on their use. This design method completely abstracts complexity away from other layers of the application which lowers development time on all layers within the technology stack.

Making major changes to the domain model is simple with TerraFrame MOJO. Since MOJO is API based, new features and modifications can be added to the domain model at will. Once a modified model is ready to be deployed, MOJO's proprietary class loader dynamically updates the application in real time, without requiring a server restart.  

Requirements

Java SE
Java 6
(Java 5 minimum. Req. with PostgreSQL)
Operating Systems
Microsoft Windows
Any Flavor of Linux
Sun Solaris
Mac OS X 10.4+
Databases
MySQL
PostgreSQL
Microsoft SQL Server
Oracle 8
Web Server
Tomcat 6
(others untested)
IDEs
Eclipse 3.1.1
IntelliJ
Netbeans
Emacs
ANT
Version 1.7