Apache Isis settles onto Spring Boot

Apache Isis

The Apache Software Foundation’s project for generating UIs for domain-driven Java applications, Isis, has clocked up another milestone release, re-platforming it to run on Spring Boot.

Those unfamiliar with the open source project can imagine it as a way of generating user interfaces for domain object models, which can later be customised via additional components and extensions. Use cases also encompass app prototyping or the exposing of a domain object model as a RESTful resource.

Amongst other things, the team behind Apache Isis has used the last year to restructure the framework, trimming it down where necessary and regrouping features. Isis 2.0 M3’s testing capabilities for example have moved to a new top level testing group, while the release also saw the introduction of value-types, subdomains, mapping, extensions, incubator, and legacy groups.

It now runs on the popular Java framework Spring Boot, which is meant to bring a couple of simplifications to users. They can for example make use of a parent pom, similar to that of Spring Boot, when developing new apps, and specify configuration properties via Spring’s application.properties or application.yml. This also means the Maven archetypes formerly available have made way for Starter Apps, which can be found in the project’s repo.

Aside from the structural changes, the team also found time to add a couple of features to the milestone release. Devs on the latest release can for example switch to Keycloak for identity and access management, and specify which layout file should be used for rendering a domain object via layout().

They can also make use of @Property#projecting to learn which properties of a view model hold a reference to the underlying entity of which it is a projection, since those are often of more interest to the user than the view model.

Other additions include new value types Asciidoc, Markdown, and a text-based one with SSE support, and a couple of new extensions. The latter provide support for database migration tool Flyway, cross-origin resource sharing, as well as pdf.js, fullcalender, and excel download for the Wicket viewer.

More details on minor changes can be found in the project’s release notes.