Apache Isis is a framework to let you rapidly develop domain-driven apps in Java. It defines a clean programming model, has BDD and JUnit testing support, and can dynamically (at runtime) generate a representation of that domain model using various presentation technologies.

You can use Apache Isis in a variety of ways, from initial prototyping all the way through to final deployment:

Develop your domain model Develop your domain model using the Isis Programming Model Develop your domain model using Custom Extensions to the Isis Programming Model Specify and test your domain model Test your domain model using JUnit Specify your domain model using BDD (Concordion) Deploy as the domain model in your preferred framework Deploy as the domain model in your preferred framework with a custom UI Deploy as the domain model in your preferred framework with custom persistence Deploy as an auto-generated REST web service Deploy as an auto-generated REST web service using Isis' persistence mechanism Deploy as an auto-generated REST web service using a custom persistence mechanism Deploy as an auto-generated webapp Deploy as an auto-generated webapp using Isis' persistence mechanism Deploy as an auto-generated webapp using a custom persistence mechanism

Isis in action

We've deployed a simple demo app, so you can see Isis in action. The app is deployed with both the RESTful web service and the auto-generated webapp, running against an in-memory object store. To use, you'll need to register an account (the credentials are stored only in memory and are reset nightly).

The webapp has full documentation to guide you further. It also links to the application's source so you can see how little code you need to write to get an application up and running with Isis.

Getting Started

Isis is built with Maven and has a quickstart archetype to get you going quickly. This will generate a simple one-class domain model, configured to run like the online demo (but with no security).

After that, please consult the various resources linked from the site menu on the left-hand side.

Disclaimer

Apache Isis is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator project. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.>