Introducing “IoT Platforms” – Part II

Last month, an article introduced the latest “platform” on the factory floor: the Internet of Things (IoT) platform. Here is what these platforms comprise.

Related:

As with so many things, the devil is in the details when comparing Internet of Things (IoT) platforms. The following overview of two such platforms is hardly an apples-to-apples comparison, but it should give an indication of the breadth of such products.
 
A modern major platform
ThingWorx from PTC (thingworx.com) is a leading example of a complete IoT platform. Now at version 7, it includes:

Device connectivity. Using KEPServerEX from PTC Kepware (kepware.com), ThingWorx connects to devices in various ways, including third-party device clouds (by supporting most MQTT and REST applications), open APIs (such as the OPC Unified Architecture), proprietary automation interfaces (e.g., iFIX by GE Intelligent Platforms and InTouch by Wonderware), IT interfaces (such as ODBC and SNMP), and through export mechanisms. The ThingWorx Edge MicroServer provides bi-directional connectivity between things and the ThingWorx server, regardless of network architecture. Users can choose their preferred public cloud service–so far, Amazon Web Services and Microsoft’s Azure IoT Hub–to connect devices, send data between devices and auto-provision a device.

Device management. ThingWorx Utilities manage and optimize the performance of connected devices, including provisioning, remotely monitoring and updating connected devices and assets. The utilities let non-developers create, edit and manage business processes related to the connected devices. These processes can be initiated by alerts, triggers or decision-support rules.

Development. Composer is a tool for creating applications, including modeling the “things” (sensors, devices, etc.), business logic, visualization, data storage, collaboration, and security required for a connected application.

Applications. Mashup Builder is drag-and-drop software for creating interactive applications, collaborative workspaces, real-time dashboards and mobile interfaces. The Builder has user interface widgets that include collaboration components (e.g., blogs, wikis, and discussion forums), data visualization charts, grids and forms. It also has base operators (filter, time window, query and filtering) to apply to datasets.

Analytics. ThingWorx Analytics provides four basic functions: watch, predict, adapt and optimize. The analytics tools monitor devices and provide pattern and anomaly detection on real-time data streams; provide predictive modeling; deliver details that lead to an outcome and explains how to change a predicted outcome; and provide predictive and simulative intelligence to users. 

Augmented reality. Using drag-and-drop methods in Vuforia Studio from PTC (vuforia.com), developers can superimpose graphics over displays of physical objects in a browser; that is, augmented reality (AR). The graphics can be 2D, 3D AR, and specific device-level information for all things. The basis of the AR comes from the engineering data in computer-aided design. Developers can add animations and sequences using Creo Illustrate from PTC. Vuforia Studio also integrates to enterprise systems, including customer relationship management, enterprise resource planning (ERP), and supply chain management.

A window going far beyond desktops
Azure IoT is a part of the Microsoft Azure (azure.microsoft.com) set of services. Azure IoT jump-starts developers with templates, examples, software developer’s kits, documentation and “extensible, preconfigured solutions,” all found online. 

Presently, two preconfigured solutions are available: remote monitoring and predictive maintenance.

The preconfigured solutions, says Dominic Betts, senior content developer at Microsoft, “are complete, working, end-to-end solutions that include simulated devices to get you started, preconfigured Azure services. The preconfigured solutions contain proven, production-ready code that you can customize and extend to implement your own IoT scenarios.”

Some of the many Azure IoT services are: Device connectivity. Azure IoT Hub manages secure, direct-channel, two-way communication between devices and cloud services. The hub supports a broad range of devices, operating systems (including Android, iOS, Linux, and Windows), and protocols (including HTTP, advanced message queuing protocol, and MQTT), so there’s no need to rip-and-replace existing factory IT.

Device management. Developers can define individual identities and credentials for each connected device, thereby ensuring the confidentiality of messages between device and cloud services. Access rights for specific devices can be revoked as needed. An active directory within the Hub manages secure communications so that colleagues can share IoT application scenarios and collaborate. 

IoT applications. A variety of application code samples are freely available, such as tailoring Azure IoT to Raspberry Pi2 and Pi3; event notification via email, SMS, or phone; pinging devices to check their connectivity to the hub; and sending telemetry data (such as temperature) and triggers. Microsoft has models to integrate in-house developed IoT applications with back-end enterprise systems, including Microsoft Dynamics, Oracle, SAP and Salesforce.

Analytics. Azure Stream Analytics is a platform-as-a-service product for stream processing, which eliminates many of the hassles when shoe-horning stream processing into SQL and other classic databases. The platform includes deployment, management, scale, resiliency and the like, and performs “real-time stream processing on data in-motion using a simple SQL-like language,” says Ryan CrawCour, program manager, Microsoft Azure Stream Analytics. This processing includes aggregations, filtering and grouping of the streaming data, freeing developers to write stream process SQL.

Stream Analytics can send the processed data to databases and programs. The streamed data can go directly to live dashboards built in Microsoft Power BI, a suite of business analytics tools. To do this in the past, continues CrawCour, “you would have to first ingest the data, process the data, store the data in a database somewhere, and then write a custom application to continually poll this database and populate a customer dashboard you had to build yourself. Sure, it’s possible to do, but when we’re dealing with a truck load of fish that is about to spoil, you want this info within seconds, not minutes and without having to deal with the complexity involved.”

Storage. Azure Storage and Azure DocumentDB provide data storage capabilities. “Azure Storage platform was designed to help build internet-scale applications. The platform is highly durable, highly available and massively scalable. It can manage 40-trillion stored objects and can perform at 3.5-million requests/second on average,” says Jason Hogg, principal program manager lead, Microsoft Azure Storage. The platform offers five data representations (“abstractions”): blobs, disks, tables, queues and files. All telemetry data, for example, is stored in blobs, which is available to both analytics (including graphs, dashboards, and other user interface widgets) and back-end systems (e.g., ERP). Data in blob storage, for example, can be encrypted using the 256-bit Advanced Encryption Standard (AES-256). DocumentDB offers data archival and low-latency querying for unstructured JSON data.

Let the platform wars begin.