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

Introduction to the MicroProfile REST Client and its capabilities

The MicroProfile REST Client (MP-RC) provides an API for type-safe invocation on REST endpoints. It can be used from applications to perform remote invocations on other services.

It leverages JAX-RS annotations on Java interfaces to describe the actual contract with remotes services. These interfaces are then used to create client proxies that hide much of the underlying HTTP communication.

The MP-RC specification defines the requirements for leveraging the JAX-RS annotations on the Java interface, as well as MP-RC-specific annotations to augment behavior, including how incoming request headers should be propagated, how to augment JAX-RS behaviors using providers, exception mapping, CDI support, and integration with other MicroProfile specifications. We will look at MP-RC in more detail by starting with the definition...