Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム ファーストステップガイド
商品手配システムのProductStockビジネスプロセスは,次のような処理を実現します。
また,商品手配システムのリクエスタにはサンプルプログラムと同じサービスリクエスタを使用します。そのため,ユーザ定義受付(SOAP受付)をビジネスプロセスに関連づけて定義して,サンプルプログラムと同様にSOAPプロトコルでリクエストを受付できるようにします。
商品手配システムのビジネスプロセスは,次の流れで定義します。
ProductStockビジネスプロセスを追加するときに設定する値を次の表に示します。
表6-3 ProductStockビジネスプロセスを追加するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
ビジネスプロセス名 | ProductStock | ビジネスプロセスの名称を指定します。 |
ステータスの永続化 | yes | データベースに記録を残すかどうかを指定します。記録をとると,プロセスの進捗状況などを把握できます。この商品手配システムでは,データベースに記録を残すため,「yes」を選択します。 |
[BPELファイル] | チェックを外します | 上流工程でツールを使って作成したBPELをインポートする場合は,チェックを入れます。インポートすると,ビジネスプロセスに必要なアクティビティが自動的に表示されます。この商品手配システムでは,インポートしないので,チェックを外します。 |
サービスID | ArrBP | ビジネスプロセスのIDを指定します。 |
ProductStockビジネスプロセスの追加手順を次に示します。
ユーザ定義受付では,サービスリクエスタとのインターフェースをあらかじめ決める必要があります。商品手配システムでは,WSDLファイルを利用してサービスリクエスタとユーザ定義受付とのインターフェースを定義します。ユーザ定義受付を追加するときに設定する値を次の表に示します。
表6-4 ユーザ定義受付を追加するときに設定する値
項目名 | 設定する値 | 説明 |
---|---|---|
受付種別 | SOAP受付 | 受付種別を選択します。 |
受付名 | サービス受付 | ユーザ定義受付の名称を指定します。 |
WSDLファイル※ | ArrangementService.wsdl | 使用するWSDLファイル名を指定します。 |
ポート名 | Arrangement | ポート名を指定します。 |
ProductStockのユーザ定義受付の追加手順を次に示します。
ビジネスプロセスでは,アクティビティを定義するときに変数を使用します。そのため,使用する変数をあらかじめ定義しておく必要があります。ProductStockビジネスプロセスで使用する変数を次の表に示します。
表6-5 ProductStockビジネスプロセスで使用する変数
変数名 | 種別 |
---|---|
InputData | XML |
OutputData | XML |
InventoryAllocationInputData | XML |
InventoryAllocationOutputData | XML |
DeliveryArrangementInputData | XML |
DeliveryArrangementOutputData | XML |
ProductStockビジネスプロセスで使用する変数の設定手順を次に示します。
項目名 | 変数名 | ||||
---|---|---|---|---|---|
OutputData | InventoryAllocationInputData | InventoryAllocationOutputData | DeliveryArrangementInputData | DeliveryArrangementOutputData | |
サービス/受付 | 受付名 | サービス名 | サービス名 | サービス名 | サービス名 |
サービス/受付の名称 | ServiceReceipt | InventoryManagement | InventoryManagement | DeliveryReceipt | DeliveryReceipt |
オペレーション名 | arrangeItem | reserveItem | reserveItem | deliverItem | deliverItem |
電文種別 | 応答電文(ボディ) | 要求電文(ボディ) | 応答電文(ボディ) | 要求電文(ボディ) | 応答電文(ボディ) |
電文フォーマット | OutputData | InventoryAllocationInputData | InventoryAllocationOutputData | DeliveryArrangementInputData | DeliveryArrangementOutputData |
ProductStockビジネスプロセスに必要なアクティビティを次の表に示します。
表6-6 ProductStockビジネスプロセスに必要なアクティビティ
設定する値 | 説明 |
---|---|
受付アクティビティ | サービスリクエスタからの応答を受け付けます。 |
データ変換アクティビティ | 入力時,出力時,在庫引当時,および配送手配時のデータを編集します。 |
サービス呼出アクティビティ | 在庫管理サービスまたは配送受付サービスを呼び出します。 |
分岐開始アクティビティ | 条件(在庫の有無)による処理をします。 |
応答アクティビティ | 処理結果をサービスリクエスタへ返します。 |
分岐終了アクティビティ | 条件(在庫の有無)による処理を終了します。 |
アクティビティの配置手順を次に示します。
キャンバスへ配置した各アクティビティの内容を定義します。
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | Receive | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | サービスリクエスタから在庫管理サービスを呼び出すときに利用するオペレーションの名称を入力します。 |
ボディ割当変数 | InputData | ビジネスプロセスの要求電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数 | 設定なし | ビジネスプロセスの要求電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
通信モデル | 同期 | オペレーションの通信モデルを指定します。ProductStockは,各サービス部品の呼び出し結果から応答電文を作成するため,「同期」を設定します。 |
インスタンス生成 | yes | 要求電文を受け付けたときに,プロセスを初期化するかどうかを選択します。この商品手配システムでは,初期化するため「yes」を設定します。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | StockAllocationPre-processing | アクティビティの名称を入力します。 |
変数(変換元変数) | InputData | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | InventoryAllocationInputData | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | StockAllocationPre-processing | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | NoStockArrangement | アクティビティの名称を入力します。 |
変数(変換元変数) | InventoryAllocationOutputData | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | OutputData | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | NoStockArrangement | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | DeliveryArrangementPre-processing | アクティビティの名称を入力します。 |
変数(変換元変数) | InventoryAllocationOutputData | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | DeliveryArrangementInputData | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | DeliveryArrangementPre-processing | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | DeliveryNumberArrangement | アクティビティの名称を入力します。 |
変数(変換元変数) | DeliveryArrangementOutputData | データの変換元になる変数をドロップダウンリストから選択し,[追加]ボタンをクリックします。 |
変数(変換先変数) | OutputData | データの変換先になる変数をドロップダウンリストから選択します。 |
データ変換定義 | DeliveryNumberArrangement | 変数の変換に使うデータ変換定義ファイルの名称を入力します。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | StockAllocation | アクティビティの名称を入力します。 |
サービス名 | InventoryManagement | 要求電文を送信して呼び出すサービス部品の名称をドロップダウンリストから選択します。 |
オペレーション名 | reserveItem | [サービス名]で指定したサービス部品(在庫管理)のオペレーションのうち,実際に呼び出すオペレーションの名称を指定します。 |
通信モデル | 同期 | [オペレーション名]で指定したオペレーションに設定されている通信モデルが表示されます。 |
ボディ割当変数(要求電文) | InventoryAllocationInputData | 在庫管理サービスを呼び出す要求電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数(要求電文) | 設定なし | 在庫管理サービスを呼び出す要求電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
ボディ割当変数(応答電文) | InventoryAllocationOutputData | 同期オペレーションから受け取る応答電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数(応答電文) | 設定なし | 同期オペレーションから受け取る応答電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | DeliveryArrangement | アクティビティの名称を入力します。 |
サービス名 | DeliveryReceipt | 要求電文を送信して呼び出すサービス部品の名称をドロップダウンリストから選択します。 |
オペレーション名 | deliverItem | [サービス名]で指定したサービス部品(配送手配)のオペレーションのうち,実際に呼び出すオペレーションの名称を指定します。 |
通信モデル | 同期 | [オペレーション名]で指定したオペレーションに設定されている通信モデルが表示されます。 |
ボディ割当変数(要求電文) | DeliveryArrangementInputData | 配送手配サービスを呼び出す要求電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数(要求電文) | 設定なし | 配送手配サービスを呼び出す要求電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
ボディ割当変数(応答電文) | DeliveryArrangementOutputData | 同期オペレーションから受け取る応答電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数(応答電文) | 設定なし | 同期オペレーションから受け取る応答電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | Reply_NostockError | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | 対応する受付アクティビティに指定したオペレーション名を入力します。 |
ボディ割当変数 | OutputData | ビジネスプロセスの応答電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数 | 設定なし | ビジネスプロセスの応答電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に入力します。この商品手配システムでは使用しないため,設定しません。 |
フォルト名 | 設定なし | フォルト処理として応答アクティビティを定義して,サービスリクエスタにフォルトが発生したことを示す応答電文を送信する場合のフォルトの名称を入力します。この商品手配システムではフォルト処理を使用しないため,設定しません。 |
項目名 | 設定する値 | 説明 |
---|---|---|
アクティビティ名 | Reply_ArrangementSuccess | アクティビティの名称を入力します。 |
オペレーション名 | arrangeItem | 対応する受付アクティビティに指定したオペレーション名を入力します。 |
ボディ割当変数 | OutputData | ビジネスプロセスの応答電文のボディに割り当てる変数をドロップダウンリストから選択します。 |
ヘッダ割当変数 | 設定なし | ビジネスプロセスの応答電文のヘッダに変数を割り当てる場合に設定します。この商品手配システムでは使用しないため,設定しません。 |
割当相関セット群 | 設定なし | 相関セットグループをアクティビティに割り当てる場合に入力します。この商品手配システムでは使用しないため,設定しません。 |
フォルト名 | 設定なし | フォルト処理として応答アクティビティを定義して,サービスリクエスタにフォルトが発生したことを示す応答電文を送信する場合のフォルトの名称を入力します。この商品手配システムではフォルト処理を使用しないため,設定しません。 |
項目名 | 設定する値 | 説明 |
---|---|---|
条件名 | No Stock | 在庫引当チェックの結果,在庫がない場合の条件を指定します。 |
変数 | InventoryAllocationOutputData | 条件式で使用する変数をドロップダウンリストから選択します。 |
条件式※ | csc:getVariableData("InventoryAllocationOutputData", "/*[local-name()='reserveItemResponse' and namespace-uri()='http://sample/InventoryManagementService']/*[local-name()='ReservationNumber' and namespace-uri()='http://sample/InventoryManagementService']")="*" | 在庫がない場合の条件式をXPath式で指定します。 |
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.