What happens in case of complex data types??
Service Similarity
Based on URBE (UDDI Registry By Example)
- performs content based query
- 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
- structural analysis
Motivation
For more info: P. Plebani, B. Pernici, "URBE: Web service Retrieval based on Similarity Evaluation", IEEE Transaction on Knowledge and Data Engineering, 21(11): 1629-1642 (2009)
Code available at SourceForge: http://sourceforge.net/projects/urbe/
Thousands of Web services are out there:
- Seekda indexed 30'000 entries
- More than 3'000 registered API on www.programmableweb.com
To improve the reuse of service, Service Discovery (a.k.a. Service Retrieval) becomes a critical step
Semantic analysis
fSim
Structural analysis
- We assume that the WSDL is automatically generated
- Names reflect coding conventions
- Stemming and tokenization are required before comparing names
State of the art
What we propose
Service Compatibility
Merging
- Service similarity
- Service compatibility
Thus, we can find a service
- achieving a given goal
- exposing a compatible interface
Two dimensions:
- horizontal compatibility (interoperability)
- vertical compatibility (replaceability)
Two types:
- backward compatibility (in case of new consumer)
- forward compatibility (in case of new producer)
Retrieving Compatible Web services
For more info: V. Andrikopoulos, S. Benbernou, and M.P. Papazoglou, "On the evolution of services", IEEE Transactions on Software Engineering (to appear), 2011.
Vasilios Andrikopoulos
Tilburg University, The Netherlands
<V.Andrikopoulos@uvt.nl>
Pierluigi Plebani
Politecnico di Milano, Italy
<plebani@elet.polimi.it>
T-Shaped changes 1/2
T-Shaped changes 2/2
Type of service compatibility
Example of subtyping
- Set of changes applied to a service S that results in a service S' fully compatible with S
- Based on type theory
- May require some adapter generation
- Add (optional) message data types, add (new) opera- tion & add (new) port type
- Remove one-way (only) operations
- Add (obligatory or optional) data types to output messages
- Remove (obligatory or optional) data types from input messages
- Add output message parts to operations
- Remove input message parts from operations
Merging similarity and compatibility
Future work
Retrieving Compatible Web services
Vasilios Andrikopoulos
Tilburg University, The Netherlands
<V.Andrikopoulos@uvt.nl>
Pierluigi Plebani
Politecnico di Milano, Italy
<plebani@elet.polimi.it>
- Compatibility relies on a binary (on/off) approach
- Similarity has a more fuzzy-oriented evaluation
- Considering the Semantic Annotation to improve the precision-recall
- Exploiting the distance analysis to generate mediators
parSim, by means of dataSim, will be influenced by the compatibility analysis
Modifying parSim
Fuzzy vs. binary
- Cutting variant
- Sigmoid variant
Assignment in bipartite graph
Validation
Benchmark: SAWSDL-TC3
Machine:
- Mac OS X 10.6
- Intel Core 2 Duo 2.33 Ghz
- 8 Gbyte RAM
Precision Recall chart
Response Time
Average Precision and Top-X
AP
Sigmoid-variant: +1.6%
Cutting-variant: +5.5%
Average query response time
- Baseline: 53.26 s
- Sigmoid-variant: 35.29 s (-33.7%)
- Cutting-variant: 31.80 s (-40.3 %)
Top-5
Sigmoid-variant: +0.6%
Cutting-variant: +3.7%
Top-10
Sigmoid-variant: +0.2%
Cutting-variant: +2.4%