IBM Interact Inbound Gateway for IBM Universal Behavior Exchange の使用

IBM® Interact Inbound Gateway for IBM Universal Behavior Exchange を使用するには、Interact を構成し、UBX サブスクライバー・エンドポイントを構成し、UBX にエンドポイントとイベントを作成する必要があります。

Interact for the IBM Interact Inbound Gateway for IBM Universal Behavior Exchange の構成

Interact を構成するには、以下の手順を使用します。

  1. Interact | activityOrceshtrator | receivers 構成プロパティーで、新しいレシーバーを追加します「type」「IBMMQ」または「Custom」に設定します。「Custom」を選択した場合は、「クラス名」「クラスパス」を入力します。「IBMMQ」を選択した場合、「クラスパス」「クラス名」はブランクのままにしておきます。
  2. レシーバーの providerURLqueueManagermessageQueueNameauthDS、および asmUserFor...." パラメーターを追加します。
  3. Interact | activityOrceshtrator | gateways 構成プロパティーで、新しいゲートウェイを追加します。「クラスパス」OMO_InteractGateway_UBX.jar ファイルの場所の URI を設定し、「クラス名」に次の値を設定します。
    com.ibm.interact.offerorchestration.inboundgateway.ubx.
    UBXInboundGateway
  4. インバウンド・ゲートウェイの UBX フォルダーの下に Interactubx11 フォルダーを作成し、この新規フォルダーにプロパティー・ファイルをコピーします。フォルダー名は、UBX で作成したサブスクライバー・エンドポイントの名前と一致しなければなりません。
  5. interactEventNamemapping.properties ファイルに、ペイロード・イベント・フィールドの値を Interact イベント名にマップするためのエントリーを追加します。例えば、recommededOffers=recommendedOffers を追加します。
  6. interactEventPayloadMapping.properties ファイルに、これらのパラメーターの名前をそれぞれ OMO-conf_inbound_UBX_interactEventNameMapping および OMO-conf_inbound_UBX_interactEventNameMapping に設定したフィールド定義を追加します。

    以下に例を示します。

    [SessionID]=(String)interactprofileid
    [EventName]=(String)code
    [AudienceIDFieldNames]=(String)"CustomerID"
    [AudienceIDFieldValues]=(Numeric)interactprofileid
    [AudienceLevel]=(String)"Customer"
    [InteractChannel]=(String"UBX_MM"
  7. Interact | activityOrceshtrator | gateways | [gatewayname] | Parameter Data で、Interactubx11/interactEven tNameMapping.propertiesInteractubx11/interactEven tPayloadMapping.properties の場所をゲートウェイのパラメーターとして追加します。
  8. 対話式チャネルを作成し、その対話式チャネルにイベントを追加します。
  9. recommendedOffers イベントを含むトリガー・メッセージ・ルールを追加し、オファーをそのルールに割り当てます。
  10. 対話式チャネルを配置します。
  11. Interact サーバーを再始動します。
  12. REST API クライアントを使用して UBX にイベントを通知します。

    イベント本文の例:

    {  
      "channel" : "mobile",       
      "identifiers" : [            
        {
          "name" : "interactprofileid",       
          "value" : "55"   
        }
      ],
    "events" : [
      {
        "code" : "recommendedOffers",      
        "timestamp" : "2015-12-28T20:16:12Z"
       }
      ]
    }
  13. Interact ログを確認して、トリガー・メッセージ・イベントがトリガーされたかどうかを調べます。

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントの構成

これは、エンドポイントのサンプルであり、例として使用できます。

以下の構成を実行する場合も、それらの手順を使用する必要があります。

  • IBM MQ を使用する UBX エンドポイント
  • エンドポイントの ubxInboundEndpoint.properties ファイル
  • エンドポイントの inboundProducerNameConfig.properties ファイル
  • エンドポイントの inboundQueueNameConfig.properties ファイル
  • エンドポイントの log4j.properties ファイル

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange およびエンドポイントの配置

  1. IBM_Interact_OMO_Gateway_for_UBX_Subscriber_2.0.zip をダウンロードして、Interact ランタイム・サーバーの Interact がインストールされているディレクトリーに unzip します。
  2. IBM_Interact_OMO_Endpoint_for_UBX_Subscriber_2.0.zip をダウンロードして、公衆アクセス可能な JavaEE に対応したアプリケーション・サーバーまたは Web サーバー上の任意のディレクトリー (c:ubxInboundEndpoint など) に unzip します。このサーバーは、データを Interact インバウンド JMS Queue に通知して、後で IBM Interact Inbound Gateway for IBM Universal Behavior Exchange によってコンシュームされるようにします。

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange Interact の Inbound Gateway エンドポイントの構成

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントを構成することによって、Universal Behavior Exchange からの要求を受け入れ、それを IBM Interact Inbound Gateway for IBM Universal Behavior Exchange に送信するようにします。

以下のタスクを完了して、Universal Behavior Exchange Subscriber Gateway エンドポイントを構成する必要があります。

  1. Web サーバー内またはアプリケーション・サーバーの管理コンソール内にある構成ファイルを編集することによって、新しい Java システム・プロパティー (-DubxInboundEndpointConfigPath) を構成する必要があります。-D プロパティーがサーバーのエンドポイント・インストール・ディレクトリーを指すようにします。このディレクトリーに格納されている構成ファイルでは、エンドポイントのターゲット JMS キューと各種ロギング・レベルが設定されています。例えば、-DubxInboundEndpointConfigPath=c:ubxInboundEndpoint のようにします。
  2. Web サーバーまたはアプリケーション・サーバーの資料に記載されているインストール・ディレクトリーにある IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイント Web アーカイブ・ファイル (ubxInboundEndpoint.war) を配置します。

エンドポイントが正しくインストールされたことを確認するには、任意のブラウザーに次のアドレスを入力して、メッセージ UBX End Point is UP を探します。

http://[Server]:[Port]/[ContextRoot]/UBXEndPoint
注: 必要なファイアウォール規則を追加して IBM Universal Behavior Exchange Server からの http 要求のみを受け入れるように設定することによって、公衆アクセス可能な IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントを保護する必要があります。

例えば、以下の手順に従って IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントを構成し、WebSphere Application Server 上に配置することができます。

  1. 管理コンソールを開きます。
  2. 「サーバー」 > (「サーバー・タイプ」を展開する) > server_name > (「Java™ およびプロセス管理」を展開する) > 「プロセス定義」 > 「Java 仮想マシン」を選択します。
  3. 汎用 JVM 引数に、プロパティー -DubxInboundEndpointConfigPath=<アプリケーション・サーバー上の Universal Behavior Exchange Subscriber Gateway エンドポイント・インストール・ディレクトリー> を追加します。例えば、プロパティー -DubxInboundEndpointConfigPath=C:ubxInboundEndpoint を追加します。
  4. 「OK」をクリックして、変更をマスター構成に保存します。
  5. アプリケーション・サーバーを再始動します。

WebSphere Application Server にエンドポイントを配置します。

  1. 管理コンソールにログインします。
  2. 「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」までナビゲートします。「インストール」をクリックします。
  3. 「アプリケーション・インストールの準備」オプションを使用して、インストールするエンドポイント war ファイル (ubxInboundEndpoint.war) を指定し、「次へ」をクリックします。
  4. 「Web モジュールのコンテキスト・ルートをマップ」が表示されるまで、続くページで「次へ」をクリックします。
  5. 「Web モジュールのコンテキスト・ルートをマップ」を使用して、コンテキスト・ルートを見つけ、値を /UBXEndPoint に変更します。これがコンテキスト・ルートになります。「次へ」をクリックします。
  6. 「完了」をクリックします。
  7. アプリケーションがインストールを完了したら、「保存」をクリックしてマスター構成の変更を保存します。
  8. インストール済みアプリケーションのリストに戻り、ubxInboundEndpoint_war のチェック・ボックスにマークを付け、「開始」をクリックして、読み込みを開始します。

IBM MQ を使用する IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントの構成 (オプション)

デフォルトでは、IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントは、ActiveMQ と連携して機能します。IBM MQ を使用するエンドポイントを構成するには、次の手順を行います。

以下のようにして IBM MQ JAR ファイルを準備します。

エンドポイントを実行するクライアントでは、接続ファクトリーが動作するように、特定の IBM MQ JAR ファイルを使用できるようにしておく必要があります。

IBM MQ がエンドポイント・マシン上に既にインストールされている場合は、必要な JAR ファイルが IBM MQ インストール済み環境とともに既にパッケージ化されています。次の 2 つの JAR ファイルをシステム・レベルの CLASSPATH 環境変数に追加します。Windows の場合、IBM MQ がインストールされている場合は、これらの JAR ファイルは自動的にクラスパスに追加されます。

[MQ_HOME]\java\bin\com.ibm.mq.jar
[MQ_HOME]\java\bin\com.ibm.mqjms.jar

IBM MQ がマシンにインストールされていない場合は、代わりに com.ibm.mq.allclient.jar と jms.jar を MQ サーバーからエンドポイント・サーバーにコピーして、それらを CLASSPATH に手動で追加します。

IBM MQ JAR ファイルのインストールまたは再配置について詳しくは、http://www.ibm.com/support/docview.wss?uid=swg21376217 を参照してください。

IBM MQ v8 JAR ファイルは Java 1.6 をサポートしないため、アプリケーション・サーバーで Java 1.7 以上が実行されている必要があります。

WebSphere Application Server には IBM MQ サポートがプリパッケージされているため、追加の JAR ファイルは不要です。

エンドポイントの構成

  1. <アプリケーション・サーバー上のエンドポイント・インストール・ディレクトリー> のディレクトリーに移動します。
  2. ubxInboundEndpoint-spring.xml および ubxInboundEndpoint.properties をバックアップまたは名前変更します。
  3. IBMMQ サブディレクトリーにナビゲートします。ここに、上記のファイルの代替バージョンがあります。
  4. このバージョンの ubxInboundEndpoint.properties に MQ サーバー接続情報を追加します。
  5. ubxInboundEndpoint-spring.xml および ubxInboundEndpoint.properties/ubxInbdoundEndpoint/IBMMQ から main/ubxInboundEndpoint ディレクトリーにコピーします。

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントの ubxInboundEndpoint.properties ファイルの構成

ubxInboundEndpoint.properties ファイルを使用して、Universal Behavior Exchange イベント・ペイロードの送信先の構成を IBM Interact Inbound Gateway for IBM Universal Behavior Exchange に設定します。ubxInboundEndpoint.properties ファイルは、<アプリケーション・サーバー上のゲートウェイ・エンドポイント・インストール・ディレクトリー> のディレクトリーにあります。

jmsBrokerUrl
必須 - プロデューサーがデータを書き込む対象となる JMS キュー情報。
jmsMaximumRetries
必須 - メッセージを JMS キューに送信する最大再試行回数。
jmsRetryDelay
必須 - 再配信遅延 (ミリ秒単位)。
maximumEndPointThreadPoolSize
必須 - IBM Universal Behavior Exchange イベント・データを処理して JMS キューに書き込むためのスレッド・プールのスレッドの最大数。この整数はスレッド・プールのサイズを定義します。
clientIDFieldName
オプション - クライアント ID のペイロードで使用されるフィールド名 (サブカテゴリー)。サブカテゴリーは、このプログラムが同一製品の複数インスタンスで実行中のときに使用されます。以下に例を示します。clientIDFieldName=clientID

このファイルの変更を有効にするには、Web サーバーまたはアプリケーション・サーバーでゲートウェイ・エンドポイント Webapp (ubxInboundEndpoint.war) の再始動が必要です。

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントの inboundProducerNameConfig.properties ファイルの構成 (オプション)

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントは、JMS キューに書き込むことによって、Interact にイベントを送信します。デフォルトのイベント・メッセージには、プロデューサー名の値 UBX が使用されています。このプロデューサー名をペイロードからの UBX ソース・フィールド値に基づいてオーバーライドするには、inboundProducerNameConfig.properties ファイルを使用します。通常この値は UBX エンドポイント名です。inboundProducerNameConfig.properties ファイルは、<アプリケーション・サーバー上のゲートウェイ・エンドポイント・インストール・ディレクトリー> のディレクトリーにあります。

SOURCE.{UBX source name}={producer name}
例: SOURCE.CustomerAEndpoint=UBX-CustomerAEndpoint。

このファイルの変更を有効にするには、Web サーバーまたはアプリケーション・サーバーでゲートウェイ・エンドポイント Webapp (ubxInboundEndpoint.war) の再始動が必要です。

ゲートウェイ・エンドポイント inboundQueueNameConfig.properties ファイルの構成 (オプション)

IBM Interact Inbound Gateway for IBM Universal Behavior Exchange エンドポイントは、JMS キューに書き込むことによって、Interact にイベントを送信します。デフォルトのキュー名はプロデューサー名と同じです。デフォルトの JMS キュー名をプロデューサー名でオーバーライドするには、inboundQueueNameConfig.properties ファイルを使用します。inboundQueueNameConfig.properties ファイルでオーバーライドされていない限り、デフォルトのプロデューサー名は UBX です。inboundProducerNameConfig.properties ファイルは、<アプリケーション・サーバー上のゲートウェイ・エンドポイント・インストール・ディレクトリー> のディレクトリーにあります。

{producer name}={JMS queue name}
Example:
UBX=UBXInboundQueue.
UBX-CustomerAEndpoint=UBX-CustomerAEndpointQueue

このファイルの変更を有効にするには、Web サーバーまたはアプリケーション・サーバーでゲートウェイ・エンドポイント Webapp (ubxInboundEndpoint.war) の再始動が必要です。

ゲートウェイ・エンドポイントの log4j.properties ファイルの構成

エンドポイントに異なるログ・レベルを構成するには、log4j.properties ファイルを使用します。log4j.properties ファイルは、<アプリケーション・サーバー上のゲートウェイ・エンドポイント・インストール・ディレクトリー> のディレクトリーにあります。

説明

log4j.logger.com.ibm.x1solution.jms.producer、log4j.logger.com.ibm.web.offerorchestration.inbound.common、および log4j.logger.com.ibm.web.offerorchestration.inbound.ubx のログ・レベルを適切に設定します。

interactEventNameMapping.properties ファイルの構成

interactEventPayloadMapping.properties ファイルで [EventName] として定義されているペイロード・イベント・フィールドの値を Interact イベント名にマップするには、このファイルを使用します。フォールバックでは、Universal Behavior Exchange イベント・ペイロードの場合と同様に、イベント名を使用します。interactEventNameMapping.properties ファイルは <Install dir>\conf\inbound\UBX ディレクトリーにあります。

{UBX event name}={Interact event name}

例: matchedIdentity=recommendedOfferEven

特定のソースからのペイロード・データのサポートが必要である場合は、このファイルを <Install dir>\conf\inbound\UBX\{source} ディレクトリーに置くこともできます。source の値は、Universal Behavior Exchange イベント・ペイロードの source フィールドの値 (通常は Universal Behavior Exchange エンドポイント名) と一致している必要があります。特定のバージョンを使用するデータのサポートが必要である場合は、このファイルを <Install dir>\conf\inbound\UBX\{source}\version-{version} ディレクトリーに置くこともできます。version の値は、Universal Behavior Exchange イベント・ペイロードの version フィールドの値と一致している必要があります。複数の Universal Behavior Exchange インスタンス・データをサポートするには、このファイルを <Install dir>\conf\inbound\UBX\{source}\version-{version}\account-{clientID} ディレクトリーに置くこともできます。clientID の値は、Universal Behavior Exchange イベント・ペイロードの clientID の値と一致している必要があります。

interactEventPayloadMapping.properties ファイルの構成

インバウンド・フィールドを Interact API パラメーターにマップするには、interactEventPayloadMapping.properties ファイルを使用します。interactEventPayloadMapping.properties ファイルは <Install dir>\conf\inbound\UBX ディレクトリーにあります。

Interact API パラメーター: 値の先頭にフィールド・タイプ定義を、その後に値を二重引用符で囲んで静的な値を、またはペイロード・データによるフィールド名を指定する必要があります。つまり、(FIELD_TYPE)"STATIC_VALUE" または (FIELD_TYPE)PAYLOAD_FIELD_NAME のように指定します。FIELD_TYPE には、StringNumeric、または DateTime のいずれかを指定できます。

Example:
[SessionID]=(String)interactprofileid
[EventName]=(String)code
[AudienceIDFieldNames]=(String)"change_me"
[AudienceIDFieldValues]=(String)interactprofileid
[AudienceLevel]=(String)"change_me"
[InteractChannel]=(String)"change_me"

イベント・データ: 上記のプロパティーを使用して、アウトバウンド・チャネル通信で使用可能なイベント属性をマップします。左側にはアウトバウンド・チャネル通信で使用する変数名が入ります。

値の先頭にフィールド・タイプ定義を、その後に値を二重引用符で囲んで静的な値を、またはペイロード・データによるフィールド名を指定する必要があります。つまり、(FIELD_TYPE)"STATIC_VALUE" または (FIELD_TYPE)PAYLOAD_FIELD_NAME のように指定します。FIELD_TYPE には、StringNumeric、または DateTime のいずれかを指定できます。

特定のソースからのペイロード・データのサポートが必要である場合は、このファイルを <Install dir>\conf\inbound\UBX\{source} ディレクトリーに置くこともできます。source の値は、Universal Behavior Exchange イベント・ペイロードの source フィールドの値 (通常は Universal Behavior Exchange エンドポイント名) と一致している必要があります。特定のバージョンを使用するデータのサポートが必要である場合は、このファイルを <Install dir>\conf\inbound\UBX\{source}\version-{version} ディレクトリーに置くこともできます。version の値は、Universal Behavior Exchange イベント・ペイロードの version フィールドの値と一致している必要があります。複数の Universal Behavior Exchange インスタンス・データをサポートするには、このファイルを <Install dir>\conf\inbound\UBX\{source}\version-{version}\account-{clientID} ディレクトリーに置くこともできます。clientID の値は、Universal Behavior Exchange イベント・ペイロードの clientID の値と一致している必要があります。

UBX でのエンドポイントとイベントの作成

これは、エンドポイントとイベントのサンプルであり、例として使用できます。

UBX でエンドポイントとイベントを作成するには、以下の手順を使用します。

  1. REST API クライアントを使用して UBX に要求を通知します。
  2. JSON を使用して UBX にエンドポイントを登録します。次の例を参照してください。
    Method Call: PUT
    URL: https://ubx-qa1-api.adm01.com/v1/endpoint
    Headers:
    Content-Type: application/json
    Accept-Charset: UTF-8
    Authorization: Bearer 912586bf-190d-48f9-8488-26f1bf532ef3 
    (Note: This is the Auth Key generated from the UBX UI.)
    Body
     {
       "name":"Interactubxdk1",
       "description":"Interactubxdk1",
       "providerName":"IBM", "
       "url":"http://169.38.71.122:9081/ubxEndPoint/UBXEndPoint",
       "endpointTypes":{
         "event":{
           "source":{
             "enabled":true  
           },
           "destination":{
             "enabled":true,
             "url":"http://169.38.71.122:9081/UBXEndPoint/UBXEndPoint",
             "destinationType":"push"
            }
          }
    },
    "marketingDatabasesDefinition":{
      "marketingDatabases":[
        {
          "name":"IDSync",
          "identifiers":[
            {
          "name":"interactprofileid",
          "type":"INTERACTID"
              }
            ]   
         }
      ]
    }
    }
  3. JSON を使用して UBX にイベント・タイプを登録します。次の例を参照してください。
    Event Registration for Interact Event in UBX
    Method Call: POST
    URL: https://ubx-qa1-api.adm01.com/v1/eventtype
    
    Headers:
    Content-Type: application/json
    Accept-Charset: UTF-8
    Authorization: Bearer 912586bf-190d-48f9-8488-26f1bf532ef3 
    Note: This is the Auth Key generated from the UBX UI.)
    Bearer 912586bf-190d-48f9-8488-26f1bf532ef3
    Body
    {
       "name": "recommendedOffers",
       "description": "recommended offers by OMO",
       "code": "recommendedOffers"
    }
  4. JSON を使用して UBX にイベントを通知します。次の例を参照してください。
    {  
      "channel" : "mobile",       
      "identifiers" : [            
        {
          "name" : "interactprofileid",       
          "value" : "55"   
        }
      ],
    "events" : [
      {
        "code" : "recommendedOffers",      
        "timestamp" : "2015-12-28T20:16:12Z"
       }
      ]
    }