SlideShare a Scribd company logo
Kai	Wähner
Technology	Evangelist
kontakt@kai-waehner.de
LinkedIn	
@KaiWaehner
www.kai-waehner.de
January	2017
Development	of	a	Custom	Flogo Connector
(using	Apache	Kafka	as	example)
© Copyright 2000-2016 TIBCO Software Inc.
This is not an introduction to Open Source IoT Project Flogo
www.flogo.io
https://community.tibco.com/wiki/flogo-
introduction-slides-and-videos
© Copyright 2000-2016 TIBCO Software Inc.
• is very easy, fast and lightweight
• can be done without much experience in Go programming language
• is best done by using other Flogo connectors (and unit tests) as template
• should be contributed to the Flogo open source community (not a must, of course!)
Key Takeaways
Building custom Flogo connectors…
Flogo Concepts
Trigger
Flow
Activity
Error Handler
Flogo App
One or more Flows
Flows
Activities + Transitions +
Optional error handler
Triggers
Starts those flows
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)
This projects includes
Triggers and Activities
go get github.com/TIBCOSoftware/flogo-contrib/...
© Copyright 2000-2016 TIBCO Software Inc.
Apache Kafka
https://kafka.apache.org/
“Kafka is used for building real-time
data pipelines and streaming apps. It
is horizontally scalable, fault-tolerant,
wicked fast, and runs in production in
thousands of companies.”
© Copyright 2000-2016 TIBCO Software Inc.
• Get Access to a technology which you want to integrate
• For Kafka, this could be a locally installed broker, or a remote connection
• Find, install and use a corresponding Go library
• Various Golang APIs are available for Apache Kafka
• I chose the Kafka API from optiopay because it is very simply and easy to use – depending on requirements
regarding functionality, performance or maturity, other options might be better (I did not do more research)
• Install the library into your Go workspace (command ‘go install’)
• Run an “hello world“ example (optiopay delivers a very nice simple demo where you send and consume messages
from command line)
• Duplicate an existing Flogo Activity
• Choose a similar Flogo Activity (e.g. Kafka is similar to MQTT, you connect to a broker and send messages)
• The folder includes implementation, test, runtime config and UI config
• Use the existing folder as template and re-write / update / replace / enhance the code + config + test
• Run “go test” to validate correctness of the new connector
• In my Kafka test, I see that the test sends a new message to Kafka (verified in a Kafka consumer running on the
command line)
• Deploy and test the new connector in the Flogo Web UI
• The web UI allows to install a new activity (or trigger) via URL Link (you need to publish your connector on Github)
• Github Pull Request to contribute your code back to the Flogo community
• (optional step, but highly recommended J)
Steps to develop a custom connector
© Copyright 2000-2016 TIBCO Software Inc.
Live Demo
Development of a Flogo Activity for Apache Kafka
© Copyright 2000-2016 TIBCO Software Inc.
• is very easy, fast and lightweight
• can be done without much experience in Go programming language
• is best done by using other Flogo connectors (and unit tests) as template
• should be contributed to the Flogo open source community (not a must, of course!)
Key Takeaways
Building custom Flogo connectors…
Questions? Please contact me!
Kai Wähner
Technology Evangelist
kontakt@kai-waehner.de
@KaiWaehner
www.kai-waehner.de
LinkedIn
Ask questions on the Flogo community:
https://community.tibco.com/products/project-flogo

More Related Content

PDF
Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)
PDF
Comparison of Open Source Frameworks for Integrating the Internet of Things
PDF
Machine Learning Applied to Real Time Scoring in Manufacturing and Energy Uti...
PDF
Open Source IoT Project Flogo - Introduction, Overview and Architecture
PDF
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
PDF
TIBCO BWCE and Netflix' Hystrix Circuit Breaker for Cloud Native Middleware M...
PDF
ITCamp 2017 - Raffaele Rialdi - A Deep Dive Into Bridging Node-js with .NET Core
PDF
Docker adventures in Continuous Delivery - Alex Vranceanu
Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)
Comparison of Open Source Frameworks for Integrating the Internet of Things
Machine Learning Applied to Real Time Scoring in Manufacturing and Energy Uti...
Open Source IoT Project Flogo - Introduction, Overview and Architecture
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
TIBCO BWCE and Netflix' Hystrix Circuit Breaker for Cloud Native Middleware M...
ITCamp 2017 - Raffaele Rialdi - A Deep Dive Into Bridging Node-js with .NET Core
Docker adventures in Continuous Delivery - Alex Vranceanu

What's hot (20)

PDF
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
PDF
How to secure and manage modern IT - Ondrej Vysek
PDF
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
PPTX
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
PDF
The best of Hyper-V 2016 - Thomas Maurer
PDF
The fight for surviving in the IoT world - Radu Vunvulea
PDF
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
PDF
Testing your PowerShell code with Pester - Florin Loghiade
PDF
Blockchain for mere mortals - understand the fundamentals and start building ...
PDF
The best of Windows Server 2016 - Thomas Maurer
PDF
Kubernetes - Cloud Native Application Orchestration - Catalin Jora
PDF
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
PPT
Technical introduction to Hyperledger's Fabric
ODP
Bluemix overview with Internet of Things
PPTX
Serverless Single Page Apps with React and Redux at ItCamp 2017
PDF
Using bluemix predictive analytics service in Node-RED
PDF
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
PDF
Xamarin Under The Hood - Dan Ardelean
ODP
Devoxx 2014 presentation
PDF
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
Provisioning Windows instances at scale on Azure, AWS and OpenStack - Adrian ...
How to secure and manage modern IT - Ondrej Vysek
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Laurent Ellerbach - Bot. You said bot? Let's build a bot then...
The best of Hyper-V 2016 - Thomas Maurer
The fight for surviving in the IoT world - Radu Vunvulea
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
Testing your PowerShell code with Pester - Florin Loghiade
Blockchain for mere mortals - understand the fundamentals and start building ...
The best of Windows Server 2016 - Thomas Maurer
Kubernetes - Cloud Native Application Orchestration - Catalin Jora
Everyone Loves Docker Containers Before They Understand Docker Containers - A...
Technical introduction to Hyperledger's Fabric
Bluemix overview with Internet of Things
Serverless Single Page Apps with React and Redux at ItCamp 2017
Using bluemix predictive analytics service in Node-RED
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
Xamarin Under The Hood - Dan Ardelean
Devoxx 2014 presentation
Building advanced Chats Bots and Voice Interactive Assistants - Stève Sfartz ...
Ad

Similar to Open Source IoT Project Flogo - Building a Custom Apache Kafka Connector (20)

KEY
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
PDF
Integrating Alfresco @ Scale (via event-driven micro-services)
 
ODP
OpenNTF - UKLUG 2009 Edinburgh
PPTX
PDF
Modern websites in 2020 and Joomla
PDF
LFC DjangoCon EU
PDF
Top 6 php framework
PDF
substrate: A framework to efficiently build blockchains
PDF
cLoki: Like Loki but for ClickHouse
PPTX
Asynchronous Frameworks.pptx
PDF
Advantages of golang development services & 10 most used go frameworks
PDF
Websocket 101 in Python
PPTX
Creating and Maintaining an Open Source Library
PDF
TYPO3 Flow 2.0 in the field - webtech Conference 2013
PDF
WebSocket in Enterprise Applications 2015
PDF
Building a Slack Bot Workshop @ Nearsoft OctoberTalks 2017
PDF
August OpenNTF Webinar - Git and GitHub Explained
PPTX
Introduction to Github action Presentation
PDF
Webinar - Continuous Integration with GitLab
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
Integrating Alfresco @ Scale (via event-driven micro-services)
 
OpenNTF - UKLUG 2009 Edinburgh
Modern websites in 2020 and Joomla
LFC DjangoCon EU
Top 6 php framework
substrate: A framework to efficiently build blockchains
cLoki: Like Loki but for ClickHouse
Asynchronous Frameworks.pptx
Advantages of golang development services & 10 most used go frameworks
Websocket 101 in Python
Creating and Maintaining an Open Source Library
TYPO3 Flow 2.0 in the field - webtech Conference 2013
WebSocket in Enterprise Applications 2015
Building a Slack Bot Workshop @ Nearsoft OctoberTalks 2017
August OpenNTF Webinar - Git and GitHub Explained
Introduction to Github action Presentation
Webinar - Continuous Integration with GitLab
Ad

More from Kai Wähner (20)

PDF
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
PDF
When NOT to use Apache Kafka?
PDF
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
PDF
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
PDF
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
PDF
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
PDF
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
PDF
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
PDF
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
PDF
Apache Kafka in the Healthcare Industry
PDF
Apache Kafka in the Healthcare Industry
PDF
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
PDF
Kafka for Real-Time Replication between Edge and Hybrid Cloud
PDF
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
PDF
Apache Kafka Landscape for Automotive and Manufacturing
PDF
Kappa vs Lambda Architectures and Technology Comparison
PPTX
The Top 5 Apache Kafka Use Cases and Architectures in 2022
PDF
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
PDF
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
PDF
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
When NOT to use Apache Kafka?
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka Landscape for Automotive and Manufacturing
Kappa vs Lambda Architectures and Technology Comparison
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PDF
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The AUB Centre for AI in Media Proposal.docx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
KodekX | Application Modernization Development

Open Source IoT Project Flogo - Building a Custom Apache Kafka Connector

  • 2. © Copyright 2000-2016 TIBCO Software Inc. This is not an introduction to Open Source IoT Project Flogo www.flogo.io https://community.tibco.com/wiki/flogo- introduction-slides-and-videos
  • 3. © Copyright 2000-2016 TIBCO Software Inc. • is very easy, fast and lightweight • can be done without much experience in Go programming language • is best done by using other Flogo connectors (and unit tests) as template • should be contributed to the Flogo open source community (not a must, of course!) Key Takeaways Building custom Flogo connectors…
  • 4. Flogo Concepts Trigger Flow Activity Error Handler Flogo App One or more Flows Flows Activities + Transitions + Optional error handler Triggers Starts those flows
  • 5. 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) This projects includes Triggers and Activities go get github.com/TIBCOSoftware/flogo-contrib/...
  • 6. © Copyright 2000-2016 TIBCO Software Inc. Apache Kafka https://kafka.apache.org/ “Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.”
  • 7. © Copyright 2000-2016 TIBCO Software Inc. • Get Access to a technology which you want to integrate • For Kafka, this could be a locally installed broker, or a remote connection • Find, install and use a corresponding Go library • Various Golang APIs are available for Apache Kafka • I chose the Kafka API from optiopay because it is very simply and easy to use – depending on requirements regarding functionality, performance or maturity, other options might be better (I did not do more research) • Install the library into your Go workspace (command ‘go install’) • Run an “hello world“ example (optiopay delivers a very nice simple demo where you send and consume messages from command line) • Duplicate an existing Flogo Activity • Choose a similar Flogo Activity (e.g. Kafka is similar to MQTT, you connect to a broker and send messages) • The folder includes implementation, test, runtime config and UI config • Use the existing folder as template and re-write / update / replace / enhance the code + config + test • Run “go test” to validate correctness of the new connector • In my Kafka test, I see that the test sends a new message to Kafka (verified in a Kafka consumer running on the command line) • Deploy and test the new connector in the Flogo Web UI • The web UI allows to install a new activity (or trigger) via URL Link (you need to publish your connector on Github) • Github Pull Request to contribute your code back to the Flogo community • (optional step, but highly recommended J) Steps to develop a custom connector
  • 8. © Copyright 2000-2016 TIBCO Software Inc. Live Demo Development of a Flogo Activity for Apache Kafka
  • 9. © Copyright 2000-2016 TIBCO Software Inc. • is very easy, fast and lightweight • can be done without much experience in Go programming language • is best done by using other Flogo connectors (and unit tests) as template • should be contributed to the Flogo open source community (not a must, of course!) Key Takeaways Building custom Flogo connectors…
  • 10. Questions? Please contact me! Kai Wähner Technology Evangelist kontakt@kai-waehner.de @KaiWaehner www.kai-waehner.de LinkedIn Ask questions on the Flogo community: https://community.tibco.com/products/project-flogo