53 WEMフレームワークでのバッファリング

アセットの作成、更新、削除操作は、読取り操作と比べるとはるかに低速です。場合によっては、これらの操作を遅延させて、最終的に一貫性が保証されるようにすることも可能です。つまり、遅延(バッファ済)操作の場合は、有限で不確定な時間にWebCenter Sitesプラットフォームが変更を受け取ることが保証されます。バッファリング操作はきわめて高速ですが、プラットフォームでのアセットの作成、更新、削除に必要な合計時間が短縮されるわけではありません。

トピック:

バッファリング・システムのアーキテクチャ

バッファリング・サブシステムの現在の実装は、Java Messaging Service (JMS)テクノロジに依存しています。2つのコンポーネントのバッファリング・プロデューサおよびバッファリング・コンシューマがあります。プロデューサは、メッセージを生成し、それをメッセージング・キュー(MQ)に入れます。コンシューマは、MQからメッセージを取得し、それをプラットフォームで維持します。

図53-1バッファリング・システムのアーキテクチャ

図53-1の説明が続きます
「図53-1 バッファリング・システムのアーキテクチャ」の説明

バッファリング・プロデューサは、アセットRESTサービス<BaseURI>/sites/<sitename>/types/<assettype>/assets/<id>が使用可能な場合は、WebCenter SitesとリモートSatellite Serverの両方で使用できます。リモートSatellite Serverで使用する場合、バッファリング・プロデューサはWebCenter Sitesと通信しないため、システム全体の線形スケーラビリティが確保されます。

ノート:

バッファリング・コンシューマは、WebCenter Sitesでのみ使用できます。バッファリング・コンシューマは、プライマリ・クラスタ・メンバーのみで有効にすることをお薦めします。複数のクラスタ・メンバーで有効にすると、CRUD操作の順序が保証されません。

バッファリングの使用

バッファリングを使用する場合、次に進み、BufferingConfig.xmlファイルのバッファリング・オプションを有効にします。

  1. JMSプロバイダがまだインストールされていない場合はインストールします。サポート対象のプロバイダについては、Oracle Technology Network (http://otn.oracle.com)から入手可能なOracle Fusion Middleware WebCenter Sites動作保証マトリックスを参照してください。
  2. WebCenter Sites (およびオプションでリモートSatellite Server)でBufferingConfig.xmlを構成します。
    id="bufferingManager" class=
      "com.fatwire.cs.core.buffering.jms.JmsBufferingManager"
    

    表53-1 BufferingConfig.xmlのプロパティ

    プロパティ名 説明

    jmsConnectionFactory

    必須。javax.jms.ConnectionFactoryのインスタンス

    jmsDestination

    必須。javax.jms.Destinationのインスタンス

    messageConsumers

    com.fatwire.cs.core.buffering.IMessageConsumer実装のリスト。

    ノート:

    BufferConfig.xmlを構成する際には、activemq-all.jarWebCenter Sites Webアプリケーションのクラスパス(たとえば、WEB-INF/lib)に追加します。

  3. RESTアセット・サービス<BaseURI>/sites/ <sitename>/types/<assettype>/assets/<id>を起動する場合は、buffer=trueを指定します。

    ノート:

    バッファリングを使用すると、PUTおよびPOST操作の結果がレスポンスで返されません。かわりに、空のペイロードが送信されます。開発者は、クライアント・アプリケーションをコーディングする際にこの動作を覚えておく必要があります。

WebCenter Sitesに用意されているデフォルトのBufferingConfig.xmlファイルには、Apache ActiveMQ用のサンプル構成が含まれています。BufferingConfig.xmlファイルは、リモートSatellite Serverのメッセージ・コンシューマのリストが空である点を除いて、WebCenter SitesとリモートSatellite Serverで同じです。