SlideShare a Scribd company logo
API Gatewayの話
@charlier_shoe
自己紹介
早川 博(はやかわ ひろし)
@charlier_shoe
• 日本オラクルのプリセールス・エンジニア
- 製品選定のコンサルティング、アーキテクチャ設計など、販売活動の
技術的支援がミッション
- Java SE / Java EE / WebLogic / PaaS…
• 本発表は個人の見解であり、所属組織の公式見解ではありません
(;´Д`)
今日の話
BFF(Backend for Frontend)
がきっかけ
こういうのってミドルウェアがもうあって設定だ
けで組めたりしたら楽なんじゃないか。
と思ったけどそんなに単純じゃなかったので
ざっくり調べてみたという話です。
API Gateway
サービス呼出しを仲介して
いい感じにしてくれる
SC
期待すること
SC
認証、データ変換、
APIアクリゲーション、エンドポイント集約
アクセス分析
ルーティング、流量制御…
APIアグリゲーション
複数のサービス呼出しをまとめて、適切な形で
返す
SC
S
S
本
Sam Newman(著)
佐藤 直生(監訳), 木下 哲也(訳)
オライリー・ジャパン(2016)
本の場合
APIのセキュリティ
• クライアントにAPIキーを払
い出し
• 正しいキーがないリクエスト
はGatewayが拒絶
本の場合 その2
BFF
(Backend for Front End)
• APIをクライアントに最適化し
た形式に変換
• 複数のAPI呼出しを集約
API Gatewayの実装
• クラウドサービス
• AWS API Gateway
• Netflix API Gateway
• Open Source系
• Tyk
• Kong
• データフェッチ系 [^1]
• Falcor
• GraphQL
• SOA勢
• Oracle Service Bus
• IBM Integration Bus
[^1]
FalcorやGraphQLがAPI Gatewayを謳っているわけではないのでご注意を
Tyk
https://tyk.io/
Open SourceのAPI Gateway
認証
データ変換
アクセス分析
ルーティング
流量制御
だいたいできる…ただし
Tyk
SC
S
S
APIアクリゲーションはできない…
BFFに使うには厳しい
Falcor
https://netflix.github.io/falcor/starter/what-is-falcor.html
• Client-ServerでJSON-Graph形
式のデータ構造を共有
• ClientはJSON-Graphの必要な
部分を指定してデータを取得
• 一度取得したデータはキャッ
シュしておく
Falcor
SC
S
S
Falcor
データ・フェッチ
認証
データ変換
アクセス分析
ルーティング
流量制御
「そもそもAPI Gatewayのつもりないんで…」
Oracle Service Bus !!
Enterprise Service Bus
S S S S S S
C
全部できるよ!
ちょっとまってほしい
「1 つのことにすべての希望を託し、ゲートウェイを頼ってすべての段階に対処してい
るのを目にしたことがあります。また、誰もが単一障害点があるとどうなるかわかって
います。」
「ゲートウェイレイヤはますます多くの機能を担う傾向があり、結局は巨大な結合点と
なる可能性があります。」
じゃあBusの冗長化か? 何処までやるべきか…。
どうすればいいか考えてみる
S
S
S
C
C
認証、エンドポイ
ント集約
API
アグリゲーション
結合してもいいところはどこ?
プロトコル・スタック(的なもの)を想定しときに、
サービス機能より下位のレイヤーは結合してもよいと
考えては?
認証
エンドポイント解決
サービス サービス サービス
偉い人も言っている
「OpenID Connect は、インターネット上の
『アイデンティティ層』をなすものです。」
Fin.
https://www.facebook.com/groups/oracle.cloud.developers/
Facebookグループ
クラウド・テクノロジーを語ろう。
Oracle Cloud Developers

More Related Content

PPTX
Oracleがnode.jsをやり始めたというのだが!
PDF
マイクロサービス運用の所感 #m3dev
PPTX
Web API を気軽に使える ツールやサービスのご紹介
PDF
今日から始めるARMテンプレート
PDF
Building React, Flutter and Blazor development and debugging environment with...
PDF
Insight into Azure Active Directory - Azure AD Custom Role & Scope
PDF
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
PDF
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Oracleがnode.jsをやり始めたというのだが!
マイクロサービス運用の所感 #m3dev
Web API を気軽に使える ツールやサービスのご紹介
今日から始めるARMテンプレート
Building React, Flutter and Blazor development and debugging environment with...
Insight into Azure Active Directory - Azure AD Custom Role & Scope
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)

What's hot (20)

PPT
Microservicesのdesign patterns
PDF
Micronaut on Azure 試してみた
PPTX
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
PDF
13_B_5 Who is a architect?
PDF
ARMテンプレートでサーバーレスに挑む!
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
PPTX
サーバーレスで ガチ本番運用までやってるお話し
PDF
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
PDF
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
PPTX
はじめてのBluemixでシングルサインオン ~ 希望編!
PDF
Apache Spark on Azure
PPTX
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
PPTX
Azure Service Fabric 概要
PPTX
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
PDF
Azure 高速サイトソリューション
PDF
msal.jsを使う
PPTX
オフラインファーストの思想と実践
PPTX
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
PDF
Container x AI
Microservicesのdesign patterns
Micronaut on Azure 試してみた
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
13_B_5 Who is a architect?
ARMテンプレートでサーバーレスに挑む!
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
サーバーレスで ガチ本番運用までやってるお話し
Introducing the elastic 8.0 release a new era of speed, scale, relevance, and...
ルーメン・テクノロジーズ エッジプラットフォーム Varnish・Node.js
はじめてのBluemixでシングルサインオン ~ 希望編!
Apache Spark on Azure
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
Azure Service Fabric 概要
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
Azure 高速サイトソリューション
msal.jsを使う
オフラインファーストの思想と実践
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
Container x AI
Ad

Viewers also liked (6)

PDF
Sibelius Seraphini - Relay Modern
PDF
How to GraphQL
PDF
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
PDF
How to GraphQL: React Apollo
PPTX
マイクロサービスにおけるクエリー言語について
PDF
Rest ful api設計入門
Sibelius Seraphini - Relay Modern
How to GraphQL
Sashko Stubailo - The GraphQL and Apollo Stack: connecting everything together
How to GraphQL: React Apollo
マイクロサービスにおけるクエリー言語について
Rest ful api設計入門
Ad

Similar to Api gatewayの話 (20)

PPTX
技術者として抑えておきたい Power BI アーキテクチャ
PPTX
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PDF
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
PDF
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF
現場開発者視点で答えるWindows Azure
PPTX
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
PDF
Microsoft の深層学習への取り組み
PPTX
Azure Data Platform
PDF
kintoneではじめるビジネスインテリジェンス
PDF
Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編
PDF
楽ちんユーザー認証付Spa
PDF
Azure Antenna はじめての Azure Data Lake
KEY
Rdbms起点で考えると見えない世界 okuyama勉強会
PDF
非SAPの人に贈るSAP on AWS
PDF
Java web application testing
PDF
dots. 7/7 DSWBハンズオン資料
PDF
AWSによるサーバーレスアーキテクチャ
PDF
今改めて学ぶ Microsoft Azure 基礎知識
PPTX
Swagger jjug ccc 2018 spring
PPTX
Workshop1-01
技術者として抑えておきたい Power BI アーキテクチャ
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
現場開発者視点で答えるWindows Azure
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Microsoft の深層学習への取り組み
Azure Data Platform
kintoneではじめるビジネスインテリジェンス
Azure Serverless or Power Platform 〜 あなたならどっち?! - Azure Serverless 編
楽ちんユーザー認証付Spa
Azure Antenna はじめての Azure Data Lake
Rdbms起点で考えると見えない世界 okuyama勉強会
非SAPの人に贈るSAP on AWS
Java web application testing
dots. 7/7 DSWBハンズオン資料
AWSによるサーバーレスアーキテクチャ
今改めて学ぶ Microsoft Azure 基礎知識
Swagger jjug ccc 2018 spring
Workshop1-01

More from Hiroshi Hayakawa (7)

PPTX
Kubernetes × 可用性 -- cndjp第3回勉強会
PPTX
Kubernetes in プロダクション! -- cndjp第2回
PPTX
Kubernetes ときどき Serverless -- cndjp第1回勉強会
PPTX
はじめてのDockerパーフェクトガイド(2017年版)
PDF
Fn project爆誕
PPTX
Apiのことはすべてシーマンが教えてくれた
PDF
OAuth 2.0の概要とセキュリティ
Kubernetes × 可用性 -- cndjp第3回勉強会
Kubernetes in プロダクション! -- cndjp第2回
Kubernetes ときどき Serverless -- cndjp第1回勉強会
はじめてのDockerパーフェクトガイド(2017年版)
Fn project爆誕
Apiのことはすべてシーマンが教えてくれた
OAuth 2.0の概要とセキュリティ

Api gatewayの話