Contenu connexe Similaire à 20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門) (20) Plus de kulibrarians (20) 20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)1. ToC
1. Introduction
2. Definition (tentative)
3. Examples
データベースからデータだけをいただく方法 main
4. MashUps
(Web API入門) 5. Applications to library services
6. References
6 Refe ences
hayashiyutaka@gmail.com
2008.03.27(木) 18:30~
ku-libraians勉強会 #98
2008/03/27 ku-librarians勉強会 #98 2
Web APIとは?
Web Application Programming Interface
というとなんだか難しそうだが
1. Introduction
Webサイトからデータだけをかんたんに取得するためのしくみ
RSSもWeb APIのひとつ
2008/03/27 ku-librarians勉強会 #98 4
1
2. Hello World (“もしかして”) なぜWeb APIを使うのか?
http://google.com/complete/search?output=toolbar&q=addres 1. 処理の自動化
ISBNでKULINE検索→所蔵館をコピペ……を100回
2. インタフェースへの不満
KULINEの検索結果は見やすいとは言えない
<toplevel>
一般に万人に使いやすいインタフェースを設計するのは無理
<CompleteSuggestion>
じゃあ自分で作れば?
<suggestion data “address” />
data= address
3. メタサーチ(一種のマッシュアップ)
<num_queries int=“1890000000” />
Z39.50やスクリーン・スクレイピングは高コスト
</CompleteSuggestion>
XMLゲートウェイ(Web APIの一種)へ
...
<spelling_suggestion data=“<b><i>address</i></b>” /> 4. データの再利用
</toplevel> データプロバイダは流通しやすいフォーマット・単位を採用すべき
データベースとしてのWeb(→Web2.0, Semantic Web)
2008/03/27 ku-librarians勉強会 #98 5 2008/03/27 ku-librarians勉強会 #98 6
『今後の図書館システムの方向性について』 id:naoya says:
今後の図書館システムの方向性について はてなCTO伊藤直也は「なぜそんなこと(注:Web APIの提供)を
国大図協:学術情報委員会図書館システム検討WG (2007.03) するのか」という問いに対して…
http://www.soc.nii.ac.jp/anul/j/projects/si/systemwg_repo
rt.pdf
これから先のインターネットでは,トラフィックをいかに集めたかと
いうことよりも,インターネット上でどれだけデータを広めることが
できたか,ということが価値を持ち始めるのではないか,という,
第5章「W b2 0と今後の図書館システムの展開」
第5章「Web2.0と今後の図書館システムの展開」 はてななりの視点があったりします.
村田 輝,村上晋司
APIについて触れている
p.29「3)開放型OPAC」が特に
外部のWebサービスとの連携・協調やユーザーへのデータの開放
などにより,OPACの中で完結しない,開かれたサービスを実現する
…
『4大Webサービス完全攻略』 p.110
2008/03/27 ku-librarians勉強会 #98 7 2008/03/27 ku-librarians勉強会 #98 8
2
3. 定義は難しい
たとえばWikipediaは:
2. Definition (tentative) 「Webサービス(ウェブサービス)とは、HTTPなどのインターネット
関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを
用いメッセ ジの送受信を行う技術、またはそれを適用したサ
用いメッセージの送受信を行う技術、またはそれを適用したサー
ビス。W3Cにおいては、Webサービスとは、さまざまなプラット
フォーム上で動作する異なるソフトウェア同士が相互運用するた
めの標準的な手段を提供するものと説明されている。」
(Webサービス – Wikipedia)
2008/03/27 ku-librarians勉強会 #98 10
分かりにくいのでこう考えてみる Terminology
Webページ 「○○はWeb APIを提供している」
URLとHTMLの交換 「○○はWebサービスである」
人間が見るもの ○○=Google,Yahoo!,はてな,Amazon,…
デザインつき
こってり
「Webサービス」と「Web上のサービス」の違い
いらない部分がいっぱいついてくる
KULINEは「Web上のサ ビス」だが「Webサ ビス」ではない
KULINEは「Web上のサービス」だが「Webサービス」ではない
いわゆるオンラインサービスは「Webサービス」ではない
Web API
URLとXML(など)の交換
コンピュータ(プログラム)が見るもの
肝心なデータのみ
あっさり
必要な部分だけ(あるいはいらない部分は簡単に除去できる)
2008/03/27 ku-librarians勉強会 #98 11 2008/03/27 ku-librarians勉強会 #98 12
3
4. Amazon
Amazon Webサービス
http://www.amazon.co.jp/gp/feature.html?docId=451209
http://www.ajaxtower.jp/ecs/
分かりやすい解説
3. Examples
検索条件=ASINやタイトルなどいろいろ
取得できる情報(一部)
商品の詳細情報
商品の画像
レビュー
ランキング
関連商品(「この商品を買った人はこんな商品も買っています」)
2008/03/27 ku-librarians勉強会 #98 14
Google Yahoo!
Google Code Yahoo!デベロッパーネットワーク
http://code.google.com/intl/ja/more/ http://developer.yahoo.co.jp/
多すぎる!
Ajax Search Yahoo!
Book Search Viewability (Mar 2008) 検索
Maps ウェブ検索
Calendar
C l d 関連検索ワード
Chart 地図情報
Documents Visualization (Mar 2008) テキスト解析
Google Ajax 日本語形態素解析
Picasa 校正支援
YouTube
Flickr
Ajax Language (24 Mar 2008)
Yahoo! pipes
2008/03/27 ku-librarians勉強会 #98 15 2008/03/27 ku-librarians勉強会 #98 16
4
5. はてな その他のWeb API
はてなウェブサービス 最寄り駅
http://www.hatena.ne.jp/info/webservices http://map.simpleapi.net/
路線/駅名/最寄り駅
ブックマーク件数(XML-RPC) http://express.heartrails.com/
キーワード お天気
ダイアリー http://weather.livedoor.com/weather_hacks/webservice.ht
p
フォトライフ ml
人力検索
はてな?
京大理学研究科出身の近藤氏が2001年に設立
「人力検索」からスタート
この春オフィスを烏丸御池に移転(スタッフ募集中)
2008/03/27 ku-librarians勉強会 #98 17 2008/03/27 ku-librarians勉強会 #98 18
メリット&デメリット
メリット
サインアップすれば誰でも無料で使える(ものが多い)
簡単に使える
とりあえずブラウザがあればWeb APIを実行できる
有名言語で有名APIを利用するモジュールは豊富 4. MashUps
イチから実装するのも難しくない
デメリット
サービス保障はない
突然提供が中止されることも
API提供元のダウン時に備える必要あり
利用制限があることも(1日のリクエスト上限)
2008/03/27 ku-librarians勉強会 #98 19
5
6. マッシュアップとは マッシュアップの例
Web APIを組み合わせて便利なもの・面白いものを作る Buzz Japan!
http://jpn-now.net/
はてなブックマーク
Google Mapsをベースにして,その上に種々のデータをプ
livedoorクリップ
ロットするものが多い
YouTube
Yahoo!ブックマーク
マッシュアップエディタ 楽天(ランキング)
楽天(ラ キ グ)
Yahoo! pipes Flickr
Googleニュース
Yahooニュース
Amazonベストセラー
Yahoo!検索ランキング
などなど
2008/03/27 ku-librarians勉強会 #98 21 2008/03/27 ku-librarians勉強会 #98 22
マッシュアップの例
Yahoogle!
Yahoo! x Google
http://enjoy.yahoogle.jp/
Qoogle
Google Suggest x Yahoo! x Hatena::Bookmark 5. Applications to library services
http://qooqle.jp/
Amazlet
Amazonインタフェース改造
http://www.amazlet.com/
Weather Bonk
Google Maps x 天気?
http://www.weatherbonk.com/
2008/03/27 ku-librarians勉強会 #98 23
6
7. 京大でも何かしませんか? 図書館系Web API
Web APIを利用して便利なサービスが提供できないか? OCLC: Worldcat Affiliate
世間で実現されてることを図書館でもやりたいというだけ xISBN, xISSN
JSTOR: XMLゲートウェイ
http://www.jstor.org/about/xml-gateway.html
SRW/SRU(CQL)→XML(DC) orded by relevancy
Serials Solutions: 360 LINK XML API
RICOH: LIMEDIO v.7 OPAC
NII: JuNii+
APIというかふつーにXML+XSLT
NDL: PORTA
Ex Libris: MetaLib X-Server?
2008/03/27 ku-librarians勉強会 #98 25 2008/03/27 ku-librarians勉強会 #98 26
図書館系マッシュアップ 使えそうなWeb API
所蔵図書館マップ Google Book Search Book Viewability API
http://myrmecoleon.sytes.net/map/ Amazon Webサービス
ISBNで3つのOPACを検索→所蔵館をG.Mapにプロット
OCLC
Google Maps
Ajaxなネット書店横断検索 SBM
http://myrmecoleon.sytes.net/search/bookstore.php
p y y p p
宮崎大学OPAC + JuNii2
http://opac.lib.miyazaki-u.ac.jp:8080/
Amazon→OPACを検索
2008/03/27 ku-librarians勉強会 #98 27 2008/03/27 ku-librarians勉強会 #98 28
7
8. 妄想1:所蔵図書館マップ(京大版) 妄想2:OPACに表紙画像を
ISBNを入れてぽちっ→KULINEを検索して所蔵館がGoogle Amazon Webサービス
Maps上にプロットされる ISBNやタイトルなどで検索して画像のURLを取得する
Ex LibrisのPrimoでやってた
しくみ
1. ISBNでKULINEを検索する GBS Viewability API
2. 検索結果から所蔵情報を抜き出す 2008/3/13:APIリリース
このスクリーン・スクレイピングがとてつもなく面倒くさい 同時に早くも実装した北米図書館が
特にKULINEのような汚いソースでは 2008/3/19:Ex Librisが自社製品に実装したとリリース
KULINEがWeb APIを提供していれば楽勝 Primo, SFX, Aleph, Voyager
3. 所蔵館の経緯度(geocode)を取得 ISBNのほかにOCLC, LCCNで検索できるのが面白い
あらかじめデータベースを作っておく
4. Google Maps上にプロットする
2008/03/27 ku-librarians勉強会 #98 29 2008/03/27 ku-librarians勉強会 #98 30
妄想3:Amazon→OPAC 妄想4:自分好みのリゾルバを作る
Amazonの商品ページにOPACへのリンクをはる 360LINK XML APIを利用すると,EJのURLなどリゾルバで
http://kengo.preston-net.com/archives/002031.shtml 表示されているデータを取得できる
サンプルをデモ
しくみ(Firefox + Greasemonkey) http://staff.kulib.kyoto-u.ac.jp/catalog/labs/issn2url.html
1. Amazonの商品ページからISBNを抜き出す
2. 処理
ALはデザインをいじりにくい
リンクを表示させるだけなら簡単だが所蔵有無をチェックするのが
面倒(OPACがWeb APIを提供していたら楽勝) リゾルバを開かなくてもURLが分かる
3. <a>タグを埋め込む データを動的に取得する=LocalDBに持たなくていい
2008/03/27 ku-librarians勉強会 #98 31 2008/03/27 ku-librarians勉強会 #98 32
8
9. 妄想5:URLの横に「人気度」を 妄想6:Web APIを提供してみる
はてなブックマーク(などSBM)を利用して,図書館で提供する 新着情報をRSSで出力する
リンク集にブックマーク数=人気度を表示する http://ss.cc.affrc.go.jp/ric/home.html
RSSリーダーで読める
世間での人気度
スタッフのおすすめ度 Web APIを実装したOPACを導入する
RICOH LIMEDIO v.7
XOOPSでSBMなパスファインダー(進行中)
図書館カレンダーをGoogleカレンダーで
http://d.hatena.ne.jp/kunimiya/20080217/p2
Web小委員会で2008年度に実験する?
2008/03/27 ku-librarians勉強会 #98 33 2008/03/27 ku-librarians勉強会 #98 34
入門
いまさら聞けない「マッシュアップ」超入門 - @IT
http://www.atmarkit.co.jp/fwcr/rensai/imasara10/imasara
10_1.html
6. References MASHUPEDIA(2008/3/31閉鎖)
http://www.mashupedia.jp/
Web2.0 Book (ISBN:4844322265)
俺流amazonの作り方―Amazon Webサービス最新活用テ
クニック(9784756146755)
インタフェースを改造するということ
2008/03/27 ku-librarians勉強会 #98 36
9
10. 発展
4大Webサービス完全攻略(4774124966)
PHP5で作るWebサービス(4861371000)
RESTful Webサービス(9784873113531)
ProgrammableWeb
http://www.programmableweb.com/
はてなブックマーク – タグ webapi
http://b.hatena.ne.jp/t/webapi
キーワード
SOA, ROA, SaaS, SOAP, Webサービス, REST(ful), XMLゲート
ウェイ, OpenSearch, RSS, Atom, AtomPP, JSON, SRW, SRU,
CQL, OAI-PMH, OpenURL, XML-RPC, Ajax
2008/03/27 ku-librarians勉強会 #98 37
10