BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration メッセージング アプリケーション プログラミング ガイド

 前 次 目次 索引 PDFで表示  

XOCP ビジネス メッセージの送信

以下の節では、XOCP アプリケーションが会話の中で 1 つまたは複数のトレーディング パートナに対してビジネス メッセージをどのようにして送信するかを説明します。

XOCP ビジネス メッセージを送信するために、XOCP アプリケーションはビジネス ドキュメントを構築し、ビジネス メッセージを作成し、メッセージ ルーティング基準やサービス品質といった配信オプションを指定してから、ビジネス メッセージを処理のために仲介機能へ送信します。また、XOCP アプリケーションは、ビジネス メッセージの配信ステータスを、正常に配信されたかどうかも含めて確認します。XOCP ビジネス メッセージの概要については、XOCP ビジネス メッセージおよびメッセージ エンベロープ を参照してください。

 


手順 1 : ビジネス メッセージの作成

ビジネス メッセージを作成するために、XOCP アプリケーションは最初にメッセージ ペイロードを作成します。メッセージ ペイロードは、送信する任意のビジネス ドキュメントおよび添付ファイルからなります。

ペイロードの作成には以下の 3 つのステップがあります。

  1. 必要なパッケージのインポート

  2. ペイロード部分の作成

  3. XOCP ビジネス メッセージの作成とペイロード部分の追加

この節では、この 3 つのステップについて説明します。XOCP ビジネス メッセージのコンポーネントの概要については、XOCP ビジネス メッセージおよびメッセージ エンベロープ を参照してください。

必要なパッケージのインポート

ビジネス メッセージを作成するために、XOCP アプリケーションは必要なパッケージをインポートします。次のリストに、必要なパッケージを示します。

コード リスト 3-1 ビジネス メッセージの作成に必要なパッケージのインポート

class java.io.FileInputStream; 
import org.apache.xerces.dom.*;
import com.bea.b2b.protocol.xocp.application.*;
import com.bea.b2b.protocol.xocp.messaging.*;
import com.bea.b2b.protocol.messaging.Attachment;
import com.bea.eci.logging.*;

ペイロード部分の作成

次に XOCP アプリケーションはメッセージ ペイロードを作成します。ペイロードには、ビジネス ドキュメントまたは添付ファイル、あるいはその両方が含まれます。

XML ドキュメントの作成

ビジネス ドキュメントには、1 つまたは複数のビジネス ドキュメントが入ります。ビジネス ドキュメントは、ビジネス メッセージ中の XML ベースのペイロード部分です。ビジネス ドキュメントは、com.bea.b2b.protocol.messaging.BusinessDocument クラスのインスタンスです。

BusinessDocument オブジェクトには XML ドキュメントが格納されます。XML ドキュメントは、World Wide Web Consortium (www.w3.org)によって公開されている org.w3c.dom パッケージにある org.w3c.dom.Document クラスのインスタンスです。また、XOCP アプリケーションはサードパーティによって実装された同様のパッケージも使用できます。たとえば、Apache XML Project (www.apache.org)で提供されている org.apache.xerces.dom パッケージなどです。このパッケージは、Messaging API のサンプルで XML ドキュメントの作成および処理に使用されています。

注意: 各 XML ドキュメントで指定される文書型パラメータは、リポジトリで会話定義と関連付けられているメッセージ定義のコンテンツ タイプ部分にマップする必要があります。

次のコードは Messaging API アプリケーションの MdmTp1Servlet から引用したもので、要求を XML ドキュメントの形式で作成します。

コード リスト 3-2 XML ドキュメントの作成

// 要求ドキュメントを作成
DOMImplementationImpl domi = new DOMImplementationImpl();
DocumentType dType =
domi.createDocumentType("request", null, "request.dtd");
org.w3c.dom.Document rq1 = new DocumentImpl(dType);
Element root1 = rq1.createElement("request");
String sendStr1 = "FIRST MESSAGE"; // 他のパートナによって処理される
// 実際の文字列データ
root1.appendChild(rq1.createTextNode(sendStr1));
rq1.appendChild(root1);

XML ドキュメントを作成した後で、XOCP アプリケーションは BusinessDocument オブジェクトを作成します。このとき、パラメータとして XML ドキュメント(payload[0])をコンストラクタに渡します。次のリストにコードを示します。

コード リスト 3-3 BusinessDocument オブジェクトの作成

BusinessDocument bd = (BusinessDocument)payload[0];

添付ファイルの作成

ビジネス ドキュメントには、1 つまたは複数の添付ファイルを入れることができます。添付ファイルは、バイナリのコンテンツを含むビジネス メッセージの非 XML ベースのペイロード部分です。添付ファイルは、com.bea.b2b.protocol.messaging.Attachment クラスのインスタンスです。詳細については、『BEA WebLogic Integration Javadoc』を参照してください。

次のリスト例は、添付ファイルを作成する方法を示します。

コード リスト 3-4 添付ファイルの作成

FileInputStream fis = new FileInputStream("somefile");
Attachment att = new Attachment (fis);

XOCP ビジネス メッセージの作成とペイロード部分の追加

メッセージ ペイロードを作成した後で、XOCP アプリケーションは XOCP ビジネス メッセージを作成してペイロード部分を追加します。com.bea.b2b.protocol.xocp.messaging.XOCPMessage クラスが XOCP ビジネス メッセージを表します。詳細については、『BEA WebLogic Integration Javadoc』を参照してください。

ビジネス メッセージを作成するために、XOCP アプリケーションは以下の処理を行います。

  1. XOCPMessage クラスのインスタンスを作成します。

  2. XOCPMessage メッセージ オブジェクトにある以下のメソッドのいずれかを呼び出して、ビジネス メッセージにペイロード部分を追加します。

次のリストでは、XOCP ビジネス メッセージが作成されて、ペイロード部分が追加されます。

コード リスト 3-5 ビジネス メッセージの作成とペイロード部分の追加

XOCPMessage smsg1 = new XOCPMessage("");
smsg1.addPayloadPart(new BusinessDocument(rq1));

注意: XOCP アプリケーションは XOCPMessage の内容(そのペイロード部分は除く)を複製してから仲介機能へ送信します。このため、アプリケーションによって XOCPMessage 上で send または sendAndWait メソッドが呼び出された後は、ペイロード部分を変更しないでください。

 


手順 2 : ビジネス メッセージの受信側の指定(省略可能)

ビジネス メッセージを作成した後で、XOCP アプリケーションはメッセージの宛先となるトレーディング パートナを指定することができます。XOCP アプリケーションは、たとえば会話開始者から受信した要求に応答するときなどに、特定のトレーディング パートナへビジネス メッセージを送信できます(ポイント ツー ポイント交換)。あるいは、特定のビジネス基準(XOCP XPath 式で表される)を満たす場合に、XOCP アプリケーションは複数のトレーディング パートナへ(マルチキャストを使用して)ビジネス メッセージを送信できます。たとえば、特定の製品を扱う複数のセラーに対してバイヤが入札要求を送信するとき、アプリケーションはマルチキャストを使用してメッセージを送信できます。

いずれの場合も、送信の対象となるトレーディング パートナのセットは、会話定義の中で適切なロールにサブスクライブされているものに限定されます。加えて、仲介機能のリポジトリで定義されているルータおよびフィルタ式も、特定のトレーディング パートナへのメッセージ配信に影響する場合があります。詳細については、『B2B Integration 管理ガイド』の「高度なコンフィグレーション タスク」を参照。

特定のトレーディング パートナの指定

XOCP ビジネス メッセージが単一の、既知のトレーディング パートナへ送信される場合、XOCP アプリケーションは XOCPMessage オブジェクトの setRecipient メソッドを呼び出すことができます。このとき、パラメータとしてはトレーディング パートナ名が渡されます。指定されたトレーディング パートナは、仲介機能のリポジトリで定義されている必要があります。

次のリスト例は、ChipMaker という名前のトレーディング パートナがビジネス メッセージの受信側として指定されるための方法を示します。

コード リスト 3-6 単一のトレーディング パートナの指定

String tradingPartnerName = "ChipMaker";
XOCPMessage msg = new XOCPMessage();
msg.setRecipient(tradingPartnerName);

ビジネス メッセージに対して setRecipient を使用することで、メッセージの配信が早く処理されます。これは、仲介機能が、たとえばトレーディング パートナの評価や仲介機能の XPath 式の評価といった、通常のルータ処理を実行せずに済むためです。ただし、ビジネス メッセージは依然として仲介機能の適切なフィルタ処理の対象です。詳細については、『B2B Integration 管理ガイド』の「高度なコンフィグレーション タスク」を参照。

XPath 式によるメッセージ受信側の基準の指定

XOCP アプリケーションは、ビジネス メッセージを受信するトレーディング パートナのセットの基準を XPath 式で指定できます。XPath 式は、XML ドキュメントの各部を指定するために使用されます。詳細については、『B2B Integration 管理ガイド』の「高度なコンフィグレーション タスク」を参照。

XPath 式は、仲介機能のリポジトリのドキュメント フォーマットに固有である必要があります。また、トレーディング パートナの各要素のノード固有のセットを定義する必要もあります。XPath 式は、以下の属性に基づいて受信側トレーディング パートナを選択します。これらの属性は、仲介機能のリポジトリに定義されています。

XPath 式は、ビジネス メッセージのメッセージ ヘッダの一部として XOCP アプリケーションから仲介機能へ渡されます。仲介機能は、この XPath 式を仲介機能のリポジトリで定義されている他の XPath 式とともに使用して、ビジネス メッセージのメッセージ受信側のセットを決定します。

仲介機能リポジトリに適切なトレーディング パートナおよび仲介機能 XPath 式が定義されている場合は、その仲介機能をホストしている B2B エンジンによって、ビジネス メッセージが受信された後にこれらの式が評価されます。式のコンフィグレーションによっては、これらの XPath 式は XOCP アプリケーションで指定される XOCP XPath 式をオーバーライドしたり、追加をしたりします。詳細については、『B2B Integration 管理ガイド』の「高度なコンフィグレーション タスク」を参照。

XOCP ビジネス メッセージの XOCP XPath 式を指定するために、XOCP アプリケーションは XOCPMessage オブジェクトの setExpression メソッドを呼び出します。このとき、XPath 式がパラメータとして渡されます。

注意: Apache Xalaon バージョン 1.0.1 では、文字列リテラルの区切り文字として二重引用符ではなく一重引用符がサポートされています。

ビジネス メッセージが配信される前に、適切なルータおよびフィルタ処理が仲介機能で実行されます。

標準的なトレーディング パートナ属性の指定

次のリストは、指定された名前のトレーディング パートナを選択する XOCP XPath 式を示します。

コード リスト 3-7 トレーディング パートナ名を指定する XOCP XPath 式

smsg1.setExpression("//trading-partner[@name=¥'Partner2¥']");

次のリストは、San という文字列を含むアドレスのトレーディング パートナを選択する XOCP XPath 式を示します。

コード リスト 3-8 トレーディング パートナのアドレスを指定する XOCP XPath 式

msg.setExpression("//trading-partner[contains(address,¥'San¥')]");

拡張プロパティを使用した XOCP XPath 式の指定

拡張プロパティはユーザ定義の要素、属性、およびテキストで、仲介機能のリポジトリにあるトレーディング パートナと関連付けることができます。これらのプロパティは、リポジトリにある標準の定義済み属性にアプリケーション拡張を提供します。拡張プロパティのセットは、XML ドキュメント内のサブツリーとして取得できるようにリポジトリ内でモデル化されます。拡張プロパティは、WebLogic Integration B2B Console の [トレーディング パートナ] タブでコンフィグレーションされます。詳細については、『B2B Integration Administration Console オンライン ヘルプ』の「B2B Integration のコンフィグレーション」の「高度なトレーディング パートナのコンフィグレーション オプションの使用」を参照してください。

XOCP XPath 式は、こうした拡張プロパティを参照してビジネス メッセージのルーティングに役立てることができます。たとえば、セラーが仲介機能のリポジトリに自身の扱える最大の数量を示せるように、仲介機能の管理者によって Maximum Order Quantity という拡張プロパティが追加されるとします。このプロパティが定義されれば、大量の注文をするバイヤは注文を処理できるセラーのみにビジネス メッセージを送信する XOCP XPath 式を指定することができます。

次のコードは、指定されたセラーについて拡張プロパティが設定されているリポジトリから生成された XML ドキュメントを示します。

コード リスト 3-9 リポジトリから生成された XML ドキュメントに設定されている拡張プロパティ

<hub context="message-router">
. . .
<trading-partner name="ABC Seller"
email="orderprocessing@somedomain.com"
phone="999-999-9999">
<address>123 Main St., San Jose, CA 95131</address>
<extended-property-set name="Capacity">
<max-order-quantity>1000</max-order-quantity>
</extended-property-set>
</trading-partner>
. . .
</hub>

次のリストは、500 単位よりも多くの注文に対応できるトレーディング パートナを選択する XOCP XPath 式を示します。

コード リスト 3-10 注文の量を指定する XOCP XPath 式

msg.setExpression("//trading-partner[extended-property-set/(@max-order-qty > ¥'500¥')]")

セラーは 1000 単位までの注文に対応できるので、このセラーがビジネス メッセージの受信側として選択されます。

 


手順 3 : メッセージ配信のサービス品質の指定

B2B エンジンのメッセージング サービスによって、XOCP アプリケーションはサービス品質(QoS)、つまり信頼性のレベルを定義して、受信側トレーディング パートナへビジネス メッセージを配信する際に適用することができます。サービス品質の設定は、ビジネス メッセージのメッセージ ヘッダに格納されます。メッセージング サービスは、ネットワークでリンクまたはノードの障害が発生した場合も信頼性のあるメッセージ配信をサポートします。メッセージング サービスは信頼性のあるメッセージをサポートするために他の機能を提供します。たとえばメッセージのロギングとトラッキング、メッセージの相関、配信の再試行、メッセージのタイムアウト、およびメッセージ配信方法の選択などです。

自動的なサービス品質機能

B2B エンジンのメッセージング サービスは、XOCP アプリケーションからの入力を必要としない、以下の自動的なサービス品質機能を提供します。

QualityOfService クラス

ビジネス メッセージのサービス品質設定は、com.bea.b2b.protocol.xocp.messaging.QualityOfService クラスによって表されます。QualityOfService クラスは、B2B エンジンのメッセージング サービスが特定のメッセージを配信する際に必要とする信頼性のレベルを定義します。また、B2B エンジンのメッセージング サービスに対して、XOCP アプリケーションで想定されているビジネス メッセージ配信方法を示します。

XOCP アプリケーションはこのクラスのインスタンスを作成してから、このインスタンス上のメソッドを呼び出してさまざまなサービス品質設定を指定します。次に XOCP アプリケーションはメッセージ インスタンスの setQoS メソッドを呼び出し、このとき QualityOfService オブジェクトをパラメータとして渡すことで、この設定をメッセージと関連付けます。XOCP アプリケーションでサービス品質設定が指定されないと、B2B エンジンのメッセージング サービスはデフォルト値を使用します。

サービス品質設定、オプション、およびデフォルト値

次の表は、使用できるサービス品質設定、オプション、およびデフォルト値を示します。

表3-1 サービス品質設定、オプション、およびデフォルト値

サービス品質設定/説明

オプション

デフォルト値

CONFIRMED_DELIVERY_TO_APPLICATION

該当なし

該当なし

CONFIRMED_DELIVERY_TO_DESTINATION(S)

適用不可

適用不可

CONFIRMED_ROUTING

適用不可

適用不可

CONFIRMED_DELIVERY_TO_HUB

(デフォルト)

適用不可

適用不可

TIMEOUT

送信後のタイムアウト値(ミリ秒単位)

無視される

RETRY_ATTEMPTS

0-n

仲介機能でのコンフィグレーションに従う

CORRELATION_ID

アプリケーション定義のフィールド

無視される


 

次の表は、サービス品質設定がメッセージのトラッキングおよび配信の確認応答に与える影響を示します。

表3-2 サービス品質設定によるメッセージのトラッキングおよび確認応答への影響

サービス品質設定

メッセージのトラッキング(あり/なし)

確認応答

(あり/なし)

CONFIRMED_DELIVERY_TO_APPLICATIONS

あり

あり

CONFIRMED_DELIVERY_TO_DESTINATION(S)

あり

あり

CONFIRMED_DELIVERY_TO_ROUTER

あり

なし

CONFIRMED_DELIVERY_TO_HUB

なし

なし


 

CONFIRMED_DELIVERY_TO_DESINATION(S) の設定が使用される場合は、詳細なメッセージ トラッキングが使用でき、応答確認を使用すればメッセージが確実に送り先まで配信されたことを確認できます。

CONFIRMED_DELIVERY_TO_HUB の設定が使用される場合は、メッセージ トラッキングが使用できず、受信側トレーディング パートナから確認応答が送信されることもありません。

コード例

次のリスト例は、ビジネス メッセージのサービス品質を設定する方法を示します。

コード リスト 3-11 ビジネス メッセージのサービス品質の設定

// 関連するインポート
import com.bea.b2b.protocol.xocp.messaging.XOCPMessage;
import com.bea.b2b.protocol.xocp.messaging.QualityOfService;

XOCPMessage msg = . . .
// QoS オブジェクトを作成
QualityOfService qos = new QualityOfService();
// 送り先への確認済み配信を指定
qos.setConfirmedDeliveryToDestination(true);
msg.setQoS(qos);

メッセージ配信確認レベルの設定

メッセージ配信確認のレベルを指定するために、XOCP アプリケーションは QualityOfService インスタンスにある以下のメソッドのいずれかを呼び出します。このとき、Boolean 型の true パラメータを渡して必要なオプションを有効にします。

表3-3 メッセージ配信確認のレベル

持続性レベル

説明

setConfirmedDeliveryToDestination

メッセージ配信を送り先まで確認する(true)、または仲介機能までのみ確認する(false)を指定。

setConfirmedDeliveryToHub

メッセージ配信を仲介機能まで確認する(true)、または確認しない(false)を指定。

setConfirmedDeliveryToRouter

メッセージ配信を仲介機能の XOCP ルータまで確認する(true)、または仲介機能までのみ確認する(false)を指定。

setConfirmedDeliveryToApplication

ビジネス メッセージのサービス品質を設定する。メッセージ配信を対象のアプリケーションまで確認する(true)、または仲介機能までのみ確認する(false)を指定。


 

次のリスト例は、メッセージ確認レベルを送り先までに設定する方法を示します。

コード リスト 3-12 メッセージ配信確認レベルの設定

qos.setConfirmedDeliveryToDestination(true);

メッセージ配信確認の詳細については、手順 5 : ビジネス メッセージの配信状態の確認 を参照してください。

メッセージ タイムアウトの設定

指定された場合、メッセージ タイムアウトは送信側が応答確認を待機する時間を決めます。ビジネス メッセージが無効になった(タイムアウトした)場合、受信側はそれを処理せず、関連する他の処理もすべて、応答確認の処理および配信の再試行まで含めて放棄されます。

タイムアウトのアルゴリズム

B2B エンジンは、そのコンポーネントによって使用されている別のクロックを同期しません。それは、こうしたクロックが、別の場所にある別のマシンのものである可能性があるためです。代わりに、B2B エンジンは相対的な時間アルゴリズムを使用します。

このアルゴリズムに基づいて、ビジネス メッセージがタイムアウトするまでの残り時間(コンポーネントがビジネス メッセージの処理を完了する絶対時刻との相対値)をビジネス メッセージに指定した上で、他のコンポーネントへ送信します。

受信側コンポーネントでは、タイムアウトの計算はメッセージの処理に残された時間に基づいて、絶対時刻(メッセージの到着を示す)と相対時間(メッセージ自身に埋め込まれている)の両方を使用して表現されます。このアルゴリズムにより、少なくとも、システムでの実際のメッセージ タイムアウトが、アプリケーションによって指定された本来のタイムアウトの後で発生することになります。

Message Timeout on the Hub = Message timeout specified by the XOCP application when sending a message
Message Timeout on the Sending XOCP Application = Message Timeout on the Hub + N x Delta

以上の設定では、次のようになります。

配信再試行の回数の設定

断続的なネットワーク障害によってビジネス メッセージの配信が失敗する場合、B2B エンジンのメッセージング サービスは、以下のいずれかに該当するまでビジネス メッセージの送信を繰り返し試みます。

メッセージ タイムアウトおよび再試行間隔のデフォルト値は仲介機能のリポジトリで定義されていて、XOCP アプリケーション セッションが作成されるときに XOCP アプリケーションによって取得されます。B2B エンジンのメッセージング サービスは、コンフィグレーションされた間隔の間だけ待機してから、ビジネス メッセージの再送信を試みます。

デフォルトの再試行制限をオーバーライドする場合、XOCP アプリケーションは QualityOfService インスタンスの setTimeout メソッドを呼び出します。このとき、パラメータとしてタイムアウト値(ミリ秒単位)が渡されます。次のリストを参照してください。

コード リスト 3-13 メッセージ タイムアウトの指定

qos.setTimeout(10000);

ビジネス メッセージの相関 ID の設定

XOCP アプリケーションは、ビジネス メッセージにユニークな相関 ID を指定して、トレーディング パートナから受信したビジネス メッセージ(要求への応答など)と以前に送信されたメッセージ(要求など)を関連付けることができます。相関 ID は、送り先までビジネス メッセージに付随します。受信側トレーディング パートナは、この値を使用して、送信側トレーディング パートナへ返信される応答メッセージを確実に識別することができます。

相関 ID を指定する場合、XOCP アプリケーションは QualityOfService インスタンスの setCorrelationId メソッドを呼び出します。このとき、パラメータとして相関 ID を表す文字列が渡されます。次のリストを参照してください。

コード リスト 3-14 ビジネス メッセージの相関 ID の指定

qos.setCorrelationId("ABC123");

 


手順 4 : XOCP ビジネス メッセージの送信

ビジネス メッセージの受信側とサービス品質を指定した後で、XOCP アプリケーションはビジネス メッセージを以下のいずれかの方法で送信します。

XOCP ビジネス メッセージを同期メッセージ配信または遅延同期メッセージ配信で送信するときは、以下の値を設定する必要があります。

同期メッセージ配信

同期メッセージ配信では、アプリケーションはメッセージが送り先まで配信されるのを待機します。B2B エンジンのメッセージング サービスは、メッセージ送信処理の結果が判明したらアプリケーションに制御を返します。アプリケーションは、以下のイベントのいずれかが発生するまで待機します。

ビジネス メッセージの同期送信を行うために、XOCP アプリケーションは XOCPMessage インスタンスの以下のメソッドを呼び出します。

次の例は、同期メッセージ配信を使用して XOCP ビジネス メッセージを送信する方法を示します。

コード リスト 3-15 同期メッセージ配信を使用したメッセージ送信

smsg1.setCAId(caId);
smsg1.setConversation(c);
MessageToken token = msg.sendAndWait(0);

遅延同期メッセージ配信

遅延同期メッセージ配信では、B2B エンジンのメッセージング サービスはメッセージ送信の直後に XOCP アプリケーションへ制御を返すほかにメッセージ トークンを返します。このメッセージ トークンは、XOCP アプリケーションがメッセージ配信の状態を確認するために使用できます。メッセージ トークンへのアクセスがあると、アプリケーションは指定された期間か、次のいずれかのイベントが発生するまで待機します。

ビジネス メッセージの非同期送信を行うために、XOCP アプリケーションは XOCPMessage インスタンスの以下のメソッドを呼び出します。

XOCP アプリケーションはビジネス ロジックの実行を継続し、MessageToken インスタンスの waitForACK メソッドを呼び出して状態を確認します。次のリストにその例を示します。

コード リスト 3-16 遅延同期メッセージ配信を使用したメッセージ送信

smsg1.setCAId(caId);
smsg1.setConversation(c);
token = msg.send();
...
token.waitForACK();

waitForACK メソッドは、ビジネス メッセージの状態が利用可能になるか(タイムアウト指定がない場合)、指定されているタイムアウト(ミリ秒単位)が経過するまで処理をブロックします。

 


手順 5 : ビジネス メッセージの配信状態の確認

XOCPMessage インスタンスで呼び出される send および sendAndWait メソッドのどちらも、メッセージ トークンを返します。このメッセージ トークンは、XOCP アプリケーションが自身と関連付けられているビジネス メッセージの配信状態の確認に使用することができます。

メッセージ トークン

メッセージ トークンは、com.bea.b2b.protocol.xocp.messaging.XOCPMessageToken クラスのインスタンスです。メッセージ トークンには、以下の属性があります。

表3-4 メッセージ トークンの情報

属性

説明

メッセージ ID

ビジネス メッセージの一意な ID

例外

ビジネス メッセージが送信元 XOCP アプリケーションを離れる前に発生したすべての例外。例外は通常、メッセージが送信されるときに返される。しかし遅延同期メッセージ配信では、ビジネス メッセージが一時的に内部の送信キューに留め置かれてから、仲介機能へ配信されることになる。

経過時間

ビジネス メッセージをすべての送り先へ配信するためにかかった時間。この情報は、すべてのメッセージ送り先から応答確認が受信されるまで入手できない。この属性を使用できるかどうかは、サービス品質配信オプションの指定に依存する。

配信状態

受信側の送り先からの配信状態。この情報は、関連する情報の可用性に依存する。この属性を使用できるかどうかは、サービス品質配信オプションの指定に依存する。

宛先の数(ルータ)

仲介機能の XOCP ルータによってビジネス メッセージが処理された後の受信側トレーディング パートナの数。この属性を使用できるかどうかは、サービス品質配信オプションの指定に依存する。

宛先の数(フィルタ)

仲介機能の XOCP フィルタによってビジネス メッセージが処理された後の受信側トレーディング パートナの数。この属性を使用できるかどうかは、サービス品質配信オプションの指定に依存する。


 

ビジネス メッセージが同期送信の配信オプションを使用して送信された場合、メッセージ トークンを使用して応答確認を待機することはできません。代わりに、send メソッドが直ちに返されます。

配信状態のトラッキング

ビジネス メッセージがその送り先(送り先トレーディング パートナ ノードの受信キュー)に届くと、システム メッセージが(B2B エンジンのメッセージング サービスによって)送信側へ返されて、サービス品質設定によって応答確認が必要な場合は、メッセージ配信の応答確認に使用されます。

XOCP アプリケーションは、以下のメソッドのいずれかを使用して配信状態を取得できます。

どちらのメソッドも DeliveryStatus オブジェクトを返します。このオブジェクトは、以下の情報を提供する com.bea.b2b.protocol.messaging.DeliveryStatus クラスのインスタンスです。

メッセージ トラッキング場所

B2B エンジンのメッセージング サービスでは、管理者向けのトラッキング機能が用意されていて、ビジネス メッセージが自身の送り先までにあらかじめ定義された場所を移動していくのを確認することができます。B2B Console には、ビジネス メッセージがこれらのトラッキング地点を通過していくステータス情報を表示できます。管理者はメッセージ トラッキング情報を使用して、デバッグやアプリケーションのボトルネックの特定に活かすことができます。

注意: メッセージ トラッキング場所を利用できるかどうかは、WebLogic Integration システムのコンフィグレーションと、ビジネス メッセージに指定されたサービス品質、たとえば CONFIRMED_DELIVERY_TO_DESTINATION(S) などに依存します。サービス品質の設定の詳細については、表 3-1 を参照してください。たとえば、XOCP アプリケーションと仲介機能が同じノードに配置されている場合は、一部の場所が利用できません。同様に、トラッキング場所の一部は、同期メッセージ配信には使用できません。

メッセージ トラッキング場所の図

次の図は、B2B エンジンのメッセージング サービスでのメッセージ トラッキング場所を示します。

図3-1 メッセージ トラッキング場所


 

メッセージ トラッキング場所の説明

以下のメッセージ トラッキング場所を B2B Console で表示できます。

表3-6 メッセージ トラッキング場所

場所

場所の説明

実行されるアクティビティ

ENABLER_SEND_QUEUE

送信側トレーディング パートナの XOCP アプリケーション セッション内の送信キュー

メッセージが送信のためキューに入れられる。

HUB_RECEIVE_QUEUE

仲介機能の送信側トレーディング パートナ用の受信キュー

メッセージは仲介機能の送信側トレーディング パートナの受信キューに入れられる。

HUB_ROUTER

仲介機能の XOCP ルータ

メッセージが XOCP ルータに到達する。

HUB_SEND_QUEUE

仲介機能の受信側トレーディング パートナ用の送信キュー

メッセージは仲介機能の受信側トレーディング パートナで配信用のキューに入れられる。

ENABLER_RECEIVE_QUEUE

受信側トレーディング パートナの XOCP アプリケーション セッション内の受信キュー

メッセージは受信側トレーディング パートナの XOCP アプリケーション セッションのリスナ スレッドでキューに入れられる。


 

 

ページの先頭 前 次