Build software that's
in step with your business

Reviews Quick Start

Apache Isis™ enables domain-driven application development by automatically generating a UI for your Spring Boot™ apps. That means:

  • Productivity - the app is mostly business logic, with costly UI code eliminated.
  • Discovery - the business domain experts and the techies can work hand-in-hand to understand the problem space and then the solution space.
  • Ease of Use - business users will find the app easy to learn as the business concepts are front and center
  • Clean Architecture - the framework ensures separation of concerns within your app's internal architecture
  • Simple Integration - automatically publishes generic domain event for async integrations and a REST API for sync integration.

And because Apache Isis™ is open source, built on industry/de-facto standards such as Spring Boot™, there's no vendor lock-in.

Reviews

We gathered together some comments from current users of the framework.

How it works

UI & REST “for free”

Apache Isis™ dynamically builds both a generic user interface and also a rich hypermedia REST API directly from the underlying domain objects. This makes for extremely rapid prototyping and a short feedback cycle, perfect for agile development. The UI can also be extended for specific use cases, and can be themed using Bootstrap.

Domain-Driven

The core of an Apache Isis™ application are the domain objects, either persisted entities or view models. Business rules can be associated directly with domain objects, or can be factored out into separate services. Apache Isis performs dependency injection everywhere to ensure that the application remains decoupled and testable.

Add-ons

Apache Isis™ includes a large number of add-on modules for security, auditing, command profiling, mail merge and other cross-cutting concerns. It also has a number of UI extensions for maps, calendars etc. All are open source and designed for out-of-the-box use or to modify as you require.

Built with

Apache Isis™ is built on top of industry leading open source products, all licensed with business-friendly Apache Software License v2.0 or MIT.

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications.

EclipseLink, the reference implementation for JPA, is a comprehensive open-source Java persistence solution addressing relational, XML, and database web services.

DataNucleus AccessPlatform, the reference implementation for JDO, provides persistence and retrieval of data to a range of datastores using a range of APIs, with a range of query languages.

Byte Buddy is a code generation and manipulation library for creating and modifying Java classes during the runtime of a Java application.

Quick Start

Learn about Apache Isis™ by running the minimal helloworld starter app. You can see the app running here (jdo) and here (jpa).

Develop your own Apache Isis™ app with the structured simpleapp starter app. You can see the app running here (jdo) and here (jpa).

APP=isis-app-helloworld
BRANCH=jdo
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH

mvn clean install
mvn spring-boot:run

APP=isis-app-simpleapp
BRANCH=jdo
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH

mvn clean install
mvn -pl webapp spring-boot:run

  Copy text for helloworld (jdo)

  Copy text for simpleapp (jdo)

APP=isis-app-helloworld
BRANCH=jpa
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH

mvn clean install
mvn spring-boot:run

APP=isis-app-simpleapp
BRANCH=jpa
curl https://codeload.github.com/apache/$APP/zip/$BRANCH | jar xv
cd $APP-$BRANCH

mvn clean install
mvn -pl webapp spring-boot:run

  Copy text for helloworld (jpa)

  Copy text for simpleapp (jpa)

You can also explore the Apache Isis programming model through the demo app, running here.

Support

Apache projects use mailing lists for support. You can subscribe by sending an email to the users list, or you can browse the archives. If you find a problem, please raise a ticket on our JIRA, or ask a question on StackOverflow.