Go-powered Open Source Project Flogo for Lightweight IoT and Edge Integration:
The Internet of Things (IoT) brings up 50 billion devices until 2020, which have to be connected somehow. Challenges include low bandwidth, high latency, non-reliable connectivity and the need for low network costs. Therefore, a gateway at the edge is needed remotely on site of the devices to filter, aggregate and send just relevant data into the cloud or data center.
This session introduces open source project Flogo, which allows developing ultra-lightweight IoT edge applications with a zero-coding web user interface. Coders can also rely just on Go code if they want. It is written in Go programming language and therefore 20-50x more lightweight than similar Java or JavaScript frameworks.
The session focuses on live demos and shows how to develop ultra-lightweight microservices and how to integrate IoT devices using standards such as MQTT, WebSockets, CoaP or REST. The last part of the session compares Project Flogo to other open source IoT projects like Eclipse Kura or Node-RED and cloud offerings such as AWS IoT.
Check out www.flogo.io and https://community.tibco.com/products/project-flogo for more information and community.
15. Flogo Concepts to the End User
Trigger
Flow
Activity
Error Handler
Flogo App
One or more Flows
Flows
Activities + Transitions +
Optional error handler
Triggers
Starts those flows
25. So what is the Difference?
Hardware
OS
VM - JVM
Framework - OSGi
App
Eclipse Kura
Hardware
OS
VM – V8
Framework – Node.js
App
Node-RED
Hardware
OS
App
Flogo
Typically 100s of
dependencies –
100MB+ “All included” zero-
dependency model
enabled by to
Golang
26. Comparison – Resource Requirements of IoT Frameworks
Eclipse Kura Node-RED Flogo
VM JVM V8 Golang
Base Disk Space 59 MB 56 MB ~ 0 MB
Base Runtime Memory ~ 170 MB (with Open JDK)
~ 20 MB (with Oracle Embedded Java)
> 50 MB ~ 5 MB
Startup time Slow (~8 sec) Slow (~5 sec) Fast (~1 sec)
Application Build Slow Not Applicable Fast (~2 secs)
27. Flogo Repositories on Github
flogo-lib
Core libraries.
flogo-services
Backing services required by Flogo for flow
and state management.
flogo-contrib
Flogo extensions available out of the box, like
triggers or activities.
flogo-cli
A command line tool to build Flogo apps.
https://github.com/TIBCOSoftware/flogo
(very permissive open source BSD license)
Web Designer coming very soon – free to download and use!
33. Web-Native Step-Back Debugger
• Step back in a flow
• Interactively design/debug
your process
• Simulate sensor events
• Change data or configuration
and run from Trigger or any
Activity
• Underlying technology could
be used to support remote
ops debugging of failed flows
35. Outlook: Flogo Nanoservices on Microcontrollers
Flogo nanoservices that target
microcontrollers like ARM M0
Offload I/O centric compute
farther off to the edge.
36. Outlook: Conversational User Experience with Design Bots
Conversational
Design Experience
Flow-based
User Interface
…coming
in 2017.