Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A Graph API Framework - APIdays Barcelona 2015

897 views

Published on

Nowadays, the proliferation of cloud-based services has revolutionised the way people communicate, connect, share and eventually conduct business. Thus, businesses conducted both by huge or small and medium enterprises are forced into providing their core competence(value) through an API. The OPENi approach(http://www.openi-ict.eu/) aims at analysing and classifying into categories the landscape of existing cloud-based services today and their publicly available APIs. Through multiple iterative steps, a map of cloud-based services along with multiple dimensions has been designed and an in-depth analysis of the selected set of APIs has been conducted. A set of Generic APIs (together with their associated objects, functionalities and relations to existing cloud-based services) are proposed, abstracting functionality for several popular categories of existing cloud-based services which bind to multiple service providers. In order to make those mappings interoperable and extensive a graph modelling was proposed by mapping the Generic APIs to the schema.org vocabulary. Furthermore, one additional tool is presented, he API Builder (http://api-builder.tools.epu.ntua.gr/web/) which is a community-based platform that aims to facilitate enterprises in adopting a Graph API that unifies the experience of multiple cloud-based services APIs and personal cloudlets, building and maintaining their software applications easily, despite any changes made in the CBS APIs. Following the aforementioned discussion, we briefly describe a novel approach to enrich existing API standards with business rules. This aims into taking advantage of the REST principles to enable the creation of generic clients that can operate as Finite State Machines and autonomously navigate through the vast semantically enriched web.

Published in: Software
  • Be the first to comment

A Graph API Framework - APIdays Barcelona 2015

  1. 1. 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
  2. 2. 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
  3. 3. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  4. 4. 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
  5. 5. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. Each API Is Unique
  6. 6. 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 ✔ ✔ ✔ ✔ ✔
  7. 7. 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
  8. 8. 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
  9. 9. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  10. 10. 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
  11. 11. 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
  12. 12. 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.”
  13. 13. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework + API Builder  Conclusions Agenda
  14. 14. 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.”
  15. 15. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.Graph API Modeling
  16. 16. 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
  17. 17. 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
  18. 18. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets. PyAPI – Transformation from one format to another
  19. 19. 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
  20. 20. 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
  21. 21. Open-Source, Web-Based, Framework for Integrating Applications with Cloud-based Services and Personal Cloudlets.  Problem  Methodology  Graph API Framework  Conclusions Agenda
  22. 22. 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
  23. 23. 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

×