Method and system for automatic service composition
First Claim
1. A method for automatic service composition, searching services from registered service specifications to find a single service or compose a service flow according to a service request, the method comprising:
- a service request receiving step, for receiving a problem file established according to the service request;
a service specification receiving step, for receiving a domain file established according to at least one service specification, the at least one service specification being used for executing an action which defines an action name, zero or at least one input parameter, and zero or at least one output parameter, wherein any two different service specifications can use an object with the same data type as the input parameter or the output parameter;
a new object predicting step, for predicting a new object by extracting data types needed by the declared objects of the problem file or the domain file to select at least one service specification related to the data type and storing the selected service specifications in a chosen service set;
a new object declaring step, for declaring the new object by counting a frequency N for each data type used as the input parameter and a frequency M for each data type used as the output parameter in the chosen service set;
if M>
0, the data type is also used as the output parameter, and C×
(N+M) new objects are declared in the domain file for the data type, wherein C is an integer; and
a service composition generating step, for generating a service flow by generating a series of action execution sequences of the single service or composite service, from service specifications stored in the service repository according to the problem file and the domain file, for being executed to accomplish the service request.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for automatic service composition is disclosed, wherein a service registry stores a plurality of service specifications received from at least one service provider in a service repository, and receives service requests from service requestors. A composition engine of the service registry can automatically generate a series of actions from service specifications stored in the service repository according to the service request, and then passes those actions to the service requestor for being processed. In order to facilitate the preceding procedure of automatic composition, the composition engine pre-processes service requests and service specifications, and declares suitable new objects. The composition engine also post-processes the planning resolution generated by the planning module for translating the format of the planning resolution into a processing language, and finally passes the resolution to a processing engine of the service requestor for being processed.
-
Citations
23 Claims
-
1. A method for automatic service composition, searching services from registered service specifications to find a single service or compose a service flow according to a service request, the method comprising:
-
a service request receiving step, for receiving a problem file established according to the service request;
a service specification receiving step, for receiving a domain file established according to at least one service specification, the at least one service specification being used for executing an action which defines an action name, zero or at least one input parameter, and zero or at least one output parameter, wherein any two different service specifications can use an object with the same data type as the input parameter or the output parameter;
a new object predicting step, for predicting a new object by extracting data types needed by the declared objects of the problem file or the domain file to select at least one service specification related to the data type and storing the selected service specifications in a chosen service set;
a new object declaring step, for declaring the new object by counting a frequency N for each data type used as the input parameter and a frequency M for each data type used as the output parameter in the chosen service set;
if M>
0, the data type is also used as the output parameter, and C×
(N+M) new objects are declared in the domain file for the data type, wherein C is an integer; and
a service composition generating step, for generating a service flow by generating a series of action execution sequences of the single service or composite service, from service specifications stored in the service repository according to the problem file and the domain file, for being executed to accomplish the service request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for automatic service composition, searching services from registered service specifications to find a single service or compose a service flow according to a service request, the system comprising:
-
a service repository managed by a service registry, storing at least one service specification, each service specification being used for executing an action which defines an action name, zero or at least one input parameter, and zero or at least one output parameter, wherein any two different service specifications can use an object with the same data type as the input parameter or the output parameter;
a composition engine comprising;
a service request translation module for translating the service request to a problem file;
a service specification translation module for translating the service specification to a domain file and extracting data types needed by the declared objects of the problem file or the domain file to select at least one service specification related to the data type and storing the selected service specifications in a chosen service set, then counting a frequency N for each data type used as the input parameter and a frequency M for each data type used as the output parameter in the chosen service set;
if M>
0, the data type is also used as the output parameter, and C×
(N+M) new objects are declared in the domain file for the data type, wherein C is an integer;
a planning module for generating a series of action execution sequences of the single service or composite service, from service specifications stored in the service repository according to the problem file and the domain file, for being executed to accomplish the service request; and
a service composition translation module for translating the composite service to a service flow document; and
a execution engine for executing the service specification defined by the service flow document to accomplish the service request. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification