NDL LabSearch Clientのご紹介 
2014/09/06 
常川真央(@kunimiya) 
※本発表は個人の主義主張を表現したものであり所属団体および国 
立国会図書館の公式の見解を示すものではありません 
1
自己紹介Profile 
• 常川真央( Tsunekawa Mao ) 
• 2012/10 - 2014/03: 
国立国会図書館非常勤調査員 
National Diet Library Researcher 
• 2014/04- 
研究所図書館図書館員 
今回はNDL時代に開発した 
OSSソフトウェアをご紹介 
2
NDL LabSearch Client (NLC)とは? 
• NDLラボサーチの 
フロントエンドアプ 
リケーション 
• HTML5で実装され 
たSPA ( Single Page 
Application ) 
• オープンソースプ 
ロジェクト化 
3
Front-End Application ( = NDL LabSearch Client ) 
Widget 
Architectucture 
4 
NDLによる検索サーバー 
Search Server by National Diet Library 
JSONPによるクロスドメイン通信 
Manager Store 
Widget Widget
Architectucture 
Search Server 
by National Diet Library 
NLC 
B’s NLC 
(Customized) 
C’s NLC 
Fork Fork (Customized) 
誰もがNDL LabSearchをカスタマイズすることが可能 
Anyone (Librarian, Library Users, Hacker, ...) 
can customize NDL LabSearch
Concept: Hackable Discovery Web Interface 
• Web-APIの実装により図書館情報システムを 
利用する時代が来ている 
• 次はシステムそのものを安全にHackできる図 
書館情報システムの開発へ 
6
Sub-Concept (1) : End-User Programming 
• UIのニーズはCodeで伝えるべき 
• しかし、そもそも開発環境を用意でき 
ない図書館員もいる 
– セキュリティ上インストール出来ない 
– サーバーやUNIX環境の知識がない 
• JavaScriptベースならブラウザとエディ 
タさえあれば開発可能 
7
Sub-Concept (2) : API First 
• Web-APIは図書館情報システム 
の付属機能として実装されること 
が多い 
• 結局業務で使われなければ、使 
えるAPIは設計されない 
• Web-APIに全面的に依存した仕 
様にあえてする 
8
Sub-Concept (3) : Modularity 
• HTML + JavaScript + CSS をモ 
ジュール化するするソリュー 
ションが登場 
– 例: component, bower, Duo 
• 将来は標準化が見込まれる 
– webcomponents 
• ユーザ同士が実装したUIを共 
有できるようなエコシステム 
が実現できる可能性 
9 
※1 
※2 
※3 
※1 https://github.com/componentjs/component 
※2 http://bower.io/ ※3 http://duojs.org/
現状と今後 
• 現状はNDLラボサーチのサーバーが止まると 
使えなくなる 
– (alternative の検索サーバーもいずれ必要) 
• コンセプトを完全に実現できているとは言い 
がたい 
• 誰もが開発に参加できるような体制と適切な 
仕様の策定を行っていきたい 
10
ご静聴ありがとうございました 
ineku2/ndl-labsearch-client/ 
11

NDL LabSearch Clientのご紹介

  • 1.
    NDL LabSearch Clientのご紹介 2014/09/06 常川真央(@kunimiya) ※本発表は個人の主義主張を表現したものであり所属団体および国 立国会図書館の公式の見解を示すものではありません 1
  • 2.
    自己紹介Profile • 常川真央(Tsunekawa Mao ) • 2012/10 - 2014/03: 国立国会図書館非常勤調査員 National Diet Library Researcher • 2014/04- 研究所図書館図書館員 今回はNDL時代に開発した OSSソフトウェアをご紹介 2
  • 3.
    NDL LabSearch Client(NLC)とは? • NDLラボサーチの フロントエンドアプ リケーション • HTML5で実装され たSPA ( Single Page Application ) • オープンソースプ ロジェクト化 3
  • 4.
    Front-End Application (= NDL LabSearch Client ) Widget Architectucture 4 NDLによる検索サーバー Search Server by National Diet Library JSONPによるクロスドメイン通信 Manager Store Widget Widget
  • 5.
    Architectucture Search Server by National Diet Library NLC B’s NLC (Customized) C’s NLC Fork Fork (Customized) 誰もがNDL LabSearchをカスタマイズすることが可能 Anyone (Librarian, Library Users, Hacker, ...) can customize NDL LabSearch
  • 6.
    Concept: Hackable DiscoveryWeb Interface • Web-APIの実装により図書館情報システムを 利用する時代が来ている • 次はシステムそのものを安全にHackできる図 書館情報システムの開発へ 6
  • 7.
    Sub-Concept (1) :End-User Programming • UIのニーズはCodeで伝えるべき • しかし、そもそも開発環境を用意でき ない図書館員もいる – セキュリティ上インストール出来ない – サーバーやUNIX環境の知識がない • JavaScriptベースならブラウザとエディ タさえあれば開発可能 7
  • 8.
    Sub-Concept (2) :API First • Web-APIは図書館情報システム の付属機能として実装されること が多い • 結局業務で使われなければ、使 えるAPIは設計されない • Web-APIに全面的に依存した仕 様にあえてする 8
  • 9.
    Sub-Concept (3) :Modularity • HTML + JavaScript + CSS をモ ジュール化するするソリュー ションが登場 – 例: component, bower, Duo • 将来は標準化が見込まれる – webcomponents • ユーザ同士が実装したUIを共 有できるようなエコシステム が実現できる可能性 9 ※1 ※2 ※3 ※1 https://github.com/componentjs/component ※2 http://bower.io/ ※3 http://duojs.org/
  • 10.
    現状と今後 • 現状はNDLラボサーチのサーバーが止まると 使えなくなる – (alternative の検索サーバーもいずれ必要) • コンセプトを完全に実現できているとは言い がたい • 誰もが開発に参加できるような体制と適切な 仕様の策定を行っていきたい 10
  • 11.

Editor's Notes

  • #5 (図を入れる) サーバー:NDLラボサーチの検索サーバー クライアント: NDL LabSearch Client Store : 検索クエリ・結果のデータを保存 Manager : サーバーとの通信を制御 Widget : 検索結果のUI 現在は AjaxSolr というライブラリを改造して実装
  • #6 (図を入れる) サーバー:NDLラボサーチの検索サーバー クライアント: NDL LabSearch Client Store : 検索クエリ・結果のデータを保存 Manager : サーバーとの通信を制御 Widget : 検索結果のUI 現在は AjaxSolr というライブラリを改造して実装