Upgrade to Pro — share decks privately, control downloads, hide ads and more …

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユー...

#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ

セッションID:MW04

セッションタイトル:誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しい API エコシステム活用アプローチ

日時:DAY2 ( 5 月 30 日 ) 16:10 - 17:00

部屋:Room G

URL:https://www.microsoft.com/ja-jp/events/decode/2019session/detail.aspx?sid=MW04&kw=API

皆さん、Web API 使っていますか? 世界の API 管理市場は 2022 年までに現在の 2 倍 (3,000 億円) の市場規模になると予想されていて、今まで以上に API を使ったマッシュ アップは重要性を増すようです。

しかしながら、一口に API と言っても、GraphQL や OpenAPI (Swagger) といった各 API スタイルが成熟してきて、単純に REST という切り口だけでは収まらなくなってきました。また、その API のユースケースも、単純に開発者がマッシュ アップするだけでなく、Power BI や Azure Logic Apps といったサービスからエンド ユーザーが使ったりと、多様化が進んでいます。

そんな多様化され、今後ますます重要性が増す Web API は何を意識して開発するべきなのか? 昨今のメジャーな API スタイル (REST・GraphQL・OpenAPI・OData) と認証・認可 (OAuth) の仕組みに焦点を当てながら、Azure デベロッパーにとってもエンド ユーザーにとっても嬉しい「API エコシステムのあり方」についてお伝えします。

Session Info:https://gist.github.com/sugimomoto/930d33ee469e7e8afdb1925fd854261a

Kazuya Sugimoto

May 30, 2019
Tweet

More Decks by Kazuya Sugimoto

Other Decks in Technology

Transcript

  1. Ask the Speaker 写真撮影 動画撮影 セッション資料 後日公開 Twitter ハッシュタグ MW04

    誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しい API エコシステム活用アプローチ CData Software Japan 合同会社 Lead Engineer 杉本 和也 #decode19 #MW04 http://bit.ly/decode2019MW04
  2. Profile CData Software Japan 合同会社 Lead Engineer 杉本 和也 製品開発・サポートを担当するリードエンジニアとしてCData

    Software Japanで活動中。 Web API がリリースされるたびに検証してみる Web API Holic。 最近の個人的トピックはAPIエコシステムのあり方とポストREST API の可能性がある新しいAPIプロトコルのウォッチ。 面白いWeb APIがあったらTwitterで教えてください。
  3. 世界のAPI Management 市場は2022年までに 現在の2倍(3,000億円)の市場規模 API Management Market Augmenting Rapidly To

    Reach USD 3,436.16 Million by 2022 https://www.zionmarketresearch.com/news/api-management-market
  4. Web API External Service 3rd Party Tool SDK Protocol Style

    REST・SOAP OData・GraphQL gRPC etc... 各言語ごと Java・C#・PHP Python etc... ETL/BI Tool 帳票・アプリビルダー etc... IFTTT MS Flow etc... Web API の周辺に存在し Developer Experience に付与する環境 Portal Community ドキュメント フォーラム・Blog etc 開発者コミュニティ パートナーシップ
  5. Client Web API What’s Azure API Management? Azure API Management

    User Web API Web API API Management のベースになる考えは API を「作りやすく、提供しやすく、運用しやすく
  6. 開発者ポータル Azure API Management が標準で提供するAPI利用ユーザー向けポータルサイト ・API のドキュメントの閲覧 ・対話型コンソールを使用して API のトライアル

    ・API キーを取得するために、アカウントを作成してサブスクライブ ・自分自身のAPI使用状況に関する分析 ・Blog・問い合わせフォームの利用 https://docs.microsoft.com/ja-jp/azure/api-management/api- management-customize-styles
  7. 認証 Azure API Management がAPI保護の観点で提供する認証は3種類 ・Subscription Keyによる認証 ・OAuth AccessToken と

    jwt-validation を組み合わせた外部IdPによる認証 ・クライアント証明書を使った認証 注意:Azure API Managementそのものは IdP のための機能は提供していない。 HTTP Requestで渡ってきたTokenを検証する仕組み(jwt-validation)が提供さ れている。
  8. DXのために考えたい。なぜ OAuth を選択する? 管理者・デーモンだけが使うようなAPIユースケースを想定したい →Subscription 方式でも十分ではないか ※Azure API Management標準機能でサポートできる Azure

    AD に登録されているユーザー・パートナーに向けて公開したい →Azure AD(もしくは他社 IdP)基盤で提供 ※Azure API Management の jwt-validationでサポート サービスのエンドユーザーもそのエンドユーザーのスコープでアクセスしたい →OAuthを採用する価値あり ※別途 IdP を用意し、 jwt-validationと組み合わせる
  9. Swagger Ecosytem のポイント ・各言語ごとのSDKをSwagger Specから自動生成 ・LogicApps / MS Flow で

    Swagger Specを読み込んでさくっと連携 ・もちろん Document としての見やすさ・テストのしやすさもGOOD
  10. API Provider にとっても API User にとっても嬉しい Azure API Management for

    Developer Experience DX の観点でこれらの要素を見ることで より使ってもらいやすい・より使いこなされる API 提供に繋げることができる
  11. API Provider にとっても API User にとっても嬉しい Web API Standard for

    Developer Experience API Standard が持つ既存のエコシステムを活用す ることで、自分たちが提供する Web API にもその 力を加えることができる
  12. © 2018 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。 © 2019

    Microsoft Corporation. All rights reserved. 本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。 本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。