DSpace システム説明書: アーキテクチャ

目次に戻る

概要

DSpaceシステムは3層構造でできており、各層は多くのコンポーネンツで構成されています。

アプリケーション層、ビジネスロジック層、ストレージ層

DSpaceシステムのアーキテクチャ

ストレージ層は、メタデータとコンテンツの物理的ストレージを担当します。 ビジネスロジック層は、アーカイブコンテンツ、アーカイブのユーザ(e-パーソン)、権限付与、ワークフローの管理を担当します。 アプリケーション層は、DSpaceの外部にある世界と対話するコンポーネンツ、たとえば、ウェブユーザインターフェースやオープンアーカイブイニシアティブ・メタデータハーベスティングプロトコルサービスなどを持ちます。

各層はその下位の層のみを呼び出します。たとえば、アプリケーション層が直接ストレージ層を使用することはありません。 ストレージ層とビジネスロジック層の各コンポーネンツは定義済みの公開APIを持っています。 これらのコンポーネンツのAPIを総称して、(ストレージ層の場合は)ストレージAPI、(ビジネスロジック層の場合は)DSpace公開APIと呼んでいます。 これらのAPIはJavaのクラス、オブジェクト、メソッドに組み込まれています。

各層はトラステッドであることに注意することが重要です。 権限付与アクションに関するロジックはビジネスロジック層にありますが、e-パーソンを正しく安全に認証することはアプリケーション層の個々のアプリケーションに依存しています。 もし「悪意のある」あるいは安全でないアプリケーションが公開APIを直接呼び出すことを許可されるとしたら、システムにおける任意のe-パーソンとしてアクションを実行することはきわめて容易なことでしょう。

この設計を選んだ理由は、ユーザ認証の方法がアプリケーションによりまったく異なっており、ロジックとその責任をアプリケーションに任せた方が合理的であると考えたからです。

ソースコードはこの3層アーキテクチャに完全に合致するように編成されています。 また、コンポーネンツの公開APIに存在するメソッドだけに、アクセスレベルpublicを設定しています。 これは、ソースコードがアーキテクチャに適合していることをJavaコンパイラが保証することを意味しています。

ソースコードパッケージ
パッケージ 対応するコンポーネンツが含まれる層
org.dspace.app アプリケーション層
org.dspace ビジネスロジック層(storageapp を除く)
org.dspace.storage ストレージ層

ストレージ層とビジネスロジック層のAPIはJavadocスタイルのコメントを使って完全に記述されています。 HTMLバージョンのAPIは、ソースディレクトリで次のコマンドを実行することで作成します。

ant public_api

各パッケージの説明書には、一般にパッケージの概要と使用例が含まれています。 パッケージの説明書に書かれている内容をここでは繰り返しませんので、この説明書とJavadoc APIを併用してください。

各層についてはそれぞれ節を分けて説明します。


Copyright © 2002 MIT and Hewlett Packard