a community-based, graph api framework to integrate and orchestrate cloud-based services
TRANSCRIPT
- 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