JP2008515056A - ビジネスプロセス管理システムおよび方法 - Google Patents

ビジネスプロセス管理システムおよび方法 Download PDF

Info

Publication number
JP2008515056A
JP2008515056A JP2007533618A JP2007533618A JP2008515056A JP 2008515056 A JP2008515056 A JP 2008515056A JP 2007533618 A JP2007533618 A JP 2007533618A JP 2007533618 A JP2007533618 A JP 2007533618A JP 2008515056 A JP2008515056 A JP 2008515056A
Authority
JP
Japan
Prior art keywords
business process
data
function
business
enterprise
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007533618A
Other languages
English (en)
Inventor
ウォルシュ、ジョン、ジー.
ウォルシュ、ジェレミー
Original Assignee
データ クオリティー ソリューションズ、インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/141,710 external-priority patent/US20060020641A1/en
Application filed by データ クオリティー ソリューションズ、インコーポレイテッド filed Critical データ クオリティー ソリューションズ、インコーポレイテッド
Publication of JP2008515056A publication Critical patent/JP2008515056A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

複数のプロダクト又はビジネスアプリケーションを用いるためのビジネスプロセス管理システム及び方法である。ビジネスプロセス管理システムは、ビジネスプロセスを設計するための情報を受信するように構成されたプロセス設計者向け対話部と、プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含んでいる。プロセス形成部は、ビジネスプロセスを生成又は修正するために、複数のプロダクト又はビジネスアプリケーションを選択するように構成されている。ビジネスプロセス管理システム及び方法は、プロダクトの複数のバージョンを取り扱うインターフェースを提供する。

Description

本PCT出願は、優先権主張のために、2005年6月1日出願の正式な米国特許出願番号11/141,710と、2004年9月24日出願の正式な米国特許出願番号60/612,615に依存している。これら二つの出願の内容は、以下で記述するように、全体として、参照によって本明細書に組み込まれるものである。
2005年6月1日出願の正式な米国特許出願番号11/141,710は、2003年3月25日出願の出願番号10/396,134、現在は、米国特許番号6,920,474の一部継続出願であり、これは、2002年3月25日出願の米国仮出願番号60/366,547に対して優先権を主張するものであり、その内容についても、全体として、参照によって本明細書に組み込まれるものである。本PCT出願は、優先権主張のために、2003年3月25日出願の正式な米国特許出願番号10/396,134、現在は、米国特許番号6,920,474、あるいは、2002年3月25日出願の米国仮出願番号60/366,547に依存するものではない。
本開示は、著作権保護の対象となる情報を含んでいる。何人かによる、特許情報開示又は特許のファクシミリによる複製に対しては、それは米国特許商標局の資料又は記録に現れるものであるため、著作権の所有者は異議を唱えるものではない。しかし、著作権の所有者は、発明の理解を容易にするために提供された画面表示内の全ての著作権を含む、ここで説明した発明に関する、それ以外の全ての著作権を保持している。
発明の背景
2.発明の分野
本発明は、一般的に、ビジネスプロセス管理に関し、特に、計算機ベースのビジネスプロセス管理のための方法及びシステムに関するものである。
3.一般的な背景及び関連する従来技術の説明
情報の自動処理は、ある種のタスクのコストを大幅に削減するため、ビジネスに対して多大なる恩恵をもたらすようになってきた。各企業は、政府機関、営利事業あるいは非営利組織に関わらず、情報を管理するための運用上の必要性に迫られている。
このような情報は、顧客の獲得、注文の入力、製品の発送、顧客への請求、請求金の回収、従業員と業者への支払い、製品の注文、在庫の監査ならびに、例えば、営利事業の場合の従業員、顧客及び納入業者との間のトランザクション記録の保存に用いられる。
情報は、通常の事象の経過の中で、各組織の内部運営モデルに従い、ソフトウェア、計算機ハードウェア及びデジタルネットワークを用いて獲得され、処理され、連結される。
残念なことに、情報の自動化処理は、特に、企業内でのデータストアが不正確となる場合には、ビジネスに対するいくつかの問題を有することとなる。不正確な情報を自動処理することは、企業の営みとするビジネスと、企業自身の運営に対して多大なコストをもたらすこととなる。さらに、望ましくない結果を正すための時間、労力、出費は、組織の資源へ大きな影響を与える。
組織のエラーに対する影響の典型的な例として、以下に示すものがある。
(1)同一の提供物でありながらその複数のコピーを、受取人が郵便で受け取ると、(a)発信人は、郵便代と印刷代を無駄にし、(b)受取人は、無駄による悪影響を受け、結果として商品の注文を取りやめてしまう。
(2)郵便システムとその他の信書と荷物の発送人が、発送人の郵送物の多くの割合を、意図した受取人に対して届けることができないと、(a)商品は時間どおり配達されず、不正確な郵送先のために発送人に返送されてしまい、(b)正確な郵送先を決めて、商品を再梱包し再発送するための労力が高くつき、(c)請求書が返送され、支払いが時間通りに行われなかったり、まったく支払われることなく、(d)正確な郵送先を決めて、請求書を再発送するための労力が高くつき、(e)顧客は、粗末なサービス内容に嫌気がさして、結局、他の業者が見つかれば、その業者に鞍替えし、最終的に、(f)顧客サービス、請求、集配、発送の全てに関して、それらの機能を全うするために更なる資源が必要となる。
(3)個々の運営部門が、顧客に関する不正確な情報を抱えてしまうと、(a)情報を全社的な労力が不完全となり、コスト高となり、その労力を長い期間にわたり使い続けることになり、(b)各運営部門でのエラーは、それらが連結された際に、全体のエラー率を上昇させてしまい、意味のある分析能力を阻害してしまう。
(4)不完全で不正確な情報は、データウェアハウス、データ市場、運営データの格納、顧客情報ファイルと、CRM、ERP、SCMのために集中化されたデータストアや他の集中化されたプロセスにおいて連結され、(a)個々の顧客と、顧客のセグメントの市場価値とその潜在購買力の予測が不正確となり、貴重な市場機会を失い、(b)顧客サービスは適切なサービスを提供できなくなり、結果として、サービスに対する不満足が原因で顧客を失い、(c)詐取をすぐに見破ることができず、企業として高額の詐欺に遭ってしまう。
(5)運営部門が、正確な税金管轄権と税金の割当を決定することができず、(a)企業は、顧客に対して正しい税金を請求できず、正しい当局に正しい金額を支払うことができず、(b)課税当局は、企業から適正な税金を徴収できず、(c)消費者は、穂なりよりも高額の税金を支払い、(d)法人として、税金管轄権者と顧客に不利益を与えてしまう。
(6)顧客は、不満を覚え、競合する他のサービスに乗りかえてしまう。
通常の大量郵送を例にすると、企業収入に対する誤った情報の影響は、容易に説明できる。当然、これは一例に過ぎないが、上述したものは、企業収入に対する他の多くの潜在的な影響を特定したものである。
会社は、様々な方法で、顧客情報を生成する。企業の一部門が収集する情報は、組織の他部門によって、その機能を果すためにしばしば利用される。もし、会社が小売販売会社やカタログ販売会社である場合には、顧客情報は、小売拠点やカタログ拠点において、会社のデータストアに入力されるか、インターネットを介して入力される。これらの3つの入力拠点の各々は、情報が不正確であったり、既存の情報の複製であったりする場所を示している。情報を収集し、処理し、連結する際に、情報の正確さになにがしかのエラーが発生すると、企業内の複数の機能の有効性に影響が及ぶ可能性がある。
顧客は、小売の段階で正確に入力された顧客情報を有することが可能である。その後、顧客は、カタログ部門を通して商品を購入する。その時点で、データ入力の専門家が、例えば、顧客名をデータストアに不正確に(例えば、人名の姓をスペルミスして)入力する可能性がある。さらに他の状況として、顧客は、インターネットを介して、商品を購入する場合もある。その際、顧客は、3回目の本人情報を提示することが求められる。この状況で、顧客が、姓を不正確に入力することも考えられる。従って、この例では、顧客情報は、3度入力されるが、そのうち2度は、不正確なものとなる。
格納された顧客のデータにより、会社は、カタログの最新バージョンを印刷し、その顧客に向けて発送する。対象となる顧客については、ビジネスデータストアに3つの独立したデータ項目が存在するため、その顧客は同一のカタログの3冊を受け取ることになる。容易に類推できることであるが、会社のデータストア中のエラーのために、カタログを印刷し郵送する会社の出費は、単純に計算すると3倍となる。
データ品質の問題は、多くのビジネスに存在する。従来技術では、データ品質の問題を最小限にとどめるために、いくつかの手法が提案されている。
データ品質に関する従来の方法には、ビジネスに対するベンダに特有な、又はアプリケーションに特有な様々な関数が含まれている。特に、会社のデータを自動的にレビューし、エラーを特定し、さらに、いくつかの場合には、これらのエラーを訂正するために、データ品質関数が設計されている。通常、異なるビジネス形態に柔軟に対応して、これらを行えるように、データ品質関数は、ビジネスの個々のニーズを満足する上で、調整可能ないくつかの設定を有している。
通常、ビジネスは、ビジネスが最も利益をもたらすように、特定のデータ品質関数に対する標準的な設定の組み合わせを持っている。例えば、これらの設定は、データストア中のエラーを削除し、データの95%が正確となる(きわめて良好な結果と思われる)状態になるまで、データストアを“クリーン”にする。
会社が複数の部門を含み、その各々が、重複する情報を格納した独立したデータストアを有する場合には、データ品質に関する問題は複雑化する。
上記の例では、会社は、3つの事業部門、すなわち、小売部門、カタログ部門、インターネット部門を有し、その各々が、独立した顧客情報データストアを含むものであった。各部門が、そのデータを“クリーン”にしようとする場合、通常、各部門は、データ品質ソリューションを購入し、そのソリューションを内部に適用しようとする。各部門が、95%の正確さをもつデータストアを構築しようと試みるならば、その結果は、きわめて良好といえよう。
さらに、会社が、連結したデータストアを構築しようとする場合には、各データストアのエラーが相乗して増えてしまうという問題が発生する。このような場合、各データストアは、同一のエラーを有するものとなる。組み合わせたデータストアは、0.95×0.95×0.95=0.857375の正確さを有するものとなる。すなわち、結果として構築されるデータストアは、概ね15%のエラー率となり、これは、組み合わされる前の各データストアの3倍のエラー率となる。よく認識されているように、この問題は、4つ以上のデータストアを組み合わせる場合に、特に顕著となる。
さらに、ベンダに特有な、あるいはアプリケーションに特有なデータ品質関数は、エラーの検出及び/あるいはエラーの訂正に対して、固有の利点と欠点とを併せ持つため、アプリケーションがデータを転送する際に、不注意から、エラーが企業規模に広がってしまう可能性もある。このような状況は、企業全体でのエラー率の倍数的な増加を引き起こすような望ましくない結果をもたらすことになる。
データ品質に対するソリューションは、ビジネスの運営に対して有益なものである一方、会社が、全社規模や事業部門のグループ毎に、複数の事業部門のために集中したデータストアを構築しようとする場合には、そのソリューションには、能力的な限界もある。
さらに、事業判断で、集中したデータストアを“クリーン”にするプログラムを開発することを希望する場合には、現行制度では、適切なソフトウェアを開発するために会社を保有することが求められる。ソフトウェアの開発は、いわゆる、ソフトウェア開発ライフサイクル(SDLC)に従う必要がある。
例えば、データ品質プロセスなどのビジネスプロセスの開発者が採用する既存のSDLCは、時間と資源に関してコストを要する、ライフサイクルの段階ごとにインターロックを設けて順序に従って進めるアプローチとなる。例えば、既知のSDLCは、順序に従って実行される以下の段階を含んでいる。すなわち、要求定義、全体設計、詳細設計、開発、テスト、品質保証チェック、試行、実装及び保守、修正の段階である。さらに、プロジェクトが段階を進む毎に、異なるスキルを持つ人員やサービスプロバイダが必要となる。例えば、要求分析/定義とテストの段階では、システムエンジニア又はビジネス分析専門家が必要となるが、設計段階では、ソフトウェアエンジニアが必要となる。プロジェクトが段階を引き継ぐことより、最終製品の中にエラーが組み込まれてしまい、プロジェクト期間の長期化やオーバーヘッドの増加、さらに、多数のプロジェクト人員投入により、コスト高となる。
さらに、設計作業の開始を承認するために、要求定義段階は任意に停止(すなわち、仕様“凍結”)させることもあるため、既知のSDLCは、ソフトウェアプロダクトに関する顧客の進化する要求に対して、柔軟性に欠け、その要求を十分に反映することが難しい。
さらに、従来技術では、ビジネス運営の中で様々なソフトウェアのアップグレードを管理することができないという問題もある。現状では、ソフトウェアをアップグレードする場合には、ビジネス運営上は、単に、アップグレードをインストールするだけである。
アップグレードは、少なくとも二つのレベルで問題となる。一つは、アップグレードは、ビジネス運営のネットワークの一部でのみ行われるという点である。従って、限られた数のビジネス部門のみは、アップグレードの恩恵を受けられるが、その他はそれが不可能となる。二つ目の問題は、アップグレードによって、稼働中のネットワークに対して望ましくないインパクト、さらに、ある場合には破局的なインパクトを与えてしまうことが、珍しくないということである。
従来技術には、上述したような欠点があり、その解決策が求められている。
発明の概要
従って、本発明の特徴の一つは、従来技術における多くの欠点を解決する、ビジネスプロセス管理システムとその方法を提供することである。
企業ビジネスプロセス管理システムは、一つ又はそれ以上の数のクライアントに接続された企業ビジネスプロセスサーバと、ルータと、インターフェースモジュールとを含んでいる。特に、本発明の企業ビジネスプロセス管理システムの少なくとも一つの実施例は、少なくとも一つのクライアントからデータを受信することが可能な企業ビジネスプロセスサーバと、企業ビジネスプロセスサーバからアクセス可能な少なくとも一つのルータと、少なくとも一つのルータからアクセス可能な少なくとも一つのビジネスプロセスとを含んでいる。企業ビジネスプロセスサーバは、ルータを介して少なくとも一つのビジネスプロセスにアクセスし、クライアントデータの少なくとも一つに関して少なくとも一つのビジネスプロセスを実行し、少なくとも一つのビジネスプロセスの関数として、ビジネスプロセス出力データを生成するように構成されている。さらに、企業ビジネスプロセス管理システムは、企業ビジネスプロセスサーバからアクセス可能で、プロセス設計者対話画面を出力するために企業ビジネスプロセスサーバとともに動作するインターフェースを含んでいる。プロセス設計者対話画面は、少なくとも一つのビジネスプロセスに関する命令を入力し、プロセス情報データを生成し、企業ビジネスプロセスサーバにプロセス情報データを送るように構成されている。さらに、企業ビジネスプロセスサーバは、プロセス情報データに応じて、ビジネスプロセスのための命令セットをビルドする。
本発明の少なくとも一つの実施例では、企業内に存在するアプリケーションデータとトランザクションデータの定量的および定性的な側面について、決定し、分析し、拡張し、報告する企業データ品質管理システム及びその方法が提供される。
本発明の他の面として、データエラーの発生場所を特定するために、データ処理の様々なレベルでエラー報告が行われる。
また、本システムと方法は、様々なグラフィック表示によって、エラーが発生している個所に関する情報を提示し、ビジネスが、将来発生する可能性のあるエラーを回避しエラーを訂正(あるいは、少なくとも最小にとどめる)するようにしたものである。
さらに、本発明の実施例は、SDLCの期間を短くして、プロジェクト開発期間を短縮化しプロセスを簡素化するように、既知のSDLCステップを組合せて、プロジェクト開発期間を短縮し、プロセス自身を簡素化し、以って、時間とコストの大幅な削減をもたらすものである。
例えば、一実施例においては、要求定義、全体設計、詳細設計及び開発の各段階は、対話的にプロセス設計者を活用することにより、一つの段階の中で同時に進行させることが可能である。
さらに、本発明の一実施例においては、上述したように定義され実装されたビジネスプロセスに対してテストデータを適用することにより、既知のSDLCのテスト、品質保証および試行の各段階を、単一の段階の中で同時に進行させることが可能である。
さらに、本発明の一実施例においては、SDLC活動の各々は、単一のプロダクトによって提供される一つのプロセス設計者インターフェースに対し、ユーザが対話処理を行うことにより、実行される。
さらに、本発明の一実施例においては、ソフトウェアエンジニアは、プロジェクトの進行中はコーディングを要求されない。
さらに、本発明の実施例は、複数のソフトウェアアプリケーションの関数を再利用することを可能とし、さらに、ユーザが、ビジネスプロセスの新しい関数を定義したり、その定義を修正することを可能とする。少なくとも一つの実施例においては、これらの関数の各々は、関数レジストリ又は関数ライブラリ中に保存され、さらに、その後、他のビジネスプロセスを定義したり、そのビジネスプロセスを修正するために、ビジネスプロセスサーバで利用することが可能となっている。
さらに、本発明の実施例は、全体プロセスの効率を更に向上させるために、“最善の”ビジネスプロセスを組み合わせて使えるように、企業に提供する。多くの多様なビジネスアプリケーションの各部を組み合わせて、新たなビジネスプロセスを形成したり修正するが、各部は、特定の効果や、全体の効率を更に向上させることにつながる判断基準に照らし合わせて、選択される。例えば、複数のデータ品質プロセスは、その各々は、同一のビジネスアプリケーション又は複数のビジネスアプリケーションから得られるが、それらは、複数のデータ品質ビジネスアプリケーションの各々を単独に適用する場合よりも、全体のデータに対してより高い割合のものが正確となるように、単一のデータ品質ビジネスプロセスで構成されるように定義される。
本発明の実施例の更に他の側面としては、バージョン管理のためのグラフィック表示部分が提供されることであり、特定のベンダ製品、個々の関数、およびシステム並びにユーザ設定の実装のインターフェース、リリース、実装の管理を容易にするものである。
本発明の他の側面については、以下の説明と付属の図面とから明確なものとなる。
発明の詳細な説明
本出願は、2002年3月25日出願の米国仮出願番号60/366,547、名称“企業データ品質管理のための方法およびシステム”に対して優先権を主張するものであり、その開示は、全体として、参照によって本明細書に組み込まれるものである。
本発明は、その具体的な実施例に関連付けて説明するものであるが、それらの実施例は、本発明を限定しようとするものではない。しかし、以下で説明する例に対する、代替、修正及び等価なものは、本出願に付した請求項により一部が定義されている本発明の主旨と範囲の中に含まれている。
本発明の少なくとも一実施例において、企業ビジネスプロセス管理システム及び方法が与えられている。少なくとも一実施例は、企業データ品質管理システムの実施例の様態で提示されているが、ここで教示される内容は、データ品質管理に含まれるビジネスプロセスを包含したり、それに付加される任意の企業ビジネスプロセス管理システムに対し、より一般的に適用可能なものである。本システムと方法は、例えば、企業内の様々なアプリケーションに存在するデータエラーを検出し、訂正し、報告するためのステップを含む、ビジネスプロセスにおけるステップを定義し、構築し、実行するためのサーバとルータを利用するものである。企業は、企業組織を構成する多くの地理的あるいは物理的な位置に配置された、複数の計算ノードを含んでいる。これらの様々な計算ノードは、企業全体でのノード間通信のために、次のものに限定されるものではないが、イントラネット、インターネット、専用電話回線やデータ回線、無線ネットワークなどのネットワークや、それらを組み合わせたネットワークを利用して相互接続されている。とりわけ、このような形で接続された企業内のユーザは、企業アプリケーション、プロセス、関数が実在するノードの物理的な位置にかかわらず、これらの企業アプリケーション、プロセス、関数に対して、トランスペアレントで仮想的なアクセスを獲得できる。
図1は、本発明の少なくとも一実施例の、企業ビジネスプロセス管理システムで実装あるいは利用されるシステムの説明図である。図1において、企業ビジネスプロセス管理システム100は、次のものに限定されるものではないが、抽出、変換およびロード(ETL)クライアント102と、企業アプリケーション統合(EAI)クライアント103と、企業リソース計画(ERP)クライアント104と、顧客関係管理(CRM)クライアント105などの、一つあるいはそれ以上の数の付加されたクライアントに接続された、企業ビジネスプロセスサーバ101とを含んでいる。また、企業ビジネスプロセスサーバ101は、サプライチェーン管理(SCM)クライアント(不図示)にも接続されている。付加された各クライアントは、少なくとも一つのビジネスアプリケーションを含んでいる。さらに、企業ビジネスプロセスサーバ101は、情報データストア106ならびに単純ファイル格納107と、一つあるいはそれ以上の数のメインフレーム108と、インターネット109にも接続されている。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、コールセンタ端末110と、データ入力端末111と、ローカルユーザ端末112と、リモートユーザ端末113にも接続されている。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、企業データ品質サーバ、もしくは、企業データ品質管理の定義と実行が可能となるように構成された企業ビジネスプロセスサーバである。
企業ビジネスプロセスサーバ101は、付加されたクライアント102〜105と、データストア106、107と、メインフレーム108、インターネット109及び端末110〜113を含む企業内ノードとの間で、次のものに限定されるものではないが、相互接続されたネットワークからなるインターネットなどのネットワークや、ローカル・エリア・ネットワーク(LAN)や、広域ネットワーク(WAN)や、これらのいずれかを含むイントラネットや、PSTN、無線ネットワークあるいはそれらの任意の組み合わせを含む様々な通信ネットワークを介して通信を行う。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、トランザクションに関するデータと、最小限のエラー報告を送受信するために、一つあるいはそれ以上の数のこれらの企業ノードとの間で通信を行う。
通常、クライアント102〜105は、次のものに限定されるものではないが、サーバ又はクライアント・サーバ・アプリケーションのクライアント側などの、データを送信又は受信可能な任意のデータソースである。クライアントは、例えば、一つあるいはそれ以上の数の、ビジネスアプリケーションプロセス又は企業機能に相当するものである。クライアントは、企業ファイアーウォールの内側又は外側に置かれる。
ETLクライアント102は、組織が一つのデータソースからデータセットを抽出し、そのデータを他のデータソースにマッピングし、必要に応じてデータを変換し、データソースを連結し、一つ又は複数の送り先ソースにそのデータをロードできるように構成されている。このようなETLクライアント102は、基本的にバッチ処理で構成され、データが一つのソースからその送り先に転送される際に、データの変換とマッピングが行われるようなハブ型アーキテクチャを有したものとなっている。
EAIクライアント103は、企業トランザクションが、組織内又は企業内の一つのアプリケーションから他のアプリケーションへ転送され、さらに、一つの組織からEAIネットワーク上に存在する相手の組織へ転送されるように構成されている。
ERPクライアント104は、計画、製造、販売及びマーケッティング活動を含む、ビジネス又は企業の複数のファセットを統合するように構成されている。このERPクライアント104は、ハブ型アーキテクチャを用いており、これらの活動に関連したデータをマッピングし変換する能力をもっている。
CRMクライアント105は、ヘルプデスク・ソフトウェアと、販売/マーケッティング/電子メールの統合ソフトウェアとWEB開発アプリケーションなどの、様々な電子的なツールを用いて、組織/部門とその顧客との関わりの多様な側面を管理するように構成されている。このCRMクライアント104は、ハブ型アーキテクチャを用いており、それに関連したデータをマッピングし変換する能力をもっている。
ETLクライアント102、EAIクライアント103、ERPクライアント104及びCRMクライアント105を含む、付加された各企業クライアントは、各々、サーバアプリケーションの内部で動作する、ベンダ固有のアプリケーション品質チェックプロセスを含んでいる。少なくとも一実施例では、企業ビジネスプロセスサーバ101は、ETLクライアント102、EAIクライアント103、ERPクライアント104及びCRMクライアント105を含む付加された企業サーバとの間と情報を交換するための、伝送制御プロトコル/インターネットプロトコル(TCP/IP)インターフェースを含んでいる。企業ビジネスプロセスサーバ101と、付加されたクライアントとの間で交換される情報には、例えば、データ品質をチェックするプロセスなどの、一つあるいはそれ以上の数の特定のプロセス又は一つのプロセス(又は、複数のプロセス)の関数を実行するための、企業ビジネスプロセスサーバ101から発行されたコマンドあるいは要求が含まれている。また、交換される情報には、アプリケーション品質チェックプロセスあるいは関数により出力されたデータが含まれている。TCP/IP通信インターフェースにより、企業ビジネスプロセスサーバ101は、企業ネットワーク上の任意のアプリケーションに、直接、接続することが可能となる。さらに、TCP/IP通信インターフェースにより、企業ビジネスプロセスサーバは、例えば、インターネットを用いる外部アプリケーションに接続することが可能となる。
少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、情報データストア106と単純ファイルデータストア107とから情報を取得する。特に、企業ビジネスプロセスサーバ101は、情報データストア106と単純ファイルデータストア107に含まれるデータへのアクセスや、格納あるいは選択的な検索のためのデータストアスクリプトなどのアプリケーション命令を含んでいる。データストアスクリプトは、例えば、SQLバージョン7.0のデータストア管理システム問い合わせ言語ならびに(ColdFusion(登録商標)データストア管理システムの)Transact(登録商標)SQLに対応したプログラム文の形式で実装されている。次のものに限定されるものではないが、Oracle(登録商標)あるいはIBM DB2(登録商標)から利用可能な実装形式を含む、他のデータストアの実装も可能である。
他の実施例において、企業ビジネスプロセス管理システム100は、企業ビジネスプロセスサーバ101と情報データストア106と単純ファイルデータストア107とに格納された情報にアクセスするために、これらに接続された企業データベースサーバ(不図示)を含んでいる。情報データストア106は、企業アプリケーション、あるいは、例えば、SQLなどの、階層的データストア管理システムフォーマットに対応して編成されたトランザクションデータを含んでいる。単純ファイルデータストア107は、企業アプリケーション、あるいは、非階層的トランザクションデータを含んでいる。
また、企業ビジネスプロセスサーバ101は、一つあるいはそれ以上の数の企業内のメインフレーム108に接続されている。メインフレーム108は、例えば、給与計算や会計処理システムなどの、組織あるいは企業アプリケーションを含んでいる。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、専用電話回線(dedicated landlines)、あるいはこれらを組み合わせたものを利用して、メインフレーム108との間で通信を行う。
さらに、少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、LAN、WAN、専用電話回線、イントラネット、インターネット、無線ネットワーク、あるいはこれらを組み合わせたものを介して、コールセンタ端末110、データ入力端末111、ローカルユーザ端末112及びリモートユーザ端末113などの一つあるいはそれ以上の数の端末に接続されている。これにより、企業ビジネスプロセスサーバ101は、一つあるいはそれ以上の数の端末110〜113から、トランザクションデータを受信することが可能となる。
さらに、企業ビジネスプロセスサーバ101は、例えば、一つあるいはそれ以上の数の端末113でインターネット109を利用するユーザと通信する。少なくとも一実施例では、企業ビジネスプロセスサーバ101は、さらに、ウェブブラウザ、又は、この目的のためのシンクライアントを含んでいる。ウェブブラウザは、データを表示し、例えば、インターネット又はイントラネットなどのネットワークを介して、他のコンピュータと通信することが可能である。ウェブブラウザは、たとえば、(コンピュータマウスなどの)ポインティングデバイスにより選択されたか、ユーザによりキー入力されたハイパーリンクを介して、情報をたどる方法をユーザに提供する。ウェブブラウザは、例えば、ハイパーテキスト転送プロトコル(HTTP)あるいはファイル転送プロトコル(FTP)などのプロトコルを用いて、例えば、HTML形式文書、平文形式文書、グラフィック画像およびXML文書などの様々なコンテンツを持つデータを伝送し、表示装置を介してユーザに提示する。
図2は、本発明の少なくとも一実施例において、企業ビジネスプロセスサーバ101を実装するために用いられる計算機プラットフォームを示すものである。図2に示すように、装置200は、プロセッサ210、メモリ220、システムインターフェース230、ユーザインターフェース240及び、構成要素210〜240を互いに接続し、これらの構成要素間の連携と通信を可能とする通信/データ/制御バス250を含んでいる。
メモリ220は、ユーザのニーズや、企業ビジネスプロセス管理システムにつながるシステムに依存した様々な構成を用いて実装されている。システムインターフェース230は、例えば、付加された企業サーバから供給されるトランザクションデータなど、企業ビジネスプロセス管理システムにより利用されるデータを提供する装置との間で、装置200の通信が可能となるための、ハードウェアとソフトウェアの両方を含んでいる。
プロセッサ210は、メモリ220から取り出した命令にもとづき、他の構成要素220〜250の動作を制御する。これらの命令は、ここで説明する企業ビジネスプロセス管理システム100及び方法の動作の一部又は全部を指示するソフトウェアコードを含むものであるか、そのソフトウェアコードとして実装されている。メモリ220は、このコードを含み、さらに、企業ビジネスプロセス管理システム100により利用されたり生成されるデータの格納エリアを含んでいる。プロセッサ210は、命令を取り出し、それを逆符号化し、例えば、メモリ220との間でデータを転送したり、システムインターフェース230もしくはユーザインターフェース240とを組み合わせた作業など(例えば、情報の入力又は出力)を行うために、他の構成要素120〜150を起動したり、これらの構成要素に対して命令を発行する。
プロセッサ210は、実際には、一つ以上のプロセッサから構成されている。プロセッサ210は、メモリ220から取り出した命令にもとづき、他の構成要素220〜250の動作を制御する。この制御は、例えば、中央処理ユニットまたは他の同種の装置において、プロセッサ210で実現することが可能である。同様に、プロセッサ210とメモリ220は、ユーザインターフェース240が、ローカル端末112とリモート端末113などのユーザ端末に実装され、端末画面上にグラフィカル・ユーザ・インターフェース(GUI)を含むことを可能とする、ネットワークに接続された一つあるいはそれ以上の数のサーバにより実装されている。
ユーザインターフェース240は、例えば、端末画面、キーボード、マウス、プリンタ等と連携するためのハードウェア及びソフトウェアを含んでいる。さらに、ユーザインターフェース240は、ユーザに情報を出力し、ユーザから情報を入力するための、不図示のスピーカとマイクを含んでいる。ユーザインターフェース240は、プロセッサ210と連携して動作し、以下に説明する操作を行うため、メモリ220に格納されて、プロセッサ210により用いられるソフトウェアプログラムと対話的にユーザが作業を行うことを可能とする。
企業ビジネスプロセスサーバ101は、例えば、適切にプログラムされた汎用コンピュータの一部として実装することが可能である。このシステムは、例えば、ASIC内で物理的に区別されたハードウェア回路として実装される。従って、システム100の特定の形態は、ここで説明する実施例とは異なる場合もある。例えば、企業ビジネス管理システム100は、例えば、パーソナルコンピュータなどの汎用コンピュータの上に実装されるものとして説明することもできるが、このシステムは、ネットワーク環境で実装し、システムを実現するソフトウェアを、一つあるいはそれ以上の数のサーバに格納することも可能である。少なくとも一実施例においては、企業ビジネスプロセスサーバ101により、ユーザ(例えば、管理者ユーザ)は、サーバ101を停止させることなく、ビジネスプロセスのプロセスやステップを追加、修正あるいは削除することが可能となる。さらに、企業ビジネスプロセスサーバ101は、サーバアレイまたはクラスタ環境に移行しても容易に機能し、大容量のデータを処理できるように拡張することが可能となっている。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、例えば、マイクロソフト社のWindows(登録商標)NTで構築されたパーソナルコンピュータプラットフォームを含んでいる。
少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、企業ビジネスプロセスサーバ101が以下で説明するビジネスプロセス操作を実行するように構成されるように、一連のプログラムされた命令を含む、一つあるいはそれ以上の数のアプリケーションプログラムを含んでいる。図3において、企業データ品質アプリケーション300は、コアアーキテクチャ301、あらかじめ定義された表示ツール302、開発者向けキット303及び、ビジネス分析者向けインターフェースであるインターフェースモジュール304を含んでいる。コアアーキテクチャ301は、アプリケーションデータもしくはトランザクションデータを、一つあるいはそれ以上の数のデータソースから取得し、取得されたデータにエラーがないかを分析し、検出されたエラーを記録し、少なくとも一つのエラー報告を、特定の要求された表示形式で生成するための一連のプログラムされた命令を含んでいる。企業データ品質アプリケーション300は、アプリケーションデータの中の特定の種類のアプリケーションデータを分析するように設計された、一つあるいはそれ以上の数の関数を含んでいる。さらに、企業データ品質アプリケーション300は、特定のアプリケーションの品質チェックプロセス、もしくは、一つあるいはそれ以上の数のアプリケーションの内部プロセスの複数の関数の特定の集合の実行を要求するために、ETLサーバ102、EAIサーバ103、ERPサーバ104及びCRMサーバ105を含む付加された企業サーバの中の一つあるいはそれ以上の数のものに対して要求を発行する命令を含んでいる。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、コマンド/要求(例えば、ファンクションコールもしくはプロシージャコール/リモートプロシージャコール(RPC))を送り、TCP/IPインターフェースを介して、対応するサーバからの応答を受信する。コアアーキテクチャ301は、マルチスレッド対応していない任意のレガシーアプリケーションを、マルチスレッドで実行可能とする形に変換するための、マルチスレッド管理レイヤを含んでいる。
一実施例において、ビジネス分析者向けモジュール304は、ここで説明する(例えば、ビジネス分析者向けインターフェース又はBAIなどの)インターフェースモジュールを実装するための、一連のプログラムされた命令を含んでいる。これらの命令は、企業ビジネスプロセスサーバ101による実行に関して、ユーザによる企業ビジネスプロセス管理システム100との対話処理を実現するための対話手段を、企業ビジネスプロセスサーバ101に備えさせるものである。特に、ビジネス分析者向けモジュール304は、ビジネスプロセスの一つあるいはそれ以上の数のステップを実行する際に、例えば、表示を用いて、プロセスステップをグラフィカルに表示させ、企業ビジネスプロセスサーバにより実行される特定の操作を示すことを指令する命令を含んでいる。実際には、ビジネス分析者用モジュール304は、開発者向けキット303に対する上位アプリケーションである。また、ビジネス分析者用モジュール304は、ユーザがインターフェースモジュールに対して対話的処理を行うことにより定義されるビジネスプロセスを実装する一連の命令を、例えば、データストア106などのデータストアから検索し、構築し、コンパイルすることを、企業ビジネスプロセスサーバ101に対して指令する命令を含んでいる。
少なくとも一実施例においては、企業ビジネスプロセスシステム100は、一つあるいはそれ以上の数のエラー報告の形式で、エラー情報を出力する。エラー報告は、様々な見方(view)で表現される。例えば、予め定義された表示ツール(view tool)302は、企業ビジネスプロセスサーバ101に対して、データソースのエラーの数を含むエラー報告を管理者向けの見方で出力する命令を備えている。様々な見方と報告の一例を、以下で説明する。
開発者向けキット303は、アプリケーションプログラム・インターフェース(API)を含んでおり、このAPIは、企業ビジネスプロセスサーバ101のユーザや、システムの指定サードパーティに対して、特定のデータ、ソース(プログラム)、エラー症状を分析するための、カストマイズされた表示ツールを提供、利用したり、予め定義された表示ツール302によってカストマイズされた報告を提供したりするために、有用なものである。企業ビジネスプロセスシステム100でサポートされる「見方(view)」の数には、制限がない。
少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、クライアントサーバ型のアーキテクチャに対応して実装されている。企業データ品質アプリケーション300を含むプログラムされた命令は、次のものに限定されるものではないが、いわゆるマイクロソフト(登録商標)Cに準拠した、可搬性のあるソースコードで実装されている。企業ビジネスプロセスサーバ101は、クラスタとサーバアレイをサポートするために、カプセル化されたサーバ設計に従って実装されるものであってもよい。さらに、企業ビジネスプロセスサーバ101は、大容量のデータを扱うための信頼性と拡張性を確立する目的のために、負荷分散と高可用性のためのサードパーティの技術を利用できるように、ベンダ非依存のアーキテクチャに従って実装されている。さらに、企業ビジネスプロセスサーバ101は、“サンドボックス技術”(すなわち、例えば、分離したスレッドによって各セッションを取り扱うための、プロセスの同期技術と分離技術とを組み合わせた技術)を活用することにより、マルチスレッドに対応していない、あるいは、スレッド安全でもない旧来の技術を、迅速かつ信頼できる方法でリアルタイム並列処理環境に対応させることが可能となる。
図4は、本発明の少なくとも一実施例における、データソースとデータ送り先、プロダクトおよびプロセスとの間の詳細な関係を示す機能ブロック図である。図4に示すように、企業ビジネスプロセスサーバ101は、一つあるいはそれ以上の数のデータソース/データ送り先305との間で、企業アプリケーションあるいはトランザクションデータを受信し送信する。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、エラーを検出した後、訂正したデータを、データデータソース/データ送り先305(例えば、データソース/データ送り先1からK)に送る。さらに、企業ビジネスプロセスサーバ101は、一つあるいはそれ以上の数のプロダクト(例えば、プロダクト1からM)から、プロセス入力を受信する。プロダクト315は、一つの関数あるいは複数の関数の組を含んでいる。少なくとも一実施例においては、一つの関数は、単一の値、もしくは複数の値の組を返すライブラリの一つのルーチンである。さらに、企業ビジネスプロセスサーバ101は、例えば、ここで説明するデータ品質保証関数、を実行するための、一つあるいはそれ以上の数のプロセス310(例えば、プロセス1からN)を含むものであるか、それらにアクセスするものである。少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、各プロセス310に関して、個々のエラーログ325を提供する。各プロセス310の結果は、何らかの生成されたエラーログ325を含むものであり、ログデータストア320を用いて、格納、保持されるもの(図5で説明するデータストア160)である。
企業ビジネスプロセス管理システム100は、数に制限のない複数のベンダのプロダクトを、各アプリケーション(データソース)やアプリケーション内のデータセットための独自のプロセスの中で利用するように設計されたアーキテクチャを含んでいる。特に、企業ビジネスプロセス管理システム100は、ビジネスプロセスの個々のプロセスステップを生成し、実行し、管理し、その結果を報告する独自のプロセスのためのフレームワークであり、複数のベンダのプロダクトを様々なプラットフォームで利用し、これらのプロダクトを企業全体で利用できるようにするフレームワークを提供する。企業ビジネスプロセス管理システム100は、複数ベンダ環境の各ステップで処理されるデータの品質を保存もしくは記録する関数を提供する。企業ビジネスプロセス管理システム100は、各アプリケーション(データソース)やアプリケーション内のデータセットための独自のプロセスで、複数のベンダが提供するプロダクトの利用状況を管理し、追跡し、記録することを可能とする。企業ビジネスプロセス管理システム100は、プロセス内で異なる設定を用いて、同一又は異なるベンダが提供する同一の関数を利用できるようになっている。企業ビジネスプロセス管理システム100は、例えば、データ品質などビジネスプロセスの特定の側面に関する、組織内の個人、ビジネスユニット又は特定の部門、並びに企業の成果について、異なる見方を提供する。企業ビジネスプロセス管理システム100は、例えば、データ品質に関する問題などの、特別な企業上の問題を扱う上で、最も効果的な関数と設定を選択するために、異なるベンダから提供される様々な関数と設定の効果を比較することを提供する。企業ビジネスプロセス管理システム100は、データ品質ツールやデータ品質プロセスなどの、複数のベンダから提供されたアプリケーションを迅速に実装することを提供する。
特に、企業ビジネスプロセスサーバ101は、ビジネスプロセスツールを、それらの現在の計算機プラットフォームの上や、企業ビジネスプロセスサーバ101の上位に置かれる同一のプラットフォームの上で利用可能とするための、ベンダに依存しないアーキテクチャを活用する。少なくとも一実施例において、企業ビジネスプロセス管理システム100は、システム100が定義するビジネスプロセスの中の、複数のビジネスアプリケーションの関数を再利用することを提供する。
図5は、少なくとも一実施例において、システムを実装するために用いられる装置を示すものである。特に、企業ビジネスプロセス管理システム100は、企業ビジネスプロセスサーバ101だけでなく、データストア160と表示エンジン(view engine)170を含んでいる。データストア160は、単一のデータストアでなければならない必要はなく、複数のデータストアから構成されていてもよい。例えば、データストア160は、次のものに限定されるものではないが、OLAP(オンライン分析処理データベース)あるいは要約データベースである。データストア160は、次のものに限定されるものではないが、いくつかの見方400の中の一つに従って、表示エンジン170がエラー報告を作成するために用いるフォーマット命令と規則とを含んでいる。例えば、表示エンジン170は、一連のフォーマット命令を、データストア160から取得し、さらに、対応する見方400に従って、エラー報告を生成する際に、取得した命令を適用する。少なくとも一実施例においては、見方400の各々は、フォーマット命令の特定の組に対応している。フォーマット命令は、表示エンジン170が、所望の見方に対応したエラー報告を含む対話画面を表示するように設計された、ハイパーテキスト記述言語(HTML)又は拡張記述言語(XML)命令の形式で実装されている。対話画面は、例えば、WWW画面や、ウェブブラウザアプリケーションを用いて、端末112又は113に表示することが可能な画面である。
図5に示すように、企業ビジネスプロセス管理システム100は、いくつかの異なる見方400を提供する。これらの見方には、次のものに限定されるものではないが、例えば、エンドユーザ向け画面(view)、開発者向け画面(view)、管理者向け画面(view)及び経営者向け画面(view)が含まれる。見方(view)400の例を、図7〜図10を用いて以下で詳細に説明する。
企業ビジネスプロセス管理システム100は、組織のビジネスプロセスの有効性を測定し管理することができるように、組織の各レベルに応じて、プロセス中の各ステップの実行結果に関して、異なる見方400を生成する能力を備えている。企業ビジネスプロセス管理システム100は、様々な見方400に応じて、図的表現情報を生成する可視化ソフトウェアを含んでいる。この図的表現情報は、分析ツール、統計的情報、データ追跡、コスト分析と、少なくとも一実施例においては、データ品質におけるエラーを減らす際に、組織の様々なレベルで実行された結果の効果を表す情報を含んでいる。
様々な見方400に応じたエラー報告の生成をサポートするために、データストア160(オンラインのアプリケーション処理データベース又は要約データベース)は、“単一の見方”に対応したエラー報告情報を保持するが、データストア160に格納されたこの情報は、データの取得元であるデータソース/データ送り先305、プロダクト315あるいはプロセス310に依存せず、任意の見方400を生成するための表示エンジン170から等しくアクセス可能となるように統一した方法で、フォーマットされ、構成される。
企業ビジネスプロセス管理システム100は、各データソースから得られた、プロセス中の各ステップの実行結果をログとして記録する。このログは、誰がデータを送信したか、プロセスの各ステップで何が起こったか、プロセスが完了したときにデータがどこに送信されたかに関する情報を提供するものである。このログは、複数の見方を表示するための表示エンジン170に直接入力されるが、この表示エンジンは図的表現による報告システムであると言える。
少なくとも一実施例において、表示エンジン170は、経営者、管理者、エンドユーザ及びプロセス開発者など、彼ら自身、彼らの部門、組織あるいはプロセスがどの程度成果を上げているかに関する情報を伝達する相手となる様々なユーザに、図的表現による報告を提供する。特に、少なくとも一実施例においては、表示エンジン170は、以下に示す見方400、例えば、経営者向け画面、管理者向け画面、ユーザ向け画面及び開発者向け画面を提供する。経営者向け画面は、組織全体のためのデータの品質に関する、図的表現による報告を提供するものである。経営者は、成果とデータ品質に関わる問題の原因を比較するために、組織内の各部門の成果を深く検討する。経営者は、管理者向けとユーザ向けの報告モジュールに対してもアクセス権を有している。管理者向け画面は、管理者が管掌する組織及び部門でのデータ品質に関する、図的表現による報告を提供するものである。管理者は、自身のビジネスユニット及び部門の成果を深く検討し、例えば、データ品質などの問題についての成果と原因を比較する。ユーザ向け画面は、ユーザによってシステムに入力されたデータの品質に関する、図的表現による報告を提供するものである。ユーザは、特定の問題を深く検討し、プロセスの各ステップの入出力データとリザルトコードをレビューする。開発者向け画面は、全てのプロセスとステップの結果に関する、図的表現による報告を提供し、開発者が結果を分析し、結果を改善するためのプロセスの変更を行えるようにするものである。開発者は、関数の実行順序を再配置し、不要な関数を削除し、他のベンダから供給される関数を活用し、異なるベンダから供給される新たな関数を付加し、新たな関数を創出することが可能となる。
表示エンジン170は、妥当性確認済み/是正済み、あるいは、妥当性確認なし/是正なしのデータが、財務上与える影響を加味するために用いられる、統計的なモデル化を行うパッケージを含んでいる。少なくとも一実施例においては、表示エンジン170は、例えば、バージニア州ダレスのIllumitek(登録商標)社から入手可能な、図的表現によるモデル化技術を用いて実装される。
さらに、図6は、企業ビジネスプロセス管理システム100により実行される分析の実装に関する詳細について示したものである。企業ビジネスプロセス管理システム100は、企業ネットワーク内に存在するものと、外部から利用可能なものとしての、全てのビジネスプロセス・プロダクト内で利用可能な関数と設定の全て又は一部を用いて、各アプリケーション又はデータに関して独自のプロセスの生成を行う。各アプリケーションもしくはアプリケーション内のデータセットは、独自の要求を満足する上で適切な手順で、全ての関数と設定を利用することが可能である。このビジネスプロセスは、数に制限のないステップから構成されている。各ステップは、特定のベンダから与えられた、関数と設定、もしくは、一連の複数の関数と設定に対応している。企業ビジネスプロセス管理システム100は、複数ベンダプロセスのステップごとに得られた結果を保存しログとして記録する。ログファイルは、テキストファイル又はデータストアに自動的に記録される。特に、エラーは、プロセスレベルで決定されログとして記録される。
企業ビジネスプロセス管理システム100は、複数ベンダで構成された複数のステップで、各ベンダが提供する関数と設定の強みと弱みを比較する能力を備えている。さらに、企業ビジネスプロセス管理システム100は、ビジネスプロセスプロジェクトの遂行を促進するために、複数のベンダから提供されたプロダクトと関数をインストールするための、速くて使い勝手のよい方法論を提供する。このように、少なくとも一実施例においては、企業ビジネスプロセス管理システム100は、既存のビジネスプロセスに関するベンダプロダクト、カスタムコードあるいはサービスを含む、付加された企業サーバもしくはアプリケーションに含まれる全ての関数に対して、ユーザからのアクセスを可能とするものの、システム自身は、ベンダに依存しないものとなっている。ここで説明したような関数指向のアプローチを用いることにより、ユーザは、例えば、異なるベンダから供給されたデータ品質関数などのビジネスプロセス関数を、各データセットとデータソースの要求に合致するように決定された順序で実行することができる。さらに、図11に示すように、ユーザは、データソース内の各データステップに対して、独自のプロセス310とステップとを確立することができる。
ベンダは、例えば、ビジネスと顧客の名称の複数の要素を識別し、個別のフィールドに分割する関数と、郵送先の各要素を識別し、その妥当性を検証し、訂正する関数と、オンライントランザクションとバッチ処理のために、非名称及び郵送先情報を識別し、分割し、その妥当性を検証し、訂正する関数と、複数の異なる記録と複数の異なるデータソースとからデータを統合する関数と、付加データを用いて元データを拡張する関数と、各個人又は顧客についての単一の記録もしくは見方を生成する関数とを備えたソフトウェア会社である。
企業ビジネスプロセス管理システム100は、ユーザが、アプリケーションのためのプロセスもしくはアプリケーションからのデータセットを生成できるようにすることが可能な、グラフィカルユーザインターフェース(GUI)を含んでいる。ユーザは、データに関するフォーマットを指定し、さらに、各ステップで利用可能なツールから特定の関数と設定を呼び出すことにより、プロセス中の各ステップを生成することができる。GUIは、例えば、Java(登録商標)命令を用いて実装することが可能である。ユーザは、この生成ステップを繰り返し実行し、ビジネスプロセスを十分に定義し完成させることができる。プロセスは、階層的に表現され、表示され(viewed)、操作されるものであり、ここでは、単一のステップは、多数ステップからなる内部プロセスの一部となる。プロセスの表現と記述は、プリンタなどの他の出力装置によって提示される。プロセスの表現と記述は、ワードプロセッサ、フローチャートアプリケーションやウェブブラウザなどの外部のアプリケーションによる表示と操作のために出力される。さらに、ユーザは、プロセスの結果を送る先を識別し、各送り先に対してどの情報を送るべきかを決定する。プロセス内の各ステップの結果は、テキストファイル又はデータストアにログとして記録される。テキストファイル又はデータストアに格納されたデータは、図的表現による報告を生成するための、可視化ソフトウェアを含む表示エンジンによって利用され、この報告には、分析情報、統計情報、データ追跡、コスト分析、ならびに組織内の各レベルに対するデータの影響が含まれている。この情報は、例えば、データ品質プログラムなどの企業ビジネスプロセスの有効性を測定し観測するために用いられる。
図39は、一実施例における、インターフェースモジュール304と、企業ビジネスプロセスサーバ101と、ルータ3905との間の関係を示したものである。図39において、例えば、ビジネスアプリケーションなどのデータソースからの入力データ605は、企業ビジネスプロセスサーバ101によって受信される。一実施例において、入力データ605には、入力データ605が適用される特定のビジネスプロセスを特定するプロセス識別子が含まれている。企業ビジネスプロセスサーバ101は、入力データ605のプロセス識別子を検出し、ルータ3905の指定されたビジネスプロセスに入力データ605を与えるように構成されている。一実施例において、ルータ3905は、一つあるいはそれ以上の数のビジネスプロセス(例えば、図39のプロセス1、2、3)を具体化する統合命令セットを含んでいる。各ビジネスプロセスの命令は、ルータ3905の外部に存在し、プロセスステップを実行するツール3910(すなわち、関数)と、ルータ3905の外部のビジネスアプリケーションから取得されるが、ルータ3905に存在するツール3910とを呼び出すものを含んでいる。
少なくとも一実施例において、ルータ3905は、ルータ3905の新しいバージョンやロードモジュールを、現在のルータ3905のバージョンと置き換えることが可能となるような、交換可能なルータであり、使用中にこれを交換し、サーバ101を停止(すなわち、運転休止)させることなくデータ伝送を継続できるようになっている。ルータ3905は、企業ビジネスプロセス管理サーバ100により与えられた現在アクティブになっているビジネスプロセスに関する命令セットを含んでいる。ルータ3905の新たなバージョンは、使用中に構築と配備が行われ、新規又は変更されたビジネスプロセスに従って、データ伝送を開始する。一実施例においては、インターフェースモジュール304は、ユーザが入力した関数情報に応じて、新規又は変更されたビジネスプロセスを実装する命令セットを生成する。ユーザは、例えば、インターフェースモジュール304により提供されるプロセス設計者向け対話画面を用いて、関数情報を入力する。ルータの現在のバージョンを、新しいバージョンで置き換えた後、入力データ605は、ルータの新しいバージョンに従って扱われる。ルータの現在のバージョンを、ルータの新しいバージョンで置き換えに関する詳細は、図23a〜dに示すとおりである。
図6によれば、方法600は、企業ビジネスプロセスサーバ101が入力データ605を入力するところから開始する。入力データ605は、データソース/データ送り先305から受信される。
ステップ610に制御を進めて、入力データをプロセスルータに送る。プロセス識別関数にもとづき、プロセスルータは、入力データを特定のプロセス310(例えば、プロセスX)に送る。少なくとも一実施例においては、プロセスルータは、サーバ101を停止することなく、(すなわち、交換可能又はホットスワップ可能なルータとして)、プロセスとステップが、容易にかつ迅速に修正されることを可能にする。
次に、ステップ615に制御を進めて、プロセス310(例えば、プロセスX)が入力データを受信し、それを複数のステップで構成されたプロセスの各ステップに送る。ビジネスプロセスの例としては、郵送先の妥当性確認操作などのデータ品質プロセスがあり、そこで、(特定の企業アプリケーションに対応したデータソース/データ送り先305から取得した)トランザクションデータを、例えば、米国郵便データベースなどの信頼できる情報源と照合する。次に、ステップ620に制御を進めて、その後、ステップ635以降のステップ(例えば、ステップN)に進める。プロセス310の各ステップを実行した後、ステップの実行結果は、例えば、エラーログ315などのログ630に入力され、データは、次のステップに送られる。プロセス310の各ステップの結果とエラーログ315は、データストア160などのデータストア625に格納される。上述したように、データストア625(及び、データストア160)は、次のものに限定されるものではないが、OLAP(オンライン分析処理データベース)又は要約データベースである。ログ処理には、プロセスログ(例えば、トランザクションデータ及びプロダクト能力についての分析のために用いられる、プロセス内の各ステップの実行結果の詳細なログ)に加え、サーバログ(例えば、サーバにより受信された全てのトランザクションのログやサーバ統計のログ)が含まれる。
プロセス310の最後のステップの実行が完了した後、ステップ640に制御を進め、そこでプロセス結果を出力データ構造に適用する。次に、出力データを、データソース/データ送り先305に送り、方法600の終了処理を行う。
少なくとも一実施例においては、プロセス310は、次のものに限定されるものではないが、ROME_ID、ROME_TIME、SECT_CODE、SOURCE_DEST、SUB_SOURCE_DEST、RETURN_CODE及びINPUT COMPONENT 1〜Nなどのフィールドを含んでいる。プロセス310の各ステップは、次のものに限定されるものではないが、ROME_UID、ROME_TIME、PRODUCT_ID、PRODUCT_RC、STEP_ID及びOUTPUT COMPONENT 1〜Mなどのフィールドを含んでいる。各データパケットは、同一のデータパケットを複数回送出した結果を追跡するために用いられる、一意の識別子(例えば、“ROME_ID”)を有している。
図5に関して先に説明したように、例えば、少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、一つあるいはそれ以上の数の見方400に従って、エラー報告を提供する。図7は、本発明の少なくとも一実施例における、経営者向け表示のエラー報告の一例である。図7に示すように、経営者向け表示700は、企業の複数の部門でのデータエラー情報を提供する、一つあるいはそれ以上の数のエラー報告を含んでいる。
例えば、図7に示す経営者向け表示の一例700は、マーケティング、財務、販売、開発、ウェブおよび顧客サポート部門を含む部門705のエラー報告を表しており、情報を要求しているユーザ(例えば、企業経営者)に対して、例えば、是正措置が行えるように、例えば、データ品質などの企業の特性についての情報を可視化したものを提供するものである。少なくとも一実施例においては、不正確な記録もしくはエラーを含んだ記録は、それらは正確でないことと、その理由を示すように、マーク付けされる。
特に、エラー報告は、企業アプリケーションデータやトランザクションデータの所定の集合で検出されたエラーの序列や統計的な分析結果を、グラフ715、720などのツールを用いて、数値だけでなく図的に提示する。例えば、少なくとも一実施例においては、企業ビジネスプロセス管理システム100は、情報の要求者であるユーザに対して、次のものに限定されるものではないが、様々な部門705の内部のアプリケーションで検出されたデータエラー720や、部門705に流入、流出するデータトランザクションの伝送量の指示値710や、各部門705の生産性の時間変化を示す生産性グラフ715や、部門705のデータ品質に関する強み、弱み、コストおよび利益についてのプロセスエラー分類725などの情報を提供する分析プロセスを実行する。
同様に、図8〜10は、各々、少なくとも一実施例における、顧客サポート向けの表示800と、個人向けの表示900と、管理者向けの表示1000におけるエラー報告の例である。図7に含まれる構成要素と同一のものには、同一の符号が付されている。
特に、個人向け表示900においては、企業ビジネスプロセス管理システム100は、例えば、特定の個人に属するデータエラーの可視化情報を、情報を要求するユーザに提供する。例えば、図9は、特定の個人905に関する強み、弱み、コストおよび利益のプロセスエラーの分類725の他に、個人905が起こしたエラーの種類910と、時間915の経過とともに変化する個人905に属するエラーの数を示している。図9のエラー報告のエラー分類725の例は、個人905は、郵送先情報の入力に際しては強い(すなわち、ほとんどエラーを起こさない)が、名称の入力に際しては弱く(すなわち、多くのエラーを起こし)、異なる時間期間においては、80個、74個、22個のエラーを起こし、これらのデータエラーの結果、企業には800ドルのコストが発生していることを示している。
さらに、管理者向け表示1000においては、企業ビジネスプロセス管理システム100は、特定の個人905及び複数の個人からなるグループに属するデータエラーの可視化情報を、情報を要求するユーザ(すなわち、企業管理者)に提供する。例えば、図10は、複数の個人905に関する強み、弱み、コストおよび利益のプロセスエラーの分類725の他に、複数の個人905の各々が起こしたエラーの種類910と、時間915(例えば、一日の中の時間)の経過とともに変化するグループに属するエラーの数を示している。また、単位時間期間ごとのコストグラフ1005は、各個人905に属するデータエラーにともない、企業が負担する日ごとのコストを示している。
少なくとも一実施例においては、企業ビジネスプロセス管理システム100は、ユーザ(例えば、管理者ユーザ)に対して、企業ビジネスプロセスサーバ101によって実行するためのビジネスプロセス310を生成し確立する能力を提供する。図11は、少なくとも一実施例における、企業ビジネスプロセス管理システム100のデータ品質プロセスの一例を確立するための方法1100のフローチャートである。方法1100は、企業ビジネスプロセス管理システム100において、ユーザからの要求を受信するステップ1105から開始する。ユーザは、例えば、ポインティングデバイスを用いることにより、データ品質アプリケーションのグラフィカルユーザインターフェース部により与えられる対話画面上に含まれるハイパーリンクを選択し、プロセス310を生成するための要求を入力する。
次に、ステップ1110に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、ユーザに対し、プロセス名称を生成し、プロセス310のためのデータソースを選択するように促す。図12は、企業ビジネスプロセスサーバ101が提供する対話画面の一例であり、そこで、ユーザは、プロセス名称、記述、そのデータソース305を入力する。
次に、ステップ1115に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、必要に応じて、新しいデータソース305を入力するように、ユーザを促す。もし、ユーザが、新しいデータソース305を追加する要求を入力した場合には、ステップ1120に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、ユーザがデータソース305を追加するための対話画面1300を生成し出力する。図13は、企業ビジネスプロセスサーバ101が提供する対話画面1300の一例であり、そこで、ユーザは、次のものに限定されるものではないが、データソースの名称、記述、IPアドレス、ポート番号及びプラットフォーム識別子などの情報を入力して、データソース305を追加することができる。
次に、ステップ1125に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、プロセス310に対する入力パケットを生成するように、ユーザを促す。図14は、企業ビジネスプロセスサーバ101が提供する対話画面1400の一例であり、そこで、ユーザは、次のものに限定されるものではないが、入力要素の名称、種類、長さ及び記述などの属性情報を入力することにより、入力パケットを生成できる。入力要素の種類は、次のものに限定されるものではないが、ブール値、文字、二倍文字、拡張文字(UNICODE)、浮動小数点小数、整数、倍長整数あるいは短整数など、入力パケットのデータ型を指定するものである。
次に、ステップ1130に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、プロセス310に対する出力パケットを生成するように、ユーザを促す。図15は、企業ビジネスプロセスサーバ101が提供する対話画面1500の一例であり、そこで、ユーザは、次のものに限定されるものではないが、出力要素の名称、種類、長さ及び記述などの属性情報を入力して、出力パケットを生成する。出力要素の種類は、次のものに限定されるものではないが、ブール値、文字、二倍文字、拡張文字(UNICODE)、浮動小数点小数、整数、倍長整数あるいは短整数など、出力パケットのデータ型を指定するものである。
次に、ステップ1135に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、プロセス310に対するプロダクト315(あるいは、場合に応じて、関数あるいは複数の関数の組)を選択するように、ユーザを促す。図16は、企業ビジネスプロセスサーバ101が提供する対話画面1600の一例であり、そこで、ユーザは、例えば、プルダウンリストからプロダクト315を選択し、プロダクトの記述を入力することにより、プロダクト315を選択する。
次に、ステップ1140に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、必要に応じて、プロダクト315を追加するように、ユーザを促す。もし、ユーザが、新しいプロダクト315を追加する要求を入力した場合には、ステップ1145に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、ユーザがプロダクト315を追加するための対話画面1700を生成し出力する。図17は、企業ビジネスプロセスサーバ101が提供する対話画面1700の一例であり、そこで、ユーザは、次のものに限定されるものではないが、プロダクト名称、プロダクト種類、バージョン及びプロダクトテンプレートなどの情報を入力し、プロダクト315を追加する。付録Aは、プロダクトテンプレートを生成する擬似コード命令の例を示すものである。
次に、ステップ1150に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、プロセス310に対するデータ送り先305を選択するように、ユーザを促す。図18は、企業ビジネスプロセスサーバ101が提供する対話画面1800の一例であり、そこで、ユーザは、データ送り先の名称と記述を入力する。
次に、ステップ1155に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、必要に応じて、新しいデータ送り先305を入力するように、ユーザを促す。もし、ユーザが、新しいデータ送り先305を追加する要求を入力した場合には、ステップ1160に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、次のものに限定されることはないが、データ送り先の名称、IPアドレス、ポート番号及び記述などの情報を入力することにより、ユーザがデータ送り先305を追加するための対話画面(不図示)を生成し出力する。少なくとも一実施例においては、企業ビジネスプロセスサーバ101が出力するデータの全て又は一部は、一つあるいはそれ以上の数のデータ送り先305に送られる。
次に、ステップ1165に制御を進めて、そこで、企業ビジネスプロセスサーバ101は、プロセス310を確立するように、ユーザを促す。図19は、企業ビジネスプロセスサーバ101が提供する対話画面1900の一例であり、そこで、ユーザは、上述したプロセス310に関する情報をレビューし確認する。画面1900で与えられる要約プロセス情報は、次のものに限定されることはないが、プロセス名称、そのデータソース305、入出力データ仕様、関連するプロダクト315リスト、ならびに、プロセス出力に対するデータ送り先305を含んでいる。プロセス310が生成された後に、それを編集(すなわち、ソースコード編集)することができる。編集されたプロセス命令は、コンパイルされ、プロセスルータに入力される。少なくとも一実施例においては、これらの命令は、ソースコード命令である。
方法1100の処理は、ステップ1170で終了する。
なお、ここで説明したシステムと方法から出力されたデータについては、一つあるいはそれ以上の数のデータ送り先305に対して、その全て又はその一部が送られる。すなわち、出力データの全てを、単一のデータ送り先305に送るものであってよい。それに代えて、出力データの一部を、複数のデータ送り先305に送るものであってもよい。
図24は、一実施例における、データ品質ビジネスプロセスの定義に含まれる、関数と、プロセスと、プロダクト(例えば、ツール)との間の関係を示す機能ブロック図である。
少なくとも一実施例において、企業ビジネスプロセス管理システム100は、インターフェースモジュールを含んでおり、その一例を、以下で詳しく説明する。インターフェースモジュールは、前述したユーザインターフェースの側面も兼ね備えている。一実施例において、インターフェースモジュール304は、図3に示される企業データ品質アプリケーションの構成要素として実装されている。インターフェースモジュールは、企業ビジネスプロセス管理システム100を用いて、ユーザが、ビジネスプロセスの一連の関数ステップを定義し、生成し、変更し、テストし、実行することを可能とするものである。特に、インターフェースモジュールは、対話的な図的表現にもとづくプロセス仕様ツールを含んでおり、このツールは、ユーザが、例えば、プロセス関数に関連するシンボルを選択し、特定のプロセスステップを表す位置に移動する(例えば、ドラッグ・アンド・ドロップする)ことができるように構成されている。各プロセスステップは、例えば、図20に示すように、グループ化された一つあるいはそれ以上の数の関数アイコンとして、表現されている。図20は、少なくとも一実施例における、プロセス設計者向けの対話画面2000の一例を示すものである。このように、インターフェースモジュールプロセスの設計者向けの画面は、企業ビジネスプロセス管理システム100によって実行されるビジネスプロセスの定義や特定のために用いられる。インターフェースモジュール304は、開発者向けツールキット303の上位アプリケーションとして、上述した図12〜19と同様の対話画面もしくは、それらに付け加える対話画面を提供する。
関数とは、特定のタスクを実行するプログラムの、名称がつけられた部分である。この意味で、関数は、手続き又はルーチンの一種と言える。いくつかのプログラミング言語は、値を返す“関数”と、何らかの操作を実行するが値は返さない“手続き”とを区別して用いている。多くのプログラミング言語は、ライブラリの中に格納されている、予め定義済みの関数の組を備えている。また、特別のタスクを実行する特別の関数を開発することも可能である。例えば、C言語や他のプログラム言語では、関数は、個別のサービスを実行する、名称を有する手続きである。関数の実行を要求する言語ステートメントは、ファンクションコールと呼ばれている。
図20において、プロセス設計者向け対話画面2000は、ファンクションライブラリ2005と、プロセス入力領域2010と、プロセスステップ定義領域2015と、プロセス出力領域2020を含んでいる。各プロセスステップ2025は、プロセスステップ定義領域2015内で、例えば、関数入力2030、関数出力2040及び関数識別子2035の一つ又はそれらのグループとして表現されている。関数入力2030の各々は、例えば、リンク2045を用いて、プロセス入力領域2010内の入力要素2075にリンクされる(あるいはリンクされない)。リンク2045は、コネクション又は“ロード”とも称されるものである。同様に、関数出力2040の各々は、例えば、リンク2045を用いて、プロセス出力領域2020内の出力要素2080にリンクされる(あるいはリンクされない)。一実施例において、リンク2045は、例えば、入力要素2075から関数入力2030へなどの、ソースから送り先への情報の有向フローを表現するために用いられる。情報のフローは、パケットヘッダ情報とルーティングテーブルを用いてデータの送り先又は目標を決定する少なくとも一つのルータによって制御される。さらに、プロセスステップ2025はリンクされ、例えば、ビジネスプロセスによってシーケンシャルに実行される連続したプロセスステップ2025の連鎖を形成する。
図25は、一実施例における、関数の概観表示のための対話画面の一例を示すものである。図25において、関数の概観表示2500のための画面は、関数ライブラリ2005に現状含まれる全ての関数の一覧を提供している。ここで、関数は、例えば、生成の時間順序など、様々な基準に従って、一覧表示の順序が決められている。
図26は、一実施例における、プロセス設計者向け対話画面2000のプロセス定義領域の一例を示すものである。
各プロセスステップ2025は、そのプロセスステップ2025を実行する際に企業ビジネスプロセスサーバによって実行される特定の操作を表している。特に、プロセスステップ2025は、一つあるいはそれ以上の数の関数入力2030と関数出力2040とを含んでいる。さらに、関数識別子2035は、関数出力2040を生成するために、関数入力2030を用いて実行される特定の操作を表している。一実施例において、企業ビジネスプロセス管理システム100は、複数のアプリケーションプロバイダから提供される多数の様々なプロセスステップ2025を、単一のビジネスプロセスの中で実行する。少なくとも一実施例においては、関数識別子2035は、そのアプリケーションを企業によって利用される、特定のアプリケーションプロバイダが提供する関数と関数要素を特定するために用いられる。さらに、複数のビジネスプロセスが、企業ビジネスプロセス管理システム100によってサポートされている。
少なくとも一実施例において、企業ビジネスプロセス管理システム100は、プロセス設計者向け対話画面2000と連携し、ビジネスプロセスを形成するプロセスステップ2025を生成し修正する。特に、ユーザは、関数入力2030、関数出力2040、関数識別子2035、入力要素2075、出力要素2080及びリンク2045を表す表示アイコン又はシンボルを、例えば、端末110〜113のポインティングデバイスを利用して、操作し、移動し、リンクさせることができる。一方、キーボード装置を用いて、この目的を果たすことも可能である。例えば、新しい関数入力2030を関数ライブラリ2005から、プロセスステップ定義領域2015の所望のプロセスステップ2025にドラッグ・アンド・ドロップ(例えば、選択)して、新しい関数入力2030をプロセスステップ2025に追加することができる。図27は、一実施例において、プロセス設計者向け画面2000上で、関数ライブラリ2005からプロセスステップ2025の要素を追加する様子を描いた、対話画面の一例を示すものである。新しい関数入力2030に、入力要素2075が必要となった場合には、ユーザは、例えば、所望の入力要素2075を、関数ライブラリ2005から入力領域2010にドラッグ・アンド・ドロップし、新しい入力要素2075から新しい関数入力2030へのリンク2045を追加する。図28は、一実施例において、プロセス設計者向け画面2000上で、プロセス設計者向け対話画面のプロセス定義領域でプロセスステップ2025をリンクする様子を描いた、対話画面の一例を示すものである。
一実施例において、関数入力2030は、特定のイベントの発生(あるいは発生しない)状況に対して、実行すべき他のアクションを特定するための条件ステートメントを含んでいる。図29は、少なくとも一実施例において、プロセスステップの要素に対して条件ステートメントを定義する、対話画面の一部2900の一例を示すものである。
図30は、図17と同様の実施例における、プロダクト定義用対話画面3000の一例を示すものである。図31は、図18と同様の実施例における、データ送り先定義用対話画面3100の一例を示すものである。図32は、図16と同様の実施例における、プロダクト選択用対話画面3200の一例を示すものである。
少なくとも一実施例において、企業ビジネスプロセス管理システム100は、例えば、データストア106などのデータストアから、インターフェースモジュールプロセス設計者によって定義されたビジネスプロセスを実装する一連の命令を、検索し、構築し、コンパイルする。一実施例において、企業ビジネスプロセスサーバ101のインターフェースモジュール304は、例えば、インターフェースモジュールを利用して定義された一つあるいはそれ以上の数のビジネスプロセスを実装する一連の命令を、企業ビジネスプロセスサーバ101で実行するために、データストア106から取得する。
少なくとも一実施例において、インターフェースモジュール304は、インターフェースモジュールプロセス設計者が定義したプロセスステップ2005を実行する一連の命令を、多数のビルドファイルを用いた一連のビルドステップにおいて、アセンブル(すなわち、ビルド(build))する。図21は、一実施例において、ビジネスプロセスのコード実装をビルドする際に企業ビジネスプロセスサーバが用いる一連のビルドファイルを示すものである。図21において、一実施例において、一つのビジネスプロセスに対するビルドファイルの組には、少なくとも一つの一時的なステップビルドファイル2050プロセスステップファイル2055、一つあるいはそれ以上の数の関数属性ファイル2060、一つあるいはそれ以上の数の関連関数一時ファイル2065及びプロセスファイル2070が含まれている。企業ビジネスプロセス管理システム100は、一実施例において、これらのファイルを用い、例えば、ビジネスインターフェースモジュールプロセスツールを以下の手順で用いて、ビジネス分析者により定義されたビジネスプロセスを実行する。
一実施例において、企業ビジネスプロセス管理システムに付加された全ての関数は、関数ライブラリ2005(図20)の中に存在する。各関数は、関数ライブラリ2005の中で、例えば、関数名称とアイコンとによって識別される。関数属性ファイル2060は、必要となる情報の全てを、例えば、XML形式で格納しており、この関数が、プロセスのステップで追加された時には、インターフェースモジュールプロセス設計ツール2000上に、正確な数の関数入力2030と関数出力2040とともに、関数が表示されるようになっている。また、関数属性ファイル2060は、関数で用いられるか関数で生成されたデータフィールドの内容パラメータにより定義された設定値を有している。一実施例においては、企業ビジネスプロセス管理システム100の各関数は、それ自身の関数属性ファイル2060を有している。関数ステップ2025は、ビジネスプロセスにステップとして追加された際に、インターフェースモジュールプロセス設計ツール2000上に現れる関数の一例を示すものである。関数がビジネスプロセスに追加されると、インターフェースモジュール304は、最初に、その関数の関数属性ファイル2060を読み込む。関数属性ファイル2060を読み込んだ後、インターフェースモジュール304は、その関数に必要な入出力要素を関数属性ファイル2060で定義する際に、これらの入出力要素をビルドする。
一実施例において、インターフェースモジュール304は、ユーザに一連の対話画面を提供し、ユーザがビルド済み関数をライブラリに導入することや、既存の関数を修正することを支援するための関数ウィザードを含んでいる。ファンクションウィザードは、一つあるいはそれ以上の数の対話画面の対話入力フィールドを含んでおり、そこでユーザは、関数名称を入力し、関数アイコンを選択し、関連するプロダクト名称を入力し、関数の種類を入力し、関数の記述を付加する。関数ウィザードは、ユーザが入力した情報に応じて、関数テンプレートを提供する。関数テンプレートは、例えば、関数テンプレートファイル2065を用いて保存されている。関数テンプレートは、関数の様々な特徴(例えば、変数)を定義する一連の命令を含んでいる。各関数の変数の実際の値は、各関数の変数に対応した関数設定により決定される。図33は、一実施例での関数テンプレートファイル画面3300の内容の一例を示すものである。
関数がビジネスプロセスに追加された後、一時的なステップファイル2050が生成される。一実施例では、一時的なステップファイル2050は、XML形式で提供される。一時的なステップファイル2050は、ビジネスプロセスの当該ステップに追加された際に、関数に関する全ての情報を格納している。なお、一時的なステップファイルは、同一の関数に関するものであっても、ステップにより異なる。
さらに、図21に示すように、インターフェースモジュール340は、ビジネスプロセスをビルドしようとする際に、プロセスステップファイル2055を生成する。一実施例では、プロセスステップファイル2055は、当該ビジネスプロセスに関連した一時的なステップファイル2050を統合したものである。
最後に、インターフェースモジュール304は、以下のように、プロセス命令セットファイル2070を生成する。まず、インターフェースモジュール304は、プロセスステップファイル2055を読み込む。各ステップは、ファンクションライブラリの関数に対応しているため、インターフェースモジュールは、プロセスステップファイル2055内から各ステップの関数属性ファイルを取り出し、次に、プロセスステップファイル2055内のデータを、関数属性ファイル2060内の対応するフィールドにマッピングする。次に、プロセスステップファイル2055から得られた情報を、関数属性ファイル2055内の対応するフィールドにリンク付けした後、インターフェースモジュール304は、各関数属性ファイル2060を、関数テンプレートファイル2065にマッピングする。一実施例において、関数テンプレートファイル2065は、プロセスを実行する一例の命令に追加される、ソースコード命令(例えば、‘C’言語ソースコード)を含んでいる。さらに、少なくもと一実施例においては、関数テンプレートファイル2065は、関連する関数属性ファイル2060のフィールドに対応したXMLタグを含んでいる。関数テンプレートファイルのソースコードは、プロセス命令セットファイル2070のソースコードに追加されているため、インターフェースモジュール304は、関数テンプレートファイル2065内のXMLタグを、プロセスステップファイル2055から与えられたデータである関数属性ファイル2060で与えられたデータで置き換える。
一実施例では、新しいプロセス命令セットファイル2070をビルドした後、企業データ品質アプリケーション300が、図22に示すように、新しいプロセスソースコードファイル2070を含む新しいルータDLLをビルドする。少なくとも一実施例においては、命令セットファイル2070は、ソースコード命令を含んでいる。図22において、企業データ品質アプリケーション300は、新しいプロセス命令セットファイル2070(例えば、プロセスファイル1)と、他のプロセス命令セットファイル(例えば、プロセスファイル2〜K)とを含む新しいルータDLL2071をビルドする。さらに、新しいルータDLL2071が、企業ビジネスプロセスサーバ101によりロードされ、サービスに配備され、この時点で、新しいプロセスが実行される。
図23a〜dは、少なくとも一実施例における、ビジネスプロセスを実行する方法をより詳細に示すフローチャートである。図23において、方法は、ステップ2300で開始し、ステップ2302に進む。ステップ2302では、ユーザは、企業ビジネスプロセスサーバ101に対して、ビジネスプロセスを生成するか修正する要求を送る。一実施例では、ユーザの要求は、端末110、111、112又は113から、例えば、パケット通信によるネットワークなどのネットワークを用いて、企業ビジネスプロセスサーバ101に出力される。パケット通信によるネットワークの一例は、インターネットである。ユーザは、例えば、ビジネス分析者である。一実施例では、この要求は、SML形式の要求として提供される。この要求に応答して、企業ビジネスプロセスサーバ101は、要求元である端末110、111、112又は113に、例えば、インターフェースモジュールプロセス設計者向け対話画面2000などの対話画面を出力する。一実施例では、インターフェースモジュールプロセス設計者向け対話画面2000は、端末のウェブアプリケーションを用いる端末での表示に適したXML形式の対話画面の形式で提供される。
次に、ステップ2304に制御を進めて、そこで、ユーザは、プロセスステップを追加するか、ビジネスプロセスのプロセスステップを修正するかの要求を出す(図20参照)。次に、ステップ2306に制御を進めて、そこで、ユーザは、プロセスステップに追加すべき関数や、新しいプロセスステップを追加すべき関数を、関数ライブラリに追加する必要があるかを判定する。もし、必要があると判定した場合には、ステップ2308に制御を進める。そうでない場合には、ステップ2312に制御を進める。
ステップ2308において、ユーザは、新しい関数を定義する情報を関数ライブラリに入力する。この情報は、次のものに限定されるものではないが、関数名称と関数アイコンを含んでいる。関数名称は、関数が提供する操作を、簡潔に記述したものである。関数アイコンは、関数が属するアプリケーションのベンダ又は提供者を表した記号である。一実施例では、プロセスステップで用いられる全ての関数は、関数ライブラリに含まれていなければならない。
さらに、ステップ2310に制御を進めて、そこで、ユーザは、関数属性ファイルを用いて、特定の関数属性を定義する。関数属性ファイルは、関数情報をXML形式で定義するために必要となる、全ての情報を含んでおり、これにより、ビジネスプロセスのステップとして当該関数が追加された際に、当該関数を、関連する関数設定と、正しい数の関数入力と関数出力とともに、インターフェースモジュールプロセス設計ツールの画面上に表示することが可能となる。一実施例では、関数属性ファイルは、XML形式に従って提供される。また、一実施例では、関数ライブラリ中の各関数は、対応する関数属性ファイルを有している。図34は、一実施例における、関数設定対話画面3400の一例である。
次に、ステップ2312に制御を進めて、一時的なステップファイルを以下のように生成する。関数がビジネスプロセスに追加された際には、インターフェースモジュールは、最初に、その関数に対する関数属性ファイルを読み込む。関数属性ファイルを読み込んだ後、インターフェースモジュールは、その関数に必要な入出力要素を関数属性ファイルで定義する際に、これらの入出力要素をビルドする。一実施例では、一時的なステップファイルは、XML形式で提供される。一時的なステップファイルは、関数がビジネスプロセスの当該ステップに属する際に、その関数に関する全ての情報を含むものとなる。なお、一時的なステップファイルは、同一の関数から得られたものであっても、ステップごとに異なっている。
次に、ステップ2314に制御を進めて、インターフェースモジュールが、プロセスステップファイルを生成する。一実施例では、プロセスステップファイルは、当該ビジネスプロセスに関連する一時的なステップファイルを結合あるいはアセンブルしたグループとなっている。
次に、ステップ2316に制御を進めて、インターフェースモジュールは、プロセスステップファイルの中から、各ステップに対応した関数属性ファイルを取り出す。次に、ステップ2318に制御を進めて、インターフェースモジュールは、プロセスステップファイル中のデータを、関数属性ファイル中の対応するフィールドにマッピングする。次に、ステップ2320に制御を進めて、インターフェースモジュールは、各関数属性ファイルを、関数テンプレートファイルにマッピングする。関数テンプレートファイルは、一実施例では、プロセスを実行する一連の命令に追加されるソースコード命令(例えば、‘C’言語ソースコード)を含んでいる。さらに、少なくとも一実施例においては、関数テンプレートファイルは、関連する関数属性ファイルのフィールドに対応したXMLタグを含んでいる。
次に、ステップ2322に制御を進めて、インターフェースモジュールは、関数テンプレートファイル内のXMLタグを、プロセスステップファイルから与えられたデータである関数属性ファイル与えられたデータで置き換える。
次に、ステップ2324に制御を進めて、インターフェースモジュールは、多量のデータを含んだ関数テンプレートファイルをアセンブルして、プロセスを実行する一連のプログラム命令を含む、一つのプロセス命令セットファイルを作成する。さらに、ステップ2326に制御を進めて、インターフェースモジュールは、プロセス命令セットファイルをデータストアに格納する。命令セットファイルは、これに限定されるものではないが、ソースコードファイルである。
次に、ステップ2328に制御を進めて、企業データ品質アプリケーションの中心となるアプリケーションは、ビジネスプロセスがテストプロセス又はプロダクトプロセスであるかを、ユーザが指定したかどうかを判定する。一実施例においては、ビジネス分析者モジュール304は、ユーザに対して、ルータのテストビルド又はプロダクトビルドのどちらを実行するのかを指定するための対話画面(不図示)を提供する。テストプロセスである場合は、図23cのステップ2330に制御を進める。プロダクトプロセスである場合には、図23dのステップ2350に制御を進める。
図23cのステップ2330では、新しいテストプロセス命令セットファイルのビルドの後に、企業データ品質アプリケーションの中心となるアプリケーションが、新しいテストプロセス命令セットファイルを含む新しいルータDLLをビルドする(図22参照)。テストプロセス命令セットは、プロダクトに関して、最適化されている。
次に、ステップ2332に制御を進めて、インターフェースモジュールは、企業ビジネスプロセスサーバに対して、新しいルータがロード可能となっていることを通知する。次に、ステップ2334に制御を進めて、企業ビジネスプロセスサーバは、現在のルータに入力しようとするトランザクションを休止及び停止させ、現状でルータに存在する全てのトランザクションに対してその処理を完了させ、現在のルータをアンロードする。
次に、ステップ2336に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、現在のルータがアンロードされたことを通知する。
次に、ステップ2338に制御を進めて、インターフェースモジュールは、現在のルータがアンロードされたことの通知を受信して、現在の(すなわち、“古い”)ルータを保存し、そのルータを新たにビルドされたルータで置き換え、企業ビジネスプロセスサーバに対して、新しいルータをロードするように通知する。
次に、ステップ2340に制御を進めて、企業ビジネスプロセスサーバは、新しいルータをロードし初期化し、トランザクションが新しいルータに入力できるようにする。
次に、ステップ2342に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、新しいルータがロードされたことを通知する。
次に、ステップ2344に制御を進めて、インターフェースモジュールは、新しいルータがロードされたことの通知を受信して、ユーザの端末にプロセステスト担当者向け対話画面を出力する。図35は、一実施例での、プロセステスト担当者向け対話画面3500の一例である。プロセステスト担当者向け対話画面3500は、プロセステストステップのリスト3505を含んでいる。
次に、ステップ2346に制御を進めて、端末は、例えば、ウェブブラウザアプリケーションの表示を介して、プロセステスト担当者向け対話画面をユーザに出力する。図36は、一実施例での、プロセステスト担当者向け対話画面3500の多くのデータを含むプロセス定義領域を示す図であり、本図では、インターフェースモジュールが、関数テンプレートファイル内のXMLタグを、関数属性テーブルで提供されたデータによって置き換えたものとなっている。
次に、ステップ2348に制御を進めて、以上の方法の処理が終了する。
図23dのステップ2350では、新しいプロダクトプロセスの命令セットファイルをビルドした後、企業データ品質アプリケーションの中心となるアプリケーションは、新しいプロダクトプロセス命令セットファイルを含む新しいルータDLLをビルドする(図22参照)。プロダクトプロセス命令は、プロダクトに関して、最適化されている。
次に、ステップ2352に制御を進めて、インターフェースモジュールは、企業ビジネスプロセスサーバに対して、新しいルータがロード可能となっていることを通知する。次に、ステップ2354に制御を進めて、企業ビジネスプロセスサーバは、企業ビジネスプロセスサーバは、現在のルータに入力しようとするトランザクションを休止及び停止させ、現状でルータに存在する全てのトランザクションに対してその処理を完了させ、現在のルータをアンロードする。
次に、ステップ2356に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、現在のルータがアンロードされたことを通知する。
次に、ステップ2358に制御を進めて、インターフェースモジュールは、現在のルータがアンロードされたことの通知を受信して、現在の(すなわち、“古い”)ルータを保存し、そのルータを新たにビルドされたルータで置き換え、企業ビジネスプロセスサーバに対して、新しいルータをロードするように通知する。
次に、ステップ2360に制御を進めて、企業ビジネスプロセスサーバは、新しいルータをロードし初期化し、トランザクションが新しいルータに入力できるようにする。
次に、ステップ2362に制御を進めて、企業ビジネスプロセスサーバは、インターフェースモジュールに対して、新しいルータがロードされたことを通知する。
次に、ステップ2364に制御を進めて、インターフェースモジュールは、新しいルータがロードされたことの通知を受信して、ユーザの端末に主プロセス対話画面を出力する。
次に、ステップ2366に制御を進めて、端末は、例えば、ウェブブラウザアプリケーションの表示を介して、主プロセス対話画面をユーザに出力する
次に、ステップ2368に制御を進めて、以上の方法の処理が終了する。
少なくとも一実施例においては、企業ビジネスプロセスサーバ101は、コネクションを介して、特定のビジネスプロセスに関連する入力要素のパケットをデータソースから受信して、その特定のビジネスプロセスを取り出し、それを実行する。少なくとも一実施例においては、このコネクションは、ビジネスアプリケーション関数入力データを、関連するビジネスプロセスの対応する情報フィールドに関連付けて、そのフィールドにデータを出力する、コンパイルされたダイナミック・リンク・ライブラリ(DLL)ファイルである。図37は、少なくとも一実施例において、ユーザがコネクションを定義する、コネクション定義対話画面3700の一例を示すものである。各企業アプリケーションは、例えば、企業ビジネスプロセスサーバ101により実行される一つあるいはそれ以上の数のビジネスプロセスを対応付けるための、各企業アプリケーションに対応したコネクションを、データストア106を用いて保持している。関連する入力要素のパケットを受信すると、企業ビジネスプロセスサーバ101は、関連するビジネスプロセスを取り出し、それを実行し、その実行結果である出力要素を出力する。一実施例では、企業ビジネスプロセスサーバ101は、コネクションを介して、出力要素を含むパケットをデータ送り先に送信して、その先の処理に備える。コネクションは、企業ノード間の経路を特定するためのデータルーティング情報をカプセル化している。一実施例では、このコネクションは、例えば、TCP/IPなどのパケット通信によるネットワークのためのソケットコネクションである。
このように、インターフェースモジュールは、例えば、ビジネス分析者などのユーザに対して、ソフトウェアエンジニアリングやプログラミングのための要員を巻き込んだ、要求定義、全体設計、詳細設計、コーディング及びテストという長いサイクルを経ることなく、企業ビジネスプロセス管理システムを用いて、ビジネスプロセスを定義し、生成し、修正し、実装し、テストし、実行することを可能としている。ここで示した企業ビジネスプロセス管理システムのインターフェースモジュールにより、ビジネスプロセスの迅速な対話型開発と実装が可能となり、コストと期間を削減し、さらに、関数に対する要求を定期的に凍結しなければならない状況を減らすことができる。
以上のように、企業ビジネスプロセス管理システムを説明してきたが、その実施例は、企業全体のアプリケーション又はトランザクションデータの質的並びに量的特徴に関する情報を収集し、分析し、報告することを可能とする統合されたデータ品質管理システムを提供するものである。ここで説明した企業データ品質管理システムは、本発明の企業ビジネスプロセス管理システムの一つの側面のみを記述したものである。当業者であれば、ここに開示された事項にもとづいて、本発明の他の実施例を思いつくことが可能である。特に、企業ビジネスプロセスサーバ101は、多くの様々な企業ビジネスプロセスアプリケーションを提供することや、それらと連携して動作することが可能なサーバとして一般的に規定することができる。通常、このような企業ビジネスプロセス管理システムは、全体の企業ネットワークの計算機ノードのいくつか又は全てを介して、企業全体でアプリケーション又はトランザクションデータの質的及び量的特徴に関する情報を、収集し、分析し、報告する能力を備えていて、異機種の計算機プラットフォームとアプリケーションによって出力されたアプリケーションデータを処理することが可能である。結果として、企業ビジネスプロセス管理システムは、企業全体で提示されるデータを、様々に統合した画面で見せることができる。このような画面は、企業全体か関するデータから、個々の部門又はビジネス関数/ビジネスユニット、個人に到るまでのデータに対応している。
例えば、企業ビジネスプロセス管理システムは、次のものに限定されるのもではないが、指紋分析、網膜イメージング/走査、音声認識及び画像照合と比較を含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、バイオメトリックを利用した侵入警備アプリケーションに適用することも可能である。特に、このビジネスプロセスでは、会社の従業員は、会社施設に入場するために、指紋認証走査に合格することが求められる。従業員が、指紋パッド又はスキャナに指をかざすと、一意の指紋スキャン結果を表すデータが、企業ビジネスプロセス管理システムにあるプロセスに送られる。このプロセスは、会社従業員指紋データベースの中から従業員を特定するために、例えば、様々な指紋をソフトウェアで照合するツールの一つあるいはそれ以上の数の関数を用いて、スキャンされた指紋を、有効な指紋の集合と照合することを含んでいる。もし従業員が会社の従業員に間違いないと確認されたら、企業ビジネスプロセス管理システムから、ドアのアクセス制御装置へ信号が送られ、ドアは解除されて、従業員に入場が許可されるようになっている。
このようなビジネスプロセスの他の例としては、写真画像データを、複数の画像を含むデータベースと照合し、その写真画像の特徴に合うものを検索する複数ステップから構成されたビジネスプロセスに、写真画像データを入力するものがある。特徴に合うものが見つかった場合には、企業ビジネスプロセス管理システムの他のプロセスに信号が送られ、写真画像の位置を表す座標が、標的システム又は報告システムに出力される。
他の例として、企業ビジネスプロセス管理システムを、例えば、適用される行政規則に関するビジネス上の法律遵守などの、法律遵守確保に適用するものがある。このようなアプリケーションは、無数にある。特に、一つの例としては、医療ビジネス企業が、例えば、1996年制定の健康保険移転責任法(“HIPAA”)などの、行政上の命令規則や規制に従って事業を行うことを確実にするため、ビジネスプロセスを運用するものがある。このようなビジネスの特徴ある例として、HIPAA要求を適用するビジネスルールを、関数ライブラリに格納し、行政上のHIPAA要求に基づいて特定の患者の情報に適用する必要のある一連のビジネスルールを含むビジネスプロセスを定義し実行するものがある。この構成は、遵守すべき行政上の要求に基づき、これらのビジネスルールを容易に修正することを提供する。すなわち、HIPAAに準拠するためのビジネスアプリケーションへの筋道が確定した後は、例えば、上述したようなインターフェースモジュールプロセス設計ツールを用いて、プロセスステップとして要求を表すために用いられる対応する関数を修正することができる。このようにして、ビジネスプロセスへの影響を最小限にとどめて、ビジネスに影響を与える規制の新たな変更に対応することができる。
他の例として、企業ビジネスプロセス管理システムの一実施例を、データセットに対して、行政上のデータ品質規制を満足させることに適用するものがある。例えば、児童福祉に関するデータを連邦政府に提出する際には、例えば、90%以上の正確さなど、指定されたレベルのデータの正確さを保証することが求められる。
他の例として、企業ビジネスプロセス管理システムの一実施例を、次のものに限定されるものではないが、地理情報をコーディングしたソフトウェアや課税ソフトウェアを含むビジネスアプリケーションの関数を含むビジネスプロセスを、定義し、ビルドし実行するような課税アプリケーションに適用するものがある。このようなビジネスプロセスの特徴ある例において、組織は、請求処理の過程で、その顧客の請求書に対して適切な税金を正確に課税する必要がある。請求処理の過程で、不正確な課税を行うと、顧客を失う結果をもたらすこともある。従って、一実施例では、ビジネスプロセス(あるいは、請求処理の過程で一連のプロセスステップ)を生成し、それを実行し、顧客への請求書を最終的に完成させ発送する前に、郵送先情報などの顧客情報が正しいことを、(例えば、ソフトウェアパッケージなどの)多くの課税ビジネスアプリケーションの中の複数の関数によってチェックする。さらに、これらの関数の実行結果を、例えば、互いに比較しあい、これらの結果に基づいて、正しい税金を課税する。さらに、正確な税金の額を決定した後で、正しい課税額と顧客の識別情報とを入力として他のビジネスプロセスに送り、その他のビジネスプロセスは、例えば、正しい課税額と顧客の識別情報とを入力として受信し、各ステップが異なるデータベースに対するSQL問い合わせ文を発行するような複数のステップを実行する。一実施例では、各ステップは、顧客識別情報によりデータストアを検索し、当該顧客の課税額を更新して、顧客が複数のデータストアに対して同一の課税を受けるようになっている。
他の例として、企業ビジネスプロセス管理システムの一実施例を、次のものに限定されるものではないが、郵送先情報の妥当性確認を含むビジネスアプリケーションの関数を含むビジネスプロセスを、定義し、ビルドし実行するようなプロダクト比較アプリケーションに適用するものがある。このようなビジネスプロセスの特徴ある例において、個人の郵送先情報を入力として受信するビジネスプロセスを生成し、実行し、さらに、複数のステップで構成されたプロセスを実行する。一実施例では、ビジネスプロセスの各ステップは、例えば、異なるソフトウェアベンダの郵送先情報の処理プログラムを含んでいる。各ステップは、郵送先情報を入力として受信し、各ステップで保有する郵便情報データベースを元に、その郵送先情報の妥当性を確認する。一実施例では、各ベンダの能力の比較を行い、所定のデータ条件の下でどのプロダクトが最良の結果を導くかを、正確に把握するための統計情報を生成する。図38は、一実施例における比較ビジネスプロセスを示すものである。
より一般的には、組織が、どのソフトウェアアプリケーション又はベンダが最良の機能性を提供するかを判断しようとする場合には、これらのプロダクトは、企業ビジネスプロセス管理システムの元に集約し、互いに比較してテストする必要がある。さらに、異なるソフトウェアベンダのAPIコールを比較するビジネスプロセスは、このプロセスに含むことが可能である。
他の例として、企業ビジネスプロセス管理システムの一実施例は、次のものに限定されるのもではないが、データストアの変換ソフトウェアを含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、データマッピング又は変換アプリケーションに適用することも可能である。このようなビジネスプロセスの特徴ある例では、一方のデータストア(例えば、第一データベース)に対応した第一の形式で入力データを受信し、他方のデータストア(例えば、第二データベース)形式で出力が与えられるように、ビジネスプロセスが生成され実行される。一実施例では、各プロセスステップは、一方のフィールド種類から他方のものへマッピングするものとなっている。
最後に、他の例として、企業ビジネスプロセス管理システムの一実施例は、次のものに限定されるのもではないが、情報照合とデータベース検索ソフトウェアを含むビジネスアプリケーションのための関数を含むビジネスプロセスを定義し、ビルドし実行するような、ソフトウェアで構成されたマッピングアプリケーションに適用することも可能である。このようなビジネスプロセスの特徴ある例では、ビジネスプロセスは、コールセンタ運用に関連した情報に対する情報照合やデータストア検索を行うことを含んでいる。特に、コールセンタのオペレータが、顧客からの電話を受けると、その電話で、顧客は、氏名と郵送先情報をコールセンタオペレータに告げる。コールセンタオペレータは、例えば、対話画面を用いて情報を入力し、検索要求を出す。検索要求により、氏名と郵送先情報が、企業ビジネスプロセス管理サーバに保持され、例えば、以下のステップを実行するビジネスプロセスに送られる。
a.氏名と郵送先データを標準化する
b.照合キーを生成する
c.ステップbで生成した照合キーを用いて、一連のデータベース検索を実行する
d.各データベース検索は、一時的な記録を残すために用いられる何がしかの情報を返送する
e.全てのデータベース検索が実行された後、出力をコールセンタ担当者向け画面に返送する
管理者ユーザ及び経営者ユーザを含む、企業ビジネスプロセス管理システムのユーザには、次のものに限定されるものではないが、データ品質に関する問題などの企業レベルでの問題について、適切な是正措置がとれるように、異なるレベルの表示画面が提供される。少なくとも一実施例においては、企業ビジネスプロセス管理システムは、不正確又はエラーを含むデータを、信頼できるデータに基づいて、自動的に修正する。本発明の企業ビジネスプロセス管理システムにより提供された統合ビューによって、例えば、アプリケーション固有のデータのチェックプロセスなど、ベンダ依存のアプローチの欠点を最小限にとどめることができる。さらに、例えば、企業が、ここで説明した統合アプローチを採用することにより、多数の個別のデータ品質アプリケーションを購入する必要性が減るため、データ品質ツールの購入の総コストを最小限にとどめることができる。
さらに、少なくとも一実施例においては、ビジネスプロセスサーバは、さらに、好ましい関数の組を選択し実行するように構成されており、好ましい関数の各々は、複数の異なるビジネスアプリケーションの一つから得られるものとなっている。ビジネスプロセスサーバは、ビジネスアプリケーションが提供する複数の同種の関数の中から、例えば、選択ヒューリスティックスに基づいて、一つの関数を選択する。この選択ヒューリスティックスの例としては、ビジネスアプリケーションの出力データの所定の組に適用される複数の同種の関数を比較により、関数によって検出されるエラー率(%)がある。各ビジネスアプリケーションは、異なるベーダから提供されたプロダクトである場合と、そうでない場合がある。一方、関数を選択する基準は、インターフェースモジュールの対話画面を介して、ユーザによって指定される。このようにして、企業ビジネスプロセス管理システムは、異なるビジネスアプリケーションにより提供される関数の中から、好ましい、あるいは最良の関数の組を選択することができる。
図40は、ビジネスプロセス管理システムの一例である、企業ビジネスプロセス管理システム100のブロック図である。企業ビジネスプロセス管理システム100は、プロセス形成部4001と、プロセス設計者向け対話部4002とを含んでいる。プロセス形成部4001は、ビジネスプロセスを生成又は修正する部分である。プロセス設計者向け対話部4002は、プロセス設計者4003との対話処理を行う部分である。プロセス設計者4003は、ビジネスプロセスを設計する人である。プロセス設計者4003は、ビジネスプロセスが設計可能な物であれば、人以外の物であってもよい。例えば、プロセス設計者は、個別の企業ビジネスプロセス管理システム100や、他のシステムあるいはソフトウェアであってよく、さらに、対話処理を行うもの行わないもののいずれかであってよい。
プロセス設計者向け対話部4002は、次のものに限定されるものではないが、表示画面とキーボード、あるいは表示画面とマウスなどを介した様々な方法でプロセス設計者4003との間で対話処理を行う。比較的高度な対話処理の一例としては、プロセス設計者向け対話部4002が、図20に示すような、プロセス設計者4003との対話処理を行うプロセス設計者向け対話画面2000を表示するものがある。プロセス設計者4003は、プロセス設計者向け対話部4002で用いられる、ビジネスプロセスを設計するための情報を入力する。ここで、ビジネスプロセスを設計するための情報は、ビジネスプロセスを設計するために用いられる何がしかの情報として定義される。ビジネスプロセスを設計するための情報の一例としては、図20に示されるように、プロセス設計者が、プロセス設計者向け対話画面2000上で関数識別子2035を配置するものがある。プロセス形成部4001は、プロセス設計者向け対話部4002から受信した情報に基づき、ビジネスプロセスを生成又は修正する。
図41は、企業ビジネスプロセス管理システム100が複数のプロダクトを用いることを示すブロック図である。プロセス形成部4001は、数に制限のないプロダクトを用いることができる。図41において、プロセス形成部4001は、3つのプロダクト4100、4101、4102(これらは、一例として示すものであり、プロセス形成部はこの構成に限定されるものではない)を用いる。通常、プロダクトは、複数の関数を有しているが、プロダクトは一つの関数のみを有するものであってもよい。さらに、関数自身がプロダクトであってもよい。また、ビジネスプロセスは、複数の関数及び/又はプロダクトを含んでいるが、ビジネスプロセスが関数として用いられる場合には、関数として構成されている。企業ビジネスプロセス管理システムにより生成されたビジネスプロセスは、関数により再帰的に用いられる。さらに、企業ビジネスプロセス管理システムにより生成されたビジネスプロセスは、プロダクトにより再帰的に用いられる。
図41において、プロダクト4100は、関数4110、4113を有している。プロダクト4101は、関数4111を有している。プロダクト4102は、関数4112、4114を有している。図41は、プロセス形成部4001が、関数4110、4111、4112、4113、4114の中から、関数4111、4112、4113を選択し、ビジネスプロセス4150を生成又は修正する一例を示したものである。プロダクト4100、4101、4102は、ベンダが提供するプロダクトと同一又は異なるものである。また、プロセス形成部4001は、設定を選択し、設定の選択を許可する。通常、関数は、個々のビジネスの必要性を満足するために、ビジネスによって調整可能ないくつかの設定を提供する。いくつかの関数は、ビジネス(又は、プロセス設計者4003)によって調整されることのない、唯一の固定された設定を提供する場合もある。いくつかの関数は、まったく設定を有しない場合もある。図41において、関数4110は、3つの設定、設定A、設定B、設定Cを有している。関数4111は、唯一の固定された設定Dを有している。関数4112、4113、4114は、設定を有していない。図41は、プロセス形成部4001が、関数4113の設定A、Bの中から設定Bを選択し、ビジネスプロセス4150を生成又は修正する一例を示したものである。ビジネスプロセス4150は、関数4111の設定Dと、関数4112と、関数4113の設定Bとを用いる。ビジネスプロセス4150は、ビジネスプロセス4150内部に物理的に関数と設定とを含んでいる場合もあるし、ビジネスプロセス4150内部に物理的に関数と設定を含んでいないが、ビジネスプロセス4150の物理的な場所の外部に存在する関数と設定とにアクセスできるようになっている場合(関数は物理的に異なる場所に設けられるが、有線又は無線通信によってアクセス可能となっているなどの場合)もある。プロセス形成部4001は、同一又は複数のベンダから提供される、複数の異なる設定を有する同一の関数を選択する。
プロセス形成部4001での関数と設定の選択は、プロセス設計者向け対話部4002から受信した情報に基づくものである。また、プロセス形成部4001での関数と設定の選択は、関数及び/又は設定の比較に基づくものである。図41において、プロセス形成部4001は、有効性比較部4120を含んでいる。有効性比較部4120は、よく考えて構成された一実施例において、関数及び/又は設定の有効性を比較する部分である。プロセス形成部4001は、プロセス設計者向け対話部4002から受信した情報に基づき、関数を選択する。
プロセス設計者向け対話部4002から受信する情報の一例としては、図20に示したプロセスステップ定義領域2015上で3つの関数識別子2035を選択するものがある(説明を簡単にする目的のため、ここでは、3つの関数識別子を、関数X、Y、Zと呼ぶことにする)。関数Xは、関数4111又は4114によって実現されている。関数Yは、関数4112によって実現されている。関数Zは、関数4113によって実現されている。プロセス形成部4001は、関数Y、Zとして、関数4112、4113を選択する。有効性比較部4120は、関数4111と関数4114の有効性を比較し、関数4111を関数Xとして選択する。また、有効性比較部4120は、関数4113の設定A、B、Cの有効性を比較し、関数4113の設定Bを選択する。プロセス形成部4001は、関数4111の設定Dと、関数4112と、関数4113の設定Bを用いるビジネスプロセス4150を生成する。
有効性比較部4120で有効性を比較する方法には、様々な方法がある。例えば、有効性比較部4120は、計算機シミュレーションによって、関数と設定の有効性を評価することも可能である。それに代わる方法として、有効性比較部4120は、ベンダのプロダクトに含まれる情報から得られた情報に基づいて、関数と設定の有効性を評価することも可能である。有効性比較部4120は、ベンダの関数と設定の強みと弱みを比較する。有効性比較部4120は、異なるベンダから提供された関数と設定の有効性を比較し、例えば、データ品質問題などの特定の企業の課題を扱う上で最も有効な関数の設定を選択するように構成することが可能である。
なお、有効性比較部4120は、異なる関数又は設定の有効性の評価に加え、関数と設定の複製の有効性を評価することも可能である。この比較は、同一のシステム又はプラットフォーム、あるいは複数の異なるシステム又はプラットフォームに存在する関数及び/又は設定の複数に対して行われる。例えば、同一の関数(又は関数の複製)は、複数の異なるオペレーティングプラットフォーム上に置くことが可能であり、さらに、関数の複製が、複数の異なるプラットフォーム上で実行される際には、これらを別々に実行することが可能である。一つの場合として、Windowsに基づくプラットフォーム上に関数が存在する場合には、その関数は、Linuxに基づくプラットフォーム上で動作する関数の複製よりも低い速度で動作する。次に、有効性比較部4120は、関数(すなわち、同一の関数の複製)の、それらが存在するプラットフォームでの有効性を評価し、どの複製が適切なものかを選択する。
有効性比較部4120は、様々な要素の中から、関数と設定の速度と効率の要素を比較することにより、関数と設定の有効性を評価する。例えば、一つの設定又は関数が、許容されることができないほど低速で動作する場合には、その関数又は設定は、所定の時間制限の中では結果を戻すことができないようなプロセスを生成する結果をもたらすものとなる。従って、有効性比較部4120は、所定の時間制限の中でデータを処理できるような、異なる設定又は関数を選択する。あるいは、有効性比較部4120は、処理するデータの信頼性、正確性などに基づいて、複数の異なる設定と関数の中から選択することも可能である。なお、有効性比較によって、戻される結果について、多くの要素の中でも、時間制約と正確性の要素を評価し、特定のプロセス、関数又は設定の全体的な性能を比較することが可能であることは、当業者であれば自明なことである。
図42は、企業ビジネスプロセス管理システム100が複数のビジネスアプリケーションを用いることを示したブロック図である。図41に示した一例では、ビジネスアプリケーション4200は、関数4210、4213、4216を有している。ビジネスアプリケーション4201は、関数4211、4214、4217を有している。ビジネスアプリケーション4202は、関数4212、4215を有している。図41は、プロセス形成部4001が、関数4212、4213、4127を選択し組み合わせて、ビジネスプロセス4250を生成又は修正する一例を示している。関数4210、4211、4212、4213、4214、4215、4216、4217の全て又は一部は、設定を含んでいる。企業ビジネスプロセス管理システム100は、企業に対して、“最良の”ビジネスプロセスを組み合わせて用いて、ビジネスプロセス全般についてより高い効果を達成することができるようにする。複数の異なるビジネスアプリケーションの関数を組み合わせることにより、特定の効果や、より高い総合的な効果をもたらす他の基準のために、関数を組み合わせた、特定の新しい又は修正されたビジネスプロセスを構成することができる。例えば、いくつかのデータ品質プロセスは、その各々は、同一又は複数の異なるビジネスアプリケーションから得られるものであり、複数のデータ品質ビジネスアプリケーションの各々を単独で適用する場合に比べて、より高い総合的なデータの正確性(%)を達成するような、単一のデータ品質ビジネスプロセスを構成するように定義することが可能である。各ビジネスプロセスアプリケーションは、異なるベンダから提供されたプロダクトである場合もあるし、そうでない場合もある。企業ビジネスプロセス管理システム100は、異なるビジネスアプリケーションにより提供される関数の中から、好ましい、あるいは“最良の”関数の組を選択することができる。
企業ビジネスプロセス管理システム100は、プロセス設計者4003(又は代わりとしてユーザ)に対して、次のものに限定されるものではないが、プロダクト名称、プロダクト種類、バージョン、プロダクトテンプレートなどの情報を入力することにより、プロダクトを追加できるようにしている。バージョンを入力するために、企業ビジネスプロセス管理システム100は、バージョン入力部を有している。バージョン入力部は、バージョンに関する情報を入力するための部分である。図17は、バージョン入力部の一例を示すものである。図30は、バージョン入力部の他の例を示すものである。
企業ビジネスプロセス管理システム100は、プロセス設計者4003(及び/又はユーザ)に対して、プロダクトのプラットフォームを入力できるようにしている。プラットフォームの典型的な例は、オペレーティングシステムである。企業ビジネスプロセス管理システム100は、プラットフォーム入力部を有している。プラットフォーム入力部は、プラットフォームに関する情報を入力するための部分である。図32は、プラットフォーム入力部の一例を示すものである。プロダクト4100、4101、4102は、同一又は異なるプラットフォーム上に存在する。ビジネスアプリケーション4200、4201、4202は、同一又は異なるプラットフォーム上に存在する。
企業ビジネスプロセス管理システム100は、バージョン図的表示部を有している。バージョン図的表示部は、バージョンに関する図的情報を表示する部分である。図43は、バージョン図的表示部の一例として、バージョン画面4300を示すものである。図43に示すように、バージョン画面4300は、木構造を表示する。インターフェース4301は、木構造の第一レベルである。一つのインターフェース4301は、一つあるいはそれ以上の数のリリース4302を有しており、これらは、木構造の第二レベルである。一つのリリース4302は、一つあるいはそれ以上の数の実装4303を有しており、これらは、木構造の第三レベルである。図43は、インターフェース4301とリリース4302を組み合わせて、バージョン番号を構成することを示している。例えば、番号“1”を有するインターフェース4301と、番号“.1”を有するリリース4302とが、バージョン番号“1.1”を構成する。本実施例では、実装4303には、バージョン番号が付与されていない。オペレーティングシステムの名称が、実装4303に割り当てられている。通常、実装4303は、オペレーティングシステムであるが、プロダクト又はビジネスアプリケーションが実装される任意の実体物であってよい。例えば、同一のバージョン番号1.1を有する2つのワードプロセッサプロダクトが、二つの特定の計算機に対して開発された場合には、この実装は計算機となる。
図44は、バージョン図的表示部の他の実施例を示すものである。本実施例では、数字が実装4403に割り当てており、実装4403にはバージョン番号が付与されている。例えば、インターフェース4401が番号“1”を有し、リリース4402が番号“.1”を有し、実装4403が“.1”を有する場合には、バージョン番号は“1.1.1”になる。
インターフェース4301、4401及びリリース4302、4402ならびに実装4303、4403は、アイコンによって表現されている。図43及び図44において、これらは、同じ形状を持つアイコンによって表現されている。しかし、各アイコンは、異なる形状、色、デザインなどを有するものであってもよい。また、アイコンを用いる代わりに、他の指示手段(例えば、単純なドットや文字列)を用いることもできる。アイコン又は他の指示手段は、フォルダであってもよい。よく考えられた実施例において、フォルダとは、クリック操作によって開いたり閉じたりする指示である。フォルダをクリックして開くと、木構造の下位レベルが画面に表示される。フォルダをクリックして閉じると、木構造の下位レベルは画面上から消される。
プロセス設計者4003及び/又はユーザは、複数の指示手段の中から少なくとも一つを選択することにより、ビジネスプロセスを生成又は修正するために用いるプロダクトを選択することが可能である。例えば、プロセス設計者4003は、特定のオペレーティングシステムに実装されたバージョン番号1.1をもつプロダクトを選択するために、マウスカーソルによって、アイコン4304をクリックする。これにより、ユーザは、ビジネスに適したバージョンを利用することが可能となる。
図45は、企業ビジネスプロセス管理システム100が、バージョンを持つ複数のプロダクトを用いることを示したブロック図である。本明細書では、異なるバージョンを持つプロダクトは、たとえプロダクトの名称が同一のものであっても、異なるプロダクトから構成されている。また、本明細書では、異なるプラットフォームを持つプロダクトは、たとえプロダクトの名称が同一のものであっても、異なるプロダクトから構成されている。企業ビジネスプロセス管理システム100は、異なるバージョンを持つプロダクト及び/又はプラットフォームの中から関数と設定を選択し、ビジネスプロセスを生成又は修正することが可能である。また、プロセス設計者4003及び/又はユーザは、特定のバージョンを持つプロダクト及び/又はプラットフォームを選択して、ビジネスプロセスを生成又は修正することが可能である。
図45において、プロダクト4500は、プロダクト名称“Data Quality”を有し、そのバージョンは1.0であり、プラットフォームはUNIX(登録商標)である。プロダクト4501は、プロダクト名称“Data Quality”を有し、そのバージョンは1.1であり、プラットフォームはUNIXである。プロダクト4502は、プロダクト名称“Data Quality”を有し、そのバージョンは2.0であり、プラットフォームはLINUXである。プロダクト4503は、プロダクト名称“Search Name”を有し、そのバージョンは1.0であり、プラットフォームはUNIXである。プロダクト4500は、関数4510、4512を有している。プロダクト4501は関数4510、4512を有している。プロダクト4502は、関数4511、4514を有している。プロダクト4503は、関数4515を有している。関数4512は、設定A、B、C、Dを有している。関数4513は、設定E、F、Gを有している。関数4514は、設定H、I、Jを有している。図45において、プロセス形成部4001は、ビジネスプロセス4550を生成又は修正するために、関数4511と、関数4112の設定Cと、関数4515とを選択する。
プロダクト4500、4501、4502は、同一のプロダクト名称を有している。関数4511は、関数4510よりも効果が改善されているが、関数4511は、Linuxプラットフォームのみで利用可能である。プロセス形成部4001は、異なるプラットフォーム上の関数とやりとりするために、関数4511を選択することにより性能を改善できる。プロダクト4501との互換性を考慮することにより、設定Cでは、関数4512を選択する。関数4515は、関数4511と4512と組み合わせるために選択される。このようにして、ビジネスプロセス4550を生成又は修正するために、同一のプロダクト名称を有するプロダクトの異なるバージョン又はプラットフォームを組み合わせることができる。異なるバージョンとプラットフォームの関数を混在させることにより、企業ビジネスプロセス管理システム100は、単一のバージョンや単一のプラットフォームのみを有するプロダクトを用いる場合よりも、より効果的なビジネスプロセスを生成又は修正することができる。
特定の環境で、異なるインターフェース4301、リリース4302及び実装4304を組織し利用する能力は、今日の多くのビジネスにとって重要な課題となっていることは、当業者にとってよく理解されているところである。上述の構造と、ここで説明した企業ビジネスプロセス管理システム100とを用いることにより、この課題を解決することが可能である。
当業者にとってよく理解されているように、また、前述の内容から、異なる実装、リリース及びバージョンは、単に、用いることが可能な関数である。例えば、企業ビジネスプロセス管理システム100を用いる方法には、少なくとも2つの方法がある。第一の方法は、異なる実装4303を、システム100内の異な部分で用いる場合に、古い実装4303を、より最新の実装4303で置き換えるために、企業ビジネスプロセス管理システム100を用いることである。第二の方法は、もし異なる実装4303を同時に実行させることが望ましい場合に、この実行動作が可能となるように、企業ビジネスプロセス管理システム100を構成することである。
時間が経過した後、実装4304、リリース4302及びインターフェース4301を更新して置き換える際には、古いバージョンを自動的に検索し、新しいバージョンと置き換え、それにより全体の更新を簡単かつ効率的に行えるように、企業ビジネスプロセス管理システム100を構成することができる。
当業者にとってよく理解されているように、実装は、インターフェース要求の条件を満足するものである。実装は、実装を実行可能な一つあるいはそれ以上の数の計算機、システム又はプラットフォーム上に配備される。すなわち、実装は、単一のバージョンを表すものではあるが、M台の計算機に対して配備することが可能である。また、バージョンは、システム内での拡大係数を表すものでもある。
例えば、プロセス設計者4003がプロセスを生成する際には、バージョンと、バージョンの特定の実装は、それがインターフェースであるか、リリースであるか、実装であるかに関わらず、その上でバージョンがシステムを越えて実行できる計算機の範囲を表している。このような拡大を行うためのシステムスケールと意思決定について、以下に説明する。
上述したように、本実施例では、インターフェースは、バージョンに関する抽象度の最上位のレベルを表しており、さらに、拡張性の最上位のレベルを表している。インターフェースがプロセスの中で用いられる際には、プロセスが実行中であるときに、リリースと実装に関して、その中から選択する完全な範囲をプロセスが有していることを、システムに通知される。このことは、システムがプロセスを実行可できる範囲は広いものであることを潜在的に表していることに他ならない。
一実施例では、インターフェースのTool.1は、Tool.1.1、Tool.1.2〜Tool.1.Nで表されるN個のリリースを有しており、各リリースは、Tool.1.1.P(1)、Tool.1.2.P(2)〜Tool.1.N.P(3)で表されるP個の実装を有しているならば、このインターフェースがプロセスで用いられる際には、プロセス設計者4003がそのように決定したならば、システムは、実装が配備された各機器(M)の各リリース(N)で各実装(P)用いることができる。プロセス設計者に対しては、インターフェースの利用は、単一のバージョンを表している。システムに対しては、インターフェースの利用は、プロセスの要求を満足させるために、どの程度システムを拡大するかについての命令に対応する。
リリースとは、インターフェースに相当するものである。しかし、システムを最大限利用するためにシステムの動作をどの程度拡大できるかについては、リリースは制限を受ける。インターフェースとリリースとの間の一つの違いは、リリースは、その特定のリリース(例えば、リリースの“子供”)のみに含まれ、他のリリースには含まれない実装を利用できるように、拡大することが可能であるという点である。この例では、プロセス設計者に対して、リリースの利用も、単一のバージョンを表している。システムに対しては、リリースの利用は、(リリースの子供である)実装を、プロセスの選択されたステップを実行する際に用いられる実装のみとするために、どの程度システムを拡大するかの命令に対応する。
よく考えられた一実施例では、実装は、システム内での最小の拡大量を提供するものとなっているが、その理由は、その拡大量が、システムが特定のプロセスを実行するために用いる最大M個の潜在的な計算機の個数を表しているためである。なお、バージョンをプロセスで用いる際には、バージョンは、単一のステップを表すものとなり、そのステップが、前のステップと独立しているか独立していないかに応じて、ステップを順次実行するかしないかが決められる。しかし、システムに対しては、バージョンは、単一の計算機のみで実行可能な単一のステップを表すものではなく、当該ステップを実行するために用いることができる計算機の数を表すものとなる。
以下で示す例は、上記の一例である。ここでは、総数Tのトランザクションが、インターフェースで利用可能な総数Mの計算機で処理することができるものと仮定する。ビジネスプロセスの1ステップは、M個の計算機で並列に実行される場合には、tの処理時間を要するものとする。処理時間tは、トランザクションの総数Tを、計算機の総数Mで割り、さらに、各トランザクションを処理するのに必要な平均時間を掛けた値である。ここで明らかなように、インターフェースで利用可能な計算機の数が大きいほど、ビジネスプロセスは、各計算機で必要となる処理時間には依らず、より速く実行されるものとなる。
各計算機は、ビジネスプロセスでのステップを同一の速度で実行できないことは、当業者によってよく理解されるところである。従って、各計算機が、同一の数のトランザクションを扱う場合には、ステップを実行するのに必要な全処理時間は、インターフェースで利用可能な計算機の中の、最も低速な計算機の処理時間となる。全処理時間をさらに短くするためには、インターフェースには、低速な計算機よりも多量のトランザクションを処理できる、より高速な計算機が必要となる。従って、これらの要因の間のバランスをとり、インターフェースで利用可能な様々な計算機に対して最も効率的な処理を確立できるように、インターフェースを構成する必要がある。
最も単純な例としては、100個のトランザクションを同一のプロセスで処理する必要があり、そのプロセスは、インターフェースを表すプロセスを含んでおり、そのインターフェースは、100個の潜在的な計算機を表しており、個々の計算機は実装を含んでいると仮定した場合には、各トランザクションは、同一の時間に(並行して)実行することが可能となる。プロセス自身は、単一のプロセスとして表されているが、システムは、潜在的な実装ごとに拡大するものとなっている。本例では、各計算機は、同一の速度でトランザクションを実行することを仮定すると、トランザクションの処理は、単一の計算機のみが単一のプロセスの実行に依存している場合に必要となる処理時間の1/100の時間で完了する。
本発明を、その例示された実施形態を説明してきたが、ここで用いられている語句は、説明のための語句であり、限定のための語句ではない。発明の範囲と趣旨を逸脱せず、添付の請求項の範囲内であれば、修正を行うことが可能である。本発明は、特定の構造、動作及び材料に関して説明してきたが、本発明はこれら開示した特定物に限定されることはなく、請求の範囲に含まれるものとして、全ての等価な構造、動作及び材料に拡張されるものである。
付録A

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 */
上記のいずれのデータ構造に対してメモリを割当てた場合、このセクションでメモリの割当て解除を行う。
本発明の少なくとも一つの実施例についての以下の詳細な説明と以下の図面から構成されたものを考慮することにより、本発明の利点を容易に評価し理解することができる。
図1は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムで実装あるいは利用されるシステムの説明図である。 図2は、本発明の少なくとも一実施例において、設計されたサーバを実装するために使用可能な装置の概略ブロック図である。 図3は、本発明の少なくとも一実施例において、企業ビジネスプロセスサーバの企業データ品質アプリケーションの機能ブロック図である。 図4は、本発明の一実施例において、データソース/送り先と、製品とプロセスとの関係を図示した機能ブロック図である。 図5は、本発明の少なくとも一実施例において、システムを実装するために用いられる装置を図示した機能ブロック図である。 図6は、本発明の少なくとも一実施例において、起業ビジネスプロセス管理システムによって用いられる方法を示すフローチャートである。 図7は、本発明の少なくとも一実施例において、経営者向け画面(view)のためのエラー報告の一例である。 図8は、本発明の少なくとも一実施例において、顧客サポート向け画面(view)のためのエラー報告の一例である。 図9は、本発明の少なくとも一実施例において、個人向け画面(view)のためのエラー報告の一例である。 図10は、本発明の少なくとも一実施例において、管理者向け画面(view)のためのエラー報告の一例である。 図11は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムのためのビジネスプロセスを確立する方法のフローチャートである。 図12は、本発明の少なくとも一実施例において、ビジネスプロセスを生成するためのグラフィカルユーザインターフェースのユーザ向けの対話画面(interaction page)の一例である。 図13は、本発明の少なくとも一実施例において、プロセスのためのデータソースを追加するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。 図14は、本発明の少なくとも一実施例において、プロセスのための入力パケットを定義するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。 図15は、本発明の少なくとも一実施例において、プロセスのための出力パケットを定義するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。 図16は、本発明の少なくとも一実施例において、プロセスに対して、製品を選択するためのグラフィカル・ユーザ・インターフェースのユーザ向けの対話画面の一例である。 図17は、本発明の少なくとも一実施例において、プロセスとともに利用する製品を追加するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。 図18は、本発明の少なくとも一実施例において、プロセスとともに利用する製品を追加するためのグラフィカル・ユーザ・インターフェースのユーザ向けの対話画面の一例である。 図19は、本発明の少なくとも一実施例において、プロセスを確立するためのグラフィカルユーザインターフェースのユーザ向けの対話画面の一例である。 図20は、本発明の少なくとも一実施例において、プロセス設計者向けインターフェースのグラフィカルユーザインターフェースの対話画面の一例である。 図21は、本発明の一実施例において、ビジネスプロセスのコード実装を構築するために、企業ビジネスプロセスサーバにより用いられる一連のビルドファイルを示すものである。 図22は、本発明の一実施例において、新しいルータの動的リンクライブラリを構築する方法を示すものである。 図23a〜dは、本発明の少なくとも一実施例において、ビジネスプロセスを実装する方法を示すフローチャートである。 図24は、本発明の一実施例において、ビジネスプロセスの定義に含まれる関数、プロセス及び製品(例えば、ツール)の間の関係を示す機能ブロック図である。 図25は、本発明の一実施例において、関数を概観する対話画面の一例である。 図26は、本発明の一実施例において、プロセス設計者向け対話画面のプロセス定義領域の一例である。 図27は、本発明の一実施例において、関数ライブラリの中からプロセスステップの一要素を選んで追加する状況を示す対話画面の一例である。 図28は、本発明の一実施例において、プロセス設計者向け対話画面のプロセス定義領域で、プロセスステップをリンクする状況を示す対話画面の一例である。 図29は、本発明の少なくとも一実施例において、プロセスステップの一要素について条件状態を定義する対話画面の一例である。 図30は、本発明の一実施例において、製品定義のための対話画面の一例である。 図31は、本発明の一実施例において、データの送り先定義のための対話画面の一例である。 図32は、本発明の一実施例において、製品選択のための対話画面の一例である。 図33は、本発明の一実施例において、関数テンプレートファイル画面の内容の一例である。 図34は、本発明の一実施例において、関数設定のための対話画面の一例である。 図35は、本発明の一実施例において、プロセステスト担当者のための対話画面の一例である。 図36は、本発明の一実施例において、プロセステスト担当者のための対話画面の多くのデータが含まれている設計領域を示すものである。 図37は、本発明の一実施例において、接続定義のための対話画面の一例である。 図38は、本発明の一実施例において、比較処理を行なうビジネスプロセスを示すものである。 図39は、本発明の一実施例において、インターフェースモジュールと、企業ビジネスプロセスサーバと、ルータとの関係を示すものである。 図40は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムのブロック図である。 図41は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる複数の製品の利用を示すブロック図である。 図42は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる複数のビジネスアプリケーションの利用を示すブロック図である。 図43は、本発明の少なくとも一実施例において、バージョンを表示するための画面の例を示す図。 図44は、本発明の少なくとも一実施例において、バージョンを表示するための画面の他の例を示す図。 図45は、本発明の少なくとも一実施例において、企業ビジネスプロセス管理システムによる、異なるバージョンを有する複数の製品の利用を示すブロック図である。

Claims (22)

  1. ビジネスプロセスを設計するための情報を受信するように構成されたプロセス設計者向け対話部と、
    プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含む、ビジネスプロセス管理システムであって、
    プロセス形成部は、ビジネスプロセスを生成又は修正するために、複数のプロダクトの中の少なくとも一つから、関数及び設定の少なくとも一つを選択することを特徴とするビジネスプロセス管理システム。
  2. 請求項1記載のシステムにおいて、プロセス形成部は、関数及び設定の少なくとも一つの有効性を、他の関数及び設定と比較する有効性比較部を含むことを特徴とするシステム。
  3. 請求項1記載のシステムは、さらに、
    製品の少なくとも一つのバージョンを入力するように構成されたバージョン入力部を含むことを特徴とするシステム。
  4. 請求項1記載のシステムにおいて、プロダクトは、複数のプラットフォーム上のものであることを特徴とするシステム。
  5. 請求項1記載のシステムは、さらに、プロダクトの少なくとも一つのプラットフォームを入力するように構成されたプラットフォーム入力部を含むことを特徴とするシステム。
  6. 請求項1記載のシステムは、さらに、バージョンに関する図的情報を表示するバージョン表示部を含むことを特徴とするシステム。
  7. 請求項6記載のシステムにおいて、図的情報は、プラットフォームに関する情報を含むことを特徴とするシステム。
  8. 請求項6記載のシステムにおいて、図的情報は、複数の指示手段を有する木構造を含むことを特徴とするシステム。
  9. 請求項8記載のシステムにおいて、複数の指示手段は、
    プロダクトのインターフェースを表すインターフェース指示手段と、
    プロダクトのリリースを表すリリース指示手段と、
    プロダクトの実装を表す実装指示手段とを含むことを特徴とするシステム。
  10. 請求項8記載のシステムにおいて、複数の指示手段は、アイコンであることを特徴とするシステム。
  11. 請求項8記載のシステムにおいて、複数の指示手段は、フォルダであることを特徴とするシステム。
  12. 請求項8記載のシステムにおいて、バージョン表示部は、ビジネスプロセスを生成又は修正するために用いられるプロダクトを選択するために、複数の指示手段の少なくとも一つを選択した入力を受け取ることを特徴とするシステム。
  13. 請求項1記載のシステムにおいて、関数は、インターフェースと、リリースと、実装と中の少なくとも一つを含むことを特徴とするシステム。
  14. 請求項13記載のシステムにおいて、リリースは、インターフェースの一部を含み、実装は、リリースの一部を含むことを特徴とするシステム。
  15. 請求項13記載のシステムにおいて、プロセス形成部は、インターフェースと、リリースと、実装との中の少なくとも一つの有効性を、他のインターフェースと、リリースと、実装と比較する有効性比較部を含むことを特徴とするシステム。
  16. 請求項13記載のシステムにおいて、古いインターフェースと、リリースと、実装とは、新しいインターフェースと、リリースと、実装と置き換えられることを特徴とするシステム。
  17. 請求項13記載のシステムにおいて、インターフェースと、リリースと、実装との中の少なくとも一つは、ビジネスプロセスを拡大すること許容することを特徴とするシステム。
  18. 請求項18記載のシステムにおいて、ビジネスプロセスを拡大するために、インターフェースは、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
  19. 請求項18記載のシステムにおいて、ビジネスプロセスを拡大するために、リリースは、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
  20. 請求項18記載のシステムにおいて、ビジネスプロセスを拡大するために、実装は、トランザクションの全数の中の一部を、利用可能な計算機の全数に振り分け、各計算機は、トランザクションの全数の一部を、並行して処理することを特徴とするシステム。
  21. ビジネスプロセスを設計するための情報を、プロセス設計者から受信するように構成されたプロセス設計者向け対話部と、
    プロセス設計者向け対話部から受信した情報に基づきビジネスを生成又は修正するように構成されたプロセス形成部とを含む、ビジネスプロセス管理システムであって、
    プロセス形成部は、ビジネスプロセスを生成又は修正するために、異なる複数のビジネスアプリケーションの関数を組み合わせ、関数は、ビジネスプロセス管理システムの全体の有効性を向上させるために選択されることを特徴とするビジネスプロセス管理システム。
  22. 請求項22記載のシステムにおいて、ビジネスプロセスは、インターフェースを実装するために利用可能な計算機に基づき、より小さなビジネスプロセスに分割することが可能であることを特徴とするシステム。
JP2007533618A 2004-09-24 2005-09-23 ビジネスプロセス管理システムおよび方法 Pending JP2008515056A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61261504P 2004-09-24 2004-09-24
US11/141,710 US20060020641A1 (en) 2002-03-25 2005-06-01 Business process management system and method
PCT/US2005/033918 WO2006036720A2 (en) 2004-09-24 2005-09-23 Business process management system and method

Publications (1)

Publication Number Publication Date
JP2008515056A true JP2008515056A (ja) 2008-05-08

Family

ID=36119420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007533618A Pending JP2008515056A (ja) 2004-09-24 2005-09-23 ビジネスプロセス管理システムおよび方法

Country Status (8)

Country Link
EP (1) EP1810179A2 (ja)
JP (1) JP2008515056A (ja)
KR (1) KR20070083786A (ja)
AU (1) AU2005289750A1 (ja)
CA (1) CA2581479A1 (ja)
IL (1) IL182166A0 (ja)
RU (1) RU2007115418A (ja)
WO (1) WO2006036720A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234520A (ja) * 2011-05-06 2012-11-29 Sap Ag ビジネスプロセスのロギングのためのシステムおよび方法
JP2013012175A (ja) * 2011-06-29 2013-01-17 Sap Ag ビジネスプロセスモデルにおけるユーザに合ったフラグメントの自動識別
CN104468268A (zh) * 2014-11-26 2015-03-25 中国联合网络通信集团有限公司 综合评价网络业务质量的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436962B (zh) * 2008-12-04 2011-06-29 金蝶软件(中国)有限公司 日志管理方法及系统
KR102385819B1 (ko) * 2020-02-28 2022-04-13 주식회사 피앤피소프트 업무 프로세스과정에서 생성되는 문서를 관리 및 공유하는 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074106A1 (en) * 2000-08-30 2003-04-17 Crane Co. System and method of extracting data from vending machines

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234520A (ja) * 2011-05-06 2012-11-29 Sap Ag ビジネスプロセスのロギングのためのシステムおよび方法
JP2013012175A (ja) * 2011-06-29 2013-01-17 Sap Ag ビジネスプロセスモデルにおけるユーザに合ったフラグメントの自動識別
CN104468268A (zh) * 2014-11-26 2015-03-25 中国联合网络通信集团有限公司 综合评价网络业务质量的方法及装置

Also Published As

Publication number Publication date
CA2581479A1 (en) 2006-04-06
EP1810179A2 (en) 2007-07-25
AU2005289750A1 (en) 2006-04-06
WO2006036720A2 (en) 2006-04-06
IL182166A0 (en) 2007-07-24
WO2006036720A3 (en) 2006-12-07
RU2007115418A (ru) 2008-10-27
KR20070083786A (ko) 2007-08-24

Similar Documents

Publication Publication Date Title
RU2308084C2 (ru) Способ и система для управления бизнес-процессом предприятия
US7246144B2 (en) Method and system for managing a plurality of enterprise business systems
US20060020641A1 (en) Business process management system and method
US8671007B2 (en) Work packet enabled active project management schedule
US8667469B2 (en) Staged automated validation of work packets inputs and deliverables in a software factory
US8694969B2 (en) Analyzing factory processes in a software factory
US8782598B2 (en) Supporting a work packet request with a specifically tailored IDE
US9189757B2 (en) Monitoring and maintaining balance of factory quality attributes within a software factory environment
US8645326B2 (en) System to plan, execute, store and query automation tests
US8332807B2 (en) Waste determinants identification and elimination process model within a software factory operating environment
US8141040B2 (en) Assembling work packets within a software factory
US20070027919A1 (en) Dispute resolution processing method and system
US20040098311A1 (en) XML message monitor for managing business processes
US8190494B2 (en) Order processing analysis tool
JP2008515056A (ja) ビジネスプロセス管理システムおよび方法
KR20010099511A (ko) 웹기반의 통합채널업무 및 전사금융업무 개발 시스템
Melisa Inventory management system for distributed stores/Melisa Sundram
WO2005020019A2 (en) Method and system for managing a plurality of enterprise business process systems