Project Helidon is an open-source framework designed by Oracle for creating modern cloud-native microservice-based applications. Helidon was designed from scratch to be simple and fast. It’s the only microservice framework that is comprised of two versions and programming models, so-called flavors: Helidon MP and Helidon SE. Additionally, Helidon integrates with GraalVM for building native images. Helidon SE forms the core of Helidon. It’s a lightweight set of libraries that could be used separately from each other. It is designed to support the reactive programming model that many developers like. No injection ‘magic’ is used, which makes a Helidon SE application easy to debug. There’s no special jar format, no special classloaders. Your application is just a vanilla Java SE application. That also means it’s compatible with all IDEs with no special plugins required. Helidon MP supports the MicroProfile specification and belongs to the MicroProfile family. It’s built on Helidon SE and not derived from an application server. Thus, there’s no deployment model, no Java EE packaging, and no extra stuff you don’t need.
Eclipse MicroProfile is a specification for building microservices architecture. MicroProfile was derived from Jakarta EE, formerly Java EE, and thus allows developers to migrate and reuse their existing Java EE code seamlessly in modern microservice applications. It delivers the application portability of microservices across multiple MicroProfile vendor frameworks such as Helidon. Since Helidon 2.4.0, MicroStream is part of Helidon. MicroStream is a high-performance micro persistence built for high-performance cloud-native microservices. Get Helidon: www.helidon.io
Microservices
Cloud computing and microservices are changing the entire software industry. According to an O’Reilly survey, more than 30% of large enterprises have begun to use microservices. The main benefits for organizations are better feature flexibility, faster handling of changing business requirements, better overall scalability, and improved developer productivity. More than 80% of developers worldwide expect microservices to become the standard architecture in the next few years, but more than half do not have related skills. Our goal is to help Java developers get started with microservices and use them in production.
Java is changing radically: Traditional Java is not suited for the cloud
The way we used to build enterprise applications for 25 years is changing fundamentally. Apps must be easy to deploy, fail-safe, and scalable to run perfectly in the cloud and to minimize cloud costs – they must be cloud native. However, monolithic apps are not suited for that. To meet those requirements large applications must be divided into many single microservices. Microservices can be developed, tested, and deployed independently from each other, and run within their own container and JVM environment.
Unfortunately, the traditional application server approach and even the JVM are not suited for running containerized microservices. The JVM startup time is too slow and the memory footprint too high so traditional Java cannot keep pace with modern serverless functions. This is also true for traditional database programming and monolithic database servers.
New cloud-native Java technology stack
A new Java cloud-native technology stack is available that revolutionizes Java. There are 3 main game-changers:
- Comparable to Java EE, there is a new standard called MicroProfile. Modern microservice frameworks implementing MicroProfile, enable you to build microservices and even serverless functions in good old powerful Java.
- The revolutionary GraalVM lets you build native images: Java as fast as C, millisecond startup time, and minimal footprint.
- MicroStream is a Java-native persistence that allows you to store any object graph or single subgraphs natively, which means without any mappings. The engine enables you to create Java in-memory database apps, microsecond query time, tremendous throughput and is predestined for microservices having their own persistence.
We help you to get started with microservices
Microservices come with a paradigm shift in architecture and if you want to develop state-of-the-art enterprise applications you must have microservices know-how. These courses will help you to learn how to develop highly efficient and powerful microservices in Java.