The Internet of Things is a interdisciplinary environment where cross-functional teams cooperate to deliver the right solution: firmware developers, backend sw engineers, GUI designers and web app software developers combine their expertise to implement all the stack for IoT verticals. In this context, there are many challenges to face like coping with the fallacies of distributed computing or even more simply reducing frictions between different technological domains.
This presentation tells how Apache Karaf can help mitigating the inherent IoT complexity, providing an elastic runtime on top of which a complete IoT stack can be built: the demo will show how to integrate MQTT-enabled device (e.g. Raspberry-PI) with the Karaf backend, process the data and redirect the data flow as a web-socket stream to an AngularJS application. The web app is served by the embedded Karaf application server. Karaf JPA support is used to persist data.
Leveraging OSGi modularity and dynamicity, new data visitors can be installed at runtime, enabling a truly data-centric architecture that is capable to evolve and scale out.
The presentation has been very successful and a few day later, Christian Schmitz commented:
Matteo Rulli from FlairBit gaves an amazing talk on utilizing Apache Karaf for building an IoT platform in no time at the EclipseCon Europe 2015. He showed his guests that even the old-fashioned Java boy must not hide behind the Rails and Django youngsters and is able to bring up a complete platform without writing nearly any code and in shortest time thanks to Karaf’s Features. His playground consisted of a Raspberry Pi with a Sensor Hat which published its sensor data via some Python Bindings to an ActiveMQ instance. At the server side Apache Aries’ Blueprint implementation glued the required components on top of Apache Karaf together. The frontend facing API was realized with Apache CXF and provided the AngularJS with the required data for a shiny web-based user interface.