プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Stream Analyticsイベント処理スタート・ガイド
12cリリース(12.2.1.1.0)
E79338-01
目次へ移動
目次

前
前へ
次
次へ

5 EDNアダプタを使用した不正検出アプリケーションの作成

この章では、Oracle Stream Analytics 12cリリースの2つの重要な新機能について説明するため、不正検出アプリケーションを作成してデプロイする手順について順を追って説明します。最初の機能は、Oracle JDeveloperでのOracle Stream Analyticsアプリケーション・ライフ・サイクル全体のサポートです。2番目の機能は、Oracle Stream AnalyticsアプリケーションがOracle SOA Suiteとの間でイベントを送受信するためのイベント配信ネットワーク(EDN)アダプタのサポートです。Oracle Stream Analytics不正検出アプリケーションは、すべてOracle JDeveloper内で作成してデプロイできます。

この章の構成は、次のとおりです。

5.1 不正検出のシナリオ

この説明では、顧客の注文のリアルタイム分析を実装するOracle Stream Analyticsアプリケーションを作成します。各顧客は電子メール・アドレスで一意に識別します。注文データ(イベント・データ)がOracle Stream Analyticsサーバーを通過する間に、Oracle Stream Analyticsアプリケーションが動的にデータにアクセスし、潜在的な不正アクティビティを確認します。この例では、任意の24時間の間の同一人物による注文金額の合計が$1000を超えるイベント・パターンを不正の可能性があるアクティビティとしています。

この不正検出サンプル・アプリケーションは、今後のイベント・ベースのリアルタイム不正検出ソリューションの土台として使用できます。デプロイされたOracle Stream Analytics EDNアプリケーションは、Oracle SOA Suiteイベント・ネットワークから送信されるイベントをリスニングします。

5.2 始める前に

この説明は、Oracle SOA SuiteおよびOracle Stream Analyticsがインストール済であることを前提としています。この説明では、トップレベルのインストール・ディレクトリを/Oracle/Middleware/、Oracle SOA Suiteのインストール・ディレクトリを/Oracle/Middleware/my_soaOracle Stream Analyticsのインストール・ディレクトリを/Oracle/Middleware/my_oepとします。

JAVA_HOME変数がJDK7_u55以上を、PATH変数がインストール済JDKのbinディレクトリを指すように設定されている必要もあります。

export JAVA_HOME=<path to installation directory>
export PATH=${JAVA_HOME}/bin:${PATH}

注意:

この説明ではOracle Stream Analyticsに特有の機能を紹介しますが、読者が基本的なJavaプログラミングをよく理解していることを前提としています。

5.3 イベント配信ネットワークのウォークスルー

次のリストは、Oracle Stream Analytics不正検出アプリケーションの開発およびデプロイに必要な概要レベルのタスクです。

5.3.1 Oracle WebLogic Serverを起動します。

この説明の手順を実行するために、Oracle JDeveloperおよびOracle WebLogic Serverを起動します。Oracle JDeveloperおよびOracle WebLogic ServerはOracle SOA Suiteの一部です。

Oracle Stream Analyticsサーバーは、この説明の後の手順で起動します。

Oracle JDeveloperおよびOracle WebLogicServerの起動

  1. 作業領域で、/Oracle/Middleware/soa/jdeveloper/jdev/binに移動します。
  2. コマンドラインで/jdev -cleanと入力し、Oracle JDeveloperを起動します。

    Oracle JDeveloperの初期画面が表示されます。

  3. Oracle JDeveloperで、「実行」→「サーバー・インスタンスの起動」を選択します。
  4. 「デフォルト・ドメインの作成」ダイアログが表示された場合は、デフォルトを使用し、1文字以上の数字を含む7文字以上のドメイン・パスワードを入力および確認します。たとえば、welcome1です。

    Oracle WebLogic Serverの起動には数分がかかります。その間、メッセージ領域にメッセージを表示されます。メッセージ「SOAプラットフォームは稼働中でリクエストを受け入れ中です。」、およびメニュー・バーの下でメニュー領域上部の検索フィールドの隣の赤いボックスが表示されたら、サーバーは稼働しています。

5.3.2 アーティファクト・フォルダのコピー

OEP_Fraud_Detection_Walkthrough_Files.zipファイルで、この説明に必要なサポート・ファイルが提供されています。フォルダには、イベント定義ファイル(*.edlおよび*.xsd)、サンプル不正検出Oracle CQLコード、およびサンプルSOAコンポジット(EDNOEPv2)が含まれています。SOAコンポジットとは、Oracle SOA SuiteとEDNの間のインタフェースとなるSOAアプリケーションです。

EDLおよびスキーマ(xsd)ファイルは、バンドルJARファイル内の固定のパスにある必要があります。

アーティファクト・フォルダの取得

  1. http://www.oracle.com/technetwork/middleware/complex-event-processing/overview/complex-event-processing-088095.htmlに移動します。
  2. OEP_Fraud_Detection_Walkthrough_Files.zipファイルを探し、コンピュータのアクセス可能な場所にダウンロードします。
  3. zipファイルを解凍します。

5.3.3 Oracle Stream Analyticsドメインの作成

この手順では、config.shコマンドを使用して構成ウィザードを開始し、不正チェック・アプリケーションが使用する新規ドメインを作成します。

新規ドメインの作成

  1. インストール済のOracle Stream Analytics/Oracle/Middleware/my_oep/oep/common/binディレクトリに移動します。

  2. /Oracle/Middleware/my_oep/oep/common/binディレクトリで、./config.shと入力し、構成ウィザードを開始します。

    構成ウィザードの「ようこそ」画面が表示されます。

  3. ようこそ」画面で「次へ」をクリックします。

    「ドメインの作成または更新の選択」画面が表示されます。

  4. 「ドメインの作成または更新の選択」画面で、「新規OEPドメインの作成」を選択して「次へ」をクリックします。

    ドメインの作成または更新画面が表示されます。

  5. ドメインの作成または更新画面の「ユーザー名」フィールドにoepadminと入力し、パスワードにwelcome1と入力して確認します。

  6. 「次へ」をクリックします。

    「サーバーの構成」画面が表示されます。

  7. 「サーバーの構成」画面では、「次へ」をクリックしてデフォルトを使用します。

    「ドメイン・アイデンティティ・キーストアの構成」画面が表示されます。

  8. 「ドメイン・アイデンティティ・キーストアの構成」画面で、パスワードにwelcome1を入力して確認し、「次へ」をクリックします。

    「構成オプション」画面が表示されます。

  9. 「構成オプション」画面で、オプションの構成は行わずに「次へ」をクリックします。

    「OEPドメインの作成」画面が表示されます。

  10. 「OEPドメインの作成」画面でfraudcheck_domainと入力し、場所を書き留めます。

    場所は、/Oracle/Middleware/my_oep/user_projects/domainsのようになります。

  11. 「作成」をクリックしてしばらく待った後、「完了」をクリックします。

ドメインへのEDNConnectionFactoryの追加

  1. /Oracle/Middleware/my_oep/user_projects/domains/fraudcheck_domain/defaultserverへ移動し、テキスト・エディタでfraudcheck_domain startwlevs.shファイルを開きます。
  2. 次のシステム・プロパティをファイル下部のJAVA_HOMEコマンドラインに追加します。

    システム・プロパティは、-jar $USER_INSTALL_DIR設定の前とします。

    -Dedn.jms.topic="jms/fabric/EDNTopic" -Dedn.jms.connection-factory="jms/fabric/EDNConnectionFactory"
    

    startwlevs.shの最終的なJAVA_HOME行は、次のようになります(すべて1行)。

    "$JAVA_HOME/bin/java" $JVM_ARGS $JVM_D64 $DEBUG_ARGS
      -Dwlevs.home="$USER_INSTALL_DIR" 
      -Dedn.jms.topic="jms/fabric/EDNTopic"
      -Dedn.jms.connection-factory="jms/fabric/EDNConnectionFactory" 
      -jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS
    

    システム・プロパティが、デフォルトのアドバンスト・キューイング(AQ)ではなく、EDN用のJMS実装を使用するようOracle Stream Analyticsサーバーに指示しています。

5.3.4 Javaメッセージ・サービス・トピックの作成

Javaメッセージ・サービス(JMS)トピックは、メッセージを1つ以上のサブスクライバへパブリッシュするメカニズムです。Oracle WebLogic Server管理コンソールを使用して、JMSトピックを作成します。

JMSトピックの作成

  1. 作業領域でブラウザを開きます。

    ブラウザが表示されます。

  2. ブラウザのURLボックスで、localhost:7101/consoleと入力します。

    管理コンソールのログイン画面が表示されます。

  3. ユーザー名weblogic、パスワードwelcome1で管理コンソールにログインします。

    「WebLogic Server管理コンソール」画面が表示されます。

  4. 左パネルの「ドメイン構造」で、「サービス」→「メッセージング」→「JMSモジュール」の順に展開します。
  5. 右パネルの「JMSモジュール」で、SOAJMSModuleをクリックします。

    「SOAJMSModuleの設定」画面が表示されます。

  6. 右パネルの「リソースのサマリー」で、「新規」をクリックします。

    「新しいJMSシステム・モジュール・リソースの作成」画面が表示されます。

  7. 「新しいJMSシステム・モジュール・リソースの作成」画面で、「トピック」ラジオ・ボタンを選択して「次へ」を選択します。

    「新しいJMSシステム・モジュールの作成 - JMS宛先のプロパティ」画面が表示されます。

  8. 「JMS宛先のプロパティ」の「名前」フィールドにEDNTopicと入力し、「JNDI名」フィールドにjms/fabric/EDNTopicと入力します。
  9. 「次へ」をクリックします。

    次の新しいJMSシステム・モジュールの作成画面が表示されます。

  10. 新しいJMSシステム・モジュールの作成画面の「サブデプロイメント」ドロップダウン・リストでSOASubDeploymentを選択し、SOAJMSServerラジオ・ボタンがチェックされていることを確認します。
  11. 「終了」をクリックします。

    EDNTopic JMSトピックが「リソースのサマリー」表に表示されます。

    次の図で、EDNTopicはEDNConnectionFactoryの下の表の3行目に表示されています。EDNConnectionFactoryは、インストール済のOracle WebLogic Serverの一部です。接続ファクトリというオブジェクトを使用すると、JMSクライアントで同時JMS接続を作成できるようになります。EDNConnectionFactoryオブジェクトによって、JMS EDNTopicがOracle SOA SuiteへのEDN接続を作成できるようになります。

5.3.5 Oracle Stream Analyticsサーバーの起動

Oracle Stream Analytics不正検出アプリケーションを作成およびデプロイできるように、Oracle Stream Analyticsサーバーを起動します。

Oracle Stream Analyticsサーバーの起動

  1. /Oracle/Middleware/my_oep/user_projects/domains/fraudcheck/domain/defaultserverに移動します。

  2. 適切な起動スクリプトを実行します。

    1. Windowsの場合:

      • prompt> startwlevs.cmd
        
    2. UNIXの場合:

      • prompt> ./startwlevs.sh
        

    サーバーが起動すると、ターミナル・ウィンドウにメッセージが表示されます。<The application context for "com.bea.wlevs.dataservices" was started successfully>と表示されると、Oracle Stream Analyticsサーバーの起動は完了です。

5.3.6 Oracle JDeveloperを使用したOracle Stream Analyticsアプリケーションの作成

Oracle JDeveloperの起動

Oracle JDeveloperがすでに実行中でない場合は、起動します。

  1. /Oracle/Middleware/my_soa/jdeveloper/jdev/binに移動します。

  2. ./jdev -cleanと入力します。

    「ロールの選択」ダイアログが表示されます。

  3. 「ロールの選択」ダイアログで「Studio開発者(すべての機能)」を選択し、「OK」クリックします。

    Oracle JDeveloperが起動するまで、しばらく待ちます。

新しいアプリケーションの作成

  1. 「ファイル」→「新規」→「アプリケーション」を選択します。

    「新規ギャラリ」ダイアログが表示されます。

  2. 「新規ギャラリ」ダイアログで「OEPアプリケーション」を選択し、「OK」をクリックします。

    OEPアプリケーションの作成画面が表示されます。

  3. OEPアプリケーションの作成ダイアログで、次の値を入力します。

    「アプリケーション名」: FraudOEPApplication 「ディレクトリ」: デフォルトを使用 「アプリケーション・パッケージの接頭辞」: 空白のまま

  4. 「次へ」をクリックします。

    OEPアプリケーションの作成画面が表示されます。

  5. OEPアプリケーションの作成ダイアログで、次の値を入力します。

    「プロジェクト名」: FraudCheck 「ディレクトリ」: デフォルトを使用 「プロジェクトの機能」: 「OEPスイート」

  6. 「次へ」をクリックします。

    OEPアプリケーションの作成ダイアログが表示されます。

  7. OEPアプリケーションの作成ダイアログで、「次へ」をクリックしてデフォルトを使用します。

    OEPアプリケーションの作成ダイアログが表示されます。

  8. OEPアプリケーションの作成ダイアログで、「終了」をクリックしてデフォルトを使用します。

    空の構成ファイルおよびアセンブリ・ファイルである「空のOEPプロジェクト」テンプレートは、Oracle Stream Analyticsアプリケーションの基本構造を提供します。

    この段階では、「OEPサーバー接続」は空白のままにします。後の手順で、Oracle Stream Analyticsサーバー接続を作成します。

  9. 「終了」をクリックします。

    Oracle Stream Analytics FraudCheckプロジェクトが表示されます。

  10. 空の「EPNダイアグラム」タブおよび「コンポーネント」パネルが表示されていない場合は、「アプリケーション」パネルに移動してFraudCheck→「OEPコンテンツ」の順に展開し、「EPNダイアグラム」をダブルクリックします。

インバウンド・アダプタ・ステージの追加

  1. EPNダイアグラムが開いた状態で右パネルの「コンポーネント」に移動し、「EDNアダプタ」ウィンドウを開きます。

    EDNインバウンド・アダプタおよびアウトバウンド・アダプタが表示されます。

  2. 「EDNインバウンド・アダプタ」コンポーネントを「EDNアダプタ」ウィンドウから中央の空のパネル(キャンバス)にドラッグします。

    「新規EDNアダプタ」ウィザードが開始します。

  3. 「新規EDNアダプタ」ウィザードで、次の値を入力します。

    「アダプタID」: edn-inbound-adapter。ファイル名: adapter.xml。

    ファイル名をprocessor.xmlから使用方法に固有な名前に変更すると、作成したファイルとOracle JDeveloperが提供するデフォルトのファイルを区別できます。

  4. 「次へ」をクリックします。

  5. 「EDNインバウンド・アダプタ構成」ダイアログで、Oracle WebLogic Server構成に関する次の値を指定します。

    「JNDIプロバイダURL」: t3://localhost:7101「JNDIファクトリ」: weblogic.jndi.WLInitialContextFactory。「ユーザー」: weblogic。パスワード: welcome1。

    WebLogic T3クライアントは、Oracle T3プロトコルを使用してOracle WebLogic Serverと通信するJava RMIクライアントです。通常、T3クライアントは他のクライアント・タイプより性能が優れています。

  6. 「Edlプロパティ」で、次のように「EDLファイル」をロードします。

    1. 「EDLファイル」フィールドの隣の検索アイコン(拡大鏡)をクリックします。

    2. OEP_Fraud_Detection_Walkthrough_Files.zipファイルを解凍した場所に移動します。

    3. フォルダ内のFraudCheckEvent.edlファイルを選択し、「OK」をクリックします。

  7. 「Edlプロパティ」で、「イベント・タイプ」ドロップダウン・リストからFraudCheckRequestを選択します。

  8. 「EDNインバウンド・アダプタ構成」ダイアログの「拡張プロパティ」で、次のようにFraudCheckEvent.edlファイルに関連付けられたスキーマ・ファイルを選択します。

    1. 「スキーマ・ファイル」フィールドの隣の検索アイコン(拡大鏡)をクリックします。

    2. OEP_Fraud_Detection_Walkthrough_Files.zipファイルを解凍した場所に移動します。

    3. フォルダ内のFraudCheckType.xsdファイルを選択し、「OK」をクリックします。

  9. 「終了」をクリックします。

    アップロードしているファイルについての2つの情報ダイアログが表示されます。

  10. 情報メッセージを読み、「OK」を押してメッセージを閉じます。

    EDNダイアグラムには先ほど作成したedn-inbound-adapterが表示され、Fraud Checkプロジェクトにはアップロードしたファイルがリストされています。

  11. 「ファイル」→「保存」を選択して作業を保存します。

入力チャネル・ステージの追加

  1. 右パネルの「コンポーネント」で、「ベースEPNコンポーネント」ウィンドウを開きます。

    「ベースEPNコンポーネント」が表示されます。

  2. 「チャネル」コンポーネントをキャンバスの空き領域にドラッグします。

    「新規チャネル」ダイアログが表示されます。

  3. 「新規チャネル」ダイアログに次の情報を入力します。

    「チャネルID」: ednInputChannel。イベント・タイプ: <NONE>

  4. 「OK」をクリックします。

    EDNダイアグラムに、先ほど作成したチャネルが表示されます。

  5. 「ファイル」→「保存」を選択して作業を保存します。

入力チャネル・コンポーネントとインバウンド・アダプタ・コンポーネントの接続

  1. マウスの左ボタンでedn-inbound-adapterを選択し、長押しします。

  2. edn-inbound-adapterednInputChannelにドラッグします。

    しばらくすると、アダプタとチャネルを接続する線が表示されます。チャネルがアダプタの左となり、アダプタとチャネルが左から右へ向かう直線となるようにコンポーネントが調整されます。この並びは、EDNを出入りする情報が左から右へ流れることを示しています。

  3. 「ファイル」→「保存」を選択して作業を保存します。

edn-inbound-adapterのプロパティ設定

  1. ednInputChannelイベント・ステージを選択します。

    Oracle JDeveloperで、ednInputChannelがハイライトされます。

  2. Oracle JDeveloperの右下隅の「プロパティ」ウィンドウで、「イベント・タイプ」ドロップダウン・リストからedl:FraudCheckRequestを選択します。

    これで、FraudCheckRequestイベント・タイプがednInputChannelと関連付けられます。これは、イベントがednInputChannelを通る際に、不正確認アプリケーションがFraudCheckRequestイベントをチェックすることを表します。

  3. 「ファイル」→「保存」を選択して作業を保存します。

EPN Oracle CQLプロセッサ・ステージの追加

  1. 「ベースEPNコンポーネント」で、「プロセッサ」コンポーネントをキャンバスの空き領域にドラッグします。

    「新規プロセッサ」ダイアログが表示されます。

  2. 「新規プロセッサ」ダイアログに次の情報を入力します。

    「プロセッサID」: ednProcessor。ファイル名: processor.xml。

  3. 「OK」をクリックします。

    EDNダイアグラムに、先ほど作成したednprocessorが表示されます。

  4. 「ファイル」→「保存」を選択して作業を保存します。

プロセッサへのCQLコードの追加

  1. ednProcessorステージを右クリックします。

    コンテキスト・メニューが表示されます。

  2. コンテキスト・メニューで「構成のソースに移動」を選択します。

    Oracle JDeveloperで、ストリーミング・イベント・データに適用するOracle CQLルールを配置するソース・エディタが開きます。ソース・エディタでは、編集または置換できるサンプルの問合せが提供されています。

  3. OEP_Fraud_Detection_Walkthrough_FilesフォルダにあるProcessorCQLFraudSample.xmlファイルで提供されているOracle CQLでサンプルのOracle CQLを置換します。

    <rules>..</rules>を含むサンプルOracle CQLを次のOracle CQLコードで置換します。

    <rules>
      <view id="FraudView"><![CDATA[
        select S.properties as properties,
          cast@java(S.javaContent,
          com.oracle.oep.FraudCheckRequest.class).getOrderNumber() as orderNumber,
          cast@java(S.javaContent,
          com.oracle.oep.FraudCheckRequest.class).getEmail() as email,
          cast@java(S.javaContent,
          com.oracle.oep.FraudCheckRequest.class).getTotalAmount() as totalAmount
        from ednInputChannel as S
      ]]></view>
    
    <!--
    With id=FraudViewAmountOk, the view and query statements detect the case where the sum of all order amounts from a specific email over a 24 hour period is less than $1000. In this case, he query issues a FraudCheckResponseEvent with status OK.
    -->
    
      <view id="FraudViewAmountOk"><![CDATA[
        select email
        from FraudView[range 24 hours]
        group by FraudView.email
        having sum(FraudView.totalAmount) <= 1000.0
       ]]></view>
    
       <query id="FraudQueryAmountOk"><![CDATA[
         select V1.properties as properties,
         FraudCheckResponse(V1.orderNumber, "OK")
         as javaContent
         from FraudView[partition by email rows 1] as V1, FraudViewAmountOk as V2
         where V1.email = V2.email
       ]]></query>
    
    <!--
    With id= FraudViewAmountAlert, the view and query statements detect the case where the sum of all order amounts from a specific email over a 24 hour period is greater than $1000. In this case, the query issues a FraudCheckResponseEvent with status THRESHOLD_EXCEEDED.
    -->
    
      <view id="FraudViewAmountAlert"><![CDATA[
        select email
        from FraudView[range 24 hours]
        group by FraudView.email
        having sum(FraudView.totalAmount) > 1000.0
      ]]></view>
    
      <query id="FraudQueryAmountAlert"><![CDATA[
         select V1.properties as properties,
         FraudCheckResponse(V1.orderNumber, "THRESHOLD_EXCEEDED")
         as javaContent
         from FraudView[partition by email rows 1] as V1, FraudViewAmountAlert 
         as V2 where V1.email = V2.email
      ]]></query>
    </rules>
    
  4. 「ファイル」→「保存」を選択して作業を保存します。

  5. 「EPNダイアグラム」タブをクリックし、EPNダイアグラムに戻ります。

入力チャネルとOracle CQLプロセッサの接続

  1. マウスの左ボタンでednInputChannelを選択し、長押しします。

    Oracle JDeveloperで、ednInputChannelがハイライトされます。

  2. ednInputChannelednProcessorにドラッグします。

    しばらくすると、入力チャネルとOracle CQLプロセッサを接続する線が表示されます。アダプタ、チャネルおよびOracle CQLプロセッサが左から右へ向かう直線となるようにコンポーネントが調整されます。

  3. 「ファイル」→「保存」を選択して作業を保存します。

アウトバウンド・チャネル・ステージの追加

  1. 「ベースEPNコンポーネント」で、「チャネル」コンポーネントをキャンバスの空き領域にドラッグします。

    「新規チャネル」ダイアログが表示されます。

  2. 「新規チャネル」ダイアログに次の情報を入力します。

    「チャネルID」: ednOutputChannel。イベント・タイプ: <NONE>

  3. 「OK」をクリックします。

    EDNダイアグラムに、先ほど作成したチャネルが表示されます。

  4. 「ファイル」→「保存」を選択して作業を保存します。

アウトバウンド・チャネルのプロパティ設定

  1. ednOutputChannelを選択します。

    Oracle JDeveloperで、ednOutputChannelがハイライトされます。

  2. Oracle JDeveloperの右下隅の「プロパティ」ウィンドウで、「イベント・タイプ」ドロップダウン・リストからedl:FraudCheckResponseを選択します。

  3. 「ファイル」→「保存」を選択して作業を保存します。

プロセッサとアウトバウンド・チャネルの接続

  1. マウスの左ボタンでednProcessorを選択し、長押しします。

    Oracle JDeveloperで、ednProcessorがハイライトされます。

  2. ednProcessorednOutputChannelにドラッグします。

    しばらくすると、Oracle CQLプロセッサと出力チャネルを接続する線が表示されます。アダプタ、チャネルおよびOracle CQLプロセッサが左から右へ向かう直線となるようにコンポーネントが調整されます。

  3. 「ファイル」→「保存」を選択して作業を保存します。

アウトバウンド・アダプタ・ステージの追加

  1. 「EDNアダプタ」で、「EDNアウトバウンド・アダプタ」コンポーネントを「EDNアダプタ」ウィンドウからキャンバスへドラッグします。

    「新規EDNアダプタ」ウィザードが開始します。

  2. 「新規EDNアダプタ」ウィザードで、次の値を入力します。

    「アダプタID」: edn-outbound-adapter。ファイル名: adapter.xml。

  3. 「次へ」をクリックします。

    「EDNアウトバウンド・アダプタ構成」ダイアログが表示されます。

  4. 「EDNアウトバウンド・アダプタ構成」ダイアログで、Oracle WebLogic Server構成に関する次の値を指定します。

    「JNDIプロバイダURL」: t3://localhost:7101「JNDIファクトリ」: weblogic.jndi.WLInitialContextFactory。「ユーザー」: weblogic。パスワード: welcome1。

  5. 「EDNアウトバウンド・アダプタ構成」ダイアログの「Edlプロパティ」で、次のように「EDLファイル」をロードします。

    1. 「EDLファイル」フィールドの隣の検索アイコン(拡大鏡)をクリックします。

    2. OEP_Fraud_Detection_Walkthrough_Files.zipファイルを解凍した場所に移動します。

      このファイルはすでにロード済であるため、$HOME/jdeveloper/mywork/Application1/FraudCheck/META-INF/wlevs/ednでもこれを見つけることができます。

    3. フォルダ内のFraudCheckEvent.edlファイルを選択し、「OK」をクリックします。

      FraudCheckEvent.edlファイルをロードする際に、「イベント・タイプ」ドロップダウン・リストには不正確認アプリケーションで使用するイベントが移入されます。

  6. 「EDNアウトバウンド・アダプタ構成」ダイアログの「イベント・タイプ」ドロップダウン・リストで、FraudCheckResponseを選択します。

  7. 「終了」をクリックします。

    EDNダイアグラムには先ほど作成したedn-inbound-adapterが表示され、Fraud Checkプロジェクトにはアップロードしたファイルがリストされています。

  8. 「ファイル」→「保存」を選択して作業を保存します。

アウトバウンド・チャネルとアウトバウンド・アダプタの接続

  1. マウスの左ボタンでednOutputChannelを選択し、長押しします。

    Oracle JDeveloperで、ednOutputChannelがハイライトされます。

  2. ednOutputChannelをedn-Outbound-adapterにドラッグします。

    しばらくすると、出力チャネルと出力アダプタを接続する線が表示されます。アダプタ、チャネルおよびOracle CQLプロセッサが左から右へ向かう直線となるようにコンポーネントが調整されます。

  3. 「ファイル」→「保存」を選択して作業を保存します。

5.3.7 JDeveloperによるアプリケーションのデプロイ

アプリケーションのデプロイには、サーバー接続およびデプロイメント・プロファイルの作成が含まれます。

Oracle Stream Analyticsサーバー接続の作成

  1. Oracle JDeveloperで、「ファイル」→「新規」→「ギャラリから」の順に選択します。

    「新規ギャラリ」ダイアログが表示されます。

  2. 「新規ギャラリ」ダイアログの「カテゴリ」で、「接続」を選択します。

  3. 「新規ギャラリ」ダイアログの「アイテム」で、「OEP接続」を選択して「OK」をクリックします。

    「OEPサーバー接続の作成」ダイアログが表示されます。

  4. 「OEPサーバー接続の作成」ダイアログで、次の情報を入力します。

    「接続が作成される場所」: 「IDE接続」: チェック 「OEPサーバー接続名」: FraudDetectionConnection「OEPサーバー・ホーム・パス」: /Oracle/Middleware/my_oep/ 「デフォルト値の使用」: 未チェック「OEPサーバー・プロジェクト・ディレクトリ」: user_projects/domains/ fraudcheck_domain/defaultserver「デフォルト値の使用」: チェックホスト: 127.0.0.1。ポート: 9002。「デフォルト値の使用」: 未チェック「ユーザー名」: oepadmin。ユーザー・パスワード: welcome1。OEPサーバーの追加パラメータ: 空白

  5. 「OEPサーバー接続の作成」ダイアログで、「接続のテスト」をクリックします。

    「接続のテスト」ボタンの下の領域に「成功」と表示される場合、情報は正確に入力されています。エラーが表示された場合、「成功」と表示されるまで、訂正して再度テストを行います。

  6. 「OEPサーバー接続の作成」ダイアログで「成功」メッセージが表示されたら、「OK」をクリックします。

    左パネルの「アプリケーション・リソース」→「接続」→「OEPサーバー接続」にFraudDetectionConnectionが表示されます。

デプロイメント・プロファイルの作成

デプロイメント・プロファイルによって、必要となるライブラリJARファイルを含むOSGiバンドルが作成されます。

  1. FraudCheckプロジェクトを右クリックし、「デプロイ」→「新規デプロイメント・プロファイル」の順に選択します。

    「デプロイメント・プロファイルの作成」ダイアログが表示されます。

  2. 「デプロイメント・プロファイルの作成」ダイアログで、次の値を入力します。

    「プロファイル・タイプ」: 「OEPプロジェクト・デプロイメント・プロファイル」

    注意:

    「プロファイル・タイプ」として「OEPプロジェクト・デプロイメント・プロファイル」が正しく選択されていることを確認します。

    「デプロイメント・プロファイル名」: oep-profile-Production

  3. 「OK」をクリックします。

    「デプロイメント・プロパティ」ダイアログが表示されます。

  4. 「デプロイメント・プロパティ」ダイアログで、情報が正しくなるように編集します。

    ローカルOEPサーバー接続: FraudDetectionConnection (127.0.0.1:9002) 「シンボリック名」: FraudOEPApplication.FraudCheck 「バンドル名」: FraudOepApplication.FraudCheck 「バンドルのバージョン」: 1.0.0 「OSGi JARファイル」: Application1/FraudCheck/deploy/oep_profile-production.jar

  5. 「OK」をクリックします。

アプリケーションのデプロイ

  1. FraudCheckプロジェクトを右クリックします。

    コンテキスト・メニューが表示されます。

  2. コンテキスト・メニューで、「デプロイ」→「oep_profile-Production」の順に選択します。

    「oep_profile-Productionのデプロイ」ダイアログが表示されます。

  3. 「oep_profile-Productionのデプロイ」ダイアログで、「OSGiバンドルのターゲット・プラットフォームへのデプロイ」を選択します。
  4. 「次へ」をクリックします。

    「oep_profile-Productionのデプロイ サマリー」ダイアログが表示されます。

  5. 次の「oep_profile-Productionのデプロイ サマリー」ダイアログの情報を確認します。
  6. 「終了」をクリックします。

    中央のパネル下部の「デプロイメント - ログ」ウィンドウに、デプロイメント成功を示すメッセージが表示されます。Oracle Stream Analyticsアプリケーションが実行され、処理を行うEDNイベントの到着を待機します。

    左パネルの「アプリケーション・リソース」の「接続」→「OEPサーバー接続」→「OEPConnection」→「アプリケーション」に、FraudOEPApplication.FraudCheck [Running]接続が表示されます。

    Oracle Stream Analyticsウィンドウを起動したターミナル・ウィンドウ。INFO: Subscribe Event from Topic=jms/fabric/EDNTopic, JmsType=WLJMS, isXA=false

5.3.8 サンプルSOAコンポジットの作成およびデプロイ

サンプルSOAコンポジットは、アプリケーションが潜在的な不正アクティビティを確認できるようにFraudCheckRequestイベントを提供します。完全なサンプル・コンポジットの作成方法は説明されていませんが、既存または新規のSOAコンポジットを活用するよいコード・サンプルとなります。

OEP_Fraud_Detection_Walkthrough_Files.zipファイルで、EDNOEPv2Proj SOAコンポジットが提供されています。SOAコンポジットはEDNイベントをOracle Stream Analyticsアプリケーションに送信し、結果のEDNイベントがSOAコンポジットに送り返されます。その後、SOAコンポジットはJCAファイル・アダプタを使用してファイルに情報を書き込みます。ファイルは後の確認や分析のために保存されます。

提供されるSOAコンポジットへのアクセス

  1. Oracle JDeveloperで、「ファイル」→「開く」の順に選択します。

    「開く」ダイアログが表示されます。

  2. 「開く」ダイアログで、OEP_Fraud_Detection_Walkthrough_Files.zipファイルを解凍した場所に移動します。

  3. EDNOEPv2フォルダを開き、EDNOEPv2.jwsプロジェクトを選択します。

  4. 「開く」をクリックします。

    Oracle JDeveloperによって、FraudCheckプロジェクトにSOAコンポジットが追加されます。

SOAメディエータの参照およびデプロイ

  1. 「プロジェクト」→「EDNOEPv2Proj」→「SOA」→「メディエータ」に移動し、メディエータを参照します。

  2. EDNEOPv2Projプロジェクトを右クリックします。

    コンテキスト・メニューが表示されます。

  3. コンテキスト・メニューで、「デプロイ」→「新規デプロイメント・プロファイル」の順に選択します。

    「デプロイメント・プロファイルの作成」ダイアログが表示されます。

  4. 「デプロイメント・プロファイルの作成」ダイアログの「プロファイル・タイプ」で、SOA-SARファイルを選択します。

  5. 「デプロイメント・プロファイルの作成」ダイアログで、「デプロイメント・プロファイル名」フィールドにsar_OEP_TEST_COMPOSITEと入力します。

  6. 「OK」をクリックします。

    SARデプロイメント・プロパティダイアログが表示されます。

  7. 「SARデプロイメント・プロファイルのプロパティ」ダイアログで、「OK」をクリックします。

  8. EDNEOPv2Projプロジェクトを右クリックします。

    コンテキスト・メニューが表示されます。

  9. コンテキスト・メニューで「デプロイ」sar_OEP_TEST_COMPOSITEを選択します

    「デプロイメント・アクション」ダイアログが表示されます。

  10. 「デプロイメント・アクション」ダイアログで、「アプリケーション・サーバーへのデプロイ」を選択します。

  11. 「次へ」をクリックします。

    「構成のデプロイ」ダイアログが表示されます。

  12. 「構成のデプロイ」ダイアログで、「同じリビジョンIDで既存のコンポジットを上書きします。」チェック・ボックスをチェックします。

    デフォルト値のままにしておきます。

  13. 「次へ」をクリックします。

    「サーバーの選択」ダイアログが表示されます。

  14. 「サーバーの選択」ダイアログでIntegratedWebLogicServerを選択し、「次へ」をクリックします。

    「SOAサーバー」ダイアログが表示されます。

  15. 「SOAサーバー」ダイアログで、デフォルト値のまま「次へ」をクリックします。

    「Summary」ダイアログ・ボックスが表示されます。

  16. 「サマリー」ダイアログで設定が正確であることを確認し、「終了」をクリックします。

    変更されたSOAコンポジットのデプロイが成功すると、FraudCheckRequestおよびFraudCheckResponseイベント・タイプのデフォルトJMSマッピングが作成されます。このJMSマッピングは、WLS JMSではなくAQを使用する可能性があります。このOracle Stream Analyticsアプリケーションを相互運用するには、これらの特定のイベント・タイプのJMSマッピングでWLS JMSを使用するように変更する必要があります。マッピングの変更は、Oracle SOA Suiteの一部であるOracle Enterprise Managerで実施します。

Oracle Enterprise ManagerによるJMSマッピングの検証

  1. ブラウザを開き、URLボックスにlocalhost:7101/emと入力します。

  2. ユーザー名weblogic、パスワードwelcome1でログインします。

  3. 左パネルで、「SOA」→「soa-infra (Default Server)」→「デフォルト」→「EDNOEPv2Proj」の順に展開します。

  4. soa-infra (Default Server)を右クリックし、コンテキスト・メニューから「ビジネス・イベント」を選択します。

    右パネルに「ビジネス・イベント」画面が表示されます。

  5. 「ビジネス・イベント」画面で、「イベント」タブを選択します。

    「ネームスペースおよびイベント」表のJMSマッピング列には、FraudCheckRequestおよびFraudCheckResponseと「デフォルト」リンクが表示されます。

  6. 「イベント」タブで、「デフォルト」リンクを選択します。

    JMSマッピングダイアログが表示されます。

  7. JMSマッピングダイアログで次の情報を検証し、必要に応じて変更します。

    「Oracle Enterprise Messaging System(OEMS)」: Oracle WebLogic JMS JNDI接続ファクトリ(XA、恒久): eis/wls/EDNxaDurableTopic JNDI接続ファクトリ(XA、非恒久): eis/wls/EDNxaTopic JNDI接続ファクトリ(非XA、恒久): eis/wls/EDNLocalTxDurableTopic JNDI接続ファクトリ(非XA、非恒久): eis/wls/EDNLocalTxTopicJMSトピック名: jms/fabric/EDNTopic

  8. 「適用」を押します。

    JMSマッピング値が「変更」に変わります。

  9. 2番目の「デフォルト」リンクに対して同じ手順を繰り返します。

結果分析用のサンプルSOAコンポジットの更新

  1. Oracle JDeveloperの「EDNOEPv2Proj」→「SOA」で、EDNOEPv2Projをダブルクリックしてダイアグラムを表示します。

  2. ダイアグラムで、EDNToFileOutputコンポーネントをダブルクリックします。

    「ファイル・アダプタ構成ウィザード」が表示されます。

  3. 「ファイル・アダプタ構成ウィザード」で、「ファイル構成」ダイアログが表示されるまで、表示された値を使用して次に進みます。

    「ファイル構成」ダイアログが表示されます。

  4. 「ファイル構成」ダイアログで、「発信ファイルのディレクトリ(物理パス)」を環境において有効な場所に変更します。

  5. 後にレスポンス情報の確認および分析を行う際に使用するため、新しい場所を書き留めます。

  6. 「次へ」をクリックし、デフォルト値を使用して他の手順を完了します。

  7. 「終了」をクリックします。

SOAコンポジットの再デプロイ

  1. EDNEOPv2Projプロジェクトを右クリックします。

    コンテキスト・メニューが表示されます。

  2. コンテキスト・メニューで「デプロイ」sar_OEP_TEST_COMPOSITEを選択します

    「デプロイメント・アクション」ダイアログが表示されます。

  3. 「デプロイメント・アクション」ダイアログで、「アプリケーション・サーバーへのデプロイ」を選択します。
  4. 「次へ」をクリックします。

    「構成のデプロイ」ダイアログが表示されます。

  5. 「構成のデプロイ」ダイアログで、「同じリビジョンIDで既存のコンポジットを上書きします。」チェック・ボックスをチェックし、デフォルト値を保持します。
  6. 「次へ」をクリックします。

    「サーバーの選択」ダイアログが表示されます。

  7. 「サーバーの選択」ダイアログでIntegratedWebLogicServerを選択し、「次へ」をクリックします。

    「SOAサーバー」ダイアログが表示されます。

  8. 「SOAサーバー」ダイアログで、デフォルト値のまま「次へ」をクリックします。

    「Summary」ダイアログ・ボックスが表示されます。

  9. 「サマリー」ダイアログで設定が正確であることを確認し、「終了」をクリックします。

    変更されたSOAコンポジットのデプロイが成功すると、FraudCheckRequestおよびFraudCheckResponseイベント・タイプのデフォルトJMSマッピングが作成されます。このJMSマッピングは、WLS JMSではなくAQを使用する可能性があります。このOracle Stream Analyticsアプリケーションを相互運用するには、これらの特定のイベント・タイプのJMSマッピングでWLS JMSを使用するように変更する必要があります。イベント・タイプの変更は、Oracle SOA Suiteの一部であるOracle Enterprise Managerで実施します。

5.3.9 不正検出アプリケーションのテスト

Oracle Enterprise Managerを使用して、SOAコンポジット、その相互作用、および新しいOracle Stream Analyticsアプリケーションとの統合をテストします。

Enterprise Managerにログインし、「Webサービスのテスト」画面に移動します。

  1. ブラウザを開き、URLボックスにlocalhost:7101/emと入力します。

    Enterprise Managerのログイン画面が表示されます。

  2. ユーザー名weblogic、パスワードwelcome1でEnterprise Managerにログインします。

    「SOAインフラストラクチャ」画面が表示されます。

  3. 「SOAインフラストラクチャ」画面左パネルの「ターゲット・ナビゲーション」で、「SOA」→「soa-infra (Default Server)」→「デフォルト」の順に展開し、EDNOEPv2Projを選択します。

  4. 「SOAインフラストラクチャ」右パネルで、「テスト」ボタンを押します。

SOAコンポジットおよびOracle Stream Analyticsアプリケーションのテスト

  1. 「Webサービスのテスト」画面で、「入力引数」セクションが表示されるまで右パネルを下へスクロールします。
  2. 「入力引数」セクションの「SOAP本文」には、2つのフィールド「電子メール」および「量」があります。

    「電子メール」および「量」フィールドには、電子メール・アドレスおよびOracle Stream Analyticsアプリケーションに渡される量を入力します。Oracle CQLのGroup By句が、関連する注文と送金額の各コレクションを識別するために電子メール・アドレスを使用します。

  3. 「電子メール」フィールドに電子メール・アドレスと、「量」フィールドに200.00と入力します。
  4. ページの先頭にスクロールし、「Webサービスのテスト」をクリックします。

    Oracle WebLogicサーバーを起動したターミナル・ウィンドウを確認します。FraudCheckEventがファイルにパブリッシュされたことがわかる次のようなメッセージが表示されています。

    INFO: Publishing Event "{http://xmlns.oracle.com/Application2/Project1/FraudCheckEvent}FraudCheckResponse" to Topic="jms/fabric/EDNTopic", JmsType=WLJMS, isXA=false
    
  5. 同じ「電子メール」アドレスでさらに「量」を入力して「Webサービスのテスト」をクリックし、$1000を超えるまでイベントを送信します。
  6. テキスト・エディタでoepToedn-output_PRODUCTION.txtファイルのディレクトリに移動し、このファイルを開きます。

    作成した注文番号に対するレコード・ステータスがTHRESHOLD EXCEEDEDとなっています。Oracle Stream Analyticsアプリケーション内のOracle CQL文が、このステータスを決定しています。