bianchini slides c-ai_se2013_

27
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

Upload: caise2013vlc

Post on 29-May-2015

171 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Bianchini slides c-ai_se2013_

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

Page 2: Bianchini slides c-ai_se2013_

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

Page 3: Bianchini slides c-ai_se2013_

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

Page 4: Bianchini slides c-ai_se2013_

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

Page 5: Bianchini slides c-ai_se2013_

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)

Page 6: Bianchini slides c-ai_se2013_

Talk outline

• Multi­perspective Web API model

• Web API search model

• The framework architecture

• Search and ranking measures

• Final remarks

Page 7: Bianchini slides c-ai_se2013_

The model

Page 8: Bianchini slides c-ai_se2013_

The component perspective

W = ⟨cW,{tW},PW,FW,SSLW,AW,τW,HW⟩

ProgrammableWeb category

set of semantictags

ProgrammableWeb technical features

WordNet-based sense disambiguation

Page 9: Bianchini slides c-ai_se2013_

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

Page 10: Bianchini slides c-ai_se2013_

The application perspective

M = ⟨{tM},{WM}⟩

set of semantictags

set of Web APIs themashup is composed of

Page 11: Bianchini slides c-ai_se2013_

The experience perspective

di∈D

W = ⟨internal/external, σ

i, {⟨Wj,Mk,µjk⟩}⟩

internal/external to the enterprise

Page 12: Bianchini slides c-ai_se2013_

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

Page 13: Bianchini slides c-ai_se2013_

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

Page 14: Bianchini slides c-ai_se2013_

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

Page 15: Bianchini slides c-ai_se2013_

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

Page 16: Bianchini slides c-ai_se2013_

The framework architecture

Page 17: Bianchini slides c-ai_se2013_

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)

Page 18: Bianchini slides c-ai_se2013_

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)

Page 19: Bianchini slides c-ai_se2013_

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)

Page 20: Bianchini slides c-ai_se2013_

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)

Page 21: Bianchini slides c-ai_se2013_

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)

Page 22: Bianchini slides c-ai_se2013_

The framework architecture

Page 23: Bianchini slides c-ai_se2013_

The framework Web Interface

Page 24: Bianchini slides c-ai_se2013_

The framework Web Interface (cont.)

Page 25: Bianchini slides c-ai_se2013_

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

Page 26: Bianchini slides c-ai_se2013_

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)

Page 27: Bianchini slides c-ai_se2013_

Thanks!

Devis Bianchini: [email protected]