The ever-accelerating growth of cloud-based services (CBS) and the prevalence of multi-sided business models have distributed users’ data across different data silos that hinder mobile applications development and sustainability. The present paper aims at describing an open framework that abstracts functionality from CBSs through a common Graph, RESTful API, which manages calls among various CBS APIs and syndicates responses under a common standardized format. Combining this conceptual framework with semantically enriched modeling, the implemented platform allows a community of developers to govern, extend and main-tain the Graph API and consequently, applications to access a plethora of CBSs through a single point of access. Building on the experience of third-party solutions that mash-up data from different services in their API, the proposed approach goes beyond the state-of-the art through its community-orientation, the API extensibility-by-design and the advanced context awareness and sophistication it provides to developers.
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Based Services
1. “Open-Source, Web-Based, Framework for Integrating
Applications with Social Media Services and Personal
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Cloudlets”
www.openi-ict.eu
A COMMUNITY-BASED, GRAPH API FRAMEWORK
TO INTEGRATE AND ORCHESTRATE CLOUD-BASED-SERVICES
Iosif Alvertis, Michael Petychakis, Fenareti Lampathaki, Dimitrios Askounis
(National Technical University of Athens – NTUA, DSSLab)
Timotheos Kastrinogiannis (Velti SA)
AICCSA Doha, November-11th, 2014
2. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Me
PhD Student
API Developer
Semantic Web Enthusiast
Decision Support Systems Lab
Research in ICT including:
Future Internet Applications and Systems for Enterprises and
Public Administrations
Big, Open and Linked Data and Analytics
APIs, Social Media Publishing and Analytics
eGovernance and Policy Modeling
Enterprise and Government Interoperability
ICT for Manufacturing
Software Services and Cloud Infrastructures
About me & the Lab
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
A Surging App Economy
Services and Personal Cloudlets.
Source: VisionMobile European
App Economy 2014
Source: Gigaom Research. Sizing the EU app economy 2014
5. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
API Growth & Categories
Services and Personal Cloudlets.
6. 958 million websites
60 trillion
web pages
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Open World Assumption
Services and Personal Cloudlets.
8. ✔
Not Documentation
✔
Fragile Systems
✔
Different Practices
✔
Different developing cycles
✔
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Versioning
Problems in a Nutshell
9. THINK IT’S FUN?!
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
10. APIs Market Proliferation
Source: Musser, J. (2012) Open APIs: What's Hot, What's Not?.
http://www.slideshare.net/jmusser/j-musser-apishotnotgluecon2012
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets. Developer Concerns
Data Fragmentation
API Constant
Evolution
>70% Increase in customer/partner reach
50% Increase in number of apps built from API
Source: Hurwitz & Associates 2011
11. Concerns for disruption of
business models
Service Providers
Perspective
Applications as cost centres
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
12. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Lack of data control
Fragmentation in data silos
Users Perspective
Personal data on the cloud
13. API Framework
Security Framework Cloudlet Framework
Mobile SDK
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets. OPENi High-level Approach
OPENi Platform
14. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
15. • 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
• Deciding on the Service Enablers list
• Specifying the OPENi Generic APIs, the Context API and
the Service Enablers APIs 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. Methodological Approach
16. OPENi Landscape of Cloud-based
Services for In-depth Analysis
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
11,969 APIs
(ProgrammableWeb,
2014)
Selection of 221
Cloud-based Services
In-depth analysis of
23 Cloud-based
Services
17. 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. OPENi API Framework
18. “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.”
• Find all the functionalities
• Find all properties for each object
• Find all the connections for each object
Graph API Meta-mode•l Map functionalities to CBS methods
Common Design
Principles &
Guidelines
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets. OPENi Graph API
User-centric Design
19. The OPENi Graph API correlates the three basic parts of an activity: a) who
(actor) performed an action, b) on what (object) the action was performed, and
of course c) what activity (as verb) was taken.
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
OPENi Graph API: What and Why?
Services and Personal Cloudlets.
20. Checkin
Event
RSVP
Status
Activity API
Location API
Photo
Video
Media API
Place
Comments Account
Profiles API
Favorite
Likes
Application
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets. A Snapshot of the APIs
Products - Services
API
Score
Audio
File
Folder-Album
21. Easy, semi-automatic integration of changes in CBS
Documentation
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Flexibility
Avoid Duplicate effort
Unified REST Calls
Design Principles
22. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
The Path to a Sustainable Solution
Services and Personal Cloudlets.
24. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
25. The OPENi API platform also ensures a unified workflow for the
developers and eventually the users of OPENi-enabled applications
unifying the experience between the various cloud-based services
and the cloudlet.
Overview of the Graph API
Platform
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Handling application
requests, targeted to CBS
or the OPENi Cloudlet
Platform, from OPENi-enabled
applications that
utilize the OPENi API
Framework.
Providing access either to
data stored in the cloudlets
or to references to data
stored in the CBS.
Connecting with the cloud-based
services.
Handling authentication and
authorization aspects.
Identifying the user across
the several CBS profiles
with a unique OPENi
account.
26. Example API: Overview
of Activity API
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
27. API_PATH/users
API_PATH/[USER_ID]
API_PATH/[USER_ID]/objects
API_PATH/[USER_ID]/activities
[USER_ID] -> me
Request that targets the OPENi
user (joins every account)
API_PATH/[ACCOUNT_ID]
API_PATH/[ACCOUNT_ID]/objects
API_PATH/[ACCOUNT_ID]/connections
API_PATH/[OBJECT_ID]
API_PATH/[OBJECT_ID]/connections
Service specific
Object targeted
(account specific)
API_PATH/[AGGREGATION_ID]
API_PATH/[AGGREGATION_ID]/objects
API_PATH/[AGGREGATION_ID]/connections
Aggregation targeted
(account specific)
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Examples of Method Calls
Services and Personal Cloudlets.
‘GET’/
‘POST’/
‘DELETE’
GET API_PATH/[USER_ID]/accounts/ Targeting multiple services
28. “Contextual property (of an object) includes information about why a particular action occurred as
well as the context within which a particular activity was performed.”
OPENi
Context API
Users Habits Driven
Applications
Personalized
Applications
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Context API
User Context Application Context
Mobile Device Context Social Context
User Social/Digital Life
Driven Applications
Users Experience
Driven Applications
29. Data Access
Communication
Management
Application
Interaction
Developer
Interaction
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Platform Basic Layers
Services and Personal Cloudlets.
30. OPENi Ecostystem
Architecture
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
31. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Problem
Methodology
Graph API Framework
Conclusions
Agenda
32. 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
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
clients
Manual Testing
Experimentation
Bug Reports
Systems Crashing
Lessons Learnt
33. A unifying and interoperable API Framework that harmonizes diverse concepts coming from a
plethora of cloud-based services and the cloudlet.
An extensible-by-design API Framework which builds on the power of a well-specified Graph
API that uniformly represents objects, aggregations and their connections in a graph.
A community-oriented API Framework in which developers can contribute their own objects as
long as they conform to the OPENi Graph API guidelines.
A W3C standards based API Framework that deals with all the API lifecycle of available Cloud
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Based Services.
A context-aware API Framework that enables OPENi developers to enhance applications’ user
experience.
OPENi Graph API
Innovations
34. OPENi Graph API
Export to Hydra JSON-LD Format
Improve Classification According to:
Semantics
Usage
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
CBS APIs
Export to Hydra JSON-LD Format
Classification
Generic Changes from Community
Automatic Way to:
Implement new CBS APIs
Track Changes on APIs
Next Steps
35. “Open-Source, Web-Based, Framework for Integrating
Applications with Social Media Services and Personal
Join Us!
Acknowldgement: Photos retrieved from Google Images
Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based
Services and Personal Cloudlets.
Cloudlets”
www.openi-ict.eu
THANKS FOR YOUR ATTENTION!
Michael Petychakis (NTUA, DSSLab)
mpetyx@epu.ntua.gr michaelpetychakis @mpetyx
Notes de l'éditeur
Και μονο που αλλαζει η ημερομηνια σε καθε ενα απο αυτα, καθε μερα αυτος ο αριθμος πολλαπλασιαζεται
Open world assumption
----- Meeting Notes (10/6/14 22:47) -----
facebook photo
twitter photo
flickr, instagram
with just a click it goes to all of them
REST
Function-centric -> user-centric
Context: enriched and add value to developers
The embodiment of all the previous shown methodology
Event belongs to Location-based (sth happening) and Activity (for a User that is included in his calendar)
Interesting
Likes and tags not exposed indirectly in CBS, directly in OPENi (all likes)
Transparency in activities of users
Primary objects vs connections
Multiple accounts
Me (filter for CBS in message)
Aggregation; album
Object: photo
Connection: comments
GET for objects posted through OPENi – no interrelation of graphs