Successfully reported this slideshow.
Your SlideShare is downloading. ×

「斬新さ」より「柔軟さ」でみるWeb API

Ad

「斬新さ」より「柔軟さ」でみるWeb API
2015年6月6日
第23回大図研オープンカレッジ「大学図書館
員のためのWeb API入門」
常川真央 (Twitter: @kunimiya )
1
※このスライドにおける主張は常川真央個人の主...

Ad

自己紹介:常川真央
所属:日本貿易振興機構
アジア経済研究所図書館
システムライブラリアン
2012年10月〜2013年3月:
国立国会図書館に非常勤調査員として勤務
趣味
ビブリオバトル
2

Ad

NDL LabSearch Client
3

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
のうほん!
のうほん!
Loading in …3
×

Check these out next

1 of 52 Ad
1 of 52 Ad

「斬新さ」より「柔軟さ」でみるWeb API

Download to read offline

6月6日開催の第23回大図研オープンカレッジ「大学図書館員のためのWeb API入門」における常川の講演資料です。

詳細:http://d.hatena.ne.jp/dtk-doc/20150424/1429848216

6月6日開催の第23回大図研オープンカレッジ「大学図書館員のためのWeb API入門」における常川の講演資料です。

詳細:http://d.hatena.ne.jp/dtk-doc/20150424/1429848216

Advertisement
Advertisement

More Related Content

Advertisement

「斬新さ」より「柔軟さ」でみるWeb API

  1. 1. 「斬新さ」より「柔軟さ」でみるWeb API 2015年6月6日 第23回大図研オープンカレッジ「大学図書館 員のためのWeb API入門」 常川真央 (Twitter: @kunimiya ) 1 ※このスライドにおける主張は常川真央個人の主張 であり、所属先を代表するものではありません。
  2. 2. 自己紹介:常川真央 所属:日本貿易振興機構 アジア経済研究所図書館 システムライブラリアン 2012年10月〜2013年3月: 国立国会図書館に非常勤調査員として勤務 趣味 ビブリオバトル 2
  3. 3. NDL LabSearch Client 3
  4. 4. 今日お話すること APIがなぜ大事かを感覚的に理解する 「なにか新しいもの」というWeb APIのイメージ を取り払う より身近で、より現実的なWeb APIのイメージへ プラス、NDL LabSearch Clientの宣伝 4
  5. 5. Web APIはなぜ重要か? 5
  6. 6. WebAPIとは何か? 6
  7. 7. APIとは何か? 7 photo by Biswarup Ganguly http://commons.wikimedia.org/wiki/File:Car_Wheel_-_Kolkata_2006-03-22_04017.JPG
  8. 8. APIとは何か? 乗用車で考える タイヤ カーナビ 部品が消耗または故障したら、その部品だ け交換する 8
  9. 9. APIとは何か? タイヤやカーナビはなぜ交換できるのか? 形状や接続部分が規格化されているから 世の中の交換可能な部品のほとんどは規格 がとりきめられている 9
  10. 10. APIとは何か? APIとはシステム構築のための「規格(取り 決め)」である あるシステムの部品が交換可能かはAPIが あるかどうかにかかっている 10
  11. 11. Web APIとはなにか Webの流儀に沿ったAPI Webサービスを1つの「部品」として活用 より複雑なサービスを構築することができる 11
  12. 12. まとめ:WebAPIはなぜ重要か APIはシステムの部品を交換可能にするため の決まりごと WebAPIはWebの流儀にしたがって決めら れたAPI WebAPIがあることで、Webサービスが 「部品」になり、より大きなウェブサービ スを作ることができるようになる 12
  13. 13. Web APIの標準化 13
  14. 14. Web APIの標準化 良いAPIは、皆がよく馴染んでいるルールに 沿って決められている CiNiiも国立国会図書館サーチも、検索用の APIとして取り決めている「ルール」には、 OpenSearchやSRU/SRWなどの国際的な標 準規格を採用している 14
  15. 15. 喩え話:スターバックスのトッピング スターバックスではコーヒーを注文すると き、様々なトッピングを追加可能 組み合わせは無数 ときには呪文のような複雑な組み合わせの トッピングを注文するヘビーユーザーも 15
  16. 16. スターバックスの注文方式のメリット 自分の好みの組み合わせのトッピング注文 方法を覚えてしまえば、全国のスタバで自 分の好きなものを飲むことができる もしスターバックスが店舗ごとにトッピン グの種類も注文方法も全く違っていたら? 16
  17. 17. APIが標準規格を採用するメリット 多くのシステムが共通の規格に基づいたAPI を提供することで、様々なサービスから同 じ方法で情報を引き出すことができる。 17
  18. 18. Web APIの標準規格(1) :OpenSearch Amazonの子会社A9.comが中心となって策定し ているAPI規格 異なる検索サービスの検索結果を共有・活用する ための共通フォーマットを提供 検索クエリ、表示件数など最小限の命令 XMLかHTMLのいずれかで検索結果を受け取り可 能 18
  19. 19. OpenSearchの使用例 ウェブブラウザの検索窓から検索サービス を利用するときに活用されている 19
  20. 20. Web APIの標準規格(2) :SRU OpenSearchに先行して策定された情報検索のた めのWeb API標準規格 XMLベースの検索レスポンス CQL(Contextual Query Language)という言語 によって検索クエリを記述 検索システムにできるだけ依存せずにクエリが 書ける 国立国会図書館サーチのAPIで採用されている 20
  21. 21. SRUの使用例 2008年1月1日以降に出版されていて、タイト ルに「桜」を含むものを検索する http://iss.ndl.go.jp/api/sru?operation=s earchRetrieve&query=title%3d%22%e6 %a1%9c%22%20AND%20from=%222008 %22 21
  22. 22. NDC9 Fetcher: SRUを使ってISBNからNDCだけを取得 22
  23. 23. 活用例:読書傾向診断 23 _ _ 総記 16 図書館. 図書館学 18 図書. 書誌学 1 百科事典 0 一般論文集. 一般講演集 0 逐次刊行物 0 団体 0 ジャ ーナリ ズム. 新聞 0 叢書. 全集. 選集 0 貴重書. 郷土資料. その他の 特別コ レク ショ ン 0 哲学 0 歴史 5 社会科学 5 哲学各論 0 日本史 1 政治 10 東洋思想 2 アジア史. 東洋史 2 法律 0 西洋哲学 3 ヨ ーロッ パ史. 西洋史 1 経済 9 心理学 10 アフ リ カ 史 0 財政 0 倫理学. 道徳 0 北アフ リ カ 史 1 統計 0 宗教 4 南アフ リ カ 史 0 社会 10 神道 0 オセアニア史. 南極地方史 0 教育 5 仏教 1 伝記 0 風俗習慣. 民俗学. 民族学 3 キリ スト 教 2 地理. 地誌. 紀行 2 国防. 軍事 3 kunimiyaの読書目標達成状況(2015/5/31時点) 総記(20%) 哲学(30%) 歴史(10%) 社会科学(70%)
  24. 24. 読書傾向診断:やりたいこと  「図書館員は第2次区分を埋めるよう に本を読むべし」(by M先生)という 言葉に従うための独自のメソッド  読書履歴をNDC第2次区分で分類  どの区分の本を何冊読んだかを集計  3冊以上読んだ区分を「クリア」とす る  トータルのクリア率、第1次区分ごとの クリア率を算出した「読書傾向診断 書」を出力する  これまでの読書の「振り返り」をする 24 _ _ 総記 16 図書館. 図書館学 18 図書. 書誌学 1 百科事典 0 一般論文集. 一般講演集 0 逐次刊行物 0 団体 0 ジャ ーナリ ズム. 新聞 0 叢書. 全集. 選集 0 貴重書. 郷土資料. その他の 特別コ レク ショ ン 0 哲学 0 歴史 5 社会科学 5 哲学各論 0 日本史 1 政治 10 東洋思想 2 アジア史. 東洋史 2 法律 0 西洋哲学 3 ヨ ーロッ パ史. 西洋史 1 経済 9 心理学 10 アフ リ カ 史 0 財政 0 倫理学. 道徳 0 北アフ リ カ 史 1 統計 0 宗教 4 南アフ リ カ 史 0 社会 10 神道 0 オセアニア史. 南極地方史 0 教育 5 仏教 1 伝記 0 風俗習慣. 民俗学. 民族学 3 キリ スト 教 2 地理. 地誌. 紀行 2 国防. 軍事 3 自然科学 3 技術. 工学 0 産業 0 数学 6 建設工学. 土木工学 1 農業 0 物理学 2 建築学 0 園芸 0 化学 0 機械工学. 原子力工学 0 蚕糸業 0 天文学. 宇宙科学 2 電気工学. 電子工学 6 畜産業. 獣医学 0 地球化学. 地学 0 海洋工学. 船舶工学. 兵器 0 林業 0 生物科学. 一般生物学 2 金属工学. 鉱山工学 0 水産業 0 植物学 1 化学工業 0 商業 0 動物学 1 製造工業 0 運輸. 交通 0 医学. 薬学 5 家政学. 生活科学 1 通信事業 0 芸術. 美術 3 言語 1 文学 1 彫刻 1 日本語 3 日本文学 13 絵画. 書道 7 中国語. その他の東洋の諸言語 0 中国文学. その他の東洋文学 0 版画 0 英語 2 英米文学 25 写真. 印刷 0 ド イ ツ語 0 ド イ ツ文学 2 工芸 1 フ ラ ンス語 0 フ ラ ンス文学 11 音楽. 舞踊 0 スペイ ン語 0 スペイ ン文学 1 演劇. 映画 0 イ タ リ ア語 0 イ タ リ ア文学 0 スポーツ. 体育 0 ロシア語 0 ロシア・ ソ ヴィ エト 文学 4 諸芸. 娯楽 2 その他の諸言語 0 その他の諸文学 0 _ _ kunimiyaの読書目標達成状況(2015/5/31時点) 総記(20%) 哲学(30%) 歴史(10%) 社会科学(70%) 自然科学(30%) 技術. 工学(10%) 産業(0%) 芸術. 美術(20%) 言語(10%) 文学(40%)
  25. 25. 読書傾向診断:実現のための課題  読書履歴の取得  ブクログのエクスポートデータを使用  (本当はここもAPI化したいが......)  NDCの取得  ブクログのエクスポートデータにはISBNは含まれているが、NDC番号 はふられていない  ISBNに基いてNDLサーチから書誌情報を取得し、NDLが付与したNDC番 号を活用する  診断票の出力  Google Driveを使用  Google Driveには特定のURLに対するレスポンスをセルに代入する関数 がある  Google DriveとNDC9 Fetcherを組み合わせれば実現可能......! 25
  26. 26. 読書傾向診断:実現のためのAPI活用 26 NDLサーチ Google Drive NDC9 Fetcher ブクログ ① CSV形式の読書履歴を 入力(手動)③ SRUでISBNをクエリ として検索 ④書誌情報 を返す ⑥ 取得したNDCに 基いて読書履歴を集計・ 分析し、診断票を出力 (PDF形式) _ _ 総記 16 図書館. 図書館学 18 図書. 書誌学 1 百科事典 0 一般論文集. 一般講演集 0 逐次刊行物 0 団体 0 ジャ ーナリ ズム. 新聞 0 叢書. 全集. 選集 0 貴重書. 郷土資料. その他の 特別コ レク ショ ン 0 哲学 0 歴史 5 社会科学 5 哲学各論 0 日本史 1 政治 10 東洋思想 2 アジア史. 東洋史 2 法律 0 西洋哲学 3 ヨ ーロッ パ史. 西洋史 1 経済 9 心理学 10 アフ リ カ 史 0 財政 0 倫理学. 道徳 0 北アフ リ カ 史 1 統計 0 宗教 4 南アフ リ カ 史 0 社会 10 神道 0 オセアニア史. 南極地方史 0 教育 5 仏教 1 伝記 0 風俗習慣. 民俗学. 民族学 3 キリ スト 教 2 地理. 地誌. 紀行 2 国防. 軍事 3 自然科学 3 技術. 工学 0 産業 0 数学 6 建設工学. 土木工学 1 農業 0 物理学 2 建築学 0 園芸 0 化学 0 機械工学. 原子力工学 0 蚕糸業 0 天文学. 宇宙科学 2 電気工学. 電子工学 6 畜産業. 獣医学 0 地球化学. 地学 0 海洋工学. 船舶工学. 兵器 0 林業 0 生物科学. 一般生物学 2 金属工学. 鉱山工学 0 水産業 0 植物学 1 化学工業 0 商業 0 動物学 1 製造工業 0 運輸. 交通 0 医学. 薬学 5 家政学. 生活科学 1 通信事業 0 kunimiyaの読書目標達成状況(2015/5/31時点) 総記(20%) 哲学(30%) 歴史(10%) 社会科学(70%) 自然科学(30%) 技術. 工学(10%) 産業(0%) (赤字がAPI利用部分)
  27. 27. Web APIの標準規格(3) :OAI-PMH 27 情報資源のメタデータを収集(ハーベス ティング)するためのAPI 主に学術情報資源の統合検索サイトを構築 するために利用されている NIIやNDLとの連携ではOAI-PMHの導入が推 奨されている
  28. 28. ハーベスティングとは?(NDLの事例) 28 ハーベスタ ① 各リポジトリへのリクエスト
  29. 29. ハーベスタ ハーベスティングとは?(NDLの事例) 29 ② メタデータの収集
  30. 30. ハーベスタ ハーベスティングとは?(NDLの事例) 30 ③ メタデータの統合
  31. 31. ユーザ 利用 ハーベスタ ハーベスティングとは?(NDLの事例) 31 ④収集したメタデータの利用 NDLサーチ
  32. 32. 明治大学の機関リポジトリ 32
  33. 33. 明治大学の機関リポジトリから メタデータをハーベスト メタデータの一覧をリクエスト http://m-repo.lib.meiji.ac.jp/dspace- oai/request?verb=ListRecords&metadataPrefix =oai_dc 33
  34. 34. アジア経済研究所の機関リポジトリ 34
  35. 35. アジア経済研究所の機関リポジトリから メタデータをハーベスト メタデータの一覧をリクエスト https://ir.ide.go.jp/dspace- oai/request?verb=ListRecords&metadataPr efix=oai_dc 35
  36. 36. アクセス先以外はほぼ同じ書き方 → OAI-PMHに準拠しているため 明治大学の場合 http://m-repo.lib.meiji.ac.jp/dspace- oai/request?verb=ListRecords&metadataPrefix=oa i_dc アジア経済研究所の場合 https://ir.ide.go.jp/dspace- oai/request?verb=ListRecords&metadataPrefix =oai_dc 36
  37. 37. NDL LabSearch Clientのご紹介 37
  38. 38. NDL LabSearch Client  ユーザに検索画面を提供 する検索インターフェー スの一種  国立国会図書館が試験的 に開発・提供している 「NDLラボサーチ」 (http://lab.kn.ndl.go.jp/ ndls/)の一部 38
  39. 39. デモ(標準版) 39
  40. 40. NLCとNDLラボサーチの関係  タイヤと乗用車の関係  雪道を乗用車で移動するとき  チェーンかスタッドレスタイヤ に交換  手を入れる場所はタイヤだけ  車そのものはそのまま  タイヤを交換するかのように、 検索画面をカスタマイズ可能 40 NDLラボサーチ
  41. 41. 使用しているAPI規格: Apache SolrのQuerySyntax 41
  42. 42. 現在のNDLラボサーチ 42
  43. 43. NLCを開発した背景 図書館情報システムをめぐる問題を簡単に 解決できるような仕組みを浸透させたいか ら 問題の分割 大きな問題も小さな問題へ分割していけ ば、やがて解決に至る 43
  44. 44. 「問題の切り分け」ができないと......  図書館システムがリプレースされると、決まってOPAC上の検索 画面のデザインが変更され、こうした変更にユーザは大いに戸惑 う  図書館で当たり前のように起こる現象  しかし、果たして検索画面のデザイン変更は本当に必要なのだろ うか  もし既存のデザインを残して、検索エンジンを入れ替えたり、業 務システムを入れ替えたりできるような仕組みにOPACがなって いれば、ユーザは戸惑うことなく図書館をより円滑に利用するこ とができるのではないだろうか 44
  45. 45. NDLラボサーチでの「問題の切り分け」 データ処理の問題とデザインの問題を切り 分けて運用 検索画面を維持したまま検索サーバを改修 可能 逆に検索サーバを変更せずに新たな検索画 面を、今までの検索画面を残したまま提供 することが可能 45
  46. 46. 新聞を検索したいという要求 46 新聞検索専用サービスを OPAC上で提供したい ある図書館員
  47. 47. 問題の切り分け OPACにまつわる問題は大別して2種類 データ処理の問題 検索インデックスの方法 登録するデータの項目 デザインの問題 検索ボックスのデザイン 検索結果の表示方法 47
  48. 48. 新聞検索専用サービスを提供するのに 必要な要件 専用の検索窓 新聞の検索結果だけを表示する検索画面 この課題を解決するには、OPAC全体を 改修する必要がない 48
  49. 49. 「新聞を検索したい」という要求の本質  純粋に「デザインの問題」  検索サーバーと検索インターフェースが独立してい る場合  検索インターフェースの改修だけで済む  対象のOPACがデザイン部分だけをカスタマイズで きるような機構を用意していない場合  OPAC全体を改修するようベンダーに依頼するほ かなくなる  システムの仕様が「問題の切り分け」を阻害してい る可能性 49
  50. 50. デモ 新聞検索専用UI 50
  51. 51. さらなる応用例 NDLラボサーチ以外の検索システムの検索イン ターフェースとして移植することも可能 NLCが想定しているWebAPIを実装しさえすれば、 NDLラボサーチと同じ使用感の検索体験を実現で きる 今後 Web APIの整備によって応用範囲を広げていく 51
  52. 52. まとめ WebAPIは、図書館サービスを構成するための 様々なパーツをつなぐためのルール WebAPIありきで設計されたシステムは強い柔 軟性と運用性を発揮することができる 新たなことに挑戦することに意欲を燃やす図書 館員だけではなく、今ある図書館サービスを堅 実に運用しようとする図書館員の助けにもなる 52

Editor's Notes

  • 発表時間:1時間
    質疑:30分

×