Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編
ビジネスプロセスを標準モードで実行する場合の設定例について説明します。
この設定例で使用する構成と処理の流れについて説明します。
設定例の構成を次の図に示します。
図F-1 設定例の構成(標準モードの場合)
この設定例では,HCSCサーバ環境を構築したマシンと同一マシン上のWebブラウザを使用します。また,J2EEサーバ内のWebサーバを使用します。なお,HTTP受付は標準モードを使用します。
設定例の処理の流れを次に示します。
なお,この設定例ではヘッダ割当変数を使用しません。以降で設定手順について説明します。
HTTP受付で使用する電文フォーマットを作成します。電文フォーマットのテンプレートは次のフォルダに格納されています。
<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema |
フォルダごと任意の場所にコピーしてから編集してください。電文フォーマットを作成する場合,コピー先のファイルを使用します。
受付時のHTTP受付のボディ割当変数に設定する電文フォーマットを作成します。電文フォーマットはテンプレートを編集して作成します。
編集するファイルは「urecp_http_body_detail_request.xsd」です。
注 urecp_http_body_request.xsdは編集しないでください。
この設定例では,次のように時速を表す要素と時間を表す要素(斜体の個所)を追加します。
<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request" xmlns:hrc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name="http-body-requestType"> <xsd:sequence> <!-- User Customize --> <xsd:element name="kilometers_per_hour" type=" xsd:positiveInteger "/> <xsd:element name="hours" type=" xsd:positiveInteger "/> </xsd:sequence> </xsd:complexType> </xsd:schema> |
なお,この例ではHTTP受付ヘッダ割当変数は使用しません。
応答時のHTTP受付のボディ割当変数に設定する電文フォーマットを作成します。
距離を返す処理を記述した次の電文フォーマットを作成し,コピーしたフォルダ内に保存してください。ファイル名は「urecp_http_body_response.xsd」です。なお,応答電文(ボディ)フォーマットのテンプレートファイルはありません。
<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="HTTPResponseBody "> <xsd:complexType> <xsd:sequence> <xsd:element name="distance" type=" xsd:positiveInteger "/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> |
HTTP受付を追加する手順を次に示します。
ユーザ定義受付定義画面で設定する内容を次に示します。なお,ユーザ定義受付定義画面の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「1.2.6 ユーザ定義受付定義画面」を参照してください。
設定する内容を次に示します。
表F-1 ユーザ定義受付定義画面(基本)の設定内容
分類 | 項目 | 設定値 | |
---|---|---|---|
ユーザ定義受付情報 | 受付名 | HTTPReception | |
受付ID | rcp1 | ||
受付種別 | カスタム受付 | ||
デフォルトオペレーション名 | calculateDistance | ||
オペレーション | calculateDistance | ||
オペレーション情報 | オペレーション名 | calculateDistance | |
通信モデル | 同期 | ||
要求電文(ボディ) | any型を使う(チェックボックス) | 使わない(チェックしない) | |
受付 | 電文フォーマット | urecp_http_body_request.xsd | |
サービス部品 | 使う(チェックボックス) | 使わない(チェックしない) | |
電文フォーマット | − | ||
データ変換定義 | − | ||
応答電文(ボディ) | any型を使う(チェックボックス) | 使わない(チェックしない) | |
受付 | 電文フォーマット | urecp_http_body_response.xsd(「(2) HTTP受付の電文フォーマットの作成」で作成したファイル) | |
サービス部品 | 使う(チェックボックス) | 使わない(チェックしない) | |
電文フォーマット | − | ||
データ変換定義 | − |
HTTPレスポンスヘッダ定義ファイルの編集手順を次に示します。なお,この設定例ではビジネスプロセス中でヘッダ割当変数を使用しないため,プロパティの説明は省略します。
Connection=close extension-header=extension-header1 |
HTTP受付定義ファイルの編集手順を次に示します。
#urecp-http.context-root= #urecp-http.max-threads=10 #urecp-http.exclusive-threads=0 #urecp-http.queue-size=8192 #urecp-http.pooled-instance.minimum=0 #urecp-http.pooled-instance.maximum=0 #urecp-http.ejb-transaction-timeout=0 #httprecp.switchover.pass-through.mode=false httprecp.http.charset=UTF-8 httprecp.response.header.filename=cscurecphttp_header.properties #httprecp.system-exception.status-code=500 #httprecp.response.generate.content-length=true |
ビジネスプロセスの定義手順を次に示します。
この例では,HTTP受付に渡された要求電文を,データ変換アクティビティを使用してデータ変換し,応答電文を生成するビジネスプロセスを作成します。
次の図に示すようにアクティビティを配置・連結してください。
図F-2 ビジネスプロセスの作成例
アクティビティを配置・連結する方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4 アクティビティの配置と連結」を参照してください。
ビジネスプロセスで使用する変数を定義します。
定義する変数を次に示します。
変数名 | 説明 |
---|---|
request_body | HTTP受付の要求電文(ボディ)の変数 |
response_body | HTTP受付の応答電文(ボディ)の変数 |
なお,この設定例では相関セットを使用しません。
変数の定義は[電文フォーマットの取込]ダイアログで実施します。それぞれの変数の定義手順を次に示します。
分類 | 項目 | 設定値 |
---|---|---|
サービス/受付 | サービス名 | − |
受付名 | HTTPReception | |
取込対象 | オペレーション名 | calculateDistance |
電文種別 | 要求電文(ボディ) | |
フォルト名 | − | |
− | 電文フォーマット | request_body |
分類 | 項目 | 設定値 |
---|---|---|
サービス/受付 | サービス名 | − |
受付名 | HTTPReception | |
取込対象 | オペレーション名 | calculateDistance |
電文種別 | 応答電文(ボディ) | |
フォルト名 | − | |
− | 電文フォーマット | response_body |
データ変換では,数値演算ファンクション「calc1」で要求電文に格納された2つのパラメタの積を求め,その値を応答電文にマッピングします。
データ変換の定義手順を次に示します。
アクティビティの設定手順を次に示します。
項目 | 設定値 |
---|---|
アクティビティ名 | 受付 |
オペレーション名 | calculateDistance |
ボディ割当変数 | request_body |
ヘッダ割当変数 | − |
割当相関セット群 | − |
通信モデル | 同期 |
インスタンス生成 | Yes |
項目 | 設定値 |
---|---|
アクティビティ名 | 応答 |
オペレーション名 | calculateDistance |
ボディ割当変数 | response_body |
ヘッダ割当変数 | − |
割当相関セット群 | − |
フォルト名 | − |
作成したビジネスプロセスを実行するための手順を示します。
Webブラウザを起動してアドレス指定部分に次のURLを指定してアクセスします。必要に応じてクエリストリングの指定値は変更してください。
http://localhost/rcp1/calculateDistance?kilometers_per_hour=80&hours=25 |
実行結果が次のようにWebブラウザに表示されます。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.