
The Power of Java, the Speed of Dynamic Languages
TerraFrame MOJO was built from the ground up to solve many of the challenges associated with developing rules-based applications for the web. Rather than using the traditional "Convention over Configuration" design paradigm, MOJO uses our flexible self-describing metadata model to automate and dynamically manage the technology stack.
The end result: Applications can be built in Java with the speed you would expect from a dynamic language framework, while capitalizing on the benefits of the most popular statically-typed language.
Development Features
TerraFrame MOJO provides many features necessary to write a complex rules-based web application right out of the box. Click on a feature title to get the details:
Metadata
- Define your model declaratively
- Autogenerate type-safe APIs for all domain classes
- Deploy changes to the model without restarting the server
- Type-safe domain classes promote strong encapsulation
Integrated ORM
- No XML configuration
- No mapping annotations
- True inheritance
- Configurable object caching
Powerful Query API
- Query with Objects instead of DB tables and relational joins
- Queries on Objects, Values on Objects and on Presentation Views
- Nearly as expressive as SQL
- Intuitive to read and easy to learn
Transaction Management
- No explicit commits or rollbacks
- Make any method a transaction with @Transaction
- Handles nested transactions seamlessly
Programmable Event Model
- Intuitively define a type’s lifecycle through a graph
- Enforce validity of transitions automatically
- Add custom behavior by simply overriding a transition method
Relationships & Associations
- First-class objects
- Contain attributes
- Participate in inheritance hierarchies
- Simple navigation through directional labels
True MVC
- Presentation layer is completely decoupled from Business
- Business layer management of sessions and authentication
- Presentation Domain Classes allow for complex view-level concepts, instead of forcing a one-to-one mapping between the model and the view
- Presentation and business servers can communicate locally, via Java RMI, or through JSON or Web Services
Security Features
- Integrated RBAC automatically enforces permission across the entire business layer
- Secure document vaulting is built-in
Built in Remoting
- Multiple presentation servers
- Business rules and database can reside on their own servers
- Scaling requires editing a few lines in the deploy config
AJAX
- Javascript DTOs are generated for all classes and facades
- Transparent method invocation on the server through DTOs