Oracle’s New Helidon Project: All You Need to Know
Oracle released another significant feature for its users, “The Helidon Project”, an open source micro-services framework for Java. The project, announced by Dmitry Kornolov, Senior software development manager and project lead, features access to different Java libraries for developers for writing microservices.
Interestingly, the initial name of the project was J4C-(Java for Cloud).
Micro-services have a modular architectural style and are well suited to cloud-based environments, and its popularity has been rising exponentially.
The introduction of micro-services was mainly done to achieve scalability.
Here is a look at why you would want to go in for micro-services:
– Allows big projects to remain unaffected by the failure of a single small module
– Eliminates the need for monolithic designs,
– As a developer, the code becomes easier to understand. It’s something beginners would love too.
Having said that, micro-services too have some drawbacks. One of the major being that it gets complex while developing distributed systems.
Oracle’s Vision With the Helidon Project
Oracle aims to help developers make microservices creation easy, whether it be building on security, configuration, or even web servers. Oracle’s intent seems to be to help developers build lightweight libraries that do not need any application server, and can be seamlessly integrated with Java.
Sure, microservices could be built earlier on Java EE (Enterprise Edition), Oracle thought it would be better if a separate framework is used for the purpose, and hence released the HELIDON PROJECT.
About ‘Helidon’
Helidon, the name, is a Greek word meaning swallow, a type of bird which is slender, has streamlined body and allows efficient flight, apt to cross through the clouds, significantly owing to the similarity of the bird and the project.
“Helidon” is an open source, lightweight, java microservices framework. Helidon supports the MicroProfile family of APIs, including JAX-RS and CDI. Microprofile defines an API and all the associated behaviours that allow services to participate in a distributed tracing environment easily.
The project runs on a fast web core powered by Netty network. It does not use Grizzly because the intention was to write a small-footprint reactive server. Grizzly is not reactive and as such could not be used as a foundation for the implementation.
Helidon is a collection of Java libraries for writing microservices. There is no unique tooling or deployment model. The microservice is just a Java Standard Edition application. These libraries can be used individually. However, when used together they provide the foundation for the creation of microservices.
The key features or as we can say the foundation of the project is base on three main things:
● Reactive Web-server: a programmatic HTTP API with reactive features
● Configuration: supports multiple formats
● Security: a toolchain to validate authentication and handle context propagation
The Two Helidon Versions to Choose From
Helidon comes in two versions. Here is a look at both of them.
Helidon SE: It uses the Helidon WebServer, Config and Security APIs directly, giving us full control and transparency. The JDK kit here serves as the runtime.
Helidon MP: This is a more declarative model that supports the MicroProfile family of APIs. This will be more familiar to JAVA EE and Jakarta EE developers and acts as a runtime for microservices.
Both of these combined helps build a java microservices library that developers can use for their needs. As it is open source, it is open for customization, which means that it’s only going to improve with time.
Though the very first version of Helidon doesn’t include Oracle Cloud integrations, it will be included in the later versions. There are still some features of Helidon on which work is in progress, and soon they will be made open source too.