Device Cloud Platform Architecture
Applications, thing definitions, and things are the basis of the Device Cloud platform architecture.
The following diagram shows the main platform components of an IoT solution using Device Cloud.
A thing definition models the attributes, alarms, properties, methods, presentation information, and other characteristics of an application in your IoT solution.
-
Attributes are static data in string format associated with a thing, such as the serial number of a device.
-
Properties are numeric values representing dynamic values at a specified timestamp, such as temperature readings from a device. Properties have a history and can be aggregated over time periods for use in graphs and tables.
-
Alarms are events for a thing. Alarms are implemented as a state machine, where the events are defined as alarm states. For example, you could define an alarm for temperature states high, low, and normal.
-
Methods define the interface to application functions. A method can be run from an application, a thing details page on the Management Portal, or a cloud trigger within Device Cloud.
An application represents a device (client) or cloud application that connects to Device Cloud. When an application is created in Device Cloud, it is assigned an application token for cloud and device applications to use to authenticate when they connect to Device Cloud. Tokens must be unique across the Device Cloud platform. The application enables you to define the type of thing (based on the thing definition) that is created when an application first registers with Device Cloud, which is referred to as auto-registration. The application also specifies the tags and security tags to automatically add to a new thing when it is added through auto-registration.
Things are instances of thing definitions that are connected to Device Cloud. When things register with Device Cloud, they specify a thing key to uniquely identify themselves. Thing keys must be unique within an organization. Multiple client applications running on a single device appear as different things. Cloud applications also appear as things. Things inherit their characteristics from their thing definition, and the implementation of client and cloud applications must match the associated thing definition.
To enable things to automatically register with Device Cloud, you must associate the thing definition with an application in Device Cloud. Otherwise, you must manually create the thing in Device Cloud to enable a thing with a matching thing key to register.
Organizations
Organizations provide multi-tenant support and each organization contains the associated applications, thing definitions, and things. Because application tokens are unique across the Device Cloud platform, things that register with a token defined in an organization authenticate automatically with the correct organization.
Organizations can exist in a hierarchy. You can create sub-organizations to partition the applications, roles, thing definitions, and things in your solution. Organizations must be configured to allow sub-organizations.
Roles
Roles define access rights to elements of an organization, including rights to view and change elements and to perform specific tasks. Users are assigned a role in each organization to which they belong and can have different roles in different organizations.
Applications are assigned a role in the organization to which they belong. Roles for applications have permissions that determine the functionality the application can access in Device Cloud, such as the APIs the application can call.
Users
Users are identified by their email address and must be unique across the platform.
A user can belong to multiple organizations and can have different roles in each organization, A user that is an organization administrator in an organization is an organization administrator in all the sub-organizations of the organization.
Management Portal
The Management Portal is the browser-based user interface that enables you to perform device management, administration, and developer tasks.
LaunchPad
The LaunchPad is the browser-based user interface to access Device Cloud. It provides access to the Management Portal through the Development Tools link. Other links enable you to access custom applications, such as remote access to devices. The LaunchPad URL is specific to your geographic region.