Semantics-enabled Web API Organization and Recommendation



Similar documents
SmartLink: a Web-based editor and search environment for Linked Services

Evaluating Semantic Web Service Tools using the SEALS platform

UIMA and WebContent: Complementary Frameworks for Building Semantic Web Applications

EXPLOITING FOLKSONOMIES AND ONTOLOGIES IN AN E-BUSINESS APPLICATION

Digital resource discovery: semantic annotation and matchmaking techniques

Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery

Building Web-based Infrastructures for Smart Meters

The Open University s repository of research publications and other research outputs

Comprehensive service semantics and light-weight Linked Services: towards an integrated approach

A semantic overlay for service discovery across Web Information Systems

MOBILE ARCHITECTURE FOR DYNAMIC GENERATION AND SCALABLE DISTRIBUTION OF SENSOR-BASED APPLICATIONS

Big Data Mining Services and Knowledge Discovery Applications on Clouds

Service-Oriented Architectures

Building the European Biodiversity. Observation Network (EU BON)

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY

Towards a Web of Sensors built with Linked Data and REST

Comparing Instances of the Ontological Concepts

AN ENVIRONMENT FOR EFFICIENT HANDLING OF DIGITAL ASSETS

Building native mobile apps for Digital Factory

A collaborative platform for knowledge management

Survey of the Benchmark Systems and Testing Frameworks For Tachyon-Perf

LinkZoo: A linked data platform for collaborative management of heterogeneous resources

REST vs. SOAP: Making the Right Architectural Decision

Addressing Self-Management in Cloud Platforms: a Semantic Sensor Web Approach

Collaborative Open Market to Place Objects at your Service

KEYSTONE - Short scientific report for STSM visit in TU Delft

cloud SOA Research Guide

Draft Response for delivering DITA.xml.org DITAweb. Written by Mark Poston, Senior Technical Consultant, Mekon Ltd.

business transaction information management

NIST s Guide to Secure Web Services

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

Industry 4.0 and Big Data

Web Services in 2008: to REST or not to REST?

Rapidly Integrating Services into the Linked Data Cloud

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

Ontological Identification of Patterns for Choreographing Business Workflow

MicroStrategy Course Catalog

Business Application Services Testing

A QoS-Aware Web Service Selection Based on Clustering

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

How To Make Sense Of Data With Altilia

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

BYODs & FAIR Data Stewardship

Flexible and modular visualisation and data discovery tools for environmental information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Ole Lensmar CTO SmartBear Software PAST, PRESENT AND FUTURE OF APIS FOR MOBILE AND WEB APPS

Secure and Semantic Web of Automation

WIRIS quizzes web services Getting started with PHP and Java

Highlights. In-browser diagram editor. WYSIWIG page authoring. Fine-grained security model. Built-in issue management.

Politecnico di Torino. Porto Institutional Repository

A Text Analysis Framework for Automatic Semantic Knowledge Representation of Legal Documents

BIG DATA HANDS-ON WORKSHOP Data Manipulation with Hive and Pig

Extending SOA Infrastructure for Semantic Interoperability

UML-based Test Generation and Execution

Annotea and Semantic Web Supported Collaboration

Towards Longer, Better, and More Active Lives

Combining RDF and Agent-Based Architectures for Semantic Interoperability in Digital Libraries

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Adding Semantics to Business Intelligence

Data Grids. Lidan Wang April 5, 2007

Reusability of WSDL Services in Web Applications

MODAClouds. An FP7 Integrated Project

Index. Registry Report

The Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam

Harvesting and Structuring Social Data in Music Information Retrieval

A Quick Introduction to Google's Cloud Technologies

SEMANTIC VIDEO ANNOTATION IN E-LEARNING FRAMEWORK

Luna Decision Overview. Copyright Hicare Research 2014 All Rights Reserved

LDaaSWS: Toward Linked Data as a Semantic Web Service

Auto-Classification for Document Archiving and Records Declaration

Data Models in Learning Analytics

COMPOSE A journey from the Internet of Things to the Internet of Services

Enterprise Search. Simplified. January 2013


Technical Report , LSDIS Lab, Dept of Computer Science, UGA. June 2003

SEMANTIC WEB BASED INFERENCE MODEL FOR LARGE SCALE ONTOLOGIES FROM BIG DATA

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

Achille Felicetti" VAST-LAB, PIN S.c.R.L., Università degli Studi di Firenze!

SAP BusinessObjects Design Studio Overview. Jie Deng, Product Management Analysis Clients November 2012

Uniface Road Map and Product Update Michael Taylor Product Manager

CrownPeak Playbook CrownPeak Hosting with PHP

WEB SERVICES. Revised 9/29/2015

Full-text Search in Intermediate Data Storage of FCART

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

BMC Software Inc. Technical Disclosure Publication Document Application Integration Manager (AIM) Author. Vincent J. Kowalski.

WSPAB: A Tool for Automatic Classification & Selection of Web Services Using Formal Concept Analysis

Revista Ingenierías Universidad de Medellín ISSN: Universidad de Medellín Colombia

IBM Watson Ecosystem. Getting Started Guide

Towards Trusted Semantic Service Computing

Web Applications Testing

AN INTEGRATION APPROACH FOR THE STATISTICAL INFORMATION SYSTEM OF ISTAT USING SDMX STANDARDS

Description of Knowledge Discovery Tools in KDTML

Creating Web Services Applications with IntelliJ IDEA

Structured Content: the Key to Agile. Web Experience Management. Introduction

C05 Discovery of Enterprise zsystems Assets for API Management

JBoss SOAP Web Services User Guide. Version: M5

Ontology-Based Query Expansion Widget for Information Retrieval

Introduction to Service Oriented Architectures (SOA)

Service Oriented Architecture

ISL Online Integration Manual

Transcription:

Semantics-enabled Web API Organization and Recommendation Devis Bianchini, Valeria De Antonellis, Michele Melchiori Department of Information Engineering Università di Brescia - Italy 1

Fast Web app development: Deployment of situational, short-living Web applications with focus on Web Interface integration of components independently originated from third parties and that are made available through Web APIs 2

Fast Web application development Which open issues? Allowing a Web designer to explore and understand the space of available APIs: dynamicity of this space and large number of available APIs (>4k APIs in ProgrammableWeb.com) heterogeneity in Web API description limited time usually allocated for the development of this kind of Web applications Our contributions: 1. A browsable registry of semantics-enriched Web APIs 2. Semi-automated selection patterns for Web APIs aggregation 3

Our vision Focus of this talk We rely on existing technologies and tools See [1] [1] D. Bianchini, V. De Antonellis, M. Melchiori. A semantics-enabled Web API registry, Int. Workshop on Web Semantics, 2010. 4

Talk Outline Web API organization in a semantics-enabled registry Web API Selection patterns The prototype tool implementation Conclusions and future work 5

Semantic annotation of Web APIs (I) Web APIs are usually described using plain, unstructured HTML semantic annotation of Web APIs is still a difficult task Few efforts have been made to solve these limitations Web Application Description Language (WADL), to propose a counterpart of the WSDL standard for WSDL/SOAP-based Web Services (too complex, not widespread) Combined use of hrests (to structure Web API description) and MicroWSMO (for Web API semantic annotation) 6

Semantic annotation of Web APIs (II) 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 [2]: (a) (b) (c) identification of elements (that is, operations, inputs, outputs) in the unstructured HTML document which represents the API, to produce an hrests description search for ontologies suitable for elements annotation and of taxonomies of categories for API classification annotation and classification of the API according to the MicroWSMO notation [2] 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. 7

SWEET-style annotation (I) <div class= service id= svc > <p>description of the <span class= label >ACME Hotels</span> service:</p> <div class= operation id= op1 ><p> The operation <code class= label >gethoteldetails</code> is invoked using the method <span class= method >GET</span> at <code class= address >http://example.com/h/fidg</code>, with <span class= input >the ID of the particular hotel replacing the parameter <code>id</code></span>. It returns <span class= output >the hotel details in an <code>ex:hotelinformation</code> document.</span> </p></div></div> Example hrests description 8

SWEET-style annotation (II) <div class= service id= svc > <p>description of the <span class= label rel= model href= ecommerce.owl#hotelreservation >ACME Hotels</span> service:</p> <div class= operation id= op1 ><p> The operation <code class= label >gethoteldetails</code> is invoked using the method <span class= method >GET</span> at <code class= address >http://example.com/h/fidg</code>, with <span class= input >the ID of the particular hotel replacing the parameter <code>id</code></span>. It returns <span class= output >the hotel details in an <code>ex:hotelinformation</code> document.</span> </p></div></div> Insertion of MicroWSMO annotations 9

W i = uri i,cat(w i ),OP(W i ),EV(W i ) op l OP(W i ) op l = method l,addr l,in(op l ),OUT(op l ) ev m EV(W i ) ev m = type m,out ev (ev m ) concept set of concepts set of concepts 10

Functional similarity between Web APIs A Web API descriptor W i is functionally similar to another Web API descriptor W j if: 1. The categories of W i and W j are compatible 2. Sim IO (W i, W j ) [0..1] (functional similarity degree) Union of the input sets of all the W j operations Union of the output sets of all the W i operations Concept affinity 11

Functional coupling between Web APIs A Web API descriptor W i can be functionally coupled with another Web API descriptor W j if: 1. Coupl IO (W i, W j ) [0..1] (functional coupling degree) Union set of the outputs of the event evi 12

Web application development scenario (I) Building a Web app from the scratch The Web designer proceeds step by step by selecting a Web API and mapping events with operations 1. The designer specifies a requested Web API in terms of categories, operations and/or inputs/outputs 2. The system suggests APIs that can be coupled with Web APIs already included in the Web app under construction 13

Search selection pattern I need a Web API to find movie theatres 14

Search selection pattern I need a Web API to find movie theatres 15

Completion selection pattern What functionalities could be added to my Web app? 16

Completion selection pattern What functionalities could be added to my Web app? 17

Web application development scenario (II) Modifying an existing application The Web designer finds an existing Web app on the Web of Data and desires to replace one of the component Web APIs, since 1. they became unavailable 2. application requirements have been changed 3. the designer needs to improve the QoS of the Web application The system suggests APIs that can substitute Web APIs already included in the Web app under construction 18

Substitution selection pattern I need a different Web API to convert coordinates 19

Substitution selection pattern I need a different Web API to convert coordinates 20

Web API Selection Patterns We define a Selection Pattern as a 4-uple = W,m,, W is the Web API descriptor to be searched for (search pattern), coupled (completion pattern), substituted (substitution pattern) m is the metric used to evaluate the degree of matching (search pattern), of coupling (completion pattern) or similarity (substitution pattern) is the threshold to filter out not relevant Web APIs is a ranking function to present the suggested Web APIs W i W j m (W,W i ) m (W,W j ) 21

Web API Selection Patterns Goal = W Goal, m Goal, Goal, < Goal, Goal = search Goal = completion Goal = substitution Purpose: to provide the designer with APIs matching the request W Goal, So m Goal is defined on the basis of Sim IO () Purpose: to provide the designer with APIs having high coupling with the W Goal already in the Web app So m Goal is defined on the basis of Coupl IO () Purpose: to provide the designer with APIs matching the descriptor W Goal, already in the Web app AND having high coupling with descriptors W J connected to W Goal, in the application So m Goal is defined on the basis of both Coupl IO (), Sim IO () 22

Prototype: Browsing by coupling 23

Conclusions and future work We proposed techniques for fast Web app development based on: Organizing Web API descriptors according to similarity and coupling criteria Exploiting in a semi-automated way this organization by means of selection patterns to support the application design Future work: Additional suggestion metrics (e.g., collective knowledge) Performing experiments on real datasets Developing a complete framework for Web API-based development (e.g., semi-automatic generation of Javascript glue code) 24

25