JP4367426B2 - ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体 - Google Patents

ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体 Download PDF

Info

Publication number
JP4367426B2
JP4367426B2 JP2006083630A JP2006083630A JP4367426B2 JP 4367426 B2 JP4367426 B2 JP 4367426B2 JP 2006083630 A JP2006083630 A JP 2006083630A JP 2006083630 A JP2006083630 A JP 2006083630A JP 4367426 B2 JP4367426 B2 JP 4367426B2
Authority
JP
Japan
Prior art keywords
workflow
event
definition
event information
integrated management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006083630A
Other languages
English (en)
Other versions
JP2007257513A (ja
Inventor
伸治 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006083630A priority Critical patent/JP4367426B2/ja
Publication of JP2007257513A publication Critical patent/JP2007257513A/ja
Application granted granted Critical
Publication of JP4367426B2 publication Critical patent/JP4367426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般にはインターネットの利用の有無を問わず、複数の業務アプリケーションシステム群を連携させて、業務連携を実施するワークフロー管理システムに属し、そのワークフロー管理システムを用いることで、業務アプリケーションシステム上で実施される業務の進捗トラッキング、状況評価に関する。
従来の業務プロセストラッキング装置に関する方式例を以下に二つ記す。図18に示す方は、ワークフロー管理に対して分散的な管理概念のない方式(以下、従来第1の方式)である。図19に示す方は従来の業務プロセストラッキング装置で分散的な管理概念がある方式であるが、効率などの点で課題が存在すると考えられる方式(以下、従来第2の方式)である。
図18は、特許文献1に開示された、従来第1の方式のシステムの構成例を示す。
図18に示すシステムにおいて、B1はイベントデータを収集し管理するイベント管理装置、B3、B4及びB5は業務システム、B6は利用者端末である。
イベント管理装置B1内において、入力部B11はイベントデータの検索条件を入力する。イベントキューB12は、業務システムB3〜B5から送信されたイベントデータがキューイングされる。イベント関連付け部B13は、イベントキューB12内のイベントデータを業務データ単位にまとめ、業務データ間の関連付けを行う。イベント管理DBB14は、関連付けられた業務データが蓄積される。業務プロセスDBB15は、業務プロセスの定義情報と業務データの定義情報とが蓄積される。出力部B16は、利用者端末B6から入力された検索条件に基づくイベント管理DBB14の検索結果を出力する。
業務プロセスとは、業務システム間を跨ぐ業務全体の流れを意味する。以下では、業務プロセスが、受注、在庫照会、発注、受入、出荷、配送等の業務から構成されるものとして説明する。また、業務データとは、前述したように、あるまとまった単位の業務の間で共有されるイベントデータを意味する。業務データは、イベント管理DBB14内では、各業務の伝票という形で蓄積される。
業務システムB3において、アプリケーションB30及びB30’は、それぞれ業務システムB3内で業務を実行する。状態DBB31は、アプリケーションB30の状態が蓄積されている、状態DBB31’は、アプリケーションB30’の状態が蓄積されている。イベント抽出部B32は、状態DBB31及び状態DBB31’からイベントデータを抽出する。イベントデータ変換部B33は、抽出したイベントデータを、例えばXML(Extensible Markup Language)形式に変換する。イベントデータ送信部B34は、変換されたイベントデータをイベント管理装置B1に送信する。イベント抽出定義のデータ(以下、単にイベント抽出定義という)B320は、業務システムB3内のどのデータ項目を抽出するかが定義されている。
業務システムB4内において、アプリケーションB40及びB40’は、業務システムB4内で業務を実行する。状態DBB41は、アプリケーションB40の状態が蓄積されている。状態DBB41’は、アプリケーションB40’の状態が蓄積されている。イベント抽出部B42は、状態DBB41又は状態DBB41’からイベントデータを抽出する。イベントデータ変換部B43は、抽出したイベントデータを、例えばXML形式に変換する。イベントデータ送信部B44は、変換されたイベントデータをイベント管理装置B1に送信する。イベント抽出定義B420は、業務システムB4内のどのデータ項目を抽出するかが定義されている。
業務システムB5内において、アプリケーションB50及びB50’は、業務システムB5内で業務を実行する。状態DBB51は、アプリケーションB50の状態が蓄積されている。状態DBB51’は、アプリケーションB50’の状態が蓄積されている。イベント抽出部B52は、状態DBB51又は状態DBB51’からイベントデータを抽出する。イベントデータ変換部B53は、抽出したイベントデータを例えばXML形式に変換する。イベントデータ送信部B54は、変換されたイベントデータをイベント管理装置B1に送信する。イベント抽出定義B520は、業務システムB5内のどのデータ項目を抽出するかが定義されている。
イベント管理装置B1のイベントキューB12にキューイングされるイベントデータは、例えば、イベントの種別を示すイベント種別、イベントが属しているデータの識別子である主キー、主キーに対応する業務に関連する業務のイベントが属しているデータの識別子である関連キー、製造番号、個数、単価等の属性データから構成される。
業務システムB3〜B5は、次のように配置される。業務システムB3は、例えば、受注及び在庫照会という業務を実行し、受注伝票を扱う。業務システムB4は、例えば、発注及び受入という業務を実行し、発注伝票を扱う。業務システムB5は、例えば、出荷及び配送という業務を実行し、配送伝票を扱う。
従来第1の方式では、業務プロセスのトラッキングの準備として、業務プロセスDBB15に格納する業務プロセス及び業務データの定義情報の入力、並びに各業務システムB3〜B5のイベント抽出部B32〜B52に設定するイベント抽出定義B320〜B520の入力が必要となる。
図19は、特許文献2に記載された、分散的な管理概念を持つ従来業務プロセストラッキングに関する技術を用いた方式(以下、従来第2の方式)のシステム構成例を示す。
図19には、共通業務プロセスの実行に関与する二つの組織(記号:ORG1)A1、(記号:ORG2)A2の全体図が示されている。これらの二つの組織は、例えば同じ企業又は会社のパートナー組織であり、各組織は共通業務プロセスのそれぞれの部分を実施する。あるいは、一方の組織、例えば組織A1が顧客組織で、業務プロセスの少なくとも一部の実行を供給業者である組織A2に委託しているケースなども該当する。この方式の従来技術は、共通業務プロセスの実行に関与する組織が三つ以上の場合も適用できる。
この業務プロセスの実行に関与する各組織A1、A2(以下、単に関与組織と呼ぶ)は、業務プロセスのそれぞれの部分の管理目的で、それぞれのワークフロー管理システム(記号:WfMS1)A3、(記号:WfMS2)A4を有する。具体的には各関与組織A1、A2におけるそれぞれのワークフロー管理システムA3、A4は、その組織のそれぞれのデータ処理システム上で稼働するコンピュータ・ベースの管理システムに相当する。
各関与組織A1、A2のデータ処理システムは、1台、またはより一般的には数台のパーソナル・コンピュータ又はワークステーションを含み、数台の場合にはLAN(Local Area Network)、WAN(Wide Area Network)などのデータ通信ネットワークを介して相互接続されており、組織が地理的に異なる場所に分散している場合にはインターネットを介して相互接続される。
各関与組織A1、A2のワークフロー管理システムA3、A4は、ワークフロー管理システム・サーバ(記号:WfMS1_S)A5、(記号:WfMS2_S)A6を含む(これらを以下では単にワークフロー・サーバと呼ぶ)。ワークフロー・サーバA5、A6は、ワークフロー管理システムA3、A4のサーバとして動作稼働するサーバ・コンピュータ・アプリケーションである。ワークフロー・サーバA5、A6は、業務プロセスの各部分の実行状態に関する情報を維持管理し、更新する。ワークフロー・サーバが維持管理する情報は、ワークフロー上のイベント操作によって、状態変更が生じ、当該実行状態に関する情報が更新される。
これらワークフロー管理システムA3、A4の導入により、一般の業務プロセスを、電子化することが可能となり、統語構造単位(Syntactical Unit)に基づきモデリング、電子業務プロセスが定義される。当該電子業務プロセスのモデルが作成された後は、企業内又は会社内で行われる同様のプロセスのクラスのテンプレートを構成することになる。該プロセス・テンプレートは、一般にデータ処理システムによってインスタンス化し、解釈することができ、業務プロセスを行うのに必要な作業ステップの個々シーケンスを判断することができる。作業ステップのシーケンスは、プロセス・テンプレートのインスタンス化のコンテキストに依存することになる。プロセス・テンプレートのインスタンスとその解釈が、個々のプロセスを表す。プロセス・テンプレートの基本要素をアクティビティと呼ぶ。アクティビティは、意味論的(Semnaticalな)エンティティと見做すこともできる業務アクションを表す。プロセス・テンプレートは、ワークフロー・アクティビティと、その実行順序と割り当てられる資源とを記述する。
図19で示すように、ワークフロー・サーバA5は、複数のプロセス・テンプレート(記号:PT1)A13、(記号:PT2)A11、..を保持管理する。同様に、ワークフロー・サーバA6は、複数のプロセス・テンプレート(記号:PT1')A14、(記号:PT2')A12、..を保持管理する。
プロセス・テンプレートA11のプロセス・インスタンス(記号:PI1(PT1))A9が、ワークフロー・サーバA5上で稼働している様子も略図で示されており、同じプロセス・テンプレートA11の対応するプロセス・インスタンスPI(PT1)がワークフロー・サーバA6上で稼働している。
各関与組織A1、A2では、ワークフロー・サーバA5、A6が、それぞれのワークフロー・サーバが稼働しているのと同じサーバ・コンピュータ又はワークステーション上で稼働しているそれぞれの状態シャドウイング・エンジン(記号:SSE1)A15、(記号:SSE2)A16と対話する。
また、各関与組織A1、A2では、複数のワークフロー管理システム・クライアント(記号:WfMS1_C)A17、(記号:、WfMS2_C)A18(以下、単にワークフロー・クライアントと呼ぶ)が、それぞれの状態シャドウイング・エンジンA15、A16が備えるインタフェースを介して、ワークフロー・サーバA5、A6と対話している。
ワークフロー・クライアントA17、A18は、パーソナル・コンピュータ又はワークステーションで稼働するクライアント・アプリケーションである。関与組織A1、A2内のワークフロー管理システムA3、A4の利用者(記号:Ua)A27、(記号:Ub)A29、(記号:Uc)A28、(記号:Ud)A30は、ワークフロー・クライアントA17、A18を使用して、所属する組織のワークフロー管理システムA3、A4と対話することができる。
ワークフロー・サーバA5、A6は、それぞれインタフェース(記号:WfMS1_ST)、(記号:WfMS2_ST)を備え、それによって組織A1、A2内の利用者A27、A29、A28、A30がワークフロー・クライアントA17、A18を介して操作して、それぞれの当該ワークフロー・サーバA5、A6にログオンし、その組織で実行されているアクティビティの状態(たとえば開始、終了、完了)を参照、必要に応じて当該アクティビティの状態の更新を加えることができる。異なる利用者がそれぞれの利用者識別子、例えば利用者A27はUIDa、A29はUIDb、A28はUIDc、A30はUIDdを持ち、それによってワークフロー・クライアントA17、A18がワークフロー・サーバA5、A6と対話してワークフロー管理システムの状態参照と更新とを行うことができる。これらの異なる利用者識別子には異なる特権レベルを割り当てることができ、それによって異なる利用者が異なる特権レベルで当該ワークフロー管理システムA3、A4を操作することができる。例えば、利用者識別子UIDaを持つ利用者A27には、ワークフロー管理システムA3の状態の参照と更新とを行う特権を割り当てることができ、識別子UIDbを持つ利用者A29には、より低い特権が割り当てられ、ワークフロー管理システムA3の状態の参照のみを行うことができる。
二つの組織A1、A2の状態シャドウイング・エンジンA15、A16は互いに通信することが可能である。この対話は、LAN、WAN、インターネットなど、2つの組織A1、A2のデータ処理システムに任意の好適なデータ通信インフラストラクチャDCIを接続することによって可能になる。
各状態シャドウイング・エンジンA15、A16は、状態シャドウイング機能を実現し、それによって共通業務プロセスの実行に関与する組織のうちの一つの組織の利用者が他の関与組織内のワークフローの進捗をトラッキングすることができる。たとえば、当該状態シャドウイング機能によって、組織A1内のワークフロー管理システムA3の利用者A27、A29は、組織A2内のワークフローの進捗をトラッキングすることができ、また、その逆も同様である。
具体的には、状態シャドウイング・エンジンA15、A16によって実現された状態シャドウイング機能によって、各関与組織A1、A2のワークフロー管理システムA3、A4内に、共通業務プロセスのうちの他の組織によって実行されている部分の内部複製であるシャドウを作成することが可能となる。
共通業務プロセスのそれぞれの部分の実行中に、関与組織の一つ、例えば組織A2によって操作が行われると、ローカルのワークフロー管理システムA4が状態を変更し、状態シャドウイング・エンジンA16を介して、他の関与組織、例えば組織A1のワークフロー管理システムA3に、その状態変更を通知するメッセージを送る。関与組織A1の状態シャドウイング・エンジンA15は当該メッセージを受け取り、必要に応じて変換し、対応する状態変更を生じさせる。それによって組織A2のワークフロー管理システムA4の状態を複製することができる。
状態シャドウイング・エンジンA15、A16は、付随するワークフロー・サーバA5、A6の既存のインタフェース(記号:WfMS1_SI)A7、(記号:WfMS2_SI)A8を利用して、それらサーバ間で相互に通信する。
このために、状態シャドウイング・エンジンA15、A16には、適切な高レベルの特権を持つそれぞれの利用者識別子UIDx、UIDyが定義される。状態シャドウイング・エンジンA15、A16は、それぞれのワークフロー・サーバA5、A6にログインする際、利用者識別子UIDx、UIDyを使用する。以上から、状態シャドウイング・エンジンA15、A16は、それぞれの通信相手のワークフロー・サーバA5、A6から見れば、一つのワークフロー・クライアントと見なされる。
特開2005−115494号公報 特開2004−5550号公報
従来の業務プロセストラッキング装置に関する課題を記す。
従来第2の方式は、従来第1の方式における幾つかの課題は解決しているが、従来第2の方式自身にも固有の課題は存在している。そこで、まず従来第1の方式における課題を説明する。
従来第1の方式における課題は複合・階層的であり、基本的課題と関連課題とに分けられる。
基本的課題として2点ほど挙げられる。
基本的課題の1点目は、従来第1の方式は、EAI(Enterprise Application Integration)関係の製品に見られる方式で、分散化された環境では対応できないことである。昨今のインターネットをベースとした組織間の連携、異なる会社間の業務連携は極めて広がりの大きい事項であり、単一の業界だけでは対応できる事項ではない。そのため、業際事項(ある業界に関する事項及びこれとは別の業界に関する事項並びにこれらの業界の間にまたがる事項)を含め標準の役割が非常に大きくなる。その為、現実にはマルチベンダによる分散環境により、初めて実現可能となる。しかし、図18に示されるような従来第1の方式は、ワークフローレベルで分散化された環境を指向している訳ではない。
基本的課題の2点目は、従来第1の方式では、ワークフローエンジンの役割について、明確に規定されていないことである。図18に示すような環境を構築する際には、ワークフローエンジンの役割は決定的であり、この存在を無視したシステム連携は想定できない。このため、サービス指向の連携する場合、他のワークフローシステムとの連携がまったく取れないという課題が出る。
以上の二つの基本的課題により、更に三つの関連課題が発生する。
第1の関連課題は、自ら業務フローを定義しなければならないことである。通常のワークフロー、業務トラッキング製品では、内部のワークフローエンジンにより業務プロセスの流れは制御されている。しかし、従来第1の方式では、ワークフローエンジンとは独立となっているため、自ら業務フローを定義・入力しなければならない。これは、業務上のフローがダイナミックに変化する場合、全て業務の登録し直さなければならない、もしくはワークフローエンジンと二重に定義情報を入力しなければならない課題を引き起こす。
第2の関連課題は、従来第1の方式のシステムは、業務フローエンジンと組み合わせても業務全体の流れをトラッキングできる訳ではないということである。すなわち、従来第1の方式のシステムは、業務フローにおけるイベントを一つの単位としてトラッキングするため、業務フローとして定義されていない動作や、業務フローを遂行する上で実行されるアプリケーションの内部においてどのような処理が行われるかについてまでトラッキングができるわけではない。換言すると、従来第1の方式では、厳密なトラッキングをする場合、全ての枝葉末節までの業務データを登録しなければ、仔細はトラッキングできない。通常、ワークフローエンジンにより業務の流れが制御されている現状で、このように全ての業務全体の流れをトラッキングするには非現実的である。
第3の関連課題としては、状態管理DBを配置することで業務システムを汚さずに(業務システムに機能を追加することなく)、イベント収集できる旨を主張しているが、通常、アプリケーションは種々のプラットフォームがあり、また開示されない場合もある。現実の運用環境を考えた場合、図18のような状態管理DBを配置することは現実的ではない。
従来第1の方式における以上の五つの課題に対して、従来第2の方式は、幾つかの課題を解決している。上記の第2の基本的な課題については、従来第2の方式で解決し得る。また、第1の関連課題に関してもテンプレートの概念を開発環境に適用することで、解決し得る。
また、第2の関連課題については、図19のテンプレートの作成範囲を広げる、もしくは新たなテンプレートを作成し、複数のワークフロー・サーバ(記号:WfMS2_S、WfMS1_S)を立ち上げ、シャドウイングを実施することで、トラッキングの範囲を広げることはできる。しかし、第2の関連課題、並びに、上記第1の基本的な課題に関しては、従来第2の方式で完全に解決するためには前提条件も存在する。従来第2の方式では標準として定義されるべき部分と、それ以外の部分についての切り分けが曖昧である。従って、原理的には先の第1の基本的課題、並びに第2の関連課題に対する解決策を実現し得たとしても、実際の実装の中では従来第2の方式だけでは解決し得ない場合も存在する。
また、第3の関連課題については、特に言及されているわけではなく、従来第2の方式は、解決策とは独立(換言すると、従来の第2の方式では第3の関連課題を解決できない)である。ここでは、「業務プロセストラッキングのための観測手段の業務アプリケーションシステムに対する独立性に関する課題」と称する。
従来第2の方式自身にも課題は存在している。当該方式では、分散化しているワークフローの進捗管理をすることは可能である。しかし、本方式では業務のトラッキングを第一に指向している訳ではない。原理的には全ての複数ワークフロー・サーバが、分散化しているワークフローの進捗管理を共有しているため、任意のワークフロー・サーバに対するワークフロー・クライアントを見ることで、業務のトラッキングは実現し得る。
しかし、当該の従来第2の方式では、全ての複数ワークフロー・サーバ間でお互いに進捗を通信し合わなければ、これを実現できない。この場合、参加するワークフロー・サーバがN台になれば、一つの通信に対して原理的にNの自乗の通信が発生することになり、ネットワークの利用効率が決定的に落ちる課題が懸念される。以下、この課題を、「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」と表記する。
本発明の目的は、下記の課題を解決することにある。
従来第1の方式についての上記の五つの課題点を全て解決すること。
従来第2の方式で新たに発生した、上記「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」を解決すること。
従来第1の方式で発生し、従来第2の方式では、完全に解決できない、上記「業務プロセストラッキングのための観測手段の業務アプリケーションシステムに対する独立性に関する課題」を解決すること。
すなわち、本発明は、分散化された環境に対応可能、他のワークフローシステムとの連携が容易、業務フローの定義が不要、状態管理DBの設置が不要、かつネットワークの利用効率を落とすことのないワークフロートラッキングシステム、ワークフロー統合管理装置、ワークフロー統合管理方法、ワークフロー統合管理プログラム、及びそれを記録した記録媒体を目的とする。
上記目的を達成するため、本発明は、第1の態様として、ワークフローを管理・実行する複数のワークフロー実行装置と、該ワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、前記各ワークフロー実行装置は、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、記録済みの前記イベント情報と前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述とを前記ワークフロー統合管理装置へ送信する手段とを有し、前記ワークフロー統合管理装置は、前記各ワークフロー実行装置から、前記ワークフロー記述を取得する手段と、前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関連付ける手段と、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる手段と、を有することを特徴とするワークフロートラッキングシステムを提供するものである。
本発明の第1の態様においては、標準化されたデータ形式とは異なる形式でワークフロー記述が定義されたワークフロー実行装置には、そのワークフロー記述を標準化されたデータ形式に変換する標準化装置が内蔵又は接続されていることが好ましい。
本発明の第1の態様の上記のいずれの構成においても、ワークフロー統合管理装置は、イベント情報に対して人間が認識可能な形式の任意の情報を付加する手段を更に有することが好ましい。また、ワークフロー統合管理装置は、イベント情報記録手段に記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理手段を有することが好ましい。また、ワークフロー実行装置は、ワークフローを実行する際に通信相手となる業務アプリケーションシステムに固有な通信手順を、標準化された通信手順に変換するためのアダプタを複数備えることが好ましい。
また、上記目的を達成するため、本発明は、第2の態様として、ワークフローを管理・実行する複数のワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置であって、前記各ワークフロー実行装置から、前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を取得する手段と、前記各ワークフロー実行装置が前記ワークフローを実行する際にその装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を前記各ワークフロー実行装置から取得する手段と、取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関連付ける手段と、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる手段と、を有することを特徴とするワークフロー統合管理装置を提供するものである。
本発明の第2の態様においては、イベント情報に対して人間が認識可能な形式の任意の情報を付加する手段を更に有することが好ましい。
本発明の第2の態様の上記のいずれの構成においても、イベント情報記録手段に記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理手段を有することが好ましい。
また、上記目的を達成するため、本発明は、第3の態様として、ワークフローを管理・実行する複数のワークフロー実行装置と、該ワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置とを用いたワークフロー統合管理方法であって、前記各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、前記各ワークフロー実行装置が、記録済みの前記イベント情報と前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述とを前記ワークフロー統合管理装置へ送信する工程と、前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関係付ける工程と、前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録工程と、前記ワークフロー統合管理装置が、前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる工程と、を有することを特徴とするワークフロー統合管理方法を提供するものである。




本発明の第3の態様においては、標準化されたデータ形式とは異なる形式でワークフロー記述が定義されたワークフロー実行装置は、そのワークフロー記述を標準化されたデータ形式に変換してワークフロー統合管理装置へ送信することが好ましい。
本発明の第3の態様の上記のいずれの構成においても、ワークフロー統合管理装置が、イベント情報に対して人間が認識可能な形式の任意の情報を付加する工程をさらに有することが好ましい。また、ワークフロー統合管理装置が、イベント情報記録工程において記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理工程を有することが好ましい。
また、上記目的を達成するため、本発明は、第4の態様として、上記本発明の第3の態様のいずれかの構成にかかるワークフロー統合管理方法をコンピュータに実行させるためのワークフロー統合管理プログラムを提供するものである。
また、上記目的を達成するため、本発明は、第5の態様として、ワークフロー統合管理プログラムを記録したコンピュータが読取可能な情報記録媒体を提供するものである。
本発明によれば、分散化された環境に対応可能、他のワークフローシステムとの連携が容易、業務フローの定義が不要、状態管理DBの設置が不要、かつネットワークの利用効率を落とすことのないワークフロートラッキングシステム、ワークフロー統合管理装置、ワークフロー統合管理方法、ワークフロー統合管理プログラム、及びそれを記録した記録媒体を提供できる。
〔発明の原理〕
本発明は、複数の業務アプリケーションシステム群の起動状態、操作順序の定義を維持管理し、制御する、あるまとまった業務範囲を意味する全体ワークフローのそれぞれの要素ワークフロー部分を、ワークフローエンジンを実装した複数のワークフロー管理システムが独立・分散して管理、保持している環境下で、分散された要素ワークフロー部分の実行を統合して管理する方法を具現する装置である。従来課題を以下の手段により解決する。
〔手段1〕
以下の六つの要素手段の組み合わせ。
・複数のワークフロー管理システムに分散している要素ワークフローの記述を収集する手段。
・分散している要素ワークフローの記述を予め指定された標準形式として記述・管理する手段。
・分散している要素ワークフローのうち標準形式で記述されていないものの記述を当該標準形式に変換する手段。
・分散している要素ワークフローの記述を複数個合成し、全体のワークフローの記述を再生するワークフロー合成手段。
・要素ワークフロー部分を実施する際に事象として発生するイベント群を当該全体のワークフローの記述に位置付け、当該イベント群以外のイベント群と関連して記録するイベント格納要素手段。
・イベント格納手段に記録されている任意の情報を、要求に応じて他の装置に参照させる要素手段。
〔手段2〕
標準形式として記述された要素ワークフローの外側の領域で事象として発生するイベント群を取り込むことを可能することを目的として、要素ワークフロー部分を実施する際に事象として発生するイベント群が、標準形式として記述・管理する方式と異なる場合に、その仲立ちを取り持つ代理通信手段。
〔手段3〕
分散する要素ワークフローの記述が機械可読形式であることから、当該要素ワークフローの記述内の記述子に対して、任意の情報を付与するアプリケーションラベル入力手段。
〔手段4〕
要素ワークフロー部分を実施する際に事象として発生するイベント群を全体のワークフローの記述に当てはめ、当該イベント群以外のイベント群と関連して記録するイベント格納手段をアクセスし、当該イベント群に関連する統計データを生成する処理手段。
〔手段5〕
全体ワークフローの記述により、起動状態、操作順序の定義を維持管理され、制御される複数の業務アプリケーションシステム群を、ワークフローエンジンを実装したワークフロー管理システムが呼び出す際に、当該業務アプリケーションシステム群固有の通信手順を、標準的な通信手順として変換するアダプタ処理手段。
〔効果をもたらす手段の働き〕
従来第1の方式により発生する最初の基本的課題は、標準の役割を明確に定義し、マルチベンダ化を促進することであり、これに対しては、特に手段1で組み合わされる以下の3つの要素手段が有効に機能する。
(1)分散している要素ワークフローの記述を予め指定された標準形式として記述・管理する手段。
(2)分散している要素ワークフローのうち標準形式で記述されていないものの記述を当該標準形式に変換する手段。
(3)分散している要素ワークフローの記述を複数個合成し、全体のワークフローの記述を再生するワークフロー合成手段。
従来第1の方式により発生する第二の基本的課題は、ワークフローエンジンの役割が決定的に重要であるにも関わらず、具体的定義がなされていないため、サービス指向の連携する場合、他のワークフローシステムとの連携がまったく取れないという問題である。これに対しても、特に手段1で組み合わされる以下の3つの要素手段が有効に機能する。
(1)分散している要素ワークフローの記述を予め指定された標準形式として記述・管理する要素手段。
(2)分散している要素ワークフローのうち標準形式で記述されていないものの記述を当該標準形式に変換する手段。
(3)分散している要素ワークフローの記述を複数個合成し、全体のワークフローの記述を再生するワークフロー合成手段。
この方式では、図19の方式とは異なり、標準化するべき対象を、既存の標準化機能範囲と明確に連携させているため、従来第1の方式により発生する最初の基本的課題、第二の基本的課題は明確に解決できることになる。
従来第1の方式により発生する第一の関連課題は、当該方式では、ワークフローエンジンとは独立となっているため、自ら業務フローを定義・入力しなければならないことである。
これは、業務上のフローがダイナミックに変化する場合、全て業務の登録し直さなければならない、もしくはワークフローエンジンと2重に定義情報を入力しなければならない問題を引き起こす。
上記課題に対しては、特に手段1で組み合わされる以下の4つの要素手段が有効に機能する。
(1)複数のワークフロー管理システムに分散している要素ワークフローの記述を収集する手段。
(2)分散している要素ワークフローの記述を予め指定された標準形式として記述・管理する要素手段。
(3)分散している要素ワークフローのうち標準形式で記述されていないものの記述を当該標準形式に変換する手段。
(4)分散している要素ワークフローの記述を複数個合成し、全体のワークフローの記述を再生するワークフロー合成手段。
従来第1の方式により発生する第二の関連課題は、業務フロー定義の外側、並びにアプリケーション内部のフローについてトラッキングができるわけではなく、厳密なトラッキングをする場合、全ての枝葉末節までの業務データを登録しなければ、仔細はトラッキングできないことを意味する、ことである。
当該、第二の関連課題に対しては、以下の機能により問題解決が可能となる。
(1)業務プロセストラッキング装置で分散的な管理概念のある方式を採用していること。
(2)上記手段2である仲立ちを取り持つ代理通信手段を備えること。
(3)業務アプリケーションシステム群固有の通信手順を、標準的な通信手順として変換するアダプタ処理手段を備えること。
(4)複数の分散している要素ワークフローの記述を合成し、全体のワークフローの記述を再生するワークフロー合成手段を備えること。
以上により、これらを組み合わせて全ての枝葉末節までの業務データを合成することが可能となるため、解決できることになる。
上記「業務プロセストラッキング処理で分散的な管理概念がある方式の管理非効率に関する課題」に対する解決手段としては、図19に記した従来の業務プロセストラッキング装置で分散的な管理概念が完全に対照分散処理であることに対して、本発明は業務プロセスモニタ・トラッキング装置を配置し、集中方式としていることである。
その前提としては、
(1)分散している要素ワークフローの記述を複数個合成し、全体のワークフローの記述を再生するワークフロー合成手段。
(2)要素ワークフロー部分を実施する際に事象として発生するイベント群を当該全体のワークフローの記述に当てはめ、当該イベント群以外のイベント群と関連して記録するイベント格納手段。
(3)イベント格納手段に記録されている任意の情報を、要求に応じて他の装置に参照させる要素手段。
(4)要素ワークフローの記述内の記述子に対して、業務内の意味情報を付与するアプリケーションラベル入力手段。
(5)集中的に統計処理を実施する、統計データを生成する処理手段。
以上の五つの要素が存在していることである。
上記「業務プロセストラッキングのための観測手段の業務アプリケーションシステムに対する独立性に関する課題」に対する解決としては、複数の業務アプリケーションシステム群を、ワークフローエンジンを実装したワークフロー管理システムが呼び出す際に、当該業務アプリケーションシステム群固有の通信手順を、標準的な通信手順として変換するアダプタ処理手段である。
上記原理に基づく本発明は、そこに含まれる要素手段により、図18に示した従来第1の方式の業務プロセストラッキング装置で発生する上記五つの課題全てを解決しえるので有効である。
更に、当該五つの課題に対する従来解決策として従来第2の方式よりも、より効率性が高いことが期待できることから、更に有効である。
以下、上記原理に基づく本発明の好適な実施の形態について説明する。
〔第1の実施形態〕
図1は、本発明を好適に実施した第1の実施形態にかかる分散ワークフロー管理方法に基づく業務プロセストラッキング装置の構成を示す。この業務プロセストラッキング装置は、分散ワークフロー管理方式に基づく複数のワークフローシステム(記号:WfMS_1)1、(記号:WfMS_2)2、並びに独自実装で、複数配置される他社・既存ワークフローシステム(記号:WfMS_3)3、並びに他社・既存ワークフローシステム3の複数をまとめ、この分散ワークフロー管理方法への仲介を行うProxyシステム(記号:PrxS)4、ワークフローシステム1、2やProxyシステム4から、各種イベント情報を収集した後、整理、統合、格納するための分散ワークフローモニタシステム(記号:DsWfMS)5、並びに分散ワークフローモニタシステム5にアクセスするためのクライアントシステムとして、Webブラウザによるクライアントサイト6、60を含んで構成される。
ワークフローシステム1は、複数の業務アプリケーションシステム(記号:AP_A)7、(記号:AP_B)8と通信を行う。また、ワークフローシステム2は、複数の業務アプリケーションシステム(記号:AP_C)9、(記号:AP_D)10と通信を行う。また、ワークフローシステム3は、複数の業務アプリケーションシステム(記号:AP_E)11、(記号:AP_F)12と、Proxyシステム4を介して通信を行う。
上記の通信を実現するために、業務アプリケーションシステム7は、データ通信部(記号:COM_A)13を含む。また、業務アプリケーションシステム8は、データ通信部(記号:COM_B)14を含む。
同様に、業務アプリケーションシステム9は、データ通信部(記号:COM_C)15を含む。また、業務アプリケーションシステム10は、データ通信部(記号:COM_D)16を含む。
同様に、業務アプリケーションシステム11は、データ通信部(記号:COM_E)17を含む。また、業務アプリケーションシステム12は、データ通信部(記号:COM_F)18を含む。
これに対して、ワークフローシステム1は、データ通信部13と通信を行うためのアダプタ(記号:AD1_A)19を含むとともにデータ通信部14と通信を行うためのアダプタ(記号:AD1_B)20も含む。これらのアダプタは、ワークフローシステム1に含まれるワークフローエンジン(記号:WfE_1)29が動作した結果、必要な通信を業務アプリケーションシステム7、業務アプリケーションシステム8と行う際に通信プロトコル上の差異及び操作上の差異を変換する。
同様に、ワークフローシステム2は、データ通信部15と通信を行うためのアダプタ(記号:AD2_C)21を含むとともにデータ通信部16と通信を行うためのアダプタ(記号:AD2_D)22も含む。これらのアダプタは、ワークフローシステム2に含まれるワークフローエンジン(記号:WfE_2)32が動作した結果、必要な通信を業務アプリケーションシステム9、業務アプリケーションシステム10と行う際に通信プロトコル上の差異及び操作上の差異を変換する。
同様に、ワークフローシステム3は、データ通信部17と通信を行うためのアダプタ(記号:AD3_E)23を含むとともにデータ通信部18と通信を行うためのアダプタ(記号:AD3_F)24も含む。これらのアダプタは、ワークフローシステム3に含まれるワークフローエンジン(記号:WfE_3)37が動作した結果、必要な通信を業務アプリケーションシステム11、業務アプリケーションシステム12と行う際に通信プロトコル上の差異及び操作上の差異を変換する。
なお、ワークフローシステム3は、独自実装の他社・既存ワークフローエンジンであることを想定しているため、データ通信部17とアダプタ23と間の通信、並びにデータ通信部18とアダプタ24と間の通信は、Proxyシステム4内のプロキシ部(記号:Prx_3)35を介して実現される。
ワークフローエンジン29の挙動は、ワークフローシステム1に含まれるワークフロー定義(記号:Wf定義_1)31で定義される。通常、一つのワークフロー定義31は、二つの部分で構成される。一方は、ワークフローエンジン29の挙動のみを表す部分であり、他方は、ワークフローエンジン29が通信する相手のインタフェースを表す部分である。これらのうち、前者は、WS-BPEL(Web Service Business Process Execution Language)を用いて記述されるのが標準であり、後者は、WSDL(Web Service Definition Language)を用いて記述されるのが標準である。
ワークフロー定義31は、分散配置されている他のワークフローシステム2、Proxyシステム4を介して通信されるワークフローシステム3との間でやりとりする処理要求・処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム7、8との通信の結果発生する処理要求・処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン29がどのような状態になり、どのような処理要求、処理応答メッセージを発するかを規定している。
ワークフローエンジン32の挙動は、ワークフローシステム2に含まれるワークフロー定義(記号:Wf定義_2)34で定義される。ワークフロー定義34は、分散配置されている他のワークフローシステム1、Proxyシステム4を介して通信されるワークフローシステム3からの処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム9、10との通信の結果発生する処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン32がどのような状態になり、どのような処理要求、処理応答メッセージを発するかを規定している。
ワークフローエンジン37の挙動は、ワークフローシステム3に含まれるワークフロー定義(記号:Wf定義_3)39で定義される。ワークフロー定義39は、ワークフローシステム1、ワークフローシステム2からProxyシステム4を介して通信される処理要求、処理応答メッセージに関するイベント、並びに複数の業務アプリケーションシステム11、12からProxyシステム4を介して通信される処理要求、処理応答メッセージに関するイベントが発生した場合に、ワークフローエンジン37がどのような状態になり、どのような処理要求、処理応答メッセージを発するかを規定している。なお、ワークフローシステム3は、独自実装の他社・既存ワークフローエンジンであることを想定しているため、ワークフロー定義39は、標準化された形式(例えば、WS-BPEL及びWSDL)で記述されるとは限らない。その場合、後述するWf定義・サービス定義取得部55が、それらを標準化された形式に変換する。
ワークフローシステム1で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム1内に点在する複数のイベント抽出部により検出される。データ通信部13とアダプタ19との間の通信は、アダプタ19内に組み込まれたMsgイベント抽出部25によって全て検出される。同様に、データ通信部14とアダプタ20との間の通信は、アダプタ20内に組み込まれたMsgイベント抽出部26によって全て検出される。ワークフローエンジン29の挙動は、Engイベント抽出部30によって検出される。
Msgイベント抽出部25、Msgイベント抽出部26、Engイベント抽出部30によって抽出されたイベント情報は、ワークフローシステム1内のイベントデータ保持部40に一時的の保管され、適宜、共通データ送信部41により、分散ワークフローモニタシステム5に転送される。
ワークフローシステム2で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム2内に点在する複数のイベント抽出部により検出される。データ通信部15とアダプタ21との間の通信は、アダプタ21内に組み込まれたMsgイベント抽出部27によって全て検出される。同様に、データ通信部16とアダプタ22との間の通信は、アダプタ22内に組み込まれたMsgイベント抽出部28によって全て検出される。ワークフローエンジン32の挙動は、Engイベント抽出部33によって検出される。
Msgイベント抽出部27、Msgイベント抽出部28、Engイベント抽出部33によって抽出されたイベント情報は、ワークフローシステム2内のイベントデータ保持部42に一時的に保管され、適宜、共通データ送信部43により、分散ワークフローモニタシステム5に転送される。
ワークフローシステム3で発生する処理要求、処理応答メッセージに関するイベント群の収集は、独自実装の他社・既存ワークフローエンジンであるため、ワークフローシステム1や2とは処理方式が異なる。データ通信部17とアダプタ23との間の通信は、プロキシ部35を介して行なわれる。そのため、発生する処理要求、処理応答メッセージに関するイベントは、Proxyシステム4内のプロキシ部35に連結された、Prxイベント抽出部36によって検出される。データ通信部18とアダプタ24との間の通信で、発生する処理要求、処理応答メッセージに関するイベントも、Prxイベント抽出部36によって検出される。
Prxイベント抽出部36によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的に保管される。
これに対して、ワークフローエンジン37の挙動は、ワークフローシステム3内に配置されたEngイベント抽出部38によって検出され、共通データ送信部47に一時的に保存される。その後、ワークフローシステム3内に一時的に保存されたイベントに関するデータは共通データ送信部47によって適宜、Proxyシステム4へ送信される。
その後、Proxyシステム4は、自身の共通データ受信部46を用いて、上記のイベントに関するデータを収集し、Proxyシステム4内のイベントデータ保持部45に一時的に保管する。
イベントデータ保持部45に一時的に保管した、イベントに関する全てのデータは、適宜、共通データ送信部44により、分散ワークフローモニタシステム5に転送される。
分散ワークフローモニタシステム5は、ワークフロー定義31、ワークフロー定義34、ワークフロー定義39を受信し、一部変換を施すWf定義・サービス定義取得部55、並びにWf定義・サービス定義取得部55が得た全てのワークフロー定義から、統合されたワークフロー定義を合成するWf合成部48、当該合成したワークフロー定義を格納管理する合成Wf定義50を含む。
特にWf定義・サービス定義取得部55は、外部に置かれたリポジトリ56へのアクセスが可能である。
更に、分散ワークフローモニタシステム5は、ワークフローシステム1、ワークフローシステム2、並びにProxyシステム4からイベントに関する全てのデータを受信するイベントデータ受信部49、統合・合成したワークフロー定義を格納管理する合成Wf定義50を参照し、イベントデータ受信部49が受ける全てのイベントデータを整理、関係付ける(イベントの出生死滅の因果関係を定義する)処理を行うイベントデータ関係付け部51、関連付けのなされたイベントデータを保持するイベント格納DB52を含む。イベントデータ同士を関係付ける処理については後段で詳細に説明する。
更に、分散ワークフローモニタシステム5は、統合・合成したワークフロー定義を格納管理する合成Wf定義50内のデータに対し、業務に関連したラベルを定義、命名するアプリケーションであるAPラベル入力部58、合成Wf定義50を基に、ある該当条件のイベントデータを検索するアプリケーションである検索機能部53、検索機能部53の戻す結果を基に合成Wf定義50内のデータに関連付け、イベントデータを時系列に並べて表示するためのトラッキング表示作成部54、更にイベント格納DB52に格納管理されたデータを基に統計処理、評価処理を行うバッチ処理部59をも含む。なお、バッチ処理部59の動作(データベースに蓄積されたデータを基に、統計・評価処理を行う動作)は、従来公知の動作と同様であるため、これに関しては詳細な説明を割愛する。
APラベル入力部58の操作は1台以上のクライアントサイト60を介して行われ、クライアントサイト60にWebブラウザによって表示された画面(各種イベントに意味付けを定義するための画面)を用いて行われる。
また、検索機能部53、トラッキング表示作成部54の操作は、1台以上のクライアントサイト6を介して行われ、クライアントサイト6にWebブラウザによって表示された画面を用いて行われる。
〔動作の説明〕
図2に、分散配置された通常のワークフローエンジンからイベント情報を収集する際の手順概要を示す。
ワークフローエンジン29が、業務アプリケーションシステム7と通信をする場合、ワークフロー定義31に基づき、アダプタ19に、処理要求メッセージC1を送付する。処理要求メッセージC1は、Webサービス等で成される場合もあり、XML等を用いて、定義される。
アダプタ19では、処理要求メッセージC1を、業務アプリケーションシステム7が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージC2として、業務アプリケーションシステム7内の、データ通信部13に送付する。
データ通信部13は、処理要求メッセージC2を受理し、業務アプリケーションシステム7に引き渡す。その結果、必要であれば、新たな処理応答メッセージC3が生成され、データ通信部13からアダプタ19送信される。
アダプタ19は、受信した処理応答メッセージC3を、予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージC4としてワークフローエンジン29へ送信する。
ワークフローエンジン29は、ワークフロー定義31に基づき、次の挙動を決定する。その結果、業務アプリケーションシステム8と通信をする場合、ワークフロー定義31に基づき、今度はアダプタ20に処理要求メッセージC5を送付する。処理要求メッセージC5も、Webサービス等で成される場合もあり、XML等を用いて、定義される。
アダプタ20では、処理要求メッセージC5を、業務アプリケーションシステム8が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージC6として、業務アプリケーションシステム8内のデータ通信部14へ送付する。
データ通信部14は、処理要求メッセージC6を受理し、業務アプリケーションシステム8に引き渡す。その結果、必要であれば、新たな処理応答メッセージC7が生成され、データ通信部14からアダプタ20に送信される。
アダプタ20は、処理応答メッセージC7を予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージC8として、ワークフローエンジン29へ送信する。
ワークフローエンジン29は、ワークフロー定義31に基づき、次の挙動を決定するが、その挙動の一つとしてワークフローシステム2と通信をする場合がある。その場合、ワークフロー定義31に基づき、今度はワークフローシステム2へ処理要求メッセージC21を送付する。処理要求メッセージC21も、Webサービスなどで成される場合もあり、XMLなどを用いて、定義される。
処理要求メッセージC21に応じて処理応答メッセージC22が送信されてきた場合、ワークフローエンジン29はこれを受信する。
ワークフローシステム1で発生する処理要求、処理応答メッセージに関するイベントは、ワークフローシステム1内に点在する複数のイベント抽出部により抽出される。具体的には、アダプタ19には、Msgイベント抽出部25が組み込まれている。
Msgイベント抽出部25は、アダプタ19が処理要求メッセージC1を受信した段階で、これを検出し、メッセージに関するイベントC17としてイベントデータ保持部40に記録する。また、Msgイベント抽出部25は、アダプタ19が、処理要求メッセージC1を業務アプリケーションシステム7が受け入れられるような通信プロトコル、並びに手順に変換し、処理要求メッセージC2として送信した段階で、これを検出し、メッセージに関するイベントC18としてイベントデータ保持部40に記録する。
同様に、Msgイベント抽出部25は、アダプタ19が処理応答メッセージC3をデータ通信部13から受信した段階で、これを検出し、メッセージに関するイベントC19としてイベントデータ保持部40に記録する。また、Msgイベント抽出部25は、アダプタ19が、処理応答メッセージC3を変換して、処理応答メッセージC4とし、ワークフローエンジン29に送付した段階で、これを検出し、メッセージに関するイベントC20としてイベントデータ保持部40に記録する。
同様に、アダプタ20には、Msgイベント抽出部26が組み込まれている。
Msgイベント抽出部26は、Msgイベント抽出部25はと同じ要領で、処理要求メッセージC5を検出し、メッセージに関するイベントC13としてイベントデータ保持部40に記録する。加えて、処理要求メッセージC6を検出し、メッセージに関するイベントC14としてイベントデータ保持部40に記録する。更に、処理応答メッセージC7を検出し、メッセージに関するイベントC15としてイベントデータ保持部40に記録する。最後に処理応答メッセージC8を検出し、メッセージに関するイベントC16としてイベントデータ保持部40に記録する。
ワークフローエンジン29の挙動は、Engイベント抽出部30によって検出される。ワークフローエンジン29から発生したメッセージ、並びに受理されたメッセージに関する一連のイベントは全て、Engイベント抽出部30が扱う。
例えば、アダプタ19に引き渡された処理要求メッセージC1はEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC9としてイベントデータ保持部40に記録する。同様に、アダプタ19から引き渡された処理応答メッセージC4をEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC10としてイベントデータ保持部40に記録する。
更に、アダプタ20に引き渡された処理要求メッセージC5はEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC11としてイベントデータ保持部40に記録する。同様に、アダプタ20から引き渡された処理応答メッセージC8をEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC12としてイベントデータ保持部40に記録する。
更に、別のワークフローシステム2と通信をする場合も同様に扱う。ワークフローシステム2に送付した処理要求メッセージC21はEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC23としてイベントデータ保持部40に記録する。また、処理要求メッセージC21の結果として戻される処理応答メッセージC22もEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントC24としてイベントデータ保持部40に記録する。
ワークフローシステム1内のイベントデータ保持部40に記録されたイベントデータ(Msgイベント抽出部25で記録されたメッセージに関するイベントであるC17、C18、C19、C20、及びMsgイベント抽出部26で記録されたメッセージに関するイベントであるC13、C14、C15、C16、並びにEngイベント抽出部30で検出し、エンジンにおけるメッセージに関するイベントであるC9、C10、C11、C12、C23、C24)の各々は、一時的の保管され、その後、これを基にした所定のフォーマットのイベントデータ転送メッセージC25が共通データ送信部41によって作成され、分散ワークフローモニタシステム5へ適宜、転送される。
分散ワークフローモニタシステム5には、イベントに関する全てのデータを受信するイベントデータ受信部49が存在しており、イベントデータ転送メッセージC25を受理する。
次に図3を用い、独自実装の他社・既存ワークフローエンジンからProxyシステムを介してイベント情報を収集する際の手順概要を説明する。
ワークフローエンジン37が、業務アプリケーションシステム11と通信をする場合、ワークフロー定義39に基づき、アダプタ(記号:AD1_E)23に、処理要求メッセージC30を送付する。処理要求メッセージC30は、Webサービス等で成される場合もあり、XMLなどを用いて定義されるが、ここではワークフローシステム3は、独自実装の他社・既存ワークフローエンジンであることを想定しているため、データ通信部17とアダプタ23との間の通信、並びにデータ通信部18とアダプタ24との間の通信は、Proxyシステム4内のプロキシ部35を介して実現され、必ずしもWebサービス等で成されるとは限らない。
アダプタ23では、処理要求メッセージC30を、業務アプリケーションシステム11が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージC31として、業務アプリケーションシステム11内の、データ通信部17に向けて送付する。
業務アプリケーションシステム11へのメッセージの送付は、Proxyシステム4内のプロキシ部35を介して実現されるため、一度、プロキシ部35が処理要求メッセージC31を受け、更にデータ通信部17に向けて、処理要求メッセージC32として送信する。
データ通信部17は、処理要求メッセージC32を受理し、業務アプリケーションシステム11に引き渡す。その結果、必要であれば、新たな処理応答メッセージC33が生成され、データ通信部17からアダプタ23に向けて送信される。
業務アプリケーションシステム11からワークフローシステム3へのメッセージの送付の場合も、Proxyシステム4内のプロキシ部35を介して実現されるため、一度、プロキシ部35が処理応答メッセージC33を受け、更にアダプタ23に向けて、処理応答メッセージC34として送信する。
アダプタ23は、処理応答メッセージC34を予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージC35として、ワークフローエンジン37に送付する。
ワークフローエンジン37は、ワークフロー定義39に基づき、次の挙動を決定する。その結果、業務アプリケーションシステム12に通信をする場合、ワークフロー定義39に基づき、ワークフローエンジン37は今度はアダプタ24に、処理要求メッセージC36を送付する。
アダプタ24では、処理要求メッセージC36を、業務アプリケーションシステム12が受け入れられるような通信プロトコル、並びに手順に変換し、新たな処理要求メッセージC37として、業務アプリケーションシステム12内の、データ通信部18に向けて送付する。
業務アプリケーションシステム12へのメッセージの送付は、Proxyシステム4内のプロキシ部35を介して実現されるため、一度、プロキシ部35が処理要求メッセージC37を受け、更にデータ通信部18に向けて、新処理要求メッセージC38として送信する。
データ通信部18は、処理要求メッセージC38を受理し、業務アプリケーションシステム12に引き渡す。その結果、必要であれば、新たな処理応答メッセージC39が生成され、データ通信部18からアダプタ24に向けて応答される。
この場合も、送付の際は、Proxyシステム4内のプロキシ部35を介して実現されるため、一度、プロキシ部35が処理応答メッセージC39を受け、更にアダプタ24に向けて、新処理応答メッセージC40として送付し直す。
アダプタ24は、新処理応答メッセージC40を予め規定されている通信プロトコル、並びに手順に変換し、処理応答メッセージC41として、ワークフローエンジン37に戻す。
ワークフローエンジン37は、ワークフロー定義39に基づき、次の挙動を決定するが、挙動の一つとしてワークフローシステム2と通信をする場合がある。その場合、ワークフロー定義39に基づき、今度はワークフローシステム2に処理要求メッセージC48を送付する。処理要求メッセージC48は、Webサービス等で成されるとは限らず、任意の表現にて、定義される。
処理要求メッセージC48の結果は、処理応答メッセージC49として、ワークフローエンジン37に戻される。
ワークフローシステム3で発生する処理要求、処理応答メッセージに関するイベント群の検出は、独自実装の他社・既存ワークフローエンジンであるため、通常の処理方式とは異なる方法が採用される。
データ通信部17とアダプタ23との間の通信は、プロキシ部35を介して行なわれる。そのため、発生する処理要求、処理応答メッセージに関するイベントは、Proxyシステム4内のプロキシ部35に連結された、Prxイベント抽出部36によって検出される。データ通信部18とアダプタ24との間の通信で、発生する処理要求、処理応答メッセージに関するイベントも、Prxイベント抽出部36によって検出される。
Prxイベント抽出部36は、アダプタ23が処理要求メッセージC31を送信し、プロキシ部35が受信し、それをデータ通信部17に向けて、C32として送信した段階で、これを検出し、メッセージに関するイベントC50としてイベントデータ保持部45に記録する。また、Prxイベント抽出部36は、データ通信部17が処理応答メッセージC33を送信し、プロキシ部35が受信し、それをアダプタ23に向けてC34として送信した段階で、これを検出し、メッセージに関するイベントC51としてイベントデータ保持部45に記録する。
同様に、Prxイベント抽出部36は、アダプタ24が処理要求メッセージC37を送信し、プロキシ部35が受信し、それをデータ通信部18に向けて、C38として送信した段階で、これを検出し、メッセージに関するイベントC52としてイベントデータ保持部45に記録する。また、Prxイベント抽出部36は、データ通信部18が処理応答メッセージC39を送信し、プロキシ部35が受信し、それをアダプタ24に向けてC40として送信した段階で、これを検出し、メッセージに関するイベントC53としてイベントデータ保持部45に記録する。
Prxイベント抽出部36によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的の保管される。
これに対して、ワークフローエンジン37の挙動は、ワークフローシステム3内に配置されたEngイベント抽出部38によって検出される。
例えば、アダプタ23に引き渡された処理要求メッセージC30はEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC42として共通データ送信部47に一時的に記録する。同様に、アダプタ23から引き渡された処理応答メッセージC35をEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC43として共通データ送信部47に一時的に記録する。
更に、アダプタ24に引き渡された処理要求メッセージC36はEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC44として共通データ送信部47に一時的に記録する。同様に、アダプタ24から引き渡された処理応答メッセージC41をEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC45として共通データ送信部47に一時的に記録する。
更に、ワークフローシステム2と通信をする場合も同様に扱う。ワークフローシステム2に送付した処理要求メッセージC48はEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC46として共通データ送信部47に一時的に記録する。また、処理要求メッセージC48の結果として戻される処理応答メッセージC49もEngイベント抽出部38で検出し、エンジンにおけるメッセージに関するイベントC47として共通データ送信部47に一時的に記録する。
その後、ワークフローシステム3内に配置された共通データ送信部47を用いて、イベントに関するデータを、Proxyシステム4に適宜、決められたフォーマットにてイベントデータ転送メッセージC54が作成され、転送される。
その後、Proxyシステム4は、自身の共通データ受信部46を用いて、イベントに関するイベントデータ転送メッセージC54を受信し、Proxyシステム4内のイベントデータ保持部45に一時的に保管する。
その後、共通データ送信部44により、分散ワークフローモニタシステム5に適宜、決められたフォーマットにてイベントデータ転送メッセージC26が作成され、転送される。
分散ワークフローモニタシステム5には、イベントに関する全てのデータを受信するイベントデータ受信部49が存在しており、イベントデータ転送メッセージC26を受理する。
図4では、分散配置されたワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合・合成されたWf定義を生成する際の手順、並びに統合された当該Wf定義をメンテナンスする際の手順概要を記す。
ワークフローシステム1に含まれるワークフローエンジン29の挙動は、ワークフロー定義31で定義される。通常、ワークフロー定義31は、ワークフローエンジン29の挙動のみを記載し、標準化された形式であるWS-BPELとWSDLとを始めとするプロセスの記述等で記載される。
ワークフローシステム2に含まれるワークフローエンジン32の挙動は、ワークフロー定義34で定義される。通常、ワークフロー定義34は、ワークフローエンジン32の挙動のみを記載し、標準化された形式であるWS-BPELとWSDLとを始めとするプロセスの記述等で記載される。
ワークフローシステム3に含まれるワークフローエンジン37の挙動は、ワークフロー定義39で定義される。ここで、ワークフローシステム3は、独自実装の他社・既存ワークフローエンジンであることを想定しているため、ワークフロー定義39は、標準化された形式であるWS-BPELとWSDLとで記載されるとは限らない。
ワークフロー定義31は、定義転送メッセージC60として、またワークフロー定義34は、定義転送メッセージC61として、またワークフロー定義39は、定義転送メッセージC62として、分散ワークフローモニタシステム5内の、Wf定義・サービス定義取得部55に適宜、転送される。
Wf定義・サービス定義取得部55が、定義転送メッセージC60、C61、C62を受信すると、その形式を判断する。もし、標準化された形式(例えば、WS-BPELとWSDL)で定義されていない定義転送メッセージ(ここではC62)を受信すると、Wf定義・サービス定義取得部55が標準化された形式(例えば、WS-BPELとWSDL)に変換し、保持する。
図5は、Wf定義の一つの表現形式を記した図であり、WS-BPELとWSDとの記述例を記したものである。標準化されていないワークフロー定義39でも、通常はほぼ等価な情報項目を持つことが一般的である。
図5でプロセス定義D1は一つのWS-BPELのインスタンスとして記載される。プロセス定義D1は、定義部D3、アクティビティ部D4、D5、D6を含んで構成される。
アクティビティ部D4、D5、D6は、該当するメッセージを受信した場合の挙動を定義するアクティビティ部D4、実際の業務ロジックに相当する挙動を定義するアクティビティ部D5、該当するメッセージを往信する場合の挙動を定義するアクティビティ部D6に分類される。
これに対して、具体的なサービス定義D2は、一つのWSDLのインスタンスとして記載される。サービス定義D2は、プロセス定義D1と直接関係するもの、並びに独立に記載されるものの2種類が存在する。
サービス定義D2は、サービスを呼び出す場合のメッセージ形式、サービスを呼び出したことで発生する往信メッセージの形式を定義するメッセージ定義部D7、メッセージ定義部D7を使って実際のインタフェースを定義するポート定義部D8、ポート定義部D8を実際のトランスポートに対応付けるバインディング部D9、バインディング部D9等を使ってサービスとして定義するサービス定義部D10を含んで構成される。
メッセージを受信した場合の挙動を定義するアクティビティ部D4で、任意のサービスを特定する場合、そのサービスに相当するサービス定義D2のポート定義部D8を参照することになる。同様にメッセージを往信する場合の挙動を定義するアクティビティ部D6や、実際の業務ロジックに相当する挙動を定義するアクティビティ部D5で、任意のサービスを特定する場合、間接的に当該サービスに相当するサービス定義D2のポート定義部D8を参照することになる。
図5のサービス定義D2、プロセス定義D1は通常、計算機可読の表現で記載され、意味的な情報を直接含むことは少ない。
その後、Wf定義・サービス定義取得部55は、取得、もしくは変換にて得た標準化された形式(例えば、WS-BPELとWSDL)によるワークフロー定義31、34、39の全てを保持する。その場合、外部に置かれたリポジトリ56にて保存しても良い。
分散ワークフローモニタシステム5内には、Wf定義・サービス定義取得部55が得た、全てのワークフロー定義31、34、39等から、統合されたワークフロー定義を合成するWf合成部48、当該合成したワークフロー定義を格納管理する合成Wf定義50が存在する。
Wf合成部48は、要素となる全てのワークフロー定義を得るため、Wf定義・サービス定義取得部55を随時起動する。Wf定義・サービス定義取得部55は、既に内部で保持している要素となる全てのワークフロー定義情報を入手するとともに、リポジトリ56に対して、問い合わせC74を実施し、要素となる残りの全てのワークフロー定義情報をも入手する。
その後、Wf定義・サービス定義取得部55は、全てのワークフロー定義情報C75を、Wf合成部48に引き渡す。Wf合成部48は、図6〜図11に記された手順で、統合・合成されたワークフロー定義C63を生成しそれを、合成Wf定義50に渡す。
ワークフローシステム1の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム1内のイベントデータ保持部40に一時的に保管され、適宜、共通データ送信部41により、イベントデータ転送メッセージC25として分散ワークフローモニタシステム5に転送される。分散ワークフローモニタシステム5では、その内部にあり、イベントに関する全てのデータを受信するイベントデータ受信部49がイベントデータ転送メッセージC25を受信する。
ワークフローシステム2の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム2内のイベントデータ保持部42に一時的に保管され、適宜、共通データ送信部42により、イベントデータ転送メッセージC25’として分散ワークフローモニタシステム5に転送される。分散ワークフローモニタシステム5では、イベントデータ受信部49がイベントデータ転送メッセージC25’を受信する。
これに対して、Proxyシステム4の各種イベント抽出部によって抽出されたイベント情報は、Proxyシステム4内のイベントデータ保持部45に一時的に保管される。
また、Proxyシステム4と連携するワークフローシステム3内の各種イベント抽出部によって抽出されたイベント情報は、ワークフローシステム3内の共通データ送信部47からイベントデータ転送メッセージC54としてProxyシステム4に送付される。
Proxyシステム4には、イベントデータ受信部46が配置されており、これを用いてイベントデータ転送メッセージC54を受信する。その後、イベントデータ転送メッセージC54に記載された全てのイベント情報は、イベントデータ保持部45に一時的に保管される。
イベントデータ保持部45内に一時的に保管した、イベントに関する全てのデータは、適宜、共通データ送信部44により、イベントデータ転送メッセージC26として分散ワークフローモニタシステム5に転送される。分散ワークフローモニタシステム5では、その内部にあり、イベントに関する全てのデータを受信するイベントデータ受信部49がイベントデータ転送メッセージC26を受信する。
イベントデータ受信部49は、イベントに関する全てのデータC64を、イベントデータ関係付け部51に引き渡す。イベントデータ関係付け部51は、統合・合成したワークフロー定義を格納管理する合成Wf定義50を参照し、その内部に管理されているサービス定義・プロセス定義情報C67を検索、参照しながら、イベントに関する全てのデータC64の各々が、どのサービス・プロセスのメッセージインスタンスに相当するかを整理、関係付け、かつ現在、イベント格納DB52にて管理されているメッセージインスタンス群C66を検索の上で、関係付ける。その後、新たなメッセージインスタンスC65のレコードとしてイベント格納DB52に格納する。この処理については、後段で図12を用いて詳細に説明する。
合成Wf定義50に管理されるサービス定義・プロセス定義情報は、図5に記載されるようなプロセス定義D1、定義部D3、アクティビティ部D4、D5、D6、サービス定義D2、メッセージ定義部D7、ポート定義部D8、バインディング部D9、サービス定義部D10等を含んで構成される。これらは、上記のように計算機可読の表現で記載され、意味的な情報(人間が理解可能な形式の情報)を直接含むことは少ない。
このため、分散ワークフローモニタシステム5には、合成Wf定義50に管理されるサービス定義・プロセス定義情報にアプリケーション上の表現(人間が理解可能な形式の情報)を追加するため、APラベル入力部58が存在する。
主にシステム管理者である利用者は、1台以上のクライアントサイト60を起動することで、APラベル入力部58を操作することになる。
図13は、APラベル入力部58の処理によってクライアントサイト60に表示される画面(各種イベントに意味付けを定義するための画面)の概要図である。図示するのは、クライアントサイト60上に表示され、APラベル入力部58に所属し、各種イベントに意味付けを定義するための画面である。Webブラウザ61の上に統合・合成したワークフロー定義全体を表示する画面フレーム62と入力用の画面フレーム64とが表示される。
画面フレーム62には、統合・合成したワークフロー定義全体を構成するプロセス定義D1の全てのもの、該プロセス定義に所属するアクティビティ部の全て、並びに該アクティビティ部間の関係を定義する全てのサービス定義をもとにしたグラフ構造を意味する図が表示される。
入力用の画面フレーム64には、表形式の入力欄が表示され、アクティビティ部のインスタンスに対応する表示名の入力欄65、アクティビティ部のインスタンスに対応する意味の入力欄66、並びにOKボタン67、キャンセルボタン68を含んで構成される。
利用者が、クライアントサイト60上のWebブラウザ61の上で操作すると、合成Wf定義50に管理されるサービス定義・プロセス定義情報が、APラベル入力部58を介して、画面フレーム62上に表示される。画面フレーム62上のグラフ構造から、あるアクティビティ部のインスタンスに対応するノードを一つ選択する。すると、入力用の画面フレーム64が表示される。ここでの入力欄で、先に選択したノードに対応するアクティビティ部のインスタンスに対して定義名と意味とを自然言語表現にて入力し、OKボタン67を押下する。
このような操作を行うと、定義名・意味情報C77が、APラベル入力部58に送付される。APラベル入力部58が一度、定義名・意味情報C77を入手すると、合成Wf定義50に管理されるサービス定義・プロセス定義情報から、アクティビティ部のインスタンスに相当するものを選び出し、当該インスタンスに関係付けるように定義名・意味情報C78を合成Wf定義50に格納する。
バッチ処理部59は、指定された時間ごとに起動し、イベント格納DB52に格納管理されたメッセージインスタンスのレコードに対して適宜検索を掛けていく。特に指定の統計処理に必要なメッセージインスタンスのレコード群C80を取り出し、内部での計算において入力値として用いる。
バッチ処理部59は、指定の統計処理計算が終了した段階で、その結果値C79をイベント格納DB52に格納する。そのようにすることで、トラッキングなどでそれらの統計データを用いることが可能となる。
システム管理者である利用者は、1台以上のクライアントサイト6を起動することで、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示することが可能である。図14〜17は、当該クライアントサイト6上に表示される画面の構成であり、検索機能部53、トラッキング表示作成部54に所属し、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示するための画面概要図である。
図14は、クライアントサイト6上に表示され、検索機能部53に所属し、統合されたWf定義を検索するための画面概要図である。Webブラウザ76の上に、統合プロセス定義名を検索する際の指定入力欄71、検索ボタン69、リスト表示ボタン70、OKボタン74、キャンセルボタン75、複数エントリからなる統合プロセス定義名の一覧、当該統合プロセス定義名の一覧から一つの統合プロセス定義名を選択するため、各々のエントリに付与されたチェックボックス群73、並びにマウスポインタ72を含んで構成される。
図14の画面で、統合プロセス定義名を検索する際の指定入力欄71に検索文字列を入れ、検索ボタン69を押下する、もしくはリスト表示ボタン70を押下すると、図4に示したように、クライアントサイト6から分散ワークフローモニタシステム5にWf定義検索メッセージC68が転送される。その後、検索機能部53がWf定義検索メッセージC68を受け取った後、合成Wf定義50に対して、検索問い合わせを実施し、検索結果C70を得る。その後、検索機能部53は検索結果C90をクライアントサイト6に戻し、Webブラウザ76に表示する。
また、図14の画面上の統合プロセス定義名の一覧から一つ選択し、そのエントリに付与されたチェックボックス73にチェックの後、OKボタン74を押下する。すると、図4に示したように、クライアントサイト6から分散ワークフローモニタシステム5にWf定義要求メッセージC91が転送される。その後、検索機能部53がWf定義要求メッセージC91を受け取った後、合成Wf定義50に対して、検索問い合わせを実施し、問い合わせ結果C92を得る。
その後、検索機能部53は、イベント格納DB52に状況状態の確認問い合わせC69を行った後、トラッキング表示作成部54に必要な起動情報引数C71を渡し、これを起動する。トラッキング表示作成部54は起動後、合成Wf定義50からプロセス定義情報他の描画に必要な情報C81を受ける。その後、トラッキング表示作成部54は当該表示データC73をクライアントサイト6に戻し、図15の画面をWebブラウザ77に表示する。
図15は、クライアントサイト6上に表示され、トラッキング表示作成部54に所属し、統合されたWf定義をビジュアルに表示するための画面概要図である。
図15の画面では、Webブラウザ77の上に、業務アプリケーションシステム7、8等を意味し、ネットワーク上のロケーション情報と合わせて表示するラベル群80、Wf定義上のプロセス定義を出生死滅の存在する時系列表示したシンボル群、当該プロセス定義に所属するアクティビティ部間の関係をメッセージによる通信、矢印として表現するサービス定義に関するシンボル群82、サービス定義をズームアップできるように、各々のシンボル82に付与されたチェックボックス群81、ズームアップを指定する詳細表示ボタン79、Wf定義の指定箇所に相当するプロセスに関連するメッセージインスタンスのレコード群をイベント格納DB52から検索するためのフォーカスボタン78、Wf定義配下のプロセスに関連するメッセージインスタンスのレコード群一覧をリストアップ表示するための画面フレームを含んで構成される。なお、リストアップ表示するための画面フレームは表示されない場合もある。
図15の画面にて、ズームアップ処理をするため、あるシンボル82に付与されたチェックボックス81にチェックし、ズームアップを指定する詳細表示ボタン79を押下する。すると、図4に示したように、クライアントサイト6から分散ワークフローモニタシステム5にWf定義要求メッセージC91が転送される。その後、検索機能部53がWf定義要求メッセージC91を受け取った後、合成Wf定義50に対して、検索問い合わせを実施し、問い合わせ結果C92を得る。
その後、検索機能部53は、イベント格納DB52に状況状態の確認問い合わせC69を行った後、トラッキング表示作成部54に必要な起動情報引数C71を渡し、これを起動する。トラッキング表示作成部54は起動後、合成Wf定義50からプロセス定義情報他の描画に必要な情報C81を受ける。その後、トラッキング表示作成部54は表示データC73をクライアントサイト6に戻し、図16の画面をWebブラウザ83に表示する。
図16は、クライアントサイト6上に表示され、トラッキング表示作成部54に所属し、統合されたWf定義の詳細をビジュアル表示するとともに、Wf定義配下のプロセスのインスタンスの一覧をリストアップ表示するための画面概要図である。
Webブラウザ83の上に業務アプリケーションシステム7、8等を意味し、ネットワーク上のロケーション情報と合わせて表示するラベル群84、Wf定義上のプロセス定義を出生死滅の存在する時系列表示したシンボル群、当該プロセス定義に所属するアクティビティ部間の関係をメッセージによる通信、矢印として表現するサービス定義に関するシンボル群88を含んで構成され、図15のものよりも、より細密に表現される。
更に図16の画面では、各々のシンボル88に付与されたチェックボックス群89、図13の画面フレーム64で入力され、合成Wf定義50で管理されているアクティビティ部のインスタンスに対応する定義名・意味情報によるラベル群87、キャンセルボタン86、Wf定義の指定箇所に相当するプロセスに関連するメッセージインスタンスのレコード群をイベント格納DB52から検索するためのフォーカスボタン85、Wf定義配下のプロセスに関連するメッセージインスタンスのレコード群一覧をリストアップ表示するための画面フレーム、マウスポインタ93を含んで構成される。
リストアップ表示するための画面フレームには、指定されたWf定義配下のプロセスに関連するメッセージインスタンスのレコード群のリスト表示94、とその各々に付与されたチェックボックス群92、選択結果を意味するOKボタン90、キャンセルボタン91を含んで構成される。
図16のリストアップ表示するための画面フレーム上のチェックボックス群92にマウスポインタ93を持って行き、チェックの後、選択結果を意味するOKボタン90を押下すると、図17の画面に遷移することになる。
図16のリストアップ表示するための画面フレーム上のチェックボックスの一つ92にマウスポインタ93を持って行き、チェックの後、選択結果を意味するOKボタン90を押下する。すると、図4に示したように、クライアントサイト6から分散ワークフローモニタシステム5にWf定義詳細情報要求メッセージC93が転送される。
その後、トラッキング表示作成部54がWf定義詳細情報要求メッセージC93を受け取った後、イベント格納DB52に対して、詳細問い合わせを実施し、詳細問い合わせ結果C72を得る。その後、トラッキング表示作成部54は当該詳細問い合わせ結果データC94をクライアントサイト6に戻し、図17の画面をWebブラウザ95に表示する。
図17は、クライアントサイト6上に表示され、検索機能部53に所属し、図16でWf定義配下のプロセスに関連するメッセージインスタンスのレコード群一覧をリストアップ表示されたものから一つ選択し、そこに付与された統計データ詳細を表示するための画面概要図である。
図17の画面では、Webブラウザ95の上に、図16上で選択されたプロセスに関連するメッセージインスタンスのレコードに関する情報96を表示するとともに、当該レコードに関連する全ての統計データ詳細を表示するフレーム97、OKボタン98、キャンセルボタン99を含んで構成される。
図6は、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集した後、統合されたWf定義との関係を記した図である。また、図7〜図11は、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。
図6で、Wf定義・サービス定義取得部55を随時起動すると、既に内部で保持しているワークフロー定義31、ワークフロー定義34の他、ワークフロー定義39のように、他の形式から変換したワークフロー定義、更に不図示の別のワークフローシステムからも他のワークフロー定義(記号:Wf定義_N)を入手する。加えて、リポジトリ56に対して、問い合わせC74を実施し、統合後のワークフローの要素となりうる残りの全てのワークフロー定義情報をも入手する。なお、リポジトリ56に対する問い合わせC74は、処理開始前に予め全て実施してしまっても良いし、必要に応じてその都度処理中に実施しても良い。
ワークフロー定義31の内、ワークフローエンジンの挙動のみを記載し、標準化された形式であるWS-BPELの部分を図6〜図12ではD20と表記する。これに対して、WSDLを始めとする部分を図6〜図12ではD21と表記する。
ワークフロー定義34の内、ワークフローエンジンの挙動のみを記載し、標準化された形式であるWS-BPELの部分を図6〜図12ではD22と表記する。これに対して、WSDLを始めとする部分を図6〜図12ではD23と表記する。
同様に他のワークフローエンジンの挙動のみを記載し、標準化された形式であるWS-BPELの部分を図6〜図12ではD24と表記する。これに対して、他のWSDLを始めとする部分を図6〜図12ではD25、D26、D27、D28と表記する。
図6〜図12では、図5で定義されたアクティビティ部のうち、該当するメッセージを受信した場合の挙動を定義するアクティビティ部D4をシンボル「Rv」の修飾子、実際の業務ロジックに相当する挙動(他のサービスを呼び出す動作を含む)を定義するアクティビティ部D5をシンボル「l」の修飾子、該当するメッセージを往信する場合の挙動を定義するアクティビティ部D6をシンボル「Rp」の修飾子を付けて表現する。
例えば、ワークフロー定義31内の、受信した場合の挙動を定義するアクティビティ部は、シンボル「1Rv」で表現される。また、実際の業務ロジックに相当する挙動を定義するアクティビティ部は、シンボル「1l1」で表現される。ここで、業務ロジックに相当する挙動を定義するアクティビティ部は複数定義し得るので、シンボル「1l1」「1l2」と複数出現し得る。また、該当するメッセージを往信する場合の挙動を定義するアクティビティ部、シンボル「1Rp」で表現される。
その後、Wf定義・サービス定義取得部55は、ワークフローエンジンの挙動のみを記載したWS-BPEL部分と、他のWSDL部分であり、D20、D21、D22、D23、D24、D25、D26、D27、D28に相当する全てのワークフロー定義情報C75-1、C75-2、C75-3、C75-4、C75-5、C75-6、C75-7、C75-8とを、Wf合成部48に引き渡す。
Wf合成部48は、順番にそれらを参照して、統合・合成されたワークフロー定義C63を生成し、それを、合成Wf定義50に渡す。
図7〜図11では、Wf合成部48が、統合・合成されたワークフロー定義C63を生成する手順を説明する。
ここで、WS-BPEL部D20の実際の業務ロジックに相当する挙動を定義するアクティビティ部1l1には、別のサービス(D23で指定されるサービス)を呼び出すことが定義されているものとする。また、WS-BPEL部D22の実際の業務ロジックに相当する挙動を定義するアクティビティ部2l1には、別のサービス(D25で指定されるサービス)を呼び出すことが定義されているものとする。さらに、WS-BPEL部D24の実際の業務ロジックに相当する挙動を定義するアクティビティ部3l1には、別のサービス(D26、D28でそれぞれ指定されるサービス)を呼び出すことが定義されているものとする。
また、ワークフローの合成は、予め定義された所定の順序で行われる。ここでは、ワークフロー定義31、ワークフロー定義34、ワークフロー定義39の順で合成するものとする。
まず、Wf合成部48は、図7に示すように、ワークフロー定義31に相当するワークフロー定義情報C75-1、C75-5を読み込み、自身のメモリ部に展開する。
この際、ワークフロー定義情報C75-1、C75-5を最初に読み出すことは、予め運用者が定義したルールで指定されている。具体的な一例を挙げると、Wf合成部48に引き渡される前段階で全てのワークフロー定義の内部を事前評価することで、どのワークフロー定義情報から読み出すのかを指定する方法がある。この事前評価では、各ワークフロー定義内のメッセージを能動的に発するアクティビティ定義数を数え上げ、点数として加点していき、加点された点数が大きいワークフロー定義は、メッセージに関するイベントを能動的な発する確率が高いので、ワークフロー定義を優先的に扱う。
以上の結果、三つのアクティビティ部(受信した場合の挙動を定義するアクティビティ部「1Rv」、実際の業務ロジックに相当する挙動を定義するアクティビティ部「1l1」、該当するメッセージを往信する場合の挙動を定義するアクティビティ部「1Rp」)がメモリ上に展開されることになる。
続けて、Wf合成部48は、メモリ上に展開したアクティビティ部を順次確認し、起動する。受信した場合の挙動を定義するアクティビティ部「1Rv」に続けて、実際の業務ロジックに相当する挙動を定義するアクティビティ部「1l1」が起動される。アクティビティ部「1l1」は、図5のD5である実際の業務ロジックに相当する挙動を定義するアクティビティ部に相当する。この部分で、INVOKEと記載され、その名称であるname部分に他サービス相当のものが指定されている場合、それは別のサービスを呼び出すことになる。この例では上記のように、アクティビティ部「1l1」にはD23で定義されるサービスが指定されている。そこで、Wf合成部48は、D23のWSDLを参照するため、C75-1、C75-5に続けてワークフロー定義34に相当するワークフロー定義情報C75-2、C75-6を読み込み、自身のメモリ部に続けて展開する。
この結果、図8に示すように、新たに三つのアクティビティ部(受信した場合の挙動を定義するアクティビティ部「2Rv」、実際の業務ロジックに相当する挙動を定義するアクティビティ部「2l1」、該当するメッセージを往信する場合の挙動を定義するアクティビティ部「2Rp」)がWf合成部48のメモリ上に追加展開されることになる。
この場合、アクティビティ部「2Rv」はアクティビティ部「1l1」と、D23のWSDLを介して、呼び出し関係を持っている。そこで、アクティビティ部「1l1」と、受信した場合の挙動を定義するアクティビティ部「2Rv」並びに該当するメッセージを往信する場合の挙動を定義するアクティビティ部「2Rp」の間に呼び出し関係が成立することになる。よってWf合成部48は、メモリ上にリンク関係を作成する。
Wf合成部48は、同じ要領でアクティビティ部を順次確認し、起動する。アクティビティ部「1l1」に続けて、該当するメッセージを往信する場合の挙動を定義するアクティビティ部「1Rp」が起動される。また、アクティビティ部「1l1」に対してリンク関係があり、ワークフロー定義34での受信した場合の挙動を定義するアクティビティ部「2Rv」に続けて、実際の業務ロジックに相当する挙動を定義するアクティビティ部「2l1」が起動される。
アクティビティ部「2l1」も、図5のD5である実際の業務ロジックに相当する挙動を定義するアクティビティ部に相当する。この部分で、INVOKEと記載され、その名称であるname部分に他サービス相当のものが指定されている場合、それは別のサービスを呼び出すことになる。この例では上記のように、アクティビティ部「2l1」にはD25で定義されるサービスが指定されている。そこで、Wf合成部48は、D25のWSDLを参照するため、C75-2、C75-6に続けてワークフロー定義39に相当するワークフロー定義情報C75-3、C75-7を読み込み、自身のメモリ部に続けて展開する。
この結果、図9のように、新たに四つのアクティビティ部(受信した場合の挙動を定義するアクティビティ部「3Rv」、実際の業務ロジックに相当する挙動を定義するアクティビティ部「3l1」及び「3l2」、該当するメッセージを往信する場合の挙動を定義するアクティビティ部「3Rp」)がメモリ上に追加展開されることになる。
この場合、アクティビティ部「3Rv」は、D25のWSDLを介してアクティビティ部「2l1」と呼び出し関係を持っている。そこで、アクティビティ部「2l1」と、受信した場合の挙動を定義するアクティビティ部「3Rv」並びに該当するメッセージを往信する場合の挙動を定義するアクティビティ部「3Rp」の間に呼び出し関係が成立することになる。よってWf合成部48は、メモリ上にリンク関係を作成する。
Wf合成部48は、同じ要領でアクティビティ部を順次確認し、起動する。アクティビティ部「2l1」に続けて、該当するメッセージを往信する場合の挙動を定義するアクティビティ部「2Rp」が起動される。また、アクティビティ部「2l1」に対してリンク関係があり、ワークフロー定義39での受信した場合の挙動を定義するアクティビティ部「3Rv」に続けて、実際の業務ロジックに相当する挙動を定義するアクティビティ部「3l1」、並びに「3l2」が起動される。
アクティビティ部「3l1」並びに「3l2」も、ある実際の業務ロジックに相当する挙動を定義するアクティビティ部(図5のD5に示すようなアクティビティ部)に相当する。この部分で、INVOKEと記載され、その名称であるname部分に他サービス相当のものが指定されている場合、それは別のサービスを呼び出すことになる。この例では上記のように、アクティビティ部「3l1」にはD28で定義されるサービスが指定されており、アクティビティ部「3l2」にはD26で定義されるサービスが指定されている。そこでWf合成部48は、関連するD27も含めてWSDLを参照するためC75-3、C75-7に続けてワークフロー定義情報C75-8を読み込み、D26、D27、D28を自身のメモリ部に続けて展開する。
新たなアクティビティの追加は存在しないが、実際の業務ロジックに相当する挙動を定義するアクティビティ部「3l1」、並びに「3l2」の参照先を関連付けるため、Wf合成部48はD26、D27、D28を参照する。参照の結果、図10のように、アクティビティ部「3l1」にはD28で定義されるサービスが指定されている、アクティビティ部「3l2」にはD26で定義されるサービスが指定されていることが確実になった状態で、Wf合成部48は、この関連を確定し、図11のように、D27、D28のWSDLに記載事項を自身のメモリ部に展開する。
Wf合成部48は、サービスの呼び出しに応じて順次WSDLを読み込み、メモリ上へのアクティビティ部の展開や、メモリ上でのリンク関係の作成ができなくなるまで、上記同様の作業を継続する。これ以上、メモリ上へのアクティビティ部の展開や、メモリ上でのリンク関係の作成ができない場合は、メモリ上に展開した各アクティビティ部を、統合・組織化して、統合・合成されたワークフロー定義C63として生成する。
Wf合成部48は、統合・合成されたワークフロー定義C63を生成した後は、それを恒久的に保存するため、合成Wf定義50に渡す。合成Wf定義50では、当該統合・合成されたワークフロー定義C63を保存、格納管理する。なお、合成Wf定義50では、統合・合成されたワークフロー定義C63は一つだけではなく、独立に複数のものを保存し得る。
図12は、統合されたWf定義をもとに、各種イベントに関するデータをどのように整理、関係つけて格納するか、の手順と原理を記した図である。これは主に、イベントデータ関係付け部51に関係する。概略は以下のようになる。
イベントデータ受信部49は、イベントに関するデータC64’を、イベントデータ関係付け部51に引き渡すと、これを統合・合成したワークフロー定義を格納管理する合成Wf定義50を参照する。
合成Wf定義50内部では、図12に示すようにサービス定義・プロセス定義情報C67が管理されているため、どのサービス・プロセスのメッセージインスタンスに相当するかを整理、関係付けを検索するため問い合わせC67’を実施し、必要なサービス定義・プロセス定義情報のサブセットC67”を入手・参照する。
続けて、イベント格納DB52にて管理されるメッセージインスタンス群C66を検索し、イベントに関するデータC64’が、どのイベントに関するデータの後続イベントに相当するかを特定する。
イベントデータ関係付け部51は、データ間の必要な関係付けをすべて実施した後、イベントに関するデータC64’を、新たなメッセージインスタンスC65のレコードとしてイベント格納DB52に格納する。その際、タイムスタンプ等が記録される。
統合されたWf定義を基に、各種イベントに関するデータを整理、関係つけて格納する動作の一例を以下に記す。ここでは、メッセージに関するイベントであるとして説明する。
イベントデータ関係付け部51が、イベントに関するデータC64’を受け取る。イベントに関するデータC64’には、イベントID、メッセージインスタンス種類、TimeStamp、イベントの種類等が記載されている。イベントは、メッセージに関するイベント、エンジンにおけるメッセージに関するイベントの両方を、各々識別する形で含んでいる。
イベントに関するデータC64’には、メッセージインスタンス種類が含まれるので、まず、これを確認する。図12の場合、“2Y”という値を持つ。イベントデータ関係付け部51は、“2Y”と言う値を基に、どのサービス・プロセスのメッセージインスタンスに相当するかを識別、検索するため、統合・合成したワークフロー定義C63を格納管理する合成Wf定義50に対して、問い合わせC67’を実施する。
問い合わせC67’を受理した場合、合成Wf定義50内部では、指定されている先の“2Y”という値を基に、複数管理されている統合・合成されたワークフロー定義C63を検索する。図12の場合、WSDLがD26、D27、D28に関連するものが唯一であるので、統合・合成されたワークフロー定義C63は一意に決定できる。それを基に関連するサービス定義・プロセス定義情報のサブセットC67”を作成する。この場合、例えば、メッセージインスタンス種類が“1X”、“2X”、“3X”という値を持つことになるので、それらの情報がサービス定義・プロセス定義情報のサブセットC67”に含まれて作成される。その後、サービス定義・プロセス定義情報のサブセットC67”は、イベントデータ関係付け部51に対して応答として送信される。
イベントデータ関係付け部51は、サービス定義・プロセス定義情報のサブセットC67”を受理すると、ここに記載されているメッセージインスタンス種類が“1X”、“2X”、“3X”であることを基に、イベント格納DB52にて管理されるメッセージに関するイベントを検索するため、検索要求を、イベント格納DB52へ送信する。
図12では、メッセージインスタンス種類が“1X”を持つメッセージに関するイベント群を2件、メッセージインスタンス種類が“3X”を持つメッセージに関するイベント群を2件引き当てた様子が記されている。
この段階では、メッセージインスタンス種類が“1X”を持つメッセージに関するイベント群、並びにメッセージインスタンス種類が“3X”を持つメッセージに関するイベント群から、該当するもの全てが取り出されてしまうので、イベントに関するデータC64’との関係のあるもののみを更に限定して抽出する。
限定方法については、幾つかの方式が存在する。例えば、グロールメッセージID等を付与する方式や、マイニングロジックで推定する方式がある。
ここでは、タイムスタンプと送信元アドレス、送信アドレス、並びにメッセージのダイジェスト値により規定されるグロールメッセージIDをメッセージの中に組み込み、メッセージに関するイベント群ではイベントデータに、このグロールメッセージIDを組み込む方式を想定している。
このグロールメッセージIDに関する条件を指定する方法により、イベントに関するデータC64‘との関係のあるもののみを、メッセージインスタンス種類が“1X”を持つメッセージに関するイベント群、並びにメッセージインスタンス種類が“3X”を持つメッセージに関するイベント群から取り出すことができる。
その後、それらをメッセージインスタンス群C66としてイベントデータ関係付け部51に戻す。これにより、イベントに関するデータC64’が、メッセージに関するどのイベントに対する後続イベントに相当するかを特定することができることになる。
イベントデータ関係付け部51は、他にもデータ間の必要な関係付けを行う必要がある場合、上記と同様な要領でこれを実施する。すべて実施した後、イベントに関するデータC64’を、新たなメッセージインスタンスC65のレコードとして生成する。
そして、メッセージに関するイベントであるメッセージインスタンスC65のレコードとしてイベント格納DB52に、メッセージインスタンス群C66で戻されたものと関連を取りながら格納する。その際、タイムスタンプ等が記録される。
〔第2の実施形態〕
上記第1の実施形態では、業務プロセスモニタ・トラッキング装置の機能を中心に記載しており、特に構成要素について言及はしていない。そのため、機能的に図1と同等の要素が適用できる場合は、本発明の対象となる。
図20は、本発明にかかる業務プロセスモニタ・トラッキング装置等をサービスプロバイダ運営体が保持して、サービスとして定義する場合の概要図である。
図20に記されたサービスプロバイダ運営体100は、本発明にかかる分散ワークフロー管理方法に基づく業務プロセストラッキング装置を含み、その主要構成要素である、分散ワークフロー管理方式に基づく複数のワークフローシステム1、2、並びに独自実装で、複数配置される他社・既存ワークフローシステム3、並びに当該他社・既存ワークフローシステム3の複数をまとめ、この分散ワークフロー管理方法への仲介を行うProxyシステム4、ワークフローシステム1、2、Proxyシステム4から、各種イベント情報を収集した後、整理、統合、格納するための分散ワークフローモニタシステム5を含む。
ここで、複数ワークフローシステム1、2の関係は、独立なサイトの集合でも、負荷分散のため対抗クラスタリングでも構わない。
また、分散ワークフローモニタシステム5にアクセスするためのクライアントシステムとして、Webブラウザによるクライアントサイト6は、サービスアクセス手段のため、当該サービスプロバイダ運営体100には含まれない。
また、当該サービスプロバイダ運営体100は、サービス利用者に接続サービスを提供するため、サービス利用者の複数業務アプリケーションシステム7、8の持つデータ通信部13、データ通信部14の各々に従った通信機能を提供する。同様に、サービス利用者の複数業務アプリケーションシステム9、10の持つデータ通信部15、データ通信部16の各々に従った通信機能を提供する。同様にサービス利用者の複数業務アプリケーションシステム11、12の持つデータ通信部17、データ通信部18の各々に従った通信機能を提供する。
サービスプロバイダ運営体100は、データ通信部17、データ通信部18の各々に従った通信機能を提供はするが、内部で管理するワークフローシステム3と直接、通信できない場合も有り得る。その様な場合は、Proxyシステム4を介して通信を行う。
このほかについては、上記第1の実施形態と同様であるため、重複する説明は割愛する。
〔第3の実施形態〕
図21に、本発明を好適に実施した第3の実施形態にかかる業務プロセストラッキング装置を示す。この業務プロセストラッキング装置は、複数の業務アプリケーションシステムがその内部に、分散ワークフロー管理方式に基づく複数のワークフローシステムに相当する、ワークフローサブシステムを含んで、供給する。
図21は、第1の実施形態において説明した本発明にかかる分散ワークフロー管理方法に基づく業務プロセストラッキング装置の一部を変形し、複数の業務アプリケーションシステム7、9がその内部に、分散ワークフロー管理方式に基づく複数のワークフローシステム1、2に相当するワークフローサブシステム101、102を含んで、供給する場合のシステム構成を示している。後の構成や動作に関しては、第1の実施形態と同様であるため、重複する説明は割愛する。
本発明である分散ワークフロー管理方法に基づく業務プロセスモニタ・トラッキング装置の最適な形態に関する全体構成の概要を記した図である。 本発明の内、分散配置された通常のワークフローエンジンからイベント情報を収集する際の手順概要を記した図である。 本発明の内、独自実装の他社・既存ワークフローエンジンからProxyシステムを介してイベント情報を収集する際の手順概要を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成する際の手順、並びに統合された当該Wf定義をメンテナンスする際の手順概要を記した図である。 Wf定義の一つの表現形式を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集した後、統合されたWf定義との関係を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。 本発明の内、分散配置された通常のワークフローエンジンに独自に保持されているワークフロー定義(以下、Wf定義)群を収集し、統合されたWf定義を生成するための手順と原理を記した図である。 本発明の内、統合されたWf定義をもとに、各種イベントに関するデータをどの様に整理、関係つけて格納するか、の手順と原理を記した図である。 本発明の内、APラベル入力部に所属し、各種イベントに意味付けを定義するための画面概要図である。 本発明の内、検索機能部、トラッキング表示作成部に所属し、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示するための画面概要図である。 本発明の内、検索機能部、トラッキング表示作成部に所属し、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示するための画面概要図である。 本発明の内、検索機能部、トラッキング表示作成部に所属し、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示するための画面概要図である。 本発明の内、検索機能部、トラッキング表示作成部に所属し、統合されたWf定義を表示する、もしくは統合されたWf定義上で流通するイベント群を表示するための画面概要図である。 従来の業務プロセスモニタ・トラッキング装置の方式概要を記した図である。 従来の分散ワークフロー管理方法、及びシステムの方式概要を記した図である。 本発明の別形態である、サービスプロバイダ運用体での利用方式の概要を記した図である。 本発明の別形態である、業務アプリケーションシステムによる業務プロセスモニタ・トラッキング装置の一部機能を組み込んで機能を実現する方式の概要を記した図である。
符号の説明
1、2 分散ワークフロー管理方式に基づくワークフローシステム
3 独自実装・既存ワークフローシステム
4 Proxyシステム
5 分散ワークフローモニタシステム
6 Webブラウザによるクライアントサイト
7、8、9、10、11、12 業務アプリケーションシステム
13、14、15、16、17、18 データ通信部
19、20、21、22、23、24 アダプタ
25、26、27、28 Msgイベント抽出部
29、32、37 ワークフローエンジン
30、33、38 Engイベント抽出部
31、34、39 ワークフロー定義
35 プロキシ部
36 Prxイベント抽出部
40、42、45 イベントデータ保持部
41、43、44、47 共通データ送信部
46 共通データ受信部
48 ワークフロー合成部
49 イベントデータ受信部
50 合成Wf定義
51 イベントデータ関係付け部
52 イベント格納DB
53 検索機能部
54 トラッキング表示作成部
55 Wf定義・サービス定義取得部
56 リポジトリ
57 他のワークフロー定義
58 APラベル入力
59 バッチ処理部
60 Webブラウザによるクライアントサイト
61、76、77、83、95 Webブラウザ
62 統合・合成したワークフロー定義全体を表示する画面フレーム
64 入力用の画面フレーム
65 定義名の入力欄
66 意味の入力欄
67、74、90、98 OKボタン
68、75、86、91、99 キャンセルボタン
69 検索ボタン
70 リスト表示ボタン
71 指定入力欄
72、93 マウスポインタ
73 エントリに付与されたチェックボックス群
78、85 フォーカスボタン
79 詳細表示ボタン
80 ラベル群
81、89 シンボルに付与されたチェックボックス群
82 サービス定義に関するシンボル群
84 ロケーション情報と合わせて表示するラベル群
87 定義名・意味情報によるラベル群
88 シンボル群
92 チェックボックス群
94 レコード群のリスト表示
96 メッセージインスタンスのレコードに関する情報
97 統計データ詳細を表示するフレーム
100 サービスプロバイダ運営体
101、102 ワークフローサブシステム
C1、C2、C5、C6、C21、C48 処理要求メッセージ
C3、C4、C7、C8、C22、C49 処理応答メッセージ
C9、C10、C11、C12、C13、C14、C15、C16、C17、C18、C19、C20、C23、C24 メッセージに関するイベント
C25、C25’、C26、C54 イベントデータ転送メッセージ
C30、C31、C32、C33、C34、C35、C36、C37、C38、C39、C40、C41 処理要求メッセージ
C42、C43、C44、C45、C46、C47、C50、C51、C52、C53 メッセージに関するイベント
C60、C61、C62 定義転送メッセージ
C63 統合・合成されたワークフロー定義
C64 イベントに関する全てのデータ
C64’ イベントに関するデータ
C65 メッセージインスタンス
C66 メッセージインスタンス群
C67 サービス定義・プロセス定義情報
C67’ 関係付けを検索するため問い合わせ
C67” サービス定義・プロセス定義情報のサブセット
C68 Wf定義検索メッセージ
C69 状況状態の確認問い合わせ
C70 検索結果
C71 起動情報引数
C72 詳細問い合わせ結果
C73 表示データ
C74 問い合わせ
C75 ワークフロー定義情報
C75-1、C75-2、C75-3、C75-4、C75-5、C75-6、C75-7、C75-8 WS-BPEL、WSDLによるワークフロー定義情報
C77、C78 定義名・意味情報
C79 結果値
C80 メッセージインスタンスのレコード群
C81 描画に必要な情報
C90 検索結果
C91 Wf定義要求メッセージ
C92 問い合わせ結果
C93 Wf定義詳細情報要求メッセージ
C94 詳細問い合わせ結果データ
D1 プロセス定義
D2 サービス定義
D3 定義部
D4 該当するメッセージを受信した場合の挙動を定義するアクティビティ部
D5 実際の業務ロジックに相当する挙動を定義するアクティビティ部
D6 該当するメッセージを往信する場合の挙動を定義するアクティビティ部
D7 メッセージ定義部
D8 実際のインタフェースを定義するポート定義部
D9 バインディング部
D10 サービス定義部
D20 ワークフローエンジン挙動を記載、標準化されたWS-BPEL部
D21、D23、D25、D26、D27、D28 WSDL部
D22、D24 ワークフローエンジン挙動を記載、標準化されたWS-BPEL部
B1 イベント管理装置
B3、B4、B5 業務システム
B6 利用者端末
B11 入力部
B12 イベントキュー
B13 イベント関連付け部
B14 イベント管理DB
B15 業務プロセスDB
B16 出力部
B30、B30’、B40、B40’、B50、B50’ アプリケーション
B31、B31’、B41、B41’、B51、B51’ 状態DB
B32、B42、B52 イベント抽出部
B33、B43、B53 イベントデータ変換部
B34、B44、B54 イベントデータ送信部
B320、B420、B520 イベント抽出定義データ
A1、A2 組織
A3、A4 ワークフロー管理システム
A5、A6 ワークフロー管理システム・サーバ
A7、A8 既存インタフェース
A9 プロセス・インスタンス
A11、A13 プロセス・テンプレート
A15、A16 状態シャドウイング・エンジン
A17、A18 ワークフロー管理システム・クライアント
A27、A28、A29、A30 利用者

Claims (14)

  1. ワークフローを管理・実行する複数のワークフロー実行装置と、該ワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置とを有するワークフロートラッキングシステムであって、
    前記各ワークフロー実行装置は、
    自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する手段と、
    記録済みの前記イベント情報と前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述とを前記ワークフロー統合管理装置へ送信する手段とを有し、
    前記ワークフロー統合管理装置は、
    前記各ワークフロー実行装置から、前記ワークフロー記述を取得する手段と、
    前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
    前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関連付ける手段と、
    前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、
    前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる手段と、
    を有することを特徴とするワークフロートラッキングシステム。
  2. 前記標準化されたデータ形式とは異なる形式で前記ワークフロー記述が定義された前記ワークフロー実行装置には、そのワークフロー記述を前記標準化されたデータ形式に変換する標準化装置が内蔵又は接続されていることを特徴とする請求項1記載のワークフロートラッキングシステム。
  3. 前記ワークフロー統合管理装置は、前記イベント情報に対して人間が認識可能な形式の任意の情報を付加する手段を更に有することを特徴とする請求項1又は2記載のワークフロートラッキングシステム。
  4. 前記ワークフロー統合管理装置は、前記イベント情報記録手段に記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理手段を有することを特徴とする請求項1から3のいずれか1項記載のワークフロートラッキングシステム。
  5. 前記ワークフロー実行装置は、前記ワークフローを実行する際に通信相手となる業務アプリケーションシステムに固有な通信手順を、標準化された通信手順に変換するためのアダプタを複数備えることを特徴とする請求項1から4のいずれか1項記載のワークフロートラッキングシステム。
  6. ワークフローを管理・実行する複数のワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置であって、
    前記各ワークフロー実行装置から、前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述を取得する手段と、
    前記各ワークフロー実行装置が前記ワークフローを実行する際にその装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を前記各ワークフロー実行装置から取得する手段と、
    取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出手段と、
    前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関連付ける手段と、
    前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録手段と、
    前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる手段と、
    を有することを特徴とするワークフロー統合管理装置。
  7. 前記イベント情報に対して人間が認識可能な形式の任意の情報を付加する手段を更に有することを特徴とする請求項6記載のワークフロー統合管理装置。
  8. 前記イベント情報記録手段に記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理手段を有することを特徴とする請求項6又は7項記載のワークフロー統合管理装置。
  9. ワークフローを管理・実行する複数のワークフロー実行装置と、該ワークフロー実行装置のそれぞれからワークフローに関する情報を取得し、これらを統合した統合ワークフローを生成するワークフロー統合管理装置とを用いたワークフロー統合管理方法であって、
    前記各ワークフロー実行装置が、自装置が管理する任意のワークフローを実行する際に自装置において発生するイベントの内容を表し、それぞれのイベントごとに固有のイベント情報を記録する工程と、
    前記各ワークフロー実行装置が、記録済みの前記イベント情報と前記ワークフローの内容を標準化されたデータ形式で表すワークフロー記述とを前記ワークフロー統合管理装置へ送信する工程と、
    前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記イベント情報によって特定される各イベントに関して、他のイベントとの関連を検出するイベント関連検出工程と、
    前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した前記ワークフロー記述から、前記ワークフロー記述に含まれる他のワークフロー記述で定義されるサービスを指定する情報に基づいて各ワークフロー記述のリンク関係を作成することによって前記統合ワークフローを生成した後、当該統合ワークフローに複数の前記イベント情報を関係付ける工程と、
    前記ワークフロー統合管理装置が、前記各ワークフロー実行装置から取得した全ての前記イベント情報を記録するイベント情報記録工程と、
    前記ワークフロー統合管理装置が、前記イベント情報記録手段に記録されたイベント情報を、他の装置からの要求に応じて参照させる工程と、
    を有することを特徴とするワークフロー統合管理方法。
  10. 前記標準化されたデータ形式とは異なる形式で前記ワークフロー記述が定義された前記ワークフロー実行装置は、そのワークフロー記述を前記標準化されたデータ形式に変換して前記ワークフロー統合管理装置へ送信することを特徴とする請求項9記載のワークフロー統合管理方法。
  11. 前記ワークフロー統合管理装置が、前記イベント情報に対して人間が認識可能な形式の任意の情報を付加する工程をさらに有することを特徴とする請求項9又は10記載のワークフロート統合管理方法。
  12. 前記ワークフロー統合管理装置が、前記イベント情報記録工程において記録したイベント情報に基づいて統計処理を行い統計データを生成するパッチ処理工程を有することを特徴とする請求項9から11のいずれか1項記載のワークフロー統合管理方法。
  13. 請求項9から12のいずれか1項記載のワークフロー統合管理方法をコンピュータに実行させるためのワークフロー統合管理プログラム。
  14. 請求項13記載のワークフロー統合管理プログラムを記録したコンピュータが読取可能な情報記録媒体。

JP2006083630A 2006-03-24 2006-03-24 ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体 Expired - Fee Related JP4367426B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006083630A JP4367426B2 (ja) 2006-03-24 2006-03-24 ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006083630A JP4367426B2 (ja) 2006-03-24 2006-03-24 ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体

Publications (2)

Publication Number Publication Date
JP2007257513A JP2007257513A (ja) 2007-10-04
JP4367426B2 true JP4367426B2 (ja) 2009-11-18

Family

ID=38631663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006083630A Expired - Fee Related JP4367426B2 (ja) 2006-03-24 2006-03-24 ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体

Country Status (1)

Country Link
JP (1) JP4367426B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5187318B2 (ja) 2007-12-28 2013-04-24 日本電気株式会社 棄却判定機能を有する合成ワークフローモニタリング方法、装置、およびプログラム
JP5478038B2 (ja) * 2008-08-22 2014-04-23 株式会社エヌ・ティ・ティ・データ 業務フロー管理装置、業務フロー管理方法および業務フロー管理プログラム
JP5343608B2 (ja) * 2009-02-18 2013-11-13 富士ゼロックス株式会社 業務管理支援装置、業務管理支援プログラム、業務管理支援システム、情報処理装置、及び文書管理装置

Also Published As

Publication number Publication date
JP2007257513A (ja) 2007-10-04

Similar Documents

Publication Publication Date Title
JP4594306B2 (ja) 自己記述型ビジネスオブジェクト
JP4571636B2 (ja) サービス指向ビジネスフレームワークのサービス管理
US7954111B2 (en) Data structures for context information related to business events
JP6144730B2 (ja) 商業的な取引のために用いられるのに適合した方法
US20070282470A1 (en) Method and system for capturing and reusing intellectual capital in IT management
JP2007193685A (ja) 人脈情報表示プログラム、該プログラムを記録した記録媒体、人脈情報表示装置、および人脈情報表示方法
JP4395790B2 (ja) ワークフロートラッキングシステム、統合管理装置、方法、プログラム及びそれを記録した情報記録媒体
Hung et al. Developing workflow-based information integration (WII) with exception support in a web services environment
JP4367426B2 (ja) ワークフロートラッキングシステム、統合管理装置、方法、プログラム、及びそれを記録した情報記録媒体
JP2007279839A (ja) リレーショナルデータベースのデータベース管理システムおよびテーブルの関連付け方法
JP2003208512A (ja) 融合代理店システム、共同センタ側サーバ、乗合代理店端末、顧客契約データ管理方法、および顧客契約データ提供方法
JP2009075768A (ja) 監査用証跡情報取得システム及び監査用証跡情報取得方法
JP2008158607A (ja) 情報共有支援サーバ及び情報端末装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090331

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090430

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090529

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090817

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees