Blogs
Flogo
- October 9, 2018
- TIBCO
What is Flogo
The Project Flogo is an ultra-light weight integration framework powered by Go Programming Language and released by TIBCO in October 2016 with permissive BSD License. It is TIBCO’S firstopen source project with broader eco system.
Why Flogo
It can be used to create event-driven applications with extendable features. Project Flogois a perfect solution to achieve serverless functions, cloud-native microservices and lightweight IoT and Edge Integration applications.
Advantages
Some key advantages of Project Flogo are
Ultra Light weight(powered by Go – Lang) when compared to other applications which are built with Java Dropwizard, IBM Node-Red.
It uses less memory and disk space.
It can run on any type of platforms like edge devices and cloud.
Applications created by using Flogo Web UI are lightweight, because it is lightweight.
Used to develop IoT edge applications or cloud native applications.
Web native Step-Back debugger; with this debugger we can interactively debug our flow.
Zero code development environment for easy to build apps
Flogo Solution
According to TIBCO, Flogo has been discovered as an IOT integration engine and it will continue to evolve around IOT. As only the IOT integrated applications in the cloud communicates & controls the edge devices through gateways, the connectivity is unreliable and expensive too. Flogo is the solution to the problem.
Why Go-Lang
The reason for opting Go-Lang (Go Programming Language) is as it is modern and uses the technologies like Docker Frameworks and Kubernets.
Initially the Flogo was planned to be built on Java by TIBCO, but it was then shifted as it will become heavy, not agile too and found some risk factors regarding the licensing. Then the plan was moved to Node.js and C/C++. But the major drawback for the later choice was, Node.js is lighter than Java but not IOT robust and coming to C/C++ is not modern programming language. Therefore, TIBCO opted for Go-Lang.
This Go-Lang programming language has better features like concurrency, Memory Management, and faster. It is also Zero-dependency programming model and partially object oriented.
Working of Flogo App
Flogo is designed in such a way that each Flogo application consists of one or more flows and each flow consists of activities like micro services, IOT and edge applications. These flows consist of one trigger and several activities and conditions for content-based routing and error handling. The trigger is like a timer or HTTP receiver or MQTT message.
Flogo Repositories
Flogo has 4 repositories.
Flogo-lib
Flogo-services
Flogo-contrib
Flogo-cli
Flogo Use Cases
The Use cases for Flogo are summarized in two different types.
One states that Flogo is used to build IoT Edge applications and another state that it is used to build Cloud-Native, Lightweight Micro services.
In IoT edge applications we have two categories as consumer IoT and Industrial IoT. Device activation, device management and device diagnostics fall under Consumer IoT. Lifecycle management and Performance Optimization fall under Industrial IoT.
References
https://www.tibco.com/blog/2017/05/05/project-flogo-humble-beginnings/
https://dzone.com/articles/project-flogo-golang-powered-open-source-iot-integ