Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編
この設定例では,次のような処理を行うビジネスプロセスを定義します。
この設定例で作成する環境の構成を次の図に示します。
図G-1 設定例1で作成する環境の構成
この設定例では,図中の点線で囲まれた部分の定義手順について説明します。
HTTPクライアントにはWebブラウザを利用します。
ファイルを受信するフォルダには作業フォルダを利用します。
設定の流れを次に示します。
それぞれの手順について次に説明します。
HCSC簡易セットアップ機能を利用してJ2EEサーバおよびHCSCサーバを構築します。
開発環境を構築します。
テスト環境でHTTP受付およびHTTPアダプタが動作するために,各種定義ファイルを設定します。
HTTP受付で使用する定義ファイルの種類と,この設定例での使用有無を次に示します。
定義ファイルの種類 | 概要 | この設定例での使用有無 |
---|---|---|
HTTPレスポンスヘッダ定義ファイル | HTTP受付の応答電文フォーマット(ヘッダ変数用)を省略した場合のデフォルト値として使用するHTTPレスポンスヘッダ情報を設定します。 | 使用しません。 |
HTTP受付定義ファイル | HTTP受付の動作情報を設定します。 | 使用します。 |
この設定例では,作業フォルダを利用してファイルを受信するため,次に示すHTTP受付定義ファイルのファイル設定用プロパティを設定します。
プロパティ名 | 設定値 | 説明 |
---|---|---|
httprecp.switchover.file-transfer.mode | true | 作業フォルダを生成するため,ここでは「true」を設定します。 |
httprecp.response.ignore-bodymsg | true | HTTP受付のレスポンス内容に,応答電文(ボディ)ではなく作業フォルダ内のファイルを使用するため,ここでは「true」を設定します。 |
表に記載していないプロパティは設定不要です。
各プロパティの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「HTTP受付定義ファイル」を参照してください。
HTTP受付定義ファイルは「(6) ビジネスプロセスの追加」で編集します。
HTTPアダプタで使用する定義ファイルの種類と,この設定例での使用有無を次に示します。
定義ファイルの種類 | 概要 | この設定例での使用有無 |
---|---|---|
HTTPアダプタ定義ファイル | HTTPアダプタの環境非依存の動作情報を設定します。 | 使用しません(すべてデフォルト値を使用します)。 |
HTTPアダプタ実行環境プロパティファイル | HTTPアダプタの環境依存の動作情報を設定します。 | 使用します。 |
HTTPアダプタ実行環境共通プロパティファイル | HTTPアダプタの環境依存の動作情報を設定します。複数のアダプタの定義を一括で変更する場合に使用します。 | 使用しません。 |
HTTPアダプタでは,これらの定義ファイル以外にシステムプロパティの設定が必要な場合がありますが,この設定例では使用しません。
HTTPアダプタ実行環境プロパティファイルで設定するプロパティを次の表に示します。
プロパティ名 | 設定値 | 概要 |
---|---|---|
adphttp.request.method | GET | ファイルダウンロード要求のリクエストをGETメソッドで行うため,「GET」を設定します。 |
adphttp.request.uri-scheme-authority | 環境に応じて設定します。 | URIのスキームとオーソリティを指定します。事前に準備している接続先を指定します。この設定例では「http://hostA」とします。 |
adphttp.request.uri-path | 環境に応じて設定します。 | URIのパスを指定します。この設定例ではtest.bmpファイルをダウンロードするパスとして「/test.bmp」を設定します。 |
adphttp.request.output-folder-name | −(設定しません) | この設定例ではダウンロードしたファイルを作業フォルダに出力するため,設定しません。 |
表に記載していないプロパティは設定不要です。
各プロパティの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「HTTPアダプタ実行環境プロパティファイル」を参照してください。
設定手順を次に示します。
adphttp.request.method=GET adphttp.request.uri-scheme-authority=http://hostA adphttp.request.uri-path=/test.bmp #adphttp.request.uri-query.<INDEX>=<QUERY-NAME>=<QUERY-VALUE> #adphttp.request.header.authorization.type=none #adphttp.request.header.authorization= #adphttp.request.header.content-type.charset= #adphttp.request.header.content-type= #adphttp.request.header.userdef.<INDEX>=<FIELD-NAME>:<FIELD-VALUE> #adphttp.request.part.message.binding=none #adphttp.request.part.file.1.input-folder-name= #adphttp.request.part.file.1.local-file-name= #adphttp.request.output-folder-name= #adphttp.config.trace.path= #adphttp.config.messagelog.level=10 #adphttp.config.methodtrace.level=3 #adphttp.config.methodtrace.filenum=8 #adphttp.config.methodtrace.filesize=2097152 #adphttp.config.exptrace.filenum=8 #adphttp.config.exptrace.filesize=2097152 |
この設定例では,デフォルトの作業フォルダルートを使用するため,HCSCサーバランタイム定義ファイルの設定は不要です。
作業フォルダの詳細は,マニュアル「サービスプラットフォーム 解説」の「2.13.6 HTTP受付のファイル管理」を参照してください。
開発環境でHTTPアダプタを定義します。操作手順を次に示します。
開発環境でビジネスプロセスを追加します。操作手順を次に示します。
項目 | 設定内容 |
---|---|
ビジネスプロセス名 | 「bp1」を入力します。 |
ステータスの永続化 | 「no」を選択します。 |
BPELファイル | 「インポートする」にチェックしません。 |
リクエストを受け付けるための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.switchover.file-transfer.mode=true #httprecp.http.charset=UTF-8 httprecp.response.ignore-bodymsg=true #httprecp.response.header.filename= #httprecp.system-exception.status-code=500 #httprecp.response.generate.content-length=true #httprecp.file-trans.temp-file.partsize-threshold=0 #httprecp.file-trans.maxsize.part=2147483647 #httprecp.file-trans.maxsize.request=2147483647 #httprecp.work-dir.auto-delete=true #httprecp.response.download.disposition-type=attachment |
ビジネスプロセスの処理フローを定義します。
ビジネスプロセスで利用する変数を1つずつ定義します。この設定例で定義する変数の一覧を次に示します。
表G-1 定義する変数一覧
# | 変数名 | 種別 | 用途の説明 |
---|---|---|---|
1 | recphttp_head_request | XML | HTTP受付の要求電文(ヘッダ)用の変数 |
2 | recphttp_head_response | XML | HTTP受付の応答電文(ヘッダ)用の変数 |
3 | adphttp_head_request | XML | HTTPアダプタの要求電文(ヘッダ)用の変数 |
4 | adphttp_head_response | XML | HTTPアダプタの応答電文(ヘッダ)用の変数 |
5 | recphttp_body_request | XML | HTTP受付の要求電文(ボディ)用の変数 |
6 | recphttp_body_response | XML | HTTP受付の応答電文(ボディ)用の変数 |
7 | adphttp_body_request | non-XML | HTTPアダプタの要求電文(ボディ)用の変数 |
8 | adphttp_body_response | non-XML | HTTPアダプタの応答電文(ボディ)用の変数 |
変数の定義手順を次に示します。
# | 変数名 | 参照フォーマット定義 |
---|---|---|
1 | recphttp_head_request | <サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_header_request.xsd |
2 | recphttp_head_response | <サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\http\schema\urecp_http_header_response.xsd |
3 | adphttp_head_request | <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_header_request1.xsd |
4 | adphttp_head_response | <サービスプラットフォームのインストールディレクトリ>\CSC\custom-adapter\HTTP\schema\adphttp_header_response1.xsd |
# | 変数名 | サービス/受付 | オペレーション名 | 電文種別 | 電文フォーマット | |
---|---|---|---|---|---|---|
5 | recphttp_body_request | 受付名 | recphttp | get | 要求電文(ボディ) | recphttp_body_request.xsd |
6 | recphttp_body_response | 受付名 | recphttp | get | 応答電文(ボディ) | recphttp_body_response.xsd |
7 | adphttp_body_request | サービス名 | adphttp | FileDownload | 要求電文(ボディ) | adphttp_body_request.fdx |
8 | adphttp_body_response | サービス名 | adphttp | FileDownload | 応答電文(ボディ) | adphttp_body_response.fdx |
ビジネスプロセス定義画面で次の表に示す順番にアクティビティを配置して,コネクションで接続します。
順番 | アクティビティ種別 | 初期アクティビティ名 | 説明 |
---|---|---|---|
1 | 開始 | 開始 | ビジネスプロセスの開始を表します。デフォルトで配置されています。 |
2 | 受付 | 受付1 | HTTPクライアントからの要求電文を受け付けるためのインターフェースを定義します。 |
3 | データ変換 | データ変換1 | データ変換処理を定義します。 |
4 | データ変換 | データ変換2 | データ変換処理を定義します。 |
5 | サービス呼出 | サービス呼出1 | 定義済みのHCSCコンポーネントへの要求電文の送信を定義します。この設定例ではHTTPアダプタが対象となります。 |
6 | データ変換 | データ変換3 | データ変換処理を定義します。 |
7 | データ変換 | データ変換4 | データ変換処理を定義します。 |
8 | 応答 | 応答1 | HTTPクライアントから受信した要求電文に対する応答を返すためのインターフェースを定義します。 |
9 | 終了 | 終了 | ビジネスプロセスの終了を表します。デフォルトで配置されています。 |
アクティビティを配置する手順については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.4.1 アクティビティを配置する」を参照してください。
配置後のビジネスプロセス定義画面の状態を次に示します。
注 図のとおりに整列させる必要はありません。
HTTPアダプタを呼び出すためのサービス呼出アクティビティを定義します。
項目 | 設定内容 | |
---|---|---|
アクティビティ名 | HTTPアダプタ呼出 | |
サービス名 | adphttp | |
オペレーション名 | FileDownload | |
通信モデル | 同期(編集できません) | |
要求電文 | ボディ割当変数 | adphttp_body_request |
応答電文 | ボディ割当変数 | adphttp_body_response |
項目 | 設定内容 |
---|---|
割当変数 | adphttp_head_request |
ルート要素 | http-header-request |
名前空間 | http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_request |
項目 | 設定内容 |
---|---|
割当変数 | adphttp_head_response |
ルート要素 | http-header-response |
名前空間 | http://www.hitachi.co.jp/soft/xml/cosminexus/csc/adapter/http/header_response |
受付アクティビティを定義します。
項目 | 設定内容 |
---|---|
アクティビティ名 | 受付 |
オペレーション名 | get |
ボディ割当変数 | recphttp_body_request |
通信モデル | 同期 |
インスタンス生成 | yes |
項目 | 設定内容 |
---|---|
割当変数 | recphttp_head_request |
ルート要素 | http-header-request |
名前空間 | http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/request |
応答アクティビティを定義します。
項目 | 設定内容 |
---|---|
アクティビティ名 | 応答 |
オペレーション名 | get |
ボディ割当変数 | recphttp_body_response |
フォルト名 | −(設定しません) |
項目 | 設定内容 |
---|---|
割当変数 | recphttp_head_response |
ルート要素 | http-header-response |
名前空間 | http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/http/response |
各データ変換アクティビティを定義します。
アクティビティ | 項目 | 設定内容 | |
---|---|---|---|
データ変換1 | アクティビティ名 | HTTPアダプタボディ要求電文生成 | |
変換元変数 | 一覧※ | recphttp_body_request | |
変換先変数 | 変数 | adphttp_body_request | |
データ変換定義 | HTTPアダプタボディ要求電文生成 | ||
データ変換2 | アクティビティ名 | HTTPアダプタヘッダ要求電文生成 | |
変換元変数 | 一覧※ | recphttp_head_request | |
変換先変数 | 変数 | adphttp_head_request | |
データ変換定義 | HTTPアダプタヘッダ要求電文生成 | ||
データ変換3 | アクティビティ名 | HTTP受付ボディ応答電文生成 | |
変換元変数 | 一覧※ | adphttp_body_response | |
変換先変数 | 変数 | recphttp_body_response | |
データ変換定義 | HTTP受付ボディ応答電文生成 | ||
データ変換4 | アクティビティ名 | HTTP受付ヘッダ応答電文生成 | |
変換元変数 | 一覧※ | adphttp_head_response | |
変換先変数 | 変数 | recphttp_head_response | |
データ変換定義 | HTTP受付ヘッダ応答電文生成 |
「(8)(f) データ変換アクティビティの定義」で定義したデータ変換アクティビティに対して,マッピング定義を生成します。
マッピング定義の操作方法についてはマニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6.4 マッピングする」を参照してください。
各データ変換アクティビティのマッピング定義について示します。
HTTPアダプタがダウンロードするファイルを作業フォルダに格納するようにマッピングします。リクエストのメソッドおよびURIはHTTPアダプタ実行環境プロパティファイルに定義しているため,要求電文の該当個所へのマッピングは不要です。
マッピング元 | マッピング先 |
---|---|
/hrc:http-header-request/hrc:request-id | /tns:http-header-request/tns:request-id |
constファンクション(false) | /tns:http-header-request/tns:output-folder-name/@common |
HTTP受付がクライアントに返すファイル情報をマッピングします。
マッピング元 | マッピング先 |
---|---|
constファンクション(file-name) | /hrc:http-header-response/hrc:files/hrc:file/hrc:file-name |
/tns:http-header-response/tns:http-part/tns:files/tns:file/tns:local-file-name | /hrc:http-header-response/hrc:files/hrc:file/hrc:local-file-name |
/tns:http-header-response/tns:http-header-Content-Type | /hrc:http-header-response/hrc:files/hrc:file/hrc:content-type |
/tns:http-header-response/tns:http-header-Content-Type/@charset | /hrc:http-header-response/hrc:files/hrc:file/hrc:content-type/@charset |
定義したHCSCコンポーネントを保存して配備定義します。操作手順を次に示します。
次のダイアログが表示されていれば処理が正常に完了しています。
失敗した場合は,エラー内容を基にここまで定義した内容に誤りがないか確認してください。
ビジネスプロセスが正しく実行されている場合は,次のポップアップが出力されてHTTP受付からファイルをダウンロードできます。
ダウンロードするファイル名は,マッピング定義のconstファンクションで指定した名称となります。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.