Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse Streamsheets™
  5. Eclipse Streamsheets
  6. Creation Review

Eclipse Streamsheets™ Creation Review

Type: 
Creation
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, February 26, 2020
Project: 
Eclipse Streamsheets™
Proposal: 

Eclipse Streamsheets

Parent Project: 
Eclipse IoT
Background: 

The integration of different software systems is time consuming and expensive. Low-code and no-code development platforms can speed up the development and the integration of software systems. End-users of low-code and no-code development platforms do not need to have any knowledge of a programming language because the development is carried out using a visual approach. The development of an application is thus more accessible, even for people who are not software developers. In addition, applications can be created more efficiently which in turn increases productivity.

Streamsheets facilitate the creation and integration of applications in a familiar spreadsheet environment without a single line of program code. Users define logic for analyses, data transformation and processes in an already known and accepted way, which minimizes familiarization times and fears of contact, thereby acceIerating implementations of digital solutions.

Unlike traditional spreadsheet applications, Streamsheets are not static but are designed for dynamic processing, analysis, and controlling of data flows. Input data (primarily from but not limited to IoT devices / sensors) enters the inbox of a Streamsheet, using a concept similar to an e-mail program, then flows through the logic defined in the Streamsheet, before the results are forwarded to downstream IoT devices, processes or databases.

Once the modeling phase of a process is complete, the graphical interface for the Streamsheet can be closed and its process logic will continuously run in real-time as a microservice in the server environment.

Scope: 

The Streamsheets project provides a platform for processing stream data using a spreadsheet-like interface and spreadsheet-like formulas. In order to achieve this it provides:

  • Web UI Service: A spreadsheet-like user interface for visually creating and managing Streamsheets.
  • Gateway Service: An API for managing Streamsheets.
  • Machine Service: A backend runtime for executing Streamsheets.
  • Streams Service: A pluggable system for adding connectors to other protocols, databases, etc.
  • Graph Service: A service for synchronizing Streamsheets interactions between different users.
  • A JavaScript/Node.js client for interacting with the Streamsheets API.
Description: 

With Streamsheets the everyday technical or business end user can create stream processing applications just by using their existing spreadsheet knowledge (e.g. from Microsoft Excel or Google Sheets). Streamsheets give non-programmers the opportunity to work with event streams with a power and flexibility that would otherwise only be available to an experienced software programmer.

Applications for stream processing are widespread and as generic as spreadsheets can be. Areas Streamsheets can be used in include the following:

  • IoT: Control, analysis, monitoring, visualization and simulation of industrial and other IoT processes (Smart Factory, Smart Building, Smart City, Smart Energy, Smart Farming, …) using MQTT, AMQP or other messaging protocols.
  • Stream Processing: Any kind of business or technical processes that publish and subscribe to a streaming platform (e.g. Kafka) and does analysis, transactions, monitoring, statistics, automated alerts, conversions, semantic mappings, enriching of data sets, etc.
  • Protocol conversion or gateways: Edge to Cloud, IT to OT, Protocol to Protocol, Request/Response to Publish/Subscribe, Logfile to Stream, etc. using MQTT, AMQP, UDP, REST, POP, SMTP protocols or simple input from text files.
     
Why Here?: 

Eclipse already hosts many mature projects related to IoT. The proposed Streamsheets project is a very good complement to the existing projects, including Eclipse Paho, Eclipse Milo, and most notably the Eclipse Mosquitto project. Streamsheets uses the MQTT protocol both for internal and external communication and uses Mosquitto as its standard MQTT broker. Streamsheets also complements the Mosquitto project in the sense that it provides a standard user interface for Mosquitto.

Initial Contribution: 

The initial code contribution to Streamsheets will contain the code from the GitHub repository located at https://github.com/cedalo/streamsheets. The backend services of the Streamsheets platform are written in JavaScript and intended to run on Node.js. The main dependencies for the backend are Express.js and MQTT.js. The frontend is as well written in JavaScript and mainly depends on the React framework using the Material UI component library and on the self-developed “JavaScript Graph Library” (JSG) for Canvas interactions, which will be included in the Streamsheets project.

Legal Issues: 

Our main dependencies are licensed under a MIT license. Our own code will be licensed under the EPL v2.0. We do not expect any legal issues.

Licenses: 
Eclipse Public License 2.0
Project Scheduling: 

Having released version 1.4 on the 16th of October 2019 we are planning future releases every 10-12 weeks.

Future Work: 
  • Extend Chart Modules: the current charts (line charts, bar charts, etc.) will be extended with additional functionality.
  • Built-in tutorials: to help users to get started with Streamsheets we will integrate built-in tutorials (text and/or video) that show how to use different features of the software.
  • UX/UI improvements: we will further enhance the software for usability and user experience.
People
Project Leads: 
Philip Ackermann
Roger Light
Committers: 
Philip Ackermann
Arnd Houben
Roger Light
Michael Raue
Andreas Sayn
Evangelos Vlachogiannis
Interested Parties: 
  • Festo
  • Siemens
  • Real-time Automation
  • Edgeworx
Mentors: 
Jens Reimann
  • Sign in to post comments.
  • Sign in to post comments.
Incubating - Eclipse Streamsheets™

Project Links

  • Getting Started

Related Projects

Related Projects:

  • Eclipse IoT
    • Eclipse Mosquitto™

Project Hierarchy:

  • Eclipse IoT
  • Eclipse Streamsheets™

Tags

Technology Types
  • Internet of Things
  • Tools

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top