VMware Releases Liota SDK for Building IoT Gateway Orchestration Applications
|Stuart Parkerson in IoT Thursday, June 16, 2016|
VMware has launched Liota (Little IoT Agent), a vendor-neutral open source software development kit (SDK) for building secure IoT gateway data and control orchestration applications.
Liota has been generalized to allow, via modules, interaction with any data-center component, over any transport, and for any IoT gateway. It is intended to be easy-to-use and provides enterprise-quality modules for interacting with IoT Solutions.
Residing primarily on IoT gateways, Liota offers a common way for companies to manage and leverage multiple gateway vendors within their IoT infrastructures. The Liota open source SDK provides the libraries to develop applications that connect and orchestrate data and control flows across things, gateways and the cloud.
VMware has already tested Liota with many solutions from both VMware and the community, such as VMware AirWatch, VMware vRealize Operations Manager and the open-source tool Graphite. Liota is available to developers for free and it works with any gateway or operating system that supports Python.
The Basic Layers of Liota
- Board Layer: The board layer is the base layer of Liota and provides an abstraction for IoT gateway hardware. Items one might put in here are unique i/o architecture, communication physical interfaces, and any other features particular to the system board.
- Gateway Layer: The gateway layer is a sub-module of board and abstracts both the system board and the operating system. The functions provided by this layer are used to configure i/o endpoints, read data from endpoints connected to sensors, or pass commands to the endpoints of connected actuators as well as any unique OS features.
- Things Layer: This layer (after the 'Things' in Internet-of-Things') allows developers to create representative objects in Liota for devices that will be connected to the gateway.
- Transformer Layer: This layer defines the base structure for creating representations of metrics in Liota. A metric is the term for a stream of numeric values. Metric is a class that abstracts and represents this stream of values collected from, typically, attached sensors but can be collected from anywhere. Within the definition of metrics Liota supports SI units are in order to provide units-based typing for values collected from a sensor. This meta-data can be passed to the data-center component in a format defined by that component.
- Transport Layer: This layer abstracts the network connectivity between a gateway object and a DCC (Data center component). Currently, Liota supports WebSocket and BSD sockets. In near future it will support MQTT and CoAP. Both are ‘Session’ or layer-5 protocols. MQTT is a pub-sub system using TCP and CoAP implements reliable UDP datagrams and a data format specification. These protocols are capable of satisfying most use cases for transferring data from IoT gateways to data-center components. With the current implementation the gateway acts as either a WebSocket client, establishing a connection with the server using the WebSocket protocol or a traditional socket endpoint.
- DCC (Data Center Component): This layer takes care of supporting DCC’s, which can be hosted anywhere; on-prem, public or private cloud. It provides flexibility to developers for choosing the data-center components they need and using API’s provided by Liota. With help of this layer developers may build custom solutions. The layer implements basic API’s and encapsulates them into unified common API’s required to send data to various DCC’s. Graphite and vROps (vRealize Operations) are currently the data-center components supported by the first version of Liota. New DCC’s can easily be integrated in this layer as it follows a plug in-plug out design.
Read more: https://github.com/vmware/liota