(57)【要約】  複数のプロダクト又はビジネスアプリケーションを用いるためのビジネスプロセス管理システム及び方法である。ビジネスプロセス管理システムは、ビジネスプロセスを設計するための情報を受信するように構成されたプロセス設計者向け対話部と、プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含んでいる。プロセス形成部は、ビジネスプロセスを生成又は修正するために、複数のプロダクト又はビジネスアプリケーションを選択するように構成されている。ビジネスプロセス管理システム及び方法は、プロダクトの複数のバージョンを取り扱うインターフェースを提供する。
2008515056.tif 000002
【特許請求の範囲】
【請求項１】
ビジネスプロセスを設計するための情報を受信するように構成されたプロセス設計者向け対話部と、
プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含む、ビジネスプロセス管理システムであって、
プロセス形成部は、ビジネスプロセスを生成又は修正するために、複数のプロダクトの中の少なくとも一つから、関数及び設定の少なくとも一つを選択することを特徴とするビジネスプロセス管理システム。
【請求項２】
請求項１記載のシステムにおいて、プロセス形成部は、関数及び設定の少なくとも一つの有効性を、他の関数及び設定と比較する有効性比較部を含むことを特徴とするシステム。
【請求項３】
請求項１記載のシステムは、さらに、
製品の少なくとも一つのバージョンを入力するように構成されたバージョン入力部を含むことを特徴とするシステム。
【請求項４】
請求項１記載のシステムにおいて、プロダクトは、複数のプラットフォーム上のものであることを特徴とするシステム。
【請求項５】
請求項１記載のシステムは、さらに、プロダクトの少なくとも一つのプラットフォームを入力するように構成されたプラットフォーム入力部を含むことを特徴とするシステム。
【請求項６】
請求項１記載のシステムは、さらに、バージョンに関する図的情報を表示するバージョン表示部を含むことを特徴とするシステム。
【請求項７】
請求項６記載のシステムにおいて、図的情報は、プラットフォームに関する情報を含むことを特徴とするシステム。
【請求項８】
請求項６記載のシステムにおいて、図的情報は、複数の指示手段を有する木構造を含むことを特徴とするシステム。
【請求項９】
請求項８記載のシステムにおいて、複数の指示手段は、
プロダクトのインターフェースを表すインターフェース指示手段と、
プロダクトのリリースを表すリリース指示手段と、
プロダクトの実装を表す実装指示手段とを含むことを特徴とするシステム。
【請求項１０】
請求項８記載のシステムにおいて、複数の指示手段は、アイコンであることを特徴とするシステム。
【請求項１１】
請求項８記載のシステムにおいて、複数の指示手段は、フォルダであることを特徴とするシステム。
【請求項１２】
請求項８記載のシステムにおいて、バージョン表示部は、ビジネスプロセスを生成又は修正するために用いられるプロダクトを選択するために、複数の指示手段の少なくとも一つを選択した入力を受け取ることを特徴とするシステム。
【請求項１３】
請求項１記載のシステムにおいて、関数は、インターフェースと、リリースと、実装と中の少なくとも一つを含むことを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムにおいて、リリースは、インターフェースの一部を含み、実装は、リリースの一部を含むことを特徴とするシステム。
【請求項１６】
請求項１３記載のシステムにおいて、プロセス形成部は、インターフェースと、リリースと、実装との中の少なくとも一つの有効性を、他のインターフェースと、リリースと、実装と比較する有効性比較部を含むことを特徴とするシステム。
【請求項１７】
請求項１３記載のシステムにおいて、古いインターフェースと、リリースと、実装とは、新しいインターフェースと、リリースと、実装と置き換えられることを特徴とするシステム。
【請求項１８】
請求項１３記載のシステムにおいて、インターフェースと、リリースと、実装との中の少なくとも一つは、ビジネスプロセスを拡大すること許容することを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムにおいて、ビジネスプロセスを拡大するために、インターフェースは、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
【請求項２０】
請求項１８記載のシステムにおいて、ビジネスプロセスを拡大するために、リリースは、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
【請求項２１】
請求項１８記載のシステムにおいて、ビジネスプロセスを拡大するために、実装は、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
【請求項２２】
ビジネスプロセスを設計するための情報を、プロセス設計者から受信するように構成されたプロセス設計者向け対話部と、
プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含む、ビジネスプロセス管理システムであって、
プロセス形成部は、ビジネスプロセスを生成又は修正するために、異なる複数のビジネスアプリケーションの関数を組み合わせ、関数は、ビジネスプロセス管理システムの全体の有効性を向上させるために選択されることを特徴とするビジネスプロセス管理システム。
【請求項２３】
請求項２２記載のシステムにおいて、ビジネスプロセスは、インターフェースを実装するために利用可能な計算機に基づき、より小さなビジネスプロセスに分割することが可能であることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本ＰＣＴ出願は、優先権主張のために、２００５年６月１日出願の正式な米国特許出願番号１１／１４１，７１０と、２００４年９月２４日出願の正式な米国特許出願番号６０／６１２，６１５に依存している。これら二つの出願の内容は、以下で記述するように、全体として、参照によって本明細書に組み込まれるものである。
【０００２】
２００５年６月１日出願の正式な米国特許出願番号１１／１４１，７１０は、２００３年３月２５日出願の出願番号１０／３９６，１３４、現在は、米国特許番号６，９２０，４７４の一部継続出願であり、これは、２００２年３月２５日出願の米国仮出願番号６０／３６６，５４７に対して優先権を主張するものであり、その内容についても、全体として、参照によって本明細書に組み込まれるものである。本ＰＣＴ出願は、優先権主張のために、２００３年３月２５日出願の正式な米国特許出願番号１０／３９６，１３４、現在は、米国特許番号６，９２０，４７４、あるいは、２００２年３月２５日出願の米国仮出願番号６０／３６６，５４７に依存するものではない。
【０００３】
本開示は、著作権保護の対象となる情報を含んでいる。何人かによる、特許情報開示又は特許のファクシミリによる複製に対しては、それは米国特許商標局の資料又は記録に現れるものであるため、著作権の所有者は異議を唱えるものではない。しかし、著作権の所有者は、発明の理解を容易にするために提供された画面表示内の全ての著作権を含む、ここで説明した発明に関する、それ以外の全ての著作権を保持している。
【０００４】
発明の背景
２．発明の分野
本発明は、一般的に、ビジネスプロセス管理に関し、特に、計算機ベースのビジネスプロセス管理のための方法及びシステムに関するものである。
【背景技術】
【０００５】
３．一般的な背景及び関連する従来技術の説明
情報の自動処理は、ある種のタスクのコストを大幅に削減するため、ビジネスに対して多大なる恩恵をもたらすようになってきた。各企業は、政府機関、営利事業あるいは非営利組織に関わらず、情報を管理するための運用上の必要性に迫られている。
【０００６】
このような情報は、顧客の獲得、注文の入力、製品の発送、顧客への請求、請求金の回収、従業員と業者への支払い、製品の注文、在庫の監査ならびに、例えば、営利事業の場合の従業員、顧客及び納入業者との間のトランザクション記録の保存に用いられる。
【０００７】
情報は、通常の事象の経過の中で、各組織の内部運営モデルに従い、ソフトウェア、計算機ハードウェア及びデジタルネットワークを用いて獲得され、処理され、連結される。
【０００８】
残念なことに、情報の自動化処理は、特に、企業内でのデータストアが不正確となる場合には、ビジネスに対するいくつかの問題を有することとなる。不正確な情報を自動処理することは、企業の営みとするビジネスと、企業自身の運営に対して多大なコストをもたらすこととなる。さらに、望ましくない結果を正すための時間、労力、出費は、組織の資源へ大きな影響を与える。
【０００９】
組織のエラーに対する影響の典型的な例として、以下に示すものがある。
（１）同一の提供物でありながらその複数のコピーを、受取人が郵便で受け取ると、（ａ）発信人は、郵便代と印刷代を無駄にし、（ｂ）受取人は、無駄による悪影響を受け、結果として商品の注文を取りやめてしまう。
（２）郵便システムとその他の信書と荷物の発送人が、発送人の郵送物の多くの割合を、意図した受取人に対して届けることができないと、（ａ）商品は時間どおり配達されず、不正確な郵送先のために発送人に返送されてしまい、（ｂ）正確な郵送先を決めて、商品を再梱包し再発送するための労力が高くつき、（ｃ）請求書が返送され、支払いが時間通りに行われなかったり、まったく支払われることなく、（ｄ）正確な郵送先を決めて、請求書を再発送するための労力が高くつき、（ｅ）顧客は、粗末なサービス内容に嫌気がさして、結局、他の業者が見つかれば、その業者に鞍替えし、最終的に、（ｆ）顧客サービス、請求、集配、発送の全てに関して、それらの機能を全うするために更なる資源が必要となる。
（３）個々の運営部門が、顧客に関する不正確な情報を抱えてしまうと、（ａ）情報を全社的な労力が不完全となり、コスト高となり、その労力を長い期間にわたり使い続けることになり、（ｂ）各運営部門でのエラーは、それらが連結された際に、全体のエラー率を上昇させてしまい、意味のある分析能力を阻害してしまう。
（４）不完全で不正確な情報は、データウェアハウス、データ市場、運営データの格納、顧客情報ファイルと、ＣＲＭ、ＥＲＰ、ＳＣＭのために集中化されたデータストアや他の集中化されたプロセスにおいて連結され、（ａ）個々の顧客と、顧客のセグメントの市場価値とその潜在購買力の予測が不正確となり、貴重な市場機会を失い、（ｂ）顧客サービスは適切なサービスを提供できなくなり、結果として、サービスに対する不満足が原因で顧客を失い、（ｃ）詐取をすぐに見破ることができず、企業として高額の詐欺に遭ってしまう。
（５）運営部門が、正確な税金管轄権と税金の割当を決定することができず、（ａ）企業は、顧客に対して正しい税金を請求できず、正しい当局に正しい金額を支払うことができず、（ｂ）課税当局は、企業から適正な税金を徴収できず、（ｃ）消費者は、穂なりよりも高額の税金を支払い、（ｄ）法人として、税金管轄権者と顧客に不利益を与えてしまう。
（６）顧客は、不満を覚え、競合する他のサービスに乗りかえてしまう。
【００１０】
通常の大量郵送を例にすると、企業収入に対する誤った情報の影響は、容易に説明できる。当然、これは一例に過ぎないが、上述したものは、企業収入に対する他の多くの潜在的な影響を特定したものである。
【００１１】
会社は、様々な方法で、顧客情報を生成する。企業の一部門が収集する情報は、組織の他部門によって、その機能を果すためにしばしば利用される。もし、会社が小売販売会社やカタログ販売会社である場合には、顧客情報は、小売拠点やカタログ拠点において、会社のデータストアに入力されるか、インターネットを介して入力される。これらの３つの入力拠点の各々は、情報が不正確であったり、既存の情報の複製であったりする場所を示している。情報を収集し、処理し、連結する際に、情報の正確さになにがしかのエラーが発生すると、企業内の複数の機能の有効性に影響が及ぶ可能性がある。
【００１２】
顧客は、小売の段階で正確に入力された顧客情報を有することが可能である。その後、顧客は、カタログ部門を通して商品を購入する。その時点で、データ入力の専門家が、例えば、顧客名をデータストアに不正確に（例えば、人名の姓をスペルミスして）入力する可能性がある。さらに他の状況として、顧客は、インターネットを介して、商品を購入する場合もある。その際、顧客は、３回目の本人情報を提示することが求められる。この状況で、顧客が、姓を不正確に入力することも考えられる。従って、この例では、顧客情報は、３度入力されるが、そのうち２度は、不正確なものとなる。
【００１３】
格納された顧客のデータにより、会社は、カタログの最新バージョンを印刷し、その顧客に向けて発送する。対象となる顧客については、ビジネスデータストアに３つの独立したデータ項目が存在するため、その顧客は同一のカタログの３冊を受け取ることになる。容易に類推できることであるが、会社のデータストア中のエラーのために、カタログを印刷し郵送する会社の出費は、単純に計算すると３倍となる。
【００１４】
データ品質の問題は、多くのビジネスに存在する。従来技術では、データ品質の問題を最小限にとどめるために、いくつかの手法が提案されている。
【００１５】
データ品質に関する従来の方法には、ビジネスに対するベンダに特有な、又はアプリケーションに特有な様々な関数が含まれている。特に、会社のデータを自動的にレビューし、エラーを特定し、さらに、いくつかの場合には、これらのエラーを訂正するために、データ品質関数が設計されている。通常、異なるビジネス形態に柔軟に対応して、これらを行えるように、データ品質関数は、ビジネスの個々のニーズを満足する上で、調整可能ないくつかの設定を有している。
【００１６】
通常、ビジネスは、ビジネスが最も利益をもたらすように、特定のデータ品質関数に対する標準的な設定の組み合わせを持っている。例えば、これらの設定は、データストア中のエラーを削除し、データの９５％が正確となる（きわめて良好な結果と思われる）状態になるまで、データストアを“クリーン”にする。
【００１７】
会社が複数の部門を含み、その各々が、重複する情報を格納した独立したデータストアを有する場合には、データ品質に関する問題は複雑化する。
【００１８】
上記の例では、会社は、３つの事業部門、すなわち、小売部門、カタログ部門、インターネット部門を有し、その各々が、独立した顧客情報データストアを含むものであった。各部門が、そのデータを“クリーン”にしようとする場合、通常、各部門は、データ品質ソリューションを購入し、そのソリューションを内部に適用しようとする。各部門が、９５％の正確さをもつデータストアを構築しようと試みるならば、その結果は、きわめて良好といえよう。
【００１９】
さらに、会社が、連結したデータストアを構築しようとする場合には、各データストアのエラーが相乗して増えてしまうという問題が発生する。このような場合、各データストアは、同一のエラーを有するものとなる。組み合わせたデータストアは、０．９５×０．９５×０．９５＝０．８５７３７５の正確さを有するものとなる。すなわち、結果として構築されるデータストアは、概ね１５％のエラー率となり、これは、組み合わされる前の各データストアの３倍のエラー率となる。よく認識されているように、この問題は、４つ以上のデータストアを組み合わせる場合に、特に顕著となる。
【００２０】
さらに、ベンダに特有な、あるいはアプリケーションに特有なデータ品質関数は、エラーの検出及び／あるいはエラーの訂正に対して、固有の利点と欠点とを併せ持つため、アプリケーションがデータを転送する際に、不注意から、エラーが企業規模に広がってしまう可能性もある。このような状況は、企業全体でのエラー率の倍数的な増加を引き起こすような望ましくない結果をもたらすことになる。
【００２１】
データ品質に対するソリューションは、ビジネスの運営に対して有益なものである一方、会社が、全社規模や事業部門のグループ毎に、複数の事業部門のために集中したデータストアを構築しようとする場合には、そのソリューションには、能力的な限界もある。
【００２２】
さらに、事業判断で、集中したデータストアを“クリーン”にするプログラムを開発することを希望する場合には、現行制度では、適切なソフトウェアを開発するために会社を保有することが求められる。ソフトウェアの開発は、いわゆる、ソフトウェア開発ライフサイクル（ＳＤＬＣ）に従う必要がある。
【００２３】
例えば、データ品質プロセスなどのビジネスプロセスの開発者が採用する既存のＳＤＬＣは、時間と資源に関してコストを要する、ライフサイクルの段階ごとにインターロックを設けて順序に従って進めるアプローチとなる。例えば、既知のＳＤＬＣは、順序に従って実行される以下の段階を含んでいる。すなわち、要求定義、全体設計、詳細設計、開発、テスト、品質保証チェック、試行、実装及び保守、修正の段階である。さらに、プロジェクトが段階を進む毎に、異なるスキルを持つ人員やサービスプロバイダが必要となる。例えば、要求分析／定義とテストの段階では、システムエンジニア又はビジネス分析専門家が必要となるが、設計段階では、ソフトウェアエンジニアが必要となる。プロジェクトが段階を引き継ぐことより、最終製品の中にエラーが組み込まれてしまい、プロジェクト期間の長期化やオーバーヘッドの増加、さらに、多数のプロジェクト人員投入により、コスト高となる。
【００２４】
さらに、設計作業の開始を承認するために、要求定義段階は任意に停止（すなわち、仕様“凍結”）させることもあるため、既知のＳＤＬＣは、ソフトウェアプロダクトに関する顧客の進化する要求に対して、柔軟性に欠け、その要求を十分に反映することが難しい。
【００２５】
さらに、従来技術では、ビジネス運営の中で様々なソフトウェアのアップグレードを管理することができないという問題もある。現状では、ソフトウェアをアップグレードする場合には、ビジネス運営上は、単に、アップグレードをインストールするだけである。
【００２６】
アップグレードは、少なくとも二つのレベルで問題となる。一つは、アップグレードは、ビジネス運営のネットワークの一部でのみ行われるという点である。従って、限られた数のビジネス部門のみは、アップグレードの恩恵を受けられるが、その他はそれが不可能となる。二つ目の問題は、アップグレードによって、稼働中のネットワークに対して望ましくないインパクト、さらに、ある場合には破局的なインパクトを与えてしまうことが、珍しくないということである。
【００２７】
従来技術には、上述したような欠点があり、その解決策が求められている。
【発明の開示】
【発明が解決しようとする課題】
【００２８】
発明の概要
従って、本発明の特徴の一つは、従来技術における多くの欠点を解決する、ビジネスプロセス管理システムとその方法を提供することである。
【００２９】
企業ビジネスプロセス管理システムは、一つ又はそれ以上の数のクライアントに接続された企業ビジネスプロセスサーバと、ルータと、インターフェースモジュールとを含んでいる。特に、本発明の企業ビジネスプロセス管理システムの少なくとも一つの実施例は、少なくとも一つのクライアントからデータを受信することが可能な企業ビジネスプロセスサーバと、企業ビジネスプロセスサーバからアクセス可能な少なくとも一つのルータと、少なくとも一つのルータからアクセス可能な少なくとも一つのビジネスプロセスとを含んでいる。企業ビジネスプロセスサーバは、ルータを介して少なくとも一つのビジネスプロセスにアクセスし、クライアントデータの少なくとも一つに関して少なくとも一つのビジネスプロセスを実行し、少なくとも一つのビジネスプロセスの関数として、ビジネスプロセス出力データを生成するように構成されている。さらに、企業ビジネスプロセス管理システムは、企業ビジネスプロセスサーバからアクセス可能で、プロセス設計者対話画面を出力するために企業ビジネスプロセスサーバとともに動作するインターフェースを含んでいる。プロセス設計者対話画面は、少なくとも一つのビジネスプロセスに関する命令を入力し、プロセス情報データを生成し、企業ビジネスプロセスサーバにプロセス情報データを送るように構成されている。さらに、企業ビジネスプロセスサーバは、プロセス情報データに応じて、ビジネスプロセスのための命令セットをビルドする。
【００３０】
本発明の少なくとも一つの実施例では、企業内に存在するアプリケーションデータとトランザクションデータの定量的および定性的な側面について、決定し、分析し、拡張し、報告する企業データ品質管理システム及びその方法が提供される。
【００３１】
本発明の他の面として、データエラーの発生場所を特定するために、データ処理の様々なレベルでエラー報告が行われる。
【００３２】
また、本システムと方法は、様々なグラフィック表示によって、エラーが発生している個所に関する情報を提示し、ビジネスが、将来発生する可能性のあるエラーを回避しエラーを訂正（あるいは、少なくとも最小にとどめる）するようにしたものである。
【００３３】
さらに、本発明の実施例は、ＳＤＬＣの期間を短くして、プロジェクト開発期間を短縮化しプロセスを簡素化するように、既知のＳＤＬＣステップを組合せて、プロジェクト開発期間を短縮し、プロセス自身を簡素化し、以って、時間とコストの大幅な削減をもたらすものである。
【００３４】
例えば、一実施例においては、要求定義、全体設計、詳細設計及び開発の各段階は、対話的にプロセス設計者を活用することにより、一つの段階の中で同時に進行させることが可能である。
【００３５】
さらに、本発明の一実施例においては、上述したように定義され実装されたビジネスプロセスに対してテストデータを適用することにより、既知のＳＤＬＣのテスト、品質保証および試行の各段階を、単一の段階の中で同時に進行させることが可能である。
【００３６】
さらに、本発明の一実施例においては、ＳＤＬＣ活動の各々は、単一のプロダクトによって提供される一つのプロセス設計者インターフェースに対し、ユーザが対話処理を行うことにより、実行される。
【００３７】
さらに、本発明の一実施例においては、ソフトウェアエンジニアは、プロジェクトの進行中はコーディングを要求されない。
【００３８】
さらに、本発明の実施例は、複数のソフトウェアアプリケーションの関数を再利用することを可能とし、さらに、ユーザが、ビジネスプロセスの新しい関数を定義したり、その定義を修正することを可能とする。少なくとも一つの実施例においては、これらの関数の各々は、関数レジストリ又は関数ライブラリ中に保存され、さらに、その後、他のビジネスプロセスを定義したり、そのビジネスプロセスを修正するために、ビジネスプロセスサーバで利用することが可能となっている。
【００３９】
さらに、本発明の実施例は、全体プロセスの効率を更に向上させるために、“最善の”ビジネスプロセスを組み合わせて使えるように、企業に提供する。多くの多様なビジネスアプリケーションの各部を組み合わせて、新たなビジネスプロセスを形成したり修正するが、各部は、特定の効果や、全体の効率を更に向上させることにつながる判断基準に照らし合わせて、選択される。例えば、複数のデータ品質プロセスは、その各々は、同一のビジネスアプリケーション又は複数のビジネスアプリケーションから得られるが、それらは、複数のデータ品質ビジネスアプリケーションの各々を単独に適用する場合よりも、全体のデータに対してより高い割合のものが正確となるように、単一のデータ品質ビジネスプロセスで構成されるように定義される。
【００４０】
本発明の実施例の更に他の側面としては、バージョン管理のためのグラフィック表示部分が提供されることであり、特定のベンダ製品、個々の関数、およびシステム並びにユーザ設定の実装のインターフェース、リリース、実装の管理を容易にするものである。
【００４１】
本発明の他の側面については、以下の説明と付属の図面とから明確なものとなる。
【実施例】
【００４２】
発明の詳細な説明
本出願は、２００２年３月２５日出願の米国仮出願番号６０／３６６，５４７、名称“企業データ品質管理のための方法およびシステム”に対して優先権を主張するものであり、その開示は、全体として、参照によって本明細書に組み込まれるものである。
【００４３】
本発明は、その具体的な実施例に関連付けて説明するものであるが、それらの実施例は、本発明を限定しようとするものではない。しかし、以下で説明する例に対する、代替、修正及び等価なものは、本出願に付した請求項により一部が定義されている本発明の主旨と範囲の中に含まれている。
【００４４】
本発明の少なくとも一実施例において、企業ビジネスプロセス管理システム及び方法が与えられている。少なくとも一実施例は、企業データ品質管理システムの実施例の様態で提示されているが、ここで教示される内容は、データ品質管理に含まれるビジネスプロセスを包含したり、それに付加される任意の企業ビジネスプロセス管理システムに対し、より一般的に適用可能なものである。本システムと方法は、例えば、企業内の様々なアプリケーションに存在するデータエラーを検出し、訂正し、報告するためのステップを含む、ビジネスプロセスにおけるステップを定義し、構築し、実行するためのサーバとルータを利用するものである。企業は、企業組織を構成する多くの地理的あるいは物理的な位置に配置された、複数の計算ノードを含んでいる。これらの様々な計算ノードは、企業全体でのノード間通信のために、次のものに限定されるものではないが、イントラネット、インターネット、専用電話回線やデータ回線、無線ネットワークなどのネットワークや、それらを組み合わせたネットワークを利用して相互接続されている。とりわけ、このような形で接続された企業内のユーザは、企業アプリケーション、プロセス、関数が実在するノードの物理的な位置にかかわらず、これらの企業アプリケーション、プロセス、関数に対して、トランスペアレントで仮想的なアクセスを獲得できる。
【００４５】
図１は、本発明の少なくとも一実施例の、企業ビジネスプロセス管理システムで実装あるいは利用されるシステムの説明図である。図１において、企業ビジネスプロセス管理システム１００は、次のものに限定されるものではないが、抽出、変換およびロード（ＥＴＬ）クライアント１０２と、企業アプリケーション統合（ＥＡＩ）クライアント１０３と、企業リソース計画（ＥＲＰ）クライアント１０４と、顧客関係管理（ＣＲＭ）クライアント１０５などの、一つあるいはそれ以上の数の付加されたクライアントに接続された、企業ビジネスプロセスサーバ１０１とを含んでいる。また、企業ビジネスプロセスサーバ１０１は、サプライチェーン管理（ＳＣＭ）クライアント（不図示）にも接続されている。付加された各クライアントは、少なくとも一つのビジネスアプリケーションを含んでいる。さらに、企業ビジネスプロセスサーバ１０１は、情報データストア１０６ならびに単純ファイル格納１０７と、一つあるいはそれ以上の数のメインフレーム１０８と、インターネット１０９にも接続されている。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、コールセンタ端末１１０と、データ入力端末１１１と、ローカルユーザ端末１１２と、リモートユーザ端末１１３にも接続されている。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、企業データ品質サーバ、もしくは、企業データ品質管理の定義と実行が可能となるように構成された企業ビジネスプロセスサーバである。
【００４６】
企業ビジネスプロセスサーバ１０１は、付加されたクライアント１０２〜１０５と、データストア１０６、１０７と、メインフレーム１０８、インターネット１０９及び端末１１０〜１１３を含む企業内ノードとの間で、次のものに限定されるものではないが、相互接続されたネットワークからなるインターネットなどのネットワークや、ローカル・エリア・ネットワーク（ＬＡＮ）や、広域ネットワーク（ＷＡＮ）や、これらのいずれかを含むイントラネットや、ＰＳＴＮ、無線ネットワークあるいはそれらの任意の組み合わせを含む様々な通信ネットワークを介して通信を行う。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、トランザクションに関するデータと、最小限のエラー報告を送受信するために、一つあるいはそれ以上の数のこれらの企業ノードとの間で通信を行う。
【００４７】
通常、クライアント１０２〜１０５は、次のものに限定されるものではないが、サーバ又はクライアント・サーバ・アプリケーションのクライアント側などの、データを送信又は受信可能な任意のデータソースである。クライアントは、例えば、一つあるいはそれ以上の数の、ビジネスアプリケーションプロセス又は企業機能に相当するものである。クライアントは、企業ファイアーウォールの内側又は外側に置かれる。
【００４８】
ＥＴＬクライアント１０２は、組織が一つのデータソースからデータセットを抽出し、そのデータを他のデータソースにマッピングし、必要に応じてデータを変換し、データソースを連結し、一つ又は複数の送り先ソースにそのデータをロードできるように構成されている。このようなＥＴＬクライアント１０２は、基本的にバッチ処理で構成され、データが一つのソースからその送り先に転送される際に、データの変換とマッピングが行われるようなハブ型アーキテクチャを有したものとなっている。
【００４９】
ＥＡＩクライアント１０３は、企業トランザクションが、組織内又は企業内の一つのアプリケーションから他のアプリケーションへ転送され、さらに、一つの組織からＥＡＩネットワーク上に存在する相手の組織へ転送されるように構成されている。
【００５０】
ＥＲＰクライアント１０４は、計画、製造、販売及びマーケッティング活動を含む、ビジネス又は企業の複数のファセットを統合するように構成されている。このＥＲＰクライアント１０４は、ハブ型アーキテクチャを用いており、これらの活動に関連したデータをマッピングし変換する能力をもっている。
【００５１】
ＣＲＭクライアント１０５は、ヘルプデスク・ソフトウェアと、販売／マーケッティング／電子メールの統合ソフトウェアとＷＥＢ開発アプリケーションなどの、様々な電子的なツールを用いて、組織／部門とその顧客との関わりの多様な側面を管理するように構成されている。このＣＲＭクライアント１０４は、ハブ型アーキテクチャを用いており、それに関連したデータをマッピングし変換する能力をもっている。
【００５２】
ＥＴＬクライアント１０２、ＥＡＩクライアント１０３、ＥＲＰクライアント１０４及びＣＲＭクライアント１０５を含む、付加された各企業クライアントは、各々、サーバアプリケーションの内部で動作する、ベンダ固有のアプリケーション品質チェックプロセスを含んでいる。少なくとも一実施例では、企業ビジネスプロセスサーバ１０１は、ＥＴＬクライアント１０２、ＥＡＩクライアント１０３、ＥＲＰクライアント１０４及びＣＲＭクライアント１０５を含む付加された企業サーバとの間と情報を交換するための、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）インターフェースを含んでいる。企業ビジネスプロセスサーバ１０１と、付加されたクライアントとの間で交換される情報には、例えば、データ品質をチェックするプロセスなどの、一つあるいはそれ以上の数の特定のプロセス又は一つのプロセス（又は、複数のプロセス）の関数を実行するための、企業ビジネスプロセスサーバ１０１から発行されたコマンドあるいは要求が含まれている。また、交換される情報には、アプリケーション品質チェックプロセスあるいは関数により出力されたデータが含まれている。ＴＣＰ／ＩＰ通信インターフェースにより、企業ビジネスプロセスサーバ１０１は、企業ネットワーク上の任意のアプリケーションに、直接、接続することが可能となる。さらに、ＴＣＰ／ＩＰ通信インターフェースにより、企業ビジネスプロセスサーバは、例えば、インターネットを用いる外部アプリケーションに接続することが可能となる。
【００５３】
少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、情報データストア１０６と単純ファイルデータストア１０７とから情報を取得する。特に、企業ビジネスプロセスサーバ１０１は、情報データストア１０６と単純ファイルデータストア１０７に含まれるデータへのアクセスや、格納あるいは選択的な検索のためのデータストアスクリプトなどのアプリケーション命令を含んでいる。データストアスクリプトは、例えば、ＳＱＬバージョン７．０のデータストア管理システム問い合わせ言語ならびに（ＣｏｌｄＦｕｓｉｏｎ（登録商標）データストア管理システムの）Ｔｒａｎｓａｃｔ（登録商標）ＳＱＬに対応したプログラム文の形式で実装されている。次のものに限定されるものではないが、Ｏｒａｃｌｅ（登録商標）あるいはＩＢＭ ＤＢ２（登録商標）から利用可能な実装形式を含む、他のデータストアの実装も可能である。
【００５４】
他の実施例において、企業ビジネスプロセス管理システム１００は、企業ビジネスプロセスサーバ１０１と情報データストア１０６と単純ファイルデータストア１０７とに格納された情報にアクセスするために、これらに接続された企業データベースサーバ（不図示）を含んでいる。情報データストア１０６は、企業アプリケーション、あるいは、例えば、ＳＱＬなどの、階層的データストア管理システムフォーマットに対応して編成されたトランザクションデータを含んでいる。単純ファイルデータストア１０７は、企業アプリケーション、あるいは、非階層的トランザクションデータを含んでいる。
【００５５】
また、企業ビジネスプロセスサーバ１０１は、一つあるいはそれ以上の数の企業内のメインフレーム１０８に接続されている。メインフレーム１０８は、例えば、給与計算や会計処理システムなどの、組織あるいは企業アプリケーションを含んでいる。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、専用電話回線（ｄｅｄｉｃａｔｅｄ  ｌａｎｄｌｉｎｅｓ）、あるいはこれらを組み合わせたものを利用して、メインフレーム１０８との間で通信を行う。
【００５６】
さらに、少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、ＬＡＮ、ＷＡＮ、専用電話回線、イントラネット、インターネット、無線ネットワーク、あるいはこれらを組み合わせたものを介して、コールセンタ端末１１０、データ入力端末１１１、ローカルユーザ端末１１２及びリモートユーザ端末１１３などの一つあるいはそれ以上の数の端末に接続されている。これにより、企業ビジネスプロセスサーバ１０１は、一つあるいはそれ以上の数の端末１１０〜１１３から、トランザクションデータを受信することが可能となる。
【００５７】
さらに、企業ビジネスプロセスサーバ１０１は、例えば、一つあるいはそれ以上の数の端末１１３でインターネット１０９を利用するユーザと通信する。少なくとも一実施例では、企業ビジネスプロセスサーバ１０１は、さらに、ウェブブラウザ、又は、この目的のためのシンクライアントを含んでいる。ウェブブラウザは、データを表示し、例えば、インターネット又はイントラネットなどのネットワークを介して、他のコンピュータと通信することが可能である。ウェブブラウザは、たとえば、（コンピュータマウスなどの）ポインティングデバイスにより選択されたか、ユーザによりキー入力されたハイパーリンクを介して、情報をたどる方法をユーザに提供する。ウェブブラウザは、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）あるいはファイル転送プロトコル（ＦＴＰ）などのプロトコルを用いて、例えば、ＨＴＭＬ形式文書、平文形式文書、グラフィック画像およびＸＭＬ文書などの様々なコンテンツを持つデータを伝送し、表示装置を介してユーザに提示する。
【００５８】
図２は、本発明の少なくとも一実施例において、企業ビジネスプロセスサーバ１０１を実装するために用いられる計算機プラットフォームを示すものである。図２に示すように、装置２００は、プロセッサ２１０、メモリ２２０、システムインターフェース２３０、ユーザインターフェース２４０及び、構成要素２１０〜２４０を互いに接続し、これらの構成要素間の連携と通信を可能とする通信／データ／制御バス２５０を含んでいる。
【００５９】
メモリ２２０は、ユーザのニーズや、企業ビジネスプロセス管理システムにつながるシステムに依存した様々な構成を用いて実装されている。システムインターフェース２３０は、例えば、付加された企業サーバから供給されるトランザクションデータなど、企業ビジネスプロセス管理システムにより利用されるデータを提供する装置との間で、装置２００の通信が可能となるための、ハードウェアとソフトウェアの両方を含んでいる。
【００６０】
プロセッサ２１０は、メモリ２２０から取り出した命令にもとづき、他の構成要素２２０〜２５０の動作を制御する。これらの命令は、ここで説明する企業ビジネスプロセス管理システム１００及び方法の動作の一部又は全部を指示するソフトウェアコードを含むものであるか、そのソフトウェアコードとして実装されている。メモリ２２０は、このコードを含み、さらに、企業ビジネスプロセス管理システム１００により利用されたり生成されるデータの格納エリアを含んでいる。プロセッサ２１０は、命令を取り出し、それを逆符号化し、例えば、メモリ２２０との間でデータを転送したり、システムインターフェース２３０もしくはユーザインターフェース２４０とを組み合わせた作業など（例えば、情報の入力又は出力）を行うために、他の構成要素１２０〜１５０を起動したり、これらの構成要素に対して命令を発行する。
【００６１】
プロセッサ２１０は、実際には、一つ以上のプロセッサから構成されている。プロセッサ２１０は、メモリ２２０から取り出した命令にもとづき、他の構成要素２２０〜２５０の動作を制御する。この制御は、例えば、中央処理ユニットまたは他の同種の装置において、プロセッサ２１０で実現することが可能である。同様に、プロセッサ２１０とメモリ２２０は、ユーザインターフェース２４０が、ローカル端末１１２とリモート端末１１３などのユーザ端末に実装され、端末画面上にグラフィカル・ユーザ・インターフェース（ＧＵＩ）を含むことを可能とする、ネットワークに接続された一つあるいはそれ以上の数のサーバにより実装されている。
【００６２】
ユーザインターフェース２４０は、例えば、端末画面、キーボード、マウス、プリンタ等と連携するためのハードウェア及びソフトウェアを含んでいる。さらに、ユーザインターフェース２４０は、ユーザに情報を出力し、ユーザから情報を入力するための、不図示のスピーカとマイクを含んでいる。ユーザインターフェース２４０は、プロセッサ２１０と連携して動作し、以下に説明する操作を行うため、メモリ２２０に格納されて、プロセッサ２１０により用いられるソフトウェアプログラムと対話的にユーザが作業を行うことを可能とする。
【００６３】
企業ビジネスプロセスサーバ１０１は、例えば、適切にプログラムされた汎用コンピュータの一部として実装することが可能である。このシステムは、例えば、ＡＳＩＣ内で物理的に区別されたハードウェア回路として実装される。従って、システム１００の特定の形態は、ここで説明する実施例とは異なる場合もある。例えば、企業ビジネス管理システム１００は、例えば、パーソナルコンピュータなどの汎用コンピュータの上に実装されるものとして説明することもできるが、このシステムは、ネットワーク環境で実装し、システムを実現するソフトウェアを、一つあるいはそれ以上の数のサーバに格納することも可能である。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１により、ユーザ（例えば、管理者ユーザ）は、サーバ１０１を停止させることなく、ビジネスプロセスのプロセスやステップを追加、修正あるいは削除することが可能となる。さらに、企業ビジネスプロセスサーバ１０１は、サーバアレイまたはクラスタ環境に移行しても容易に機能し、大容量のデータを処理できるように拡張することが可能となっている。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）ＮＴで構築されたパーソナルコンピュータプラットフォームを含んでいる。
【００６４】
少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、企業ビジネスプロセスサーバ１０１が以下で説明するビジネスプロセス操作を実行するように構成されるように、一連のプログラムされた命令を含む、一つあるいはそれ以上の数のアプリケーションプログラムを含んでいる。図３において、企業データ品質アプリケーション３００は、コアアーキテクチャ３０１、あらかじめ定義された表示ツール３０２、開発者向けキット３０３及び、ビジネス分析者向けインターフェースであるインターフェースモジュール３０４を含んでいる。コアアーキテクチャ３０１は、アプリケーションデータもしくはトランザクションデータを、一つあるいはそれ以上の数のデータソースから取得し、取得されたデータにエラーがないかを分析し、検出されたエラーを記録し、少なくとも一つのエラー報告を、特定の要求された表示形式で生成するための一連のプログラムされた命令を含んでいる。企業データ品質アプリケーション３００は、アプリケーションデータの中の特定の種類のアプリケーションデータを分析するように設計された、一つあるいはそれ以上の数の関数を含んでいる。さらに、企業データ品質アプリケーション３００は、特定のアプリケーションの品質チェックプロセス、もしくは、一つあるいはそれ以上の数のアプリケーションの内部プロセスの複数の関数の特定の集合の実行を要求するために、ＥＴＬサーバ１０２、ＥＡＩサーバ１０３、ＥＲＰサーバ１０４及びＣＲＭサーバ１０５を含む付加された企業サーバの中の一つあるいはそれ以上の数のものに対して要求を発行する命令を含んでいる。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、コマンド／要求（例えば、ファンクションコールもしくはプロシージャコール／リモートプロシージャコール（ＲＰＣ））を送り、ＴＣＰ／ＩＰインターフェースを介して、対応するサーバからの応答を受信する。コアアーキテクチャ３０１は、マルチスレッド対応していない任意のレガシーアプリケーションを、マルチスレッドで実行可能とする形に変換するための、マルチスレッド管理レイヤを含んでいる。
【００６５】
一実施例において、ビジネス分析者向けモジュール３０４は、ここで説明する（例えば、ビジネス分析者向けインターフェース又はＢＡＩなどの）インターフェースモジュールを実装するための、一連のプログラムされた命令を含んでいる。これらの命令は、企業ビジネスプロセスサーバ１０１による実行に関して、ユーザによる企業ビジネスプロセス管理システム１００との対話処理を実現するための対話手段を、企業ビジネスプロセスサーバ１０１に備えさせるものである。特に、ビジネス分析者向けモジュール３０４は、ビジネスプロセスの一つあるいはそれ以上の数のステップを実行する際に、例えば、表示を用いて、プロセスステップをグラフィカルに表示させ、企業ビジネスプロセスサーバにより実行される特定の操作を示すことを指令する命令を含んでいる。実際には、ビジネス分析者用モジュール３０４は、開発者向けキット３０３に対する上位アプリケーションである。また、ビジネス分析者用モジュール３０４は、ユーザがインターフェースモジュールに対して対話的処理を行うことにより定義されるビジネスプロセスを実装する一連の命令を、例えば、データストア１０６などのデータストアから検索し、構築し、コンパイルすることを、企業ビジネスプロセスサーバ１０１に対して指令する命令を含んでいる。
【００６６】
少なくとも一実施例においては、企業ビジネスプロセスシステム１００は、一つあるいはそれ以上の数のエラー報告の形式で、エラー情報を出力する。エラー報告は、様々な見方（ｖｉｅｗ）で表現される。例えば、予め定義された表示ツール（ｖｉｅｗ  ｔｏｏｌ）３０２は、企業ビジネスプロセスサーバ１０１に対して、データソースのエラーの数を含むエラー報告を管理者向けの見方で出力する命令を備えている。様々な見方と報告の一例を、以下で説明する。
【００６７】
開発者向けキット３０３は、アプリケーションプログラム・インターフェース（ＡＰＩ）を含んでおり、このＡＰＩは、企業ビジネスプロセスサーバ１０１のユーザや、システムの指定サードパーティに対して、特定のデータ、ソース（プログラム）、エラー症状を分析するための、カストマイズされた表示ツールを提供、利用したり、予め定義された表示ツール３０２によってカストマイズされた報告を提供したりするために、有用なものである。企業ビジネスプロセスシステム１００でサポートされる「見方（ｖｉｅｗ）」の数には、制限がない。
【００６８】
少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、クライアントサーバ型のアーキテクチャに対応して実装されている。企業データ品質アプリケーション３００を含むプログラムされた命令は、次のものに限定されるものではないが、いわゆるマイクロソフト（登録商標）Ｃに準拠した、可搬性のあるソースコードで実装されている。企業ビジネスプロセスサーバ１０１は、クラスタとサーバアレイをサポートするために、カプセル化されたサーバ設計に従って実装されるものであってもよい。さらに、企業ビジネスプロセスサーバ１０１は、大容量のデータを扱うための信頼性と拡張性を確立する目的のために、負荷分散と高可用性のためのサードパーティの技術を利用できるように、ベンダ非依存のアーキテクチャに従って実装されている。さらに、企業ビジネスプロセスサーバ１０１は、“サンドボックス技術”（すなわち、例えば、分離したスレッドによって各セッションを取り扱うための、プロセスの同期技術と分離技術とを組み合わせた技術）を活用することにより、マルチスレッドに対応していない、あるいは、スレッド安全でもない旧来の技術を、迅速かつ信頼できる方法でリアルタイム並列処理環境に対応させることが可能となる。
【００６９】
図４は、本発明の少なくとも一実施例における、データソースとデータ送り先、プロダクトおよびプロセスとの間の詳細な関係を示す機能ブロック図である。図４に示すように、企業ビジネスプロセスサーバ１０１は、一つあるいはそれ以上の数のデータソース／データ送り先３０５との間で、企業アプリケーションあるいはトランザクションデータを受信し送信する。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、エラーを検出した後、訂正したデータを、データデータソース／データ送り先３０５（例えば、データソース／データ送り先１からＫ）に送る。さらに、企業ビジネスプロセスサーバ１０１は、一つあるいはそれ以上の数のプロダクト（例えば、プロダクト１からＭ）から、プロセス入力を受信する。プロダクト３１５は、一つの関数あるいは複数の関数の組を含んでいる。少なくとも一実施例においては、一つの関数は、単一の値、もしくは複数の値の組を返すライブラリの一つのルーチンである。さらに、企業ビジネスプロセスサーバ１０１は、例えば、ここで説明するデータ品質保証関数、を実行するための、一つあるいはそれ以上の数のプロセス３１０（例えば、プロセス１からＮ）を含むものであるか、それらにアクセスするものである。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、各プロセス３１０に関して、個々のエラーログ３２５を提供する。各プロセス３１０の結果は、何らかの生成されたエラーログ３２５を含むものであり、ログデータストア３２０を用いて、格納、保持されるもの（図５で説明するデータストア１６０）である。
【００７０】
企業ビジネスプロセス管理システム１００は、数に制限のない複数のベンダのプロダクトを、各アプリケーション（データソース）やアプリケーション内のデータセットための独自のプロセスの中で利用するように設計されたアーキテクチャを含んでいる。特に、企業ビジネスプロセス管理システム１００は、ビジネスプロセスの個々のプロセスステップを生成し、実行し、管理し、その結果を報告する独自のプロセスのためのフレームワークであり、複数のベンダのプロダクトを様々なプラットフォームで利用し、これらのプロダクトを企業全体で利用できるようにするフレームワークを提供する。企業ビジネスプロセス管理システム１００は、複数ベンダ環境の各ステップで処理されるデータの品質を保存もしくは記録する関数を提供する。企業ビジネスプロセス管理システム１００は、各アプリケーション（データソース）やアプリケーション内のデータセットための独自のプロセスで、複数のベンダが提供するプロダクトの利用状況を管理し、追跡し、記録することを可能とする。企業ビジネスプロセス管理システム１００は、プロセス内で異なる設定を用いて、同一又は異なるベンダが提供する同一の関数を利用できるようになっている。企業ビジネスプロセス管理システム１００は、例えば、データ品質などビジネスプロセスの特定の側面に関する、組織内の個人、ビジネスユニット又は特定の部門、並びに企業の成果について、異なる見方を提供する。企業ビジネスプロセス管理システム１００は、例えば、データ品質に関する問題などの、特別な企業上の問題を扱う上で、最も効果的な関数と設定を選択するために、異なるベンダから提供される様々な関数と設定の効果を比較することを提供する。企業ビジネスプロセス管理システム１００は、データ品質ツールやデータ品質プロセスなどの、複数のベンダから提供されたアプリケーションを迅速に実装することを提供する。
【００７１】
特に、企業ビジネスプロセスサーバ１０１は、ビジネスプロセスツールを、それらの現在の計算機プラットフォームの上や、企業ビジネスプロセスサーバ１０１の上位に置かれる同一のプラットフォームの上で利用可能とするための、ベンダに依存しないアーキテクチャを活用する。少なくとも一実施例において、企業ビジネスプロセス管理システム１００は、システム１００が定義するビジネスプロセスの中の、複数のビジネスアプリケーションの関数を再利用することを提供する。
【００７２】
図５は、少なくとも一実施例において、システムを実装するために用いられる装置を示すものである。特に、企業ビジネスプロセス管理システム１００は、企業ビジネスプロセスサーバ１０１だけでなく、データストア１６０と表示エンジン（ｖｉｅｗ  ｅｎｇｉｎｅ）１７０を含んでいる。データストア１６０は、単一のデータストアでなければならない必要はなく、複数のデータストアから構成されていてもよい。例えば、データストア１６０は、次のものに限定されるものではないが、ＯＬＡＰ（オンライン分析処理データベース）あるいは要約データベースである。データストア１６０は、次のものに限定されるものではないが、いくつかの見方４００の中の一つに従って、表示エンジン１７０がエラー報告を作成するために用いるフォーマット命令と規則とを含んでいる。例えば、表示エンジン１７０は、一連のフォーマット命令を、データストア１６０から取得し、さらに、対応する見方４００に従って、エラー報告を生成する際に、取得した命令を適用する。少なくとも一実施例においては、見方４００の各々は、フォーマット命令の特定の組に対応している。フォーマット命令は、表示エンジン１７０が、所望の見方に対応したエラー報告を含む対話画面を表示するように設計された、ハイパーテキスト記述言語（ＨＴＭＬ）又は拡張記述言語（ＸＭＬ）命令の形式で実装されている。対話画面は、例えば、ＷＷＷ画面や、ウェブブラウザアプリケーションを用いて、端末１１２又は１１３に表示することが可能な画面である。
【００７３】
図５に示すように、企業ビジネスプロセス管理システム１００は、いくつかの異なる見方４００を提供する。これらの見方には、次のものに限定されるものではないが、例えば、エンドユーザ向け画面（ｖｉｅｗ）、開発者向け画面（ｖｉｅｗ）、管理者向け画面（ｖｉｅｗ）及び経営者向け画面（ｖｉｅｗ）が含まれる。見方（ｖｉｅｗ）４００の例を、図７〜図１０を用いて以下で詳細に説明する。
【００７４】
企業ビジネスプロセス管理システム１００は、組織のビジネスプロセスの有効性を測定し管理することができるように、組織の各レベルに応じて、プロセス中の各ステップの実行結果に関して、異なる見方４００を生成する能力を備えている。企業ビジネスプロセス管理システム１００は、様々な見方４００に応じて、図的表現情報を生成する可視化ソフトウェアを含んでいる。この図的表現情報は、分析ツール、統計的情報、データ追跡、コスト分析と、少なくとも一実施例においては、データ品質におけるエラーを減らす際に、組織の様々なレベルで実行された結果の効果を表す情報を含んでいる。
【００７５】
様々な見方４００に応じたエラー報告の生成をサポートするために、データストア１６０（オンラインのアプリケーション処理データベース又は要約データベース）は、“単一の見方”に対応したエラー報告情報を保持するが、データストア１６０に格納されたこの情報は、データの取得元であるデータソース／データ送り先３０５、プロダクト３１５あるいはプロセス３１０に依存せず、任意の見方４００を生成するための表示エンジン１７０から等しくアクセス可能となるように統一した方法で、フォーマットされ、構成される。
【００７６】
企業ビジネスプロセス管理システム１００は、各データソースから得られた、プロセス中の各ステップの実行結果をログとして記録する。このログは、誰がデータを送信したか、プロセスの各ステップで何が起こったか、プロセスが完了したときにデータがどこに送信されたかに関する情報を提供するものである。このログは、複数の見方を表示するための表示エンジン１７０に直接入力されるが、この表示エンジンは図的表現による報告システムであると言える。
【００７７】
少なくとも一実施例において、表示エンジン１７０は、経営者、管理者、エンドユーザ及びプロセス開発者など、彼ら自身、彼らの部門、組織あるいはプロセスがどの程度成果を上げているかに関する情報を伝達する相手となる様々なユーザに、図的表現による報告を提供する。特に、少なくとも一実施例においては、表示エンジン１７０は、以下に示す見方４００、例えば、経営者向け画面、管理者向け画面、ユーザ向け画面及び開発者向け画面を提供する。経営者向け画面は、組織全体のためのデータの品質に関する、図的表現による報告を提供するものである。経営者は、成果とデータ品質に関わる問題の原因を比較するために、組織内の各部門の成果を深く検討する。経営者は、管理者向けとユーザ向けの報告モジュールに対してもアクセス権を有している。管理者向け画面は、管理者が管掌する組織及び部門でのデータ品質に関する、図的表現による報告を提供するものである。管理者は、自身のビジネスユニット及び部門の成果を深く検討し、例えば、データ品質などの問題についての成果と原因を比較する。ユーザ向け画面は、ユーザによってシステムに入力されたデータの品質に関する、図的表現による報告を提供するものである。ユーザは、特定の問題を深く検討し、プロセスの各ステップの入出力データとリザルトコードをレビューする。開発者向け画面は、全てのプロセスとステップの結果に関する、図的表現による報告を提供し、開発者が結果を分析し、結果を改善するためのプロセスの変更を行えるようにするものである。開発者は、関数の実行順序を再配置し、不要な関数を削除し、他のベンダから供給される関数を活用し、異なるベンダから供給される新たな関数を付加し、新たな関数を創出することが可能となる。
【００７８】
表示エンジン１７０は、妥当性確認済み／是正済み、あるいは、妥当性確認なし／是正なしのデータが、財務上与える影響を加味するために用いられる、統計的なモデル化を行うパッケージを含んでいる。少なくとも一実施例においては、表示エンジン１７０は、例えば、バージニア州ダレスのＩｌｌｕｍｉｔｅｋ（登録商標）社から入手可能な、図的表現によるモデル化技術を用いて実装される。
【００７９】
さらに、図６は、企業ビジネスプロセス管理システム１００により実行される分析の実装に関する詳細について示したものである。企業ビジネスプロセス管理システム１００は、企業ネットワーク内に存在するものと、外部から利用可能なものとしての、全てのビジネスプロセス・プロダクト内で利用可能な関数と設定の全て又は一部を用いて、各アプリケーション又はデータに関して独自のプロセスの生成を行う。各アプリケーションもしくはアプリケーション内のデータセットは、独自の要求を満足する上で適切な手順で、全ての関数と設定を利用することが可能である。このビジネスプロセスは、数に制限のないステップから構成されている。各ステップは、特定のベンダから与えられた、関数と設定、もしくは、一連の複数の関数と設定に対応している。企業ビジネスプロセス管理システム１００は、複数ベンダプロセスのステップごとに得られた結果を保存しログとして記録する。ログファイルは、テキストファイル又はデータストアに自動的に記録される。特に、エラーは、プロセスレベルで決定されログとして記録される。
【００８０】
企業ビジネスプロセス管理システム１００は、複数ベンダで構成された複数のステップで、各ベンダが提供する関数と設定の強みと弱みを比較する能力を備えている。さらに、企業ビジネスプロセス管理システム１００は、ビジネスプロセスプロジェクトの遂行を促進するために、複数のベンダから提供されたプロダクトと関数をインストールするための、速くて使い勝手のよい方法論を提供する。このように、少なくとも一実施例においては、企業ビジネスプロセス管理システム１００は、既存のビジネスプロセスに関するベンダプロダクト、カスタムコードあるいはサービスを含む、付加された企業サーバもしくはアプリケーションに含まれる全ての関数に対して、ユーザからのアクセスを可能とするものの、システム自身は、ベンダに依存しないものとなっている。ここで説明したような関数指向のアプローチを用いることにより、ユーザは、例えば、異なるベンダから供給されたデータ品質関数などのビジネスプロセス関数を、各データセットとデータソースの要求に合致するように決定された順序で実行することができる。さらに、図１１に示すように、ユーザは、データソース内の各データステップに対して、独自のプロセス３１０とステップとを確立することができる。
【００８１】
ベンダは、例えば、ビジネスと顧客の名称の複数の要素を識別し、個別のフィールドに分割する関数と、郵送先の各要素を識別し、その妥当性を検証し、訂正する関数と、オンライントランザクションとバッチ処理のために、非名称及び郵送先情報を識別し、分割し、その妥当性を検証し、訂正する関数と、複数の異なる記録と複数の異なるデータソースとからデータを統合する関数と、付加データを用いて元データを拡張する関数と、各個人又は顧客についての単一の記録もしくは見方を生成する関数とを備えたソフトウェア会社である。
【００８２】
企業ビジネスプロセス管理システム１００は、ユーザが、アプリケーションのためのプロセスもしくはアプリケーションからのデータセットを生成できるようにすることが可能な、グラフィカルユーザインターフェース（ＧＵＩ）を含んでいる。ユーザは、データに関するフォーマットを指定し、さらに、各ステップで利用可能なツールから特定の関数と設定を呼び出すことにより、プロセス中の各ステップを生成することができる。ＧＵＩは、例えば、Ｊａｖａ（登録商標）命令を用いて実装することが可能である。ユーザは、この生成ステップを繰り返し実行し、ビジネスプロセスを十分に定義し完成させることができる。プロセスは、階層的に表現され、表示され（ｖｉｅｗｅｄ）、操作されるものであり、ここでは、単一のステップは、多数ステップからなる内部プロセスの一部となる。プロセスの表現と記述は、プリンタなどの他の出力装置によって提示される。プロセスの表現と記述は、ワードプロセッサ、フローチャートアプリケーションやウェブブラウザなどの外部のアプリケーションによる表示と操作のために出力される。さらに、ユーザは、プロセスの結果を送る先を識別し、各送り先に対してどの情報を送るべきかを決定する。プロセス内の各ステップの結果は、テキストファイル又はデータストアにログとして記録される。テキストファイル又はデータストアに格納されたデータは、図的表現による報告を生成するための、可視化ソフトウェアを含む表示エンジンによって利用され、この報告には、分析情報、統計情報、データ追跡、コスト分析、ならびに組織内の各レベルに対するデータの影響が含まれている。この情報は、例えば、データ品質プログラムなどの企業ビジネスプロセスの有効性を測定し観測するために用いられる。
【００８３】
図３９は、一実施例における、インターフェースモジュール３０４と、企業ビジネスプロセスサーバ１０１と、ルータ３９０５との間の関係を示したものである。図３９において、例えば、ビジネスアプリケーションなどのデータソースからの入力データ６０５は、企業ビジネスプロセスサーバ１０１によって受信される。一実施例において、入力データ６０５には、入力データ６０５が適用される特定のビジネスプロセスを特定するプロセス識別子が含まれている。企業ビジネスプロセスサーバ１０１は、入力データ６０５のプロセス識別子を検出し、ルータ３９０５の指定されたビジネスプロセスに入力データ６０５を与えるように構成されている。一実施例において、ルータ３９０５は、一つあるいはそれ以上の数のビジネスプロセス（例えば、図３９のプロセス１、２、３）を具体化する統合命令セットを含んでいる。各ビジネスプロセスの命令は、ルータ３９０５の外部に存在し、プロセスステップを実行するツール３９１０（すなわち、関数）と、ルータ３９０５の外部のビジネスアプリケーションから取得されるが、ルータ３９０５に存在するツール３９１０とを呼び出すものを含んでいる。
【００８４】
少なくとも一実施例において、ルータ３９０５は、ルータ３９０５の新しいバージョンやロードモジュールを、現在のルータ３９０５のバージョンと置き換えることが可能となるような、交換可能なルータであり、使用中にこれを交換し、サーバ１０１を停止（すなわち、運転休止）させることなくデータ伝送を継続できるようになっている。ルータ３９０５は、企業ビジネスプロセス管理サーバ１００により与えられた現在アクティブになっているビジネスプロセスに関する命令セットを含んでいる。ルータ３９０５の新たなバージョンは、使用中に構築と配備が行われ、新規又は変更されたビジネスプロセスに従って、データ伝送を開始する。一実施例においては、インターフェースモジュール３０４は、ユーザが入力した関数情報に応じて、新規又は変更されたビジネスプロセスを実装する命令セットを生成する。ユーザは、例えば、インターフェースモジュール３０４により提供されるプロセス設計者向け対話画面を用いて、関数情報を入力する。ルータの現在のバージョンを、新しいバージョンで置き換えた後、入力データ６０５は、ルータの新しいバージョンに従って扱われる。ルータの現在のバージョンを、ルータの新しいバージョンで置き換えに関する詳細は、図２３ａ〜ｄに示すとおりである。
【００８５】
図６によれば、方法６００は、企業ビジネスプロセスサーバ１０１が入力データ６０５を入力するところから開始する。入力データ６０５は、データソース／データ送り先３０５から受信される。
【００８６】
ステップ６１０に制御を進めて、入力データをプロセスルータに送る。プロセス識別関数にもとづき、プロセスルータは、入力データを特定のプロセス３１０（例えば、プロセスＸ）に送る。少なくとも一実施例においては、プロセスルータは、サーバ１０１を停止することなく、（すなわち、交換可能又はホットスワップ可能なルータとして）、プロセスとステップが、容易にかつ迅速に修正されることを可能にする。
【００８７】
次に、ステップ６１５に制御を進めて、プロセス３１０（例えば、プロセスＸ）が入力データを受信し、それを複数のステップで構成されたプロセスの各ステップに送る。ビジネスプロセスの例としては、郵送先の妥当性確認操作などのデータ品質プロセスがあり、そこで、（特定の企業アプリケーションに対応したデータソース／データ送り先３０５から取得した）トランザクションデータを、例えば、米国郵便データベースなどの信頼できる情報源と照合する。次に、ステップ６２０に制御を進めて、その後、ステップ６３５以降のステップ（例えば、ステップＮ）に進める。プロセス３１０の各ステップを実行した後、ステップの実行結果は、例えば、エラーログ３１５などのログ６３０に入力され、データは、次のステップに送られる。プロセス３１０の各ステップの結果とエラーログ３１５は、データストア１６０などのデータストア６２５に格納される。上述したように、データストア６２５（及び、データストア１６０）は、次のものに限定されるものではないが、ＯＬＡＰ（オンライン分析処理データベース）又は要約データベースである。ログ処理には、プロセスログ（例えば、トランザクションデータ及びプロダクト能力についての分析のために用いられる、プロセス内の各ステップの実行結果の詳細なログ）に加え、サーバログ（例えば、サーバにより受信された全てのトランザクションのログやサーバ統計のログ）が含まれる。
【００８８】
プロセス３１０の最後のステップの実行が完了した後、ステップ６４０に制御を進め、そこでプロセス結果を出力データ構造に適用する。次に、出力データを、データソース／データ送り先３０５に送り、方法６００の終了処理を行う。
【００８９】
少なくとも一実施例においては、プロセス３１０は、次のものに限定されるものではないが、ＲＯＭＥ＿ＩＤ、ＲＯＭＥ＿ＴＩＭＥ、ＳＥＣＴ＿ＣＯＤＥ、ＳＯＵＲＣＥ＿ＤＥＳＴ、ＳＵＢ＿ＳＯＵＲＣＥ＿ＤＥＳＴ、ＲＥＴＵＲＮ＿ＣＯＤＥ及びＩＮＰＵＴ ＣＯＭＰＯＮＥＮＴ １〜Ｎなどのフィールドを含んでいる。プロセス３１０の各ステップは、次のものに限定されるものではないが、ＲＯＭＥ＿ＵＩＤ、ＲＯＭＥ＿ＴＩＭＥ、ＰＲＯＤＵＣＴ＿ＩＤ、ＰＲＯＤＵＣＴ＿ＲＣ、ＳＴＥＰ＿ＩＤ及びＯＵＴＰＵＴ ＣＯＭＰＯＮＥＮＴ  １〜Ｍなどのフィールドを含んでいる。各データパケットは、同一のデータパケットを複数回送出した結果を追跡するために用いられる、一意の識別子（例えば、“ＲＯＭＥ＿ＩＤ”）を有している。
【００９０】
図５に関して先に説明したように、例えば、少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、一つあるいはそれ以上の数の見方４００に従って、エラー報告を提供する。図７は、本発明の少なくとも一実施例における、経営者向け表示のエラー報告の一例である。図７に示すように、経営者向け表示７００は、企業の複数の部門でのデータエラー情報を提供する、一つあるいはそれ以上の数のエラー報告を含んでいる。
例えば、図７に示す経営者向け表示の一例７００は、マーケティング、財務、販売、開発、ウェブおよび顧客サポート部門を含む部門７０５のエラー報告を表しており、情報を要求しているユーザ（例えば、企業経営者）に対して、例えば、是正措置が行えるように、例えば、データ品質などの企業の特性についての情報を可視化したものを提供するものである。少なくとも一実施例においては、不正確な記録もしくはエラーを含んだ記録は、それらは正確でないことと、その理由を示すように、マーク付けされる。
【００９１】
特に、エラー報告は、企業アプリケーションデータやトランザクションデータの所定の集合で検出されたエラーの序列や統計的な分析結果を、グラフ７１５、７２０などのツールを用いて、数値だけでなく図的に提示する。例えば、少なくとも一実施例においては、企業ビジネスプロセス管理システム１００は、情報の要求者であるユーザに対して、次のものに限定されるものではないが、様々な部門７０５の内部のアプリケーションで検出されたデータエラー７２０や、部門７０５に流入、流出するデータトランザクションの伝送量の指示値７１０や、各部門７０５の生産性の時間変化を示す生産性グラフ７１５や、部門７０５のデータ品質に関する強み、弱み、コストおよび利益についてのプロセスエラー分類７２５などの情報を提供する分析プロセスを実行する。
【００９２】
同様に、図８〜１０は、各々、少なくとも一実施例における、顧客サポート向けの表示８００と、個人向けの表示９００と、管理者向けの表示１０００におけるエラー報告の例である。図７に含まれる構成要素と同一のものには、同一の符号が付されている。
【００９３】
特に、個人向け表示９００においては、企業ビジネスプロセス管理システム１００は、例えば、特定の個人に属するデータエラーの可視化情報を、情報を要求するユーザに提供する。例えば、図９は、特定の個人９０５に関する強み、弱み、コストおよび利益のプロセスエラーの分類７２５の他に、個人９０５が起こしたエラーの種類９１０と、時間９１５の経過とともに変化する個人９０５に属するエラーの数を示している。図９のエラー報告のエラー分類７２５の例は、個人９０５は、郵送先情報の入力に際しては強い（すなわち、ほとんどエラーを起こさない）が、名称の入力に際しては弱く（すなわち、多くのエラーを起こし）、異なる時間期間においては、８０個、７４個、２２個のエラーを起こし、これらのデータエラーの結果、企業には８００ドルのコストが発生していることを示している。
【００９４】
さらに、管理者向け表示１０００においては、企業ビジネスプロセス管理システム１００は、特定の個人９０５及び複数の個人からなるグループに属するデータエラーの可視化情報を、情報を要求するユーザ（すなわち、企業管理者）に提供する。例えば、図１０は、複数の個人９０５に関する強み、弱み、コストおよび利益のプロセスエラーの分類７２５の他に、複数の個人９０５の各々が起こしたエラーの種類９１０と、時間９１５（例えば、一日の中の時間）の経過とともに変化するグループに属するエラーの数を示している。また、単位時間期間ごとのコストグラフ１００５は、各個人９０５に属するデータエラーにともない、企業が負担する日ごとのコストを示している。
【００９５】
少なくとも一実施例においては、企業ビジネスプロセス管理システム１００は、ユーザ（例えば、管理者ユーザ）に対して、企業ビジネスプロセスサーバ１０１によって実行するためのビジネスプロセス３１０を生成し確立する能力を提供する。図１１は、少なくとも一実施例における、企業ビジネスプロセス管理システム１００のデータ品質プロセスの一例を確立するための方法１１００のフローチャートである。方法１１００は、企業ビジネスプロセス管理システム１００において、ユーザからの要求を受信するステップ１１０５から開始する。ユーザは、例えば、ポインティングデバイスを用いることにより、データ品質アプリケーションのグラフィカルユーザインターフェース部により与えられる対話画面上に含まれるハイパーリンクを選択し、プロセス３１０を生成するための要求を入力する。
【００９６】
次に、ステップ１１１０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、ユーザに対し、プロセス名称を生成し、プロセス３１０のためのデータソースを選択するように促す。図１２は、企業ビジネスプロセスサーバ１０１が提供する対話画面の一例であり、そこで、ユーザは、プロセス名称、記述、そのデータソース３０５を入力する。
【００９７】
次に、ステップ１１１５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、必要に応じて、新しいデータソース３０５を入力するように、ユーザを促す。もし、ユーザが、新しいデータソース３０５を追加する要求を入力した場合には、ステップ１１２０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、ユーザがデータソース３０５を追加するための対話画面１３００を生成し出力する。図１３は、企業ビジネスプロセスサーバ１０１が提供する対話画面１３００の一例であり、そこで、ユーザは、次のものに限定されるものではないが、データソースの名称、記述、ＩＰアドレス、ポート番号及びプラットフォーム識別子などの情報を入力して、データソース３０５を追加することができる。
【００９８】
次に、ステップ１１２５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、プロセス３１０に対する入力パケットを生成するように、ユーザを促す。図１４は、企業ビジネスプロセスサーバ１０１が提供する対話画面１４００の一例であり、そこで、ユーザは、次のものに限定されるものではないが、入力要素の名称、種類、長さ及び記述などの属性情報を入力することにより、入力パケットを生成できる。入力要素の種類は、次のものに限定されるものではないが、ブール値、文字、二倍文字、拡張文字（ＵＮＩＣＯＤＥ）、浮動小数点小数、整数、倍長整数あるいは短整数など、入力パケットのデータ型を指定するものである。
【００９９】
次に、ステップ１１３０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、プロセス３１０に対する出力パケットを生成するように、ユーザを促す。図１５は、企業ビジネスプロセスサーバ１０１が提供する対話画面１５００の一例であり、そこで、ユーザは、次のものに限定されるものではないが、出力要素の名称、種類、長さ及び記述などの属性情報を入力して、出力パケットを生成する。出力要素の種類は、次のものに限定されるものではないが、ブール値、文字、二倍文字、拡張文字（ＵＮＩＣＯＤＥ）、浮動小数点小数、整数、倍長整数あるいは短整数など、出力パケットのデータ型を指定するものである。
【０１００】
次に、ステップ１１３５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、プロセス３１０に対するプロダクト３１５（あるいは、場合に応じて、関数あるいは複数の関数の組）を選択するように、ユーザを促す。図１６は、企業ビジネスプロセスサーバ１０１が提供する対話画面１６００の一例であり、そこで、ユーザは、例えば、プルダウンリストからプロダクト３１５を選択し、プロダクトの記述を入力することにより、プロダクト３１５を選択する。
【０１０１】
次に、ステップ１１４０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、必要に応じて、プロダクト３１５を追加するように、ユーザを促す。もし、ユーザが、新しいプロダクト３１５を追加する要求を入力した場合には、ステップ１１４５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、ユーザがプロダクト３１５を追加するための対話画面１７００を生成し出力する。図１７は、企業ビジネスプロセスサーバ１０１が提供する対話画面１７００の一例であり、そこで、ユーザは、次のものに限定されるものではないが、プロダクト名称、プロダクト種類、バージョン及びプロダクトテンプレートなどの情報を入力し、プロダクト３１５を追加する。付録Ａは、プロダクトテンプレートを生成する擬似コード命令の例を示すものである。
【０１０２】
次に、ステップ１１５０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、プロセス３１０に対するデータ送り先３０５を選択するように、ユーザを促す。図１８は、企業ビジネスプロセスサーバ１０１が提供する対話画面１８００の一例であり、そこで、ユーザは、データ送り先の名称と記述を入力する。
【０１０３】
次に、ステップ１１５５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、必要に応じて、新しいデータ送り先３０５を入力するように、ユーザを促す。もし、ユーザが、新しいデータ送り先３０５を追加する要求を入力した場合には、ステップ１１６０に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、次のものに限定されることはないが、データ送り先の名称、ＩＰアドレス、ポート番号及び記述などの情報を入力することにより、ユーザがデータ送り先３０５を追加するための対話画面（不図示）を生成し出力する。少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１が出力するデータの全て又は一部は、一つあるいはそれ以上の数のデータ送り先３０５に送られる。
【０１０４】
次に、ステップ１１６５に制御を進めて、そこで、企業ビジネスプロセスサーバ１０１は、プロセス３１０を確立するように、ユーザを促す。図１９は、企業ビジネスプロセスサーバ１０１が提供する対話画面１９００の一例であり、そこで、ユーザは、上述したプロセス３１０に関する情報をレビューし確認する。画面１９００で与えられる要約プロセス情報は、次のものに限定されることはないが、プロセス名称、そのデータソース３０５、入出力データ仕様、関連するプロダクト３１５リスト、ならびに、プロセス出力に対するデータ送り先３０５を含んでいる。プロセス３１０が生成された後に、それを編集（すなわち、ソースコード編集）することができる。編集されたプロセス命令は、コンパイルされ、プロセスルータに入力される。少なくとも一実施例においては、これらの命令は、ソースコード命令である。
【０１０５】
方法１１００の処理は、ステップ１１７０で終了する。
【０１０６】
なお、ここで説明したシステムと方法から出力されたデータについては、一つあるいはそれ以上の数のデータ送り先３０５に対して、その全て又はその一部が送られる。すなわち、出力データの全てを、単一のデータ送り先３０５に送るものであってよい。それに代えて、出力データの一部を、複数のデータ送り先３０５に送るものであってもよい。
【０１０７】
図２４は、一実施例における、データ品質ビジネスプロセスの定義に含まれる、関数と、プロセスと、プロダクト（例えば、ツール）との間の関係を示す機能ブロック図である。
【０１０８】
少なくとも一実施例において、企業ビジネスプロセス管理システム１００は、インターフェースモジュールを含んでおり、その一例を、以下で詳しく説明する。インターフェースモジュールは、前述したユーザインターフェースの側面も兼ね備えている。一実施例において、インターフェースモジュール３０４は、図３に示される企業データ品質アプリケーションの構成要素として実装されている。インターフェースモジュールは、企業ビジネスプロセス管理システム１００を用いて、ユーザが、ビジネスプロセスの一連の関数ステップを定義し、生成し、変更し、テストし、実行することを可能とするものである。特に、インターフェースモジュールは、対話的な図的表現にもとづくプロセス仕様ツールを含んでおり、このツールは、ユーザが、例えば、プロセス関数に関連するシンボルを選択し、特定のプロセスステップを表す位置に移動する（例えば、ドラッグ・アンド・ドロップする）ことができるように構成されている。各プロセスステップは、例えば、図２０に示すように、グループ化された一つあるいはそれ以上の数の関数アイコンとして、表現されている。図２０は、少なくとも一実施例における、プロセス設計者向けの対話画面２０００の一例を示すものである。このように、インターフェースモジュールプロセスの設計者向けの画面は、企業ビジネスプロセス管理システム１００によって実行されるビジネスプロセスの定義や特定のために用いられる。インターフェースモジュール３０４は、開発者向けツールキット３０３の上位アプリケーションとして、上述した図１２〜１９と同様の対話画面もしくは、それらに付け加える対話画面を提供する。
【０１０９】
関数とは、特定のタスクを実行するプログラムの、名称がつけられた部分である。この意味で、関数は、手続き又はルーチンの一種と言える。いくつかのプログラミング言語は、値を返す“関数”と、何らかの操作を実行するが値は返さない“手続き”とを区別して用いている。多くのプログラミング言語は、ライブラリの中に格納されている、予め定義済みの関数の組を備えている。また、特別のタスクを実行する特別の関数を開発することも可能である。例えば、Ｃ言語や他のプログラム言語では、関数は、個別のサービスを実行する、名称を有する手続きである。関数の実行を要求する言語ステートメントは、ファンクションコールと呼ばれている。
【０１１０】
図２０において、プロセス設計者向け対話画面２０００は、ファンクションライブラリ２００５と、プロセス入力領域２０１０と、プロセスステップ定義領域２０１５と、プロセス出力領域２０２０を含んでいる。各プロセスステップ２０２５は、プロセスステップ定義領域２０１５内で、例えば、関数入力２０３０、関数出力２０４０及び関数識別子２０３５の一つ又はそれらのグループとして表現されている。関数入力２０３０の各々は、例えば、リンク２０４５を用いて、プロセス入力領域２０１０内の入力要素２０７５にリンクされる（あるいはリンクされない）。リンク２０４５は、コネクション又は“ロード”とも称されるものである。同様に、関数出力２０４０の各々は、例えば、リンク２０４５を用いて、プロセス出力領域２０２０内の出力要素２０８０にリンクされる（あるいはリンクされない）。一実施例において、リンク２０４５は、例えば、入力要素２０７５から関数入力２０３０へなどの、ソースから送り先への情報の有向フローを表現するために用いられる。情報のフローは、パケットヘッダ情報とルーティングテーブルを用いてデータの送り先又は目標を決定する少なくとも一つのルータによって制御される。さらに、プロセスステップ２０２５はリンクされ、例えば、ビジネスプロセスによってシーケンシャルに実行される連続したプロセスステップ２０２５の連鎖を形成する。
【０１１１】
図２５は、一実施例における、関数の概観表示のための対話画面の一例を示すものである。図２５において、関数の概観表示２５００のための画面は、関数ライブラリ２００５に現状含まれる全ての関数の一覧を提供している。ここで、関数は、例えば、生成の時間順序など、様々な基準に従って、一覧表示の順序が決められている。
【０１１２】
図２６は、一実施例における、プロセス設計者向け対話画面２０００のプロセス定義領域の一例を示すものである。
【０１１３】
各プロセスステップ２０２５は、そのプロセスステップ２０２５を実行する際に企業ビジネスプロセスサーバによって実行される特定の操作を表している。特に、プロセスステップ２０２５は、一つあるいはそれ以上の数の関数入力２０３０と関数出力２０４０とを含んでいる。さらに、関数識別子２０３５は、関数出力２０４０を生成するために、関数入力２０３０を用いて実行される特定の操作を表している。一実施例において、企業ビジネスプロセス管理システム１００は、複数のアプリケーションプロバイダから提供される多数の様々なプロセスステップ２０２５を、単一のビジネスプロセスの中で実行する。少なくとも一実施例においては、関数識別子２０３５は、そのアプリケーションを企業によって利用される、特定のアプリケーションプロバイダが提供する関数と関数要素を特定するために用いられる。さらに、複数のビジネスプロセスが、企業ビジネスプロセス管理システム１００によってサポートされている。
【０１１４】
少なくとも一実施例において、企業ビジネスプロセス管理システム１００は、プロセス設計者向け対話画面２０００と連携し、ビジネスプロセスを形成するプロセスステップ２０２５を生成し修正する。特に、ユーザは、関数入力２０３０、関数出力２０４０、関数識別子２０３５、入力要素２０７５、出力要素２０８０及びリンク２０４５を表す表示アイコン又はシンボルを、例えば、端末１１０〜１１３のポインティングデバイスを利用して、操作し、移動し、リンクさせることができる。一方、キーボード装置を用いて、この目的を果たすことも可能である。例えば、新しい関数入力２０３０を関数ライブラリ２００５から、プロセスステップ定義領域２０１５の所望のプロセスステップ２０２５にドラッグ・アンド・ドロップ（例えば、選択）して、新しい関数入力２０３０をプロセスステップ２０２５に追加することができる。図２７は、一実施例において、プロセス設計者向け画面２０００上で、関数ライブラリ２００５からプロセスステップ２０２５の要素を追加する様子を描いた、対話画面の一例を示すものである。新しい関数入力２０３０に、入力要素２０７５が必要となった場合には、ユーザは、例えば、所望の入力要素２０７５を、関数ライブラリ２００５から入力領域２０１０にドラッグ・アンド・ドロップし、新しい入力要素２０７５から新しい関数入力２０３０へのリンク２０４５を追加する。図２８は、一実施例において、プロセス設計者向け画面２０００上で、プロセス設計者向け対話画面のプロセス定義領域でプロセスステップ２０２５をリンクする様子を描いた、対話画面の一例を示すものである。
【０１１５】
一実施例において、関数入力２０３０は、特定のイベントの発生（あるいは発生しない）状況に対して、実行すべき他のアクションを特定するための条件ステートメントを含んでいる。図２９は、少なくとも一実施例において、プロセスステップの要素に対して条件ステートメントを定義する、対話画面の一部２９００の一例を示すものである。
【０１１６】
図３０は、図１７と同様の実施例における、プロダクト定義用対話画面３０００の一例を示すものである。図３１は、図１８と同様の実施例における、データ送り先定義用対話画面３１００の一例を示すものである。図３２は、図１６と同様の実施例における、プロダクト選択用対話画面３２００の一例を示すものである。
【０１１７】
少なくとも一実施例において、企業ビジネスプロセス管理システム１００は、例えば、データストア１０６などのデータストアから、インターフェースモジュールプロセス設計者によって定義されたビジネスプロセスを実装する一連の命令を、検索し、構築し、コンパイルする。一実施例において、企業ビジネスプロセスサーバ１０１のインターフェースモジュール３０４は、例えば、インターフェースモジュールを利用して定義された一つあるいはそれ以上の数のビジネスプロセスを実装する一連の命令を、企業ビジネスプロセスサーバ１０１で実行するために、データストア１０６から取得する。
【０１１８】
少なくとも一実施例において、インターフェースモジュール３０４は、インターフェースモジュールプロセス設計者が定義したプロセスステップ２００５を実行する一連の命令を、多数のビルドファイルを用いた一連のビルドステップにおいて、アセンブル（すなわち、ビルド（ｂｕｉｌｄ））する。図２１は、一実施例において、ビジネスプロセスのコード実装をビルドする際に企業ビジネスプロセスサーバが用いる一連のビルドファイルを示すものである。図２１において、一実施例において、一つのビジネスプロセスに対するビルドファイルの組には、少なくとも一つの一時的なステップビルドファイル２０５０プロセスステップファイル２０５５、一つあるいはそれ以上の数の関数属性ファイル２０６０、一つあるいはそれ以上の数の関連関数一時ファイル２０６５及びプロセスファイル２０７０が含まれている。企業ビジネスプロセス管理システム１００は、一実施例において、これらのファイルを用い、例えば、ビジネスインターフェースモジュールプロセスツールを以下の手順で用いて、ビジネス分析者により定義されたビジネスプロセスを実行する。
【０１１９】
一実施例において、企業ビジネスプロセス管理システムに付加された全ての関数は、関数ライブラリ２００５（図２０）の中に存在する。各関数は、関数ライブラリ２００５の中で、例えば、関数名称とアイコンとによって識別される。関数属性ファイル２０６０は、必要となる情報の全てを、例えば、ＸＭＬ形式で格納しており、この関数が、プロセスのステップで追加された時には、インターフェースモジュールプロセス設計ツール２０００上に、正確な数の関数入力２０３０と関数出力２０４０とともに、関数が表示されるようになっている。また、関数属性ファイル２０６０は、関数で用いられるか関数で生成されたデータフィールドの内容パラメータにより定義された設定値を有している。一実施例においては、企業ビジネスプロセス管理システム１００の各関数は、それ自身の関数属性ファイル２０６０を有している。関数ステップ２０２５は、ビジネスプロセスにステップとして追加された際に、インターフェースモジュールプロセス設計ツール２０００上に現れる関数の一例を示すものである。関数がビジネスプロセスに追加されると、インターフェースモジュール３０４は、最初に、その関数の関数属性ファイル２０６０を読み込む。関数属性ファイル２０６０を読み込んだ後、インターフェースモジュール３０４は、その関数に必要な入出力要素を関数属性ファイル２０６０で定義する際に、これらの入出力要素をビルドする。
【０１２０】
一実施例において、インターフェースモジュール３０４は、ユーザに一連の対話画面を提供し、ユーザがビルド済み関数をライブラリに導入することや、既存の関数を修正することを支援するための関数ウィザードを含んでいる。ファンクションウィザードは、一つあるいはそれ以上の数の対話画面の対話入力フィールドを含んでおり、そこでユーザは、関数名称を入力し、関数アイコンを選択し、関連するプロダクト名称を入力し、関数の種類を入力し、関数の記述を付加する。関数ウィザードは、ユーザが入力した情報に応じて、関数テンプレートを提供する。関数テンプレートは、例えば、関数テンプレートファイル２０６５を用いて保存されている。関数テンプレートは、関数の様々な特徴（例えば、変数）を定義する一連の命令を含んでいる。各関数の変数の実際の値は、各関数の変数に対応した関数設定により決定される。図３３は、一実施例での関数テンプレートファイル画面３３００の内容の一例を示すものである。
【０１２１】
関数がビジネスプロセスに追加された後、一時的なステップファイル２０５０が生成される。一実施例では、一時的なステップファイル２０５０は、ＸＭＬ形式で提供される。一時的なステップファイル２０５０は、ビジネスプロセスの当該ステップに追加された際に、関数に関する全ての情報を格納している。なお、一時的なステップファイルは、同一の関数に関するものであっても、ステップにより異なる。
【０１２２】
さらに、図２１に示すように、インターフェースモジュール３４０は、ビジネスプロセスをビルドしようとする際に、プロセスステップファイル２０５５を生成する。一実施例では、プロセスステップファイル２０５５は、当該ビジネスプロセスに関連した一時的なステップファイル２０５０を統合したものである。
【０１２３】
最後に、インターフェースモジュール３０４は、以下のように、プロセス命令セットファイル２０７０を生成する。まず、インターフェースモジュール３０４は、プロセスステップファイル２０５５を読み込む。各ステップは、ファンクションライブラリの関数に対応しているため、インターフェースモジュールは、プロセスステップファイル２０５５内から各ステップの関数属性ファイルを取り出し、次に、プロセスステップファイル２０５５内のデータを、関数属性ファイル２０６０内の対応するフィールドにマッピングする。次に、プロセスステップファイル２０５５から得られた情報を、関数属性ファイル２０５５内の対応するフィールドにリンク付けした後、インターフェースモジュール３０４は、各関数属性ファイル２０６０を、関数テンプレートファイル２０６５にマッピングする。一実施例において、関数テンプレートファイル２０６５は、プロセスを実行する一例の命令に追加される、ソースコード命令（例えば、‘Ｃ’言語ソースコード）を含んでいる。さらに、少なくもと一実施例においては、関数テンプレートファイル２０６５は、関連する関数属性ファイル２０６０のフィールドに対応したＸＭＬタグを含んでいる。関数テンプレートファイルのソースコードは、プロセス命令セットファイル２０７０のソースコードに追加されているため、インターフェースモジュール３０４は、関数テンプレートファイル２０６５内のＸＭＬタグを、プロセスステップファイル２０５５から与えられたデータである関数属性ファイル２０６０で与えられたデータで置き換える。
【０１２４】
一実施例では、新しいプロセス命令セットファイル２０７０をビルドした後、企業データ品質アプリケーション３００が、図２２に示すように、新しいプロセスソースコードファイル２０７０を含む新しいルータＤＬＬをビルドする。少なくとも一実施例においては、命令セットファイル２０７０は、ソースコード命令を含んでいる。図２２において、企業データ品質アプリケーション３００は、新しいプロセス命令セットファイル２０７０（例えば、プロセスファイル１）と、他のプロセス命令セットファイル（例えば、プロセスファイル２〜Ｋ）とを含む新しいルータＤＬＬ２０７１をビルドする。さらに、新しいルータＤＬＬ２０７１が、企業ビジネスプロセスサーバ１０１によりロードされ、サービスに配備され、この時点で、新しいプロセスが実行される。
【０１２５】
図２３ａ〜ｄは、少なくとも一実施例における、ビジネスプロセスを実行する方法をより詳細に示すフローチャートである。図２３において、方法は、ステップ２３００で開始し、ステップ２３０２に進む。ステップ２３０２では、ユーザは、企業ビジネスプロセスサーバ１０１に対して、ビジネスプロセスを生成するか修正する要求を送る。一実施例では、ユーザの要求は、端末１１０、１１１、１１２又は１１３から、例えば、パケット通信によるネットワークなどのネットワークを用いて、企業ビジネスプロセスサーバ１０１に出力される。パケット通信によるネットワークの一例は、インターネットである。ユーザは、例えば、ビジネス分析者である。一実施例では、この要求は、ＳＭＬ形式の要求として提供される。この要求に応答して、企業ビジネスプロセスサーバ１０１は、要求元である端末１１０、１１１、１１２又は１１３に、例えば、インターフェースモジュールプロセス設計者向け対話画面２０００などの対話画面を出力する。一実施例では、インターフェースモジュールプロセス設計者向け対話画面２０００は、端末のウェブアプリケーションを用いる端末での表示に適したＸＭＬ形式の対話画面の形式で提供される。
【０１２６】
次に、ステップ２３０４に制御を進めて、そこで、ユーザは、プロセスステップを追加するか、ビジネスプロセスのプロセスステップを修正するかの要求を出す（図２０参照）。次に、ステップ２３０６に制御を進めて、そこで、ユーザは、プロセスステップに追加すべき関数や、新しいプロセスステップを追加すべき関数を、関数ライブラリに追加する必要があるかを判定する。もし、必要があると判定した場合には、ステップ２３０８に制御を進める。そうでない場合には、ステップ２３１２に制御を進める。
【０１２７】
ステップ２３０８において、ユーザは、新しい関数を定義する情報を関数ライブラリに入力する。この情報は、次のものに限定されるものではないが、関数名称と関数アイコンを含んでいる。関数名称は、関数が提供する操作を、簡潔に記述したものである。関数アイコンは、関数が属するアプリケーションのベンダ又は提供者を表した記号である。一実施例では、プロセスステップで用いられる全ての関数は、関数ライブラリに含まれていなければならない。
【０１２８】
さらに、ステップ２３１０に制御を進めて、そこで、ユーザは、関数属性ファイルを用いて、特定の関数属性を定義する。関数属性ファイルは、関数情報をＸＭＬ形式で定義するために必要となる、全ての情報を含んでおり、これにより、ビジネスプロセスのステップとして当該関数が追加された際に、当該関数を、関連する関数設定と、正しい数の関数入力と関数出力とともに、インターフェースモジュールプロセス設計ツールの画面上に表示することが可能となる。一実施例では、関数属性ファイルは、ＸＭＬ形式に従って提供される。また、一実施例では、関数ライブラリ中の各関数は、対応する関数属性ファイルを有している。図３４は、一実施例における、関数設定対話画面３４００の一例である。
【０１２９】
次に、ステップ２３１２に制御を進めて、一時的なステップファイルを以下のように生成する。関数がビジネスプロセスに追加された際には、インターフェースモジュールは、最初に、その関数に対する関数属性ファイルを読み込む。関数属性ファイルを読み込んだ後、インターフェースモジュールは、その関数に必要な入出力要素を関数属性ファイルで定義する際に、これらの入出力要素をビルドする。一実施例では、一時的なステップファイルは、ＸＭＬ形式で提供される。一時的なステップファイルは、関数がビジネスプロセスの当該ステップに属する際に、その関数に関する全ての情報を含むものとなる。なお、一時的なステップファイルは、同一の関数から得られたものであっても、ステップごとに異なっている。
【０１３０】
次に、ステップ２３１４に制御を進めて、インターフェースモジュールが、プロセスステップファイルを生成する。一実施例では、プロセスステップファイルは、当該ビジネスプロセスに関連する一時的なステップファイルを結合あるいはアセンブルしたグループとなっている。
【０１３１】
次に、ステップ２３１６に制御を進めて、インターフェースモジュールは、プロセスステップファイルの中から、各ステップに対応した関数属性ファイルを取り出す。次に、ステップ２３１８に制御を進めて、インターフェースモジュールは、プロセスステップファイル中のデータを、関数属性ファイル中の対応するフィールドにマッピングする。次に、ステップ２３２０に制御を進めて、インターフェースモジュールは、各関数属性ファイルを、関数テンプレートファイルにマッピングする。関数テンプレートファイルは、一実施例では、プロセスを実行する一連の命令に追加されるソースコード命令（例えば、‘Ｃ’言語ソースコード）を含んでいる。さらに、少なくとも一実施例においては、関数テンプレートファイルは、関連する関数属性ファイルのフィールドに対応したＸＭＬタグを含んでいる。
【０１３２】
次に、ステップ２３２２に制御を進めて、インターフェースモジュールは、関数テンプレートファイル内のＸＭＬタグを、プロセスステップファイルから与えられたデータである関数属性ファイル与えられたデータで置き換える。
【０１３３】
次に、ステップ２３２４に制御を進めて、インターフェースモジュールは、多量のデータを含んだ関数テンプレートファイルをアセンブルして、プロセスを実行する一連のプログラム命令を含む、一つのプロセス命令セットファイルを作成する。さらに、ステップ２３２６に制御を進めて、インターフェースモジュールは、プロセス命令セットファイルをデータストアに格納する。命令セットファイルは、これに限定されるものではないが、ソースコードファイルである。
【０１３４】
次に、ステップ２３２８に制御を進めて、企業データ品質アプリケーションの中心となるアプリケーションは、ビジネスプロセスがテストプロセス又はプロダクトプロセスであるかを、ユーザが指定したかどうかを判定する。一実施例においては、ビジネス分析者モジュール３０４は、ユーザに対して、ルータのテストビルド又はプロダクトビルドのどちらを実行するのかを指定するための対話画面（不図示）を提供する。テストプロセスである場合は、図２３ｃのステップ２３３０に制御を進める。プロダクトプロセスである場合には、図２３ｄのステップ２３５０に制御を進める。
【０１３５】
図２３ｃのステップ２３３０では、新しいテストプロセス命令セットファイルのビルドの後に、企業データ品質アプリケーションの中心となるアプリケーションが、新しいテストプロセス命令セットファイルを含む新しいルータＤＬＬをビルドする（図２２参照）。テストプロセス命令セットは、プロダクトに関して、最適化されている。
【０１３６】
次に、ステップ２３３２に制御を進めて、インターフェースモジュールは、企業ビジネスプロセスサーバに対して、新しいルータがロード可能となっていることを通知する。次に、ステップ２３３４に制御を進めて、企業ビジネスプロセスサーバは、現在のルータに入力しようとするトランザクションを休止及び停止させ、現状でルータに存在する全てのトランザクションに対してその処理を完了させ、現在のルータをアンロードする。
【０１３７】
次に、ステップ２３３６に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、現在のルータがアンロードされたことを通知する。
【０１３８】
次に、ステップ２３３８に制御を進めて、インターフェースモジュールは、現在のルータがアンロードされたことの通知を受信して、現在の（すなわち、“古い”）ルータを保存し、そのルータを新たにビルドされたルータで置き換え、企業ビジネスプロセスサーバに対して、新しいルータをロードするように通知する。
【０１３９】
次に、ステップ２３４０に制御を進めて、企業ビジネスプロセスサーバは、新しいルータをロードし初期化し、トランザクションが新しいルータに入力できるようにする。
【０１４０】
次に、ステップ２３４２に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、新しいルータがロードされたことを通知する。
【０１４１】
次に、ステップ２３４４に制御を進めて、インターフェースモジュールは、新しいルータがロードされたことの通知を受信して、ユーザの端末にプロセステスト担当者向け対話画面を出力する。図３５は、一実施例での、プロセステスト担当者向け対話画面３５００の一例である。プロセステスト担当者向け対話画面３５００は、プロセステストステップのリスト３５０５を含んでいる。
【０１４２】
次に、ステップ２３４６に制御を進めて、端末は、例えば、ウェブブラウザアプリケーションの表示を介して、プロセステスト担当者向け対話画面をユーザに出力する。図３６は、一実施例での、プロセステスト担当者向け対話画面３５００の多くのデータを含むプロセス定義領域を示す図であり、本図では、インターフェースモジュールが、関数テンプレートファイル内のＸＭＬタグを、関数属性テーブルで提供されたデータによって置き換えたものとなっている。
【０１４３】
次に、ステップ２３４８に制御を進めて、以上の方法の処理が終了する。
【０１４４】
図２３ｄのステップ２３５０では、新しいプロダクトプロセスの命令セットファイルをビルドした後、企業データ品質アプリケーションの中心となるアプリケーションは、新しいプロダクトプロセス命令セットファイルを含む新しいルータＤＬＬをビルドする（図２２参照）。プロダクトプロセス命令は、プロダクトに関して、最適化されている。
【０１４５】
次に、ステップ２３５２に制御を進めて、インターフェースモジュールは、企業ビジネスプロセスサーバに対して、新しいルータがロード可能となっていることを通知する。次に、ステップ２３５４に制御を進めて、企業ビジネスプロセスサーバは、企業ビジネスプロセスサーバは、現在のルータに入力しようとするトランザクションを休止及び停止させ、現状でルータに存在する全てのトランザクションに対してその処理を完了させ、現在のルータをアンロードする。
【０１４６】
次に、ステップ２３５６に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、現在のルータがアンロードされたことを通知する。
【０１４７】
次に、ステップ２３５８に制御を進めて、インターフェースモジュールは、現在のルータがアンロードされたことの通知を受信して、現在の（すなわち、“古い”）ルータを保存し、そのルータを新たにビルドされたルータで置き換え、企業ビジネスプロセスサーバに対して、新しいルータをロードするように通知する。
【０１４８】
次に、ステップ２３６０に制御を進めて、企業ビジネスプロセスサーバは、新しいルータをロードし初期化し、トランザクションが新しいルータに入力できるようにする。
【０１４９】
次に、ステップ２３６２に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、新しいルータがロードされたことを通知する。
【０１５０】
次に、ステップ２３６４に制御を進めて、インターフェースモジュールは、新しいルータがロードされたことの通知を受信して、ユーザの端末に主プロセス対話画面を出力する。
【０１５１】
次に、ステップ２３６６に制御を進めて、端末は、例えば、ウェブブラウザアプリケーションの表示を介して、主プロセス対話画面をユーザに出力する
【０１５２】
次に、ステップ２３６８に制御を進めて、以上の方法の処理が終了する。
【０１５３】
少なくとも一実施例においては、企業ビジネスプロセスサーバ１０１は、コネクションを介して、特定のビジネスプロセスに関連する入力要素のパケットをデータソースから受信して、その特定のビジネスプロセスを取り出し、それを実行する。少なくとも一実施例においては、このコネクションは、ビジネスアプリケーション関数入力データを、関連するビジネスプロセスの対応する情報フィールドに関連付けて、そのフィールドにデータを出力する、コンパイルされたダイナミック・リンク・ライブラリ（ＤＬＬ）ファイルである。図３７は、少なくとも一実施例において、ユーザがコネクションを定義する、コネクション定義対話画面３７００の一例を示すものである。各企業アプリケーションは、例えば、企業ビジネスプロセスサーバ１０１により実行される一つあるいはそれ以上の数のビジネスプロセスを対応付けるための、各企業アプリケーションに対応したコネクションを、データストア１０６を用いて保持している。関連する入力要素のパケットを受信すると、企業ビジネスプロセスサーバ１０１は、関連するビジネスプロセスを取り出し、それを実行し、その実行結果である出力要素を出力する。一実施例では、企業ビジネスプロセスサーバ１０１は、コネクションを介して、出力要素を含むパケットをデータ送り先に送信して、その先の処理に備える。コネクションは、企業ノード間の経路を特定するためのデータルーティング情報をカプセル化している。一実施例では、このコネクションは、例えば、ＴＣＰ／ＩＰなどのパケット通信によるネットワークのためのソケットコネクションである。
【０１５４】
このように、インターフェースモジュールは、例えば、ビジネス分析者などのユーザに対して、ソフトウェアエンジニアリングやプログラミングのための要員を巻き込んだ、要求定義、全体設計、詳細設計、コーディング及びテストという長いサイクルを経ることなく、企業ビジネスプロセス管理システムを用いて、ビジネスプロセスを定義し、生成し、修正し、実装し、テストし、実行することを可能としている。ここで示した企業ビジネスプロセス管理システムのインターフェースモジュールにより、ビジネスプロセスの迅速な対話型開発と実装が可能となり、コストと期間を削減し、さらに、関数に対する要求を定期的に凍結しなければならない状況を減らすことができる。
【０１５５】
以上のように、企業ビジネスプロセス管理システムを説明してきたが、その実施例は、企業全体のアプリケーション又はトランザクションデータの質的並びに量的特徴に関する情報を収集し、分析し、報告することを可能とする統合されたデータ品質管理システムを提供するものである。ここで説明した企業データ品質管理システムは、本発明の企業ビジネスプロセス管理システムの一つの側面のみを記述したものである。当業者であれば、ここに開示された事項にもとづいて、本発明の他の実施例を思いつくことが可能である。特に、企業ビジネスプロセスサーバ１０１は、多くの様々な企業ビジネスプロセスアプリケーションを提供することや、それらと連携して動作することが可能なサーバとして一般的に規定することができる。通常、このような企業ビジネスプロセス管理システムは、全体の企業ネットワークの計算機ノードのいくつか又は全てを介して、企業全体でアプリケーション又はトランザクションデータの質的及び量的特徴に関する情報を、収集し、分析し、報告する能力を備えていて、異機種の計算機プラットフォームとアプリケーションによって出力されたアプリケーションデータを処理することが可能である。結果として、企業ビジネスプロセス管理システムは、企業全体で提示されるデータを、様々に統合した画面で見せることができる。このような画面は、企業全体か関するデータから、個々の部門又はビジネス関数／ビジネスユニット、個人に到るまでのデータに対応している。
【０１５６】
例えば、企業ビジネスプロセス管理システムは、次のものに限定されるのもではないが、指紋分析、網膜イメージング／走査、音声認識及び画像照合と比較を含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、バイオメトリックを利用した侵入警備アプリケーションに適用することも可能である。特に、このビジネスプロセスでは、会社の従業員は、会社施設に入場するために、指紋認証走査に合格することが求められる。従業員が、指紋パッド又はスキャナに指をかざすと、一意の指紋スキャン結果を表すデータが、企業ビジネスプロセス管理システムにあるプロセスに送られる。このプロセスは、会社従業員指紋データベースの中から従業員を特定するために、例えば、様々な指紋をソフトウェアで照合するツールの一つあるいはそれ以上の数の関数を用いて、スキャンされた指紋を、有効な指紋の集合と照合することを含んでいる。もし従業員が会社の従業員に間違いないと確認されたら、企業ビジネスプロセス管理システムから、ドアのアクセス制御装置へ信号が送られ、ドアは解除されて、従業員に入場が許可されるようになっている。
【０１５７】
このようなビジネスプロセスの他の例としては、写真画像データを、複数の画像を含むデータベースと照合し、その写真画像の特徴に合うものを検索する複数ステップから構成されたビジネスプロセスに、写真画像データを入力するものがある。特徴に合うものが見つかった場合には、企業ビジネスプロセス管理システムの他のプロセスに信号が送られ、写真画像の位置を表す座標が、標的システム又は報告システムに出力される。
【０１５８】
他の例として、企業ビジネスプロセス管理システムを、例えば、適用される行政規則に関するビジネス上の法律遵守などの、法律遵守確保に適用するものがある。このようなアプリケーションは、無数にある。特に、一つの例としては、医療ビジネス企業が、例えば、１９９６年制定の健康保険移転責任法（“ＨＩＰＡＡ”）などの、行政上の命令規則や規制に従って事業を行うことを確実にするため、ビジネスプロセスを運用するものがある。このようなビジネスの特徴ある例として、ＨＩＰＡＡ要求を適用するビジネスルールを、関数ライブラリに格納し、行政上のＨＩＰＡＡ要求に基づいて特定の患者の情報に適用する必要のある一連のビジネスルールを含むビジネスプロセスを定義し実行するものがある。この構成は、遵守すべき行政上の要求に基づき、これらのビジネスルールを容易に修正することを提供する。すなわち、ＨＩＰＡＡに準拠するためのビジネスアプリケーションへの筋道が確定した後は、例えば、上述したようなインターフェースモジュールプロセス設計ツールを用いて、プロセスステップとして要求を表すために用いられる対応する関数を修正することができる。このようにして、ビジネスプロセスへの影響を最小限にとどめて、ビジネスに影響を与える規制の新たな変更に対応することができる。
【０１５９】
他の例として、企業ビジネスプロセス管理システムの一実施例を、データセットに対して、行政上のデータ品質規制を満足させることに適用するものがある。例えば、児童福祉に関するデータを連邦政府に提出する際には、例えば、９０％以上の正確さなど、指定されたレベルのデータの正確さを保証することが求められる。
【０１６０】
他の例として、企業ビジネスプロセス管理システムの一実施例を、次のものに限定されるものではないが、地理情報をコーディングしたソフトウェアや課税ソフトウェアを含むビジネスアプリケーションの関数を含むビジネスプロセスを、定義し、ビルドし実行するような課税アプリケーションに適用するものがある。このようなビジネスプロセスの特徴ある例において、組織は、請求処理の過程で、その顧客の請求書に対して適切な税金を正確に課税する必要がある。請求処理の過程で、不正確な課税を行うと、顧客を失う結果をもたらすこともある。従って、一実施例では、ビジネスプロセス（あるいは、請求処理の過程で一連のプロセスステップ）を生成し、それを実行し、顧客への請求書を最終的に完成させ発送する前に、郵送先情報などの顧客情報が正しいことを、（例えば、ソフトウェアパッケージなどの）多くの課税ビジネスアプリケーションの中の複数の関数によってチェックする。さらに、これらの関数の実行結果を、例えば、互いに比較しあい、これらの結果に基づいて、正しい税金を課税する。さらに、正確な税金の額を決定した後で、正しい課税額と顧客の識別情報とを入力として他のビジネスプロセスに送り、その他のビジネスプロセスは、例えば、正しい課税額と顧客の識別情報とを入力として受信し、各ステップが異なるデータベースに対するＳＱＬ問い合わせ文を発行するような複数のステップを実行する。一実施例では、各ステップは、顧客識別情報によりデータストアを検索し、当該顧客の課税額を更新して、顧客が複数のデータストアに対して同一の課税を受けるようになっている。
【０１６１】
他の例として、企業ビジネスプロセス管理システムの一実施例を、次のものに限定されるものではないが、郵送先情報の妥当性確認を含むビジネスアプリケーションの関数を含むビジネスプロセスを、定義し、ビルドし実行するようなプロダクト比較アプリケーションに適用するものがある。このようなビジネスプロセスの特徴ある例において、個人の郵送先情報を入力として受信するビジネスプロセスを生成し、実行し、さらに、複数のステップで構成されたプロセスを実行する。一実施例では、ビジネスプロセスの各ステップは、例えば、異なるソフトウェアベンダの郵送先情報の処理プログラムを含んでいる。各ステップは、郵送先情報を入力として受信し、各ステップで保有する郵便情報データベースを元に、その郵送先情報の妥当性を確認する。一実施例では、各ベンダの能力の比較を行い、所定のデータ条件の下でどのプロダクトが最良の結果を導くかを、正確に把握するための統計情報を生成する。図３８は、一実施例における比較ビジネスプロセスを示すものである。
【０１６２】
より一般的には、組織が、どのソフトウェアアプリケーション又はベンダが最良の機能性を提供するかを判断しようとする場合には、これらのプロダクトは、企業ビジネスプロセス管理システムの元に集約し、互いに比較してテストする必要がある。さらに、異なるソフトウェアベンダのＡＰＩコールを比較するビジネスプロセスは、このプロセスに含むことが可能である。
【０１６３】
他の例として、企業ビジネスプロセス管理システムの一実施例は、次のものに限定されるのもではないが、データストアの変換ソフトウェアを含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、データマッピング又は変換アプリケーションに適用することも可能である。このようなビジネスプロセスの特徴ある例では、一方のデータストア（例えば、第一データベース）に対応した第一の形式で入力データを受信し、他方のデータストア（例えば、第二データベース）形式で出力が与えられるように、ビジネスプロセスが生成され実行される。一実施例では、各プロセスステップは、一方のフィールド種類から他方のものへマッピングするものとなっている。
【０１６４】
最後に、他の例として、企業ビジネスプロセス管理システムの一実施例は、次のものに限定されるのもではないが、情報照合とデータベース検索ソフトウェアを含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、ソフトウェアで構成されたマッピングアプリケーションに適用することも可能である。このようなビジネスプロセスの特徴ある例では、ビジネスプロセスは、コールセンタ運用に関連した情報に対する情報照合やデータストア検索を行うことを含んでいる。特に、コールセンタのオペレータが、顧客からの電話を受けると、その電話で、顧客は、氏名と郵送先情報をコールセンタオペレータに告げる。コールセンタオペレータは、例えば、対話画面を用いて情報を入力し、検索要求を出す。検索要求により、氏名と郵送先情報が、企業ビジネスプロセス管理サーバに保持され、例えば、以下のステップを実行するビジネスプロセスに送られる。
ａ．氏名と郵送先データを標準化する
ｂ．照合キーを生成する
ｃ．ステップｂで生成した照合キーを用いて、一連のデータベース検索を実行する
ｄ．各データベース検索は、一時的な記録を残すために用いられる何がしかの情報を返送する
ｅ．全てのデータベース検索が実行された後、出力をコールセンタ担当者向け画面に返送する
【０１６５】
管理者ユーザ及び経営者ユーザを含む、企業ビジネスプロセス管理システムのユーザには、次のものに限定されるものではないが、データ品質に関する問題などの企業レベルでの問題について、適切な是正措置がとれるように、異なるレベルの表示画面が提供される。少なくとも一実施例においては、企業ビジネスプロセス管理システムは、不正確又はエラーを含むデータを、信頼できるデータに基づいて、自動的に修正する。本発明の企業ビジネスプロセス管理システムにより提供された統合ビューによって、例えば、アプリケーション固有のデータのチェックプロセスなど、ベンダ依存のアプローチの欠点を最小限にとどめることができる。さらに、例えば、企業が、ここで説明した統合アプローチを採用することにより、多数の個別のデータ品質アプリケーションを購入する必要性が減るため、データ品質ツールの購入の総コストを最小限にとどめることができる。
【０１６６】
さらに、少なくとも一実施例においては、ビジネスプロセスサーバは、さらに、好ましい関数の組を選択し実行するように構成されており、好ましい関数の各々は、複数の異なるビジネスアプリケーションの一つから得られるものとなっている。ビジネスプロセスサーバは、ビジネスアプリケーションが提供する複数の同種の関数の中から、例えば、選択ヒューリスティックスに基づいて、一つの関数を選択する。この選択ヒューリスティックスの例としては、ビジネスアプリケーションの出力データの所定の組に適用される複数の同種の関数を比較により、関数によって検出されるエラー率（％）がある。各ビジネスアプリケーションは、異なるベーダから提供されたプロダクトである場合と、そうでない場合がある。一方、関数を選択する基準は、インターフェースモジュールの対話画面を介して、ユーザによって指定される。このようにして、企業ビジネスプロセス管理システムは、異なるビジネスアプリケーションにより提供される関数の中から、好ましい、あるいは最良の関数の組を選択することができる。
【０１６７】
図４０は、ビジネスプロセス管理システムの一例である、企業ビジネスプロセス管理システム１００のブロック図である。企業ビジネスプロセス管理システム１００は、プロセス形成部４００１と、プロセス設計者向け対話部４００２とを含んでいる。プロセス形成部４００１は、ビジネスプロセスを生成又は修正する部分である。プロセス設計者向け対話部４００２は、プロセス設計者４００３との対話処理を行う部分である。プロセス設計者４００３は、ビジネスプロセスを設計する人である。プロセス設計者４００３は、ビジネスプロセスが設計可能な物であれば、人以外の物であってもよい。例えば、プロセス設計者は、個別の企業ビジネスプロセス管理システム１００や、他のシステムあるいはソフトウェアであってよく、さらに、対話処理を行うもの行わないもののいずれかであってよい。
【０１６８】
プロセス設計者向け対話部４００２は、次のものに限定されるものではないが、表示画面とキーボード、あるいは表示画面とマウスなどを介した様々な方法でプロセス設計者４００３との間で対話処理を行う。比較的高度な対話処理の一例としては、プロセス設計者向け対話部４００２が、図２０に示すような、プロセス設計者４００３との対話処理を行うプロセス設計者向け対話画面２０００を表示するものがある。プロセス設計者４００３は、プロセス設計者向け対話部４００２で用いられる、ビジネスプロセスを設計するための情報を入力する。ここで、ビジネスプロセスを設計するための情報は、ビジネスプロセスを設計するために用いられる何がしかの情報として定義される。ビジネスプロセスを設計するための情報の一例としては、図２０に示されるように、プロセス設計者が、プロセス設計者向け対話画面２０００上で関数識別子２０３５を配置するものがある。プロセス形成部４００１は、プロセス設計者向け対話部４００２から受信した情報に基づき、ビジネスプロセスを生成又は修正する。
【０１６９】
図４１は、企業ビジネスプロセス管理システム１００が複数のプロダクトを用いることを示すブロック図である。プロセス形成部４００１は、数に制限のないプロダクトを用いることができる。図４１において、プロセス形成部４００１は、３つのプロダクト４１００、４１０１、４１０２（これらは、一例として示すものであり、プロセス形成部はこの構成に限定されるものではない）を用いる。通常、プロダクトは、複数の関数を有しているが、プロダクトは一つの関数のみを有するものであってもよい。さらに、関数自身がプロダクトであってもよい。また、ビジネスプロセスは、複数の関数及び／又はプロダクトを含んでいるが、ビジネスプロセスが関数として用いられる場合には、関数として構成されている。企業ビジネスプロセス管理システムにより生成されたビジネスプロセスは、関数により再帰的に用いられる。さらに、企業ビジネスプロセス管理システムにより生成されたビジネスプロセスは、プロダクトにより再帰的に用いられる。
【０１７０】
図４１において、プロダクト４１００は、関数４１１０、４１１３を有している。プロダクト４１０１は、関数４１１１を有している。プロダクト４１０２は、関数４１１２、４１１４を有している。図４１は、プロセス形成部４００１が、関数４１１０、４１１１、４１１２、４１１３、４１１４の中から、関数４１１１、４１１２、４１１３を選択し、ビジネスプロセス４１５０を生成又は修正する一例を示したものである。プロダクト４１００、４１０１、４１０２は、ベンダが提供するプロダクトと同一又は異なるものである。また、プロセス形成部４００１は、設定を選択し、設定の選択を許可する。通常、関数は、個々のビジネスの必要性を満足するために、ビジネスによって調整可能ないくつかの設定を提供する。いくつかの関数は、ビジネス（又は、プロセス設計者４００３）によって調整されることのない、唯一の固定された設定を提供する場合もある。いくつかの関数は、まったく設定を有しない場合もある。図４１において、関数４１１０は、３つの設定、設定Ａ、設定Ｂ、設定Ｃを有している。関数４１１１は、唯一の固定された設定Ｄを有している。関数４１１２、４１１３、４１１４は、設定を有していない。図４１は、プロセス形成部４００１が、関数４１１３の設定Ａ、Ｂの中から設定Ｂを選択し、ビジネスプロセス４１５０を生成又は修正する一例を示したものである。ビジネスプロセス４１５０は、関数４１１１の設定Ｄと、関数４１１２と、関数４１１３の設定Ｂとを用いる。ビジネスプロセス４１５０は、ビジネスプロセス４１５０内部に物理的に関数と設定とを含んでいる場合もあるし、ビジネスプロセス４１５０内部に物理的に関数と設定を含んでいないが、ビジネスプロセス４１５０の物理的な場所の外部に存在する関数と設定とにアクセスできるようになっている場合（関数は物理的に異なる場所に設けられるが、有線又は無線通信によってアクセス可能となっているなどの場合）もある。プロセス形成部４００１は、同一又は複数のベンダから提供される、複数の異なる設定を有する同一の関数を選択する。
【０１７１】
プロセス形成部４００１での関数と設定の選択は、プロセス設計者向け対話部４００２から受信した情報に基づくものである。また、プロセス形成部４００１での関数と設定の選択は、関数及び／又は設定の比較に基づくものである。図４１において、プロセス形成部４００１は、有効性比較部４１２０を含んでいる。有効性比較部４１２０は、よく考えて構成された一実施例において、関数及び／又は設定の有効性を比較する部分である。プロセス形成部４００１は、プロセス設計者向け対話部４００２から受信した情報に基づき、関数を選択する。
【０１７２】
プロセス設計者向け対話部４００２から受信する情報の一例としては、図２０に示したプロセスステップ定義領域２０１５上で３つの関数識別子２０３５を選択するものがある（説明を簡単にする目的のため、ここでは、３つの関数識別子を、関数Ｘ、Ｙ、Ｚと呼ぶことにする）。関数Ｘは、関数４１１１又は４１１４によって実現されている。関数Ｙは、関数４１１２によって実現されている。関数Ｚは、関数４１１３によって実現されている。プロセス形成部４００１は、関数Ｙ、Ｚとして、関数４１１２、４１１３を選択する。有効性比較部４１２０は、関数４１１１と関数４１１４の有効性を比較し、関数４１１１を関数Ｘとして選択する。また、有効性比較部４１２０は、関数４１１３の設定Ａ、Ｂ、Ｃの有効性を比較し、関数４１１３の設定Ｂを選択する。プロセス形成部４００１は、関数４１１１の設定Ｄと、関数４１１２と、関数４１１３の設定Ｂを用いるビジネスプロセス４１５０を生成する。
【０１７３】
有効性比較部４１２０で有効性を比較する方法には、様々な方法がある。例えば、有効性比較部４１２０は、計算機シミュレーションによって、関数と設定の有効性を評価することも可能である。それに代わる方法として、有効性比較部４１２０は、ベンダのプロダクトに含まれる情報から得られた情報に基づいて、関数と設定の有効性を評価することも可能である。有効性比較部４１２０は、ベンダの関数と設定の強みと弱みを比較する。有効性比較部４１２０は、異なるベンダから提供された関数と設定の有効性を比較し、例えば、データ品質問題などの特定の企業の課題を扱う上で最も有効な関数の設定を選択するように構成することが可能である。
【０１７４】
なお、有効性比較部４１２０は、異なる関数又は設定の有効性の評価に加え、関数と設定の複製の有効性を評価することも可能である。この比較は、同一のシステム又はプラットフォーム、あるいは複数の異なるシステム又はプラットフォームに存在する関数及び／又は設定の複数に対して行われる。例えば、同一の関数（又は関数の複製）は、複数の異なるオペレーティングプラットフォーム上に置くことが可能であり、さらに、関数の複製が、複数の異なるプラットフォーム上で実行される際には、これらを別々に実行することが可能である。一つの場合として、Ｗｉｎｄｏｗｓに基づくプラットフォーム上に関数が存在する場合には、その関数は、Ｌｉｎｕｘに基づくプラットフォーム上で動作する関数の複製よりも低い速度で動作する。次に、有効性比較部４１２０は、関数（すなわち、同一の関数の複製）の、それらが存在するプラットフォームでの有効性を評価し、どの複製が適切なものかを選択する。
【０１７５】
有効性比較部４１２０は、様々な要素の中から、関数と設定の速度と効率の要素を比較することにより、関数と設定の有効性を評価する。例えば、一つの設定又は関数が、許容されることができないほど低速で動作する場合には、その関数又は設定は、所定の時間制限の中では結果を戻すことができないようなプロセスを生成する結果をもたらすものとなる。従って、有効性比較部４１２０は、所定の時間制限の中でデータを処理できるような、異なる設定又は関数を選択する。あるいは、有効性比較部４１２０は、処理するデータの信頼性、正確性などに基づいて、複数の異なる設定と関数の中から選択することも可能である。なお、有効性比較によって、戻される結果について、多くの要素の中でも、時間制約と正確性の要素を評価し、特定のプロセス、関数又は設定の全体的な性能を比較することが可能であることは、当業者であれば自明なことである。
【０１７６】
図４２は、企業ビジネスプロセス管理システム１００が複数のビジネスアプリケーションを用いることを示したブロック図である。図４１に示した一例では、ビジネスアプリケーション４２００は、関数４２１０、４２１３、４２１６を有している。ビジネスアプリケーション４２０１は、関数４２１１、４２１４、４２１７を有している。ビジネスアプリケーション４２０２は、関数４２１２、４２１５を有している。図４１は、プロセス形成部４００１が、関数４２１２、４２１３、４１２７を選択し組み合わせて、ビジネスプロセス４２５０を生成又は修正する一例を示している。関数４２１０、４２１１、４２１２、４２１３、４２１４、４２１５、４２１６、４２１７の全て又は一部は、設定を含んでいる。企業ビジネスプロセス管理システム１００は、企業に対して、“最良の”ビジネスプロセスを組み合わせて用いて、ビジネスプロセス全般についてより高い効果を達成することができるようにする。複数の異なるビジネスアプリケーションの関数を組み合わせることにより、特定の効果や、より高い総合的な効果をもたらす他の基準のために、関数を組み合わせた、特定の新しい又は修正されたビジネスプロセスを構成することができる。例えば、いくつかのデータ品質プロセスは、その各々は、同一又は複数の異なるビジネスアプリケーションから得られるものであり、複数のデータ品質ビジネスアプリケーションの各々を単独で適用する場合に比べて、より高い総合的なデータの正確性（％）を達成するような、単一のデータ品質ビジネスプロセスを構成するように定義することが可能である。各ビジネスプロセスアプリケーションは、異なるベンダから提供されたプロダクトである場合もあるし、そうでない場合もある。企業ビジネスプロセス管理システム１００は、異なるビジネスアプリケーションにより提供される関数の中から、好ましい、あるいは“最良の”関数の組を選択することができる。
【０１７７】
企業ビジネスプロセス管理システム１００は、プロセス設計者４００３（又は代わりとしてユーザ）に対して、次のものに限定されるものではないが、プロダクト名称、プロダクト種類、バージョン、プロダクトテンプレートなどの情報を入力することにより、プロダクトを追加できるようにしている。バージョンを入力するために、企業ビジネスプロセス管理システム１００は、バージョン入力部を有している。バージョン入力部は、バージョンに関する情報を入力するための部分である。図１７は、バージョン入力部の一例を示すものである。図３０は、バージョン入力部の他の例を示すものである。
【０１７８】
企業ビジネスプロセス管理システム１００は、プロセス設計者４００３（及び／又はユーザ）に対して、プロダクトのプラットフォームを入力できるようにしている。プラットフォームの典型的な例は、オペレーティングシステムである。企業ビジネスプロセス管理システム１００は、プラットフォーム入力部を有している。プラットフォーム入力部は、プラットフォームに関する情報を入力するための部分である。図３２は、プラットフォーム入力部の一例を示すものである。プロダクト４１００、４１０１、４１０２は、同一又は異なるプラットフォーム上に存在する。ビジネスアプリケーション４２００、４２０１、４２０２は、同一又は異なるプラットフォーム上に存在する。
【０１７９】
企業ビジネスプロセス管理システム１００は、バージョン図的表示部を有している。バージョン図的表示部は、バージョンに関する図的情報を表示する部分である。図４３は、バージョン図的表示部の一例として、バージョン画面４３００を示すものである。図４３に示すように、バージョン画面４３００は、木構造を表示する。インターフェース４３０１は、木構造の第一レベルである。一つのインターフェース４３０１は、一つあるいはそれ以上の数のリリース４３０２を有しており、これらは、木構造の第二レベルである。一つのリリース４３０２は、一つあるいはそれ以上の数の実装４３０３を有しており、これらは、木構造の第三レベルである。図４３は、インターフェース４３０１とリリース４３０２を組み合わせて、バージョン番号を構成することを示している。例えば、番号“１”を有するインターフェース４３０１と、番号“．１”を有するリリース４３０２とが、バージョン番号“１．１”を構成する。本実施例では、実装４３０３には、バージョン番号が付与されていない。オペレーティングシステムの名称が、実装４３０３に割り当てられている。通常、実装４３０３は、オペレーティングシステムであるが、プロダクト又はビジネスアプリケーションが実装される任意の実体物であってよい。例えば、同一のバージョン番号１．１を有する２つのワードプロセッサプロダクトが、二つの特定の計算機に対して開発された場合には、この実装は計算機となる。
【０１８０】
図４４は、バージョン図的表示部の他の実施例を示すものである。本実施例では、数字が実装４４０３に割り当てており、実装４４０３にはバージョン番号が付与されている。例えば、インターフェース４４０１が番号“１”を有し、リリース４４０２が番号“．１”を有し、実装４４０３が“．１”を有する場合には、バージョン番号は“１．１．１”になる。
【０１８１】
インターフェース４３０１、４４０１及びリリース４３０２、４４０２ならびに実装４３０３、４４０３は、アイコンによって表現されている。図４３及び図４４において、これらは、同じ形状を持つアイコンによって表現されている。しかし、各アイコンは、異なる形状、色、デザインなどを有するものであってもよい。また、アイコンを用いる代わりに、他の指示手段（例えば、単純なドットや文字列）を用いることもできる。アイコン又は他の指示手段は、フォルダであってもよい。よく考えられた実施例において、フォルダとは、クリック操作によって開いたり閉じたりする指示である。フォルダをクリックして開くと、木構造の下位レベルが画面に表示される。フォルダをクリックして閉じると、木構造の下位レベルは画面上から消される。
【０１８２】
プロセス設計者４００３及び／又はユーザは、複数の指示手段の中から少なくとも一つを選択することにより、ビジネスプロセスを生成又は修正するために用いるプロダクトを選択することが可能である。例えば、プロセス設計者４００３は、特定のオペレーティングシステムに実装されたバージョン番号１．１をもつプロダクトを選択するために、マウスカーソルによって、アイコン４３０４をクリックする。これにより、ユーザは、ビジネスに適したバージョンを利用することが可能となる。
【０１８３】
図４５は、企業ビジネスプロセス管理システム１００が、バージョンを持つ複数のプロダクトを用いることを示したブロック図である。本明細書では、異なるバージョンを持つプロダクトは、たとえプロダクトの名称が同一のものであっても、異なるプロダクトから構成されている。また、本明細書では、異なるプラットフォームを持つプロダクトは、たとえプロダクトの名称が同一のものであっても、異なるプロダクトから構成されている。企業ビジネスプロセス管理システム１００は、異なるバージョンを持つプロダクト及び／又はプラットフォームの中から関数と設定を選択し、ビジネスプロセスを生成又は修正することが可能である。また、プロセス設計者４００３及び／又はユーザは、特定のバージョンを持つプロダクト及び／又はプラットフォームを選択して、ビジネスプロセスを生成又は修正することが可能である。
【０１８４】
図４５において、プロダクト４５００は、プロダクト名称“Ｄａｔａ Ｑｕａｌｉｔｙ”を有し、そのバージョンは１．０であり、プラットフォームはＵＮＩＸ（登録商標）である。プロダクト４５０１は、プロダクト名称“Ｄａｔａ Ｑｕａｌｉｔｙ”を有し、そのバージョンは１．１であり、プラットフォームはＵＮＩＸである。プロダクト４５０２は、プロダクト名称“Ｄａｔａ Ｑｕａｌｉｔｙ”を有し、そのバージョンは２．０であり、プラットフォームはＬＩＮＵＸである。プロダクト４５０３は、プロダクト名称“Ｓｅａｒｃｈ  Ｎａｍｅ”を有し、そのバージョンは１．０であり、プラットフォームはＵＮＩＸである。プロダクト４５００は、関数４５１０、４５１２を有している。プロダクト４５０１は関数４５１０、４５１２を有している。プロダクト４５０２は、関数４５１１、４５１４を有している。プロダクト４５０３は、関数４５１５を有している。関数４５１２は、設定Ａ、Ｂ、Ｃ、Ｄを有している。関数４５１３は、設定Ｅ、Ｆ、Ｇを有している。関数４５１４は、設定Ｈ、Ｉ、Ｊを有している。図４５において、プロセス形成部４００１は、ビジネスプロセス４５５０を生成又は修正するために、関数４５１１と、関数４１１２の設定Ｃと、関数４５１５とを選択する。
【０１８５】
プロダクト４５００、４５０１、４５０２は、同一のプロダクト名称を有している。関数４５１１は、関数４５１０よりも効果が改善されているが、関数４５１１は、Ｌｉｎｕｘプラットフォームのみで利用可能である。プロセス形成部４００１は、異なるプラットフォーム上の関数とやりとりするために、関数４５１１を選択することにより性能を改善できる。プロダクト４５０１との互換性を考慮することにより、設定Ｃでは、関数４５１２を選択する。関数４５１５は、関数４５１１と４５１２と組み合わせるために選択される。このようにして、ビジネスプロセス４５５０を生成又は修正するために、同一のプロダクト名称を有するプロダクトの異なるバージョン又はプラットフォームを組み合わせることができる。異なるバージョンとプラットフォームの関数を混在させることにより、企業ビジネスプロセス管理システム１００は、単一のバージョンや単一のプラットフォームのみを有するプロダクトを用いる場合よりも、より効果的なビジネスプロセスを生成又は修正することができる。
【０１８６】
特定の環境で、異なるインターフェース４３０１、リリース４３０２及び実装４３０４を組織し利用する能力は、今日の多くのビジネスにとって重要な課題となっていることは、当業者にとってよく理解されているところである。上述の構造と、ここで説明した企業ビジネスプロセス管理システム１００とを用いることにより、この課題を解決することが可能である。
【０１８７】
当業者にとってよく理解されているように、また、前述の内容から、異なる実装、リリース及びバージョンは、単に、用いることが可能な関数である。例えば、企業ビジネスプロセス管理システム１００を用いる方法には、少なくとも２つの方法がある。第一の方法は、異なる実装４３０３を、システム１００内の異な部分で用いる場合に、古い実装４３０３を、より最新の実装４３０３で置き換えるために、企業ビジネスプロセス管理システム１００を用いることである。第二の方法は、もし異なる実装４３０３を同時に実行させることが望ましい場合に、この実行動作が可能となるように、企業ビジネスプロセス管理システム１００を構成することである。
【０１８８】
時間が経過した後、実装４３０４、リリース４３０２及びインターフェース４３０１を更新して置き換える際には、古いバージョンを自動的に検索し、新しいバージョンと置き換え、それにより全体の更新を簡単かつ効率的に行えるように、企業ビジネスプロセス管理システム１００を構成することができる。
【０１８９】
当業者にとってよく理解されているように、実装は、インターフェース要求の条件を満足するものである。実装は、実装を実行可能な一つあるいはそれ以上の数の計算機、システム又はプラットフォーム上に配備される。すなわち、実装は、単一のバージョンを表すものではあるが、Ｍ台の計算機に対して配備することが可能である。また、バージョンは、システム内での拡大係数を表すものでもある。
【０１９０】
例えば、プロセス設計者４００３がプロセスを生成する際には、バージョンと、バージョンの特定の実装は、それがインターフェースであるか、リリースであるか、実装であるかに関わらず、その上でバージョンがシステムを越えて実行できる計算機の範囲を表している。このような拡大を行うためのシステムスケールと意思決定について、以下に説明する。
【０１９１】
上述したように、本実施例では、インターフェースは、バージョンに関する抽象度の最上位のレベルを表しており、さらに、拡張性の最上位のレベルを表している。インターフェースがプロセスの中で用いられる際には、プロセスが実行中であるときに、リリースと実装に関して、その中から選択する完全な範囲をプロセスが有していることを、システムに通知される。このことは、システムがプロセスを実行可できる範囲は広いものであることを潜在的に表していることに他ならない。
【０１９２】
一実施例では、インターフェースのＴｏｏｌ．１は、Ｔｏｏｌ．１．１、Ｔｏｏｌ．１．２〜Ｔｏｏｌ．１．Ｎで表されるＮ個のリリースを有しており、各リリースは、Ｔｏｏｌ．１．１．Ｐ（１）、Ｔｏｏｌ．１．２．Ｐ（２）〜Ｔｏｏｌ．１．Ｎ．Ｐ（３）で表されるＰ個の実装を有しているならば、このインターフェースがプロセスで用いられる際には、プロセス設計者４００３がそのように決定したならば、システムは、実装が配備された各機器（Ｍ）の各リリース（Ｎ）で各実装（Ｐ）用いることができる。プロセス設計者に対しては、インターフェースの利用は、単一のバージョンを表している。システムに対しては、インターフェースの利用は、プロセスの要求を満足させるために、どの程度システムを拡大するかについての命令に対応する。
【０１９３】
リリースとは、インターフェースに相当するものである。しかし、システムを最大限利用するためにシステムの動作をどの程度拡大できるかについては、リリースは制限を受ける。インターフェースとリリースとの間の一つの違いは、リリースは、その特定のリリース（例えば、リリースの“子供”）のみに含まれ、他のリリースには含まれない実装を利用できるように、拡大することが可能であるという点である。この例では、プロセス設計者に対して、リリースの利用も、単一のバージョンを表している。システムに対しては、リリースの利用は、（リリースの子供である）実装を、プロセスの選択されたステップを実行する際に用いられる実装のみとするために、どの程度システムを拡大するかの命令に対応する。
【０１９４】
よく考えられた一実施例では、実装は、システム内での最小の拡大量を提供するものとなっているが、その理由は、その拡大量が、システムが特定のプロセスを実行するために用いる最大Ｍ個の潜在的な計算機の個数を表しているためである。なお、バージョンをプロセスで用いる際には、バージョンは、単一のステップを表すものとなり、そのステップが、前のステップと独立しているか独立していないかに応じて、ステップを順次実行するかしないかが決められる。しかし、システムに対しては、バージョンは、単一の計算機のみで実行可能な単一のステップを表すものではなく、当該ステップを実行するために用いることができる計算機の数を表すものとなる。
【０１９５】
以下で示す例は、上記の一例である。ここでは、総数Ｔのトランザクションが、インターフェースで利用可能な総数Ｍの計算機で処理することができるものと仮定する。ビジネスプロセスの１ステップは、Ｍ個の計算機で並列に実行される場合には、ｔの処理時間を要するものとする。処理時間ｔは、トランザクションの総数Ｔを、計算機の総数Ｍで割り、さらに、各トランザクションを処理するのに必要な平均時間を掛けた値である。ここで明らかなように、インターフェースで利用可能な計算機の数が大きいほど、ビジネスプロセスは、各計算機で必要となる処理時間には依らず、より速く実行されるものとなる。
【０１９６】
各計算機は、ビジネスプロセスでのステップを同一の速度で実行できないことは、当業者によってよく理解されるところである。従って、各計算機が、同一の数のトランザクションを扱う場合には、ステップを実行するのに必要な全処理時間は、インターフェースで利用可能な計算機の中の、最も低速な計算機の処理時間となる。全処理時間をさらに短くするためには、インターフェースには、低速な計算機よりも多量のトランザクションを処理できる、より高速な計算機が必要となる。従って、これらの要因の間のバランスをとり、インターフェースで利用可能な様々な計算機に対して最も効率的な処理を確立できるように、インターフェースを構成する必要がある。
【０１９７】
最も単純な例としては、１００個のトランザクションを同一のプロセスで処理する必要があり、そのプロセスは、インターフェースを表すプロセスを含んでおり、そのインターフェースは、１００個の潜在的な計算機を表しており、個々の計算機は実装を含んでいると仮定した場合には、各トランザクションは、同一の時間に（並行して）実行することが可能となる。プロセス自身は、単一のプロセスとして表されているが、システムは、潜在的な実装ごとに拡大するものとなっている。本例では、各計算機は、同一の速度でトランザクションを実行することを仮定すると、トランザクションの処理は、単一の計算機のみが単一のプロセスの実行に依存している場合に必要となる処理時間の１／１００の時間で完了する。
【０１９８】
本発明を、その例示された実施形態を説明してきたが、ここで用いられている語句は、説明のための語句であり、限定のための語句ではない。発明の範囲と趣旨を逸脱せず、添付の請求項の範囲内であれば、修正を行うことが可能である。本発明は、特定の構造、動作及び材料に関して説明してきたが、本発明はこれら開示した特定物に限定されることはなく、請求の範囲に含まれるものとして、全ての等価な構造、動作及び材料に拡張されるものである。
【０１９９】
付録Ａ
The Product Template Layout
プロダクトテンプレート構成
Compile Link Type
Section heading:  /*Link Type*/
Run-time: If you are linking to .DLL without using header or .lib files
Compile-time: If the Product that you are calling has headers and .lib files
コンパイルリンク種類
セクション見出し： /* Link Type */
実行時：ヘッダ又は.libライフを用いないで.DLLにリンクしようとする場合
コンパイル時：コールしているプロダクトが、ヘッダと.libファイルを有している場合
File Locations
Section heading:  /* File Locations */
Header: Provide the Location of the Header File
Compile-time: Provide the Location of the Lib File
ファイル位置
セクション見出し： /* File Locations */
ヘッダー：ヘッダファイルの位置を提供する
コンパイル時：ライブラリファイルの位置を提供する
Global Definitions
Section heading:  /*Global Definitions*/
This is where you would define any Global Variables to be used by all Processes.
See examples
グローバル定義
セクション見出し： /* Global Definitions */
全てのプロセスで用いる任意のグローバル変数を定義する場合のもの
例を参照のこと
Global Initialization Variables
Section heading:  /* Global Initialization Variables */
This section is used if you would have to define any Initialization Variables that are to be used by the all Processes
See examples
グローバル初期化変数
セクション見出し： /* Global Initialization Variables */
全てのプロセスで用いる任意の初期化変数を定義する必要がある場合に、本セクションを用いる
例を参照のこと
Global Initialization Function(s)
Section heading:  /* Global Initialization Function(s) */
Function calls to product that are used by all Processes
See examples
グローバル初期化関数
セクション見出し： /* Global Initialization Function(s) */
全てのプロセスによって用いられるプロダクトへのファンクションコール
例を参照のこと
Global Termination Variables
Section heading:  /* Global Termination Variables */
This section is used to define any Variable that are necessary for Global Termination Functions.
グローバル終了変数
セクション見出し： /* Global Termination Variables */
このセクションは、グローバル停止関数に必要な任意の変数を定義するために用いられる。
Global Termination Function(s)
Section heading:  /* Global Termination Function(s) */
Function calls to products that are used by all Processes
See examples
グローバル終了関数
セクション見出し： /* Global Termination Function(s) */
全てのプロセスによって用いられるプロダクトへのファンクションコール
Headers
Section heading:  /* Headers */
This is where the header names are defined
Example: #include “Header.h”
See examples
ヘッダ
セクション見出し： /* Headers */
ヘッダ名称を定義するセクションである
例：#include “Header.h”
例を参照のこと
Variables
Section heading:  /* Variables */
This is where you define the Variables that are to be used by this product
変数
セクション見出し： /* Variables */
プロダクトによって利用する予定のある変数を定義するセクションである
Memory Allocation
Section heading:  /* Memory Allocation */
If there is a need to allocate memory for a variable or data structure then add the code here
メモリ割当て
セクション見出し： /* Memory Allocation */
変数又はデータ構造に対してメモリを割り当てる必要がある場合、コードをここに追加する
Setup for Function Call
Section heading:  /* Input */
This is where you would setup the parameters that are to be passed to the Product 
ファンクションコールのセットアップ
セクション見出し： /* Input */
プロダクトに渡される予定のパラメータをセットアップするセクションである
Product Call
Section heading:  /* Function(s) */
This is where the function call to the product would go 
See example
プロダクトコール
セクション見出し： /* Function(s) */
プロダクトに対するファンクションコールを行うセクションである
例を参照のこと
Output Of Function Call
Section heading:  /* Output */
This is where you would copy the results of the function call to the Output Packet if necessary
See examples 
ファンクションコールの出力
セクション見出し： /* Function(s) */
必要に応じ、出力パケットへのファンクションコールの結果をコピーするセクションである
例を参照のこと
Memory De-allocation
Section heading:  /* Memory Deallocation */
If you allocated memory for any data structures above then you would de-allocate them here
メモリ割当て解除
セクション見出し： /* Memory Deallocation */
上記のいずれのデータ構造に対してメモリを割当てた場合、このセクションでメモリの割当て解除を行う。
【図面の簡単な説明】
【０２００】
本発明の少なくとも一つの実施例についての以下の詳細な説明と以下の図面から構成されたものを考慮することにより、本発明の利点を容易に評価し理解することができる。
【図１】図１は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムで実装あるいは利用されるシステムの説明図である。
【図２】図２は、本発明の少なくとも一実施例において、設計されたサーバを実装するために使用可能な装置の概略ブロック図である。
【図３】図３は、本発明の少なくとも一実施例において、企業ビジネスプロセスサーバの企業データ品質アプリケーションの機能ブロック図である。
【図４】図４は、本発明の一実施例において、データソース／送り先と、製品とプロセスとの関係を図示した機能ブロック図である。
【図５】図５は、本発明の少なくとも一実施例において、システムを実装するために用いられる装置を図示した機能ブロック図である。
【図６】図６は、本発明の少なくとも一実施例において、起業ビジネスプロセス管理システムによって用いられる方法を示すフローチャートである。
【図７】図７は、本発明の少なくとも一実施例において、経営者向け画面（ｖｉｅｗ）のためのエラー報告の一例である。
【図８】図８は、本発明の少なくとも一実施例において、顧客サポート向け画面（ｖｉｅｗ）のためのエラー報告の一例である。
【図９】図９は、本発明の少なくとも一実施例において、個人向け画面（ｖｉｅｗ）のためのエラー報告の一例である。
【図１０】図１０は、本発明の少なくとも一実施例において、管理者向け画面（ｖｉｅｗ）のためのエラー報告の一例である。
【図１１】図１１は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムのためのビジネスプロセスを確立する方法のフローチャートである。
【図１２】図１２は、本発明の少なくとも一実施例において、ビジネスプロセスを生成するためのグラフィカルユーザインターフェースのユーザ向けの対話画面（ｉｎｔｅｒａｃｔｉｏｎ  ｐａｇｅ）の一例である。
【図１３】図１３は、本発明の少なくとも一実施例において、プロセスのためのデータソースを追加するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。
【図１４】図１４は、本発明の少なくとも一実施例において、プロセスのための入力パケットを定義するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。
【図１５】図１５は、本発明の少なくとも一実施例において、プロセスのための出力パケットを定義するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。
【図１６】図１６は、本発明の少なくとも一実施例において、プロセスに対して、製品を選択するためのグラフィカル・ユーザ・インターフェースのユーザ向けの対話画面の一例である。
【図１７】図１７は、本発明の少なくとも一実施例において、プロセスとともに利用する製品を追加するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。
【図１８】図１８は、本発明の少なくとも一実施例において、プロセスとともに利用する製品を追加するためのグラフィカル・ユーザ・インターフェースのユーザ向けの対話画面の一例である。
【図１９】図１９は、本発明の少なくとも一実施例において、プロセスを確立するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。
【図２０】図２０は、本発明の少なくとも一実施例において、プロセス設計者向けインターフェースのグラフィカルユーザインターフェースの対話画面の一例である。
【図２１】図２１は、本発明の一実施例において、ビジネスプロセスのコード実装を構築するために、企業ビジネスプロセスサーバにより用いられる一連のビルドファイルを示すものである。
【図２２】図２２は、本発明の一実施例において、新しいルータの動的リンクライブラリを構築する方法を示すものである。
【図２３】図２３ａ〜ｄは、本発明の少なくとも一実施例において、ビジネスプロセスを実装する方法を示すフローチャートである。
【図２４】図２４は、本発明の一実施例において、ビジネスプロセスの定義に含まれる関数、プロセス及び製品（例えば、ツール）の間の関係を示す機能ブロック図である。
【図２５】図２５は、本発明の一実施例において、関数を概観する対話画面の一例である。
【図２６】図２６は、本発明の一実施例において、プロセス設計者向け対話画面のプロセス定義領域の一例である。
【図２７】図２７は、本発明の一実施例において、関数ライブラリの中からプロセスステップの一要素を選んで追加する状況を示す対話画面の一例である。
【図２８】図２８は、本発明の一実施例において、プロセス設計者向け対話画面のプロセス定義領域で、プロセスステップをリンクする状況を示す対話画面の一例である。
【図２９】図２９は、本発明の少なくとも一実施例において、プロセスステップの一要素について条件状態を定義する対話画面の一例である。
【図３０】図３０は、本発明の一実施例において、製品定義のための対話画面の一例である。
【図３１】図３１は、本発明の一実施例において、データの送り先定義のための対話画面の一例である。
【図３２】図３２は、本発明の一実施例において、製品選択のための対話画面の一例である。
【図３３】図３３は、本発明の一実施例において、関数テンプレートファイル画面の内容の一例である。
【図３４】図３４は、本発明の一実施例において、関数設定のための対話画面の一例である。
【図３５】図３５は、本発明の一実施例において、プロセステスト担当者のための対話画面の一例である。
【図３６】図３６は、本発明の一実施例において、プロセステスト担当者のための対話画面の多くのデータが含まれている設計領域を示すものである。
【図３７】図３７は、本発明の一実施例において、接続定義のための対話画面の一例である。
【図３８】図３８は、本発明の一実施例において、比較処理を行なうビジネスプロセスを示すものである。
【図３９】図３９は、本発明の一実施例において、インターフェースモジュールと、企業ビジネスプロセスサーバと、ルータとの関係を示すものである。
【図４０】図４０は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムのブロック図である。
【図４１】図４１は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる複数の製品の利用を示すブロック図である。
【図４２】図４２は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる複数のビジネスアプリケーションの利用を示すブロック図である。
【図４３】図４３は、本発明の少なくとも一実施例において、バージョンを表示するための画面の例を示す図。
【図４４】図４４は、本発明の少なくとも一実施例において、バージョンを表示するための画面の他の例を示す図。
【図４５】図４５は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる、異なるバージョンを有する複数の製品の利用を示すブロック図である。
【図１】
2008515056.tif 000003
【図２】
2008515056.tif 000004
【図３】
2008515056.tif 000005
【図４】
2008515056.tif 000006
【図５】
2008515056.tif 000007
【図６】
2008515056.tif 000008
【図７】
2008515056.tif 000009
【図８】
2008515056.tif 000010
【図９】
2008515056.tif 000011
【図１０】
2008515056.tif 000012
【図１１】
2008515056.tif 000013
【図１２】
2008515056.tif 000014
【図１３】
2008515056.tif 000015
【図１４】
2008515056.tif 000016
【図１５】
2008515056.tif 000017
【図１６】
2008515056.tif 000018
【図１７】
2008515056.tif 000019
【図１８】
2008515056.tif 000020
【図１９】
2008515056.tif 000021
【図２０】
2008515056.tif 000022
【図２１】
2008515056.tif 000023
【図２２】
2008515056.tif 000024
【図２３ａ】
2008515056.tif 000025
【図２３ｂ】
2008515056.tif 000026
【図２３ｃ】
2008515056.tif 000027
【図２３ｄ】
2008515056.tif 000028
【図２４】
2008515056.tif 000029
【図２５】
2008515056.tif 000030
【図２６】
2008515056.tif 000031
【図２７】
2008515056.tif 000032
【図２８】
2008515056.tif 000033
【図２９】
2008515056.tif 000034
【図３０】
2008515056.tif 000035
【図３１】
2008515056.tif 000036
【図３２】
2008515056.tif 000037
【図３３】
2008515056.tif 000038
【図３４】
2008515056.tif 000039
【図３５】
2008515056.tif 000040
【図３６】
2008515056.tif 000041
【図３７】
2008515056.tif 000042
【図３８】
2008515056.tif 000043
【図３９】
2008515056.tif 000044
【図４０】
2008515056.tif 000045
【図４１】
2008515056.tif 000046
【図４２】
2008515056.tif 000047
【図４３】
2008515056.tif 000048
【図４４】
2008515056.tif 000049
【図４５】
2008515056.tif 000050
【国際調査報告】
2008515056.tif 000051