Skip to content

The Holon Platform is a Java development ecosystem to create and maintain high quality, enteprise-grade web applications and services. Get started using the platform BOM.

License

Notifications You must be signed in to change notification settings

holon-platform/platform

Repository files navigation

The Holon Platform

Latest release: 5.7.0

The Holon Platform is a Java development ecosystem to create and maintain high quality, enteprise-grade web applications and services.

Some of the main platform key points are:

  • Provides "real" Java API: the Holon platform is designed as a real Java API, with the aim to leverage all new Java 11 features and to create strong abstraction layers to ensure implementation details encapsulation, high productivity and long-term maintanability with a minimal application upgrade effort to follow the platform evolution.

  • It's modular and full-stack at the same time: the Holon platform provides a full-stack application development environment, but you can select only the components or modules you need and replace or extend them leveraging on the high configurability and extensibility features ensured by the platform architecture.

  • The Property data model: the Holon platform property data model architecture allows to use an application data model which is independent from the persistence technology and make it a shared asset for all application layers, from the backend to the UI, avoiding code duplication and using a consistent API to manage it.

  • It's extensible by design: the Holon platform components are designed to be highly extensible, configurable and integrable with other frameworks or libraries. This way it is the platform which must fit your needs, and not vice-versa.

The platform is organized in modules: each module corresponds to a GitHub repository and it is composed by a number of artifacts. All the modules depends from the core module, and any other module (and its artifacts) can be used independently, to suit each project/application needs with a lightweight dependency set.

See the Modules section for a list of the available platform modules.

Code structure

See Holon Platform code structure and conventions to learn about the "real Java API" philosophy with which the project codebase is developed and organized.

Getting started

System requirements

The Holon Platform is built using Java 11, so you need a JRE/JDK version 11 or above to use the platform artifacts.

Releases

See releases for the available releases.

Platform distribution versioning

The Holon platform use the Semantic Versioning system and each platform module is versioned following the semantic versioning convention.

The platform distribution artifact, which contains the Maven BOM (Bill Of Materials) to provide all the platform modules artifacts, is bound to all the latest modules version at the platform release time. For this reason, the following convention is used for the platform distribution versioning:

  • When a new platform module version is released, a new platform distribution version is released too, and the platform overall version is incremented according to the module version: if it is a patch version release, the platform patch version is incremented; if it is a minor version release, the platform minor version is incremented instead.

  • When more than one platform module version changes, the most significative version change is taken into account: if the minor version of a module is changed, the platform minor version is incremented; if only the patch version of the modules is changed, the platform patch version is incremented instead.

  • The platform major version number is incremented for breaking and not backward-compatible API changes. In this case, all the platform modules will be versioned with the new major version number.

  • The platform patch version number can be incremented even if there are not any module version changes, for example to release a documentation or BOM project fix.

Obtain the artifacts

The Holon Platform is open source and licensed under the Apache 2.0 license. All the artifacts (including binaries, sources and javadocs) are available from the Maven Central repository.

The easiest way to obtain the Holon Platform artifacts is by using the platform BOM (Bill Of Materials), which provides a complete set of dependencies of the latest release of each module.

Platform Maven BOM:

<dependencyManagement>
    <dependency>
        <groupId>com.holon-platform</groupId>
        <artifactId>bom</artifactId>
        <version>5.7.0</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencyManagement>

With the platform BOM imported in your dependency management section, you can declare and obtain the artifacts you need without specifying the artifact version, which will be the latest version provided by the platform BOM. For example:

Declaring the holon-core dependency:

<dependencies>
  <dependency>
    <groupId>com.holon-platform.core</groupId>
    <artifactId>holon-core</artifactId>
  </dependency>
</dependencies>

See the Modules section for a list of the available platform modules.

Getting help

Examples

See the Holon Platform examples repository for a set of example projects.

Contribute

See Contributing to the Holon Platform.

Gitter chat Join the contribute Gitter room for any question and to contact us.

License

All the Holon Platform modules are Open Source software released under the Apache 2.0 license.

Modules