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

ヌーラボサービスにおける API 設計・運用のこれまでとこれから

ヌーラボサービスにおける API 設計・運用のこれまでとこれから

Presentation Slides at API Meetup Tokyo #3 http://api-meetup.doorkeeper.jp/events/14087

株式会社ヌーラボ

September 26, 2014
Tweet

More Decks by 株式会社ヌーラボ

Other Decks in Technology

Transcript

  1. 本⽇日のお話 1.  なぜ今  API  なのか 2.  ヌーラボでの  API  の事例例 • 

    API  の世代交代 •  エディタ機能の外部提供のアプローチ •  API  を核にしたサービス設計と実装 3.  まとめ
  2. これからの  API サービス 開発者 API API サービス サービス API ユーザ

    ・   ・   •  API  がサービスそのものとしての顔をもつ •  API  の向こう側にエンドユーザがいる
  3. API  エコシステム サービス 開発者 API API サービス サービス API ユーザ

    ・   ・   •  API  そのものに加え、外部のサービスプロバイダーや開 発者との関係性の双⽅方が重要に
  4. ヌーラボの取り組み •  Developer  Advocate  を絶賛採⽤用中! •  API  はサービスの海外展開の戦略略の⼀一端も Nulab  API

     の 開発者コミュニティ における推進 外部のプロダクトと ヌーラボプロダクトの 連携の促進
  5. Backlog  APIv1  (2007〜~) •  API  ⽅方式 •  XML-‐‑‒RPC •  認証

    •  HTTP  Basic  認証 •  API  で出来ること •  課題管理理系の機能を中⼼心に、プロジェクト作 成、ユーザ作成などの⼀一部の管理理機能も提供
  6. Backlog  APIv2  (2014〜~) •  API  ⽅方式 •  REST  /  JSON

    •  認証 •  API  Key •  OAuth2  (  Authorization  Code  )  準備中 •  API  で出来ること •  ⼀一部のユーザ設定やバージョン管理理、 WebDAV  を除いてほとんどすべてのこと
  7. v2  のアーキテクチャ データベース Web   向けの機能 APIv2 APIv1 Backlog  アプリケーション

    アプリケーションロジック 複雑なロジックを要するような処理理 専⽤用アプリとして実装
  8. Cacoo  API  (2009〜~) •  API  ⽅方式 •  REST  /  JSON,

     XML •  認証 •  API  Key •  OAuth  1.0a •  API  で出来ること •  図の作成、画像情報の取得、エディタの⾃自動 起動など
  9. Typetalk  API  (2013〜~) •  API  ⽅方式 •  REST  /  JSON

    •  認証 •  OAuth2 •  API  で出来ること •  ⼀一部の管理理機能を除いてほぼ全て
  10. 通信速度度に対する⼯工夫 •  nginx-‐‑‒gzip-‐‑‒filter-‐‑‒allow-‐‑‒weak-‐‑‒etag-‐‑‒patch •  gzip  フィルター処理理時に  weak  ETag  は保持 するパッチ

    •  JSON  から  weak  ETag  を⽣生成 •  サーバは富豪、ネットワークのほうが重要 https://github.com/nulab/nginx-‐‑‒gzip-‐‑‒filter-‐‑‒allow-‐‑‒weak-‐‑‒ etag-‐‑‒patch
  11. 本⽇日のお話 1.  なぜ今  API  なのか 2.  ヌーラボでの  API  の事例例 • 

    API  の世代交代 •  エディタ機能の外部提供のアプローチ •  API  を核にしたサービス設計と実装 3.  まとめ
  12. なぜ今  API  なのか サービス 開発者 API API サービス サービス API

    ユーザ ・   ・   •  API  そのものはサービスと同等の機能提供に •  開発者や補完関係となるサービスとの連携