Friday, 19 October 2012

Public Web Service API Management Solution

So, as part of your Service-oriented Architecture (SOA) strategy, you've decided to join the Web 2.0 rush to publicise your web service APIs and are wondering about how you might manage this.  Do you build something or are there 3rd party products to help?  The buy-vs-build decision is always a tough one, but you will need to consider your core business and competencies, as well as the product's support for the following:

Partner website - a public portal where consumers of your services will be able to register, obtain service keys, documentation, support, raise issues, join mailing lists, subscribe to RSS updates, download client libraries etc.

Key management - provision and management of API keys and ensure those are supplied with calls.  Support for OAUTH

Partner reports and analytic tools - facilities for partners to monitor and drill down into api usage

Interactive API documentation - preferably generated and interactive documentation that partners can use to understand and explore/test APIs

Support forum - you don't want to do all the support yourself

White label - the ability to make the site look as if it was your own

Hosting - Cloud hosted or on-premise or hybrid?

API security - in addition to api key provision, the product should possibly offer additional support for standard protocols like WS-Security (assuming you're using SOAP that is)

Monitoring - the ability for your company to monitor service usage per partner

Quality of Service Management - including quota management, multiple version support, high availability

Monetisation - the ability to charge partners for their usage

Integration - the ability to do remote, scripted configuration or data extracts, for example to integrate the product's charging model with your accounting systems

Intermediation support - the ability to expose protocol variants of your services, e.g. if you have REST JSON services, the ability to return XML or even provide a SOAP facade.

In addition to looking for these features you will of course want to consider the usual things around buying products: product market share, product strategy, other customers, support etc.

In terms of products to buy, there are quite a number of established and new players in this space, including: