バックエンド統合の計画

このセクションでは、WebSphere Business Integration Connect とのバックエンド統合の計画方法について説明します。セクションの構成は以下のとおりです。

ビジネス・プロトコルの選択

メッセージのビジネス・プロトコルによって、文書のフォーマットが決まります。ビジネス・プロトコルは、バックエンド・システムへの統合を計画するときに下す決定の多くに影響します。どのビジネス・プロトコルを選択するかによって、使用しなければならないパッケージ化方式が決まり、それが使用可能なメッセージ・トランスポート・プロトコルに影響します。

ビジネス・プロトコルの詳細については、「管理者ガイド」を参照してください。このセクションでは、以下のビジネス・プロトコルに固有の統合情報について説明します。

Web サービス (SOAP)

Business Integration Connect では、以下の Web サービスをハブのメンバーに提供することができます。

文書フロー定義を Web サービス用にセットアップする方法などの詳細については、「ハブ構成ガイド」を参照してください。

cXML

コミュニティー参加者へ cXML を送信することも、コミュニティー参加者から cXML を受信することも可能です。Business Integration Connect はコミュニティー参加者から cXML 文書を受け取ると、その文書の妥当性を検査し、コミュニティー・マネージャーのバックエンド・システムへ送信する前に (指定があれば) 変換します。同期 cXML メッセージには変換を使用しないようにする必要があります。同期交換では、バックエンド・システムが応答を生成し、それを Business Integration Connect がコミュニティー参加者に戻します (メッセージに該当する場合)。

cXML 文書を送信する必要のあるコミュニティー・マネージャーのバックエンド・システムは、以下の 2 つの処理のいずれかを実行することができます。

注:
コミュニティー参加者との同期要求/応答トランザクションに XML 文書変換が使用される場合、応答は非同期的にバックエンド・システムに戻されます。

cXML 用文書フロー定義の設定方法などの詳細については、「管理者ガイド」を参照してください。

RosettaNet

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 では、イベント・ペイロード内部の各フィールドについて説明しています。

表 2. イベント通知 XML フィールド
フィールド 説明
StatusCode メッセージのタイプ。有効な値は以下のとおりです。
  • 100 - Business Integration Connect は、文書を送達し、受信確認を受け取りました。
  • 800 - アプリケーションが PIP をキャンセルしました。
  • 900 - Business Integration Connect はコミュニティー参加者から受信確認例外、一般例外、または 0A1Failure PIP を受け取りました。
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 プロトコルを使用して送信されたイベント通知メッセージの例を示します。

図 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 がコミュニティー・マネージャーとして機能している場合に妥当なパッケージ化のタイプをリストします。

表 3. バックエンド統合に関連するパッケージ化のタイプ
パッケージ化のタイプ 説明
パッケージ化なし

ヘッダー・データなしで、Business Integration Connect がメッセージをバックエンド・システムに送信します。

バックエンド統合パッケージ化

メッセージ・ヘッダーに属性を追加します。オプションで、メッセージの内容を XML トランスポート・エンベロープ内にラップします。

注:
Business Integration Connect では 他のパッケージ化のタイプ (AS など) も使用できます。ただし、バックエンド・システムとの統合には、パッケージ化なしのタイプか、バックエンド統合パッケージ化のタイプを使用することをお勧めします。

パッケージ化なし

パッケージ化が「なし」と設定されている場合、Business Integration Connect は、バックエンド・システムにメッセージを送信するときにトランスポート・レベル・ヘッダーを追加しません。また、バックエンド・システムからメッセージを受信したときにトランスポート・レベル・ヘッダーを考慮した処理は行いません。Business Integration Connect は、メッセージのみをバックエンド・システムに送信します。ルーティングは、文書内の情報によって制御されます。

バックエンド統合パッケージ化

パッケージ化がバックエンド統合に設定されている場合、バックエンド・システムに送受信されるメッセージには、以下のコンポーネントが含まれていなければなりません。

ヘッダーおよびペイロードは必須ですが、添付ファイルはオプションです。以降のセクションでは、バックエンド統合パッケージ化を使用する文書の各コンポーネントについて説明します。

トランスポート・レベル・ヘッダーの内容

トランスポート・レベル・ヘッダーには、Business Integration Connect がメッセージを処理して正しい宛先にルーティングするために使用する情報が含まれています。トランスポート・レベル・ヘッダーは、両方向に対応しており、Business Integration Connect に出入りするすべてのメッセージには、必須フィールドと、適合するオプショナル・フィールドがあります。

表 4 にトランスポート・レベル・ヘッダーのフィールドをリストします。

表 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 メッセージの長さ (バイト単位)。

注:
IBM WebSphere MQ (JMS プロバイダー) との互換性を持たせるため、JMS プロトコル・メッセージのフィールドでは、ハイフンではなく下線を使用します。例えば、JMS メッセージ内では x-aux-sender-id フィールドではなく x_aux_sender_id フィールドになります。

表 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>
 

トランスポート・レベル・ヘッダーと AS2 メッセージ 

表 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 には使用されません。

トランスポート・レベル・ヘッダーと AS1 メッセージ 

表 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 に示すようにメッセージを送信するトランスポート・プロトコルに依存します。


表 8. ペイロードのロケーション
トランスポート・プロトコル ペイロードのロケーション
HTTP プロトコル・メッセージ HTTP ポストの本文内
JMS プロトコル・メッセージ JMS メッセージの本文内
RosettaNet メッセージ PIP からのサービス・コンテンツ
AS2 での EDI の送信

EDI メッセージ

メッセージに 1 つ以上の添付ファイルも含まれている場合を除き、ペイロードは XML エンベロープでラップされません。添付ファイルをラップするために使用される XML エンベロープおよびタグについては、添付ファイルを参照してください。

次のいずれの場合も、ペイロードは Base64 でエンコードされて、XML トランスポート・エンベロープ内に格納されます。

この 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 属性について説明します。


表 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>
 
注:
WebSphere InterChange Server を使用して XML トランスポート・エンベロープにラップされた文書を処理するため、Business Integration Connect には Attachment Data Handler があります。詳細については、添付ファイルのある文書の処理を参照してください。

文書に適合するパッケージ化のタイプ

特定のビジネス・プロトコルの文書は、特定のタイプのパッケージ化のみを使用できます。例えば RosettaNet 文書は、バックエンド統合のパッケージ化が指定された場合のみ 処理することができます。文書タイプとそれに関連するパッケージ化タイプの完全なリストについては、表 15表 20 を参照してください。

HTTP でのバックエンド統合パッケージ化の例

図 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 トランスポート・プロトコル

HTTP プロトコルを使用したメッセージを送信するには、Business Integration Connect は HTTP/S 1.1 を使用します。バックエンド・システムからのメッセージを受信するため、Business Integration Connect は HTTP/S バージョン 1.0 および 1.1 の両方をサポートします。

HTTP メッセージには統合パッケージ化属性を組み込むことができます。これらの属性が組み込まれるかどうかは、参加者の接続に関連付けられたパッケージ化のタイプによって次のように異なります。

プロセス

Business Integration Connect とアプリケーションの間で、非同期の交換用に HTTP または HTTPS メッセージが送信される場合は、以下のステップが発生します。

  1. ソース・システム (Business Integration Connect またはバックエンド・システム) が固有の URL を使用してターゲット・システムへの HTTP メッセージを通知します。
  2. ターゲット・システムはメッセージを受信し、プロトコル・レベルの肯定応答 HTTP 200 または 202 を送信して所有権の変更を知らせます。ソース・システムはこの肯定応答メッセージの本文を無視します。この処理の間にエラーが発生した場合、ターゲット・システムは HTTP 500 メッセージをソース・システムに戻します。
  3. Business Integration Connect がターゲット・システムである場合 (つまり Business Integration Connect がメッセージを受信する場合) は、メッセージを永続化し、ソース・システムへの接続を解放します。
  4. すると、ターゲット・システムは非同期でメッセージを処理できるようになります。

交換が同期の場合 (SOAP または cXML 文書の場合など)、応答は同じ HTTP 接続で HTTP 200 メッセージとともに戻されます。

HTTP プロトコルを使用したメッセージの送受信

HTTP プロトコルを使用して Business Integration Connect にメッセージを送信するには、バックエンド・システムは以下のステップを実行します。

  1. メッセージを作成します。

    トランスポート・レベル・ヘッダー内の Content-Type 属性で、メッセージに使用されるエンコード方式を指定しています。

  2. 接続のパッケージ化セットに従ってメッセージをパッケージ化します。

    バックエンド統合パッケージ化の場合、バックエンド・システムは Business Integration Connect が必要とするプロトコル・ヘッダー属性を追加します。

  3. Business Integration Connect が使用する URL にメッセージを通知して、これらのメッセージを受信します。
  4. 交換が同期の場合、バックエンド・システムは、要求に使用されたものと同じ接続での応答の受信を待ち合わせます。

HTTP メッセージをこの方向で交換できるようにするには、Community Console の「ターゲットの詳細」画面を使用して、インバウンド文書のターゲットをセットアップします。詳細については、バックエンド・システムからの文書の受信を参照してください。

HTTP プロトコルを使用して Business Integration Connect からメッセージを受信するために、バックエンド・システムは以下のステップを実行します。

  1. 特定の URL でメッセージを listen します。
  2. メッセージを受信したら、以下のようにメッセージを処理します。
  3. 交換が同期の場合、バックエンド・システムは、要求に使用されたものと同じ接続で応答を戻します。

HTTP メッセージをこの方向で交換できるようにするには、Community Console の「ゲートウェイ」画面を使用して、アウトバウンド文書のゲートウェイをセットアップします。詳細については、バックエンド・システムへの文書の送信を参照してください。

JMS プロトコル

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 プロトコルを使用したメッセージの送信

JMS プロトコルを使用して Business Integration Connect にメッセージを送信するには、バックエンド・システムは以下のステップを実行します。

  1. メッセージを作成します。

    content_type ヘッダー属性はメッセージのコンテンツ・タイプを設定し、content_length ヘッダー属性はメッセージの長さ (バイト単位) を指定します。

  2. 接続のパッケージ化セットに従ってメッセージをパッケージ化します。

    バックエンド統合パッケージ化の場合、アプリケーションは必要な JMS ヘッダー属性を追加します。

  3. バックエンド・システムが Business Integration Connect にメッセージを送信するために使用する JMS キューに、メッセージを送信します。

JMS メッセージをこの方向で交換できるようにするには、Community Console の「ターゲットの詳細」画面を使用して、インバウンド文書のターゲットをセットアップします。詳細については、バックエンド・システムからの文書の受信を参照してください。

JMS プロトコルを使用したメッセージの受信

JMS プロトコルを使用して Business Integration Connect からメッセージを受信するために、バックエンド・システムは以下のステップを実行します。

  1. JMS キューでメッセージを listen します。
  2. メッセージを受信したら、以下のようにメッセージを処理します。

JMS メッセージをこの方向で交換できるようにするには、Community Console の「ゲートウェイ」画面を使用して、アウトバウンド文書のゲートウェイをセットアップします。詳細については、バックエンド・システムへの文書の送信を参照してください。

Enterprise Edition と Advanced Edition のファイル・システム・プロトコル

ファイル・システム・プロトコルによって、Business Integration Connect はメッセージを定義済みディレクトリー構造に配置して、メッセージを送信することができます。Business Integration Connect はディレクトリー構造からメッセージを読み込むことにより、メッセージを受信します。ファイル・システム・プロトコルは以下をサポートします。

ファイル・システム・プロトコルを使用したメッセージの送信

ファイル・システム・プロトコルを使用して Business Integration Connect にメッセージを送信するには、アプリケーションは以下のステップ実行する必要があります。

  1. 一時ディレクトリー内にメッセージ・ファイルを作成します。
  2. ファイルの用意ができたら、そのファイルを 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 は正常にメッセージを処理します。ターゲットの作成方法について詳しくは、「ハブ構成ガイド」を参照してください。

ファイル・システム・プロトコルを使用したメッセージの受信

ファイル・システム・プロトコルを使用してメッセージを受信するには、アプリケーションは以下を実行する必要があります。

  1. メッセージ・ファイルを検出するために適切なディレクトリーをポーリングします。
    注:
    一時ファイル (拡張子が .tmp または .tmp1 のファイル) は無視してください。アプリケーションは、これらの一時ファイルを取り出したり削除したりしてはなりません
  2. メッセージがあれば、それを永続化します。
  3. ディレクトリーからメッセージを削除します。
  4. メッセージを処理します。

ファイル・システム・メッセージをこの方向で交換できるようにするには、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 との統合

Copyright IBM Corp. 1997, 2004