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

Embed Size (px)

Citation preview

  1. 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. 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. 3. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets. Problem Methodology Graph API Framework ConclusionsAgenda
  4. 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. 5. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedAPI Growth & CategoriesServices and Personal Cloudlets.
  6. 6. 958 million websites60 trillionweb pagesOpen-Source, Web-Based, Framework for Integrating Applications with Cloud-basedOpen World AssumptionServices and Personal Cloudlets.
  7. 7. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedEach API Is UniqueServices and Personal Cloudlets.
  8. 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. 9. THINK ITS FUN?!Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets.
  10. 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. 11. Concerns for disruption ofbusiness modelsService ProvidersPerspectiveApplications as cost centresOpen-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets.
  12. 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. 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. 14. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets. Problem Methodology Graph API Framework ConclusionsAgenda
  15. 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. 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. 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. 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. 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. 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. 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. 22. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedThe Path to a Sustainable SolutionServices and Personal Cloudlets.
  23. 23. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets.
  24. 24. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets. Problem Methodology Graph API Framework ConclusionsAgenda
  25. 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. 26. Example API: Overviewof Activity APIOpen-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets.
  27. 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. 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. 29. Data AccessCommunicationManagementApplicationInteractionDeveloperInteractionOpen-Source, Web-Based, Framework for Integrating Applications with Cloud-basedPlatform Basic LayersServices and Personal Cloudlets.
  30. 30. OPENi EcostystemArchitectureOpen-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets.
  31. 31. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-basedServices and Personal Cloudlets. Problem Methodology Graph API Framework ConclusionsAgenda
  32. 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. 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. 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. 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