ebXML(electronic business XML)とは、XMLを活用した企業間電子商取引のための国際標準仕様です。非営利のXML関連標準化団体OASISと国連機関のUN/CEFACTが共同で設立したebXMLイニシアティブによって、2001年5月に策定された規格(※1)です。
ebXML規格のミッションは、以下のように要約されます。
「オープンでXMLベースのインフラストラクチャを提供して、あらゆる当事者が、相互運用性がありセキュアで一貫した仕方で電子ビジネス情報をグローバルに利用できるようにすること」
業種や規模、国家によらず、あらゆる企業が利用できる仕様策定を目指しており、ビジネスプロセスや取引情報のフォーマット(※2)、通信プロトコル、企業のレジストリやリポジトリなど幅広い内容を定義しています。
※1:2003年10月にOASISが「ebXML Business Process(BP)」技術委員会を発足し、ebXMLのすべての開発を担うようになりました
※2:RosettaNetやFDXSとは異なり、実際に送受信される電文の形式は定められていません。(「日付」や「価格」など、共通して使用できる情報のフォーマットを定めています)
ebXMLの規格内容
ebXMLの規格には、以下のような各分野の仕様があります。
● CPPA(Collaboration-Protocol Profile and Agreement Spacification)Ver 2.0
ビジネスサービス情報を定義しています。この仕様は、以下の2つの仕様に分かれます。
- CPP(Colaboration Protocol Profile)
取引を行う企業のメッセージ交換能力(使用する転送プロトコル、暗号化・署名の方式、ビジネスプロトコル定義が実行する役割など)を記述したXML文書。
- CPA(Colaboration Protocol Agreement)
取引を行う企業双方の間で合意したメッセージ交換の内容を記述したXML文書。(双方のCPPを元に作成される)
● MSG(Message Service Specification) Ver 2.0
ebXML規格に準拠したメッセージ(ebXMLメッセージ)の交換を安全な方法で提供するための仕様です。
● RIM(Registry Infomation Model) Vre 2.0
レジストリの情報モデルを定義しています。ebXMLレジストリ(各企業が提供するビジネスサービスや製品に関する情報を登録・公開するためのデータベース)の仕様です。
● RSC(Registry Services Specification) Ver 2.0
レジストリ・サービスを定義しています。
● BPSS(Business Process Specification Schema) Ver 1.0
ビジネス・プロセスを定義しています。電子商取引のためのメッセージ交換手順をXMLで記述する仕様。電文の種類、成功のパターン、セキュリティ、ライフタイムなどをXML文書で記述しています。
● その他
その他に、以下のような仕様もあります。
- コアコンポーネント(Core Component)
「日付」や「価格」など、どの業界のビジネスデータでも共通して使用される情報を定義します。
- ドメインコンポーネント(Domain Component)
特定の業界に共通して使用される情報を定義します。
ebXMLのメッセージ構造
ebXMLでは、SOAPを拡張したメッセージ構造を使用しています。<「SOAP(Simple Object Access Protocol) 1.1」と「SOAP Message with Attachments」に準拠> また、UML(Unified Modeling Language)というオブジェクト指向のモデル記述言語を使用してビジネス・サービスを定義しています。 |
![]() |
ebXMLのビジネスモデル(理想型)
ebXMLをうまく活用できれば、以下のようなビジネスモデルになると考えられています。

- ebXMLを導入する企業が、自社のビジネスサービス内容(CPP)をebXMLレジストリに登録
- ebXMLレジストリサービスを利用して、登録されている企業の中から、必要とするサービスや製品を提供する企業を検索
- 選択した企業Bのサービス情報を参照
- 企業Bも自社を選択した企業Aのサービス情報を参照
- 両者サービス情報を照合して合意に達した内容(CPA)を取り交わす
- 合意内容に基づいたビジネスプロセスに従って取引を行う
ebXMLのビジネスモデル(現在型)
しかしながら、ebXMLレジストリへ登録し、そこから取引相手を検索するような…という理想型のビジネスモデルは、まだ少し遠い話です。現状では、以下のような、もう少しシンプルなビジネスモデルが使用されています。

- ある業界で、OrderとOrderResponseという電文をやり取りしようと決め、BPSSを作成
- 企業Aと企業Bが、お互いの取引に合意
- 企業Aは、企業BからのOrderとOrderResponseをどのように受信するかを決定(受信方法、リトライ数など)
- 企業Bは、企業AからのOrderとOrderResponseをどのように受信するかを決定
- 3、4の手順に基づいて、企業Aと企業Bの情報が入ったCPAを作成
- BPSSとCPAに基づいて、企業Aと企業Bの間で取引を行う
ebXML取引とアプリケーション開発
現状のビジネスモデルを想定すると、ebXMLでの取引にはBPSSとCPAの2種類のXMLを使用することになります。したがって、それぞれのXMLを解釈し、実行するアプリケーションが必要になります。

- BSI(Business Service Interface)アプリケーション:
BPSSを読み込んで、ビジネスプロセス(見積→発注→納品→請求などの流れ)を実行するアプリケーション
- ebMS(ebXML Message Service)アプリケーション:
CPAを読み込んで、1つの電文(ebXMLメッセージ)を生成し、送受信するアプリケーション
※MSH(Message Service Handler)と呼ぶこともある
2社間のバックエンドシステム内での電文のやり取りの様子
では最後に、参考までに、システムへの実装を想定して、2つの企業間で行われる電文のやり取りの様子を簡易にサンプル化したものをみていただきましょう。
<シーケンス図:法則・規則に従った連続的な操作手順>

ビジネスドキュメントは、バックエンドシステムからBSIアプリケーションを経由して、ebMSアプリケーションに投入されます。ebMSアプリケーションでは投入されたビジネスドキュメントとCPAを利用して、ebXMLメッセージをSOAPメッセージとして作成します。そのebXMLメッセージを取引先に送信し、取引先のebMSアプリケーションがBSIアプリケーションを経由してバックエンドシステムにビジネスデータとして投入します。
※ビジネスドキュメント:Order、OrderResponseというような実際に送受信されるデータ
また、このシーケンスの際には、以下のようなメッセージの送受信が行われています。
1つのビジネスドキュメントの送信に対し、2つのビジネスシグナル(ビジネスドキュメントの1種として定義されるACK<ReceiptAck、AcceptanceAck>)を返信します。またそれぞれのebXMLメッセージに対して、受信側のebMSアプリケーションが、送信元のebMSアプリケーションにAcknowledgment(受領通知)というebXMLメッセージを送信します。
<企業Aから企業Bへのメッセージの送信の図>

1つのビジネスドキュメント送信に対して、上記のような処理工程が実行される。
基本的にebMSアプリケーション間のAcknowledgmentは、最初に受信したebXMLメッセージとは別セッションで送信されます。ただし、CPAで“SyncReplyモード”が設定された場合は、受信したebXMLメッセージと同一のセッション(HTTP通信時ならばHTTPレスポンスのボディ)にAcknowledgmentを添付して返信します。
→ 参考:ebXMLデータによる電子取引システムも簡単に構築できる「ASTERIA」の製品情報はこちら
日時: 2006年07月05日 15:00 | | TrackBack

