Académique Documents
Professionnel Documents
Culture Documents
cloud-native Applications
with Java—
Niklas Heidloff
Developer Advocate, IBM
@nheidloff
“Microservices are a software
development technique [...]
that structures an application
as a collection of loosely
coupled services.”
Wikipedia
@nheidloff
“Optimizing Enterprise Java
for a Microservices
Architecture.
Kubernetes Istio
Web-App Ingress
@nheidloff
Authentication OpenID / App ID
“A container image is a
lightweight, standalone,
App D
App B
App A
App C
App E
executable package of
software that includes Container Runtime
everything needed to run an
Host Operating System
application.”
Infrastructure
docker.com
Articles
Web-App Web-API
Authors
JAX-RS
Java API for RESTful Web Services
@nheidloff
Exposing REST APIs GetArticles.java
@nheidloff
Exposing REST APIs
@nheidloff
Consuming REST APIs AuthorsService.java
@nheidloff
Consuming REST APIs AuthorsService.java
@nheidloff
Example Application – Traffic Management
Web-API v1 Articles
Web-App
Web-API v2 Authors
@nheidloff
Traffic Management Demo
Example Application – Resiliency
Articles
Web-App Web-API
Authors
@nheidloff
Resiliency Service.java
@nheidloff
Resiliency Demo
Resiliency Demo
Authentication and policy.yaml
Authorization
OpenID Connect
Identity layer on top of the OAuth 2.0 protocol
IBM App ID
IBM service to authenticate users and protect APIs
Articles
Web-API
Authors
Web-App Ingress
Via MicroProfile
@nheidloff
Authorization Manage.java
Via MicroProfile
Articles
Web-App Web-API
Authors
Articles
Web-App Web-API
Authors
OpenTracing
Vendor-neutral APIs and instrumentation for
distributed tracing
Prometheus
Monitoring system and time series database
MicroProfile Health
Liveness probes and readiness probes
Service.yaml
@nheidloff
Persistence via JPA
Web-App Ingress
Web-App
@nheidloff
Persistence server.xml
Via JPA
@nheidloff
Persistence ArticleEntity.java
Via JPA
Via MicroProfile
@nheidloff
Configuration CoreService.java
Via MicroProfile