In order to
understand the API, an understanding of two basic concepts is required:
The term "model" is
used to describe the types of JSON objects fulfilling purposes such as defining
data structures, containing data, defining GUI forms, mapping data from devices
or other models. The system employs the following types of models:
Data in the system
is represented using Data and Device models.
Device models are
generated from the application API of entities that are provisioned on devices.
relations and views wrap the Data or Device models by means of references to
Data models can be
created and are stored in the database. Data models contain a JSON
schema/metadata for the entities exposed by the underlying database. The
schemas for the data models are stored in the database and represent the
structure that instances of the data model conforms to.
interface with devices and services on the system. For example:
The ability to
rapidly develop and deploy new device interfaces provides an extensible
mechanism to add support for additional provisioning tasks or additional
southbound integration into other business systems. Domain models act as
"containers" of other data-, device- and domain models along with provisioning
workflows to represent the management of a created feature.
Relations do not
store data on the system. Instead, they relate groups of resource types such as
device models, data models or other domain models.
Views provide a
mechanism to define an arbitrary schema which can be used to define a user