I started API Evangelist in 2010 to help business leaders better understand not just the technical, but specifically the business of APIs, helping them be successful in their own API efforts. As part of these efforts I track on what I consider the building blocks of API management. In 2014 I'm also researching what the building blocks are in other areas of the API world, including API design, deployment, discovery and integration.
After taking a quick glance at the fast growing world of API integration tools and services, I've found the following building blocks emerging:
Pain Point Monitoring |
|
Documentation Monitoring - Keeping track of changes to an APIs documentation, alerting you to potential changes in valuable developer API documentation for single or many APIs |
|
Pricing Monitoring - Notifications when an API platform's pricing changes, which might trigger switching services or at least staying in tune with the landscape of what is being offered |
|
Terms of Use Monitoring - Updates when a company changes the terms of service for a particular platform and providing historical versions for comparison |
|
Authentication |
|
oAuth Integration - Provides oAuth integration for developers, to one or many API providers, and potentially offering oAuth listing for API providers |
|
Provider / Key Management - Management of multiple API platform providers, providing a secure interface for managing keys and tokens for common API services |
|
Integration Touch Points |
|
API Debugging - Identifying of API errors and assistance in debugging API integration touch points |
|
API Explorer - Allowing the interactive exploring of API providers registered with the platform, making calls and interacting and capturing API responses |
|
API Feature Testing - The configuring and testing of specific features and configurations, providing precise testing tools for any potential use |
|
API Load Testing - Testing, with added benefit of making sure an API will actually perform under a heavy load |
|
API Monitoring - Actively monitoring registered API endpoints, allowing real-time oversight of important API integrations endpoints that applications depend on |
|
API Request Actions |
|
API Request Automation - Introducing other types of automation for individual, captured API requests like looping, conditional responses, etc. |
|
API Request Capture - Providing the ability to capture a individual API request |
|
API Request Commenting - Adding notes and comments to individual API requests, allowing the cataloging of history, behavior and communication around API request actions |
|
API Request Editor - Allowing the editing of individual API requests |
|
API Request Notifications - Providing a messaging and notification framework around individual API requests events |
|
API Request Playback - Recording and playing back captured API requests so that you can inspect the results |
|
API Request Retry - Enabling the ability to retry a captured API request and play back in current time frame |
|
API Request Scheduling - Allowing the scheduling of any captured API request, by the minute, hour, day, etc. |
|
API Request Sharing - Opening up the ability to share API requests and their results with other users via email, or other means |
|
Other Areas |
|
Analytics - Visual analytics providing insight into individual and bulk API requests and application usage |
|
Code Libraries - Development and support of code libraries that work with single or multiple API providers |
|
Command Line - Providing a command line (CL) interface for developers to interact with APIs |
|
Dashboard - Web based dashboard with analytics, reports and tools that give developers quick access to the most valuable integration information |
|
Gateway - Providing a software gateway for testing, monitoring and production API integration scenarios |
|
Geolocation - Combining of location when testing and proxying APIs from potentially multiple locations |
|
Import and Export - Allowing for importing and exporting of configurations of captured and saved API requests, allowing for data portability in testing, monitoring and integrationPublish - Providing tools for publishing monitoring and alert results to a public site via widget or FTP |
|
LocalHost - Opening up of a local web server to a public address, allowing for webhooks and other interactions |
|
Rating - Establishment of a ranking system for APIs, based upon availability, speed, etc. |
|
Real-Time - Adding real-time elements to analytics, messaging and other aspects of API integration |
|
Reports - Common reports on how APIs are being used across multiple applications and user profiles |
|
Teams - Providing a collaborative, team environment where multiple users can test, monitor and debug APIs and application dependencies |
|
Workflow - Allowing for the daisy chaining and connecting of individual API request actions into a series of workflows and jobs |
|
What else are you seeing? Which tools and services do you depend on when you are integrating one or many APIs into your applications? What tools and services would you like to see?
I'm looking at the world of API design right now, but once I'm done with that research, I will be diving into API integration again, trying to better understand the key players, tools, services and the building blocks they use to get things done.