SlideShare a Scribd company logo
1 of 78
Download to read offline
Web API入門
高久雅生
(筑波大学図書館情報メディア系)
2015年6月6日(土)
大図研オープンカレッジ
1
本日のお品書き
• (自己紹介)
• Web APIとは何か?
 Web APIの事例
• Web APIの応用:マッシュアップ
 マッシュアップ事例
• Web APIの課題
2
はじめに:自己紹介
• 高久雅生(たかく まさお)
 筑波大学図書館情報メディア系
• 前職:物質・材料研究機構エンジニア
• 前々職:国立情報学研究所ポスドク研究員
• 研究分野
 情報検索、電子図書館、情報探索行動、学術情報
流通、専門図書館
• その他
 情報知識学会理事、日本図書館情報学会研究委員、
Code4Lib JAPANコアメンバー、saveMLAK技術
チームなど
3
宣伝:Code4Lib JAPAN
• 北米を中心とするシステムライブラリア
ンたちのコミュニティCode4Libの日本版
「Code4Lib JAPAN」
• 年に一回カンファレンスを実施
– 2013@南三陸町
– 2014@鯖江市
– 2015@東京
• 日時:9月6日(土)~7日(日)
• 会場:リクルート本社
4
参考:「Web APIの過去・現在・未来」
5
高久雅生. Web APIの過去・現在・未来(特集: Web API
活用術). 情報の科学と技術. 2014, Vol. 64, No. 5,
p.162-169.
WEB API とは?
What is Web API?
6
• ウェブ上で他のサービスを呼び出す方式、
取り決め
 標準的なデータやサービスの提供を行う手法
• 具体的には:
 ウェブを介して「要求(リクエスト)」を送って、
サーバが要求された処理をして「結果(レスポン
ス)」を送り返す仕組み
 リクエストはREST、レスポンスはXMLやJSONであ
ることが多い
7
Web APIとは?
Web APIとは?(概念図)
8
Webサーバ
Internet
リクエスト
HTTP通信
レスポンス
HTTP通信
例:ある著者が書
いた書籍の一覧
が欲しい
例:検索結果として、
書籍の詳細リストを
返す
Internet
• どのような形式の「要求(リクエスト)」か?
• どのような形式の「結果(レスポンス)」か?
を公開すること
 そうすることで利用方法がわかるようになる
9
Web APIの公開とは?
Webサーバ
リクエスト
HTTP通信
レスポンス
HTTP通信
例:ある著者が書
いた書籍の一覧
が欲しい
例:検索結果として、
書籍の詳細リストを
返す
Webとは?
10
World Wide Web
• WWW (World Wide Web)
 ワールド・ワイド・ウェブ
 ダブリュ・ダブリュ・ダブリュ
• または単に Web (ウェブ) と称する
• 【web】 (noun)
 A network of silken thread spun
especially by the larvae of various insects
(as a tent caterpillar) and usually serving
as a nest or shelter.
11https://commons.wikimedia.org/wiki/File:
Spider_web_Belgium_Luc_Viatour.jpg
ティム・バーナーズ=リー
(Tim Berners-Lee)
12Knight Foundation (2008) http://www.flickr.com/photos/knightfoundation/2467553359/
Webの3要素
• HTTP, URL, HTMLの3つの枠組みを用い
たWebの実現!
• HTTPレイヤでのデータ転送とドキュメン
トフォーマット指定
• URI指定によるリンクを通じたハイパーメ
ディアの実現
13
Internet
HTTPとは?
• HyperText Transfer Protocol
 基本的なWebサーバとのやり取りを行う方式
GET /index.html HTTP/1.0
14
Webサーバ
リクエスト
HTTP通信
レスポンス
HTTP通信
トップページの
情報が欲しい
トップページのHTMLファイ
ルをデータとして返す
URLとは?
• URL (Universal Resource Locator)
• Web上でのアドレスを指し示すアドレス(識
別子)として機能する
http://ci.nii.ac.jp/search?q=web+api
15
サーバのアドレス サーバ内で
の場所
ページの表示に必要なパラメータ
パラメータ名:q
パラメータ値:web+api
APIとは?
• Application Programming Interface
• アプリケーションソフトウェアの開発に
あたって使われる、標準的なモジュール
群、その利用法
 API = 開発環境における標準
 典型的には、特定のOS環境のソフトウェアは
共通する標準APIを用いて開発される
• Windows
• Apple iOS
16
APIとは? (2)
17
APIとは? (3)
18
Web APIとは何か?
• Web + API = Web API
• ウェブ上で他のサービスを呼び出す方式、
取り決め
 標準的なデータやサービスの提供を行う手法
19
クライアント
プログラム
Web API
提供サーバ
プログラム
インターネット
データ
(XML,
JSON
等)
リクエスト
レスポンス
Web APIの歴史
• インターネット普及前には…
 そもそも、同一環境(計算機やOS)同士で通信
する仕組みはある程度必要
 遠隔のサービスを呼び出す仕掛け
• ウェブ以前には:RPC(Remote Procedure Call)
 オープン環境においても、通信コマンドやデータ
形式の標準化(分野ごとに)
• これらの方式を受け継いで、Web上でも行う
ための手段
 SOAP方式
…一般的にはさほど普及しなかった
…はっきり言って面倒くさい
20
Web APIの歴史 (2)
• Web API:別名 Web Services とも呼ばれる
• 2002年頃から一般的に使われ始める
 Amazon, Googleなどが代表例
• きっかけはWeb 2.0
 2005/2006年頃に爆発的に流行
 当時に流行っていて先進的なサービスをまとめた用
語
 その技術要素のひとつがAJAXという手法
• 前提として必要なデータのやり取りの方式
=Web API
• Google Mapsがその代表格
– つまり、Google Maps APIが前提となって、AJAXを実現させた
21
実際のWeb APIのやり取り
22
23http://ci.nii.ac.jp/opensearch/search?q=%E5%9B%B3%E6%9B%B8%E9%A4%A8&format=atom
2つのやり取りの方式
• SOAP方式
 呼び出すパラメータ類をXML形式のデータにまと
め、それを受け渡す方式
 W3Cが規格化
 企業による初期のWeb API提供形態
• REST方式
 呼び出すパラメータ類はURL内のクエリとして発
行し、データ結果のみを受けとる方式
 ブラウザからも簡単に呼び出したり、テストした
りできるため、今ではこちらが主流に
24
RESTとは
• Webの基本的なやりとり、コンテンツの取得(GET)、
更新(POST)といったやりとりをまとめたお約束
• ウェブAPIとの関連では:
 コンテンツの取得はGETメソッドを使う
 コンテンツの更新はPOSTメソッドを使う
といった、ブラウザとウェブサーバのやり取りの仕方を指す。
• RESTの範囲を外れる例:
 データの取得にPOSTを使ったり、クッキーを前提とした
ページ遷移を必要とするサービス
• 要は、GETリクエストとパラメータによって、必要な
データを取得する仕組み
• 詳細は以下の書籍を参考のこと:
 山本陽平. 「Webを支える技術」. 技術評論社, 2010,
377p. (ISBN 978-4-7741-4204-3)
25
URLとWeb APIリクエストの関係
• Web APIにおいてはURLが基本的な単位
となって、それに対する「操作」(処
理)がやり取りを決める
 URLに様々なパラメータを与える
• 例:
http://ci.nii.ac.jp/opensearch/search?
q=図書館&
format=atom&
sort=7
26
URLとパラメータ
• Web APIのサービス単位で異なる
• CiNii Articlesの場合
 q=クエリ
 format=データ形式
 sort=ソート方式
• 詳細はヘルプを参照…
27
「CiNii Articles論文検索の
OpenSearch」ヘルプより
28
http://support.nii.ac.jp/ja/cia/api/a_opensearch
WEB APIの事例
Examples of Web APIs
29
Web APIの種類
• 様々なサービスがWeb APIとして提供
 たとえば、手元で使ったことがあるものだけ
でも、書籍検索、論文検索、画像検索、地図
情報、音声認識、顔認識、などなど…
 Web APIの紹介サイトProgrammable-Web
には600近いカテゴリが用意され、13,000を
超えるWeb APIサービスが紹介されている
• http://www.programmableweb.com/category
30
Web APIの事例紹介
• CiNii (Articles/Books)
• NDLサーチ
• カーリル
• (Google Maps)
• (Amazon)
31
CiNii Articles
• 国立情報学研究所が提供する日本の論文検索
サービス: http://ci.nii.ac.jp
• 検索:OpenSearch
 http://ci.nii.ac.jp/opensearch/search?q=web
%20api&author=Takaku&format=atom
 検索条件をパラメータとしてやり取りする
 検索結果はAtom形式(XML)やJSON形式等を
選択可能
• 詳細レコード:RDF
 http://ci.nii.ac.jp/naid/110009810692.rdf
 詳細レコードのデータをRDF形式として返す
32
CiNii Articles (2)
33
http://ci.nii.ac.jp/opensearch/search?q=web%20api
&author=Takaku&format=atom
CiNii Articles (3)
34
http://ci.nii.ac.jp/naid/110009810692.rdf
NDLサーチ
• 国立国会図書館が提供する検索サービス:
http://iss.ndl.go.jp
• 検索:OpenSearch, SRU/SRW
 http://iss.ndl.go.jp/api/opensearch?title=we
b%20api&creator=%E9%AB%98%E4%B9%
85&format=atom
 http://iss.ndl.go.jp/api/sru?operation=searc
hRetrieve&query=title=%22web%20api%22
&recordPacking=xml&recordSchema=dcndl
• データ取得系:OAI-PMH, SRU/SRW
 DCNDL (NDL版Dublin Core (XML))
35
NDLサーチ (2)
36
http://iss.ndl.go.jp/api/opensearch?title=
web%20api&creator=%E9%AB%98%E4%B9
%85&format=atom
NDLサーチ (3)
37
http://iss.ndl.go.jp/api/sru?operation=searc
hRetrieve&query=title=%22web%20api%22
&recordPacking=xml&recordSchema=dcndl
カーリル
• カーリル社が提供する図書館横断検索
サービス
 独自のWeb API
• 検索・所蔵検索
 http://api.calil.jp/check?isbn=978488951
0515&systemid=Tokyo_NDL
• データ形式
 JSON形式(独自)
38
カーリル (2)
39
そのほかのWeb API事例
• 興味深い事例としてはAmazon Web
ServicesやTwitterなどのように主要な商用
サービスにおけるWeb APIの展開例がある
• これらでは、自身のサービスをWeb API経由
で取得、操作できる
 Twitterクライアントの操作:ツイートの投稿、
編集、リプライなど(BOT)
 Amazonにおけるインフラ系ツールをWeb APIか
ら操作:サーバインフラの増強、ツールの追加
40
マッシュアップの事例
Examples of Mashups
41
Web APIの応用例
(マッシュアップ)
• Web APIの典型的な応用例(アプリケー
ション)
• マッシュアップとは? (Mashup)
 複数の機能を組み合わせて、可視化したり、
異なる機能同士を有機的につなげて利用する
 Web APIの応用アプリケーションは、Web
API機能をほかの何かと組み合わせて扱うこ
とが多いことから「マッシュアップ」と呼ば
れる
42
最初期のマッシュアップ
• HousingMaps (2005年)
 Google Maps + Craigslist
43
マッシュアップの種類
• (付加価値サービス)
• マッシュアップ(Mashup)
 サーバサイド型マッシュアップ
 Ajax型マッシュアップ
• クライアントサイド
 データ集約型マッシュアップ
• ハーベスト型
44
サーバサイド型マッシュアップ
• 最も古典的なタイプの応用例
• 様々な類型がある
 ひとつだけでなく、複数のサービスを組み合
わせる
 Ajax型との組み合わせも
45
サーバサイド型マッシュアップ
(概要図)
46
マッシュアップ
プログラム
①リクエスト
④レスポンス
インターネット
Web
ページ
(HTML)
Web API
提供サーバ
プログラム
②リクエスト
③レスポンス
データ
(XML,
JSON等)
ブラウザ
ふわっと関連検索
47
http://fuwat.to/cinii
ふわっと関連検索での処理の流れ
48
リクエスト
論文
Webページ
?
テキスト
ふわっと関連
検索
本文抽出
特徴語抽出
検索クエリ発行
論文データ
ベース
(CiNii)類似度計算
検索結果併合
レスポンス
論文ったー
49
https://twitter.com/ronbuntter
論文ったーの処理の流れ
50
青葉 11時 加古 並んで
る 物販 今から 昨日の 完
売 朝から 久しぶりに 引
い あたり >RT 二度寝 運
動会 買いに いい天気 掃
除 待機 ゞ 改二 て良かっ
た ありがとー だよー 来
週 暑い 方向 天気 到
着 晴れて 休日 行ってく
る 昨日は 結局 相変わら
ず地元 着いた た気がす
る っぽい 羨ましい 今月
buzztter (RSS)
検索クエリ発行
論文データ
ベース
(CiNii)検索結果
集計
対象論文選定
ツイート投稿
Twitter
Ajax型マッシュアップ
• ブラウザ上で実行されるJavaScriptを主体
としたアプリケーション
 サーバ側でまとめて実行された結果がかえっ
てくるのではなく、個別のWeb APIへのリク
エストがひとつずつ実行された分ごとに帰っ
てくるため、見た目の実行時間を早める利点
がある
51
Ajax型マッシュアップ(概要図)
52
マッシュアップ
プログラム
①リクエスト
②レスポンス
インターネット
Web
ページ
HTML
+
JavaScript
Web API
提供サーバ
プログラム
④レスポンス
データ
(XML,
JSON等)
ブラウザ
③リクエスト
カーリル
53
https://calil.jp/search?q=%E6%83%85%E5%A0
%B1%E7%A7%91%E5%AD%A6%E6%8A%80%E
8%A1%93%E5%8D%94%E4%BC%9A
データ集約型マッシュアップ
• Web APIを通じてデータ収集し活用でき
るようにしたマッシュアップサービス
• RSSリーダーなどはこの形態が多い
• 機関リポジトリなどにおけるメタデータ
ハーベスティング
 複数のRSSサイト → RSSフィード閲覧サー
ビス
 複数の機関リポジトリ → 論文の横断検索
サービス
54
JAIRO機関リポジトリ横断検索
サービス
55
http://jairo.nii.ac.jp/
WEB APIとデータ形式
Data Formats and Web APIs
56
Web APIと標準化
• 様々な標準規格化への欲望
• 多様なサービス vs ニーズ vs 標準化
• 標準化の難しさ vs 標準の乱立
• 検索・データ取得用Web API標準の例
 SRU, OpenSearch, OAI-PMH, OpenURL,
Sparql, …
57
データ形式と標準化
• Web APIにおいては、基本的には、リク
エストとレスポンスの2つの標準化がある
• レスポンス:機械可読なデータ形式
• データ形式:
 XML?
 JSON?
 TSV?
58
XMLとは?
• タグ要素とその内容テキストを指定し、機械的に読み取り可能
とする形式
 <親要素>
<要素 属性=“値”></要素>
</親要素>
• なぜXMLか?
 階層関係(木構造が入れ子になったデータ)を扱いやすい
 多言語対応(Unicode):日本語はじめ、多くの言語に対応
 ほとんどのプログラミング環境に対応するライブラリが完備され
ていて、簡単に利用できる
• XMLの欠点
 データ量が増える(タグ要素を入れ込む分)
• XMLの利点
 メタ言語:様々な形式の新しい種類の言語を規定できる
• XHTML, HTML5, SVG, RSS, Atom, …
59
JSONとは?
• ブラウザ上で動作するJavaScript言語が標
準対応する形式
 XMLの複雑でデータ量が多くなる欠点を、タ
グを使わず、より簡易に書けるようにした
データ形式
{“著者”: [ “高久雅生” ],
“タイトル”: “Web APIの過去・現在・未来” }
60
RSSフィードとは?
• RSS (Rich Site Summary, または RDF Site Summary)
 サイトの更新情報がXML形式として、タイトル、作者、概要テキスト、
作成日時などを表すデータ形式
• RSSフィードとは
 RSS形式で配信すること
 最新のお知らせ記事などを配信するのに、有用
• 例:カレントアウェアネスポータル
 その他、検索結果を配信するのに使われることも
• 例:CiNii検索
• 機械的にアクセスし、更新ごとの差分を得るのに使うのが普通
 RSSリーダー
• たいていの場合、XML形式を自動で出力するツールが使われている
 ブログしかり、図書館システムしかり、、、
• ユーザーの立場としては、どのURLにアクセスしたら、RSS形式の
データが取得できるかだけ、意識していればよい
61
RSSフィードとは?
• サイトの更新情報(各Webページのタイトル、
作者、概要テキスト、作成日時など)を表すデー
タ形式のこと。XML形式で表現されている。
例: http://d.hatena.ne.jp/josei002-10/rss の一部
タイトル
URL
概要
作者
日付 62
RSSフィード(RSS feed)とは
• Webサイトの更新
情報をRSS形式で配
信すること、(また
はRSS形式で配信し
たデータのこと)
• 当該Webサイトの
内容が更新されるた
びに、RSSも更新さ
れるようにする
 RSSを定期的に見れ
ば、更新状況がわか
る状況を作る
63
あるWebサイト
http://example.jp/
お知らせA
作成日:2010/12/1
お知らせB
作成日:2010/12/3
このサイトのRSS
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/3
お知らせC, 作成日:2010/12/5
お知らせD, 作成日:2010/12/7
お知らせC
作成日:2010/12/5
お知らせD
作成日:2010/12/7
RSSフィードの例
• 最新のお知らせ記事、最近追加したブロ
グ記事などを配信するのに、有用
 例:朝日新聞、カレントアウェアネスポータ
ル、はてなダイアリー
 ブログシステムはRSSフィードに対応したシ
ステムがほとんど
• その他、検索結果を配信するのに使われ
ることも
 例:CiNii検索
64
カレントアウェアネス-R
65
http://current.ndl.go.jp/car
RSSの一例
66
RSSリーダー
• 定期的にRSSをチェック
して、差分をみて更新
を確かめるツール
あるWebサイト
http://example.jp/
お知らせA
作成日:2010/12/1
お知らせB
作成日:2010/12/2
このサイトのRSS
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/2
お知らせC, 作成日:2010/12/5
お知らせD, 作成日:2010/12/7
お知らせC
作成日:2010/12/5
お知らせD
作成日:2010/12/7
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/2
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/3
お知らせC, 作成日:2010/12/5
お知らせD, 作成日:2010/12/7
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/2
お知らせC, 作成日:2010/12/5
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/2
http://example.jp/rss
お知らせA, 作成日:2010/12/1
お知らせB, 作成日:2010/12/2
お知らせC, 作成日:2010/12/5
12/1と12/2に作成さ
れたお知らせA,お知
らせBがあるんだな
前とってきたのと
同じなので更新され
てないな
新しくお知らせCが
増えたな
前とってきたのと
同じなので更新され
てないな
新しくお知らせDが
増えたな
RSSリーダー
67
RSSリーダの例
68
http://feedly.com/
RSS活用の例
• 自他サービスのRSSフィードを通常のウェブサ
イトでも容易に利用可能。
 普通のウェブページ内に数行のJavaScript指
定を入れるだけ(Google Feed API)
 参考:牧野,川嶋「新着雑誌記事速報から始
めてみよう:RSS・APIを活用した図書館
サービス」日本図書館協会, 2012, 161p.
69
マッシュアップの例
「新着雑誌記事速報」
70
http://lib-yuki.city.yuki.lg.jp/room_ad/sokuhou/main.html
RSSのまとめ
• サイトの更新情報を表すデータ形式のこと。
XML形式。
• サイトが更新→RSSも更新
• RSSリーダーは定期的にRSSをチェックして、
差分をみて更新を確かめるツール
• 既存のRSSを加工して自館のサービスとして
提供可能
 自他サービスのRSSフィードを通常のウェブサイ
トでも容易に利用可能。
• RSSフィードを提供するには、URLの決定、
RSSの形式の選択、RSS更新の仕掛け
71
WEB APIの課題
Issues in Web APIs
72
Web APIのご利益
• サービスの「プラットフォーム化」
 第3者にサービス提供する方式を標準化し、
利用を促進できる
※近年の多デバイス環境下(PC, タブレット,ス
マートフォン)では、自サービスのプラットフォー
ム化が必然になってしまうという側面も…。
• サービスの多様化
 Web APIにより、通常の利用形態を超えた利
用を作り出すことができる
73
APIコンテスト
• サービスの多様化のための具体策
• APIコンテスト
 Mashup Award
 CiNii APIコンテスト
• ハッカソン
• 「ブレインストーミングのアウトソーシ
ング」
74
Web APIの寿命
• Web APIの永続性はそれほど長くないことに注意が必
要
 GoogleサーチAPI(2010年に終了)
 Yahoo! Web検索API(2013年に終了)
 Twitter(2013年に大幅な更新)
• 必然的に、マッシュアップ側の寿命に影響を与える!
• 利用する場合には
 ある程度、代替サービスを念頭におく必要がある
• Youtube vs ニコニコ動画
• 提供する場合には
 たとえば、検索サービスを単純に更新するだけであっても、
Web APIにおいては大きな影響を与えることとなる
 最初に公開する際のリクエスト形式、データモデルの設計
75
Web APIの制限,認証
• Web API利用は機械可読(プログラムによる
やり取り)が前提であるため、過負荷状態に
なる危険もある
 人手アクセスの数倍~数十倍
• 同時利用に制限をかけることが一般的
 1時間に1000アクセスまで(カーリル)
 1時間に3000アクセスまで(CiNii)
 1日に100000アクセスまで(Google Maps)
• くわえて、アクセス元のユーザを識別するた
めに認証を付けることも
 Twitterなど
76
Web APIの提供にあたって
• URLとデータモデルの決定が非常に重要
 どのURLにリクエストを送ると、どんなデータが戻っ
てくるのか?
 「クールなURIは変わらない」
cf. http://www.kanzaki.com/docs/Style/URI
• Web API vs データファイルの提供
 数万件くらいの単純なデータなら、データファイル全
件をダウンロードできるようにしておくだけでも十分
• 逆に、データ量が膨大だったり、複雑な条件指定を行う必要が
あるものではWeb API化する恩恵も
– 「CSV最強…」by 吉本龍司
– 「Excelで扱えない規模からがビッグデータ…」by 喜連川勝
77
まとめに代えて
~参考文献を紹介~
78

More Related Content

What's hot

「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 

What's hot (20)

こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Rails あるある
Rails あるあるRails あるある
Rails あるある
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
 
AWSで作る分析基盤
AWSで作る分析基盤AWSで作る分析基盤
AWSで作る分析基盤
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
 
Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 

Similar to Web API入門

Infosta実習 発表ver
Infosta実習 発表verInfosta実習 発表ver
Infosta実習 発表ver
skdmai
 
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
Ikki Ohmukai
 
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
Ikki Ohmukai
 
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
Ikki Ohmukai
 
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェストCode4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェスト
Masao Takaku
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナー
Shuhei Otani
 

Similar to Web API入門 (20)

図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには
 
Code4Lib 2013参加報告
Code4Lib 2013参加報告Code4Lib 2013参加報告
Code4Lib 2013参加報告
 
Infosta実習 発表ver
Infosta実習 発表verInfosta実習 発表ver
Infosta実習 発表ver
 
NII/LODACデータ紹介
NII/LODACデータ紹介NII/LODACデータ紹介
NII/LODACデータ紹介
 
パートナーデータ紹介 NII, LODAC, 鯖江, OSM
パートナーデータ紹介 NII, LODAC, 鯖江, OSMパートナーデータ紹介 NII, LODAC, 鯖江, OSM
パートナーデータ紹介 NII, LODAC, 鯖江, OSM
 
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
CiNiiのメタデータ・デザイン@LinkedData勉強会(2012.01.18)
 
Code4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいことCode4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいこと
 
SPARQLでオープンデータ活用!
SPARQLでオープンデータ活用!SPARQLでオープンデータ活用!
SPARQLでオープンデータ活用!
 
Ogura LOD at code4lib_20180901
Ogura LOD at code4lib_20180901Ogura LOD at code4lib_20180901
Ogura LOD at code4lib_20180901
 
汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索汎用Web API“SPARQL”でオープンデータ検索
汎用Web API“SPARQL”でオープンデータ検索
 
20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)20100828 code4 lib_japan_事業説明(全事業)
20100828 code4 lib_japan_事業説明(全事業)
 
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
オープンデータと「つながる社会」@オープンデータ京都勉強会(2013.04.20)
 
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
国立情報学研究所のオープンデータに関する取り組み@図書館総合展(2013.10.30)
 
Code4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェストCode4Lib 2010報告会・発表ダイジェスト
Code4Lib 2010報告会・発表ダイジェスト
 
LODを使ってみよう!
LODを使ってみよう!LODを使ってみよう!
LODを使ってみよう!
 
100622 学術情報セミナー
100622 学術情報セミナー100622 学術情報セミナー
100622 学術情報セミナー
 
20151029 CODATA
20151029 CODATA20151029 CODATA
20151029 CODATA
 
研究データ流通を支える情報基盤とは
研究データ流通を支える情報基盤とは研究データ流通を支える情報基盤とは
研究データ流通を支える情報基盤とは
 
「ふわっと関連検索」 CiNii APIを使ったアプリケーション
「ふわっと関連検索」 CiNii APIを使ったアプリケーション「ふわっと関連検索」 CiNii APIを使ったアプリケーション
「ふわっと関連検索」 CiNii APIを使ったアプリケーション
 
Linked Open Dataの基礎と これからの情報活用
Linked Open Dataの基礎と これからの情報活用Linked Open Dataの基礎と これからの情報活用
Linked Open Dataの基礎と これからの情報活用
 

More from Masao Takaku

「ふわっと関連検索」のこれまでとこれから
「ふわっと関連検索」のこれまでとこれから「ふわっと関連検索」のこれまでとこれから
「ふわっと関連検索」のこれまでとこれから
Masao Takaku
 

More from Masao Takaku (20)

研究室紹介
研究室紹介研究室紹介
研究室紹介
 
201709 研究室紹介 milk
201709 研究室紹介 milk201709 研究室紹介 milk
201709 研究室紹介 milk
 
20171002 takaku lab-intro
20171002 takaku lab-intro20171002 takaku lab-intro
20171002 takaku lab-intro
 
タスク重要
タスク重要タスク重要
タスク重要
 
教科書LOD
教科書LOD教科書LOD
教科書LOD
 
20161003 takaku lab-intro
20161003 takaku lab-intro20161003 takaku lab-intro
20161003 takaku lab-intro
 
高久研究室の紹介(2016年度)
高久研究室の紹介(2016年度)高久研究室の紹介(2016年度)
高久研究室の紹介(2016年度)
 
20160424 wikipedia town-tsukubasan-takaku
20160424 wikipedia town-tsukubasan-takaku20160424 wikipedia town-tsukubasan-takaku
20160424 wikipedia town-tsukubasan-takaku
 
高久研究室の紹介(KLIS MILK 2015-10)
高久研究室の紹介(KLIS MILK 2015-10)高久研究室の紹介(KLIS MILK 2015-10)
高久研究室の紹介(KLIS MILK 2015-10)
 
研究室紹介・高久研究室
研究室紹介・高久研究室研究室紹介・高久研究室
研究室紹介・高久研究室
 
Linked Dataの概要と課題
Linked Dataの概要と課題Linked Dataの概要と課題
Linked Dataの概要と課題
 
高久研究室・研究室紹介
高久研究室・研究室紹介高久研究室・研究室紹介
高久研究室・研究室紹介
 
JuNii2 Validator
JuNii2 ValidatorJuNii2 Validator
JuNii2 Validator
 
Wikipediaとは? Wikipediaに投稿する方法
Wikipediaとは? Wikipediaに投稿する方法Wikipediaとは? Wikipediaに投稿する方法
Wikipediaとは? Wikipediaに投稿する方法
 
研究室紹介:高久研究室
研究室紹介:高久研究室研究室紹介:高久研究室
研究室紹介:高久研究室
 
Helping Memory Institutions in the Networked Information Society
Helping Memory Institutions in the Networked Information SocietyHelping Memory Institutions in the Networked Information Society
Helping Memory Institutions in the Networked Information Society
 
20131123 enjukaigi
20131123 enjukaigi20131123 enjukaigi
20131123 enjukaigi
 
研究室紹介 (情報経営・図書館主専攻)
研究室紹介 (情報経営・図書館主専攻)研究室紹介 (情報経営・図書館主専攻)
研究室紹介 (情報経営・図書館主専攻)
 
研究室紹介
研究室紹介研究室紹介
研究室紹介
 
「ふわっと関連検索」のこれまでとこれから
「ふわっと関連検索」のこれまでとこれから「ふわっと関連検索」のこれまでとこれから
「ふわっと関連検索」のこれまでとこれから
 

Web API入門