A Human-Oriented Approach Towards Service Composition Eran Toch*, Dov Dori, Avigdor Gal and Iris Reinhartz-Berger Service Oriented Computing Seminar, IBM Haifa Labs May 2007 *Supported by the Levi Eshkol grant from Israel’s Ministry of Science Specification and Analysis of Information Systems Haifa University Spring 2005 1 Agenda 1. Motivation 2. Crawl 3. Query 2 The Composition Utopia Bryson et al., Toward Behavioral Intelligence in the Semantic Web, IEEE Computer, 35(11), November 2002. User Agent Identification Service Update Insurance Company Update Medical Records Application Update Hospital Records Web Services Pool 3 However, it did not work so far. Why? • Matching is difficult – Slim chance of exact matching – Execution is very difficult (due to stateful services, among other reasons) • Burdon on users – Requirements must be complete – Knowledge of syntax is required • Performance S Dustdar and W Schreiner, A Survey on Web Services Composition, International Journal of Web and Grid Services, 2005 C Beeri et al., Querying business processes, VLDB'06 4 Useful Service Compositions • User interaction – Explore, rather than plan – Serve the design phase – Ranking reflects the amount of approximation • Retrieval mode – Avoid fully automated compositions – Sub-linear performance 5 Opossum Eran Toch et al., A Semantic Approach to Approximate Service Retrieval, ACM Transactions on Internet Technology, February 2008. 6 The Process of Service Retrieval Is there an: OpenID identification Service? User We have only identification services based on username / password Opossum Ok, can you combine it with the open-id interface? Hmmm, maybe... 7 Agenda 1. Motivation 2. Crawl 3. Query 8 What can we Crawl Service description: WSDL, OWL-S, Web forms... Identification Service Input: username, password Output: user-id If fails And tries < 3 if success Send password to email Input: email BPEL, OWL-S Process Model Registration Input: username, personal details Output: confirmation 9 Extracting Service Networks Inferred Dependencies 10 Ontologies c=0.7 Identification Service Update Insurance Company 11 Semantic Distance Concept x Concept b Concept a Similarity Radius dis (a, b) = Distance function α - distance coefficient Semantic edge number / certainty path = 1 2 logα ( path ) 1 + ∑ i∈a → x c (i ) 1 ∑ j∈b → x c ( j ) c(i), c(j) – certainty value on edges 12 Example Service Network • 828 services • 5432 concepts • 23 ontologies 13 What Makes a Good Ontology? Approxim ation factor 3000 2500 2000 1500 1000 500 0 0 5 10 15 20 25 30 connectivity 14 Agenda 1. Motivation 2. Crawl 3. Query 15 Simple Query Interface • Basic: – “drug” • Ordered Conjunctions: – “medical treatment hospital and map” • Properties: – “medical treatment provider: mount sinai hospital” – For example: provider, price, 16 OPCAT-Based Query Interface http://www.opcat.com/ 17 Retrieval Model Query - An ontology-labeled Result: rooted, directed tree A ranked set of rooted, directed trees Geographical Treatment Locator medical treatment Map Hospital “medical treatment hospital and map” Insurance Treatment Locator Insurance treatment locator Hospital Info Service Google Maps Google Maps Check Hospital Availability 18 Query/Result Satisfiability medical treatment Map Address ? Hospital Info Service Yahoo Maps Question: When is a service composition satisfies a query? Assumption: a user would like to minimize the required effort of adapting the composition. Therefore, we would like the results ranking to reflect this notion. 19 Cost Model score(V , Q) = ∑ v∈V , q∈Q Semantic matching score µ (v, q) + δ edit (V , Q) + ∏ ce Edit distance e∈V Composition inner certainty a A c=1 b B c = 0.8 c Z c=1 z 20 A-Priory Ranking 21 Combining Compositions A d B D C E e b e f c f F V ′ = {V ∪ Vi | V ∩ Vi = φ ∧ score(Vi , Q) = max{score(Vi ), score(Vk )}} Vk ⊆ V 22 Query Evaluation Concepts Index Query Composition Index Results Virtual Service 23 Indexing “Insurance Operations” “Geographical Operations” Authorize Treatment Plan Retrieve Insurance Record Find Position Find Nearest Medical Center Contact Emergency Inform Hospital Check Hospital Availability Check Room Availability Check Personnel Availability “Hospital Procedures Operations” “Emergency Operations” “Medical Operations” 24 Scalability P – number of parameters nc – create new concept c – concept mapping Service Generator Simulate d service processing time (in ms) 60 50 40 30 20 10 Trendline 0 0 500 1000 1500 2000 2500 3000 number of services 25 Thank You. http://www.technion.ac.il/erant 26