コンテンツ管理ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

サードパーティのリポジトリへの接続

WebLogic Portal の仮想コンテンツ リポジトリでは、非 BEA リポジトリに接続することができます。サードパーティのリポジトリが仮想コンテンツ リポジトリに接続されている場合、コンテンツ プレースホルダやコンテンツ セレクタなどのポータル ツールを使用して、コンテンツにアクセスできます。

一部のサードパーティ コンテンツ管理ベンダは、サードパーティのリポジトリを仮想コンテンツ リポジトリに接続する統合ツール (コンテンツ サービス プロバイダ実装ツールまたは SPI) を構築しています。これらの実装の詳細については、サードパーティ リポジトリのベンダにお問い合わせください。

JSR 170 準拠のサードパーティのリポジトリを使用している場合、BEA の JSR 170 コネクタを介してリポジトリに接続することができます。BEA の JSR 170 コネクタの使用については、「JSR 170 対応リポジトリの操作」を参照してください。JSR 170 の詳細については、「JSR 170 の Web サイト」を参照してください。

WebLogic Portal の仮想コンテンツ リポジトリ用の実装を構築していないベンダ製のサードパーティ リポジトリを使用する場合は、BEA のサービス プロバイダ インタフェース (SPI) を使用して独自の実装を作成することができます。

この章の内容は以下のとおりです。

 


サードパーティのリポジトリの操作

サードパーティのリポジトリを WebLogic Portal で使用するようコンフィグレーションするには、以下の 3 つの手順を行います。

  1. 使用するサードパーティ リポジトリにアクセスするための SPI 実装を作成または取得します。この SPI 実装により、サードパーティのリポジトリの機能が WebLogic Portal に統合されます。JSR 170 準拠のリポジトリに接続している場合は、SPI 実装を作成する必要はありません。
  2. ポータルが確実にリポジトリと通信できるよう、リポジトリ SPI jar をポータル クラスパスに追加します。クラスパスへのクラスの追加の詳細については、『WebLogic Server ドキュメント』を参照してください。
  3. Portal Administration Console を使用して、対象のリポジトリを仮想コンテンツ リポジトリに接続します。使用する実装に応じて、サードパーティのリポジトリに関する各種リポジトリ プロパティを設定し、仮想コンテンツ リポジトリに接続できるようにします。これらのリポジトリ プロパティは SPI 固有であり、SPI のドキュメントで説明されています。

 


SPI 実装の作成

SPI 実装は、WebLogic Portal エンタープライズ アプリケーション内で実行します。WebLogic Portal のスケーラビリティとパフォーマンスは、各種の実装による影響を受けます。

次の節では、サードパーティのリポジトリにアクセスする SPI が実装する必要のあるインタフェースと、SPI 実装で使用可能なクラスについての概要を示します。詳細については、「JavaDoc の Content SPI」に関する説明を参照してください。

SPI には、次のような 2 つのタイプのインタフェースが含まれます。

また、SPI には、操作がリポジトリで許可されていないことを示すエラー メッセージ (リポジトリ例外) を生成するクラスが含まれます。たとえば、SPI でフォルダにコンテンツを追加する操作が許可されていても、リポジトリで許可されていない場合は、そのことを示す RepositoryException が SPI で生成されます。

メソッドがまったく実装されていない場合は、UnsupportedRepositoryOperationException が生成されます。

この節では、次のトピックについて説明します。

リポジトリ接続インタフェース

リポジトリ接続インタフェースには、表 8-1 に示されているインタフェースが含まれます。SPI のクライアントがサービスに接続するためには、リポジトリ接続インタフェースが実装されている必要があります。これらのインタフェースを使用することにより、SPI 実装を BEA コンテンツ管理フレームワークにプラグインすることができます。

これらのリポジトリ接続インタフェースの詳細については、com.bea.content.spi パッケージに関する「WebLogic Portal の JavaDoc」を参照してください。

表 8-1 リポジトリ接続インタフェース
サービス インタフェース
注意
リポジトリ
Repository は、コンテンツ リポジトリのコンフィグレーションを定義すると共に、Ticket を用いてコンテンツ リポジトリ サービスへのアクセスを提供する。
ExtendedRepository
ExtendedRepository は、リポジトリ接続へのアクセスを提供する。
Ticket
Ticket は、認証済みの Credentials を使って Repository への接続を呼び出した後、クライアントに表示されるインタフェース。これは、コンテンツ リポジトリ サービスへのゲートウェイである。
ExtendedTicket
ExtendedTicket は、WebLogic 9.2 で使用できるリポジトリ サービスを有効にする。たとえば、コンテンツ ワークフローを使用することができる。コンテンツ ワークフローの詳細については、「BEA リポジトリでのコンテンツ ワークフローの使用」を参照。
Credentials
Credentials は、コンテンツ リポジトリへのアクセスを試みるユーザの資格を定義する。認証および認可は、どちらもこの Credentials に基づいて行われる。

サービス インタフェース

サービス インタフェースは、リポジトリ内でコンテンツの追加、更新、削除などの主要なコンテンツ管理タスクを実行するために使用します。

サービス インタフェースはトランザクション対応 (必要な場合) であり、スレッド セーフでスケーラブルであることが望まれます。実装方法には、すべてのサービス インタフェースを一度に実装する方法と、インタフェースごとに個別に実装する方法があります。サービス メソッドはすべて、標準の com.bea.content.RepositoryException を送出します。SPI にも、RepositoryException を拡張するいくつかの標準の例外が含まれます。

表 8-2 では、コンテンツ SPI で使用できるサービス インタフェースを示します。これらのサービス インタフェースの詳細については、com.bea.content.spi パッケージに関する「WebLogic Portal の JavaDoc」を参照してください。

表 8-2 サービス インタフェース
サービス インタフェース
注意
NodeOps
NodeOps は、コンテンツとそのプロパティの操作に使用されるサービス インタフェース。これには、コンテンツおよびコンテンツ フォルダに対するアクセス、作成、更新、削除、コピー、移動、名前変更が含まれる。
ExtendedNodeOps
ExtendedNodeOps は、動的ソートやクエリ結果のフィルタ処理といった WebLogic Portal 9.2 の新しい機能にアクセスできるようにする。
ObjectClassOps
ObjectClassOps は、ObjectClasses (コンテンツ タイプ) とその PropertyDefinitions および PropertyChoices の操作に使用されるサービス インタフェース。これには、ObjectClasses の作成、更新、取得などが含まれる。
ExtendedObjectClassOps
ExtendedObjectClassOps は、WebLogic Portal 9.2 の ObjectClasses (コンテンツ タイプ) の新しい機能にアクセスできるようにする。詳細については、「BEA リポジトリでのコンテンツ タイプの使用」を参照。
SearchOps
SearchOps は、コンテンツの検索に使用されるサービス インタフェース。検索は、com.bea.content.expression で定義されている Search オブジェクトと、com.bea.p13n.expression パッケージに記載される式構造に基づく。
検索は、式で使用されるプロパティとコンテンツ タイプに一致するすべてのコンテンツに対して実行される。システム プロパティには検索で使用できるものもあり、これらは Search クラスで定義される。

ExtendedSearchOps

ExtendedSearchOps は、コンテンツの全文検索のインデックス作成に使用する。

SPI 実装の簡単な例

コード リスト 8-1 は、Virtual ContentManager から呼び出されるリポジトリの実装例です。

コード リスト 8-1 リポジトリの実装例
public class RepositoryImpl implements Repository
{
Properties properties;
String name;

public Ticket connect(Credentials credentials)
{
return new TicketImpl(credentials, properties);
}

public Ticket connect(String userName, String password)
{
Subject subject = com.bea.p13n.security.Authentication.
getCurrentSubject();
Credentials credentials = new Credentials(subject);
return new TicketImpl(credentials, properties);
}
public Properties getProperties()
{
return properties;
}
public void setProperties(Properties properties)
{
this.properties = properties;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}
}

 


サードパーティのリポジトリへの接続

SPI を実装したら、次に Portal Administration Console を使用してサードパーティのリポジトリを仮想コンテンツ リポジトリに接続する必要があります。サードパーティのリポジトリを仮想コンテンツ リポジトリに接続すると、ポータル内にあるリポジトリのコンテンツを使用できるようになります。サードパーティ リポジトリの実装に書き込み機能がある場合、Portal Administration Console を使用してリポジトリ内のコンテンツを編集することもできます。

SPI はさまざまなコンフィグレーション パラメータを使用して何度もデプロイすることができます。アプリケーションのパースペクティブでは、複数のリポジトリとして表示されます。

注意 : BEA のライブラリ サービスは、SPI 実装での使用をサポートしていません。

サードパーティのリポジトリに接続する際に、サードパーティ リポジトリのコンフィグレーションに一致する追加のプロパティをコンフィグレーションすることが必要な場合もあります。サードパーティのドキュメントを参照して、コンフィグレーションが必要なプロパティと使用する接続クラスを確認してください。

リポジトリを仮想コンテンツ リポジトリに接続するには

  1. Portal Administration Console で、コンソールの上部のナビゲーション メニューから [コンテンツ|コンテンツ管理] を選択します。
  2. [リポジトリの管理] を選択します。
  3. リポジトリの管理ツリーで、[仮想コンテンツ リポジトリ] を選択します。
  4. [参照] タブで、[リポジトリ接続の追加] をクリックします。図 8-2 では、リポジトリ セクションの [参照] タブの例を示しています。
  5. 図 8-1 リポジトリの管理ウィンドウの [参照] タブ


    リポジトリの管理ウィンドウの [参照] タブ

  6. [リポジトリ接続の追加] ダイアログで、次の情報を指定します。
  7. 表 8-3 リポジトリ接続情報
    フィールド
    説明
    リポジトリ名
    新しいリポジトリに付ける名前 (MyNewRepository など)。
    接続クラス
    作成した、またはサードパーティ ベンダにより提供されている SPI 接続クラスを使用する。必ずこのクラスをクラスパスに追加する。
    ユーザ名
    SPI 実装にユーザ名が必要な場合は、ここに入力する。BEA リポジトリのコンフィグレーションでは、空白のままにすることができる。
    パスワード
    SPI 実装にパスワードが必要な場合は、ここに入力する。BEA リポジトリのコンフィグレーションでは、空白のままにすることができる。
    パスワードの再入力
    パスワードを入力した場合、ここに再度入力する。
    ライブラリ サービスを有効にする
    このリポジトリでライブラリ サービスを使用しない場合は、このチェック ボックスを選択解除する。ライブラリ サービスは BEA リポジトリでのみ使用できる。

  8. [保存] をクリックします。
  9. リポジトリ セクション内で、作成したリポジトリをクリックして、作成されたことを確認し、リポジトリの概要を表示します。

 


JSR 170 対応リポジトリの操作

WebLogic Portal には、Day Software の CRX などの JSR 170 仕様を実装しているリポジトリへのコネクタが用意されています。JSR 170 インタフェースを介してリポジトリにアクセスする場合は、カスタム SPI 実装を作成する必要はありません。

この節では、JSR 170 リポジトリがすでにインストールされ、コンフィグレーションされていると仮定します。Software の CRX JSR 170 リポジトリのインストールおよび使用に関するその他のドキュメントについては、『WebLogic JSR 170 Adaptor 開発者のガイド』および『WebLogic JSR 170 のサポート対象のコンフィグレーション ガイド』を参照してください。

この節では、次のトピックについて説明します。

JSR 170 リポジトリ内の検索

リポジトリが仮想コンテンツ リポジトリに接続されている場合、コンテンツ寄稿者と開発者はいずれもリポジトリ内のコンテンツを検索することができます。ただし、仮想コンテンツ リポジトリにより提供されるメタデータ (システム プロパティ、MIME タイプなど) には、JSR 170 仕様でサポートされていないものも存在するため、検索が無効になる場合があります。

以下のシステム プロパティは、JSR 170 リポジトリを検索する際に使用できません。

以下の検索演算子は使用できません。

JSR 170 リポジトリへの接続

JSR 170 リポジトリに接続するには、以下の操作を行います。

  1. [管理|リポジトリ] を選択して、リポジトリ ツリーを表示します。
  2. [仮想コンテンツ リポジトリ] をクリックします。
  3. [参照] タブで、[リポジトリ接続の追加] をクリックします。図 8-2 では、リポジトリ セクションの [参照] タブの例を示しています。
  4. 図 8-2 リポジトリの管理ウィンドウの [参照] タブ


    リポジトリの管理ウィンドウの [参照] タブ

  5. [リポジトリ接続の追加] ダイアログで、次の情報を指定します。
  6. 表 8-4 リポジトリ接続情報
    フィールド
    説明
    リポジトリ名
    新しいリポジトリに付ける名前 (MyNewRepository など)。
    接続クラス
    リポジトリを WebLogic Portal に接続する接続クラスの名前。
    Day Software CRX リポジトリに接続する場合は、com.day.content.spi.jsr170.JNDIRepository という接続クラスを使用する。
    ユーザ名
    使用するサードパーティ リポジトリへの接続に必要なユーザ名を入力する。
    パスワード
    使用するサードパーティ リポジトリへの接続に必要なパスワードを入力する。
    パスワードの再入力
    使用するサードパーティ リポジトリへの接続に必要なパスワードを再入力する。
    ライブラリ サービスを有効にする
    ライブラリ サービスを無効にするには、このチェック ボックスを選択解除する。

    注意 : ライブラリ サービスはサードパーティのリポジトリではサポートされていない。

  7. [保存] をクリックします。
  8. リポジトリ セクション内で、作成したリポジトリをクリックして、作成されたことを確認し、リポジトリの概要を表示します。
  9. 表 8-5 のプロパティをリポジトリに追加します。
    表 8-5 JSR170 コネクタ プロパティ
    リポジトリ プロパティ
    必要な値
    処理の内容 :
    jsr170.hide.builtin
    true
    このプロパティは、リポジトリ固有のタイプおよびプロパティにより仮想コンテンツ リポジトリの動作が妨げられないようにする。
    jsr170.uid.mapping
    uuid
    このプロパティは、リポジトリにより生成された ID を仮想コンテンツ リポジトリで必要な内部 ID にマップする。
  10. 追加する各プロパティに対して、以下の手順を実行します。

    1. [プロパティ] セクションで、[プロパティの追加] をクリックします。
    2. [名前] フィールドに、追加するプロパティ名を入力します。
    3. [値] フィールドに、プロパティの値を入力します。
    4. [保存] をクリックします。
  11. リポジトリ セクション内で、作成したリポジトリをクリックして、作成されたことを確認し、リポジトリの概要を表示します。

  ページの先頭       前  次