TerraFrame MOJO framework

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

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