2

I am working on one school project, And my task is to make a simple api gateway, which can placed between any of the 3rd party api and the end users, tha gateway can be used for defining usage limits of the api or to do some security analysis, I am totally new to this, I know the basic concept of API gateway, but don't know how do I implement it using JAVA.

Can anyone please give me some starting point where to start implementation of API gateway?

And what are the frameworks I should use and for what purpose?

Thanks, Nixit Patel

Nixit Patel
  • 4,285
  • 5
  • 26
  • 54
  • Probably anything that can handle "before" interceptors. May be [`AspectJ`](https://eclipse.org/aspectj/)? – PM 77-1 Jan 30 '15 at 20:40
  • Look at my answer here http://stackoverflow.com/questions/31546631/what-are-the-option-to-api-gateway-with-docker/36439313#36439313 – Andrey Chausenko Apr 06 '16 at 00:49

1 Answers1

3

In a nutshell, API gateway exposes public APIs, applies policies (authentication - typically via OAuth, throttling, adherence to the the defined API, caching, etc.) and then (if allowed) optionally applies transformation rules and forwards the call to the backend. Then, when the backend responds, gateway (after optionally applying transformation rules again) forwards the response to the original caller. Plus, there would typically be an API management solution around it providing subscriber portal, user management, analytics, etc.

So basically any web service framework would work as a quick DYI solution.

You can also use plugin model of an open-source load-balancer such as NGINX.

Or take an open-source API Gateway to learn from it - e.g. WSO2 API Manager (the easiest way to see it in action is the hosted version: WSO2 API Cloud)

DSotnikov
  • 634
  • 3
  • 10