マルチメディアファイルとそのメタデータをRDBMSに保存しています(実際には、実際のメディアファイルはFSに保存されていますが、これについては詳しく説明しません)。
この情報のファイルシステムビューを表示して、ユーザーがWindowsエクスプローラーやデータベース上の同様のものを使用して作業できるようにしたいと思います。私はこのアクセスを読み取り専用にするつもりです。これにより、物事が大幅に簡素化されると思います。
基本的に、私が達成したいのは次のとおりです。
- さまざまなメタデータ基準を使用してさまざまなビューを作成します(たとえば、/ by_author / {artist} / {record}/{audiofiles}と/by_record/ {record} / {audiofiles}を使用します)。
- メディアファイル(つまり、/ wav / {wavfile}、/ mp3 / 192 / {mp3file)、/ mp3 / 320 / {mp3file}などの透過的な再エンコード(キャッシュされる可能性があります)を使用します。
- さまざまな形式(Excel、さまざまなスキーマのXMLなど)でのメタデータの透過的な生成
ところで、私はこれをJavaで行っています。
ここでの私の問題は両面です:
1)
「モデル」を実装するための良い方法は何ですか?私はいくつかのリポジトリ、アセット、FileAsset、ContainerAssetのインターフェースと実装に手を出しましたが、それらは完全に正しいと感じてしまうわけではありません。
ファイルシステムのさまざまな部分を別々のコードに委任できるようにすることに興味があります(つまり、FSの/ {artist} /{record}と/{record}の部分は異なるコードで実装され、両方とも同じコードに委任します{record} / xxxのものを作成します)。
2)
このモデルを「公開」するための最良の代替手段は何ですか?私が見るように、いくつかの選択肢があります:
- FuseforJavaおよびDokanforJava。2つの異なるラッパーを実装する必要があるので、もう少し作業が必要です...
- AlfrescoのSMB実装を使用し、VFSをSamba共有として公開するだけです
- Milton(サーブレットコンテナ用のWebDAV実装)を使用し、OSの組み込みWebDAVサポートを使用するか、FuseDAVFSなどを使用してFSとして再公開します。
その中で、Fuse/Dokanが最も効果的だと思われます。Alfrescoは非常に見栄えがしますが、機能させるには非常に複雑です。ミルトンはもっと単純に見え、WebDAVのセマンティクスはさらにうまくいくかもしれません...しかし、私は完全にはわかりません。
考え、アイデア?
アレックス
編集:プロジェクトは現在半ば放棄されています(つまり、それを行うのはクールですが、今は時間がありません)。私は自分のVFSをcommons-vfsの拡張として記述し、次にcommons-vfsをMilton、Dokan、Fuseなどに適合させると思います。