|
Content Managerのデータモデル
Content Managerは項目タイプと、それを構成する属性を使用してデータベースでコンテンツ情報を管理します。
項目タイプとはデータベースのテーブルに相当し、属性はその列に相当するものです。 Content ManagerのデータモデルはXML構造型のデータモデルを採用し、ビジネス・ニーズにより適したデータ管理と、XPathを利用した柔軟な検索を可能としています。
またDB2の機能を利用したさまざまなデータ制御を可能とします。
| 主な機能 |
特徴 |
| 階層構造 |
任意の階層・幅の階層をサポートしデータの重複をなくします。 |
| ビューの利用 |
機密性のある属性にたいしてアクセス制御を可能とします。 |
| 参照属性 |
別の項目タイプとの関連付けが可能で、その削除制限によりデータの整合性を維持します。 |
| 外部キー |
属性をDB2の外部キーとして定義でき入力値の検証を可能とします。 |
| リンク |
2項目間タイプの関係を定義でき、ネスト、ループの形成が可能とします。 |
※これらの機能はContent Managerのシステム管理クライアントからGUIで簡単に定義するこが可能です。

Content Manager上の開発
Content Managerが提供するAPIの種別
| APIの種別 |
機能の特徴 |
| データおよび文書のモデリング |
階層型、構造型データモデルにビジネスモデルをマップするため機能を提供します。 |
| 検索および取り出し |
文書やフォルダーなど管理対象となる項目に対して、パラメトリック検索、全文検索を行ないます。 |
| データのインポートおよびデリバリー |
任意のコンテンツをContent Manager内に保管(インポート)、属性の付与を行ないます。 |
| システム管理 |
アクセス制御、項目タイプ、属性の定義等システム管理全般のAPI群を提供します。 |
| 文書ルーティング |
ビジネス要件に沿った文書プロセスを管理します。 |
XPathを使った検索
Content Manager(CM)のデータモデルは仮想XML文書で表現され、CMの項目はXMLのエレメント、CMの属性はXMLの属性に相当します。
・XPathを使った検索サンプル
| |
//Article[Author/@LastName = "Richardt"
AND contains-text(@Attachment, " 'Java' & 'XML' ")=1]
SORTBY(score(@Attachment, " 'Java' & 'XML' "))
|
※前述のデータモデルサンプルを参照してください。
Content Manager上の検索
パラメトリック検索・全文検索
どんなデータも保管しておくだけでは、その意味を成しません。いかに効率よく必要なデータを必要なときに参照できるかが重要なポイントになります。Content Managerでは、ドキュメントを保管する際に付与した属性を基に検索するパラメトリック検索と、任意の文字列を含むコンテンツを検索する全文検索をサポートしています。全文検索ではDB2のText
Information Extenderの検索エンジンを使い高速で簡単な検索を実現しています。
図のような属性情報を持ったコンテンツがContent Managerに保管されているとします。
この場合次のような検索が可能です。
- 全文検索
| 文書タイプ |
PDF |
| カテゴリー |
ニュース |
| 作成者 |
小? |
| 作成日 |
* |
【 ワイルドカードの使用 】
Content Managerの検索ではワイルドカードが使用できます。
* 0個以上の文字列に対応したワイルドカード
? 1文字に対応したワイルドカード
コンテンツサンプル
<< 日本IBM ニュースレター >>
p690、p670のDNAを受け継ぐp630は、IBMの革新的な技術の結晶である“次世代ギガプロセッサー POWER4”を、エントリー・レベルで初めて搭載しました。
銅配線やSOIの最先端テクノロジーを搭載し1GHzを超えるクロックを提供するPOWER4の実力は、既にp690で実証済みです。
p630は、エンタープライズ・クラスのパフォーマンスを1Wayからご提供。 しかも、今回“IBM POWER4バリュー・キャンペーン”として、さらにお求めやすい価格で提供いたします。
このチャンスをお見逃しなく! 2002年11月27日 |
|
 |
コンテンツの属性、テキスト検索の対象となる索引はContent Managerのライブラリー・サーバーで管理されます。 |
Content Manager提供クライアント
Content Managerは大きく分けて3種類のクライアントを提供しています。 今回は上記3種類のうち、標準で提供されている Client for Windows
と eClient の2つについてご紹介させていただきます。
| クライアント |
特徴 |
| Client for Windows |
Windowsプラットフォームでのみ動作をし、Content Managerの標準的な機能を提供します。 |
| eClient |
ブラウザベースのクライアントで、そのプラットフォームは問いません。Client for Windowsと基本的な機能の違いはありません。 |
| ユーザー独自の開発クライアント |
前述の豊富なAPIを使って独自に開発していただくアプリケーション・クライアントです。 |
Client for Windows と eClientには機能面での違いはほとんありません。
両クライアントで利用できる標準的な3機能をご紹介いたします。
- コンテンツの検索
Content Manager内に保管されたコンテンツを効率よく、高速に検索します。検索にはパラメトリック検索と全文検索が用意されています。
- コンテンツの登録(インポート)
コンテンツをContent Managerに保管する機能です。一括で複数のコンテンツを保管したり、保管の際にコンテンツ情報(属性)を指定して保管します。
- ワークリスト
予め定義された文書ルーティング・プロセスに対して、処理すべきコンテンツの一覧を表示し、権限のあるユーザが取るべきアクションを行ないます。

<クリックして拡大>

<クリックして拡大>
まとめ
参考
ここでは、参考としてコーディング・サンプルをご紹介いたします。 Content Manager 8.1をご購入いただき導入されますと、多彩なサンプルソースが提供されますが、下記サンプル・ソースはその一例です。
データをContent Mangerにインポートするサンプル・ソースです。
| |
public static void main(String argv[]) {
// Create a Datastore
DKDatastoreICM dsICM = new DKDatastoreICM();
dsICM.connect("icmnlsdb","icmadmin", "password", "");
DKDDO ddo = dsICM.createDDO("MyDoc",
DKConstant.DK_CM_DOCUMENT);
DKLobICM base = (DKLobICM) dsICM.createDDO("ICMBASE",
DKConstantICM.DK_ICM_SEMANTIC_TYPE_BASE);
DKTextICM baseText = (DKTextICM) dsICM.createDDO("ICMBASETEXT",
DKConstantICM.DK_ICM_SEMANTIC_TYPE_BASETEXT);
base.setMimeType("application/msword");
baseText.setMimeType("text/plain");
base.setContentFromClientFile("Document1.doc"); .
baseText.setContentFromClientFile("Text1.txt");
DKParts dkParts = ddo.getData (ddo.dataId(DKConstant.DK_CM_NAMESPACE_ATTR,
DKConstant.DK_CM_DKPARTS));
dkParts.addElement(base);
dkParts.addElement(baseText);
// Save items to persistent datastore
ddo.add();
}
|
|