An API Gateway exposes and manages APIs. More and more organisation recognise the usefulness of such an infrastructural component that intermediates between the API users (clients) and the providers (services). Therefore, API Gateways are increasingly popular, but what exactly does a API Gateway do? They act as a ‘reverse proxy’ to hide the real location of the service from the client. The other applications differ from one product to another;
Act as a firewall, validate security tokens, delegating authentication, caching, throttling (rate-limiting based on API keys), load-balancing, mocking, usage monitoring, performance monitoring, mediation/transformation, aggregation, service ochestration, etc., etc.,
Develop an API Gateway that is extensible such that new applications can be added using a plug-in system. This allows for configuring the API Gateway as lean as possible for a specific situation. Besides, by using a plug-in system it is to be expected that external contributions are more likely to happen; A, so called, plugin ecosystem is part of many successful open source project, e.g. Node npm, Grails plugins, Ruby gems, jQuery plugin, Drupal modules, Apache modules, etc.
Does this assignment appeal to you? Please contact Jorg Hollenberg, firstname.lastname@example.org