At MakeIT, Portoroz, Slovenia.
MakeIT SloveniaIoT Powered byMicroProfileRustam Mehmandarov@RMehmandarovMads Opheim@MadsOpheim
View Slide
Doberdan!2
Why?3The Motivation
New office, new lightsJust Add Coffee.And Enterprise Developers.4
5The Architecture
MicroProfileIn Practice.6
Community - individuals, organizations, vendors7
Current MicroProfile implementations8
Eclipse MicroProfile 3.0 (Jun 2019)9MicroProfile 3.0JAX-RS 2.1JSON-P 1.1CDI 2.0Config 1.3FaultTolerance2.0JWTPropagation1.1HealthCheck 2.0Metrics 2.0OpenTracing 1.3Open API 1.1= Updated= No change from last release (MicroProfile 2.2)= NewRest Client1.3JSON-B 1.0
10MicroProfile is lightweight!https://dzone.com/articles/microprofile-5-things-you-need-to-know
11MicroProfile in theLightningControlService
12The Architecture
13CDI
14JAX-RS and JSON-P
15MicroProfile in theGatewayService
16The Architecture
17Config
18Health Check:Response – Happy Days
19Health Check:Response – Not So Happy Days
20Health Check:HowTo - OLD (pre-MP 3.0)
21Health Check: Livenesshttp://localhost:/health/live
22Health Check: Readinesshttp://localhost:/health/ready
23Metrics
24Application-specific Metrics
25Fault Tolerance – Retry and Circuit Breaker
26Fault Tolerance – Timeout
27Fault Tolerance – Fallback
28RESTClient
29REST ClientThere be dragons.
30Maturity
31MicroProfile in theTime andWeatherServices
32The Architecture
33OpenAPI
34OpenAPI
35DEMO
36Things We’veLearned
New, cool thingskeep on coming!37
38
39Lombok - YAGNI?
40Inject Logger - YAGNI?
41A Better Logger
App servers differ...42
43
44Other CoolTechy Stuff
45LocalMavenRepo
46Faking an API
47
FutureWork48
Eclipse MicroProfile 3.0 (Jun 2019)49MicroProfile 3.0JAX-RS 2.1JSON-P 1.1CDI 2.0Config 1.3FaultTolerance2.0JWTPropagation1.1HealthCheck 2.0Metrics 2.0OpenTracing 1.3Open API 1.1= Updated= No change from last release (MicroProfile 2.2)= NewRest Client1.3JSON-B 1.0
50OpenTracing
51JWTAuth
52
Eclipse MicroProfile 3.153RoadmapStandaloneContextPropagation1.0LRA 1.0ReactiveStreamsOperators 1.1Outside umbrellaGraphQL 1.0MicroProfile 3.1JAX-RS 2.1JSON-P 1.1CDI 2.0Config 1.4FaultTolerance2.0JWTPropagation1.1HealthCheck 2.0Metrics 2.0OpenTracing 1.3Open API2.0= Updated= No change from last release (MicroProfile 3.0)= NewRest Client1.3JSON-B 1.0ReactiveMessaging1.0
54
55
Everything’s on GitHub!56https://github.com/mehmandarov/microprofile-iotMore info on https://microprofile.io
Some links:57https://github.com/mehmandarov/microprofile-iothttps://mehmandarov.com/microprofile-101-part1https://madsop.github.io/microservices-with-microprofileMore info on https://microprofile.io
Thanks!@MadsOpheim@RMehmandarov58