O'Reilly logo
live online training icon Live Online training

Developing Microservices with Eclipse MicroProfile

Using Quarkus

John Clingan

Enterprises have spent 15+ years developing 3-tier "monolithic" applications and now need their developers to rapidly obtain skills to develop microservices as their organizations begin to adopt cloud platforms like Kubernetes. Being able to augment existing knowledge with incremental new capabilities can accelerate this transition. This is exactly the intent of Eclipse MicroProfile, which is a collection of specifications for developing Enterprise Java microservices. It builds on a familiar baseline of popular specifications like CDI, JAX-RS, and JSON-B with microservices-oriented APIs for externalized configuration, fault tolerance, application metrics, health check, and more.

To accelerate the learning of Eclipse MicroProfile APIs, join Eclipse MicroProfile co-founder and committer, and instructor John Clingan for a four hour online course on getting started with Eclipse MicroProfile. Through hands-on exercises and examples using MicroProfile APIs and Quarkus, you’ll learn how to externalize configuration with MicroProfile Config, utilize multiple fault-tolerance patterns with MicroProfile Fault Tolerance to create a more robust system, improve observability and reliability with MicroProfile Metrics and MicroProfile Health, and secure your applications with MicroProfile JWT RBAC.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • How to secure a RESTful endpoint
  • How to manage failure conditions by applying various fault tolerance patterns
  • How to expose application health so Kubernetes can pause traffic or restart the application

And you’ll be able to:

  • Define and expose application metrics with MicroProfile metrics
  • Create an uberjar and native executable microservice using Quarkus
  • Deploy and monitor a containerized MicroProfile microservice
  • Prove application portability by deploying the microservice using a different MicroProfile implementation

This training course is for you because...

  • You are an experienced Java developer who would like to quickly extend your Java EE / Jakarta EE knowledge with MicroProfile APIs
  • You are a DevOps engineer and would like to gain a hands-on understanding of operations-oriented MicroProfile features
  • You want to gain hands-on experience deploying a MicroProfile microservice to a containerized environment

Prerequisites

  • Experience developing with Java 8
  • Experience launching a Docker Container (try it!) and docker compose.
  • Some familiarity with Java EE, Spring Framework, or similar enterprise Java framework
  • Some familiarity with with developing web applications or RESTful services is desirable

Recommended preparation:

  • JDK 8 required
  • Install Docker desktop (includes docker compose)
  • Workshop code and examples will be made available in a GitHub repository

Recommended follow-up:

About your instructor

  • John Clingan is a Senior Principal Product Manager in Red Hat Middleware focusing on next-generation platforms. He is also an Eclipse MicroProfile co-founder and committer. Prior to Red Hat John spent 8 years as the GlassFish and Java EE product manager at Oracle and Sun Microsystems. John has 30 years of industry experience including software development, technical sales and consulting, and product management. He also has 10+ years of experience teaching Cal State and University of California Extension Java courses to intellectually hungry Java students.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction to MicroProfile and Quarkus (30 minutes)

  • Presentation: Introduction to MicroProfile
  • Presentation: Introduction to Quarkus
  • Exercise: Create BackendService with a JAX-RS endpoint
  • Q&A

MicroProfile Config (25 minutes)

  • Presentation: Introduction to MicroProfile Config
  • Exercise: Configure BackendService using MicroProfile config
  • Q&A
  • Break (5 minutes)

MicroProfile Rest Client (20 minutes)

  • Presentation: Introduction to MicroProfile Rest Client
  • Exercise: Create a FrontendService invokes BackendService using the MicroProfile Rest Client
  • Q&A

MicroProfile Fault Tolerance (35 minutes)

  • Presentation: Introduction to MicroProfile Fault Tolerance
  • Exercise: Handle FrontendService failure conditions when BackendService becomes uncooperative
  • Q&A
  • Break (5 minutes)

MicroProfile Metrics (20 minutes)

  • Presentation: Introduction to MicroProfile Metrics
  • Exercise: Create FrontendService business metrics
  • Q&A

MicroProfile JWT RBAC (35 minutes)

  • Presentation: Introduction to MicroProfile Metrics
  • Exercise: Secure Frontend and Backend service by propagating a JWT token
  • Q&A
  • Break (5 minutes)

MicroProfile Health (15 minutes)

  • Presentation: Introduction to MicroProfile Health
  • Exercise: Add Health Endpoint to BackendService
  • Q&A

Containerizing, Deploying and Monitoring the services (35 minutes)

  • Presentation: Package applications as uber jars and native executables
  • Exercise: View application metrics and monitor application health
  • Q&A