Pages in Concepts
A hawkBit update server can be accessed in four different ways:
- Direct Device Integration (DDI) API by targets.
- Management API by 3rd party applications.
- Device Management Federation (DMF) API by 3rd party applications through AMQP.
- Management UI by users.
Authorization is handled separately for Direct Device Integration (DDI) API and Device Management Federation (DMF) API (where successful authentication includes full authorization) and Management API and UI which is based on Spring security authorities.
The hawkBit data model was designed to have enough flexibility to define complex software structures (e.g. operating system, runtimes, apps, different kind of artifacts) on one side and simplicity compared to the capabilities of a full blown configuration management on the other.
Software update operations in large scale IoT scenarios with hundreds of thousands of devices require special handling.
Target State Machine
A target has a current state which reflects the provisioning status of the device at this point in time. State changes are driven either by the update server by means of starting an update or by the controller on the provisioning target that gives feedback to the update server, e.g. “I am here”, “I am working on a provisioning”, “I have finished a provisioning”.