ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.6.2)
B56238-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 SOAサンプル・アプリケーションの概要

この章では、このマニュアルで使用できるSOAサンプル・アプリケーションを設定、デプロイおよび実行する方法について説明します。Fusion Order DemoのWebLogic Fusion Order Demoアプリケーションは、このマニュアル全体でサンプルとして使用され、Oracle SOA Suiteの様々な機能を示します。

この章には次の項が含まれます:

3.1 Fusion Order Demoの概要

WebLogic Fusion Order Demoアプリケーションは、Fusion Order Demoと呼ばれる比較的大規模なサンプル・アプリケーションの一部です。このサンプル・アプリケーションに登場するGlobal Companyでは、Webベースのクライアント・アプリケーションなど、多数のチャネルを介して電子機器を販売しています。電子機器は、ストアフロント・タイプのWebアプリケーションを介して販売されます。顧客はWebサイトにアクセスし、登録して、製品を注文できます。

Fusion Order Demoは、ストアフロント・モジュールとWebLogic Fusion Order Demoアプリケーションの2つの部分で構成されています。

3.1.1 ストアフロント・モジュール

ストアフロント・モジュールには、Oracle Application Development Frameworkで作成された豊富なユーザー・インタフェースが用意されており、これを使用して、簡単に作成できるAJAXユーザー・インタフェースを高度なSOAコンポジット・アプリケーションに連結する方法を示します。これは、Oracle ADFビジネス・コンポーネント、ADFモデル・データ・バインディングおよびADF Facesに基づいています。

ストアフロント・モジュールでは、ストアフロント・タイプのWebアプリケーションを介して電子機器が販売されます。

ストアフロント・モジュールには、次のプロジェクトがあります。

  • StoreFrontService: このプロジェクトは、ストアフロント・データへのアクセスと、顧客データ、注文データおよび製品データの更新のトランザクション・サポートを提供します。

  • StoreFrontUI: このプロジェクトは、顧客がストアフロントの参照、注文の発行、サイトへの登録、注文情報の表示およびユーザー・プロファイルの更新に使用するWebページを提供します。

図3-1に、ストアフロント・モジュール・ユーザー・インタフェースのホームページを示します。ここでは、サイトで販売促進している注目製品が表示され、全品目のカタログにアクセスできます。また、製品の画像が製品名とともに表示されます。サイトで販売促進している注目製品は、製品カタログ領域とは別のページ・リージョンに表示されています。

図3-1 StoreFrontUIのホームページ

図3-1の説明が続きます
「図3-1 StoreFrontUIのホームページ」の説明

このホームページで、非同期ユーザーとしてWebサイトを参照し、登録済の顧客としてログインして注文を発行できます。

Fusion Order Demoアプリケーションには、事前定義済の顧客データが同梱されています。Fusion Order Demoアプリケーションでは、Oracle ADFセキュリティを実装してOracle ADFリソースへのアクセスを管理するため、認証済ユーザーのみがカート内の注文を表示できます。

ストアフロント・モジュールの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。

3.1.2 WebLogic Fusion Order Demoアプリケーション

WebLogic Fusion Order Demoアプリケーションでは、ストアフロント・モジュールで発行された注文を処理します。ここで使用するOracle SOA Suiteコンポーネントは次のとおりです。

  • Oracle Mediator

  • Oracle BPELプロセス

  • ヒューマン・ワークフロー(ヒューマン・タスクを使用)

  • Oracle Business Rules

  • Spring

  • Oracle User Messaging Service

  • Oracle Business Activity Monitoring

  • Oracle Metadata Repository

ストアフロント・モジュールを使用して注文が発行されると、その注文は、WebLogic Fusion Order Demoアプリケーションによって処理されます。注文を処理するときは、様々な内部アプリケーションと外部アプリケーション(顧客サービス・アプリケーション、与信検証システム、および内部ベンダーと外部ベンダーの両方)が使用されます。たとえば、内部ベンダー(InternalWarehouseService)と外部ベンダー(ExternalPartnerSupplier)には、すべての注文に関する情報が送信されます。注文プロセスの過程で、この2つのベンダーは、注文内の各品目の供給価格をそれぞれ戻します。プロセス内の条件によって、注文が割り当てられるサプライヤが決定されます。

SOAコンポジット・アプリケーションの詳細は、第1章「Oracle SOA Suiteを使用したアプリケーション作成の概要」を参照してください。

3.2 Fusion Order Demoアプリケーションの設定

この項では、WebLogic Fusion Order Demoアプリケーションを実行する環境を準備する方法について説明します。

3.2.1 タスク1: Oracle JDeveloper Studioのインストール

WebLogic Fusion Order Demoアプリケーションを作成するために、Oracle JDeveloper 11g Studio Editionをインストールします。Oracle Jdeveloperは、次のサイトからダウンロードできます。

http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html

11gをダウンロードしてインストールし、その製品がJava EditionではなくStudio Editionであることを確認してください。これらの詳細をOracle JDeveloperで確認するには、「ヘルプ」「バージョン情報」メニュー・オプションの順に選択します。

SOAコンポジット・アプリケーションとプロジェクトを作成してデプロイするには、Oracle SOA Suite拡張機能をインストールする必要があります。この拡張機能をOracle JDeveloper用にインストールする手順は、『Oracle Fusion Middleware Oracle JDeveloperインストレーション・ガイド』を参照してください。

3.2.2 タスク2: Fusion Order Demoアプリケーションのインストール

このチュートリアルでは、Oracle JDeveloper環境内でFusion Order Demoの内容を表示したり使用する必要があります。Fusion Order DemoはZIPファイル内に格納されています。

このZIPファイルにアクセスする手順は、次のとおりです。

  1. Fusion Order DemoアプリケーションZIPファイル(FusionOrderDemo_R1PS5.zip)をダウンロードします。ZIPファイルは、次のサイトからダウンロードできます。

    http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html
    
  2. ファイルを一時ディレクトリに解凍します。

    このチュートリアルでは、このディレクトリをDEMO_DOWNLOAD_HOMEと表記します。

3.2.3 タスク3: Oracle SOA Suiteのインストール

Fusion Order Demoアプリケーションを正常にデプロイして実行するには、Oracle SOA Suiteのインストールを完了しておく必要があります。特に、ドメインには管理サーバーと管理対象サーバーを含めます。

Oracle SOA Suiteをインストールするには、次の操作を実行する必要があります。

  • OracleデータベースにOracle SOA Suiteのスキーマを作成します。

  • Oracle WebLogic Serverをインストールします。

  • Oracle SOA Suite、Oracle Enterprise Manager、およびOracle BAM(必要な場合)をサポートするようにOracle WebLogic Server内にドメインを構成します。Fusion Order DemoではOracle BAMは必須ではありませんが、Oracle BAMサーバーを構成すると、Oracle BAMアダプタからOracle BAMサーバーにデータが送信されます。

    ドメインが作成されると、ドメインには、管理タスクを実行するためのOracle Enterprise Manager Fusion Middleware Controlをホストする管理サーバー、デプロイ済アプリケーションをホストする管理対象サーバー、およびOracle BAMサーバー用の2つ目の管理対象サーバー(Oracle BAMを構成した場合)が含まれます。

Oracle SOA Suiteをインストールして構成する手順は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド』を参照してください。

インストール・プロセスを正常に完了した後、さらに次の構成手順を実行します。

  1. ドメインの構成ファイルに設定を追加して、ストアフロント・モジュールに含まれる資格証明を有効化します。

    1. Oracle SOA Suiteドメイン用に設定された構成ファイルを次のディレクトリで検索します。

      (UNIX) MW_HOME/user_projects/domains/domain_name/bin/setDomainEnv.sh
      (Windows) MW_HOME\user_projects\domains\domain_name\bin\setDomainEnv.cmd
      
    2. JAVA_PROPERTIES行(UNIX)またはSET JAVA_PROPERTIES行(Windows)に次のオプションを追加します。

      -Djps.app.credential.overwrite.allowed=true
      

      このプロパティの設定方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。

    3. Oracle WebLogic Server管理サーバーが稼働中の場合は停止します。

      UNIXの場合は、rootユーザーとしてディレクトリMW_HOME/user_projects/domains/domain_name/binに移動し、次のコマンドを入力します。

      ./stopWebLogic.sh
      

      Windowsの場合は、Windowsの「スタート」メニューから「すべてのプログラム」「Oracle WebLogic」「User Projects」「domain_name」「Stop Admin Server」の順に選択します。

    4. 管理サーバーを起動します。

      UNIXの場合は、ディレクトリMW_HOME/user_projects/domains/domain_name/binから次のコマンドを入力します。

      ./startWebLogic.sh
      

      Windowsの場合は、Windowsの「スタート」メニューから「すべてのプログラム」「Oracle WebLogic」「User Projects」→「domain_name」→「Start Admin Server」の順に選択します。

      UNIXの場合は、プロンプトに対してOracle WebLogic Serverユーザー名およびパスワードを入力します。パスワードは入力しても表示されません。

      コマンド・ウィンドウに次のメッセージが表示されると、管理サーバーが起動します。

      <Server state changed to RUNNING> 
      <Server started in RUNNING mode> 
      

      コマンド・ウィンドウは最小化してもかまいませんが、開いたままにしておきます。これで管理サーバーが実行され、使用する準備ができました。

    5. 管理サーバーがRUNNINGモードのときに、管理対象サーバーが実行されていない場合は起動します。コマンド・ウィンドウで、次のコマンドをすべて1行に入力します。

      UNIXの場合は、ディレクトリMW_HOME/user_projects/domains/domain_name/binから次のコマンドを入力します。

      ./startManagedWebLogic.sh managed_server_name admin_url username password 
      

      Windowsの場合は、ディレクトリMW_HOME\user_projects\domains\domain_name\binから次のコマンドを入力します。

      startManagedWebLogic.cmd managed_server_name admin_url username password
      

      表3-1に示す次の値を置き換えます。

      表3-1 startManagedWebLogicの値

      説明

      managed_server

      管理対象サーバー名。例:

      soa_server1

      bam_server1

      admin_url

      管理対象サーバーのURL。例:

      http://soahost:8001

      http://soahost:9001

      通常、SOAアプリケーションをホストする管理対象サーバーのポートは8001です。また、Oracle BAM用の管理対象サーバーのポートは9001です。

      username

      Oracle WebLogic Server管理者。例:

      weblogic

      password

      Oracle WebLogic Server管理者のパスワード。例:

      welcome1


  2. Oracle JDeveloperがインストールされているコンピュータから、Oracle WebLogic ServerとともにOracle SOA Suiteがインストールされているコンピュータにリモートでデプロイする場合は、Oracle SOA SuiteがインストールされているコンピュータのJAVA_HOMEおよびPATH環境変数を変更します。

    Oracle JDeveloperでコンポジット・サービスをデプロイするスクリプトを実行するには、これらの変数を変更する必要があります。JAVA_HOME変数はOracle WebLogic Server JDKへのパスを含むように設定し、PATH変数はantに使用するOracle WebLogic Serverのbinディレクトリへのパスを含むように設定します。

    UNIXの場合は、exportコマンドを使用します。例:

    export JAVA_HOME=$MW_HOME/jdk160_11 
    export PATH=$PATH:MW_HOME/modules/org.apache.ant_1.7.0/bin
    

    Windowsの場合は、次の手順に従って変数を変更します。

    1. Windowsの「スタート」メニューから「コントロール パネル」を開き、「システム」アイコンをダブルクリックします。

    2. 「システムのプロパティ」ダイアログで、「詳細設定」タブを選択して「環境変数」をクリックします。

    3. 「環境変数」ダイアログで、JAVA_HOMEシステム変数を探し、Oracle WebLogic Server JDKの場所に設定されていることを確認します。

      JAVA_HOME変数が定義されていない場合は、「新規」をクリックし、「新しいシステム変数」ダイアログで変数名JAVA_HOMEおよびOracle WebLogic Server JDKを指す変数値(例: C:\weblogic\jdk160_11)を入力します。「OK」をクリックして新しいシステム変数を設定します。

    4. Pathシステム変数をダブルクリックし、Oracle WebLogic Serverのant\binディレクトリへのパスが含まれていることを確認します。このパスが含まれていない場合は、変数値の末尾に追加します。例:

      ;C:\weblogic\modules\org.apache.ant_1.7.0\bin
      

      「OK」をクリックして新しいシステム変数を設定します。

    5. 「OK」をさらに2回クリックして「環境変数」ダイアログと「システムのプロパティ」ダイアログを閉じます。

3.3 WebLogic Fusion Order Demoアプリケーションの内容

WebLogic Fusion Order Demoアプリケーションを設定した後は、Oracle JDeveloperでWebLogic Fusion Order Demoのアーティファクトを表示します。

WebLogic Fusion Order DemoアプリケーションをOracle JDeveloperで開く手順は、次のとおりです。

  1. Oracle JDeveloperのメイン・メニューから、「ファイル」→「開く」の順に選択します。

  2. 「開く」ダイアログで、DEMO_DOWNLOAD_HOME/CompositeServicesを参照し、「WebLogic Fusion Order Demo.jws」を選択します。「開く」をクリックします。

  3. ファイルを11.1.1.6.0フォーマットに移行するかどうかを尋ねるプロンプトが表示された場合は、「はい」をクリックします。移行が完了した時点で、「OK」をクリックします。

    図3-2に、アプリケーション・ワークスペースのファイルを開いた状態の「アプリケーション・ナビゲータ」を示します。ここには、WebLogic Fusion Order Demoのプロジェクト・アプリケーションが表示されています。

    図3-2 WebLogic Fusion Order Demoアプリケーションのプロジェクト

    この図は、周囲のテキストで説明されています。
    「図3-2 WebLogic Fusion Order Demoアプリケーションのプロジェクト」の説明

3.3.1 WebLogic Fusion Order Demoアプリケーションのプロジェクト・アプリケーション

表3-2では、WebLogicFusionOrderDemoアプリケーション・ワークスペースのプロジェクトをリストして説明します。

表3-2 WebLogic Fusion Order Demoアプリケーションのプロジェクト

アプリケーション 説明

B2BX12OrderGateway

このプロジェクトには、Oracle B2Bのコンポジットが含まれています。このコンポジットは、このマニュアルでは使用しません。

bin

このプロジェクトには、すべてのSOAプロジェクトをデプロイするためのビルド・スクリプトが含まれています。また、JMSコネクタ情報、デモ・トピックおよびデモ・ユーザーをシードするためのテンプレートも含まれています。

CreditCardAuthorization

このプロジェクトは、顧客のクレジット・カード情報を検証するためにOrderBookingCompositeプロジェクトで必要とされるサービスを提供します。

ExternalLegacyPartnerSupplierEjb

このプロジェクトは、見積価格を提供するための外部システムを提供します。

OrderApprovalHumanTask

このプロジェクトは、OrderBookingCompositeプロジェクトからの注文を承認するためのタスク・フォームを提供します。

OrderBookingComposite

このプロジェクトでは、ストアフロント・モジュール・ユーザー・インタフェースで発行された注文が処理されます。このプロジェクトには、WebLogic Fusion Order Demoアプリケーションのメイン・プロセスが含まれています。また、アクティブなデータをOracle BAMダッシュボードに送信するために、Oracle BAMアダプタとOracle BAMセンサーが使用されます。このコンポジットは、このマニュアルでは使用しません。

OrderSDOComposite

このプロジェクトは、ストアフロント・モジュールのStoreFrontServiceサービスをテスト目的でシミュレートします。

PartnerSupplierComposite

このプロジェクトには、パートナの倉庫から見積を取得するためのBPELプロセスおよびSpringコンテキストを含むコンポジットが含まれています。これは、OrderBookingCompositeプロジェクトのコンポジットからはサービスとして参照されます。見積リクエストは、金額に応じて、BPELプロセスまたはSpringコンポーネントのいずれかにルーティングされます。


3.3.2 composite.xmlファイル

コンポジットの設計方法を理解するには、OrderBookingCompositeというメイン・プロジェクトをOracle JDeveloperで確認します。

composite.xmlファイルを表示する手順は、次のとおりです。

  1. 「アプリケーション・ナビゲータ」で、「OrderBookingComposite」「SOAコンテンツ」の順に展開します。

  2. 「composite.xml」を選択します。

図3-3に示すように、Oracle JDeveloperのSOAコンポジット・エディタにコンポジットが表示されます。

図3-3 SOAコンポジット・エディタ

この図は、周囲のテキストで説明されています。
「図3-3 SOAコンポジット・エディタ」の説明

3.4 OrderBookingCompositeフローの理解

OrderBookingCompositeは、WebLogic Fusion Order Demoアプリケーションのメイン・プロジェクトであり、Global Companyからの注文を処理するためのコンポジット・アプリケーションが含まれています。このコンポジットでは、企業内部と外部の他のサイトの各サービスを、SOAアーキテクチャ・パラダイムを使用して統合し、1つのまとまりのある注文システムを作成する方法を示します。

OrderBookingCompositeコンポジットの中央には、OrderProcessor BPELプロセスがあります。これは、プロセス内のビジネス・ルールに基づいて、正しい倉庫での注文履行のために企業内の既存のサービスをすべて編成します。

図3-4は、WebLogic Fusion Order DemoアプリケーションのOrderBookingCompositeコンポジットの概要を示しています。その次に、アプリケーションによる注文の処理方法に対するコンポジット・フローについて段階ごとに説明します。

図3-4 OrderBookingCompositeフロー

図3-4の説明が続きます
「図3-4 OrderBookingCompositeフロー」の説明

新規顧客がGlobal Companyのストアフロント・ユーザー・インタフェースに登録すると、Webクライアントによって、StoreFrontServiceと呼ばれる内部顧客サービス・アプリケーションに顧客の情報が送信されます。次に、StoreFrontServiceによって顧客情報がデータベースに格納されます。その後、顧客は製品を閲覧し、オンライン・ショッピング・カートに追加して、注文を発行できます。ユーザーngreenbeは、注文を発行する前に登録が不要な唯一のユーザーです。

登録済顧客がGlobal Companyのストアフロント・ユーザー・インタフェースにアクセスしようとすると、ユーザー・インタフェースによってStoreFrontServiceが起動され、認証が行われます。登録済ユーザーはショッピング・カートに製品を追加し、注文を発行します。注文が発行されると、次のイベントが発生します。

注文が発行されると、注文を処理して完了する次のシーケンスが発生します。

  1. Oracle ADF Business Componentによって、Fusion Order Demoのスキーマがあるデータベースに注文が書き込まれ、イベント配信ネットワーク(EDN)を使用して NewOrderSubmitted イベントが発生します。このイベントに関連付けられたデータが注文IDです。

  2. OrderPendingEvent Oracle MediatorはNewOrderSubmittedイベントをサブスクライブするため、EDNレイヤーはOrderPendingEvent Oracle Mediatorに新規注文を通知します。

  3. OrderPendingEvent Oracle Mediatorは注文を受信し、入力注文IDをOrderProcessor BPELプロセスにルーティングします。

  4. OrderProcessor BPELプロセスは、公開されたOracle ADF Business ComponentのStoreFrontServiceサービスにバインドするためのbind entityアクティビティを使用して、データベースから注文IDを受信します。

    次の注文情報は、プロセスで後に使用される場合があります。

    • 顧客ID

    • 顧客が購入したアイテム

    • 使用されたクレジット・カード

    • 選択された出荷先住所

  5. BPELプロセスは、StoreFrontServiceを開始し、注文IDを渡して、顧客に関する情報を取得します。

  6. 次に、BPELプロセスは、購入金額、クレジット・カード・タイプおよびクレジット・カード番号をCreditCardAuthorizationServiceに送信し、顧客のクレジット・カードが有効であるかどうかを検証します。

    クレジット・カードが有効でない場合は、BPELプロセスによって注文が取り消されます。

    クレジット・カードが有効な場合は、BPELプロセスによって注文がRequiresApprovalRuleビジネス・ルールに送信され、管理者による注文の承認が必要かどうかが判定されます。

  7. RequiresApprovalRuleビジネス・ルールでは、手動承認が必要であるかどうかが評価されます。ビジネス・ルールには、$2,000を超える注文に対して手動承認が必要であるというルールが含まれています。

  8. 手動承認が必要な注文については、BPELプロセスによって ApprovalHumanTask ヒューマン・タスクが起動され、次の処理が実行されます。

    • メッセージがjsteinという名前の割当て先にルーティングされ、割当て先は注文を承認または却下します。

    • OnTaskAssignedイベントが公開されます。OrderApprovalTaskAssignedMediator Oracle Mediatorによってこのイベントがサブスクライブされます。Oracle BAMサーバーが構成されている場合は、Oracle BAMアダプタを使用して注文の割当て先ID jstein(ECIDに基づく)がOracle BAMサーバーに送信されます。

  9. 注文が承認されると、BPELプロセスによって注文情報が次のサプライヤに送信され、同時に見積が取得されます。

    • 内部サプライヤ。同じOrderBookingCompositeにあるInternalWarehouseService BPELプロセスを使用して送信されます。

    • 外部サプライヤ。PartnerSupplierMediator Oracle Mediatorを使用し、PartnerSupplierCompositeと呼ばれる別のコンポジットにあるExternalPartnerSupplier BPELプロセスまたはSpringPartnerSupplierMediator Springコンポーネントにルーティングして送信されます。

  10. これら2つのサプライヤは見積を返信し、BPELプロセスはその見積を EvaluatePreferredSupplierRule ビジネス・ルールに送信します。

  11. EvaluatePreferredSupplierRuleビジネス・ルールで、2つの見積のうち安い方のサプライヤが選択されます。

  12. BPELプロセスによってFulfillOrder Oracle Mediatorが起動され、次の4つの操作が実行されます。

    • 注文が一時キューに保管され、夜間にバッチ・モードで履行システムにアップロードされます。

    • 注文がUSPSにルーティングされます。

    • Oracle BAMサーバーが構成されている場合は、Oracle BAMアダプタを使用して注文に関するデータ(注文IDに基づく)がOracle BAMサーバーに送信されます。

    • Oracle BAMサーバーが構成されている場合は、Oracle BAMアダプタを使用して処理対象の注文の時間に関するデータ(インスタンスIDに基づく)がOracle BAMサーバーに送信されます。

  13. 注文が履行されると、BPELプロセスによって注文がcompleteに設定されます。

  14. BPELプロセスによってNotificationServiceサービスが起動され、発注情報の電子メール通知が顧客に送信されます。

  15. 注文が完了すると、OrderPendingEvent Oracle MediatorがOrderProcessorプロセスに対してOrderCompletedビジネスを公開します。

図3-4には記載されていませんが、OrderBookingCompositeコンポジットでは、承認済の注文用に次の処理フローが提供されます。

  1. UpdateOrderStatus Oracle Mediatorでは、次の処理が実行されます。

    • ビジネス・イベント OrderUpdateEvent を公開し、注文IDを OrderProcessor BPELプロセスに送信します。

    • Oracle BAMサーバーが構成されている場合は、Oracle BAMアダプタを使用して注文IDおよび注文ステータスに関するデータをOracle BAMサーバーに送信します。

  2. OrderUpdateEventMediator Oracle Mediatorでは、ビジネス・イベントOrderUpdateEventをサブスクライブし、注文IDをStoreFrontServiceに送信して、StoreFrontServiceが注文に関する更新済詳細を返信するまで待機します。

注文をトラッキングするために、 OrderBookingComposite コンポジットにはセンサーが含まれており、メッセージにトラッキング可能フィールドを実装する手段を提供します。たとえば、 CreditCardAuthorization サービスには、クレジット・カードが認可されているかどうかを示すコンポジット・センサーがあります。さらに、 OrderProcessor BPELプロセスでも様々なアクティビティに対してセンサーを使用します。たとえば、 OrderProcessor BPELプロセスの Scope_AuthorizeCreditCard スコープは、 CreditCardAuthorizationService サービスを使用して顧客の与信が受諾可能であることを検証し、トラッキング用にセンサーを使用します。Oracle Enterprise Manager Fusion Middleware Controlからコンポジットのインスタンスを監視する場合は、コンポジットとBPELプロセスの両方のセンサーを監視できます。

この章の後続の項では、Fusion Order Demoのデプロイと実行について説明します。実行する際には、Oracle Enterprise Manager Fusion Middleware Controlを使用して、OrderBookingCompositeコンポジットで処理される注文を監視します。また、注文を監視するときに、コンポジット・センサーとアクティビティ・センサーを表示することもできます。

3.5 Fusion Order Demoのデプロイ

この項では、Fusion Order Demoアプリケーションをパーティションにデプロイする方法について説明します。

3.5.1 タスク1: Oracle WebLogic Serverへの接続の作成

Oracle WebLogic Serverへの接続を作成する手順は、次のとおりです。

  1. Oracle JDeveloperを起動します。

    (UNIX) ORACLE_HOME/jdev/bin/jdev
    (Windows) JDEV_ORACLE_HOME\jdeveloper\JDev\bin\jdev.exe
    
  2. 図3-5に示すように、「アプリケーション・メニュー」から「新規」を選択します。

    図3-5 アプリケーション・メニュー

    図3-5の説明が続きます
    「図3-5 アプリケーション・メニュー」の説明

  3. 「新規ギャラリ」ダイアログの「カテゴリ」ツリーで、「一般」を選択し、次に「接続」を選択します。

  4. 「アプリケーション・サーバー接続」を選択し、「OK」をクリックします。

    「アプリケーション・サーバー接続タイプの作成」ページが表示されます。

  5. 「接続名」フィールドに接続の一意の名前を入力し、「接続タイプ」リストから「WebLogic 10.3」を選択します。図3-6に詳細を示します。

    図3-6 アプリケーション・サーバー接続の作成

    図3-6の説明が続きます
    「図3-6 アプリケーション・サーバー接続の作成」の説明

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

    「認証」ページが表示されます。

  7. 「ユーザー名」weblogicと入力し、「パスワード」フィールドに管理者のパスワードを入力します。

  8. 「構成」ページで、表3-3に記載されている詳細を入力します。

    表3-3 「構成」ページのフィールドと値

    アプリケーション 説明

    Weblogicホスト名(管理サーバー)

    Oracle WebLogic Serverの管理サーバーのDNS名またはIPアドレス。

    ポート

    管理サーバーがリクエストをリスニングしているポートのアドレス(デフォルトでは7001)。

    WebLogicドメイン

    Oracle WebLogic Serverのドメイン名。


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

    「テスト」ページが表示されます。

  10. 「接続のテスト」をクリックします。

    次のメッセージが表示されることを確認します。

    Testing JSR-88                         ... success.
    Testing JSR-88-LOCAL                   ... success.
    Testing JNDI                           ... success.
    Testing JSR-160 DomainRuntime          ... success.
    Testing JSR-160 Runtime                ... success.
    Testing JSR-160 Edit                   ... success.
    Testing HTTP                           ... success.
    Testing Server MBeans Model            ... success.
     
    8 of 8 tests successful. 
    

    テストが成功しない場合は、Oracle WebLogic Serverが稼働していることを確認し、テストを再試行します。

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

  12. 「リソース・パレット」で、「IDE接続」「アプリケーション・サーバー」を展開し、作成したアプリケーション・サーバー接続を確認します。図3-7に詳細を示します。

    図3-7 リソース・パレット

    図3-7の説明が続きます
    「図3-7 リソース・パレット」の説明

3.5.2 (オプション)タスク2: Oracle BAMサーバーへの接続の作成

インストール中にOracle BAMサーバーを構成した場合は、Oracle BAMサーバーへの接続を作成します。

Oracle BAMサーバーへの接続を作成する手順は、次のとおりです。

  1. 「アプリケーション・メニュー」から「新規」を選択します。

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

  3. 「BAM接続」を選択し、「OK」をクリックします。

    BAM接続ウィザードが表示されます。

  4. 必ず、「アプリケーション・リソース」が選択されているようにしてください。

  5. 接続の名前を指定します。

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

  7. 「ユーザー名」weblogicと入力し、「パスワード」フィールドに管理者のパスワードを入力します。

  8. 表3-4に記載されているOracle BAMサーバー・ホストの接続情報を入力します。

    表3-4 Oracle BAMサーバー接続情報

    フィールド 説明

    BAM Webホスト

    Oracle BAMレポート・サーバーとWebアプリケーションがインストールされているホストの名前を入力します。ほとんどの場合、Oracle BAM Webアプリケーション・ホスト、Oracle BAMサーバー・ホストおよびOracle WebLogic Serverは同一です。

    BAMサーバー・ホスト

    Oracle BAMサーバーがインストールされているホストの名前を入力します。

    ユーザー名

    Oracle BAMサーバー・ユーザー名を入力します。例:

    weblogic

    パスワード

    ユーザー名のパスワードを入力します。

    HTTPポート

    ポート番号を入力するか、またはデフォルト値9001をそのまま使用します。これは、Oracle BAM Webアプリケーション・ホスト用のHTTPポートです。

    JNDIポート

    ポート番号を入力するか、またはデフォルト値9001をそのまま使用します。JNDIポートは、Oracle BAMサーバーの一部であるOracle BAMレポート・キャッシュ用です。

    HTTPSの使用

    設計時にOracle BAMサーバーへの接続にセキュアなHTTP(HTTPS)を使用する場合は、このチェック・ボックスを選択します。選択しない場合は、HTTPが使用されます。


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

    「テスト」ページが表示されます。

  10. 「接続のテスト」をクリックします。

    次のメッセージが表示されることを確認します。

    Testing HTTP connection ... success.
    Testing Data Object browsing ... success.
    Testing JNDI connection ... success.
     
    3 of 3 tests successful. 
    
  11. 「終了」をクリックします。

3.5.3 タスク3: Fusion Order Demoアプリケーションのスキーマのインストール

サンプル・アプリケーションのスキーマをインストールする手順は、次のとおりです。

  1. Oracle JDeveloper 11gを起動し、メイン・メニューから「ファイル」「開く」の順に選択します。

  2. 「開く」ダイアログで、DEMO_DOWNLOAD_HOME/Infrastructureを参照し、「Infrastructure.jws」を選択します。

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

  4. ファイルを11.1.1.6.0フォーマットに移行するかどうかを尋ねるプロンプトが表示された場合は、「はい」をクリックします。移行が完了した時点で、「OK」をクリックします。

  5. 「アプリケーション・ナビゲータ」で、「MasterBuildScript」「リソース」の順に展開し、「build.properties」をダブルクリックします。

  6. エディタで、表3-5に示すプロパティを環境にあわせて変更します。

    表3-5 Fusion Order Demoアプリケーションのインストールに必要なプロパティ

    フィールド 説明

    jdeveloper.home

    Oracle JDeveloper 11gがインストールされているルート・ディレクトリ。例:

    C:/JDeveloper/11

    jdbc.urlBase

    データベースのベースJDBC URL(書式はjdbc:oracle:thin:@<yourhostname>)。例:

    jdbc:oracle:thin:@localhost

    jdbc.port

    データベースのポート。例:

    1521

    jdbc.sid

    データベースのSID。例:

    ORCLまたはXE

    db.adminUser

    データベースの管理ユーザー。例:

    system

    db.demoUser.tablespace

    Fusion Order Demoユーザー用の表領域名。例:

    USERS


  7. JDeveloperのメイン・メニューから、「ファイル」→「すべて保存」の順に選択します。

  8. 「アプリケーション・ナビゲータ」で、「リソース」ノードの「build.xml」を右クリックし、「Antターゲットの実行」→「buildAll」の順に選択します。

  9. プロンプトに対して、データベースの管理ユーザーのパスワードを入力します。

    buildAllコマンドによりFODユーザーが作成され、FODスキーマに表が移入されます。「Apache Ant - ログ」に、一連のSQLスクリプトに続いて次のように表示されます。

    buildAll:
    BUILD SUCCESSFUL
    Total time: nn minutes nn seconds
    

    デモ・スキーマおよびスクリプトの詳細は、MasterBuildScriptプロジェクトのREADME.txtファイルを参照してください。

3.5.4 タスク4: ストアフロント・モジュールの構成プロパティの設定

ストアフロント・モジュールは、単純なWebアプリケーションとして、またはSOA環境の一部としてデプロイできます。ストアフロント・モジュールのservice部分で定義するプロパティは、いずれかのページ内で使用されて、「Submit Order」ボタンをクリックするとBPELプロセスを起動するイベントが起動されるかどうかを決定します。SOA環境内でストアフロント・モジュールを使用する場合は、このプロパティのデフォルト値を変更する必要があります。

  1. 「ファイル」「開く」の順に選択します。

  2. 「開く」ダイアログで、DEMO_DOWNLOAD_HOME/StoreFrontModuleを参照し、「StoreFrontModule.jws」を選択します。「開く」をクリックします。

  3. ファイルを11.1.1.6.0フォーマットに移行するかどうかを尋ねるプロンプトが表示された場合は、「はい」をクリックします。移行が完了した時点で、「OK」をクリックします。

    図3-8に、アプリケーション・ワークスペースのファイルを開いた状態の「アプリケーション・ナビゲータ」を示します。

    図3-8 StoreFrontModuleが表示された「アプリケーション・ナビゲータ」

    TBD
    「図3-8 StoreFrontModuleが表示された「アプリケーション・ナビゲータ」の説明

  4. 「アプリケーション・ナビゲータ」で、「StoreFrontService」「アプリケーション・ソース」「oracle.fodemo.storefront」「store」「service」の順に展開します。

  5. 「StoreServiceAM」を右クリックし、「構成」を選択します。

  6. 「構成の管理」ダイアログで、「名前」リストから「StoreServiceAMLocalWeb」を選択し、「編集」をクリックします。図3-9に詳細を示します。

    図3-9 StoreServiceAMLocalWeb

    図3-9の説明が続きます
    「図3-9 StoreServiceAMLocalWeb」の説明

  7. 「ビジネス・コンポーネント構成の編集」ダイアログで、「プロパティ」タブを選択し、「fod.application.issoaenabled」プロパティを選択します。このプロパティは、アプリケーションがSOA環境にデプロイされるかどうかを指定します。

  8. 「fod.application.issoaenabled」プロパティの値をtrueに変更してから、OKをクリックします。図3-10に詳細を示します。

    図3-10 fod.application.issoenabled

    図3-10の説明が続きます
    「図3-10 fod.application.issoenabled」の説明

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

  10. 「構成の管理」ダイアログで「OK」をクリックします。

3.5.5 タスク5: データベース接続の編集

正しいホスト名およびデータベースSIDを指すようにデータベース接続詳細を編集します。

  1. 「アプリケーション・ナビゲータ」で「StoreFrontService」「アプリケーション・ソース」の順に展開します。

  2. 「StoreFrontService.jpx」をダブルクリックします。

  3. 「接続」フィールドの右側で、図3-11に示すように「編集」アイコンをクリックします。

  4. 「ホスト名」および「SID」フィールドの値を正しいホストおよびSIDに置き換えて、FODデータベース接続の接続文字列を編集します。図3-12に詳細を示します。

    図3-12 「ホスト名」および「SID」フィールドの変更

    図3-12の説明が続きます
    「図3-12 「ホスト名」および「SID」フィールドの変更」の説明

3.5.6 タスク6: ストアフロント・モジュールのデプロイ

ストアフロント・モジュールをデプロイするには、最初にサービスをデプロイし、次にアプリケーション自体をデプロイする必要があります。

デプロイメント時に、Oracle JDeveloperでは、デプロイメント・プロファイルでの指定に従って、.jarファイルおよび.warファイルが作成され、.earファイルがアセンブルされます。ファイルがアセンブルされた後、Oracle JDeveloperによって.earファイルがデプロイされ、アプリケーション・サーバー上のディレクトリにこのファイルが解凍されます。使用されるディレクトリはターゲット環境によって異なります。

ストアフロント・モジュールをデプロイする手順は、次のとおりです。

  1. ストアフロント・モジュールでOrderBookingCompositeコンポジットへの注文の送信に使用されるサービスをデプロイします。

    1. 「アプリケーション・メニュー」から、「デプロイ」「StoreFrontModule_SDOServices」の順に選択します。図3-13に詳細を示します。

      図3-13 StoreFrontService_SDOServices

      図3-13の説明が続きます
      「図3-13 StoreFrontService_SDOServices」の説明

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

    3. 「サーバーの選択」ページで「MyAppServerConnection」を選択します。これは、第3.5.1項「タスク1: Oracle WebLogic Serverへの接続の作成」で作成した接続です。

    4. 「ドメイン内の全サーバー・インスタンスへのデプロイ」オプションの選択を解除して「次へ」をクリックします。

    5. 「サーバー・インスタンス」ページで、Oracle WebLogic Serverの管理対象サーバー(例: soa_server)を選択して「OK」をクリックします。

    6. 「サマリー」ページで、「終了」をクリックします。

    7. Oracle JDeveloperの下部にあるデプロイメント・ログ・ウィンドウに表示されるメッセージを確認して、デプロイメントが成功したことを確認します。

  2. ストアフロント・モジュールをデプロイします。「アプリケーション・メニュー」から、「デプロイ」「StoreFrontModule」「デプロイ先」「MyAppServerConnection」の順に選択します。

    1. 「アプリケーション・メニュー」から、「デプロイ」「StoreFrontModule」の順に選択します。

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

    3. 「サーバーの選択」ページで「MyAppServerConnection」を選択します。

    4. 「ドメイン内の全サーバー・インスタンスへのデプロイ」オプションの選択を解除して「次へ」をクリックします。

    5. 「サーバー・インスタンス」ページで、Oracle WebLogic Serverの管理対象サーバー(例: soa_server)を選択して「次へ」をクリックします。

    6. 「サマリー」ページで、「終了」をクリックします。

    7. Oracle JDeveloperの下部にあるデプロイメント・ログ・ウィンドウに表示されるメッセージを確認して、デプロイメントが成功したことを確認します。

3.5.7 タスク7: WebLogic Fusion Order Demoアプリケーションのデプロイ

このタスクでは、管理サーバーと管理対象サーバーがあるOracle WebLogic Serverドメインを含むOracle SOA Suiteインストールに、WebLogic Fusion Order Demoアプリケーションをデプロイします。

WebLogic Fusion Order Demoアプリケーションをデプロイする手順は、次のとおりです。

  1. 「アプリケーション・ナビゲータ」で「WebLogicFusionOrderDemo」を選択します。

  2. インストール中にOracle BAMサーバーを構成した場合は、次の手順を実行します。

    1. 「アプリケーション・ナビゲータ」で、「OrderBookingComposite」「SOAコンテンツ」「bin」の順に展開します。「sca-build.properties」をダブルクリックします。図3-14に詳細を示します。

      図3-14 「sca-build.properties」への移動

      図3-14の説明が続きます
      「図3-14 「sca-build.properties」への移動」の説明

    2. エディタで、表3-6に示すプロパティをOracle BAM環境にあわせて変更します。

      表3-6 Oracle BAMで必要なプロパティ

      フィールド 説明

      enable.bam.sensors

      true

      Oracle BAMのセンサーを有効にするには、trueに設定します。

      seed.bam.do

      true

      Oracle BAMのデータ・オブジェクト、アラートおよびレポートをシードするには、trueに設定します。

      デプロイメントが完了した後に、この値をfalseに設定し直してください。最初のデプロイメント後にこのパラメータがtrueに設定されていると、後で再デプロイしたときにデータ・オブジェクト、アラートおよびレポートが再度シードされます。したがって、最初のデプロイメント後に、このパラメータをfalseに設定します。

      bam.server.host

      Oracle BAMの管理対象サーバーのDNS名またはIPアドレス。例:

      soahost

      bam.server.port

      Oracle BAMの管理対象サーバーのポート。例:

      9001

      bam.server.username

      Oracle WebLogic Server管理者。例:

      weblogic

      bam.server.password

      Oracle WebLogic Server管理者のパスワード。例:

      welcome1


    3. Oracle JDeveloperのメイン・メニューから、「ファイル」→「すべて保存」の順に選択します。「sca-build.properties」タブを開いたまま、デプロイメント後にseed.bam.doパラメータをfalseに変更できます。

  3. エディタで、WebLogicFusionOrderDemoアプリケーションに対して次の手順を実行します。

    1. 「アプリケーション・ナビゲータ」から、「bin」「リソース」の順に展開します。「build.properties」をダブルクリックします。図3-15に詳細を示します。

      図3-15 「build.properties」への移動

      図3-15の説明が続きます
      「図3-15 「build.properties」への移動」の説明

    2. エディタで、WebLogicFusionOrderDemoアプリケーションに対して、表3-7に示すプロパティを変更します。

      表3-7 WebLogic Fusion Order Demoアプリケーションに必要なプロパティ

      フィールド 説明

      oracle.home

      Oracle JDeveloper 11gがインストールされているルート・ディレクトリ。例:

      C:\\Oracle\\Middleware\\jdeveloper\\

      soa.only.deployment

      false

      OrderSDOCompositeコンポジットを使用して注文を発行する場合は、このプロパティをtrueに設定します。このマニュアルでは、ストアフロント・モジュールを使用して注文を発行することを前提にしています。したがって、このプロパティをfalseに変更する必要があります。

      admin.server.host

      アプリケーションをホストするOracle SOA Suiteの管理サーバーのDNS名またはIPアドレス。例:

      soahost

      admin.server.port

      管理サーバーのポート。例:

      8001

      managed.server

      アプリケーションをホストするOracle SOA Suiteの管理対象サーバーのDNS名またはIPアドレス。例:

      soahost

      managed.server.port

      アプリケーションをホストするOracle SOA Suiteの管理対象サーバーのポート。例:

      8001

      server.user

      Oracle WebLogic Server管理者。例:

      weblogic

      server.password

      Oracle WebLogic Server管理者のパスワード。例:

      welcome1

      server.targets

      管理対象サーバー名。例:

      soa_server

      soa.server.oracle.home

      アダプタのデプロイメント計画の格納場所。例:

      C:\\AS11gR1SOA

      foreign.mds.type

      Oracle Metadata Repositoryの場所。

      値をdbのままにしておき、mds.db.useridmds.db.passwordおよびmds.db.urlパラメータの値を設定してMDSリポジトリの場所を指定します。

      値をデフォルト値のjdevのままにしておきます。次のパラメータの値を指定する必要はありません。

      soa.partition.name

      コンポジットをデプロイするパーティション。次に例を示します。

      soaFusionOrderDemo


  4. JDeveloperのメイン・メニューから、「ファイル」→「すべて保存」の順に選択します。

  5. 「アプリケーション・ナビゲータ」で、「リソース」ノードの「build.xml」を右クリックして「Antターゲットの実行」を選択し、次のantターゲットを表3-8に示す順序で選択します。

    表3-8 WebLogic Fusion Order Demoアプリケーションをデプロイするためのantターゲット

    ターゲット 説明

    1. validateFodConfigSettings

    このスクリプトでは、サーバー設定の検証、サーバーが起動しているかどうかのチェック、およびMDS設定の検証が実行されます。このスクリプトがエラーを返さなかった場合は、ターゲットserver-setup-seed-deploy-testに進みます。

    2. server-setup-seed-deploy-test

    このスクリプトでは、次のターゲットがコールされます。

    • compile-deploy-all: すべてのSOAコンポジットがコンパイルされて構築され、管理対象サーバーにデプロイされます。

    • seedFodJmsResources: Fulfillmentメディエータ用のJMSリソースが移入されます。

    • seedDemoUsers: $2,000を超える注文を承認するユーザーとしてjsteinが追加されます。デモの実行時には、$2,000の注文を発行し、jsteinとしてOracle BPM Worklistにログインして注文を承認します。


    ターゲットが正常に終了した場合は、「Apache Ant - ログ」に次のメッセージが表示されることを確認します。

    BUILD SUCCESSFUL
    Total time: nn minutes nn seconds
    

    ターゲットserver-setup-seed-deploy-testを実行した後にOracle BAMを設定する場合は、次のいずれかのターゲットを実行して、Fusion Order Demo用にOracle BAMを構成できます。

    • ターゲットserver-setup-seed-deploy-testを再実行します。

    • 「アプリケーション・ナビゲータ」で、「build_sca_composite.xml」(「OrderBookingComposite」「SOAコンテンツ」)を右クリックして「Antターゲットの実行」を選択し、「seedBAMServerObjects」を選択します。

  6. 「sca-build.properties」タブに戻り、seed.bam.doパラメータをfalseに変更します。

  7. JDeveloperのメイン・メニューから、「ファイル」→「すべて保存」の順に選択します。

3.6 Fusion Order Demoの実行

注文処理は、注文を発行するストアフロント・ユーザー・インタフェースで開始します。

注文が発行されると、Application Development Framework Business Componentによって注文がデータベースに書き込まれ、イベント配信ネットワーク(EDN)を使用してNewOrderSubmittedビジネス・イベントが発生します。このイベントがOrderPendingEventメディエータによってサブスクライブされ、メインBPELプロセスOrderProcessorが開始されて注文が処理されます。

注文を発行した後に、Oracle SOA SuiteインストールのOracle Enterprise Manager Fusion Middleware Controlを使用して、OrderProcessor BPELプロセスが注文を編成する様子を監視します。$2,000を超える注文を発行した場合は、承認を要求する様子を監視できます。

Fusion Middleware Controlを使用して注文を発行し、その注文を監視する手順の詳細は、Oracle Technology Networkを参照してください。

http://download.oracle.com/otn_hosted_doc/jdeveloper/doc/11/runningfod_notes.pdf

3.7 Oracle BAMサーバーに送信されたデータの表示

Oracle BAMサーバーおよびその管理対象サーバーを構成した場合は、Oracle BAMアーキテクトを使用して、サーバーに送信されたデータを表示できます。Oracle BAMアーキテクトを含むOracle BAMアプリケーションの使用方法の詳細は、『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』を参照してください。

3.8 WebLogic Fusion Order Demoアプリケーションのコンポジットのアンデプロイ

WebLogic Fusion Order Demoコンポジット・アプリケーションをアンデプロイする手順は、次のとおりです。

  1. 表3-9に記載されているオプションを使用して、Fusion Middleware ControlのSOAコンポジットのアンデプロイ・ウィザードにアクセスします。

    表3-9 SOAコンポジットのアンデプロイ・ウィザードにアクセスするためのオプション

    「SOAインフラストラクチャ」メニューから ナビゲータの「SOA」フォルダから 「SOAインフラストラクチャ」ホームページから 「SOAコンポジット」メニューから
    1. 「SOAデプロイ」「アンデプロイ」の順に選択します。

      「コンポジットの選択」ページが表示されます。

    2. 「SOAコンポジット・デプロイ」セクションで、「OrderBookingComposite」「PartnerSupplierComposite」を選択してアンデプロイし、「次へ」をクリックします。

    1. 「soa-infra」を右クリックします。

    2. 「SOAデプロイ」「アンデプロイ」の順に選択します。

      「コンポジットの選択」ページが表示されます。

    3. 「SOAコンポジット・デプロイ」セクションで、「OrderBookingComposite」「PartnerSupplierComposite」を選択してアンデプロイし、「次へ」をクリックします。

    1. 「デプロイ済コンポジット」タブをクリックします。

    2. 「コンポジット」表で、「OrderBookingComposite」「PartnerSupplierComposite」の両方を選択します。

    3. 「コンポジット」表の上にある「アンデプロイ」をクリックします。

    「SOAデプロイ」「アンデプロイ」の順に選択します。


    「確認」ページが表示されます。

  2. 「アンデプロイ」をクリックします。デプロイ済コンポジット・アプリケーションの最後に残ったリビジョンをアンデプロイしようとすると、警告が表示されます。

    処理中メッセージが表示されます。

  3. アンデプロイが完了した後に、「閉じる」をクリックします。