• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Code4 Libカーリルの技術と図書館Apiの使い方
 

Code4 Libカーリルの技術と図書館Apiの使い方

on

  • 4,384 views

2010/03/24

2010/03/24

Statistics

Views

Total Views
4,384
Views on SlideShare
4,159
Embed Views
225

Actions

Likes
3
Downloads
14
Comments
0

3 Embeds 225

http://blog.calil.jp 215
http://www.slideshare.net 6
http://wiki.onakasuita.org 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Code4 Libカーリルの技術と図書館Apiの使い方 Code4 Libカーリルの技術と図書館Apiの使い方 Presentation Transcript

    • 図書館検索「カーリル」の技術 と 図書館APIの使い方 Nota Inc 洛西+吉本 @Code4Lib
    • 目次•  会社紹介•  カーリルのコンセプト (5)•  フロントエンド技術 (5)•  バックエンド技術 (10)•  APIの解説と使い方 (10)•  APIの申し込み方法 (10)
    • Founded inSiliconValley
    • Nota Inc2007年12月、シリコンバレー・サンノゼに設立インターネット上で、ユーザーにクリエイティブな体験を提供する
    • 図書館システムの問題点•  図書館システムがばらばら•  OPAC/WebOPACが機能していない•  図書館にある本しか探せない•  書誌情報はだれでも手に届かない•  予算不足•  利用者視点で作られていない使われていない
    • カーリルのきっかけ•  吉本の中津川市における情熱 –  行政システムの開発に一人で関わる –  利用者が少ないことに対する懸念 –  現実的、かつ斬新な手法で問題を解決•  「ライフログ」のブレインストーミング –  日常の情報を共有することでもっと世界は楽 しく豊かになる –  本は、コミュニケーションの起点になる
    • カーリルの発想•  本を起点にネットでコミュニケーションを生むには? –  どこからでもアクセスできる書誌情報が必要 –  OPACがそのはずだが時代遅れになっている•  誰もがクリエイター・開発者になれる時代 –  開発できる人やツールは山ほどある –  どこにいても、個人でもできる•  APIの発想は、新しい公共の発想 –  基盤を整備することでフラットなネットワークをつくる –  図書館を整備することは地方の若者流出につながる
    • そこで..
    • DEMO
    • 開発ストーリー•  平均年齢は27歳。開発は主に4人。 –  ディレクション、インターフェース開発 –  検索エンジン・API開発 –  インターフェース開発 –  アート・デザイン –  図書館データベース作成 –  ユーザーサポート
    • 中津川   サンノゼ   藤沢   京都  
    • インターフェース •  迷いのない操作 •  待たせないアニ メーション •  入力欄は一つ •  蔵書のありなしを 色分けして表示 •  ベストセラー/作 家リスト/カテ ゴリー •  読みたいリスト •  コンピュータが人 間に合わせると いう考え方=HCI
    • アートワーク•  目指したのは、住んでいる町をイメージできる 「地域感」•  「本」から連想する本棚や木目調を避けた•  図書館という「場」から地図を採用 雲、町の風景、山、海、乗り物、動物 = 日常
    • Mash Up!•  カーリルは、他のサイトのMashupのカタマリ•  利用しているAPI •  Amazon API •  Google Maps / Geocoding •  WikiPedia •  Yahoo Image Search •  日本発のサービスがないのが悲しい…
    • バックエンド 紹介
    • カーリルのインフラ【サーバー環境】=クラウド・ハイブリッド•  Google App Engine  ・CPU時間単位の課金•  Linux Server@中津川  ・時間のかかる処理•  コストの最適化  ・GAEはCPU時間に課金される  ・図書館システムは遅い・・
    • ソフトウェア環境•  100% Pure Python•  どこでも動く•  Python2.5/2.6の標準ライブラリ+  オープンソースライブラリのみで構成   インストールしたLinuxにファイルを 入れて立ち上げるだけでタスク処理開始
    • 分散処理•  共有メモリ(memcache)ベースのキュー•  司令塔(マネージャー)はGAEにある•  キューの処理はGoogle App Engineでも  他のサーバーでも分散して処理できる・時間のかかる処理はGoogle App Engineを  なるべく使わない・アクセスが増えたらGAEでスケール サーバー増設でコストダウン
    • サーバー構成 Google  App  Engine  中津川サーバー 中津川サーバー 中津川サーバー
    • 負荷対策•  同時接続数を制限 1接続∼10接続  オーバーした場合は平等に待たされる•  セッションの再利用•  キャッシュ
    • 図書館クラス・基底クラス『LibrarySystem』     ↓継承 システムクラス『iLiswing21_We_V2』     ↓継承  図書館クラス『Gifu_Nakatsugawa』 図書館ごとの違いはシステムクラスの関数や パラメーターをオーバーライドするだけ。 図書館毎にフルカスタマイズ可能
    • OPACの管理•  Googleマッシュアップの探索ツール•  システムエラーを検知して調査•  Twitterのつぶやきに対応•  常に10カ所くらいはシステム更新中
    • API•  XMLとJSON•  GET
    • 図書館情報•  近くの図書館•  県別の図書館•  システムの詳細情報 http://api.calil.jp/library? geocode=136.7163027,35.390516& format=xml
    • 蔵書貸出状況の確認•  複数のISBN/複数のシステムあわせて最大 100冊の書籍の状況を一括確認できる・初回のアクセスによりセッションIDが発 行・そのセッションIDを使ってポーリング →10秒以上ポーリングがないと一時停止
    • JavaScript ライブラリvar calil = new Calil({ appkey : 1f797b98033661, render: new CalilRender(list), isbn : isbn_list, systemid : $(#systemid).val()});calil.search();
    • API DEMO
    • API制限•  IP単位で1000冊/時間まで•  RESTFulのAPIも提供予定
    • APIの申し込み方法•  まずは、API仕様書へアクセス –  http://blog.calil.jp/p/api.html•  アプリケーションキーを申請 –  http://api.calil.jp/apply
    • 図書館・本のサービスをもっと盛り上げようということで、 APIコンテスト開催決定!!
    • API コンテスト
    • 夜の図書館ダイアローグ•  Vol1. @中目黒カフェバー コンバイン•  Vol2. @中津川市立図書館    •  #toshokan
    • 図書館ダイアローグの話題–  地域と図書館–  デジタル化–  著作者はどうなる?–  子供時代の本との出会い–  ISBNのない郷土資料・行政資料–  行政と民間の役割
    • 今後の予定•  書籍デジタル化時代を見据えて、本の魅力 をもっとアピール (4月30日は図書館の日)•  図書館だけでなく出版・書店とも提携•  さらに検索できる書籍を広げる•  ユーザーの声をうけて機能開発を進める