API Harmony by Jim Laredo

API Harmony by Jim Laredo

Transcript

  1. Jim Laredo – IBM Research API Harmony @apiHarmony bit.ly/apiharmony-apistrat

  2. ©2015 IBM Corporation 20 November 2015 2 The storyline API

    Harmony Developer Recommends most relevant APIs Advisor API datasets App starts to get built API Recommends most compatible APIs Use Dev. artifacts More APIs are added to the app API bindings are enabled for platform, language Recommends development artifacts, best practices, data handling, code aids etc. Automatically load or deploy artifacts ready for use I am looking for a messaging API Cool, I would like to add payments Nice. How is authentication handled? Which package is often used for my lang.? APP Vision: become the best place to find, learn about, and use web APIs. App bit.ly/apiharmony-apistrat
  3. ©2015 IBM Corporation 20 November 2015 3 API Harmony builds

    upon a graph-based data representation development Endpoint Characteristic User (company, developer…) Application contact connection connection API invocation feature feature requirement connection connection expose provision Graph-based data model on API ecosystems • Data on APIs, their characteristics, usage, and social fabric is stored in a graph-based data model • Graph traversal / algorithms are applied on this model to derive insights for... • …consumers to identify & recommend APIs • …providers to improve their offerings (consider competition, consumer requirements etc.) • …ecosystem providers to assess and influence API offerings, usage & demand bit.ly/apiharmony-apistrat
  4. ©2015 IBM Corporation 20 November 2015 4 Collecting API descriptions

    via API miner Lead Crawled mine Validated Partially validated edit validate validate mine: change mine: no change  API miner: API description extraction from web docs & crowd-sourcing Challenges - Scale - Automation - Life-cycle bit.ly/apiharmony-apistrat
  5. ©2015 IBM Corporation 20 November 2015 5 Analyzing source code

    repositories  GitHapi: cloning GitHub for data analysis Challenges - Storing the data - Efficient large- scale processing  573,692 analyzed, 27,832,746 unique URLs  1,223,600 licenses analyzed, 183,490 with MIT license  Recent Stats:  2,126,900 Github repos discovered  1,213,935 repos cloned  17.30 TB of source code bit.ly/apiharmony-apistrat
  6. ©2015 IBM Corporation 20 November 2015 6 Finding APIs relies

    on querying the API graph API Harmony backend Node.js controllers Analysis interface CRUD interface development Endpoint Characteristic User (company, developer…) Application contact connection connection API invocation feature feature requirement connection connection expose provision Challenges - Private / hybrid views - Online updates bit.ly/apiharmony-apistrat
  7. ©2015 IBM Corporation 20 November 2015 7 Learn about APIs

     API usage counts & usage combinations (which APIs go together) Challenges - Data collection / creation - Accuracy bit.ly/apiharmony-apistrat  Displaying Stack Overflow questions (what developers discuss about)
  8. ©2015 IBM Corporation 20 November 2015 8 Looking forward: Use

    APIs easily & effectively  Integrate development artifacts & usage mechanisms App Events apiHarmony Challenges - Collect artifacts/usage mechanisms - System integration  Best practices on using APIs Security checks Question/answer ?! Input-/output validation Error checking bit.ly/apiharmony-apistrat
  9. ©2015 IBM Corporation 20 November 2015 9 Conclusion  API

    Harmony’s vision: become the best place to find, learn and try, and use web APIs  Many benefits  Attract API consumers & providers to IBM ecosystem (Bluemix, APIm)  Learn about consumer requirements  Build knowledge on web APIs (landscape & usage, artifacts, best practices, pain points…)  Diverse challenges  Instrumentation  Understand users and needs  Hard to find, not search engine indexed (only doc), no direct link  Legal  What data can be collected, analyzed, exposed?  Perceived risks prohibit rapid iterations  Technical  Obtaining, storing, accessing large data sets (source code, graph-data…)  Static code analysis  … bit.ly/apiharmony-apistrat
  10. @apiHarmony http://apiful.io WWW laredoj@us.ibm.com bit.ly/apiharmony-apistrat