Service selection for composite services

Information

  • Patent Application
  • 20070233703
  • Publication Number
    20070233703
  • Date Filed
    April 03, 2007
    17 years ago
  • Date Published
    October 04, 2007
    17 years ago
Abstract
A system for selecting services that are used for a composite service, may include an accessing unit and a processing unit. The accessing unit may be configured to access: tasks of the composite service, transactional requirements of the tasks, services that are configured to fulfill the tasks, and transactional properties of the services. The processing unit may be configured to: compute conditions for services that are configured to fulfill a task and select a service configured to fulfill the task and having transactional properties that fulfill the conditions, wherein the conditions are computed using data comprising the transactional requirements of the tasks.
Description

BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a schematic overview of an exemplary embodiment.



FIG. 2A is a state diagram of a service that is retriable and compensatable.



FIG. 2B is a state diagram of a service that is retriable.



FIG. 2C is a state diagram of a service that is compensatable.



FIG. 2D is a state diagram of a service that is pivot.



FIG. 3A represents an exemplary workflow including four tasks.



FIG. 3B is an exemplary table of possible termination states of the exemplary workflow.



FIG. 3C is an exemplary table of acceptable termination states for the exemplary workflow.



FIG. 3D is an exemplary table of available services and transactional properties.



FIG. 4 is a simplified flow diagram of an exemplary embodiment.


Claims
  • 1. A system for selecting services that are used for a composite service, the system comprising: an accessing unit configured to access: tasks of the composite service, transactional requirements of the tasks, services that are configured to fulfill the tasks, and transactional properties of the services; anda processing unit configured to: compute conditions for services that are configured to fulfill a task and select a service configured to fulfill the task and having transactional properties that fulfill the conditions, wherein the conditions are computed using data comprising the transactional requirements of the tasks.
  • 2. The method of claim 1 wherein the transactional requirements of the tasks are represented by sets of acceptable termination states of the tasks, wherein each set of acceptable termination states represents a consistent execution of the composite service.
  • 3. The system of claim 2 wherein a set that comprises a termination state failed task identifies a unique recovery strategy for the failed task, wherein the unique recovery strategy determines one or more tasks of the set with termination state completed task and one or more further tasks of the set with termination state compensated task, compensated task being a termination state that is accessible following a completed task.
  • 4. The system of claim 3 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.
  • 5. The system of claim 1 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.
  • 6. A computer-implemented method for selecting services that are used for a composite service, the method comprising: accessing tasks of the composite service and transactional requirements of the tasks;accessing services and transactional properties of the services, wherein the services are configured to fulfill the tasks;computing conditions for services that are configured to fulfill a task, wherein the conditions are computed using data comprising the transactional requirements of the tasks; andselecting a service configured to fulfill the task and having transactional properties that fulfill the conditions.
  • 7. The method of claim 6 comprising: determining further conditions for services that are configured to fulfill a further task and selecting a further service configured to fulfill the further task and having transactional properties that fulfill the further conditions, wherein the further conditions are determined so that the transactional requirements of the tasks are fulfilled.
  • 8. The method of claim 6 wherein the transactional requirements of the tasks are represented by sets of acceptable termination states of the tasks, wherein each set of acceptable termination states represents a consistent execution of the composite service.
  • 9. The method of claim 8 wherein a set that comprises a termination state failed task identifies a unique recovery strategy for the failed task, wherein the unique recovery strategy determines one or more tasks of the set with termination state completed task and one or more further tasks of the set with termination state compensated task, compensated task being a termination state that is accessible following a completed task.
  • 10. The method of claim 9 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.
  • 11. The method of claim 6 further selecting the task 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.
  • 12. A computer program product comprising instructions that are configured to be executed by a computer system and that cause the computer to perform a method comprising: accessing tasks of the composite service and transactional requirements of the tasks;accessing services and transactional properties of the services, wherein the services are configured to fulfill the tasks;computing conditions for services that are configured to fulfill a task, wherein the conditions are computed using data comprising the transactional requirements of the tasks; andselecting a service configured to fulfill the task and having transactional properties that fulfill the conditions. .
Priority Claims (1)
Number Date Country Kind
06007111.5 Apr 2006 EP regional