Service Orchestration and blackboard protocol
The orchestration protocol is a simple two-step protocol regulating management-message exchanges among the Manager Service (MS) and the service instances. It is based on the following assumptions:
- service Profiles contain a blackboard, i.e., a section where the MS can place action messages for the service;
- services, at registration time, subscribe to the update of their own profile blackboard section, so that they are notified when the MS leaves a message for them;
- the service can reply to an action by placing the reponse on its blackboard: in this case, when the MS leaves a message on a service blackboard, the MS also subscribes to the update of such blackboard, to be notifed of the future reponse.
The figure below illustrates the steps of the Orchestration Protocol. When the MS decides to communicate with a Service it updates the relative profile blackboard in the IS with a message (Step A). The relative Service, is notified of the change by the IS, with a notify message (Step B). The message contains the blackboard of the Service profile, hence the message to be interpreted.
Via this mechanism the MS can also send actions to a Data Structure Resource. In this case, the action will be sent to the Service responsible for the management of the Data Structure, that will execute it over the latter. For example, the system may require an Index data structure to refresh its content, for the stores it targets have been uploaded with fresh metadata records; in such case, the system searches the Index Service in charge of the Index and communicates it to invoke the refresh functionality over the given Index. When Services complete the requested action they must update their profile blackboard with an acknowledge message. This response permits the MS to check whether the original action was successful or not, and activate a repairing process if necessary.