220 likes | 350 Views
Towards Efficient Discovery of Web Services (WSs). Natallia Kokash. Introduction. Comparison of Web Service Interfaces Motivation WSDL Schema and Semantics Related Work Matching Algorithm Experimental Results Conclusions Web Service Selection Algorithms Quality of Service Issues
E N D
Towards Efficient Discovery of Web Services (WSs) Natallia Kokash
Introduction • Comparison of Web Service Interfaces • Motivation • WSDL Schema and Semantics • Related Work • Matching Algorithm • Experimental Results • Conclusions • Web Service Selection Algorithms • Quality of Service Issues • Related Work • WS Selection: Objective Functions • Failure Risk • WS Selection: Failure Risk Minimization
WSDL Matching • Web Services: UDDI + WSDL(-S) • Discovery (manual vs. automatic,…) • Matching – meeting the functionality required by a user with specifications of existing services • Selection – choosing a service with the best quality among those able to satisfy a user goal • Matching • Input – the meaning of input parameters • Output – the meaning of output parameters • Faults - specify the abstract message format for any error messages that may be output as the result of the operation • Preconditions – a set of semantic statements that are required to be true before an operation can be successfully invoked • Effects – a set of semantic statements that must be true after an operation completes execution after being invoked. Different effects can be true depending on whether the operation completed successfully or unsuccessfully. Semantics: name, documentation, extensibility elements,…
WSDL Schema Types
Related Work [Dong’04] Dong, X.L. et al.: ”Similarity Search for Web Services”, Proceedings of VLDB, 2004. [Sajjanhar’04] Sajjanhar, A., Hou, J., Zhang, Y.: ”Algorithm for Web Services Matching”, Proceedings of APWeb, 2004, pp. 665–670. [Stroulia’05] Stroulia, E., Wang, Y.: ”Structural and Semantic Matching for Accessing Web Service Similarity”, International Journal of Cooperative Information Systems, Vol. 14, No. 4, 2005, pp. 407-437. [Wu’05] Wu, J., Wu, Z.: ”Similarity-based Web Service Matchmaking”, IEEE International Conference on Services Computing, 2005, pp. 287-294. [Zhuang’05] Zhuang, Z., Mitra, Pr., Jaiswal, A.: ”Corpus-based Web Services Matchmaking”, AAAI, 2005.
WSDL Semantics • Lexical information extraction (description): • sequences of more than one uppercase letters • sequences of an uppercase letter and following lowercase letters • sequences between two non-word symbols Example: ”tns:GetDNSInfoByWebAddressResponse” {tns, get, dns, info, by, web, address, response}.
Similarity Measures 1. TF-IDF 2. [Seco’04] Seco, N., Veale, T., Hayes, J.: ”An Intrinsic Information Content Metric for Semantic Similarity in WordNet”, In the proceedings of ECAI, 2004.
Experimental Results • Collection 1: 40 web services in 5 groups (“ZIP”, “Weather”, “DNA”, “Currency”, “SMS”) [Wu’05] • Collection 2: 447 web services in 68 groups (”business”, ”communication”, ”games”, ”country information”, …) [Stroulia’05]
Observations • In most cases VSM over-performed other methods ([Dong’04]) • Data types are the most informative part of WSDL • WordNet context is too general • WordNet: sim(country, currency) = 0 ? ? • Latent Semantic Indexing (LSI) • Probabilistic LSI Currency: • A country’s unit of exchange issued by their government or central bank whose value is the basis for trade • The type of money that a country uses • … sim(getRateRequest(country1, country2) ConversionRate(fromCurrency, toCurrency) = ?
Related Work [Ardagna’05] Ardagna, D., Pernici, B.: ”Global and Local QoS Constraints Guarantee in Web Service Selection,” IEEE International Conference on Web Services, 2005, pp. 805–806. [Martin-Diaz’05] Martin-Diaz, O., Ruize-Cortes, A., Duran, A., Muller, C.: ”An Approach to Temporal-Aware Procurement of Web Services”, International Conference on Service-Oriented Computing, 2005, pp. 170–184. [Gu’03] Gu, X., Chang, R.: ”OoS-Assured Service Composition in managed Service Overlay Networks”, IEEE International Conference on Distributed Computing Systems, 2003. [Yu’05] Yu, T., Lin, K.J.: ”Service Selection Algorithms for Composing Complex Services with Multiple QoS Constraints”, International Conference on Service-Oriented Computing, 2005, pp. 130–143. [Zeng’04] Zeng, L., Benatallah, B., et al.: ”QoS-aware Middleware for Web Services Composition”, IEEE Transactions on Software Engineering, Vol. 30, No. 5, 2004, pp. 311–327.
WS Selection [Zeng’04] Scaling Weighting
WS Selection: Objective Functions Linear combination of 5 parameters: {availability, successful rate, response time, execution cost, reputation} ? • Scaling [Zeng’04] • How to define preferences? • Service is cheap and fast but not available Dual criteria optimization: time vs. money ? • Graph structure • What is better: cheap and unreliable or expensive and reliable? • A chosen service failed but user is waiting for the result
Failure Risk Failure risk – considers the probability that some fault will occur and the resulting impact of this fault on the composite service Loss function – defines the cost of service failure (money, time, processor capacity, etc.)
Failure Risk Sequence Choice Sequence + Choice
WS Selection: Failure Risk Minimization • For each fork partition define failure risk of sub-compositions • Choose configuration with the minimal failure risk • More details: Kokash, N.: "A Service Selection Model to Improve Composition Reliability", International Workshop on AI for Service Composition, in conjunction with ECAI'06, Riva del Garda, Italy, 2006, to appear. Future Work • Experimental Evaluation • More attention to parallel compositions • Dependency between configurations (conditional probability)
The End Thank you!
… • WSDL • types - data type definitions used to describe the messages exchanged. • message - an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system. • portType - a set of abstract operations. Each operation refers to an input message and output messages. • binding - specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType. • port - specifies an address for a binding, thus defining a single communication endpoint. • service - used to aggregate a set of related ports • Hyponyms - words whose extension is included within that of another word