Zentri Device Management Service
The Zentri Device Management Service (DMS) provides a range of services for managing devices, products, and product data.
The DMS manages the full lifecycle of ZentriOS devices. The service securely connects with devices, and provisions, authenticates and authorizes them for management.
The Zentri DMS supports the development, production release and maintenance of a product throughout its lifecycle.
In the development phase, the DMS supports the development workflow.
Later, in the production phase, the DMS supports product deployment, maintenance, tracking, and end-of-life.
The DMS uses objects to models devices, products, users and other entities. In the DMS documentation, an upper case first letter indicates a DMS object: for example Device, Product, User.
Some terms have special meaning in the DMS context. These are defined briefly here and discussed in more detail below:
- Device: a ZentriOS device - a hardware device incorporating a device running ZentriOS, e.g. the Zentri AMW106. The DMS Device representation stores device information, keyed to its device UUID and MAC address.
- Product: the ZentriOS firmware and application software that provides the product functions when installed on a device. A DMS Product is a collection of file bundles and properties
- Bundle: a collection of files that constitute a version of the product
- claim: to assert ownership of a device, you claim the device. This associates the DMS Device with your DMS user.
- activate: to install a product on a device, you activate the Device to the Product. This associates the DMS Device with the DMS Product. The device can then OTA a version of the product
- activation token: An activation token provides a convenient way to claim and activate devices for small production runs. See Production Workflow, Use an Activation Token.
- unclaim: relinquish ownership of a device. A device reset unclaims the Device, as well as carrying out other tasks.
- claimable: A device that can be claimed. A claimable, or unlocked, Device is activated to a claimable Product.
- locked: A Device that cannot be claimed is locked. A Device that can be claimed is unlocked.
- Origin Product: A device is distributed with an Origin Product. An Origin Product must be claimable. When a Device is claimed, it reverts to its Origin Product.
- OTA: Over-The-Air update: the device downloads a versioned product bundle from the DMS
- ZAP: A ZentriOS App, developed with the ZentriOS SDK. See ZAPs - Native API Applications.
- CloudFS: Cloud File Service - stores device files and assets
- Device File: a cloud file associated with a device. A device can upload or download a device file. A device file can also be uploaded or downloaded via a cloud service, providing a simple way to exchange device data.
- Asset: a cloud file associated with a product. A device can download an asset associated with its product. An asset file can also be uploaded or downloaded via a cloud service, providing a simple way to update product configuration, independent of the product bundle.
- Connector: a Product Connector sends Product data to a specified cloud endpoint.
- User: a DMS User, with specified permissions and access
- Customer: a company of Users who own a Product managed by the DMS
- UUID: Universally Unique Identifier for Device
The diagram shows some of the relationships between DMS objects. It also shows some of the actions that can be performed, such as claim, activate and ota.
The DMS provides a number of services including:
- OTA server
- App store
- Cloud File Service
- Connectors to Data Services
- Device and Product Management
- Product Development Services
The OTA server is an interface to the DMS for devices.
A device provides its client certificate to the OTA server, so any information arriving from a device to the OTA server fully identifies the device.
The DMS OTA (Over the Air update) server allows devices to be updated in the field to the latest version of their product. When the device OTAs a product version, it installs a particular file bundle.
The DMS provides the ZentriOS app store that allows developers to publish apps, browse for published products and choose a product to OTA to their device. This requires the ZentriOS SDK. See App Store.
Cloud File Service
The DMS Cloud File Service manages assets and device files, independently from product bundles.
The DMS provides connections between products and data services. Using DMS Connectors, your product can send data sourced from its devices to cloud endpoints for processing and analysis.
Device and Product Management
The DMS provides customers with management and analysis of their products and devices. Details are available such as what product version is on what device, the location and status of devices, device ownership, and logs of activity associated with devices and products.
Product Development Services
The DMS also handles product development tasks.
When a developer compiles a ZAP, the DMS is required to encrypt the result and download it to the device. The encryption process protects the product IP (Intellectual Property). When the developer publishes a ZAP product from the ZentriOS SDK, the DMS manages the tasks of creating the product bundle and setting up the required product properties.
When a developer builds a Command API app, the DMS provides an interface to create the product and file bundles for the app, and publish them.
Types of Product
A ZAP Product is developed with the ZentriOS SDK. See ZentriOS SDK Quickstart. The SDK takes care of several steps:
- OTA a development ZentriOS edition: device setup
- Creating the Product - ZentriOS SDK/Release Product to DMS process
- Creating the Product Bundle - ZentriOS SDK/ Release Product to DMS process
- Activating the test Device to the Product
- Releasing the Product to the DMS. - ZentriOS SDK/ Release Product to DMS process
The Setup Device wizard in the SDK IDE works through the tasks of claiming, and activating to a ZentriOS operating system product.
The Zentri App Store, accessible from the IDE, automates activating to ZAP products avaiable for the device platform.
The ZentriOS SDK/ Release Apps to the DMS process handles creating the Product, creating the Product Bundle, annd publishing the Product.
If you are developing a ZAP, you can use the ZentriOS native API DMS functions.
Where a Product is not created in the ZentriOS SDK, it is created in the DMS. Examples are a customized Web App product, or a Command API product. In this case the developer creates the app and supporting files by other means, and uses the DMS interface to create Products, Bundles, Assets, Connectors, and to publish Product Bundles and tag them.
See Developer Workflow.
You can use the DMS REST API in developing a product. See REST API.
Command API DMS Actions
You can use the ZentriOS Command API for some DMS tasks.
To claim a device, use the dms claim command.
To activate a device, use the dms activate command.
To OTA a product, use the ota command.
A Command API product can use the http_get and http_post commands with the DMS REST API.
Native API DMS Support
A ZAP product can use the ZentriOS native API DMS functions to manage DMS tasks.