SlideShare a Scribd company logo
1 of 23
MAPPING THE RESPONSES OF
RESTFUL SERVICES BASED ON
THEIR VALUES
Blerina Bazelli, Marios Fokaefs, Eleni
Stroulia
University of Alberta, Canada
(Not always) A match made in
heaven
6/8/2014
29th IEEE International Conference on Software Maintenance 22 - 28
September 2013 - Eindhoven, The Netherlands
 A client-service relationship may break when:
 A web service becomes unavailable
 It becomes insufficient for the clients’ needs
 It changes frequently over time
 Its price increases
 The client will migrate to another service.
7 years
6,000 APIs
3,000 news stories
A Wealth of Similar(?) APIs
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Three steps for API migration
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
 Discovery
 Comparing the desired API against available ones
 To recognize if the differences are possible to adapt
 Selection
 Comparing the desired API against a set of
discovered ones
 To identify the “best” one to use
 Mapping
 Comparing two similar APIs
 To precisely decide how to adapt one to match the
other (for composition or for substitution)
How to Recognize API
Substitutability?
Previous Approaches
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Based on the similarity of
 signature syntax
 Same operations, with same number and types of
input/output data
 signature specification
 Same pre- and post-conditions
 signature semantics
 Synonymous identifiers (operations, parameters)
Substitutability?
Our
Approach
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Based on the similarity of
 the input and output values of their
corresponding invocations
 If two parameters have the same instance
value, they refer to the same thing.
Why responses?
 REST  resource-based services
 Request Data  Functionality Analysis
The Methodology
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Interactive Steps
1. Identify two substitutable APIs
2. Map their corresponding operations
3. Invoke the corresponding operations
pairwise, with the same parameter values
Automated Step
4. Use the proposed algorithm to precisely map
the output parameters
see Future Directions
Comparison Rules –numbers
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
 n1=106
 n2 = 93
distance = 100 (13/106) = 12.2%
Comparison Rules –strings
6/8/2014
29th IEEE International Conference on Software Maintenance 22 - 28
September 2013 - Eindhoven, The Netherlands
kitten → sitting
 kitten → sitten (substitution of "s" for "k")
 sitten → sittin (substitution of "i" for "e")
 sittin → sitting (insertion of "g" at the end)
distance = 100(3/7 ) = 42.8%
Comparison Rules –bag of
words
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
 S1 = {a,b,d,e}
 S2 = {a,b,f,g,h}
distance = 100(1-2/4) = 50%
Comparison Rules –inclusion
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
 When comparing two elements,
 If one is a prefix or a suffix of the other,
 Then they are similar
106 min
runtime movie_length
Heuristics
String vs. String
String vs. Number
Number vs. Number
Date vs. Date
1. Transform to lowercase
2. Compute Levenshtein
distance
 Extract the number
sequences
 Maximum computed similarity
 Inclusion
6/8/2014
29th IEEE International Conference on Software Maintenance 22 - 28
September 2013 - Eindhoven, The Netherlands
Evaluation
6/8/2014
29th IEEE International Conference on Software Maintenance 22 - 28
September 2013 - Eindhoven, The Netherlands
 When is this method applicable?
 When the APIs refer to a commonly shared
domain of factual information
 Non factual  judgment may cause
differentiation to the values of entities
 Proprietary  the values of entities will not be
common across APIs
Evaluation
1. Geolocation
2. Movies
 Google Maps
 Microsoft Maps
 CloudMade Maps
 Internet Movie Database
(IMDb)
 Rotten Tomatoes
 Filmaster
 TheMovieDB
Domains Web Services
Results
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Type Source Element Source Value Target Element Target Value Similarity (%)
Set-Set name
[Carrie Underwood,
Lorraine Nicholson,
Annasophia Robb,
Helen Hunt,
Dennis Quaid]
Actors
[Carrie Underwood,
Chris Brochu,
AnnaSophia Robb,
Sonya Balmores,
Lorraine Nicholson,
Craig T. Nelson,
Dennis Quaid,
Helen Hunt…]
100.00
Date-Date release_date 20110408 Theater 2011-04-08 100.00
String-Integer runtime USA: 106 min Runtime 106 100.00
Integer-Integer release_year 2011 Year 2011 100.00
String-String title_localized Soul Surfer Title Soul surfer 100.00
Double-Double average_score 5.95 Rating 6.9 86.23
Integer-String imdb 1596346 imdb_id tt1596346 100.00
Integer-String id 771037147 imdb_id tt1596346 20.00
String-String surname McNamara Type M 12.50
String-String length null runtime USA: 106min 0.00
Double-Double coordinates
[-113.5177994,
-113.5173264,
53.5225983]
lng -113.518802 99.98
Source & Target elements that
have been mapped correctly
Elements wrongly
mapped as correct
Mapped only
manually
First-best mapping: Precision &
Recall
Source
Target
Google Bing CloudMade
TP FP FN P (%) R(%) TP FP FN P(%) R(%) TP FP FN P(%) R(%)
Google 10 1 1 90.91 90.91 2 3 1 40.00 66.67
Bing 13 3 1 81.25 92.86 11 2 0 84.62 100.00
CloudMade 2 4 1 33.33 66.67 9 3 1 75.00 90.00
Results – Geolocation
Results – Movies
6/8/2014
29th IEEE International Conference on Software Maintenance 22
- 28 September 2013 - Eindhoven, The Netherlands
Source
Target
IMDb RottenTomatoes
TP FP FN P (%) R(%) TP FP FN P(%) R(%)
IMDb 7 3 3 70.00 70.70
Rotten
Tomatoes
8 0 2 100.00 80.00
Filmaster 11 4 3 73.33 78.57 4 5 3 44.44 57.14
TheMovieDB 5 2 1 71.43 83.33 3 6 1 33.33 75.00
Source
Target
Filmaster TheMovieDB
TP FP FN P (%) R(%) TP FP FN P(%) R(%)
IMDb 9 2 2 81.82 81.82 3 6 0 33.33 100.00
Rotten
Tomatoes
4 2 3 66.67 57.14 3 3 1 50.00 75.00
Filmaster 5 3 1 62.5 83.33
TheMovieDB 4 5 2 44.44 66.67
Many-to-many mapping :Mean
Average Precision
 p: pair of elements
 P: number of elements that can be mapped
 AvePre: average precision per element
Source
Target
Google Bing CloudMade
P (%) P(%) P(%)
Google 79.52 25.00
Bing 58.62 17.85
CloudMade 20.00 30.83
MAP: Geolocation
Source
Target
IMDB RottenTomatoes Filmaster TheMovieDB
P (%) P(%) P(%) P(%)
IMDB 57.16 67.00 67.00
Rotten
Tomatoes
58.33 38.00 35.00
Filmaster 75.00 57.14 80.00
TheMovieDB 33.33 50.00 74.00
MAP: Movies
Future Directions
 Combine more methods of comparison
 Instance value mapping
 Structure mapping
 Lexicographic and semantic mapping
 Automate as many steps of the process as
possible.
 Use a service discovery and selection method.
 Extend the mapping process to input values to
map the operations.
 Automatically exercise the APIs (testing?)
Conclusions
 A methodology for mapping services based on
their run-time invocations
 For Web services with factual and shared
information, the evaluation demonstrated high
precision & recall
 The objective is to simplify the effort required
to develop the adapters to migrate from one
service to its substitute

More Related Content

Similar to Mapping the responses of RESTful services based on their values

EDF2012 Peter Boncz - LOD benchmarking SRbench
EDF2012   Peter Boncz - LOD benchmarking SRbenchEDF2012   Peter Boncz - LOD benchmarking SRbench
EDF2012 Peter Boncz - LOD benchmarking SRbenchEuropean Data Forum
 
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designs
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designsTUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designs
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designsHong-Linh Truong
 
OPAL-RT RT14 Conference: SESA Laboratory
OPAL-RT RT14 Conference: SESA LaboratoryOPAL-RT RT14 Conference: SESA Laboratory
OPAL-RT RT14 Conference: SESA LaboratoryOPAL-RT TECHNOLOGIES
 
Inductive Entity Typing Alignment
Inductive Entity Typing AlignmentInductive Entity Typing Alignment
Inductive Entity Typing AlignmentGiuseppe Rizzo
 
Recommendation Engine Powered by Hadoop
Recommendation Engine Powered by HadoopRecommendation Engine Powered by Hadoop
Recommendation Engine Powered by HadoopPranab Ghosh
 
Recommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab GhoshRecommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab GhoshBigDataCloud
 
A Recommendation Engine For Predicting Movie Ratings Using A Big Data Approach
A Recommendation Engine For Predicting Movie Ratings Using A Big Data ApproachA Recommendation Engine For Predicting Movie Ratings Using A Big Data Approach
A Recommendation Engine For Predicting Movie Ratings Using A Big Data ApproachFelicia Clark
 
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...Deltares
 
Collaborative filtering20081111
Collaborative filtering20081111Collaborative filtering20081111
Collaborative filtering20081111greatwnag
 
BioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioCatalogue
 
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...Hong-Linh Truong
 
JinJinLi_Resume_2016
JinJinLi_Resume_2016JinJinLi_Resume_2016
JinJinLi_Resume_2016Jinjin Li
 
Natural Language Processing & Semantic Models in an Imperfect World
Natural Language Processing & Semantic Modelsin an Imperfect WorldNatural Language Processing & Semantic Modelsin an Imperfect World
Natural Language Processing & Semantic Models in an Imperfect WorldVital.AI
 
TUW - Quality of data-aware data analytics workflows
TUW - Quality of data-aware data analytics workflowsTUW - Quality of data-aware data analytics workflows
TUW - Quality of data-aware data analytics workflowsHong-Linh Truong
 
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...SEALS - Semantic Evaluation at Large Scale
 
Language and Offensive Word Detection
Language and Offensive Word DetectionLanguage and Offensive Word Detection
Language and Offensive Word DetectionIRJET Journal
 
Principles for Engineering Elastic IoT Cloud Systems
Principles for Engineering Elastic IoT Cloud SystemsPrinciples for Engineering Elastic IoT Cloud Systems
Principles for Engineering Elastic IoT Cloud SystemsHong-Linh Truong
 

Similar to Mapping the responses of RESTful services based on their values (20)

EDF2012 Peter Boncz - LOD benchmarking SRbench
EDF2012   Peter Boncz - LOD benchmarking SRbenchEDF2012   Peter Boncz - LOD benchmarking SRbench
EDF2012 Peter Boncz - LOD benchmarking SRbench
 
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designs
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designsTUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designs
TUW-ASE-Summer 2014: Advanced service-based data analytics: concepts and designs
 
OPAL-RT RT14 Conference: SESA Laboratory
OPAL-RT RT14 Conference: SESA LaboratoryOPAL-RT RT14 Conference: SESA Laboratory
OPAL-RT RT14 Conference: SESA Laboratory
 
CV _Manoj
CV _ManojCV _Manoj
CV _Manoj
 
Inductive Entity Typing Alignment
Inductive Entity Typing AlignmentInductive Entity Typing Alignment
Inductive Entity Typing Alignment
 
Resume
ResumeResume
Resume
 
Recommendation Engine Powered by Hadoop
Recommendation Engine Powered by HadoopRecommendation Engine Powered by Hadoop
Recommendation Engine Powered by Hadoop
 
Recommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab GhoshRecommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab Ghosh
 
A Recommendation Engine For Predicting Movie Ratings Using A Big Data Approach
A Recommendation Engine For Predicting Movie Ratings Using A Big Data ApproachA Recommendation Engine For Predicting Movie Ratings Using A Big Data Approach
A Recommendation Engine For Predicting Movie Ratings Using A Big Data Approach
 
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...
DSD-INT 2014 - OpenMI symposium - OpenMI and other model coupling standards, ...
 
Collaborative filtering20081111
Collaborative filtering20081111Collaborative filtering20081111
Collaborative filtering20081111
 
BioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogueBioIT Europe 2010 - BioCatalogue
BioIT Europe 2010 - BioCatalogue
 
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...
TUW-ASE-Summer 2014: Emerging Dynamic Distributed Systems and Challenges for ...
 
JinJinLi_Resume_2016
JinJinLi_Resume_2016JinJinLi_Resume_2016
JinJinLi_Resume_2016
 
Susi
Susi Susi
Susi
 
Natural Language Processing & Semantic Models in an Imperfect World
Natural Language Processing & Semantic Modelsin an Imperfect WorldNatural Language Processing & Semantic Modelsin an Imperfect World
Natural Language Processing & Semantic Models in an Imperfect World
 
TUW - Quality of data-aware data analytics workflows
TUW - Quality of data-aware data analytics workflowsTUW - Quality of data-aware data analytics workflows
TUW - Quality of data-aware data analytics workflows
 
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...
1st SEALS evaluation campaign results: a worldwide evaluation of semantic tec...
 
Language and Offensive Word Detection
Language and Offensive Word DetectionLanguage and Offensive Word Detection
Language and Offensive Word Detection
 
Principles for Engineering Elastic IoT Cloud Systems
Principles for Engineering Elastic IoT Cloud SystemsPrinciples for Engineering Elastic IoT Cloud Systems
Principles for Engineering Elastic IoT Cloud Systems
 

Recently uploaded

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Mapping the responses of RESTful services based on their values

  • 1. MAPPING THE RESPONSES OF RESTFUL SERVICES BASED ON THEIR VALUES Blerina Bazelli, Marios Fokaefs, Eleni Stroulia University of Alberta, Canada
  • 2. (Not always) A match made in heaven 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  A client-service relationship may break when:  A web service becomes unavailable  It becomes insufficient for the clients’ needs  It changes frequently over time  Its price increases  The client will migrate to another service.
  • 3. 7 years 6,000 APIs 3,000 news stories A Wealth of Similar(?) APIs 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands
  • 4. Three steps for API migration 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  Discovery  Comparing the desired API against available ones  To recognize if the differences are possible to adapt  Selection  Comparing the desired API against a set of discovered ones  To identify the “best” one to use  Mapping  Comparing two similar APIs  To precisely decide how to adapt one to match the other (for composition or for substitution)
  • 5. How to Recognize API Substitutability? Previous Approaches 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands Based on the similarity of  signature syntax  Same operations, with same number and types of input/output data  signature specification  Same pre- and post-conditions  signature semantics  Synonymous identifiers (operations, parameters)
  • 6. Substitutability? Our Approach 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands Based on the similarity of  the input and output values of their corresponding invocations  If two parameters have the same instance value, they refer to the same thing. Why responses?  REST  resource-based services  Request Data  Functionality Analysis
  • 7. The Methodology 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands Interactive Steps 1. Identify two substitutable APIs 2. Map their corresponding operations 3. Invoke the corresponding operations pairwise, with the same parameter values Automated Step 4. Use the proposed algorithm to precisely map the output parameters see Future Directions
  • 8. Comparison Rules –numbers 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  n1=106  n2 = 93 distance = 100 (13/106) = 12.2%
  • 9. Comparison Rules –strings 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands kitten → sitting  kitten → sitten (substitution of "s" for "k")  sitten → sittin (substitution of "i" for "e")  sittin → sitting (insertion of "g" at the end) distance = 100(3/7 ) = 42.8%
  • 10. Comparison Rules –bag of words 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  S1 = {a,b,d,e}  S2 = {a,b,f,g,h} distance = 100(1-2/4) = 50%
  • 11. Comparison Rules –inclusion 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  When comparing two elements,  If one is a prefix or a suffix of the other,  Then they are similar 106 min runtime movie_length
  • 12. Heuristics String vs. String String vs. Number Number vs. Number Date vs. Date 1. Transform to lowercase 2. Compute Levenshtein distance  Extract the number sequences  Maximum computed similarity  Inclusion 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands
  • 13. Evaluation 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands  When is this method applicable?  When the APIs refer to a commonly shared domain of factual information  Non factual  judgment may cause differentiation to the values of entities  Proprietary  the values of entities will not be common across APIs
  • 14. Evaluation 1. Geolocation 2. Movies  Google Maps  Microsoft Maps  CloudMade Maps  Internet Movie Database (IMDb)  Rotten Tomatoes  Filmaster  TheMovieDB Domains Web Services
  • 15. Results 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands Type Source Element Source Value Target Element Target Value Similarity (%) Set-Set name [Carrie Underwood, Lorraine Nicholson, Annasophia Robb, Helen Hunt, Dennis Quaid] Actors [Carrie Underwood, Chris Brochu, AnnaSophia Robb, Sonya Balmores, Lorraine Nicholson, Craig T. Nelson, Dennis Quaid, Helen Hunt…] 100.00 Date-Date release_date 20110408 Theater 2011-04-08 100.00 String-Integer runtime USA: 106 min Runtime 106 100.00 Integer-Integer release_year 2011 Year 2011 100.00 String-String title_localized Soul Surfer Title Soul surfer 100.00 Double-Double average_score 5.95 Rating 6.9 86.23 Integer-String imdb 1596346 imdb_id tt1596346 100.00 Integer-String id 771037147 imdb_id tt1596346 20.00 String-String surname McNamara Type M 12.50 String-String length null runtime USA: 106min 0.00 Double-Double coordinates [-113.5177994, -113.5173264, 53.5225983] lng -113.518802 99.98
  • 16. Source & Target elements that have been mapped correctly Elements wrongly mapped as correct Mapped only manually First-best mapping: Precision & Recall
  • 17. Source Target Google Bing CloudMade TP FP FN P (%) R(%) TP FP FN P(%) R(%) TP FP FN P(%) R(%) Google 10 1 1 90.91 90.91 2 3 1 40.00 66.67 Bing 13 3 1 81.25 92.86 11 2 0 84.62 100.00 CloudMade 2 4 1 33.33 66.67 9 3 1 75.00 90.00 Results – Geolocation
  • 18. Results – Movies 6/8/2014 29th IEEE International Conference on Software Maintenance 22 - 28 September 2013 - Eindhoven, The Netherlands Source Target IMDb RottenTomatoes TP FP FN P (%) R(%) TP FP FN P(%) R(%) IMDb 7 3 3 70.00 70.70 Rotten Tomatoes 8 0 2 100.00 80.00 Filmaster 11 4 3 73.33 78.57 4 5 3 44.44 57.14 TheMovieDB 5 2 1 71.43 83.33 3 6 1 33.33 75.00 Source Target Filmaster TheMovieDB TP FP FN P (%) R(%) TP FP FN P(%) R(%) IMDb 9 2 2 81.82 81.82 3 6 0 33.33 100.00 Rotten Tomatoes 4 2 3 66.67 57.14 3 3 1 50.00 75.00 Filmaster 5 3 1 62.5 83.33 TheMovieDB 4 5 2 44.44 66.67
  • 19. Many-to-many mapping :Mean Average Precision  p: pair of elements  P: number of elements that can be mapped  AvePre: average precision per element
  • 20. Source Target Google Bing CloudMade P (%) P(%) P(%) Google 79.52 25.00 Bing 58.62 17.85 CloudMade 20.00 30.83 MAP: Geolocation
  • 21. Source Target IMDB RottenTomatoes Filmaster TheMovieDB P (%) P(%) P(%) P(%) IMDB 57.16 67.00 67.00 Rotten Tomatoes 58.33 38.00 35.00 Filmaster 75.00 57.14 80.00 TheMovieDB 33.33 50.00 74.00 MAP: Movies
  • 22. Future Directions  Combine more methods of comparison  Instance value mapping  Structure mapping  Lexicographic and semantic mapping  Automate as many steps of the process as possible.  Use a service discovery and selection method.  Extend the mapping process to input values to map the operations.  Automatically exercise the APIs (testing?)
  • 23. Conclusions  A methodology for mapping services based on their run-time invocations  For Web services with factual and shared information, the evaluation demonstrated high precision & recall  The objective is to simplify the effort required to develop the adapters to migrate from one service to its substitute