Bringing the Power of Spreadsheets to Stream Processing with Eclipse Streamsheets 2.0

The Eclipse Streamsheets community is excited to share details about the milestone release of Eclipse Streamsheets 2.0, an Eclipse IoT project.

Eclipse Streamsheets empowers business and technical users to leverage their spreadsheet know-how to build full-fledged services and individual applications (Figure 1). Instead of writing lines of code, users fill in cells with formulas and drag-and-drop charts to process, visualize, connect, and control data in Industrial IoT (IIoT), the world of event streams, and beyond.

Figure 1: Example Eclipse Streamsheets Application

With the power and flexibility that Eclipse Streamsheets offers, the application potential is diverse and solutions are highly individual. Typical use cases include:

  • Continuous processing and analysis of data streams from machines, sensors, or transactions.
  • Dashboards and visualizations of key performance indicators (KPIs), devices, and assets.
  • Real-time monitoring of processes as well as alerts and automation for workflows.
  • Decision support systems.
  • Connectivity among assets and systems, and across infrastructures at the edge, on-premises, and in the cloud.
  • Simulations of data sources and devices.
  • Semantic mappings between protocols, APIs, and data formats.

The formulas in Eclipse Streamsheets are calculated based on each incoming stream event or periodically based on a cycle timer. The cycle timer can be set to control how often a sheet receives, processes, and sends data. To ensure accurate operations, Eclipse Streamsheets can run up to 1,000 calculation cycles per second. The resulting Streamsheets apps run as microservices, receiving, transforming, and transmitting data from multiple sources, 24 hours a day, even if you close the browser.

New Features in Eclipse Streamsheets 2.0

With every release, we continue to ensure that Eclipse Streamsheets is user friendly, easy to use, and meets diverse needs. Eclipse Streamsheets 2.0 includes new features and improvements that meet these objectives, including:

  • Stream Wizard: The new Stream Wizard simplifies stream creation (Figure 2). A stream is any connection or way that data gets into, or out of, a Streamsheet. With the wizard, you no longer need to go to the administration area to create new streams. Instead, you can call up new wizards directly from an App or a Service. This means your workflow is not interrupted and streams can be added and adjusted without leaving the App or Service.

Figure 2: Eclipse Streamsheets Stream Wizard

  • Streams dashboard: The dashboard for streams has been completely redesigned and is no longer in the administration area (Figure 3). Streams are now part of the main dashboard, which means there are no longer separate dashboards for Connectors, Producers, and Consumers. They can now be managed centrally, in a single dashboard, with Apps and Services. The new hierarchical arrangement of Connectors and the associated Consumers and Producers also gives you a better overview of the interrelationships and relationships among the individual stream components.

Figure 3: Eclipse Streamsheets Streams Dashboard

  • Renaming: The term “Stream Machine” has been renamed to better reflect the diverse uses of Eclipse Streamsheets. For example, you can build complex dashboards and apps, as well as services, with pure backend functionality. As a result, Stream Machines are now called “Apps & Services.”
  • Improved UI: The user interface, which is based on Material Design, includes numerous improvements that affect dialogs, dashboards, and the general appearance of the application.
  • Improved touch experience: Interacting with Eclipse Streamsheets through touch displays has been improved, resulting in a smoother user experience on tablets, smartphones, and similar devices.
  • Chart improvements: Eclipse Streamsheets 2.0 adds several new features, including a new chart interaction menu and transparency, to charts. These features enhance extensive charting features, such as custom and time-series charts that update with real-time data and several types of charts.
  • New functions: Eclipse Streamsheets 2.0 includes the following new functions:
    • AWAIT(): Previously, the sheet calculation continued when asynchronous functions were executed. This function pauses the sheet calculation until all referenced cells and requests are resolved. This function can be combined with asynchronous Streamsheets functions such as HTTP.REQUEST().
    • AWAIT.ONE(): This function works like AWAIT(), but only pauses the sheet calculation until at least one of the specified requests is resolved.
    • JSON.VALUE(): This function returns a value from a JSON object. The value to return corresponds to the path specified by given keys.
    • SLEEP(): To provide even more flexibility for sheet calculations, the new SLEEP() function allows the sheet calculation to be paused for a specified period of time.
    • OUTBOX.GETIDS(): This function creates a list of IDs for all messages currently available in the Outbox. The Outbox is a storage area within the App that allows you to store JSON messages without using a database. An optional id filter can be used to specify the IDs that are returned.
    • RANGE(): This function makes it even easier to generate JSON objects. It creates a flat JSON array from a specified cell range.
  • Updated Streamsheets functions: Functions that have been updated include:
    • READ(): When dragging and dropping data elements from the Inbox into the sheet, the ErrOnMissing parameter is now set to TRUE by default.
    • WRITE(): This function can now be used to add JSON data to the Outbox with a set time to live (TTL). When the TTL expires, the data is deleted from the Outbox. This function can also be used with the new OUTBOX.GETIDS() function.
  •  Bug fixes and other improvements: Streamsheets 2.0 includes several bug fixes as well as stability and performance improvements.

Get More Information

Eclipse Streamsheets runs on Linux, Microsoft Windows, and Apple macOS as well as systems such as the Raspberry Pi. Installation is easiest when Docker is used. For detailed installation instructions, visit docs.cedalo.com.

About the Author

Philipp Struss and Philip Ackermann
Philipp Struss and Philip Ackermann

Philipp Struss and Philip Ackermann

This article was developed by Philipp Struss, the co-founder and CEO of Cedalo AG, and Philip Ackermann, the CTO at Cedalo AG. In addition to Eclipse Streamsheets, Cedalo AG is also the official sponsor of Eclipse Mosquitto, the popular open source MQTT broker. Eclipse Streamsheets and Eclipse Mosquitto are included in the Cedalo Community Platform. The company also offers premium editions of both technologies with additional features.