Cloud-Native Application Development with Java EE

Video description

In a world of modern business models and digital products, the use of monolithic applications run classical infrastructure is just not feasible anymore. Many organizations have already begun resorting to the elasticity of the cloud as it offers them greater agility, availability, resilience, and portability. This video course is a one-stop solution for developers and architects, teaching them to understand the challenges faced in building cloud-native applications, using Java EE 8 and some additional well know open-source components and APIs. In combination, these APIs enable you to easily build hyperscale, elastic, loosely coupled, reliable, observable and secure microservices. Throughout this course, we address the different challenges you need to master to build truly cloud-native applications with Java EE. By the end of this course, you will be equipped with enough knowledge and practical experience to get your next cloud-native Java EE microservices up-and-running in no time, and with ease.

What You Will Learn

  • Design and build cloud-native applications using Java EE 8
  • Deploy and run Java EE 8 microservices using Docker and Kubernetes
  • Build robust and easily consumable REST APIs with JAX-RS and MicroProfile OpenApi
  • Build resilient service clients using circuit breakers, bulkheads, timeouts and retries
  • Develop loosely coupled, message-driven microservices with JMS and JSON-P
  • Implement configurability with Kubernetes ConfigMaps and Secrets using MicroProfile Config
  • Add and implement service monitoring with Metrics and MicroProfile Health
  • Implement service call tracing with MicroProfile OpenTracing
  • Secure your microservices with BASIC Auth and JSON Web Tokens

Audience

This video course is for Java developers and architects who would like to build real cloud-native applications that are lightweight, hyperscale, elastic, loosely coupled, observable and secure. Existing Java programming skills are required.

About The Author

Mario-Leander Reimer: Mario-Leander Reimer is a chief software architect, a passionate developer, and a #CloudNativeNerd currently working for QAware GmbH. He is continuously looking for innovations in software engineering in order to combine and apply state-of-the-art technologies in real-world projects. He is a regular speaker at national and international conferences and he teaches cloud computing and software quality assurance as a part-time lecturer.

Slidedecks: https://speakerdeck.com/lreimer/

GitHub: https://github.com/lreimer/

Twitter: https://twitter.com/LeanderReimer

Linkedin: https://www.linkedin.com/in/mario-leander-reimer-b2b67aa0/

Table of contents

  1. Chapter 1 : Microservices with Java EE 8
    1. The Course Overview
    2. Challenges and Design Principles of Cloud-Native Apps
    3. Overview of Java EE 8 and Eclipse MicroProfile APIs
    4. Getting Started with Java EE 8 Microservices
    5. Containerizing Java EE 8 Microservices
    6. Infrastructure Composition
    7. Deploying and Running Java EE on Kubernetes
  2. Chapter 2 : Service Exposition via REST APIs and Messaging
    1. Building and Versioning REST APIs with JAX-RS
    2. Implementing Tolerant Reader with JSON-P
    3. Resilient Service Invocation with MicroProfile Fault Tolerance
    4. API Documentation with MicroProfile Open API
    5. Building Message-Driven Microservices with Java EE
  3. Chapter 3 : Configuration and Coordination
    1. Multi-Source Configuration with MicroProfile Configuration
    2. Handling Secrets in Cloud-Native Java EE Microservices
    3. Clustered Scheduling and Coordination with EJBs
  4. Chapter 4 : Handling State and Persistence
    1. Challenges of Cloud-Native State and Persistence
    2. Using JPA with Cloud-Native Databases
    3. Using NoSQL Databases with Java EE
    4. Session Replication for Stateful Java Web Applications
    5. Distributed State Using the JCache APIs
  5. Chapter 5 : The Diagnosability Triangle: Logging, Monitoring, and Tracing
    1. The Diagnosability Triangle
    2. Adding Good, Detailed, and Structured Logging
    3. Adding Telemetry Data Using Microprofile Metrics
    4. Adding Readiness Probes Using MicroProfile Health
    5. Adding Trace Information Using MicroProfile OpenTracing
  6. Chapter 6 : Microservice Security
    1. Using the Java EE Security APIs with JAX-RS
    2. Using JWT-Based Authentication and Authorization with JAX-RS
    3. Mutual TLS between Java EE Microservices with Istio

Product information

  • Title: Cloud-Native Application Development with Java EE
  • Author(s): Mario-Leander Reimer
  • Release date: November 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789534764