The Bosch IoT Gateway Software, in particular the Automation module, defines a Functional Item service as a general abstraction for representing different types of functionalities. Its unique Functional Item ID is automation:admin. Its name as a Functional Item is "Automation Admin". The Automation Admin service is the "heart" of the automation module. It is responsible for:
Tracking the instruction handlers that are needed for the automation rules to become effective
Tracing the available automation rule and template resources and loading them automatically into the system
Providing persisting storage for rules and templates
The Automation Admin service can be used for:
Adding a rule into the system with the addRule(RuleInfo) method
Getting an existing rule with the getRule(String) method
Getting the all existing rules or a set of rules, filtered by UID, name or tags, using the getRules(String) method
Updating an existing rule with the updateRule(RuleInfo) method
Removing a rule with the removeRule(String) method
Getting a registered handler specified by UID with the getHandler(String) method
Getting the all registered handlers or a set of handlers, filtered by UID, type, name or tags, using the getHandlers(String) method
Adding a template into the system with the addTemplate(TemplateInfo) method
Getting an existing template with the getTemplate(String) method
Getting the all existing templates or a set of templates, filtered by UID, name or tags, using the getTemplates(String) method
Updating an existing template with the updateTemplate(TemplateInfo) method
Removing a template with the removeTemplate(String) method
The Automation Admin service exposes all these methods as Functional Item operations. This enables the Bosch Cloud Services and Bosch Web UI Business Logic to work with rules, templates and handlers in a general way, thus allowing to be used for atomic functionality of:
End Applications
Cloud Services
UI Business Logic
Registering Bundle
The Automation Admin service implementation is in the com.prosyst.mbs.automation.core bundle.
Dependencies
The Automation Admin service depends on the com.prosyst.mbs.services.fim.spi.FunctionalItemAdminSpi, com.prosyst.mbs.services.db.DBManager, org.osgi.service.event.EventAdmin and com.prosyst.util.threadpool.ThreadPoolManager services.