Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
c4ljp_2014_enju_ir
Search
Kosuke Tanabe
September 07, 2014
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
c4ljp_2014_enju_ir
https://github.com/nabeta/enju_ir
Kosuke Tanabe
September 07, 2014
More Decks by Kosuke Tanabe
See All by Kosuke Tanabe
c4ljp2016_enju_leaf_120
nabeta
0
290
c4ljp2015_enju_leaf_110
nabeta
0
500
c4ljp2015_journal_list
nabeta
0
520
introduction_to_next_l_enju
nabeta
0
130
2014 - 2015 activities of Code4Lib Japan
nabeta
0
340
Next-L Enju development workshop #34
nabeta
0
100
enjuws026
nabeta
0
100
next-l-enju-family
nabeta
0
420
Code4Lib conference 2013 report
nabeta
1
89
Other Decks in Technology
See All in Technology
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
240
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
4
1.3k
Android の公式 Skill / Android skills
yanzm
0
150
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
100
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
140
Lightning近況報告
kozy4324
0
120
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
120
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
170
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.5k
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
6
2.4k
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
Discover your Explorer Soul
emna__ayadi
2
1.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
170
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Git: the NoSQL Database
bkeepers
PRO
432
67k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
730
A Soul's Torment
seathinner
6
2.9k
How to build a perfect <img>
jonoalderson
1
5.7k
Transcript
Next-‐L Enju 機関リポジトリモジュール 2014年9月8日 Code4Lib JAPAN Conference 2014
田辺 浩介 (@nabeta)
自己紹介 • とある研究所のエンジニア • オープンソース図書館システム “Next-‐L Enju”の主な開発者
Next-‐L Enjuとは?(1) • Project Next-‐Lの開発する図書館システムの 総称 – enju_leaf (図書館業務管理システム)
– enju_root (FRBRモデルによる書誌管理システム) – enju_erms (電子リソース管理システム)
Next-‐L Enjuとは?(2) • Ruby on Rails を中心に、Apache Solr, PostgreSQL/MySQLなどのフリーソフトウェアを
用いて構築 • Next-‐L Enju自体もフリーソフトウェアとして 公開 – hSps://github.com/next-‐l/enju_leaf
Next-‐L Enjuの特徴(1) • 広く利用されているWebアプリケーション フレームワークやミドルウェアを用いて構築 – クラウド環境での動作を前提とする •
RESTfulなインターフェース – すべてのレコードがURLを持つ
Next-‐L Enjuの特徴(2) • 機能ごとのモジュール化により、新機能の 追加やテストを行いやすくなっている – enju_biblio (書誌管理)
– enju_library (施設管理) – enju_circulaYon (貸出管理) – enju_ndl (NDL接続) – enju_ir (new!)
enju_ir モジュールとは? • Next-‐L Enjuに機関リポジトリの機能を追加 するためのモジュール – ファイルのアップロードと保存
– OAI-‐PMHのサポート • 現時点ではenju_leafに組み込んでの動作を サポート – enju_ir単体での動作も可能とする予定
なぜ今ごろ、 機関リポジトリモジュール?
enju_ir開発の理由 • 学術情報を扱うWebサービスの変化 – 論文ID, 研究者ID, 研究助成ID, … – 文献管理サービス,
研究者SNS, altmetrics… – これらがすべてつながる • 扱う資料そのものの変化 – 論文だけでなく、研究データも – データの公開が成果として扱われるようになると、 公開作業にも迅速さを求められる
開発の背景 • 自分の組織で生まれたデータを提供する 重要なシステムとして拡張を行いたい – DOI自動付与、Linked Data対応 – 組織内イントラネット上のサービスとの連携
• ところが、手頃に改変できそうなソフトウェア がない
他のソフトウェアの検討 • WEKO(JAIRO Cloud)…ユーザインターフェース がAJAXを多用しており、変更が困難 • Dspace…広く利用されているが、Javaなのが 面倒
• Hydra…ユーザインターフェースを担当する blacklightが意外に複雑な構造をしており、 思い通りに作ろうとするとほぼ全面的に作り 直すのと変わらなかった
enju_irの特徴 • データ保存用ミドルウェアにFedoraCommons を使用 – Dspace, Hydra, Islandora, eSciDocなどで広く採用
• データ検索用ミドルウェアにElasYcSearchを 使用 – Apache Solrと並んで人気のある検索エンジン • 単純な構造のHTML
FedoraCommonsの利点 • 柔軟なデータ構造を提供 • メタデータを持つオブジェクトとコンテンツを 持つオブジェクトを関連づけて資料を表す – 関連をRDFを用いて表現することが可能
– トリプルストアとしても動作 • 世界中で広く利用されており、活発なユーザ コミュニティが存在する – 検索エンジンで容易にトラブル対応策が見つかる
hSp://fedora-‐commons.org/ documentaYon/3.0b1/userdocs/ digitalobjects/objectModel.html FedoraCommonsの オブジェクトの構成 • メタデータを持つ
オブジェクトに 複数のファイルを 関連づけられる
ElasYcSearchの利点 • 高速・高機能 – Apache Solrと同じLuceneベースの検索クエリを 使用できる – ファセット検索,
代替検索語の提示 • JSONを用いて検索やインデックスの作成・ 更新を行うことができる – 扱いがXMLよりも容易 – JavaScriptから直接検索を実行できる
具体的な実装 • acYve_fedoraを改造 – hydra(Ruby on Railsで実装された機関リポジトリ 構築ソフトウェア)で使用されているライブラリ – FedoraCommonsへのアクセスとSolrでの検索を
担当 • Solrに接続する部分の処理を ElaYcSearchに接続するように書き換えた
Ruby on Rails Apache Solr acYve_fedora rsolr FedoraCommons blacklight Hydraの構成図(簡略化)
Ruby on Rails ElasYcSearch acYve_fedora elasYcsearch-‐ model FedoraCommons enju_ir Next-‐L
Enju + enju_irの 構成図(簡略化) enju_leaf
動作デモ
Next-‐L Enjuとの連携による利点 • 紙ベースの資料と機関リポジトリ上の資料の 管理の統合 – DOI/CrossRefを用いた書誌データの流用 – 冊子体・電子資料の統合検索
– 各館の資料コレクションに対する独自の メタデータの作成と付与 – 運用サーバ数の削減
おわりに • MLAでも情報技術は重要、とは言われるが… • 実体は逆行していないか? – 一極集中、外部依存への危機感 例: JAIRO
Cloud – 開発も運用も他人が勝手にやればよい? – 大規模大学でなければ構築の機会がない? – 職員がシステム構築を行う機会を逆につぶして いないか、自分で工夫する機会を奪っていないか • 状況を固定化させない手段としてのOSS
試してみよう! • デモサーバ – hSp://enju.next-‐l.jp • ソースコード – hSps://github.com/nabeta/enju_ir
• 連絡先 – @nabeta (github, twiSer)