Patent ID: 8473962

Claim:
A system for selecting services that are used for a composite service comprising a plurality of services, the system comprising: an accessing unit configured to access: tasks of the composite service, transactional requirements of the tasks, wherein the transactional requirements of the tasks are such that fulfilling the transactional requirements leads to a consistency of the composite service and are represented by sets of acceptable termination states of the tasks, services that are configured to fulfill the tasks, and transactional properties of the services, the transactional properties differentiating types of services by retriable services, compensatable services, retriable and compensatable services, and pivot services, each type of services defining possible termination states of the respective services; and a processing unit configured to: compute conditions for services that are configured to fulfill a task and use the conditions for services to select, according to a match-making procedure, a service and compose the composite service, the selected service configured to fulfill the task and having transactional properties that fulfill the conditions, wherein the conditions are computed using the transactional requirements of the tasks as input data, wherein the conditions comprise derived conditions that are derived from a previously selected service and transactional conditions that relate to acceptable termination states of the task, wherein a first derived condition is that the service is compensatable in case that the task has a termination state compensated task in accordance with a unique recovery strategy of a failed task for which a service has been selected previously, a second derived condition is that the service is retriable in case that a unique recovery strategy for the task is not in accordance with transactional properties of a previously selected service, a first transactional condition is that the service is compensatable in case that the task has an acceptable termination state compensated task, and a second transactional condition is that the service is retriable in case that the task has not an acceptable termination state task failed, wherein the task is selected according to sequence conditions, wherein a first sequence condition is that a task for which a service is selectable that is configured to fulfill the task and that is compensatable and retriable is selected prior to a task for which a service is not selectable that is configured to fulfill the task and that is compensatable and retriable and wherein a second sequence condition is that a task for which each selectable service that is configured to fulfill the task is not compensatable and not retriable is selected prior to a task for which a service is selectable that is configured to fulfill the task and that is either compensatable or retriable.