Flogo

Image Of FLOGO

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 ofFlogo 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

http://www.flogo.iohttps://www.tibco.com/blog/2017/05/05/project-flogo-humble-beginnings/https://dzone.com/articles/project-flogo-golang-powered-open-source-iot-integhttps://www.youtube.com/watch?v=1DD8ZWaznNM

<strong>Pradeep Tallogu<br></strong><sub><strong>Enterprise Architect</strong></sub>
Pradeep Tallogu
Enterprise Architect


Pradeep Tallogu brings numerous years of experience in building Enterprise Application Integration systems. He is a seasoned Integration Architect, takes ownership of building complex integration systems from scratch. He works with project stakeholders and technical teams and forms an effective liaison between the two. 
 
At Prowess Software, Pradeep works in Architecture Services. He works closely with Architects, Team Leads and PMs on full lifecycle of software development. He is also involved in building Technical Competency within the company. He constantly challenges his teams, prepares them for what is to come and strives to bring the best out of everyone. He is a team builder, mentor for people around him. Above all, he is a life-long learner. 

Author: Pradeep Tallogu

Head, Integration-CoE, Prowess Software Services