Cloud native applications are popular these days. They promise superior reliability and almost arbitrary scalability. They follow three key principles: they are built and composed as microservices. They are packaged and distributed in containers. The containers are executed dynamically in the cloud. But all this comes at a price: added complexity! Suddenly you need to consider important cloud native design principles such as service exposition, configuration, resilience, health checks, metrics, monitoring and tracing.
This session is a comprehensive hands-on guide showing how to develop state-of-the-art cloud native applications with Java EE 8 and MicroProfile APIs. We will start by giving a brief overview of the latest API additions and improvements. Then we will implement, build, package and deploy our first working microservice.
Next, we will dive into the details of implementing enterprise-ready microservices and cover topics such as synchronous and asynchronous service exposition via JAX-RS and JMS, data binding and content marshalling using the JSON-B 1.0 and JSON-P 1.1 APIs, handling state and persistence in a cloud native context, and addressing configuration, resiliency and diagnosability using MicroProfile APIs.