このセクションでは、WebSphere Business Integration Connect とのバックエンド統合の計画方法について説明します。セクションの構成は以下のとおりです。
メッセージのビジネス・プロトコルによって、文書のフォーマットが決まります。ビジネス・プロトコルは、バックエンド・システムへの統合を計画するときに下す決定の多くに影響します。どのビジネス・プロトコルを選択するかによって、使用しなければならないパッケージ化方式が決まり、それが使用可能なメッセージ・トランスポート・プロトコルに影響します。
ビジネス・プロトコルの詳細については、「管理者ガイド」を参照してください。このセクションでは、以下のビジネス・プロトコルに固有の統合情報について説明します。
Business Integration Connect では、以下の Web サービスをハブのメンバーに提供することができます。
コミュニティー参加者に対し、Business Integration Connect が生成する Public WSDL を提供する必要があります。コミュニティー参加者が Web サービスを呼び出す URL が、Web サービスをアップロードする間に指定された Web サービス・パブリック URL であることに注意する必要があります。Business Integration Connect はプロキシーとして機能します。参加者から SOAP メッセージを受信し、対応するプライベート Web サービスを見つけ出します。次に、同じ SOAP メッセージを使用して、プライベート Web サービス (コミュニティー・マネージャーが提供) を呼び出します。そして、コミュニティー・マネージャーが戻した応答が、参加者に戻されます。
同じ Web サービス・インターフェースが複数のパートナーから提供されてもかまわないことに注意してください。Business Integration Connect は、Web サービスのアップロード時にコンソールで指定された Web サービス URL で、コミュニティー・マネージャーが Web サービスを利用できるようにします。さらに、コミュニティー・マネージャーは、「宛先パートナー」を示すための URL パラメーターを提供する必要があります。詳しくは、「ハブ構成ガイド」を参照してください。Business Integration Connect はプロキシーとして機能します。コミュニティー・マネージャーから SOAP メッセージを受信し、対応する Web サービスおよび「宛先パートナー」を見つけ出します。次に、同じ SOAP メッセージを使用して、パートナーが提供する Web サービスを呼び出します。パートナーから戻された応答メッセージは、次にコミュニティー・マネージャーへ戻されます。
文書フロー定義を Web サービス用にセットアップする方法などの詳細については、「ハブ構成ガイド」を参照してください。
コミュニティー参加者へ cXML を送信することも、コミュニティー参加者から cXML を受信することも可能です。Business Integration Connect はコミュニティー参加者から cXML 文書を受け取ると、その文書の妥当性を検査し、コミュニティー・マネージャーのバックエンド・システムへ送信する前に (指定があれば) 変換します。同期 cXML メッセージには変換を使用しないようにする必要があります。同期交換では、バックエンド・システムが応答を生成し、それを Business Integration Connect がコミュニティー参加者に戻します (メッセージに該当する場合)。
cXML 文書を送信する必要のあるコミュニティー・マネージャーのバックエンド・システムは、以下の 2 つの処理のいずれかを実行することができます。
cXML 用文書フロー定義の設定方法などの詳細については、「管理者ガイド」を参照してください。
RosettaNet メッセージがバックエンド統合パッケージ化されている場合 (すなわちトランスポート・レベルのヘッダーが必要)、Business Integration Connect は、RosettaNet 1.1 および 2.0 をサポートします。これらのメッセージでは、HTTP または JMS トランスポート・プロトコルを使用する必要があります。トランスポート・レベル・ヘッダーは、PIP に属さないメタ情報を保持し、これにより Business Integration Connect が適切にメッセージの経路を定めることができます。
例えばアプリケーションが、HTTP で送信される RosettaNet を使用して、コミュニティー参加者へメッセージを送信するとします。アプリケーションは RosettaNet サービス・コンテンツを提供し、トランスポート・レベル・ヘッダーを追加します。ヘッダーは、要求を処理するコミュニティー参加者、送信される PIP、PIP のバージョン、およびその他の情報を示します。この情報を用いて、Business Integration Connect は正しい PIP をコミュニティー参加者に送信することができます。
RosettaNet サポートのセットアップおよび PIPS の構成についての詳細は、「ハブ構成ガイド」に記載されています。
Business Integration Connect は、RosettaNet サービス・プロバイダーであるコミュニティー参加者からアプリケーションを分離するため、Business Integration Connect はイベント通知機能を提供します。 イベント通知機能によって、例えば Business Integration Connect が参加者へ PIP を送信できないことを、Business Integration Connect がアプリケーションに通知できるようにします。これにより、アプリケーションはその失敗を処理できます。
イベント通知メッセージは、Business Integration Connect またはアプリケーション内部で発生したイベントに関する情報を伝える XML 文書です。これらのメッセージは、Business Integration Connect に出入りする他のメッセージと同じ構造を持っています。すなわち、トランスポート・レベル・ヘッダーとペイロードを含んでいます。Business Integration Connect は、イベント通知メッセージを送信するか、または送信しないかをオプションとして構成できます。
表 1 に、Business Integration Connect がバックエンド・システムに送信できるイベント通知メッセージを示します。
表 1. バックエンド・システムに送信されるイベント通知メッセージ
イベント条件 | イベント通知メッセージ |
---|---|
Business Integration Connect が、RosettaNet 文書をコミュニティー参加者に送達し、受信確認を受け取る。
| イベント 100 |
Business Integration Connect が、0A1 メッセージを生成し、それをコミュニティー参加者に送達して、PIP をキャンセルする。
| イベント 800 |
Business Integration Connect が、コミュニティー参加者から受信確認例外または一般例外を受け取る。
| イベント 900 |
Business Integration Connect は、除外リスト管理を使用して 0A1 メッセージを送信するように構成されている場合、他の PIP の場合と同様にこれらのメッセージを宛先アプリケーションへ送信することができます。「管理者ガイド」の『除外リストの管理』を参照してください。
アプリケーションは、Business Integration Connect にイベント通知メッセージを送信して、RosettaNet PIP をキャンセルすることができます。
イベント通知メッセージの標準トランスポート・レベル・ヘッダーでは、x-aux-process-type フィールドが XMLEvent に設定されています。ただし、メッセージのペイロードは、図 2 のサンプル XML スキーマに示すように特有の構造になっています。
図 2. イベント通知メッセージのサンプル XML スキーマ
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace= "http://www.ibm.com/websphere/bcg/2003/v1.0/xmleventnotification" xmlns:evntf= "http://www.ibm.com/websphere/bcg/2003/v1.0/xmleventnotification" elementFormDefault="qualified">
<!-- EventNotification version 1.0 document element --> <xsd:element name="EventNotification"> <xsd:complexType> <xsd:all> <xsd:element ref="evntf:StatusCode"/> <xsd:element ref="evntf:StatusMessage"/> <xsd:element ref="evntf:EventMessageID"/> <xsd:element ref="evntf:BusinessObjectID"/> <xsd:element ref="evntf:GlobalMessageID"/> <xsd:element ref="evntf:Timestamp"/> </xsd:all> </xsd:complexType> </xsd:element>
<!-- StatusCode element --> <xsd:element name="StatusCode"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="100"/> <xsd:enumeration value="800"/> <xsd:enumeration value="900"/> <xsd:enumeration value="901"/> <xsd:enumeration value="902"/> <xsd:enumeration value="903"/> <xsd:enumeration value="904"/> </xsd:restriction> </xsd:simpleType> </xsd:element>
<!-- StatusMessage element --> <xsd:element name="StatusMessage"> <xsd:simpleType> <xsd:restriction base="xsd:string"/> </xsd:simpleType> </xsd:element>
<!-- EventMessageID element --> <xsd:element name="EventMessageID"> <xsd:simpleType> <xsd:restriction base="xsd:string"/> </xsd:simpleType> </xsd:element>
<!-- BusinessObjectID element --> <xsd:element name="BusinessObjectID"> <xsd:simpleType> <xsd:restriction base="xsd:string"/> </xsd:simpleType> </xsd:element>
<!-- GlobalMessageID element --> <xsd:element name="GlobalMessageID"> <xsd:simpleType> <xsd:restriction base="xsd:string"/> </xsd:simpleType> </xsd:element>
<!-- Timestamp element --> <xsd:element name="Timestamp"> <xsd:simpleType> <xsd:restriction base="xsd:dateTime"/> </xsd:simpleType> </xsd:element> </xsd:schema>
表 2 では、イベント・ペイロード内部の各フィールドについて説明しています。
フィールド | 説明 |
---|---|
StatusCode | メッセージのタイプ。有効な値は以下のとおりです。
|
StatusMessage | このイベント通知メッセージの英数字記述 |
EventMessageID | この特定のイベント通知メッセージの英数字 ID |
BusinessObjectID | このメッセージ通知イベントに影響を受けるメッセージのトランスポート・レベル・ヘッダー内の x-aux-msg-id。これにより下のメッセージのペイロードがこのイベントにリンクされます。 |
GlobalMessageID | このメッセージ通知イベントを発生させたメッセージのトランスポート・レベル・ヘッダー内の x-aux-system-msg-id。 |
Timestamp |
イベント発生日時。次の UTC タイム・スタンプ形式を使用します。 CCYY-MM-DDThh:mm:ssZ
これには、小数点以下の精度の秒 (...ss.ssssZ) が含まれます。日付スタンプは、dateTime の XML スキーマ・データ型 (w3.org/TR/2001/REC-xmlschema-2-20010502#dateTime) に準拠する必要があります。 |
図 3 に、HTTP プロトコルを使用して送信されたイベント通知メッセージの例を示します。
POST /builderURL HTTP/1.1 Content-Type: application/xml Content-length: 250 x-aux-sender-id: 000000001 x-aux-receiver-id: 000000002 x-aux-third-party-bus-id: 000000003 x-aux-create-datetime: 2002-10-28T23:05:02Z x-aux-protocol: XMLEvent x-aux-protocol-version: 1.0 x-aux-process-type: XMLEvent x-aux-process-version: 1.0 x-aux-payload-root-tag: evntf:EventNotification x-aux-msg-id: 98732 x-aux-system-msg-id: 12345 x-aux-production: Production x-aux-process-instance-id: 3456 x-aux-event-status-code: 100 x-aux-transport-retry-count: 0
<?xml version="1.0" encoding="UTF-8"?> <evntf:EventNotification xmlns:evntf= "http://www.ibm.com/websphere/bcg/2003/v1.0/xmleventnotification"> <evntf:StatusCode>100</evntf:StatusCode> <evntf:StatusMessage>The message was delivered</evntf:StatusMessage> <evntf:EventMessageID>12345</evntf:EventMessageID> <evntf:BusinessObjectID>34234</evntf:BusinessObjectID> <evntf:GlobalMessageID>98732</evntf:GlobalMessageID> <evntf:Timestamp>2001-01-31T13:20:00Z</evntf:Timestamp> </evntf:EventNotification>
パッケージ化のタイプによって、Business Integration Connect がバックエンド・システムにメッセージを送信する際のフォーマットが決まります。
Community Console を使用して、コミュニティー参加者との接続を確立し、Business Integration Connect およびバックエンド・システム間で使用するパッケージを指定します。使用するパッケージを決定するには、以下の問題を理解する必要があります。
パートナー接続のセットアップ方法について詳しくは、「ハブ構成ガイド」を参照してください。
統合のために Business Integration Connect を使用する場合、すべてのパッケージ化のタイプが有効というわけではありません。表 3 に、Business Integration Connect がコミュニティー・マネージャーとして機能している場合に妥当なパッケージ化のタイプをリストします。
パッケージ化のタイプ | 説明 |
---|---|
パッケージ化なし |
ヘッダー・データなしで、Business Integration Connect がメッセージをバックエンド・システムに送信します。
|
バックエンド統合パッケージ化 |
メッセージ・ヘッダーに属性を追加します。オプションで、メッセージの内容を XML トランスポート・エンベロープ内にラップします。
|
パッケージ化が「なし」と設定されている場合、Business Integration Connect は、バックエンド・システムにメッセージを送信するときにトランスポート・レベル・ヘッダーを追加しません。また、バックエンド・システムからメッセージを受信したときにトランスポート・レベル・ヘッダーを考慮した処理は行いません。Business Integration Connect は、メッセージのみをバックエンド・システムに送信します。ルーティングは、文書内の情報によって制御されます。
パッケージ化がバックエンド統合に設定されている場合、バックエンド・システムに送受信されるメッセージには、以下のコンポーネントが含まれていなければなりません。
ヘッダーおよびペイロードは必須ですが、添付ファイルはオプションです。以降のセクションでは、バックエンド統合パッケージ化を使用する文書の各コンポーネントについて説明します。
トランスポート・レベル・ヘッダーには、Business Integration Connect がメッセージを処理して正しい宛先にルーティングするために使用する情報が含まれています。トランスポート・レベル・ヘッダーは、両方向に対応しており、Business Integration Connect に出入りするすべてのメッセージには、必須フィールドと、適合するオプショナル・フィールドがあります。
表 4 にトランスポート・レベル・ヘッダーのフィールドをリストします。
ヘッダー・フィールド | 説明 | 必要であるか |
---|---|---|
x-aux-sender-id | メッセージ送信側の ID (DUNS 番号など)。 | はい |
x-aux-receiver-id | メッセージ受信側の ID (DUNS 番号など)。 | はい |
x-aux-protocol | メッセージ内容のプロトコル。有効な値は RNSC (RosettaNet サービス・コンテンツ)、XMLEvent、および Binary です。Business Integration Connect では、このフィールドの値がペイロード内のどのプロトコル・フィールドの値よりも優先されます。 | はい |
x-aux-protocol-version | メッセージ内容のプロトコルのバージョン。 | はい |
x-aux-process-type | 実行されるプロセスまたは送信しようとするメッセージのタイプ。RosettaNet メッセージの場合、3A4 などの PIP コードになります。イベント・メッセージの場合は XMLEvent、2 項メッセージの場合は Binary です。Business Integration Connect では、このフィールドの値がペイロード内のどのプロセス・フィールドの値よりも優先されます。 | はい |
x-aux-process-version | プロセスのバージョン。RosettaNet メッセージの場合、PIP のバージョン番号になります。 | はい |
x-aux-create-datetime | メッセージが正常に通知された日時。UTC タイム・スタンプ形式 (CCYY-MM-DDThh:mm:ssZ) を使用します。 |
|
x-aux-msg-id | ペイロード内容の ID。例えば、RosettaNet メッセージ用の RNPIPServiceContent インスタンスの ID や、所有文書 ID を指定することができます。これにより、トレース目的で、メッセージのペイロードがメッセージ送信側のシステム内の何かにリンクされます。 |
|
x-aux-production | メッセージのルーティング。有効な値は Production Test です。この値は両方向の要求に取り込まれます。メッセージが、コミュニティー参加者によって開始された両方向 PIP への応答である場合、Business Integration Connect は、要求内の GlobalUsageCode を使用して、トランスポート・レベル・ヘッダー内の値を無視します。 |
|
x-aux-system-msg-id | メッセージのグローバル固有 ID (GUID)。重複チェックに使用されます。 | はい |
x-aux-payload-root-tag | ペイロードのルート・タグ・エレメント。例えば、3A4 RosettaNet サービス・コンテンツの場合、このフィールドの値は Pip3A4PurchaseOrderRequest になります。イベント通知メッセージの場合は、このフィールドの値は EventNotification になります。 |
|
x-aux-process-instance-id | 複数のメッセージ・ビジネス・プロセス内の文書を固有プロセス・インスタンスにリンクする ID。RosettaNet の場合、この ID は最後の 30 日間 RosettaNet プロセスに固有でなければなりません。RosettaNet プロセス・インスタンスの一部として交換されるすべてのメッセージは、再試行の場合も含め、同じプロセス・インスタンス ID を使用します。 |
|
x-aux-event-status-code | イベント通知の状況コード。イベントメッセージ構造の StatusCode フィールドを参照してください。 |
|
x-aux-third-party-bus-id | メッセージを送達した団体の DUNS 番号などの ID。これは、サード・パーティーがコミュニティー所有者に代わって Business Integration Connectt のホスティングを行っている場合には、x-aux-sender-id および x-aux-receiver-id のどちらとも異なる場合があります。 |
|
x-aux-transport-retry-count | 今回の試行の前にこのメッセージの送付を試みて失敗した回数。最初の試行でメッセージが正しく送付された場合は、このフィールドの値は 0 になります。 |
|
content-type | メッセージのコンテンツ・タイプ |
|
content-length | メッセージの長さ (バイト単位)。 |
|
表 4 にトランスポート・レベル・ヘッダー情報の概要を示します。以下のセクションで、特定のビジネス・プロトコルに固有のトランスポート・レベル・ヘッダー情報を説明します。
トランスポート・レベル・ヘッダーおよび RosettaNet メッセージ:
表 5 では、Business Integration Connect が、トランスポート・レベル・ヘッダーの各フィールド用の値を RosettaNet メッセージのどの部分から取得するかを説明します。
表 5. トランスポート・レベル・ヘッダーのフィールドと RosettaNet の内容
ヘッダー・フィールド | 値のソース: RosettaNet 2.0 | 値のソース: RosettaNet 1.1 |
---|---|---|
x-aux-sender-id |
<(DeliveryHeader)> <messageSenderIdentification> <PartnerIdentification> <GlobalBusinessIdentifier> |
<ServiceHeader> <ProcessControl> <TransactionControl> <ActionControl> or <SignalControl> <PartnerRouter> <fromPartner> <PartnerDescription> <BusinessDescription> <GlobalBusinessIdentifier> |
x-aux-receiver-id |
<(DeliveryHeader)> <messageReceiverIdentification> <PartnerIdentification> <GlobalBusinessIdentifier> |
<ServiceHeader> <ProcessControl> <TransactionControl> <ActionControl> or <SignalControl> <PartnerRouter> <toPartner> <PartnerDescription> <BusinessDescription> <GlobalBusinessIdentifier> |
x-aux-protocol | RosettaNet の値 RNSC を設定 | RosettaNet 2.0 の場合と同じ |
x-aux-protocol-version | 値 1.0 を設定 | RosettaNet 2.0 の場合と同じ |
x-aux-process-type |
ソース XPath は次のとおり。 /ServiceHeader/ProcessControl/ pipCode/GlobalProcessIndicatorCode |
ソース XPath は次のとおり。 /ServiceHeader/ProcessControl/ ProcessIdentity/GlobalProcessIndicatorCode |
x-aux-process-version |
ソース XPath は次のとおり。 /ServiceHeader/ProcessControl/ pipVersion/VersionIdentifier
各 PIP のバージョン ID の値は、PIP 仕様に示されています。 |
ソース XPath は次のとおり。 /ServiceHeader/ProcessControl/ ProcessIdentity/VersionIdentifier
各 PIP のバージョン ID の値は、PIP 仕様に示されています。 |
x-aux-payload-root-tag | Pip3A4PurchaseOrderRequest などの PIP 名 | RosettaNet 2.0 の場合と同じ |
x-aux-process- instance-id |
アプリケーションによって開始されたプロセスの場合、値はプロセス・インスタンスの ID です。コミュニティー参加者によって開始された、パススルー・ワークフローではないプロセスの場合、値は最初の RosettaNet 要求内のプロセス ID です。 <ServiceHeader> <ProcessControl> <pipInstanceId> <InstanceIdentifier> |
<ServiceHeader> <ProcessControl> <ProcessIdentity> <InstanceIdentifier> |
x-aux-msg-id |
<(RNPipServiceContent)> <thisDocumentIdentifier> <ProprietaryDocumentIdentifier> | RosettaNet 2.0 の場合と同じ |
x-aux-production |
<ServiceHeader> <ProcessIndicator> <GlobalUsageCode> |
<Preamble> <GlobalUsageCode> |
表 6 では、Business Integration Connect が、トランスポート・レベル・ヘッダーの各フィールド用の値を AS2 メッセージのどの部分から取得するかを説明します。
表 6. AS2 の内容からのトランスポート・レベル・ヘッダーのフィールド
ヘッダー・フィールド | 値のソース |
---|---|
x-aux-sender-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、AS2 メッセージの AS2-From ヘッダー・フィールドが、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-sender-id フィールド内に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-sender-id フィールドが AS2 メッセージの AS2-From ヘッダー値として使用されます。 |
x-aux-receiver-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、AS2 メッセージの AS2-To ヘッダー・フィールドが、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-receiver-id フィールド内に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-receiver-id フィールドが AS2 メッセージの AS2-To ヘッダー値として使用されます。 |
x-aux-protocol | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、参加者の接続の ToProtocol が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-protocol フィールド内に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-protocol フィールドが参加者の接続の FromProtocol を決定するために使用されます。 |
x-aux-protocol-version | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、参加者の接続の ToProtocolVersion が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-protocol-version フィールド内に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-protocol-version フィールドが参加者の接続の FromProtocolVersion として使用されます。 |
x-aux-process-type | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、参加者の接続の ToProcessCode が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-process-type フィールド内に設定するために使用されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-process-type フィールドが参加者の接続の FromProcessCode として使用されます。 |
x-aux-process-version | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、参加者の接続の ToProcessVersion が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-process-version フィールド内に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-process-version フィールドが参加者の接続の FromProcessVersion として使用されます。 |
x-aux-payload- root-tag | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信するとき、カスタム XML プロトコルの場合のみ、XPATH で指定されたルート・タグがメッセージから構文解析によって取り出され、x-aux-payload-root-tag フィールド内で使用されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-process-instance-id | このフィールドは AS2 には使用されません。 |
x-aux-msg-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信するとき、カスタム XML プロトコルの場合のみ、XPATH で指定された文書 ID がメッセージから構文解析によって取り出され、x-aux-payload-root-tag フィールド内で使用されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-system-msg-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS2 メッセージを送信する場合、このフィールドは、このメッセージ用に内部で生成された固有 ID に設定されます。AS2 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-production | このフィールドは AS2 には使用されません。 |
表 7 では、Business Integration Connect が、トランスポート・レベル・ヘッダーの各フィールド用の値を AS1 メッセージのどの部分から取得するかを説明します。
表 7. AS1 の内容から取得したトランスポート・レベル・ヘッダーのフィールド
ヘッダー・フィールド | 値のソース |
---|---|
x-aux-sender-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、AS1 メッセージの "Subject: ToID;FromID" ヘッダー・フィールド内の FromID が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-sender-id フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-sender-id フィールドが AS1 メッセージの "Subject: ToID;FromID" ヘッダー値内の FromID として使用されます。 |
x-aux-receiver-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、AS1 メッセージの "Subject: ToID;FromID" ヘッダー・フィールド内の ToID が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-receiver-id フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-receiver-id フィールドが AS1 メッセージの "Subject: ToID;FromID" ヘッダー値内の ToID として使用されます。 |
x-aux-protocol | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、参加者の接続の ToProtocol が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-protocol フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-protocol フィールドが参加者の接続の FromProtocol として使用されます。 |
x-aux-protocol-version | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、参加者の接続の ToProtocolVersion が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-protocol-version フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-protocol-version フィールドが参加者の接続の FromProtocolVersion として使用されます。 |
x-aux-process-type | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、参加者の接続の ToProcessCode が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-process-type フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-process-type フィールドが参加者の接続の FromProcessCode として使用されます。 |
x-aux-process-version | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、参加者の接続の ToProcessVersion が、コミュニティー・マネージャーに送信されるバックエンド統合メッセージの x-aux-process-version フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、着信バックエンド統合メッセージの x-aux-process-version フィールドが参加者の接続の FromProcessVersion として使用されます。 |
x-aux-payload- root-tag | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信するとき、カスタム XML プロトコルの場合のみ、XPATH で指定されたルート・タグがメッセージから構文解析によって取り出され、x-aux-payload-root-tag フィールド内に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-process-instance-id | このフィールドは AS1 には使用されません。 |
x-aux-msg-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信するとき、カスタム XML プロトコルの場合のみ、XPATH で指定された文書 ID がメッセージから構文解析によって取り出され、x-aux-payload-root-tag フィールド内で使用されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-system-msg-id | コミュニティー参加者が Business Integration Connect Enterprise Edition または Advanced Edition に AS1 メッセージを送信する場合、このフィールドは、このメッセージ用に内部で生成された固有 ID に設定されます。AS1 メッセージがコミュニティー参加者に対して送信される場合、このフィールドを着信バックエンド統合メッセージ内に設定する必要はありません。 |
x-aux-production | このフィールドは AS1 には使用されません。 |
メッセージのペイロードには、メッセージの実際の内容が含まれています。ペイロードのロケーションは、表 8 に示すようにメッセージを送信するトランスポート・プロトコルに依存します。
トランスポート・プロトコル | ペイロードのロケーション |
---|---|
HTTP プロトコル・メッセージ | HTTP ポストの本文内 |
JMS プロトコル・メッセージ | JMS メッセージの本文内 |
RosettaNet メッセージ | PIP からのサービス・コンテンツ |
AS2 での EDI の送信 |
EDI メッセージ
メッセージに 1 つ以上の添付ファイルも含まれている場合を除き、ペイロードは XML エンベロープでラップされません。添付ファイルをラップするために使用される XML エンベロープおよびタグについては、添付ファイルを参照してください。 |
次のいずれの場合も、ペイロードは Base64 でエンコードされて、XML トランスポート・エンベロープ内に格納されます。
添付ファイルを持つ文書は、XML トランスポート・エンベロープ内にラップする必要があります。添付ファイルのフォーマット設定について詳しくは、添付ファイルを参照してください。
文書を XML トランスポート・エンベロープ内にラップするには、添付ファイルの有無にかかわらず、プロファイルの B2B 機能画面でバックエンド統合エンベロープ・フラグを「はい」に設定します。例えば、Hub Operator のプロファイルでこのフラグを設定する場合は、次のように選択します。
「プロファイル」>「ハブ・オペレーター (Hub Operator)」>「B2B 機能」
「バックエンド統合 (Backend Integration)」 の「編集」をクリックすると、「エンベロープ・フラグ」が表示されます。
この XML トランスポート・エンベロープは、<transport-envelope> ルート・タグ内に文書をラップします。このルート・タグの内部には、文書ペイロードを格納する <payload> タグがあります。添付ファイルが存在する場合、各添付ファイルは <attachment> タグ内に格納されます。これらのタグの構造について詳しくは、添付ファイルを参照してください。
Business Integration Connect には、バックエンド統合 XML トランスポート・エンベロープ構造を記述した、次の W3C XML スキーマ・ファイルが含まれています。
wbipackaging_v1.0_ns.xsd
このスキーマ・ファイルは、インストール・メディア上の次のディレクトリーにあります。
B2BIntegrate¥packagingSchemas
任意の XML 編集ツールを使用して、このスキーマ・ファイルに対するバックエンド統合 XML の妥当性を検査し、Document Manager に送信する前に文書が有効であることを確認することができます。
ビジネス・メッセージ・プロトコルで許可されていれば、各文書に 1 つ以上の添付ファイルを含めることができます。文書に添付ファイルがある場合、その文書は、ペイロードで説明したように XML トランスポート・エンベロープにラップする必要があります。表 9 で、ペイロードおよび添付ファイルのタグ内の XML 属性について説明します。
XML 属性 | 説明 | 必要であるか |
---|---|---|
コンテンツ・タイプ | MIME タイプ/サブタイプを示します (text/xml や image/gif など)。 | はい |
エンコード | エンコード方式を示します。添付ファイルとペイロードは Base64 でエンコードする必要があるため、この属性で有効な値は "Base64" のみです。 | いいえ |
図 4 に、ペイロードと 1 つの添付ファイルが含まれた XML トランスポート・エンベロープ内の文書の例を示します。
xmlns="http://www.ibm.com/websphere/bcg/2003/v1.0/wbipackaging"
図 4. ペイロードと 1 つの添付ファイルが含まれた XML トランスポート・エンベロープの例
<?xml version="1.0" encoding="utf-8"?> <transport-envelope xmlns="http://www.ibm.com/websphere/bcg/2003/v1.0/wbipackaging">
<payload encoding="base64" contentType="application/xml"> ...base64 encoded XML message... </payload>
<attachment encoding="base64" Content-Type="text/xml"> ...base64 encoded XML attachment... </attachment>
</transport-envelope>
特定のビジネス・プロトコルの文書は、特定のタイプのパッケージ化のみを使用できます。例えば RosettaNet 文書は、バックエンド統合のパッケージ化が指定された場合のみ 処理することができます。文書タイプとそれに関連するパッケージ化タイプの完全なリストについては、表 15 と表 20 を参照してください。
図 5 に、HTTP トランスポート・プロトコルを使用した、Business Integration Connect からアプリケーションへのメッセージの例を示します。メッセージに添付ファイルは含まれていないので注意してください。
図 5. HTTP トランスポート・プロトコルを使用したメッセージの例
POST /sample/receive HTTP/1.1 Host: sample. COM Content-Type: application/xml Content-Length: nnn x-aux-sender-id: 000000001 x-aux-receiver-id: 000000002 x-aux-third-party-bus-id: 000000003 x-aux-create-datetime: 2002-10-28T23:05:02Z x-aux-protocol: RNSC x-aux-protocol-version: 1.0 x-aux-process-type: 3A4 x-aux-process-version: V02.00 x-aux-payload-root-tag: Pip3A4PurchaseOrderRequest x-aux-msg-id: 1021358129419 x-aux-system-msg-id: 2 x-aux-production: Production x-aux-process-instance-id: 123456 x-aux-transport-retry-count: 0
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Pip3A4PurchaseOrderRequest SYSTEM "3A4PurchaseOrderRequestMessageGuideline_v1_2.dtd"> <Pip3A4PurchaseOrderRequest>
<PurchaseOrder> ... </PurchaseOrder> ...
<thisDocumentIdentifier> <ProprietaryDocumentIdentifier>1021358129419 </ProprietaryDocumentIdentifier> </thisDocumentIdentifier> <GlobalDocumentFunctionCode>Request</GlobalDocumentFunctionCode>
</Pip3A4PurchaseOrderRequest>
バックエンド・システムと WebSphere Business Integration Connect が相互にメッセージを送信する場合、それぞれが同じメッセージ・トランスポート・プロトコルを使用する必要があります。メッセージ・トランスポート・プロトコルは、メッセージ送信に使用される通信プロトコルを定義します。
Business Integration Connect は、バックエンド統合インターフェースを通じてバックエンド・システムと通信します。表 10 に、このバックエンド統合インターフェースでサポートされるトランスポート・プロトコルを示します。
表 10. Business Integration Connect でサポートされるトランスポート・プロトコル
トランスポート・プロトコル | 詳細の参照先 |
---|---|
HTTP または HTTPS | HTTP トランスポート・プロトコル |
ファイル・システム・ファイル | Enterprise Edition と Advanced Edition のファイル・システム・プロトコル |
JMS | JMS プロトコル |
メッセージの内容とバックエンド統合パッケージ化の特定の組み合わせで有効なトランスポート・プロトコルについては、表 15 と表 20 を参照してください。
HTTP プロトコルを使用したメッセージを送信するには、Business Integration Connect は HTTP/S 1.1 を使用します。バックエンド・システムからのメッセージを受信するため、Business Integration Connect は HTTP/S バージョン 1.0 および 1.1 の両方をサポートします。
HTTP メッセージには統合パッケージ化属性を組み込むことができます。これらの属性が組み込まれるかどうかは、参加者の接続に関連付けられたパッケージ化のタイプによって次のように異なります。
ヘッダー内のフィールドの完全なリストについては、トランスポート・レベル・ヘッダーの内容を参照してください。
RosettaNet メッセージはバックエンド統合パッケージ化を使用する必要があります。
Business Integration Connect とアプリケーションの間で、非同期の交換用に HTTP または HTTPS メッセージが送信される場合は、以下のステップが発生します。
交換が同期の場合 (SOAP または cXML 文書の場合など)、応答は同じ HTTP 接続で HTTP 200 メッセージとともに戻されます。
HTTP プロトコルを使用して Business Integration Connect にメッセージを送信するには、バックエンド・システムは以下のステップを実行します。
トランスポート・レベル・ヘッダー内の Content-Type 属性で、メッセージに使用されるエンコード方式を指定しています。
バックエンド統合パッケージ化の場合、バックエンド・システムは Business Integration Connect が必要とするプロトコル・ヘッダー属性を追加します。
HTTP メッセージをこの方向で交換できるようにするには、Community Console の「ターゲットの詳細」画面を使用して、インバウンド文書のターゲットをセットアップします。詳細については、バックエンド・システムからの文書の受信を参照してください。
HTTP プロトコルを使用して Business Integration Connect からメッセージを受信するために、バックエンド・システムは以下のステップを実行します。
HTTP メッセージをこの方向で交換できるようにするには、Community Console の「ゲートウェイ」画面を使用して、アウトバウンド文書のゲートウェイをセットアップします。詳細については、バックエンド・システムへの文書の送信を参照してください。
JMS プロトコルは Java Message Service (JMS) に基づくもので、IBM WebSphere MQ などが提供するトランザクションの永続 JMS キューを通じてメッセージを転送します。JMS プロトコルは、以下の JMS メッセージ・タイプをサポートします。
JMS プロトコルでは、送信システムがエンキュー操作を使用して受信システムへ JMS メッセージを送信します。受信システムはキューからメッセージを取得し、メッセージを永続化し、次にデキュー操作を実行してメッセージをキューから除去します。この時点から、受信システムはメッセージを非同期に処理することができます。
JMS メッセージには統合パッケージ化属性を組み込むことができます。これらの属性が組み込まれるかどうかは、参加者の接続に関連付けられたパッケージ化のタイプによって次のように異なります。
プロパティーの完全なリストについては、トランスポート・レベル・ヘッダーの内容を参照してください。
2 項メッセージを除き、Business Integration Connect では JMS メッセージの送受信にどちらのタイプのパッケージ化も使用することができます。
アプリケーションから受信した 2 項メッセージは、バックエンド統合パッケージ化を使用していなければなりません。ただし、その逆は当てはまりません。Business Integration Connect ではアプリケーションへ 2 項メッセージを送信する際にはどちらのタイプのパッケージ化も使用できるためです。
JMS プロトコルを使用して Business Integration Connect にメッセージを送信するには、バックエンド・システムは以下のステップを実行します。
content_type ヘッダー属性はメッセージのコンテンツ・タイプを設定し、content_length ヘッダー属性はメッセージの長さ (バイト単位) を指定します。
バックエンド統合パッケージ化の場合、アプリケーションは必要な JMS ヘッダー属性を追加します。
JMS メッセージをこの方向で交換できるようにするには、Community Console の「ターゲットの詳細」画面を使用して、インバウンド文書のターゲットをセットアップします。詳細については、バックエンド・システムからの文書の受信を参照してください。
JMS プロトコルを使用して Business Integration Connect からメッセージを受信するために、バックエンド・システムは以下のステップを実行します。
JMS メッセージをこの方向で交換できるようにするには、Community Console の「ゲートウェイ」画面を使用して、アウトバウンド文書のゲートウェイをセットアップします。詳細については、バックエンド・システムへの文書の送信を参照してください。
ファイル・システム・プロトコルによって、Business Integration Connect はメッセージを定義済みディレクトリー構造に配置して、メッセージを送信することができます。Business Integration Connect はディレクトリー構造からメッセージを読み込むことにより、メッセージを受信します。ファイル・システム・プロトコルは以下をサポートします。
ファイル・システム・プロトコルを使用して Business Integration Connect にメッセージを送信するには、アプリケーションは以下のステップ実行する必要があります。
ファイル・システム・メッセージをこの方向で交換できるようにするには、Community Console の「ターゲットの詳細」画面を使用して、インバウンド文書のターゲットをセットアップします。メッセージのターゲットによって、Business Integration Connect がポーリングするディレクトリーが決定します。ターゲットを作成すると、Business Integration Connect はターゲット用の Documents ディレクトリーとそのサブディレクトリーを以下のように作成します。
<doc_root> Documents Production Test <other destination types>
Business Integration Connect は、メッセージ・ファイルを検出するため定期的に Documents ディレクトリーとそのサブディレクトリーをポーリングします。メッセージを検出した場合、Business Integration Connect はメッセージを永続化し、次にディレクトリーからそのメッセージを削除します。次に、Business Integration Connect は正常にメッセージを処理します。ターゲットの作成方法について詳しくは、「ハブ構成ガイド」を参照してください。
ファイル・システム・プロトコルを使用してメッセージを受信するには、アプリケーションは以下を実行する必要があります。
ファイル・システム・メッセージをこの方向で交換できるようにするには、Community Console の「ゲートウェイ」画面を使用して、アウトバウンド文書のゲートウェイをセットアップします。Business Integration Connect はメッセージ・ファイルを Documents ディレクトリーに置きますが、このディレクトリーはゲートウェイによって定義されます。ゲートウェイに従って宛先ディレクトリーを定義することによって、各参加者の接続のディレクトリーを異なるものにすることができます。ゲートウェイについて詳しくは、「ハブ構成ガイド」を参照してください。
Business Integration Connect には、多数のさまざまなバックエンド・アプリケーションとの統合機能があります。通常、バックエンド・アプリケーションへは、統合ブローカーなどのバックエンド・システムを介してアクセスします。本書では、表 11 にリストされたバックエンド・システムへの統合について取り上げます。
表 11. Business Integration Connect 用にサポートされるバックエンド・システム
バックエンド・システム | 詳細の参照先 |
---|---|
WebSphere InterChange Server | InterChange Server 統合の概要 |
WebSphere Business Integration Message Broker | WebSphere Business Integration Message Broker との統合 |
WebSphere Data Interchange | WebSphere Data Interchange との統合 |