a graph api framework incorporating the cloud based services landscape
TRANSCRIPT
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
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
About me
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
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
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
Each API Is Unique
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
✔
✔
✔
✔
✔
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
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
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
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
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
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.”
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework + API Builder
Conclusions
Agenda
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.”
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.Graph API Modeling
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
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
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
PyAPI – Transformation from one format to another
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
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
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
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
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