A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Based Services
35
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 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-11 th , 2014
A Community-based, Graph API Framework to Integrate and Orchestrate Cloud-Based Services
1. Open-Source, Web-Based, Framework for
IntegratingApplications with Social Media Services and
PersonalOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal
Cloudlets.Cloudletswww.openi-ict.euA COMMUNITY-BASED, GRAPH API
FRAMEWORKTO INTEGRATE AND ORCHESTRATE CLOUD-BASED-SERVICESIosif
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-basedServices 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 andPublic 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
InfrastructuresAbout me & the Lab
3. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Problem Methodology Graph API Framework ConclusionsAgenda
4. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedA Surging App EconomyServices and
Personal Cloudlets.Source: VisionMobile EuropeanApp Economy
2014Source: Gigaom Research. Sizing the EU app economy 2014
5. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedAPI Growth & CategoriesServices
and Personal Cloudlets.
6. 958 million websites60 trillionweb pagesOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedOpen World AssumptionServices and Personal
Cloudlets.
7. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedEach API Is UniqueServices and
Personal Cloudlets.
8. Not Documentation Fragile Systems Different Practices
Different developing cyclesOpen-Source, Web-Based, Framework for
Integrating Applications with Cloud-basedServices and Personal
Cloudlets.VersioningProblems in a Nutshell
9. THINK ITS FUN?!Open-Source, Web-Based, Framework for
Integrating Applications with Cloud-basedServices and Personal
Cloudlets.
10. APIs Market ProliferationSource: Musser, J. (2012) Open
APIs: What's Hot, What's
Not?.http://www.slideshare.net/jmusser/j-musser-apishotnotgluecon2012Open-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedServices and Personal Cloudlets. Developer ConcernsData
FragmentationAPI ConstantEvolution>70% Increase in
customer/partner reach50% Increase in number of apps built from
APISource: Hurwitz & Associates 2011
11. Concerns for disruption ofbusiness modelsService
ProvidersPerspectiveApplications as cost centresOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedServices and Personal Cloudlets.
12. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.Lack
of data controlFragmentation in data silosUsers PerspectivePersonal
data on the cloud
13. API FrameworkSecurity Framework Cloudlet FrameworkMobile
SDKOpen-Source, Web-Based, Framework for Integrating Applications
with Cloud-basedServices and Personal Cloudlets. OPENi High-level
ApproachOPENi Platform
14. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Problem Methodology Graph API Framework ConclusionsAgenda
15. Studying Graph APIs & their repercussions Analyzing the
API Platforms Market Elaborating on the API research questionsI
BaselineAnalysisII PreparatoryAnalysisIII IterativeSpecificationsIV
ImplementationDirectionsV 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 andthe Service Enablers APIs under the prism of the
OPENGraph API Matching the OPENi API Framework to CBS methods
Designing the OPENi API Platform Addressing OPENi API governance
aspectsOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Methodological Approach
16. OPENi Landscape of Cloud-basedServices for In-depth
AnalysisOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.11,969
APIs(ProgrammableWeb,2014)Selection of 221Cloud-based
ServicesIn-depth analysis of23 Cloud-basedServices
17. The OPENi API Framework is thewhole set of different APIs
used bythird party developers to build theirapplications over an
OPENiplatform.Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets. OPENi
API Framework
18. A Graph API is a RESTful, user-centric, hypermedia API that
organizes webresources under a unified meta-model of Objects,
Aggregations of objects andConnections towards them which are
created by users. It is based on a commondictionary and it includes
a minimum set of properties in order to reduce time and costof
connection and integration with other APIs. Find all the
functionalities Find all properties for each object Find all the
connections for each objectGraph API Meta-model Map functionalities
to CBS methodsCommon DesignPrinciples &GuidelinesOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedServices and Personal Cloudlets. OPENi Graph
APIUser-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, andof course c) what activity (as verb)
was taken.Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedOPENi Graph API: What and Why?Services
and Personal Cloudlets.
20. CheckinEventRSVPStatusActivity APILocation
APIPhotoVideoMedia APIPlaceComments AccountProfiles
APIFavoriteLikesApplicationOpen-Source, Web-Based, Framework for
Integrating Applications with Cloud-basedServices and Personal
Cloudlets. A Snapshot of the APIsProducts -
ServicesAPIScoreAudioFileFolder-Album
21. Easy, semi-automatic integration of changes in CBS
DocumentationOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Flexibility Avoid Duplicate effort Unified REST CallsDesign
Principles
22. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedThe Path to a Sustainable
SolutionServices and Personal Cloudlets.
23. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
24. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Problem Methodology Graph API Framework ConclusionsAgenda
25. The OPENi API platform also ensures a unified workflow for
thedevelopers and eventually the users of OPENi-enabled
applicationsunifying the experience between the various cloud-based
servicesand the cloudlet.Overview of the Graph
APIPlatformOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal
Cloudlets.Handling applicationrequests, targeted to CBSor the OPENi
CloudletPlatform, from OPENi-enabledapplications thatutilize the
OPENi APIFramework.Providing access either todata stored in the
cloudletsor to references to datastored in the CBS.Connecting with
the cloud-basedservices.Handling authentication andauthorization
aspects.Identifying the user acrossthe several CBS profileswith a
unique OPENiaccount.
26. Example API: Overviewof Activity APIOpen-Source, Web-Based,
Framework for Integrating Applications with Cloud-basedServices and
Personal Cloudlets.
27.
API_PATH/usersAPI_PATH/[USER_ID]API_PATH/[USER_ID]/objectsAPI_PATH/[USER_ID]/activities[USER_ID]
-> meRequest that targets the OPENiuser (joins every
account)API_PATH/[ACCOUNT_ID]API_PATH/[ACCOUNT_ID]/objectsAPI_PATH/[ACCOUNT_ID]/connectionsAPI_PATH/[OBJECT_ID]API_PATH/[OBJECT_ID]/connectionsService
specificObject targeted(account
specific)API_PATH/[AGGREGATION_ID]API_PATH/[AGGREGATION_ID]/objectsAPI_PATH/[AGGREGATION_ID]/connectionsAggregation
targeted(account specific)Open-Source, Web-Based, Framework for
Integrating Applications with Cloud-basedExamples of Method
CallsServices and Personal Cloudlets.GET/POST/DELETEGET
API_PATH/[USER_ID]/accounts/ Targeting multiple services
28. Contextual property (of an object) includes information
about why a particular action occurred aswell as the context within
which a particular activity was performed.OPENiContext APIUsers
Habits DrivenApplicationsPersonalizedApplicationsOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedServices and Personal Cloudlets.Context APIUser Context
Application ContextMobile Device Context Social ContextUser
Social/Digital LifeDriven ApplicationsUsers ExperienceDriven
Applications
29. Data
AccessCommunicationManagementApplicationInteractionDeveloperInteractionOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedPlatform Basic LayersServices and Personal
Cloudlets.
30. OPENi EcostystemArchitectureOpen-Source, Web-Based,
Framework for Integrating Applications with Cloud-basedServices and
Personal Cloudlets.
31. Open-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal Cloudlets.
Problem Methodology Graph API Framework ConclusionsAgenda
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 affordanceschange according to the perspective of the
stakeholder Usage Resources Developer Perspective Not complete
documentation makes it really difficult to create
genericOpen-Source, Web-Based, Framework for Integrating
Applications with Cloud-basedServices and Personal
Cloudlets.clients Manual Testing Experimentation Bug Reports
Systems CrashingLessons Learnt
33. A unifying and interoperable API Framework that harmonizes
diverse concepts coming from aplethora of cloud-based services and
the cloudlet. An extensible-by-design API Framework which builds on
the power of a well-specified GraphAPI that uniformly represents
objects, aggregations and their connections in a graph. A
community-oriented API Framework in which developers can contribute
their own objects aslong as they conform to the OPENi Graph API
guidelines. A W3C standards based API Framework that deals with all
the API lifecycle of available CloudOpen-Source, Web-Based,
Framework for Integrating Applications with Cloud-basedServices and
Personal Cloudlets.Based Services. A context-aware API Framework
that enables OPENi developers to enhance applications
userexperience.OPENi Graph APIInnovations
34. OPENi Graph API Export to Hydra JSON-LD Format Improve
Classification According to: Semantics UsageOpen-Source, Web-Based,
Framework for Integrating Applications with Cloud-basedServices 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 APIsNext Steps
35. Open-Source, Web-Based, Framework for
IntegratingApplications with Social Media Services and PersonalJoin
Us!Acknowldgement: Photos retrieved from Google ImagesOpen-Source,
Web-Based, Framework for Integrating Applications with
Cloud-basedServices and Personal
Cloudlets.Cloudletswww.openi-ict.euTHANKS FOR YOUR
ATTENTION!Michael Petychakis (NTUA, DSSLab)[email protected]
michaelpetychakis @mpetyx