IoT powered by Microprofile – Microservices in practice
This talk will show you how easily you can design a good production-ready, secure, modular Java full-stack system with IoT devices based on the Enterprise stack with Microprofile combined with good continuous deployment infrastructure patterns.
There be code, demos, and (buzzword) dragons.
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.
The idea of this talk is to show a proper use of Microprofile and it’s power combined with good continuous deployment infrastructure patterns and tools on a simple and (possibly funny) example with a simple domain, that can be transferred to more complicated systems and domains in the real life.
Introduction Introducing the problem at hand – we have a light bulb with a simple web service, but we have no: – Security (the light keeps on blinking all the time! Gah!) – Logging (who is doing all that?) – Tracing (where errors occur) Adding: – Testing of the system – It works, but I don’t know why – CDI: I just dependency injected my plant, now what? (i.e. Inject another microservice to influence the controller) Status check 1: – Overview of how we improving the architecture with introduction of Microprofile Introducing a dependency to an external unstable service – and thus health checks and robust handling (If there is time left) Introducing all the fancy other tools (and future improvements) – CI (Jenkins), Messaging, Cloud, etc. Status check 2: – Overview of how we improving the architecture with introduction of Microprofile Conclusion