Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By : Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark
Book Image

Hands-On Enterprise Java Microservices with Eclipse MicroProfile

By: Cesar Saavedra, Heiko W. Rupp, Jeff Mesnil, Pavol Loffay, Antoine Sabot-Durand, Scott Stark

Overview of this book

Eclipse MicroProfile has gained momentum in the industry as a multi-vendor, interoperable, community-driven specification. It is a major disruptor that allows organizations with large investments in enterprise Java to move to microservices without spending a lot on retraining their workforce. This book is based on MicroProfile 2.2, however, it will guide you in running your applications in MicroProfile 3.0. You'll start by understanding why microservices are important in the digital economy and how MicroProfile addresses the need for enterprise Java microservices. You'll learn about the subprojects that make up a MicroProfile, its value proposition to organizations and developers, and its processes and governance. As you advance, the book takes you through the capabilities and code examples of MicroProfile’s subprojects - Config, Fault Tolerance, Health Check, JWT Propagation, Metrics, and OpenTracing. Finally, you’ll be guided in developing a conference application using Eclipse MicroProfile, and explore possible scenarios of what’s next in MicroProfile with Jakarta EE. By the end of this book, you'll have gained a clear understanding of Eclipse MicroProfile and its role in enterprise Java microservices.
Table of Contents (18 chapters)
Free Chapter
1
Section 1: MicroProfile in the Digital Economy
4
Section 2: MicroProfile's Current Capabilities
9
Section 3: MicroProfile Implementations and Roadmap
11
Section 4: A Working MicroProfile Example
13
Section 5: A Peek into the Future

Sample architecture of a multiservice MicroProfile application

The sample application we will go over in this chapter is composed of an HTML frontend, two MicroProfile-based microservices, two external services we spin up using Docker, and an external time service on the web we have no control over. The architecture of our sample application is shown in the following diagram:

The key elements in this diagram include the following:

  • Svcs1 Image: This is a collection of REST endpoints that make use of MP-HC, MP-Metrics, MP-OT, MP-JWT, MP-OAPI, MP-FT, and MP-RC in a Quarkus runtime.
  • Svcs2 Image: This is a collection of REST endpoints that make use of MP-HC and MP-Metrics in a Quarkus runtime.
  • Jaeger: This a Docker image that runs the Jaeger server for the collection of trace loggings.
  • KeyCloak: This is a Docker image that runs a KeyCloak 6.0.0 server instance.
  • WorldClock: This is...