WO2008015417A1 - Automatic composition of web services based on syntactiv and semantic rules - Google Patents

Automatic composition of web services based on syntactiv and semantic rules Download PDF

Info

Publication number
WO2008015417A1
WO2008015417A1 PCT/GB2007/002910 GB2007002910W WO2008015417A1 WO 2008015417 A1 WO2008015417 A1 WO 2008015417A1 GB 2007002910 W GB2007002910 W GB 2007002910W WO 2008015417 A1 WO2008015417 A1 WO 2008015417A1
Authority
WO
WIPO (PCT)
Prior art keywords
web service
specified
request
service descriptions
descriptions
Prior art date
Application number
PCT/GB2007/002910
Other languages
French (fr)
Inventor
Hui Na Chua
Original Assignee
British Telecommunications Public Limited Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Publication of WO2008015417A1 publication Critical patent/WO2008015417A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Abstract

A system and method for web services composition are described. Web services composition includes receiving a request from a service consumer (16) and matching a plurality of web service descriptions stored in a data pool (12) to the request according to one or more semantic rules (202). The matched web service descriptions are filtered according to one or more syntactic rules (204). One or more composition plans are generated based on the filtered web service descriptions. A composite web service description is generated based on one of the one or more composition plans and delivered to the service consumer (16).

Description

AUTOMATIC COMPOSITION OF WEB SERVICES BASED ON SYNTACTIV AND SEMANTIC RULES
Technical Field
The present invention relates to web services composition, and more particularly to a web services composition system and method.
Background to the Invention and Prior Art
A web service is a set of related functionalities that can be programmatically accessed through the World Wide Web (or the Internet as it is commonly known). A software application uses the web service simply by invoking the web service across a network without having to integrate the service. Because the web service is not integrated into the, software application, application development and testing times, maintenance costs and overall errors are reduced. Given the enormous potential of web services, web services composition, that is, the process of combining several web services to provide a value- added composite service, is generating much research interest. To this end, several approaches have been proposed in the area of web services composition. However, many of these approaches typically require dealing with low level programming details, making the process of composing a composite service difficult for non-expert end users. Web services can of course be deployed and used not only on the Internet, but also on intranets and other networks which are compliant with the relevant Internet Protocols. For the sake of brevity, this patent application refers simply to web services, but it is to be understood that use of the public Internet proper is not assumed. That is, embodiments of the invention find equal application on intranets, the Internet, and other networks compliant with the requisite protocols.
In view of the foregoing, it would be desirable to have a web services composition system and method that does not require much, if any, user intervention.
Summary of embodiments of the Invention
In order to meet the above, embodiments of the present invention provide a substantially automated system and method for web services composition that does not require much, if any, user input. From a first aspect there is provided a web services composition method, the method comprising: receiving a request from a service consumer; matching a plurality of web service descriptions stored in a data pool to the request according to one or more semantic rules; filtering the matched web service descriptions according to one or more syntactic rules; generating one or more composition plans based on the filtered web service descriptions; generating a composite web service description based on one of the one or more composition plans; and delivering the composite web service description to the service consumer.
Embodiments of the invention according to the first aspect provide the advantages set out above.
Preferably, the step of matching the web service descriptions to the request includes performing a determination of whether one or more operation categories specified in the request is within one or more corresponding operation category domains specified in respective ones of the web service descriptions, performing a determination of whether one or more function semantics specified in the request is within one or more corresponding function synonyms specified in respective ones of the web service descriptions, and/or performing a determination of whether each of one or more operation parameters specified in- the request satisfy one or more corresponding property attributes specified in respective ones of the web service descriptions.
Preferably, the step of matching the web service descriptions to the request includes performing a determination of whether one or more output parameters specified in the request are compatible with one or more corresponding input parameters specified in respective ones of the web service descriptions. The step of determining whether the one or more output parameters and the one or more corresponding input parameters are compatible preferably includes performing a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible data type, performing a determination of whether all of the one or more input parameters specified in respective ones of the web service descriptions are within the one or more output parameters specified in the request, performing a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible measurement, and/or performing a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible language. Preferably, the step of matching the web service descriptions to the request includes performing a determination of whether one or more preconditions specified in respective ones of the web service descriptions are satisfied by the service consumer.
Preferably, the step of matching the web service descriptions to the request includes performing a determination of whether one or more non-functional constraints specified in respective ones of the web service descriptions are satisfied. The step of determining whether the one or more non-functional constraints are satisfied preferably includes performing a determination of whether an invocation time specified in the request satisfies a corresponding time constraint specified in respective ones of the web service descriptions, performing a determination of whether one or more of one or more service locations and one or more service request locations specified in the request satisfies a corresponding location constraint specified in respective ones of the web service descriptions, performing a determination of whether one or more payment preferences specified in the request satisfies one or more corresponding payment constraints specified in respective ones of the web service descriptions, and/or performing a determination of whether one or more security mechanisms specified in the request are compatible with one or more corresponding security constraints specified in respective ones of the web service descriptions.
Preferably, one or more business rules are applied to the matching of the web service descriptions to the request.
Preferably, the step of filtering the matched web service descriptions comprises performing a determination of whether the matched web service descriptions specify at least one compatible binding, and/or performing a determination of whether corresponding operations described in the matched web service descriptions and the request specify at least one compatible service operation route.
By applying a tight set of rules to the web service descriptions during the selection of participant services, the present invention returns a substantially accurate result which corresponds closely to user specifications in the request.
The one or more generated composition plans may be stored in the data pool.
In a preferred embodiment, a selection is made from a plurality of composition plans according to at least one contextual rule when more than one composition plan is generated. Preferably, the step of selecting from the plurality of composition plans comprises performing a determination of whether one or more contextual properties of the service consumer are compatible with a service provider profile specified in respective ones of the web service descriptions. In a further preferred embodiment, one of the one or more semantic rules is applied to the selection of the composition plan. Preferably, the step of applying one of the one or more semantic rules to the selection of the composition plan comprises performing a determination of whether a service quality measurement specified in respective ones of the web service descriptions satisfies a service quality requirement specified in the request.
In yet another preferred embodiment, a determination of whether the request corresponds to an earlier request is performed. Preferably, the composition plan for the earlier request is retrieved from the data pool when the request is determined to correspond to an earlier request. The retrieval and use of the archived composition plan for the generation of the composite web service description reduces the computational time of the present invention.
Preferably, the web service descriptions stored in the data pool are derived from Web Service Description Language (WSDL) descriptions of web services extended with one or more additional properties. This facilitates the provision of automatic reasoning capabilities for web service selection and composition in the present invention.
The web service descriptions stored in the data pool preferably are described with vocabulary from one or more predefined taxonomies. This facilitates accurate interpretation of the semantics of the web service descriptions of the present invention.
From a second aspect, the present invention further provides a computer program or suite of programs so arranged such that when executed by a computer system it/they cause/s the system to perform the process of any of the preceding claims. The computer program or programs may be embodied by a modulated carrier signal incorporating data corresponding to the computer program or at least one of the suite of programs, for example a signal being carried over a network such as the Internet.
Additionally, from a third aspect the invention also provides a computer readable storage medium storing a computer program or at least one of suite of computer programs according to the second aspect. The computer readable storage medium may be any magnetic, optical, magneto-optical, solid-state, or other storage medium capable of being read by a computer.
From a fourth aspect, the present invention further provides a system for composing a composite web service from web service descriptions stored in a data pool, the system comprising: a matching module configured to receive a request from a service consumer, the matching module being further configured to match web service descriptions stored in the data pool to the request according to one or more semantic rules; a composition module configured to filter the matched web service descriptions according to one or more syntactic rules, the composition module being further configured to generate one or more composition plans based on the filtered web service descriptions; and a generation module configured to generate a composite web service description based on one of the one or more composition plans, the generation module being further configured to deliver the composite web service description to the service consumer.
In the fourth aspect, corresponding advantages are obtained as previously described in respect of the first aspect. Moreover, corresponding further features as described above in respect of the first aspect may also be employed.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
Brief Description of the Drawings
The following detailed description of preferred embodiments of the invention will be better understood when read in conjunction with the appended drawings. The present ' invention is illustrated by way of example and is not limited by the accompanying figures, in which like references indicate similar elements.
Figure 1 is a schematic overview of an architecture for web services composition in accordance with an embodiment of the present invention;
Figure 2 is a schematic representation of a web service description in accordance with an embodiment of the present invention;
Figure 3 is a schematic representation of a composition rules model for web services composition in accordance with an embodiment of the present invention; and Figure 4 is a schematic flow diagram illustrating a web services composition method in accordance with an embodiment of the present invention.
Detailed Description of the Preferred Embodiments
A web services composition system and method are provided. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be understood, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
Referring now to Figure 1 , an architecture 10 for web services composition is shown.
The architecture 10 includes a data pool 12 for storing a plurality of web service descriptions and a web services composition system 14 for composing a composite web service from the web service descriptions stored in the data pool 12 on receiving a request from a service consumer 16. The web services composition system 14 includes a matching module 18, a composition module 20, a selection module 22 and a generation module 24. The matching module 18 is configured to receive the request from the service consumer 16, to perform a determination of whether the request corresponds to an earlier request, and to match the web service descriptions stored in the data pool 12 to the request according to one or more semantic rules. The composition module 20 is configured to filter the matched web service descriptions according to one or more syntactic rules and to generate one or more composition plans based on the filtered web service descriptions. The selection module 22 is configured to make a selection from a plurality of composition plans according to at least one contextual rule where more than one composition plan is generated by the composition module 20. The generation module 24 is configured to generate a composite web service description based on one of the one or more composition plans, and to deliver the composite web service description to the service consumer 16.
The data pool 12 may reside in one or more locations, for example, on a server or a network of computers. The data pool 12 serves as a service registry for web services, providing a searchable repository of web service descriptions. Accordingly, one or more service providers, that is, parties that offer one or more web services, may define descriptions of the web services and publish the web service descriptions in the data pool 12. The web service descriptions may be input into the data pool 12 via one or more administration portals 28. Such portals 28 are known by those of skill in the art and therefore, further explanation is not necessary for a complete understanding of the invention.
Web services are typically described by WSDL documents. WSDL documents describe the syntax associated with the invocation and response of web services, but provide little semantic description. Thus, in the present embodiment of the invention, the web service descriptions stored in the data pool 12 are derived from WSDL descriptions 26 of web services extended with one or more additional properties to augment the semantic capabilities of the WSDL descriptions 26. The additional properties added to the WSDL descriptions 26 facilitate the provision of automatic reasoning capabilities for web service selection and composition. Nonetheless, it should be understood that the present invention is not limited by the language or derivation of the web service descriptions. To facilitate accurate interpretation of the semantics of the web service descriptions, the web service descriptions stored in the data pool 12 are described with vocabulary from one or more predefined taxonomies.
Each of the web service descriptions stored in the data pool 12 may be represented by a tree-based model. Referring now to Figure 2, a tree-based schematic representation of a description 100 of a web service 102 is shown. The nodes defined by dashed-lines represent WSDL concepts, while the nodes defined by solid lines represent the additional properties added to the WSDL description of the web service 102 to augment the semantic capabilities of the web service description 100. The edges defined by the arrows in Figure 2 represent the relationships between the nodes, while the ratios corresponding to the edges represent the cardinality of the respective relationships, that is, the number of child nodes originating from respective ones of the parent nodes.
As shown in Figure 2, the web service 102 is described by a web service name 104, a service provider profile 106, one or more bindings 108, and one or more operations 110.
The service provider profile 106 is described by contextual properties of the service provider. As can be seen from Figure 2, the service provider profile 106 includes a service provider name 112, one or more service provider contact details 114, and payment account information 116. Each of the one or more bindings 108 includes a binding name 118 and a binding style 120. Such bindings 108 are known by those of skill in the art and therefore, further explanation is not necessary for a complete understanding of the invention.
As shown in Figure 2, each of the one or more operations 110 is further described by an operation name 122, one or more functional attributes 124, and one or more nonfunctional attributes 126. The one or more functional attributes 124 include one or more of a service operation route 128, an input message 130, an output message 132, one or more preconditions 134, and one or more exceptions 136. The one or more non-functional attributes 126 include one or more of one or more categories 138 and one or more non- functional constraints. The functional attributes 124 provide information necessary for web service invocation, while the non-functional attributes 126 provide additional information which is non-essential to web service invocation. The additional information provided by the non-functional attributes 126 is used to analyse and select web services 102 when there are multiple web services 102 with identical operational functionalities.
Turning first to the functional attributes 124, the service operation route 128 specifies a transmission primitive supported, by an operation 110 of the web service 102. Examples of transmission primitives include notification, one-way, solicit-response, and request- response. Such transmission primitives are known by those of skill in the art and therefore, further explanation is not necessary for a complete understanding of the invention. It follows therefore that the service operation route 128 determines whether an operation 110 of the web service 102 receives only an input message 130 (i.e. when a one-way primitive is specified), sends only an output message 132 (i.e. when a notification primitive is specified), or receives an input message 130 and sends out an output message 132 (i.e. when either a solicit-response or request-response primitive is specified). Consequently, as seen from the ratios provided next to the input and output nodes 130 and 132, each operation 110 can have either zero (0) or one (1) input message 130 and either zero (0) or one (1) output message 132.
Each of the input and output messages 130 and 132 is further described by one or more parameters 140: a parameter name 142, a measurement 144, a language 146, and a data type 148. The measurement parameter 144 specifies a numerical value of respective ones of the input and output messages 130 and 132, for example, a date, a weight or a length. The measurement parameter 144 is left empty or assigned a zero (0) value when respective ones of the input and output messages 130 and 132 is non-numerical. The language parameter 146 specifies, a language of respective ones of the input and output messages 130 and 132. For example, in one embodiment, the language parameter 146 may specify that an input message 130 is to be in English.
The data type 148 specifies a data type of respective ones of the input and output messages 130 and 132. Build-in data types defined in the World Wide Web Consortium
(W3C) XML Schema may be used to describe the data type 148 of respective ones of the input and output messages 130 and 132 to standardise the description of the data type 148.
Nonetheless, it should be understood that the present invention is not limited to a particular typing system. In one embodiment, each of the parameter name 142, the measurement 144, the language 146, and the data type 148 is described with vocabulary from a predefined taxonomy such as, for example, the RosettaNet business dictionary to prevent conflicting semantics. Nonetheless, it should be understood that the present invention is
not limited to a particular taxonomy. In alternative embodiments, multiple taxonomies may be used concurrently to provide greater flexibility in describing the parameters 140.
Each of the one or more preconditions 134 specifies a logical condition that must be satisfied before an operation 110 of the web service 102 can be executed. For example, the web service 102 may provide a log-in operation 110 with an "IsLogin" precondition 134. The log-in operation 110 only executes when the user is not already logged in (i.e. when the "IsLogin" precondition 134 has a logical value of "FALSE").
Each of the one or more exceptions 136 specifies a possible exception that may occur during the execution of an operation 110 and a corresponding action that is to be taken when such an exception occurs. For example, the exception 136 may specify that a payment service is not to be executed if a user is not logged in.
Turning now to the non-functional attributes 126, each of the one or more categories describes a role or function performed by the operation 110. Accordingly, each of the one or more operations 110 may be classified into one or more categories 138 according to the one or more roles or functions performed by the operation 110. Examples of the categories
138 which an operation 110 may be classified into include: a payment services category for operations 110 that perform payment related transactions such as, for example, payments, refunds, and checking of payment transaction details and statuses; a delivery services category for operations 110 that perform delivery services, for example, Short Message
Service (SMS) and email; a content services category for operations 110 that provide requested content or services; and a value-added services category for operations 110 that perform value-added functions, for example, translations, currency conversions, transcoding of markup languages (e.g. Hyper Text Markup Language (HTML) to Wireless Markup Language (WML)), and trusted party services for federated ID or login authorisation.
As can be seen from Figure 2, each of the one or more operation categories 138 is described by a domain 150 and one or more functions 152. The domain 150 specifies an area or related areas of interest of an operation category 138, while each of the one or more functions 152 specifies a function of the operation category 138. Each of the one or more functions 152 is described by one or more properties 154 and a synonym 156, and each of the one or more properties 154 is further described by one or more attributes 158. In the present embodiment, the domain 150 and the one or more attributes 158 are defined using vocabulary from one or more predefined taxonomies. For example, the domain may be described with vocabulary from the Universal Standard Products and Services Classification (UNSPSC), while the one or more attributes 158 may be defined using vocabulary from the RosettaNet dictionary. An example of the domains 150, the functions 152, the properties 154 and the attributes 158 of various operation categories 138 of a web service 102 is shown in Table 1 below.
Table 1
Figure imgf000011_0001
Figure imgf000012_0001
In the example shown in Table 1 , the "Content Services" category 138 is described by a "Ticketing" function 152 in a "Request for movie" domain 150 and a "Downloads" function 152 in a "Request for music" domain 150, while the "Value-added Services" category 138 is described by a "Conversion" function 152 in a "Utility" domain 150. Each of the "Ticketing", "Downloads" and "Conversion" functions 152 are described by a plurality of properties 154, each of which is further described by a corresponding attribute 158.
The synonym 156 specifies similar or alternative function names for each of the one or more category functions 152. For example, a "Transformation" function 152 having a "Conversion" synonym 156 is capable of performing both object conversion and transformation by providing the required properties 154 and attributes 158. Turning now to the non-functional constraints, the non-functional constraints are described by one or more of a time constraint 160, one or more payment constraints 162, a location constraint 164, one or more security constraints 166, and a service quality measurement 168. The non-functional constraints specify additional conditions that have to be met before the web service 102 can execute.
The time constraint 160 specifies a particular time period or duration of time during which the web service 102 is available for invocation.
The one or more payment constraints 162 specify payment related information such as, for example, the charges for using the web service 102, information on how the charges are computed (e.g. by volume, time or length, or per service requested), a currency for payment and a payment mode (e.g.. payment before delivery or delivery before payment).
The location constraint 164 specifies one or more service locations and one or more service request locations which the web service 102 responds to.
The one or more security constraints 166 specify one or more security mechanisms, for example, non-repudiation and encryption, supported by the web service 102.
The service quality measurement 168 specifies a measure of service consumer perception of service quality. The service quality of the web service 102 may be measured using SERVQUAL — an instrument for measuring consumer perceptions of service quality. However, it should be understood that the present invention is not limited to a particular instrument for measuring service quality. The service quality measurement 168 may be updated with results from a survey on consumer satisfaction or by performing pattern analysis on "return-consumer" historical access logs.
Referring again to Figure 1 , one or more elements of the web service description 100 shown in Figure 2 are furnished by the service provider during a registration phase and stored in the data pool 12. In one embodiment, a checking algorithm is automatically and periodically performed to ensure that the WSDL elements in the web service descriptions stored in the data pool 12 are consistent with the corresponding elements in the WSDL web service descriptions 26 from which the former are derived. If an inconsistency is identified, web services composition is suspended. Web services composition is only resumed after updates of the web service descriptions stored in the data pool 12 are made via the one or more administration portals 28. The data pool 12 in the present embodiment is also configured to store a plurality of composition rules 30 (i.e. the one or more semantic rules, the one or more syntactic rules and the at least one contextual rule employed by the web services composition system 14 during web services composition) and one or more business rules 32, for example, a ranking of the service providers in accordance with service consumer preferences. The composition rules 30 and the one or more business rules 32 may be input into the data pool 12 by an administrator (not shown) during a rule setting phase based on service provider requirements and the requirements of the web services composition system 14. The administrator may specify whether a particular rule is optional or compulsory.
The composition rules 30 stored in the data pool 12 may be represented by a composition rules model. Referring now to Figure 3, a schematic representation of a composition rules model 200 for web services composition is shown. The composition rules model 200 includes a plurality of semantic rules 202, a plurality of syntactic rules 204, and a contextual rule 206.' The semantic rules 202 include a message parameters rule 208, a precondition rule 210, a function semantics rule 212, and a plurality of non-functional constraints rules 214. The syntactic rules 204 include a binding rule 216 and an operation route rule 218.
The message parameters rule 208, the precondition rule 210, the binding rule 216 and the operation route rule 218 operate on the functional attributes of the web service descriptions and are therefore classified as functional level rules. The function semantics rule 212 and the non-functional constraints rules 214 operate on the non-functional attributes of the web service descriptions and are therefore classified as non-functional level rules. The functional level rules are compulsory. One or more of the non-functional level rules may be optional. .
Referring first to the semantic rules 202, the message parameters rule 208 checks that the message parameters expected by the web services are compatible with the message parameters to be received by the service consumer by performing a determination of whether one or more output parameters specified in the request are compatible with one or more corresponding input parameters (i.e. data types, measurements and/or languages) specified in respective ones of the web service descriptions. More particularly, the message parameters rule 208 performs a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible data type, a determination of whether each of the one or more input parameters specified in respective ones of the web service descriptions is within the one or more output parameters specified in the request, and a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible measurement and language. The determination of whether the message parameters are compatible is made by mapping the one or more output parameters specified in the request to the one or more corresponding input parameters specified in a web service description. The message parameters rule 208 may be expressed as follows:
[dr! ςz dpJ) Λ [VIpj e On. ] Λ [M(IpJ) = M(Ori)] Λ [L(Ipj) =L(Ori) ] (1 )
where On. represents the one or more output message parameters specified in the request, Ipj represents the one or more input message parameters specified in the web service description, dri represents a data type of an output message specified in the request, dpj represents a data type of an input message specified in the web service description, M(On) represents a measurement parameter of an output message specified in the request, M(Ipj) represents a measurement parameter of an input message specified in the web service description, L{Ori) represents a language parameter of an output message specified in the request, and L(I pJ) represents a language parameter of an input message specified in the web service description. Messages are exchangeable between a web service and the service consumer when the data type dri of the output message specified in the request is a subset of or equal to the data type dpj of the input message specified in the web service description (e.g. a short data type is a subset of an integer data type), all of the one or more input message parameters Ipj specified in the web service description are within the one or more output message parameters On. specified in the request, the measurement parameter M(On) of the output message specified in the request is similar to the measurement parameter M(Ipj) of the input message specified in the web service description, and the language parameter L(O ri) of the output message specified in the request matches the language parameter L(I pJ) of the input message specified in the web service description. Before a web service can be requested, each of the one or more preconditions specified in the web service description must first be met. Accordingly, the precondition rule 210 performs a determination of whether one or more preconditions specified in respective ones of the web service descriptions are satisfied by the service consumer by mapping one or more logical conditions of the service consumer specified in the request to the one or more preconditions specified in respective ones of the web service descriptions. The precondition rule 210 may be expressed as follows:
Pr = (Oϊθft). β. ). (Z2U)^2) (/„(*_,),«., )) (2)
where f{t) represents the one or more preconditions (or, more particularly, the /-th logical function performing a specific task x. , i being an integer having a value from 1 to m) specified in a web service description, ft(x,) e {θ, i} (i.e. ft{χ) having a value of either zero "0" or one "1") where "0" represents a logical value TRUE and "1" represents a logical value FALSE, and at represents a logical value (i.e. TRUE or FALSE) that satisfies the precondition /)(*;), at e {θ, 1} (i.e. a( having a value of either zero "0" or one "1") where "0" represents the logical value TRUE and "1" represents the logical value FALSE. A web service is deemed suitable for composition if it is determined that each of the one or more preconditions f{(χ,) specified in the web service description is of the same value as the corresponding logical value at .
At the non-functional level, the function semantics rule 212 checks that the request and the web service descriptions are of compatible function semantics to ensure that corresponding operations specified in the request and the web service descriptions are functionally compatible and that the semantics of the corresponding operations are correctly interpreted. More particularly, the function semantics rule 212 performs a determination of whether one or more operation categories specified in the request is within one or more corresponding operation category domains specified in respective ones of the web service descriptions, a determination of whether one or more function semantics specified in the request is within one or more corresponding function synonyms specified in respective ones of the web service descriptions, and a determination of whether each of one or more operation parameters specified in the request satisfy one or more corresponding property attributes specified in respective ones of the web service descriptions. These determinations are made by mapping one or more operation semantics specified in the request to one or more corresponding operation semantics specified in respective ones of the web service descriptions. The function semantics rule 212 may be expressed as follows:
[cr e cp] Λ [sr e sp] Λ [VOr ς: ap ] (3)
where cr represents one or more operation categories specified in the request, cp represents one or more operation category domains specified in a web service description, sr represents one or more function semantics specified in the request, sp represents one or more corresponding function synonyms of the one or more operation categories specified in the web service description, O7. represents one or more operation parameters specified in the request, and ap represents one or more function property attributes of the one or more operation categories specified in the web service description. A web service description is deemed to have compatible function semantics with the request if the one or more operation categories cr specified in the request exists in the one or more corresponding operation category domains cp specified in the web service description, the one or more function semantics sr specified in the request exists in the one or more corresponding function synonyms sp specified in the web service description, and the one or more operation parameters Or specified in the request are a subset of or equal to the one or more corresponding property attributes ap specified in the web service description (although not all the property attributes ap of an operation of a web service need to be satisfied by the one or more output parameters Or specified in the request, for example, a web service with a function for booking a one-way ticket requires specification of fewer output parameters compared to that required to invoke a return-ticket booking function). Because, as previously mentioned, the web service descriptions are described with vocabulary from one or more predefined taxonomies, a semantics gap or problems arising from differing interpretations of different taxonomy terms will not arise when the function semantics rule 212 is applied.
The non-functional constraints rules 214 include a time constraint rule, a location constraint rule, a payment constraint rule, a security constraint rule and a service quality rule. The non-functional constraints rules 214 check the qualitative properties of the corresponding operations specified in the web service descriptions and the request. More particularly, the non-functional constraints rules 214 perform a determination of whether one or more non-functional constraints specified in respective ones of the web service descriptions are satisfied by mapping the non-functional constraints and service properties specified in respective ones of the web service descriptions' to one or more corresponding properties specified in the request. A web service is deemed suitable for composition if the non-functional constraints rules 214 are satisfied.
As previously mentioned, a web service may only be available for invocation at a particular time period or duration of time. Accordingly, the time constraint rule performs a determination of whether an invocation time specified in the request satisfies a corresponding time constraint specified in respective ones of the web service descriptions.
The time constraint rule may be expressed as follows:
If tp ≠ 0, then tr c tp (4)
where tp represents a time period or duration of time during which a web service is available for invocation specified in a web service description, and tr represents an invocation time (i.e. time when the web service is invoked by the service consumer) specified in the request. A web service is available for invocation when, where a time constraint is specified in the web service description, the invocation time tr specified in the request is a subset of or equal to the time period or duration of time tp specified in the web service description.
Similarly, a web service may be offered only at one or more service locations and/or respond only to a request from one or more service request locations. Accordingly, the location constraint rule performs a determination of whether one or more of one or more service locations and one or more service request locations specified in the request satisfy a corresponding location constraint specified in respective ones of the web service descriptions. The location constraint rule may be expressed as follows:
lf (/l, ≠ 0) A ( 12P ≠ 0), then (/lr e /l, )Λ {12 r e I2p ); or
If (Zl ≠ 0) Λ (/2 = 0), then (/lr 6 /1 ); or If (Zl,= 0) Λ (12 p ≠ 0), then (l2r e l2p). (5)
where l\p represents one or more service locations specified in a web service description, 12 p represents one or more service request locations which the web service responds to specified in the web service description, llr represents one or more service locations specified in the request, and I2r represents one or more service request locations specified in the request. The web service is deemed suitable for composition when, where one or more service locations l\p are specified in the web service description, the one or more service locations l\r specified in the request is within the one or more service locations l\p specified in the web service description, and when, where one or more service request locations 12 p are specified in the web service description, the one or more service request locations I2r specified in the request is within the one or more service request locations 12 p specified in the web service description.
The payment constraint rule performs a determination of whether one or more payment preferences specified in the request satisfies one or more corresponding payment constraints specified in respective ones of the web service descriptions. For example, a service consumer may specify delivery-before-payment and payment via credit card in the request. The payment constraint rule checks whether the service provider accepts the payment preferences of the service consumer. The payment constraint rule may be expressed as follows:
Vpr c: pp (6)
where pr represents the one or more payment preferences specified in the request, and pp represents one or more payment constraints specified in a web service description. A web service is deemed suitable for composition if all of the one or more payment preferences pr specified in the request are a subset of or equal to the one or more payment constraints pp specified in the web service description.
The security constraint rule performs a determination of whether one or more security mechanisms specified in the request are compatible with one or more corresponding security constraints specified in respective ones of the web service descriptions, thereby ensuring that preferred security mechanisms of the service provider are used in the exchange of functional messages. The security constraint rule may be expressed as follows:
If ep ≠ 0, then er f] ep ≠ 0; and
If er ≠ 0, then ep ≥ er (7)
where ep represents the one or more security constraints specified in a web service description, and er represents the one or more security mechanisms specified in the request. A web service is deemed suitable for composition if when one or more security constraints ep are specified in the web service description, the request and the web service description specify at least one common security mechanism (i.e. er and ep intersect), and when one or more security mechanisms er are specified in the request, the one or more security mechanisms er specified in the request. A web service is deemed suitable for composition when, where one or more security constraints ep are specified in the web service description, the request and the web service description specify at least one common security mechanism (i.e. er and ep intersect), and, where one or more security mechanisms er are specified in the request, the one or more security constraints ep specified in the web service description support the one or more security mechanisms er specified in the request (i.e. ep is greater than or equal to er ).
The service quality rule performs a determination of whether a service quality measurement specified in ^respective ones of the web service descriptions satisfies a service quality requirement specified in the request. The service quality rule may be expressed as follows:
If qr ≠ 0, qp > qr (8)
where qr represents the service quality requirement specified in the request, and qp represents the service quality measurement specified in a web service description. Where a service quality requirement qr is specified in the request, the service quality of a web service is deemed to meet the service quality requirement qr specified in the request if the service quality measurement qp specified in the web service description is larger than or equal to the service quality requirement qr .
Turning now to the syntactic rules 204, because web services may bind to different protocols and message formats, for example, Simple Object Access Protocol (SOAP), Multipurpose Internet Mail Extensions (MIME) and Hyper Text Transfer Protocol (HTTP), the binding rule 216 performs a determination of whether the web service descriptions specify at least one compatible binding to ensure that the web services are able to communicate with one other. The binding rule 216 performs this determination by mapping one or more bindings specified in a first web service description to one or more bindings specified in a second web description. The binding rule 216 may be expressed as follows:
bp (I br ≠ 0 (9)
where bp represents the one or more bindings specified in a first web service description, and br represents one or more bindings specified in a second web service description. The first and second web services composable if the web service descriptions of the first and second web services specify at least one common binding (i.e. bp and br intersect).
For a web service to interact with other web services and to be invoked by the service consumer, corresponding operations specified in respective ones of the web service descriptions and in the request must have at least one compatible service operation route. For example, if a web service operation is described by a notification service operation route, the corresponding operation specified in another web service or the request must be described by a receiver service operation route. Similarly, an operation described by a solicit-response service operation route must be matched with another operation described by a request-response service operation route. Accordingly, the operation route rule 218 performs a determination of whether corresponding operations described in the web service descriptions and the request have at least one compatible service operation route by mapping the service operation routes specified in the web service descriptions and the request. The operation route rule 218 may be expressed as follows: [(r, =n)Λ (rr=o)] v [(rp =o)Λ ( .rr=n)]v [(rp = s)Λ (rr = q)]v [(rp =q)Λ (rr=s)] (10)
where rp represents a service operation route specified in a web service description, and rr represents a corresponding service operation route specified in another web service description or the request, n represents a nptification service operation route, o represents a receiver service operation route, s represents a solicit-response service operation route, and q represents a request-response service operation route. As can be seen from equation (10), the notification n and the receiver o service operation route are compatible, while the solicit-response service operation route s is compatible with the request-response service operation route q. Web services may be composable with other web services and invoked by the service consumer if the web service descriptions and the request specify at least one compatible service operation route.
Referring now to the contextual rule 206, the contextual rule 206 performs a determination of whether one or more contextual properties of the service consumer are compatible with a service provider profile specified in respective ones of the web service descriptions. The contextual properties of the service consumer include service consumer preferences and/or constraints (e.g. network and device capabilities). The service consumer may specify whether a particular contextual property is optional or compulsory. The contextual composition rules 206 may be expressed as follows:
Vxre c xp . (11)
where xrc represents one or more compulsory contextual properties of the service consumer specified in the request, and xp represents one or more contextual properties of the service provider specified in a web service description. A web service is determined to be contextually compatible with the request if all of the one or more compulsory contextual properties of the service consumer are a subset of or equal to the one or more contextual properties of the service provider specified in the web service description.
Referring again to Figure 1 , the web services composition system 14 functions as an intermediary in the architecture 10 and may be implemented as a proxy such as, for example, a server or a software agent between the data pool 12 and the service consumer 16. The service consumer 16 may be any electronic device with networking capabilities (i.e. any device capable of transmitting the service composition request across a network), for example, a mobile phone, a laptop computer, a desktop computer or a personal digital assistant (PDA). In one embodiment, a profile of the service consumer 16 is stored in the data pool 12. In such an embodiment, the profile of the service consumer 16 may be captured by the data pool 12 during the registration phase via the one or more administration portals 28.
Having described the various system modules in an embodiment of the present invention, the operation of these modules in a composition phase will now be described in greater detail below with reference to Figures 1 , 3 and 4.
Figure 4 is a schematic flow diagram illustrating a web services composition method 250. In a first step 252, the matching module 18 receives a request from the service consumer 16. The request specifies one or more operations to be performed, service ' consumer requirements, and service consumer preferences.
At step 254, the matching module 18 analyses the request received from the service consumer 16 at step 252 and performs a determination of whether the request corresponds to an earlier request. In particular, the matching module 18 checks whether an earlier request shares the same pattern of query (i.e. specifies the same operation(s) to be performed and the same service consumer requirements) as the current request from the service consumer 16.
If the matching module 18 determines at step 254 that no corresponding earlier request exists, the matching module 18 matches the web service descriptions stored in the data pool 12 to the request according to one or more semantic rules 202 at step 256. More particularly, the matching module 18 applies- one or more of a message parameters rule 208, a precondition rule 210, a function semantics rule 212 and one or more non-functional constraints rules 214 (i.e. a time constraint rule, a location constraint rule, a payment constraint rule and/or a security constraint rule) to the web service descriptions stored in the data pool 12 to locate at step 256 the web service descriptions that match the request. In a further embodiment, the matching module 18 also applies one or more business rules to the matching of the web service descriptions to the request at step 256.
The matched web service descriptions are then filtered by the composition module 20 according to one or more syntactic rules 204 at step 258. More particularly, the composition module 20 applies one or more of a binding rule 216 and an operation route rule 218 to the matched web service descriptions to identify composable web service descriptions at step 258.
At step 260, the composition module 20 generates one or more composition plans based on the filtered web service descriptions (i.e. the composable web service descriptions identified by the composition module 20 in step 258). The one or more composition plans generated by the composition module 20 may be stored in the data pool 12. Each of the one or more composition plans includes a list of participant services and information on the interaction between these services (e.g. the mappings between the messages exchanged). The application of the one or more semantic rules 202 at step 256 and the one or more syntactic rules 204 at step 258 ensures that the one or more composition plans conform to service consumer and service provider requirements and specifications.
When more than one composition plan is generated by the composition module 20 at step 260, the selection module 22 makes a selection from a plurality of composition plans according to at least one contextual rule 206 at step 262. More particularly, the selection module 22 performs a determination of whether one or more contextual properties of the service consumer 16 are compatible with a service provider profile specified in respective ones of the web service descriptions at step 262. In a further embodiment, the selection module 22 also applies one of the one or more semantic rules 202, in particular, the service quality rule, to the selection of the composition plan at step 262.
At step 264, the generation module 24 generates a composite web service description based on one of the one or more composition plans. In the case where more than one composition plan is generated by the composition module 20 at step 260, the composite web service description is generated by the generation module 24 at step 264 based on the composition plan selected by the selection module 22 at step 262. The composite web service description includes a list of the participant services, a sequence in which the participant services are executed, details of how the participant services are interconnected and the mappings between their messages. In one embodiment, the composite web service description is described in Business Process Execution Language for Web Services (WS-BPEL).
Referring again to step 254, if the matching module 18 determines at step 254 that the request corresponds to an earlier request, the composition module 20 retrieves the composition plan for the earlier request from the data pool 12 and the generation module 24 generates at step 264 the composite web service description based on the retrieved
, composition plan. As can be seen, the matching of the request to an archived composition plan speeds up the web services composition process by eliminating computational time required for composition planning (i.e. steps 258 and 260) and selection (i.e. step 262).
The composite web service description generated at step 264 is delivered by the generation module 24 to the service consumer 16 at step 268.
The web services composition method 250 may be run on a data processing device or a similar hardware device specifically built for the process. Generally, a device such as a personal computer or a midrange data processing device may be used. Such devices generally include a processing unit for running a program which implements the web services composition method 250, main memory for storing the program, a mass storage device for storing the data collection, and either further storage for the data pool 12, or/and an interface to a network of networked computers on which the data pool 12 is implemented.
As is evident from the foregoing discussion, the present invention provides a substantially automated web services composition system and method that does not require much, if any, user intervention. A user only needs to specify the operations to be performed. The process of composing the composite web service (i.e. identifying suitable web services for composition, plugging their operations, etc.) is transparent to the user. By automating the web services composition process, the otherwise tedious process of web services composition can be performed quickly and easily with the present invention. In addition, because the composite web service description can be generated based on an archived composition plan, the computational time of the present invention can be further reduced. By applying a tight set of rules to the web service descriptions stored in the data pool during the selection of participant services, the present invention returns a substantially accurate result which corresponds closely to user specifications. Further, because the web service descriptions stored in the data pool are described with vocabulary from one or more predefined taxonomies, the semantics of the web service descriptions can be accurately interpreted in the present invention.
While the preferred embodiments of the invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the invention as described in the claims.
Further, unless the context dearly requires otherwise, throughout the description and the claims, the words "comprise", "comprising" and the like are to be construed in an inclusive as opposed to an exclusive or exhaustive sense; that is to say, in the sense of "including, but not limited to".

Claims

1. A web services composition method, comprising: . receiving a request from a service consumer; matching a plurality of web service descriptions stored in a data pool to the request according to one or more semantic rules; filtering the. matched web service descriptions according to one or more syntactic rules; generating one or more composition plans based on the filtered web service descriptions; generating a composite web service description based on one of the one or more composition plans; and delivering the composite web service description to the service consumer.
• 2. A web services composition method according to claim 1 , wherein the step of matching the web service descriptions to the request comprises performing one or more of the following determinations of:
(i) whether one or more operation categories specified in the request is within one or more corresponding operation category domains specified in respective ones of the web service descriptions;
(ii) whether one or more function semantics specified in the request is within one or more corresponding function synonyms specified in respective ones of the web service descriptions;
(iii) whether each of one or more operation parameters specified in the request satisfy one or more corresponding property attributes specified in respective ones of the web service descriptions;
(iv) one or more output parameters specified in the request are compatible with one or more corresponding input parameters specified in respective ones of the web service descriptions.
3. A web services composition method according to claim 2, wherein the determining step (iv) is performed and comprises performing one or more of the following determinations of:
(v) whether the one or more output parameters and the one or more corresponding input parameters are of a compatible data type; (vi) whether all of the one or more input parameters specified in respective ones of the web service descriptions are within the one or more output parameters specified in the request:
(vii) whether the one or more output parameters and the one or more corresponding input parameters are of a compatible measurement:
(viii) whether the one or more output parameters and the one or more corresponding input parameters are of a compatible language.
4. A web services composition method according to any one of the preceding claims, wherein the step of matching the web service descriptions to the request comprises performing a determination of whether one or more preconditions specified in respective ones of the web service descriptions are satisfied by the service consumer.
5. A web services composition method according to any one of the preceding claims, wherein the step of matching the web service descriptions to the request comprises performing a determination of whether one or more non-functional constraints specified" in respective ones of the web service descriptions are satisfied.
6. A web services composition method according to claim 5, wherein the step of determining whether the one or more non-functional constraints are satisfied comprises performing a determination of whether an invocation time specified in the request satisfies a corresponding time constraint specified in respective ones of the web service descriptions.
7. A web services composition method according to claim 5 or 6, wherein the step of determining whether the one or more non-functional constraints are satisfied comprises performing a determination of whether one or more of one or more service locations and one or more service request locations specified in the request satisfies a corresponding location constraint specified in respective ones of the web service descriptions.
8. A web services composition method according to any one of claims 5 to 7, wherein the step of determining whether the one or more non-functional constraints are satisfied comprises performing a determination of whether one or more payment preferences specified in the request satisfies one or more corresponding payment constraints specified in respective ones of the web service descriptions.
9. A web services composition method according to any one of claims 5 to 8, wherein the step of determining whether the one or more non-functional constraints are satisfied comprises performing a determination of whether one or more security mechanisms specified in the request are compatible with one or more corresponding security constraints specified in respective ones of the web service descriptions.
10. A web services composition method according to any one of the preceding claims, wherein the step of filtering the matched web service descriptions comprises performing a determination of whether the matched web service descriptions specify at least one compatible binding.
11. A web services composition method according to any one of the preceding claims, wherein the step of filtering the matched web service descriptions comprises performing a determination of whether corresponding operations described in the matched web service descriptions and the request specify at least one compatible service operation route.
12. A web services composition method according to any one of the preceding claims, further comprising making a selection from a plurality of composition plans according to at least one contextual rule when more than one composition plan is generated.
13.A web services composition method according to claim 12, wherein the step of selecting from the plurality of composition plans comprises performing a determination of whether one or more contextual properties of the service consumer are compatible with a service provider profile specified in respective ones of the web service descriptions.
14. A web services composition method according to claim 12 or 13, further comprising applying one of the one or more semantic rules to the selection of the composition plan.
15.A web services composition method according to claim 14, wherein the step, of applying one of the one or more semantic rules to the selection of the composition plan comprises performing a determination of whether a service quality measurement specified in respective ones of the web service descriptions satisfies a service quality requirement specified in the request.
16.A web services composition method according to any one of the preceding claims, further comprising storing the one or more generated composition plans in the data pool.
17.A web services composition method according to claim any one of the preceding claims, further comprising performing a determination of whether the request corresponds to an earlier request.
18. A web services composition method according to claim 17, further comprising retrieving the composition plan for the earlier request from the data pool when the request is determined to correspond to an earlier request.
19.A web services composition method according to any one of the preceding claims, wherein the web service descriptions stored in the data pool are derived from WSDL descriptions of web services extended with one or more additional properties.
20.A web services composition method according to any one of the preceding claims, wherein the web service descriptions stored in the data pool are described with vocabulary from one or more predefined taxonomies.
21. A computer program or suite of computer programs executable by a computer system to cause the computer system to perform the method of any one of the preceding claims.
22.A modulated carrier signal incorporating data corresponding to the computer program or at least one of the suite of programs of claim 21.
23.A computer readable storage medium storing a computer program or any one or more of a suite of computer programs according to claim 21.
24.A system of apparatus for composing a composite web service from web service descriptions stored in a data pool, the system comprising: a matching module configured to receive a request from a service consumer, the matching module being further configured to match web service descriptions stored in the data pool to the request according to one or more semantic rules; a composition module configured to filter the matched web service descriptions according to one or more syntactic rules, the composition module being further configured to generate one or more composition plans based on the filtered web service descriptions; and a generation module configured to generate a composite web service description based on one of the one or more composition plans, the generation module being further configured to deliver the composite web service description to the service consumer.
25.A system of apparatus for composing a composite web service from web service descriptions stored in a data pool according to claim 24, wherein the matching module is further configured to perform one or more of the following determinations of:
(x) whether one or more operation categories specified in the request is within one or more corresponding operation category domains specified in respective ones of the web service descriptions;
(xi) whether one or more function semantics specified in the request is within one or more corresponding function synonyms specified in respective ones of the web service descriptions;
(xii) whether each of one or more operation parameters specified in the request satisfy one or more corresponding property attributes specified in respective ones of the web service descriptions: (xiii) whether one or more output parameters specified in the request are compatible with one or more corresponding input parameters specified in respective ones of the web service descriptions.
26.A system for composing a composite web service from web service descriptions stored in a data pool according to claim 25, wherein the matching module is configured to perform determination (xiii) and further to perform a determination of whether the one or more output parameters and the one or more corresponding input parameters are of a compatible data type.
27. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 25 or 26, wherein the matching module is configured to perform determination (xiii) and further to perform one or more of the following determinations of: (xiv) whether all of the one or more input parameters specified in respective ones of the web service descriptions are within the one or more output parameters specified in the request; (xv) whether the one or more output parameters and the one or more corresponding input parameters are of a compatible measurement:
(xvi) whether the one or more output parameters and the one or more corresponding input parameters are of a compatible language.
28. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 27, wherein the matching module is further configured to perform a determination of whether one or more preconditions specified in respective ones of the web service descriptions are satisfied by the service consumer.
29. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 28, wherein the matching module is further configured to perform a determination of whether one or more non-functional constraints specified in respective ones of the web service descriptions are satisfied.
30. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 29, wherein the matching module is further configured to perform a determination of whether an invocation time specified in the request satisfies a corresponding time constraint specified in respective ones of the web service descriptions.
31. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 29 or 30, wherein the matching module is further configured to perform a determination of whether one or more of one or more service locations and one or more service request locations specified in the request satisfies a corresponding location constraint specified in respective ones of the web service descriptions.
32. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 29 to 31 , wherein the matching module is further configured to perform a determination of whether one or more payment preferences specified in the request satisfies one or more corresponding payment constraints specified in respective ones of the web service descriptions.
33. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 29 to 32, wherein the matching module is further configured to perform a determination of whether one or more security mechanisms specified in the request are compatible with one or more corresponding security constraints specified in respective ones of the web service descriptions.
34. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 29 to 33, wherein the composition module is further configured to perform a determination of whether the matched web service descriptions specify at least one compatible binding.
35. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 34, wherein the composition module is further configured to perform a determination of whether corresponding operations described in the matched web service descriptions and the request specify at least one compatible service operation route.
36. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 25, further comprising a selection module configured to make a selection from a plurality of composition plans according to at least one contextual rule when more than one composition plan is generated by the composition module.
37. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 36, wherein the selection module is further configured to perform a determination of whether one or more contextual properties of the service consumer are compatible with a service provider profile specified in respective ones of the web service descriptions.
38. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 36 or 37, wherein the selection module is further configured to apply one of the one or more semantic rules to the selection of the composition plan.
39. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 38, wherein the selection module is further configured to perform a determination of whether a service quality measurement specified in respective ones of the web service descriptions satisfies a service quality requirement specified in the request.
40. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 39, wherein the data pool is further configured to store the one or more generated composition plans.
41. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 40, wherein the matching module is further configured to perform a determination of whether the request corresponds to an earlier request.
42. A system for composing a composite web service from web service descriptions stored in a data pool according to claim 41, wherein the composition module is further configured to retrieve the composition plan for the earlier request from the data pool when the request is determined to correspond to an earlier request.
43. A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 42, wherein the data pool is further configured to store the web service descriptions derived from WSDL descriptions of web services extended with one or more additional properties.
44.A system for composing a composite web service from web service descriptions stored in a data pool according to any one of claims 24 to 43, wherein the data pool is further configured to store the web service descriptions described with vocabulary from one or more predefined taxonomies.
PCT/GB2007/002910 2006-07-31 2007-07-31 Automatic composition of web services based on syntactiv and semantic rules WO2008015417A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI20063702 2006-07-31
MYPI20063702 2006-07-31

Publications (1)

Publication Number Publication Date
WO2008015417A1 true WO2008015417A1 (en) 2008-02-07

Family

ID=38514137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2007/002910 WO2008015417A1 (en) 2006-07-31 2007-07-31 Automatic composition of web services based on syntactiv and semantic rules

Country Status (1)

Country Link
WO (1) WO2008015417A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2164226A1 (en) * 2008-09-10 2010-03-17 Sap Ag Secure composition of web services
CN101848242A (en) * 2010-05-13 2010-09-29 西北工业大学 Web service combination method
US20130007242A1 (en) * 2011-07-01 2013-01-03 Yin Wang Composition of services
US20130227147A1 (en) * 2012-02-27 2013-08-29 Xerox Corporation Systems and methods for creating web service compositions
EP2425348A4 (en) * 2009-05-01 2015-09-02 Ericsson Telefon Ab L M An information processing system and method providing a composed service
US9563419B2 (en) 2014-02-20 2017-02-07 International Business Machines Corporation Managing deployment of application pattern based applications on runtime platforms
CN110119399A (en) * 2019-05-21 2019-08-13 成都派沃特科技股份有限公司 Work Flow Optimizing method based on machine learning
US10430440B2 (en) 2016-10-21 2019-10-01 Fujitsu Limited Apparatus program and method for data property recognition
US10445427B2 (en) 2016-10-21 2019-10-15 Fujitsu Limited Semantic parsing with knowledge-based editor for execution of operations
CN111629053A (en) * 2020-05-27 2020-09-04 深圳市规划国土房产信息中心(深圳市空间地理信息中心) Credible geographic information service self-adaptive combination method and system
US10776170B2 (en) 2016-10-21 2020-09-15 Fujitsu Limited Software service execution apparatus, system, and method
US10776107B2 (en) 2016-10-21 2020-09-15 Fujitsu Limited Microservice-based data processing apparatus, method, and program
US10783193B2 (en) 2016-10-21 2020-09-22 Fujitsu Limited Program, method, and system for execution of software services
WO2022005685A1 (en) * 2020-06-29 2022-01-06 Amazon Technologies, Inc. Managed control plane service
US11941413B2 (en) 2020-06-29 2024-03-26 Amazon Technologies, Inc. Managed control plane service
US11948005B2 (en) 2020-06-29 2024-04-02 Amazon Technologies, Inc. Managed integration of constituent services of multi-service applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004021220A1 (en) * 2002-08-29 2004-03-11 Bea Systems, Inc. System for web service generation and brokering

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004021220A1 (en) * 2002-08-29 2004-03-11 Bea Systems, Inc. System for web service generation and brokering

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BRAY T: "What is RDF? [Resource Description Framework]", INTERNET CITATION, 24 January 2001 (2001-01-24), XP002304968, Retrieved from the Internet <URL:http://www.xml.com/pub/a/2001/01/24/rdf.html> [retrieved on 20041111] *
CHRISTENSEN E ET AL: "Web Services Description Language (WSDL) 1.1", INTERNET CITATION, 15 March 2001 (2001-03-15), XP002203550, Retrieved from the Internet <URL:http://www.w3.org/TR/wsdl> [retrieved on 20020626] *
CURBERA F ET AL: "Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI", IEEE INTERNET COMPUTING, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 6, no. 2, March 2002 (2002-03-01), pages 86 - 93, XP011094337, ISSN: 1089-7801 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2164226A1 (en) * 2008-09-10 2010-03-17 Sap Ag Secure composition of web services
EP2425348A4 (en) * 2009-05-01 2015-09-02 Ericsson Telefon Ab L M An information processing system and method providing a composed service
CN101848242A (en) * 2010-05-13 2010-09-29 西北工业大学 Web service combination method
CN101848242B (en) * 2010-05-13 2012-09-26 西北工业大学 Web service combination method
US20130007242A1 (en) * 2011-07-01 2013-01-03 Yin Wang Composition of services
US9009281B2 (en) * 2011-07-01 2015-04-14 Hewlett-Packard Development Company, L.P. Composition of services
US20130227147A1 (en) * 2012-02-27 2013-08-29 Xerox Corporation Systems and methods for creating web service compositions
US9319283B2 (en) * 2012-02-27 2016-04-19 Xerox Corporation Systems and methods for creating web service compositions
US9563419B2 (en) 2014-02-20 2017-02-07 International Business Machines Corporation Managing deployment of application pattern based applications on runtime platforms
US10430440B2 (en) 2016-10-21 2019-10-01 Fujitsu Limited Apparatus program and method for data property recognition
US10445427B2 (en) 2016-10-21 2019-10-15 Fujitsu Limited Semantic parsing with knowledge-based editor for execution of operations
US10776170B2 (en) 2016-10-21 2020-09-15 Fujitsu Limited Software service execution apparatus, system, and method
US10776107B2 (en) 2016-10-21 2020-09-15 Fujitsu Limited Microservice-based data processing apparatus, method, and program
US10783193B2 (en) 2016-10-21 2020-09-22 Fujitsu Limited Program, method, and system for execution of software services
CN110119399A (en) * 2019-05-21 2019-08-13 成都派沃特科技股份有限公司 Work Flow Optimizing method based on machine learning
CN111629053A (en) * 2020-05-27 2020-09-04 深圳市规划国土房产信息中心(深圳市空间地理信息中心) Credible geographic information service self-adaptive combination method and system
CN111629053B (en) * 2020-05-27 2023-10-20 深圳市规划国土房产信息中心(深圳市空间地理信息中心) Trusted geographic information service self-adaptive combination method and system
WO2022005685A1 (en) * 2020-06-29 2022-01-06 Amazon Technologies, Inc. Managed control plane service
US11941413B2 (en) 2020-06-29 2024-03-26 Amazon Technologies, Inc. Managed control plane service
US11948005B2 (en) 2020-06-29 2024-04-02 Amazon Technologies, Inc. Managed integration of constituent services of multi-service applications

Similar Documents

Publication Publication Date Title
WO2008015417A1 (en) Automatic composition of web services based on syntactiv and semantic rules
US7877682B2 (en) Modular distributed mobile data applications
US7428582B2 (en) Semantic interface for publishing a web service to and discovering a web service from a web service registry
US7478419B2 (en) Automated policy constraint matching for computing resources
US8402081B2 (en) Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation
US8850454B2 (en) Method and computer program product for integrating a first application providing a B2B gateway and one or more second applications
EP1683009B1 (en) Systems and methods for configuring software
TW550484B (en) A system, method and article of manufacture for advanced mobile bargain shopping
US8103673B2 (en) Systems and methods for provisioning content from multiple sources to a computing device
US20040267590A1 (en) Dynamic software licensing and purchase architecture
US20050278358A1 (en) Method of and system for providing positional based object to XML mapping
US20050091386A1 (en) Method and apparatus for interfacing with a distributed computing service
Al-Masri et al. MobiEureka: an approach for enhancing the discovery of mobile web services
US7617324B2 (en) Protocol method for provisioning services
EP1365338A2 (en) Data source independent interface for an electronic bill presentment and payment system
Indulska et al. A Type Management System for an ODP Trader.
US20120158583A1 (en) Automated bank transfers using identifier tokens
US20050086102A1 (en) Method and system for validation of service consumers
Bry et al. Twelve theses on reactive rules for the Web
Mrissa et al. A context model for semantic mediation in web services composition
Jutla et al. PeCAN: An architecture for users’ privacy-aware electronic commerce contexts on the semantic web
Krishnaswamy et al. Towards data mining services on the internet with a multiple service provider model: An xml based approach
KR101334558B1 (en) System and method for providing context cognition web service
Ghencea et al. Distributed Systems and Web Technologies
Garcia et al. Privacy protection mechanisms for web service technology

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07789087

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07789087

Country of ref document: EP

Kind code of ref document: A1