それでは,実際に用意されているサンプルプログラムを使って,サービスアダプタ,ビジネスプロセスなどを定義してみましょう。
各サンプルプログラムの目的を次に示します。
サービスリクエスタからサービスアダプタを呼び出す,HelloServiceAdapterサンプルプログラムを使って,サービスアダプタを定義してみましょう。
HelloServiceAdapterサンプルプログラムの概要を図C-5に,HelloServiceAdapterサンプルプログラムのコンポーネントを表C-1に示します。
図C-5 HelloServiceAdapterサンプルプログラムの概要
表C-1 HelloServiceAdapterサンプルプログラムのコンポーネント
コンポーネント | 形態 | 内容 |
---|---|---|
サービスリクエスタ | HTML/サーブレット | 入力画面を表示しサービスアダプタを呼び出します。Helloサービスを呼び出した結果をHelloサービスアダプタから受け取り,画面に表示します。 |
Helloサービスアダプタ | サービスアダプタ | Helloサービスを呼び出すためのサービスアダプタです。Helloサービスを呼び出して,サービスリクエスタに応答を返します。 |
Helloサービス | Webサービス | 入力された文字列を編集して返します。 |
説明
HelloServiceAdapterサンプルプログラムでは,次に示すコンポーネントを定義します。
サービスアダプタは,呼び出すサービス部品に合わせて作成します。HelloServiceAdapterサンプルプログラムを使って,Helloサービスアダプタを定義するときに設定する値を次の表に示します。
表C-2 Helloサービスアダプタを定義するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
サービス部品の種別 | Webサービス | 呼び出すサービス部品の種別に合わせて設定したサービスアダプタの種別です。このサンプルプログラムのサービス部品は,Webサービスのためサービスアダプタの種別もWebサービスを設定します。 |
サービス名 | Helloサービスアダプタ | アダプタの名称を指定します。 |
WSDLファイル | HelloService.wsdl | WSDLには,Webサービスがどのような機能を持ち,それを利用するためにはどのような要求をすればよいのか,などを記述する方法が定義されています。Helloサービスアダプタは,Helloサービス用WSDL(HelloService.wsdl)を使用して作成します。 |
Portの指定 | Hello | Helloサービスアダプタのポートを指定します。 |
サービスID | HelAdp | HelloサービスアダプタのIDを指定します。 |
クライアント定義ファイル | c4webcl.properties (次の内容が設定されています。「c4web.logger.log_file_prefix=HelloService」) | クライアント定義ファイルは,クライアント側の動作を制御するファイルで,「c4webcl.properties 」というファイル名称で利用者が作成します。 このサンプルプログラムでは,トレースファイ ル,およびアプリケーションログのプレフィクスとして,「HelloService」を設定するクライアント定義ファイルが用意されています。 |
Helloサービスアダプタの追加と定義手順を次に示します。
作成したHelloサービスアダプタは,正しいかどうか検証してから,パッケージングします。検証とパッケージングの手順を次に示します。
ビジネスプロセスからサービスアダプタを呼び出す,HelloBusinessProcessサンプルプログラムを使って,ビジネスプロセスを定義してみましょう。
HelloBusinessProcessサンプルプログラムの概要を図C-6に,HelloBusinessProcessサンプルプログラムのコンポーネントを表C-3に示します。
図C-6 HelloBusinessProcessサンプルプログラムの概要
表C-3 HelloBusinessProcessサンプルプログラムのコンポーネント
コンポーネント | 形態 | 内容 |
---|---|---|
サービスリクエスタ | HTML/サーブレット | 入力画面を表示しビジネスプロセスを呼び出します。Helloサービスを呼び出したビジネスプロセスの結果も画面に表示します。 |
Helloビジネスプロセス | サービスアダプタ/ビジネスプロセス | サービスリクエスタからの要求を受け取り,Webサービスを呼び出してサービスリクエスタに応答を返します。 |
Helloサービス | Webサービス | 入力された文字列を編集して返します。 |
説明
HelloBusinessProcessサンプルプログラムでは,次に示すコンポーネントを定義します。
Helloサービスアダプタの定義については,「付録C.3(1)(a) Helloサービスアダプタを定義してみましょう」を参照してください。
ビジネスプロセスは,どのようなプロセスで処理するかによって,定義する内容が異なります。HelloBusinessProcessサンプルプログラムのHelloビジネスプロセスでは,次のようなプロセスで処理します。
出力文字列: <Helloサービスの出力文字列>△and△Business△Process |
HelloBusinessProcessサンプルプログラムのビジネスプロセスは,次の流れで定義します。
HelloBusinessProcessサンプルプログラムを使って,ビジネスプロセスを追加するときに設定する値を次の表に示します。
表C-4 ビジネスプロセスを追加するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
ビジネスプロセス名 | Helloビジネスプロセス | ビジネスプロセスの名称を指定します。 |
ステータスの永続化 | yes | データベースに記録を残すかどうかを指定します。記録をとると,プロセスの進捗状況などを把握できます。このサンプルプログラムでは,データベースに記録を残すため,「yes」を選択します。 |
BPELファイル インポートする | チェックを外します | 上流工程でツールを使って作成したBPELをインポートする場合は,チェックを入れます。インポートすると,ビジネスプロセスに必要なアクティビティが自動的に表示されます。このサンプルプログラムでは,インポートしないので,チェックを外します。 |
サービスID | HelBP | ビジネスプロセスのIDを指定します。 |
Helloビジネスプロセスの追加手順を次に示します。
ビジネスプロセスでは,アクティビティを定義するときに変数を使用します。そのため,使用する変数をあらかじめ設定してから,アクティビティを定義します。Helloビジネスプロセスで使用する変数を次の表に示します。
表C-5 Helloビジネスプロセスで使用する変数
変数名 | 種別 | xsdファイル |
---|---|---|
入力データ | messageType | 入力データ.xsd |
出力データ | messageType | 出力データ.xsd |
Helloビジネスプロセスで使用する変数の設定手順を次に示します。
HelloBusinessProcessサンプルプログラムのビジネスプロセスに必要なアクティビティを次の表に示します。
表C-6 HelloBusinessProcessサンプルプログラムのビジネスプロセスに必要なアクティビティ
設定する値 | 説明 |
---|---|
受付アクティビティ | サービスリクエスタからの応答を受け付けます。 |
サービス呼出アクティビティ | Helloサービスを呼び出します。 |
データ変換アクティビティ | 文字列を編集します。 |
応答アクティビティ | 処理結果をサービスリクエスタへ返します。 |
アクティビティの配置手順を次に示します。
キャンバスへ配置した各アクティビティの内容を定義します。
<受付アクティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 受付 | アクティビティの名称を指定します。 |
オペレーション名 | getHelloString | サービスリクエスタからサービス部品を呼び出すときに利用するオペレーションの名称を指定します。 |
割当変数 | 入力データ | ビジネスプロセスの要求電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
通信モデル | 同期 | オペレーションの通信モデルを指定します。このサンプルプログラムで使用するHelloサービスは,Webサービスのため,「同期」を設定します。 |
インスタンス生成 | yes | 要求電文を受け付けたときに,プロセスを初期化するかどうかを選択します。このサンプルプログラムでは,「yes」を設定します。 |
<サービス呼出アクティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | Helloサービス | アクティビティの名称を入力します。 |
サービス名 | Helloサービスアダプタ | 要求電文を送信して呼び出すサービス部品の名称をドロップダウンリストから選択します。 |
オペレーション名 | getHelloString | [サービス名]で指定したサービス部品(Helloサービスアダプタ)のオペレーションのうち,実際に呼び出すオペレーションの名称を指定します。 |
通信モデル | 同期 | [オペレーション名]で指定したオペレーションに設定されている通信モデルが表示されます。 |
要求電文用割当変数 | 入力データ | 在庫管理サービスを呼び出す要求電文に割り当てる変数をドロップダウンリストから選択します。 |
応答電文用割当変数 | 出力データ | 同期オペレ-ションから受け取る応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
<データ変換アクティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 出力文字列編集 | アクティビティの名称を指定します。 |
変数(変換元) | 出力データ | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先) | 出力データ | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | 出力文字列編集 | データ変換定義ファイルに仮想的に付ける名称を指定します。 |
<応答アクティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 応答 | アクティビティの名称を指定します。 |
オペレーション名 | getHelloString | 対応する受付アクティビティに指定したオペレーションの名称を指定します。 |
割当変数 | 出力データ | 応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
フォルト名 | なし | フォルト処理として応答アクティビティを定義して,サービスリクエスタにフォルトが発生したことを示す応答電文を送信する場合のフォルトの名称を指定します。このサンプルプログラムではフォルト処理を使用しないため,設定しません。 |
すべてのアクティビティを定義したら,[ファイル]-[保管]を選択して,ビジネスプロセスの定義を終了します。
作成したビジネスプロセスは,正しいかどうか検証してから,パッケージングします。検証とパッケージングの方法は,Helloサービスアダプタと同じです。検証とパッケージングの詳細については,「付録C.3(1)(b) Helloサービスアダプタの検証とパッケージングをしてみましょう」を参照してください。
実際の業務に近い内容のビジネスプロセスからサービスアダプタを呼び出す,商品手配サンプルプログラムを使って,ビジネスプロセスを定義してみましょう。
ここで紹介する商品手配のサンプルプログラムは,店舗の担当者が業務システムを使って商品の手配をする場合に,在庫引当や配送手配の処理をすることを想定しています。商品手配サンプルプログラムの概要を図C-7に,商品手配サンプルプログラムのコンポーネントを表C-7に示します。
図C-7 商品手配サンプルプログラムの概要
表C-7 商品手配サンプルプログラムのコンポーネント
コンポーネント | 形態 | 内容 |
---|---|---|
サービスリクエスタ | HTML/サーブレット/JSP | 入力画面を表示しビジネスプロセスを呼び出します。サービスを呼び出したビジネスプロセスの結果も画面に表示します。 |
商品手配/在庫管理・配送受付 | サービスアダプタ/ビジネスプロセス | サービスリクエスタからの要求を受け取り,在庫管理サービスや配送受付サービスを呼び出して,サービスリクエスタに応答を返します。 |
在庫管理サービス | Webサービス | 商品の在庫を引き当て,引当番号を返します。 |
配送受付サービス | Webサービス | 配送を手配し,配送番号を返します。 |
説明
商品手配サンプルプログラムでは,次に示す三つのコンポーネントを定義します。
在庫管理サービスアダプタは,在庫管理サービス用WSDL(InventoryManagementService.wsdl)を使用して定義します。在庫管理サービスアダプタを定義するときに設定する値を次の表に示します。
表C-8 在庫管理サービスアダプタを定義するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
サービス部品の種別 | Webサービス | 呼び出すサービス部品の種別に合わせて設定したサービスアダプタの種別です。このサンプルプログラムのサービス部品は,Webサービスのためサービスアダプタの種別もWebサービスを設定します。 |
サービス名 | 在庫管理 | アダプタの名称を指定します。 |
WSDLファイル | InventoryManagementService.wsdl | WSDLには,Webサービスがどのような機能を持ち,それを利用するためにはどのような要求をすればよいのか,などを記述する方法が定義されています。在庫管理サービスアダプタは,在庫管理サービス用WSDL(InventoryManagementService.wsdl)を使用して作成します。 |
Portの指定 | InventoryManager | 在庫管理サービスアダプタのポートを指定します。 |
サービスID | InvAdp | 在庫管理サービスアダプタのIDを指定します。 |
クライアント定義ファイル | c4webcl.properties (次の内容が設定されています。「c4web.logger.log_file_prefix=InventoryManagementService」) | クライアント定義ファイルは,クライアント側の動作を制御するファイルで,「c4webcl.properties 」というファイル名称で利用者が作成します。 このサンプルプログラムでは,トレースファイ ル,およびアプリケーションログのプレフィクスとして,「InventoryManagementService」を設定する,クライアント定義ファイルが用意されています。 |
在庫管理サービスアダプタの追加と定義手順を次に示します。
配送受付サービスアダプタは,配送受付サービス用WSDL(DeliveryService.wsdl)を使用して定義します。配送受付サービスアダプタを定義するときに設定する値を次の表に示します。
表C-9 配送受付サービスアダプタを定義するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
サービス部品の種別 | Webサービス | 呼び出すサービス部品の種別に合わせて設定したサービスアダプタの種別です。このサンプルプログラムのサービス部品は,Webサービスのためサービスアダプタの種別もWebサービスを設定します。 |
サービス名 | 配送受付 | アダプタの名称を指定します。 |
WSDLファイル | DeliveryService.wsdl | WSDLには,Webサービスがどのような機能を持ち,それを利用するためにはどのような要求をすればよいのか,などを記述する方法が定義されています。配送受付サービスアダプタは,配送受付サービス用WSDL(DeliveryService.wsdl)を使用して作成します。 |
Portの指定 | Delivery | 配送受付サービスアダプタのポートを指定します。 |
サービスID | DelAdp | 配送受付サービスアダプタのIDを指定します。 |
クライアント定義ファイル | c4webcl.properties (次の内容が設定されています。「c4web.logger.log_file_prefix=DeliveryService」) | クライアント定義ファイルは,クライアント側の動作を制御するファイルで,「c4webcl.properties 」というファイル名称で利用者が作成します。 このサンプルプログラムでは,トレースファイ ル,およびアプリケーションログのプレフィクスとして,「DeliveryService」を設定する,クライアント定義ファイルが用意されています。 |
配送受付サービスアダプタの追加と定義手順を次に示します。
商品手配サンプルプログラムの商品手配ビジネスプロセスでは,次のようなプロセスで処理します。
なお,商品手配ビジネスプロセスはユーザ定義受付を利用して呼び出すため,WSDL(ArrangementService.wsdl)を使用してユーザ定義受付を作成します。
商品手配サンプルプログラムのビジネスプロセスは,次の流れで定義します。
商品手配ビジネスプロセスを追加するときに設定する値を表C-10に示します。
表C-10 商品手配ビジネスプロセスを追加するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
ビジネスプロセス名 | 商品手配 | ビジネスプロセスの名称を指定します。 |
ステータスの永続化 | yes | データベースに記録を残すかどうかを指定します。記録をとると,プロセスの進捗状況などを把握できます。このサンプルプログラムでは,データベースに記録を残すため,「yes」を選択します。 |
BPELファイル インポートする | チェックオフ | 上流工程でツールを使って作成したBPELをインポートする場合は,チェックを入れます。インポートすると,ビジネスプロセスに必要なアクティビティが自動的に表示されます。このサンプルプログラムでは,インポートしないので,チェックを外します。 |
サービスID | ArrBP | ビジネスプロセスのIDを指定します。 |
商品手配ビジネスプロセスの追加手順を次に示します。
商品手配サンプルプログラムでは,サービス部品に合わせた受付を使用して,サービスリクエスタからの要求を受け付けます。そのため,ユーザ定義受付が必要になります。ユーザ定義受付を追加するときに設定する値を表C-12に示します。
表C-11 ユーザ定義受付を追加するときに設定する値
受付名 | サービス受付 | ユーザ定義受付の名称を指定します。 |
WSDLファイル | ArrangementService.wsdl | 使用するWSDLファイル名を指定します。 |
ポート名 | Arrangement | ポート名を指定します。 |
商品手配のユーザ定義受付の追加手順を次に示します。
ビジネスプロセスでは,アクティビティを定義するときに変数を使用します。そのため,使用する変数をあらかじめ設定してから,アクティビティを定義します。商品手配ビジネスプロセスで使用する変数を次の表に示します。
表C-12 商品手配ビジネスプロセスで使用する変数
変数名 | 種別 | xsdファイル |
---|---|---|
入力データ | messageType | 入力データ.xsd |
出力データ | messageType | 出力データ.xsd |
在庫引当入力データ | messageType | 在庫引当入力データ.xsd |
在庫引当出力データ | messageType | 在庫引当出力データ.xsd |
配送手配入力データ | messageType | 配送手配入力データ.xsd |
配送手配出力データ | messageType | 配送手配出力データ.xsd |
商品手配ビジネスプロセスで使用する変数の設定手順を次に示します。
[変数・相関セット一覧]ダイアログ | [電文フォーマットの取込]ダイアログ | |||||
---|---|---|---|---|---|---|
変数名 | 種別 | サービス/受付 | サービス/受付の名称 | オペレーション名 | 電文種別 | 電文フォーマット |
出力データ | messageType | 受付名 | サービス受付 | arrangeItem | 応答電文 | 出力データ |
在庫引当入力データ | messageType | サービス名 | 在庫管理 | reserveItem | 要求電文 | 在庫引当入力データ |
在庫引当出力データ | messageType | サービス名 | 在庫管理 | reserveItem | 応答電文 | 在庫引当出力データ |
配送手配入力データ | messageType | サービス名 | 配送受付 | deliverItem | 要求電文 | 配送手配入力データ |
配送手配出力データ | messageType | サービス名 | 配送受付 | deliverItem | 応答電文 | 配送手配出力データ |
商品手配サンプルプログラムのビジネスプロセスに必要なアクティビティを次の表に示します。
表C-13 商品手配サンプルプログラムのビジネスプロセスに必要なアクティビティ
設定する値 | 説明 |
---|---|
受付アクティビティ | サービスリクエスタからの応答を受け付けます。 |
データ変換アクティビティ | 入力時,出力時,在庫引当時,および配送手配時のデータを編集します。 |
サービス呼出アクティビティ | 在庫管理サービスまたは配送受付サービスを呼び出します。 |
分岐開始アクティビティ | 条件(在庫の有無)による処理をします。 |
応答アクティビティ | 処理結果をサービスリクエスタへ返します。 |
分岐終了アクティビティ | 条件(在庫の有無)による処理を終了します。 |
アクティビティの配置手順を次に示します。
キャンバスへ配置した各アクティビティの内容を定義します。
<受付アクティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 受付 | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | サービスリクエスタから在庫管理サービスを呼び出すときに利用するオペレーションの名称を入力します。 |
割当変数 | 入力データ | ビジネスプロセスの要求電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
通信モデル | 同期 | オペレーションの通信モデルを指定します。このサンプルプログラムで使用する商品手配サービスは,Webサービスのため,「同期」を設定します。 |
インスタンス生成 | yes | 要求電文を受け付けたときに,プロセスを初期化するかどうかを選択します。このサンプルプログラムでは,初期化するため「yes」を設定します。 |
<データ変換アクティビティ>(在庫引当の前処理の場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 在庫引当前処理 | アクティビティの名称を入力します。 |
変数(変換元変数) | 入力データ | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | 在庫引当入力データ | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | 在庫引当前処理 | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
<データ変換アクティビティ>(在庫なしの場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 在庫なし設定 | アクティビティの名称を入力します。 |
変数(変換元変数) | 在庫引当出力データ | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | 出力データ | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | 在庫なし設定 | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
<データ変換アクティビティ>(配送手配の前処理の場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 配送手配前処理 | アクティビティの名称を入力します。 |
変数(変換元変数) | 在庫引当出力データ | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | 配送手配入力データ | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | 配送手配前処理 | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
<データ変換アクティビティ>(配送番号の設定の場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 配送番号設定 | アクティビティの名称を入力します。 |
変数(変換元変数) | 配送手配出力データ | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | 出力データ | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | 配送番号設定 | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
<サービス呼出アクティビティ>(在庫を引き当てる場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 在庫引当 | アクティビティの名称を入力します。 |
サービス名 | 在庫管理 | 要求電文を送信して呼び出すサービス部品の名称をドロップダウンリストから選択します。 |
オペレーション名 | reserveItem | [サービス名]で指定したサービス部品(在庫管理)のオペレーションのうち,実際に呼び出すオペレーションの名称を指定します。 |
通信モデル | 同期 | [オペレーション名]で指定したオペレーションに設定されている通信モデルが表示されます。 |
要求電文用割当変数 | 在庫引当入力データ | 在庫管理サービスを呼び出す要求電文に割り当てる変数をドロップダウンリストから選択します。 |
応答電文用割当変数 | 在庫引当出力データ | 同期オペレ-ションから受け取る応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
<サービス呼出アクティビティ>(配送を手配する場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 配送手配 | アクティビティの名称を入力します。 |
サービス名 | 配送受付 | 要求電文を送信して呼び出すサービス部品の名称をドロップダウンリストから選択します。 |
オペレーション名 | deliverItem | [サービス名]で指定したサービス部品(配送手配)のオペレーションのうち,実際に呼び出すオペレーションの名称を指定します。 |
通信モデル | 同期 | [オペレーション名]で指定したオペレーションに設定されている通信モデルが表示されます。 |
要求電文用割当変数 | 配送手配入力データ | 配送手配サービスを呼び出す要求電文に割り当てる変数をドロップダウンリストから選択します。 |
応答電文用割当変数 | 配送手配出力データ | 同期オペレ-ションから受け取る応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群 | なし | 相関セットグループをアクティビティに割り当てる場合に設定します。このサンプルプログラムでは使用しないため,設定しません。 |
<応答アクティビティ>(在庫がない場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 応答_在庫なしエラー | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | 対応する受付アクティビティに指定したオペレーション名を入力します。 |
割当変数 | 出力データ | ビジネスプロセスの応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群: | 設定なし | 相関セットグループをアクティビティに割り当てる場合に入力します。このサンプルプログラムでは使用しないため,設定しません。 |
フォルト名 | 設定なし | フォルト処理として応答アクティビティを定義して,サービスリクエスタにフォルトが発生したことを示す応答電文を送信する場合のフォルトの名称を入力します。このサンプルプログラムではフォルト処理を使用しないため,設定しません。 |
<応答アクティビティ>(配送手配が成功した場合)
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | 応答_手配成功 | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | 対応する受付アクティビティに指定したオペレーション名を入力します。 |
割当変数 | 出力データ | ビジネスプロセスの応答電文に割り当てる変数をドロップダウンリストから選択します。 |
割当相関セット群: | 設定なし | 相関セットグループをアクティビティに割り当てる場合に入力します。このサンプルプログラムでは使用しないため,設定しません。 |
フォルト名 | 設定なし | フォルト処理として応答アクティビティを定義して,サービスリクエスタにフォルトが発生したことを示す応答電文を送信する場合のフォルトの名称を入力します。このサンプルプログラムではフォルト処理を使用しないため,設定しません。 |
<分岐開始クティビティ>
項目名 | 設定する値 | 説明 |
---|---|---|
条件名 | 在庫なし | 在庫引当チェックの結果,在庫がない場合の条件を指定します。 |
変数 | 在庫引当出力データ | 条件式で使用する変数をドロップダウンリストから選択します。 |
条件式 | csc:getVariableData("在庫引当出力データ", "/*[local-name()='reserveItemResponse' and namespace-uri()='http://sample/InventoryManagementService']/*[local-name()='ReservationNumber' and namespace-uri()='http://sample/InventoryManagementService']")="*" | 在庫がない場合の条件式をXPath式で指定します。 |
<分岐終了アクティビティ>
すべてのアクティビティを定義したら,[ファイル]-[保管]を選択して,ビジネスプロセスの定義を終了します。
次に示すものは,定義した内容が正しいかどうか検証してから,パッケージングします。
検証とパッケージングは,Helloサービスアダプタの検証とパッケージングの手順と同様です。手順の詳細については,「付録C.3(1)(b) Helloサービスアダプタの検証とパッケージングをしてみましょう」を参照してください。