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

IoT powered by MicroProfile

Mads Opheim
December 04, 2018
34

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

December 04, 2018
Tweet

Transcript

  1. Devoxx Ukraine
    IoT Powered by
    MicroProfile
    Rustam Mehmandarov
    @RMehmandarov
    Mads Opheim
    @MadsOpheim

    View Slide

  2. Dobriy
    den!
    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. 8
    MicroProfile is lightweight!
    https://dzone.com/articles/microprofile-5-things-you-need-to-know

    View Slide

  9. 9
    MicroProfile

    View Slide

  10. 10
    MicroProfile in the
    Lightning
    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:
    HowTo

    View Slide

  20. 20
    Metrics

    View Slide

  21. 21
    Application-specific metrics

    View Slide

  22. 22
    Fault tolerance - retry and circuit breaker

    View Slide

  23. 23
    Fault tolerance - timeout

    View Slide

  24. 24
    Fault tolerance - fallback

    View Slide

  25. 25
    REST Client

    View Slide

  26. 26
    REST Client
    There be dragons.

    View Slide

  27. 27
    Maturity...

    View Slide

  28. 28
    MicroProfile in the
    Time and
    Weather
    Services

    View Slide

  29. 29
    The Architecture

    View Slide

  30. 30
    OpenAPI

    View Slide

  31. 31
    OpenAPI

    View Slide

  32. 32
    Other Cool
    Techy Stuff

    View Slide

  33. 33
    Lombok

    View Slide

  34. 34
    Inject Logger

    View Slide

  35. 35
    Local
    Maven
    Repo

    View Slide

  36. 36
    Faking an API

    View Slide

  37. 37

    View Slide

  38. Future
    Work
    38

    View Slide

  39. 39
    MicroProfile

    View Slide

  40. 40
    Open
    Tracing

    View Slide

  41. 41
    JWT
    Auth

    View Slide

  42. 42
    MicroProfile: Roadmap

    View Slide

  43. 43

    View Slide

  44. 44

    View Slide

  45. 45

    View Slide

  46. 46

    View Slide

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

    View Slide

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

    View Slide

  49. Thanks!
    @MadsOpheim
    @RMehmandarov
    49

    View Slide