Classic middleware integration for your IoT Gateways integration

download Classic middleware integration for your IoT Gateways integration

If you can't read please download the document

Transcript of Classic middleware integration for your IoT Gateways integration

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