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@epu.ntua.gr
@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
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
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
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 @mpetyxmpetyx@epu.ntua.gr
Acknowldgement: Photos retrieved from Google Images

A Graph API Framework Incorporating the Cloud Based Services Landscape

  • 1.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  • 4.
    Open-Source, Web-Based, Frameworkfor 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
  • 5.
    Open-Source, Web-Based, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets. Each API Is Unique
  • 6.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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, Frameworkfor 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, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  • 10.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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, Frameworkfor 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, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework + API Builder  Conclusions Agenda
  • 14.
    Open-Source, Web-Based, Frameworkfor 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.”
  • 15.
    Open-Source, Web-Based, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets.Graph API Modeling
  • 16.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets. PyAPI – Transformation from one format to another
  • 19.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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, Frameworkfor Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  • 22.
    Open-Source, Web-Based, Frameworkfor 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, Frameworkfor 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