Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IoT Powered by MicroProfile - JFuture

Mads Opheim
November 16, 2019

IoT Powered by MicroProfile - JFuture

Presentation at https://jfuture.dev/

Mads Opheim

November 16, 2019
Tweet

More Decks by Mads Opheim

Other Decks in Technology

Transcript

  1. JFuture
    IoT powered by
    MicroProfile
    Mads Opheim
    @MadsOpheim

    View Slide

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

    View Slide

  3. Why?
    3
    The Motivation

    View Slide

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

    View Slide

  5. 5
    The Architecture

    View Slide

  6. What is
    MicroProfile?
    6

    View Slide

  7. Community - individuals, organizations, vendors
    7

    View Slide

  8. Current MicroProfile implementations
    8

    View Slide

  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

    View Slide

  10. 10
    MicroProfile in the
    Light
    Control
    Service

    View Slide

  11. 11
    The Architecture

    View Slide

  12. 12
    CDI

    View Slide

  13. 13
    JAX-RS and JSON-P

    View Slide

  14. 14
    MicroProfile in the
    Gateway
    Service

    View Slide

  15. 15
    The Architecture

    View Slide

  16. 16
    Config

    View Slide

  17. 17
    Health Check:
    Response – Happy Days

    View Slide

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

    View Slide

  19. 19
    Health Check: Liveness
    http://localhost:/health/live

    View Slide

  20. 20
    Health Check: Readiness
    http://localhost:/health/ready

    View Slide

  21. 21
    Metrics

    View Slide

  22. 22
    Application-specific Metrics

    View Slide

  23. 23
    Fault Tolerance – Retry and Circuit Breaker

    View Slide

  24. 24
    Fault Tolerance – Timeout

    View Slide

  25. 25
    Fault Tolerance – Fallback

    View Slide

  26. 26
    REST
    Client

    View Slide

  27. 27
    REST Client
    There be dragons.

    View Slide

  28. 28
    Maturity

    View Slide

  29. 29
    MicroProfile in the
    Time and
    Weather
    Services

    View Slide

  30. 30
    The Architecture

    View Slide

  31. 31
    OpenAPI

    View Slide

  32. 32
    OpenAPI

    View Slide

  33. 33
    DEMO

    View Slide

  34. 34
    Things We’ve
    Learned

    View Slide

  35. New, cool things
    keep on coming!
    35

    View Slide

  36. 36

    View Slide

  37. 37
    Lombok - YAGNI?

    View Slide

  38. 38
    Inject Logger - YAGNI?

    View Slide

  39. 39
    A Better Logger

    View Slide

  40. App servers differ...
    40

    View Slide

  41. 41

    View Slide

  42. 42
    Other Cool
    Techy Stuff

    View Slide

  43. 43
    Local
    Maven
    Repo

    View Slide

  44. 44
    Faking an API

    View Slide

  45. 45

    View Slide

  46. Future
    Work
    46

    View Slide

  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

    View Slide

  48. 48
    Open
    Tracing

    View Slide

  49. 49
    JWT
    Auth

    View Slide

  50. 50

    View Slide

  51. 51

    View Slide

  52. 52

    View Slide

  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

    View Slide

  54. Thanks!
    @MadsOpheim
    @RMehmandarov
    54

    View Slide