|
ebXML プロトコル (Electronic Business using eXtensible Markup Language) は、あらゆる場所であらゆる規模の企業がインターネット経由で業務を行うことを可能にする仕様のモジュラ スイートです。ebXML は UN/CEFACT および OASIS でサポートされています。ebXML の詳細については、http://www.ebXML.org を参照してください。
ebXML コントロールを使用すると、Oracle Workshop for WebLogic ビジネス プロセスでは、ebXML 経由でトレーディング パートナとビジネス メッセージおよびデータを交換できます。ebXML コントロールは、ebXML 1.0 と ebXML 2.0 の両方のメッセージング サービスをサポートしています。開始者ビジネス プロセスで ebXML コントロールを使用することで、参加者との ebXML ビジネス メッセージの交換を管理できます。ebXML ソリューションの概要については、『Trading Partner Integration の紹介』を参照してください。
Trading Partner Integration の紹介
開始者ビジネス プロセスで ebXML コントロールを使用することで、参加者と ebXML ビジネス メッセージを交換できます。ebXML コントロールは、ビジネス メッセージを送受信するためのメソッドを提供します。詳細については、EBXMLControl インタフェースを参照してください。参加者から受信した ebXML メッセージ、確認応答、およびエラーは、コールバックによって処理されます。
参加者ビジネス プロセスでは ebXML コントロールを使用して受信メッセージに応答しないでください。代わりに、クライアント要求ノードを使用して開始者からの受信ビジネス メッセージを処理し、クライアント応答ノードを使用して開始者への送信ビジネス メッセージを処理します。ebXML を使用する参加者ビジネス プロセスの構築については、「ebXML 参加者ビジネス プロセスの構築」を参照してください。ebXML を使用するビジネス プロセスの設計については、『Trading Partner Integration の紹介』を参照してください。
実行時、ebXML コントロールは TPM リポジトリに格納されたトレーディング パートナおよびサービス情報に依存します。TPM リポジトリについては、『Trading Partner Integration の紹介』を参照してください。
TPM リポジトリへの情報の追加または TPM リポジトリ内の情報の更新については、『WebLogic Integration Administration Console の使用』の「トレーディング パートナ管理」を参照してください。
ここでは、新しい ebXML コントロールを作成する方法について説明します。各 ebXML コントロール インスタンスは、1 つの ebXML 会話を表します。ビジネス プロセス内の異なる ebXML 会話ごとに、異なる ebXML コントロール インスタンスを追加する必要があります。
注意 : | [データ パレット] ビューが Oracle Workshop for WebLogic に表示されない場合は、メニュー バーから [ウィンドウ|ビューの表示|データ パレット] をクリックします。 |
[コントロールの挿入 : Ebxml] ダイアログ ボックスが表示されます (図 4-1 を参照)。
[コントロールの挿入 : Ebxml] ダイアログ ボックスが表示されます (図 4-2 を参照)。
|
|||||
|
|||||
|
|||||
eb:Action 要素で指定される値を決定する。この値は、同じ会話の中で複数のメッセージ交換が行われるときに重要になる。次のいずれかの値になる。
|
|||||
コントロール ファイルを作成すると、Oracle Workshop for WebLogic の [サービス] タブでそのコントロール ファイルの名前がサービスとして使用できるようになります。
XmlObject[]
および RawData[]
ペイロード オプションはソース ビューでのみ使用できます。ebXML コントロールを作成した後で、これらのオプションを使用するようにコンフィグレーションできます。
注意 : | コントロール定義ファイルで使用した引数の順序と、メッセージをリスンする参加者ビジネス プロセスのノードにある引数の順序は、一致していなければなりません。 |
request
および response
メソッドの詳細については、EBXMLControl インタフェースを参照してください。
Oracle Workshop for WebLogic コントロールはすべて同じモデルに従っています。ebXML コントロールの使用に関してはその多くが、その他の Oracle Workshop for WebLogic コントロールを使用する場合と同一か、ほぼ同じです。
開始者ビジネス プロセスに ebXML コントロールを追加したら、コントロールでメソッドを使用して参加トレーディング パートナと ebXML メッセージを交換できます。デザイン ビューのデータ パレットで ebXML コントロールのノードを展開し、そのメソッドを表示します。次に、目的のメソッドをビジネス プロセスにドラッグ アンド ドロップします。一般的な作業は以下のとおりです。
メソッドの詳細については、ebXMLControl インタフェースを参照してください
参加者に ebXML メッセージを送信するには、コントロール送信ノードでメッセージ送信メソッドを使用します。デフォルトでは、コントロール ファイル インスタンスには、生成された送信メソッド request
が含まれています。ビジネス プロセスにコントロール送信ノードを追加するには、このメソッドをデータ パレットからビジネス プロセスにドラッグします。複数のやり取りを伴うビジネス プロセスの場合には、参加者への ebXML メッセージ送信を含む処理ごとに個別のコントロール送信ノードを作成する必要があります。
注意 : | request メソッドのデフォルトの戻り値の型は void です。ただし、戻り値の型を XmlObject に指定することもできます。戻り値の型として XmlObject を使用する場合、XmlObject の内容は ebXML エンベロープ データです。 |
コントロール送信ノードを作成したら、ペイロード パートとその Java データ型を指定する必要があります (表 4-2 を参照)
XmlObject データ型) と非 XML データ (RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。MessageAttachment[] オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。
|
型付き XML データや型付き MFL データを添付ファイルにすることもできますが、その場合は対応する XML Bean クラス名や MFL クラス名をパラメータ内で指定する必要があります。
添付ファイルの型として配列を使用する場合は、引数の順序に一定の制限が適用されます。詳細については、「XmlObject および RawData 配列のペイロードを指定する」を参照してください。
ビジネス ID は (@EBXMLControl.EBXML アノテーションを使用して) 静的に、または動的に指定できます。ビジネス ID の動的な指定については、「ビジネス ID を動的に指定する」を参照してください。
参加者からの応答を処理するには、開始者ビジネス プロセスで以下のコールバック メソッドを使用します (表 4-3 を参照)。
参加者から ebXML メッセージを受信するには、適切なメソッドを使用します。ビジネス プロセスにメソッドを追加するには、データ パレットからビジネス プロセスまで、そのメソッドをドラッグします。これにより、コントロール受信ノードが作成されます。複数のやり取りを伴うビジネス プロセスの場合には、参加者からの ebXML メッセージ受信を含む処理ごとに個別のコントロール受信ノードを作成する必要があります。
response
メソッドで、ebxml-action-node
に non-default
が指定されている場合には、コントロール受信ノードの名前を getInvoice
などわかりやすい名前に変更できます。ただし、ebxml-action-node
に default
が指定されている場合には、デフォルト名 (onMessage
) を使用する必要があり、ビジネス プロセスは 1 つの onMessage
コントロール受信ノードしかもつことができません。
response
メソッドでは、コントロール受信ノードの作成後、受信メッセージのペイロード パートとその Java データ型を指定する必要があります。有効なデータ型については、「参加者にメッセージを送信する」を参照してください。
onError
メソッドと onAck
メソッドは、システムレベルのメソッドです。どちらも、メッセージの受信時に ebXML エンベロープを格納する EnvelopeDocument
引数を使用します。システムレベルのメソッドなので、これらの引数はデフォルトのコントロールでは表示されませんが、データ パレットからビジネス プロセスにドラッグできます。envelope.xsd
ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、Oracle Workshop for WebLogic のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery Mapper を使用したデータの変換」を参照してください。
com.bea.control.EBXMLControl.EbXMLMethod
ベースのアノテーションから envelope
アノテーションを使用して、受信 ebXML メッセージのメッセージ エンベロープを取得できます。envelope
アノテーションの詳細については、EBXMLControl.EbxmlMethod アノテーション タイプを参照してください。
ebXML コントロールでは、コントロールの開始者 (from
プロパティ) および参加者 (to
プロパティ) のビジネス ID を動的にバインドする機能を追加できます。プロパティの動的バインディングは以下の方法で行うことができます。
最も優先順位の高い方法から挙げると、プロパティ設定の階層は次のようになります。
DynamicProperties.xml
ファイルを使用して動的にバインドされるプロパティsetProperties()
メソッドを使用して設定されるプロパティ
動的なセレクタを使用することで、ebXML コントロールでは実行時に、複数のトレーディング パートナからビジネス メッセージの送信先になる 1 つを決定できます。動的なセレクタを指定するときには、必要なビジネス ID を取得する XQuery を構築してテストします。
setProperties
メソッドは ebXMLPropertiesDocument
パラメータを取ります。ebXMLPropertiesDocument
型は、DynamicProperties.xsd
で定義された対応するスキーマ要素から生成される XML Beans クラスです。DynamicProperties.xsd
ファイルは、スキーマ/システム フォルダ、またはプロセス アプリケーションのユーティリティ フォルダに格納されています。
DynamicProperties.xsd
ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、Oracle Workshop for WebLogic のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery Mapper を使用したデータの変換」を参照してください。
ebXML コントロールの使用方法の例については、「チュートリアル : ebXML ソリューションの構築」を参照してください。