Add new service to system capabilities
|Actors||Software Developer, Service Deployer|
|Dependencies||Define Interaction, Run Service Anywhere|
|Notes||Deployment of service to multiple sites/capability containers; Users can register services and service metadata; Users can schedule service execution, consuming a defined input stream and providing a defined output stream.|
|Last Updated|| Jun 23, 2010
- A new service is conceived to provide a capability in the system
- This can be a transformation from one information representation to another, or providing access to the capabilities of an (external) resource, or providing a basic system capability (such as a data store service).
- A service may require the existence of another service in the system
- An interaction pattern protocol is selected or defined for the input and output interfaces of the service, according to the service's functional capabilities.
- A service interacts exclusively through the exchange (send, receive) of messages
- The business logic for the service is implemented to meet the desired service functions, and satisfy the selected interaction protocols.
- An agent for the service is implemented or configured matching the specific service functions.
- A service is a resource and has a service (resource) agent. The service agent is responsible for the starting and stopping the service, monitoring its correct operation, and for advertising the service capabilities
- The developer of the service adds it to the list of available services in the Service Registry (using a Service Registration form or API).
- To deploy or execute the service on a specific execution node within a Capability Container, the service is added to the process list for a specific supervisor process (see Put Service Anywhere).
- A service instance can be executed continuously (as a deamon), or scheduled for temporary execution when needed. One or many worker processes may be collaborating in concert to provide the service of a service (instance in terms of the service definition). The caller of a service does not notice these deployment details.