Book Review – Beginning Helidon
Are you struggling with performance issues in your Spring, Jakarta EE, or Java EE application?
Imagine having a tool that could automatically detect performance issues in your JPA and Hibernate data access layer long before pushing a problematic change into production!
With the widespread adoption of AI agents generating code in a heartbeat, having such a tool that can watch your back and prevent performance issues during development, long before they affect production systems, can save your company a lot of money and make you a hero!
Hypersistence Optimizer is that tool, and it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, Micronaut, or Play Framework.
So, rather than allowing performance issues to annoy your customers, you are better off preventing those issues using Hypersistence Optimizer and enjoying spending your time on the things that you love!
Introduction
My friend, Dmitry Aleksandrov, has been very generous in giving me a copy of his Helidon book, which he co-authored with Dmitry Kornilov and Daniel Kec.
Since I was interested in learning about Helidon, I decided to read this book and see what approach it takes to develop Java applications, as opposed to Spring Boot.
The book is called Beginning Helidon, and it’s a very good introduction to this framework.
Audience
This book is useful for any Java developer who plans on developing lightweight microservice applications using Helidon.
Content
Beginning Helidon has 464 pages and 15 chapters, and it was written based on version 3.2 of the Helidon project.
In the first chapter you will learn that Helidon comes in two flavors: MP (Micro Profile) and SE (Reactive-based application framework). While the SE version is very convenient to build Reactive applications, the MP version is very convenient if you plan on implementing Microservices.
The second chapter introduces various tools that can get you started, such as the CLI (Command Line Interface), the Project Starter, or the associated Maven Archetypes. You can use these tools to create the initial template of the project that you plan on developing.
Next, you will learn about the MicroProfile Config specification that allows you to customize your environment.
The fourth chapter covers Observability, and explains how you can build health checks, collect metrics, log messages, or trace requests when using Helidon.
The fifth chapter is dedicated to implementing and calling web services.
The sixth chapter is about implementing your data access layer using JDBC and Jakarta Persistence.
In the seventh chapter, you will learn about fault tolerance and how you can add support for timeouts, retries, fallbacks, and implement Circuit Breakers with Helidon.
The eighth and ninth chapters cover OpenID Connect, JWT, and OpenAPI.
The 10th chapter is about testing Helidon applications using JUnit or TestNG.
In the 11th chapter, you will see how you can use Helidon to build and schedule batch-processing tasks.
The twelfth chapter shows you how to integrate Helidon with various technologies, such as Neo4j, Coherence CE, or Kotlin.
The thirteenth chapter is about the reactive features offered by Helidon, such as Stream Operators and Reactive Messaging.
The fourteenth chapter covers distributed transactions and how you can implement the Saga pattern using Helidon LRA specification.
The last chapter is dedicated to building reactive applications using Helidon SE.
Conclusion
If you plan on using Helidon, then I strongly recommend you buy this book. It’s very easy to read and will help you get started with Helidon.


