We’re working on next minor release of the Holon Platform, that is expected to be stable and generally available by the end of March.

UPDATE:

The release date was moved to April 20 to spend more time reviewing the documentation and providing more support material, such as tutorials and examples.

Along with all the latest bug fixes, there is also a lot of useful features that made it to this milestone.

As a minor release, the public Java API is fully compatible with the previous version, for a seamless migration with a minimal effort from version 5.0.0.

Below is a list of the of the new and noteworthy features, listed by module.

Core Module

  • The PropertySet object now supports identifier properties declaration, which can be used to provide a virtual primary key to distinguish a PropertyBox instance from another, both at Java object level (equals and hashCode) and at persistence architecture level.
  • The Property architecture was made even more flexible and extensible, providing configuration hooks for custom logic and introducing PathProperty extensions to easily deal with main property data types in a more consistent way. For example, the StringProperty interface can be used for String data type, the NumericProperty one for numeric types and so on.
  • Performance improvements to the ExpressionResolver based architecture through smart caching strategies and a revision of the internal expression resolution logic.
  • A deep revision of the Expression based architecture, which is the foundation, above all, of the Datastore API and the abstract query engine. This lead to a more consistent and extensible architecture, along with considerable performance improvements and a better foundation for future Datastore developments, including asynchronous and reactive implementations.
  • Introduction of an high level transactional support for Datastore, allowing to manage transactions in a platform agnostic way, independently from the underlying persistence technology.
  • Spring Security support and integration at authentication/authorization architecture level
  • A set of little improvements to the core Java API, to made it even more effective and easy to use.

JSON Module

  • A bran new Json Java API to easily deal with JSON serialization and deserialization in a JSON provider independent way, with full Property and PropertyBox support. At the moment, the supported JSON provider are Jackson and Gson.
  • An improved and consistent support for the java.time.* Date and Time API data types, including the support within a PropertyBox.

JAX-RS Module

  • Improved support for the java.time.* Date and Time API with JSON when a PropertyBox is used as data transfer object in JAX-RS endpoints.
  • A better Spring Boot auto-configuration support for Jersey and Resteasy.
  • The Swagger integration and auto-configuration is more extensible and configurable through Spring Boot properties.

JDBC Datastore Module

  • Complete and deep revision and rewriting of the internal SQL operations engine, which is now separated as an independent artifact from the core JDBC Datastore artifact. This lead to greater extensibility, a more consistent operation resolution strategy and remarkable performance improvements.
  • Support of the the PropertySet identifier properties to detect the persistent entities primary keys avoiding additional database accesses.
  • Improved extensibility by design, allowing to easily provide custom expressions and resolvers.
  • Full support for Date and Time functions.
  • Added the high level Transactional support.
  • Improved configuration capabilities when the Spring Boot auto-configuration is used.
  • Improved support for industry-standard vendors RDBMS, such as Oracle Database, Microsoft SQLServer, IBM DB2 and SAP HANA.

JPA Datastore Module

  • Complete and deep revision and rewriting of the internal JPQL operations engine, to improve consistency and performances.
  • Better support for generic entity beans.
  • Improved extensibility by design, allowing to easily provide custom expressions and resolvers.
  • Full support for Date and Time functions.
  • Added the high level Transactional support.
  • Improved configuration capabilities when the Spring Boot auto-configuration is used.
  • Better support for Apache OpenJPA and Datanucleus ORMs, along with the standard support for Hibernate and Eclipselink.

Vaadin Module

  • Support for the PropertySet identifier properties to make more easy and quick to setup data bound UI objects.
  • Full support of Vaadin version 8.3, including for example the @PushStateNavigation strategy for Navigator.
  • Better support for bean based data bound UI objects, with new builders and a seamless Java API just like the Property based one.
  • Support for drag and drop at Java API level.

The reference manual will be updated to reflect the API changes and to document all new features. Detailed release notes and changelog will be provided when new release will be made available and published.

So stay tuned!

We use cookies to ensure that we give you the best experience on our website.