When building an IoT platform (or, for that matter, any application), everything can really be pretty much broken down into two categories. It is all about data and the functionality that acts on that data.
NuvIoT provides an exceptional mechanism to bring in data from pretty much any data source. It does this by parsing data from messages into normalized sets of data. Once we have these clearly identified pieces of data, we can start adding functionality. Within NuvIoT, we not only have the opportunity to extend our routes with custom modules, but we also have a visual workflow build you can use to create sophisticated workflows and business rules.
Workflows consist of the following components:
- Workflow Inputs – Connectors where clearly-defined data points can be passed in to be processed. These are generally connected to the outputs from messages.
- Attributes – Data that is stored along with the device. The workflow Input is often attached to an attribute, so that value will be stored to the device.
- Input Commands – In many cases, you need to build additional applications that communicate with your NuvIoT application. Input commands generate REST-based endpoints that let you communicate with your devices and workflows.
- State Machines – Our workflow engine provides a very powerful implementation of a Finite State Machine where you can built sophisticated business rules.
- Output Commands – Just as workflow inputs are the connectors that let you feed data to your workflow, output commands build up data sets that can be sent to other systems. The outputs consist of a set of normalized, strongly typed key value pairs which can be associated with specific message formats so devices get the data in the format they expect.
Another incredibly powerful feature of our workflow engine is the ability to add sophisticated scripts using our robust built-in script editor. With our script editor, you can perform complex logic, interact with the device, and create and send messages to other devices.
Once you have created your workflow, you can reuse it across many different device configurations and applications. You simply add the workflow as part of the route, visually connect the message inputs to the workflow inputs, and, if necessary, connect any output commands to the messages that will ultimately be sent to to a device.
Be sure to check out our full IoT Basics series: