2.10. サービスエンジンの定義

2.10.1. XSLTエンジン

XSLT SEは、コンシューマから受け取ったメッセージをXSLTスタイルシートで定義した変換規則にしたがって変換し、結果を NMR に返却します。XSLT SEはプロバイダとして動作します。
XSLT SE動作概要


図2.10.1-1

2.10.1.1. サービスユニットのファイル構成

XSLT SEのサービスユニットのフォルダ構成は下図の通りです。


図2.10.1.1-1

XSLT SEのサービスユニットに含まれるファイルについて以下に説明します。
XSLT SEのSUのファイル
表2.10.1.1-1
項目
説明
/META-INF/jbi.xml
サービスユニットの配備記述子です。
service.xml
XSLT SEのエンドポイントの設定が記述されます。
*.xsl、*.xslt
変換則を定義したスタイルシートです。
*.su
サービスユニットの管理ファイル(編集不可)

2.10.1.2. エンドポイントの設定

SUエディタを使用してXSLT BCの基本的な設定をする方法を説明します。


図2.10.1.2-1

基本の設定項目
表2.10.1.2-1
設定項目
説明

基本設定
サービス名
提供するサービス名を指定します。
QName(名前空間、ローカル名) [必須]
インタフェース名
提供するインタフェース名を設定します。
QName(名前空間、ローカル名)[必須]
エンドポイント名
提供するエンドポイント名を設定します。
文字列[必須]
ESBインスタンス名
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。 その他の場合は空欄にします。
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意]
オペレーション名
提供するオペレーション名を設定します。
QName(名前空間、ローカル名)[必須]
メッセージエクスチェンジハンドラ
メッセージエクスチェンジハンドラを設定します。詳細は「14.2.メッセージエクスチェンジハンドラの設定」で説明します。
 
オプション一覧
オプションを設定します。
 

Caution
  エンドポイントのサービス名とエンドポイント名の設定は他のエンドポイントと重複しないようにしてください。

XSLTに関する設定項目
表2.10.1.2-2
設定項目
説明

XSLT SEの設定
説明
このエンドポイントに対する説明を記述します。動作には影響しません。
【マルチバイト文字列指定可】
任意の文字列[任意]
スキーマファイル インプット/アウトプット SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。
指定したスキーマファイルは、変換の定義の際のインプット/アウトプットスキーマとして利用することができます。
参照(B)
(インプット/アウトプット)
スキーマファイルの選択ダイアログを開きます。
スキーマファイルを選択すると、その相対パスがインプットおよびアウトプット のファイルのテキストボックスに表示されます。
利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。
※ artifact.xml定義時、妥当性チェックを行うため、問題がある項目名が赤色となり、正しく修正すると、項目名が黒くなります。詳細は、2.8. 妥当性チェックを参照してください。

2.10.1.3. オプション一覧の設定

[2.7.5. オプション一覧の設定] を参照して下さい。
XSLT BCにおいて設定できるオプション一覧は下記の通りです。
表2.10.1.3-1
項目
説明

XsltProcessor
XSL変換に使用するプロセッサを指定します。
Xalan/CHDL

2.10.1.4. メッセージエクスチェンジハンドラの設定

[2.7.6. メッセージハンドラの設定] を参照して下さい。

2.10.1.5. スタイルシートの作成

XSLT SEでXMLを変換する場合、変換則を定義したスタイルシート(xslファイル)を作成する必要があります。スタイルシートファイルの拡張子をxslあるいはxsltとする必要があります。
スタイルシートは、テキストエディタ等で作成してXSLT SEのServiceUnitに追加するか、ESB開発環境で提供するXMLマッピングツールとの連携機能を利用して作成します。スタイルシートは拡張子を.xsl または .xslt として、任意のファイル名でServiceUnit直下に保存してください。スタイルシート(xslファイル)を追加した場合のServiceUnitの構成を以下に示します。


図2.10.1.5-1

XMLマッピングツールとの連携機能について
スタイルシート( xslファイル)はXSLT SEのServiceUnit作成時に用意するXMLマッピングプロジェクト、変換元ファイル(*.wsdl,*.xsd)、変換先ファイル(*.wsdl,*.xsd)から生成できます。
XMLマッピングツールとの連携機能を使用してスタイルシート( xslファイル)を作成するためには、XMLマッピングファイルを使います。既存のXMLマッピングファイルも利用することができます。既存のXMLマッピングファイルを利用する場合、XMLマッピングエディターで開き、XSL出力してください。


図2.10.1.5-2

XSL出力すると、XSLファイルが生成されます。


図2.10.1.5-3

右クリック・メニューでマッピング定義 > 新規...を選択します。


図2.10.1.5-4

既存のマッピングファイルを利用する場合
XMLマッピングファイルの参照既存XMLマッピングファイルの参照を選択し、参照ボタンを押します。


図2.10.1.5-5

  利用するマッピングファイルを選択し、OKボタンを押します。


図2.10.1.5-6

選択した XMLマッピングファイル名が表示されているのを確認し、完了ボタンを押します。


図2.10.1.5-7

サービスアセンブリプロジェクト内にサービスユニット名でフォルダが作成され、その中にSUファイル(拡張子がsu)とservice.xml以外、参照するXMLマッピングファイルのリンクと出力したxslファイルのリンクが生成されます。XMLマッピングファイルのソーススキーマ/ターゲットスキーマの値がXSLT SEのスキーマファイル・インプット/アウトプットに反映されます。


図2.10.1.5-8

また、自動的にXMLマッピングエディターが開かれます。
新規のマッピングファイルを作成する場合
XMLマッピングファイルの参照新規XMLマッピングファイルを選択し、次へボタンを押します。


図2.10.1.5-9

新規XMLマッピングファイル画面が表示されます。
XMLマッピングファイル名XSLファイル名は サービスアセンブリプロジェクト名とサービスユニット名の構造で固定です。XSL出力先フォルダも サービスアセンブリプロジェクト内にサービスユニット名のフォルダで固定です。

XMLマッピングファイルフォルダを指定します。ブラウズボタンを押します。


図2.10.1.5-10

フォルダの選択が表示されます。
ここで、既存の XMLマッピングプロジェクトを選択し、マッピングファイル を作成する事もできますが、今は、XMLマッピングプロジェクトから新規作成する方法を説明します。
新規マッピングプロジェクトの作成ボタンを押します。


図2.10.1.5-11

マッピングプロジェクトの名前を入力し、完了ボタンを押します。


図2.10.1.5-12

指定したマッピングプロジェクト名が、XMLマッピングファイル・フォルダ に表示されます。
ソーススキーマ、ターゲットスキーマも、ブラウズボタンで起動するダイアログで設定します。 スキーマファイルは、ワークスペースからと、ファイルシステムから選択可能です。


図2.10.1.5-13

全てが設定できたら、完了ボタンを押します。


図2.10.1.5-14

XMLマッピングファイルの作成が終了すると、サービスアセンブリプロジェクト内にサービスユニット名でフォルダが作成され、その中にSUファイル(拡張子がsu)とservice.xml以外、サービスアセンブリプロジェクト名とサービスユニット名で構造するXMLマッピングファイルのリンクが生成されます。ソーススキーマ/ターゲットスキーマの値がXSLT SEのスキーマファイル・インプット/アウトプットに反映されます。


図2.10.1.5-15

また、自動的にXMLマッピングエディターが開かれます。

XMLマッピングエディターでの編集が完了したら、保存して、XSL出力します。


図2.10.1.5-16

XSL出力すると、サービスユニットのフォルダ下でサービスアセンブリプロジェクト名とサービスユニット名で構造するxslファイルが生成されます。


図2.10.1.5-17

マッピングファイルを開く
定義済みのマッピング定義を、SAエディタから開くことができます。
右クリック・メニューでマッピング定義を選択すると、 というメニューが表示されます。


図2.10.1.5-18

スキーマを更新しないで開く
設定済みの定義を、XMLマッピングエディターで、そのまま開く場合に利用します。
スキーマを更新して開く
スキーマを変更した場合に、新しいスキーマを元にマッピングの再定義を行う場合に利用します。
スキーマを更新して開くの場合、元のルート要素が変更後のスキーマファイルに無くなった場合、次のダイアログが表示されるので、ソースおよびターゲットの ルート要素を選択し、更新ボタンを押すと、XMLマッピングエディターが開きます。


図2.10.1.5-19

Memo
スキーマを変更した場合は、スキーマファイル・インプット/スキーマファイル・アウトプットで設定されるスキーマファイルのファイル名またはファイル内容が変更された場合です。

2.10.1.6. メッセージ交換方式(MEP)

メッセージ交換方式(MEP)については[ 製品構成と提供機能 > 3. JBI仕様 > 3.2. Normalized Message Router ] の 「メッセージ交換方式(MEP)」をご覧下さい。
表2.10.1.6-1
MEP
タイプ
動作の説明
In-Out
要求
NMR から受け付けたメッセージエクスチェンジに格納されたinデータをスタイルシートによってXSL変換を行います。
応答(out)
XSL変換に成功すれば、変換したoutデータを格納したメッセージエクスチェンジを NMR に返却します。この後、NMR からDONEステータスが設定されたメッセージエクスチェンジを待ち受けます。
応答(Error)
XSL変換に失敗すると、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。
In-Only
--
(XSLT SEでは対応しません)
Robust In-Only
--
(XSLT SEでは対応しません)
In Optional-Out
--
(XSLT SEでは対応しません)