Web services retrieval: URBE approach

Similar documents
Web services retrieval

A user-driven policy selection model

A Distributed Architecture for Efficient Web Service Discovery

Business Process Modelling & Semantic Web Services

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Dagstuhl Seminar on Service-Oriented Computing Session Summary Cross Cutting Concerns. Heiko Ludwig, Charles Petrie

Retrieving Compatible Web Services

Danilo Ardagna, Marco Comuzzi, Enrico Mussi, Barbara Pernici, and Pierluigi Plebani, Politecnico di Milano

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Service-Oriented Computing in Recomposable Embedded Systems

Web Services: Introduction and overview. Outline

(9A05803) WEB SERVICES (ELECTIVE - III)

Retrieving Substitute Services Using Semantic Annotations: A Foodshop Case Study

Service Oriented Architectures Visions Concepts Reality

SERVICE SEMANTIC INFRASTRUCTURE FOR INFORMATION SYSTEM INTEROPERABILITY

Advanced Topics in the Semantic Web: Semantic Services for Business Process Management

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015

Web service design. every Web service can be associated with:

Distribution and web services

BPEL Research. Tuomas Piispanen Comarch

DAML: ATLAS Project Carnegie Mellon University

Introduction to Web Services & SOA

Structure Matching for Enhancing UDDI Queries Results

Building Web Services with Java and SAP Web Application Server

ISO/IEC JTC1/SC32/WG2 N1485. SKLSE, Wuhan University, P.R. China

Distributed QoS-Aware Discovery Engine

Introduction to Web Services & SOA

SEMANTICALLY ENHANCED DISCOVERY OF HETEROGENEOUS SERVICES

Position Paper on the Definition of SOA-RM

Lesson 6 Directory services (Part I)

Lupin: from Web Services to Web-based Problem Solving Environments

Semantic SOA - Realization of the Adaptive Services Grid

Unit 6 - Software Design and Development LESSON 4 DATA TYPES

An Approach to Evaluate and Enhance the Retrieval of Web Services Based on Semantic Information

A Linguistic Approach for Semantic Web Service Discovery

Service-Oriented Architecture

On Demand Web Services with Quality of Service

IDECSE: A Semantic Integrated Development Environment for Composite Services Engineering

Semantics to Empower Services Science: Using Semantics at Middleware, Web Services and Business Levels

Analysis and Selection of Web Service Technologies

SERVICE-ORIENTED COMPUTING

Oracle Developer Day

Sistemi ICT per il Business Networking

SYSTEMS FOR NON STRUCTURED INFORMATION MANAGEMENT

Falcon-AO: Aligning Ontologies with Falcon

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

OWLS-SLR An OWL-S Service Profile Matchmaker

Recovery of Faulty Web Applications through Service Discovery

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Lesson 19 Software engineering aspects

Carnegie Mellon University. Carnegie Mellon University

XML Web Services Basics

4ICT12 Internet Applications: Web Services

ABSTRACT I. INTRODUCTION

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

ECE2049: Embedded Computing in Engineering Design C Term Spring Lecture #3: Of Integers and Endians (pt. 2)

Using the Semantic Web in Ubiquitous and Mobile Computing

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study...

Web Service Matchmaking Using Web Search Engine and Machine Learning

Lesson 10 BPEL Introduction

Hybrid OWL-S Service Retrieval with OWLS-MX: Benefits and Pitfalls

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

MATCHING MODEL FOR SEMANTIC WEB SERVICES DISCOVERY

XML based Business Frameworks. - II- Description grid for XML frameworks

SEMANTIC ENHANCED UDDI USING OWL-S PROFILE ONTOLOGY FOR THE AUTOMATIC DISCOVERY OF WEB SERVICES IN THE DOMAIN OF TELECOMMUNICATION

Learning to attach semantic metadata to Web Services

Transport (http) Encoding (XML) Standard Structure (SOAP) Description (WSDL) Discovery (UDDI - platform independent XML)

International Journal of Software and Web Sciences (IJSWS) Web service Selection through QoS agent Web service

Automation for Web Services

Ex: If you use a program to record sales, you will want to remember data:

This presentation is a primer on the BPEL Language. It s part of our series to help prepare you for creating BPEL projects. We recommend you review

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Web Services Annotation and Reasoning

Programming the Internet. Phillip J. Windley

ENHANCED DISCOVERY OF WEB SERVICES Using Semantic Context Descriptions

INFORMATION TECHNOLOGIES IN E-GOVERNMENT SOLUTIONS

A DHT-based semantic overlay network for service discovery

The Extended Model Design of Non-Metallic Mineral Material Information Resource System Based on Semantic Web Service

D WSMO Data Grounding Component

Web Service Discovery with Implicit QoS Filtering

Conservative re-use ensuring matches for service selection

A short introduction to Web Services

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Enterprise SOA Experience Workshop. Module 8: Operating an enterprise SOA Landscape

METEOR-S Process Design and Development Tool (PDDT)

APPLYING SEMANTIC WEB SERVICES TO ENTERPRISE WEB

ActiveVOS Technologies

Incorporating applications to a Service Oriented Architecture

Service Matching and Discovery in P2P Semantic Community

Web Services. Moving towards Service Oriented Architectures. Rensselaer CSCI 4220 Network Programming

SEMANTICALLY ENHANCED DISCOVERY OF HETEROGENEOUS SERVICES

Semantic Web Services and Cloud Platforms

Wang Jian, He Keqing, SKLSE, Wuhan University, China

Datatypes, Variables, and Operations

Integration Framework. Architecture

CHAPTER 8 SEMANTIC WEB SERVICES SEARCH

SOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions

Transcription:

May, 3rd, 2007 Seminar on Web services retrieval: URBE approach Pierluigi PLEBANI Dipartimento di Elettronica ed Informazione - Politecnico di Milano plebani@elet.polimi.it

Before starting... 2 Web services retrieval is only the last problem We have had: plumber retrieval data retrieval document retrieval software component retrieval... and now Web service retrieval

... a look at the real world 3 Once upon a time... Friends of mine Friends of friends of mine... (Friends of )n mine with 1 n 6 Advertising rules! White pages Yellow pages e-advertising rules! http://www.whitepages.com http://www.yellowpages.com

Agenda 4 All about Web services retrieval UDDI (Universal Descriptor Discovery and Integration) URBE (UDDI Registry By Example) Related work Concluding remarks

Who does retrieve Web services? 5 Web services retrieval is one of the fundamental steps in SOA Final users need to retrieve Web services We need to consider Web service providers as well Service Broker publish Communication channel find Service Provider use Service Requestor

What do we retrieve? 1/2 6 We need to find a Web service (obviously) But, which one? The one: able to perform what we need accessible in a way we need working in a way we need

What do we retrieve? 2/2 7 A shared model for both Web service providers and Web service users is required This model must consider: functionalities conversation quality Lot of specifications are available today: WSDL WS-CDL WS-BPEL WS-Policy... and many others

Where do we retrieve Web services? 8 All the information should be collected and stored in well known places: centralized solution distributed or peer-to-peer solution Who has the ownership on this information? registry repository

When do we retrieve Web services? 9 At design-time At run-time we can code the client-side At deployment-time we need a declarative model we need... something

Why do we retrieve Web services? 10 Only for a single invocation For building a partnership As a part of my application As the whole application

How do we retrieve Web services? 11 (Friends of )n mine with 1 n 6 Browsing the Web (XMethods, SALCentral (?) ) Googling White pages Yellow pages

Service registries 12 Web service registries support: the publication of new Web services the retrieve of desired Web services Some tools: directory: LDAP basic registry: RMI, UDDI advanced registry: ebxml

UDDI (Universal Description Discovery and Integration) Seminar on Web services retrieval: URBE approach Pierluigi Plebani May, 3rd, 2007 - University of Trento

UDDI 14 OASIS standard (v. 3) Formerly a joint proposal of (IBM, SAP, BEA,...) UDDI Service discovery is driven by: Keyword-based query Pre-defined taxonomies browsing UNSPSC ISO 3166 NTIS - NAICS UDDI supports publication of generic services, not necessarily Web services

UDDI Publication model 15 A service provider or a group of them agree on service specifications: what the service does how it can be used Everyone now can offers a service according to such specifications Both service specifications and service instances must be accessible

The UDDI acronym 16 Universal Description: UDDI does not rely on a specific approach for describe a service (WSDL is only one of them) Universal Discovery: service retrieval can be performed in several ways white pages: by service provider green pages: by service type yellow pages: by service classification Universal Integration: services are described regardless of the underlying technologies

UDDI architecture 17 Interface for browsing both registries API UDDI Business Registry Business Registry Service Type Registry Specification of real services Specification of a class of services

UDDI Data Model 18 from C. von Riegen (ed), UDDI Version 2.03 Data Structure Reference http://uddi.org/pubs/datastructure-v2.03-published-20020719.htm, 2002

UDDI query model 19 Discovery process is mainly performed manually browsing one of the available taxonomy using keywords I need to exactly know how information are organized in the registry

URBE (Uddi Registry By Example) Seminar on Web services retrieval: URBE approach Pierluigi Plebani May, 3rd, 2007 - University of Trento

Main features 21 Interface matching So far: Semantic matching Quality driven matching we have deeply studied the first point we are going to validate the second and third point The main goal is: retrieval for substitutability

URBE 22 Uddi Registry By Example performs content based query based - user submits a WSDL expressing the requirements - URBE returns a list of Web services close to the request Similarity function fsim is the core of URBE semantic analysis syntactic analysis is compliant with UDDI (publishing, searching, data models) fsim(σ q, σ p ) = wnamingsim nsim(σ q, σ p ) + + wstructsim ssim(σ q, σ p )

fsim in detail 23 wnamingsim, wstructsim weights the influence of semantic against to the structural similarity allow tuning the function fsim: (σ q, σp) [0..1] fsim(σ q, σq) = 1 influence the nature of result fsim is not symmetric fsim relies on a linear programming model Registry (! = {" p }) query (! q ) wnamingsim fsim wstructsim Result (!" p = {" p fsim(" q, " p ) > 0})

Adopted linear problem 24 Assignment in bipartite graphs which compares: terms, operation, services Q P Q.1 Q.2 Q.3 0.3 0.8 0.7 1.0 0.5 0.7 0.2 1.0 0.2 P.1 P.2 P.3 opt(sim(q, P )) = j J i I max sim(q.i, P.j) x i,j max( Q.i, P.j ) x i,j 1 i I j J x i,j 1 i I j J I = [1.. Q.i ], J = [1.. P.j ] opt(sim(q, P)) = (1.0 + 0.7+ 1.0) / 3 = 2.7 / 3 = 0.9

fsim components 25 Semantic analysis: porttype names operations names parameters names Structural analysis: data types number of inputs number of outputs number of operations nsim(σ q, σ p ) = wstep namesim(σ q.name, σ p.name) + (1 wstep) opt(opnsim(σ q.op i, σ p.op j )) ssim(σ q, σ p ) = wdatat ype opt(opssim(σ q.op i, σ p.op j )) + ( σq.op i (1 wdatat ype) min σ p.op j ; σ p.op j σ q.op i Two core elements: Name and DataType similarity )

Names similarity 1/2 26 Quantifies how much two names are related car automobile money currency We need that to compare service, operation, and parameter names Our approach relies on two ontologies: domain specific ontology (few terms higher precision) general purpose ontology (more terms lower precision) Names similarity is based on path length between names in the ontology

Name similarity 2/2 27 We assume that the WSDL is automatically generated Names reflect coding conventions Stemming and tokenization are required before comparing names getdata, currencyexchange Rule Original term Tokenized version Case change currencyexchange currency, exchange Case change SendSMSTo send, sms, to Suffix numbers elimination currency1 currency Underscore separator currency exchange currency, exchange Some terms have less meaning body, result, parameters

DataType similarity 28 Inspired by Stroulia and Yang Group Integer group Real group String group Boolean group Simple Data Type int, integer, byte, short, long real, float, double, decimal char, string, arrayofchar boolean typesim Integer Real String Boolean Integer 1 0.8 0 0.1 Real 0.5 1 0 0 String 0.3 0.3 1 0.3 Boolean 0.1 0 0 1 Table reflects the casting among different data types in programming language

Benchmark 29 35 WSDLs, 64 descriptors divided in 5 groups Group A: Currency (4 WSDLs, 9 porttypes) Group B: DNA (5 WSDLs, 5 porttypes) Group C: SMS (12 WSDLs, 18 porttypes) Group D: Weather (6 WSDLs, 18 porttypes) Group E: ZIP (8 WSDLs, 14 porttypes) Machine IBM xseries, 2 CPU Intel XEON 3GHz, 2 GByte RAM result always contains at least one item with fsim = 1 For each group a member is selected as query

Average precision 30 Precision for different groups 100% 90% 80% Precision 70% 60% 50% 40% 30% 20% 10% A B C D E 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold

General recall 31 Recall for different groups 100% 90% 80% Recall 70% 60% 50% 40% 30% 20% A B C D E 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold

Semantic vs Structural precision 32 Precision with different weights 100% 90% 80% Precision 70% 60% 50% 40% 30% 20% 10% Names 1-0 07-03 05-05 03-07 0-1 Structure 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold

Semantic vs Structural recall 33 Recall with different weights 100% 90% 80% Recall 70% 60% 50% 40% 30% 20% 10% Names 1-0 07-03 05-05 03-07 0-1 Structure 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold

Groups B & E: precision & recall 34 Group B Group B 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 Recall 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 30% Structure 30% Structure 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold Group E Group E 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 Recall 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 30% Structure 30% Structure 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold

Exploiting the annotations 35 Recall can be improved if SAWSDL description is available In this case name similarity is based on the annotations Annotation refers to concept in the domain-specific ontology Similarity evaluation relies on path length Annotations similarity results more precise than names similarity more fast to calculate Annotation mainly influences the recall of fsim

36 Gruppo B (SAWSDL) Gruppo B (SAWSDL) 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 30% Structu 1-0 07-03 05-05 03-07 0-1 Recall 60% 50% 40% 30% Structu 1-0 07-03 05-05 03-07 0-1 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold Threshold Group B Group B 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 Recall 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 30% Structure 30% Structure 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold Threshold

37 Gruppo E (SAWSDL) Gruppo E (SAWSDL) 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 30% 1-0 07-03 05-05 03-07 0-1 Structure Recall 60% 50% 40% 30% 1-0 07-03 05-05 03-07 0-1 Structure 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold Threshold Group E Group E 100% 100% 90% 90% 80% 80% 70% Names 70% Names Precision 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 Recall 60% 50% 40% 1-0 07-03 05-05 03-07 0-1 30% Structure 30% Structure 20% 20% 10% 10% 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 0% 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90 Threshold Threshold

About the quality 38 Class of users Quality Tree Domain application community produce read Quality Tree read User Quality Tree User produce User policy Provider Service policy produce

Quality tree 39 Quality of service Video quality Sound quality Resolution Framerate Colordepth Price Encoding Sampling { 320*200; 800*600; 1024*768 } [10..30] { 8; 16; 24; 32 } [0.. ) { MP3; WMA; ALAC } [64..192]

Related work Seminar on Web services retrieval: URBE approach Pierluigi Plebani May, 3rd, 2007 - University of Trento

About the architecture 41 Web service registries support: the publication of new Web services the retrieve of desired Web services Some tools: directory: LDAP basic registry: RMI, UDDI advanced registry: ebxml P. Plebani, Web services retrieval, April 11th 2007

About the matchmaking 42 Interface matching Semantic matching Hybrid matching Lumina (SAWSDL) Zaremski and Wang (Software components) Stroulia and Yang, Woogle (WSDL) OWL-S MM, WSMO MM Quality driven matching WSOI (WSOL), UDDIe (Proprietary Language) What about behavior?

Concluding remarks Seminar on Web services retrieval: URBE approach Pierluigi Plebani May, 3rd, 2007 - University of Trento

Conclusions 1/2 44 URBE: allows content-based query is compliant with UDDI Why use URBE to retrieve services to support BPEL processes design (top-down approach) to substitute services (autonomic computing, grid computing) Try it: http://black.elet.polimi.it/urbeclient Download it: http://black.elet.polimi.it/urbe

Conclusions 2/2 45 Quality matching represents, at this stage, the biggest open issue Web service registry managing should be deeply investigated as well Semantic based approaches suffer of the need of services semantically described Web services retrieval must be, first of all, usable!