目次


カンタン!DB2テクテク第1歩 拡張機能編

エンタープライズ・コンテンツ管理とは-第二話

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: カンタン!DB2テクテク第1歩 拡張機能編

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:カンタン!DB2テクテク第1歩 拡張機能編

このシリーズの続きに乞うご期待。

Content Managerのデータモデル

Content Managerは項目タイプと、それを構成する属性を使用してデータベースでコンテンツ情報を管理します。

項目タイプとはデータベースのテーブルに相当し、属性はその列に相当するものです。 Content ManagerのデータモデルはXML構造型のデータモデルを採用し、ビジネス・ニーズにより適したデータ管理と、XPathを利用した柔軟な検索を可能としています。 またDB2の機能を利用したさまざまなデータ制御を可能とします。

主な機能特徴
階層構造任意の階層・幅の階層をサポートしデータの重複をなくします。
ビューの利用機密性のある属性にたいしてアクセス制御を可能とします。
参照属性別の項目タイプとの関連付けが可能で、その削除制限によりデータの整合性を維持します。
外部キー 属性をDB2の外部キーとして定義でき入力値の検証を可能とします。
リンク2項目間タイプの関係を定義でき、ネスト、ループの形成が可能とします。

※これらの機能はContent Managerのシステム管理クライアントからGUIで簡単に定義するこが可能です。

Content Manager上の開発

  • 洗練されたオブジェクト指向APIの提供

    Content Managerの大きな特徴としてAPIの提供が挙げられます。例えば、メディアコンテンツ、DBに格納されたテキストを表示するブラウザベースのアプリケーションの開発を想像してください。DBとの接続、SQLの発行、データの取得、データの表示等様々なプロセスをコーディングしなければならないことが容易に想像できるはずです。こうしたワークロードを軽減するため、主要な機能をAPIとして提供しています。現在のバージョンでは約300を超えるAPIをJava、C++で提供しています。

  • DDO/XDOについて

    Content Manager上の開発はDDO/XDOの概念に基づきます。前述のようにコンテンツは項目タイプと、それを構成する属性で管理されていますが、項目タイプはDDOのオブジェクト・タイプ、属性はDDOのデータ項目に対応しています。また、文書を構成するパーツはXDOとして表現され、APIはこれらのDDO/XDOに対して追加・更新・検索等の処理を行ないます。

  • XPathベースの照会ストリング

    XML構造型データモデルに対応しXPathによる記述を可能とします。パラメトリック検索およびテキスト検索を1つの照会ストリングに記述可能で、テキスト検索エンジンを意識しないコード記述が可能です。

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 WindowsWindowsプラットフォームでのみ動作をし、Content Managerの標準的な機能を提供します。
eClientブラウザベースのクライアントで、そのプラットフォームは問いません。Client for Windowsと基本的な機能の違いはありません。
ユーザー独自の開発クライアント前述の豊富なAPIを使って独自に開発していただくアプリケーション・クライアントです。

Client for Windows と eClientには機能面での違いはほとんありません。

両クライアントで利用できる標準的な3機能をご紹介いたします。

  • コンテンツの検索

    Content Manager内に保管されたコンテンツを効率よく、高速に検索します。検索にはパラメトリック検索と全文検索が用意されています。

  • コンテンツの登録(インポート)

    コンテンツをContent Managerに保管する機能です。一括で複数のコンテンツを保管したり、保管の際にコンテンツ情報(属性)を指定して保管します。

  • ワークリスト

    予め定義された文書ルーティング・プロセスに対して、処理すべきコンテンツの一覧を表示し、権限のあるユーザが取るべきアクションを行ないます。

timeline figurestimeline figures

まとめ

  • データモデル

    Content ManagerのデータモデルはXML構造型のデータモデルを採用し、より深いレベルでのデータ管理を可能とします。また、XPathを利用した効率の良い検索が可能です。

  • 開発

    洗練されたオブジェクト指向APIの提供により、ビジネス・ニーズに沿ったカスタム・アプリケーションの開発を可能とし、そのワークロードも軽減します。

  • 検索

    パラメトリック検索の他に、DB2 TextInformationExtenderの全文検索エンジンを使った高速な検索を提供します。

  • 提供クライアント

    標準クライアントとして、WindowsクライアントとブラウザベースのeClientを提供し、基本的な機能を開発レスで提供します。

参考

ここでは、参考としてコーディング・サンプルをご紹介いたします。 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();
 }

ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=321067
ArticleTitle=カンタン!DB2テクテク第1歩 拡張機能編: エンタープライズ・コンテンツ管理とは-第二話
publish-date=11272002