bianchini slides c-ai_se2013_

Post on 29-May-2015

165 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

• Multi­perspective 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: bianchin@ing.unibs.it

top related