Blog Posts Process Management

I Met Project Flogo—a New Friend Worth Knowing in the IoT Society

Blog: The Tibco Blog

Discovering a new technology is somehow like meeting a new friend. And like friends, some technology may just pass by, some are here to last long. When Project Flogo was first announced at TIBCO NOW back in May 2016, it came with a lot of promises:

Some detailed content has now been published in the TIBCO Community, so that you can get a better grasp at what Project Flogo is and can do.

Good friendship cannot be based on immediate feelings, and a deeper knowledge is required to establish trust. Project Flogo is based on Go language (golang). To be honest, I was a bit concerned as I did not know much about Go language. Thus, my first initiative was to learn and understand more about Go.

I encourage you to look at this content posted by TIBCO’s Kaï Wähner, which compares different IoT Open Source frameworks, and outlines the advantages Project Flogo inherits from Go language.

In a nutshell, I found out that Go is an easy, readable, modern language with a computing efficiency closed to C/C++. It is native, does not depend on any framework, and can be deployed easily as a single binary.

Outside of technicals, one major aspect of any programming language is its adoption level and the size of its community. And I was happily surprised to realize that it was much larger than I anticipated, and is growing. I did several searches to find re-usable packages for integration, and I consistently found a few packages ready to use.

Go language is actually being used by more and more of the top innovative software companies like Uber. Then came the moment of truth: experiencing my first application development with Project Flogo.

I used a Raspberry PI and did a bit of simple electronic wiring to connect a LED and a temperature sensor to my PI. I had the ground ready to build my test application:

By the way, one note on Raspberry PI: I chose it because I had it. Raspberry PI has clearly become a significant processing horse, which can easily run more heavyweight Java frameworks. It is clear that, with its few MBs footprint, Project Flogo is also targeted for much smaller platforms, even down to the Cortex M0 as an ultimate goal. This will certainly be part of my next round of experiments.

Figure 1: My Raspberry PI connected a LED and temperature sensor

Figure 1: My Raspberry PI connected a LED and temperature sensor

I did try both Project FloGo development web UI, and the CLI Interface.

The first important observation is that you don’t need to know Go language to use Project Flogo. As long as you use the Project Flogo triggers (input event channels) and activities (function modules) available in the github community, you just integrate and configure them to make up your app. With CLI, you write up JSON config files, and, with the web UI, visual flow creation and debugging convey a great developer experience.

Figure 2: Visual Flow development and debugging

Figure 2: Visual Flow development and debugging

I could have created my application fully with zero development, but decided to create a custom activity to assess extension capabilities. And again, I was nicely amazed. I quickly found an open source package to send notifications through PushOver, and just had to write a few lines of code validated in a few hours, thanks to both the simplicity and readability of Go language, and the Project Flogo helpers, creating automatically the right stubs to insert my activity code.

Figure 3: Code snippet of the activity main function

Figure 3: Code snippet of the activity main function

Finally, deployment to the Raspberry PI was stunningly easy: no pre-requisite to install, just one binary file to copy and run.

As you can see, I fully adopted Flynn, the cute Project FloGo‘s mascot, as my new friend. Although he’s still very young and will still mature over time, he is already full of the talents required to raise up over the IoT fray.  mascot

If you’d like to meet and get acquainted with Flynn, find him on the Flogo site. Go further and get full access to my experimental code here.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="https://www.businessprocessincubator.com/content/i-met-project-flogo-a-new-friend-worth-knowing-in-the-iot-society/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×