classic middleware integration for your iot gateways integration
TRANSCRIPT
Classic middleware integration
for your IoT integration
Apache Camel for Eclipse Kura
Aurlien PupierSenior Software Engineer in Fuse Tooling Team@apupier09/03/17 - Eclipse IoT Day Grenoble
Kura: you know it: IoT GatewayApache Camel: Middleware Integration more details to come
As soon as you are using a Messaging-based architecture, Apache Camel is here to help you, isnt the case for IoT/Eclipse Kura? Lets leverage what has been developed for many years in classic middleware integration inside IoT world
FUSE ToolingJboss Fuse: Productized version of Apache CamelFuse Tooling: Tooling for JBoss Fuse AND Apache Camel
Fuse Tooling can help you to work with Eclipse Kura and Apache Camel!
Why use Camel?
Middleware integration:
Connectors
Enterprise Integration Patterns (EIP)
IoT is just a specific part of middleware with specific constraints but a lot can be reused!!
Camel connectors
220 in Camel (list here)
Kura-cloud in Kura
+ Define your own!
Connectors helps to communicate/integrate with other systems
Camel provides by default ActiveMQ, MQTTKura provides one to communicate with the kura system notification
EIP
Throttler
Content-based router
Load-balancer
Idempotent consumer
And more...
Throttler: prevents message overflowContent-based router: dynamically decide where to route the messageLoad-balancer: Client side load balancing. Useful for field devices connectivityIdempotent consumer: transaction-like behavior
Demo
Launch Kura Emulator from Eclipse
https://github.com/ctron/kura-emulator#running-with-jmx-enabled
Show JMX connectionShow Edit routes to have the graphic
Show Start tracing and the available properties
Define Camel RouteSpring DSL
timer for simulating getting temperature from a sensor
Filter to alert on a threshold
Java remote debug
Ride the IoT Camel
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
Extra slides
I will show these slides only if I have more time or a specific question arise.
Limitations - IoT DataCenter
Some Connectors requires repackaging
Some Connectors are too big
Tooling ideas
Palette IoT specific
Graphical Remote debug
Kura Server adapter
Cool facts of the demo
Windows dev environment!
Graphical tooling
Remote Java debugging
Kura architecture
in a nutshell
SensorsKuraKapuaSensorsHALKapuaCloud ModuleYour AppKapuaCloud ModuleYour Camel AppSensorsHALYour AppCamel Cloud ModuleYour Cloud
HAL = hardware Abstraction Layer
INSERT DESIGNATOR, IF NEEDED
INSERT DESIGNATOR, IF NEEDED
INSERT DESIGNATOR, IF NEEDED