JP4500842B2 - ドキュメントベースのトランザクション処理システム及び方法 - Google Patents

ドキュメントベースのトランザクション処理システム及び方法 Download PDF

Info

Publication number
JP4500842B2
JP4500842B2 JP2007260401A JP2007260401A JP4500842B2 JP 4500842 B2 JP4500842 B2 JP 4500842B2 JP 2007260401 A JP2007260401 A JP 2007260401A JP 2007260401 A JP2007260401 A JP 2007260401A JP 4500842 B2 JP4500842 B2 JP 4500842B2
Authority
JP
Japan
Prior art keywords
document
input
server
business document
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007260401A
Other languages
English (en)
Other versions
JP2008084328A5 (ja
JP2008084328A (ja
Inventor
バート アラン メルツァー
テリー アーレン
マシュー ダニエル フークス
ロバート ジョン グルスコ
マーレイ マロニー
アンドリュー エヴァレット ディヴィッドソン
ケネス パーソン
ケリー レーン シュヴァーツホッフ
Original Assignee
オープン インヴェンション ネットワーク リミテッド ライアビリティ カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/173,854 external-priority patent/US6125391A/en
Priority claimed from US09/173,858 external-priority patent/US8006177B1/en
Priority claimed from US09/173,847 external-priority patent/US6226675B1/en
Application filed by オープン インヴェンション ネットワーク リミテッド ライアビリティ カンパニー filed Critical オープン インヴェンション ネットワーク リミテッド ライアビリティ カンパニー
Publication of JP2008084328A publication Critical patent/JP2008084328A/ja
Publication of JP2008084328A5 publication Critical patent/JP2008084328A5/ja
Application granted granted Critical
Publication of JP4500842B2 publication Critical patent/JP4500842B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass

Description

本発明は、ネットワークに接続された多様なクライアントの間でのトランザクション(取引)をサポートするシステム及びプロトコルに係り、詳細には、異なるアーキテクチャを有するプラットフォームの間での商取引をサポートするシステム及びプロトコルに関する。
インターネットやその他の通信ネットワークは、コンピュータシステムと人との間の通信のための手段を提供し、それは、例えば参加者によって商品やサービスの売買が行われる商取引などの広範囲な種々のトランザクションに使用されている。インターネット上での商取引を促進させるために多くの努力がなされている。しかしながら、取引を実行するにあたって競合する規格が沢山あることから、その取引の関係者は、用いられるプロトコルに事前に同意しておかなければならないし、かかる取引をサポートするためにはシステム・アーキテクチャをその都度、統合再編することの要求が頻繁に生じていた。合意された規格に適合せず、特定ノードに内在してしまっている商業プロセスは、他のノードとの統合再編のために相当の手直しを必要とするかも知れない。更に、一企業が1つの規格又は他の規格にかかわると、その企業はすでに存在する規格グループの取引集団に固定化され、他の者を排除してしまうことになる。
インターネット商取引の開発に関する挑戦の概要が、「Eco System:An Internet Commerce Architecture」 Tenenbaum他著:Computer,May 1997;48〜55ページに記載されている。
インターネット上での商取引をオープンなものにするため、アーキテクチャのフレームワークを標準化することが望ましい。そのような商業的フレームワークをサポートするために開発されたプラットフォームとして、IBMのCommerce Point;Microsoft(R) Internet Commerce Frameworks;NetscapeのONE(Open Network Environment);OracleのNCA(Network Computing Architecture);及びSun/JAVA(R)のソフトJECF(JAVA Electronic Commerce Framework)がある。
これら専有フレームワークに加えて、CORBA IIOP(Common Object Request Broker Architecture Internet ORB Protocol)をベースとした、共通分散オブジェクトモデルなどのプログラミング技術が推進されている。共通分散オブジェクトモデルの使用は、企業システムの移行を、電子商取引をビジネスアプリケーションレベルで相互利用できるシステムにまで単純化させることを意図したものである。しかしながら、1つのフレームワークしか用いない消費者又はビジネスにとっては、異なるフレームワーク上にある取引(トランザクション)を実行することができない。このことが、電子商取引システムが成長する上での阻害要因となっている。
1つのフレームワークを実行している企業は、他のフレームワークをサポートしているAPIとは異なるアプリケーション・プログラミング・インタフェース(API)をもつであろう。従って、企業は、共通のビジネス・システム・インタフェースを採用することを要求することなく、ビジネス・サービスを相互にアクセスするのは非常に困難である。ビジネス・システム・インタフェースをAPIレベルで開発することは、関係者間で実際上実現不可能な程の相当の協力を要求してしまうことがある。
したがって、通信ネットワークにおける多様なプラットフォーム間での対話(インタラクション)を容易にするフレームワークを提供することが望まれている。そのようなシステムは、個別の統合再編や産業界の広範囲な規格に前もって同意することなく、取引パートナー間で自発的な取引がなされることを容易にしなければならない。更に、かかるシステムは、ビジネスの自動化に向けて前進する道を切り開き、従来のシステム統合で要されていた多大な時間やコストやリスクを排除するものでなければならない。
全体としては、専有規格をベースとする閉鎖的な商取引相手とのネットワークを、開放されたマーケットに置き換える電子商取引システムを提供することが望ましい。
本発明は、消費者、供給業者(サプライヤー)、及び取引相手とビジネス上の繋がりをもつためのインフラストラクチャ(基盤=インフラ)を提供する。本発明のインフラストラクチャの下では、取引相手との間で容易に理解可能なことを特徴とするXML(拡張マークアップ言語)ベースのドキュメント等の自己定義型でマシン読取り可能なドキュメントを用いて、企業間で情報及びサービスの交換を行う。交換されるべき事項が記述されたドキュメント(以下、ビジネス・インタフェース定義、即ち“BID”と称する)が、インターネット上に送られ、或いは、ネットワークのメンバーに通信される。ビジネス・インタフェース定義(BID)は、潜在的な取引相手に対して、企業が提供するサービスやそのサービスのやりとりの時に使用するドキュメントを知らせる。したがって、典型的なビジネス・インタフェース定義というのは、消費者が購買注文を提出することによって発注することができるようにさせるものであって、当該購買注文は、その購買注文を受取る取引相手のBIDに表れるドキュメント定義に従っていることになる。供給業者は、在庫データを管理するビジネスシステムのBIDに表れるドキュメント定義に従った在庫状況報告をダウンロードすることによって、注文の可能性を確認することが可能である。予め定義された、マシン読取り可能なビジネスドキュメントの使用によって、企業のアプリケーションにアクセスするためのより直観的で柔軟な方法が提供されることになる。
商業ネットワークにおけるノードは、本発明による取引(トランザクション)のためのインタフェースを確立する。この場合、本発明には、インタフェースの仕様のみならず、当該インタフェースを解釈するのに必要な情報をもつマシン読取り可能なデータ構造をも含んでいる。このインタフェースの仕様は入力ドキュメントの定義及び出力ドキュメントの定義を含む。トランザクションプロセッサはその仕様を受け入れ且つ生成し、前記ノードはインタフェースとして動作する。入力及び出力ドキュメントの両定義は、例えば、標準XML系ドキュメントに従い、記憶装置の記述や記憶装置の論理構造の記述のそれぞれを含む。本発明の様々な態様によれば、解釈情報を含むマシン読取り可能なデータ構造は、論理構造の意味定義(例えば、製品名に対するマッピングコード)を提供するために、リスト内の各エントリに対して、入力及び出力ドキュメントの定義における論理構造用のデータ・タイプ仕様(例えば、ストリングやアレイ等)、論理構造用のコンテンツモデル(例えば、取り得る値のリスト)、及び/又は特定の論理構造用の記憶装置をマップするデータ構造を含む。
本発明の他の態様によれば、インタフェースは、ネットワークの少なくとも1つのノードによってアクセス可能なメモリにリポジトリ(これは論理構造のライブラリ及び論理構造の解釈情報を記憶する)を含んでいる。このリポジトリは、入力及び出力ドキュメント定義のライブラリ、インタフェース仕様のライブラリ、及びネットワークにおける参加者インタフェースノードのための仕様のライブラリを含むように拡張することができる。
従って、本発明のトランザクション・フレームワークの参加者は、トランザクションに関係する複数のノード実行プロセスを含むネットワークにおいて、ノード間でのトランザクションを実行する。本発明の方法は、トランザクションのために、インタフェースのマシン読取り可能な仕様を記憶することを含む。その仕様は、入力ドキュメントの定義及び出力ドキュメントの定義を有する。入力及び出力ドキュメントの定義は、それぞれ、記憶装置の記述、及び記憶装置用の論理構造を含む。好ましいシステムでは、それらの定義は、標準XMLドキュメントタイプ定義であるDTDに準拠したやり方で表現され、セマンティック(意味的)マッピング、コンテンツモデリング、及び幾つかのエレメントのデータタイピングによって拡張される。トランザクションの参加者は、通信ネットワークを通じたドキュメントを含むデータを受信する。参加者は、トランザクションのために記憶された仕様に従いドキュメントを構文解析し、トランザクションのための入力ドキュメントを識別する。ドキュメントの構文解析後、出力を生み出すトランザクションプロセスに、マシン読取り可能なフォーマットの入力ドキュメントの少なくとも一部が提供される。出力ドキュメントは、記憶された仕様の出力ドキュメントの定義に基づき、トランザクションプロセスの出力を含むように形成される。出力ドキュメントは、通信ネットワーク上に送信され、通常は入力ドキュメントのソースに戻されるか、そうでなければ特定のタイプのトランザクションのニーズに合わせられる。
したがって、ビジネス・インタフェースの定義は、例えばXMLによって特定されるドキュメントと、特別のノードにおけるトランザクション処理サービスのフロントエンドで実行されるプログラムとの間のギャップを埋める。そのようなフロントエンドは、例えば、JAVA仮想マシンによって、或いはネットワークを越えて存在するシステム間の相互接続のために提供される他の共通のアーキテクチャによって実現される。ビジネス・インタフェース定義は1つの技術を提供し、この技術により、トランザクション・プロトコルがビジネス・インタフェースを定義したドキュメントを用いてプログラミングされる。トランザクション・プロトコルのためのプログラムは、ドキュメント形式の詳細な正式によって確立される。
トランザクション・インタフェースのマシン読取り可能な仕様は、ネットワークの他のプラットフォームに対してアクセス可能にする。参加者のプラットフォームは、相補的ノードで特定されるトランザクション・インタフェースに従った、入力ドキュメント及び出力ドキュメントを設計するためのリソースを含む。したがって、参加者のノードは、相補的インタフェース用の入力ドキュメント定義、及び相補的インタフェース用の出力ドキュメント定義にアクセスするリソースを含む。アクセスする参加者ノード用に記憶された仕様は、その仕様で記憶した入力ドキュメント定義に、相補的インタフェースの出力ドキュメント定義の少なくとも一部を含むことによって確立される。
本発明の他の態様によれば、インタフェースの仕様を確立するプロセスは、リポジトリから機械読取り可能な仕様の要素にアクセスすることを含む。このリポジトリは論理構造、コンテンツモデル、および論理構造のための概略マップのライブラリ、並びにインタフェース記述を構築するために用いられる論理構造を含んだドキュメント定義を記憶する。ネットワーク上アクセス可能なリポジトリは、容易に共有され得るインタフェース記述の構築を簡単にさせる。特別なプロセス用として生成された入力ドキュメントと、相補的プロセスによるリターンとして期待される出力ドキュメントとの間の相違は、ネットワーク上の通信や、特別な情報を表現するための共通論理構造に同意することによって、乗り越えられる。
本発明の一つの態様によれば、トランザクションのインタフェースのマシン読取り可能な仕様は、ネットワークのメンバー間で共有されるインタフェース・ドキュメントの定義に従うドキュメントを有する。インタフェース・ドキュメントの定義は、特別なトランザクションの識別子、少なくとも一つの定義、そして特別なトランザクションのための入力及び出力ドキュメント定義に対する参照を記憶するための論理構造を有する。すなわち、実際には、特別なサービスに関するインタフェース記述が、入力及び出力ドキュメントの定義を網羅する。あるいはまた、このようなドキュメントの定義に対するリポジトリにおける位置へのポインタであったり、ネットワークのどこかへのポインタを含むことができる。
本発明の他の代替方法によれば、マシン読取り可能な仕様は、インタフェース・ドキュメントの定義に準拠したビジネス・インタフェース定義BIDドキュメントを含み、前記インタフェース・ドキュメントには、インタフェース識別子を記憶するため、そして少なくとも1つの仕様や、インタフェースによってサポートされる1以上のトランザクションの組の仕様に対する参照を記憶するための、複数の論理構造を有する。サポートされた各トランザクションについて、ドキュメントは、少なくとも1つの定義、並びに特別なトランザクションに対する入力及び出力ドキュメント定義への参照を含む。
本発明の他の態様によれば、入出力ドキュメントの定義で規定された記憶装置は、テキスト文字をエンコードするキャラクタ・データを含む構文解析データ、および入出力ドキュメントの論理構造に従って記憶装置を識別するマークアップデータを含む。本発明の他の態様によれば、記憶装置の組の少なくとも1つは、自然言語をもたらす複数のテキスト文字をエンコードする。これは、ドキュメントの開発者や読み手が、入出力ドキュメントの定義をたやすく使用できるようにする。
本発明の他の態様によれば、入出力ドキュメントの仕様は、論理構造によって識別された記憶装置の組のうちの少なくとも1つに関する解釈情報を含む。この解釈情報は、例えば、構文解析された文字用の定義をエンコードする。別の例では、解釈情報は、コンテンツモデル仕様のために提供される。例えば、カタログの記述を作るためにマップされたコードの多数のリストを扱うために、特定の論理構造を要求したりする。あるシステムの場合、ドキュメントの論理構造にある記憶装置は、特定の実施の必要性にあわせて構文解析されたデータのセットを含む。
本発明の他の態様によれば、特定のプラットフォームでのトランザクションプロセスは、多数の変形トランザクション処理アーキテクチャの1つを有する。したがって、参加者ノードは、情報を用いて、入力ドキョメントの少なくとも一部を、変形トランザクション処理アーキテクチャに従って読み出し可能なフォーマットに変換するためのリソースを含む。ドキュメント定義の要素は、変形トランザクション処理アーキテクチャに従い、変数及び方法を含むプログラミング・オブジェクトに変換される。トランザクションプロセスのフロントエンドとして機能するJAVA仮想マシンを有する参加者に対して、ドキュメントの特定のフィールドがJAVAオブジェクトに変換される。それは、データのみならず、JAVAオブジェクトと対応付けられた関数を設定することを含んでいる。本発明に従いサポート可能な他のトランザクション処理アーキテクチャは、Common Object Request Broker Architecture CORBA,Component Object Model COM,On−line Transaction Processing OLTR,およびElectronic Data Interchange EDIという意味で、インタフェース記述言語に従う処理を含む。
本発明の他の態様によれば、複数のトランザクションにおいて使用されるドキュメント形式を記憶するリポジトリが提供される。特別なトランザクション用のマシン読取り可能な仕様は、リポジトリのドキュメント形式を参照することによって、入出力ドキュメントの少なくとも1つを定義する。他の態様によれば、このリポジトリのドキュメント形式は、ネットワークの参加者を識別するためのドキュメント形式を含む。このようなドキュメント形式は、参加者を識別し、その参加者によってサポートされるサービスを特定し、そしてそのようなサービスの各々に対する入出力ドキュメントを特定するため構造を提供する。
上述の方法に加えて、本発明はノード間のトランザクションを管理する装置を提供し、前記ノードには、ネットワーク・インタフェース、トランザクション用インタフェースのマシン読取り可能な仕様を含んだ命令のプログラムやデータを記憶するためのメモリ、およびメモリとネットワーク・インタフェースとに接続されたデータ・プロセッサが含まれている。本装置に記憶された命令のプログラムは、トランザクションの参加者のために、上述したプロセスを実行するロジックを含む。
本発明は、更に、トランザクション処理アーキテクチャに従いトランザクション処理を遂行するデータ処理リソースとネットワーク・インタフェースを備えたシステム上で実行されるトランザクション用の参加者インタフェースを確立するための装置を提供する。本装置は、システムによって実効可能なプログラム命令を含む。そのプログラム命令は、特別のトランザクションの参加者用インタフェース定義を構築するツールを提供するシステムがアクセス可能な媒体に記憶される。参加者インタフェースの定義は、入力ドキュメントの定義及び出力ドキュメント定義を含む。この入出力ドキュメント定義は、記憶装置のための論理構造内で各記憶装置のマシン読取り可能な記述を有し、本発明の1つの態様では、それはXMLドキュメント形式の定義に準拠する。
また、本発明の本態様によれば、参加者インタフェースを確立する装置は、データ処理システムによってアクセス可能な媒体に記憶された命令のプログラムを含み、入出力ドキュメントの定義に応答して、記憶装置の組及びトランザクション・アーキテクチャに準拠した入出力ドキュメントの論理構造に対応するデータ構造をコンパイルする。また、入力ドキュメントを対応のデータ構造に変換するために、システムによって実行可能な命令をコンパイルする。そして、トランザクション処理の出力を、出力ドキュメントの記憶装置の組及び論理構造に変換するために、システムによって実行可能な命令をコンパイルする。
好ましいシステムにおいて、参加者インタフェースの定義を構築するためのツールは、システムによって実行可能な命令を含み、論理構造やインタフェース記述を構築するのに用いられる解釈情報のライブラリを記憶したリポジトリからの、及び/又は相補ノードからの定義要素にアクセスする。本発明の様々な態様によれば、リポジトリは、論理構造のライブラリだけでなく、論理構造を含むドキュメント定義や参加者インタフェースを特定するフォーマットを有している。本発明のこの特徴によって、ビジネス・インタフェースの仕様を構築するためのツールが、参加者ノードの記述に関連する上述の技術に基づき提供される。インタフェースを構築するためのツール、及びこのインタフェースをトランザクション処理アーキテクチャとの通信のために必要とされるリソースにコンパイルするツールが、本発明の好ましいシステムの参加者ノードで実施される。そして、ネットワークの使用が入出力ドキュメントを定義するインタフェース記述に基づいて増大するとき、インタフェース記述の開発及び最適化のために用いられる。
したがって、本発明の別の態様は、メモリと、このメモリに記憶された命令であって参加者インタフェースの定義を構築するツールを含んだ命令を実行するデータ・プロセッサと、上述した機能を達成するコンパイラとを備えた装置を提供する。
本発明の更に別の態様によれば、参加者インタフェース記述の使用は、マーケットメーカー(market maker)のノードが動作することをもたらす。そのようなノードで、インタフェースによってサポートされたトランザクション、及びそのようなトランザクションの各入出力ドキュメントを識別する複数の参加者インタフェースのマシン読取り可能な仕様を記憶することを含むトランザクション管理方法が提供される。上述したように、入出力ドキュメントの定義は、例えばXML標準に従い、記憶装置及び記憶装置のための論理構造の各記述を含んでいる。加えて、トランザクションの定義及び参加者インタフェースの定義の全ては、XMLに準拠した技術或いは他の標準化ドキュメントの表現言語に従って特定されたドキュメントを含んでいる。そのようなマーケットメーカーのノードで、ドキュメントを含むデータが、通信ネットワークを介して受信される。ドキュメントは、仕様に従い構文解析され、入力ドキュメントを受入れる一以上のトランザクションで入力ドキュメントを識別する。識別された一以上のトランザクションに関連するトランザクション処理に対し、入力ドキュメントの少なくとも一部がマシン読取り可能なフォーマットで提供される。入力ドキュメントの少なくとも一部をトランザクション処理に提供するステップは、マーケットメーカーのノードで、処理アーキテクチャに従いルーティング処理を実行することを含む。本発明の一態様の場合、このルーティング処理は、特定の処理アーキテクチャにより実行され、そして入って来るドキュメントの少なくとも一部を、ルーティング処理の処理アーキテクチャのフォーマットに変換する。好ましい態様によると、この変換は、ルーティング処理の処理アーキテクチャに基づいた変数及び方式を有するプログラミング・オブジェクトを生成することを含む。
本発明の別の態様によれば、マーケットメーカーのノードは、リポジトリ構造をサポートする。その結果、マーケットメーカーのノードで記憶されたリポジトリに対して、ネットワークの参加者がアクセスすることができるプロセスを含んでいる。上述したように、リポジトリは、トランザクション・インタフェース・ドキュメントを構築するために、論理構造の定義、解釈情報、及び各参加者ノードが使用するドキュメント定義を含み、そして、参加者を識別するビジネス・インタフェース定義のインスタンス、及び各参加者によって実行されるトランザクションを含む。
様々な代替に基づき、ルーティング処理は、入力ドキュメントを、そのドキュメントの送信先である様々な処理アーキテクチャにあわせて変換することや、元々のドキュメントフォーマットにある入力ドキュメントを、ネットワークを介して遠隔処理ノードに送信すること、或いはそれら変換処理や送信処理の両方を含む。代替として、ルーティング処理は、一つの入力ドキュメント定義に従って定義された入力ドキュメントを、入力ドキュメントを注視する処理のための異なるドキュメント仕様に従って定義される別のドキュメントに変換するための技術を含む。
また、ネットワーク・インタフェース、参加者インタフェース仕様を含む命令のプログラム及びデータを記憶しているメモリ、並びにデータ・プロセッサを含む装置として、マーケットメーカーのノードが本発明に従い提供される。その論理は、命令プログラムの形でデータ・プロセッサによって提供され、そうでなければ上述したようなマーケットメーカーの処理を実行する。
したがって、本発明は、入出力ドキュメントの仕様を共有することに基づき、電子商取引のための基礎を提供する。ドキュメントは、ビジネス・サービスをアクセスするための直感的かつ柔軟性のあるやり方をもたらすものであって、APIをプログラミングするよりもより簡単に実施できる。企業間で既に大筋で同意しているならば、企業間の相互接続をドキュメント交換で行おうとする企業の方が、いつも異なるビジネス・システム・インタフェースの構築で実現する企業よりも格段に容易に実施可能である。加えて、好ましい実施例の場合、そのようなドキュメントは、人間が読取りることができるフォーマットで特定される。本発明によれば、ビジネス・インタフェースは、人間並びにコンピュータによって容易に解釈可能なXMLドキュメントなどのドキュメントで特定される。
本発明によるドキュメントをベースとしたトランザクション・アーキテクチャの利用は、ネットワークの各参加者からの情報を抽出しかつ統合・編集するためのカスタム・プログラムに求められる要求を取り除きながら、ドキュメントのあらゆるソースのために基本的には同様の方法で動作する構文解析の使用を含んでいる。よって、会計、購入、製造、配送及び他の機能からの事業情報を統合・編集することは、まず、各ソースを本発明のアーキテクチャを有するドキュメントに変換し、次に、構文解析されたデータ・ストリームを処理することによって達成することができる。マーケットに参加するシステムの各ノードは、その内部システムのフォーマット、並びにトランザクションにあわせてドキュメント変換のために特定される筈のドキュメント・フォーマットについて知ることが要求されるにすぎない。それゆえ、電子商取引ネットワークに参加することを希望する全ての他のノードに固有なフォーマットを生成できるようにする必要性がない。
完全なビジネス統合のために、本発明は、XML要素、属性又はメタデータなどの標準論理構造のリポジトリを提供し、特定の商取引コミュニティのためのセマンティック(意味)言語、異なるメタデータ記述間をマップするための手段、及びドキュメントを処理しかつ適切なアプリケーションやサービスを呼出すためのサーバを設定する。本発明によるネットワークの基本的構築ブロックは、潜在的な取引ビジネスパートナーにどのようなオンライン・サービスを会社が提供し、かつサービスを呼出すためにどのドキュメントを用いるかを通告するビジネス・インタフェース定義と、そして取引コミュニティを生成するために内部/外部のビジネス・サービスの組を互いに結びつける橋渡しを供給するサーバを含む。このサーバは、入力ドキュメントを構文解析し、そして適切なサービスを呼出すよう動作する。また、本発明によるサーバは、各ホスト・システムのフォーマットへ、そして各ホスト・システムのフォーマットから、受信されたり送信されたりするドキュメントのフォーマットの変換タスクを取り扱う。それゆえ、取引パートナーは、交換されるビジネス・ドキュメントの構造や内容や順序のみに同意すればよいのであって、アプリケーションのプログラム・インタフェースの詳細にまで同意する必要はない。サービスを提供するビジネス次第で、ドキュメントがどのように処理されたかが決まり、そしてドキュメントの受信の結果としてもたらされる行動が厳しくにもなる。これは、統合・編集をシステム・レベルからビジネス・レベルへと向上させる。それは、その内部的な技術実装、組織又は処理が変化するにも係わらず、パートナーに対して明瞭かつ安定したインタフェースを提示することができる。
ビジネス・インタフェース定義を構築し、且つ上記記述に従ってサーバが取引を何とかやる全ての処理は、共通のビジネス・ライブラリ、即ちリポジトリによって容易に実現され、リポジトリには、例えば、企業、サービス及び製品、カタログ・購入注文書・請求書などのビジネス形式、日時・場所・商品分類を含む標準指標など、基本的なビジネス記述を含む汎用的なビジネス概念のための情報モデルが記憶されている。
本発明の他の特徴は、以下に説明する図面、詳細な説明、及び特許請求の範囲を考慮することにより理解することができるであろう。
図面との関連で本発明について詳細に説明する。図1は、ビジネス・インタフェース定義の使用に基づき、マーケットメーカー及びマーケット参加者のネットワークを示し、上記インタフェースに従って特定される入出力ドキュメントのやり取りをサポートしている。ネットワークは、インターネット19などの通信ネットワーク、あるいは他の通信手段またはデータ通信ネットワークを介して相互接続された複数のノード11〜18を含む。ノード11〜19の各々は、ポータブルコンピュータ、デスクトップパーソナルコンピュータ、ワークステーション、システムネットワーク、あるいは他のデータ処理リソースなどのコンピュータで構成されている。ノードは、ビジネス・インタフェース定義を記憶しておくためのメモリ、ネットワークにおける他のノードとの商取引トランザクションをサポートするトランザクションプロセスを実行するためのプロセッサ、及びそのようなサービスをサポートするために上記プロセッサにより実行されるコンピュータプログラムを含んでいる。さらに、各ノードは、インターネット19あるいは他の通信ネットワークにわたり通信を提供するためのネットワーク・インタフェースを含む。
図1に示す環境の場合、ノード11、12、13、14、16及び18は、指定されたマーケット参加者である。マーケット参加者は、本発明に基づき確立された商取引トランザクションに従って取引されるべき商品またはサービスの需要者または供給者についてのリソースを含んでいる。
この例では、ノード15及び17は、マーケットメーカーノードである。マーケットメーカーノードは、BIDレジストリと呼ばれるビジネス・インタフェース定義を登録するためのリソースを含む。参加者は、ドキュメントをマーケットメーカーに送ることが可能であり、そこで該ドキュメントは識別され、そのようなドキュメントを入力として受け取るように登録されている適切な参加者に転送される。マーケットメーカーは、ビジネス・インタフェース定義を構築するのに使用する共通ビジネス・ライブラリを構成するための標準形式のリポジトリをもつことにより、商取引ネットワークを手助けする。
この例では、マーケット参加者18は、インターネット19を介するよりはむしろ、マーケットメーカー17に直接接続されている。このマーケットメーカーへの直接接続は、インターネット19などの公衆ネットワーク、及びローカルエリアネットワークのような私設接続、あるいはノード17と18との間に示されているようなポイント−トゥ−ポイント接続を組み入れることにより、商取引トランザクションをサポートするネットワーク構成を極めて多様にし得るということを示す。実際の通信ネットワークはかなり多様であることから、本発明による商取引トランザクションネットワークを確立する上で使用するのが適していると言えよう。
図2は、本発明によるネットワークのマーケット参加者のために確立されたビジネス・インタフェース定義(BID)において、ネスト(nested)構造のヒューリスティックダイアグラムを示す。図2に示されたビジネス・インタフェース定義は、XMLドキュメントタイプ定義(DTD)などのドキュメント構造の形式定義にしたがって整えられた論理構造と記憶装置とで構成されるデータ構造である。図2の構造は、パーティ(party)を識別するための第1の論理構造200を含む。論理構造200と関連付けられているのは、名前を送信するためのネスト論理構造201と、物理的アドレス202と、ネットワークのアドレス又は位置203と、一組のサービス・トランザクション204とである。サービスセット中の各トランザクションのためには、トランザクションBID205、206、207を含むインタフェース定義が提供される。トランザクションBID205などの各トランザクションBIDの中には、名前208と、サービスが実行されるネットワーク上の位置209と、サービスにより実行される操作210と、及びタグにより示される一組の入力ドキュメント211とを含むための論理構造が提供される。また、サービスBID205は、タグにより示される一組の出力ドキュメント212を含む。一組の入力ドキュメント211は、入力ドキュメント・ビジネス・インタフェース定義213、214、215など、サービスが応答するよう指定された各入力ドキュメントのためのビジネス・インタフェース定義を含む。入力ドキュメントのための各ビジネス・インタフェース定義は、名前216と、ドキュメントの記述を見出し得るネットワーク上の位置217と、フィールドにより示されるようなドキュメントにおいて送信されるべきモジュール218とを含む。同様の方法で、出力ドキュメントセット212は、出力ドキュメントBID219、220、221を含む出力ドキュメントのためのインタフェース定義を含む。各出力ドキュメントBIDのために、名前222と、ネットワーク上または他の場所の位置223と、ドキュメントのモジュール224とが特定されている。図2に示されている参加者についてのビジネス・インタフェース定義は、各サービスの入出力ドキュメントのために使用される論理構造の実際の定義や、あるいはその定義を見出し得る位置へのポインタまたは他の参照を含んでいる。
好ましいシステムにおいて、図2のドキュメントは、XMLドキュメントタイプ定義(DTD)で特定されるが、他のドキュメント定義アーキテクチャを使用することもでき、またドキュメントのインスタンスの解釈のために使用する論理構造についての解釈情報を含んでいる。また、トランザクションBID、入力ドキュメントBID、出力ドキュメントBIDの各々は、XMLドキュメントタイプ定義に従って特定される。XMLタイプドキュメントは、マークアップデータ及びキャラクタ・データを含む構文解析データに基づいたシステムの一例である。マークアップデータは、ドキュメント内の論理構造を識別し、そしてキャラクタ・データの組は、論理構造の内容を識別する。加えて、非構文解析データが、様々な目的で、ドキュメントにおいて送信され得る。例えば、WWW.W3.ORG/TR/1998/REC−XML−19980210において、WC3 XMLワーキンググループにより発行されたExtensible Mark−up Language XML 1.0 REC−XML−19980210の仕様書を参照することができる。
したがって、例示したシステムにおいては、ネットワーク中の参加者ノードは、ビジネスシステム及びサービスを、ビジネス上了解され且つ生成されるXMLコード化ドキュメントと相互接続することにより、仮想企業を確立する。例えば、特定のサービスのビジネス・インタフェース定義は、カタログ記入に関する要求のBIDに合致したドキュメントが受信された場合、カタログ記入のBIDに合致するドキュメントが返信されることを確立する。また、購入注文のBIDに合致するドキュメントが受信された場合であって、且つそれが受信端末にとって受け入れ可能なものであれば、請求書のBIDに合致するドキュメントが返信されるだろう。本ネットワーク中のノードは、ネットワークにおける任意の所与のシステムの様々なトランザクション処置アーキテクチャに従って確立されたローカルビジネスシステムにXMLドキュメントが入る前に、そのXMLドキュメントを処理する。その結果、本システムは、MIMEコード化されたXMLドキュメントの組などの関連するドキュメントの組を復号化し、これを構文解析して、“マークアップメッセージ”のストリームを生成する。このメッセージは、例えば後述するイベント・リスナー・モデルを用いて、適切なアプリケーション及びサービスに送信される。
ビジネス・サービス間で交換されるドキュメントは、より複雑なドキュメント定義が生成されるビルディング(building)・ブロック(共通のビジネス言語)のリポジトリから構築されたXML言語を使用して、エンコードされる。このリポジトリは、ビジネス領域に共通な機能および情報に焦点があてられた解釈情報のモジュールを記憶する。なお、ビジネス領域には、例えば、企業・サービス・製品、カタログ・購入注文書・請求書などのビジネス形式、日時・場所などの標準指標、分類コード、及びXMLドキュメントの論理構造のために解釈情報を与えるような基本的なビジネス記述を含む。
ビジネス・インタフェース定義は、本発明に従ってドキュメントを取引するインタフェースを設計するために使用されるスキーマとして機能するより高レベルのドキュメントである。したがって、ビジネス・インタフェース定義は、XMLに従って特定されるドキュメントと、特定のノードにあるトランザクション処理サービスのフロントエンドで実行されるプログラムとの間のギャップを埋める。このようなフロントエンドは、JAVA仮想マシンよって、或いはネットワークにわたりシステムの内部接続を提供する他の共通アーキテクチャによって実行される。ゆえに、ビジネス・インタフェース定義は、ビジネス・インタフェース定義ドキュメントを用いてトランザクション・プロトコルがプログラムされる技術を提供する。トランザクションのプロトコルのためのプログラムは、ドキュメントタイプの詳細な正式仕様によって確立される。
XMLフォーマットに適合するマーケット参加ドキュメントに基づいたビジネス・インタフェース定義BIDの一例は、以下に与えられる。マーケット参加者DTDは、連絡先および住所情報を、サービスおよび財政情報の記述と関連付けながら、マーケット参加者に関するビジネス情報にグループ分けする。このビジネス情報は、名前、コード、住所、ビジネス組織を示すための専用分類メカニズム、及びビジネス用語へのポインタとから成る。加えて、マーケット参加者DTDによって識別されるサービスは、参加者がそれに応答し且つ生成することを期待される入出力ドキュメントを特定する。その結果、注釈的なコメントをもつXML内で特定されたマーケット参加者DTD、サービスDTD、及びトランザクションドキュメントDTDのための典型的な共通ビジネス言語を用いた、スキーマを定義するドキュメントは、以下のとおりである。
Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842


Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

サービスDTDスキーマは、共通ビジネス言語リポジトリのサービスタイプ要素によって、以下のように拡張される。
Figure 0004500842

Figure 0004500842
上記のサービスタイプ要素は、ビジネス・インタフェース定義によってもたらされる解釈情報を示し、本例の場合、有効なサービスタイプのいずれか1つの識別を可能にする内容形式を表す。別の解釈情報はデータ型定義を含み、例えば、内容形式“url”を含む要素、<H3>Internet Address</H3>)を、データ型“string”で表したりする。さらに別の解釈情報は、リスト要素へのコードマッピングを含み、例えば、ファイル「COUNTRY.US.SUBENTITY」に存在する州に対してのコードマッピングを含む要素、<H3>State</H3>がある。
マーケット参加者DTDによって照会されるサービス記述は、サービスとしてその競合が受容され、且つ生成されるためのドキュメントを定義することである。基本的なサービス記述は、XMLドキュメントのtransact.dtdとして以下で詳述する。
transact.dtdは、請求書等のトランザクション記述、或いは値を交換する記述をモデル化する。このドキュメント型は多くの用途をサポートし、従ってトランザクション記述要素は、請求書、性能、販売の申し出、見積もりの要望等がある中でユーザが他のものと区別して特定できそうな属性を有する。2人以上の関係者間で交換が行われるが、二人のみが申込者とその相手として対象となり、その各人は、上述したマーケット参加者DTDに一致するドキュメントへのポインタによって表される。販売の申し出を承諾するための相手のポインタは任意である。交換のための記述は、以下に挙げるtranprim.modにおいて示されるように、価格および小計を含んでいる。交換のための記述に続き、取引全体に適用される課金が提供されるようにしてもよく、そして全体の課金を与えなれなければならない。従って、本例におけるトランザクション記述のスキーマドキュメントtransact.dtdは、以下のように示される。
Figure 0004500842
上記の定義に従って生成される典型的なマーケット参加者およびサービスDTDは、以下の通りである。

<マーケット参加者DTD>

Figure 0004500842

Figure 0004500842

<サービスDTD>
Figure 0004500842
transact.dtdに従って生成されたドキュメントの一例は次のように示される。

Figure 0004500842

Figure 0004500842

Figure 0004500842
したがって、本発明は、マーケット参加者が自分自身を識別し、そしてビジネスを取引したいと思っている入出力ドキュメントのタイプを識別できるようにする技術を提供する。この取引に対する他の関係者によって或いは一部の関係者によってドキュメントにもたらされた内容が処理されるといった特定のやり方は、ビジネス関係の確立にも取引を行う上でも影響を及ぼさない。
図3は、本発明によるネットワークの参加者ノードの概略図を示している。図3に例示されたノードは、ポート301で、通信ネットワークに結合されるネットワーク・インタフェース300を含む。このネットワーク・インタフェースは、ドキュメントの構文解析器(パーサー)301と結合する。パーサー301は、入力ドキュメントからの論理構造を変換モジュール(トランスレータ)302に供給し、変換モジュール302は、入力ドキュメントをホスト取引システムによって使用できる形式へ変換するとともに、その逆のホストプロセッサの出力を、送り先への送信のために、ビジネス・インタフェース定義に規定された出力ドキュメントフォームに一致するドキュメント形式へ変換する。パーサー301およびトランスレータ302は、参加者モジュール303に記憶されたビジネス・インタフェース定義に応答する。
トランスレータ302からの出力データ構造は、パーサー301によって合図されたイベントと一緒に、取引プロセス・フロントエンド304へ供給される。一実施例におけるフロントエンド304は、ネットワークの様々なノードの間で通信するのに適したJAVA仮想マシン、またはその他の同様のインタフェースから構成される。取引処理フロントエンド304は、パーサー301およびトランスレータ302によって示されたイベントに応答し、企業システムや参加者を結合するネットワークの適当な機能に対して入力データを転送する。その結果、図3に示す取引処理フロントエンド304が、コマーシャル・ファンクション305、データベース・ファンクション306、会計/請求書作成等の他の企業ファンクション307と結合し、パーサーが示したイベントに応答するように設計された特定のイベントリスナー/プロセッサ308と結合する。
パーサー301は、上述したような購入注文、又はビジネス・インタフェース定義に従って特定された他のドキュメントを受け取り、そしてJAVA仮想マシン用JAVAイベント等のローカル取引処理アーキテクチャによって認識されるイベントを生成する。
本発明のパーサーは、受信されたドキュメントに基づくイベントを知ろうとするリスニングプログラムとは非結合である。受信ドキュメント又はある仕様に適合する完全ドキュメントに存在するマークアップ言語の構成一つ一つは、処理を開始させるリスニング機能のための命令として作用する。したがって、リスニングプログラムは、ドキュメント情報に関連したビジネス論理を実行する。例えば、アドレス要素に関連したプログラムは、データベースをチェックすることによって、郵便コードを認証するコードである。これらのリスナーは、ドキュメントルータに登録しておくことによりエベントに加入し、ドキュメントルータは、関連エベントを興味のあるすべての加入者に差し向ける。
例えば、上述した購入注文は、パーサーが生成したイベントをリスニングするプログラムによってモニタされるものであり、パーサーは、ドキュメントまたはその内容を注文エントリプログラムに接続させる。購入注文の製品記述を受信することは、在庫をチェックするためのプログラムと関係がある。購入注文のアドレス情報を受信することは、配送サービスの可能性をチェックするためのプログラムと関係する。ドキュメントにおける購入者情報フィールドは、注文経緯をチェックしてクレジットを無価値にしているかどうかや、消費者のIDを把握していることに基づいて宣伝や同様の処理を申し出るプロセスを呼び出すことができる。
複雑なリスナーは、基本的なリスナーの構成として生成される。例えば、ある購入注文のリスナーは、前段落で述べたリスト・リスナーを含んでいたり呼び出すことができるし、リスト・メンバーは、かれら自身を呼び出すこともできる。リスナーが実行するアプリケーションは、本来のXMLプロセスまたは本来のJAVAプロセスの可能性が低いことに注意すべきである。これらの場合、オブジェクトは、受信する取引アプリケーションが要求する形式に変換されるであろう。そのアプリケーションが処理を完了するとき、その出力は、ネットワークの他のノードに対する通信のためにXMLフォーマットに変換し直される。
上述したような、マーケット参加者ドキュメントタイプ記述および取引ドキュメントタイプ記述には、ドキュメントの論理要素のための概略マッピングを含むとともに、自然言語に基づくマークアップ言語を含む。自然言語マークアップ、およびXMLの他の自然言語属性は、ビジネス・インタフェース定義・サービス記述・入出力ドキュメント記述の仕様について、XML型マークアップ言語の使用を容易にする。
参加者モジュール303は、ビジネス・インタフェース定義を記憶することに加えて、入力ドキュメントの論理構造に一致する取引プロセス・フロントエンド304が使用するオブジェクトや他のデータ構造をコンパイルしたり、トランスレータ302をコンパイルするために用いるコンパイラを含む。その結果、参加者が関係する取引の変遷に応じて、ビジネス・インタフェース定義がその参加者によって変更されたり更新されたりするとき、トランスレータ302及びパーサー301は、自動的にアップデートに保たれる。
好ましいシステムにおいては、JAVAイベントは、SGMLのグローブモデル(grove model)、主として、各エレメント(要素)の“property set”によって拡張された標準のエレメント・ストラクチャー・インフォーメーション・セットに対応するコンパイラによって生成される−International Standard ISO/IEC 10179:1996(E),Information Technology−−Processing Language−−Document Style Semantic and Specification Language(DSSSL)。
XMLドキュメントをプロセスのためイベントに変えることは、パーサーの出力が内部データ構造として維持される構文解析の通常モデルとは異なる。JAVAイベント又は、各ノードの取引処理フロントエンドが使用するのに適した他のプログラミング構造に、XMLドキュメント要素を変換することにより、取引されるべきドキュメントを用いるノードで、豊富な機能性を利用できるようになる。
よって、取引プロセス・フロントエンド304は、システムの他のリスニングプログラムについての知識やインパクトが無くても、新たなリスナープログラムを加えることを可能にするパブリッシュ(publish)及び加入者アーキテクチャにおいて動作できる。図3の各リスナー305、306、307、308は、フロントエンド304がイベントを指揮するキュー(queue)を保持する。これは、多数のリスナーがそれら自身のペース(pace)で併行してイベントを取り扱うことができるようにする。
さらにまた、本発明によれば、リスナーが実行するアプリケーションは、本来のXML機能(ファンクション)、または入力ドキュメント形式に一致する本来の機能である必要はない。むしろ、取引プロセス・フロントエンド304がJAVAインタフェースである場合には、これらのリスナーは、JAVA機能であり、或いは固有の取引処理アーキテクチャに従って実行する機能である。これらの場合において、オブジェクトは、受信アプリケーションが必要とする形式に変換されるであろう。リスナーのアプリケーションが完了するとき、その出力は、モジュール303におけるビジネス・インタフェース定義が特定するようなドキュメント形式に変換し直される。その結果、トランスレータ302は、合成されやドキュメントを出力として提供するために、ネットワーク・インタフェース300に直接的に結合される。
取引処理フロントエンドに結合されたリスナーは、入力ドキュメントのためのリスナー・入力ドキュメントの特定要素(エレメント)のためのリスナー・入力ドキュメントの特定のエレメントに記憶された属性のためのリスナーを含む。これは、入力ドキュメントをフィルタリングしたり応答するための特定のノードで、取引プロセスの実行を多様化し且つフレキシブルにするものである。
図4は、図3のシステムのための入力ドキュメントを受信し処理するためのプロセスを例示している。したがって、本プロセスは、ネットワーク・インタフェースでドキュメントを受信することで始まる(ステップ400)。パーサーは、ビジネス・インタフェース定義に応答してドキュメントタイプ(401)を識別する。XMLフォーマットでドキュメントのためのDTDを記憶するビジネス・インタフェース定義を使用して、ドキュメントは構文解析される(ステップ402)。次に、ドキュメントの要素(エレメント)および属性は、ホストのフォーマットに変換される(ステップ403)。この例では、XML論理構造は、getおよびset関数などのデータに関連した方法とともに、XMLエレメントのデータをもたらすJAVAオブジェクトに変換される。次に、ホストオブジェクトは、ホスト取引処理フロントエンドへ転送される(ステップ404)。これらのオブジェクトは、パーサーおよびトランスレータによって示されるイベントに応答して、プロセスに送信される。ドキュメント要素を受信するプロセスが実行され且つある出力を生成する(ステップ405)。その出力は、ビジネス・インタフェース定義によって定められる出力ドキュメントのフォーマットに変換される(ステップ406)。この例では、トランスレーションは、JAVAオブジェクト形式からXMLドキュメント形式に遷移する。最後に、出力ドキュメントは、ネットワーク・インタフェースを介して送信先に転送される(ステップ407)。
図5は、図3のシステムのためのイベント発生器/イベントリスナーのメカニズムの詳細図をあらわす。一般に、図5に示された手法は、JAVA JDK1.1イベントモデルの改良である。このモデルにおいて、3種類のオブジェクトが考慮される。第1のオブジェクトは、イベントの生成に関する情報を含むイベントオブジェクトである。生じ得る異なるイベントの全種類に対応して、任意の数の種類のイベントオブジェクトが有る。第2のオブジェクトは、何かが起こった時に活動をモニタし、イベントオブジェクトを生成するイベント発生器である。第3は、イベント発生器により生成されたイベントオブジェクトを聞くイベントリスナーである。イベントリスナーは一般に、特定のウインドウ上でマウスクリックなどの特定のイベント発生を知ろうとする。イベントリスナーは、イベント発生器上に「イベントリスナーを加える」方法をコールする。このモデルは、図3の環境に適合させることができ、XMLドキュメントにより代表されるようなオブジェクトのグラフを辿りそして構文解析することに応答して、オブジェクトを発生する。
図5に示されるシステムは、一般的なXMLパーサー500を有する。このようなパーサーは、標準の呼び戻し(call back)モデルを使用して実現できる。構文解析イベントが発生する時に、パーサーはアプリケーションオブジェクト内で特定の方法を呼出し、パラメータ内の適当な情報を渡す。従って、単一のアプリケーション501がパーサーと共に存在する。アプリケーションは、パーサーが提供する情報をXMLイベントオブジェクト内にパッケージし、そしてブロック502により示されるように、それを自身により識別された数だけのイベントリスナーに送る。イベント502の組は完全にパーサーから独立している。イベント502は、どんな数のマシン上のどんな数のリスナーおよびどんな数のスレッドにも供給されることができる。イベントは1つの代替形式においては、エレメント構造情報セット(ESIS)に基づいている。従って、これらはエレメントの開始および終了などのようなドキュメント構造または属性の認識のような重要な観点のリストからなる。XML(そしてSGML)パーサーは一般にESIS構造をパーサーがそのアプリケーションに戻るための情報のデフォルトセットとして使用する。
特定ESISリスナー503は、イベント502の組に結合される。このリスナー503はESISリスナーAPIを実現し、そして1または複数からの発生器からの全てのXMLイベントを聞く。1つのエレメントイベント発生器504は特定ESISリスナーで、XMLイベント発生器でもある。そのリスナーは、特定のタイプのエレメントに対するイベントにのみ興味があるオブジェクトである。例えば、HTML環境においては、リスナーは指示されたリストのみ、すなわち、<OL>と</OL>タグの間のドキュメントの部分のみに興味を有する。他の例では、リスナーは上の例のドキュメントから共通ビジネス言語に従って「party.name」エレメントまたは「service.name」要素のみを聞き、要素のための図式的マッピングに一致するデータを要素がもたらすことを確実にするために要素を処理し、そして受取ノードにおいて必要とされるプロセスに従って反応する。
これは、システムが、価格を合計するだけのようなドキュメントの特定部分のみを聞く小さいオブジェクトを有することを可能にする。リスナーが発生器からそれら自身を加えるまたは取除くことができるから、HTMLドキュメントの例えば<HEAD>部分のみを聞くリスナーも存在できる。この理由およびXMLドキュメントの高い反復性の理由により、高い目標的なコードを書くことおよび併発的なリスナーを書くことができる。例えば、<OL>リスナーは<UL>(指示されていないリスト)リスナーがその<LI>リスナーを設定する方法とは完全に分離して<LI>リスナーを設定することができる。代替方法として、図形ユーザインタフェースを発生するリスナーおよび同じ入力を使用するデータベースを探索する別のリスナーを作成できる。従って、アプリケーションが一度に1つずつ検査する完成されたデータ構造とは反対に、ドキュメントはリスナーにより実行されるプログラムとして取扱われる。もし、アプリケーションがこの方法で書かれると、アプリケーションを実行するために全ドキュメントをメモリ内に持つ必要が無い。
イベント502の組に結合された次のリスナーは、属性フィルタ505である。エレメントフィルタ504に似て属性フィルタ505は、ESISリスナーモデルに従い属性イベント発生器である。属性フィルタのためのリスナーは、それが興味を持つ属性を指定し、そして、指定された属性を持つあらゆる要素のためのイベントを受取る。例えば、フォントマネージャは例えば<P FONT=“Times Roman”/P>のようなフォント属性を持つエレメントのためだけのイベントを受取るだろう。
エレメントイベント発生器504は、エレメントリスナー504Aを特殊化するためにそのようなエレメントオブジェクトを供給する。
属性イベント発生器505は属性イベントオブジェクトを属性リスナー505Aへ供給する。同様に、属性オブジェクトは一のドキュメント形式から別へ属性を使用してSGML/XML変形する意味で「アーキテクチュア」に供給される。従って、505Bのアーキテクチュアは、特定の名前を持った特定の属性を識別できるようにする。その定義された属性を持ったエレメントのみが出力ドキュメントの部分になり、そして出力ドキュメント内の要素(エレメント)の名前は、入力ドキュメント内の属性の値である。例えば、もしアーキテクチュア505BがHTMLであり、ストリングを、
<PURCHASES HTML=“OL”><ITEM HTML=“LI”><NAME HTML=“B”>STUFF</NAME><PRICE HTML=“B”>123</PRICE></ITEM></PURCHASE>
変換(翻訳)すると、
<OL><LI>STUFF</B><B>123</B></LI></OL>
となり、正しいHTMLである。
イベント502の組に結合された次のモジュールはツリー(木)ビルダー506である。ツリービルダーはXMLイベントのストリームを取り、下部のドキュメントのツリー(木)表現を発生する。ツリービルダー506の一つの好ましい形式は、W3C(http://www.w3.org/TR/1998/WD−DOM−19980720/introduction.html)の仕様に従ってドキュメントオブジェクトモデルDOMオブジェクト507を発生する。イベントストリーム内のリスナーは大部分の要求を処理するのに使用できるが、ツリー形式はドキュメント回りの質問をサポートするため、ノードを再順序付けるため、新ドキュメントの作成、例えばドキュメントを多数回構文解析するような、そこから同じイベントストリームを複数回発生できるメモリ内のデータ構造をサポートするのに役立つ。特定ビルダー508は、特定の実施に適合するようなドキュメントの部分の特別なサブツリーを作るために、ツリービルダー506に結合できる。
入力するドキュメントに応答するのに加えて、XMLイベント502の他のソースも供給することができる。従って、イベントストリーム510は、DOMオブジェクトのツリー上を歩くことにより、そしてドキュメントが構文解析されていた時に作成された元のイベントストリームを再発生することにより発生される。これは、システムにより、ドキュメントが数回構文解析されている外観を与えることを可能にする。
ツリーを辿りそしてイベントのストリームを発生するオブジェクトの観念は、DOMオブジェクトのツリーを越えて質問できるオブジェクトのいかなるツリーにも一般化できる。したがって、JAVAウォーカー512は、JAVAビーン(bean)コンポーネント513のツリーを辿るアプリケーションでもよい。ウォーカーは全ての公開されているフィールドおよび方法上を辿る。ウォーカーは終わりの無いサイクルに入り込まないことを確保するために、既に訪問したオブジェクトの軌跡を記憶する。JAVAイベント514は、JAVAウォーカー512により発生されるイベントのタイプである。これは現在、オブジェクトから引き出すことのできる情報の種類の大部分を含む。これは、ESISのJAVAの均等物であり、そして、特にJAVAビーンズであるのだけれども、XMLに適用されたのと同じプログラム手法をJAVAオブジェクト一般に適用することを可能にする。
XMLイベント発生器515に対するJAVAは、JAVAリスナーとJAVAイベント発生器から構成される。これは、JAVAウォーカー512からイベントのストリーム514を受取り、そしてXMLドキュメントとしてJAVAオブジェクトを供給するために選択されたものを変換(翻訳)する。好ましい実施例において、イベント発生器515はJAVAビーンズAPIを利用する。見られた各オブジェクトはエレメントとなり、エレメント名はクラス名とおなじである。そのエレメント内で、各埋め込まれた方法もまたエレメントとなり、その内容は方法を呼び起こすことにより戻された値である。もしそれがオブジェクトまたはオブジェクトの配列であると、これらは交互に辿られることになる。
図6は、図5のフレームワーク上に構築された特定のアプリケーションの概略図である。このアプリケーションは、XMLドキュメント600を取り込み、これをパーサー/発生器(構文解析ルーチン発生システム)601に適用する。ESISイベント602を発生し、且つ属性発生器603及びツリービルダー604に供給される。属性発生器は図5の発生器に対応する。この発生器505は、イベントを、例えば、XML入力からHTML出力に変換(翻訳)するための“アーキテクチャ”505Bに送る。これらのイベントは、ブロック605によって示される様に並列で処理され、且つリスナーによって処理される。リスナーの出力はドキュメントライター606に供給され、出力のためにXMLフォーマットに戻し変換(翻訳)される。従って、例えば、図6に示されるこのアプリケーションは、XMLドキュメントを取り入れ、或るフォームを有するHTMLドキュメントを出力する。このフォームは次にブラウザに送られ、その結果がXMLに戻し変換される。この運用のために、アーキテクチャコンセプトは、XMLからHTMLへのマッピングを提供する。図6に含まれる3つのアーキテクチャは、テーブル及びリストなどのHTMLドキュメントの構造を与えるためのもの、ブラウザドキュメント上の入力フィールド用のラベルなどの表示されるべきドキュメントを特定する第2のもの、及び入力フィールド自体を記述する第3のものを含む。XMLドキュメント構造を維持するのに必要となるXMLドキュメントのエレメントは、HTMLフォーム内では不可視のフィールドとなる。このことは、サーバに送り戻されるHTTPポストメッセージにクライアントが入れる情報からXMLドキュメントを再構成する際の使用に有用である。これらのイベントを聴取するリスナーが、HTMLドキュメント用のイベントを出力する。このドキュメントは、ドキュメントライターオブジェクトへと進む。ドキュメントライターオブジェクトはXMLイベントを聴取し、それらをXMLドキュメントに戻す。ドキュメントライターオブジェクトは、この例におけるアーキテクチャを聴取している全てのエレメント発生器に対するリスナーである。
図5及び6に図示される処理モジュールの構成は、図3のシステム用のパーサー及びトランザクションプロセスフロントエンドの或る実施の形態を表している。理解できる様に、極めて柔軟性のあるインタフェースが与えられ、これによってダイバース(変更)トランザクションプロセスを、入力するXMLドキュメント、又は他の構造化ドキュメントフォーマットに応答して、実行することができる。
図7は、ビジネス・インタフェース定義ビルダーモジュール700を含むことを除いて、図3と類似のノードを図示している。従って、図7のシステムは、ネットワーク・インタフェース701、ドキュメントパーサー702、及びドキュメントトランスレータ703を含む。トランスレータ703は、その出力をトランザクション処理フロントエンド704へ出力する。このフロントエンドは、コマーシャル機能部705、データベース706、エンタープライズ機能部707、及び他の一般リスナー及びプロセッサ708のようなリスニング機能に結合される。図7に図示される様に、ビジネス・インタフェースビルダー700は、ユーザインタェース、共通ビジネス・ライブラリCBLリポジトリ、相補的ビジネス・インタフェース定義を読むためのプロセス、及びコンパイラを含む。ユーザインタフェースは、ビジネス・インタフェース定義の構築における計画を、共通ビジネスライブラリリポジトリ及び相補的ビジネス・インタフェースの定義を読み出す能力に依存して、補助するのに使用される。従って、相補的ビジネス・インタフェース定義の入力ドキュメントは、特定のトランザクションの出力ドキュメントとして特定することができ、相補的ビジネス・インタフェース定義の出力ドキュメントがトランザクションプロセス等の入力として特定することができる。同様なやり方で、トランザクションビジネス・インタフェース定義は、CBLリポジトリから選択された構成要素を使用して構成することができる。CBLリポジトリの使用は、上述の例示スキーマ(bid1)ドキュメントなどの標準ドキュメント形式、及びネットワーク内の他の人間によって容易に採用されることのできるビジネス・インタフェース定義を構築することにおける論理構造及び解釈情報の使用を容易くする。
ビジネス・インタフェース定義ビルダー700は、トランスレータ703、ホストトランザクション処理アーキテクチャに従って、トランスレータによって処理されるべきオブジェクトを発生し、構文解析機能702を管理するために使用されるコンパイラも含む。
図8は、ビジネス・インタフェース定義ビルダー700のリポジトリ内に記憶される論理構造を示すヒューリスティックダイアグラムである。したがって、パーティビジネス・インタフェース定義800を表すリポジトリ記憶は、例えば、消費者BID801、カタログハウスBID802、ウェアハウスBID803、及びアクションハウスBID804を含む。したがって、オンラインマーケットにおける新たな参加者は、そのビジネスと最もよく適合する標準化されたBIDの一つを、基本インタフェース定義として選択する。更に、リポジトリは一組のサービスビジネス・インタフェース定義805を記憶する。例えば、注文エントリBID806、注文トラッキングBID807、注文履行BID808、及びカタログサービスBID809を記憶することができる。マーケットにおける新たな参加者がビジネス・インタフェースの定義を構築する際に、リポジトリ内に記憶される標準化されたサービスのビジネス・インタフェース定義を選択することができる。
パーティ及びサービスBIDに加えて、入力及び出力ドキュメントBIDを、フィールド810によって指示されるリポジトリに記憶する。したがって、購入注文BID811、請求書BID812、見積り要求BID813、製品入手可能リポートBID814、及び注文状態BID815をリポジトリに記憶することができる。
リポジトリは、好ましいシステムにおいては、XMLに従ったドキュメント形態の定義として特定されるビジネス・インタフェースの定義に加えて、フィールド816によって指示されるようなセマンティック(意味)マップの形態で解釈情報を記憶する。したがって、重量817、通貨818、サイズ819、製品識別820、及び製品特徴821を特定するために使用されるセマンティックマップをリポジトリ内に記憶することができる。更に、解釈情報は、ドキュメントの論理構造内のデータ構造を分類分けを提供する。
更に、ビジネス・インタフェースの定義を構成する際に使用される論理構造は、ブロック822によって指摘されるリポジトリに記憶される。したがって、アドレス情報823を与えるためのフォーム、価格情報824を与えるためのフォーム、契約上関係の期間825を与えるためのフォームを提供することができる。ネットワークが拡張される時、CBLリポジトリも同様に拡張し、標準化は、新たな参加者が加わること及びビジネス・インタフェースの定義をより容易にする。
図9は、図7のシステムを使用するビジネス・インタフェース定義を構築するプロセスを図示している。プロセスは、BIDビルダー・グラフィカルインタフェースをユーザに表示することによって開始する(ステップ900)。システムは、グラフィカルインタフェースによって発生させた参加者、及びサービス/ドキュメント情報を識別するユーザ入力を受信する(ステップ901)。
次に、ユーザ入力に応答して、参照論理構造、解釈情報、ドキュメント定義、及び/又はサービス定義が、グラフィカルユーザーインタフェースを介してリポジトリから検索される(ステップ902)。次のステップで、相補的ビジネス・インタフェース定義又はビジネス・インタフェースの定義の構成要素が、カスタム化された検索エンジン、ウェブブラウザ、又は他の方法によって、ユーザ入力を介して選択されたネットワーク内の他の参加者からアクセスされる(ステップ903)。参加者に対するドキュメントの定義を、集められた情報を使用して発生させる(ステップ904)。コンパイラは、ドキュメントからホストへ、及びホストからドキュメントのマッパー(mappers)に対するトランスレータを発生させる(ステップ905)。また、コンパイラは、定義に対応するホスト・アーキテクチャデータ構造を発生させる(ステップ906)。そして発生されたビジネス・インタフェースの定義は、ウェブサイト又は他の場所にポスト送付することによりネットワーク上にポスト送付され、ネットワーク内の他のノードにアクセス可能とされる。(ステップ907)。
ビジネス・インタフェースの定義は、潜在的な商業パートナーに対して企業が提示したオンライン・サービスを伝え、且つこれらのサービスを実施するのに使用するドキュメントを伝える。したがって、ビジネス・インタフェースの定義で定義したサービスが、ドキュメントによって定められる。このことは、XMLサービス定義の以下に示す部分に例示されている。

Figure 0004500842

Figure 0004500842
このXML部分(fragment)は、2つの処理からなるサービス、すなわち、1つは注文(order)を取得する処理、及びもう1つはそれに追従する処理を定義する。それぞれの定義は、もし正当な要求が特定のWebアドレスに提示されたなら、サービスを実行するための契約(contract)又は約束(promise)を表現する。ここで注文サービスは、リポジトリに置かれた標準の“po.dtd”DTD(Document Type Definition)に一致する入力されるドキュメントを必要とする。それは、ローカルであっても、或いはネットワーク上の産業に関係する広範囲なレジストリ内に記憶されたものでもよい。もし1つのノードがその注文を実行できるなら、そのノードは、その定義がローカルなカスタマイズされた「invoice.dtd」に一致するドキュメントを返すであろう。実際には、企業は、宣言されたXML仕様に一致する購入注文を提出できる誰とでも、ビジネスを行う約束をしている。事前の調整は不要である。
DTDは、所定のタイプのドキュメントのための正式仕様すなわち文法であり、それは、要素、属性、及び表示されなければならない状態を記述する。例えば、購入注文は、典型的には、購入者及び販売者の名前や住所、一組の製品説明、並びに価格や配達日などの関連する売買条件を含む。電子データ交換(Electronic Data Interchange,EDI)は、例えばX12 850仕様では、購入注文のために普通に使用されるモデルである。
リポジトリは、多くのビジネス領域に対し、再使用可能であって且つ共通のセマンティック(意味的な)構成要素から、XMLドキュメントモデルを開発することを容易にする。そのようなドキュメントは、たとえそれらが全く異なっていると見えても、共通のメッセージ要素から理解することができる。これは、共通ビジネスライブラリリポジトリの役割を果たしている。
共通ビジネスライブラリリポジトリは、以下のものを含む汎用的ビジネス概念のための情報モデルからなる。即ち、
・企業、サービス、及び製品のようなビジネス記述プリミティブ、
・カタログ、購入注文、及び請求書のようなビジネス形式、
・日時、位置、分類コードなどの標準の指標、
である。
この情報は、企業がXMLアプリケーションを迅速に開発するためにカスタマイズ化し且つ組み立てができる拡張可能な公式のXML構成ブロックとして表わされる。アトミック(atomic)なCBL要素は、国・通貨・住所・時間に関する標準ISOコードなどのメッセージ規格及び協定を実装する。低レベルのCBLセマンティクス(意味論)は、Dublin Core等のインターネット・リソースのメタデータ構成を分析することからも得られる。
次のレベルの要素は、これらの構成ブロックを使用して、OTP(Open Trading Protocol)及びOBI(Open Buying on the Internet)等の既にあるインターネット規格で使用されるビジネス形態だけでなく、X12 EDI取引で使用されるような基本的なビジネス形態も実装する。
CBLの焦点は、全てのビジネス領域(企業・サービス・製品などの基本的なビジネス記述;カタログ・購入注文・請求書などのビジネス形式;標準指標・日時・位置・分類コード)に共通の機能及び情報にある。CBLは、意味論のための規格又は業界協定上に構築されている(例えば、ヨーロッパでの「日/月/年」に対してアメリカでの「月/日/年」を特定するルールは、別個のCBLモジュールでエンコードされてしまう)。
CBLは、アプリケーションを設計するために使用される言語である。それは、XMLの“ドキュメント世界”と、JAVAの“プログラミング世界”或いは他の取引処理アーキテクチャとの間のギャップを埋めるように設計されている。スキーマは、“ドキュメントを備えたプログラミング”の思想を具体化する。その思想においては、ドキュメントタイプの詳細な正式仕様は主なソースであり、当該ソースから多くの関連する形式が生成される。これらの形式は、CBL、JAVAオブジェクト、対応のJAVAオブジェクトへ/対応のJAVAオブジェクトからXMLインスタンスを変換するためのプログラム、及びサポート・ドキュメントのためのXML DTDを含む。
CBLは単一のソースを生成し、そこからシステムのほとんど全ての部分が自動的にコンパイラによって生成される。CBLはSGML/XMLを拡張することによって機能し、それは、特定のドキュメントタイプの構造を正式に定義するため、そしてそれぞれの情報の要素及び属性と関連するセマンティクス(意味的な)仕様を含むために、使用されるのが通常である。任意の種類のデータ型を宣言するために、SGML/XMLにおける(ほとんどの)制限キャラクタタイプを拡張することができる。
以下は、“datetime”モジュール用のCBL定義からの一部である。

Figure 0004500842

Figure 0004500842
この一部には、要素“year”が、キャラクタ・データとして定義され、“schema”属性と関連する。また、キャラクタ・データは、ISO8601規格の3.8章である”year”用のスキーマを定義する。
この“datetime”CBLモジュールは、実際にはスキーマDTDのインスタンスとして定義される。最初に、モジュール名が定義される。次に、“datetime”要素の“YEAR”は、ISO8601規格の意味に結びつけられる。

Figure 0004500842

Figure 0004500842
また、上述した例示のマーケット参加者及びサービスモジュールは、CBLリポジトリ中に記憶される。
図10では、航空貨物受取証(Airbill)1000が、一般的な購入注文DTD1001をカスタマイズし、出荷重量1002についての具体的な情報を追加することによって定義されている。一般的な購入注文1001は、当初、住所、日時、通貨、販売者及び製品記述のためのCBLモジュールから徹底的に組み立てられるものだった。CBLを使用することにより、XML商用アプリケーションの実現は格段にスピードアップされる。より重要なことは、CBLによって、商用アプリケーションを相互接続することが簡単になるということである。
CBLでは、XMLはスキーマにより拡張される。この拡張は、内容を簡単に認証できるようにするため、XML要素に対する強い型付けを追加する。例えば、<CPU clock speed>と呼ばれる要素(エレメント)は、一組の有効値{100,133,166,200,233,266Mhz}を有する整数として定義することができる。また、スキーマは、情報をクラスの定義から簡単にインスタンス生成化できるようにするため、クラス−サブクラスの階層化を追加する。例えば、ラップトップは、ディスプレイのタイプ及びバッテリ寿命等の特徴のための追加タグを有するコンピュータとして記述されることができる。これらの拡張及び他の拡張により、XMLと伝統的なオブジェクト指向及びリレーショナルデータモデルの間の自動変換だけでなく、データ入力も容易になる。
その結果、上述したように、完成されたBIDは、参加者及びサービスの実際のインスタンス、DTDインスタンスの論理構造に一致するJAVAビーンズ(beans)、及びXMLからJAVA/JAVAからXMLに変換する変換コードのためのDTDを作り出すコンパイラを介して実行される。他のシステムでは、オブジェクトを使用しやすくするために、ユーザインタフェース上のディスプレイのために、或いはユーザによる印刷のために、ドキュメントが生成される。
上述した例示のマーケット参加者及びサービスDTDについて、コンパイラが生成したJAVAビーンズは、(簡潔のためいくつかの修正を加えて)以下のように示される。

Figure 0004500842


Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

上記したJAVAビーンに加えて、変換コードは以下に示されているように、JAVAからXMLへ、及びXMLからJAVAへ変換するため作られる。

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842

Figure 0004500842
ドラッグ(drag)、ドロップ(drop)、及びフォーム編集のユーザインタフェースを提供するBID構成アプリケーションと一緒にツールを使用して、開発者は、ビジネス・インタフェース定義を作り出したり、その上手く生成された有効なビジネス・インタフェース定義を、XMLドキュメント形式で生み出すことができる。したがって、例示の実行インスタンスは、IBMからラップトップコンピュータを注文するために、イングラム・マイクロ(Ingram Micro)及びその他が使用するIBMのための注文サービス用のビジネス・インタフェース定義である。(出願人と、IBM又はイングラム・マイクロの間には関係はない。)これらのプロセスを利用すると、ユーザは、本発明に従って定義されたドキュメントを使用して、ビジネス・インタフェースのプログラミングを可能とするシステムを構築することができる。
XML/JAVA環境における本発明のCBL及びBIDプロセッサの役割は、購入注文の以下に示す処理の説明によりさらに理解できるであろう。
会社Aは、CBL DTD及びモジュールのライブラリを含む可視化プログラム環境を使用してその購入注文ドキュメントを定義する。共通のビジネス言語エレメントを使用してすべて定義され、データ型及び他の解釈情報が含まれるようになっている。会社Aの購入注文は、CBLライブラリに付属する一般的な取引ドキュメント仕様に対して僅かなカスタマイズを含むかもしれないし、或いは、住所、日時、通貨等のためのCBLモジュールから徹底的に構築することもできる。
(上述したtransact.dtdのような)一般的な“取引ドキュメント”仕様のためのドキュメントは、CBL仕様がモジュールから作られ、そして他のCBL DTDと内部連結されるやり方の特徴をあらわしている。
コンパイラは購入注文の定義を受取り、幾つかの異なる目標形式を発生させる。これらの目標形式のすべては、本来の仕様の“ツリー対ツリー(tree to tree)”変換を介して得ることができる。この例にとって最も重要なのは、
(a)購入注文のためのXML DTD、
(b)購入注文のためのデータ構造を含むJAVAビーン(JAVAクラス、引数、データ型、メソッド、及び購入注文のスキーマ定義における情報に一致して作り出された例外の構造。)、
(c)購入注文DTDに準拠する購入注文を、購入注文JAVAビーンに変換したり、或いはそれらをデータベースにロードしたり、或いはブラウザに購入注文を表示するHTML(又はXSLスタイルシート)を作り出す“マーシャリング(marshaling)”プログラム、
(d)購入注文JAVAビーンからデータ値を抽出し、それらを購入注文DTDに準拠したXMLドキュメントに変換する“アンマーシャリング(unmarshaling)”プログラム、である。
今、シナリオに戻ると、購入アプリケーションは、購入注文を受け入れる供給者のためのサービスインタフェースとして特定されたDTDに従う購入注文を発生させる。
パーサーは購入注文DTDを使用して、購入注文インスタンスを、エレメント及びそれが含む属性値についての情報ストリームに分解する。次に、これらの“property sets”は、JAVAコードと重ねることにより、対応のJAVAイベントオブジェクトに変換される。実際、この変換は、DTDによってその文法が定義される顧客プログラム言語にある命令として、マークアップXMLドキュメントの一部を取り扱う。これらのJAVAイベントは、コンパイラにより生成されたマーシャリングアプリケーションにより処理することができ、JAVAビーンのデータ構造を“ロード”する。
XMLドキュメントをJAVAアプリケーションのための一組のイベントに変換し処理することは、パーサーの出力が内部データ構造として維持され、且つ構文解析が完了するまで処理が開始しない通常のモデルの構文解析とは異なるものである。BID定義に応じて、イベントをベースとした処理が、プロセッサの非常に優れた機能性を利用可能にする鍵となる。なぜなら、最新のドキュメントアプリケーション処理が、最初のイベントが発せられるとすぐに開始できるからである。
様々なタイプのイベントを“聞く”JAVAプログラムは,それらのイベントのスキーマ定義から形成される。これらのリスナーは,CBLのXML定義と関連するビジネス論理を実行するために作り出されたプログラムであり、例えば、“アドレス”エレメントと関連し、データベースをチェックすることにより郵便コードを認証するコードであってもよい。これらのリスナーは、ドキュメントルータによって登録することによりイベントに“加入”し、それらに興味を示したすべての加入者に対して関連のイベントを差し出す。
この情報提供(パブリッシュ:publish)及び加入アーキテクチャは、新規のリスナープログラムが既存のプログラムに対して何の知識もなく、或いはインパクトを与えることもなく加えられることができる。各リスナーは、ルータがそのイベントを指揮するキュー(queue)を有し、複数のリスナーがそれら自身のペース(pace)で併行してイベントを取り扱うことができるようにする。
例示の購入注文に関し、以下に示すもののためのリスナーがある。
・注文入力プログラムに接続する購入注文、
・在庫をチェックする製品説明書、
・宅配便又は他の配送サービスの可能性をチェックするアドレス情報、
・注文経緯をチェックすることができる購入者情報(クレジットを無価値にしているかどうかや、誰が消費者であるかを把握していることに基づいて宣伝や同様の処理を申し出ることのために)。
複雑なリスナーは、基本的なリスナーの構成として生成される。例えば、ある購入注文のリスナーは、これらのリスナーを含んでいたり呼び出すことができるし、彼らはかれら自身を呼び出すこともできる。)
図11は、図1のネットワークにおけるマーケットマーカのノードを示している。マーケットマーカのノードは、図3のシステムの基本構造を含み、ネットワーク・インタフェース1101、ドキュメントパーサー1102、ドキュメントからホストへ/ホストからドキュメントへのトランスレータ1103、この例ではルータと称されるフロントエンド1104を有する。この例でのマーケットマーカモジュール1105は、一組のビジネス・インタフェース定義、又はマーケットの参加者のためマーケットマーカの機能をサポートするのに十分な他の識別子、CBLリポジトリ、及びマーケットの参加者の要求をすべて満たすコンパイラを備えている。ルータ1104は、参加者のレジストリ及びドキュメントフィルタを備え、それらはトランスレータの出力及びパーサーが生成したイベントに応答し、参加者のレジストリに従って且つXMLイベント発生器に対するリスナーの間のエレメント及び属性フィルタに従って、入力ドキュメント転送する。したがって、マーケットのある参加者は所定のパラメータに適合するドキュメントを受信するよう登録することができる。例えば、特定のDTDに従う入力ドキュメントは、ある閾値以上に購入された製品数、又は購入されるドキュメント要求の最大価格等の属性を含み、ルータ1104でドキュメントをフィルタするために使用される。次に、ルータ1104で参加者レジストリに登録された情報に合致するドキュメントだけが、登録された参加者に送られる。
また、ルータ1104は、ローカルホストサービス1105,1106の要求を満たし、例えば、マーケットマーカのみならずマーケットの参加者として動作する。通常、ルータ1104により受信されたドキュメントは、送信先を決定するために追跡され、追跡されるべきそのようなドキュメントはその送信先に送られる。そして、再度、必要であれば、トランスレータ1103を経由して戻され、ネットワーク・インタフェース1101からそれぞれの送信先に送られる。
マーケットマーカは一組の内部及び外部ビジネス・サービスを一緒に結びつけるサーバであり、仮想企業又は取引コミュニティを作り出す。サーバは入力ドキュメントを解析し、例えば、製品データのための要求をカタログサーバに渡すことにより、又は購入注文をERPシステムに送ることにより、適切なサービスを呼び出す。また、サーバは変換(翻訳)タスクを処理し、企業のXMLドキュメントからの情報を、取引パートナーが使用するドキュメント形式に、そしてそのレガシーシステムが要求するデータ形式にマッピングする。
上記サービスの定義に関して、企業が購入注文を提示したとき、サーバのXMLパーサーは、購入注文DTDを使用して購入注文インスタンスを情報イベントのストリームに変換する。次に、これらのイベントは所与のタイプのイベントを処理するようプログラムされた任意のアプリケーションに送られる。ある場合に、インターネットを介して異なるビジネスに情報を完全に送る。購入注文の例では、幾つかのアプリケーションはパーサーからやってくる情報で機能する。
・注文入力プログラムは、完全なメッセージとして購入注文を処理する。
・ERPシステムは、その購入注文に記述された製品の在庫をチェックする。
・顧客データベースは、顧客のアドレスを検証したり更新したりする。
・運送会社はアドレス情報を使用し、配送を計画する。
・銀行はクレジットカード情報を使用し、トランザクションを許可する。
取引パートナーは、彼らが交換するビジネスドキュメントの構造、内容及び順序について同意するだけでよく、APIの詳細について同意する必要はない。ドキュメントがどのように処理されるか、どのようなアクションが結果として生じるかは、完全にサービスを提供するビジネス次第である。これは、システム・レベルからビジネス・レベルへの統合・編集を向上させる。それは、内部的な技術の遂行上、組織化上、又はプロセス上でビジネス変更があるにもかかわらず、明瞭で安定したインタフェースをそのビジネスパートナーに提供することを可能にする。
図12、13及び14は、図11のシステムのマーケットメーカーノードで実行されるプロセスを示している。図12において、ネットワーク・インタフェースで、発信参加者ノードからの入力ドキュメントを受信する(ステップ1200)。ドキュメントがパースされる(ステップ1201)。そのドキュメントをホストのフォーマットに変換する。例えば、XMLからJAVAへと変換する(ステップ1202)。次に、ホストのフォーマット化されたイベント及びオブジェクトをルータサービスに送信する(ステップ1203)。ドキュメントのタイプや内容に従いドキュメントを受入れるために登録されたサービスを識別する(ステップ1204)。ドキュメント及びドキュメントの一部が、その識別されたサービスに送られる(ステップ1205)。ドキュメントの内容に応じてサービスを実行する(ステップ1206)。そのサービスの出力データが作られる(ステップ1207)。その出力データをドキュメントフォーマットに変換する。例えば、JAVAフォーマットからXMLフォーマットへ変換する(ステップ1208)。最後に、出力ドキュメントを参加者ノードに送る(ステップ1209)。
登録サービスは、ルータが管理する機能の一つである。したがって、図13に示すように、マーケット参加者ドキュメントがネットワーク・インタフェースで受入れられる(ステップ1300)。マーケット参加者ドキュメントは、マーケットメーカーノードのためにビジネス・インタフェース定義リポジトリに記憶される(ステップ1301)。加えて、ドキュメントが構文解析される(ステップ1302)。構文解析されたドキュメントをホストのフォーマットに変換する(ステップ1303)。次に、そのドキュメントをルータサービスに送る(ステップ1304)。ルータサービスは、ドキュメントのタイプ及びドキュメントの内容に従い、上記登録サービスをドキュメントの宛先であるとして識別するリスナーを含む(ステップ1305)。ドキュメント及びドキュメントの要素(エレメント)を登録サービスに送る(ステップ1306)。登録サービスにおいて、ビジネス・インタフェース定義に従い、必要とされるサービス仕様を検索する(ステップ1307)。ステップ1308で、サービス仕様が集められた場合には、ビジネス・インタフェース定義及びサービス仕様に従ってルータサービスフィルタがセットされる(ステップ1309)。登録に対する肯定応答のデータが生成される(ステップ1310)。この肯定応答のデータをドキュメントフォーマットに変換する(ステップ1311)。最後に、マーケットメーカーで登録が上手くいったことを参加者に通知するために、肯定応答のドキュメントを参加者ノードに送信する(ステップ1312)。
ステップ1307で、必要なサービス仕様を集めるプロセスが図14の一例として示されている。このプロセスは、マーケット参加者によりサポートされるサービスビジネス・インタフェース定義を探し出すことにより開始する(ステップ1400)。例えば、リポジトリノードに対するEメールトランザクション又はウェブアクセスにより、サービス定義を検索する(ステップ1401)。サービス仕様がBIDリポジトリに記憶される(ステップ1402)。サービスビジネス・インタフェース定義ドキュメントが構文解析される(ステップ1403)。構文解析されたドキュメントをホストのフォーマットに変換する(ステップ1404)。次に、ホストのオブジェクトがルータサービスへ送られる(ステップ1405)。ドキュメントのタイプ及び内容に従い、登録サービスを識別する(ステップ1406)。最後に、図13のプロセスによる使用のために、サービスビジネス・インタフェース定義ドキュメントの情報が、登録サービスに送られる(ステップ1407)。
図15は、本発明により、マーケットメーカーノードでの入力データを処理するプロセッサ、コンポーネント及びシーケンスを示した図である。マーケットメーカーノードは、ネットワーク・インタフェースで通信エージェント1500を有する。通信エージェントはXMLパーサー1501と接続し、XMLパーサー1501は、イベントをXMLプロセッサ1502に供給する。XMLプロセッサ1502は、イベントをドキュメントルータに供給する。ドキュメントルータは、ドキュメントサービス1504にそれを入力する。このドキュメントサービス1504は、受け取ったドキュメントをホストシステムのエンタープライズソルーションソフトウェア1505に供給するインタフェースを提供するものである。通信エージェント1500は、HTTP、SMTP、FTP又は他のプロトコル等のプロトコルをサポートする適切なプロトコルスタックを有するインターネットインタフェースである。したがって、入力するデータは、特定の通信チャンネルに適合するようにXML構文、ASCIIデータ構文、又は他の構文で受け入れ可能である。非XML構文で受信されたすべてのドキュメントは、XMLに変換され、XMLパーサー(構文解析器)に転送される。非XML形式からXML形式への変換をサポートするために、変換テーブル1506が使用される。
変換されたドキュメントは、パーサー1501に供給される。XMLパーサーは、受信されたXMLドキュメントに一致するドキュメントタイプ定義に従って、当該XMLドキュメントを構文解析する。エラーが見つかった場合には、パーサーはドキュメントを通信エージェント1500へ送り返す。ビジネス・インタフェース定義コンパイラBIDC1507は、ビジネス・インタフェース定義データのためのコンパイラとして機能する。XMLパーサーのためのDTDファイル、DTDファイルに対応するJAVAビーンズ、及びDTDファイルをJAVAビーンズへ変換する変換ルールは、BIDデータをコンパイルすることにより作られる。これらのツールを参照することにより、XMLインスタンスがJAVAインスタンスに変換される。したがって、BIDコンパイラ1507は、DTDドキュメント1508を記憶し、対応のJAVAドキュメントを生成する1509。XMLドキュメントはプロセッサ1502に送られ、プロセッサ1502は、そのドキュメントをJAVAフォーマットに変換する。好ましいシステムでは、XMLフォーマットで受取ったドキュメントタイプ定義と同じステータスを有するJAVAドキュメントが生成される。JAVAビーンズをドキュメントルータ1503に送る。ドキュメントルータ1503がJAVAビーンズを受け取り、その受取ったクラスを、レジストリプログラムを使用して(例えば、上述したイベントリスナーアーキテクチャを使用して)、適切なドキュメントサービスに送る。ルータ1503からJAVAビーンズの形式でドキュメントを受取ったドキュメントサービス1504は、エンタプライズソルーションソフトウェアとして機能する。これは、XMLイベントに対するリスナーを入力データ・ストリームと結合するレジストリサービス1510と、適切なサービスに入力ドキュメントの送信がなされるよう管理するサービスマネージャ1511とを有する。ドキュメントサービスマネージャ1511は、レジストリサービスの管理及びドキュメントの一貫性の維持等を提供する。
ドキュメントサービスは、任意の専有APIを使用して、或いはCORBA/COMインタフェース又はその他のアーキテクチャ等の共通形式を使用して、バックエンドシステムと通信する。
図16は、本発明に係るマーケットメーカー及びマーケット参加者構造のヒューリスティック(発見的)ダイアグラムである。従って、本発明に係る電子商取引マーケットは、図16に示されているように論理的に組織化できる。その組織の最上部において、マーケットメーカーノード1600が設定される。マーケットメーカーノードは、マーケットプレイス1601を設定するリソースを含む。このようなリソースは、マーケット登録サービス等を含む。ビジネス1602は、ビジネス・インタフェース定義をパブリッシュ(publish)することによりマーケットプレイスに登録する。ビジネス・インタフェース定義は、ビジネスが参加する商取引についてサービス1603を定義する。トランザクション1604及びサービス1603は、ドキュメント1605を使用して入力及び出力を定め、トランザクションにおける参加者の間の商業上の関係をアウトラインする。ドキュメントは各トランザクションの詳細を含むコンテンツ1606を有する。コンテンツがマーケットの参加者により及びマーケットメーカーにより処理される方法は、本発明に従って確立される電子商取引ネットワークに基づくドキュメントに完全に依存する。全体として、通信ネットワーク上で電子商取引が可能となるように頑強性、拡張性及び直観力に富む構造が提供される。
したがって、本発明は、例示のシステムにおいて、XMLプロセッサに基づくプラットフォームを提供し、疎結合されたビジネスシステムの間のインタフェースとしてXMLドキュメントを使用している。ドキュメントは、ビジネスの間で転送され、企業のビジネスシステムに入る前に特定のノードによって処理される。したがって、プラットフォームは、各ビジネスシステムが異なる内部的なコマースプラットフォーム、処理及びセマンティック(意味論)を使用している場合に、共通の組のビジネスドキュメント及び形式を特定することによりビジネス間の電子商取引アプリケーションを利用可能にする。
本発明によれば、ビジネスシステムとサービスを相互接続することによりバーチャルエンタプライズが形成され、主に、ビジネスが受入れて生成するドキュメント(XMLコード化された)に関し、次のとおり定義される。
「貴社が当社にカタログを請求される場合には、貴社にカタログを送ります。」「貴社が購入の注文をされ当社がそれを受け入れことができる場合には、貴社に送り状を送ります。」
上述した本発明の好ましい実施例の説明は、本発明の解説するためになされたものである。これは、包括的であること又は発明を開示した厳密な形式に限定することを意図するものではない。当業者にとって多くの修正及び変更は明らかである。本発明の範囲は、特許請求の範囲及びそれと等価なものによって定められるものである。
本発明によるビジネス・インタフェース定義(BID)を含む電子商取引ネットワークの概略図である。 本発明によるビジネス・インタフェース定義ドキュメントの概略図である。 本発明によるネットワーク中の参加者ノードのためのサーバの概念的なブロックダイアグラムである。 本発明に係る参加者ノードで受取られたドキュメントの処理を説明するフローチャートである。 XMLベースのシステムについての構文解析プログラム及びトランザクション処理フロントエンドのブロックダイアグラムである。 構文解析プログラム機能フローの概念的なダイアグラムである。 本発明に係るビジネス・インタフェース定義に使用される、サーバにおけるリソースの概略図である。 ビジネス・インタフェース定義の構築のために使用する、本発明に係るリポジトリの概略図である。 本発明に係るビジネス・インタフェース定義を構築するプロセスを説明するためのフローチャートである。 本発明に係るリポジトリのヒューリスティックな概要を提供するものである。 ビジネス・インタフェース定義に基づく本発明のネットワークのためのマーケットメーカー機能を提供するサーバのリソースについての概略図である。 受取られたドキュメントのマーケットメーカーノードの処理に関するフローチャートである。 本発明に係るマーケットメーカーノードの参加者の登録プロセスを説明するためのフローチャートである。 図9のプロセスに従った、マーケットメーカーノードにおけるサービスの仕様を提供するプロセスを説明するためのフローチャートである。 本発明に係るマーケットメーカーまたは参加者における操作シーケンスを説明するダイアグラムである。 本発明に係るBIDに基づく商取引ネットワークの要素の概念的なダイアグラムである。

Claims (16)

  1. 処理サーバ上で動作するフロントエンド・トランザクションプロセッサの部分を構築し、且つ少なくとも1つのバックエンドプロセッサ上で実行される少なくとも1つのオペレーションと1以上のクライアントコンピュータ(11)とをネットワークを介して接続するシステムであって、
    処理サーバ上で実行するためのトランザクション処理フロントエンドモジュール(704)を構築する前記ネットワークに接続されたビルダー・サーバ(700)を備え、
    当該ビルダー・サーバ(700)が、
    (1)前記ビルダー・サーバ上で実行する設計ツール手段(901)であって、前記バックエンドプロセッサによって実行されるべきオペレーションを記述するとともに、記憶装置の組のデータマップ及び前記オペレーション用の入力(211)/出力(212)ビジネスドキュメントに用いられる前記記憶装置の論理構造の選択又は記述の指示を、前記ネットワークを介した端末から受信する、当該設計ツール手段(901)と、
    (2)前記ビルダー・サーバ上で実行するインタフェース定義構築手段であって、前記バックエンドプロセッサで実行されるオペレーションの記述を、前記データマップ又は前記入力/出力ビジネスドキュメント用のデータマップに対するポインタと組み合わせて、インタフェースが前記ネットワークを介してクライアントコンピュータにアクセスするよう定義されたデータ構造のインタフェース定義を生成する、当該インタフェース定義構築手段と、
    (3)前記ビルダー・サーバ上で実行するコンパイラ手段(906)であって、前記データマップを、
    (a)前記入力ビジネスドキュメントからの未体系化データに対するアクセスを提供し、且つ体系化データを前記出力ビジネスドキュメントに移動させる前記フロントエンド・トランザクションプロセッサが用いる内部用データオブジェクトクラス定義を生成するために、
    (b)前記入力ビジネスドキュメントを解析し、その内容及び論理構造へのアクセスを提供する構文解析器(パーサ)を管理するために、
    (c)前記ビルダー・サーバ上で実行する入力/出力トランスレータが、前記入力/出力ビジネスドキュメントから前記内部用データオブジェクトクラスに合致する内部用データオブジェクトに変換し、またこれとは逆に内部用データオブジェクトから前記入力/出力ビジネスドキュメントへと変換し、また前記入力トランスレータが前記構文解析器からの入力ドキュメントの内容及び論理構造を受信する当該入力/出力トランスレータをアセンブルするために、使用する当該コンパイラ手段と、
    (4)前記クライアントコンピュータに向けて前記データ構造のインタフェース定義を送信する、前記ビルダー・サーバで実行される情報提供手段(907)と、
    を含むシステム。
  2. 消費者端末上で動作する消費者サービスモジュールの部分を構築するシステムであって、前記消費者端末は処理サーバ上で動作するプロバイダーサービスにアクセスし、
    消費者端末上で実行するための消費者サービスモジュール(704)を構築するビルダー・サーバ(700)と、
    前記ネットワークを介して前記消費者端末にアクセス可能なインタフェースを定義するプロバイダーサービス・インタフェースデータ構造を構築するために組み合わされる、データマップ(DTD)或いは記憶装置のデータマップに対するポインタ及びビジネスドキュメント用の記憶装置の論理構造を記憶する少なくとも1つのディレクトリサーバー(700)とを備え、 当該ビルダー・サーバ(700)が、
    (1)前記ネットワークを介して端末から指示を受信する前記ビルダー・サーバ上で実行する設計ツール手段(901)であって、前記指示は、処理サーバー上で実行されるべきオペレーションを選択し、且つ前記ディレクトリサーバーをアクセスすることによって、前記プロバイダーサービス・インタフェースデータ構造に含まれる入出力ビジネスドキュメントのデータマップを検索する当該設計ツール手段と、
    (2)前記ビルダー・サーバ上で実行する相補コンパイラ手段(906)であって、前記データマップを、
    (a)体系化されるデータを前記入力ビジネスドキュメントにもたらし、且つ前記出力ビジネスドキュメントからの未体系化されるデータに対してアクセスを提供する前記消費者サービスによって使用される内部用データオブジェクトクラス定義を生成するために、
    (b)前記プロバイダーサービスからの出力ビジネスドキュメントを解析し、その内容及び論理構造へのアクセスを提供する構文解析器(パーサ)を管理するために、
    (c)前記消費者端末上で実行し、前記入力/出力ビジネスドキュメントから前記内部用データオブジェクトクラスに合致する内部用データオブジェクトに変換し、そして前記入力トランスレータが前記構文解析器からの出力ビジネスドキュメントの内容及び論理構造を受信する入力/出力トランスレータをアセンブルするために
    使用する当該コンパイラ手段と、を含むシステム。
  3. 再使用可能なビジネスドキュメントのデータマップを記憶する少なくとも1つのリポジトリサーバを更に含み、前記設計ツール手段が前記リポジトリサーバにアクセスする端末からの指示を受け入れ、そして前記再使用可能なビジネスドキュメントの少なくとも1つを前記記憶装置の記述及び論理構造と組み合わせて、少なくとも1つの入出力ドキュメントを形成することを特徴とする請求項1又は2に記載のシステム。
  4. 再使用可能なセマンティック(意味的な)構成要素を記憶する少なくとも1つのリポジトリサーバを更に含み、前記設計ツール手段が前記リポジトリサーバにアクセスする端末からの指示を受け入れ、そして前記再使用可能なセマンティック構成要素の少なくとも1つを前記記憶装置の記述及び論理構造と組み合わせて、少なくとも1つの入出力ドキュメントを形成することを特徴とする請求項1〜3の何れか1項に記載のシステム。
  5. 前記ビルダー・サーバによってアクセス可能なリポジトリ記憶手段に記憶されたリポジトリを更に含み、前記設計ツール手段が、前記リポジトリから得られる前記オペレーションインタフェース仕様で使用される要素にアクセスし、前記リポジトリは論理構造のライブラリを記憶し、論理構造のための解釈情報がオペレーションインタフェース使用を構築するために使用される、ことを特徴とする請求項1〜4の何れか1項に記載のシステム。
  6. 前記オペレーションの記述は前記オペレーションのタイトル及び概要を含む、請求項1〜5の何れか1項に記載のシステム。
  7. 情報提供手段は、前記インタフェース定義データ構造が、前記クライアントコンピュータにアクセス可能な少なくとも1つのリポジトリサーバ上へ提供されるように、前記クライアントコンピュータに向けて前記インタフェース定義データ構造を送信する、ことを特徴とする請求項1及び3〜6の何れか1項に記載のシステム。
  8. 前記インタフェース定義データ構造が、前記入出力ドキュメントの論理構造用の解釈情報又はその解釈情報に対するポインタを更に含む、請求項1〜7の何れか1項に記載のシステム。
  9. 消費者サーバ上で動作する消費者サービスによってリクエストされたオペレーションをネットワークを介して実行する方法であって、
    プロバイダーサーバ上で実行可能なオペレーションインタフェースであって、処理サーバ上で実行中のオペレーションに対するアクセスを提供する当該オペレーションインタフェースを、ネットワークを介して少なくとも1つの消費者サービスに呈示する処理を含み、
    前記オペレーションインタフェースは、インタフェース記憶手段上のオペレーションインタフェース定義データ構造に記憶されたインタフェース定義を実装し、そして前記インタフェース定義データ構造は、入出力ビジネスドキュメントの定義を含み、そして前記定義は、記憶装置の記述及び論理構造を含み、
    前記ネットワークを介し、前記プロバイダーサーバで、前記消費者サーバからの入力ビジネスドキュメントを受信し、
    前記入力ビジネスドキュメントの内容及び論理構造に対するアクセスを提供するため、前記プロバイダーサーバで、前記入力ビジネスドキュメントの定義に従って前記入力ビジネスドキュメントを構文解析し、そして前記構文解析された入力ビジネスドキュメントの少なくとも部分を、内部用入力データオブジェクトに変換し、
    前記内部用入力データオブジェクトを、前記プロバイダーサーバから前記処理サーバ上で実行するオペレーションに送信し、
    前記ネットワークを介して、前記出力ビジネスドキュメントの定義に合致する出力ビジネスドキュメントを前記消費者サーバに転送する、
    ことを特徴とする方法。
  10. 前記プロバイダーサーバは、前記処理サーバから内部用出力データオブジェクトを受信し、
    前記プロバイダーサーバで、前記内部用出力データオブジェクトを、前記消費者サーバに送信される前記出力データオブジェクトに変換する、ことを特徴とする請求項9に記載の方法。
  11. ネットワークを介して、消費者サーバ上で動作する消費者サービスから、プロバイダーサーバのオペレーションインタフェースに送信されるリクエストに応じて実行されるオペレーションを生じさせる方法であって、
    前記オペレーションインタフェースは、インタフェース記憶手段上のオペレーションインタフェース定義データ構造に記憶されたオペレーションインタフェース定義を実装し、そして前記インタフェース定義データ構造は、入出力ビジネスドキュメントの定義を含み、そして前記定義は、記憶装置の記述及び論理構造を含み、
    第1の内部用データオブジェクトからの前記消費者サーバにあるデータを、入力ビジネスドキュメントの前記オペレーションインタフェース定義に合致する入力ビジネスドキュメントに体系化し、
    前記消費者サーバからの前記入力ビジネスドキュメントを、前記プロバイダーサーバに、前記ネットワークを介して送信し、
    前記消費者サーバで、出力ビジネスドキュメントの前記オペレーションインタフェース定義に合致する出力ビジネスドキュメントを、前記プロバイダーサーバから受信し、
    前記出力ビジネスドキュメントの内容及び論理構造に対するアクセスを提供するため、前記消費者サーバで、前記出力ビジネスドキュメントの定義に従って前記出力ビジネスドキュメントを構文解析し、そして前記構文解析された出力ビジネスドキュメントの少なくとも部分を、第2の内部用データオブジェクトに変換する、
    ことを特徴とする方法。
  12. ネットワークを介して、クライアントコンピュータから受信された入力ビジネスドキュメントを、処理サーバ上で実行する1以上のオペレーションに送信する方法であって、
    オペレーションインタフェース仕様を含む複数のオペレーションインタフェース仕様データ構造をインタフェース記憶手段に記憶し、ここで、前記オペレーションインタフェース仕様は、オペレーションの記述及び入出力ビジネスドキュメントの定義を含み、前記入出力ビジネスドキュメントの定義は、記憶装置の記述及び論理構造を含んでおり、
    サーバで、クライアントコンピュータからのドキュメントを含むデータをネットワークを介して受信し、
    前記サーバで、入力ビジネスドキュメントを識別するために、前記オペレーションインタフェース仕様に従い前記ドキュメントを構文解析し、そして前記識別された入力ビジネスドキュメントを受け入れ可能な処理サーバで実行されるオペレーションを識別し、
    前記サーバからの入力ビジネスドキュメントの少なくとも部分を、前記サーバから、前記識別された入力ビジネスドキュメントを受け入れ可能な処理サーバで実行される1以上のオペレーションに送信する、
    ことを特徴とする方法。
  13. 前記入出力ビジネスドキュメントは、標準拡張マークアップ言語のXMLフォーマットに合致する、請求項9〜12の何れか1項に記載の方法。
  14. 前記記憶装置は構文解析されたデータを含む、請求項9〜13の何れか1項に記載の方法。
  15. 前記記入出力ビジネスドキュメントの少なくとも1つにある前記構文解析されたデータは、
    前記入出力ビジネスドキュメントの一つにおいて、テキスト文字をエンコードするキャラクタ・データと、
    前記入出力ビジネスドキュメントの一つの論理構造に従い、記憶装置を識別するマークアップデータとを含む、請求項14に記載の方法。
  16. 処理サーバ上で機能するトランザクション処理フロントエンドのオペレーションを含むドキュメントを送信し、そしてネットワークを介して、1以上のクライアントコンピュータを少なくとも1つのバックエンドプロセッサで実行する少なくとも1つのオペレーションと結びつけるシステムであって、
    オペレーションインタフェース仕様を含むインタフェース記憶手段に記憶された複数のオペレーションインタフェース仕様データ構造であって、ここで、前記オペレーションインタフェース仕様は、オペレーションの記述及び入出力ビジネスドキュメントの定義を含み、前記入出力ビジネスドキュメントの定義は、記憶装置の記述及び論理構造を含んでいることを特徴とするオペレーションインタフェース仕様データ構造と、
    前記インタフェース記憶手段に接続された前記処理サーバ上で実行する前記トランザクション処理フロントエンドが、
    (1)前記ネットワークを介してクライアントコンピュータからドキュメントを受け入れるネットワークインタフェースと、
    (2)前記オペレーションインタフェース仕様に従い前記ドキュメントを解析し、入力ビジネスドキュメントを識別し、そして前記識別された入力ビジネスドキュメントを受け入れ可能な処理サーバで実行される1以上のオペレーションを識別する、前記処理サーバ上で動作する構文解析器と、
    (3)前記処理サーバから、前記識別された入力ビジネスドキュメントを受け入れ可能なバックエンドサーバで実行される1以上のオペレーションに対して前記入力ビジネスドキュメントの少なくとも部分を送信する、前記処理サーバ上で動作するドキュメントルーターと、を備えたことを特徴とするシステム。
JP2007260401A 1998-10-16 2007-10-03 ドキュメントベースのトランザクション処理システム及び方法 Expired - Fee Related JP4500842B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/173,854 1998-10-16
US09/173,858 1998-10-16
US09/173,854 US6125391A (en) 1998-10-16 1998-10-16 Market makers using documents for commerce in trading partner networks
US09/173,847 1998-10-16
US09/173,858 US8006177B1 (en) 1998-10-16 1998-10-16 Documents for commerce in trading partner networks and interface definitions based on the documents
US09/173,847 US6226675B1 (en) 1998-10-16 1998-10-16 Participant server which process documents for commerce in trading partner networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000577598A Division JP4712191B2 (ja) 1998-10-16 1999-10-08 トレーディングパートナネットワークにおける商業のためのドキュメント及びそのドキュメントを基にしたインターフェースの定義

Publications (3)

Publication Number Publication Date
JP2008084328A JP2008084328A (ja) 2008-04-10
JP2008084328A5 JP2008084328A5 (ja) 2008-12-11
JP4500842B2 true JP4500842B2 (ja) 2010-07-14

Family

ID=27390345

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000577598A Expired - Fee Related JP4712191B2 (ja) 1998-10-16 1999-10-08 トレーディングパートナネットワークにおける商業のためのドキュメント及びそのドキュメントを基にしたインターフェースの定義
JP2007260401A Expired - Fee Related JP4500842B2 (ja) 1998-10-16 2007-10-03 ドキュメントベースのトランザクション処理システム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000577598A Expired - Fee Related JP4712191B2 (ja) 1998-10-16 1999-10-08 トレーディングパートナネットワークにおける商業のためのドキュメント及びそのドキュメントを基にしたインターフェースの定義

Country Status (5)

Country Link
EP (1) EP1038251A2 (ja)
JP (2) JP4712191B2 (ja)
CN (1) CN100388292C (ja)
AU (1) AU6420999A (ja)
WO (1) WO2000023925A2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647373B1 (en) 1998-12-24 2003-11-11 John Carlton-Foss Method and system for processing and transmitting electronic reverse auction information
US7124356B1 (en) * 1999-12-03 2006-10-17 Koninklijke Philips Electronics N.V. Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (XML) for information exchange and systems therefor
US7146422B1 (en) * 2000-05-01 2006-12-05 Intel Corporation Method and apparatus for validating documents based on a validation template
GB0011426D0 (en) * 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
JP4965015B2 (ja) * 2000-06-27 2012-07-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ交換システム
US7099958B2 (en) 2000-08-15 2006-08-29 Fujitsu Limited System for designing and performing web application
KR20020033380A (ko) * 2000-10-31 2002-05-06 조미원 기업간 업무 수행을 위한 엑스엠엘/이디아이 처리 시스템및 그 방법
KR100747556B1 (ko) * 2000-11-22 2007-08-08 엘지전자 주식회사 정보통신 인프라 시스템 및 그의 마스터 운영 방법
US6993506B2 (en) 2000-12-05 2006-01-31 Jgr Acquisition, Inc. Method and device utilizing polymorphic data in e-commerce
KR20020063434A (ko) * 2001-01-29 2002-08-03 이상훈 엑스엠엘을 이용한 웹 유저 인터페이싱 방법
US7047488B2 (en) * 2002-07-19 2006-05-16 Open Invention Network Registry driven interoperability and exchange of documents
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
CA2433957C (en) 2003-06-27 2011-05-10 Ibm Canada Limited - Ibm Canada Limitee Referential interface to enable commercial interaction between entities
US7703029B2 (en) 2003-07-28 2010-04-20 Sap Ag Grid browser component
US7673054B2 (en) * 2003-07-28 2010-03-02 Sap Ag. Grid manageable application process management scheme
US7594015B2 (en) 2003-07-28 2009-09-22 Sap Ag Grid organization
US7574707B2 (en) 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7810090B2 (en) 2003-12-17 2010-10-05 Sap Ag Grid compute node software application deployment
US7793290B2 (en) 2004-12-20 2010-09-07 Sap Ag Grip application acceleration by executing grid application based on application usage history prior to user request for application execution
US7523392B2 (en) * 2005-04-22 2009-04-21 Microsoft Corporation Method and system for mapping between components of a packaging model and features of a physical representation of a package
US8996165B2 (en) 2008-10-21 2015-03-31 Intouch Technologies, Inc. Telepresence robot with a camera boom
US9138891B2 (en) 2008-11-25 2015-09-22 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8463435B2 (en) 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US11399153B2 (en) 2009-08-26 2022-07-26 Teladoc Health, Inc. Portable telepresence apparatus
US9323736B2 (en) * 2012-10-05 2016-04-26 Successfactors, Inc. Natural language metric condition alerts generation
WO2017094669A1 (ja) 2015-12-03 2017-06-08 株式会社明治 栄養組成物
JP6691072B2 (ja) 2017-04-05 2020-04-28 矢崎総業株式会社 コネクタ
CN111694561A (zh) * 2020-06-10 2020-09-22 中国建设银行股份有限公司 一种接口管理方法、装置、设备及存储介质
JP7315253B2 (ja) * 2021-09-29 2023-07-26 株式会社スカイディスク システム、サーバ及び方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998033125A1 (en) * 1997-01-24 1998-07-30 Extricity Software, Inc. A system and method for creating, executing and maintaining cross-enterprise processes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO489297A0 (en) * 1997-01-31 1997-02-27 Aunty Abha's Electronic Publishing Pty Ltd A system for electronic publishing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998033125A1 (en) * 1997-01-24 1998-07-30 Extricity Software, Inc. A system and method for creating, executing and maintaining cross-enterprise processes
JP2000511674A (ja) * 1997-01-24 2000-09-05 エキシトリシティ・ソフトウェア・インコーポレイテッド 企業間プロセスを作成し、実行し、保守するためのシステム及び方法

Also Published As

Publication number Publication date
WO2000023925A2 (en) 2000-04-27
EP1038251A2 (en) 2000-09-27
AU6420999A (en) 2000-05-08
JP2002528797A (ja) 2002-09-03
CN1291311A (zh) 2001-04-11
CN100388292C (zh) 2008-05-14
WO2000023925A3 (en) 2000-07-20
JP4712191B2 (ja) 2011-06-29
JP2008084328A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
JP4500842B2 (ja) ドキュメントベースのトランザクション処理システム及び方法
US8959196B2 (en) Registry for trading partners using documents for commerce in trading partner networks
US6542912B2 (en) Tool for building documents for commerce in trading partner networks and interface definitions based on the documents
US6226675B1 (en) Participant server which process documents for commerce in trading partner networks
JP2008084328A5 (ja)
Glushko et al. An XML Framework for Agent-based E-commerce
Li XML and industrial standards for electronic commerce
Shim et al. Business-to-business e-commerce frameworks
Hausmann et al. Model-based discovery of Web Services
US7634726B2 (en) Technique for automated e-business services
US20070214271A1 (en) Enterprise application platform
WO2001033369A1 (en) Commerce community schema for the global trading web
Chiu EbXML simplified: a guide to the new standard for global e-commerce
Cingil et al. An architecture for supply chain integration and automation on the internet
Zhao et al. XML-based frameworks for Internet commerce
US20030014502A1 (en) E-service communication method and system
Nurmilaakso XML-based supply chain integration: a review and a case study
Gessa An ontology-based approach to define and manage B2B interoperability
Schmitz et al. Do e-catalog standards support advanced processes in B2B e-commerce? Findings from the CEN/ISSS workshop eCAT
Ulmer Architectural solutions to agent-enabling e-commerce portals with pull/push abilities
Kong et al. Web Services and aecXML‐Based e‐Business System for Construction Products Procurement
Tenenbaum Cancer informatics: lessons from the world of e-Business
Saha et al. BPEL & its implementation in garment sector
Kong et al. Implementation of web services to enable interoperability of web-based construction products catalogue
Lucenius et al. NEW APPROACHES IN EDI

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080122

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090727

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100419

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4500842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees