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
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
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
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