A Multi-perspective Framework for Web API Search in Enterprise Mashup Design
Devis Bianchini, Valeria De Antonellis, Michele MelchioriUniversity of Brescia
Department of Information Engineering
Valencia – June 20th, 2013
CAiSE 2013
A motivating example
Josephine is a web designer who aims at building a web application for her enterprise to advertise products through e-commerce facilities and to display customers' info
The ProgrammableWeb API public repository has been made available, where Web API providers share their own components and web designers can look for Web APIs they need
➢ the design of the web application is a time-consuming task and requires advanced skill
➢ already available Web APIs, such as Amazon and Google Maps APIs, have been implemented for this purpose
On ProgrammableWeb you can...
Find Web APIs by keywords or by tags (matched against the descriptions associated with APIs in the repository)
Filter available Web APIs according to their category, the company, the protocol, the data format
Find mashups composed of the available Web APIs
Sort found Web APIs according to different criteria
On ProgrammableWeb you cannot...
➢ Perform advanced search by specifying both the features of the Web API to search for and of the Web mashups which the Web API will be used in
➢ Avoid limitations of traditional tag-based search (polisemy, omonyms)
➢ Be assisted in more complex search scenarios, where Josephine needs a proactive support for her search, by relying on past experiences of other developers in using available Web APIs
Our proposal
➢ A multi-perspective Web API model, based on the Web APIs themselves (component perspective), enterprise mashups built with Web APIs (application perspective), Web designers who used Web APIs to build their own mashups (experience perspective)
➢ A framework leveraging the model, to perform advanced Web API search and ranking
➢ Full backward compliance with existing Web API repositories (specifically, the ProgrammableWeb repository)
Talk outline
• Multiperspective Web API model
• Web API search model
• The framework architecture
• Search and ranking measures
• Final remarks
The model
The component perspective
W = ⟨cW,{tW},PW,FW,SSLW,AW,τW,HW⟩
ProgrammableWeb category
set of semantictags
ProgrammableWeb technical features
WordNet-based sense disambiguation
The component perspective
W = ⟨cW,{tW},PW,FW,SSLW,AW,τW,HW⟩
ProgrammableWeb category
set of semantictags
ProgrammableWeb technical features
WordNet-based sense disambiguation
a semantic tag belongs to a synset and is described by a sense
The application perspective
M = ⟨{tM},{WM}⟩
set of semantictags
set of Web APIs themashup is composed of
The experience perspective
di∈D
W = ⟨internal/external, σ
i, {⟨Wj,Mk,µjk⟩}⟩
internal/external to the enterprise
The experience perspective
di∈D
W = ⟨internal/external, σ
i, {⟨Wj,Mk,µjk⟩}⟩
internal/external to the enterprise
designer's skill in developing web mashups
0.0 unexperienced
0.3 low confidence
0.5 medium confidence
0.8 high confidence
1.0 expert
The experience perspective
di∈D
W = ⟨internal/external, σ
i, {⟨Wj,Mk,µjk⟩}⟩
internal/external to the enterprise
designer's skill in developing web mashups
ratings µjk assigned
to the Web API Wj
as used within Mk
The experience perspective
di∈D
W = ⟨internal/external, σ
i, {⟨Wj,Mk,µjk⟩}⟩
internal/external to the enterprise
designer's skill in developing web mashups
ratings µjk assigned
to the Web API Wj
as used within Mk
Web API search model
The search typology identifies the way Web API search is performed
The search target identifies the goal of the Web API search
The framework architecture
Web API similarity
Similarity between the request and each available Web API is performed according to:➢ the component perspective (APISim) - linear combination of similarity
with respect to categories and semantic tags➢ the application perspective (MashupSim) – proportional to the similarity
between the Web API will be inserted ({trM},{Wr
M}) and the mashups
where it has been used in the past➢ a Web API can be used by several mashups by designers with different
skills (take care of the experience perspective)
Web API similarity
Similarity between the request and each available Web API is performed according to:➢ the component perspective (APISim) - linear combination of similarity
with respect to categories and semantic tag➢ the application perspective (MashupSim) – proportional to the similarity
between the Web API will be inserted ({trM},{Wr
M}) and the mashups where it has been used in the past
➢ a Web API can be used by several mashups by designers with different skills (take care of the experience perspective)
Web API similarity
Similarity between the request and each available Web API is performed according to:➢ the component perspective (APISim) - linear combination of similarity
with respect to categories and semantic tag➢ the application perspective (MashupSim) – proportional to the similarity
between the Web API will be inserted ({trM},{Wr
M}) and the mashups where it has been used in the past
➢ a Web API can be used by several mashups by designers with different skills (take care of the experience perspective)
Web API similarity
Similarity between the request and each available Web API is performed according to:➢ the component perspective (APISim) - linear combination of similarity
with respect to categories and semantic tag➢ the application perspective (MashupSim) – proportional to the similarity
between the Web API will be inserted ({trM},{Wr
M}) and the mashups where it has been used in the past
➢ a Web API can be used by several mashups by designers with different skills (take care of the experience perspective)
Web API ranking
Web APIs {W'} included among the search results ({W'}⊆{W}) are ranked according to:
based on ratings µjk
assigned to the Web API W
j
based on technical features
(several metrics available from the
literature)
The framework architecture
The framework Web Interface
The framework Web Interface (cont.)
Evaluation issues
We performed a preliminary evaluation on the precision of the collaborative system in retrieving Web APIs and on ranking procedure
➢ we considered a subset of 922 Web APIs from ProgrammableWeb
➢ we collected a subset of mashups from the same repository, built with the selected Web APIs and the corresponding developers
➢ we performed semantic tagging of Web APIs starting from the keywords extracted from Web APIs and mashup descriptions and from tags on ProgrammableWeb
➢ we classified developers' skill on the basis of the number of mashups and APIs they own
Conclusions and future work
We proposed a multi-perspective Web API model and framework based on it, built on top of the a Web API repository, to better support Web APIselection and ranking
Future efforts will be devoted to:
➢ enrichment of Web API characterization with additional features (e.g., Web API quality, but also social organization of web designers)
➢ use of additional sources for sense disambiguation (e.g., DBPedia)
➢ integration of Web API information coming from different repositories (e.g., Mashape)
Thanks!
Devis Bianchini: [email protected]