Build software that's
in step with your business

Reviews Quick Start

Apache Isis™ provides your apps with a standard, automatically generated UI. That means:

  • On new apps, the business domain experts and the techies can work closely to learn, discover and then deliver.
  • Existing apps are easy to modify - the app is mostly business logic, with costly UI code eliminated.
  • Business users will find the app easy to learn as the business concepts are front and center
  • When integrating with other systems, the development cost is minimized through built-in mechanisms

And because Apache Isis™ is open source, built on industry/de-facto standards, 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. as well as a catalog of generic subdomains such as documents, communications, notes and tasks. 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.

DataNucleus AccessPlatform provides persistence and retrieval of data to a range of datastores using a range of APIs, with a range of query languages.

Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again.

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.

Develop your own Apache Isis™ app using the more structured simpleapp starter app.

curl https://codeload.github.com/apache/isis-app-helloworld/zip/master | jar xv
cd isis-app-helloworld-master

mvn clean install
mvn spring-boot:run

curl https://codeload.github.com/apache/isis-app-simpleapp/zip/master | jar xv
cd isis-app-simpleapp-master

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

  Copy text

  Copy text

If you want to use the previous 1.x version, you can use these Maven archetypes.

mvn archetype:generate  \
    -D archetypeGroupId=org.apache.isis.archetype \
    -D archetypeArtifactId=helloworld-archetype \
    -D archetypeVersion=1.17.0 \
    -D groupId=com.mycompany \
    -D artifactId=myapp \
    -D version=1.0-SNAPSHOT \
    -B

mvn clean install
mvn jetty:run

mvn archetype:generate  \
    -D archetypeGroupId=org.apache.isis.archetype \
    -D archetypeArtifactId=$APP-archetype \
    -D archetypeVersion=1.17.0 \
    -D groupId=com.mycompany \
    -D artifactId=myapp \
    -D version=1.0-SNAPSHOT \
    -B

mvn clean install
mvn -pl webapp jetty:run

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.