(57)【要約】インターネットなどの共通の通信ネットワークを使用して複数の企業体間で通信および企業活動を容易にするコンピュータシステム。このシステムは、当業者間の企業活動を定義する複数のビジネスオブジェクトを記憶する。各ビジネスオブジェクトは、それぞれが処理の段階を表す複数の状態を有する。一群の作業単位はビジネスオブジェクトに対して実行される関数を定義し、通常、各作業単位は、ビジネスオブジェクトの状態間の遷移を含む。一連のビジネス規則は、各状態に対する作業単位の妥当性、並びにビジネスオブジェクトが実行することのできるアクティビティに対する制限を定義する。現在の環境に対応する前処理ステップおよび後処理ステップは、完全なデータファイルがシステムデータベースに記憶される前と後にそれぞれ実行される。ＸＭＬなどの定義されたファイルフォーマットは、ビジネストランザクションに関するデータの内部処理および記憶のために利用される。システムは、標準化ファイルフォーマットを受信するか、または、いかなるメーカー独自のファイルをも標準化ファイルに変換することができる。レシピエントへの通信は、レシピエントによって定義されたフォーマットによるファイルとして行われる。出力されるファイルは、標準化フォーマットであるか、または、レシピエントに関連する特に要求されるフォーマットに変換してもよい。支援することのできる企業活動の範囲を拡張するために、新しいビジネスオブジェクトをシステムに追加することができる。これは、システムがどのようなタイプの企業活動や広範囲のビジネスでも処理できるように、モジュラーベースで行われる。【特許請求の範囲】
【請求項１】
複数のユーザ間におけるコンピュータシステムを介したワークフロー処理の方法において、
トランザクションを開始するための入力データファイルを第１のユーザから受信するステップであって、前記入力データファイルが複数のデータ単位を有するステップと、
前記トランザクションに対して複数の記憶されているビジネスオブジェクトの１つを選択するステップであって、前記ビジネスオブジェクトのそれぞれは、複数の状態、前記状態の少なくとも１つにそれぞれが関係する複数の作業単位、および前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則を含み、前記選択されたビジネスオブジェクトは一度に前記状態の１つが選択されるステップと、
前記トランザクションに対して前記作業単位の１つを選択するステップと、
前記選択された作業単位の妥当性を、前記選択されたビジネスオブジェクトの選択された作業単位と前記状態の選択された１つの状態に関連する前記規則の１つを参照して判定するステップと、
前記選択された作業単位が妥当であると判定された場合、前記選択された作業単位に対して指定された関数を実行するステップと、
前記選択されたビジネスオブジェクトに対して新しい状態を選択するステップと、
前記選択された作業状態に対して実行された前記関数の少なくとも一部に基づいて出力ファイルを作成するステップと、
前記出力ファイルを前記システムの第２のユーザに対して使用可能にするステップと
を含むワークフロー処理の方法。
【請求項２】
出力ファイルを作成する前記ステップの前に、前記１つのビジネスオブジェクトに関係する情報を収集するための前処理操作を実行するステップを含む請求項１に記載のワークフロー処理の方法。
【請求項３】
前記選択された作業単位によって指定された関数を実行する前記ステップの後で、情報を当事者に伝達する後処理操作を実行するステップを含む請求項１に記載のワークフロー処理の方法。
【請求項４】
前記入力ファイルに関連するデータをデータベースに記憶するステップを含む請求項１に記載のワークフロー処理の方法。
【請求項５】
前記ビジネスオブジェクトが、オブジェクト指向プログラミングで使用されるオブジェクトである請求項１に記載のワークフロー処理の方法。
【請求項６】
複数のユーザ間におけるコンピュータシステムを介したワークフロー処理の方法において、
トランザクションのための入力データファイルを第１のユーザから受信するステップであって、前記入力データファイルが複数のデータ単位を有するステップと、
前記トランザクションに対して複数の記憶されているビジネスオブジェクトの１つを前記入力データファイルのデータに基づいて選択するステップであって、前記ビジネスオブジェクトのそれぞれは、複数の状態、前記状態の少なくとも１つにそれぞれが関係する複数の作業単位、および前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則を含み、前記選択されたビジネスオブジェクトは一度に前記状態の１つが選択されるステップと、
前記トランザクションに対して前記作業単位の１つを、前記入力データファイルのデータに基づいて選択するステップと、
前記選択された作業単位の妥当性を、前記選択されたビジネスオブジェクトの選択された作業単位と前記状態の選択された１つの状態に関連する前記規則の１つを参照して判定するステップと、
前記選択された作業単位が妥当であると判定された場合、前記選択された作業単位に対して指定された機能を実行するステップと、
前記選択されたビジネスオブジェクトに対して新しい状態を選択するステップと、
前記選択された作業状態に対して実行された前記機能の少なくとも一部に基づいて出力ファイルを作成するステップと、
前記出力ファイルを前記システムの第２のユーザに対して使用可能にするステップと
を含むワークフロー処理の方法。
【請求項７】
前記出力ファイルを作成する前記ステップの前に、前記１つのビジネスオブジェクトに関する情報を収集するための前処理操作を実行するステップを含む請求項６に記載のワークフロー処理の方法。
【請求項８】
前記選択された作業単位によって指定された機能を実行する前記ステップの後に、当事者に情報を伝達する後処理操作を実行するステップを含む請求項６に記載のワークフロー処理の方法。
【請求項９】
前記入力ファイルに関連するデータをデータベースに記憶するステップを含む請求項６に記載のワークフロー処理の方法。
【請求項１０】
前記ビジネスオブジェクトが、オブジェクト指向プログラミングで使用されるオブジェクトである請求項６に記載のワークフロー処理の方法。
【請求項１１】
複数のユーザ間におけるコンピュータシステムを介したワークフロー処理の方法において、
トランザクションのための入力データファイルを第１のユーザから受信するステップであって、前記入力データファイルが複数のデータ単位を有しており、前記第１のユーザに関連する複数のフォルダの１つに記憶されるステップと、
前記トランザクションに対して複数の記憶されているビジネスオブジェクトの１つを前記入力データファイルが記憶されている前記フォルダに基づいて選択するステップであって、前記ビジネスオブジェクトのそれぞれは、複数の状態、前記状態の少なくとも１つにそれぞれが関係する複数の作業単位、および前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則を含み、前記選択されたビジネスオブジェクトは一度に前記状態の１つが選択されるステップと、
前記トランザクションに対して前記作業単位の１つを、前記入力ファイルが記憶されている前記フォルダに基づいて選択するステップと、
前記選択された作業単位の妥当性を、前記選択されたビジネスオブジェクトの選択された作業単位および前記状態の選択された１つの状態に関連する前記規則の１つを参照して判定するステップと、
前記選択された作業単位が妥当であると判定された場合、前記選択された作業単位に対して指定された関数を実行するステップと、
前記選択されたビジネスオブジェクトに対して新しい状態を選択するステップと、
前記選択された作業状態に対して実行された前記関数の少なくとも一部に基づいて出力ファイルを作成するステップと、
前記出力ファイルを前記システムの第２のユーザに対して使用可能にするステップと
を含むワークフロー処理の方法。
【請求項１２】
前記出力ファイルを作成する前記ステップの前に、前記１つのビジネスオブジェクトに関する情報を収集するための前処理操作を実行するステップを含む請求項１１に記載のワークフロー処理の方法。
【請求項１３】
前記選択された作業単位によって指定された関数を実行する前記ステップの後に、当事者に情報を伝達する後処理操作を実行するステップを含む請求項１１に記載のワークフロー処理の方法。
【請求項１４】
前記入力ファイルに関連するデータをデータベースに記憶するステップを含む請求項１１に記載のワークフロー処理の方法。
【請求項１５】
前記ビジネスオブジェクトが、オブジェクト指向プログラミングで使用されるオブジェクトである請求項１１に記載のワークフロー処理の方法。
【請求項１６】
複数の当事者間におけるコンピュータシステムを介したワークフロー処理の方法において、
第１のユーザからの入力ファイルを検知するステップであって、前記入力ファイルは前記第１のユーザに関連する複数のフォルダの１つに記憶されており、前記入力データファイルが複数のデータ単位を有するステップと、
前記入力データファイルからのデータと、前記入力ファイルが記憶されている前記フォルダの前記１つに関連する情報とを使用して標準化フォーマットファイルを作成するステップであって、前記作成された標準化フォーマットファイルは、複数の記憶されているビジネスオブジェクトの１つの識別と、前記１つのビジネスオブジェクトに関連する複数の記憶されている作業単位の１つの識別とを含み、前記記憶されているビジネスオブジェクトのそれぞれが、
（ａ）複数の状態であって、前記選択されたビジネスオブジェクトは一度に前記状態の１つが選択される複数の状態と、
（ｂ）前記状態の少なくとも１つにそれぞれが関係する複数の作業単位と、
（ｃ）前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則と
を含むステップと、
前記１つの作業単位に関連する関数を実行するステップと、
前記１つのビジネスオブジェクトの状態を変更するステップと、
前記トランザクションに関する出力ファイルを受信すべき第２のユーザに対して選択されたファイルフォーマットを決定するステップと、
前記ビジネスオブジェクトに関連するデータを使用して、前記出力ファイルを前記選択されたファイルフォーマットで作成するステップと、
前記出力ファイルを前記第２のユーザに対して使用可能にするステップと
を含むワークフロー処理の方法。
【請求項１７】
前記出力ファイルを作成する前記ステップの前に、前記１つのビジネスオブジェクトに関する情報を収集するための前処理操作を実行するステップを含む請求項１６に記載のワークフロー処理の方法。
【請求項１８】
前記選択された作業単位によって指定された関数を実行する前記ステップの後に、当事者に情報を伝達する後処理操作を実行するステップを含む請求項１６に記載のワークフロー処理の方法。
【請求項１９】
前記入力ファイルに関連するデータをデータベースに記憶するステップを含む請求項１６に記載のワークフロー処理の方法。
【請求項２０】
前記ビジネスオブジェクトが、オブジェクト指向プログラミングで使用されるオブジェクトである請求項１６に記載のワークフロー処理の方法。
【請求項２１】
コンピュータシステムを使用して当事者間でトランザクションを処理する方法において、
トランザクションを開始するための第１の入力データファイルを第１のユーザから受信するステップであって、前記入力データファイルが複数のデータ単位を有するステップと、
複数の記憶されているビジネスオブジェクトから１つのビジネスオブジェクトを選択するステップであって、前記記憶されているビジネスオブジェクトのそれぞれが、
（ａ）複数の状態であって、前記選択されたビジネスオブジェクトは一度に前記状態の１つが選択される複数の状態と、
（ｂ）前記状態の少なくとも１つにそれぞれが関係する複数の作業単位と、
（ｃ）前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則と
を含むステップと、
前記作業単位の第１の作業単位を選択するステップと、
前記第１の作業単位に対して定義された関数を実行するステップと、
前記状態の第１の状態を前記第１の作業単位の関数として確立するステップと、
前記選択されたビジネスオブジェクトに基づいて第１の出力ファイルを生成するステップと、
前記第１の出力ファイルをレシピエントに対して使用可能にするステップと、
前記レシピエントから第１の入力ファイルを受信するステップと、
前記レシピエントからの前記第１の入力ファイルに応答して前記作業単位の第２の作業単位を選択するステップと、
前記第２の作業単位に応じて前記状態の第２の状態に変更するステップと、
前記選択されたビジネスオブジェクトに基づいて第１の出力ファイルを生成し、かつ、前記選択されたビジネスオブジェクトと前記第２の作業単位に基づいて前記第２の出力ファイルを前記第１のユーザに対して使用可能にするステップと　を含むトランザクションを処理する方法。
【請求項２２】
第１の出力ファイルを作成する前記ステップの前に、前記選択されたビジネスオブジェクトに関係する情報を収集するための前処理操作を実行するステップを含む請求項２１に記載のトランザクションを処理する方法。
【請求項２３】
前記選択された作業単位によって指定された関数を実行する前記ステップの後で、当事者に情報を伝達する後処理操作を実行するステップを含む請求項２１に記載のトランザクションを処理する方法。
【請求項２４】
前記入力ファイルに関連するデータをデータベースに記憶するステップを含む請求項２１に記載のトランザクションを処理する方法。
【請求項２５】
前記ビジネスオブジェクトが、オブジェクト指向プログラミングで使用されるオブジェクトである請求項２１に記載のトランザクションを処理する方法。
【請求項２６】
複数の当事者間にワークフロー処理を提供するコンピュータシステムにおいて、
前記当事者にファイルを送信し、前記当事者からファイルを受信する通信システムと、
複数のビジネスオブジェクトを有するシステムストレージであって、各前記ビジネスオブジェクトが、
（ａ）複数の状態と、
（ｂ）前記状態の少なくとも１つにそれぞれが関係する複数の作業単位と、
（ｃ）前記状態と前記作業単位の選択されたそれぞれに関係する複数の規則とを含むシステムストレージと、
前記通信システムを介して前記当事者の第１の当事者から入力ファイルを受信し、かつ、前記入力ファイルに前記ビジネスオブジェクトの１つを関係付けるためのプロセッサであり、また、前記作業単位の１つを選択し、前記１つの作業単位に対して定義されている関数を処理し、かつ、前記１つのビジネスオブジェクトの前記状態の１つを確立するためのプロセッサであって、出力ファイルを前記当事者の第２の当事者に対して使用可能にするように前記通信システムに結合されているプロセッサと
を含むコンピュータシステムであって、
前記出力ファイルは、前記１つのビジネスオブジェクトと前記入力ファイルの相関関係である、ワークフロー処理を提供するコンピュータシステム。
【請求項２７】
前記システムストレージに記憶されており、前記ビジネスオブジェクトのうちの特定の１つのビジネスオブジェクトの特定の１つの状態に関連付けられた前処理操作を含む請求項２６に記載のワークフロー処理を提供するコンピュータシステム。
【請求項２８】
前記システムストレージに記憶されており、前記ビジネスオブジェクトのうちの特定の１つのビジネスオブジェクトの特定の１つの状態に関連付けられた後処理操作を含む請求項２６に記載のワークフロー処理を提供するコンピュータシステム。
【請求項２９】
所定のフォーマットを有する入力ファイルを、前記システムが使用するための標準化ファイルフォーマットに変換するための複数の翻訳プログラムを含む請求項２６に記載のワークフロー処理を提供するコンピュータシステム。
【請求項３０】
前記システムが使用する標準化ファイルフォーマットを所定の出力フォーマットに変換するための複数の翻訳プログラムを含む請求項２６に記載のワークフロー処理を提供するコンピュータシステム。
【発明の詳細な説明】
【０００１】
（発明の技術分野）
本発明は、一般に、ビジネス通信に関し、より詳細には、複数の当事者間におけるビジネストランザクション（ｂｕｓｉｎｅｓｓ　ｔｒａｎｓａｃｔｉｏｎ）の処理に関する。
【０００２】
（発明の背景）
過去数年間、企業（ｂｕｓｉｎｅｓｓｅｓ）はその社内業務の多くの必須部分にコンピュータシステムを取り込んできた。多くの場合、そのようにコンピュータシステムを取り込むことによって企業の生産性は大幅に向上した。企業は、既存システムに追加のソフトウェアおよびハードウェアを追加することによってコンピュータ業務を構築する。内部要件に基づくこの個々の業務進展は、各企業が高度に開発された能率的なコンピュータ業務を有する企業環境をもたらしたが、そのような内部的な進展はＢ−ｔｏ−Ｂの双方向性を大きく阻害するものである。
【０００３】
企業は、その成長に伴い、他の企業が使用するものとは一般的に同じでないデータフォーマットおよび通信規定を採用する。２つの企業（ｐａｒｔｉｅｓ）が対話する機会が発生した場合、この２つの当事者によって実施される規定およびフォーマットの違いによる通信バリアがしばしば存在する。したがって、当事者間の非互換の通信構造によって生じる問題点を低減する処理およびシステムが求められている。
【０００４】
当事者間における企業活動に関するさらなる障害は、典型的な業務行為が、所望の結果に達する前に当事者間に一連のトランザクションを必要とするということである。多くの場合、これらのトランザクションは、電話呼出し、ファックス、書簡、および電子メールによって実行される。複数の当事者が、共同作業を要するたびに１つの企業活動スケジュールを構築することは非常に非効率的である。
【０００５】
商取引を妨げるこれらの通信および業務手順の問題点に鑑み、非互換のフォーマット間の通信を強化し、また、必要とする順番でビジネストランザクションを効率的に処理するための処理および装置が求められている。さらに、そのようなシステムは、必要とされる通信および手順を定義する新しい情報をステップバイステップで追加することによって基本的な使用中の構成を変更することなく、成長、新しい企業活動、および新しい産業部門に適応できなくてはならない。
【０００６】
（発明の概要）
本発明の選択された実施形態は、複数ユーザ間におけるコンピュータシステムを介したワークフロー処理（ｗｏｒｋｆｌｏｗ　ｐｒｏｃｅｓｓｉｎｇ）の方法である。この方法は、トランザクションを開始するための入力データファイルを第１のユーザから受信することから始まるが、この入力データファイルは複数のデータ単位を有する。記憶されているビジネスオブジェクトの１つがこのトランザクションのために選択される。ビジネスオブジェクトのそれぞれは、複数の状態、その状態の少なくとも１つにそれぞれが関係する複数の作業単位、およびその状態と作業単位の選択されたそれぞれに関係する複数の規則を含む。選択されたビジネスオブジェクトは一度に状態が１つ選択される。次に、トランザクションに対して作業単位の１つが選択される。選択された作業単位の妥当性は、選択された作業単位と選択されたビジネスオブジェクトの状態の選択された１つとを参照して判定される。選択された作業単位に対して指定された関数は、選択された作業単位が妥当と判定された場合に実行される。次のステップは、選択されたビジネスオブジェクトに対して新しい状態を選択することである。出力ファイルは、選択された作業単位に対して実行される関数の少なくとも一部に基づいて作成される。最終ステップは、出力ファイルをシステムの第２のユーザに対して使用可能にすることである。第２のユーザとはレシピエントである。
【０００７】
本発明の別の態様は、上記の方法、受信したファイルの標準化フォーマットへの変換、標準化内部データフォーマットの使用、およびレシピエントによって事前に選択されたフォーマットへの出力ファイルの変換の、複数の反復によって遂行される完全な企業活動を含む。本発明のさらに別の態様は、前処理操作と後処理操作とを含む。
【０００８】
本発明およびその利点のより完全な理解のために、添付の図面と共になされる以下の記述を参照する。
【０００９】
（詳細な説明）
本発明は、複数の当事者（ｐａｒｔｉｅｓ）間においてビジネストランザクションを処理するコンピュータシステムおよび方法を対象とする。本発明を実施するコンピュータネットワーク２０を、図１を参照しながら説明する。本発明は、例えばインターネット、公衆交換電話システム、または他の通信システムなどの通信ネットワーク２２と共同して機能する。ネットワーク２０は、複数のネットワーク端末２４、２６、２８および３０を含む。本発明によって実行される基本的な関数は、通信ネットワーク２２に接続されているコンピュータシステム３６のプロセッサによって実行される。システム３６は、ファイアウォールサーバ３８を介して通信ネットワーク２２に接続されている。システム３６は、さらに、ウェブサーバ４０、データベースサーバ４２、ＲＥＡＬＭｏｎｉｔｏｒサーバ４４、ＳＮＡサーバ４６、ＦＴＰサーバ４８を含む。サーバ３８、４０、４２、４４、４６および４８は、ローカルエリアネットワークなどのネットワーク５８によって相互接続されている。
【００１０】
本発明は、サーバのどのような所望の構成によっても、また、１つまたは数個のサーバに集約されて含まれるかまたは多数のプロセッサを介して広範に分散される関数のどのような分散によっても実施することができる。
【００１１】
本発明の一実施態様では、端末２４および２６は不動産環境における貸手によって使用することができ、端末２８および３０はその貸手に対するサービス提供者によって使用することができる。
【００１２】
本発明は、企業活動に従事するエンティティ（ｅｎｔｉｔｉｅｓ）間でトランザクションを処理し、通信を実現する方法を含む。例えば、端末２４および２６の貸手は、端末２８および３０の提供者によって供給されるサービスを必要とする。このような不動産環境では、貸手に相当する数百のエンティティと、サービス提供者に相当する数百のエンティティとがある場合がある。多くの場合、それらのエンティティのそれぞれは独自のデータフォーマットと、他の当事者のフォーマットおよび定義と一致しない情報定義を有している。本発明のさらなる態様は、当事者間で必須の商取引を可能にするために必要な関数を実行するためのトランザクションの処理である。本発明の基本的な応用例は、企業体（ｂｕｓｉｎｅｓｓ　ｅｎｔｉｔｉｅｓ）間に商取引を提供することであるが、これは同様に小売業者（ｒｅｔａｉｌ　ｅｎｔｉｔｉｅｓ）および消費者が使用することもできる。
【００１３】
本発明に関して使用される１つの重要な用語は「ビジネスオブジェクト」である。ビジネスオブジェクトは関数が関係する多機能ビジネスプロセスであると定義されており、このプロセスは複数の状態を有してはいるが一度に１つの状態にあり、各状態でどの関数を実行することができるかに関して制限を有する。この制限を、本明細書ではビジネス規則と称する。ビジネスオブジェクトは、ビジネスオブジェクト内で特定の機能を定義する１つまたは複数の作業単位を含む。選択された実施形態では、ビジネスオブジェクトは、オブジェクト指向プログラミング言語を使用して１つのプログラム「オブジェクト」として実施される。このようなプログラミング言語にはＣ＋＋およびＶｉｓｕａｌ　Ｂａｓｉｃが含まれる。オブジェクト指向プログラミング言語は、Ｇｒａｄｙ　Ｂｏｏｃｈ著、１９９４年著作権取得、Ｂ．Ｂｅｎｊａｍｉｎ／Ｃｕｍｍｉｎｇｓ　Ｐｕｂｌｉｓｈｉｎｇ　Ｃｏｍｐａｎｙ出版、「Ｏｂｊｅｃｔ　Ｏｒｉｅｎｔｅｄ　Ａｎａｌｙｓｉｓ　ａｎｄ　Ｄｅｓｉｇｎ　Ｗｉｔｈ　Ａｐｐｌｉｃａｔｉｏｎｓ」第２版で概説されている。この書籍は参照により本明細書に組み込まれる。
【００１４】
本明細書で言及されるビジネスオブジェクトは、非オブジェクト指向プログラミング言語によって実施することができるが、それでも本明細書に記載のものと同様の構造要素および操作を含む。このビジネスオブジェクトは、主として、当事者間の業務上の対話を記述する。これは、個々の企業の社内業務に関するモデルではない。
【００１５】
「ＢＵＳＩＮＥＳＳ　ＯＢＪＥＣＴ＃１」と称されるビジネスオブジェクトの一般的な例を図２および３に示す。図２を参照すると、ビジネスオブジェクト＃１（ＢＯ＃１）は、それぞれの状態Ａ、Ｂ、Ｃ、ＤおよびＥを表す７０、７２、７４、７６、および７８の５つの状態を有する。ビジネスオブジェクト＃１の状態の１つは、状態７２（Ｂ）に関連する関数演算８０を有する。
【００１６】
ビジネスオブジェクト＃１は、図２および３でそれぞれにＷＵ＃１、ＷＵ＃２、ＷＵ＃３、ＷＵ＃４、ＷＵ＃５、ＷＵ＃６、およびＷＵ＃７と識別される作業単位８２、８４、８６、８８、９０、９２および９４を有する。
【００１７】
図３に示すように、定義されたシステムの機能は、システムメモリまたはディスクなどのデータストア９８に保存される。ストア９８は、ビジネスオブジェクト＃１を識別し、それが状態Ａ、Ｂ、Ｃ、ＤおよびＥを有することを示すブロック１００を含む。各状態は、ビジネスオブジェクトの処理の段階を表している。ストア９８は、ビジネスオブジェクト＃１に関連する作業単位＃１から＃７（８２〜９４）を識別するブロック１０２を含む。各作業単位は、その特定の機能の定義をさらに含む。
【００１８】
図２に示すように、ＷＵ＃１（８２）は、状態ＡとＢ間の遷移をもたらす関数を定義する。ＷＵ＃２（８４）は、状態ＢとＥの間の遷移をもたらす関数を定義し、ＷＵ＃３（８６）は、状態ＡとＥの間の遷移をもたらす関数を定義する。ＷＵ＃４（８８）は、状態ＡとＣの間の遷移をもたらす関数を定義し、ＷＵ＃５（９０）は、状態ＣとＥの間の遷移をもたらす関数を定義する。ＷＵ＃６（９２）は、状態ＣとＤの間の遷移をもたらす関数を定義するが、ＷＵ＃７（９４）は、ビジネスオブジェクト＃１の状態Ｂにだけ関連する関数を定義する。
【００１９】
ビジネスオブジェクト＃１に対するストア９８には、ビジネスオブジェクト＃１に関連するＲ＃１、Ｒ＃２、Ｒ＃３、およびＲ＃４と識別される一組の規則を含むブロック１０４がさらに含まれる。規則は、対応するビジネスオブジェクトで実行することができる要件および制限を定義する。各規則は、特定の環境に関して定義される。図示するように、Ｒ＃１はビジネスオブジェクト＃１の状態Ａに関連している。Ｒ＃２はＷＵ＃１に関連している。Ｒ＃３は状態ＢとＷＵ＃２に共に関連しており、Ｒ＃４は状態Ｃに関連している。しかし、ブロック１０２および１０４の作業単位および規則は、特にビジネスオブジェクト＃１と、その定義された状態とに関連する。
【００２０】
ストア９８は、ブロック１０６および１０８にそれぞれ示される一群の前処理ステップと後処理ステップをさらに含む。ブロック１０６は、前処理ステップ＃１および＃２を示す。各処理ステップは、ストア９８内のエンティティに対して定義された関連付けを有しており、ストア９８内で定義されたビジネスオブジェクトの１つに関係する。
【００２１】
本発明では、送信通信と受信通信のどちらかに係わる当事者をユーザと称する。具体的には、トランザクションを開始するユーザをイニシエータと称し、そのトランザクションの結果を受信するユーザはレシピエントと定義される。より具体的には、図１に示すように、イニシエータの一例は貸手であってよく、また、レシピエントの一例はサービス提供者またはベンダであってよい。しかし、サービス提供者がアクションを開始する場合、そのサービス提供者はイニシエータになり、貸手の１つはレシピエントになり得る。
【００２２】
図３に示すように、ストア９８内で、各前処理操作は特定のビジネスオブジェクトの特定の環境に対して定義されており、特定の機能を含む。ストア９８では、前処理ステップ＃１はＷＵ＃１に対して実施される。同様に、ストア９８内の他の定義された前処理ステップのすべては、定義された環境と定義された機能とを有する。
【００２３】
前処理ステップは、ほとんどの場合は特定のエンティティに対して定義される。後処理ステップは、一般に、特定のエンティティに対して定義される。
【００２４】
同様の方法で、ブロック１０８内に後処理ステップがある。各後処理ステップは、同様に特定のビジネスオブジェクトに対応しており、定義された環境と定義された機能とを有する。定義された環境が特定の後処理エンティティに対して存在する場合、そのエンティティに対応する機能が実行される。
【００２５】
図３に示すストア９８は、多数のビジネスオブジェクトを含むことができ、それらのオブジェクトのそれぞれには作業単位、規則、前処理ステップおよび後処理ステップが関連付けられている。この図面に示すように、ビジネスオブジェクト＃２は状態Ａ、ＢおよびＣを有する。このビジネスオブジェクトには、作業単位を定義するためのブロック１１２、関連する規則を定義するためのブロック１１４、関連する前処理ステップのためのブロック１１８、および後処理ステップのためのブロック１２０が関連付けられている。前処理ステップと後処理ステップはすべてのビジネスオブジェクトに対して存在する訳ではない。
【００２６】
図１、２、および３を参照すると、＃１などのビジネスオブジェクトは、システム２０に対してセットアップされた任意の２つのユーザ間に発生する場合のある特定の関係に関して定義される。ストア９８はシステム３６に含まれるが、より具体的にはサーバ４２に含まれる。システム３６は、ユーザ間で大量のビジネストランザクションを実行することを可能にするために、図３に示すような複数のビジネスオブジェクトを記憶する。ビジネスオブジェクトのそれぞれに対して、定義された作業単位、規則、およびどのような関連する前処理ステップと後処理ステップもが含まれる。
【００２７】
端末２４の貸手などのユーザがイニシエータとして動作しており、トランザクションを開始する場合、そのユーザはネットワーク２２を介して入力ファイルをシステム３６に送信する。このファイルは、以下で詳細に説明するように、ビジネスオブジェクトの選択をもたらし、図２に示すように、選択されたビジネスオブジェクトによって定義されるシステム３６に、一連のステップを実行させる。一般に、イニシエータからファイルを受信することによって、例えば状態Ａなどの選択されたビジネスオブジェクトに対する所与の状態が確立し、または関数演算が実行された後でビジネスオブジェクトが１つの状態から別の状態に遷移する。多くの場合、この状態遷移または作成は、レシピエントへの通信のルーティングをもたらす。一般に、ビジネスオブジェクトの処理は、ユーザからのファイル通信をさらに受信し続けるが、そのそれぞれは、一般にビジネスオブジェクトの状態間の遷移に関連している。これは、終了オブジェクトに達するまで続く。この終了オブジェクトは、多くの場合、２つの当事者間におけるアクティビティの完了を示すが、完了前のアクティビティの中止を示す場合もある。
【００２８】
図２および３に示すような本発明に関連するデータ構造は、多数のユーザ間における非常に広範囲なビジネストランザクションの能率的かつ経済的な実施を可能にするために、定義とモジュール性とを提供する。追加のビジネスオブジェクトを、システムのユーザが要求した際に追加するように、システム３６は増分して拡張することができる。この手法の大きな利点は、各業界に対するビジネストランザクションのタイプごとに特定のシステムを構築することを必要とせずに、または業界の特定企業によって使用される独自のデータフォーマッティングおよび通信技術に対して特別にシステムを設計することを必要とせずに、まったく新しいタイプの企業活動と新しいタイプのデータフォーマットを、ビジネスオブジェクト内に定義された要素として組み込み、システム３６のストア９８に追加することができることである。
【００２９】
本発明のプロセスを全般的に表す基本的な流れ図を図４に示す。これはさらに図１、２、および３を参照して説明する。第１のブロック１３２では、システム３６は、イニシエータ、例えば図１に示す端末２４を有する貸手からユーザ入力データファイル（ＩＤＦ）を受信する。ブロック１３４では、システム３６は、入力データファイルを読み込み、このファイルに指定されている特定のビジネスオブジェクトを選択する。これは、図３に示すストア９８に既に記録されているビジネスオブジェクトに対応する。このファイルは、選択されたビジネスオブジェクトをポピュレートし、それによってそのオブジェクトのインスタンスを生成するために、ブロック１３６のシステム３６が使用する特定のデータをさらに含む。
【００３０】
ブロック１３８に示すように、システム３６は入力データファイル、またはそれが記憶されているフォルダを検査して、現在のトランザクションで実行されるべき特定の作業単位を決定する。
【００３１】
本明細書で使用されるビジネスプロセスは、典型的に、複数のトランザクションを含み、各トランザクションは、一般にビジネスオブジェクトの状態の１つに対応している。図４に示す流れ図は、ビジネスオブジェクト内で発生する１つのトランザクションの処理を表す。
【００３２】
ブロック１４０で、システム３６は、ストア９８を検査することによって、前処理ステップを実施すべきかどうかを判定する。実施すべき場合、それらの前処理ステップのそれぞれに対応する機能が実行される。前処理ステップは、主として追加データを取得するためのものである。次に、ブロック１５０で、システム３６は、選択された作業単位に対して定義された機能を実行する。
【００３３】
選択された作業単位に対する特定の機能の実行が完了すると、システム３６は、ブロック１５２で、ユーザから受信した入力データファイル内の情報の関連部分のすべて、並びに、前処理中および選択された作業単位の実行中に生じたどのような追加の情報およびデータをも含むファイルと共にデータベースをロードする。
【００３４】
ブロック１５４で、システムは、このブロックに入った時点で存在する現在の環境に関連する定義された後処理を実行する。このトランザクションは、ある種の出力を生成することを必要とする場合があるが、これはブロック１５６で実行され、この出力はブロック１５８で指定されたレシピエントに送信される。
【００３５】
後処理ステップは、主として、何かが変更された、またはあるアクションの実行が完了したという確認または通知を送信するためのものである。
【００３６】
一般的に、図４に示されるようなトランザクションの処理は、ビジネスオブジェクトの初期状態の識別、またはビジネスオブジェクトでの、ある状態から別の状態への遷移の識別をもたらす。この結果生じた状態は、さらなる遷移がその後に続く中間状態である場合もあれば、特定のビジネスオブジェクトに必須の関数の完了を示す終了状態である場合もある。前処理はすべてのトランザクションで実行されるわけではなく、また、後処理もすべてのトランザクションで実行されるわけではない。
【００３７】
次いで、本発明の一例を不動産トランザクション文書の処理という文脈で提示する。この設定には、不動産の融資を提供する貸手と、不動産の領域で必要とされる特殊なサービスを提供するサービス提供業者からなる大規模なグループが関係する。この例の重要な点は、要求側、レシピエント双方のユーザが、不動産機能を実行するための各自のビジネスで異なるフォーマットを利用する可能性が高いことである。現時点では、この非互換性が不動産業務の処理の妨げとなっているが、この問題を本発明によって対処することができる。時の経過に伴い、不動産業界など特定の業界がファイル用のアクティビティフォーマットを標準化し、この問題が軽減されることが考えられる。この例では、図１に示す端末１と関連付けられた貸手の顧客が、特定の資産を購入するための融資を要求している。この例の始めでイニシエータと称される貸手は、複数のアクティビティを行わなければその資産用の貸付を許可することができない。この例を表すプロセス中の１ステップは、貸手が当該資産のステータスをフラッドとの関連で決定することである。このような決定は、貸付の評定プロセスで重要なステップである場合が多い。この問いに答えるには、貸手は「フラッドオーダー」と称されるものを提出して、特定資産のフラッド分類ステータスを決定する。米国には、この情報を提供する各種のサービス提供業者（ベンダ）が多数存在する。ベンダの中には特定の地域でしか営業しないものもあり、また国のベンダはあらゆる貸手ではなく特定の貸手のみを対象として運営される場合もある。貸手の多くは全国規模で営業しているので、何千ものフラッドオーダーを処理するという状況では単一のフラッドオーダーを処理するのは比較的煩瑣な作業になりかねない。
【００３８】
本発明をさらに説明するに際して、広い文脈で上記のような不動産のオーダーを表す概略図を図５に示すが、この態様の１つがこの例のフラッドオーダーである。図５のトランザクションの概略図は３段階からなる。入力と変換の段階１６８、トランザクション処理の段階１７０、および変換／出力／送達の段階１７２がある。この例では、貸手をイニシエータ（Ｉ）と呼ぶ。さらに図５を参照すると、イニシエータは段階１６８で階数のオーダーなどのオーダーを出す。イニシエータは、自分の端末２４からネットワーク２２を通じてシステム３６にファイルを送信する。これはメーカー独自のフォーマットファイル１７４でも、ＸＭＬファイル１７６でもよい。受信されたメーカー独自のファイルは、特定のイニシエータのために確保されたフォルダのセットの１つに入れられる。イニシエータは、必要とされるアクションのための特定の作業単位とビジネスオブジェクトに関連付けられた特定フォルダにメーカー独自のファイルを入れる。
【００３９】
そのファイルがメーカー独自のフォーマットである場合は、翻訳プログラム１７８でそのファイルを処理してＸＭＬファイル１８０を作成する。ファイル１７６はファイル１８０に対応する。
【００４０】
この不動産処理の例では、拡張マークアップ言語（ＸＭＬ）を利用する標準化ファイルフォーマットを選択している。ＸＭＬについては、１９９８年２月１０日発行のＷ３Ｃ勧告「Ｅｘｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ（ＸＭＬ）１．０」（４１頁）に記載され、この文書は参照により本明細書に組み込む。ＸＭＬは、ＸＭＬ文書と呼ばれるデータオブジェクトのクラスを記述し、また部分的に、そのオブジェクトを処理するコンピュータプログラムの振る舞いを記述する。ＸＭＬは、ＩＳＯ８８７９に仕様が定められるＳＧＭＬ、すなわちＳｔａｎｄａｒｄ　Ｇｅｎｅｒａｌｉｚｅｄ　Ｍａｒｋ−ｕｐ　Ｌａｎｇｕａｇｅの一形態である。定義上、ＸＭＬ文書はＳＧＭＬ文書に準拠している。定義されたビジネスオブジェクトに関連する不動産処理で必要とされるデータを定義するために、ＸＭＬ文書ファイルの特定の構造を選択している。ＸＭＬでないファイルは、システム３６で処理するために、標準化されたＸＭＬファイルに変換する。
【００４１】
さらに図５を参照すると、段階１７０で、フォーマットされたＸＭＬファイルにイニシエータが提出したファイル内のデータによって定義されるビジネスオブジェクトを選択する。このビジネスオブジェクトは、メーカー独自のファイル用のそのオブジェクトのフォルダによって定義される。イニシエータは、該当するフォルダを選択する。送信されたファイル（トランザクション）ごとに、さらに作業単位が識別される。作業単位はＸＭＬファイルで指定されるが、この場合もメーカー独自のファイル用の選択されたフォルダによって指定される。これを段階１７０で、ビジネスロジックプロセッサ１８２によって処理する。この処理は、図３に示すストア９８に対応するシステムデータベース１８４と連動して行われる。データベース１８４は、先に図２、３、４を参照して説明したビジネスオブジェクトとそれに関連する作業単位、および規則の集合を含んでいる。前処理ステップ１８６は現在の状況に応じて、主に追加情報を収集するために行われる。前処理ステップ１８６が完了すると、現在のファイル情報をデータベース１８４に記憶する。次いで、現在の状況によって決定される後処理１８８を実行する。
【００４２】
トランザクション処理状態１７０で行われる処理の結果、ＸＭＬファイル１９０が作成される。ここで説明する例では、選択されたレシピエントに対してオーダーを送達することが必要である。レシピエントがＸＭＬの標準フォーマットを利用している場合、ファイル１９０は転送１９２を通して、ＦＴＰ（ファイル転送プロトコル）方式、または電子メールでレシピエント（Ｒ）、この例では選択されたサービス提供業者に送達される。
【００４３】
選択されたレシピエントが標準ＸＭＬファイルを利用していない場合は、ファイル１９０を翻訳プログラム１９４に提供してメーカー独自フォーマットのファイル１９６を作成し、これを同様にＦＴＰか電子メールで選択されたレシピエントに送信する。ここで説明する例では、レシピエントに提供される文書はフラッドオーダーであり、これはレシピエントと互換性のあるフォーマットで、フラッドオーダーの要求、財産の識別、イニシエータ、およびその他必要とされるすべての情報を識別する。この時点で、応答を提供するのはレシピエントの責任である。この説明に従うと、このステップで、特定のベンダをイニシエータ（Ｉ）と定義する。
【００４４】
引き続きフラッドオーダーの例を説明すると、フラッドオーダーのビジネスプロセスを表すビジネスオブジェクト＃７を定義するために図６および図７を参照する。フラッドオーダープロセス（ビジネスオブジェクト＃７）は、状態２２０、２２２、２２４、２２６、および２２８を有し、これらはそれぞれこのビジネスオブジェクトの状態Ａ、Ｂ、Ｃ、Ｄ、およびＥに対応する。ビジネスオブジェクト＃７は、作業単位２３４、２３６、２４０、２４２、２４４、および２４６を含み、これらはそれぞれＷＵ＃１、ＷＵ＃２、ＷＵ＃３、ＷＵ＃４、ＷＵ＃５、ＷＵ＃６およびＷＵ＃７に対応する。さらに図６を参照すると、フラッドオーダービジネスオブジェクト＃７は状態２２０（Ａ）を有し、これは要求側から新規のオーダーが出された状態を表す。これは作業単位２３４（ＷＵ＃１）によって実行される。ベンダが、オーダーの受領を確認するのに必要な操作、すなわち作業単位２３６（ＷＵ＃２）の実行を行うと、ビジネスオブジェクト＃７が「確認済みのオーダー」を表す状態２２２に移される。この状態で、ユーザ（要求側またはベンダ）のいずれかが現在のファイルに文書を添付することが必要になる場合もある。これは、作業単位２４６（ＷＵ＃７）を実行することによって行われる。この作業単位を実行してもビジネスオブジェクトがある状態から他の状態に遷移することはないが、所与の状態について設定されている情報が修正され、この例ではファイルへの文書の添付がそれに当たる。
【００４５】
一般には、その作業単位を識別するファイルか、または選択されたビジネスオブジェクトと作業単位を識別するフォルダに入れられるファイルをシステム３６に提出することによって、当事者がある作業単位を実行させる。
【００４６】
ベンダが要求されるオーダーを処理することができない、あるいは要求されるオーダーの処理を望まない場合がありうる。このような場合、ベンダは、その作業単位を参照するファイルをシステム３６に提出することにより作業単位２３８（ＷＵ＃３）を実行し、ビジネスオブジェクトは終了状態２２４に移される。これは「拒絶されたオーダー」の状態である。この状態では、オーダーが拒絶されたことが要求側に通知され、ビジネスオブジェクト＃７の処理が終了される。
【００４７】
ベンダは作業単位２４０（ＷＵ＃４）を実行し、フラッドオーダーに必要とされるすべての情報を要求側に転送して戻すことができ、それにより終了状態２２６でビジネスオブジェクト＃７のオーダーを完了する。
【００４８】
作業単位２４２は、要求側またはベンダに現在のオーダーをキャンセルさせるために、ビジネスオブジェクトが状態２２２にある際にのみ実行することができる。どちらかの当事者がこの作業単位を起動すると、ビジネスオブジェクト＃７は終了状態２２８（Ｅ）に移され、それによりビジネスオブジェクト＃７の処理を終了する。さらに他のキャンセルの選択肢は、要求側が作業単位２４４（ＷＵ＃６）を実行して、状態２２０で設定されたオーダーをキャンセルし、それによりこの場合もビジネスオブジェクトを終了状態２２８に移すものである。
【００４９】
図７を参照すると、この例のシステムは、複数のビジネスオブジェクトと、具体的には定義されたビジネスオブジェクト＃７を含むストア２５２を有する。ストア２５２内に示すように、特定のビジネスオブジェクト（ＢＯ＃７）とそのビジネスオブジェクトの状態を識別するブロック２５４がある。
【００５０】
図７は、ストレージ２５２を示し、ここではビジネスオブジェクト＃７の状態をブロック２５４で定義し、作業単位をブロック２５６で定義し、ビジネスオブジェクト＃７に関連付けられた規則をブロック２５８で定義し、存在する場合には前処理ステップをブロック２６０で定義し、存在する場合には後処理ステップをブロック２６２で定義している。ストレージ２５２内では、ビジネスオブジェクト＃７の前または後にはビジネスオブジェクトがいくつあってもよい。
【００５１】
図７のビジネスオブジェクト＃７を参照すると、ＷＵ＃１は、ビジネスオブジェクト＃７の状態Ａにだけ関連付けられている。これは、新規の発注のための作業単位である。図５を参照すると、この作業単位には、トランザクション処理段階１７０のために要求側がＸＭＬまたはメーカー独自のフォーマットでシステム３６にファイルを送信し、次いで段階１７２で、先に定義したフォーマットでそのファイルをレシピエント（ベンダ）に送達し、その特定ベンダが受信することが含まれる。一般に、作業単位を実行すると、図５に示すトランザクション概略図の左から右へと１回経過し、その結果、図６に示すビジネスオブジェクト＃７など、現在実行中のビジネスオブジェクトについて新しい状態が確立される。
【００５２】
ＷＵ＃２は、ベンダがオーダーの受領を確認するプロセスを表し、この場合はベンダがイニシエータになり（図５を参照）、段階１６８、１７０、１７２を通じてファイルを送信して、レシピエント、このトランザクションでは貸手に送達する。この結果、ビジネスオブジェクト＃７が状態２２０（Ａ）から、確認済みのオーダーの状態２２２（Ｂ）へと遷移する。ベンダが提出したファイルは、実行中の特定のビジネスオブジェクト＃７のインスタンスを参照する。
【００５３】
ＷＵ＃３は、ベンダがオーダーを拒絶するプロセスを表す。この場合はベンダがイニシエータ（図５）になり、フォーマットされたファイルを送信し、このファイルを段階１６８、１７０、１７２で処理して、特定のオーダーが拒絶されたことを伝える情報をレシピエント（貸手）に提供する。この結果、ビジネスオブジェクト＃７が状態２２０（Ａ）から終了状態２２４（Ｃ）へと移る。
【００５４】
図７のＷＵ＃４は、その結果状態Ｂから状態Ｄへの遷移が行われる機能を表す。この作業単位の実行には、図５の左から右へと示すトランザクション概略図の処理を通じてベンダからファイルを送信し、レシピエント（貸手）に適切なフォーマットでオーダーの完了を伝えることが含まれる。この結果、ビジネスオブジェクト＃７が完了したオーダーに対応する終了状態２２６（Ｄ）に変更される。
【００５５】
ＷＵ＃５は、既存の確認済みのオーダーをキャンセルするために、要求側またはベンダのいずれかによって開始することができる。この結果、状態２２２（Ｂ）から状態２２８（Ｅ）へと遷移する。
【００５６】
ＷＵ＃６は、オーダーがベンダに拒絶される、またはベンダによって確認される前に要求側がオーダーをキャンセルする動作である。この結果、状態２２０（Ａ）から終了状態２２８（Ｅ）へと遷移する。
【００５７】
ＷＵ＃７は、ビジネスオブジェクト＃７をある状態から別の状態に遷移させる機能は実行しないが、ユーザが参照できるように、進行中のフラッドオーダーに特定文書を添付する機能を表す。
【００５８】
図７に、ビジネスオブジェクト＃７に対して実行することのできる機能およびアクティビティに対する制限を表す規則の一覧を示す。この特定のビジネスオブジェクトに関連する規則は次のように記述される。
Ｒ＃１は、オブジェクトインスタンスが存在せず作成する必要がある場合の唯一の有効な作業単位はＷＵ＃１であることを示す。
Ｒ＃２は、状態Ａに有効な作業単位はＷＵ＃２、ＷＵ＃３、ＷＵ＃６だけであることを示す。
Ｒ＃３は、状態Ｂに有効な作業単位はＷＵ＃４とＷＵ＃５だけであることを示す。
【００５９】
ビジネスオブジェクト＃７はさらに前処理＃１のステップを含むことができ、これは、要求されるビジネスロジックを達成するための作業単位の実行に先立って、現在のビジネスオブジェクトのコンテクストを変化させるデータ操作機能を実行するためにトランザクションの状況条件で行われる。作業単位＃１を反復する前処理ステップ＃１は、オーダーのアドレスの確認である。作業単位＃１の前処理ステップ＃２は、貸手によって設定された所定の手順を使用してベンダを選択することである。
【００６０】
ブロック２６２の後処理ステップ＃１は、「トランザクション」の特定の状況条件に達した際に行われる。この状況とは、作業単位＃４の発生である。この後処理には、フラッドオーダーの支払いをするための電子資金転送（ＥＦＴ）操作が含まれる。
【００６１】
本発明の一例を表す詳細なプロセスフローを図８Ａおよび８Ｂに示し、フラッドオーダーの例との関連でさらに説明する。
【００６２】
開始ブロック２７６に続いて、ブロック２７８に入り、イニシエータのフォルダに入力ファイルがあるかどうかを検出する。ブロック２８０で問い合わせを行って、受信したファイルのフォーマットがあらかじめ決定された設定であるＸＭＬであるかどうかを判定する。答えがＹｅｓである場合はブロック２８２に移り、受信したファイルを調べて、そのファイルで識別される特定のビジネスオブジェクトを判断する。ＸＭＬファイルはビジネスオブジェクトを指定し、メーカー独自のファイルを保持するフォルダは、選択されたビジネスオブジェクトと作業単位に対応する。このビジネスオブジェクトは、図７の２５２など、システムストア中のビジネスオブジェクトの１つに対応する。この例では、選択されるビジネスオブジェクトはビジネスオブジェクト＃７である。引き続き図８Ａを説明すると、ブロック２８０の答えが否定である場合はブロック２８４に移り、受信したファイルを望ましいＸＭＬフォーマットに変換する。これは図５の翻訳プログラム１７８によって行われる。ブロック２８４に続き、ブロック２８２に遷移する。
【００６３】
ブロック２８２に続き、ブロック２８６を実行して、ブロック２８２で決定され、選択されたビジネスオブジェクトの特定インスタンスを構築またはポピュレートする。続いてブロック２８８で、入力されたファイルをさらに調べて、選択されたビジネスオブジェクトと関連付けられた作業単位で選択されたものを決定する。これは、図７のブロック２５６に示す作業単位など、定義された作業単位の１つに対応する。この作業単位は元のＸＭＬファイル中で指定され、また元のメーカー独自のファイル用のファイルフォルダに対応する。
【００６４】
この時点で、システム３６はイニシエータから入力ファイルを受信し、そのファイルで指定されるビジネスオブジェクトを選択し、そのビジネスオブジェクトをポピュレートし、イニシエータが指定する作業単位を決定している。次いで、ブロック２９０に移り、指定された作業単位がそのビジネスオブジェクトの現在の状態またはステータスに有効であるかどうかを判定する。これは、状態Ａ、Ｂ、Ｃ、Ｄ、Ｅ、または状態に入っていないステータスを指す。このステータスは、図７のストア２５２のブロック２５８内で定義される規則など、選択されたビジネスオブジェクトと関連付けられたビジネス規則によって決まる。ブロック２９０の実行で現在の作業単位が現在の状態またはステータスに有効でないと判断された場合は、Ｎｏの分岐に従ってブロック２９８に進み、エラーメッセージを生成してそれをイニシエータに送信し、その後終了ブロック３００に遷移する。
【００６５】
ブロック２９０の実行で現在の作業単位が有効であると判断された場合は、Ｙｅｓの分岐に従ってブロック２９６に進み、何らかの前処理ステップを実行すべきかどうかを判断する。現在の状況を、図７のブロック２６０に示す定義された前処理ステップの状況と比較する。前処理ステップ状況の一覧のうちいずれかが現在の状況と一致する場合は、Ｙｅｓの分岐に従ってブロック３０２に進み、指定される１つまたは複数の前処理ステップを実行する。現在の状況が記憶された状況条件のいずれとも一致しない場合は、Ｎｏの分岐に従って質問ブロック３０４に移る。ブロック３０４は、ブロック２５８の規則のうち別の規則に対応しており、この処理段階で存在するデータの有効性を定義する。この時点で無効なデータがあると判断された場合はＮｏの分岐に従ってブロック３０６に進み、適切なエラーメッセージを生成してそれをイニシエータに送信し、その後終了ブロック３０８に移る。
【００６６】
データの有効性は、特定タイプのデータに対する規則セットによって判定される。例えば、ＺＩＰコードのデータフィールドは厳密に５桁または９桁でなければならず、またアルファベット文字を含んではならない。Ａ、Ｂ、またはＣなどのフラッドの格付けはそれ以外の文字を含んではならず、また１文字しか有することができない。フラッドの災害を有する報告については、コメントフィールドにテキストがなければならない。
【００６７】
ブロック３０４でデータが有効であると判断された場合は、Ｙｅｓの分岐に従ってブロック３１０に進み、指定された作業単位に関連付けられた要求される機能を実行する。これには、そのビジネス作業単位に対して定義される、ビジネスロジックプロセッサ１８２（図５）によって実行されるアクションが含まれる。
【００６８】
ブロック３１０に続いて質問ブロック３１２に入り、選択されたビジネスオブジェクトのステータスに変化があるかどうかを判定する。変化がある場合はＹｅｓの分岐に従ってブロック３１４に進み、ビジネスオブジェクトの新しいステータスまたは状態を設定する。これは、図６に示すようなビジネスオブジェクトの新しい状態を指定することに対応する。ブロック３１２で変更の必要がない場合は、Ｎｏの分岐に従って質問ブロック３１６に進む。このブロックで、レシピエントに対してファイルなど何らかのタイプの送達が必要とされているかどうかを判定する。そのような送達が必要な場合はＹｅｓの分岐に従ってブロック３１８に進み、送達に必要とされるフォーマットを決定し、次いでブロック３２０でＦＴＰまたは電子メールなど送達の搬送機構を決定する。次いでブロック３２２に遷移して、フォーマットと機構を指定したトランザクションの送達を実行する。ブロック３２２に続き質問ブロック３２４に移るが、このブロックはブロック３１６で答えがＮｏの場合にも進むブロックである。
【００６９】
質問ブロック３２４で問い合わせを行って、現在の状況ステータスが、図７のブロック２６２に挙げる後処理ステップのいずれかの状況ステータスと一致するかどうかを判定する。答えがＹｅｓの場合はブロック３２６に移り、指定される後処理ステップを実行する。答えがＮｏの場合はＮｏの分岐に従ってブロック３２８に移るが、このブロックはブロック３２６からも進むブロックである。ブロック３２８で、この段階でそうしたアクションが必要な場合はイニシエータに対して確認を作成し、作成された確認をイニシエータに転送する。最後に終了ブロック３３０に移りこのトランザクションを完了するが、大半の場合はこの結果現在選択されているビジネスオブジェクトの状態が変化している。
【００７０】
引き続きフラッドオーダーの例を説明し、今度は図５、６、７、８Ａ、および８Ｂを参照する。要求側が新規のオーダーを提出し（図６）、作業単位２３４を実行したとすると、ビジネスオブジェクト＃７は状態２２０（Ａ）になる。この状態で、ベンダにはオーダーがそのベンダに出され、そのオーダーに固有のデータを有することが通知される。このとき、ビジネスオブジェクト＃７（図６）での定義に従って、イニシエータは要求側であってもベンダであってもよい。この例で、ベンダがオーダーを確認したい場合、ベンダは次のトランザクションのイニシエータに指定され、図５の段階１６８で示すように、その特定ベンダに対応するフォルダに入力ファイルを提出することになる。システム３６は、次いで図８Ａのブロック２７８を実行して入力ファイルを検出し、次いでブロック２８０でそのファイルが正しいＸＭＬフォーマットであるかどうかを判断する。ＸＭＬフォーマットでない場合は、図５に示す翻訳プログラム１７８によりブロック２８４で変換ステップを実行する。
【００７１】
ステップ２８２で、イニシエータ（この例ではベンダ）からの入力ファイルで識別されるビジネスオブジェクトを決定する。これにより、以前に選択されポピュレートされている既存のビジネスオブジェクトが識別される。次いでステップ２８６からステップ２８８へと移り、ベンダから受け取った入力ファイルで指定される作業単位を決定する。この例では、この作業単位は図７に示すブロック２５６のＷＵ＃２になる。ブロック２８８で、ビジネスオブジェクト＃７の規則を参照して、その作業単位がその状態で有効かどうかを判定する。規則＃２は、その作業単位がその状態で有効であることを示している。ブロック２９０からＹｅｓの分岐に進み、何らかの前処理ステップを実行すべきかどうかを判断する。現在の状況ではそのような前処理ステップはなく、Ｎｏの分岐に従ってブロック３０４に進み、処理中のファイル内の既存データがすべて有効であるかどうかを判定する。データが有効であるとすると、Ｙｅｓの分岐に従ってブロック３０４からブロック３１０に進み、選択された作業単位、すなわち作業単位ＷＵ＃２（図７）を実行する。これは、ビジネスロジックプロセッサ１８２から得られる、ファイル１９０として受信され、また可能性としては変換されたＸＭＬファイルを送信することによって行われる。
【００７２】
レシピエント（この場合は貸手）に必要とされるファイルフォーマットを決定すると、ファイル転送ブロック１９２（図５）か、または翻訳プログラム１９４に移り、メーカー独自のファイルを生成するか、または既存のＸＭＬファイルを搬送する。特定のレシピエントについてのＦＴＰまたは電子メールの送信方式も決定され、レシピエントに適切なファイルが送信される。
【００７３】
さらに図８Ｂを参照すると、質問ブロック３１２に入り、既存のビジネスオブジェクト、この例ではビジネスオブジェクト＃７にステータスの変更が必要であるかどうかを判定する。この例ではこの答えはＹｅｓであり、ブロック３１４に移って、プロセッサ１８２内のビジネスオブジェクト＃７の状態を状態２２０（Ａ）から状態２２２（Ｂ）に変更する。これは、貸手に対してオーダーが確認された状態である。
【００７４】
さらに図８Ｂを参照すると、ブロック３１６〜３２２を処理して、フォーマットと送信機構を選択し、次いでレシピエント（貸手）へのファイル送達を実行する。
【００７５】
次のステップでブロック３２４に入り、何らかの後処理ステップが必要であるかどうかを判断する。これは、現在の状況を、図７のブロック２６２に挙げる後処理ステップと比較することによって行う。一致した場合はＹｅｓの分岐に従ってブロック３２６に進み、指定される後処理ステップを実行する。この例の状態では、後処理ステップは必要でない。最後にステップ３２８で、任意選択で、オーダーの確認が完了した旨の確認をイニシエータ、この場合はベンダに送信してもよい。
【００７６】
フラッドオーダーの例を参照して説明した本発明の一例のさらに詳細な説明を、図１０、１１、１２に加えて図９Ａおよび９Ｂに示す。ここで説明する例は不動産業界に関し、特に、指定される資産がフラッド格付けを有するかどうかを判断するための貸手による「フラッドオーダー」の処理に関する。図９Ａおよび９Ｂに示すシステムは３段階に分割される。入力および変換の段階３５２、オーダー処理の段階３５４、および出力および送達の段階３５６がある。システムへの入力方法の１つは、システム３６の一部であるウェブサーバ３６６と従来方式で通信するウェブファーム３６４の一部であるウェブクライアント３５８、３６０、３６２を通じて行うものである。
【００７７】
ファイルは、多数ある技術のうち任意のものでシステムサーバに送信することができる。これには、ＴｒａｎｓＸＭＬファイル３６８、Ｘ．１２ファイル３７０、およびメーカー独自フォーマットのファイル３７２がある。ウェブサーバ３６６はプログラム３８２と連動して動作して、ＲｅａｌＸＭＬファイル３８４として転送される、指定フォーマットのＸＭＬファイルを生成する。
【００７８】
ファイル３６８、３７０、３７２は、サーバ内で、メーカー独自のファイルについての個々のイニシエータと選択された作業単位に対応するフォルダに置かれる。これらのファイルはプログラムＲＥＡＬＭＯＮＩＴＯＲ３８６によって監視され、このプログラムはファイルのフォーマットを識別して、あらかじめフォーマットされたＸＭＬファイル３６８は直接ＲｅａｌＸＭＬファイル３８４に直接送り、Ｘ．１２ファイルは翻訳プログラム３８８に送ると翻訳プログラム３８８がファイル３８４を提供し、そしてメーカー独自のファイル３７２は翻訳プログラム３９０に送ると翻訳プログラム３９０が最終的なＸＭＬファイル３８４を生成する。
【００７９】
ただし本発明はこの業界だけに制限されるものではなく、任意業界の複数当事者間のビジネス処理に広く応用することができる。
【００８０】
ＲｅａｌＸＭＬファイル３８４は定義されたフォーマットのＸＭＬファイル３９１であり、これは「ＲｅａｌＸＭＬＤｂ」と称するプログラム３９２に入力される。これは、定義されたＸＭＬファイルに関連付けられたオブジェクトプログラムである。プログラム３９２は、現在のＸＭＬファイルの他に、図３に示すようなシステム機能を記憶するデータベース３９４と連動して動作する。
【００８１】
プログラム３９２はデータベース３９４に記憶されたデータを利用して、任意選択の前処理ステップ３９６および３９８を実行する。これらのステップが完了すると、フォーマットされたＸＭＬファイルの現在の状態がデータベース３９４に記憶される。
【００８２】
この時点で、ＲｅａｌＥＬＤｂプログラム３９２は、受信したファイルで指定される作業単位を実行し、また必要な場合は、ＲｅａｌＤｅｌｉｖｅｒｙオブジェクトプログラム４０２（図９Ｂ）へのアクセスを含むオーダーの送達４００を実行する。
【００８３】
ＲｅａｌＸＭＬＤｂプログラム３９２はさらに、定義される任意選択の後処理があればそれをステップ４０４および４０６で実行する。
【００８４】
さらに図９Ｂを参照すると、プログラム４０２（ＲＥＡＬＤｅｌｉｖｅｒｙ）はレシピエントの要件に応じて、ＲｅａｌＸＭＬファイル４１６を生成して送信するか、またはエクスポータプログラム４１８を起動する。ＲｅａｌＸＭＬファイル４１６は、ＴｒａｎｓＸＭＬエクスポート動作４２０を通じて転送され、ＴｒａｎｓＸＭＬファイル４２２を指定のレシピエントに搬送する。
【００８５】
指定されるレシピエントがＸ．１２フォーマットでファイルを受信することを指示した場合、エクスポータ４１８は既存のＲｅａｌＸＭＬファイルをプログラム４０２から翻訳プログラム４２３に転送して、Ｘ．１２ファイル４２４を生成する。
【００８６】
指定されるレシピエントがメーカー独自のフォーマットを指示した場合、エクスポータ４１８は、標準化されたＸＭＬをプログラム４０２ファイルから、メーカー独自のフォーマットの翻訳プログラム４２６に転送し、翻訳プログラム４２６はメーカー独自フォーマットのファイル４２８を生成する。
【００８７】
フラッドオーダーの例のメーカー独自フォーマットのファイル３７２を図１０の詳細な例に示す。フォーマットされたＸＭＬファイル３９１を図１１の特定の実施形態に示す。Ｘ．１２ファイル４２４を図１２に詳細に示す。
【００８８】
上記で説明したフラッドオーダーの処理について図９Ａ、９Ｂ、１０、１１、および１２を参照してさらに詳細に説明する。この例では、銀行などの貸手が各自のあらかじめ指定したレイアウトでテキストファイルを提出することにより、システムにフラッドオーダーを送信する。このテキストファイルは、図１０に示すメーカー独自フォーマットのファイル３７２である。このファイルは、ＦＴＰを介して、図１の４８などシステムのＦＴＰサーバ内のその貸手の指定入力フォルダに送信される。
【００８９】
ＲＥＡＬＭＯＮＩＴＯＲプログラム３８６は、貸手のファイルがサーバ中の特定フォルダにあることを検出し、そのファイルを処理用フォルダに移動する。プログラム３８６はそのファイルを調べ、ファイルがメーカー独自のテキストフォーマットであることを検出し、適切な翻訳プログラムオブジェクト、すなわち翻訳プログラム３９０を呼び出して、貸手のテキストファイル３７２をシステムで利用される指定フォーマットのＲｅａｌＸＭＬファイルに変換する機能を行う。生成されるＸＭＬファイルは、図１１に示すファイル３９１である。ファイル３９１は、選択されたビジネスオブジェクトの特定インスタンスを表す固有の識別を有する。
【００９０】
このファイルを次いでＲｅａｌＸＭＬＤｂプログラム３９２に送り、そのファイルが提出元の貸手に属するものであることを判断し、その特定の貸手のフラッドオーダーに必要な前処理ステップを含む特定のプログラム（オブジェクト）を呼び出す。前処理ステップの１つは、その特定の貸手がフラッドのオーダーを出した際は、システムが承認されたベンダのリストから１ベンダを自動的に選択することを指定する。これは、貸手が前もって供給した規則のセットに基づく。前処理が完了すると、オーダーを受け取る特定のベンダが指定される。前処理が完了すると、オーダーファイルがシステムのデータベース３９４にロードされる。
【００９１】
ファイルがロードされると、ＲｅａｌＸＭＬＤｂプログラム３９２は、その特定の貸手とその特定タイプのオーダーに対する後処理ステップを調べる。この特定の貸手は、後処理ステップの１つで、フラッドオーダーの完了時にクレジット報告を自動的に出すことを指定している。
【００９２】
フラッドオーダーの提出によって行われる主要な機能は、そのオーダーを選択されたベンダに提出することである。これは、ファイル３７２で作業単位に対して指定される機能である。ＲｅａｌＸＭＬＤｂプログラムは、オーダー送達プログラム４００を呼び出して、送達を完了するのに必要とされるステップをさらに実行する。オーダー送達プログラム４００はデータベース３９４を調べて、選択されたベンダが新規のオーダーに必要とするフォーマットと搬送機構を決定する。この例では、選択されたベンダは、フラッドオーダーにはＸ．１２フォーマットを使用し、オーダーをシステムのＦＴＰサーバ４８内の出力フォルダに入れることを希望している。送達プログラム４００は翻訳プログラム４２２を呼び出して、ファイルを選択されたベンダが希望するフォーマット（Ｘ．１２）に変換する。翻訳プログラム４２２は次いで選択されたベンダのファイル４２４をＦＴＰサーバ４８のそのベンダの出力フォルダに記憶し、ベンダが利用できるようにする。ベンダは、そのファイルを自らに直接送信させるように指定することもできる。
【００９３】
図１０に示すメーカー独自のテキストフォーマットファイル３７２は、ベンダが特定の資産についてのフラッドステータス報告を発行するのに必要とするすべての情報を含んでいる。このファイルを貸手に提出する際には、特定のビジネスオブジェクトの特定の作業単位に対応するフォルダにそのファイルを送信する。この例では、これはビジネスオブジェクト＃７（オーダー）の作業単位「新規の発注」である。システム３６は、それが置かれているフォルダによってビジネス単位と作業単位を識別する。
【００９４】
図１１のファイル３９１は、本発明のシステム３６で使用する標準化されたＸＭＬファイルの一例である。ビジネスオブジェクトは、フィールド「ＢＯ　ｎａｍｅ」中で「ｏｒｄｅｒ」と指定される。作業単位は、「Ｉｄｅｎｔｉｔｙ　ａｃｔｉｏｎ」フィールドで「ｃｒｅａｔｅ」として指定される。ビジネスオブジェクトのデータ要素は、フィールド「ｔａｇ　ｎａｍｅ」の後に指定される。図１２に示すファイル４２４は、事前にベンダが選択した前処理フォーマットである。このファイルの一部は、選択されたビジネスオブジェクトの特定インスタンスを参照する固有の識別である。この識別は、表現「ＣＥＳＡＲＧ９４８３２１８９３６５２」である。
【００９５】
ベンダが出力ファイル４２４を入手または受信すると、ベンダは図１３に示す入力ファイル４３０を提出することにより、オーダーが受領されたことを確認することができる。このファイルは、受信されたファイル４２４にあった識別番号を含んでいる。この番号は、「オーダーの識別」と識別される最初の行にある。システム３６はファイル４３０中のこの識別番号を使用して、この例ではビジネスオブジェクト＃７である選択されたビジネスオブジェクトの特定インスタンスとファイルを関連付ける。
【００９６】
本発明について不動産トランザクションの分野を参照して上記で説明したが、本発明は他の分野および業界におけるビジネス間の企業活動の通信および処理にも同様に応用することができる。本発明のモジュラー構造は、対応する作業単位、規則、前処理および後処理のステップを有するビジネスオブジェクトを必要に応じて追加できるようにし、システムが企業活動を処理することを可能にする。システム３６への他のビジネスオブジェクトの追加を図１４および１５に示す。この例は、自動車保険の請求を処理する場合である。このような処理に関わるエンティティには、大規模な保険引き受け会社、保険の発行者、認可を受けた自動車修理店、警察の代理人、および国の自動車代理業者が含まれる。こうした当事者のうち複数の間で行われる一連のトランザクションで、自動車保険の請求を処理することが必要とされる。このような処理のためのビジネスオブジェクト＃２４８を図１４に示し、それに関連付けられた作業単位、規則、前処理および後処理を伴うビジネスオブジェクトを図１５に示す。
【００９７】
図１４のビジネスオブジェクト＃２４８は、状態４４０（Ａ）、４４２（Ｂ）、４４４（Ｃ）、４４６（Ｄ）、４４８（Ｅ）、および４５０（Ｆ）を有する。さらに、作業単位４５２（ＷＵ＃１）、４５４（ＷＵ＃２）、４５６（ＷＵ＃３）、４５８（ＷＵ＃４）、４６０（ＷＵ＃５）、４６２（ＷＵ＃６）、および４６４（ＷＵ＃７）が含まれる。
【００９８】
図１５を参照すると、ストレージ４７０は、指定された状態を有するビジネスオブジェクト＃２４８を識別するブロック４７２を含んでいる。ブロック４７４は、ビジネスオブジェクト＃２４８に対応する作業単位を指定する。ブロック４７６は、ビジネスオブジェクト＃２４８に関連付けられた規則を指定する。ブロック４７８は、ビジネスオブジェクト＃２４８に関連付けられた前処理ステップを記述し、ブロック４８０はビジネスオブジェクト＃２４８に関連付けられた後処理ステップを記述する。
【００９９】
ビジネスオブジェクト＃２４８は準備されると、システム３６にロードされ、システムはユーザからの入力ファイルを処理して、その新規のビジネスオブジェクトの機能を実行することができる。これは本発明のモジュール性を実証するものである。
【０１００】
要約すると、本発明は、ビジネス間の通信とビジネス手順の困難を軽減するための構造および手順を提供し、それにより費やされる費用と時間を低減し、生産性を向上する。
【０１０１】
本発明のいくつかの実施形態を添付図面に示し、前述の発明の詳細な説明で説明したが、本発明はここに開示する実施形態に限定されるものではなく、本発明の範囲から逸脱することなく多数の修正形態、変形形態、および代替形態が可能であることが理解されよう。
【図面の簡単な説明】
【図１】複数のユーザに接続されており、本発明によるトランザクションを処理するシステムにも接続されているデータ通信ネットワークの概略図である。
【図２】サンプルのビジネスオブジェクトの状態の概略図である。
【図３】ビジネスオブジェクトに関連する状態、作業単位、規則、前処理ステップと後処理ステップのリストを含めて図２に示すビジネスオブジェクトに対する機能を定義する表である。
【図４】本発明を伴う処理ステップに関する一般的な例を示す一連の流れ図である。
【図５】特定のファイルタイプおよび処理操作と併せてトランザクションの処理の段階を示すトランザクションの概略図である。
【図６】複数の状態と複数の定義された作業単位を含むビジネスオブジェクト、すなわちフラッドオーダーの特定の例を示す図である。
【図７】状態、作業単位、規則、前処理ステップおよび後処理ステップを含めて図６に示すビジネスオブジェクトを定義する情報の表である。
【図８ＡおよびＢ】本発明の実施を表す詳細な流れ図である。
【図９ＡおよびＢ】特定のデータタイプの処理、翻訳、処理およびファイルの引渡しの３段階を必要とする、本発明の一例に関するトランザクションの説明を示す図である。
【図１０】フラッドオーダーの例のためのメーカー独自のテキストフォーマットの一例を示す図である。
【図１１】新しいフラッドオーダーに対して本発明の一実施形態で使用されるＲｅａｌＸＭＬファイルの一例を示す図である。
【図１２】新しいフラッドオーダーに対して、ベンダに引き渡されるメーカー独自のＸ．１２フォーマットのファイルの一例を示す図である。
【図１３】図１２に示す出力ファイルの受信に応答してベンダから受信されるメーカー独自のフォーマットファイルの一例を示す図である。
【図１４】保険金請求処理のためのビジネスオブジェクトのさらなる状態の概略図の例である。
【図１５】状態、作業単位、規則、前処理ステップおよび後処理ステップのリストを含めて、図１４に示すビジネスオブジェクトに対する機能を定義する表である。
【図１】
2004502209.tif 000002
【図２】
2004502209.tif 000003
【図３】
2004502209.tif 000004
【図４】
2004502209.tif 000005
【図５】
2004502209.tif 000006
【図６】
2004502209.tif 000007
【図７】
2004502209.tif 000008
【図８Ａ】
2004502209.tif 000009
【図８Ｂ】
2004502209.tif 000010
【図９Ａ】
2004502209.tif 000011
【図９Ｂ】
2004502209.tif 000012
【図１０】
2004502209.tif 000013
【図１１】
2004502209.tif 000014
【図１２】
2004502209.tif 000015
【図１３】
2004502209.tif 000016
【図１４】
2004502209.tif 000017
【図１５】
2004502209.tif 000018
【国際公開パンフレット】
2004502209.tif 000019
2004502209.tif 000020
2004502209.tif 000021
2004502209.tif 000022
2004502209.tif 000023
2004502209.tif 000024
2004502209.tif 000025
2004502209.tif 000026
2004502209.tif 000027
2004502209.tif 000028
2004502209.tif 000029
2004502209.tif 000030
2004502209.tif 000031
2004502209.tif 000032
2004502209.tif 000033
2004502209.tif 000034
2004502209.tif 000035
2004502209.tif 000036
2004502209.tif 000037
2004502209.tif 000038
2004502209.tif 000039
2004502209.tif 000040
2004502209.tif 000041
2004502209.tif 000042
2004502209.tif 000043
2004502209.tif 000044
2004502209.tif 000045
2004502209.tif 000046
2004502209.tif 000047
2004502209.tif 000048
2004502209.tif 000049
2004502209.tif 000050
2004502209.tif 000051
2004502209.tif 000052
2004502209.tif 000053
2004502209.tif 000054
2004502209.tif 000055
2004502209.tif 000056
2004502209.tif 000057
2004502209.tif 000058
2004502209.tif 000059
2004502209.tif 000060
2004502209.tif 000061
2004502209.tif 000062
2004502209.tif 000063
2004502209.tif 000064
2004502209.tif 000065
2004502209.tif 000066
【国際公開パンフレット（コレクトバージョン）】
2004502209.tif 000067
2004502209.tif 000068
2004502209.tif 000069