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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
300
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
350
Next-L Enju development workshop #34
nabeta
0
100
enjuws026
nabeta
0
100
next-l-enju-family
nabeta
0
430
Code4Lib conference 2013 report
nabeta
1
90
Other Decks in Technology
See All in Technology
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
400
私がブラウザを自作したくなった理由
supurazako
1
280
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
400
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
180
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
180
AI開発に用いられるHPC技術について
gpuunite_official
0
260
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
Sets in Go
ramalho
1
1.2k
ホームラボ紹介
y_sera15
0
230
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
130
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Chasing Engaging Ingredients in Design
codingconduct
0
280
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
YesSQL, Process and Tooling at Scale
rocio
174
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Building Applications with DynamoDB
mza
96
7.2k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
We Are The Robots
honzajavorek
0
310
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
500
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)