Nowadays, the proliferation of cloud-based services has revolutionised the way people communicate, connect, share and eventually conduct business. Thus, businesses conducted both by huge or small and medium enterprises are forced into providing their core competence(value) through an API. The OPENi approach(http://www.openi-ict.eu/) aims at analysing and classifying into categories the landscape of existing cloud-based services today and their publicly available APIs. Through multiple iterative steps, a map of cloud-based services along with multiple dimensions has been designed and an in-depth analysis of the selected set of APIs has been conducted. A set of Generic APIs (together with their associated objects, functionalities and relations to existing cloud-based services) are proposed, abstracting functionality for several popular categories of existing cloud-based services which bind to multiple service providers. In order to make those mappings interoperable and extensive a graph modelling was proposed by mapping the Generic APIs to the schema.org vocabulary. Furthermore, one additional tool is presented, he API Builder (http://api-builder.tools.epu.ntua.gr/web/) which is a community-based platform that aims to facilitate enterprises in adopting a Graph API that unifies the experience of multiple cloud-based services APIs and personal cloudlets, building and maintaining their software applications easily, despite any changes made in the CBS APIs. Following the aforementioned discussion, we briefly describe a novel approach to enrich existing API standards with business rules. This aims into taking advantage of the REST principles to enable the creation of generic clients that can operate as Finite State Machines and autonomously navigate through the vast semantically enriched web.
1. 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
2. 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
mpetyx@epu.ntua.gr
@mpetyx
About me
3. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
4. 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
6. 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
✔
✔
✔
✔
✔
7. 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
8. 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
9. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
10. 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
Specifications
IV –
Implementation
Directions
V –
Conclusions
& 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
11. 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
(ProgrammableWeb,
2014)
Selection of 221
Cloud-based Services
In-depth analysis of
23 Cloud-based
Services
12. 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.”
13. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework + API Builder
Conclusions
Agenda
14. 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.”
16. 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
17. 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
18. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
PyAPI – Transformation from one
format to another
19. 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
20. 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
21. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
22. 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
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
THANKS FOR YOUR ATTENTION!
Join Us!
Michael Petychakis (NTUA, DSSLab)
michaelpetychakis @mpetyxmpetyx@epu.ntua.gr
Acknowldgement: Photos retrieved from Google Images