2015-01-30 2 views
0

Я работаю над одним школьным проектом, и моя задача - создать простой Api-шлюз, который может быть размещен между любым сторонним api и конечными пользователями, этот шлюз можно использовать для определив пределы использования api или сделав некоторый анализ безопасности, я совершенно новичок в этом, я знаю основную концепцию шлюза API, но не знаю, как его реализовать с помощью JAVA.Как реализовать базовый шлюз API

Может кто-нибудь, пожалуйста, дать мне отправную точку, где начать внедрение шлюза API?

И каковы рамки, которые я должен использовать и с какой целью?

Благодаря, Nixit Патело

+0

Возможно, все, что может обрабатывать «перед» перехватчики. Может быть ['AspectJ'] (https://eclipse.org/aspectj/)? –

+0

Посмотрите на мой ответ здесь http://stackoverflow.com/questions/31546631/what-are-the-option-to-api-gateway-with-docker/36439313#36439313 –

ответ

1

В двух словах, шлюз API предоставляет публичные интерфейсы API, применяет политику (аутентификации - обычно через OAuth, дросселирование, присоединения к заданной API, кэшированию и т.д.), а затем (если разрешено) необязательно применяет правила преобразования и переадресовывает вызов к серверу. Затем, когда бэкэнд отвечает, шлюз (после необязательного применения правил преобразования снова) перенаправляет ответ на исходный вызывающий. Кроме того, вокруг него обычно будет решение по управлению API, предоставляющее абонентский портал, управление пользователями, аналитику и т. Д.

Таким образом, в основном любая инфраструктура веб-сервиса будет работать как быстрое решение DYI.

Вы также можете использовать плагин модели балансировки нагрузки с открытым исходным кодом, такой как NGINX.

Или возьмите API-интерфейс с открытым исходным кодом, чтобы узнать из него - например, WSO2 API Manager (самый простой способ увидеть его в действии - это размещенная версия: WSO2 API Cloud)