Apache Isis

What is Apache Isis?

Apache Isis is a framework to let you rapidly develop domain-driven applications in Java. It defines a clean programming model, has JUnit testing support, and provides automatic database integration.

It can also dynamically (at runtime) generate a representation of that domain model using various presentation technologies - the most common being the HTML viewer and JSON (via REST).

In addition to using standard beans notation, i.e. for a method or property 'XXX', the presence of getXXX/setXXX implies that XXX is an editable property, the Isis framework calls other methods on your POJOs to enforce business logic and other behaviour rules (such as hideXXX, disableXXX, validateXXX).

What it is not

  • Isis is not a code generator. It does not generate code, but rather introspects your POJOs.
  • Isis does not require your POJOs to extend any proprietary class (but it does provide a convenience AbstractDomainOject to access various lifecycle methods).
  • Isis is not just a CRUD framework. While it implements the full object life-cycle, it does a whole lot more, too.