5

私の質問は、次の要件に基づいて単純な DMS (ドキュメント管理) をどのように実装しますか?

  1. DMS は分散 Web アプリケーションである必要があります。
  2. ドキュメントのバージョン管理のサポート。
  3. ドキュメントのロックのサポート。
  4. ドキュメント検索。

使用したいテクノロジーについてはすでに明確です。Sring MVC、Hibernate、およびリレーショナル (おそらく MYSQL) データベースを使用します。

ドキュメントをアップロードまたはダウンロードするだけでよいので、webdavを使用する必要があるかどうかはよくわかりません。ポイント 2.、特にポイント 3. を何らかの方法で達成する必要があるため、私はやらなければならないことです。これは正しい方法ですか?

これに関する例や経験は非常に便利です:)。Milton は webdav に最適なライブラリではないのでしょうか?

4

5 に答える 5

3

オプション1:

webdavについてはよくわかりません。実際の経験はありません。しかし、MongoDB のようなドキュメント データベースを使用することを強くお勧めします。

mongodb を使用すると、次のことができます
。 1.ドキュメントのバージョンを処理
する 2. MongoDB にはアトミック操作があり、ドキュメント ロックのロジックを追加できます。

これにより、ドキュメント ストアを検索するという素晴らしい追加の利点が得られます。

オプション 2:

Apache Jackrabbit : コンテンツ リポジトリ

コンテンツ リポジトリは、構造化コンテンツと非構造化コンテンツ、全文検索、バージョン管理、トランザクション、監視などをサポートする階層型コンテンツ ストアです。

于 2011-06-02T08:25:51.600 に答える
3

@Eduard、サードパーティへの依存関係について - これはカレッジ/大学の演習として、または本番環境で実際のユーザーに影響を与える何かとして行っていますか?

非常に大げさに聞こえるリスクがあります。ホイールを再実装しないでください! 私は間違いなくJCRを使用するための2番目の呼び出しを行います。このようにして、サードパーティの実装ではなく標準に依存しています。

JCR は明確に定義された標準です (つまり、多くの人々がこれに商業的努力 (つまり、巨額の現金と専門知識) を投資しました)。JCR を検討することを真剣に再考します。これは、サードパーティが実装を提供する API と考えてください (ベンダー ロックインはありません)。

すぐに使える機能を見てみましょう。必要な機能の 99 ~ 110% は、JCR の実装によって利用できると思います。さらに、使用するコードが実際の状況で何百人もの人々によってテストされているという事実から恩恵を受けるでしょう.

私が bmscomp と異なる点は、JackRabbit http://jackrabbit.apache.org/を提案することです。

于 2011-06-02T11:27:53.767 に答える
2

これらのオープン ソース プロジェクトを使用して、要件を満たすことができます。

  1. http://sourceforge.net/projects/logicaldoc/ - LogicalDOC は、優れたインターフェイスを備えた最新のドキュメント管理システムで、使いやすく、非常に高速です。柔軟でスケーラブルな DMS プラットフォームを提供するために、GWT、Spring、Lucene などのオープン ソース Java テクノロジを使用します。http://www.logicaldoc.com

  2. http://sourceforge.net/projects/openkm/ - OpenKM ドキュメント管理 - DMS 更新 2011-05-25 OpenKM は、強力でスケーラブルなドキュメント管理システム (DMS) です。OpenKM は、Jboss + J2EE + Ajax Web (GWT) + Jackrabbit (lucene) オープン ソース テクノロジを使用します。http://www.openkm.com/

于 2011-06-03T20:00:44.737 に答える
2

JCR Java コンテンツ リポジトリ http://en.wikipedia.org/wiki/Content_repository_API_for_Javaの使用 を検討するか、Alfresco または Exo フレームワークで行われた作業を確認してください。

于 2011-06-02T08:28:04.563 に答える
1

Spring MVC は良い選択です。リレーショナル データベースを使用する場合は、Datanucleus もチェックしてください。少なくとも JDO 層 (およびおそらく JPA 層) は、バージョン管理のサポートを提供します。検索には、優れた強力な全文検索機能を備えた、Lucene に基づく apache solr をお勧めします。

webdav はシンプルでクロスプラットフォームのファイル転送プロトコルとして自然な選択のように思えますが、私は良い経験がありませんでした。クライアントまたはサーバーのどちらかがうまく機能しませんでした (konqueror、Internet Explorer、zope 2 など)。したがって、プロトコルから抽象化し、ファイルにアクセスする複数の方法を提供します。

于 2011-06-05T21:53:28.373 に答える