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 full-size slide

  2. Why?
    3
    The Motivation

    View full-size slide

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

    View full-size slide

  4. 5
    The Architecture

    View full-size slide

  5. MicroProfile
    In Practice.
    6

    View full-size slide

  6. Community - individuals, organizations, vendors
    7

    View full-size slide

  7. Current MicroProfile implementations
    8

    View full-size slide

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

    View full-size slide

  9. 10
    MicroProfile

    View full-size slide

  10. 11
    MicroProfile in the
    Lightning
    Control
    Service

    View full-size slide

  11. 12
    The Architecture

    View full-size slide

  12. 14
    JAX-RS and JSON-P

    View full-size slide

  13. 15
    MicroProfile in the
    Gateway
    Service

    View full-size slide

  14. 16
    The Architecture

    View full-size slide

  15. 18
    Health Check:
    Response – Happy Days

    View full-size slide

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

    View full-size slide

  17. 20
    Health check:
    HowTo

    View full-size slide

  18. 22
    Application-specific metrics

    View full-size slide

  19. 23
    Fault tolerance - retry and circuit breaker

    View full-size slide

  20. 24
    Fault tolerance - timeout

    View full-size slide

  21. 25
    Fault tolerance - fallback

    View full-size slide

  22. 26
    REST Client

    View full-size slide

  23. 27
    REST Client
    There be dragons.

    View full-size slide

  24. 28
    Maturity...

    View full-size slide

  25. 29
    MicroProfile in the
    Time and
    Weather
    Services

    View full-size slide

  26. 30
    The Architecture

    View full-size slide

  27. 33
    Things We’ve
    Learned

    View full-size slide

  28. New, cool things
    keep on coming!
    34

    View full-size slide

  29. 35
    Lombok - YAGNI?

    View full-size slide

  30. 36
    Inject Logger - YAGNI?

    View full-size slide

  31. 37
    A Better Logger

    View full-size slide

  32. App servers differ...
    38

    View full-size slide

  33. 40
    Other Cool
    Techy Stuff

    View full-size slide

  34. 41
    Local
    Maven
    Repo

    View full-size slide

  35. 42
    Faking an API

    View full-size slide

  36. Future
    Work
    44

    View full-size slide

  37. 45
    MicroProfile

    View full-size slide

  38. 46
    Open
    Tracing

    View full-size slide

  39. 48
    MicroProfile: Roadmap

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide