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

前
 
次
 

A BPELプロセスのアクティビティとサービス

この付録では、SOAコンポジット・アプリケーションでBPELプロセスを設計する際に使用するアクティビティとサービスについて説明します。

項目は次のとおりです。

A.1項 アクティビティおよびコンポーネントの概要

Oracle BPELデザイナの「コンポーネント・パレット」で「SOAコンポーネント」を開くと、サービス・コンポーネントが表示されます。図A-1に、BPEL 1.1プロセスで表示されるコンポーネントを示します。BPEL 2.0プロセスで表示されるコンポーネントも同じです。

図A-1 SOAコンポーネント

図A-1の説明が続きます
「図A-1 SOAコンポーネント」の説明

詳細は、次の各項を参照してください。

A.2 BPEL1.1および2.0アクティビティの概要

この項では、BPELアクティビティの概要を紹介し、それらのアクティビティの使用方法が説明されているドキュメントを参照先として示します。

Oracle BPELデザイナには、BPELプロセスに追加できるBPEL 1.1およびBPEL 2.0アクティビティが用意されています。これらのアクティビティを使用すると、プロセス内で特定のタスクを実行できます。一部のアクティビティはBPEL 1.1とBPEL 2.0のどちらでも使用できます。その他はBPEL 1.1かBPEL 2.0の一方でのみ使用できます。

これらのアクティビティにアクセスするには、Oracle BPELデザイナの「コンポーネント・パレット」に移動します。アクティビティは、2つのカテゴリのいずれかの下に表示されます。

表A-1に、使用可能なアクティビティを示します。

表A-1 BPEL 1.1とBPEL 2.0のコンストラクトおよび拡張

アクティビティ 上位のカテゴリ BPEL 1.1でサポートされているか BPEL 2.0でサポートされているか 参照先

Assign

BPELコンストラクト

はい

はい

A.2.2項「Assignアクティビティ」


Assert

Oracle Extensions

はい

いいえ

A.2.3項「Assertアクティビティ」


Bind Entity

Oracle Extensions

はい

いいえ

A.2.4項「Bind Entityアクティビティ」


Compensate

BPELコンストラクト

はい

はい

A.2.5項「Compensateアクティビティ」


CompensateScope

BPELコンストラクト

いいえ

はい

A.2.6項「CompensateScopeアクティビティ」


Create Entity

Oracle Extensions

はい

いいえ

A.2.7項「Create Entityアクティビティ」


Dehydrate

Oracle Extensions

はい

はい

A.2.8項「Dehydrateアクティビティ」


Email

Oracle Extensions

はい

はい

A.2.9項「Emailアクティビティ」


Empty

BPELコンストラクト

はい

はい

A.2.10項「Emptyアクティビティ」


Exit

BPELコンストラクト

いいえ

はい

注意: BPEL 2.0ではterminateアクティビティから置き換わります。

A.2.11項「Exitアクティビティ」


Flow

BPELコンストラクト

はい

はい

A.2.12項「Flowアクティビティ」


FlowN

Oracle Extensions

はい

いいえ

注意: BPEL 2.0ではforEachアクティビティに置き換わります。

A.2.13項「FlowNアクティビティ」


forEach

BPELコンストラクト

いいえ

はい

注意: BPEL 2.0ではFlowNアクティビティから置き換わります。

A.2.14項「forEachアクティビティ」


If

BPELコンストラクト

いいえ

はい

注意: BPEL 2.0ではswitchアクティビティから置き換わります。

A.2.15項「Ifアクティビティ」


IM

Oracle Extensions

はい

はい

A.2.16項「IMアクティビティ」


Invoke

BPELコンストラクト

はい

はい

A.2.17項「Invokeアクティビティ」


Java Embedding

Oracle Extensions

はい

はい

A.2.18項「Java Embeddingアクティビティ」


Partner Link

BPELコンストラクト

はい

はい

A.2.19項「Partner Linkアクティビティ」


Phase

Oracle Extensions

はい

はい

A.2.20項「Phaseアクティビティ」


Pick

BPELコンストラクト

はい

はい

A.2.21項「Pickアクティビティ」


Receive

BPELコンストラクト

はい

はい

A.2.22項「Receiveアクティビティ」


Receive Signal

Oracle Extensions

はい

はい

A.2.23項「Receive Signalアクティビティ」


Remove Entity

Oracle Extensions

はい

いいえ

A.2.24項「Remove Entityアクティビティ」


RepeatUntil

BPELコンストラクト

いいえ

はい

A.2.25項「RepeatUntilアクティビティ」


Replay

Oracle Extensions

はい

はい

A.2.26項「Replayアクティビティ」


Reply

BPELコンストラクト

はい

はい

A.2.27項「Replyアクティビティ」


Rethrow

BPELコンストラクト

いいえ

はい

A.2.28項「Rethrowアクティビティ」


Scope

BPELコンストラクト

はい

はい

A.2.29項「Scopeアクティビティ」


Sequence

BPELコンストラクト

はい

はい

A.2.30項「Sequenceアクティビティ」


Signal

Oracle Extensions

はい

はい

A.2.31項「Signalアクティビティ」


SMS

Oracle Extensions

はい

はい

A.2.32項「SMSアクティビティ」


Switch

BPELコンストラクト

はい

いいえ

注意: BPEL 2.0ではIfアクティビティに置き換わります。

A.2.33項「Switchアクティビティ」


Terminate

BPELコンストラクト

はい

いいえ

注意: BPEL 2.0ではExitアクティビティに置き換わります。

A.2.34項「Terminateアクティビティ」


Throw

BPELコンストラクト

はい

はい

A.2.35項「Throwアクティビティ」


Transform

Oracle Extensions

はい

はい

A.2.36項「Transformアクティビティ」


User Notification

Oracle Extensions

はい

はい

A.2.37項「User Notificationアクティビティ」


Validate

Oracle Extensions (BPEL 1.1)

BPELコンストラクト(BPEL 2.0)

はい

はい

A.2.38項「Validateアクティビティ」


Voice

Oracle Extensions

はい

はい

A.2.39項「Voiceアクティビティ」


Wait

BPELコンストラクト

はい

はい

A.2.40項「Waitアクティビティ」


While

BPELコンストラクト

はい

はい

A.2.41項「Whileアクティビティ」



アクティビティの詳細は、次のURLにアクセスして、Business Process Execution Language for Web Services SpecificationまたはWeb Services Business Process Execution Language Specification Version 2.0を参照してください。

http://www.oasis-open.org

A.2.1 多くのアクティビティに共通のタブ

アクティビティはそれぞれ特定のタスクを実行しますが、同様のタスクを実行できるタブが多くのアクティビティに用意されています。この項では、これらの共通タブについて説明します。

A.2.1.1 「注釈」タブ

「注釈」タブはすべてのアクティビティで表示され、コードへのコメントや名前と値のペアの割当てという形でアクティビティを説明するために使用できます。

「注釈」タブには、注釈の順序を変更するための方法が用意されていません。解決策として、Oracle BPELデザイナでプロジェクトのBPELファイルの「ソース」ビューを使用して注釈の順序を変更します。

A.2.1.2 「アサーション」タブ

「アサーション」タブは、invoke、receive、replyの各アクティビティと、pickおよびscopeアクティビティのonMessageブランチで表示されます。これらのアクティビティでのリクエスト/レスポンス操作時にコールバック・メッセージを受信すると、一連のアサーションが実行されます。アサーションには、falseと評価された場合にアクティビティからBPELフォルトをスローするXPath式を指定します。この機能は、パートナ・コールバック後に多数のswitch、assignおよびthrowアクティビティを使用する可能性がある場合の代替手段として提供されています。


注意:

このタブは、BPEL 1.1プロジェクトでのみ使用できます。

詳細は、このタブのオンライン・ヘルプと、第11.14項「アサーション条件によるフォルトのスロー」を参照してください。

A.2.1.3 「相関」タブ

「相関」タブは、invoke、receive、replyの各アクティビティ、pickアクティビティのonMessageブランチ、およびscopeアクティビティのonMessage変数で表示されます。相関セットを使用すると、サービス・インスタンスにおける操作の相関グループを明示的に指定できるため、プロセスとそのパートナ間の複雑な相互作用の処理が可能になります。相関トークンのセットは、相関グループのすべてのメッセージで共有されるプロパティのセットとして定義されます。

詳細は、このタブのオンライン・ヘルプと、第8.5項「非同期サービスでの相関セットの使用」を参照してください。

A.2.1.4 「ドキュメント」タブ

「ドキュメント」タブでは、BPELファイルのアクティビティにヒューマン・ドキュメントを埋め込むことができます。これらのコメントは、BPELファイルのソース・コードでのみ表示されます。表A-1に詳細を示します。

例A-1 「ドキュメント」タブ

<invoke>
. . .
   <documentation>
      Invokes the credit rating service partner link
   </documentation>
. . .

注意:

このタブは、BPEL 2.0プロジェクトでのみ使用できます。

A.2.1.5 「ヘッダー」タブ

「ヘッダー」タブは、invoke、receive、replyの各アクティビティと、pickおよびscope (BPEL 1.1の場合)アクティビティのonMessageブランチで表示されます。アドバンスト・キューイング(AQ)、ファイル、FTP、MQおよびJava Message Service(JMS)アダプタで使用するヘッダー変数を作成します。

詳細は、このタブのオンライン・ヘルプと、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

A.2.1.6 「プロパティ」タブ

「プロパティ」タブは、invoke、receive、replyの各アクティビティと、pickおよびscopeアクティビティのonMessageブランチで表示されます。正規化されたメッセージ・ヘッダー・プロパティは、Oracle BPEL Process Manager、Oracle Mediator、Oracle JCAアダプタおよびOracle B2Bに対して定義できます。

詳細は、このタブのオンライン・ヘルプと、付録H「正規化されたメッセージのプロパティ」を参照してください。

A.2.1.7 「スキップ条件」タブ

「スキップ条件」タブは、ほとんどのアクティビティで表示され、指定したXPath式がtrueと評価された場合に、そのアクティビティがスキップされるようにできます。この拡張機能は、条件付きアクティビティの作成に使用するswitchアクティビティのcaseパターンの代替手段として提供されています。


注意:

このタブは、BPEL 1.1プロジェクトでのみ使用できます。

詳細は、このタブのオンライン・ヘルプと、第10.5項「アクティビティの実行をバイパスするためのXPath式の指定」を参照してください。

A.2.1.8 「ソース」タブと「ターゲット」タブ

「ソース」タブと「ターゲット」タブでは、フロー・アクティビティで実行するソースとターゲットのアクティビティを定義できます。この機能を使用すると、フロー・アクティビティ内でアクティビティの実行を同期し、ターゲット・アクティビティがソース・アクティビティの完了後にのみ実行されるようにできます。

詳細は、このタブのオンライン・ヘルプと、第9.2.3項「flowアクティビティ内のアクティビティ実行の同期化」を参照してください。

A.2.1.9 「タイムアウト」タブ

「タイムアウト」タブは、receiveアクティビティで表示され、リクエスト/レスポンス操作に対するタイムアウト設定が提供されます。この機能は、パートナ・コールバックのタイムアウト期間を指定する場合に使用する必要があるpickアクティビティのonMessageブランチとonAlarmブランチの代替手段として提供されています。


注意:

このタブは、BPEL 1.1プロジェクトでのみ使用できます。

詳細は、このタブのオンライン・ヘルプと、第14.3項「receiveアクティビティのリクエスト/レスポンス操作に対するタイムアウトの設定」を参照してください。

A.2.2 assignアクティビティ

このアクティビティには、変数の内容を別の変数にコピーする操作など、データ操作のメソッドが用意されています。コピー操作により、変数、式、エンドポイントおよびその他の要素の間で情報を転送できます。

図A-2に、BPEL 1.1における「割当て」ダイアログの「コピー・ルール」タブを示します。ソース・ノードをターゲット・ノードにドラッグして、ソース・ノードからターゲット・ノードへのBPELコピー・ルールを作成します。このアクションで、ソースとターゲットのタイプを接続する線が作成されます。コピー・ルールは、ダイアログの下部にある「開始」セクションと「終了」セクションに表示されます。

図A-2 「Assign」アクティビティ・ダイアログの「コピー・ルール」タブ

図A-2の説明が続きます
「図A-2 「Assign」アクティビティ・ダイアログの「コピー・ルール」タブ」の説明

ソース・ノード・セクションの上にある挿入モードの選択リストを使用すると、作成する次のコピー・ルールを、ダイアログの下部で選択されているルールの前か後ろに挿入できます。

ターゲット・ノードの上に表示されるアイコンを使用すると、ターゲット・ノードに対して次のタスクを実行できます(左から右の順)。

  • 「式」アイコン: このアイコンをターゲット・ノードにドラッグすると、そのノードにXPath式を割り当てるための「式ビルダー」ダイアログが開きます。

  • 「リテラル」(BPEL 2.0仕様)アイコンまたは「フラグメント」(BPEL 1.1仕様)アイコン: このアイコンをターゲット・ノードにドラッグすると、そのターゲット・ノードにリテラル(BPELプロジェクトがBPEL 2.0仕様をサポートしている場合)またはXMLフラグメント(BPELプロジェクトがBPEL 1.1仕様をサポートしている場合)を割り当てるためのダイアログが開きます。

  • 「削除」アイコン: このアイコンをターゲット・ノードにドラッグして、bpelx:remove拡張ルールを作成します。

  • 「名前の変更」アイコン: このアイコンをドラッグして、ターゲット・ノードの名前を変更します。こうすると、elementTo属性にbpelx:rename拡張ルールが追加されます。

  • 「再キャスト」アイコン: このアイコンをドラッグして、ターゲット・ノードを再キャストします。こうすると、typeCastTo属性にbpelx:rename拡張ルールが追加されます。XML出力で、xsi:type属性になります。

選択したコピー・ルールをbpelx拡張タイプ(bpelx:copyListbpelx:insertAfterbpelx:insertBeforebpelx:append)に変更することもできます。

選択の方法は、BPEL 1.1とBPEL 2.0で異なります。

図A-3に、BPEL 1.1における拡張タイプの選択方法を示します。コピー・ルールを選択して「コピー」ドロップダウン・リストを選択し、適切な拡張を選択します。

図A-3 コピー・ルールをBPEL 1.1のbpelx拡張に変更

図A-3の説明が続きます
「図A-3 コピー・ルールをBPEL 1.1のbpelx拡張に変更」の説明

図A-4に、BPEL 2.0における拡張タイプの選択方法を示します。コピー・ルールを右クリックしてルール・タイプの変更を選択し、適切な拡張を選択します。

図A-4 コピー・ルールをBPEL 2.0のbpelx拡張に変更

図A-4の説明が続きます
「図A-4 コピー・ルールをBPEL 2.0のbpelx拡張に変更」の説明

bpelx拡張によるXMLデータの操作の詳細は、第6.14項「bpelx拡張要素を使用したXMLデータの操作」を参照してください。

「送信元XPath」「送信先XPath」の各フィールドで、ソース・タイプの左にあるアイコンにカーソルを重ねて、実行する操作(コピー、追加など)を表示することもできます。それぞれの操作が、タイプごとに異なるアイコンで表されます。コピー・ルールを右クリックして、実行するアクションのリストを表示することも可能です。

  • 「'From'式の編集」または「'To'式の編集」: 作成したコピー・ルールにソース・ノードまたはターゲット・ノードへの問合せが含まれるときにXPath式を編集するには、このオプションを選択します。これを選択すると、「式ビルダー」ダイアログが開きます。表示されるメニュー・オプションは、コピー・ルールの現在の選択内容によって異なります。

  • ignoreMissingFromData: コピー・ルールのignoreMissingFromData属性の有効と無効を切り替える場合は、このオプションを選択します。有効にすると、bpel:selectionFailure標準フォルトが抑制されます。

  • insertMissingToData: コピー・ルールのinsertMissingToData属性の有効と無効を切り替える場合は、このオプションを選択します。

  • keepSrcElementName (BPEL 2.0プロジェクトでのみ): コピー・ルールのkeepSrcElementName属性の有効と無効を切り替える場合は、このオプションを選択します。このオプションを使用すると、ターゲットの要素名(to-specで指定される)を、ソースの要素名で置き換えることができます。

  • ルール・タイプの変更 (BPEL 2.0プロジェクトでのみ): 選択したルールのタイプを、BPEL拡張ルールであるbpelx:copyListbpelx:insertAfterbpelx:insertBeforebpelx:appendのいずれかに変更する場合は、このオプションを選択します。

  • 「ルールの削除」: 選択したルールを削除する場合は、このオプションを選択します。

ignoreMissingFromData、insertMissingToData、keepSrcElementNameの各属性の詳細は、第6.14.7項「assign拡張要素の属性の使用方法」を参照してください。

「終了」セクションの上にあるアイコンを使用すると、選択したコピー・ルールの削除と、上下への移動が可能です。

assignアクティビティの詳細は、「コピー・ルール」ダイアログのオンライン・ヘルプと、第6章「BPELプロセスでのXMLデータの操作」を参照してください。


注意:

assignアクティビティに複数のbpelx:append設定が含まれる場合は、このアクティビティを2つのassignアクティビティに分割する必要があります。分割しないと、bpelx:appendがそれぞれリストの最後に移動し、問題が発生する可能性があります。解決策として、この設定を手動で移動します。

A.2.3 assertアクティビティ

このアクティビティを使用すると、指定した式に対してアサーションを実行できます。

これは、アサーションを指定するスタンドアロンのアクティビティです。invokeアクティビティ、receiveアクティビティ、pickおよびscopeアクティビティのonMessageブランチで「アサーション」タブからアサーションを指定することもできます。


注意:

このアクティビティは、BPEL 1.1プロジェクトでのみサポートされます。

図A-5は、「アサート」ダイアログを示しています。

図A-5 「Assert」ダイアログ

図A-5の説明が続きます
「図A-5 「Assert」ダイアログ」の説明

スタンドアロンのassertアクティビティの詳細は、第11.14.7項「スタンドアロンassertアクティビティでのアサーション条件」と、第11.14.10項「アサーション条件作成時の処理内容」を参照してください。

A.2.4 bind entityアクティビティ

このアクティビティを使用すると、エンティティ変数を選択できます。エンティティ変数は、様々なデータ・プロバイダ・サービス・テクノロジにアクセスし、プラグインするためのデータ・ハンドルとして機能します。

エンティティ変数は、サービス・データ・オブジェクト(SDO)ベースのデータを使用して、Oracle Application Development Framework(ADF)Business Componentデータ・プロバイダ・サービスと一緒に使用できます。エンティティ変数を使用すると、基礎となるデータ・プロバイダ・サービスがBPELデータ操作を実行するように指定できます。データ・プロバイダ・サービスはデータ・ストア内でデータ操作をバックグラウンドで実行しますが、Oracle BPEL Process Manager提供の他のデータ・ストア関連の機能(たとえば、データベース・アダプタ)を使用しません。この操作により、BPEL Process Managerの実行時パフォーマンスを高め、コンパイルおよび実行時に、基礎となるデータ・プロバイダ・サービスのネイティブの機能を組み込みます。


注意:

このアクティビティは、BPEL 1.1プロジェクトでのみサポートされます。

図A-6は、「Bind Entity」ダイアログを示しています。

図A-6 「Bind Entity」ダイアログ

図A-6の説明が続きます
「図A-6 「Bind Entity」ダイアログ」の説明

A.2.5 compensateアクティビティ

このアクティビティは、正常に完了している内側のscopeアクティビティでの補正を起動します。このアクティビティを起動できるのは、フォルト・ハンドラまたは別の補正ハンドラの中からのみです。補正は、プロセスでいくつかの操作を完了できず、その他の操作は完了している場合に行われます。プロセスは、以前に完了した操作に戻り、それらを元に戻す必要があります。たとえば、あるプロセスがレンタカー、ホテルおよび航空券を予約するように設計されているとします。レンタカーとホテルを予約しましたが、正しい日付の航空券を予約できません。この場合、レンタカーとホテルの予約を取り消すことで補正を実行します。compensateアクティビティ(補正ハンドラが起動されるスコープを指定)で補正ハンドラが起動されます。

図A-7は、BPEL 1.1における「Compensate」ダイアログを示しています。次のタスクを実行できます。

  • 「一般」タブをクリックし、アクティビティに意味のある名前を付けます。

  • 補正ハンドラを起動するscopeアクティビティを選択します。

図A-7 「Compensate」ダイアログ

図A-7の説明が続きます
「図A-7 「Compensate」ダイアログ」の説明

BPEL 2.0の場合、「Compensate」ダイアログに「スキップ条件」タブはありません。

compensateアクティビティの詳細は、第11.12項「一連の操作を元に戻した後の補正の使用」を参照してください。

A.2.6 compensateScopeアクティビティ

このアクティビティを使用すると、正常に完了している特定の内側のscopeに対して補正を開始できます。このアクティビティは、フォルト・ハンドラ、別の補正ハンドラ、または終了ハンドラの内部から使用する必要があります。


注意:

このアクティビティは、BPEL 2.0プロジェクトでのみサポートされます。

図A-8は、「CompensateScope」ダイアログを示しています。

図A-8 「CompensateScope」ダイアログ

図A-8の説明が続きます
「図A-8 「CompensateScope」ダイアログ」の説明

compensateScopeアクティビティの詳細は、第11.12項「一連の操作を元に戻した後の補正の使用」を参照してください。

A.2.7 create entityアクティビティ

このアクティビティを使用すると、エンティティ変数を作成できます。エンティティ変数は、SDOベースのデータを使用して、Oracle ADF Business Componentデータ・プロバイダ・サービスと一緒に使用できます。


注意:

このアクティビティは、BPEL 1.1プロジェクトでのみサポートされます。

図A-9は、「Create Entity」ダイアログを示しています。

図A-9 「Create Entity」ダイアログ

図A-9の説明が続きます
「図A-9 「Create Entity」ダイアログ」の説明

詳細は、第6.2項「データ・プロバイダ・サービスへのXMLデータ操作の委任」を参照してください。

A.2.8 dehydrateアクティビティ

デフォルトでは、waitやreceiveなどのアクティビティにデハイドレーションが設定されます。dehydrateアクティビティを使用すると、デハイドレーション・ポイントを明示的に指定できます。このアクティビティは、非同期コールバックの待機中、長期間にわたる非同期プロセスとその現在の状態の情報をデータベースに自動的に保持するためのデハイドレーション・ポイントとして機能します。データベースにプロセスを格納することにより、プロセスを維持し、システムの停止やネットワークの問題が発生した場合の状態や信頼性の低下を防ぎます。この機能により、BPELプロセスの信頼性とスケーラビリティの両方が向上します。

bpelx:dehydrate拡張は、デハイドレーションを実装します。BPELバージョン1.1をサポートするBPELの場合、構文は次のようになります。

<bpelx:dehydrate name="DehydrateInstance"/>

BPELバージョン2.0をサポートするBPELの場合、構文は例A-2のようになります。

例A-2 BPEL 2.0におけるbpelx:dehydrate拡張

<extensionActivity>
      <bpelx:dehydrate name="DehydrateInstance"/>
 </extensionActivity>

図A-10は、BPEL 2.0における「Dehydrate」ダイアログを示しています。

図A-10 「Dehydrate」ダイアログ

図A-10の説明が続きます
「図A-10 「Dehydrate」ダイアログ」の説明

BPEL 1.1の場合、「Dehydrate」ダイアログに「スキップ条件」タブはありません。

A.2.9 emailアクティビティ

このアクティビティを使用すると、イベントに関する電子メール通知を送信できます。

たとえば、オンライン書店のオンライン・ショッピング・ビジネス・プロセスで、商品を出荷した後、ユーザーに儀礼的な電子メール・メッセージを送信するとします。ビジネス・プロセスは、ユーザーIDおよび通知メッセージを指定して通知サービスをコールします。通知サービスは、Oracle Internet Directoryから電子メール・アドレスを取得します。

図A-11は、BPEL 1.1とBPEL 2.0における「Email」ダイアログを示しています。

図A-11 「Email」ダイアログ

図A-11の説明が続きます
「図A-11 「Email」ダイアログ」の説明

emailアクティビティの詳細は、第16.3.1項「電子メール通知チャネルの構成方法」を参照してください。

A.2.10 emptyアクティビティ

このアクティビティを使用すると、操作なしの命令をプロセスに挿入できます。このアクティビティは、何もしないアクティビティを使用する必要がある場合(フォルトを捕捉して抑止する必要がある場合など)に便利です。

図A-12は、BPEL 1.1における「Empty」ダイアログを示しています。

図A-12 「Empty」ダイアログ

図A-12の説明が続きます
「図A-12 「Empty」ダイアログ」の説明

BPEL 2.0の場合、「Empty」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

emptyアクティビティの詳細は、第11.10.8項「操作なしの命令をビジネス・プロセスに挿入するemptyアクティビティの作成方法」を参照してください。

A.2.11 exitアクティビティ

このアクティビティを使用すると、終了ハンドラ、フォルト・ハンドラ、補正ハンドラのメカニズムを利用せずに、すべてのパラレル・ブランチで現在実行されているすべてのアクティビティを即時終了できます。


注意:

BPEL 2.0プロジェクトでは、このアクティビティのかわりにterminateアクティビティが使用されます。

図A-13は、「Exit」ダイアログを示しています。

図A-13 「Exit」ダイアログ

図A-13の説明が続きます
「図A-13 「Exit」ダイアログ」の説明

exitアクティビティの詳細は、第11.13.2項「BPEL 2.0のexitアクティビティによるビジネス・プロセス・インスタンスの即時終了」を参照してください。

A.2.12 flowアクティビティ

このアクティビティを使用すると、1つ以上のアクティビティを同時に実行するように指定できます。flowアクティビティは、フロー内のすべてのアクティビティが処理を終了したときに完了します。flowアクティビティが完了しても、許可条件がfalseの場合はスキップされている可能性があります。

たとえば、flowアクティビティを使用して、2つの融資斡旋業者(United LoanサービスおよびStar Loanサービス)をパラレルで起動できるようにするとします。この場合、flowアクティビティには2つのパラレル・アクティビティ(United Loanサービスを起動するシーケンスとStar Loanサービスを起動するシーケンス)が含まれます。各サービスは、任意の時間をかけて融資プロセスを完了できます。

図A-14に、パラレル処理用の2つのパネルを持つ初期flowアクティビティを示します。アクティビティを両方のパネルにドラッグしてパラレル処理を作成します。完了したflowアクティビティは図A-15のようになります。

図A-14 「Flow」ダイアログ(作成時)

図A-14の説明が続きます
「図A-14 「Flow」ダイアログ(作成時)」の説明

図A-15 「Flow」ダイアログ(設計完了後)

図A-15の説明が続きます
「図A-15 「Flow」ダイアログ(設計完了後)」の説明

flowアクティビティ内で、アクティビティの実行を同期することもできます。こうすると、特定のアクティビティを他のアクティビティの完了後にのみ実行することができます。


注意:

OracleのBPEL実装では、個別のスレッドではなく、BPELプロセスの同一で単一の実行スレッドでフローが実行されます。

flowアクティビティの詳細は、第9.2項「パラレル・フローの作成」を参照してください。

A.2.13 flowNアクティビティ

このアクティビティを使用すると、Nの値に等しい複数のフローを作成できます。この値は、使用可能なデータおよびプロセス内のロジックに基づいて実行時に定義されます。索引変数は、Nの値に到達するまで、新しいブランチが作成されるたびに増分されます。


注意:

このアクティビティは、BPEL 2.0プロジェクトではforEachアクティビティに置き換えられます。

図A-16は、「FlowN」ダイアログを示しています。

図A-16 「FlowN」ダイアログ

図A-16の説明が続きます
「図A-16 「FlowN」ダイアログ」の説明

flowNアクティビティの詳細は、第9.3.1項「BPEL 1.1のflowNアクティビティによるflowアクティビティ数のカスタマイズ」を参照してください。

A.2.14 forEachアクティビティ

このアクティビティを使用すると、アクティビティの複数のセットを順次、または並行して処理できます。forEachアクティビティは、それに含まれている(子)scopeアクティビティを正確にN+1回実行し、Nは、最終カウンタ値から、「For Each」ダイアログの「カウンタの値」タブで指定する開始カウンタ値を引いた値に等しくなります。flowアクティビティなど、他の構造化アクティビティは、含まれているアクティビティとして任意のタイプのアクティビティを使用できますが、forEachアクティビティにはscopeアクティビティのみ使用することができます。


注意:

BPEL 2.0プロジェクトでは、このアクティビティのかわりにflowNアクティビティが使用されます。

図A-17に、内部のscopeを伴うforEachアクティビティを示します。

図A-17 forEachアクティビティ

図A-17の説明が続きます
「図A-17 forEachアクティビティ」の説明

forEachアクティビティの詳細は、第9.3.2項「BPEL 2.0のforEachアクティビティによるアクティビティの複数のセットの処理」を参照してください。

A.2.15 ifアクティビティ

このアクティビティを使用すると、特定のアクティビティが複数のブランチから処理を判定する条件処理を定義できます。1組のブランチから1つのアクティビティのみが選択されて実行されます。


注意:

BPEL 2.0プロジェクトでは、このアクティビティのかわりにswitchアクティビティが使用されます。

図A-18に、ifアクティビティと、後続のif、elseif、elseブランチが定義されている例を示します。

図A-18 ifアクティビティ

図A-18の説明が続きます
「図A-18 ifアクティビティ」の説明

ifアクティビティの詳細は、第10.2.2項「BPEL 2.0のifアクティビティの作成による条件分岐の定義」を参照してください。

A.2.16 IMアクティビティ

このアクティビティを使用すると、非同期のインスタント・メッセージ(IM)通知をユーザー、グループまたは宛先アドレスに自動的に送信できます。図A-19は、BPEL 1.1における「IM」ダイアログを示しています。

図A-19 「IM」ダイアログ

図A-19の説明が続きます
「図A-19 「IM」ダイアログ」の説明

BPEL 2.0の場合、「IM」ダイアログに「スキップ条件」タブはありません。

詳細は、第16.3.2項「IM通知チャネルの構成方法」を参照してください。

A.2.17 invokeアクティビティ

このアクティビティを使用すると、サービス(パートナ・リンクで識別)に対して起動する操作を指定できます。操作は、サービスによって指定されたポートでの一方向またはリクエスト/レスポンスです。invokeアクティビティで変数を自動的に作成することも可能です。invokeアクティビティは、同期Webサービスを起動するか、非同期Webサービスを開始します。

invokeアクティビティは、プロセス内でデータを送受信するためのポートをオープンします。このポートを使用して、必要なデータの送信およびレスポンスの受信を行います。同期コールバックの場合、関数の送受信に必要なポートは1つのみです。

invokeアクティビティは、bpelx:inputPropertyおよびbpelx:outputPropertyをサポートし、SOAPヘッダーを介したプロパティの受渡し、および有用な情報に関するSOAランタイム・システム・プロパティ(tracking.compositeInstanceIdtracking.conversationIdなど)の取得を容易にします。

図A-20は、BPEL 1.1における「Invoke」ダイアログを示しています。次のタスクを実行できます。

  • アクティビティに意味のある名前を付けます。

  • 操作を指定するパートナ・リンクを選択します。

  • 実行する操作を選択します。

  • データ(ペイロード)をトランスポートするための変数を自動的に作成するか、既存の変数を選択します。

図A-20 「Invoke」ダイアログ

図A-20の説明が続きます
「図A-20 「Invoke」ダイアログ」の説明

BPEL 2.0の場合、「Invoke」ダイアログに「アサーション」タブ、「タイムアウト」タブ、「スキップ条件」タブはありません。

invokeアクティビティの詳細は、次を参照してください。

A.2.18 Java Embeddingアクティビティ

このアクティビティを使用すると、Java BPEL execの拡張要素であるbpelx:execを使用してBPELプロセスにカスタムJavaコードを追加できます。この方法は、関数を実行できるJavaコードが存在していて、最初からコーディングしなおすのではなくこの既存のコードを使用する場合に役立ちます。BPEL 2.0プロジェクトでは、bpelx:exec拡張要素とJavaコードが<extensionActivity>要素でラップされます。

図A-21は、BPEL 1.1における「Java Embeddingの編集」ダイアログを示しています。

図A-21 「Java Embeddingの編集」ダイアログ

図A-21の説明が続きます
「図A-21 「Java Embeddingの編集」ダイアログ」の説明

BPEL 2.0の場合、「Invoke」ダイアログに「スキップ条件」タブはありません。

Java Embeddingアクティビティの詳細は、第13章「BPELプロセスへのJavaおよびJava EEコードの組込み」を参照してください。

A.2.19 partner linkアクティビティ

このサービスを使用すると、プロセスが相互作用する外部サービスを定義できます。パートナ・リンク・タイプは、対話において各サービスが果たす役割を定義すること、および対話の中でメッセージを受信するために各サービスが提供するポート・タイプを指定することで、2つのサービス間での対話関係の特性を決定します。たとえば、信用格付けサービスおよび2つの融資斡旋業者サービス(United LoanおよびStar Loan)と相互作用するプロセスを作成する場合、3つのサービスすべてにパートナ・リンクを作成します。

図A-22は、BPEL 1.1における「パートナ・リンク」ダイアログを示しています。次の詳細を指定します。

  • サービスの意味のある名前。

  • 外部サービスのWeb Services Description Language(WSDL)ファイル。

  • 実際のサービス・タイプ(パートナ・リンク・タイプとして定義)。

  • サービスのロール(パートナ・ロールとして定義)。

  • サービスをリクエストするプロセスのロール(マイ・ロールとして定義)。

図A-22 「パートナ・リンク」アクティビティ

図A-22の説明が続きます
「図A-22 「パートナ・リンク」アクティビティ」の説明

BPEL 2.0の場合、「パートナ・リンク」ダイアログに「ドキュメント」タブはありません。

パートナ・リンクの詳細は、第8章「BPELプロセスからの非同期Webサービスの起動」を参照してください。

A.2.20 phaseアクティビティ

このアクティビティは、BPELプロセスと統合するためのOracle Mediatorおよびビジネス・ルール・サービス・コンポーネントを作成します。メッセージ・リクエストの入力変数およびメッセージ・レスポンスの出力変数を作成し、BPELプロセスの変数のコンテンツを評価するビジネス・ルールを設計します。

これらのタスクを完了すると、次のアクティビティとサービス・コンポーネントが作成されます。

  • assignアクティビティ: メッセージ・リクエストの入力変数およびメッセージ・レスポンスの出力変数が含まれます。

  • invokeアクティビティ: BPELプロセスでOracle Mediatorパートナ・リンクを起動するように自動的に設計されます。

  • Oracle Mediatorパートナ・リンク: メッセージ・リクエストの入力変数を、このBPELプロセスが含まれるSOAコンポジット・アプリケーションのビジネス・ルール・サービス・コンポーネントにルーティングするように自動的に設計されます。ビジネス・ルール・サービス・コンポーネントはSOAコンポジット・エディタに表示されます。Oracle Mediatorもサービス・コンポーネントとしてSOAコンポジット・エディタに表示されます。

  • ビジネス・ルール・サービス・コンポーネント: メッセージ・リクエストの入力変数のコンテンツを評価し、メッセージ・レスポンスの出力変数の結果をOracle Mediatorに戻します。Oracle Mediatorはルーティングを決定し、メッセージを適切なターゲット宛先にルーティングします。

図A-23は、BPEL 1.1における「Phase」ダイアログを示しています。

図A-23 「Phase」ダイアログ

図A-23の説明が続きます
「図A-23 「Phase」ダイアログ」の説明

BPEL 2.0の場合、「Phase」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

詳細は、第48章「2レイヤーのビジネス・プロセス管理(BPM)の使用」を参照してください。

A.2.21 pickアクティビティ

このアクティビティは、イベント・セット内の特定イベントの発生を待機し、そのイベントに関連するアクティビティを実行します。多くの場合、イベントの発生は相互に排他的です(プロセスは承認メッセージと却下メッセージの両方ではなくどちらかを受信します)。複数のイベントが発生した場合、実行するアクティビティは、どちらのイベントが先に発生したかに基づいて選択されます。イベントがほとんど同時に発生した場合は競争になり、実行するアクティビティはタイミングと実装の両方に基づいて選択されます。

pickアクティビティには、OnMessageブランチがあります。BPEL 1.1で「OnMessage」アイコンをクリックすると、図A-24に示すダイアログが表示されます。

図A-24 「OnMessage」ダイアログ

図A-24の説明が続きます
「図A-24 「OnMessage」ダイアログ」の説明

BPEL 2.0の場合、「OnMessage」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブと「アサーション」タブがありません。

pickアクティビティの2つのブランチは次のとおりです。

  • onMessage (pickアクティビティ・アイコンの下に自動的に表示されます)

    (融資サービスなどから)リプライを受信するためのコードが含まれています。

  • onAlarm (自動的には表示されません。pickアクティビティ・アイコンを選択して「OnAlarmの追加」アイコンをクリックし、手動で追加する必要があります)

    タイムアウト(1分後など)のコードが含まれています。

先に完了したブランチが実行されます。もう一方のブランチは実行されません。最初に条件が満たされたブランチが実行されます。

図A-25は、BPEL 1.1でのpickアクティビティの「OnAlarm」ダイアログを示しています。

図A-25 pickアクティビティのonAlarmブランチ

図A-25の説明が続きます
「図A-25 pickアクティビティのonAlarmブランチ」の説明

BPEL 2.0の場合、「OnAlarm」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。


注意:

BPEL 1.1のscopeアクティビティにおけるonMessageブランチと、BPEL 1.1および2.0のscopeアクティビティにおけるonAlarmブランチも作成できます。Oracle JDeveloperでscopeアクティビティを開き、左側でアイコンを参照して追加するブランチを検索します。

onMessageブランチに相関を追加する場合は、相関構文がassignアクティビティの構文の後ろに配置されます。相関構文をassignアクティビティの前に移動する必要があります。

これを解決するには、次の手順を実行します。

  1. Oracle JDeveloperで相関セットを作成します。

  2. この相関セットをonMessageブランチに割り当てます。

  3. 残りの設計タスクを完了します。

  4. BPELソース・コード内で相関構文をassignアクティビティの前に移動してから、BPELプロセスを作成またはデプロイします。

pickアクティビティの詳細は、次を参照してください。

A.2.22 receiveアクティビティ

このアクティビティでは、情報の受信先となるパートナ・リンクと、起動するパートナ・リンクのポート・タイプおよび操作を指定します。このアクティビティは、サービス(融資申請の承認サービスなど)からの非同期コールバック・レスポンス・メッセージを待機します。待機中のBPELプロセスは、コールバック・メッセージが到着するまでデハイドレーション(圧縮して格納)されます。このレスポンスの内容は、プロセスのレスポンス変数に格納されます。

receiveアクティビティは、bpelx:property拡張機能をサポートし、SOAPヘッダーを介したプロパティの受渡し、および有用な情報に関するSOAランタイム・システム・プロパティ(tracking.compositeInstanceIdtracking.conversationIdなど)の取得を容易にします。

図A-26は、BPEL 1.1における「Receive」ダイアログを示しています。次のタスクを実行できます。

  • 意味のある名前を付けます。

  • 操作を指定するパートナ・リンク・サービスを選択します。

  • 実行する操作を選択します。

  • コールバック・レスポンスをトランスポートするための変数を自動的に作成するか、既存の変数を選択します。

図A-26 「Receive」ダイアログ

図A-26の説明が続きます
「図A-26 「Receive」ダイアログ」の説明

BPEL 2.0の場合、「Receive」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブ、「タイムアウト」タブ、「アサーション」タブがありません。

receiveアクティビティの詳細は、次を参照してください。

A.2.23 receive signalアクティビティ

このアクティビティは、詳細プロセスではマスター・プロセスからの処理開始の通知シグナルを待機するために使用し、マスター・プロセスではすべての詳細プロセスからの処理の完了を示す通知シグナルを待機するために使用します。

図A-27は、BPEL 1.1とBPEL 2.0における「Receive Signal」ダイアログを示しています。

図A-27 「Receive Signal」ダイアログ

図A-27の説明が続きます
「図A-27 「Receive Signal」ダイアログ」の説明

詳細は、第15章「マスター・プロセスと詳細プロセスの調整」を参照してください。

A.2.24 remove entityアクティビティ

このアクティビティを使用すると、エンティティ変数を削除できます。このアクションによって行が削除されます。


注意:

このアクティビティは、BPEL 1.1プロジェクトでのみサポートされます。

図A-28は、「Remove Entity」ダイアログを示しています。

図A-28 「Remove Entity」ダイアログ

図A-28の説明が続きます
「図A-28 「Remove Entity」ダイアログ」の説明

A.2.25 repeatUntilアクティビティ

アクティビティの本体を1回以上実行する必要がある場合には、このアクティビティを使用します。アクティビティの本体の実行後に、repeatUntilアクティビティのXPath式条件が評価されます。条件の評価(とアクティビティ本体の処理)は、指定したブール条件がtrueになるまで繰り返されます。図A-29は、「Remove Entity」ダイアログを示しています。


注意:

このアクティビティは、BPEL 2.0プロジェクトでのみサポートされます。

図A-29 「Repeat Until」ダイアログ

図A-29の説明が続きます
「図A-29 「繰返し期限」ダイアログ」の説明

repeatUntilアクティビティの詳細は、第10.4項「repeatUntilアクティビティの作成による条件分岐の定義」を参照してください。

A.2.26 replayアクティビティ

このアクティビティを使用すると、選択した範囲内でアクティビティを再実行することができます。

図A-30は、BPEL 2.0での「Replay」ダイアログを示しています。

図A-30 「Replay」ダイアログ

図A-30の説明が続きます
「図A-30 「Replay」ダイアログ」の説明

BPEL 1.1の場合、「Replay」ダイアログには「スキップ条件」タブがあり、「ドキュメント」タブ、「ターゲット」「ソース」タブがありません。replayアクティビティの詳細は、第11.11項「replayアクティビティによるscopeアクティビティ内でのアクティビティの再実行」を参照してください。

A.2.27 replyアクティビティ

このアクティビティでは、receiveアクティビティで受信したメッセージに応答するメッセージを送信できます。receiveアクティビティとreplyアクティビティを組み合せると、プロセスのWSDLポート・タイプでのリクエスト/レスポンス操作が形成されます。

図A-31は、BPEL 1.1での「Reply」ダイアログを示しています。

図A-31 「Reply」ダイアログ

図A-31の説明が続きます
「図A-31 「Reply」ダイアログ」の説明

BPEL 2.0の場合、「Reply」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブと「アサーション」タブがありません。

replyアクティビティの詳細は、次を参照してください。

A.2.28 rethrowアクティビティ

このアクティビティを使用すると、直接囲んでいるフォルト・ハンドラによって当初取得されたフォルトを再スローできます。


注意:

このアクティビティは、BPEL 2.0プロジェクトでのみサポートされます。

図A-32に、フォルト・ハンドラ(catchアクティビティ)内部のrethrowアクティビティを示します。

図A-32 rethrowアクティビティ

図A-32の説明が続きます
「図A-32 rethrowアクティビティ」の説明

rethrowアクティビティの詳細は、第11.8項「rethrowアクティビティによるフォルトの再スロー」を参照してください。

A.2.29 scopeアクティビティ

このアクティビティは、独自のローカル変数、フォルト・ハンドラ、補正ハンドラなどを含めることができる、ネストされたアクティビティの集合で構成されます。scopeアクティビティは、プログラミング言語の{ }ブロックに似ています。

各スコープには、その動作を定義するプライマリ・アクティビティがあります。プライマリ・アクティビティは、多数のアクティビティが任意の深さにネストされている複雑な構造化アクティビティでもかまいません。スコープは、すべてのネストされたアクティビティによって共有されます。

図A-33は、BPEL 1.1における「Scope」ダイアログを示しています。scopeアクティビティ内に適切なアクティビティを定義します。

図A-33 「Scope」ダイアログ

図A-33の説明が続きます
「図A-33 「Scope」ダイアログ」の説明

BPEL 2.0の場合、「Scope」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

フォルト処理はscopeアクティビティに関連付けられています。その目的は、フォルトが発生したscopeアクティビティの失敗した不完全な処理を元に戻すことです。scopeアクティビティでcatchアクティビティを定義すると、カスタム・フォルト処理アクティビティのセットを作成できます。各catchアクティビティは、特定のタイプのフォルトを捕捉するように定義します。

図A-34に、scopeアクティビティ内の「Catchの追加」アイコンを示します。図A-35は、「Catchの追加」アイコンをクリックすると表示されるcatchアクティビティ領域を示しています。「アクティビティをここにドロップ」という領域に、追加のアクティビティをドラッグし、例外の捕捉と管理を行うフォルト処理ロジックを作成します。

たとえば、顧客は融資を申請する際に、信用格付けサービスに社会保障番号を提示します。この番号を使用して信用調査が行われます。信用履歴に問題があることが確認された場合や、社会保障番号が無効であると認識された場合は、catchアクティビティ内のassignアクティビティにより、融資提案が却下されたことが顧客に通知されます。融資申請プロセス全体がterminateアクティビティで終了します。

図A-34 Catchブランチの作成

図A-34の説明が続きます
「図A-34 Catchブランチの作成」の説明

図A-35 Catchアクティビティ・アイコン

図A-35の説明が続きます
「図A-35 Catchアクティビティ・アイコン」の説明

scopeアクティビティおよびフォルト処理の詳細は、次を参照してください。

A.2.30 sequenceアクティビティ

このアクティビティを使用すると、順に実行するアクティビティの集合を定義できます。たとえば、次のアクティビティを特定の順序で実行できます。

  • receiveアクティビティで顧客リクエストを受信します。

  • 同時動作を可能にするflowアクティビティ内でリクエストを処理します。

  • replyアクティビティで、リクエストの最終承認ステータスを含むリプライ・メッセージを顧客に戻します。

sequenceアクティビティでは、リクエストを妥当な時間内に処理できると想定しています。この想定により、インボーカが同期レスポンスを待機する必要性が正当化されます(このサービスがリクエスト/レスポンス操作として提供されるため)。

この想定ができない場合は、顧客との相互作用を非同期メッセージ交換のペアとして定義することをお薦めします。

「Sequence」アイコンをダブルクリックすると、図A-36に示すアクティビティ領域が表示されます。sequenceアクティビティ内に適切なアクティビティをドラッグして定義します。

図A-36 sequenceアクティビティ

図A-36の説明が続きます
「図A-36 sequenceアクティビティ」の説明

sequenceアクティビティの詳細は、次を参照してください。

A.2.31 signalアクティビティ

このアクティビティは、マスター・プロセスでは実行時に処理を実行するように詳細プロセスに通知するために使用し、詳細プロセスでは処理が完了したことをマスター・プロセスに通知するために使用します。図A-37は、BPEL 1.1とBPEL 2.0における「Signal」ダイアログを示しています。

図A-37 「Signal」ダイアログ

図A-37の説明が続きます
「図A-37 「Signal」ダイアログ」の説明

詳細は、第15章「マスター・プロセスと詳細プロセスの調整」を参照してください。

A.2.32 SMSアクティビティ

このアクティビティを使用すると、イベントに関するショート・メッセージ・システム(SMS)通知を送信できます。

図A-38は、BPEL 1.1における「SMS」ダイアログを示しています。

図A-38 「SMS」ダイアログ

図A-38の説明が続きます
「図A-38 「SMS」ダイアログ」の説明

BPEL 2.0の場合、「SMS」ダイアログに「スキップ条件」タブはありません。

SMSアクティビティの詳細は、第16.3.3項「SMS通知チャネルの構成方法」を参照してください。


注意:

faxアクティビティおよびpagerアクティビティは、11gではサポートされていません。

A.2.33 switchアクティビティ

このアクティビティは、caseブランチに定義された1つ以上の条件付きブランチ(オプションでotherwiseブランチが続く)の順序付きリストで構成されます。ブランチは、出現順に考慮されます。条件がtrueである最初のブランチが選択され、switchに対して実行されるアクティビティを提供します。条件付きブランチが選択されない場合は、otherwiseブランチが選択されます。otherwiseブランチが明示的に指定されていない場合は、emptyアクティビティがあるotherwiseブランチが使用可能とみなされます。選択されたブランチのアクティビティが完了すると、switchアクティビティは完了します。

switchアクティビティは、flowアクティビティとは機能的に異なります。たとえば、flowアクティビティを使用すると、1つのプロセスで2つの融資提案を同時に収集できますが、それぞれの値は比較されません。2つの提案の値を比較して決定を下すには、switchアクティビティを使用します。定義された条件(caseブランチ内)が満たされると、最初のブランチが実行されます。条件が満たされない場合はotherwiseブランチが実行されます。


注意:

このアクティビティは、BPEL 2.0プロジェクトではifアクティビティに置き換えられます。

図A-39に、次のブランチが定義されたswitchアクティビティを示します。

図A-39 switchアクティビティ

図A-39の説明が続きます
「図A-39 switchアクティビティ」の説明

switchアクティビティの詳細は、次を参照してください。

A.2.34 terminateアクティビティ

terminateアクティビティを使用すると、アクティビティのタスク(catchブランチのフォルト処理タスクなど)を終了できます。たとえば、顧客の信用履歴に問題があることが確認された場合や、社会保障番号が無効であると認識された場合は、融資申請プロセスが終了し、顧客の融資申請の申込書は融資サービス業者に提出されません。


注意:

このアクティビティは、BPEL 2.0プロジェクトではexitアクティビティに置き換えられます。

図A-40に、switchアクティビティのotherwiseブランチにある複数のterminateアクティビティを示します。

図A-40 terminateアクティビティ

図A-40の説明が続きます
「図A-40 terminateアクティビティ」の説明

terminateアクティビティの詳細は、第11.13.1項「BPEL 1.1のterminateアクティビティによるビジネス・プロセス・インスタンスの停止」を参照してください。

A.2.35 throwアクティビティ

このアクティビティは、ビジネス・プロセス内からフォルトを生成します。

図A-41は、「Throw」ダイアログを示しています。

図A-41 「Throw」ダイアログ

図A-41の説明が続きます
「図A-41 「Throw」ダイアログ」の説明

BPEL 2.0の場合、「Throw」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

throwアクティビティの詳細は、第11.7項「内部フォルトのスロー」を参照してください。

A.2.36 transformアクティビティ

このアクティビティを使用すると、ソース要素をターゲット要素にマップ(たとえば、受信した注文書データを送信する注文確認書データにマップ)するトランスフォーメーションを作成できます。

図A-42は、BPEL 1.1における「Transform」ダイアログを示しています。このダイアログでは、次のタスクを実行できます。

  • マップするソースおよびターゲットの変数とパートを定義します。

  • トランスフォーメーション・マッパー・ファイルを指定します。

  • 「マッパー・ファイル」フィールドの右側にある2番目のアイコン(「追加」アイコン)をクリックして、XSLTマッパーにアクセスします。XSLTマッパーで、新規のXSLファイルを作成し、ソース要素とターゲット要素をグラフィカルにマッピングします。既存のXSLファイルを編集する場合は、「編集」アイコン(3番目のアイコン)をクリックします。

図A-42 「Transform」ダイアログ

図A-42の説明が続きます
「図A-42 「Transform」ダイアログ」の説明

BPEL 2.0の場合、「Transform」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

transformアクティビティの詳細は、第37章「XSLTマッパーを使用したトランスフォーメーションの作成」を参照してください。

A.2.37 user notificationアクティビティ

このアクティビティを使用すると、設計時に通知チャネルを明示的に選択せずに、通知を送信する必要性のみを示すBPELプロセスを設計できます。通知の送信に使用するチャネルは、Oracle User Messaging Serviceのユーザー・メッセージング・プリファレンス・ユーザー・インタフェースでエンド・ユーザーが定義したプリファレンスに基づいて、実行時に決定されます。したがって、通知チャネルの選択権は、Oracle BPELデザイナからエンド・ユーザーに移動します。エンド・ユーザーが優先チャネルまたはルールを選択していない場合、そのユーザーへの通知の送信には、デフォルトで電子メールが使用されます。図A-43に、BPEL 1.1での「User Notification」ダイアログを示します。

図A-43 「User Notification」ダイアログ

図A-43の説明が続きます
「図A-43 「User Notification」ダイアログ」の説明

BPEL 2.0の場合、「User Notification」ダイアログに「スキップ条件」タブはありません。

詳細は、第16.4項「エンド・ユーザーによる通知チャネル選択の許可」を参照してください。

A.2.38 validateアクティビティ

このアクティビティを使用すると、リストの変数を検証できます。変数は、XMLスキーマと照合して検証されます。

図A-44は、BPEL 1.1における「Validate」ダイアログを示しています。

図A-44 「Validate」ダイアログ

図A-44の説明が続きます
「図A-44 「Validate」ダイアログ」の説明

BPEL 2.0の場合、「Validate」ダイアログには「ドキュメント」「ターゲット」「ソース」タブがあり、「スキップ条件」タブがありません。

validateアクティビティの詳細は、第6.15項「XMLデータの検証」を参照してください。

A.2.39 voiceアクティビティ

このアクティビティを使用すると、イベントに関する電話ボイス通知を送信できます。

図A-45は、BPEL 1.1での「Voice」ダイアログを示しています。

図A-45 「Voice」ダイアログ

図A-45の説明が続きます
「図A-45 「Voice」ダイアログ」の説明

BPEL 2.0の場合、「Voice」ダイアログに「スキップ条件」タブはありません。

voiceアクティビティの詳細は、第16.3.4項「ボイス通知チャネルの構成方法」を参照してください。

A.2.40 waitアクティビティ

このアクティビティでは、一定期間内、または特定の期限に達するまでの遅延を指定できます。このアクティビティの典型的な用途は、一定の時間に操作を起動することです。このアクティビティを使用すると、指定された期間、または指定された時刻まで待機できます。有効期限条件を1つのみ指定する必要があります。

図A-46は、BPEL 1.1での「Wait」ダイアログを示しています。

図A-46 「Wait」ダイアログ

図A-46の説明が続きます
「図A-46 「Wait」ダイアログ」の説明

BPEL 2.0の場合、「Wait」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

waitアクティビティの詳細は、第14.4項「有効期限を設定するwaitアクティビティの作成」を参照してください。

A.2.41 whileアクティビティ

このアクティビティは、指定された反復アクティビティの繰返し実行をサポートします。反復アクティビティは、特定のwhile条件がtrueでなくなるまで繰り返されます。

図A-47は、BPEL 1.1における「While」ダイアログを示しています。このダイアログで式を入力できます。

図A-47 「While」ダイアログ

図A-47の説明が続きます
「図A-47 「While」ダイアログ」の説明

BPEL 2.0の場合、「While」ダイアログには「ドキュメント」タブがあり、「スキップ条件」タブがありません。

whileアクティビティの詳細は、第10.3項「whileアクティビティの作成による条件分岐の定義」を参照してください。

A.3 BPELサービスの概要

BPELプロセスは、Webサービス、Oracle Application Development Framework (ADF)のビジネス・コンポーネント(BC)サービス、JCAアダプタ、Oracle B2Bサービス、Oracle Business Activity Monitoring、HTTPバインディング、ダイレクト・バインディング、EJBサービス、Oracle E-Business Suite、およびパートナ・リンクを通じてWebベースのアプリケーションおよびクライアントと通信できます。

BPELサービスにアクセスする手順は、次のとおりです。

  1. Oracle BPELデザイナの「コンポーネント・パレット」で、「BPELサービス」を開いてサービスを表示します。

次の各項で説明するアダプタの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

A.3.1 ADF-BCサービス

このサービスは、SOAプラットフォームでSDOを使用してOracle ADFアプリケーションに接続します。

A.3.2 AQアダプタ

このアダプタは、デキュー(インバウンド)およびエンキュー(アウトバウンド)の両方のメッセージ・アダプタとして機能します。インバウンド方向では、このアダプタはメッセージを宛先からデキューできるようにキューをポーリングします。アウトバウンド方向では、サブスクライバがデキューできるようにメッセージをキューにエンキューします。

A.3.3 Oracle B2B

このアダプタを使用すると、メタデータ・サービス(MDS)リポジトリのB2Bメタデータを参照したり、ドキュメント定義を選択することができます。

Oracle B2Bは、組織と外部取引パートナ間における安全で信頼できるトランザクション交換を可能にするE-Commerceゲートウェイです。Oracle B2BおよびOracle SOA Suiteは、セキュリティ、準拠、可視性および管理の問題に対処するインフラストラクチャ内でプロセス・オーケストレーション、エラー低減、データ・トランスレーションとデータ・トランスフォーメーションを必要とするE-Commerceビジネス・プロセス用に設計されています。

詳細は、『Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド』を参照してください。

A.3.4 Oracle BAMアダプタ

このアダプタは、Java EEアプリケーションをOracle BAMサーバーと統合してデータを送信します。また、SOAコンポジット・アプリケーションで参照バインディング・コンポーネントとして使用されます。

詳細は、『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』および第X部「Oracle Business Activity Monitoringの使用」を参照してください。

A.3.5 データベース・アダプタ

このアダプタを使用すると、BPELプロセスでJDBCを介してOracleデータベースやサード・パーティ・データベースと通信できます。既存のリレーショナル・スキーマにアクセスするには、アダプタ構成ウィザードを使用して次の操作を実行します。

  • リレーショナル・スキーマをインポートし、XMLスキーマ(XSD)としてマップします。

  • SELECTINSERTおよびUPDATEなどのSQL操作をWebサービスとして抽出します。

BPELプロセスでXMLを処理してWebサービスを起動する間に、データベースの行と値の問合せ、挿入および更新が実行されます。

A.3.6 直接バインディング・サービス

このサービスは、インバウンド方向では、直接バインディングAPIを使用してSOAコンポジット・アプリケーションを起動し、Remote Method Invocation(RMI)を介してメッセージを交換します。このオプションでは、複数のJVM間のアイデンティティおよびトランザクションの両方の伝播がサポートされ、T3の最適化されたパスが使用されます。同期および非同期の両方の起動パターンがサポートされます。

アウトバウンド方向では、Oracle Service Bus(OSB)フローまたは別のSOAコンポジット・アプリケーションも起動できます。

Direct Binding Invocation APIの詳細は、Oracle Fusion Middleware Oracle SOA Suiteインフラストラクチャ管理Java APIリファレンスおよび第36章「直接バインディング起動APIの使用」を参照してください。

OSBの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』を参照してください。

A.3.7 EJBサービス

このサービスを使用すると、Enterprise JavaBeans(EJB)を介してメッセージを送受信できます。

詳細は、第35章「Enterprise JavaBeansとSOAコンポジット・アプリケーションの統合」を参照してください。

A.3.8 ファイル・アダプタ

このアダプタは、インバウンドおよびアウトバウンドの両方のアダプタとして機能します。インバウンド方向では、このアダプタは取得して処理するファイルをディレクトリ内でポーリングします。アウトバウンド方向では、ディレクトリにファイルを作成します。

A.3.9 FTPアダプタ

このアダプタは、インバウンドおよびアウトバウンドの両方のアダプタとして機能します。インバウンド方向では、このアダプタは取得して処理するファイルをディレクトリ内でポーリングします。アウトバウンド方向では、ディレクトリにファイルを作成します。

A.3.10 HTTPバインディング

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

詳細は、第34.1.2項「HTTPバインディング・サービス」を参照してください。

A.3.11 JMSアダプタ

このアダプタは、消費(インバウンド)および発行(アウトバウンド)の両方のメッセージ・アダプタとして機能します。インバウンド方向では、このアダプタはJMS宛先からのメッセージをポーリング(消費)します。アウトバウンド方向では、JMS宛先にメッセージを送信(発行)します。

A.3.12 MQアダプタ

このアダプタは、BPELプロセスとIBM MQSeriesメッセージ・ソフトウェアの間のメッセージ交換機能を提供します。

A.3.13 Oracle Applications

このアダプタは、Oracle Applicationsへの包括的な双方向、マルチモードの同期接続と非同期接続を提供します。このアダプタはOracle Applicationsリリース12およびリリース11iのモジュールをすべてサポートしています。このサポートには、Oracle E-Business Suiteのバージョンに基づいたカスタム統合インタフェース・タイプの選択も含まれます。このアダプタは、インタフェース表、ビュー、Application Program Interface(API)およびXMLゲートウェイを介して、Oracle Applicationsへのリアルタイムの双方向の接続性を提供します。また、インタフェース表とAPIを使用してOracle Applicationsにデータを挿入します。このアダプタは、Oracle Applicationsからデータを取得するためにビューを使用します。また、Oracle Applicationsとの双方向統合にXMLゲートウェイを使用します。XMLゲートウェイは、Oracle Applicationsとの間でOpen Application Group Integration Specification(OAGIS)準拠のドキュメントの挿入と受信にも使用されます。

A.3.14 ソケット・アダプタ

このアダプタを使用すると、TCP/IPソケットを介した通信用の標準または非標準プロトコルをモデル化できます。このアダプタを使用してクライアントまたはサーバーのソケットを作成し、接続を確立できます。テキストまたはバイナリのデータを転送できます。

A.3.15 サード・パーティ・アダプタ

このアダプタを使用すると、サード・パーティ・アダプタをSOAコンポジット・アプリケーションに統合できます。これらのサード・パーティ・アダプタによって、JCAアダプタを構成できるアーチファクト(WSDLおよびJCAファイル)が生成されます。

A.3.16 Webサービス

このサービスを使用すると、SOAP over HTTPを使用して標準ベース・サービスに接続できます。

詳細は、第2.3項「サービス・バインディング・コンポーネントの追加」を参照してください。

A.4 Oracle Service Registryの公開および参照

Oracle Service Registry(OSR)では、Webサービスを公開したり、Webサービスの情報を検出するための共通の標準が提供されます。この項では、個別にインストールしたOracle SOA Suite環境に対してOSRを構成する方法について説明します。

Oracle SOA Suiteでは、次のバージョンのOSRを使用できます。

OSRの詳細は、次のURLを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

注意:

  • この項では、Oracle JDeveloperに組み込まれたOracle WebLogic Serverに対してOSRを構成する方法については説明しません

  • OSR 10.3は、バージョン10.3.0.0のOracle WebLogic Serverにデプロイされます。

  • OSR 10.3は、バージョン10.3.1.0のOracle WebLogic Serverをサポートしていません。


A.4.1 ビジネス・サービスの公開方法

この項では、ビジネス・サービスの公開方法の概要を説明します。手順の詳細は、次のURLにあるドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

ページの右上隅にあるレジストリ・ドキュメントをクリックしてドキュメントにアクセスすることもできます。

ビジネス・サービスを公開する手順は、次のとおりです。

  1. 次のURLにあるレジストリ・コントロールに移動します。

    http://hostname:port/registry/uddi/web
    
  2. 「パブリッシュ」「WSDL」の順にクリックします。

  3. プロンプトが表示された時点でログインします。

  4. アクセス・ポイントのURLを指定してビジネス・サービスのWSDLを公開するために、このページの各フィールドを完了します。


    注意:

    エンドポイントの場所を後で変更した場合は、レジストリ・コントロールでWSDLの場所も更新する必要があります。そうしないと、実行時にUDDIの起動に失敗します。A.4.4.1項「レジストリ・コントロールにおけるエンドポイントの場所の変更」を参照してください。

A.4.2 レジストリへの接続の作成方法

レジストリへの接続を作成する手順は、次のとおりです。

  1. Oracle JDeveloperに移動します。

  2. 「ファイル」「新規」「接続」「UDDIレジストリ接続」の順に選択して、UDDI接続を作成します。

  3. 接続名を入力します。

  4. 照会エンドポイントURLを入力します。例:

    http://myhost.us.oracle.com:7001/registry/uddi/inquiry
    
  5. 「ビジネス・ビュー」ボタンが必ず選択されているようにします。

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

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

  8. 成功した場合は、「終了」をクリックします。成功しなかった場合は、「戻る」ボタンをクリックし、エラーを修正します。

A.4.3 SOAプロジェクトを構成してレジストリからサービスを起動する方法

SOAプロジェクトを構成してレジストリからサービスを起動する手順は、次のとおりです。

  1. ビジネス・サービスへの参照を作成するSOAプロジェクトを開きます。

  2. 「Webサービス」アイコンを「外部参照」スイムレーンにドラッグします。

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

  3. 「WSDL URL」フィールドの右側にあるアイコンをクリックし、WSDLを選択します。

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

  5. ナビゲーション・ツリーを開きます。

  6. 「UDDIレジストリ」「ビジネス・サービス」の順に開きます。

  7. 公開したビジネス・サービスを選択して、「OK」をクリックします。図A-48に詳細を示します。

    図A-48 ビジネス・サービス

    図A-48の説明が続きます
    「図A-48 ビジネス・サービス」の説明

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

  8. 次のいずれかのデプロイメント・オプションを選択します。

    • 実行時にSOAPエンドポイントの場所を動的に解決します

    • 実行時に具体WSDLの場所を動的に解決します

    図A-49に詳細を示します。

    図A-49 「UDDIデプロイメント・オプション」ダイアログ

    図A-49の説明が続きます
    「図A-49 「UDDIデプロイメント・オプション」ダイアログ」の説明

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

    「Webサービスの作成」ダイアログが再び表示されます。

  10. 「UDDIデプロイメント・オプション」ダイアログでの選択内容に応じて、次の項を参照してください。

A.4.3.1 SOAPエンドポイントの場所の動的解決

  1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。

    図A-50に示すように、「Webサービスの作成」ダイアログが表示されます。

    図A-50 「Webサービスの作成」ダイアログ - SOAPエンドポイントの場所

    図A-50の説明が続きます
    「図A-50 「Webサービスの作成」ダイアログ - SOAPエンドポイントの場所」の説明

  2. 適切なサービス・コンポーネントを使用して参照に接続します。

  3. SOAコンポジット・エディタで「ソース」をクリックします。

    composite.xmlファイルにserviceKeyが表示されます。このプロパティによって、実行時にエンドポイント・バインディングの場所が動的に解決されます。

    <property name="oracle.soa.uddi.servicekey" type="xs:string" many="false">uddi:
     d3611b59-1c79-478e-9ae5-874007eb20c4">
    
  4. 必要な場合は、「プロパティ・インスペクタ」でoracle.soa.uddi.servicekeyプロパティを明示的に追加して、SOAPエンドポイントの場所を解決することもできます。この操作によって、Webサービスの外部参照について、実行時にSOAPエンドポイントの場所が動的に解決されます。図A-51に詳細を示します。

    1. 「外部参照」スイムレーンの参照バインディング・コンポーネントをハイライト表示します。

    2. 「プロパティ・インスペクタ」「プロパティ」セクションを開きます。

    3. 「追加」アイコンをクリックします。

    4. 「名前」リストに、oracle.soa.uddi.servicekeyと入力します。

    5. 「値」フィールドに、composite.xmlファイルのoracle.soa.uddi.servicekeyの値を指定します。

      図A-51 serviceKeyプロパティ

      図A-51の説明が続きます
      「図A-51 serviceKeyプロパティ」の説明

A.4.3.2 WSDLエンドポイントの場所の動的解決

  1. 「Webサービスの作成」ダイアログの残りのフィールドを完成し、「OK」をクリックします。

    図A-52に示すように、「Webサービスの作成」ダイアログが表示されます。

    図A-52 「Webサービスの作成」ダイアログ - WSDLエンドポイントの場所

    図A-52の説明が続きます
    「図A-52 「Webサービスの作成」ダイアログ - WSDLエンドポイントの場所」の説明

  2. 適切なサービス・コンポーネントを使用して参照に接続します。

  3. SOAコンポジット・エディタで「ソース」をクリックします。

    composite.xmlファイルに、WSDLの場所が具体的なURL(HTTP URLなど)ではなく、orauddi:/uddi_service_keyの抽象的なURLであることが示されます。orauddiプロトコルによって、実行時にWSDLの場所が動的に解決されます。

    <location="orauddi:/uddi:d3689250-6ff5-11de-af2b-76279200af27">
    

A.4.3.3 エンドポイントの解決

Oracle SOA Suiteは、エンドポイントを解決するためにサービスを呼び出します。例と説明は、表A-2を参照してください。

表A-2 エンドポイントの解決

エンドポイントの解決 説明

正規化されたメッセージUDDI serviceKey

OSR UDDI serviceKeyは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(serviceKey)内で、正規化されたメッセージのプロパティに指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.oracle.soa.uddi.serviceKey"
value="uddi:10a55fa0-99e8-11df-9edf-7d5e3ef09eda"/>

正規化されたメッセージendpointURI

正規化されたメッセージendpointURIプロパティは、Oracle MediatorまたはOracle BPEL Process Managerのassignアクティビティ(endpointURI)内で指定されます。

たとえば、Oracle Mediatorでは次のようになります。

<copy target="$out.property.endpointURI"
value="http://hostname:8001/soa-infra/services
/partition/Project/endpoint_ep"/>

composite.xml UDDI serviceKey

OSR UDDI serviceKeyプロパティ(oracle.soa.uddi.serviceKey)は、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplication
 /Proj/BPELProcess1#wsdl.endpoint(bpelprocess1_client
 _ep/BPELProcess1_pt)"
 . . .>
 <property name="oracle.soa.uddi.serviceKey"
 type="xs:string"
 many="false">uddi:31040650-9ce7-11df-9ee1-7d5e3e
 f09eda</property>
</binding.ws>

composite.xml endpointURI

endpointURIプロパティは、composite.xmlのバインディング・コンポーネント・セクションで指定されます。

注意: これは、Oracle Enterprise Manager Fusion Middleware Controlで上書きできます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplica
 tion/Project/BPELProcess1#wsdl.endpoint(bpelproc
 ess1_client_ep/BPELProcess1_pt)"
 . . . >
 <property name="oracle.soa.uddi.endpointURI"
 value="http://hostname:8001/soa-infra/services/
 Partition/Project/bpelprocess1_client_ep"</property>
</binding.ws>

composite.xml具体WSDLのエンドポイントの場所

エンドポイントの場所は、composite.xmlのバインディング・コンポーネント・セクションの具体WSDLで指定されます。

<binding.ws
 port="http://xmlns.oracle.com/UDDIPublishApplication
 /Project/BPELProcess1#wsdl.endpoint(bpelprocess1_
 client_ep/BPELProcess1_pt)"
 location="http://hostname:8001/soa-infra/services
 /Partition/Project/bpelprocess1_client_ep?wsdl"
 soapVersion="1.1">

エンドポイントを解決するときのフェイルオーバー・シナリオは次のとおりです。

  • 正規化されたメッセージUDDI serviceKey

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

  • 正規化されたメッセージendpointURI

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

  • composite.xml UDDI serviceKey

    • OSR接続でエラー

      • サーバー・エラーをログに記録する

      • コーディングされている場合は、composite.xml endpointURIを使用する

      • それ以外の場合、ユーザーにエラーを返す

    • 接続で無効なserviceKeyのエラー

      • サーバー・エラーをログに記録する

      • コーディングされている場合は、composite.xml endpointURIを使用する

      • それ以外の場合、ユーザーにエラーを返す

    • エンドポイント・アクセスでエラー

      • 警告エラーをログに記録する

      • 存在する場合は、2つ目(または3つ目)のバインディング・テンプレートを使用する

      • それ以外の場合は、composite.xml endpointURIにフェイルオーバーする

  • composite.xml endpointURI

    • エンドポイント・アクセスでエラー

      • 警告エラーをログに記録する

      • composite.xml具体WSDLのエンドポイントの場所にフェイルオーバーする

  • composite.xml具体WSDLのエンドポイントの場所

    • エンドポイント・アクセスでエラー

      • サーバー・エラーをログに記録する

      • ユーザーにエラーを返す

A.4.4 ランタイムの照会URL、UDDIサービス・キーおよびエンドポイント・アドレスの構成方法

照会URL、UDDIサービス・キーおよびエンドポイント・アドレスは、実行時にOracle Enterprise Manager Fusion Middleware Controlで設定できます。

ランタイムの照会URL、サービス・キーおよびエンドポイント参照を構成する手順は、次のとおりです。

  1. Oracle Enterprise Manager Fusion Middleware Controlにログインします。

  2. 次のプロパティに値を指定します。

    • 「SOAインフラストラクチャの共通プロパティ」ページで、UDDIレジストリ接続の作成ウィザードで指定したUDDI照会URLを指定します。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のSOAインフラストラクチャのプロパティの構成に関する項を参照してください。

    • 参照バインディング・コンポーネントの「プロパティ」ページでは、設計時に作成したエンドポイント参照およびサービス・キーの値を変更できます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のサービス・バインディング・コンポーネントと参照バインディング・コンポーネントのプロパティの構成に関する項を参照してください。

  3. SOAインフラストラクチャを再起動します。

  4. Oracle Enterprise Manager Fusion Middleware Controlを終了します。

  5. エンドポイントの統計を表示するために、レジストリ・コントロールに戻ります。

  6. 管理ページに移動し、キャッシュされていない場合(最初)の起動数の増加を確認します。

    デフォルトでは、実行時にWSDL URLのキャッシュが発生します。orauddiプロトコルを使用してWSDL URLが解決された場合、後続の起動では、WSDL URLはOSRからではなくキャッシュから取得されます。キャッシュから取得したエンドポイントのWSDLにアクセスできない場合は、キャッシュがリフレッシュされて、新規エンドポイントのWSDLの場所を取得するためにOSRに接続されます。Oracle Enterprise Manager Fusion Middleware Controlで不要になりSOAインフラストラクチャで使用されないサービスは、アンデプロイすることをお薦めします。停止またはリタイア状態の(アンデプロイしていない)エンドポイント・サービスには引き続きアクセスできます。したがって、キャッシュはリフレッシュされません。

    ビジネス・サービスWSDLをあるホストから別のホストに移動する場合は、必ずレジストリ・コントロールで場所を変更してください。Oracle JDeveloperまたはOracle Enterprise Manager Fusion Middleware Controlでの変更は不要です。

    必要に応じて、サービス・キーによる照会のためにWSDL URLをキャッシュで使用できる時間を増加できます。詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のサービス・バインディング・コンポーネントと参照バインディング・コンポーネントのプロパティの構成に関する項を参照してください。


    注意:

    11gでは、キャッシュは自動的に発生します。Oracle SOA Suite 10.1.3を使用している場合は、bpel.xmlCacheRegistryWSDLプロパティをtrueに設定することでキャッシュがサポートされます。このプロパティをfalseに設定すると、キャッシュは無効になります。

A.4.4.1 レジストリ・コントロールにおけるエンドポイントの場所の変更

レジストリ・コントロールには、エンドポイントの場所を変更するオプションがあります。これは2ステップのプロセスです。次の手順で概要を示します。詳細は、Oracle Service Registryのドキュメントを参照してください。

http://www.oracle.com/technetwork/middleware/registry/overview/index.html

WSDLバインディングを更新する手順は、次のとおりです。

  1. レジストリ・コントロールにログインします。

  2. 「検索」「ビジネス」をクリックします。

  3. 「追加」「名前」をクリックします。

  4. 「名前」フィールドで、検索基準を入力します。

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

  6. 検索結果で、表示されたビジネス名をクリックします。

  7. 右側で「サービス」タブをクリックします。

  8. サービスのリストからサービス名をクリックします。

  9. 下部で「編集」ボタンをクリックします。

  10. 右側で「バインド」タブをクリックします。

  11. バインディングのリストで、説明列の隣にあるメモ帳アイコンを選択します。

    Oracle Service Registryが、バインディングの編集モードになります。

  12. 「アクセス・ポイント」フィールドで必要なURLを変更し、変更内容を保存します。図A-53に詳細を示します。

    図A-53 サービスとバインディングの変更

    図A-53の説明が続きます
    「図A-53 サービスとバインディングの変更」の説明

WSDLバインディングのサマリー・ドキュメントを更新する手順は、次のとおりです。

  1. レジストリ・コントロールで、「検索」をクリックします。

  2. 「tModel名」フィールドに名前を入力し、「tModelの検索」をクリックします。

  3. 「名前」列で、「wsdl:type representing portType」という説明の付いた名前をクリックします。

  4. WSDLの詳細が正しく表示されていることを確認します。

  5. 「編集」ボタンをクリックします。

  6. 右側で「サマリー・ドキュメント」タブをクリックします。

  7. 「説明の追加」ボタンの下で、「編集」アイコンをクリックします。

  8. 新しいURLをクリックします。

  9. 「更新」をクリックし、変更内容を保存します。図A-54に詳細を示します。

    図A-54 WSDL URLの検証

    図A-54の説明が続きます
    「図A-54 WSDL URLの検証」の説明

  10. 検証を行うには、サービスにナビゲートし、WSDLのURLが新しい場所を指していることを確認します。

A.4.4.2 複数のSOAパーティションからのWSDLの発行

レジストリ・コントロールを使用して複数のSOAパーティションからWSDLを発行し、個別のserviceKeyとバインディングを使用してそれらにアクセスする場合は、次の手順を実行します。

複数のSOAパーティションからWSDLを発行する手順は、次のとおりです。

  1. レジストリ・コントロールにログインします。

    http://host:port/registry/uddi/web
    
  2. 最初のパーティションからWSDLを発行します。

  3. 2番目のパーティションからWSDLを発行します。

    1. 「パブリッシュ」「WSDL」の順にクリックします。

    2. 「ビジネス・キー」フィールドとWSDLの場所(URI)フィールドに値を入力します。

    3. 「拡張モード」チェック・ボックスを選択します。

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

    5. 左ペインのナビゲーション・ツリーで、エンドポイント、バインディング、ポート・タイプを選択し、"新規"モードオプションが選択されていることを確認します。図A-55に詳細を示します。

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

A.4.5 複数のパーティションでUDDIにWSDLを発行する方法

Oracle Enterprise Manager Fusion Middleware ControlからWSDLサービスを発行する際には、次の制限があります。

  • 異なるSOAパーティションから、または異なるホストから同じターゲット・ネームスペースで同じサービスを発行することはできません。

  • 独自のサービス・キーを入力するオプションはありません。

かわりに、レジストリ・コンソールを使用して、異なるパーティションにデプロイされている同じWSDLサービスをOSRに発行します。

複数のパーティションのUDDIにWSDLを発行する手順は、次のとおりです。

  1. レジストリ・コンソールにログインします。

  2. 最初のパーティションのWSDLを発行します。

  3. 前述のサービス名を一意の名前に変更します。

  4. 2番目のパーティションのWSDLを発行します。

    これで2つのサービスがOSRに作成されます。

A.5 Oracle Enterprise Repositoryによる設計時ガバナンスの提供

Oracle Enterprise Repositoryは、サービスのライフ・サイクル、記憶域の配信機能、およびコンポジット、サービス、ビジネス・プロセスのメタデータや他のIT関連アセットの管理をサポートする際に設計時ガバナンスを提供します。

Oracle Enterprise Repositoryは、Oracle SOA Suite情報の中核的なソースとして機能し、サービスのライフ・サイクルにおけるすべての参加者に対して、計画済サービス、既存のサービスおよびリタイア状態のサービスに対応した人間中心の検出環境を提供します。

また、Oracle Enterprise Repositoryには、記述対象となるアセットのアーチファクト・ストアへのロール・ベースのリンク、および設計ドキュメント、承認ドキュメント、テスト・プラン、サポート・プラン、ポリシーおよびその他の形式のドキュメントへのリンクが用意されています。

Oracle JDeveloperなどの統合開発環境(IDE)からは、次のタスクを実行できます。

これらのタスクの詳細およびIDEでOracle Enterprise Repositoryを構成して使用する方法については、Oracle Fusion Middleware Oracle Enterprise Repository統合ガイドを参照してください。

Oracle JDeveloperの詳細は、Oracle Fusion Middleware Oracle Enterprise Repository構成ガイド.を参照してください。

A.6 プロセス・ダイアグラムのロード時の検証

scopeやassignなどのアクティビティを初めて作成して開くと、無効な設定を示すアイコン(感嘆符が付いた黄色い三角形)が表示されることがあります。設定が無効なのは、まだ詳細を入力していないためです。

現在のプロジェクトでこのオプションをオフにする手順は、次のとおりです。

  1. BPELダイアグラムを右クリックし、「表示」→「ダイアグラム・プロパティ」の順に選択します。

  2. 「自動検証の有効化」オプションの選択を解除します。

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

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