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

前
 
次
 

2 Oracle SOA Suiteを使用したSOAコンポジット・アプリケーションの開発

この章では、Oracle JDeveloperを使用してSOAコンポジット・アプリケーションを作成する方法について説明します。ここでは、コンポジット作成の基本的な手順の他に、コンポジット・アプリケーションの設計時に認識する必要がある主要な問題についても説明します。

項目は次のとおりです。

2.1 SOAアプリケーションの作成

新しいアプリケーションを作成する最初のステップでは、アプリケーションに名前を割り当て、ソース・ファイルを保存するディレクトリを指定します。Oracle JDeveloperで用意されているアプリケーション・テンプレートを使用してアプリケーションを作成すると、作成するアプリケーションのタイプに必要な多数の構成ファイルとともに、ワークスペースの編成がプロジェクトに自動的に適用されます。

2.1.1 SOAアプリケーションおよびプロジェクトの作成方法

最初にSOAプロジェクト用のアプリケーションを作成します。


注意:

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

アプリケーションを作成する手順は、次のとおりです。

  1. Oracle JDeveloper Studio Editionバージョン11.1.1.5.0を起動します。

  2. Oracle JDeveloperを初めて実行する場合は、Java JDKの場所を指定します。

  3. 表2-1で説明するように、新しいSOAコンポジット・アプリケーションを作成します。

    表2-1 SOAコンポジット・アプリケーションの作成

    Oracle Jdeveloperの状態 操作

    アプリケーションがない

    例: Oracle JDeveloperを初めて開いた場合

    左上の「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。

    既存のアプリケーションがある

    「ファイル」メイン・メニューまたは「アプリケーション」メニューから次の操作を実行します。

    1. 「新規」「アプリケーション」の順に選択します。

      「新規ギャラリ」が開き、作成する別のアプリケーション・コンポーネントを選択できます。

    2. 「カテゴリ」ツリーの「一般」ノードで、「アプリケーション」を選択します。「項目」ペインで「SOAアプリケーション」を選択し、「OK」をクリックします。


    SOAアプリケーションの作成ウィザードが起動します。

  4. 「アプリケーションの名前付け」ページで、必要に応じて、Webプロジェクトの名前と場所を変更できます。最初のアプリケーションを作成する場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルト値をそのまま使用し、「次へ」をクリックします。


    注意:

    • 空白を使用したアプリケーション名は作成できません

    • 空白があるディレクトリ・パスにアプリケーションおよびプロジェクトを作成することはできません(例: c:¥Program Files)。

    • UNIXオペレーティング・システムでは、LANGおよびLC_All環境変数をUTF-8キャラクタ・セットを使用するロケールに設定して、Unicodeのサポートを有効にすることをお薦めします。この設定により、オペレーティング・システムですべての文字をUnicodeで処理できます。SOAテクノロジはUnicodeに基づいています。オペレーティング・システムがUTF-8以外のエンコーディングを使用するように構成されると、SOAコンポーネントは予期しない動作をする場合があります。たとえば、ASCII以外のファイル名の場合は、ファイルにアクセスできず、エラーが発生する可能性があります。Oracleでは、オペレーティング・システムの制約によって発生する問題はサポートしていません。

      設計時環境でOracle JDeveloperを使用している場合は、「ツール」「プリファレンス」「環境」「エンコーディング」「UTF-8」の順に選択して、Unicodeのサポートを有効にします。この設定は、ランタイム環境にも適用できます。


  5. 「プロジェクトの名前付け」ページで、必要に応じて、SOAプロジェクトの名前と場所を変更できます。デフォルトでは、Oracle JDeveloperでモデル・プロジェクトに対してSOAプロジェクト・テクノロジ、生成されたcomposite.xml、および必要なライブラリが追加されます。「次へ」をクリックします。


    注意:

    コンポジットおよびコンポーネントの名前は、500文字を超えることはできません。

    同じインフラストラクチャにデプロイされるプロジェクトは、SOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、表2-2に記載されている操作は実行しないでください。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。

    表2-2 SOAプロジェクトの名前付けに関する制限

    作成するアプリケーション名 SOAプロジェクト名

    Application1

    Project1

    Application2

    Project1


    SOAアプリケーションの作成ウィザードのプロジェクトのSOA設定ページが表示されます。

  6. SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。

  7. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.1.2 SOAアプリケーションおよびプロジェクト作成時の処理内容

SOAアプリケーションを作成すると、Oracle JDeveloperではアプリケーションに関連するすべてのソース・ファイルを含むプロジェクトが作成されます。Oracle JDeveloperでは、SOAプロジェクトに必要な次のライブラリが自動的に追加されます。

  • SOAデザインタイム

  • SOAランタイム

  • BPELランタイム

  • Oracle Mediatorランタイム

  • MDSランタイム

したがって、Oracle JDeveloperを使用してアプリケーションに必要な追加プロジェクトを作成できます。

図2-1は、Fusion Order DemoのWebLogicFusionOrderDemoアプリケーションに含まれるプロジェクトOrderBookingCompositeが表示されたSOAコンポジット・エディタを示しています。

図2-1 SOAコンポジット・アプリケーションの新規ワークスペース

図2-1の説明が続きます
「図2-1 SOAコンポジット・アプリケーションの新規ワークスペース」の説明

表2-3で、SOAコンポジット・エディタについて説明します。

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

要素 説明

アプリケーション・ナビゲータ

SOAプロジェクトに含まれている特定のサービス・コンポーネントの主要なファイルが表示されます。

  • composite.xmlファイルは、SOAプロジェクトの作成時に自動的に作成されます。このファイルには、サービス、サービス・コンポーネント、参照およびワイヤのコンポジット構成全体が記述されています。

  • ビジネス・ルール・サービス・コンポーネント・ファイル(rules_name.decs)。追加ビジネス・ルール・ファイルが「Oracle」「rules」サブフォルダ(rules_name.rules)の下に表示されます。

  • Oracle Mediatorサービス・コンポーネント・ファイル(mediator_name.mplan)

  • BPELプロセス・サービス・コンポーネント・ファイル(process_name.bpelおよびprocess_name.wsdl)

  • ヒューマン・タスク・サービス・コンポーネント・ファイル(task_name.task)

  • Springサービス・コンポーネント・ファイル(spring.xml)

  • componentTypeファイルには、各サービス・コンポーネントのサービスおよび参照が記述されています。このファイルにより、コンポーネント間に作成したワイヤリングが機能します。

  • クラス・ファイル、XSD(スキーマ)およびXSL(トランスフォーメーション)の追加サブフォルダ

デザイナ

サービス・コンポーネント、サービスおよび参照を「コンポーネント・パレット」からデザイナ内のコンポジットにドラッグします。サービス・コンポーネントをデザイナ・ウィンドウにドラッグ・アンド・ドロップすると、対応するプロパティ・エディタが起動して、そのサービス・コンポーネントに関連する構成タスクを実行できます。たとえば、Oracle Mediatorサービス・コンポーネントをデザイナにドラッグ・アンド・ドロップすると、メディエータ・エディタが表示され、ここでOracle Mediatorサービス・コンポーネントを構成できます。

後続のすべての編集セッションについて、これらのサービス・コンポーネントをダブルクリックして、それぞれのエディタを再度開きます。

左側のスイムレーン(「公開されたサービス」)

左側のスイムレーンは、WebサービスやJCAアダプタなど、SOAコンポジット・アプリケーションへのエントリ・ポイントを提供するサービス用です。

右側のスイムレーン(「外部参照」)

右側のスイムレーンは、WebサービスやJCAアダプタなど、外部にある外部サービスにメッセージを送信する参照用です。

コンポーネント・パレット

「コンポーネント・パレット」では、SOAコンポジットで使用できる様々なリソースが提供されます。次のサービス・コンポーネントおよびアダプタが含まれます。

  • サービス・コンポーネント

    デザイナにドラッグ・アンド・ドロップできるBPELプロセス、ビジネス・ルール、ヒューマン・タスク、Oracle MediatorおよびSpringコンポーネントが表示されます。

  • サービス・アダプタ

    左側または右側のスイムレーンにドラッグできるJCAアダプタ(AQ、ファイル、FTP、データベース、JMS、MQ、Oracle Applicationsおよびソケット)、Oracle BAMバインディング・コンポーネント、B2Bバインディング・コンポーネント、EJBバインディング・コンポーネント、ADF-BCバインディング・コンポーネント、直接バインディング・コンポーネント、HTTPバインディング・コンポーネントおよびWebサービス・バインディング・コンポーネントが表示されます。

「コンポーネント・パレット」が表示されない場合は、「表示」メイン・メニューから「コンポーネント・パレット」を選択します。

リソース・パレット

「リソース・パレット」には、ローカル・リソースとリモート・リソースの両方を参照できる単一のダイアログが表示されます。たとえば、次のリソースにアクセスできます。

  • スキーマ、WSDL、イベント定義、ビジネス・ルールなどの共有ローカル・アプリケーション・メタデータ。

  • リモート・リソースを使用するWSILブラウザ機能。この機能には、HTTP接続、ファイルURLまたはアプリケーション・サーバー接続からアクセスできます。

  • Universal Description, Discover, and Integration (UDDI)レジストリに登録されているリモート・リソース。

「リソース・パレット」が表示されない場合は、「表示」メイン・メニューから「リソース・パレット」を選択します。

SOAコンポジット・アプリケーション用のこれらのリソースは、「SOAリソース・ブラウザ」ダイアログから選択します。このダイアログには様々な方法でアクセスできます。たとえば、サービス・バインディング・コンポーネントまたはOracle Mediatorサービス・コンポーネントで使用するWSDLファイルを選択した場合、またはBPELプロセスで使用するスキーマ・ファイルを選択した場合に、「SOAリソース・ブラウザ」ダイアログが表示されます。このダイアログの最上部にある「リソース・パレット」をクリックして、使用可能なリソースにアクセスします。

「ログ」ウィンドウ

「ログ」ウィンドウには、アプリケーションのコンパイル、検証およびデプロイメントに関するメッセージが表示されます。

プロパティ・インスペクタ

「プロパティ・インスペクタ」には、選択されているサービス・コンポーネント、サービスまたは参照のプロパティが表示されます。

「プロパティ・インスペクタ」が表示されない場合は、「表示」メイン・メニューから「プロパティ・インスペクタ」を選択します。

アプリケーション・ビュー

アプリケーション・ビューには、SOAコンポジット・アプリケーションのアーチファクトが表示されます。


composite.xmlファイルは、デザイナではタブとして、「アプリケーション・ナビゲータ」ではファイルとして表示されます。このファイルは、新しいSOAプロジェクトの作成時に自動的に作成されます。このファイルには、サービス、サービス・コンポーネントおよび参照のコンポジット構成全体が記述されています。1つのSOAプロジェクトに対して1つのcomposite.xmlファイルがあります。

composite.xmlファイルを使用するには、ほとんどの場合、図2-1に示すようにデザイナ、「構造」ウィンドウおよび「プロパティ・インスペクタ」を使用します。デザイナを使用すると、WYSIWYG環境に多くのファイルを表示できます。さらに、概要エディタにファイルを表示して宣言的に変更したり、ファイルのソース・コードを表示することもできます。「構造」ウィンドウには、現在選択されているファイルの構造が表示されます。このウィンドウでオブジェクトを選択し、選択したオブジェクトのプロパティを「プロパティ・インスペクタ」で編集できます。

2.1.3 SOA-MDS接続によりcomposite.xmlファイルを開く場合の注意事項

Oracle JDeveloperでSOA-MDS接続を作成し、接続を展開し、「リソース・パレット」からコンポジットのcomposite.xmlファイルを開く場合、ファイルは正しくロードできません。コンポジットは「アプリケーション・ナビゲータ」からのみ開いてください。

Oracle Metadata Services(MDS)リポジトリの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

2.2 サービス・コンポーネントの追加

アプリケーションを作成した後は、多くの場合、そのアプリケーションのビジネス・ロジックまたは処理ルールを実装するサービス・コンポーネントを追加します。SOAコンポジット・エディタの「コンポーネント・パレット」を使用して、サービス・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。

2.2.1 サービス・コンポーネントの追加方法

サービス・コンポーネントを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」から「SOA」を選択します。

  2. 「サービス・コンポーネント」リストからコンポーネントをデザイナにドラッグします。

    図2-2に、デザイナに追加されるBPELプロセスを示します。

    図2-2 コンポジットへのBPELプロセスの追加

    図2-2の説明が続きます
    「図2-2 コンポジットへのBPELプロセスの追加」の説明

    選択したサービス・コンポーネントに固有のダイアログが表示されます。表2-4に、使用可能なエディタを示します。

    表2-4 サービス・コンポーネント・エディタの起動

    ドラッグするサービス・コンポーネント 起動する対象

    BPELプロセス

    「BPELプロセスの作成」ダイアログが起動し、一連のビジネス・アクティビティとサービスをエンドツーエンドのプロセス・フローに統合するBPELプロセスを作成できます。

    ビジネス・ルール

    「ビジネス・ルールの作成」ダイアログが起動し、ルールに基づいてビジネス上の意思決定を作成できます。

    ヒューマン・タスク

    「ヒューマン・タスクの作成」ダイアログが起動し、エンドツーエンドのビジネス・プロセス・フローの一部として、ユーザーまたはグループが実行するタスクを説明するワークフローを作成できます。

    メディエータ

    「メディエータの作成」ダイアログが起動し、メッセージおよびイベントのルーティング、フィルタリングおよびトランスフォーメーションを実行するサービスを定義できます。

    Springコンテキスト

    Springの作成ダイアログが起動し、JavaインタフェースをSOAコンポジット・アプリケーションに統合するためのSpringコンテキスト・ファイルを作成できます。


  3. サービス・コンポーネントの設定値を構成します。サービス・コンポーネントのダイアログに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押してください。「終了」をクリックします。

    図2-3は、Fusion Order DemoのWebLogicFusionOrderDemoアプリケーション用にOrderProcessor BPELプロセスを作成するためのデータが入力された「BPELプロセス」ダイアログを示しています。このプロセスは非同期として選択されています。「SOAPサービスとして公開」オプションを選択したため、Oracle JDeveloperではこのサービス・コンポーネントが作成されてインバウンドWebサービスに自動的に接続されます。

    図2-3 「BPELプロセスの作成」ダイアログ

    図2-3の説明が続きます
    「図2-3 「BPELプロセスの作成」ダイアログ」の説明

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

    サービス・コンポーネントがデザイナに表示されます。図2-4に、composite.xmlファイルに追加されたOrderProcessor BPELプロセスを示します。左側のスイムレーンにあるorderprocessor_client_epというSOAPサービス・バインディング・コンポーネントは、外部に対してSOAコンポジット・アプリケーションへのエントリ・ポイントを提供します。「BPELプロセスの作成」ダイアログで「SOAPサービスとして公開」オプションを選択しなかった場合、orderprocessor_client_epサービスは表示されません。後でサービスを追加する方法は、第2.3.1項「サービス・バインディング・コンポーネントの追加方法」で説明します。

    図2-4 コンポジット内のBPELプロセス

    図2-4の説明が続きます
    「図2-4 コンポジット内のBPELプロセス」の説明

    サービス・コンポーネントの内容は、現時点でも後からでも詳細に定義できます。このトップダウンの例では、この時点で内容が定義されます。

  5. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.2.2 サービス・コンポーネントの追加と削除に関する注意事項

サービス・コンポーネントの追加については次の詳細に注意してください。

  • サービス・コンポーネントは、SOAコンポジット・エディタまたは他のコンポーネントのデザイナから作成します。たとえば、ヒューマン・タスク・コンポーネントは、SOAコンポジット・エディタまたはOracle BPELデザイナから作成できます。

  • 「リソース・パレット」は、SOAコンポジット・エディタで定義されているか、デプロイされているサービス・コンポーネントを参照するのに使用します。

サービス・コンポーネントの削除については次の詳細に注意してください。

  • サービス・コンポーネントを削除するには、該当するサービス・コンポーネントを右クリックして、コンテキスト・メニューから「削除」を選択します。

  • サービス・コンポーネントが削除されると、それを示す参照はすべて無効になり、すべてのワイヤは削除されます。サービス・コンポーネントも「アプリケーション・ナビゲータ」から削除されます。

  • 別のサービス・コンポーネント内から作成されたサービス・コンポーネントを削除できます。たとえば、Oracle JDeveloperのBPELプロセス・サービス・コンポーネント内で作成されたヒューマン・タスクは、SOAコンポジット・エディタから削除できます。さらに、タスクへのパートナ・リンクも削除できます。パートナ・リンクを削除すると、その.componentTypeファイルから参照インタフェースが削除され、タスクへのワイヤが削除されます。

2.2.3 サービス・コンポーネントの編集方法

サービス・コンポーネントを編集して、サービス・コンポーネントに関する特定の詳細を定義します。

サービス・コンポーネントを編集する手順は、次のとおりです。

  1. 表2-5に示すように、デザイナで該当するサービス・コンポーネントをダブルクリックして適切なエディタまたはデザイナを表示します。

    表2-5 SOAサービス・コンポーネントのウィザードとダイアログの起動

    ダブルクリックするサービス・コンポーネント 表示対象

    BPELプロセス

    詳細設計のためのOracle BPELデザイナ

    ビジネス・ルール

    詳細設計のためのビジネス・ルール・デザイナ

    ヒューマン・タスク

    詳細設計のためのヒューマン・タスク・エディタ

    メディエータ

    詳細設計のためのOracle Mediatorエディタ

    Springコンテキスト

    詳細設計のためのSpringエディタ


    任意のサービス・コンポーネントからSOAコンポジット・エディタに戻るには、「アプリケーション・ナビゲータ」のcomposite.xmlをダブルクリックするか、デザイナの上のcomposite.xmlをシングルクリックします。

    サービス・コンポーネント・エディタに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押してください。

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

  3. サービス・コンポーネントの設定値を変更します。サービス・コンポーネント・エディタまたはデザイナに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押してください。

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

  5. 「アプリケーション・ナビゲータ」でcomposite.xmlをダブルクリックするか、デザイナの上でcomposite.xmlをシングルクリックします。

    この操作により、SOAコンポジット・エディタに戻ります。

  6. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.3 サービス・バインディング・コンポーネントの追加

SOAコンポジット・アプリケーションへのエントリ・ポイントとして機能するサービス・バインディング・コンポーネントを外部から追加します。

2.3.1 サービス・バインディング・コンポーネントの追加方法


注意:

  • この項では、サービス・バインディング・コンポーネントを手動で作成する方法を説明します。また、サービス・コンポーネントを作成するときに、「SOAPサービスとして公開」を選択すると、サービス・バインディング・コンポーネントを自動的に作成できます。これを選択すると、BPELプロセス、ヒューマン・タスク・サービスまたはOracle Mediatorサービス・コンポーネントに自動的に接続されるインバウンドWebサービス・バインディング・コンポーネントが作成されます。

  • Representational State Transfer(REST)サービスをSOAコンポジット・エディタから起動することはできません。


SOAコンポジット・エディタの「コンポーネント・パレット」を使用して、サービス・バインディング・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。

サービス・バインディング・コンポーネントを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」から「SOA」を選択します。

  2. 「サービス・アダプタ」リストからサービスを左側のスイムレーンにドラッグして、サービス・インタフェースを定義します。

    図2-5に、デザイナに追加されるWebサービスを示します。

    図2-5 コンポジットへのWebサービスの追加

    図2-5の説明が続きます
    「図2-5 コンポジットへのWebサービスの追加」の説明

    選択されているサービス固有のダイアログが表示されます。表2-6は、使用可能なエディタを示しています。

    表2-6 サービス・エディタ

    ドラッグするサービス 起動する対象

    Webサービス

    「Webサービスの作成」ダイアログが起動し、Web呼出しサービスを作成できます。

    アダプタ

    アダプタ構成ウィザードが起動し、サービスを、データベース表、データベース・キュー、ファイル・システム、FTPサーバー、Java Message Services(JMS)、IBM WebSphere MQ、BAMサーバー、ソケットまたはOracle E-Business Suiteアプリケーションと統合できます。

    ADF-BCサービス

    「ADF-BCサービスの作成」ダイアログが起動し、サービス・データ・オブジェクト(SDO)呼出しサービスを作成できます。

    B2B

    B2Bウィザードが起動し、ドキュメント定義を選択できます。

    EJBサービス

    「EJBサービスの作成」が起動し、SDOパラメータまたはJavaインタフェースをEnterprise JavaBeansで使用するためのEnterprise JavaBeansサービスを作成できます。

    HTTPバインディング

    HTTPバインディングの作成ウィザードが起動し、HTTPバインディングを作成できます。このウィザードを使用すると、HTTPのPOSTおよびGET操作からSOAコンポジット・アプリケーションを起動できます。

    直接バインディング

    「直接バインディング・サービスの作成」ダイアログが起動し、インバウンド方向で、SOAコンポジット・アプリケーションを起動し、Remote Method Invocation(RMI)を介してメッセージを交換できます。


  3. サービスの設定値を構成します。サービス・エディタに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押してください。

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

    図2-6は、OrderProcessor BPELプロセス用のorderprocessor_client_epサービスを作成するためにデータが入力された「Webサービス」ダイアログを示しています。

    図2-6 「Webサービスの作成」ダイアログ

    図2-6の説明が続きます
    「図2-6 「Webサービスの作成」ダイアログ」の説明

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

    サービス・バインディング・コンポーネントが左側のスイムレーンに表示されます。図2-7に、composite.xmlファイルに追加されたorderprocessor_client_epサービス・バインディング・コンポーネントを示します。

    図2-7 コンポジット内のWebサービス

    図2-7の説明が続きます
    「図2-7 コンポジット内のWebサービス」の説明

  6. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.3.2 WebサービスのWSDLの追加方法

第2.3.1項「サービス・バインディング・コンポーネントの追加方法」で説明しているように、Webサービスは、SOAコンポジット・アプリケーションに追加できるバインディング・コンポーネントの一種です。WebサービスではWSDLファイルを選択する必要があります。

WebサービスのWSDLを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」で「SOA」を選択します。

  2. 「サービス・アダプタ」リストからWebサービス左側のスイムレーンにドラッグします。

    図2-6に示す「Webサービスの作成」ダイアログが表示されます。

  3. 表2-7に記載されている詳細を入力します。

    表2-7 「Webサービスの作成」ダイアログのフィールドと値

    フィールド

    名前

    サービスの名前を入力します。

    タイプ

    Webサービスに対してタイプ(メッセージの方向)を選択します。Webサービスを左側のスイムレーンにドラッグしているため、「サービス」タイプが正しい選択であり、デフォルトでこのタイプが表示されます。

    • サービス(デフォルト)

      SOAコンポジット・アプリケーションへのエントリ・ポイントを提供するWebサービスを作成します。

    • 参照

      外部にある外部サービスへのアクセスを提供するWebサービスを作成します。

    この例では、SOAコンポジット・アプリケーションへのエントリ・ポイントの作成方法を説明しているため、「サービス」が選択されています。


  4. サービスに対するWSDLファイルを選択します。選択には3種類の方法があります。

    1. 「WSDL URL」フィールドの右側で、最初のアイコンをクリックし、ローカル・ファイル・システムから既存のWSDLファイルを選択します(この例では、「OrderProcessor.wsdl」が選択されています)。ダイアログの最上部にあるリストで「ファイルシステム」が自動的に選択されることに注意してください。図2-8に詳細を示します。

      図2-8 WSDLファイルの選択

      図2-8の説明が続きます
      「図2-8 WSDLファイルの選択」の説明

    2. 図2-9に示すように、「WSDL URL」フィールドの右側で最初のアイコンをクリックし、ダイアログの最上部にあるリストから「リソース・パレット」を選択します。選択すると、他のアプリケーションの既存のWSDLファイルを使用できるようになります。

      図2-9 他のアプリケーションの既存のWSDLファイルの使用

      図2-9の説明が続きます
      「図2-9 他のアプリケーションの既存のWSDLファイルの使用」の説明

    3. 「WSDL URL」フィールドの右側で、2番目のアイコンをクリックすると、スキーマからWSDLファイルが自動生成されます。図2-10は「WSDLの作成」ダイアログを示しています。WSDLファイル名、ディレクトリの場所、ネームスペース、ポート・タイプ、操作名、およびインタフェース・タイプのデフォルト値が表示されます。指定したディレクトリが現在のプロジェクトのサブディレクトリでない場合、警告メッセージが表示されます。指定したディレクトリが存在しない場合、自動作成されます。

      デフォルト値は変更できます。

      図2-10 WSDLファイルの自動生成

      図2-10の説明が続きます
      「図2-10 WSDLファイルの自動生成」の説明

  5. 「入力」表の上の「追加」アイコンをクリックすると、新規WSDLメッセージ・パートを追加するための「メッセージ・パートの追加」ダイアログが表示されます。WSDLファイルに複数のメッセージが含まれる場合、それぞれに1つのメッセージ・パートを追加できます。メッセージ・パートに対して、XMLスキーマの単純型、プロジェクトのスキーマ・ファイルおよびプロジェクトのWSDLファイルを選択できます。

    詳細は、「ヘルプ」をクリックしてください。

  6. 「OK」をクリックして「Webサービスの作成」ダイアログに戻ります。

  7. 表2-8に示す追加詳細をメモします。

    表2-8 「Webサービスの作成」ダイアログのフィールドと値

    フィールド

    ポート・タイプ

    ポート・タイプが表示されます。

    コールバック・ポート・タイプ

    無効。WSDLファイルが同期サービス用であるためです。このフィールドは非同期サービスの場合に有効になります。


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

  9. 「ファイル」メイン・メニューから「すべて保存」を選択します。


    注意:

    • ソース・ビューでWSDLファイルのWSDLの場所を手動で更新しないでください。この操作はサポートされていません。サポートされているのは、設計ビューでの更新のみです。

    • WSDLネームスペースは一意にする必要があります。単にWSDLをコピーして名前変更しないでください。ネームスペースも必ず変更してください。


2.3.3 スキーマの表示方法

インタフェースのWSDLファイルで使用するすべてのスキーマを表示でき、必要な場合は、「インタフェースの更新」ダイアログで、選択されたメッセージ・パートに対する新しいメッセージ・スキーマを選択できます。

スキーマを表示する手順は、次のとおりです。

  1. 特定のバインディング・コンポーネントまたはサービス・コンポーネント上に表示される小さい矢印ハンドルをダブルクリックします。図2-11に詳細を示します。

    図2-11 インバウンド・インタフェース・ハンドルの選択

    図2-11の説明が続きます
    「図2-11 インバウンド・インタフェース・ハンドルの選択」の説明

    図2-12に示す「インタフェースの更新」ダイアログには、WSDLファイルで現在使用されているすべてのスキーマが表示されます。

    図2-12 「インタフェースの更新」ダイアログ

    図2-12の説明が続きます
    「図2-12 「インタフェースの更新」ダイアログ」の説明

  2. 新しいメッセージ・スキーマを選択する方法については、「ヘルプ」をクリックするか、[F1]を押してください。

2.3.4 サービス・バインディング・コンポーネントの編集方法

最初にサービスを作成し、後でその内容を編集することもできます。コンポーネントのアイコンをダブルクリックすると、適切なエディタまたはウィザードが表示されます。表2-9に概要を示します。

表2-9 サービスのウィザードとダイアログの起動

ダブルクリックするサービス 次の操作

Webサービス

「サービスの更新」ダイアログが表示されます。

アダプタ

アダプタ構成ウィザードに再入力します。

ADF-BCサービス

「サービスの更新」ダイアログが表示されます。

B2B

B2Bウィザードに再入力します。

EJBサービス

「サービスの更新」ダイアログが表示されます。

HTTPバインディング

HTTPバインディング・ウィザードに再入力します。

直接バインディング

「サービスの更新」ダイアログに再入力します。


2.3.5 サービスの追加と削除に関する注意事項

サービスの追加については次の詳細に注意してください。

  • サービス・コンポーネントに新しいサービスが追加されると、そのサービス・コンポーネントには、メタデータを適切に変更できるように通知されます。たとえば、新しいサービスがBPELサービス・コンポーネントに追加されると、そのBPELサービス・コンポーネントには、receiveまたはon-messageアクティビティに接続可能なパートナ・リンクを作成するように通知されます。

サービスの削除については次の詳細に注意してください。

  • サービス・コンポーネントにより提供されているサービスが削除されると、そのサービス・コンポーネントに対するすべての参照が無効となり、ワイヤが削除されます。

2.4 参照バインディング・コンポーネントの追加

参照バインディング・コンポーネントを追加します。このコンポーネントは、外部にある外部サービスにメッセージを送信するためのSOAコンポジット・アプリケーションを有効にします。

2.4.1 参照バインディング・コンポーネントの追加方法

SOAコンポジット・エディタの「コンポーネント・パレット」を使用して、参照バインディング・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。

参照バインディング・コンポーネントを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」から「SOA」を選択します。

  2. 「サービス・アダプタ」リストからサービスを右側のスイムレーンにドラッグします。

    図2-13に、デザイナに追加されるWebサービスを示します。

    図2-13 コンポジットへのWebサービスの追加

    図2-13の説明が続きます
    「図2-13 コンポジットへのWebサービスの追加」の説明

    選択されている参照固有のダイアログまたはウィザードが表示されます。表2-10は、使用可能なエディタを示しています。

    表2-10 参照エディタ

    ドラッグするサービス 起動する対象

    Webサービス

    「Webサービスの作成」ダイアログが起動し、Web呼出しサービスを作成できます。

    アダプタ

    アダプタ構成ウィザードが起動し、サービスを、データベース表、データベース・キュー、ファイル・システム、FTPサーバー、Java Message Services(JMS)、IBM WebSphere MQ、BAMサーバー、ソケットまたはOracle E-Business Suiteアプリケーションと統合できます。

    ADF-BCサービス

    「ADF-BCサービスの作成」ダイアログが起動し、サービス・データ・オブジェクト(SDO)呼出しサービスを作成できます。

    B2B

    B2Bウィザードが起動し、ドキュメント定義を選択できます。

    EJBサービス

    「EJBサービスの作成」ダイアログが起動し、SDOパラメータをEnterprise JavaBeansで使用するためのEnterprise JavaBeansサービスを作成できます。

    HTTPバインディング

    HTTPバインディングの作成ウィザードが起動し、HTTPバインディングを作成できます。このウィザードを使用すると、HTTPのPOSTおよびGET操作からSOAコンポジット・アプリケーションを起動したり、HTTPのPOSTおよびGET操作からHTTPエンドポイントを起動できます。

    直接バインディング

    「直接バインディング・サービスの作成」ダイアログが起動し、Oracle Service Bus(OSB)フローまたは別のSOAコンポジット・アプリケーションを起動できます。


  3. 参照バインディング・コンポーネントの設定値を構成します。参照エディタに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押してください。

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

    図2-14は、参照を作成するためにデータが入力された「Webサービスの作成」ダイアログを示しています。

    図2-14 「Webサービスの作成」ダイアログ

    図2-14の説明が続きます
    「図2-14 「Webサービスの作成」ダイアログ」の説明

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

    参照バインディング・コンポーネントが右側のスイムレーンに表示されます。図2-15に、SOAコンポジット・アプリケーションに追加されたStoreFrontService参照を示します。

    図2-15 コンポジット内のWebサービス

    図2-15の説明が続きます
    「図2-15 コンポジット内のWebサービス」の説明

  6. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.4.2 参照の追加と削除に関する注意事項

参照の追加については次の詳細に注意してください。

  • SOAコンポジット・エディタに新しい参照を追加する唯一の方法は、必要なターゲット・サービス・コンポーネントにサービス・コンポーネントを接続することです。新しい参照が追加されると、メタデータを適切に変更できるように、サービス・コンポーネントに通知されます。たとえば、参照がBPELサービス・コンポーネントに追加されると、BPELサービス・コンポーネントにパートナ・リンクを追加するように通知されます。このパートナ・リンクはinvokeアクティビティで使用可能です。

参照の削除については次の詳細に注意してください。

  • サービス・コンポーネントに対する参照が削除されると、関連付けられているワイヤも削除され、メタデータを更新できるようにサービス・コンポーネントに通知されます。たとえば、参照がBPELサービス・コンポーネントから削除されると、そのBPELメタデータにあるパートナ・リンクを削除するようにサービス・コンポーネントに通知されます。

  • ワイヤに接続されている参照を削除すると、その参照とワイヤも消去されます。

2.4.3 WSDL参照に関する注意事項

WSDLファイルは、WSDLを含む新規コンポーネント(例: サービス・バインディング・コンポーネント、Oracle MediatorやBPELプロセスなどのサービス・コンポーネント、または参照バインディング・コンポーネント)を作成するたびにSOAコンポジット・アプリケーションに追加されます。コンポーネントを削除すると、そのコンポーネントで使用されていたWSDLインポートは、別のコンポーネントで使用されていない場合にのみ削除されます。WSDLインポートは、そのWSDLインポートを使用していた最後のコンポーネントが削除されると常に削除されます。

サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントが新しいWSDLを使用するように更新されると、インタフェースが削除されて新しいインタフェースが追加されたかのように処理されます。したがって、古いWSDLインポートは、別のコンポーネントで使用されていない場合のみ削除されます。

サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントが新しい場所から同じWSDL(porttype qname)を使用するように更新されると、WSDLインポートおよび他のすべてのWSDL参照(例: 外部参照WSDLをインポートするBPELプロセスWSDL)は新しい場所を参照するように自動的に更新されます。

composite.xmlファイルのインポートのソース・ビューで単にWSDLの場所を変更するだけでは不十分です。メタデータ内にはユーザー・インタフェースで必要なWSDL参照があります(コンポジットおよびcomponentTypeのサービスと参照のui:wsdlLocation属性を参照)。また、実行時に必要なWSDL参照もあります(例: BPELプロセスWSDLなど別のWSDLをインポートするWSDL)。

WSDLの場所は常に、WSDLの場所が指定されたSOAコンポジット・エディタのダイアログ(例: Webサービス、BPELパートナ・リンクなど)で変更してください。URLのホスト・アドレスを変更すると、SOAコンポジット・エディタはすべてのWSDL参照を自動的に更新します。

2.4.4 WSDLファイルでのメッセージ・タイプの混在に関する注意事項

BPELプロセスで、WSDLファイルに複数のWSDLメッセージが宣言され、その他のメッセージにはパートがなんらかの要素となるよう定義されているのに対し、1つ以上のメッセージにそのパートがなんらかのタイプとなるよう定義されている場合、実行時の動作が予測不可能となる可能性があります。これは、これらのWSDLにタイプの混在したメッセージが含まれると見なされるためです。たとえば、assignアクティビティ内に複数のコピー・アクションがあるとします。これらのコピー・アクションでは、次の複数のパートを持つ出力変数の移入が試行されます。

  • パート1はxsd:stringタイプとして宣言されています。

  • パート2はxsd:intタイプとして宣言されています。

  • パート3はカスタム設計の複雑なタイプの要素として宣言されています。

この動作はサポートされていません。

2.4.5 コンポジットのデフォルト・リビジョンの起動に関する注意事項

リビジョン番号を含まないWSDL URLは、デフォルトのコンポジット・アプリケーションによって処理されます。このため、コール元のコンポジットを変更せずに、コール先サービスのデフォルト・リビジョンを常にコールできます。

Oracle JDeveloperの「リソース・パレット」で使用するデフォルトのWSDLを選択します。

  1. 「Webサービスの作成」ダイアログで、「WSDL URL」フィールドの右側にあるアイコンをクリックして「SOAリソース・ブラウザ」ダイアログを起動します。

  2. 上部にあるリストから「リソース・パレット」を選択します。

  3. アプリケーション・サーバー接続またはWSIL接続の下にあるノードを展開し、すべてのデプロイ済コンポジットとリビジョンを表示します。デフォルトのバージョンには、タイトルに「デフォルト」という語が表示されます。たとえば、OrderBookingComposite [デフォルト]と表示されます。

  4. 適切なデフォルトのエンドポイントを選択し、「OK」をクリックします。

2.5 ワイヤの追加

サービス、サービス・コンポーネントおよび参照を接続します。この例では、Webサービスとサービス・コンポーネントを接続します。次の点に注意してください。

2.5.1 サービスとサービス・コンポーネントの接続方法

SOAコンポジット・エディタで、サービス・バインディング・コンポーネントをサービス・コンポーネントに接続できます。

サービスとサービス・コンポーネントを接続する手順は、次のとおりです。

  1. 図2-17に示すように、サービス参照ハンドルからワイヤをサービス・コンポーネント・インタフェースにドラッグします。

    図2-17 ワイヤ接続

    図2-17の説明が続きます
    「図2-17 ワイヤ接続」の説明

  2. サービス・コンポーネントがBPELプロセスの場合は、そのBPELプロセスをダブルクリックすると、図2-18に示すように、左側のスイムレーンにパートナ・リンクとしてサービスが表示されることに注意してください。

    図2-18 BPELプロセスにおけるパートナ・リンクとしてのサービスの表示

    図2-18の説明が続きます
    「図2-18 BPELプロセスにおけるパートナ・リンクとしてのサービスの表示」の説明

  3. 「ファイル」メイン・メニューから「すべて保存」を選択します。

2.5.2 サービス・コンポーネントと参照の接続方法

SOAコンポジット・エディタで、サービス・コンポーネントを参照バインディング・コンポーネントに接続できます。

サービス・コンポーネントと参照を接続する手順は、次のとおりです。

  1. 「アプリケーション・ナビゲータ」でcomposite.xmlをダブルクリックするか、デザイナの上でcomposite.xmlをシングルクリックします。

  2. 図2-19に示すように、サービス・コンポーネントからワイヤを参照にドラッグします。

    図2-19 サービス・コンポーネントと参照のワイヤリング

    図2-19の説明が続きます
    「図2-19 サービス・コンポーネントと参照のワイヤリング」の説明

  3. サービス・コンポーネントがBPELプロセスの場合は、そのBPELプロセスをダブルクリックすると、図2-20に示すように、右側のスイムレーンにパートナ・リンクとして参照が表示されることに注意してください。

    図2-20 BPELプロセスにおけるパートナ・リンクとしての参照の表示

    図2-20の説明が続きます
    「図2-20 BPELプロセスにおけるパートナ・リンクとしての参照の表示」の説明

  4. 「ファイル」メイン・メニューから「すべて保存」を選択します。

  5. 「アプリケーション・ナビゲータ」で、composite.xmlファイルを選択します。

  6. 「ソース」タブをクリックして、作成した内容を確認します。

    orderprocessor_client_epサービス・バインディング・コンポーネントは、例2-1に示すように、コンポジットへのエントリ・ポイントを提供します。

    例2-1 サービス

    <service name="orderprocessor_client_ep"    
             ui:wsdlLocation="oramds:/apps/FusionOrderDemoShared
    /services/orderbooking/OrderBookingProcessor.wsdl">
        <interface.wsdl interface= "http://www.globalcompany.example.com/ns
    /OrderBookingService#wsdl.interface(OrderProcessor)"
        <binding.adf serviceName="OrderProcessorService" registryName=""/>
        <callback>
          <binding.ws port="http://www.globalcompany.example.com/ns
    /OrderBookingService#wsdl.endpoint(orderprocessor_clientep/OrderProcessorCallback_
    pt)"/>
        </callback>
      </service>
    

    例2-2に、OrderProcessor BPELプロセス・サービス・コンポーネントを示します。

    例2-2 サービス・コンポーネント

    <component name="OrderProcessor">
       <implementation.bpel src="OrderProcessor.bpel"/>
    </component>
    

    例2-3に、StoreFrontServiceという名前の参照バインディング・コンポーネントを示します。この参照は、外部にある外部サービスへのアクセスを提供します。

    例2-3 参照

      <reference name="StoreFrontService"
                 ui:wsdlLocation="oramds:/apps/FusionOrderDemoShared
    /services/oracle/fodemo/storefront/store/service/common/serviceinterface/StoreFron
    tService.wsdl">
        <interface.wsdl
     interface="www.globalcompany.example.com#wsdl.interface(StoreFrontService)"/>
        <binding.ws
    port="www.globalcompany.example.com#wsdl.endpoint(StoreFrontService/StoreFrontServ
    iceSoapHttpPort)"
                    location="oramds:/apps/FusionOrderDemoShared/services/oracle/fodemo/storefront/sto
    re/service/common/serviceinterface/StoreFrontService.wsdl"/>
      </reference>
    

    例2-4では、サービス・コンポーネント間の通信(ワイヤリング)が次のように記述されています。

    • ソースのorderprocessor_client_epサービス・バインディング・コンポーネントは、ターゲットのOrderProcessor BPELプロセス・サービス・コンポーネントに接続されています。ワイヤリングにより、この特定のBPELプロセスとWebサービス・メッセージ通信ができます。

    • ソースのOrderProcessor BPELプロセスは、ターゲットのStoreFrontService参照バインディング・コンポーネントに接続されています。これは、外部にある外部サービスへの参照です。

    例2-4 ワイヤ

      <wire>
        <source.uri>orderprocessor_client_ep</source.uri>
        <target.uri>OrderProcessor/orderprocessor_client_ep</target.uri>
      </wire>
    
      <wire>
        <source.uri>OrderProcessor/StoreFrontService</source.uri>
        <target.uri>StoreFrontService</target.uri>
      </wire>
    

2.5.3 ワイヤの追加と削除に関する注意事項

ワイヤの追加については次の詳細に注意してください。

  • サービス・コンポーネントの参照がターゲット・サービス・コンポーネントのサービスと一致する場合、サービス・コンポーネントは別のサービス・コンポーネントに接続できます。一致するという意味は、同じインタフェースとコールバック・インタフェースであることに注意してください。

  • 2つのOracle Mediatorサービス・コンポーネント間に次のワイヤリングを追加すると、無限ループが発生します。

    • ビジネス・イベントを作成した場合

    • Oracle Mediatorサービス・コンポーネントを作成し、イベントをサブスクライブした場合

    • 2番目のOracle Mediatorサービス・コンポーネントを作成し、同じイベントを公開した場合

    • 最初のOracle Mediatorを2番目のOracle Mediatorコンポーネント・サービスに接続した場合

    2つのOracle Mediator間のワイヤを削除すると、すべてのメッセージについて、2番目のOracle Mediatorはイベントを公開でき、最初のOracle Mediatorはそのイベントをサブスクライブできます。

ワイヤの削除については次の詳細に注意してください。

  • ワイヤが削除されると、コンポーネントのアウトバウンド参照は自動的に削除され、クリーン・アップ(パートナ・リンクの削除、ルーティング・ルールの消去など)が可能であることがコンポーネントに通知されます。ただし、コンポーネントのインタフェースは削除されません。Oracle SOA Suiteのすべてのサービスは、WSDLインタフェースで定義されます。コンポーネントのインタフェースが定義されると、SOAコンポジット・エディタでサービス・インタフェースが自動的に削除されることはありません。

    サービスのWSDLインタフェースを変更する必要がある場合は、次のような回避策があります。

    • ほとんどの場合、変更が必要なのはインバウンド・サービス定義ではなくスキーマです。SOAコンポジット・エディタで、WSDLを使用するインタフェース・アイコンをクリックします。たとえば、Webサービス・インタフェース・アイコンやOracle Mediatorサービス・アイコンをクリックします。この結果、「インタフェースの更新」ダイアログが起動し、このダイアログでWSDLメッセージのスキーマを変更できます。

    • Oracle Mediatorサービス・コンポーネントを使用している場合は、Oracle Mediatorエディタの「WSDLからの操作のリフレッシュ」アイコンを使用して、(新しい操作を追加した後に)Oracle Mediator WSDLをリフレッシュまたは置換できます。ただし、現在の操作を削除しようとすると警告が表示されます。このアイコンを使用してWSDLを新規インバウンド・サービスWSDLに変更すると、インタフェースが変更されるため、通常は接続が切断されます。その後に、Oracle Mediatorを新規サービスに接続します。

    • 多くの場合、新規サービスでは完全に新しいOracle Mediatorが必要です。古いOracle Mediatorを削除し、新しいOracle Mediatorを作成して新規サービスに接続します。

    • BPELプロセス・サービス・コンポーネントを使用している場合は、「パートナ・リンクの編集」ダイアログで新規のWSDLを選択します。

    「インタフェースの更新」ダイアログの詳細は、第2.3.3項「スキーマの表示方法」を参照してください。

2.6 セキュリティの追加

SOAコンポジット・アプリケーションを作成する際に、サービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントにポリシーを添付してWebサービスを保護できます。ポリシーの実装方法の詳細は、第39章「ポリシーを使用したセキュリティの有効化」を参照してください。

2.7 SOAコンポジット・アプリケーションのデプロイ

SOAコンポジット・アプリケーションのデプロイには、Oracle WebLogic Serverへの接続の作成、およびOracle WebLogic Server管理対象サーバーへのSOAコンポジット・アプリケーションのアーカイブのデプロイも含まれます。SOAコンポジット・アプリケーションのデプロイ方法の詳細は、第40章「SOAコンポジット・アプリケーションのデプロイ」を参照してください。

2.7.1 デプロイ済のコンポジットの起動方法

SOAコンポジット・アプリケーションから、デプロイ済の他のSOAコンポジット・アプリケーションを起動できます。他のアプリケーションはデプロイ済である必要があります。

他のコンポジットを起動する手順は、次のとおりです。

  1. 次のいずれかの方法を使用して、Webサービスまたはパートナ・リンクを作成します。

    1. SOAコンポジット・エディタで、「コンポーネント・パレット」から「外部参照」スイムレーンに「Webサービス」をドラッグします。

    2. Oracle BPELデザイナで、「コンポーネント・パレット」から右側のスイムレーンに「パートナ・リンク」をドラッグします。

  2. 作成したサービスのタイプに基づいて「SOAリソース・ブラウザ」ダイアログにアクセスします。

    1. 「Webサービスの作成」ダイアログの場合は、「既存のWSDLを検索します。」アイコンをクリックします。

    2. 「パートナ・リンクの編集」ダイアログの場合は、「SOAリソース・ブラウザ」アイコンをクリックします。

  3. 上部のリストから「リソース・パレット」を選択します。

  4. ツリーを展開して、SOAコンポジット・アプリケーションがデプロイされたOracle WebLogic管理サーバーへのアプリケーション・サーバー接続を表示します。

  5. アプリケーション・サーバー接続を展開します。

  6. 「SOA」フォルダを展開します。図2-21に詳細を示します。

    図2-21 SOAコンポジット・アプリケーションの参照

    図2-21の説明が続きます
    「図2-21 SOAコンポジット・アプリケーションの参照」の説明

  7. コンポジット・サービスを選択します。

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

2.8 SOAコンポジット・アプリケーションの管理とテスト

SOAコンポジット・アプリケーションを作成してデプロイした後は、Oracle JDeveloperとOracle Enterprise Manager Fusion Middleware Controlを組み合せて使用して、そのSOAコンポジット・アプリケーションを管理およびテストします。

2.8.1 デプロイ済のコンポジットの管理方法

Oracle JDeveloperの「アプリケーション・サーバー・ナビゲータ」から、デプロイ済のSOAコンポジット・アプリケーションを管理できます。管理タスクは、SOAコンポジット・アプリケーションの各リビジョンのアンデプロイ、アクティブ化、リタイア、開始および停止で構成されます。


注意:

ここで説明する手順は、SOAインフラストラクチャがデプロイされたOracle WebLogic管理サーバーへのアプリケーション・サーバー接続が作成済であることを前提にしています。Oracle WebLogic管理サーバーへの接続を作成すると、管理対象およびクラスタ化されたOracle WebLogic Serverを同じドメインで参照できます。「ファイル」メイン・メニューから、「新規」「接続」「アプリケーション・サーバー接続」の順に選択して、接続を作成します。

  1. 「表示」メイン・メニューから、「アプリケーション・サーバー・ナビゲータ」を選択します。

  2. 接続名を展開します(この例では「MyConnection」)。

    図2-22に示すように、「SOA」フォルダが表示されます。「SOA」フォルダには、デプロイ済のSOAコンポジット・アプリケーションのリビジョンとサービスがすべて表示されます。これにより、すべてのOracle WebLogic管理サーバー、管理対象のOracle WebLogic Serverおよびクラスタ化されたOracle WebLogic Serverにデプロイされたすべてのアプリケーションを同じドメインで参照できます。図2-22に詳細を示します。

    図2-22 アプリケーション・サーバー・ナビゲータ

    図2-22の説明が続きます
    「図2-22 アプリケーション・サーバー・ナビゲータ」の説明

  3. 「SOA」フォルダを展開します。

  4. コンポジット・アプリケーションがデプロイされたパーティションを展開します。

    図2-23に示すように、デプロイ済のSOAコンポジット・アプリケーションとサービスが表示されます。

    図2-23 デプロイ済のSOAコンポジット・アプリケーション

    図2-23の説明が続きます
    「図2-23 デプロイ済のSOAコンポジット・アプリケーション」の説明

  5. デプロイ済のSOAコンポジット・アプリケーションを右クリックします。

  6. 実行するオプションを選択します。選択項目として表示されるオプションは、アプリケーションの現在の状態に基づいています。表2-11に詳細を示します。

    表2-11 SOAコンポジット・アプリケーションのオプション

    オプション 説明

    停止

    実行中のSOAコンポジット・アプリケーションのリビジョンを停止します。コンポジットが停止すると、そのコンポジットへのリクエスト(開始またはコールバック)はすべて却下されます。

    注意: 使用するバインディング・コンポーネントによって動作が異なります。たとえば、Webサービス・リクエストの場合は、却下されてコール元に戻されます。また、JCAアダプタ・バインディング・コンポーネントの場合も動作が異なる場合があります(たとえば、リクエストは却下表に格納されます)。

    このオプションは、コンポジット・アプリケーションが開始済の場合に表示されます。

    開始

    停止したコンポジット・アプリケーションのリビジョンを再起動します。これにより、新規リクエストを処理できるようになります(却下されません)。メッセージのリカバリは発生しません。

    このオプションは、コンポジット・アプリケーションが停止済の場合に表示されます。

    リタイア

    選択したコンポジットのリビジョンをリタイア状態にします。プロセスのライフ・サイクルがリタイア状態の場合、新しいインスタンスは作成できません。既存のインスタンスは正常に完了できます。

    コンポジット・アプリケーションへの開始リクエストは、却下されてクライアントに戻されます。様々なバインディング・コンポーネントの却下時の動作は、停止オプションの場合と同様です。

    開始済のコンポジット・アプリケーション・インスタンスへのコールバックは、適切に配信されます。

    このオプションは、コンポジット・アプリケーションがアクティブの場合に表示されます。

    アクティブ化

    リタイア状態のコンポジット・アプリケーションのリビジョンをアクティブ化します。このオプションを使用する場合は、次の動作に注意してください。

    • すべてのコンポジット・アプリケーションは、デプロイされると自動的にアクティブになります。

    • 新たにデプロイしたコンポジット・アプリケーションの他のリビジョンは、アクティブのままです(つまり、自動的にリタイア状態になりません)。必要な場合は、明示的にリタイア状態にする必要があります。

    このオプションは、アプリケーションがリタイア状態の場合に表示されます。

    アンデプロイ

    選択したコンポジット・アプリケーションのリビジョンをアンデプロイします。このアクションを実行すると、次のような結果になります。

    • コンポジット・アプリケーションのこのリビジョンを構成したり監視できなくなります。

    • コンポジット・アプリケーションのこのリビジョンのインスタンスを処理できなくなります。

    • 以前に完了したプロセスを表示できなくなります。

    • 現在実行中のインスタンスの状態は「失効」に変更され、このコンポジットに送信した新規メッセージは処理されません。

    • コンポジット・アプリケーションのデフォルト・リビジョン(たとえば、2.0)をアンデプロイすると、そのコンポジット・アプリケーションで次に使用可能なリビジョン(たとえば、1.0)がデフォルトになります。

    デフォルトのリビジョンの設定

    選択したコンポジット・アプリケーションのリビジョンをデフォルトに設定します。


  7. デプロイメント・プロファイルが含まれるビルトインのSOAコンポジット・アプリケーション・アーカイブをデプロイする場合、SOAフォルダを右クリックし、「SOAアーカイブのデプロイ」を選択します。このアーカイブは単一アプリケーションのJARファイルまたは複数のアプリケーションが含まれるSOAバンドルZIPファイルで構成されます。

    次を選択するように求めるプロンプトが表示されます。

    • SOAコンポジット・アプリケーションのアーカイブをデプロイするターゲットSOAサーバー。

    • デプロイするアーカイブ。

    • アプリケーションに添付する構成プラン。通常、プロジェクトをある環境から別の環境に(たとえば、テスト環境から本番環境に)移動する場合は、JDBC接続文字列や様々なサーバーのホスト名など、環境固有の値をいくつか変更する必要があります。これらの値は、構成プランと呼ばれる単一のテキスト(XML)ファイルを使用して変更できます。構成プランは、Oracle JDeveloperまたはコマンドラインから作成します。プロセスのデプロイメント時に、構成プランを使用してSOAプロジェクトを検索し、プロジェクトを次に進むターゲット環境に適応させるために置換する必要がある値を検索します。これはオプションです。

    • 同じリビジョンIDを持つ既存のコンポジットを上書きするかどうか。これにより、アプリケーションのリビジョンを再デプロイできます。

    図2-24に詳細を示します。

    図2-24 「SOAアーカイブのデプロイ」ダイアログ

    図2-24の説明が続きます
    「図2-24 「SOAアーカイブのデプロイ」ダイアログ」の説明

詳細は、次のドキュメントを参照してください。

  • デプロイメント・プロファイルおよび構成プランの作成方法、および既存のSOAアーカイブのデプロイ方法の詳細は第40章「SOAコンポジット・アプリケーションのデプロイ」

  • Oracle Enterprise Manager Fusion Middleware Controlからデプロイ済SOAコンポジット・アプリケーションを管理する方法については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

2.8.2 デプロイ済のコンポジットのテスト方法

SOAコンポジット・アプリケーションをデプロイすると、Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページからそのテスト・インスタンスを開始して、XMLペイロード・データを検証することができます。テスト・インスタンスの開始方法の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

テスト・インスタンスの作成に加えて、本番環境へのデプロイメントの前に、SOAコンポジット・アプリケーションとWebサービス・パートナ間の相互作用をシミュレートできます。これにより、本番環境へのデプロイメント準備が完了するまでに、プロセスとWebサービス・パートナの相互作用が期待どおりであるかを確認できます。ユニット・テストの作成方法の詳細は、第41章「SOAコンポジット・アプリケーションのテストの自動化」を参照してください。