|Isis Improves Value Types|
|Written by Kay Ewbank|
|Thursday, 13 October 2022|
Apache Isis, a framework for developing UIs for domain-driven apps in Java, has been updated with a new milestone release. Isis 2 M8 adds new core extensions and has major improvements to its value types.
Isis can be used to create user interfaces for domain object models, which can then be customized by including additional components and extensions. Isis builds a generic user interface and a rich hypermedia REST API based on business logic created by the developer as entities, domain services or view models.
Milestone Release 8's main improvements start with new core extensions, specifically extensions of the SessionLog and ExecutionOutbox extension which supports the outbox pattern.
The developers say there are also big improvements for value types, including support for value types as a first-class citizen - at least for simple types. As these are just a type-safe wrapper around a single field such as Password or Money, the framework will treat any instance of this custom value type as if it were the underlying type, making it possible to apply validations to the value type that would apply everywhere it is used as a property/parameter.
The Wicket viewer UI has also been improved. The Apache Isis viewer is implemented using Apache Wicket, Apache's component-based web application framework for Java. The Isis viewer UI has improved client-side paging and filtering using datatables.net, and a new extension to render PDF Blobs using pdf.js. There's also a new extension to display events on the calendar using fullcalendar.js.
Elsewhere, a new encapsulation_enabled introspection policy has been added that allows actions, collections and properties to have non-public visibility, and a new IdStringifier API/SPI interface gives developers a way to allow pluggable management of identifiers in bookmarks and URLs. The final improvement of note is support for the Java Module System.
Apache Isis 2 Milestone 8 is available now.
or email your comment to: firstname.lastname@example.org