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

IoT powered by MicroProfile

IoT powered by MicroProfile

We are going to show you what happens when the management lets enterprise Java developers and architects decide how we can control the IoT devices in our new office. While it's easy to figure out why Microprofile is cool, it's harder to see how to get in into your project.

By the end of this talk, you will be introduced into the patterns and software in the enterprise world of Java explaining how to build a build a secure, stable, modular, and integrated system on an example of a completely over-engineered IoT solution to control the lights and plant's well-being in the new office.

Fear not if your system is more complex than controlling light bulbs and plants! This talk will show you how easily you can design a good production-ready Java full-stack system based on the Enterprise stack with Microprofile combined with good continuous deployment infrastructure patterns.

There be code, demos, and (buzzword) dragons.

Mads Opheim

May 23, 2019
Tweet

More Decks by Mads Opheim

Other Decks in Technology

Transcript

  1. IoT powered by MicroProfile
    Mads Opheim
    Rustam Mehmandarov
    @madsopheim @rmehmandarov
    #DevSum19

    View Slide

  2. Hej!
    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. MicroProfile
    In Practice.
    6

    View Slide

  7. Community - individuals, organizations, vendors
    7

    View Slide

  8. Current MicroProfile implementations
    8

    View Slide

  9. 9
    MicroProfile is lightweight!
    https://dzone.com/articles/microprofile-5-things-you-need-to-know

    View Slide

  10. 10
    MicroProfile

    View Slide

  11. 11
    MicroProfile in the
    Lightning
    Control
    Service

    View Slide

  12. 12
    The Architecture

    View Slide

  13. 13
    CDI

    View Slide

  14. 14
    JAX-RS and JSON-P

    View Slide

  15. 15
    MicroProfile in the
    Gateway
    Service

    View Slide

  16. 16
    The Architecture

    View Slide

  17. 17
    Config

    View Slide

  18. 18
    Health Check:
    Response – Happy Days

    View Slide

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

    View Slide

  20. 20
    Health check:
    HowTo

    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
    Things We’ve
    Learned

    View Slide

  34. New, cool things
    keep on coming!
    34

    View Slide

  35. 35
    Lombok - YAGNI?

    View Slide

  36. 36
    Inject Logger - YAGNI?

    View Slide

  37. 37
    A Better Logger

    View Slide

  38. App servers differ...
    38

    View Slide

  39. 39

    View Slide

  40. 40
    Other Cool
    Techy Stuff

    View Slide

  41. 41
    Local
    Maven
    Repo

    View Slide

  42. 42
    Faking an API

    View Slide

  43. 43

    View Slide

  44. Future
    Work
    44

    View Slide

  45. 45
    MicroProfile

    View Slide

  46. 46
    Open
    Tracing

    View Slide

  47. 47
    JWT
    Auth

    View Slide

  48. 48
    MicroProfile: Roadmap

    View Slide

  49. 49

    View Slide

  50. 50

    View Slide

  51. 51

    View Slide

  52. Everything’s on GitHub!
    52
    https://github.com/mehmandarov/microprofile-iot

    View Slide

  53. Still interested?
    https://microprofile.io
    53

    View Slide

  54. And….
    Last but not least
    – don’t forget to evaluate this
    session in the DevSum app!
    #DevSum19

    View Slide

  55. Thanks!
    @MadsOpheim
    @RMehmandarov
    [email protected] [email protected]
    #DevSum19

    View Slide