(57)【特許請求の範囲】
【請求項１】
異なるユーザに対してビジネスプロセスモデルの一貫したビューを自動的に導出するために、ビジネスプロセスモデルにおける意味的に一貫したユーザに合ったフラグメントの自動識別を提供するための、１つまたは複数のプロセッサによって実行される、コンピュータ実施方法であって、
ビジネスプロセスモデルとの対話を行うユーザを識別する段階（５１０）と、
前記ユーザに関連する、前記ビジネスプロセスモデルにおけるプロセスフラグメントの階層を識別する段階（５０５）と、
前記ユーザの役割に関連する少なくとも１つのプロセスメタデータカテゴリを決定する段階（５２０）と、
プロセスフラグメントの前記階層内の各プロセスフラグメントに対するスコアを算出する段階と、
前記ユーザに提示される前記ビジネスプロセスモデルのビューに含めるために、プロセスフラグメントの前記階層内の少なくとも１つのプロセスフラグメントを選択する段階（５３５）と、
前記ユーザに前記ビジネスプロセスモデルの前記ビューを提供する段階（５４５）と
を有し、
前記スコアは、前記ユーザの前記役割に関連する前記少なくとも１つのプロセスメタデータカテゴリに対する関心の推定レベルに少なくとも部分的に基づいて算出され、
少なくとも１つのプロセスフラグメントを選択する前記段階は、前記少なくとも１つのプロセスフラグメントに対して算出された前記スコアに少なくとも部分的に基づいて行われることを特徴とする方法。
【請求項２】
前記ユーザの役割に関連する少なくとも１つのプロセスメタデータカテゴリを決定する前記段階が、動的なルックアップテーブルを使用して、前記ユーザの前記役割に関連する前記少なくとも１つのプロセスメタデータカテゴリを決定する段階を含み、
前記少なくとも１つのプロセスメタデータカテゴリは、サービスの消費をカテゴリにグループ化したものを含み、
消費されるサービスは、公開ウェブサービスを含み、
公開ウェブサービスのグループ化は、サービスインタフェースの名前空間、ドメイン、物理サービスプロバイダシステム、サービスシグネチャにおける共通データタイプ、およびセキュリティ設定のうちの１つ以上に基づいて行われることを特徴とする請求項１に記載の方法。
【請求項３】
プロセスフラグメントの前記階層が、自動プロセスフラグメント検出アルゴリズムによって決定されることを特徴とする請求項１または２に記載の方法。
【請求項４】
各プロセスフラグメントに対するスコアを算出する前記段階が、特定のプロセスフラグメントに関連する各プロセスメタデータカテゴリに対するスコアの加重平均を算出する段階を含むことを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
少なくとも１つのプロセスフラグメントを選択する前記段階が、
プロセスフラグメントの前記階層内のルートプロセスフラグメントを識別する段階と、
前記ルートプロセスフラグメントのスコアが、前記ルートプロセスフラグメントに関連するサブツリー内のプロセスフラグメントのすべての組み合わせの平均スコアよりも大きい場合に、前記ビジネスプロセスモデルの前記ビューに含めるために、前記ルートプロセスフラグメントを選択する段階と
をさらに含むことを特徴とする請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
少なくとも１つのプロセスフラグメントを選択する前記段階が、前記ユーザに以前に提供された前記ビジネスプロセスモデルのビューの履歴にさらに基づいて行われることを特徴とする請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記少なくとも１つのプロセスメタデータカテゴリが、会話、サービス消費、イベント受け取り、ユーザ役割、レーン割り当て、プロセスログ、またはデータフローのうちの少なくとも１つを含むことを特徴とする請求項１ないし６のいずれか１項に記載の方法。
【請求項８】
前記ビジネスプロセスモデルの前記ビューが、前記ビジネスプロセスモデルに関連するすべてのプロセスフラグメントの完全な表現を含むことを特徴とする請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
前記ユーザの前記役割に関連する前記少なくとも１つのプロセスメタデータカテゴリに対する関心の前記推定レベルが、ビジネスプロセスモデルの以前のビューに関連する統計データの分析に基づいて決定されることを特徴とする請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
請求項１ないし９のいずれか１項に記載の方法を１つまたは複数のプロセッサに実行させるためのコンピュータ可読命令を含むコンピュータプログラム。
【請求項１１】
前記ユーザの前記役割が、前記ユーザに関連する組織図に基づいて決定されることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
異なるユーザに対してビジネスプロセスモデルの一貫したビューを自動的に導出するためのシステムであって、
プロセスメタデータを格納するように構成されたメモリと、
１つまたは複数のプロセッサと
を具備し、
前記１つまたは複数のプロセッサは、
ビジネスプロセスモデルとの対話を行うユーザを識別する手順（５１０）と、
前記ユーザに関連する、前記ビジネスプロセスモデルにおけるプロセスフラグメントの階層を識別する手順（５０５）と、
前記ユーザの役割に関連する少なくとも１つのプロセスメタデータカテゴリを決定する手順（５２０）と、
プロセスフラグメントの前記階層内の各プロセスフラグメントに対するスコアを算出する手順と、
前記ユーザに提示される前記ビジネスプロセスモデルのビューに含めるために、プロセスフラグメントの前記階層内の少なくとも１つのプロセスフラグメントを選択する手順（５３５）と、
前記ユーザに前記ビジネスプロセスモデルの前記ビューを提供する手順（５４５）と
を実行するように構成され、
前記スコアは、前記ユーザの前記役割に関連する前記少なくとも１つのプロセスメタデータカテゴリに対する関心の推定レベルに少なくとも部分的に基づいて算出され、
少なくとも１つのプロセスフラグメントを選択する前記手順は、前記少なくとも１つのプロセスフラグメントに対して算出された前記スコアに少なくとも部分的に基づいて行われることを特徴とするシステム。
【請求項１３】
各プロセスフラグメントに対するスコアを算出する前記手順が、特定のプロセスフラグメントに関連する各プロセスメタデータカテゴリに対するスコアの加重平均を算出する手順を含むことを特徴とする請求項１２に記載のシステム。
【請求項１４】
少なくとも１つのプロセスフラグメントを選択する前記手順が、
プロセスフラグメントの前記階層内のルートプロセスフラグメントを識別する手順と、
前記ルートプロセスフラグメントのスコアが、前記ルートプロセスフラグメントに関連するサブツリー内のプロセスフラグメントのすべての組み合わせの平均スコアよりも大きい場合に、前記ビジネスプロセスモデルの前記ビューに含めるために、前記ルートプロセスフラグメントを選択する手順と
をさらに含むことを特徴とする請求項１２または１３に記載のシステム。
【請求項１５】
少なくとも１つのプロセスフラグメントを選択する前記手順が、前記ユーザに以前に提供された前記ビジネスプロセスモデルのビューの履歴にさらに基づいて行われることを特徴とする請求項１２ないし１４のいずれか１項に記載のシステム。
【請求項１６】
前記ビジネスプロセスモデルの前記ビューが、前記ビジネスプロセスモデルに関連するすべてのプロセスフラグメントの完全な表現を含むことを特徴とする請求項１２ないし１５のいずれか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビジネスプロセスモデルにおける意味的に一貫したユーザに合ったフラグメント(semantically coherent, user-aligned fragment)の自動識別を提供するための、ソフトウェア、コンピュータシステム、およびコンピュータ実施方法に関する。
【背景技術】
【０００２】
ビジネスプロセスは、企業組織の業務を文書化し、伝達し、分析し、統制し、自動化し、監視し、最適化するための手段である。プロセスモデルは、事業目標、ベストプラクティス、方針、取引先との契約インタフェース(contractual interface)、ならびにタスク工程計画および単一のプロセスステップの実行のための詳細な命令を一括して把握する。プロセスモデルの作成および編集は、(1)異なる機能的役割(ITエキスパート、分野エキスパート、プロセスアナリストなど)を有し、(2)企業組織の組織階層の異なるレベルまたは場合によっては組織階層の外部(例えば、取引先、顧客、供給業者、現場従業員、事業部門(LoB)管理者、経営幹部レベル経営者など)で働く、複数の人々を巻き込んだ協同的な取り組みである。プロセスモデルの生成または編集に係わるユーザ同士は、プロセスモデルに関連する別々の詳細に関心をもつことがあり、またはプロセスモデルの特定の側面しか理解していないことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、ビジネスプロセスモデルにおける意味的に一貫したユーザに合ったフラグメントの自動識別を提供するための技法について説明する。コンピュータプログラム製品は、有形の記憶媒体上に符号化され、製品は、1つまたは複数のプロセッサにオペレーションを実行させるためのコンピュータ可読命令を含む。これらのオペレーションは、プロセスモデルを見る、または変更するユーザに関連する、ビジネスプロセスモデルにおけるプロセスフラグメント(process fragment)の階層を識別することを含むことができる。ユーザの役割に関連する少なくとも1つのプロセスメタデータカテゴリ(process metadata category)が決定される。プロセスフラグメントの階層内の各プロセスフラグメントのスコアが算出される。スコアは、ユーザの役割に関連する少なくとも1つのプロセスメタデータカテゴリに対する関心の推定レベル(probable level of interest)に少なくとも部分的に基づいて算出される。ユーザに提示されるビジネスプロセスモデルのビューに含めるために、プロセスフラグメントの階層内の少なくとも1つのプロセスフラグメントが選択される。選択は、少なくとも1つのプロセスフラグメントに対して算出されたスコアに少なくとも部分的に基づいて行われる。
【０００４】
上記および他の実施態様は、以下の特徴のうちの1つまたは複数を任意選択的に含むことができる。プロセスフラグメントの階層は、自動プロセスフラグメント検出アルゴリズム(automatic process fragment detection algorithm)によって決定される。各プロセスフラグメントに対するスコアの算出は、特定のプロセスフラグメントに関連する各プロセスメタデータカテゴリに対するスコアの加重平均を算出することを含む。少なくとも1つのプロセスフラグメントの選択は、プロセスフラグメントの階層内のルートプロセスフラグメント(root process fragment)を識別することと、ルートプロセスフラグメントのスコアが、ルートプロセスフラグメントに関連するサブツリー内のプロセスフラグメントのすべての組み合わせの平均スコアよりも大きい場合に、ビジネスプロセスモデルのビューに含めるために、ルートプロセスフラグメントを選択することをさらに含む。
【０００５】
少なくとも1つのプロセスフラグメントの選択は、ユーザに以前に提供されたビジネスプロセスモデルのビューの履歴にさらに基づいて行われる。少なくとも1つのプロセスメタデータカテゴリは、会話、サービス消費、イベント受け取り、ユーザ役割、レーン(lane)割り当て、プロセスログ、またはデータフローのうちの少なくとも1つを含む。ビジネスプロセスモデルのビューは、ビジネスプロセスモデルに関連するすべてのプロセスフラグメントの完全な表現を含む。ユーザの役割に関連する少なくとも1つのプロセスメタデータカテゴリに対する関心の推定レベルは、ビジネスプロセスモデルの以前のビューに関連する統計データの分析に基づいて決定される。
【０００６】
本開示の態様は、個々のデータを処理し、変換する、有形の非一時的な媒体上に具現されたコンピュータ実施ソフトウェアとして一般に説明されるが、本開示の態様の一部または全部は、コンピュータ実施方法としてもよく、またはこの説明される機能を実行するための個々のシステムもしくは他のデバイスにさらに含まれてもよい。本開示の上記および他の態様および実施形態についての詳細が、添付の図面および以下の説明において説明される。本開示の他の特徴、目的、および利点は、説明および図面から、また特許請求の範囲から明らかになる。
【図面の簡単な説明】
【０００７】
【図１】ユーザに合ったビジネスプロセスフラグメントを提供するための例示的な環境を示す図である。
【図２】図1で説明されるシステムなどの適切なシステムを使用して、異なるプロセスフラグメントを表した、例示的なビジネスプロセスの図である。
【図３】あるユーザ役割に対する例示的なビジネスプロセスメタデータカテゴリのチャートである。
【図４】図1で説明されるシステムなどの適切なシステムを使用した、会話メタデータの観点から見たプロセスフラグメントの識別を示す図である。
【図５】図1で説明されるシステムなどの適切なシステムを使用して、ビジネスプロセスモデルのビュー内にユーザに合ったプロセスフラグメントを提供するための、例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【０００８】
本開示は、一般に、ビジネスプロセスモデルにおける意味的に一貫したユーザに合ったフラグメントの自動識別を提供するための、コンピュータシステム、ソフトウェア、およびコンピュータ実施方法について説明する。ビジネスプロセス管理(BPM)は、現在のビジネスプロセスを分析し、自動化し、最適化し、エンジニアリングし、または拡張できるように、組織のプロセスをモデル内のコンポーネント、ステップ、またはデータフローとして表すことを含むことができる。場合によっては、ビジネスプロセスモデリングは、異なる役割およびスキルセットを有する複数の参加者またはユーザを巻き込むことができ、あるユーザは、ユーザの役割に応じて、ビジネスプロセスモデルの異なるビューを必要とする。ある実装では、異なるユーザに対して、ユーザの役割に応じて、単一のビジネスプロセスモデルを見る一貫したビューが導出される。ビューは、プロセスモデルを見る、またはプロセスモデルに貢献するユーザの機能的役割および組織階層レベルに合わせることができる。
【０００９】
プロセスモデリングは、異なる役割、スキルセット、および技術または業務知識を有する複数の人々を巻き込んだ、協同的な取り組みとすることができる。企業組織内で異なる役割を有するユーザは、一般に、異なるタスクを有する。さらに、ユーザは、異なる観点から、ユーザの役割に合った異なるレベルの粒度(granularity)で、特定のビジネスプロセスに貢献し、それを見る。例えば、経営幹部レベル管理者は、主としてグローバルバリューチェーン(global value chain)に関心をもつであろうが、事業部門(LoB)管理者は、部門内のプロセスと、他の部門または外部取引先のプロセスとの提供者または供給者関係が主たる関心事であろう。
【００１０】
組織階層内の異なるレベル、例えば、現場レベルのユーザ、LoB管理者、中間管理者、または経営幹部レベル経営者などは、各々が、ビジネスプロセスを見る異なるビューを有する。ビジネスプロセスを見る特定のビューは、様々な詳細度を有することができ、または異なる主題を有する細部を含むことができる。ビジネスプロセスを見る特定のビューについての異なる詳細レベルの例は、タスクレベル、部門レベル、部門間レベル(例えばバリューチェーン)、または(例えば取引先と関連する)ネットワー組織化(network orchestration)レベルのビューを含むことができる。さらに、階層レベル内には、異なる機能的ユニットが存在することができ、各々は、ITエキスパート、ビジネスプロセスエキスパートおよびアナリスト、ならびにビジネスプロフェッショナルなど、異なる役割または専門を有する。換言すれば、異なるユーザは、ユーザの役割に応じて、ビジネスプロセスモデルの異なるビューを必要とすることがある。
【００１１】
ユーザが異なる結果、処理モデルを見るビューが異なるにもかかわらず、ビジネスプロセスは、組織の事業目標に沿ったものであることが期待される。ビジネスプロセスを見る異なるビューを用いて作業するモデリング貢献者は、これらの貢献者が実行した変更の結果としての非一貫性、矛盾、または相容れないプロセスを回避する必要があるであろう。一貫性のため、異なるレベルおよび機能的ユニットにわたるユーザは、相容れない情報を有する矛盾したプロセスモデルを回避するために、基礎をなす単一のプロセスモデル上で作業すべきである。したがって、プロセスモデリングに係わる異なる参加者は、彼らの機能的役割または専門に合ったビューばかりでなく、プロセスモデルの異なる粒度およびフラグメントに対応する彼らの組織的階層レベルに合ったビューも必要とするであろう。
【００１２】
ビジネスプロセスを見る生成されたビューは、プロセスモデルから導出されたブロック、または再利用可能なプロセスフラグメントを含むことができる。「ブロック」および「プロセスフラグメント」という用語は、本開示の範囲から逸脱することなく、妥当な場合には交換可能に使用することができる。以下の図2は、例示的なビジネスプロセスと、例示的なビジネスプロセスから導出できる可能なブロックとを示している。ビジネスプロセスモデリングのための規格に基づいて、何らかのアルゴリズムが、ビジネスプロセスモデリング表記法(BPMN: business process modeling notation)に基づいたビジネスプロセスモデルなど、プロセスモデル内のブロックを検出することができる。BPMNプロセスモデルは、グラフ指向であるが、プロセスモデル内のブロックを識別するために、いくつかのアルゴリズムを使用することができる。BPMNプロセスモデルは、ブロックを含むことができ、ブロックは、異なるプロセス粒度の間をナビゲートする能力など、プロセスモデル内の特徴を包括する、掘り下げる、または圧縮する(collapse)能力を提供する。場合によっては、異なるエンドユーザ役割のための異なる粒度を有するカスタムビューを、BPMNベースのプロセスモデルにおいて提供することができる。しかしながら、そのようなプロセスモデルに関連するアルゴリズムによって識別された自動検出ブロックは、意味的に一貫したプロセスフラグメントに必ずしも関係しない。例えば、アルゴリズムは、制御フローシーケンスコネクタ(control flow sequence connector)に関する「単一入口、単一出口」基準に主に依存することがあり、意味的に一貫したブロックを導出するための、他のビジネスプロセスメタデータを考慮しないことがある。さらに、ユーザにとって適切なブロックを決定するために、あるアルゴリズムを使用した場合、導出されたブロック、ユーザ役割、またはユーザに関連する組織階層レベルの間に関係がないことがある。
【００１３】
いくつかの実施では、既存の手法およびアルゴリズムは、グラフ指向のプロセスモデル(例えばBPMN)を、自動ブロック検出を備えるブロック指向のプロセスモデルに変換できるように強化される。既存のアルゴリズムは、適格なBPMNプロセスを強制する構文チェックを実行するために、またはBPMNベースのプロセスモデルをBPELベースの実行フォーマットに変換するために、最初に使用することができる。したがって、グラフ構造のプロセスモデルをブロック構造のプロセスにマッピングするように、既存のアルゴリズムを補うことができる。アルゴリズムは、適切なプロセスビューを見出すためのベースラインとして役立つ、ネストしたブロックの階層を計算し、ブロックの粒度および選択は、特定のユーザ役割に適したものである。様々な既存のプロセスメタデータに基づいて、意味的に一貫したブロックまたはプロセスフラグメントを見出すために、貪欲な発見的アルゴリズム(greedy heuristic algorithm)を提供することができる。遺伝的アルゴリズム(genetic algorithm)、焼きなまし法(simulated annealing)、または最急降下法(steepest descent)など、他の発見的解決法も使用することができる。特定のエンドユーザに適したプロセスモデルを見るカスタムビューを提供することができる。カスタムビューは、ユーザの機能的役割および組織階層レベルに合わせることができる。ユーザの役割が異なる場合、特定の各ユーザ用のカスタムプロセスビューを見出すために、異なるプロセスメタデータを調べることができる。カスタムプロセスビューは、相互接続されたブロックを含む、または(1)カスタム粒度と、(2)意味的に一貫した機能の一部をブロックに代表させるようにブロック境界が選択された場所とのサブフローを含む、プロセスの完全な重複のない表現である。
【００１４】
場合によっては、ビューは、既存のプロセスメタデータを利用することによって、人的介入を必要とせずに、自動的に生成することができる。意味的に関連するプロセスフラグメント内のブロックは、カスタムプロセスビューが、組み込みおよび参照サブプロセスなど、基礎をなすプロセス言語メタモデル(process language meta-model)の構造化メカニズムを利用できるように、自動的に識別される。したがって、ユーザの役割によって必要とされるタスクを実行するために、ユーザが見る必要がある可能性が高い、ビジネスプロセスモデルのコンポーネントまたはモジュールを自動的に決定するために、ユーザの機能的役割が識別される。ユーザの役割に関連するあるファクタは、例えばルックアップテーブルから識別することができ、ユーザに提示する適切なブロックをユーザの役割に基づいて決定するための計算に含めることができる。いくつかの実施では、ユーザに提供されるビジネスプロセスモデルビューにどのブロックを含めるかについての決定は、ユーザの役割に関連する、ルックアップテーブル内に見出される、メタデータカテゴリおよび各メタデータカテゴリに関連する重みに基づいて、スコアを計算することを含む。スコアは、あるブロックが基準にどれだけ良く適合するかを評価する、いくつかの「適合値(fitness value)」から計算される。例えば、BPMエキスパートには、すべての会話(別のビジネスプロセスとのメッセージ交換)を含むブロックを提示すべきである。その会話の何らかのメッセージ交換が、ブロックから紛失している場合、またはブロックが、会話に参加していない他のプロセスステップを含む場合、適合値は100%を下回る。適合値を計算するための正確な式は、メタデータカテゴリに依存する。全スコアは、ユーザの役割のために選択されたメタデータカテゴリの適合値の加重平均である。
【００１５】
例示的な例を参照すると、図1は、ビジネスプロセスモデルにおける意味的に一貫したユーザに合ったフラグメントの自動識別を提供するための、例示的な環境100を示している。例示的な環境100は、1つまたは複数のクライアント150およびサーバ102，104，106を含み、またはそれらと通信可能に結合され、それらのうちの少なくともいくつかは、ネットワーク112を介して通信する。一般に、環境100は、企業組織内におけるユーザの役割に基づいて、ユーザ用の特定のビュー内で提示するために、ビジネスプロセスモデル内において意味的に一貫したブロックを自動的に識別することが可能なシステムの例示的な構成を示している。いくつかの実施では、異なるユーザ用の異なるビューを決定するためのブロック識別モジュール176は、クライアント150のユーザからネットワーク112を介してアクセス可能な、サーバ102などのサーバ上のホステッドアプリケーション(hosted application)として実施することができる。さらに、ブロック識別モジュール176と、サーバ102によって提供される他のサービスは、例えば分散クラスタベースの環境では、サーバ104，106など、複数のサーバにわたって分散することができる。分散クラスタベースの環境では、1つまたは複数の追加のサーバ(例えばサーバ104，106)を、環境100内に含むことができ、各サーバは、サーバ102について図1に示されたものと類似するコンポーネントを有し、分散クラスタベースの環境においてサーバによってホストされる分散アプリケーションに関連するサービスを提供する。場合によっては、クライアント150と、サーバ102，104，106は、クラウドコンピューティングネットワーク内において論理的にグループ化することができる。したがって、システムは、従来のサーバ-クライアントシステム、またはクライアント150におけるローカルアプリケーションとしてばかりでばく、クラウドコンピューティングネットワークを介したオンデマンドソリューションとしても提供することができる。代替として、ブロック識別モジュール176は、従来のサーバ-クライアント実施を介して提供することができ、またはネットワーク112を介してホステッドアプリケーションにアクセスすることを必要とせず、クライアント150においてローカルに提供することができる。
【００１６】
一般に、サーバ102は、1つまたは複数のビジネスプロセスアプリケーション172を保存する任意のサーバであり、ホステッドアプリケーションの少なくとも一部は、リクエストを介して実行され、レスポンスは、図1の例示的な環境100内の、また例示的な環境100に通信可能に結合されたユーザまたはクライアントに送信される。例えば、サーバ102は、エンタプライズJavaBeans(EJB)、JEEコネクタアーキテクチャ(JCA)、Javaメッセージングサービス(JMS)、Javaネーミングおよびディレクトリインタフェース(JNDI)、ならびにJavaデータベースコネクティビティ(JDBC)などのJava(登録商標)テクノロジを含む、Javaプラットフォームエンタプライズエディション(JEE)対応のアプリケーションサーバとすることができる。場合によっては、サーバ102は、複数の様々なビジネスプロセスアプリケーション172を保存することができるが、他の場合には、サーバ102は、単一のビジネスプロセスアプリケーション172だけを保存し、実行することを意図した専用サーバとすることができる。場合によっては、サーバ102は、ウェブサーバを含むことができ、またはウェブサーバと通信可能に結合することができ、その場合、ビジネスプロセスアプリケーション172は、ビジネスプロセスアプリケーション172のプログラムされたタスクまたはオペレーションを実行するために、ネットワーク112を介してシステムのクライアント150によってアクセスされ、実行される、1つまたは複数のウェブベースのアプリケーションを表す。
【００１７】
高いレベルでは、サーバ102は、環境100に関連するデータおよび情報を受信し、送信し、保存し、または管理するように動作可能な電子的コンピューティングデバイスを備える。図1に示されるサーバ102は、環境100のクライアント150に関連する1つまたは複数のクライアントアプリケーションまたはビジネスアプリケーションから、アプリケーションリクエストを受信し、関連するビジネスプロセスアプリケーション172において前記リクエストを処理することによって、受信したリクエストに応答し、ビジネスプロセスアプリケーション172から要求元のクライアントアプリケーションに、適切なレスポンスを返信することを担当することができる。サーバ102は、ネットワーク112上の他のコンポーネントからリクエストを受信し、リクエストに応答することもできる。代替として、サーバ102のビジネスプロセスアプリケーション172は、サーバ102にローカルにアクセスするユーザからのリクエストを処理し、応答することが可能とすることもできる。したがって、図1に示される外部クライアント150からのリクエストに加えて、ホステッドアプリケーション172に関連するリクエストは、内部ユーザ、外部またはサードパーティ顧客、他の自動化アプリケーションからも送信できるだけでなく、他の任意の適切なエンティティ、個人、システム、またはコンピュータからも送信することができる。
【００１８】
本開示で使用される場合、「コンピュータ」という用語は、任意の適切な処理デバイスを包含することが意図されている。例えば、図1は単一のサーバ102を示しているが、環境100は、サーバ104，106などの1つまたは複数のサーバの他に、サーバプールを含むサーバ以外のコンピュータを使用しても実施することができる。実際に、サーバ102およびクライアント150は、例えば、ブレードサーバ、汎用パーソナルコンピュータ(PC)、マッキントッシュ、ワークステーション、UNIX(登録商標)ベースのワークステーション、または他の任意の適切なデバイスなど、任意のコンピュータまたは処理デバイスとすることができる。換言すれば、本開示は、汎用コンピュータ以外のコンピュータの他に、従来のオペレーティングシステムを用いないコンピュータも企図している。さらに、例示的なサーバ102およびクライアント150は、Linux(登録商標)、UNIX、Windows(登録商標)、Mac OS、または他の任意の適切なオペレーティングシステムを含む、任意のオペレーティングシステムを実行するように適合させることができる。
【００１９】
本実施では、図1に示されるように、サーバ102は、プロセッサ168と、インタフェース165と、メモリ161と、1つまたは複数のビジネスプロセスアプリケーション172とを含む。インタフェース165は、ネットワーク112に接続される、クライアント-サーバ環境または他の分散環境内(環境100内を含む)の他のシステム(例えば、クライアント150の他に、ネットワーク112に通信可能に結合される他のシステム)と通信するために、サーバ102によって使用される。一般に、インタフェース165は、適切な組み合わせのソフトウェアおよび/またはハードウェアで符号化され、ネットワーク112と通信するように動作可能なロジックを含む。より具体的には、インタフェース165は、ネットワーク112、またはインタフェースのハードウェアが、例示的な環境100の内部および外部で物理信号を伝達するように動作可能なように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを含むことができる。
【００２０】
いくつかの実施では、サーバ102は、グラフィカルユーザインタフェース(GUI)などの、ユーザインタフェースを含むことができる。GUIは、例えば、サーバ102のユーザが、データを作成し、準備し、要求し、または分析する他に、ビジネス取引に関連する文書原本を閲覧し、アクセスするなどの任意の適切な目的のために、プラットフォームの少なくとも一部とインタフェースを取ることを可能にするように動作可能な、グラフィカルユーザインタフェースを含む。一般に、GUIは、特定のユーザに、システムによって提供される、またはシステム内で伝達されるビジネスデータの効率的でユーザフレンドリな提示を提供する。GUIは、ユーザによって操作される対話的フィールド、プルダウンリスト、およびボタンを有する、複数のカスタマイズ可能なフレームまたはビューを含むことができる。例えば、GUIは、ユーザが、GUIに表示されたデータフィールドに入力するために、提案エントリのリストから選択することを可能にする、対話的要素を提供することができる。より一般には、GUIは、ユーザが、アプリケーション172の様々なサービスおよび機能にアクセスし、それらを利用することを可能にする、一般的な対話的要素を提供することもできる。GUIは、しばしば構成可能であり、表とグラフ(棒グラフ、線グラフ、円グラフ、ステータスダイアル(status dial)など)の組み合わせをサポートし、タブが主要な特徴によって区分された、リアルタイムポータル(例えばサイトまたはマイクロサイト)を構築することができる。したがって、GUIは、プラットフォームにおいて情報を処理し、視覚的な方法で結果をユーザに効率的に提示する、汎用ウェブブラウザおよびコマンドラインインタフェース(CLI)の組み合わせなど、任意の適切なグラフィカルユーザインタフェースを企図している。
【００２１】
一般に、例示的なサーバ102は、環境100のコンポーネント間(すなわちサーバ102とクライアント150との間)の無線または有線通信を容易にするネットワーク112の他に、ネットワーク112に通信可能に結合されるが、図1には示されていない、追加のクライアント、サーバ、または他のデバイスなどの、他の任意のローカルまたはリモートコンピュータにも通信可能に結合することができる。図1の例示的な環境では、ネットワーク112は、単一のネットワークとして示されているが、ネットワーク112の少なくとも一部が、送信者と受信者との間の通信を容易にすることができる限り、本開示の範囲から逸脱することなく、連続的または不連続的なネットワークとすることもできる。
【００２２】
ネットワーク112は、企業ネットワークまたは保護されたネットワークの全部または一部とすることができるが、別の例では、ネットワーク112の少なくとも一部は、インターネットへの接続を表すことができる。場合によっては、ネットワーク112の一部は、例えばクライアント150とサーバ102との間の接続など、仮想私設ネットワーク(VPN)とすることができる。さらに、ネットワーク112の全部または一部は、有線リンクまたは無線リンクのどちらかを含むことができる。例示的な有線リンクは、802.11a/b/g/n、802.20、WiMax、および/または他の任意の適切な有線リンクを含むことができる。換言すれば、ネットワーク112は、例示的な環境100の内部および外部の様々なコンピューティングコンポーネント間の通信を容易にするように動作可能な、任意の内部または外部ネットワーク、ネットワーク、サブネットワーク、またはそれらの組み合わせを包含する。ネットワーク112は、ネットワークアドレス間で、例えば、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、ビデオ、データ、および他の適切な情報を伝達することができる。ネットワーク112は、1つもしくは複数のローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、インターネットの全部もしくは一部、および/または1つもしくは複数のロケーションにおける1つもしくは複数の他の任意の通信システムも含むことができる。しかしながら、ネットワーク112は、本開示の必須のコンポーネントではなく、ブロック識別モジュール176など、サーバ102によってホストされる要素は、クライアント150においてローカルに、またはサーバ102においてローカルに実施することができる。
【００２３】
クライアント150は、ネットワーク112内のサーバ102などのリソースにアクセスすることができる。ある実施では、場合によってはサーバ102を含む、ネットワーク112内のサーバは、クラウドベースのサービスを提供するためのクラウドコンピューティングプラットフォームを含むことができる。「クラウド」、「クラウドコンピューティング」、および「クラウドベース」という用語は、本開示の範囲から逸脱することなく、妥当な場合には交換可能に使用することができる。クラウドベースのサービスは、サーバ102，104，106などによって提供され、クライアントコンピュータ上でローカルに実行されるアプリケーションを増強し、補い、または置き換えるために、ネットワークを介してクライアントプラットフォームに送付される、ホステッドサービスとすることができる。クライアント150は、ソフトウェアアップグレード、アプリケーション、および他の方法ではリソースをクライアント150に送付できるまでに長い期間を必要とする他のリソースを迅速に受け取るために、クラウドベースのサービスを使用することができる。加えて、他のデバイスも、ネットワーク112を介してアクセス可能なサービスによって提供されるオンデマンドサービスなど、クラウドベースのサービスにアクセスすることができる。しかしながら、クラウドプラットフォーム配備の実施は、本開示の必須の要素ではなく、クラスタベースのシステムなど、他の分散インフラストラクチャも使用することができる。
【００２４】
図1に示されるように、サーバ102は、プロセッサ168を含む。図1には単一のプロセッサ168として示されているが、特定の必要、要望、または環境100の特定の実施形態に従って、2つ以上のプロセッサを使用することもできる。各プロセッサ168は、中央処理装置(CPU)、ブレード、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または別の適切なコンポーネントとすることができる。一般に、プロセッサ168は、サーバ102の、特に1つまたは複数のビジネスプロセスアプリケーション172のオペレーションを実行するために、命令を実行し、データを操作する。具体的には、サーバのプロセッサ168は、クライアントシステム150および個々のクライアントアプリケーション154、または環境100内の他のサーバ104，106からリクエストを受信し、それに応答するために必要とされる機能の他に、ビジネスプロセスアプリケーション172の他のオペレーションを実行するために必要とされる機能も実行する。
【００２５】
特定の実施形態に係わらず、「ソフトウェア」は、実行されたときに、少なくとも本明細書で説明されるプロセスおよびオペレーションを実行するように動作可能な、有形な非一時的な媒体上の、コンピュータ可読命令、ファームウェア、配線もしくはプログラムされたハードウェア、またはそれらの任意の組み合わせを含むことができる。実際に、各ソフトウェアコンポーネントは、C、C++、Java、Visual Basic、アセンブラ、Perl、4GLの任意の適切なバージョン、およびその他を含む、任意の適切なコンピュータ言語で、完全にまたは部分的に書くこと、または記述することができる。あるソフトウェアは、BPMN、BPEL、UMLステートチャート、イベントドリブン型プロセスチェーン(EPC)、ペトリネットなどを含む、BPM表記法に関連することができる。図1に示されるソフトウェアの部分は、様々なオブジェクト、メソッド、または他のプロセスを用いて様々な特徴および機能を実施する、個々のモジュールとして示されているが、妥当な場合には、ソフトウェアは、代わりに、多くのサブモジュール、サードパーティサービス、コンポーネント、およびライブラリなどを含むことができることが理解されよう。反対に、様々なコンポーネントの特徴および機能は、妥当な場合には、単一のコンポーネントになるように組み合わせることができる。例示的な環境100では、プロセッサ168は、サーバ102上で1つまたは複数のビジネスプロセスアプリケーション172を実行する。
【００２６】
高いレベルでは、1つまたは複数のビジネスプロセスアプリケーション172の各々は、特に、例示的なクライアントシステム150およびそれに関連するクライアントアプリケーション154から受信した、またはネットワーク112を介して他のサーバもしくはコンポーネントから受信した、1つまたは複数のリクエストに応答して、また関連して、本開示に従って、情報を実行し、変更し、削除し、生成し、または他の方法で管理できる、任意のアプリケーション、プログラム、モジュール、プロセス、または他のソフトウェアである。あるケースでは、ただ1つのビジネスプロセスアプリケーション172だけを、特定のサーバ102に配置することができる。他方で、複数の関連のあるおよび/または関連のないビジネスプロセスアプリケーション172を、単一のノード102に保存することができ、または同じく複数の他のノード102にわたって配置することができる。あるケースでは、環境100は、複合ビジネスプロセスアプリケーション172を実施することができる。例えば、複合アプリケーションの部分は、エンタプライズJava Beans(EJB)として実施することができ、デザインタイムコンポーネントは、とりわけ、JEE(Javaプラットフォームエンタプライズエディション)、ABAP(アドバンストビジネスアプリケーションプログラミング)オブジェクト、またはマイクロソフトの.NETなど、異なるプラットフォーム内にランタイム実装を生成する能力を有することができる。
【００２７】
加えて、ビジネスプロセスアプリケーション172の1つまたは複数は、ネットワーク112を介して(例えばインターネットを介して)、リモートシステム150またはクライアントアプリケーション154によってアクセスされ、実行される、ウェブベースのアプリケーションを表すことができる。さらに、サーバ102の内部にあるものとして示されているが、特定のビジネスプロセスアプリケーション172に関連する1つまたは複数のプロセスは、リモートに保存し、参照し、または実行することができる。例えば、特定のビジネスプロセスアプリケーション172の一部は、リモートから呼び出すアプリケーションに関連するウェブサービスとすることができるが、ビジネスプロセスアプリケーション172の別の部分は、クライアントシステム150での処理のためにバンドルされたインタフェースオブジェクトまたはエージェントとすることができる。さらに、ビジネスプロセスアプリケーション172のいずれかまたはすべては、本開示の範囲から逸脱することなく、別のソフトウェアモジュールまたはエンタプライズアプリケーション(図示されず)のチャイルドまたはサブモジュールとすることができる。またさらに、ビジネスプロセスアプリケーション172の部分は、サーバ102で直接作業するユーザの他に、クライアントシステム150でリモートに作業するユーザによっても実行することができる。
【００２８】
示されるように、サーバ102は、ビジネスプロセスアプリケーションを実行するためのサービス、ライブラリ、およびツールを提供する、ビジネスプロセス管理(BPM)ランタイム174も含むことができる。BPMランタイム174は、受け取ったイベントに基づいた、プロセスステップの実行に関連する状態変化を含む、ビジネスプロセスの任意の状態変化も扱うことができる。サーバ102は、既存のアルゴリズムを使用してブロックを検出する、ブロック検出モジュール178を含む。サーバ102は、ユーザの役割および識別情報に合ったビジネスプロセスビューをユーザに提示するために、ビジネスプロセスモデルの意味的に一貫したブロックの自動識別を提供する、ブロック識別モジュール176も実行することができる。いくつかの実施では、ブロック識別モジュール176は、ネットワーク112を介してサーバ102に通信可能に結合されたサーバによってなど、サーバ102の外部の異なるプロセッサまたはサーバによって実行することができる。例えば、ブロック識別モジュール176は、クラウドコンピューティングネットワークを介したオンデマンドサービスとして、ネットワーク112を介してアクセス可能なウェブサービスとして、専用サーバ上で提供されるサービスとして、またはクラスタベースの分散ネットワーク内のアプリケーションとして提供することができる。
【００２９】
ブロック識別モジュール176は、クライアントアプリケーション154が、例えば、ユーザの役割またはユーザに関連する他のコンテキストデータに基づいて、クライアントアプリケーション154の特定のユーザに関連する意味的に一貫したブロックを有する、ビジネスプロセスモデルの特定のビューを提示することを可能にする、インタフェース、モジュール、サービス、またはメタデータ定義を提供することができる。本開示では、ビジネスプロセスは、特定のビジネスコンテキスト、取引先、または顧客に関連して実行される、活動、タスク、イベント、ゲートウェイ、または順次ステップなどの、プロセスステップからなる任意の有向グラフとすることができる。ビジネスプロセスは、コンピュータプログラムとしてのソフトウェアで、および/またはコンピュータマイクロプロセッサ、サーバ、ワークステーション、コンピュータプログラムのインスタンス、コンピュータプログラム内の実行スレッド、もしくは他のデータ処理要素に関連して、実行することができる。さらに、本開示で使用される場合、ブロック識別モジュール176は、ビジネスプロセスアプリケーション172とは別物とすることができるが、他の事例では、ブロック識別モジュール176は、ビジネスプロセスアプリケーション172または1つもしくは複数の他のホステッドアプリケーション内に組み込むことができ、またはそれらの部分とすることができる。
【００３０】
一般に、サーバ102は、データおよびプログラム命令を保存するためのメモリ161も含む。メモリ161は、任意のメモリまたはデータベースモジュールを含むことができ、磁気媒体、光媒体、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、着脱可能媒体、または他の任意の適切なローカルもしくはリモートメモリコンポーネントを含むが、それらに限定されない、揮発性または不揮発性メモリの形態を取ることができる。メモリ161は、サーバ102およびそれの1つまたは複数のビジネスプロセスアプリケーション172の目的に関連する、クラス、フレームワーク、アプリケーション、バックアップデータ、ビジネスオブジェクト、ジョブ、ウェブページ、ウェブページテンプレート、データベーステーブル、ビジネス情報および/または動的情報を保存するリポジトリ、ならびに任意のパラメータ、変数、アルゴリズム、命令、ルール、制約、またはそれらへの参照を含む他の任意の適切な情報を含む、様々なオブジェクトまたはデータを保存することができる。
【００３１】
メモリ161は、ブロック識別モジュール176によって使用されるビジネスプロセスモデル164などのデータオブジェクトを保存することもできる。例えば、特定のプロセスモデル164は、特定のビジネスプロセスに関連するプロセスモデル定義およびパラメータを含むことができる。プロセスモデル164は、ブロック識別モジュール176が、ユーザの役割に基づいて、ユーザ用にプロセスモデルを見る特定のビューとして提示するプロセスモデルブロックを識別するときに、メモリ161から取り出すことができる。メモリ161は、プロセスインスタンス165に関連する情報を保存することもできる。プロセスインスタンス165は、ビジネスプロセスの変更中にランタイム環境によって取り出すことができる。プロセスインスタンスは、特定のプロセスのステータスを保持する変数から成ることができる。変数は、命令ポインタおよびプロセスの実行中に操作されたビジネス文書のインスタンスを保持する変数などの要素を使用して、制御およびデータフローの進行を捉える。メモリ161は、プロセスモデルのビュー内でユーザに提示する適切なブロックおよび情報を決定するために、ユーザの特定のコンテキストを識別するために使用される他のビジネスプロセスメタデータ166も保存することができる。例えば、ビジネスプロセスメタデータ166は、図3に関して以下に説明するように、カテゴリに分類することができる。いくつかのメタデータカテゴリは、あるユーザ役割により大きく関連することができ、ブロックは、ユーザの役割に関連するメタデータカテゴリに基づいて、特定のユーザのためにしかるべく識別される。したがって、場合によっては人的介入を必要とせずに、意味的に関連するプロセスフラグメントのブロックを決定して、ユーザの役割に合ったビューを自動的に生成するために、ビジネスプロセスメタデータ166を利用することができる。
【００３２】
図1の例示的な環境は、1つまたは複数のクライアント150も含む。各クライアント150は、有線もしくは無線接続を使用してネットワーク112を介して少なくともサーバ102と接続または通信するように動作可能な任意のコンピューティングデバイスとすることができる。いくつかの実施では、図1に示すように、クライアント150も、プロセッサ156と、インタフェース155と、グラフィカルユーザインタフェース(GUI)152と、クライアントアプリケーション154と、メモリ158とを含むことができる。一般に、クライアント150は、図1の環境100に関連する任意の適切なデータを受信し、送信し、処理し、保存するように動作可能な電子コンピュータデバイスを備える。環境100に関連して、または環境100の外部に、任意の数のクライアント150が存在できることが理解されよう。例えば、例示的な環境100は、1つのクライアント150を含んでいるが、環境100の代替実施は、サーバ102に通信可能に結合された複数のクライアントを、または環境100の目的に適した他の任意の数のクライアントを含むことができる。加えて、環境100の例示的な部分の外部に、ネットワーク112を介して環境100と対話することが可能な、1つまたは複数の追加のクライアント150が存在することもできる。さらに、「クライアント」および「ユーザ」という用語は、本開示の範囲から逸脱することなく、妥当な場合には交換可能に使用することができる。さらに、各クライアント150は、単一のユーザによる使用に関して説明されるが、本開示は、多くのユーザが1つのコンピュータを使用できること、または1人のユーザが複数のコンピュータを使用できることも企図している。
【００３３】
クライアント150に関連するGUI 152は、例えば、クライアント150のユーザが、データを作成し、準備し、要求し、または分析する他に、ビジネス取引に関連する文書原本を閲覧し、アクセスするなどの、任意の適切な目的のために、プラットフォームの少なくとも一部とインタフェースを取ることを可能にするように動作可能な、グラフィカルユーザインタフェースを含む。一般に、GUI 152は、特定のユーザに、システムによって提供される、またはシステム内で伝達されるビジネスデータの効率的でユーザフレンドリな提示を提供する。GUI 152は、ユーザによって操作される対話的フィールド、プルダウンリスト、およびボタンを有する、複数のカスタマイズ可能なフレームまたはビューを含むことができる。例えば、GUI 152は、ユーザが、GUI 152内でビジネスプロセスインスタンスの要素を入力し、変更し、選択し、またはモデル化することを可能にする、対話的要素を提供することができる。企業組織内のユーザの役割に基づいたプロセスモデルのビューは、例えば、ウェブブラウザを介してなど、GUI 152を介してユーザに提示することができ、ユーザからアクセス可能とすることができる。ビジネスプロセスのステップ、相互依存性、および変更オプションは、ユーザがビジネスプロセスモデリングタスクに貢献すること、またはそれを見ることを可能にするために、GUI 152においてグラフィカルに表現し、提示することができる。より一般には、GUI 152は、ユーザが、アプリケーション154の様々なサービスおよび機能にアクセスし、それらを利用することを可能にする、一般的な対話的要素を提供することもできる。GUI 152は、しばしば構成可能であり、表とグラフ(棒グラフ、線グラフ、円グラフ、ステータスダイアルなど)の組み合わせをサポートし、タブが主要な特徴によって区分された、リアルタイムポータル(例えばサイトまたはマイクロサイト)を構築することができる。したがって、GUI 152は、プラットフォームにおいて情報を処理し、視覚的な方法で結果をユーザに効率的に提示する、汎用ウェブブラウザ、インテリジェントエンジン、およびコマンドラインインタフェース(CLI)の組み合わせなど、任意の適切なグラフィカルユーザインタフェースを企図している。
【００３４】
本開示で使用される場合、クライアント150は、パーソナルコンピュータ、タッチスクリーン端末、ワークステーション、ネットワークコンピュータ、キオスク、ワイヤレスデータポート、スマートフォン、携帯情報端末(PDA)、上記または他のデバイス内の1つもしくは複数のプロセッサ、または他の任意の適切な処理デバイスを包含することが意図されている。例えば、各クライアント150は、キーパッド、タッチスクリーン、マウス、またはユーザ情報を受け入れることができる他のデバイスなどの入力デバイスを含み、またサーバ102(およびビジネスプロセスアプリケーション172)の動作に、またはデジタルデータ、視覚的情報、クライアントアプリケーション154、もしくはGUI 152を含む、クライアント150自体の動作に関連する情報を伝える出力デバイスを含む、コンピュータを含むことができる。入力デバイスおよび出力デバイスはともに、ディスプレイすなわちGUI 152を介してクライアント150のユーザから入力を受け取り、またユーザに出力を提供するために、磁気記憶媒体、CD-ROM、または他の適切な媒体など、固定型または着脱可能型の記憶媒体を含むことができる。
【００３５】
図1は、複数の要素を含むものとして、または複数の要素に関連するものとして説明されているが、本開示の各代替実施では、図1の環境100内に示されたすべての要素を必ずしも利用しなくてもよい。例えば、図1は、クライアントコンピュータ150によってアクセスできるサーバ102，104，106においてホステッドアプリケーションを実施する、分散クラスタベースの環境を示しているが、いくつかの実施では、サーバ102は、GUI 152を直接利用してユーザからアクセス可能なアプリケーションUIを特徴とするローカルアプリケーションを実行する。さらに、図1は、ネットワーク112の外部のサーバ102を示しているが、例えばクラウドネットワークソリューションの一環として、ネットワーク112内にサーバを含むこともできる。加えて、本明細書で説明される要素の1つまたは複数は、環境100の外部に配置することができるが、他の事例では、1つまたは複数の他の説明された要素の、および例示的な実施では説明されていない他の要素の部分内に、または一部として、ある要素を含むことができる。さらに、図1に示されるある要素は、他のコンポーネントと組み合わせることができる他、本明細書で説明された目的に加えて、代替的または追加的な目的のために使用することもできる。
【００３６】
図2は、ビジネスプロセス200と、ビジネスプロセス200に関連する識別されたブロックの例示的な図を示している。図2に示されるように、ビジネスプロセス200は、多くのステップまたは要素から構成される制御フローを含むことができる。各ブロック内にどの要素が含まれるかを含む、ビジネスプロセス200を構成するブロックの決定を行うために、既存のアルゴリズムを使用することができる。図2に見られるように、ビジネスプロセス200は、3つの異なるブロック、ブロック202、ブロック204、およびブロック206に分割することができる。3つのブロックの各々は、各ブロック内に、異なるプロセスステップを有するビジネスプロセス200の異なる重複のない部分を含むことができる。図2は、明示的に識別された3つのブロックを有するビジネスプロセス200を示しているが、ビジネスプロセス200について、より少ないまたはより多いブロックを識別することができる。例えば、完全なビジネスプロセス200は、単一の全体的なブロックを含むことができ、またはビジネスプロセス200は、(図2に示されるような3つのブロックの代わりに)2つの別個のブロックに分割することもできる。さらに、ビジネスプロセス200は、ネストしたブロックなど、ブロックの追加的なレイヤに関連することもできる。例えば、ビジネスプロセス200内の特定のステップは、サブフロー208に関連することができる。場合によっては、サブフロー208は、ブロック206内の別個のネストしたブロックとすることもできる。さらに、ビジネスプロセス200は、異なる境界に沿って、ブロックに分割することもできる。
【００３７】
ある実施では、ユーザに提示するためのビュー内に含まれるブロックは、1組の基準に従うことができる。例えば、あるユーザのために生成されるビューは、ビジネスプロセスのためのすべてのプロセスアーチファクトがビュー内に提示されるという点で、完全であるように求められることがある。換言すれば、特定のビュー内で、ビジネスプロセスが端から端までカバーされており、そのビュー内でいくつかのアーチファクトは完全な詳しさで展開されていないことがあるにしても、プロセスアーチファクトは省略されていない。ビューを生成するための第2の基準は、ビュー内に含まれるブロックが互いに独立(disjointed)であることとすることができる。互いに独立であるブロックの特徴は、あるアーチファクトが2つ以上の異なるブロック内に含まれることを禁止するというものである。しかしながら、互いに独立であるブロックは、特定のブロックがネストしたブロックとして表されるサブフロー208も含む場合などには、ネストしたブロックを含むことができる。
【００３８】
いくつかの実施では、ビューを生成するときに使用できる別の基準は、特定のユーザ役割についてビューを最適化するというものである。企業組織内で異なる役割を担うユーザは、ビジネスプロセスモデルの異なるビューに関心をもつことがあり、異なるビューは、ユーザに提示するブロックの異なる構成をおそらくは含む。例えば、ITエキスパートは、どのようにしてビジネスプロセスを最も効率的に自動化するか、またビジネスプロセスをどのように構成して、既存のIT状況にマッピングするかに関心をもつであろう。BPMエキスパートは、ビジネスプロセスを最適化する方法に関心をもつであろうし、LoB管理者は、負担する潜在的コストを理解しようと努めるであろうし、経営幹部レベル経営者は、ある手続きおよびプロセスの意図を理解しようと努めるであろう。いずれにしても、異なる役割の各々を担うユーザは、プロセスモデルの異なるデータまたは異なるレベルの粒度に関心をもつことがある。したがって、異なる役割を有するユーザに提示されるビューを調整して、ビューを受け取る特定のユーザの必要、役割、およびスキルセットに合わせることができる。
【００３９】
図3は、企業組織内の例示的なユーザ役割と、ユーザ役割の各々にとって関心事項となり得る、例示的なプロセスメタデータカテゴリ、アーチファクト、トピック、または項目グルーピングとについてのチャート300を示している。いくつかの実施では、メタデータカテゴリは、図3に示されるように、BPMNプロセスモデリング言語から導出することができるが、メタデータカテゴリは、他のソースから導出することもできる。チャート300は、ユーザのためのビュー内に適切なブロックまたは1組のブロックを含むことができるように、ユーザの役割とユーザが関心をもち得るグルーピングとの効率的な識別を可能にする、ルックアップテーブルの形式を取ることができる。ビジネスプロセスモデルは、図2に示されるように、ブロックに分割することができ、ブロックの異なる組み合わせが、ビジネスプロセスに関する異なるレベルの粒度を提供する。その場合、ブロックの特定の組み合わせを、ビジネスプロセスを見る特定のビューとして、ユーザに提示することができ、各ビューは、企業組織内におけるユーザの役割に合ったものであり、ユーザが関心をもつ可能性が最も高いプロセスモデルブロックを含む。特定のユーザにどのブロックを提示すべきかについての決定は、特定の役割を有するユーザが関心をもつ可能性が最も高いメタデータカテゴリを識別することによって開始することができる。場合によっては、ユーザの役割が識別され、役割内のユーザについての潜在的なメタデータカテゴリを、図3のチャートに表されるような、ルックアップテーブルから識別することができる。図3は、ユーザが潜在的な関心をもち得る、いくつかの例示的なメタデータカテゴリを示しているが、ルックアップテーブルは、動的とすることができ、状況と、どのプロセスメタデータが利用可能であるかに応じて、追加のユーザ役割(列)およびビジネスプロセスカテゴリ(行)を、ルックアップテーブルに追加することができる。ユーザに合ったビューを生成するために使用できるメタデータカテゴリは、図3に示されるカテゴリに限定されず、示されるカテゴリの各々を必ずしも含まない。さらに、ルックアップテーブル300は、人手で定義することができ、または妥当な場合には、ユーザ役割、アクション、および他の要因に基づいて、自動的に定義することができる。
【００４０】
図3に見られるように、ある役割を有するユーザが関心をもつメタデータカテゴリの1つは、会話を含むことができる。会話は、1つまたは複数の共通の目標に役立つ、論理的に一貫したメッセージ交換に属する、着信メッセージおよび発信メッセージのグルーピングとすることができる。意味的に一貫したプロセスフラグメントまたはブロックを定義するために、会話境界を使用することができる。例えば、ビジネスプロセスのBPMN表現は、1組の関連するメッセージを会話アーチファクトにグループ化することができる。同じ取引先、システム、またはプロセスへの、またそれらからの複数のメッセージは、会話エンティティにグループ化することができる。場合によっては、1つのブロック内に含まれる単一の会話、同じ取引先に属するすべての会話、またはブロック内の会話エンティティの他の任意の適切なグルーピングなど、会話エンティティに関する異なるレベルの粒度を用いて、ブロックを定義することができる。
【００４１】
ある役割に関連する何人かのユーザは、特定の会話についてのメッセージ交換を含むブロックをユーザが見ることを可能にするビューに関心をもつことがある。図3にマーク302bおよびマーク302cによって示されるように、例えば、BPMエキスパート326、プロセスアナリスト326、またはLoB管理者役割328に関連するユーザは、特定の会話にグループ化されたメッセージに関心をもつことがある。しかしながら、ITエキスパート324は、メッセージをどのように一緒にグループ化するかについて関心をもたないことがあり、代わりに、個々のメッセージまたはサービス消費により大きな関心をもつことがある。したがって、ITエキスパート324のために生成されたビューは、ITエキスパート324に会話アーチファクトを提供することに基づかないことがある。場合によっては、現場322または経営幹部レベル経営者330の役割に関連するユーザは、括弧付きのマーク302aおよびマーク302dによって示されるように、会話にいくらかの関心をもつことがある。
【００４２】
換言すれば、現場ユーザ322または経営幹部レベル経営者ユーザ330が会話に関心をもつ可能性は、例えば、BPMエキスパート326よりも低いが、ITエキスパート324よりは高いことがある。その可能性は、ブロックについてのスコアを計算するときに、このメタデータカテゴリのための適合値の重み付けに反映される。例えば、このカテゴリ(「会話」)の重みは、BPMエキスパートおよびLoB管理者については1.0とすることができ、現場従業員および経営幹部管理者については0.5とすることができる(当然ながら、別の重み付け係数を考えることもできる)。ルックアップテーブル300は、適切な重み付けの範囲を示唆している。加えて、マーク302aおよびマーク302dは、現場ユーザ322または経営幹部レベル経営者ユーザ330が有する会話アーチファクトに対する潜在的関心は現時点では分かっておらず、ビューが生成される特定のコンテキストに依存することがあることを示すことができる。いくつかの実施では、特定の役割を有するユーザが特定のアーチファクトに関心をもつ相対的な可能性を表すために、「x」マークの代わりに、変数、乗数、パーセンテージ、または他の値を、ルックアップテーブル300において使用することができる。その場合、その値を使用して、特定の役割に関連するユーザに提示する異なる可能なビューおよびブロックの組み合わせの各々についてのスコアを生成することができる。
【００４３】
スコアの例示的な計算は、現在のユーザ役割に適用されるすべてのメタデータカテゴリを識別することを含むことができる。すべての識別されたメタデータカテゴリについて、検討中のブロックについての「適合値」が計算される。場合によっては、適合値を計算するアルゴリズムは、メタデータカテゴリに特有である。アルゴリズムは、現在のブロックと、任意選択的にユーザ役割を入力として取得し、0から1までの範囲の値を返し、ここで、0は「最悪適合」を表し、1は「最良適合」を表す。全体的なブロックスコアは、すべての適合値の加重平均として計算され、重みは、ルックアップテーブル300において識別することができる。例示的な例では、「X」は1の重みを表すことができ、「(X)」は0.5の重みを表すことができる。テーブル300の他の変形は、0から1までの範囲のより精密な重みを与えることができる。n個のメタデータカテゴリを選択し、Fiをメタデータカテゴリiの適合値、Wiをその重みとする場合、スコアは以下のように計算することができる。
Score=(1/n)×(F1×W1+F2×W2+...+Fn×Wn)
【００４４】
図4は、特定のユーザ役割が会話の閲覧を必要とするかどうかに基づいて、ビジネスプロセスのビュー内に含めるために、可能なブロックを識別する、例示的なシナリオ400を示している。図4に示されるように、ビジネスプロセスは、イベント410を含むことができ、例えば、イベント420およびイベント430を経て進行する。例示的な例では、イベント410において、メッセージが送信される。中間メッセージイベント430において、ビジネスプロセスに関連するエンティティによって、メッセージ450bを受信することができる。メッセージ450aおよびメッセージ450bは、本例では、同じ会話460の一部とすることができる。場合によっては、ビジネスプロセスの特定のビューを必要とするユーザの必要に応じて、ビジネスプロセス内に1つまたは複数のイベントを含むように、ブロックを識別することができる。例えば、イベント410およびイベント420がブロック401内に含まれるように、ブロック401を定義することができ、一方、イベント430と、おそらくは他のイベントとを含むように、ブロック402を定義することができる。
【００４５】
しかしながら、ブロック401およびブロック402を別々のブロックとして含むビューは、同じブロック内にメッセージ450aとメッセージ450bとの両方を有する、会話460のビューを提供しない。場合によっては、ユーザは、完全な会話460のビューを必要としないこともある。例えば、図3に示されるような、ユーザ役割と関心アーチファクトとのルックアップテーブルに基づいた場合、ITエキスパートは、プロセスが他のプロセスとどのように通信するかに関心をもたないことがあるので、メッセージのグルーピングを含む完全な会話を閲覧する必要がないことがある。しかしながら、図3のルックアップテーブルに見られるように、BPMエキスパートは、他のシステムまたはビジネスプロセスとのビジネスプロセスの対話を最適化する必要があることがあるので、メッセージ450aおよびメッセージ450bを含む完全な会話460を見ることに関心をもつことがある。したがって、BPMエキスパートは、会話460内のすべてのメッセージ(メッセージ450aおよびメッセージ450b)を、それらが同じブロックに属するようにして、BPMエキスパートに提供される特定のプロセスモデルビュー内に有することを好むことがある。例示的な例では、会話460を閲覧することについてのBPMエキスパートの要件に合うように、ブロック403を定義することができる。図4に見られるように、ブロック403は、メッセージ450aとメッセージ450bとの両方を包含する、イベント410，420，430を含む。したがって、ブロック403は、会話460内の両方のメッセージを含むビューを提供するので、BPMエキスパートのためのビュー内に含めるのに適することがある。
【００４６】
図3に示される例に戻ると、他のアーチファクトおよびグルーピングは、プロセスモデルブロックからビューを生成するときに検討することができる。例えば、サービス消費304のグルーピングは、エンタプライズリソースプランニング(ERP)システム内でのサービスの消費を、あるカテゴリにグループ化するために使用することができる。消費されるサービスは、公開ウェブサービス、企業サービス、ビジネスアプリケーションプログラミングインタフェース(BAPI)、またはビジネスオブジェクトを含むことができる。場合によっては、公開ウェブサービスのための技術グルーピングは、サービスインタフェースの名前空間、ドメインおよび物理サービスプロバイダシステム、サービスシグネチャにおける共通データタイプ、またはセキュリティ設定、もしくはサービスのプロトコルがSOAP(シンプルオブジェクトアクセスプロトコル)ベースか、それともREST(表現状態転送(Representational State Transfer))ベースかなど、他の技術サービス特徴に基づくことができる。企業サービスをグループ化するための具体的なカテゴリは、例えば、ソリューションマップ(例えば「ハイテク-ビジネス、医療、および顧客OEM」)、ビジネスシナリオマップ(例えば「ハイテク: DRM契約交渉」)、プロセスカテゴリ(例えば「製品管理」)、ビジネスプロセス(例えば「製品戦略および計画」)、またはプロセスコンポーネント(例えば「ビジネス文書フロー処理」)を含むことができる。
【００４７】
場合によっては、ユーザは、1つのブロックにおいて、異なるサービスのグルーピングを見る必要がないことがある。発注書を作成すること、または休暇願を記入することなどの、企業サービスは、異なる異質のサービスとすることができ、例えば、現場ユーザ322は、それらのサービスを、現場ユーザのタスクを実行する目的にとっては関係のないものと考える。同様に、経営幹部レベル経営者330のユーザは、サービス消費304に関連する技術情報を必要としないことがある。しかしながら、ITエキスパート324の観点からは、ITエキスパート324は、起動または消費のためのサービスを構成する場合に、またはシステムへの接続の問題を修正する場合に、特定のシステムと対話するビジネスプロセスの部分を見ることから利益を得るので、サービス消費304のグルーピングが重要なことがある。
【００４８】
図3に見られるように、イベント受け取り306は、ユーザ用の特定のビューに含める適切なブロックを決定するために使用できる、別の可能なメタデータカテゴリである。状況によっては、イベントは、例えば、イベントが同じ技術システム、ビジネスプロセス、またはビジネスオブジェクトから発したものかどうかに基づいて、グループ化することができる。例えば、プロセスアナリスト用に生成されたビューは、イベントを受け取る、または特定のビジネスプロセスと排他的に対話する、プロセスフラグメントを含むことができる。ビューは、イベントが、プロセス/タスク管理者、あるユーザタスクの潜在的もしくは除外されたオーナ、または通知受領者に関連するかどうかなど、ユーザ役割308および組織階層レベルとの関係に関して、生成することもできる。ユーザ役割308の関係は、タスク処理を決定するために、またどのプロセスステップがあるユーザ役割に割り当てられているかを見るために、役に立つことがある。LoB管理者328および経営幹部レベル経営者330など、人員管理の役割に関連するユーザは、管理者の指揮下にいる異なるユーザに関連するタスクを決定するために、ユーザ役割308の関係に関心をもつことがある。
【００４９】
いくつかの実施では、ビューに含まれるブロックの識別は、ビジネスプロセス内のレーン割り当て310を検討することによって、部分的に定めることができる。ビジネスプロセスに関連する制御フローは、ビジネスプロセスにおける異なる機能ユニットに入ることができ、または異なる機能ユニットから出ることができる。機能ユニットは、例えば、部門、特定のユーザ役割、または特定の人など、企業組織内の任意の構造的または論理的ユニットとすることができる。ビジネスプロセスモデルでは、各機能ユニットまたは役割に関連するステップ、活動、およびデータフローは、ビジネスプロセスモデルにおける異なる「レーン」として表すことができ、制御フローが1つの機能ユニットから異なる機能ユニットに移動する場合、データフローは、各機能ユニットに関連する異なるレーンに入り、異なるレーンから出る。場合によっては、レーンは、特定のレーンに関連するタスクを実行するユーザなど、特定のユーザ役割に割り当てることもできる。したがって、特定のレーンに関連するユーザ用に生成されたビューは、そのレーン内のすべての活動を含むブロックを含むことができる。ビジネスプロセスが、ユーザに関連するレーンに再合流することがない異なるレーンに分岐した場合、異なるレーンにおけるビジネスプロセスの部分は、別個のブロックで表すことができ、別個のブロックに関する詳細は、展開されたビューにおいて、ユーザに提示されないことがある。
【００５０】
意味的に一貫したプロセスフラグメントまたはブロックは、プロセスログ312からも導出することができる。プロセスログは、以前のビジネスプロセス実行から収集または記録されたデータを含むことができる。プロセスログ内に収集された履歴データの例は、最も頻繁に実行されたプロセスブランチに関する統計データ、人が行うタスクの実際の処理者、または単一のプロセス活動についてのターンアラウンド時間および隣り合う活動の間の待ち時間を含むことができる。その後、プロセスログからの履歴データは、意味的に一貫したプロセスフラグメントを導出するために使用することができる。例えば、ブロックは、単一の人によって完遂される、最も頻繁に実行されるプロセスブランチまたはタスクに属するモデル要素から、ブロックが排他的に構成されるように定義することができる。図3に示されるように、ビジネスプロセスモデルのビューの生成は、少なくとも部分的にデータフロー314に依存することもできる。データフロー314に基づいたブロックの識別は、場合によっては、エンティティがアクセスするデータオブジェクトに基づいて、エンティティをグループ化することを含むことができる。意味的に一貫したブロックは、プロセス状態を形成するモデル化された1組のデータオブジェクトなど、ビジネスプロセスコンテキストのある要素から読み取ることによって、またはある要素に書き込むことによって識別することができる。図3に示されるように、異なる役割に関連するユーザは、プロセスログ312またはデータフロー314に基づいて定義されたブロックを有するビューに対する潜在的な関心が異なることがある。
【００５１】
図5は、ユーザの役割に基づいてユーザ用にカスタマイズされたプロセスモデルのビューを提供するための、例示的なプロセス500を示している。プロセスモデルにおけるブロックのネストした階層が、ステップ505において検出される。ユーザ役割に適した適切なプロセスビューを見出すためのベースラインとして役立つネストしたブロックの階層を計算するために、あるブロック検出アルゴリズムを使用することができる。場合によっては、BPMNプロセスモデルなど、非ブロック構造のプロセスモデルにおける自動ブロック検出アルゴリズムは、ブロックの階層を識別するために、制御フローシーケンスコネクタに関する「単一入口、単一出口」基準に依存することができる。その後、プロセスモデルに関連するユーザが、ステップ510において識別される。識別されるユーザは、モデリングプロセスへの貢献者、または何らかのタスクのためにプロセスモデルを見る必要があるユーザなど、ビジネスプロセスモデルの特定のビューにアクセスする必要があることがある、任意のユーザとすることができる。ユーザの役割に応じて、ユーザは、プロセスモデルに関連するある部分、レイヤ、または詳細レベルにより大きな関心をもつことがある。しかしながら、プロセスモデル内のブロックを自動的に検出するために使用されるアルゴリズムは、ユーザの役割または組織階層レベルに合った意味的に一貫したブロックを導出するために、プロセスメタデータを利用しないことがある。したがって、ユーザに関連するプロセスメタデータカテゴリは、ステップ515において、ユーザの役割に基づいて決定される。場合によっては、ユーザの役割は、会社の組織図を用いて決定することができ、ユーザ役割に関連するプロセスメタデータは、図3に示されるような、ルックアップテーブルを用いて識別することができる。
【００５２】
図3に関して上で説明したように、プロセスメタデータカテゴリは、企業組織内で特定の役割を有するユーザが関心をもつことがある、ビジネスプロセスに関連するメタデータのカテゴリである。メタデータカテゴリは、BPMNなどのプロセスモデリング言語から導出することができ、ユーザ用のカスタムプロセスビューを見出すために使用することができる。ある役割を有するユーザは、あるカテゴリ内に含まれるデータを見ることに関心をもつことがあり、一方、他の役割にあるユーザは、他のメタデータカテゴリに関心をもつことがある。プロセスメタデータカテゴリの例は、図3に関連して上で説明されている。特定のユーザ役割に関連するユーザがプロセスメタデータカテゴリの各々に関心をもつ可能性は、ユーザに適した適切な詳細度を有する情報を含むブロックを決定するために使用することができる。換言すれば、適切なプロセスメタデータが、組織図におけるユーザのレベル(例えば、現場ユーザ、LoB管理者など)、およびユーザの機能的役割または専門(例えば、ITエキスパート、プロセスアナリスト、分野エキスパート、ビジネスエキスパートなど)に基づいて、ユーザ用の意味的に一貫したプロセスフラグメントを決定するために識別される。
【００５３】
ステップ520において、ブロックの階層が辿られ、各訪問ブロックについてのスコアが、プロセスメタデータカテゴリに基づいて計算される。ブロックの階層は、ステップ505において決定されたように、ルートブロックとチャイルドブロックとから成ることができる。階層は、(最初は完全なプロセスモデルである)単一のルートと、(プロセス内のブロックである)内部ノードと、最小「ブロック」を形成する原子的(分解不能)なプロセスステップであるリーフノードとを有する、ツリー構造である。各ブロックについて、ユーザに関連するユーザ役割にとってのブロックの「適切性」を反映するスコアが計算される。いくつかの実施では、各ブロックについてのスコアは、機能的役割または組織階層レベルなどのユーザに関連するコンテキスト情報と、メタデータアトリビュートとに基づいて値を生成する、各メタデータカテゴリに関連する関数によって、計算することができる。特定のユーザ役割にとっての特定のブロックの「適切性」のレベルを決定するために、与えられたメタデータカテゴリのグルーピングおよび粒度のルールが評価される。複数のメタデータカテゴリがブロックのスコアに寄与する場合、加重平均を取ることで、各カテゴリの個々のスコアが正規化され、他のブロックのスコアと比較できる、ブロックのためのグローバルスコア値がもたらされる。
【００５４】
ブロックの階層内のブロックについてスコアを計算した後、ユーザに提供されるビューに含めるために、適切なブロックを選択する必要がある。ステップ525において、ルートブロックが識別される。ルートブロックは、プロセスモデル内のトップレベルブロックとすることができる。ステップ530において、ルートブロックのスコアが、ルートブロック下の同じサブツリー内のチャイルドブロックの任意の互いに独立で完全な組み合わせの平均スコアよりも大きいと判定された場合、ステップ535において、ユーザに提供されるビューに含めるために、ルートブロックが選択される。ルートブロックのスコアが、チャイルドブロックの任意の組み合わせの平均スコアよりも大きくない場合、ビューに含めるために、ルートブロックが選択されることはない。選択プロセスは、ブロックの階層内の他のルートブロックについても繰り返される。ステップ540における判定の結果、階層内に他のルートブロックが存在する場合、選択プロセスは、ステップ525において次のルートブロックを識別するところまで復帰し、各ブロックについて生成されたスコアの比較に基づいて、ルートブロックの選択を繰り返す。階層内に他のルートブロックが存在しない場合、ステップ545において、特定のユーザ役割にとって最も「適切」であるとして選択されたブロックと、ブロックの任意の関連する組み合わせとを含むビューを、ユーザに提供する。ブロックのすべての可能な組み合わせをチェックし、ユーザ役割にとっての「最良」一致である組み合わせを選択することに加えて、またはそれらに代わって、望ましい特徴を有するブロック組み合わせを探索することによって、コストを節約するために、(貪欲アルゴリズム、最急降下法、遺伝的アルゴリズム、焼きなまし法などの)発見的解決法を使用することができる。
【００５５】
ユーザに提示する適切なブロックを識別するための、上で説明された選択プロセスは、ブロックの階層を辿り、ルートブロックのスコアを、同じサブツリー内のブロックの組み合わせのスコアと比較することを含むが、ユーザ役割に合ったビュー内に含めるために、適切なブロックを選択する他の方法も、本開示の範囲内にある。例えば、特定のビューは、ユーザによって以前に要求または生成されたビューの履歴に少なくとも部分的に基づいた、ブロックの特定の組み合わせを用いて生成することができる。プロセスは、ブロックの選択に関するユーザのプリファレンス(例えばブロック粒度)を、選択が最終的にそれに基づいて行われるトータルスコアに影響する専用メタデータカテゴリにする、関連性フィードバックメカニズムを含むことができる。さらに、履歴データは、特定のユーザに関して、または複数のユーザにわたって収集することができる。その後、履歴データを使用して、ユーザがもつ可能性の高い関心または必要に合ったビューを提供するために、ビジネスプロセスモデルの将来のビューを生成することができる。追加的な特徴も、ユーザに提供されるビュー内に含むことができる。例えば、ビジネスプロセス内のあるレイヤ、粒度、または活動は、ユーザの役割に基づいてユーザに提供されるビューにおいて、自動的に「掘り下げる」こと、または展開することができる。同様に、ある細部は、ユーザの役割に基づいたビジネスプロセスモデルのビューにおいて、巻き上げる(roll up)こと、またはユーザから視覚的に隠すことができる。
【００５６】
先の説明および添付の図は、例示的なプロセスおよびコンピュータ実施可能技法を示している。しかしながら、環境100(またはそのソフトウェアもしくは他のコンポーネント)は、これらおよび他のタスクを実行するための任意の適切な技法を使用し、実施し、または実行することを企図している。これらのプロセスは、もっぱら説明を目的としたものであり、説明された技法または類似の技法は、同時的、個別的、またはそれらの組み合わせを含む、任意の適切なときに実行できることが理解されよう。加えて、これらのプロセス内のステップの多くは、同時に、および/または示されたのとは異なる順序で行うことができる。さらに、環境100は、方法が適切であり続ける限り、追加的なステップ、より少ないステップ、および/または異なるステップを有するプロセスを使用することができる。
【００５７】
換言すれば、本開示は、ある実施形態と、全般的に関連した方法とに関して説明されたが、これらの実施形態および方法の修正および置換は、当業者には明らかである。したがって、例示的な実施形態についての上記の説明は、本開示を確定せず、限定もしない。本開示の主旨および範囲から逸脱することなく、他の変更、置換、および修正も可能である。
【符号の説明】
【００５８】
100  環境
102，104，106  サーバ
112  ネットワーク
150  クライアント
152  グラフィカルユーザインタフェース
154  クライアントアプリケーション
155  インタフェース
156  プロセッサ
158  メモリ
161  メモリ
164  ビジネスプロセスモデル
165  ビジネスプロセスインスタンス
166  ビジネスプロセスメタデータ
168  プロセッサ
172  ビジネスプロセスアプリケーション
174  ビジネスプロセス管理ランタイム
176  ブロック識別モジュール
178  ブロック検出モジュール
【図１】
0005860732.tif 000002
【図２】
0005860732.tif 000003
【図３】
0005860732.tif 000004
【図４】
0005860732.tif 000005
【図５】
0005860732.tif 000006