Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Let data flow, like an endless river into your OSGi application - M Hoffmann


Published on

OSGi Community Event 2017 Presentation by Mark Hoffmann [Data In Motion]

Data can be like water flowing along the river. Its a stream never ends.

Especially the many IoT devices can produce such endless flow of data, pushing it using various asynchonous messaging protocols like e.g. MQTT, Websockets, JMS, STOMP, XMPP or whatever you imagine. The OSGi frameowrk provides a lot of stuff to get such streams handled!

This track will give you a clue, how to get these data stream into your application. We show you an overview how to stream data using different protocol implementations like e.g. Websocket or MQTT using one common interface in an OSGi manner. Pushstreams play an imporant role to consume all the data. You will see the new OSGi pushstreams in action and how the consumer can control the speed of flow.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Let data flow, like an endless river into your OSGi application - M Hoffmann

  1. 1. Let data flow, like an endless river into your OSGi application Mark Hoffmann Data In Motion Consulting GmbH 1
  2. 2. About Us ● Founded in 2011 ● Located in Jena/Thuringia - Germany ● OSGi Contributing Associate Member ● OSGi / MDSD related company ● Consulting, Development, Training 2
  3. 3. What to expect? ● Messaging in OSGi ● PushStream short introduction ● Real-world Showcase: ○ Handling different message protocols using one API ○ Message Pipelines ○ Merging of Pipelines ○ Backpressure example 3
  4. 4. Introduction ● Messaging is important e.g. the IoT world ● Many existing protocols and frameworks ○ MQTT ○ Websockets ○ XMPP ○ CAN ○ CoAP ● Different devices, different protocols ● Devices define the speed the messages arrive 4
  5. 5. Messaging in OSGi ● EventAdmin ○ Basic spec in OSGi Enterprise ○ sync and async ○ Whiteboard based ● MQTT Adapter RFC 229 ○ MQTT specific ○ uses PushStream 5
  6. 6. PushStreams ● New in OSGi Enterprise R7 ● Similar to Java Streams but Push-based ● Fluent API using OSGi Promises ● Can be used outside the OSGi world ● Merge of streams ● Back-Pressure Handling ● Coalescing and Windowing (Batching) 6
  7. 7. Message Adapter ● Abstraction of MQTT Adapter ● Implementation supporting MQTT (Paho) ● Implementation supporting Websockets (Jetty) ● Connection to the outside world ● EventAdmin bridge (outside to inside) 7
  8. 8. Showcase Lets Rock 8
  9. 9. Thanks for listening! Resources: Web: Git: 9
  10. 10. Questions? 10