• At the top, the query level consists of a set of relations that give users an interface for formulating and submitting declarative queries directed to Web services. Different mapping rules define different sets of relations over the virtual operations (such as flight schedules and rental car listings).
• The virtual level consists of the Web service-like operations a particular application domain typically offers (finding hotel room rates and checking flight availability, for example).
• The concrete level represents the space of Web services offered on the Web — the potential candidates for answering queries. Because the Web services are a priori unknown, the query model needs to discover them and match them to the virtual operations appearing in a query.
Airlines(DepartureCity, ArrivalCity,AirlineNames, WebSites) :- InquireAirlines(DepartureCity, ArrivalCity, AirlineNames), GetWebSites(AirlineNames, WebSites)
• Functionality represents the business functionality provided by the operation ( booking and listing, for example).
• Synonyms contains a list of alternative functionality names for the operation (for instance, reservation is a synonym of booking.).
• Domain gives the area of interest of the operation (for example, flight, accommodation, and tour).
• Synonyms resembles those defined for the operation's purpose.
Vop = (In, Out, Domains, Category, Function)
Fares = (In, Out, Domains, Category,Function)
• exact match,
• overlapping match,
• partial match, and
• partial and overlapping match.
Fares = (In, Out, Domains, Category, Function)
AirfareTickets = (In, Out, Category, Function)
• Latency represents the average time for an operation to return results after its invocation.
• Fees are units of money that a consumer of a Web service must pay to invoke operations.
• Availability represents the probability that a Web service is available. Large values mean high availability, and small values indicate low availability.
1. Scale the different QoWS parameters to make them comparable.
2. Apply user-supplied weights for each parameter, if specified as part of the query.
3. Add the weighted and scaled QoWS parameters for each operation.
• initialization and query unfolding
• virtual operations ordering, and
• service discovery and operations matching.
Q(AirlineNames, WebSites) :- Airlines(DepartureCity, ArrivalCity, AirlineNames, WebSites), DepartureCity = "Miami", ArrivalCity = "Baltimore"
• The service locator discovers WSDL descriptions by accessing the UDDI registry. Once the service locator discovers a service, the query engine invokes its operations through the SOAP binding stub, which uses the Apache SOAP API.
• The operation matchmaker interacts with the service locator to retrieve the services' descriptions. It determines the concrete operations to use in the service execution plan.
• The monitoring agent monitors Web service invocations. Its goal is to assess their behavior in terms of the delivered QoWS.
• The query optimizer, the query engine's central component, determines the best service execution plan based on QoWS, service ratings, and matching degrees.
• The execution engine takes over after the optimizer generates an efficient service execution plan. The execution engine enacts the service execution plan by actually invoking Web services using SOAP.