Semantics-enabled Web APIs selection patterns - ConfSys

1 downloads 0 Views 675KB Size Report
Mashup application: “a situational, short-living Web application with focus on Web Interface integration that uses data and/or application logics (e.g., Web ...
1

Semantics-enabled Web APIs selection patterns Devis Bianchini, Valeria De Antonellis, Michele Melchiori Department of Information Engineering Università di Brescia - Italy Semantics-enabled Web APIs selection patterns

2

Mashup application: “a situational, short-living Web application with focus on Web Interface integration that uses data and/or application logics (e.g., Web Services) originated from third parties and that are made available through Web APIs”

Semantics-enabled Web APIs selection patterns

Fast Web application development scenario Choose some relevant Web APIs Web APIs Registry

Decide which ones should be connected (exploratory perspective)

connected Glue alternative

Semantics-enabled Web APIs selection patterns

3

Fast Web application development Which open issues? Huge quantity of Web APIs requires a support for their effective selection and integration (>3k APIs in ProgrammableWeb.com, >20k user-defined mashups in Yahoo! Pipes). Heterogeneity of Web APIs (I/Os, operations).

Our contributions: 1. A browsable Web API registry built from automated matching techniques to establish semantic links among APIs 2. Semi-automated selection patterns for Web APIs

Semantics-enabled Web APIs selection patterns

4

5

Talk Outline 

A semantic framework for Mashup development



Web API Selection patterns



The tool prototype implementation



Conclusions and future work

Semantics-enabled Web APIs selection patterns

6

We rely on existing technologies and tools

Focus of this talk

Wn

W3

URI 2

W2

W3

URI 3

Web API Registry

URI 3

URI 2 URI 1

URI 2

URI 1

W2

Wn

URI n

Component APIs

Semantics-enabled Web APIs selection patterns

Mashup development

URI n

Web API Semantic Descriptors (SDs)

W1

URI n

W3

URI 3 URI 2

Wn

W2 URI n

W1

Recommendation of Web APIs

URI 3

Matchmaking and linking of semantic descriptors

Semantic annotation

URI 1

Developing & publishing Web API

Future work consumer/ mashup designer

component provider

OBJECTS

ACTIVITIES

ROLES

Mashup development: our vision

Web application

7

Web API Annotation Web APIs are usually described using plain, unstructured HTML - semantic annotation of Web APIs is still a difficult task Semantic annotation of APIs in our framework is therefore performed according to the steps suggested in the SWEET tool [1]: (a)

identification of elements (that is, operations, inputs, outputs) in the unstructured HTML document which represents the API, to produce an hRESTS description;

(b)

search for ontologies suitable for elements annotation and of taxonomies of categories for API classification;

(c)

annotation and classification of the API according to the MicroWSMO notation.

[1] M. Maleshkova, C. Pedrinaci, and J. Domingue. Semantic annotation of Web APIs with SWEET. In Proc. of 6th Workshop on Scripting and Development for the Semantic Web, 2010. Semantics-enabled Web APIs selection patterns

8

Web API Semantic Descriptor An abstract representation:

W Wii == 〈uri 〈uriii,CAT(W ,CAT(Wii),OP(W ),OP(Wii),EV(W ),EV(Wii)〉 )〉 opl ∈OP(Wi) op opll == 〈method 〈methodll,addr ,addrll,IN(op ,IN(opll),OUT(op ),OUT(opll)〉 )〉

concept

Semantics-enabled Web APIs selection patterns

set of concepts

evm ∈EV(Wi) ev (ev m)〉 evmm == 〈type 〈typemm,OUT ,OUTev )〉 ev(evm

set of concepts

9

Functional coupling between Web APIs 

A Web API descriptor Wi can be functionally coupled with another Web API descriptor Wj if: 1.

CouplIO(Wi, Wj) ≥ θ ∈ [0..1] (functional coupling degree)

Union set of the outputs of the event evi

Semantics-enabled Web APIs selection patterns

10

Functional similarity between Web APIs A Web API descriptor Wi is functionally similar to another Web API descriptor Wj if: 1. 2.

The categories of Wi and Wj are compatible SimIO(Wi, Wj) ≥ δ ∈ [0..1] (functional similarity degree)

Union of the input sets of all the Wj operations

Semantics-enabled Web APIs selection patterns

Union of the output sets of all the Wi operations

Concept affinity

11

Web API Registry

The registry design is based on the Web APIs conceptual description:

• semantic descriptor of the API (semantic annotation)

• semantic links between similar and coupled Web APIs

Semantics-enabled Web APIs selection patterns

12

Web API Registry ComingSoon InternetVideoArchive 0.37 Coupl IO=

Cou

plI = O 0. 90

GoogleMaps Coupl

IO =0.78

SimIO=0.60

FindMovieTheatres u Co

CouplIO=0.83

1 0.8 = O

65

pl I

Co

upl

IO = 0

MoviesAndTheatres

.73

SimIO=0.86 1.00 = l O pI Co u

Semantics-enabled Web APIs selection patterns

CouplIO=0.60

MapViewer

13

Web API Selection Patterns σ = 〈W Goal,, m , δ Goal,,