DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Cucumber Selenium Tutorial: A Comprehensive Guide With Examples and Best Practices
  • SRE vs. DevOps
  • Getting Started With the YugabyteDB Managed REST API

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Cucumber Selenium Tutorial: A Comprehensive Guide With Examples and Best Practices
  • SRE vs. DevOps
  • Getting Started With the YugabyteDB Managed REST API
  1. DZone
  2. Data Engineering
  3. Big Data
  4. Different Dataflow Programming Approaches and Comparison With Kura Wires

Different Dataflow Programming Approaches and Comparison With Kura Wires

See how various IoT frameworks stack up with Kura Wires' dataflow programming approach. See where each framework works well and where they fall short.

Amit Kumar Mondal user avatar by
Amit Kumar Mondal
·
Aug. 26, 16 · Opinion
Like (3)
Save
Tweet
Share
5.18K Views

Join the DZone community and get the full member experience.

Join For Free

Overview

In a previous post, I discussed the dataflow programming approach of Kura Wires. Furthermore, I also discussed the benefits that Kura Wires is expected to serve in the Industrial Internet of Things (IIoT) context.

Currently, frameworks already exist that work on the dataflow programming model and also incorporate the visual paradigm to develop Internet of Things (IoT) applications, for instance, Node-RED, glue.things, SAM Labs.

Today, in this post, I would like to focus on the differences amongst these notable frameworks, along with the comparison with Kura Wires.

Node-RED

alt text


Node-RED provides a browser-based flow editor that makes it easy to wire together devices, APIs, and online services by using the wide range of nodes in the palette. Flows can be then deployed to the Node.js runtime with a single click. Node-RED is a flow-based approach to support various functionalities and smart devices. Functional blocks, so-called nodes, can represent databases, functions, or smart devices. These nodes can be wired together to build a functional graph. The nodes encapsulate some functionalities, while it is possible for the developer to implement functions within the code, added to a node.

However, Node-RED is connecting miniature smart devices, for instance, lights and switches. The UI is essentially aimed at developers, as it requires developers to write code snippets in the Node-RED composer UI to define bespoke functionality in a node. This constrains users without programming experience to implement interactions between these smart devices, which they have not done before.

In addition, as of now, it does not support communication with industrial devices, such as Modbus, OPC-UA, Siemens S7 PLCs, etc, which we are aiming to solve problems using Kura Wires. However, custom nodes are provided by many developers to communicate with OPC-UA and Modbus devices, it is still not the primary focus of Node-RED to communicate with industrial devices to process their telemetry data. In Kura Wires, our focus is to process machine production data through the use of different Logical blocks and Computational Blocks. We are also aiming to provide several reusable components as much as possible so that users will not need to write a single line of code to implement their own Industrial Internet of Things scenarios.

glue.things

alt text


glue.things is another framework for IoT application development that has some similarities to Node-RED. In glue.things, a master device controls and monitors all participating nodes in a local network. Whenever a device joins the network, its special nodes are added into the flow editor of the master device and, made available to the developer.

However, the glue.things composer does not work with industrial devices individually.

SAM Labs

alt text


SAM 2 is an IoT development kit, based on a set of smart devices. All of them are connected per Bluetooth LE and are physically standalone smart devices, as a battery provides energy for each smart device to run autonomously. Each smart device provides a simple functionality, which can be buttons, LEDs, or speakers, for example. The user can arrange these smart devices with the use of a visual programming interface, running on the computer. The program uses nodes and edges to connect smart devices and arrange their functions per drag and drop. Aside from hardware integration, software functionalities such as social media access are additionally integrated.

However, SAM does provide a great platform to teach the orchestration of hardware elements. The focus of SAM is the local development environment. Unlike SAM, Kura Wires focuses on the Industrial IoT application development. which is a continually changing environment. Furthermore, the miniature smart devices of SAM are only limited to some basic functionalities and it is not possible to integrate off-the-shelf industrial smart devices containing diverse functionalities, for instance, industrial devices of different field protocols (Modbus, PROFINET, OPC-UA, CANbus etc.)

Conclusion

The primary focus of these frameworks is to facilitate users with an easy to use tool to develop bespoke Internet of Things scenarios, including functionalities of social network access. Unlike these tools, Kura Wires essentially focuses on easing the implementation of Industrial Internet of Things scenarios only. However, IoT developers can make use of the extension points of Kura Wires to develop custom Logical Blocks for Node-RED-like social access and much more. Furthermore, unlike these aforementioned tools, Kura Wires is completely based on Java and OSGi which would definitely motivate several Java developers to rapidly develop their own Java-based Industrial IoT applications. Our approach in Kura Wires would expectantly benefit users to focus on their Industrial Internet scenarios, rather than focusing on how to implement the scenarios.

Dataflow programming IoT Node-RED Comparison (grammar)

Published at DZone with permission of Amit Kumar Mondal, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Knowing and Valuing Apache Kafka’s ISR (In-Sync Replicas)
  • Cucumber Selenium Tutorial: A Comprehensive Guide With Examples and Best Practices
  • SRE vs. DevOps
  • Getting Started With the YugabyteDB Managed REST API

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: