Patent ID: 7185342

Claim:
A method for coordinating execution of compound Web services over a network, the method comprising the computer-implemented steps of: receiving a request for a particular compound Web service that uses output from at least a first Web service and a second Web service; reading dependency information specific to the particular compound Web service, wherein the dependency information specifies a sequence in which a plurality of modules must be executed to perform the particular compound Web service; wherein at least one of the plurality of modules is from a group consisting of: a transformation module that transforms, based on an associated module property that specifies a particular one or more XSLT stylesheets specifically for transforming data for the particular compound Web service, an input data structure into an output data structure that is different from the input data structure, a message splitter module that divides, based on an associated module property that specifies a particular one or more XSLT stylesheets specifically for splitting input messages for the particular compound Web service, an input message into a plurality of output messages, and a message merger module that merges, based on an associated module property that specifies a particular one or more XSLT stylesheets specifically for merging output messages associated with the particular compound Web service, a plurality of input messages into a single output message; wherein properties of the plurality of modules are defined and set specifically for the particular compound Web service at service design time and persist through service runtime; based on the dependency information, coordinating execution of the plurality of modules in the specified sequence, wherein the plurality of modules includes a first service execution module having a module property that is set specifically for coordinating execution of the first Web service and a second service execution module having a module property that is set specifically for coordinating execution of the second Web service; controlling execution of the particular compound Web service using the properties of the plurality of modules defined and set for the particular compound Web service; and generating a result of the compound Web service based on the output from the first and second Web services.