Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

4.9.1 コンポーネント共通UOCの概要

コンポーネント共通UOCでは,次の2つのことができます。

<この項の構成>
(1) UOCクラスのインスタンス生成
(2) UOCクラスの呼び出し

(1) UOCクラスのインスタンス生成

UOCクラスのインスタンスは,HCSCサーバ起動時に作成され,メモリ上に保持されます。

UOCクラスのインスタンス生成の流れを次に示します。

  1. コンポーネント共通UOC用プロパティファイルの読み込み
    コンポーネント共通UOC用プロパティファイルを読み込み,UOCクラスの呼び出し元IDをkey情報,呼び出されるUOCクラスのクラスパスをvalueとするMap型のデータを作成し,jarファイル作成の処理へ設定します。
    プロパティファイルの読み込みに失敗した場合,メッセージログに例外ログ(KDEC11003-E)を出力したあと,HCSCサーバ起動処理を中断します。
  2. コンポーネント共通UOC用jarファイルの読み込みおよびインスタンス作成
    コンポーネント共通UOC用プロパティを読み込んで作成したMap型データからクラスパスを取得し,UOCクラスのインスタンスを生成します。
    生成したUOCクラスのインスタンスは,クラスインスタンスをvalue,クラスパスをkeyとするMap型データに格納します。
    クラスファイルの読み込みに失敗した場合,メッセージログに例外ログ(KDEC11002-E)を出力したあと,HCSCサーバ起動処理を中断します。

(2) UOCクラスの呼び出し

受付の共通処理部分,およびサービスアダプタの共通処理部分から呼び出すため,すべてのコンポーネントの処理でUOCクラスを呼び出すことができます。

コンポーネントの処理タイミングと,UOCクラスの呼び出しの有無を次に示します。

表4-16 コンポーネントの処理タイミングと,UOCクラスの呼び出しの有無

種別 起動時 開始時 終了時 停止時
正常 フォルト システム例外
標準受付 × × × ×
ユーザ定義受付 SOAP受付の場合 × × × ×
SOAP受付以外の場合 × ×
ビジネスプロセス × × × × × ×
サービスアダプタ × × × ×

(凡例)
○:UOCクラスを呼び出します。
×:UOCクラスを呼び出しません。

(a) UOCクラスへの入力情報

UOCクラスへの入力情報は,Map型のオブジェクトにまとめて渡します。

UCO用インターフェースで定義した定数(key)を基にデータを取得します。

定数(key)は,UOCクラスを作成する際にimplementsするインターフェースに定義します。

定義する定数を次に示します。

表4-17 定義する定数

定数名(key名) データ型 設定内容
COMPO_TYPE int 1:サービスアダプタ
2:受付
COMPO_KIND String 受付の場合
  • StandardWebService:標準受付(Webサービス)
  • StandardSessionBean:標準受付(SessionBean)
  • StandardWSR:標準受付(MDB(WS-R))
  • StandardDBQ:標準受付(MDB(DBキュー))
  • WebService:SOAP受付
  • TP1/RPC:TP1/RPC受付
  • FTP:FTP受付
  • HTTP:HTTP受付
  • MessageQueue:Message Queue受付
  • FileEvent:ファイルイベント受付
  • Custom:カスタム受付

サービスアダプタの場合
  • WebService:SOAPアダプタ
  • SessionBean:SessionBeanアダプタ
  • MDB_WSR:MDB(WS-R)アダプタ
  • MDB_DBQ:MDB(DBキュー)アダプタ
  • DB:DBアダプタ
  • TP1:TP1アダプタ
  • File:ファイルアダプタ
  • ObjectAccess:Object Accessアダプタ
  • MessageQueue:Message Queueアダプタ
  • FTP:FTPアダプタ
  • FileOperation:ファイル操作アダプタ
  • Mail:メールアダプタ
  • HTTP:HTTPアダプタ
  • Command:コマンドアダプタ
  • SFTP:SFTPアダプタ
  • Custom:汎用カスタムアダプタ
COMPO_ID String 受付の受付IDまたはサービスアダプタのサービスID
TELEGRAM_DATA CSCMsgTelegramManager リクエスト電文または応答電文
MONITOR_SEND_DATA Map<String, Object> 送信データ格納Map
DESTINATION_DATA CSCMsgDestinationData 呼び出すサービスの宛先情報

注※
ユーザ定義受付(SOAP受付を除く)の場合だけ取得できます。

 

パラメタMapから取得する電文の内容を次に示します。

●電文
リクエスト電文や応答電文は,電文取得用API(CSCMsgTelegramManager)でUOCクラスに渡し,「#getHeader」または「#getBody」を使用して電文を取得します。
なお,電文はバイト配列で渡すため,XML電文の場合はDocument型などに変換する必要があります。

●宛先情報
SOAPユーザ定義受付以外のユーザ定義受付の場合に呼び出すサービスの宛先情報が取得できます。また,ユーザ定義受付のリクエスト受付時にサービスの宛先情報取得用APIを使用し,任意の値を設定することで,呼び出すサービスを変更できます。
(b) UOCクラスを呼び出すタイミング

UOCクラスを呼び出すタイミングと電文との関係を次に示します。

図4-13 UOCクラスを呼び出すタイミングと電文との関係

[図データ]

  1. 受付ではサービスリクエスタからの要求電文をUOCクラスに渡します。
  2. サービスアダプタではサービス部品に渡す要求電文をUOCクラスに渡します。
  3. サービスアダプタではサービス部品から返る応答電文をUOCクラスに渡します。
  4. 受付ではサービスアダプタからの応答電文をUOCクラスに渡します。

注意
呼び出すサービスの宛先を変更した場合,リクエストトレースで出力される宛先は実際の宛先と異なることがあります。
(c) 性能解析トレースの出力

コンポーネント共通UOCを使用すると,性能解析トレースは必ず出力されます。性能解析トレースが出力されるタイミングは,UOCクラスの呼び出し直前と直後になります。

性能解析トレースファイルに出力される形式は,J2EEサーバの性能解析トレースと同様です。性能解析トレースファイルの詳細については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.3 Management Serverを利用した性能解析トレースファイルの収集」を参照してください。