本開示は、一般に、ネットワーク化されたビジネスプロセスにおいて、さらにネットワーク化されたビジネスプロセス参加者の間で、より高い透明性をもたらすためのコンピュータシステム、ソフトウェア、およびコンピュータによって実施される方法を説明する。本開示は、ネットワーク参加者にローカルのプロセスが実行され、完了されるにつれ、ネットワーク参加者が、ステータス更新、イベント、およびその他のプロセス関連の情報を互いに、容易に、迅速に、さらに効率的に通信することを許すためのツールおよびプロセスを提供する。現行のシステムにおいて、ネットワーク参加者は、しばしば、他のネットワーク参加者によって実行されているプロセスに関する情報を理解する、見る、または受け取ることができない。例えば、ネットワーク参加者は、他のいずれの参加者が或る特定の要求を扱うか、その特定の要求が処理されるのにどれだけ時間がかかり得るか、その特定の要求、およびその特定の要求に関連するイベントの現在のステータス、ならびに関心対象のその他の情報を知らない可能性がある。一般に、他のネットワーク参加者によって実行されるプロセスは、要求、信号、またはメッセージが要求側ネットワーク参加者を離れると、「ブラックボックス」タイプのイベントと見なされる。エンティティ間プロセスによくある様々な未知の要因のため、顧客、サービスプロバイダ、およびその他の潜在的な参加者は、参加者の新たなプロセス、および既存のプロセスをネットワーク化されたビジネスプロセスに組み込むことに乗り気でない。より高い透明性なしには、ネットワーク化されたビジネスプロセスの採用は、滞ったままである。
本開示は、ネットワーク化されたビジネスプロセスに関連する、より高い透明性のいくつかの方法を提供する。第1に、本開示は、ネットワーク参加者と、ネットワーク化されたビジネスプロセスに関与している、それらのネットワーク参加者に対応するビジネスプロセスとの間のビジネス対話を監視するためのシステムおよび方法を説明する。一般に、ビジネス対話は、クラウドベースのネットワークにおける集中監視システムによって監視され、ただし、監視システムは、様々なネットワーク参加者からの信号および/またはメッセージを、それらのネットワーク参加者のローカルビジネスプロセス内の特定のイベントに応答して、受信する。信号および/またはメッセージが受信されると、集中監視システムは、受信された信号および/またはメッセージと関係するビジネスプロセスまたはビジネス作業を有するその他のネットワーク参加者の1名または複数名を特定する。その他のネットワーク参加者の特定された1名または複数名は、受信された信号および/またはメッセージについて通知され、実行されているビジネスプロセスに関連する情報およびデータが、その他の1名または複数名のネットワーク参加者に提供される。一部の実例において、受信された信号および/またはメッセージは、特定のネットワーク参加者またはネットワークプロセスに関連する1つまたは複数のメトリックを計算するために、全体的なネットワーク化されたビジネスプロセス内の特定のプロセスのステータスを特定する、または分析するのに使用され得る。集中監視システムは、ネットワーク参加者間でステータス情報のルータ、中継器、およびマネージャの役割をして、ネットワーク化されたビジネスプロセスにおいて、より高い透明性および信頼度をもたらすことが可能である。一部の実例において、監視システムは、ネットワーク参加者が、他のネットワーク参加者の有効性、適時性、および一般的な能力を計算するのを支援するとともに、全体的なネットワーク化されたビジネスプロセス内の特定のビジネスプロセスが満足の行くように実行されているかどうかを判定するのを支援することが可能である。
本開示で説明されるネットワーク化されたビジネスプロセスにおける、より高い透明性のための第2のツールは、ネットワーク化されたビジネスプロセスの実行中に2名以上のネットワーク参加者にわたって共有される仮想ネットワークプロセスコンテキストである。一般に、システム間、およびプロセス間の統合は、2つのシステムに関連する、予期される入力データ、および予期される結果データを記述する規定されたインタフェースに基づいて、生じる。しかし、ネットワーク化されたビジネスプロセスが、統合された2つのシステムおよび/またはプロセスを超えて拡大するにつれ、これらのインタフェースは、統合された2つのシステム間の情報の共有を制限することによって、ネットワーク化されたビジネスプロセスの透明性を低下させる。しかし、BPMプロセスランタイムは、プロセスインスタンスの寿命中にプロセスコンテキストを、ランタイムで伝送する能力を有する。プロセスコンテキストは、事前定義された、構造化されたデータ(例えば、拡張マークアップ言語(「XML」)ベースの文書)と構造化されていないデータ(例えば、PDF文書)の両方を含む、プロセスステップの実行中に収集された情報を格納する。
本明細書で説明される仮想ネットワークプロセスコンテキストは、ネットワーク化されたビジネスプロセスに関連するデータが複数のネットワーク参加者によって格納され得る、さらに/またはアクセスされ得る一般的なリポジトリを提供する。仮想ネットワークプロセスコンテキストは、ネットワーク参加者にわたって最新のプロセス情報を保持するために、ネットワーク化されたビジネスプロセスの実行中に更新され、変更され得るネットワーク化されたビジネスプロセス情報の非局在化されたストアを提供する。つまり、仮想ネットワークプロセスコンテキストは、ネットワークプロセス参加者が、ネットワーク化されたビジネスプロセスの実行中に情報をシームレスに共有することを許し、ネットワーク化されたビジネスプロセスに関係のあるデータを格納し、共有するための効率的なシステムを提供する。一部の実例において、仮想プロセスコンテキストの中に格納されたデータは、ネットワーク参加者間で一貫性およびデータを保持するのに現行で送信されている、従来のビジネスツービジネス(「B2B」)メッセージまたはアプリケーションツーアプリケーション(「A2A」)メッセージに取って代わることが可能であり、情報がすべてのネットワーク参加者によって即時にアクセスされ得ること、および共有されることを許す。
本開示で説明される、より高い透明性のための第3のツールは、現在のネットワーク参加者、提案されるネットワーク参加者、または潜在的なネットワーク参加者によって提供されるサービス品質を分析するためのシステムである。ネットワーク化されたビジネスプロセスが最初に定義される、または更新されると、様々なネットワーク参加者、およびそれらの参加者に対応するビジネスプロセスに関する情報が、個別のネットワーク参加者またはビジネスプロセスによって提供され得る対話性、透明性、および適合性の品質を特定するのに役立つ。現在のネットワーク参加者、および潜在的なネットワーク参加者に関連するメタデータ、および他の情報を使用して、或るネットワーク参加者またはネットワークプロセスから利用可能なサービス品質を特定するため、および管理するための集中型ツールが、特定のエンティティまたはプロセスをネットワーク化されたビジネスプロセスに含めるのに先立って、さらにネットワーク化されたビジネスプロセスに含まれる現在の参加者またはプロセスを1つまたは複数の交代エンティティまたは交代プロセスで置き換えるためにも、見識のある決定が行われることを可能にする。一部の実例において、サービス品質は、特定のエンティティまたはビジネスプロセスから利用可能な透明性のレベル、ならびに特定のエンティティまたはビジネスプロセスが、ネットワーク化されたビジネスプロセスに関連するその他のネットワーク参加者に提供することができる情報のタイプを定義することが可能である。
図1は、集中型のネットワーク化されたビジネスプロセス対話モニタ、仮想プロセスコンテキストモジュール、ならびに現在のネットワーク参加者、および潜在的なネットワーク参加者に関連するプロファイルを生成するため、および分析するためのネットワーク参加者のプロファイルツールを含む、参加者の間で、より高い透明性をもたらすネットワーク化されたビジネスプロセスの様々な特徴を実施する例示的な環境100を示す。図示される環境は、複数のネットワーク参加者サーバ102(それぞれ、少なくとも1つの対応するクライアント150に関連付けられた)、ならびにクラウドベースのサービスおよび情報のセット160を含み、またはそのようなサーバ102、ならびそのようなサービスおよび情報のセット160に通信可能であるように結合され、ただし、クラウドベースのサービスおよび情報のセット160は、ネットワーク参加者サーバ102の2つ以上が関与するネットワーク化されたビジネスプロセスに関連する複数のオンデマンドサービス、システム、およびモジュールを含む。ネットワーク参加者サーバ102の少なくともいくつかと、クラウドベースのサービスおよび情報のセット160は、ネットワーク155を横断して、またはネットワーク155を介して通信することが可能である。一般に、環境100は、ネットワーク化されたビジネスプロセスに、さらにネットワーク参加者のセットの間で、より高い透明性をもたらすことができるシステムの例示的な構成を示す。代替の実施形態において、ネットワーク参加者サーバ102内、および/またはクラウドベースのサービスおよび情報のセット160内に示される要素は、図1に示される要素と対比して、異なる、さらに/またはさらなるサーバ、クライアント、ネットワーク、またはロケーションに含められる、または関連付けられることが可能である。例えば、クラウドベースのサービスおよび情報のセット160内に示される構成要素は、ネットワーク参加者サーバ102がアクセス可能な複数のクラウドベースのネットワークまたはロケーションに含められてもよい。
一般に、ネットワーク参加者サーバ(102a、102b、および102c)は、1つまたは複数のビジネスプロセスアプリケーション114を介してビジネスプロセスを格納し、実行する任意のサーバであり、ただし、ビジネスプロセスアプリケーション114は、複数のネットワーク参加者サーバ102にまたがって実行される少なくとも1つのネットワーク化されたビジネスプロセスに関連する。例えば、各サーバ102は、エンタープライズJava(登録商標)Beans(EJB)、J2EEコネクタアーキテクチャ(JCA)、Java(登録商標)メッセージングサービス(JMS)、Java(登録商標)ネーミングアンドディレクトリインタフェース(JNDI)、およびJava(登録商標)データベースコネクティビティ(JDBC)などのJava(登録商標)技術を含むJava(登録商標) 2プラットフォーム、エンタープライズエディション(J2EE)準拠のアプリケーションサーバであることが可能である。一部の実例では、各サーバ102は、他の複数の様々なアプリケーションを格納することが可能である一方で、他の実例では、各サーバ102は、特定のビジネスプロセスアプリケーション114、およびそのアプリケーション114に関連する機能を格納し、実行するように意図された専用サーバであることが可能である。一部の実例において、サーバ102のいずれも、ウェブサーバを備える、またはウェブサーバに通信可能であるように結合されることが可能であり、ただし、そのサーバ102に関する特定のビジネスプロセスアプリケーション114は、対応するビジネスプロセスアプリケーション114のプログラミングされたタスクまたは動作を実行するように関連するクライアント150によってアクセスされ、実行されるウェブベースのアプリケーションである。
高レベルで、各サーバ102は、環境100に関連するデータおよび情報を受信する、送信する、処理する、格納する、または管理するように動作可能な電子コンピューティングデバイスを備える。図1に示される各サーバ102は、ネットワーク化されたビジネスプロセスに含まれるその他のネットワーク参加者サーバ102の1つまたは複数に関連する1つまたは複数のクライアント150またはビジネスプロセスアプリケーション114からアプリケーション要求を受信すること、その関連するビジネスプロセスアプリケーション114においてそれらの要求を処理することによって、受信された要求に応答すること、ならびにそのビジネスプロセスアプリケーション114からの適切な応答を、要求側クライアント150、ビジネスプロセスアプリケーション114、または集中型のネットワーク化されたビジネスプロセス監視システム164(クラウドベースのサービスおよび情報のセット160の中で示される)に送り返すことを担うことが可能である。また、ビジネスプロセスアプリケーション114は、関連するサーバ102にローカルでアクセスするユーザからのローカル要求を処理し、それらの要求に応答することもできる。したがって、図1に示される外部クライアント150からの要求に加えて、特定のビジネスプロセスアプリケーション114に関連する要求が、内部ユーザ、外部もしくはサードパーティの顧客、および他の自動化されたビジネスプロセスアプリケーション114、ならびに他の任意の適切なエンティティ、個人、システム、またはコンピュータから送信されることも可能である。一部の実例において、各ビジネスプロセスアプリケーション114は、全体的なネットワーク化されたビジネスプロセスに関連する機能を実行するウェブベースのアプリケーションであることが可能である。
本開示で使用される「コンピュータ」という用語は、任意の適切な処理デバイスを包含することを意図している。例えば、図1は、3つのネットワーク参加者サーバ102を示すものの、環境100は、任意の数のサーバ102を使用して実施され得るとともに、サーバプールを含め、サーバ以外のコンピュータを使用して実施され得る。実際、各サーバ102は、例えば、ブレードサーバ、汎用パーソナルコンピュータ(PC)、マッキントッシュ、ワークステーション、UNIX(登録商標)ベースのワークステーション、または他の任意の適切なデバイスなどの任意のコンピュータまたは処理デバイスであることが可能である。つまり、本開示は、汎用コンピュータ以外のコンピュータ、ならびに従来のオペレーティングシステムを有さないコンピュータも企図している。さらに、図示されるサーバ102は、Linux、UNIX(登録商標)、Windows(登録商標)、Mac OS、または他の任意の適切なオペレーティングシステムを含め、任意のオペレーティングシステムを実行するように適合されることが可能である。一実施形態によれば、サーバ102の1つまたは複数は、メールサーバを含む、またはメールサーバに通信可能であるように結合されることも可能である。
例示される実施形態では、図1に示されるとおり、各ネットワーク参加者サーバ102は、インタフェース106、プロセッサ110、メモリ118、およびビジネスプロセスアプリケーション114を含む。インタフェース106は、各サーバ102によって、ネットワーク155に接続されたクライアント‐サーバにおける、または他の分散環境における(環境100内を含む)他のシステム(例えば、関連するクライアント150、またはクラウドベースのサービスおよび情報のセット160、ならびにネットワーク155に通信可能なように結合された他のシステム)と通信するのに使用される。図1は、サーバ‐クライアント環境とともに、クラウドコンピューティングネットワークを示す。例示される環境100の他の様々な実施形態が、クラウドコンピューティングネットワーク内の或るノードまたはロケーションを介してビジネスプロセスアプリケーション114の1つまたは複数へのアクセスを許すことによることを含め、ネットワーク化されたビジネスプロセスにおける、より高い透明性を可能にするように提供され得る。一部の実例において、ビジネスプロセスアプリケーション(114a、114b、および114c)は、互いに通信することが可能であり(ネットワーク化されたビジネスプロセス監視システム164を介することを含め)、その他のビジネスプロセスアプリケーション114の1つまたは複数を開始する、またはその他のビジネスプロセスアプリケーション114の1つまたは複数に関連する命令、および他の情報もしくはデータを与える。一般に、各インタフェース106は、適切な組合せのソフトウェアおよび/またはハードウェアに符号化され、ネットワーク155と通信するように動作可能であるロジックを備える。より具体的には、各インタフェース106は、ネットワーク155またはインタフェースのハードウェアが、図示される環境100の内部および外部で物理的信号を通信するように動作可能であるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを備えることが可能である。
一般に、各ネットワーク参加者サーバ102は、環境100の構成要素の間(すなわち、ネットワーク参加者サーバ102、サーバ102のそれぞれのクライアント150の間、さらに/またはネットワーク参加者サーバ102とクラウドベースのサービスおよび情報のセット160の間)の無線通信または有線通信、ならびに図1に示されないものを含む、ネットワーク155に通信可能なように結合されたさらなるクライアント、サーバ、または他のデバイスなどの他の任意のローカルまたは遠隔のコンピュータとの無線通信または有線通信を円滑にするネットワーク155に通信可能なように結合されることが可能である。例示される環境において、ネットワーク155は、図1に単一のネットワークとして示されるが、ネットワーク155の少なくとも一部分が送信者と受信者の間の通信を円滑にすることが可能である限り、本開示の範囲を逸脱することなく、複数のネットワークから成ってもよい。一部の実例において、ネットワーク155は、クラウドベースのサービスおよび情報のセット160のすべて、または一部分を含むことが可能である。ネットワーク155は、企業ネットワークまたはセキュリティで保護されたネットワークのすべて、または一部分であることが可能である一方で、別の実例では、ネットワーク155の少なくとも一部分は、インターネットに対する接続を表すことが可能である。一部の実例において、ネットワーク155の一部分は、例えば、ネットワーク参加者サーバ102の少なくとも1つと集中型のネットワーク化されたビジネスプロセス監視システム164の間の接続などの、仮想プライベートネットワーク(VPN)であることが可能である。さらに、ネットワーク155のすべて、または一部分は、有線リンクまたは無線リンクを備えることが可能である。例示的な無線リンクは、802.11a/b/g/n、802.20、WiMax、および/または他の任意の適切な無線リンクを含むことが可能である。つまり、ネットワーク155は、例示される環境100の内部および外部の様々なコンピューティング構成要素の間の通信を円滑にするように動作可能である任意の内部または外部のネットワーク、複数のネットワーク、サブネットワーク、または以上の組合せを包含する。ネットワーク155は、例えば、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、ビデオ、データ、および他の適切な情報をネットワークアドレス間で通信することが可能である。また、ネットワーク155は、1つまたは複数のロケーションにおける1つまたは複数のローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、インターネットのすべて、または一部分、および/または他の任意の1つまたは複数の通信システムを含むことも可能である。しかし、ネットワーク155は、本開示のすべての実施形態において必須の構成要素ではない。
図1に示されるとおり、ネットワーク参加者サーバ102a、102b、および102cのそれぞれは、プロセッサ110を含む。図1のネットワーク参加者サーバ102のそれぞれにおいて単一のプロセッサ110として例示されるものの、特定のニーズ、所望、または環境100の特定の実施形態に応じて、例示されるサーバ102の1つまたは複数において2つ以上のプロセッサが使用されてもよい。各プロセッサ110は、中央処理装置(CPU)、ブレード、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または別の適切な構成要素であることが可能である。一般に、プロセッサ110は、対応するネットワーク参加者サーバ102の動作、さらに、具体的には、対応するビジネスプロセスアプリケーション114に関連する機能を実行するように、命令を実行し、データを操作する。一実施形態において、サーバのプロセッサ110は、対応するクライアント150からの要求および命令を受け取り、応答するのに要求される機能、ならびに関連するビジネスプロセスアプリケーション114のその他の動作を実行するのに要求される機能を実行する。
特定の実施形態にかかわらず、「ソフトウェア」は、実行されると、本明細書で説明されるプロセスおよび動作を少なくとも実行するように動作可能な、実体のある、一時的でない媒体上のコンピュータ可読命令、ファームウェア、配線された、またはプログラミングされたハードウェア、あるいは以上の任意の組合せを含むことが可能である。実際、各ソフトウェア構成要素は、C、C++、Java(登録商標)、Visual Basic、アセンブラ、Perl、4GLの任意の適切なバージョン、およびその他を含む任意の適切なコンピュータ言語で完全に、または部分的に書かれる、または記述されることが可能である。図1に示されるソフトウェアのいくつかの部分は、様々なオブジェクト、メソッド、または他のプロセスを介して様々なフィーチャおよび機能を実施する個々のモジュールとして示されるが、このソフトウェアは、適宜、いくつかのサブモジュール、サードパーティサービス、構成要素、ライブラリなどを代わりに含んでもよいことが理解されよう。逆に、様々な構成要素のフィーチャおよび機能が、適宜、組み合わされて単独の構成要素にされてもよい。例示される環境100において、各プロセッサ110は、関連するサーバ102上に格納された、対応するビジネスプロセスアプリケーション114を実行する。一部の実例において、特定のネットワーク参加者サーバ102が、2つ以上のビジネスプロセスアプリケーション114に関連することが可能である。
高レベルで、各ビジネスプロセスアプリケーション114は、特定のネットワーク参加者サーバ102に関連する情報、および、一部の事例において、2つ以上のビジネスプロセスアプリケーション114の間の対話を組み合わせるネットワーク化されたビジネスプロセスを実行する、変更する、削除する、生成する、またはそれ以外で管理することができる任意のアプリケーション、プログラム、モジュール、プロセス、または他のソフトウェアである。一部の実例において、特定のビジネスプロセスアプリケーション114は、関連するクライアント150から受信された1つまたは複数の要求に応答して、さらにそのような要求に関連して動作することが可能である。さらに、特定のビジネスプロセスアプリケーション114は、別のネットワーク参加者サーバ102に関連するビジネスプロセスアプリケーションを含む、他のビジネスプロセスアプリケーション114から受信された1つまたは複数の要求に応答して、さらにそのような要求に関連して動作することが可能である。一部の実例において、要求に関連する情報が、集中型のネットワーク化されたビジネスプロセス監視システム164によって、またはシステム164を介して中継され、または供給されて、要求、更新、および他の情報が単一のロケーションに向けられることを許すとともに、ネットワーク化されたビジネスプロセスを容易に拡大する能力をもたらすことが可能である。さらに、各ビジネスプロセスアプリケーション114は、ネットワーク155を介して(例えば、インターネットを介して、またはクラウドベースのサービスおよび情報のセット160を介して)遠隔クライアント150によってアクセスされ、実行されるウェブベースのアプリケーションであることが可能である。さらに、特定のネットワーク参加者サーバ102の内部に図示されるが、特定のビジネスプロセスアプリケーション114に関連する1つまたは複数のプロセスは、遠隔で格納される、参照される、または実行されることも可能である。例えば、特定のビジネスプロセスアプリケーション114の一部分が、遠隔で呼び出されるビジネスプロセスアプリケーション114に関連するウェブサービスであることが可能である一方で、そのビジネスプロセスアプリケーション114の別の部分が、遠隔クライアント150における処理のために束ねられたインタフェースオブジェクトまたはインタフェースエージェントであることが可能である。さらに、特定のビジネスプロセスアプリケーション114のいずれか、またはすべてが、本開示の範囲を逸脱することなく、別のソフトウェアモジュールまたは企業アプリケーション(図示せず)の子またはサブモジュールであることが可能である。さらに、その特定のビジネスプロセスアプリケーション114のいくつかの部分が、対応するネットワーク参加者サーバ102において直接に作業するユーザによって実行される、またはアクセスされることが可能であるとともに、対応するクライアント150において遠隔で作業するユーザによって実行される、またはアクセスされることが可能である。
2つ以上のビジネスプロセスアプリケーション114が、ネットワーク化されたビジネスプロセスを作成し、実行するように組み合わされることが可能である。ネットワーク化されたビジネスプロセスは、全体的なビジネスプロセスの異なる部分を実行する2名以上のネットワーク参加者にまたがる作業を実行する終端間ビジネスプロセスである。多くの実例において、ネットワーク化されたビジネスプロセスは、企業間の境界および環境をまたいで実行され、異なる様々なネットワーク参加者から独立に提供される機能を組み込むことができる。一部の実例において、1つのビジネスプロセスアプリケーション114によって供給される中間、およびプロセス終了時の出力および信号が、同一のネットワーク化されたビジネスプロセスにおける別のビジネスプロセスアプリケーション114内でアクションを実行する際に、使用される、または考慮されることが可能である。
ビジネスプロセスアプリケーション114は、任意の適切な表記法で表され得るが、多くのビジネスプロセスアプリケーション114は、図2に例示されるビジネスプロセスモデリング表記法(BPMN)で表され得る。BPMN(現在のバージョン2.0)は、特定の全体的なプロセス内で実行されるイベント、アクティビティ、および判定に関するよく知られたグラフィック表記法を提供する。BPMNは、特定の基礎をなすプログラミング言語に必ずしも結び付けられておらず、とりわけ、JAVA(登録商標)、ABAP、またはC++を含む任意の適切なプログラミング言語で使用されることが可能である。
図2は、ビジネスプロセスインスタンス201を含む例示的なビジネスプロセスアプリケーション114を具体的に示す。ビジネスプロセスインスタンス201は、BPMN標準の一部である様々なグラフィック要素によって表されたビジネスプロセスモデルを含む。例示されるビジネスプロセスインスタンス201に関連する開始イベント205が、ビジネスプロセスインスタンス201を開始するようにトリガされる。図示されるとおり、インバウンドエージェント126(図1のネットワーク参加者サーバ102内にも示される)が、内部または外部のソース(別のビジネスプロセスアプリケーション114、ネットワーク参加者サーバ102に関連するユーザ、または集中型のネットワーク化されたビジネスプロセス監視システム164を含む)から受信された情報を解釈して、開始イベント205をトリガし、ビジネスプロセスインスタンス201を初期化することが可能である。
開始イベント205がトリガされた後、第1のアクティビティ210が実行される。第1のアクティビティ210などのBPMNにおけるアクティビティは、モデル化されたビジネスプロセスまたはビジネスインスタンスの内部で実行されるべき特定の作業またはプロセスを表す。次に、第1のアクティビティ210に関連するデータ、または第1のアクティビティ210の結果が、中間イベント215に供給される。中間イベントは、開始イベントから終了イベントまでの間に生じるイベントを表し、ビジネスプロセスが、対応する終了イベントに先立ってビジネスプロセスの外部に情報を送る機会を提供することができる。例えば、図2に示されるとおり、中間イベント215は、アウトバウンドエージェント134に供給される特定の信号またはメッセージに関連することが可能であり、ただし、アウトバウンドエージェント134は、適切なロケーションに送信信号または送信メッセージを向かわせる。環境100内で、アウトバウンドエージェント134は、中間イベント215によって供給された信号またはメッセージを処理し、さらなる処理のために集中型のネットワーク化されたビジネスプロセス監視システム164にその情報を送信することが可能である。他の実例において、アウトバウンドエージェント134は、ネットワーク参加者サーバ102bのビジネスプロセスアプリケーション114bなどの、例示される環境内の別の参加者に信号またはメッセージを直接に送信することが可能である。
中間イベント215の動作を実行すると、ビジネスプロセスインスタンス201は、第2のアクティビティ220に進み、さらなる処理または動作が実行される。ビジネスプロセスインスタンス201は、第2のアクティビティ220の後、第2の中間イベント225を含み、ただし、この場合も、ビジネスプロセスインスタンス201の現在のステータスおよび状態に関連する情報がアウトバウンドエージェント134に供給される。一部の実例において、中間イベント225によって送信される信号またはメッセージは、前の中間イベント215と同一のロケーション(例えば、集中型のネットワーク化されたビジネスプロセス監視システム164、または環境100内の別のビジネスプロセスアプリケーション114)に、または異なるロケーションもしくは受信者に送信され得る。一部の実例において、この信号またはメッセージは、同一のロケーションに送信されるが、異なる受信者に中継されることが可能である。
第2の中間イベント225の後、判定ステップ230が与えられる。判定ステップ230は、ゲートウェイとも呼ばれることが可能であり、関連するビジネスプロセスインスタンス201内のデータフローに基づいて、ビジネスプロセスインスタンス201の制御フローをどのように分岐させるべきか、どのように分割すべきか、またはそれ以外でどのように向かわせるべきかを判定するのに使用され得る。一部の実例において、ゲートウェイは、現在、実行されている動作が別のアクティビティを実行するように組み合わされる場合など、ビジネスプロセスインスタンス201において別々のフローをマージするのに使用されることが可能である。判定ステップ230で受け取られた条件に基づいて、ビジネスプロセスインスタンス201は、第3のアクティビティ235、または第4のアクティビティ240に進む。正しいアクティビティに関連する動作が実行されると、ビジネスプロセスインスタンス201は、終了イベント245でビジネスプロセスを完了させる。終了イベント245は、プロセスの結果を表し、中間イベントと同様に、プロセスの結果を戻すことができる。この例において、終了イベント245は、プロセスの結果をアウトバウンドエージェント134に提示し、エージェント134は、それらの結果を任意の適切なロケーションまたは受信者に転送することができる。一部の実例において、複数のアウトバウンドエージェントが、例示される単一のアウトバウンドエージェント134の代わりに使用されることが可能である。
図1に戻ると、インバウンドエージェント126、アウトバウンドエージェント134、メッセージフィルタ122、およびコンテキストモジュール138を含むさらなるモジュールが、ネットワーク参加者サーバ102a内に示されている。これらのモジュールのすべて、または一部が、その他のネットワーク参加者サーバ102bおよび102cの内部に含まれることも、あるいはこれらのモジュールのいずれも、サーバ102bおよび102cの内部に含まれないことも可能である。さらに、これらのモジュールの一部、またはすべてが組み合わされることが可能であるとともに、別の構成要素によって提供される機能に組み込まれることも可能である。図2に示されるとおり、インバウンドエージェント126が、インタフェース106aを介して受信されたメッセージおよび情報を、ビジネスプロセスアプリケーション114a内の適切なロケーションに、またはネットワーク参加者サーバ102a内の他の任意のロケーションに転送する。一部の実例において、インバウンドエージェント126は、メッセージを、ビジネスプロセスアプリケーション114aの特定のアクティビティまたは要素に向かわせることが可能であるとともに、ネットワーク参加者サーバ102aが2つ以上のビジネスプロセスアプリケーション114に関連する実施形態において、特定のビジネスプロセスアプリケーション114に向かわせることが可能である。インバウンドエージェント126は、集中型のネットワーク化されたビジネスプロセス監視システム164から送信されたメッセージを、ネットワーク参加者サーバ102aに転送することができる。しかし、一部の実施形態において、インバウンドエージェント126は、集中型のネットワーク化されたビジネスプロセス監視システム164に関連することが可能なリスナモジュール130を含むことも可能である。リスナモジュール130は、新たなメッセージまたは信号が利用可能になると、受信されると、さらに/または生成されると、そのことを、集中型のネットワーク化されたビジネスプロセス監視システム164にポーリングする、またはそれ以外でシステム164から特定することができる。新たなメッセージまたは信号がリスナモジュール130によって検出された場合、および集中型のネットワーク化されたビジネスプロセス監視システム164において利用可能である新たなメッセージまたは信号が、インバウンドエージェント126のそれぞれのネットワーク参加者サーバ102aにおけるビジネスプロセスアプリケーション114aに関連する場合、インバウンドエージェント126は、ネットワーク化されたビジネスプロセス監視システム164から、そのメッセージまたは信号のコピーを要求する、または取得することが可能である。メッセージおよび他の情報がネットワーク参加者サーバ102aに直接に送信される場合、メッセージフィルタモジュール122が、着信するメッセージまたは情報に関連する初期処理および分析を実行して、そのメッセージまたは情報の関連性、およびネットワーク参加者サーバ102a内の適切な宛先を特定することが可能である。例えば、受信されたメッセージが、或る特定のビジネスプロセスアプリケーション114aに関係がある、または関連する場合、メッセージフィルタモジュール122は、受信されたメッセージを、そのビジネスプロセスアプリケーション114aに対応するインバウンドエージェント126に供給することが可能である。代替として、メッセージフィルタモジュール122は、インバウンドエージェント126の一部分である、またはインバウンドエージェント126の少なくとも一部分と互いに置き換え可能であることも可能である。例えば、メッセージフィルタモジュール122は、集中型のネットワーク化されたビジネスプロセス監視システム164からメッセージまたは情報の適切なロケーションを識別し、その情報を、適切なビジネスプロセスアプリケーション114a、またはそのようなアプリケーション114aの部分に直接に転送することが可能である。
アウトバウンドエージェント134は、ビジネスプロセスアプリケーション114aに関連する信号、メッセージ、および他の情報を、ネットワーク化されたビジネスプロセス監視システム164に送信するのに使用されることが可能である。出力または他の中間イベントに関連するビジネスプロセスアプリケーション114aにおけるイベントおよびアクションが、関連するデータ、メッセージ、および情報をアウトバウンドエージェント134に供給することが可能であり、ただし、アウトバウンドエージェント134は、その情報が送信されるべきロケーションを特定する。一部の実例において、ビジネスプロセスアプリケーション114aからの出力は、メッセージフィルタモジュール122に最初に供給されることが可能であり、モジュール122は、情報またはメッセージのいずれのセットが、ネットワーク参加者サーバ102aの外部に送信されるべきかを特定することが可能である。一部の実例において、特定のビジネスプロセスアプリケーション114aによって生成されたメッセージおよび情報の一部分が、ネットワーク参加者サーバ102aの外部で共有されることが可能であり、メッセージフィルタモジュール122は、特定のメッセージまたは他の情報がアウトバウンドエージェント134に供給されるかどうかを判定する。一部の実例において、メッセージフィルタモジュール122は、アウトバウンドエージェント134の一部であることが可能であり、あるいはエージェント134の機能に取って代わることが可能であり、したがって、メッセージフィルタモジュール122は、いずれの情報がネットワーク参加者サーバ102aの外部で共有されるべきかを特定し、さらに、その後、その情報を適切なロケーションに自ら送信する。
また、ネットワーク参加者サーバ102aは、コンテキストモジュール138を含むものとして図示される。そのように図示されていないものの、その他のネットワーク参加者サーバ102bおよび102cもコンテキストモジュールを含むことが可能である。コンテキストモジュール138は、プロセッサ110aによって実行されることが可能であり、ビジネスプロセスアプリケーション114aに関連するサービスを供給することができる。コンテキストモジュール138は、ビジネスプロセスアプリケーション114aが、メモリ118a内のローカルプロセスコンテキスト146に格納されたデータオブジェクトへのアクセスを提供することを可能にするインタフェース、モジュール、サービス、またはメタデータ定義を提供することができる。また、コンテキストモジュール138は、クラウドベースのサービスおよび情報のセット160内の集中型の、ネットワーク化された仮想プロセスコンテキストモジュール182に、ビジネスプロセスアプリケーション114aに関連するコンテキスト情報を提供する機能を含むことも可能である。例えば、ローカルビジネスプロセスアプリケーション114aに関連するアクションが、ローカルプロセスコンテキストまたはネットワークプロセスコンテキストに関連するデータを変更した場合、コンテキストモジュール138は、その更新された情報を、ネットワークプロセスコンテキスト184に含めるため、およびコンテキスト184を変更するために、仮想プロセスコンテキストモジュール182に送信することができる。
コンテキストモジュール138は、特定のローカルビジネスプロセスアプリケーション114aに関連するプロセスコンテキスト情報を格納するための動作、およびそのような情報にアクセスするための動作を実行するとともに、複数のネットワーク参加者サーバ102にまたがって、複数の互いに関係するビジネスプロセスアプリケーション(例えば、114a、114b、および114c)を利用して実行された、ネットワーク化されたビジネスプロセスに関連するプロセスコンテキスト情報を仮想プロセスコンテキストモジュール182から受信すること、および/または取得することによって動作を実行する。一部の実例において、コンテキストモジュール138は、ネットワーク化されたビジネスプロセスに関連する新たな、または変更されたコンテキスト情報に関して、仮想プロセスコンテキストモジュール182を監視することが可能である。新たな、または変更されたコンテキスト情報が識別された場合、コンテキストモジュール138は、その更新されたコンテキスト情報を要求し、または取得して、その情報をローカルプロセスコンテキスト146内にローカルで格納することができる。さらに、コンテキストモジュール138は、仮想プロセスコンテキストモジュール182からコンテキスト更新の通知を受信することが可能であり、さらに、この通知に応答して、関連するコンテキスト更新およびコンテキスト変更を取得して、ローカルプロセスコンテキスト146がネットワークプロセスコンテキスト184に対して最新であることを確実にすることが可能である。一部の実例において、コンテキストモジュール138は、クラウドベースのサービスおよび情報のセット160の中に格納されたネットワークプロセスコンテキスト184と対話することに専用のサービス、プロセス、またはモジュールであることが可能である。情報をローカルで格納する代わりに、コンテキストモジュール138は、ウェブサービス呼び出しを介するなどして、ネットワークプロセスコンテキスト184に直接にアクセスして、ネットワーク化されたビジネスプロセスに関連するネットワークプロセスコンテキスト184を取得し、コンテキスト184にアクセスすることが可能である。それらの実例において、ローカルプロセスコンテキスト146は、ネットワーク参加者サーバ102aに保持されることが可能である。ローカルプロセスコンテキスト146は、バックアップの目的で、あるいは、ネットワークプロセスコンテキスト184に対する変更が全く識別されておらず、したがって、ローカルプロセスコンテキスト146がネットワークプロセスコンテキスト184の最新のバージョンを表す場合に、使用されることが可能である。
一般に、各ネットワーク参加者サーバ102は、データおよびプログラム命令を格納するためのメモリ118も含む。各メモリ118は、任意のメモリまたはデータベースモジュールを含むことが可能であり、さらに、限定なしに、磁気媒体、光媒体、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、リムーバブルメディア、または他の任意の適切なローカルまたは遠隔のメモリ構成要素を含む揮発性メモリまたは不揮発性メモリの形態をとることが可能である。各メモリ118は、対応するネットワーク参加者サーバ102にローカルなサービス、ならびに対応するサーバ102、およびそのようなサーバ102のビジネスプロセスアプリケーション114の目的に関連する任意のパラメータ、変数、アルゴリズム、命令、規則、制約、または以上に対するリファレンスを含む他の任意の適切な情報を格納するクラス、フレームワーク、アプリケーション、バックアップデータ、ビジネスオブジェクト、ジョブ、ウェブページ、ウェブページテンプレート、データベーステーブル、プロセスコンテキスト、リポジトリを含め、様々なオブジェクトまたはデータを格納することが可能である。
図示されるとおり、メモリ118aは、メッセージストア142、ローカルプロセスコンテキスト146、およびネットワーク参加者のプロファイル148を含む。一部の実施形態において、メモリ118bおよび118cは、これらの構成要素のいくつか、またはすべての構成要素の独自のインスタンスを含むことも可能である。メッセージストア142は、アウトバウンドエージェント134から送信された、さらに/またはビジネスプロセスアプリケーション114aに関連するインバウンドエージェント126によって受信された、収集されたメッセージ、信号、および他の情報のセットを表す。一部の実例では、ネットワーク化されたビジネスプロセスに関連するすべてのメッセージが、ローカルメッセージストア142の中に格納されることが可能であるのに対して、他の実例では、ローカルビジネスプロセスアプリケーション114aに関係がある、またはアプリケーション114aに関連すると考えられるメッセージだけが、メッセージストア142の中に格納されることが可能である。メッセージストア142は、ネットワーク化されたビジネスプロセス対話に関するバックアップまたはリポジトリの役割をして、ローカルビジネスプロセスアプリケーション114a(および他のローカル動作)が、格納されたメッセージおよび情報に任意の目的で迅速にアクセスすることを許すことが可能である。
前述したローカルプロセスコンテキスト146は、特定のローカルビジネスプロセスアプリケーション114aのプロセスコンテキストに関連する情報とともに、ローカルビジネスプロセスアプリケーション114aが一部分を成すネットワーク化されたビジネスプロセスに関連するプロセスコンテキストも格納することができる。一部の実例では、ローカルプロセスコンテキスト146は、ローカルビジネスプロセスアプリケーション114aに関連する情報だけを格納することが可能である。他の実例では、ローカルプロセスコンテキスト146は、仮想プロセスコンテキストモジュール182、およびモジュール182のネットワークプロセスコンテキスト184からの情報を格納する、またはキャッシュすることが可能である。仮想プロセスコンテキストモジュール182の利用可能性、ならびにローカルプロセスコンテキスト情報の経時および有効性に依存して、コンテキストモジュール138およびローカルビジネスプロセスアプリケーション114aは、ネットワークプロセスコンテキスト184にアクセスする代わりに、ローカルプロセスコンテキスト146の中に格納された、キャッシュされたネットワークプロセスコンテキスト情報を使用することができる。
ネットワーク参加者のプロファイル148は、特定のネットワーク参加者サーバ102aに関連するメタデータおよび情報のセット、そのサーバ102aの利用可能なビジネスプロセスアプリケーション114a、およびネットワーク参加者サーバの技術能力を表す。一部の実例において、ネットワーク参加者のプロファイル148は、対応するネットワーク参加者に関連する代表者に提示された質問、およびそのような代表者によって準備された回答の定義プロセスを介するなどして、手作業で生成されることが可能である。また、ネットワーク参加者のプロファイル148は、ネットワーク参加者の以前の対話からの特定のネットワーク参加者に関連する、知られている情報に基づいて、少なくとも部分的に、自動的に生成されることも可能である。一部の実例において、プロファイル148自体、図1のクラウドベースのサービスおよび情報のセット160の中に配置されたネットワーク参加者のプロファイルモジュール188に関連する参加者のプロファイルジェネレータ190を使用して生成され、さらに/または変更されることが可能である。例として、特定のネットワーク参加者のプロファイル148が、ネットワーク参加者が開始イベントおよび/または終了イベント、中間イベントおよびマイルストーン、ならびに誤りイベントに関連する情報を公開することができるかどうかを定義する情報および/またはメタデータを含むとともに、ビジネスプロセス終了、ビジネスプロセス報酬、および/またはビジネスプロセスのアドホック変更のサポートを提供することが可能である。ネットワーク参加者のプロファイル148内のこれら、およびその他の基準および情報の分析が、他のネットワーク参加者、またはクラウドベースのサービスおよび情報のセット160内の自動化されたプロセスによって、特定のネットワーク参加者またはネットワーク参加者ビジネスプロセスアプリケーション114が、ネットワーク化されたビジネスプロセスに含められるべきかどうか、または含められ得るかどうかを判定するのに使用されることが可能である。ネットワーク参加者のプロファイル148は、さらに、または代替として、クラウドベースのサービスおよび情報のセット160の中に格納されたネットワーク参加者のプロファイルのセット194の中など、関連するネットワーク参加者から遠隔に格納されてもよい。
また、図1の例示される環境は、ネットワーク参加者サーバ102のそれぞれに関連する1つまたは複数のクライアント150も含む。各クライアント150は、有線接続または無線接続を使用して、ネットワーク155を介して、あるいは別の適切な通信手段を介して、少なくとも対応するネットワーク参加者サーバ102に接続する、またはそのようなサーバ102と通信するように動作可能な任意のコンピューティングデバイスであることが可能である。一部の実例において、クライアント150は、特定のネットワーク参加者サーバ102の一部分であることが可能である。一般に、各クライアント150は、プロセッサ、インタフェース、グラフィカルユーザインタフェース(GUI)、およびメモリを含むことが可能である。一般に、クライアント150は、図1の環境100に関連する任意の適切なデータを受信する、送信する、処理する、さらに格納するように動作可能な電子コンピュータデバイスを備える。環境100に関連する、または環境100の外部の任意の数のクライアント150が存在することが可能であることが理解されよう。例えば、例示される環境100は、特定のネットワーク参加者サーバ102a、102b、および102cにそれぞれ接続された3つのクライアント150a、150b、および150cを含むが、環境100の代替の実施形態は、ネットワーク参加者サーバ102の1つまたは複数に通信可能なように結合された複数のクライアント、ならびに特定のネットワーク参加者サーバ102に特に接続されていない、または関連していない他のクライアント150を含むことが可能である。一部の実例において、少なくとも1つのクライアント150が、ネットワーク化されたビジネスプロセスの管理者に関連することが可能であり、さらにそのネットワーク化されたビジネスプロセス、ならびに個別の各ビジネスプロセスアプリケーション114に関連する情報およびデータを変更することができることが可能である。さらに、ネットワーク155を介して環境100と対話することができる、環境100の例示される部分の外部の、1つまたは複数のさらなるクライアント150が存在することも可能である。さらに、本開示の範囲を逸脱することなく、「クライアント」という用語と「ユーザ」という用語は、適宜、互換的に使用されることが可能である。さらに、各クライアント150は、単一のユーザによって使用されることに関連して説明されるが、本開示は、多くのユーザが1つのコンピュータを使用する可能性があること、または1名のユーザが複数のコンピュータを使用する可能性があることを企図している。
各クライアント150に関連するGUIは、例えば、クライアント150のユーザが、ネットワーク化されたビジネスプロセス内の特定のビジネスプロセスアプリケーション114、および他の任意の適切なアプリケーションに関連する情報およびデータを入力すること、ならびにそのような情報およびデータと対話することなどの、任意の適切な目的で、関連するビジネスプロセスアプリケーション114の少なくとも一部分とインタフェースをとることを許すように動作可能なグラフィカルユーザインタフェースを備えることが可能である。一般に、GUIは、特定のユーザに、システムによって供給される、またはシステム内で通信されるビジネスデータの効率的で、ユーザフレンドリな提示を提供する。GUIは、ユーザによって操作される対話型フィールド、プルダウンリスト、およびボタンを有する複数のカスタマイズ可能なフレームまたはビューを備えることが可能である。例えば、GUIは、ユーザが、特定のビジネスプロセスアプリケーション114、集中型のネットワーク化されたビジネスプロセス監視システム164、仮想プロセスコンテキストモジュール182、および/またはネットワーク参加者のプロファイルモジュール188と対話することを許す対話型要素を提供することが可能である。関連するビジネスプロセスアプリケーション114の様々な部分、ならびに全体的なネットワーク化されたビジネスプロセスのいくつかの部分が、ウェブブラウザを介するなどGUIを介してユーザに提示され、ユーザによってアクセス可能であることが可能である。一般に、GUIは、ユーザが、特定のネットワーク参加者サーバ102、およびそのサーバのビジネスプロセスアプリケーション114の様々なサービスおよび機能にアクセスし、そのようなサービスおよび機能を利用することを許す一般的な対話型要素を提供することも可能である。GUIは、しばしば、構成可能であり、テーブルとグラフ(棒、線、パイ、ステータスダイヤルなど)の組合せをサポートし、リアルタイムポータルを構築することができ、ただし、タブは、重要な特性(例えば、サイトまたはマクロサイト)によって画定される。したがって、GUIは、プラットフォームにおける情報を処理し、結果を視覚的にユーザに効率的に提示する汎用ウェブブラウザ、インテリジェントエンジン、およびコマンドラインインタフェース(CLI)の組合せなどの、任意の適切なグラフィカルユーザインタフェースを企図している。
本開示で使用される、各クライアント150は、パーソナルコンピュータ、タッチスクリーン端末装置、ワークステーション、ネットワークコンピュータ、キオスク、無線データポート、スマートフォン、携帯情報端末(PDA)、これら、またはその他のデバイス内の1つまたは複数のプロセッサ、あるいは他の任意の適切な処理デバイスを包含することを意図している。例えば、各クライアント150は、キーパッド、タッチスクリーン、マウス、またはユーザ情報を受け付けることができる他のデバイスなどの入力デバイス、ならびに関連するネットワーク参加者サーバ102の動作に関連する情報を伝送する出力デバイス、クラウドベースのサービスおよび情報のセット160の一部分、および/またはデジタルデータ、視覚的情報、またはGUIを含むクライアント150自体を含むコンピュータを備えることが可能である。入力デバイスと出力デバイスはともに、ディスプレイ、すなわち、GUIを介してクライアント150のユーザから入力を受け取るとともに、そのようなユーザに出力を供給する、磁気記憶媒体、CD-ROM、または他の適切な媒体などの固定またはリムーバブルの記憶媒体を含むことが可能である。
そのように例示されてはいないものの、クライアント150は、ネットワーク参加者サーバ102に関連して説明されるものと同様のプロセッサ、インタフェース、およびメモリを含むことが可能であり、ただし、これらの構成要素の1つまたは複数の構成要素の代替の実施形態が使用されることが可能であるとともに、さらなる構成要素も含まれ得る実施形態が使用されることも可能である。
図1は、クラウドベースのサービスおよび情報のセット160の中に存在するいくつかの構成要素をさらに示す。クラウドベースのサービスおよび情報のセット160は、ネットワーク参加者サーバ102、クライアント150、および様々なビジネスプロセスアプリケーション114にオンデマンドで提供される共有リソース、ソフトウェア、および情報を備える。一部の実例において、特定のビジネスプロセスアプリケーション114に関連して説明される機能の一部、またはすべては、クラウドベースのサービスおよび情報のセット160の中で、またはセット160を使用して実施されることも可能であり、したがって、その特定のビジネスプロセスアプリケーション114は、クラウドベースのオンデマンドサービスを備える。一般に、クラウドベースのサービスおよび情報のセット160の様々な構成要素は、アプリケーションプログラミングインタフェース(API)を使用して、さらに/またはウェブサービスおよび接続の使用を介して、互いに、さらに環境100の非クラウドベースの構成要素を相手に通信することが可能である。一部の実例において、クラウドベースのサービスおよび情報のセット160の中の各構成要素は、クラウドベースのアプリケーションまたはサービスと考えられることが可能である。
本開示において、クラウドベースのサービスおよび情報のセット160は、集中型のネットワーク化されたビジネスプロセス監視システム164、仮想プロセスコンテキストモジュール182、およびネットワーク参加者のプロファイルモジュール188を含む、いくつかのオンデマンドの、またはクラウドベースのサービスを含む。さらに、クラウドベースのサービスおよび情報のセット160は、集中型のネットワーク化されたビジネスプロセス監視システム164に関連するメッセージストア174、集中型のネットワーク化されたビジネスプロセス監視システム164およびネットワーク参加者のプロファイルモジュール188に関連するネットワーク化されたビジネスプロセスメタデータのセット176、ならびにネットワーク参加者のプロファイルのセット194を含む、いくつかの関連する情報リポジトリを含む。クラウドベースのサービスおよび情報のセット160の中に図示される構成要素は、(図1に例示される)単一のクラウドベースのネットワークの中に格納されることが可能である一方で、他の実施形態では、これらの構成要素の一部、またはすべてが、他のクラウドベースのネットワーク、ロケーション、およびサービスの間で、さらに例示されるネットワーク参加者サーバ102の1つまたは複数の中に、またはそのようなサーバ102の1つまたは複数と一緒に分散されることが可能である。
高レベルで、集中型のネットワーク化されたビジネスプロセス監視システム164、仮想プロセスコンテキストモジュール182、およびネットワーク参加者のプロファイルモジュール188は、企業間、またはエンティティ間の取引および作業の間で、より透明性のある対話をもたらすために、複数のネットワーク参加者にまたがるビジネスプロセスアプリケーション114を含むネットワーク化されたビジネスプロセスに関連する情報を、実行する、変更する、削除する、生成する、またはそれ以外で管理することができる任意のアプリケーション、プログラム、モジュール、プロセス、または他のソフトウェアである。集中型のネットワーク化されたビジネスプロセス監視システム164、仮想プロセスコンテキストモジュール182、およびネットワーク参加者のプロファイルモジュール188は、一部の実施形態(図1に例示される)では、別々の構成要素であることが可能である一方で、他の実施形態では、より少ない構成要素、またはさらなる構成要素から成ることが可能である。さらに、環境100の異なる実施形態は、本明細書で説明されるクラウドベースのサービスおよび情報のセット160内にそれらの要素のサブセットを含むことが可能である。
集中型のネットワーク化されたビジネスプロセス監視システム164は、ネットワーク化されたビジネスプロセスにおいて対話している各ビジネスプロセスアプリケーション114の動作を監視するための集中ロケーションである。一般に、集中型のネットワーク化されたビジネスプロセス監視システム164は、様々なネットワーク参加者サーバ102、およびそれらのサーバ102に対応するビジネスプロセスアプリケーション114の相互関連性に関する情報を供給され、ネットワーク化されたビジネスプロセス環境内でそれらのアプリケーション114の出力およびステータスに関連する情報を供給するための中央ハブまたは中継器の役割をする。集中型のネットワーク化されたビジネスプロセス監視システム164は、個々のアプリケーション114が、クラウドベースのサービスおよび情報のセット160にメッセージまたは信号の単一のインスタンスを送りこむことを許し、クラウドベースのサービスおよび情報のセット160において集中型のネットワーク化されたビジネスプロセス監視システム164は、情報を受信し、ネットワーク化されたビジネスプロセスに関連するその他のネットワーク参加者のいずれが、その情報を受信すべきかを特定する。
例示されるとおり、集中型のネットワーク化されたビジネスプロセス監視システム164は、受信モジュール168およびブロードキャストモジュール172を含むことが可能である。受信モジュール168は、ネットワーク化されたビジネスプロセスに関連する様々なネットワーク参加者サーバ102から情報が送信されるインタフェースまたは他の知られているロケーションであることが可能である。一部の現行のシステムにおいて、この情報は、送信側のネットワーク参加者サーバ102によって関連するネットワーク参加者サーバ102のそれぞれに直接に送信される。本開示において、この情報は、受信モジュール168に1回、送信される(例えば、単一のメッセージまたは信号によって)ことが可能であり、モジュール168において、この情報が受信され、一部の事例では、クラウドベースのメッセージストア174内に格納される。
受信後、集中型のネットワーク化されたビジネスプロセス監視システム164は、受信された情報を分析して、ネットワーク参加者サーバ102および/または特定のビジネスプロセスアプリケーションのいずれが、その受信されたメッセージまたは情報を送信されるべきか、またはその受信されたメッセージまたは情報について通知されるべきかを判定することができる。その目的で、集中型のネットワーク化されたビジネスプロセス監視システム164は、ブロードキャストモジュール172を含む。ブロードキャストモジュール172は、監視システム164によって受信されたメッセージまたは情報を、識別されたネットワーク参加者サーバ102および/またはビジネスプロセスアプリケーション114に送信することができる。代替として、ブロードキャストモジュール172が、新たなメッセージおよび/または情報が利用可能であるという通知を特定のネットワーク参加者サーバ102および/またはビジネスプロセスアプリケーション114に供給して、関連するビジネスプロセスアプリケーション114およびネットワーク参加者サーバ102がメッセージおよび/または情報を個々に取得することを許すことができる。さらに、ブロードキャストモジュール172は、監視システム164内でネットワーク化されたビジネスプロセス情報の更新されたセットに関連するパラメータまたは他の値を設定することが可能である。様々なネットワーク参加者サーバ102に関連するアウトバウンドエージェント134の1つまたは複数が、定期的間隔および/または事前定義された間隔で、またはイベントに応答して監視システム164にポーリングを行い、変更された値またはデータセットが利用可能であることを識別したことに応答して、更新された情報を要求することが可能である。一部の実例において、設定されたパラメータは、更新された情報に関連するすべてのネットワーク参加者サーバ102のサブセットを指定して、ネットワーク参加者サーバ102が、集中型のネットワーク化されたビジネスプロセス監視システム164に対する要求が必要であるかどうかを即時に判定することを許すことが可能である。
また、ネットワーク化されたビジネスプロセス監視システム164は、ネットワーク化されたビジネスプロセス分析を実行して、ネットワーク参加者および/またはビジネスプロセスアプリケーション114が満足の行くパフォーマンスを示しているかどうかを判定することも可能である。例えば、監視システム164によって受信された様々なメッセージおよび情報が、ネットワーク化されたビジネスプロセスにおいて実行されている様々なビジネスプロセスアプリケーション114に関連するステータス情報を、それらのアプリケーション114に関連する動作によって出力されたデータに加えて、含むことが可能である。ネットワーク化されたビジネスプロセスは、ネットワーク化されたビジネスプロセス全体、ならびに個々のビジネスプロセスアプリケーション114の対話および要件に関する情報を定義するネットワーク化されたビジネスプロセスメタデータのセット176に関連することが可能である。一部の実例において、パフォーマンス時間や標準などの、個々のビジネスプロセスアプリケーション114に関連するいくつかの要件またはマイルストーンが、定義されることが可能である。監視システム164が、様々なビジネスプロセスアプリケーション114から受信された情報を使用して、企業間、および参加者間のサービスレベル協定に関連する時間要件またはパフォーマンス要件などの、いくつかのパフォーマンス指標が満たされているかどうかを分析できることが可能である。他の実例において、監視システム164は、様々なビジネスプロセスアプリケーション114から受信されたステータス情報および出力情報を使用して、企業間ベースの、またはエンティティ間ベースのネットワーク化されたビジネスプロセス内のボトルネック、誤り、および他のシステムに関係のある問題などの、ネットワーク化されたビジネスプロセス内の問題を診断することができる。問題が監視システム164によって識別された場合、適切なネットワーク参加者および/または管理者が、それらの問題が修正されることを可能にするように通知されることが可能である。監視システム164によって実行される、これらの分析は、他のネットワーク参加者によって実行されるプロセスおよびアプリケーションの企業間の認識および知識をもたらして、その結果、以前のシステムにおけるそれまでのブラックボックス状況を取り除き、各ネットワーク参加者に、より高い透明性をもたらす。集中型のネットワーク化されたビジネスプロセス監視システム164、およびネットワーク化されたビジネスプロセス全般に関連するメッセージおよび情報は、拡張メッセージングアンドプレゼンスプロトコル(XMPP)メッセージとして供給されることが可能である。代替の実施形態は、電子メールベースのメッセージングなどの他の任意の適切なメッセージングプロトコルを使用することが可能である。
前述したとおり、クラウドベースのサービスおよび情報のセット160は、仮想プロセスコンテキストモジュール182を含む。仮想プロセスコンテキストモジュール182は、ネットワーク化されたビジネスプロセスに含められ、ネットワーク化されたビジネスプロセスに関連するビジネスプロセスの間、およびビジネスプロセスアプリケーション114の間で共有されるプロセスコンテキストを提供する。一般に、コンテキスト情報は、ネットワーク155を介して送信されるウェブサービス要求を介して、個々のビジネスプロセスアプリケーション114のそれぞれによって供給され、共有され、アクセスされる。各仮想プロセスコンテキストモジュール182は、複数のネットワークプロセスコンテキスト184を含むことが可能であり、各ネットワークプロセスコンテキスト184は、異なるネットワーク化されたビジネスプロセスに、あるいは代替として、同一のネットワーク化されたビジネスプロセスの異なるインスタンスに関連する。各ネットワークプロセスコンテキスト184は、対応するネットワーク化されたビジネスプロセス(もしくはネットワーク化されたビジネスプロセスのインスタンス)に関連するユーザ、クライアント、およびビジネスプロセスアプリケーション114にアクセス権を与えることが可能であり、さらに関連しないアプリケーションおよび/またはエンティティによって行われた要求に対して、格納されたデータオブジェクト、およびそのネットワークプロセスコンテキスト184内に格納された他の情報へのアクセスを防止することが可能である。一部の実例において、仮想プロセスコンテキストモジュール182が、ネットワークプロセスコンテキスト184の変更が行われると、更新されたコンテキストデータを、関連するアプリケーション114およびネットワーク参加者サーバ102に送信することが可能である。代替として、および/またはさらに、仮想プロセスコンテキストモジュール182は、ネットワークプロセスコンテキスト184の変更が行われたことを、更新された情報を送信することなしに、関連するアプリケーション114およびネットワーク参加者サーバ102に通知する、またはそれ以外で知らせることができる。一部の実例において、この通知は、ネットワーク参加者サーバ102および/またはビジネスプロセスアプリケーション114が、更新されたネットワークプロセスコンテキスト184の取得が必要とされるかどうかを判定することを許すことができる情報を含むことが可能である。一部の実例において、仮想プロセスコンテキストモジュール182が、関連するネットワーク参加者サーバ102に配置された1つまたは複数のローカルコンテキストモジュール146と通信して、その情報を直接に供給することが可能である。
クラウドベースのサービスおよび情報のセット160は、ネットワーク参加者のプロファイルモジュール188をさらに含む。ネットワーク参加者のプロファイルモジュール188は、潜在的な、または現在のネットワーク参加者によって、さらに/または潜在的な、または現在のネットワーク参加者に関連する特定のビジネスプロセスアプリケーション114によって提供されることが可能な、または既に提供されているサービス品質を分析するためのツールおよび機能を提供する。ネットワーク参加者のプロファイルモジュール188は、新たなネットワーク参加者のプロファイル(例えば、148または194)を生成することができ、さらに既存のネットワーク参加者のプロファイルを分析して、対応するネットワーク参加者が、既存の、または新たに作成されたネットワーク化されたビジネスプロセスに含められることを許されるかどうかを判定することができる。前述したとおり、ネットワーク参加者および/またはビジネスプロセスアプリケーションに関連する様々なタイプの情報が、ネットワーク参加者のプロファイル194の中に含められることが可能である。例えば、前述したとおり、ネットワーク参加者のプロファイル194は、ネットワーク参加者が、開始イベントおよび/または終了イベント、中間イベントおよびマイルストーン、ならびに誤りイベントに関連する情報を公開することができるかどうかを定義する情報および/またはメタデータを含むとともに、ビジネスプロセス終了、ビジネスプロセス報酬、および/またはビジネスプロセスのアドホック変更のサポートを提供することが可能である。一般に、この情報は、ネットワーク参加者、またはネットワーク参加者に関連するアプリケーション114の相対的透明度、ならびにネットワーク化されたビジネスプロセスに透明性のあるサービスを提供するネットワーク参加者の能力を記述する。さらに、特定のプロファイル194の中の情報は、他の任意のパフォーマンス関連の、さらに/または費用関連のメトリックまたは能力に関連することも可能である。
ネットワーク参加者のプロファイルモジュール188は、参加者のプロファイルジェネレータ190および参加者のプロファイルアナライザ192を含む。参加者のプロファイルジェネレータ190は、ネットワーク参加者の代表者がネットワーク参加者のプロファイルモジュール188に登録して、参加者のネットワーク参加者サーバ102および/または参加者のビジネスプロセスアプリケーション114の能力に関する情報を提供することを許すウェブベースのサービスまたはアプリケーションを備えることが可能である。一部の実例において、参加者のプロファイルジェネレータ190は、それまでの経験、またはネットワーク参加者との対話によって特定された、または導き出された、他のネットワーク参加者によって供給された情報に基づくとともに、ネットワーク参加者、およびネットワーク参加者に関連するサーバ102に関連する特定のビジネスプロセスアプリケーション114の分析に基づいて、いくつかのネットワーク参加者のプロファイル194の少なくとも一部分を自動的に生成することが可能である。一部の実例において、ネットワーク参加者のプロファイル194が、参加者のプロファイルジェネレータ190によってインポートされることが可能である。
参加者のプロファイルアナライザ192は、提案されるネットワーク参加者が、ネットワーク化されたビジネスプロセスによって要求される、または選好される能力を提供するかどうかを判定するのに、ネットワーク参加者のプロファイルモジュール188によって使用されるツールである。参加者のプロファイルアナライザ192は、ネットワーク化されたビジネスプロセスが、さらなる機能を追加するように拡大されている場合など、様々な状況において使用されることが可能である。例えば、新たなネットワーク参加者が、新たな作業、またはビジネスプロセスアプリケーションを提供するのに必要とされる場合、参加者のプロファイルアナライザ192は、ネットワーク化されたビジネスプロセスメタデータのセット176から、特定のネットワーク化されたビジネスプロセス組合せによって要求され、さらに/または選好されるパラメータ177に関する情報を取得する。それらのパラメータ177は、ネットワーク化されたビジネスプロセスが最初に設計される際、および他の任意の適切な時点で、定義され得る。それらのパラメータ177が識別されると、潜在的なネットワーク参加者のネットワーク参加者のプロファイル194が、パラメータ177のセットと比較される。要求されるパラメータの1つまたは複数が、ネットワーク参加者のプロファイル194によって満たされない場合、その潜在的なネットワーク参加者は、パラメータ177に従って不十分であるとして拒否される、または示されることが可能である。好ましいパラメータの1つまたは複数が満たされない場合、参加者のプロファイルアナライザ192は、好ましいパラメータ177に照らして、潜在的なネットワーク参加者のプロファイル194によって提供される透明性のレベルを判定するアルゴリズムを実行することが可能である。いくつかのネットワーク化されたビジネスプロセスは、参加者のプロファイルアナライザ192によって特定された最小しきい値に関連付けられることが可能である。潜在的なネットワーク参加者のプロファイル194によって提供される透明性のレベルが、その最小しきい値を下回るとアルゴリズムが判定する場合、その参加者は、拒否されることが可能である。しかし、透明性のレベルが、その最小しきい値より高いと判定された場合、その関連するネットワーク参加者は、ネットワーク化されたビジネスプロセスへの追加のために考慮されることが可能である。
一部の実例において、参加者のプロファイルアナライザ192は、既存のネットワーク参加者の潜在的な代役を特定する際に使用されることも可能である。特定のネットワーク参加者、およびその参加者のビジネスプロセスアプリケーション114が、集中型のネットワーク化されたビジネスプロセス監視システム164によって判定されて、いくつかのパフォーマンスメトリックを満たすことができなかった場合など、進行中のネットワーク参加者、および関連するビジネスプロセスアプリケーション114が識別されることが可能である。次に、潜在的な代役のネットワーク参加者および/またはビジネスプロセスアプリケーション114のセットが、置き換えられるべき機能に基づいて、識別されることが可能である。一部の実例では、参加者のプロファイルアナライザ192は、潜在的な代役を識別することに関連する機能を実行することが可能である一方で、他の実例では、別のモジュールまたはアプリケーションがそのようにすることが可能である。潜在的な代役のネットワーク参加者と関連するビジネスプロセスアプリケーションのセットが特定されると、参加者のプロファイルアナライザ192は、それらの潜在的な代役のネットワーク参加者のそれぞれを、基礎をなすネットワーク化されたビジネスプロセスに関して定義されたパラメータ177と比較することができる。次に、参加者のプロファイルアナライザ192は、参加者のプロファイルアナライザ192に関連するアルゴリズムによって算出された潜在的な代役のネットワーク参加者に対応するスコアまたは適合値に基づいて、それらの潜在的な代役のネットワーク参加者をランク付けすることが可能である。次に、管理者、または管理者のセットが、そのランク付け情報を点検し、使用して、ネットワーク化されたビジネスプロセスに関して好ましい代役を特定することができる。一部の実例において、参加者のプロファイルアナライザ192は、参加者またはプロセスの相対的透明度に関連する基準を含め、要求されるネットワーク化されたビジネスプロセス基準、および好ましいネットワーク化されたビジネスプロセス基準の組合せに合致する最良のネットワーク参加者のプロファイルを見出すのに使用されることが可能である。潜在的な代役のネットワーク参加者の特定は、1名または複数名の現在のネットワーク参加者がパフォーマンス要件を満たしていないという集中型のネットワーク化されたビジネスプロセス監視システム164からの判定に関連して、実行されて、ネットワーク参加者のプロファイルモジュール188と監視システム164が、落ちたパフォーマンスを示すネットワーク参加者および/またはビジネスプロセスアプリケーション114の代役を示唆するように一緒に働くことを許すことが可能である。
図1は、複数の要素を含むものとして、または複数の要素に関連するものとして説明されるが、図1の環境100内に示されるすべての要素が、本開示のそれぞれの代替の実施形態において利用されなくてもよい。例えば、図1は、本開示の様々なツールおよび機能を実施するクラウドベースの環境を示すものの、クラウドベースのサービスおよび情報のセット160内の構成要素のいずれも、環境100内の特定の非クラウドベースのサーバの中に配置されることが可能である。さらに、図1は、ネットワーク155の外部のネットワーク参加者サーバ102を示すものの、サーバは、例えば、クラウドコンピューティングネットワークソリューションの一環としてネットワーク155内に含められてもよい。さらに、本明細書で説明される要素の1つまたは複数は、環境100の外部に配置されることが可能である一方で、一部の実例では、いくつかの要素が、その他の説明される要素、ならびに例示される実施形態において説明されない他の要素の1つまたは複数の要素の内部に、またはそのような要素の一部として含められることが可能である。さらに、図1に示されるいくつかの要素は、他の構成要素と組み合わされること、ならびに本明細書で説明される目的に加え、代替の、またはさらなる目的で使用されることが可能である。
図3は、ネットワーク化されたビジネスプロセス内でビジネス対話監視を実施する例示的なシステム300の図である。例示されるとおり、3つのネットワーク参加者サーバA、B、およびC(それぞれ、102a、102b、および102c)がネットワーク化されたビジネスプロセスの中で関連し、ネットワーク参加者サーバ102のそれぞれは、クラウドベースのサービスおよび情報のセット160の中に配置された集中型のネットワーク化されたビジネスプロセス監視システム164と対話する。ネットワーク参加者サーバ102のそれぞれが、ビジネスプロセスアプリケーション(それぞれ、305a、305b、および305c)を含み、ネットワーク化されたビジネスプロセスに提供する。図3のこの例において、各ビジネスプロセスアプリケーション305は、対応するビジネスプロセスアプリケーション305が実行されると、監視システム164に信号またはメッセージを供給するように作用可能な単一の中間イベント307を含む。
ビジネス対話監視の1つの例が、電力会社を切り替える文脈で説明され得る。図3の図を使用すると、ネットワーク参加者サーバA102aが、或る顧客に関連する現在の電力小売業者に関連し、ネットワーク参加者サーバB102bが、その顧客に関連する新たな電力小売業者に関連し、さらにネットワーク参加者サーバC102cが、電力会社または電力販売元に関連する。全体的なネットワーク化されたビジネスプロセスは、その顧客によって提出された要求に基づいて、電力会社を切り替えることに関連する。一部の実例において、関連する切り替えプロセスは、完了の要求される、または好ましい期限を有することが可能である。例示される例に関して、顧客の要求に基づく切り替えを完了するまでの時間は、6週間を超えない。
現在の電力小売業者に関連する第1のビジネスプロセスアプリケーション305aは、顧客からの要求に基づいて開始される。第1のビジネスプロセスアプリケーション305aの第1のアクティビティが完了すると、中間イベント307aを使用して、ビジネス対話監視システム164にメッセージまたは他の信号が送信される(矢印310で示されるとおり)。一部の実例において、このメッセージは、XMPPで、または他の任意の適切なメッセージングプロトコルで供給されることが可能である。ビジネス対話監視システム164は、受信された信号に基づいて、2つの同時のビジネスプロセスアプリケーション305bおよび305cが開始されるべきであることを特定することができる。監視システム164は、ビジネスプロセスアプリケーション305bおよび305cのそれぞれの開始イベントにプロセス開始メッセージを送信し(矢印320および330で示されるとおり)、ただし、監視システム164によって送信されるべきメッセージのコレオグラフィは、ネットワーク化されたビジネスプロセスの中に含まれる個々のプロセス間の知られている関係および対話に基づく。その他のネットワーク参加者プロセス305bおよび305cがいつ開始すべきかに関する情報を供給することに加えて、中間イベント307aによって供給される信号またはメッセージは、ネットワーク化されたビジネスプロセスの分析のための情報を提供することができる。1つの例が、顧客の要求から、中間イベント307aから送信されるメッセージが送信されるまでにかかる時間であり、この時間は、対応するビジネスプロセスアプリケーション305aにおける第1のアクティビティを完了させるのにかかる時間を示すことが可能である。
第2のプロセスが、第2のプロセスに関連する中間イベント307bおよび307cにそれぞれ到達すると、同様のメッセージおよび信号が送信されて、全体的なネットワーク化されたビジネスプロセスに関するさらなる情報を監視システム164に供給することが可能である。一部の実例において、1つのビジネスプロセスアプリケーション305内のステップまたは動作によって生成された情報が、別のビジネスプロセスアプリケーション305に、特定のアクティビティまたは作業に関連する入力として送信されることが可能である。新たな電力小売業者が(ビジネスプロセスアプリケーション305bを使用して)、顧客に関する新たなアカウントを作成し、サービスの第1の供給を準備すると、中間イベント307bがトリガされて、その顧客に関連する小売業者の変更が行われるべきことを示すメッセージを、監視システム164を介して、エネルギープロバイダの対応するビジネスプロセスアプリケーション305cに送信することが可能である。複数のメッセージおよび信号310、320、および330が、関連するビジネスプロセスアプリケーション305の様々な中間イベントおよび終了イベントに関連することが可能である。
一般に、それぞれのアプリケーション内の任意のマイルストーンが、監視システムに送信される関連するメッセージまたは信号で中間イベントによって表されることが可能である。中間イベントは、さらなる透明性をもたらすとともに、全体的なネットワーク化されたビジネスプロセス、および個々のビジネスプロセスアプリケーション305に関連するアナリティクスをもたらすのに使用され得る。例えば、様々なマイルストーンが監視されて、重要パフォーマンス指標(KPI)、サービスレベル協定(SLA)、およびその他のメトリックと比較されることが可能である。これらの比較は、特定のネットワーク化されたビジネスプロセスが十分なパフォーマンスを示しているかどうか、ならびにビジネスプロセスアプリケーション305の1つまたは複数が、より良いパフォーマンスのために置き換えられる、または変更される必要があるかどうかに関する貴重な情報をもたらすことができる。同時に、監視システム164は、ネットワーク化されたビジネスプロセスと個々のビジネスプロセスアプリケーション305の両方のステータスに関連する透明性のある情報をもたらすことができる。
図4は、図1および図3に示されるシステムのような、集中型監視システムから見たネットワーク化されたビジネスプロセスの対話を監視するための例示的なプロセスまたは方法400の流れ図である。提示を簡明にするため、以下の説明は、集中型のネットワーク化されたビジネスプロセス監視システム164から見た図1に示される環境100のコンテキストにおける方法400を全体的に説明する。しかし、方法400は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
405で、或るネットワーク化されたビジネスプロセスが識別される。このネットワーク化されたビジネスプロセスは、2つ以上の個々のビジネスプロセスまたはビジネスプロセスアプリケーションを組み合わせ、さらに/または関連付けて、2つ以上のビジネスプロセスにまたがって実行される単一のネットワーク化されたビジネスプロセスにする、管理者またはプロセス開発者による新たなネットワーク化されたビジネスプロセスを生成すること、または作成することによって識別されることが可能である。この特定のネットワーク化されたビジネスプロセスは、事前定義されたネットワーク化されたビジネスプロセスのセットから識別される、または選択されることも可能である。
410で、このネットワーク化されたビジネスプロセスに関連するプロセス参加者に関する通信パラメータが識別される。通信パラメータを識別することは、このネットワーク化されたビジネスプロセス内に含まれる様々なビジネスプロセスを実行する1名または複数名のプロセス参加者から受信されるべきイベント、アクティビティ、信号、メッセージ、および/または出力を識別すること、および受信された情報がどこに転送されるべき、または中継されるべきかを特定することを含むことが可能である。受信された情報がどこに転送されるべき、または中継されるべきかを特定することは、個々のビジネスプロセスのいずれにそのタイプの情報が供給されるべきか、ならびにその情報が転送されるべき、または中継されるべきそれらの個々のビジネスプロセス内のロケーションを識別することを含むことが可能である。一部の実例では、その情報は、特定の個別のビジネスプロセスに関連する開始イベントに送信されることが可能である一方で、他の実例では、その情報は、特定の個別のビジネスプロセスの開始イベント後に含まれるアクティビティまたは作業に送信されることが可能である。さらに、様々なプロセス参加者に関連する通信パラメータを識別することは、受信側エンティティまたはプロセス参加者に適合する通信のタイプ(例えば、XMPPメッセージ、電子メールメッセージなど)を特定することを含むことが可能である。様々なプロセス参加者に情報を中継する、または配信する際、様々なタイプの通信プロトコルおよび通信方法が使用されることが可能であり、したがって、第1のプロセス参加者が、第1のプロトコルで情報を受信することが可能である一方で、第2のプロセス参加者は、異なる第2のプロトコルで情報を受信することが可能である。
415で、このネットワーク化されたビジネスプロセスに関連する信号またはメッセージが、特定のプロセス参加者から受信される。特定のプロセス参加者から受信される信号またはメッセージは、任意の適切なフォーマットまたはプロトコルであることが可能である。一部の実例において、様々なプロセス参加者、およびビジネスプロセスもしくはビジネスプロセスアプリケーションが、様々なフォーマットで集中型のネットワーク化されたビジネスプロセス監視システムに情報を供給することが可能である。一部の実施例では、すべての通信は、同一のプロトコルもしくはフォーマットであることが可能である一方で、他の実例では、異なるタイプの通信が、異なるプロセス参加者から受信されることが可能であるとともに、異なるタイプの通信が、同一のプロセス参加者からの異なるイベントに関連することが可能である。
420で、受信された信号またはメッセージに関連するアクションが識別される。一部の実例では、受信された信号またはメッセージに関連するアクションは、信号ストアまたはメッセージストアの中に情報を格納すること、あるいは受信された信号またはメッセージに関連する情報を、後の使用または分析のためにデータベースの中に格納することであることが可能である。他の実例では、受信された信号またはメッセージに関連するアクションは、応答信号または応答メッセージがプロセス参加者の1名または複数名に送信されるようにすることであることが可能である。一部の特定の実例において、受信された信号またはメッセージに関連するアクションは、受信された信号またはメッセージに関連するプロセス参加者に応答信号、応答メッセージ、または他の通信を送り返すことであることが可能である。
425で、識別されたアクションが、少なくとも1つのプロセス参加者に対する応答の、または関連するメッセージまたは信号を生成することに関連するかどうかの判定が行われる。この判定が、新たなメッセージまたは信号が全く生成されないことを示す場合、方法400は、440に進む。しかし、識別されたアクションが、受信されたメッセージまたは信号に基づいて応答メッセージまたは信号を生成することに関連する場合、方法400は、430に進む。
430で、識別されたアクションに関連し、受信された信号またはメッセージに基づくメッセージ、信号、あるいは他の情報セットが生成される。435で、この生成されたメッセージに関連する少なくとも1名のプロセス参加者が識別される。一部の実例において、受信された信号またはメッセージに関連するアクションは、ネットワーク化されたビジネスプロセスの様々なプロセス参加者の範囲内の特定の対話に基づくことが可能である。生成されたメッセージまたは信号がどこに中継されるべき、または送信されるべきかを特定するのに、ネットワーク化されたビジネスプロセスを支配する対話が、監視システムによって調べられる、または点検されることが可能である。前述したとおり、生成されたメッセージに関連する少なくとも1名のプロセス参加者が識別される。一部の実例において、応答メッセージは、すべてのプロセス参加者に中継される、公開される、または提供されることが可能であり、各プロセス参加者は、選別動作を実行して、生成されたメッセージまたは信号がその特定のプロセス参加者に関連するかどうかを判定する。代替として、生成されたメッセージまたは信号は、その生成されたメッセージまたは信号が直接に関連するプロセス参加者だけに送信されることが可能である。さらに、一部の実例において、生成されたメッセージまたは信号(または他の情報)は、いずれのプロセス参加者にも送信されない。代わりに、メッセージまたは信号が生成されたという事実が提供されて、プロセス参加者は、生成されたメッセージまたは信号を取得する、またはそのようなメッセージまたは信号にアクセスすることができる。
生成されたメッセージに関連する少なくとも1名のプロセス参加者が識別されると、440で、生成されたメッセージまたは信号に関連する少なくとも1名のプロセス参加者が、メッセージまたは信号について通知される。前述したとおり、一部の実例では、生成されたメッセージに関連する少なくとも1名のプロセス参加者に通知することは、生成されたメッセージを、その少なくとも1名の関連するプロセス参加者に送信することを備える。他の実例では、生成されたメッセージに関連する少なくとも1名のプロセス参加者に通知することは、その少なくとも1名のプロセス参加者に通知を送信すること、およびその後、その少なくとも1名の関連するプロセス参加者が、生成されたメッセージまたは信号にアクセスするのを許すことを備える。さらに別の実例では、生成されたメッセージまたは信号も、メッセージまたは信号の通知も、関連するプロセス参加者に送信されないことが可能である。代わりに、監視システムが、すべてのプロセス参加者に入手可能な監視システムにおける更新された情報セットを提供することが可能である。監視システムにポーリングすることによって、プロセス参加者は、特定のプロセス参加者に関連するメッセージまたは信号が利用可能であるかどうかを判定することができ、利用可能である場合、その生成されたメッセージまたは信号を要求する、または取得することができる。
445で、ネットワーク化されたビジネスプロセスに関連する新たなメッセージまたは信号が受信されたかどうかの判定が行われる。新たなメッセージまたは信号が受信されている場合、方法400は、415に戻る。新たなメッセージまたは信号が全く受信されていない場合、方法400は、次のメッセージが受信されるまで、445に進む、またはループする。方法400に示されていないものの、集中型のネットワーク化されたビジネスプロセス監視システムが、一部の実例では、メッセージまたは信号の送信元を識別すること、受信されたメッセージまたは信号の中に含まれる情報を識別し、格納すること、ネットワーク化されたビジネスプロセス、または特定の個別のビジネスプロセスに関連する少なくとも1つのパフォーマンスメトリックを導き出すことを含め、それぞれの受信されたメッセージまたは信号に対する分析を実行することも可能である。
図5は、ネットワーク参加者から見た集中ビジネス対話監視システムに関連する例示的なプロセス500の流れ図である。提示を簡明にするため、以下の説明は、ネットワーク参加者(またはネットワーク参加者サーバ102)から見た図1に示される環境100のコンテキストにおける方法500を全体的に説明する。しかし、方法500は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
505で、ローカルで実行されるビジネスプロセス(またはビジネスプロセスアプリケーション)に関連するネットワーク化されたビジネスプロセスが識別される。510で、ローカルで実行されるビジネスプロセス、つまり、ローカルビジネスプロセスが、関連するネットワーク化されたビジネスプロセスの識別に基づいて、集中型のネットワーク化されたビジネス対話監視システムに登録される。前述したとおり、集中型のネットワーク化されたビジネス対話監視システムは、識別されたネットワーク化されたビジネスプロセス内のすべての参加者に透明性をもたらして、ネットワーク化されたビジネスプロセスのいくつかの部分を実行する様々なビジネスプロセスについてのステータス情報が、様々なプロセス参加者の間で共有されることを許す。さらに、集中型のネットワーク化されたビジネス対話監視システムに供給される情報は、ローカルビジネスプロセスと全体的なネットワーク化されたビジネスプロセスの両方に関して様々なアナリティクスおよびパフォーマンス分析が識別され、実行されることを許して、ネットワーク化されたビジネスプロセスの有効性および品質についてさらなるフィードバックを管理者、開発者、およびユーザにもたらす。一部の実例において、ローカルビジネスプロセスを監視システムに登録することは、ローカルビジネスプロセスによって実行される作業およびアクティビティに関する情報とともに、ローカルビジネスプロセスによって生成される信号およびメッセージのタイプに関する情報を監視システムに供給する。さらに、登録は、ローカルビジネスプロセスに関連するメッセージングおよびシグナリングのプロトコルおよびフォーマットを定義する情報を集中監視システムに供給することが可能である。
515で、ローカルビジネスプロセスの開始イベントに関連するアクションまたは指示が受信される。一部の実例では、このアクションまたは指示は、ネットワーク化されたビジネスプロセスの別のビジネスプロセスから受信されたメッセージまたは信号に応答して集中監視システムから受信されるメッセージまたは信号を備えることが可能である。他の実例では、このアクションまたは指示は、ネットワーク化されたビジネスプロセスが開始されたローカルビジネスプロセスに関連するクライアントまたはユーザから受信されることが可能である。
520で、ローカルビジネスプロセスが、515で受信されたアクションまたは指示に応答して開始される。一部の実例では、ローカルビジネスプロセスを開始することは、ローカルビジネスプロセスが、ネットワーク化されたビジネスプロセスにおける初期ステップまたは初期動作を表す場合などに、ネットワーク化されたビジネスプロセスを開始することも可能である。他の実例では、ローカルビジネスプロセスは、代わりに、ネットワーク化されたビジネスプロセスの延長であることが可能であり、さらにネットワーク化されたビジネスプロセスの中の別のビジネスプロセスから受信されたメッセージまたは信号に基づいて、ローカルビジネスプロセスを開始することが可能である。さらに、ネットワーク化されたビジネスプロセスの中のその他のビジネスプロセスから受信されたメッセージまたは信号が、ローカルビジネスプロセスにおいて使用されるべき初期パラメータまたは初期値を含む、または定義することが可能である。ローカルビジネスプロセスを開始することは、ネットワーク化されたビジネスプロセス内の別のビジネスプロセスから受信されたパラメータまたは値に従ってローカルビジネスプロセスを開始することを備えることが可能である。
525で、このステップに関連する任意のアクティビティまたは作業を含む、ローカルビジネスプロセスステップが実行される。530で、実行されるローカルビジネスプロセスステップが、メッセージまたは信号が集中監視システムに送信されることをもたらす中間イベントまたは他のイベントに関連するかどうかの判定が行われる。メッセージまたは信号が全く送信されない場合、方法500は、540に進む。しかし、ローカルビジネスプロセスステップに関連するメッセージまたは信号が送信されるべき場合、方法500は、535に進み、集中監視システムが、そのイベント、およびそのイベントに関連するメッセージについて通知される。集中監視システムに通知することは、ローカルビジネスプロセスステップの一環として集中監視システムに直接にメッセージまたは信号を送信することを含むことが可能である。他の実例では、集中監視システムに通知することは、このステップに関連する情報をアウトバウンドエージェントおよび/またはメッセージフィルタモジュールに供給し、アウトバウンドエージェントおよび/またはメッセージフィルタモジュールが、実行されるローカルビジネスプロセスステップに関連する情報を処理し、フォーマットし、集中監視システムに送信することを備えることが可能である。一部の実例において、各ローカルビジネスプロセスステップは、或る単一のイベントまたはメッセージに関連することが特定されることが可能であり、したがって、実行されるステップに関連する情報は、アウトバウンドエージェントまたはメッセージフィルタモジュールに供給される。アウトバウンドエージェントまたはメッセージフィルタモジュールに到達すると、その情報が実際に集中管理システムに転送されるべきかどうかどうかの判定が行われることが可能である。集中監視システムが通知を受けると、方法500は、540に進む。
540で、ローカルビジネスプロセスの中にさらなるステップまたはアクティビティが存在するかどうかの判定が行われる。さらなるステップが残っている場合、方法500は、525に戻り、次のローカルビジネスステップが実行される。さらなるステップが残っていない場合、方法500は、545で終了し、ローカルビジネスプロセスが完了される。一部の実例において、ローカルビジネスプロセスを完了させることは、最終データセット、または最終のメッセージもしくは信号を集中監視システムに供給することを含むことが可能である。一部の実例において、最終のデータ、メッセージ、または信号は、バックアップの目的で、またはローカルビジネスプロセスおよび/または全体的なネットワーク化されたビジネスプロセスに対してアナリティクスを実行するために、ネットワーク化されたビジネスプロセス内の別のビジネスプロセスに中継されること、および/またはクラウドベースのシステム内のメッセージストアまたはデータストアの中に格納されることが可能である。
図6は、ネットワーク化されたビジネスプロセスに関する複数のネットワーク参加者にまたがって仮想プロセスコンテキストを実施する例示的なシステム600の図である。例示されるとおり、3つのネットワーク参加者サーバA、B、およびC(それぞれ、102a、102b、および102c)がネットワーク化されたビジネスプロセスの中で関連し、ネットワーク参加者サーバ102のそれぞれは、クラウドベースのサービスおよび情報のセット160の中に配置された仮想プロセスコンテキストモジュール182と対話する。ネットワーク参加者サーバ102のそれぞれは、全体的なネットワーク化されたビジネスプロセスの一環としてローカルビジネスプロセスアプリケーション(それぞれ、640a、640b、および640c)を含み、提供する。図6のこの例において、各ローカルビジネスプロセスアプリケーション640は、ローカルコンテキストモジュール650およびローカルプロセスコンテキスト645に関連する。
仮想プロセスコンテキストモジュール182は、ネットワークプロセスコンテキスト184を含む。前述したとおり、ネットワークプロセスコンテキスト184は、ネットワーク化されたビジネスプロセスに関連し、ネットワーク化されたビジネスプロセスの実行中に、さらにその延長として、複数のローカルビジネスプロセス640の実行中に使用される、または操作される、構造化されたデータと構造化されていないデータの両方を含む、データオブジェクトを格納し、プロセス参加者に提供する。一部の実例において、ローカルビジネスプロセス640のそれぞれに関連するコンテキストモジュール650は、対応するローカルビジネスプロセス640の実行中に必要とされるのに応じて、ネットワークプロセスコンテキスト184から直接にデータにアクセスし、格納し、取得するのに使用されることが可能である。一部の実例において、同時に実行されるローカルビジネスプロセス640が、様々な時点で1つまたは複数のデータオブジェクトを変更することが可能である。同時に実行されるローカルビジネスプロセス640に最新のデータオブジェクトを提供するために、関連する1つまたは複数のデータオブジェクトは、クラウドベースのサービスおよび情報のセット160の中のネットワークプロセスコンテキスト184内に保持され得る。ローカルプロセスコンテキスト645は、クラウドベースのサービスおよび情報のセット160との接続の欠如のために、または他のいずれかの可能な理由で仮想プロセスコンテキストモジュール182が利用できない場合に、ネットワーク化されたプロセスコンテキスト184に対するローカルバックアップとして使用されることが可能である。各ローカルプロセスコンテキスト645は、現在のデータオブジェクトに対する迅速で、効率的なローカルアクセスを提供するように、対応するコンテキストモジュール650によって保持され得る。
矢印610、620、および630によって示されるとおり、ネットワーク参加者サーバ102のそれぞれは、ネットワークプロセスコンテキスト184に情報を送信すること、コンテキスト184からの情報にアクセスすること、およびコンテキスト184から情報を取得することができる。一部の実例において、仮想プロセスコンテキストモジュール182は、ネットワークプロセスコンテキスト184へのアクセスを提供することに先立って、要求側エンティティを認証して、ネットワークプロセスコンテキスト184に、そのネットワーク化されたビジネスプロセスに関連するネットワーク参加者およびネットワークプロセスだけしかアクセスできないことを確実にすることが可能である。さらに、ネットワークプロセスコンテキスト184内のデータオブジェクトに変更が行われると、仮想プロセスコンテキストモジュール182が、一部の実施形態では、関連するプロセス参加者に、その変更されたネットワークプロセスコンテキスト184について通知することが可能である。このため、各プロセス参加者および各ローカルビジネスプロセス640は、ネットワークプロセスコンテキスト184の現在のステータス、およびネットワークプロセスコンテキスト184内のデータオブジェクトの変更について最新状態に保たれることが可能である。
一部の実例において、変更されたネットワークプロセスコンテキスト184の通知が、ローカルビジネスプロセス640に関連する各ローカルコンテキストモジュール138に送信されることが可能である。代替として、変更の通知は、その変更によって直接に影響を受けるローカルビジネスプロセス640に関連する特定のローカルコンテキストモジュール138だけに送信されてもよい。通知は、メッセージ、または変更そのものを定義する情報のセットを含むこと、あるいは変更が行われたというメッセージまたは信号を含み、これにより、コンテキストモジュール650自体が、ネットワークプロセスコンテキスト184の変更にアクセスし、そのような変更を取得するために、仮想プロセスコンテキストモジュール182にアクセスすることを許すことが可能である。仮想プロセスコンテキストモジュール182の1つの利点は、関連するローカルビジネスプロセス640が、ローカルプロセスコンテキスト645がアクセスされる仕方と同様にネットワークプロセスコンテキスト184を共有し、コンテキスト184にアクセスすることを許す、透明性があるが、共有されるプロセスコンテキストを提供することであることが可能である。この実例において、仮想プロセスコンテキストモジュール182は、プロセス参加者およびローカルビジネスプロセス640のそれぞれに関する単一のネットワークプロセスコンテキスト184へのアクセスを視覚化するように、ウェブサービスまたはオンデマンドサービスを介してアクセスされ得る。
図7Aは、複数のネットワーク参加者に関連するネットワーク化されたビジネスプロセスの中の仮想プロセスコンテキストを開始し、そのような仮想プロセスコンテキストと対話するための例示的なプロセス700の流れ図である。提示を簡明にするため、以下の説明は、仮想プロセスコンテキストモジュールから見た、図1に示される環境100のコンテキストにおける方法700を全体的に説明する。しかし、方法700は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
702で、少なくとも2名のネットワーク参加者(およびそれらの参加者のローカルビジネスプロセス、またはネットワーク参加者プロセス)に関連するネットワーク化されたビジネスプロセスが識別される。一部の実例において、ネットワーク化されたビジネスプロセスを識別することは、識別された、ネットワーク化されたビジネスプロセスを仮想プロセスコンテキストモジュールに関連付ける、または結び付けること、ならびにネットワーク化されたビジネスプロセス自体を作成すること、または生成することを含むことが可能である。一部の実例において、識別された、ネットワーク化されたビジネスプロセスを仮想プロセスコンテキストモジュールに関連付ける、または結び付けることは、ネットワーク化されたビジネスプロセスの作成または設計に応答して、自動的に行われることが可能であり、あるいは識別された、ネットワーク化されたビジネスプロセスに関連する管理者または設計者によって手動で実行されることが可能である。
706で、ネットワークプロセスコンテキストが、識別された、ネットワーク化されたビジネスプロセスに関連するかどうかの判定が行われる。一部の実例において、ネットワークプロセスコンテキストは、702でネットワーク化されたビジネスプロセスが識別されると、生成されることが可能である。例えば、識別された、ネットワーク化されたビジネスプロセスは、ネットワークプロセスコンテキストに既に関連付けられていることが可能である。ネットワークプロセスコンテキストが、ネットワーク化されたビジネスプロセスに関連すると判定された場合、方法700は、714に進む。しかし、ネットワーク化されたビジネスプロセスが、関連するネットワークプロセスコンテキストを有さない場合、方法700は、710に進む。
710で、識別された、ネットワーク化されたビジネスプロセスに関連するネットワークプロセスコンテキストが初期化される。一部の実例において、710は、全体的なネットワーク化されたビジネスプロセスに関連する第1のローカルビジネスプロセスが開始されるまで、行われないことが可能である。言い換えると、識別された、ネットワーク化されたビジネスプロセスに関するネットワークプロセスコンテキストは、識別された、ネットワーク化されたビジネスプロセス自体が開始されるまで、初期化されないことが可能である。ネットワーク化されたビジネスプロセスに関連するネットワークプロセスコンテキストを初期化することは、ネットワーク化されたビジネスプロセス、そのプロセスのネットワーク参加者、およびそのような参加者に関連するローカルビジネスプロセスおよびビジネスプロセスアプリケーションに特に関連するネットワークプロセスコンテキストを作成することを含むことが可能である。一部の実例において、仮想プロセスコンテキストモジュールは、複数のネットワークプロセスコンテキストを保持して、管理し、各ネットワークプロセスコンテキストが、異なるネットワーク化されたビジネスプロセス、および/または特定のネットワーク化されたビジネスプロセスの異なるインスタンスに関連することが可能である。
714で、ネットワーク化されたビジネスプロセスに含まれる、または関連する第1のネットワーク参加者プロセスに関連するデータオブジェクトが、仮想プロセスコンテキストモジュールによって受信される。718で、仮想プロセスコンテキストモジュールが、受信されたデータオブジェクトを、ネットワーク化されたビジネスプロセスに関連するネットワークプロセスコンテキストの中に格納する。一部の実例において、ネットワークプロセスコンテキストの異なる部分が、異なるタイプのデータオブジェクトに関連付けられるとともに、ネットワーク化されたプロセスコンテキストの異なる部分に関連するデータオブジェクトに関連付けられることが可能である。仮想プロセスコンテキストモジュールが、受信されたデータオブジェクトをどこに、またはどのように格納して、ネットワーク化されたビジネスプロセス内の他の参加者プロセスがデータにアクセスすることを許すべきかを特定することが可能である。
722で、仮想プロセスコンテキストモジュールが、受信され、格納されたデータオブジェクトに関連する1つまたは複数のネットワーク参加者プロセスを識別する。一部の実例において、すべての参加者プロセスが、データオブジェクトに関連するものとして識別されることが可能である。代替として、ネットワーク化されたビジネスプロセス内の参加者プロセスのサブセットだけが、データオブジェクトに関連するものとして識別されてもよい。例えば、データオブジェクトが、第1の参加者プロセスに関連するビジネスプロセスだけに関係があり、そのようなビジネスプロセスにおいて使用されるが、第2の参加者プロセス、および第3の参加者プロセスに関連するビジネスプロセスにおいては使用されない場合、第1の参加者プロセスだけが、722で識別されることが可能である。様々な参加者プロセスに対する特定のデータオブジェクトの関連性は、ネットワーク化されたビジネスプロセスモデルにおいて、メタデータにおいて、または別の場所で識別されることが可能である。参加者プロセスの特定のセットに対する特定のデータオブジェクトの関連性を定義する情報が全く存在しない場合、ネットワーク化されたビジネスプロセス内のすべての参加者プロセスが識別されることが可能である。
726で、データオブジェクトに関連する識別されたネットワーク参加者プロセスが、データオブジェクトの追加および/または変更について通知される。データオブジェクトに関連する識別されたネットワーク参加者プロセスに通知することは、ネットワークプロセスコンテキストがネットワーク化されたビジネスプロセス内で共有されることを許す。識別されたネットワーク参加者プロセスに通知することは、格納されたデータオブジェクトのコピーを、識別されたネットワーク参加者プロセスに関連するコンテキストモジュールに送信して、その結果、ネットワーク参加者プロセスがデータオブジェクトへの即時のアクセスを有することを許すことを含むことが可能である。この通知は、さらに、または代替として、ネットワーク参加者プロセスに関連するデータオブジェクトが変更されたことをネットワーク参加者プロセスに示す知らせまたはメッセージを備えることが可能である。識別されたネットワーク参加者プロセスに通知することが、データオブジェクトのコピーを含まない場合、識別されたネットワーク参加者プロセスは、ネットワークプロセスコンテキストに即時にアクセスして、データオブジェクトを取得する、または読み取ることが可能であり、あるいは識別されたネットワーク参加者プロセスは、データオブジェクトが、対応するネットワーク参加者プロセスにおいて必要とされる、または使用されることになるまで、データオブジェクトに関するネットワークプロセスコンテキストにアクセスすることを待つことが可能である。一部の実例において、データオブジェクトは、ネットワーク参加者プロセスが、そのデータオブジェクトに関連する、または基づく動作を実行するにつれ、ネットワークプロセスコンテキストから読み取られ得る。
図7Bは、ネットワーク化されたビジネスプロセス内の複数のネットワーク参加者プロセスに関連するネットワークプロセスコンテキスト内のデータオブジェクトへのアクセスを許可するため、または拒否するための例示的なプロセスまたは方法730の流れ図である。提示を簡明にするため、以下の説明は、仮想プロセスコンテキストモジュールから見た、図1に示される環境100のコンテキストにおける方法730を全体的に説明する。しかし、方法730は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
732で、ネットワークプロセスコンテキスト内の特定のデータオブジェクトにアクセスする要求が受信される。データオブジェクトへのアクセスを求める要求は、1つまたは複数のネットワーク参加者プロセスに送信された通知に基づいて、送信されることが可能である。他の実例において、この要求は、特定のネットワーク参加者プロセスからネットワーク化されたビジネスプロセスの開始時に受信されて、ネットワークプロセスコンテキストにおいて格納された予備情報および/またはデータオブジェクトの初期セットまたは更新されたセットに関する情報が取得されることが可能である。
736で、要求者が、ネットワーク化されたビジネスプロセスに関連するかどうか、さらにその延長として、ネットワークプロセスコンテキストに関連するかどうかの判定が行われる。要求者が、ネットワーク化されたビジネスプロセスに関連しない場合、方法730は、740に進み、データオブジェクトへのアクセスが拒否される。しかし、要求者が、ネットワーク化されたビジネスプロセスに関連する場合、方法730は、744に進み、要求者が特定の、要求されたデータオブジェクトへのアクセスを許されるかどうかの判定が行われる。一部の実例において、ネットワークプロセスコンテキスト内に格納された一部のデータオブジェクトは、ネットワーク化されたビジネスプロセス内に含まれるネットワーク参加者プロセスのサブセットだけにしかアクセスできないことが可能である。例えば、特定のデータオブジェクトと関係のないネットワーク参加者プロセスは、不注意による変更および/または許可のないアクセスからの保護を提供するために、そのデータオブジェクトに関連するアクセス権を有さないことが可能である。要求者がそのデータオブジェクトへのアクセスを許されないと判定された場合、方法730は、740に進み、そのデータオブジェクトへのアクセスが拒否される。しかし、要求者が、ネットワーク化されたビジネスプロセスに関連し、要求されたデータオブジェクトへのアクセスを許される場合、方法730は、748に進む。
748で、要求されたデータオブジェクトへのアクセスが与えられる。異なる要求者に与えられるデータオブジェクトへのアクセスのレベルは、その要求者のニーズおよび権利に基づいて、異なることが可能である。例えば、要求者は、データオブジェクトへのアクセスを許すが、データオブジェクトを変更する能力は許さない読み取り専用の権利を与えられることが可能である。一部の実例において、各参加者プロセスは、ネットワークプロセスコンテキスト内の各データオブジェクトにアクセスする能力を有することが可能であり、一部のネットワーク参加者プロセスだけが、データオブジェクトを変更し、操作する能力を有する。
752で、更新されたデータオブジェクトおよび/または新たなデータオブジェクトが、要求者から受信される。一部の実例において、更新されたデータオブジェクトおよび/または新たなデータオブジェクトは、要求者が、アクセスされたデータオブジェクトに基づく、またはそのようなデータオブジェクトと関係する、関連するネットワーク参加者ビジネスプロセス内の1つまたは複数の作業を実行した後、受信されることが可能である。更新されたデータオブジェクトが受信されると、756で、その更新されたデータオブジェクトは、ネットワークプロセスコンテキストの中に格納される。図7Bにはそのように示されていないものの、図7Aの722および726と同様のさらなる動作が、ネットワーク化されたビジネスプロセス内のデータオブジェクトの変更または変形について1つまたは複数のネットワーク参加者プロセスに通知するために、実行されることが可能である。さらに、方法700と方法730はともに、同時に実行される複数のネットワーク参加者プロセスに関連する情報を提供するために、インスタンスのいくつかが同時に実行される、複数のインスタンスで実行され得る。つまり、仮想プロセスコンテキストモジュールは、ネットワーク化されたビジネスプロセス内の複数の互いに関係する参加者ビジネスプロセスの実行中に、複数の同時の要求を扱うこと、および異なるデータオブジェクトを更新することができることが可能である。
図8は、ネットワーク化されたビジネスプロセスに関連するネットワーク参加者によって提供されるサービスの品質およびタイプを分析するための例示的なシステム800の図である。システム800は、3つのネットワーク参加者サーバ(ネットワーク参加者サーバA102a、ネットワーク参加者サーバB102b、およびネットワーク参加者サーバC103c)、潜在的なネットワーク参加者サーバD102d、およびクラウドベースのサービスおよび情報のセット160を含む。クラウドベースのサービスおよび情報のセット160は、ネットワーク参加者のプロファイルモジュール188を含み、ただし、ネットワーク参加者のプロファイルモジュール188は、ともに前段に図1で説明される参加者のプロファイルジェネレータ190と、参加者のプロファイルアナライザ192とを含む。また、クラウドベースのサービスおよび情報のセット160は、ネットワーク化されたビジネスプロセスに関連する複数の現在のネットワーク参加者、以前のネットワーク参加者、および潜在的なネットワーク参加者の特徴および能力を定義するネットワーク参加者のプロファイルのセット194も含む。さらに、ネットワーク化されたビジネスプロセス内のネットワーク参加者に要求される、さらに/または好ましいサービス品質に関連するパラメータのセットを定義する、ネットワーク化されたビジネスプロセスパラメータのセット177が、クラウドベースのサービスおよび情報のセット160の中に含められる。
それぞれの現在のネットワーク参加者サーバ102および潜在的なネットワーク参加者サーバ102は、ローカルビジネスプロセス840およびローカルネットワーク参加者のプロファイル860を含むものとして例示される。一部の実例において、特定のネットワーク参加者サーバ102に関連するネットワーク参加者のプロファイルは、ネットワーク参加者サーバにおいて格納されない可能性があり、代わりに、ネットワーク参加者のプロファイル194のセットの中に格納されることが可能である。図8の例において、初期のネットワーク化されたビジネスプロセスは、ローカルビジネスプロセス840a、840b、および840cを含む。矢印810、820、および830が、図3および図6に関連してそれぞれ説明されるステータス情報やコンテキスト情報などの、クラウドベースのサービスおよび情報のセット160を介するネットワーク参加者サーバ102間の通信および情報交換を示す。
1つの例において、ネットワーク化されたビジネスプロセスの管理者または設計者が、ネットワーク化されたビジネスプロセスに追加されるべきさらなる機能を特定することが可能である。この例において、新たな機能は、新たなネットワーク参加者によって提供される。一部の実例において、参加者のプロファイルアナライザ192が、ネットワーク化されたビジネスプロセスパラメータ177を点検して、ネットワーク化されたビジネスプロセスのネットワーク参加者に関連する、要求されるサービス、機能、および全体的なサービス品質、ならびに好ましいサービス、機能、および全体的なサービス品質を特定することが可能である。次に、参加者のプロファイルアナライザ192は、ネットワーク参加者のプロファイルのセット194を点検して、複数の潜在的なネットワーク参加者のいずれが、管理者または設計者によって所望される機能、ならびにネットワーク化されたビジネスプロセスパラメータ177によって指定されたサービス品質を満たすかを特定する。つまり、参加者のプロファイルアナライザ192は、潜在的なネットワーク参加者を、それらの参加者の機能およびサービス品質に基づいて、探索し、識別し、ランク付けすることができる。
代替として、特定のネットワーク参加者、およびその参加者のローカルビジネスプロセスが、ネットワーク化されたビジネスプロセスへの潜在的な追加として提案され、参加者のプロファイルアナライザ192が、ネットワーク化されたビジネスプロセスに関連するパラメータ177によって特定された要件および勧告をその潜在的なネットワーク参加者が満たすかどうかを判定する。その潜在的なネットワーク参加者が、要求されるパラメータの1つまたは複数を満たさない場合、または要求されるパラメータを満たすが、満足の行く数またはパーセンテージの好ましいパラメータをもたらさない場合、参加者のプロファイルアナライザ192は、その潜在的なネットワーク参加者をネットワーク化されたビジネスプロセスに参加させる、または加える試みを拒絶する、または拒否することが可能である。
現在のネットワーク参加者、または潜在的なネットワーク参加者がネットワーク参加者のプロファイルに関連していない場合、参加者のプロファイルジェネレータ190が、対応するプロファイルを生成する、または作成するのに使用され得る。一部の実例において、参加者のプロファイルジェネレータ190は、現在のネットワーク参加者、または潜在的なネットワーク参加者に関連する代表者から、ネットワーク参加者のネットワーク参加者サーバ102、またはネットワーク参加者に関連するローカルビジネスプロセス840の能力に関する情報を受信することが可能である。また、参加者のプロファイルジェネレータ190は、ネットワーク参加者またはネットワークプロセスに関連するメタデータに基づくとともに、ネットワーク参加者またはネットワークプロセスとそれまでに対話している他の1名または複数名のネットワーク参加者からの情報に基づいて、ネットワーク参加者、およびネットワーク参加者のローカルビジネスプロセスの能力についての情報を自動的に導き出すことができることも可能である。さらに、参加者のプロファイルジェネレータ190は、例示されるシステム800に関連しないクラウドベースのサービスおよび情報の別のセットなどの、別のシステムまたは環境から既に生成されたプロファイルをインポートすることもできる。
この例において、潜在的なネットワーク参加者サーバD102dは、ローカルビジネスプロセス840dおよびローカルネットワーク参加者のプロファイル860dを含む。潜在的なネットワーク参加者サーバD102d、およびサーバD102dのローカルビジネスプロセス840dは、その他のネットワーク参加者サーバ102a、102b、および102cの間の対話によって定義されるネットワーク化されたビジネスプロセスに追加されている。潜在的な参加者のネットワーク参加者のプロファイル860dを分析した後、ネットワーク参加者のプロファイルモジュール188は(モジュール188の参加者のプロファイルアナライザ192を介して)、その新たなネットワーク参加者およびネットワークプロセスの参加を許す。代替の実施形態において、新たなネットワーク参加者およびネットワークプロセスは、システム管理者、ネットワーク化されたビジネスプロセス設計者によって特定された、あるいは或るパフォーマンス指標またはサービスレベル協定に基づく或るレベルまたはしきい値のパフォーマンスを示さない現在のネットワーク参加者を交代させるのに使用されることが可能である。それらの実例において、潜在的なネットワーク参加者サーバD102dは、現在のネットワーク参加者のうち1名を交代させることができる。いずれにしても、追加された後、矢印835が、クラウドベースのサービスおよび情報のセット160を介して潜在的なネットワーク参加者サーバD102dとその他のネットワーク参加者サーバ102の間で実行される通信を示す。
図9Aは、ネットワーク化されたビジネスプロセスに関連する基準に基づいて、潜在的な新たなネットワーク参加者を分析するための例示的なプロセスまたは方法900の流れ図である。提示を簡明にするため、以下の説明は、ネットワーク参加者のプロファイルモジュールから見た、図1に示される環境100のコンテキストにおける方法900を全体的に説明する。しかし、方法900は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
902で、ネットワーク化されたビジネスプロセスに追加されるべき提案される、または潜在的な新たなネットワーク参加者に関するプロファイルが識別される。提案される新たなネットワーク参加者は、その参加者、およびその参加者に関連するローカルビジネスプロセスに関連する能力のセットを定義するネットワーク参加者のプロファイルに以前に関連付けられていることが可能である。他の実例において、提案される新たなネットワーク参加者に関連するプロファイルは、前述したとおり、手動で、または自動で生成されることが可能である。
906で、ネットワーク化されたビジネスプロセスに関連するネットワーク参加者およびネットワークプロセスに要求される、さらに/または好ましい基準セットが識別される。基準セットは、ネットワーク参加者によって提供されるべき1つまたは複数の要求される能力またはサービス品質、ならびに様々な好ましい能力またはサービス品質を含むことが可能である。一部の実例において、基準セットに関連する特定の評価値またはしきい値が定義されることが可能であり、ただし、この評価値またはしきい値は、透明性および通信の目的で必要であるネットワーク化されたビジネスプロセス内のネットワーク参加者によって提供されるサービス品質の相対レベルを計算するのに使用される、知られているアルゴリズムに基づく。
910で、提案される、または潜在的な新たなネットワーク参加者に関する識別されたネットワーク参加者のプロファイルが、識別された基準セットに基づいて分析される。一部の実例において、プロファイルを分析することは、基準セットからの要求されるパラメータが、そのプロファイルによって満たされるかどうかの判定を含むことが可能である。さらに、プロファイルを分析することは、識別された基準セットに対するネットワーク参加者のプロファイルの相対的対応を規定する評価または値をもたらす、知られているアルゴリズムに基づく計算を含むことが可能である。この評価または値は、プロファイルと基準セットの間の対応のレベルを規定する客観的に導き出された数値をもたらす。
914で、識別されたネットワーク参加者のプロファイルが、ネットワーク化されたビジネスプロセスに関連する基準セットを満たす(または基準セットによって定義されるしきい値を超える)かどうかの判定が行われる。要求される基準の1つまたは複数が、識別されたネットワーク参加者のプロファイルによって定義される能力によって提供されない場合、方法900は、918に進む。さらに、要求される基準は満たされるが、ネットワーク参加者のプロファイルの計算された評価または値が、ネットワーク化されたビジネスプロセスに関連するパラメータにおいて定義されたしきい値を満たさない、または超えない場合、方法900はやはり、918に進むことが可能である。918で、その提案されるネットワーク参加者をネットワーク化されたビジネスプロセスに追加することが、拒否される。しかし、ネットワーク参加者のプロファイルが、要求される能力を満たす場合、および最小しきい値を超える場合、方法900は、922に進み、提案されるネットワーク参加者(およびその参加者に関連するビジネスプロセス)をネットワーク化されたビジネスプロセスに追加することが、ネットワーク参加者のプロファイルモジュールによって許される。
図9Bは、ネットワーク化されたビジネスプロセスに関連する基準セットに基づいて、ネットワーク化されたビジネスプロセスの現在のネットワーク参加者に対する少なくとも1名の潜在的な代役のネットワーク参加者を識別するための例示的なプロセスまたは方法930を示す流れ図である。前述したとおり、基準セットは、ネットワーク化されたビジネスプロセスに関連する参加者およびプロセスに関連する要求される能力と好ましい能力の両方を含むことが可能である。提示を簡明にするため、以下の説明は、ネットワーク参加者のプロファイルモジュールから見た、図1に示される環境100のコンテキストにおける方法930を全体的に説明する。しかし、方法930は、適宜、例えば、他の任意の適切なシステム、環境、あるいはシステムと環境の組合せによって実行されてもよいことが理解されよう。
932で、ネットワーク化されたビジネスプロセスの現在のネットワーク参加者が、交代のために識別される。識別されたネットワーク参加者は、いくつかのパフォーマンス基準を満たさないこと(例えば、前述したとおり、集中監視システムによって判定されて)、ネットワーク化されたビジネスプロセスに関連する費用を低減したいと所望すること、または一般的な設計上の決定および変更を含む、いくつも理由で置き換えられることが可能である。方法930における説明では、識別されたネットワーク参加者は、十分な標準に達するパフォーマンスを示すことができないために除去されているが、識別されたネットワーク参加者によって実行された機能は、ネットワーク化されたビジネスプロセス内に留まることになる。
936で、ネットワーク化されたビジネスプロセスに関連するネットワーク参加者およびネットワークプロセスに要求される、さらに/または好ましい基準セットが識別される。936の動作は、図9Aの906で説明されるとおり実行されることが可能であるが、他の適切な動作が使用されることも可能である。938で、現在のネットワーク参加者(932からの)の機能に取って代わるための潜在的なネットワーク参加者のセットが識別される。一部の実例において、このアクションは、ネットワーク参加者のプロファイルのセットの中を探して、置き換えられるべきネットワーク参加者によって提供される機能と同一の、または同様の機能を有する少なくとも1名の潜在的なネットワーク参加者を特定することを含むことが可能である。適切な機能を有する少なくとも1名の潜在的なネットワーク参加者のセットを特定する任意の適切な方法が使用されることが可能である。例えば、検索エンジンまたは他のネットワーク参加者識別ツールが使用されることが可能である。一部の実例において、ネットワーク化されたビジネスプロセスの中に既に含まれるネットワーク参加者が、そのセットの中に含められることが可能である。
940で、識別されたセットからの潜在的な代役のネットワーク参加者に関連するネットワーク参加者のプロファイルが、ネットワーク化されたビジネスプロセスに関連する基準セットに基づいて、分析される。940の分析動作は、方法900の910で実行される動作、ならびに潜在的な代役のネットワーク参加者の能力の他の適切な分析および比較と同様であることが可能である。
944で、潜在的な代役のネットワーク参加者のプロファイルが、ネットワーク化されたビジネスプロセスに関連する基準セットを満たす(またはそれらの基準によって定義されるしきい値を超える)かどうかの判定が行われる。要求される基準の1つまたは複数が、潜在的な代役のネットワーク参加者のプロファイルによって定義される能力によって提供されない場合、または要求される基準は満たされるが、潜在的な代役のネットワーク参加者のプロファイルの計算された評価または値が、基準によって定義される最小しきい値を満たさない、または超えない場合、方法930は、948に進む。948で、その潜在的な代役のネットワーク参加者のプロファイルが、潜在的なネットワーク参加者の代役のセットから除去される。しかし、潜在的な代役のネットワーク参加者のプロファイルが、要求される能力を満たし、基準の最小しきい値を超える場合、方法930は、952に進む。952で、その潜在的な代役のネットワーク参加者が、潜在的なネットワーク参加者の代役のセット内に保持され、方法930は、956に進む。
956で、さらなる、まだ分析されていない潜在的な代役のネットワーク参加者のプロファイルが、938で識別された潜在的な代役のネットワーク参加者のセットの中に残っているかどうかの判定が行われる。分析されるべきさらなるプロファイルが残っている場合、方法930は、940に戻り、次のプロファイルが分析される。しかし、さらなるプロファイルが全く残っていない場合、方法930は、960に進む。
960で、944および952によって特定された潜在的なネットワーク参加者の代役のセットが並べ替えられる。一部の実例において、潜在的なネットワーク参加者の代役のセットを並べ替えることは、940で分析によって算出された評価または値に従って並べ替えることを含むことが可能である。この並べ替えは、代替として、またはさらに、プロファイル内で識別された任意の特定のプロファイル情報または能力に基づくことが可能である。例えば、潜在的なネットワーク参加者の代役のセットは、以下のうちの1つまたは複数によって並べ替えられることが可能である。すなわち、潜在的な代役のネットワーク参加者が、開始イベントおよび/または終了イベント、中間イベントおよびマイルストーン、ならびに誤りイベントに関連する情報を公開することができるかどうか、ならびに潜在的な代役のネットワーク参加者が、ビジネスプロセス終了、ビジネスプロセス報酬、および/またはビジネスプロセスのアドホック変更のサポートを提供することができるかどうか、である。特定の潜在的なネットワーク参加者をネットワーク化されたビジネスプロセスに追加する費用を含む、他の任意の適切な並べ替え方法または並べ替え基準が使用されることも可能である。964で、潜在的なネットワーク参加者のプロファイルの並べ替えられたセットが戻され、あるいは一部の実例では、提示される。潜在的な代役の並べ替えられたセットが、管理者またはビジネスプロセス設計者に関連するGUIを介して提示されて、968で代役のネットワーク参加者が選択されることを許すことが可能である。次に、選択された代役のネットワーク参加者、およびそのようなネットワーク参加者に関連するビジネスプロセスが、ネットワーク化されたビジネスプロセスに追加されることが可能であり、交代させられたネットワーク参加者、およびそのようなネットワーク参加者に関連するビジネスプロセスが、ネットワーク化されたビジネスプロセスから除去される。
以上の図、および付随する説明は、例示的なプロセスおよびコンピュータによって実施可能な技術を例示する。しかし、環境100(または環境100のソフトウェアまたは他の構成要素)は、これら、およびその他のタスクを実行するために任意の適切な技術を使用すること、実施すること、または実行することを企図している。これらのプロセスは、単に例示を目的とすること、ならびに説明される技術、または類似する技術は、同時に実行されること、個々に実行されること、または組合せで実行されることを含め、任意の適切な時点で実行されることが可能であることが理解されよう。さらに、これらのプロセスにおけるステップの多くは、同時に、並行に、さらに/または示されているのとは異なる順序で行われてもよい。さらに、環境100は、方法が適切なままである限り、さらなるステップ、より少ないステップ、および/または異なるステップを有するプロセスを使用してもよい。
つまり、本開示は、いくつかの実施形態、および全体的に関連する方法に関して説明されてきたが、これらの実施形態および方法の変形および置換が、当業者には明白であろう。したがって、例示的な実施形態の以上の説明は、本開示を規定することも、制約することもしない。他の変更、代替、および変形も、本開示の趣旨および範囲を逸脱することなく、可能である。