IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Bianchini slides c-ai_se2013_
1. A Multi-perspective Framework for Web
API Search in Enterprise Mashup Design
Devis Bianchini, Valeria De Antonellis, Michele Melchiori
University of Brescia
Department of Information Engineering
Valencia – June 20th, 2013
CAiSE 2013
2. 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
3. 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
4. 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
5. 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)
8. The component perspective
W = 〈cW,{tW},PW,FW,SSLW,AW,τW,HW〉
ProgrammableWeb
category
set of semantic
tags
ProgrammableWeb
technical features
WordNet-based sense disambiguation
9. The component perspective
W = 〈cW,{tW},PW,FW,SSLW,AW,τW,HW〉
ProgrammableWeb
category
set of semantic
tags
ProgrammableWeb
technical features
WordNet-based sense disambiguation
a semantic tag belongs to a synset and is described by a sense
12. The experience perspective
di
∈DW
= 〈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
13. The experience perspective
di
∈DW
= 〈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
14. The experience perspective
di
∈DW
= 〈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
15. 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
17. 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 ({tr
M},{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)
18. 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 ({tr
M},{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)
19. 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 ({tr
M},{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)
20. 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 ({tr
M},{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)
21. 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 Wj
based on technical
features
(several metrics
available from the
literature)
25. 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
26. 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)