Comments
Description
Transcript
Oracleコンテンツ管理 SDK: 概要とアーキテクチャ
Oracle Content Management SDK: 概要とアーキテクチャ オラクル・テクニカル・ホワイト・ペーパー 2004 年 12 月 Oracle Content Management SDK: 概要とアーキテクチャ 概要 ...................................................................................................................... 3 Oracle の統合コンテンツ管理プラットフォーム ........................................... 4 アーキテクチャの概要 ...................................................................................... 5 コンポーネントの概要................................................................................. 5 Oracle CM SDK ドメイン ............................................................................. 6 コンテンツ・リポジトリ ....................................................................... 6 ドメイン・コントローラ ....................................................................... 6 ノード ....................................................................................................... 7 ノード・ガーディアン ........................................................................... 7 ノード・マネージャ ............................................................................... 8 サービス ................................................................................................... 8 セッション ............................................................................................... 8 サーバー......................................................................................................... 9 プロトコル・サーバー ........................................................................... 9 エージェント ......................................................................................... 10 Oracle CM SDK インスタンスの管理............................................................. 10 Oracle Enterprise Manager 10gApplication Server Control ......................... 10 Oracle CM SDK Manager............................................................................. 10 その他の管理ユーティリティ................................................................... 11 Java によるコンテンツ管理アプリケーションの作成................................. 11 リポジトリへの接続................................................................................... 12 フォルダとドキュメントの作成 ............................................................... 13 コンテンツの検索 ............................................................................................ 15 セレクタ検索 ......................................................................................... 15 拡張検索 ................................................................................................. 15 Oracle Text を使用したコンテンツベース検索.................................. 16 コンテンツのバージョニング......................................................................... 16 コンテンツの保護 ............................................................................................ 17 認証 ......................................................................................................... 17 認可 ......................................................................................................... 18 Oracle Workflow によるコンテンツ・プロセスの処理 ................................ 19 結論 .................................................................................................................... 19 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 2 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle Content Management SDK: 概要とアーキテクチャ Oracle Content Management SDK は、企業のコンテンツを Oracle データベース内に 整理統合および管理するアプリケーションを迅速に作成する実行環境とツールを 提供します。この製品は、Oracle Application Server プラットフォームを基盤とし て、必要となる拡張性、信頼性およびパフォーマンスを提供します。このホワイ ト・ペーパーでは、Oracle CM SDK のアーキテクチャと概要について説明します。 概要 多くの企業では、従業員へのコンテンツ・サービスを必要としています。たとえ ば、コラボレーションが可能なセントラル・ドキュメント・リポジトリを構築す れば、ドキュメントの再利用を促進し、業務を効率化できます。 また、競合他社の自動車のあらゆる特徴を文書化する自動車部品アプリケーショ ンや、保険金請求を処理するアプリケーションなど、事業形態に即したカスタム・ アプリケーションを作成できます。 これらのアプリケーションには、次に示す類似の要件があります。それには、プ ロジェクトを成功へ導く高レベルな信頼と迅速な開発が必要です。企業はミッ ションクリティカルなタスクの実行に必要なパフォーマンスと信頼性を提供する 必要があります。さらに、プロジェクトでは、ベスト・プラクティス・アーキテ クチャを搭載した、実績のあるプラットフォームを基盤とし、多くの開発者にとっ て馴染みの深い言語とツールを使用する必要があります。 Oracle CM SDK は、これらの要件を満たします。Oracle の実績のあるテクノロジ の活用で、次に示すプラットフォームと言語を提供します。 • 最初から開発するよりも、少ないリスクで迅速にコンテンツベースのアプリ ケーションを開発できます。 • 多数のファイル・サーバーを 1 つのリポジトリに整理統合することで、追加 ハードウェアや分散管理が不要になるため、費用を節約できます。 • 統一的な管理、セキュリティおよびアクセス制御ポリシーを備えているので、 コンテンツが安全で、アクセスしやすく、再利用可能です。企業改革法 (Sarbanes-Oxley Act of 2002)などの SEC 規則によるデータ管理および保持に 様々な方針が義務付けられるなかで、さらに重要性を増しています。 • コンテンツを取り巻くビジネス・プロセスの自動化で、ビジネス・タスクを効 率的に実行し、従業員の生産性を向上させることができます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 3 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle の統合コンテンツ管理プラットフォーム Oracle CM SDK は、コンテンツ管理のために多数の Oracle 製品を統合する単一の ポイントです。Oracle CM SDK が提供する Java API からすべての製品にアクセス できるので、エンタープライズ・コンテンツ管理ソリューションの開発がきわめ て容易になります。 図 1: Oracle CM SDK を中心に、コンテンツ管理のための多数の Oracle 製品が統合されてい ます。 Oracle CM SDK は、次のデータベース製品と統合されています。 • Oracle Workflow: コンテンツを取り巻くビジネス・プロセスの管理 • Oracle Text: コンテンツの検索 • Oracle interMedia: リッチ・メディアのアノテーション • Oracle Advanced Queuing: 他のアプリケーションへの統合 また Oracle CM SDK は、Oracle Application Server プラットフォームを形成する次 の中間層製品と統合されています。 • Oracle Enterprise Manager 10g Application Server Control • Oracle Internet Directory: LDAP ベースのディレクトリ・サービスとシングル・ サインオン機能 • OracleAS Portal 優れた統合開発環境である Oracle JDeveloper を使用することで、コンテンツ管理 アプリケーションをさらに迅速および容易に開発できます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 4 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 アーキテクチャの概要 三層構造を持つ Oracle CM SDK は、優れたパフォーマンス、拡張性および信頼性 を提供します。コンテンツとそれに関連するメタデータをデータベースに拡張的 に保存することで、それらの安全性が保証され、検索が容易になります。 プロトコル・サーバーとアプリケーション・ビジネス・ロジックは、中間層が提 供します。このため、中間層マシンを必要に応じて追加できるので、拡張性が高 まります。複数の中間層マシンで負荷分散を行うことで負荷を効率よく処理し、1 台のマシンに障害が発生した場合にも冗長性を提供できます。このあと、Oracle CM SDK のコンポーネントについて簡単に説明し、この製品の機能で企業の要件 を満たすコンテンツベースのアプリケーションの作成方法を実例を挙げて示しま す。 図 2: Oracle CM SDK コンポーネント コンポーネントの概要 Oracle CM SDK は、次のコンポーネントで構成されています。 • リポジトリ: Oracle データベースと各種のオブジェクトで構成されており、コ ンテンツの永続性を管理します。 • 100% Java API: コンテンツ指向アプリケーションの開発に使用します。 • サーバー: エージェントベースのバックグラウンド処理とプロトコル・アクセ スを提供します。 • 管理ツール: Oracle CM SDK インスタンスを管理します。 • Oracle クライアント・ソフトウェア: ローカル・マシンとコンテンツ・リポジ トリの間でコンテンツを同期化します。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 5 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle CM SDK ドメイン Oracle Content Management SDK の説明では、ドメインという用語は、1 つの Oracle CM SDK インスタンスという意味で使用します。 ドメインは、ドメイン・コントローラ、通常ノードと HTTP ノード、および Oracle CM SDK リポジトリで構成されています。 図 3: デフォルトの Oracle CM SDK ドメインは、1 つの HTTP ノードと 1 つの通常ノードで 構成されています。 コンテンツ・リポジトリ Oracle Content Management SDK では、コンテンツとそのメタデータがすべて 1 つ の Oracle データベースに格納されます。Oracle CM SDK 構成時、ユーザーは、次 に示す様々なタイプのデータが含まれる単一の Oracle CM SDK スキーマを作成し ます。 • プライマリ・データ・タイプ: コンテンツ自体に関するすべての情報 • 索引付きメディアと索引なしメディア • Oracle interMedia: リッチ・メディアのアノテーション • コンテンツ検索情報の Oracle Text キーマップ、索引およびデータ パフォーマンスを向上させるために、これらのデータ・タイプを複数の表領域に 格納できます。この他にもいくつかのスキーマが作成されますが、それらはアプ リケーションによって内部的に使用されます。 ドメイン・コントローラ ドメイン・コントローラはドメインの開始と停止を制御し、ドメインを監視する ことで、適切な動作を保証します。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 6 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 ノード ノードは、クライアント要求を処理し、要求された操作を実行し、クライアント に応答を返します。 ノードには次の 2 つのタイプがあります。 • • 通常ノード: スタンドアロンの Java 仮想マシン(JVM)で動作します。 HTTP ノード: OC4J インスタンスで動作し、JSP とサーブレットを実行できま す。 図 4: Oracle CM SDK の 2 つのタイプのノードとそのコンポーネント すべてのノードを 1 つのホストに置くことができます。また、複数のホストに分 散させれば、システムの拡張性が大幅に向上します。 ノードは、次に示す複数のコンポーネントで構成されています。 • ノード・ガーディアン • ノード・マネージャ • プロトコル・サーバーおよびエージェント • サービス • セッション ノード・ガーディアン ノード・ガーディアンは、新しいノード・マネージャ・プロセスを作成してノー ドを開始し、障害時にはノードを監視するという 2 つの目的をもつプロセスです。 ノードに障害が発生すると、ガーディアンによってノード・マネージャが再開さ れ、それによりノードが再開されます。 HTTP ノードでは、ノード・ガーディアンはノード・マネージャとともに他のコ ンポーネントと同じプロセスで実行され、監視機能が多少低下します。このため ノードの監視は、大部分が Oracle Application Server Containers for J2EE(OC4J)プ ロセスによって提供されます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 7 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 ノード・マネージャ ノード・マネージャは、適切なサービスおよびサーバーを開始し、ノード・ロギ ングを設定するプロセスです。ノード・ガーディアンと連携して動作し、サービ スとサーバーの動作環境を提供します。 サービス サービスは、リポジトリの窓口です。ユーザーは、サービスに対して認証するこ とで、Oracle CM SDK への接続を確立します。サービスは、接続コンテキストを 提供するセッションを作成し、そのユーザーに返します。 またサービスは、パフォーマンスを向上させるためにオブジェクトのキャッシン グも行います。各サービスには、オブジェクトの属性値を保持するデータ・キャッ シュがあります。キャッシュは、そのサービスのセッションを越えて共有されま す。 また Access Control List(ACL)解決キャッシュもサービスごとに存在します。ACL は、「ユーザーまたはグループ X が Y の実行権限を所有する」という表にインメ モリーで解決されます。またサービスは、他のノードとキャッシュの同期を更新 するメカニズムも備えています。この処理は、データベース経由でのイベントの 交換により行われます。 またサービスは、データベースへの接続も管理します。1 つのサービスは、読込 み専用接続プールと書込み可能接続プールという 2 つの接続プールを備えていま す。 図 5: Oracle CM SDK サービスでは、データベースへのアプリケーションの接続をサポート し、パフォーマンス向上のためにコンテンツをキャッシュします。 セッション セッションは、ユーザーとリポジトリをマッピングします。API の観点から、多 くの API メソッド・コールは有効なセッション・オブジェクトを必要とします。 セッションは、データベースにコミットされていないオブジェクトをキャッシュ します。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 8 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 図 6: セッションは、まだデータベースにコミットされていないコンテンツを キャッシュし、特定のユーザーとリポジトリをマッピングします。 またセッションは、キャッシングも行います。各セッションには、Java flyweight を保持するオブジェクト・キャッシュがあります。Java flyweight は、サービス・ データ・キャッシュの lightweight Java オブジェクトを表現するオブジェクトです。 セッションでは、キャッシュされたオブジェクトをこのように共有します。 flyweight の中には、セッション固有の状態を保持するものもあります。 また各セッションの「コミットされていないデータ・キャッシュ」には、セッショ ンの現在のトランザクションで変更されたオブジェクトの属性値が保持されます。 トランザクションがコミットされると、キャッシュの内容は、サービス・データ・ キャッシュを介して他のセッションで使用可能になります。 サーバー Oracle CM SDK が行う処理の大部分はサーバーによって提供されます。サーバー は、ノード・マネージャのプロセスで実行されるオブジェクトです。サーバーは、 ノードでの実行および管理を許可するパターンに従います。 Oracle CM SDK には、プロトコル・サーバーとエージェントという 2 つのタイプ のサーバーがあります。 プロトコル・サーバー プロトコル・サーバーは、SMB/NTFS、AFP または NFS など業界標準のファイル・ システム・プロトコルを介したリポジトリ・アクセスを提供します。FTP、HTTP および WebDAV などインターネットを介してリポジトリにアクセスするプロト コル・サーバーもあります。また、標準の電子メール・プロトコル IMAP および SMTP でもリポジトリに接続できます。 これらのプロトコル・サーバーにより、ワード・プロセッサ、スプレッドシート・ プログラム、好みの電子メール・クライアントまたは Web ベースのユーザー・イ ンタフェースなど既存の生産性ツールを使用して Oracle CM SDK リポジトリのコ ンテンツを保存および管理できます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 9 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 エージェント Oracle CM SDK ノードのもう 1 つのタイプのサーバーであるエージェントでは、 同期(バックグラウンド)処理を提供します。エージェントは、時間またはイベ ントによってトリガーされます。エージェントでは、リポジトリの利便性を高め、 効率的に動作させるハウスキーピング・サービスを提供する多数の管理タスクを 実行します。たとえば、ガベージ・コレクションのエージェント、保持期間の過 ぎたコンテンツのエージェント、Oracle Internet Directory からユーザーを Oracle CM SDK へプロビジョニングするエージェント、開始時間を短縮するためにサー ビス・キャッシュを事前に初期化するエージェントなどがあります。 Oracle CM SDK インスタンスの管理 Oracle CM SDK は、複数のレベルで管理されており、それぞれのレベルでシステ ムが効果的および効率的に稼働するよう保証されています。 Oracle Enterprise Manager 10g Grid Control Oracle Enterprise Manager 10g Grid Control は、Oracle Application Server 中間層、 OracleAS Infrastructure 層、そして Oracle Database ホストを含む複数の中間層を集 中管理する Web ベースのツールです。 Oracle Enterprise Manager 10gApplication Server Control Oracle CM SDK は、Oracle Enterprise Manager 10gApplication Server Control と完全に 統合されており、Oracle CM SDK プロセスを拡張的に管理します。Application Server Control では、次に示す管理タスクを実行できます。 • 単一のインタフェースで Oracle CM SDK プロセスを開始および停止し、Oracle CM SDK ノード、サーバーおよびサービスの構成情報を編集できます。 • Oracle CM SDK プロセスからのステータス、使用およびパフォーマンス・デー タを自動監視し、パフォーマンスを集計して表示できます。 • セントラル・ロケーションからのネットワーク・ポートおよびシステム・ログ・ ファイルを表示できます。 Oracle CM SDK Manager Oracle CM SDK Manager は、リポジトリを管理する Web ベースの管理ツールです。 次に示す機能があります。 • Access Control List と権限の管理 • ユーザーとグループの管理 • マウント・ポイント、プリンタおよびキューの管理 • 既存のクラス・オブジェクトを拡張するか、新しいオブジェクトを作成して Oracle CM SDK のプロパティを拡張します。たとえば、カスタム・メタデータ のための新しいカテゴリを作成できます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 10 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 図 7: Oracle CM SDK Manager は Web ベースの管理ツールであり、既存のクラスを拡張する か、カスタム・クラス・オブジェクトと属性を作成することで Oracle CM SDK の機能 を拡張する機能を備えています。 その他の管理ユーティリティ Oracle CM SDK Object Inspector では、簡単で直感的なグラフィカル・アプリケー ションを使用してリポジトリ・オブジェクトの管理ができます。次の処理が可能 です。 • フォルダ階層の表示、および ACL のオブジェクトへの適用 • 選択したオブジェクトのプロパティ、カテゴリおよびリレーションシップの表 示 • オブジェクトの属性、リレーションシップおよびカテゴリを使用したオブジェ クト検索 この他にも、Oracle CM SDK には、管理タスクを簡素化するために様々な構成ス クリプトやウィザード、およびコマンドライン・ユーティリティ・プロトコル (CUP)サーバーが搭載されています。 Java によるコンテンツ管理アプリケーションの作成 Oracle CM SDK Java API は、次に示す高度なコンテンツ管理アプリケーションの 作成に必要となるすべての機能を備えています。 • フォルダ • セキュリティとアクセス制御 • チェックイン/チェックアウトおよびドキュメント・ロック • バージョニング • 検索 • 拡張可能なメタデータ • その他の標準的なコンテンツ管理操作 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 11 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 API は、コンテンツ管理アプリケーションの開発でオブジェクト指向のアプロー チをサポートし、リポジトリとの併用で、データのオブジェクト・リレーショナ ル・マッピングを提供します。開発者が Java でアプリケーションを作成すると、 Oracle CM SDK によってオブジェクトが永続化されます。開発者は SQL で開発し たり、データベースの表構造を意識する必要はありません。 図 8: 主な抽象クラス・ファミリーを示す Oracle CM SDK Java API クラス階層の一部。ここ から、その他すべての主なクラスが導出されます。 Oracle CM SDK の機能の拡張にはいくつかの方法があります。次に例を示します。 • コンテンツの分類および管理を向上させるための拡張可能メタデータを定義 するカスタム・カテゴリの作成 • カスタム・エージェントの作成 • 既存のサーバーによる指定のポイントで機能のオーバーライド • 既存のオブジェクトをサブクラス化した機能の拡張 リポジトリへの接続 Oracle CM SDK API の例として、リポジトリへの接続、フォルダの作成、および フォルダへのドキュメントのアップロードについて簡単に説明します。 フォルダは、リポジトリへ接続するユーザーのホーム・フォルダに作成するもの とします。 これは、リポジトリに直接接続する単純な事例です。通常は、サーバー・パター ンに従ってそのサーバーをノードに関連付けることにより、アプリケーションを ノードに登録します。この例では、管理されているサーバーとスタンドアロンの アプリケーション・コードの違いを強調しています。 まず、サービスを開始する必要があります。サービスについては、すでにこのホ ワイト・ペーパーで説明しています。 Oracle CM SDK で、次のコード・サンプルで示すようにサービスを開始します。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 12 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 // LibraryService を作成します。 service = LibraryService.startService( // このサービスに命名します。 serviceName, // CM SDK の構成時に選択されたパスワードを // 入力します。 schemaPassword, // ユーザーの要件に従って構成を選択します。 // 通常は、SmallServiceConfiguration。 // MediumServiceConfiguration または LargeServiceConfiguration serviceConfiguration, // この CM SDK ドメインのドメイン名 domain ); サービスを開始したら、次はサービスを接続してセッションを取得します。この セッションは、後続の API コールでリポジトリに対してこのユーザーを識別する ために使用されます(フォルダとドキュメントの作成サンプルを参照)。 // 接続情報を生成します。この例では、簡単なテキストのものを使用しています。 CleartextCredential credential = new CleartextCredential(username, password); // 接続情報を LibraryService へ渡して LibrarySession を確立します。 session = service.connect(credential, null); セッションを取得したら、その他のオブジェクトをリポジトリに作成します。セッ ションの処理を終了したら、次のコードで切断します。 session.disconnect(); フォルダとドキュメントの作成 Oracle CM SDK でのドキュメントとフォルダの作成は、きわめて容易です。次の 例では、作成するアイテムの定義オブジェクトをリポジトリに作成します。この 定義でアイテムの全属性を指定した後、最後にアイテムをデータベースに作成し ます。データベースを 1 度読み書きすれば、フォルダまたはドキュメントの更新 ができます。 サンプル・コード 1: Oracle CM SDK にフォルダを作成するには、フォルダ定義を作成し た後、フォルダ・オブジェクトをデータベースに作成します。 public Folder createFolder(LibrarySession session, String folderName) throws IfsException { Folder userHomeFolder = session.getUser().getPrimaryUserProfile().getHomeFolder(); // 新しいフォルダ定義を作成します。 FolderDefinition folderDefinition = new FolderDefinition(session); Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 13 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 // 作成したフォルダに命名します。 folderDefinition.setAttribute(PublicObject.NAME_ATTRIBUTE, AttributeValue.newAttributeValue(folderName)); // このフォルダのテキストを入力します。 folderDefinition.setAttribute( PublicObject.DESCRIPTION_ATTRIBUTE, AttributeValue.newAttributeValue("Demonstrating creating folders")); // このフォルダをユーザーのホーム・フォルダに置きます。 folderDefinition.setAddToFolderOption(userHomeFolder); // 最後に、実際のフォルダ・オブジェクトをデータベースに作成します。 Folder actualFolder = (Folder)session.createPublicObject(folderDefinition); // 新たに作成したフォルダへの参照を返します。 return actualFolder; } フォルダを作成したら、次にコード・サンプルに従ってドキュメントをフォルダ に直接アップロードします。 サンプル・コード 2: ドキュメントの作成は、フォルダの作成と同様です。ドキュメント定 義を作成した後、実際のオブジェクトをデータベースに作成します。 public void createDocument(LibrarySession session, Folder aFolder, String fileName) throws IfsException { // 新しいドキュメント定義を作成します。 DocumentDefinition newDocumentDefinition = new DocumentDefinition(session); // 作成したドキュメントに命名します。 newDocumentDefinition.setAttribute(PublicObject.NAME_ATTRIBUTE, AttributeValue.newAttributeValue(fileName)); // このドキュメントのコンテンツを検索する場所を指定します。 // この例では、単にローカル・ドライブ上の場所をポイントします。 newDocumentDefinition.setContentPath("D:\\MathPapers\\Math.pdf"); // 親フォルダの ACL を継承することを指定します。 newDocumentDefinition.setSecuringPublicObject(aFolder); // このドキュメントを格納するフォルダを指定します。 newDocumentDefinition.setAddToFolderOption(aFolder); // 最後に、この文書をデータベースに作成します。 Document newDocument = (Document)session.createPublicObject(newDocumentDefinition); } Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 14 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 ドキュメントのコンテンツは、次のメソッド・コールによってデータベースにアッ プロードされます。 newDocumentDefinition.setContentPath("D:¥¥MathPapers¥¥Math.pdf"); ドキュメントのメタデータをアップロードして、既存のシステムまたは不明瞭化 されたファイル・システムのコンテンツをポイントするだけの他のコンテンツ管 理システムとは、この点が大きく異なります。当社のアプローチの方が優れてお り、多くの利点があることは検証済みです。 コンテンツの検索 リポジトリ内のオブジェクトは、次のような方法で検索できます。 • 一意のオブジェクト ID • 別のオブジェクトの属性値 • フォルダ・パス • LibraryObjects のコレクション(メモリー常駐セット) • 検索指定オブジェクトで指定された検索 Oracle CM SDK は、簡易検索と拡張検索の両方をサポートしています。 セレクタ検索 セレクタ検索は、リポジトリ内の特定のオブジェクトを検索する簡単な検索メカ ニズムです。セレクタ検索には、Selector オブジェクトを作成し、ドキュメン トまたはフォルダなど、検索するオブジェクトのタイプを指定します。また、標 準 SQL クエリの WHERE 句のような検索基準を指定します。たとえば、NewFolder1 と NewFolder2 というフォルダの指定には、"NAME like 'NewFolder%'"とい う式を使用します。また、ソート順序や、サブクラスを検索するかも指定できま す。その後、返されたオブジェクトのコレクションをナビゲートできます。 拡張検索 Oracle CM SDK の検索 API では、さらに高度な検索が可能です。オブジェクトの 属性値やリポジトリ内にオブジェクトがあるかどうかを基準に検索できます。ま た、1 つまたは複数のドキュメントのコンテンツを基準に検索することもできま す。API のクラスでは、SQL と似たクエリを Java で作成できます。属性検索指定 とコンテキスト検索指定という 2 つのタイプの検索指定を作成できます。検索指 定は以下のような複数のコンポーネントを使用して作成します。 • 検索クラス指定: SELECT 句と FROM 句で構成されます。 • 検索修飾: WHERE 句の条件。 • SearchSortSpecification オブジェクト: 返されるオブジェクトの順序 を指定します。これは、to 句と QL ORDER BY 句をマッピングします。 これらのオブジェクトを使用して高度な検索を作成し、コンテンツを容易に検索 できます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 15 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle Text を使用したコンテンツベース検索 コンテンツベース検索の手順は前述の検索と類似しています。コンテンツベース 検索では、検索のためのコンテキスト検索指定を作成します。このためには、前 述のように、ユーザーがコンテキスト検索修飾を提供して検索の一致基準を指定 する必要があります。この場合、それは Oracle Text コンテンツベース検索で使用 される CONTAINS 句に相当します。Oracle Text によってサポートされる有効な検 索基準を、コンテキスト検索修飾を使用することで作成できます。 Oracle CM SDK は Oracle Text と強く統合されているので、Oracle Text の拡張検索 機能を使用するアプリケーションに拡張検索機能の組込みができます。Oracle Text では標準 SQL を使用して、Oracle データベース、ファイル・サーバーおよび Web に保存されているテキストとドキュメントを索引作成、検索および分析でき ます。Oracle Text には、次の機能があります。 • • ドキュメントのテーマおよび要点の分析 各種の方針を使用したテキスト検索: 例: 全文検索: ブール、完全一致、 Proximity、セクション検索、スペルミス、語幹、ワイルドカード、類語、同等 語句およびスコアリングの混合: テキスト索引とリレーショナル属性、および セマンティック • HTML と XML セクションおよびタグ値の検索 • 未フォーマット・テキスト、自動キー・ハイライト付き HTML、およびオリジ ナルのドキュメント・フォーマットなど、各種のフォーマットへの結果の変換 • 150 を超えるドキュメント・フィルタによる、多くのドキュメント・フォーマッ トの分析と索引作成 • 多言語のサポート コンテンツのバージョニング Oracle CM SDK は、きわめて強力で柔軟なバージョニング・モデルを提供します。 ドキュメントの各種バージョンはファミリーを形成します。このファミリーに、1 つ以上のバージョン・シリーズが含まれています。これらのシリーズには、ドキュ メントのバージョンごとにバージョン説明が含まれており、これにより複数の バージョニング・スキームをサポートできます。2 つのバージョン・シリーズを 図 9 に示します。最初のシリーズは、ドキュメントの内部使用を目的としており、 ドキュメントのすべてのバージョンを含んでいます。2 つめのバージョン・シリー ズは、公開するドキュメントのバージョンで構成されています。これは単なる例 に過ぎません。Oracle CM SDK のバージョニング API を使用して、その他多くの スキームを実装できます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 16 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 図 9: Oracle CM SDK でバージョニングされた各種のドキュメントは、バージョン・シリー ズのファミリーを形成します。ここには、公開と内部使用という 2 つのシリーズが示 されています。Oracle CM SDK は、柔軟なバージョニング・アーキテクチャを提供し ます。 コンテンツの保護 Oracle CM SDK でコンテンツ管理ソリューションを開発するメリットの 1 つは、 すべてのコンテンツを 1 箇所、つまりリポジトリに整理統合することで、コンテ ンツへのアクセス制御と保護の実施がさらに容易になることです。Oracle CM SDK は、コンテンツへのアクセスを可能にする高度な API を提供します。 認証 Oracle CM SDK は、次の 2 つの資格証明マネージャを備えています。 • Oracle CM SDK 資格証明管理(IfsCredentialManager) • Oracle Internet Directory(OID)資格証明管理(OidCredentialManager) またユーザー独自のカスタム資格証明マネージャを作成することもできます。 システム固有の Oracle CM SDK 資格証明マネージャは、資格証明情報を Oracle CM SDK スキーマに格納します。 Oracle Internet Directory は、LDAP サーバーの全管理機能を使用して、ユーザーと グループを中央の LDAP サーバーに格納し、管理します。Oracle CM SDK では、 ユーザーのシングル・サインオン(SSO)パスワードにより、または一部のプロ トコル・サーバーについては、Oracle CM SDK 固有パスワードによって認証でき ます。暗号化されていないパスワードを送信するプロトコルもあるので、パスワー ドが攻撃されても Oracle CM SDK 固有のパスワードを使用すれば、SSO パスワー ドの安全性を保証できます。Oracle CM SDK 固有のパスワードは、SSO パスワー ドとは別の OID に格納されます。 Oracle Internet Directory を使用する Oracle CM SDK を構成すれば、ユーザーおよび グループは、次のいずれかのメカニズムを使用して Oracle CM SDK にプロビジョ ニングされます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 17 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 • 手動: 管理者は、Oracle CM SDK マネージャ・ツールでユーザーを直接作成し、 ユーザーが OID を使用して認証される必要があることを指定できます。 • 自動: ユーザーが OID に作成されるとイベントが Oracle CM SDK に送信され、 ユーザーがプロビジョニングされます。 • 定期: ユーザーをプロビジョニングする OID 資格証明マネージャ・エージェン トによって、15 分おき、24 時間おきなど指定の間隔でプロビジョニングされ ます。 移行ツールを使用して Oracle CM SDK 資格証明マネージャから OID へユーザーの 移行もできます。これにより、Oracle CM SDK を使用して作成されたアプリケー ションでは企業ユーザー全員を 1 箇所で管理でき、管理オーバーヘッドの低下、 利便性の向上、およびセキュリティの強化を実現できます。 認可 コンテンツへのアクセスは、Oracle CM SDK Access Control List(ACL)によって 管理されます。ACL には、ユーザーまたはグループと、コンテンツに権限をマッ ピングする Access Control Entries(ACE)が含まれています。ユーザーがドキュメ ントに対して所有する権限は授与または取消しができます。また、ACL における ACE の位置により、そのドキュメントに対して ACE は、以前に割り当てた権限 を修正できます。 Oracle CM SDK の拡張権限機能を使用して、カスタム権限を作成できます。これ らの拡張権限を処理するビジネス・ロジックも作成する必要があります。 権限はアクセス権バンドルにグループ化できます。つまり、ユーザーは複数のア クセス・レベルをカスタマイズ済みのバンドルにグループ化できます。これによ り、アクセス・レベルを個別に処理する必要がなくなり、利便性が高まります。 またアクセス権限バンドルは「ロール」としての役割も果たします。つまり、ア クセス権限バンドルを更新すると、すべての ACL に自動的に変更が反映されます。 Oracle CM SDK では、ユーザーをグループ化できます。グループは、共通事項を 持つユーザーの集まりです。たとえば、ユーザーが所有するロールを基準にグルー プを作成できます(マネージャ、開発者、プログラム作成者など)。また、会社 の部門やプロジェクトを基準にグループの作成もできます(マーケティング、販 売、開発など)。グループには他のグループを含むこともできるので、包括的な ユーザー階層を作成できます。 グループに授与された権限は、グループにユーザーを追加したとき、そのユーザー にも自動的に授与されます。これにより ACL の数が減り、パフォーマンスの向上 と ACL の管理の簡素化につながります。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 18 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle Workflow によるコンテンツ・プロセスの処理 Oracle CM SDK には、Oracle Workflow というさらに強力なコンポーネントが統合 されています。Oracle Workflow では、たとえば、承認者へのコンテンツの回覧、 承認の処理、およびコンテンツの生成と管理に関するすべてのワークフロー手順 の管理など、コンテンツを取り巻く多くのビジネス・プロセスを自動化できます。 さらに、保険金請求の手順や法的書類提出の手順など、一般的なビジネス・プロ セスも自動化できます。Oracle Workflow Builder では、ユーザー独自のワークフ ローを定義し、Oracle CM SDK にロジックを構築することで、自動処理を活用で きます。 結論 Oracle Content Management SDK は、高度なエンタープライズ・コンテンツ管理ソ リューションを迅速に構築するため、開発者が必要なすべての機能を搭載してい ます。コンテンツはそのままリポジトリにロードできます。わずかな Web ベース の開発で、チェックイン/チェックアウト、セキュリティとアクセス制御、ワーク フローベースの承認およびドキュメントの回覧など、コンテンツ管理に関する多 くの要件を満たす、きわめて利便性の高いユーザー・インタフェースを作成でき ます。 Oracle コンテンツ管理 SDK: 概要とアーキテクチャ 19 Oracle Corporation 発行「Oracle Content Management SDK: Concepts and Architecture」の翻訳版です。 Oracle Content Management SDK: 概要とアーキテクチャ 2004 年 10 月 著書: Simon Azriel 寄稿者: David Pitfield, Sylvia Perez and Marla Azriel Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話: +1.650.506.7000 ファックス: +1.650.506.7200 www.oracle.com Copyright © 2003, Oracle. All rights reserved. この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。 オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載 されているかどうかに関係なく、商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証 または条件に制約されません。オラクル社は、本書の内容に関していかなる保証もいたしません。また、本書により、 契約上の直接的および間接的義務も発生しません。本書は、事前の書面による承諾を得ることなく、電子的または物理 的に、いかなる形式や方法によっても再生または伝送することはできません。 Oracle は、Oracle Corporation の登録商標です。その他の名称は、それぞれの所有者の商標です。