IoT Powered by MicroProfile - JFuture

52482b46b478633a2b766bbf36916fd3?s=47 Mads Opheim
November 16, 2019

IoT Powered by MicroProfile - JFuture

Presentation at https://jfuture.dev/

52482b46b478633a2b766bbf36916fd3?s=128

Mads Opheim

November 16, 2019
Tweet

Transcript

  1. JFuture IoT powered by MicroProfile Mads Opheim @MadsOpheim

  2. Добры дзень! 2

  3. Why? 3 The Motivation

  4. New office, new lights Just Add Coffee. And Enterprise Developers.

    4
  5. 5 The Architecture

  6. What is MicroProfile? 6

  7. Community - individuals, organizations, vendors 7

  8. Current MicroProfile implementations 8

  9. Eclipse MicroProfile 3.2 (Nov 2019) 9 MicroProfile 3.2 JAX-RS 2.1

    JSON-P 1.1 CDI 2.0 Config 1.3 Fault Tolerance 2.0 JWT Propagation 1.1 Health 2.1 Metrics 2.2 Open Tracing 1.3 Open API 1.1 = Updated = No change from last release (MicroProfile 3.1) = New Rest Client 1.3 JSON-B 1.0 Standalone Context Propagation 1.0 Reactive Streams Operators 1.0 Outside umbrella Reactive Messaging 1.0
  10. 10 MicroProfile in the Light Control Service

  11. 11 The Architecture

  12. 12 CDI

  13. 13 JAX-RS and JSON-P

  14. 14 MicroProfile in the Gateway Service

  15. 15 The Architecture

  16. 16 Config

  17. 17 Health Check: Response – Happy Days

  18. 18 Health Check: Response – Not So Happy Days

  19. 19 Health Check: Liveness http://localhost:<port>/health/live

  20. 20 Health Check: Readiness http://localhost:<port>/health/ready

  21. 21 Metrics

  22. 22 Application-specific Metrics

  23. 23 Fault Tolerance – Retry and Circuit Breaker

  24. 24 Fault Tolerance – Timeout

  25. 25 Fault Tolerance – Fallback

  26. 26 REST Client

  27. 27 REST Client There be dragons. <rant />

  28. 28 Maturity

  29. 29 MicroProfile in the Time and Weather Services

  30. 30 The Architecture

  31. 31 OpenAPI

  32. 32 OpenAPI

  33. 33 DEMO

  34. 34 Things We’ve Learned

  35. New, cool things keep on coming! 35

  36. 36

  37. 37 Lombok - YAGNI?

  38. 38 Inject Logger - YAGNI?

  39. 39 A Better Logger

  40. App servers differ... 40

  41. 41

  42. 42 Other Cool Techy Stuff

  43. 43 Local Maven Repo

  44. 44 Faking an API

  45. 45

  46. Future Work 46

  47. Eclipse MicroProfile 3.2 (Nov 2019) 47 MicroProfile 3.2 JAX-RS 2.1

    JSON-P 1.1 CDI 2.0 Config 1.3 Fault Tolerance 2.0 JWT Propagation 1.1 Health 2.1 Metrics 2.2 Open Tracing 1.3 Open API 1.1 = Updated = No change from last release (MicroProfile 3.1) = New Rest Client 1.3 JSON-B 1.0 Standalone Context Propagation 1.0 Reactive Streams Operators 1.0 Outside umbrella Reactive Messaging 1.0
  48. 48 Open Tracing

  49. 49 JWT Auth

  50. 50

  51. 51

  52. 52

  53. Everything’s on GitHub! 53 https://github.com/mehmandarov/microprofile-iot https://mehmandarov.com/microprofile-101-part1 https://madsop.github.io/microservices-with-microprofile https://rieckpil.de/category/microprofile/ More info

    on https://microprofile.io
  54. Thanks! @MadsOpheim @RMehmandarov 54