ここでは,DMAオブジェクトで表す文書の概念について説明します。
DocumentBrokerでは,文書をDMAオブジェクトを使って表現します。例えば,「report.doc」という.docファイルで作成された「研究論文」という文書を仮定します。文書「研究論文」は,DMAオブジェクトを使うと次のように表現されます。
なお,DocumentBrokerでは,用途に応じて次に示すdmaClass_DocVersionクラスのサブクラスのオブジェクトを,文書を表すDMAオブジェクトとしてDocVersionオブジェクトの代わりに使用できます。
これらのDMAオブジェクトを使用すると,文書をバージョン管理したり,特定の一つのフォルダに格納して管理したり,文書に複数のインデクスをはり付けて管理したりするだけでなく,常に最新の文書を管理したり,バージョンを確定して文書を管理することができます。
ここでは,これらのDMAオブジェクトの基本となるDocVersionオブジェクトを「文書」として説明します。VersionTracedDocVersionオブジェクトについては「付録A.5 コンテインメントを利用した文書管理」を参照してください。
文書「研究論文」を表現するDMAオブジェクトの関連を,次の図に示します。なお,dmaClass_DocVersionクラスのサブクラスとして,usrClass_Documentクラスを作成していることを前提とします。
図A-4 文書を表現するDMAオブジェクトの関連(例)
次に,文書を表現するための各DMAオブジェクトについて説明します。
文書を表現するDMAオブジェクトです。文書をバージョン管理する場合は,文書の特定のバージョンを表現するために使用します。文書のバージョン管理については,「付録A.4 文書のバージョン管理」を参照してください。
文書の実体(コンテントデータ)は,DocVersionオブジェクトの下位にあるRenditionオブジェクトおよびその下位にあるContentTransferオブジェクトを経由して参照および更新できます。
文書を構成する文書の種類を管理するDMAオブジェクトです。Renditionオブジェクトは,ContentTransferオブジェクト一つを保持できます。
Renditionオブジェクトは,DocVersionオブジェクトにバインドして永続化する従属オブジェクトです。
文書の実体であるコンテントデータを管理するためのDMAオブジェクトです。一つのコンテントデータに対して,一つのContentTransferオブジェクトが存在します。ContentTransferオブジェクトは,コンテントデータをデータベースに格納する場合に使用するオブジェクトです。
ContentTransferオブジェクトはRenditionオブジェクトにバインドして永続化する従属オブジェクトです。
文書を表現するために使用するDMAクラスを,継承関係に基づいて次の図に示します。
図A-5 文書を表現するために使用するクラスの継承関係