A Graph API Framework Incorporating the Cloud Based Services Landscape

23
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. “Open-Source, Web-Based, Framework for Integrating Applications with Social Media Services and Personal Cloudlets” www.openi-ict.eu A GRAPH API FRAMEWORK INCORPORATING THE CLOUD BASED SERVICES LANDSCAPE Michael Petychakis, National Technical University of Athens Barcelona, May 6 th , 2015

Transcript of A Graph API Framework Incorporating the Cloud Based Services Landscape

Page 1: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

“Open-Source, Web-Based, Framework for Integrating Applications with Social Media

Services and Personal Cloudlets”

www.openi-ict.eu

A GRAPH API FRAMEWORK INCORPORATING THE CLOUD BASED

SERVICES LANDSCAPE

Michael Petychakis,National Technical University of Athens

Barcelona, May 6th , 2015

Page 2: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Michael Petychakis

National Technical University of Athens

APIs/Linked Data/Web 3.0

[email protected]

@mpetyx

About me

Page 3: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Problem

Methodology

Graph API Framework

Conclusions

Agenda

Page 4: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

A Surging App Economy

Source: VisionMobile European App Economy 2014

Source: Gigaom Research. Sizing the EU app economy 2014

Page 5: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Each API Is Unique

Page 6: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

No Documentation

Fragile Systems

Different Practices

Different developing cycles

Versioning

Problems in a Nutshell

Page 7: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

The Various Perspectives

Developer

• Data Fragmentation

• API Changes

User

• Fragmentation in data silos

• Lack of data control

• Personal data on the cloud

Service Provider

• Applications as cost centres

• Concerns for disruption of business models

Page 8: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.The OPENi Solution

• An easy-to-use storage• Full control over the storage• Sharing their personal data with

useful apps

• A rich source of data for their applications• A mechanisms to simplify the process of

sharing & collaborate with other developers• A service to outsource the physical, legal,

and ethical management of their mobile app's data

Page 9: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Problem

Methodology

Graph API Framework

Conclusions

Agenda

Page 10: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.Methodological Approach

• Studying Graph APIs & their repercussions• Analyzing the API Platforms Market• Elaborating on the API research questions

I – Baseline Analysis

II – Preparatory Analysis

III – Iterative Specification

s

IV – Implementatio

n Directions

V – Conclusion

s & Key Take-Aways

• Defining a Graph API Framework• Debating on the Context concept

• Specifying the OPENi Generic APIs and the Context API under the prism of the OPEN Graph API

• Matching the OPENi API Framework to CBS methods

• Designing the OPENi API Platform• Addressing OPENi API governance aspects

Page 11: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

OPENi Landscape of Cloud-based Services for In-depth Analysis

11,969 APIs

(ProgrammableWe

b, 2014)

Selection of 221

Cloud-based

Services

In-depth analysis

of 23 Cloud-based

Services

Page 12: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.OPENi API Framework

The “OPENi API Framework is the whole set of different APIs used by third party developers to build their applications over an OPENi platform.”

Page 13: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Problem

Methodology

Graph API Framework + API Builder

Conclusions

Agenda

Page 14: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.OPENi Graph API

• Find all the functionalities• Find all properties for each object• Find all the connections for each

object• Map functionalities to CBS methodsGraph API Meta-model

Common Design Principles & Guidelines

User-centric Design

“A Graph API is a RESTful, user-centric, hypermedia API that organizes web resources under a unified meta-model of Objects, Aggregations of objects and Connections towards them which are created by users. It is based on a common dictionary and it includes a minimum set of properties in order to reduce time and cost of connection and integration with other APIs.”

Page 15: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.Graph API Modeling

Page 16: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.Overview of the API Builder

The API Builder acts as the central point of reference for developers as it provides an intuitive user interface to

understand and utilize the OPENi API framework.

Retrieve… Update… Expand… Validate….

….the OPENi API meta-model

Page 17: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Builder Basic Functionalities

2. Navigate & test (Swagger)

4. Build APIs

1. Browse & Vote objects

6. Handle Methods & CBS

5. Manage Objects

+ Comment on APIs+ Follow APIs, Objects+ Export in selected Standards+ Notifications for all actions

3. Control Profile

Page 18: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

PyAPI – Transformation from one format to another

Page 19: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

API Builder is aLive!

http://api-builder.tools.epu.ntua.gr/web/

Send us your feedback

Image:http://www.radiostaddenhaag.com/wp-content/uploads/live.png

Page 20: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

In search for the API Nirvana

DeepGraphs

Exploring Hypermedia with Rules

Page 21: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

Problem

Methodology

Graph API Framework

Conclusions

Agenda

Page 22: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

APIs change through time, making difficult to enable long term support Companies change their APIs for various reasons

Business Model Change of Tech Stack New partnerships

No Standards are widely adopted

No Unique Classification for APIs is feasible because the affordances change according to the perspective of the stakeholder Usage Resources Developer Perspective

Not complete documentation makes it really difficult to create generic clients Manual Testing Experimentation Bug Reports Systems Crashing

Lessons Learnt

Page 23: A Graph API Framework Incorporating the Cloud Based Services Landscape

Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.

“Open-Source, Web-Based, Framework for Integrating Applications with Social Media

Services and Personal Cloudlets”

www.openi-ict.eu

THANKS FOR YOUR ATTENTION!

Join Us!

Michael Petychakis (NTUA, DSSLab)

michaelpetychakis @[email protected]

Acknowldgement: Photos retrieved from Google Images