JP2008040803A - 業務監視システム及び業務監視方法及びプログラム - Google Patents

業務監視システム及び業務監視方法及びプログラム Download PDF

Info

Publication number
JP2008040803A
JP2008040803A JP2006214405A JP2006214405A JP2008040803A JP 2008040803 A JP2008040803 A JP 2008040803A JP 2006214405 A JP2006214405 A JP 2006214405A JP 2006214405 A JP2006214405 A JP 2006214405A JP 2008040803 A JP2008040803 A JP 2008040803A
Authority
JP
Japan
Prior art keywords
business
node
event
transition
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006214405A
Other languages
English (en)
Inventor
Koichiro Ueno
浩一郎 上野
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006214405A priority Critical patent/JP2008040803A/ja
Publication of JP2008040803A publication Critical patent/JP2008040803A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】早期に業務イベントを検出し、業務プロセス監視品質を向上させることを目的とする。
【解決手段】業務監視システム100において、ユーザインタフェース監視部110が、ユーザインタフェース基盤400を監視し、業務イベントに該当する業務遂行者601の操作あるいは監視対象業務システム200の応答を抽出し、抽出した操作あるいは応答をイベントデータとしてイベントキューにエンキューすることで、実行中の業務プロセスの進行状況をリアルタイムに監視することができる。
【選択図】図1

Description

本発明は、業務システムにおける業務イベントをリアルタイムに監視する技術及び複数の組織間/計算機間/システム間を跨る業務プロセスを監視する技術に関する。
特開2005−115494号公報(「業務プロセストラッキング装置、業務プロセストラッキング方法、業務プロセストラッキングプログラム、業務プロセストラッキングプログラムを記録した記録媒体」)では、業務プロセスの状況を監視するために、業務DB(データベース)を監視してイベントを検出する方法が開示されている。
図26はこの従来技術を示す機能とデータの構成図である。
図26において、業務遂行者601は、監視対象業務システム200を用いて実際に業務を遂行する担当者である。
監視対象業務システム200は、ユーザインタフェース部201と業務ロジック部202と業務データ入出力部203とシステム連携処理部204から構成される。
ユーザインタフェース部201は、業務遂行者601が業務を遂行するために操作する画面である。
業務ロジック部202は、業務遂行者601の指示により業務データを処理する。
業務データ入出力部203は、業務ロジック部202が処理する業務データを業務DB301から入力し、業務ロジック部202の処理結果を業務DB301に出力する。
システム連携処理部204は、業務ロジック部202が処理する業務データを他システム302と交換する。
なお業務システムは業務毎に存在するが、以下の基盤ソフトウェアは業務内容とは独立に存在する。
ユーザインタフェース基盤400は、ユーザインタフェース部201を動作させる基盤である。
DB管理システム501は、業務DB301を動作させる基盤である。
システム間メッセージ交換ミドルウェア502は、他システム302とメッセージ交換を実行する基盤である。
業務監視システム700は以下から構成される。
業務DB監視部106は、DB管理システム501を監視して、業務イベントをイベントキュー101に送信する。
イベントキュー101は、イベントを先入れ先出し(FIFO)方式で格納する。
業務プロセス監視結果更新部102は、イベントキューからイベントを取出し、そのイベントが業務プロセスの何に該当するかをイベント/業務プロセス対応設定DB103から読み出し、業務プロセス監視結果DB105に格納する。
イベント/業務プロセス対応設定DB103は、イベントの種類が業務プロセスの何に該当するかの設定を格納する。
例えば図27は、ビジネスプロセスをUML(Unified Modeling Language)1.4アクティビティ図の形式でイベント/業務プロセス対応設定DB103に格納している例である。
図27では、あるビジネスプロセスAを構成するアクティビティ群とそれらの間の遷移、更にその遷移のガード条件としてイベントが設定情報として格納されていることを示している。
業務プロセス監視結果DB105は、業務プロセスインスタンス毎にその進行状況を格納する。
例えば図28は、図27のビジネスプロセスAのインスタンス毎にその進行状況を格納している業務プロセス監視結果DB105を示している。
業務プロセス監視部104は、業務プロセス監視結果DB105内の業務プロセスインスタンスが定められた状況になったら業務監視者602に警告を送信し、あるいは業務監視者602の操作により業務プロセス監視結果を一覧表示/グラフ表示する。
業務監視者602は、業務監視システム700から進行状況の警告を受けたり、業務監視システム700を利用して業務の進行状況を検査したりする担当者である。なお業務監視者602は、業務遂行者601と同一人である場合もあるし、その上司や顧客など別人である場合もある。
特開2005−166038号公報(「ビジネスプロセスの進捗判断方法、変換装置、ビジネスプロセスの進捗判断コンピユ−タプログラム、ビジネスプロセス統合システムの問題解決方法」)では、業務プロセスの状況を監視するために、システム間メッセージ交換ミドルウェアを監視してイベントを検出する方法が開示されている。図29はこの従来技術を示す機能とデータの構成図である。
システム間メッセージ監視部107は、システム間メッセージ交換ミドルウェア502を監視して、業務イベントをイベントキューに送信する。その他の構成要素は図26と同じである。
特開2005−115494号公報 特開2005−166038号公報
業務プロセスは、複数の組織(他企業を含む)を跨って実行される。
このため業務プロセスは、異種技術で実装された複数の業務システムを自動連携、あるいは業務遂行者の動作を仲介して、実行されている。
業務プロセス全体をリアルタイムに監視するためには、他組織が管理している、異種技術で実装された、複数の業務システム群を横断して監視する必要がある。
このような監視を行う業務監視システムは以下の理由により、監視対象の業務システムを改造せずに、監視対象業務システムとは独立に構成する必要がある。
1.業務システムが運用中であり、改造できない。
2.業務システムが他組織の管理のため、改造できない。
3.業務システム内部の実装技術が旧式であり、業務監視システムとの連携を実現できない。
4.監視により業務システムへの負荷が高まった場合、業務に悪影響を与えないように監視を控えなければならない。
5.システム構築技術に追随して業務システムが変化する場合、業務システム中に監視ロジックが入っていると、監視するための改造が毎回発生し無駄である。
6.ビジネス環境に追随して業務プロセスが変化する場合、業務システム中に監視ロジックが入っていると、監視するための改造箇所が発散してしまい効率が悪い。
業務監視システムを監視対象業務システムとは独立に構成するために、従来技術では業務システムの外側にあるミドルウェアの機能を用いて監視していた。
ミドルウェア側の機能を用いることにより、業務システム側には改造が必要ない。具体的には特開2005−115494号公報では業務DB301を監視するためにDB管理システム501の機能を、特開2005−166038号公報ではシステム間連携を監視するためにシステム間メッセージ交換ミドルウェア502の機能を用いていた。
これらの従来技術では、業務DB301や他システム302など所謂リソースとの相互作用のみを監視し、その監視から検出した業務イベントが業務プロセス通り業務監視システムにエンキューされていると仮定している。このため、従来技術では以下の問題がある。
1.リソースまで処理が到達しない業務遂行者の操作による業務イベントを検出できない。
2.業務遂行者の操作からリソースの処理まで到達するのに長時間要する状況が発生した場合、業務イベントの検出が遅れる。
3.業務システム内の処理が時間を要する状況が発生した場合、リソースとの相互作用から検出したイベント間の時間間隔では業務的な精度が低い。
4.他組織が管理する業務システムのリソースに機密保護などのため接続できない場合、業務プロセスを全く監視できない。
5.複数組織を横断する業務プロセスを監視する場合、計算機/ネットワーク/監視方式がそれぞれの業務システムで異なるため、各業務システムの監視部が検出したイベントは業務監視システムのイベントキューに業務プロセス通りの順番でエンキューされないことに対処できない。
図30〜図33は、J2EE(Java(登録商標)2 platform, Enterprise Edition)で業務システムを構築した場合の上記問題の具体例を示している。
図30は業務システムの構成を示すUML1.4オブジェクト図であり、図31〜図34は従来技術の問題を示すUML1.4シーケンス図である。
図31は上記の問題1に対応しており、業務遂行者と業務システムとの相互作用が業務DBまで到達しないまま、業務遂行者がキャンセルを行っている。
例えば受注管理システムでは顧客のキャンセル操作も重要な業務イベントであり、従来技術では、業務DBに処理が到達していないため、このキャンセル操作を検出できない。
図32は上記の問題2に対応しており、業務遂行者と業務システムとの一時的な相互作用はビジネスロジックであるステートフルセッションビーンに保存され、業務遂行者が例えば数日後に操作を再開して初めて業務DBまで処理が到達している。
例えば受注管理システムにおいて、注文する製品と数量を一時的に格納するショッピングカート機能をステートフルセッションビーンで実装している場合、従来技術では業務遂行者の最初の注文操作(メッセージ番号1:送信ボタン押下)から長時間経た後(メッセージ番号18:業務データ出力のあった時点)にしか業務イベントを検出できない。
図33は上記の問題3に対応しており、リソース監視から検出されるイベントの時間間隔(メッセージ番号10:業務データ出力からメッセージ番号22:業務データ出力まで)が、業務遂行者の操作間隔(メッセージ番号12:画面表示化からメッセージ番号13:送信ボタン押下)に比べて長い。
例えば受注管理システムにおいて、見積結果の有効期限の猶予時間を監視するには業務遂行者の操作間隔を監視したいが、従来技術ではリソース監視から検出される時間幅の広いイベント時間間隔しか監視できない。
図34は、問題5を説明するUML1.4配置図である。
組織A用計算機には業務システム1と、それを監視する業務1用監視部がデプロイされており、組織B用と組織C用も同様である。
業務システム1/業務システム2/業務システム3はネットワークを介して業務プロセスを進行させ、その進行状況を各監視部が監視する。各監視部はイベントを検出したらそれをネットワーク経由で業務監視用計算機のイベントキューにエンキューする。
しかし、計算機/ネットワーク経路/監視方式がそれぞれの業務システムで異なるため、各監視部がイベントキューにエンキューする順番は業務プロセス通りとは限らないが、従来技術の業務プロセス監視結果更新部はこのような業務プロセス通りにならない場合に対処できない。
この発明は、上記のような問題点を解決することを主な目的としており、従来は監視できなかった業務イベントを検出し、従来より早期に業務イベントを検出し、業務的に監視したい時間間隔の精度を従来より上げ、更に組織間/計算機間/システム間を跨って業務プロセスを監視できるようにし、業務プロセス監視品質を向上させることを目的とする。
本発明に係る業務監視システムは、
監視対象業務システムの業務プロセスにおけるイベントの発生を通知するイベントデータを用いて前記業務プロセスの監視を行う業務監視システムであって、
前記監視対象業務システムを利用する端末装置と前記監視対象業務システムとの間で送受信されるメッセージを取得し、取得したメッセージを解析してイベントデータを生成し、生成したイベントデータをイベントキューにエンキューするイベントデータ生成部を有することを特徴とする。
また、本発明に係る業務監視システムは、
監視対象業務システムにおける業務プロセスの監視を行う業務監視システムであって、
前記業務プロセスのシーケンスを複数のイベントとそれぞれのイベントの遷移元ノード及び遷移先ノードとして示す業務プロセスシーケンス情報を記憶する業務プロセスシーケンス情報記憶部と、
前記業務プロセスにおけるイベントの発生を通知するイベントデータをイベントキューからデキューし、前記業務プロセスシーケンス情報に基づき、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードを判断し、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、前記業務プロセスの開始ノードから遷移が開始しているノードの範囲を開始ノード遷移範囲として特定するとともに、前記開始ノード以外の中間ノードから遷移が開始しているノードの範囲を中間ノード遷移範囲として特定するノード遷移範囲特定部を有することを特徴とする。
本発明によれば、従来は監視できなかった業務イベントを検出し、従来より早期に業務イベントを検出し、業務的に監視したい時間間隔の精度を従来より上げることが可能となる。
また、本発明によれば、組織間/計算機間/システム間を跨って業務プロセスを監視することができる。
そして、これらの効果により、業務プロセス監視品質を向上させることが可能となる。
実施の形態1.
本実施の形態では、監視対象業務システムの業務プロセスにおけるイベントの発生を通知するイベントデータを用いて業務プロセスの監視を行う業務監視システムにおいて、業務遂行者の操作と、操作に対応する監視対象業務システムの応答を監視することにより、実行中の業務プロセスの進行状況をリアルタイムに監視する方法を説明する。
図1は、この発明の実施の形態1を示す機能とデータの構成図である。
本実施の形態に係る業務監視システム100は、イベントデータ生成部として機能するユーザインタフェース監視部110を備える。
ユーザインタフェース監視部110は、ユーザインタフェース基盤400を監視して、業務イベントに該当する業務遂行者601の操作あるいは監視対象業務システム200の応答を、イベントキューに送信する。
図1に示すその他の要素は図26と同じである。
なお、図1では、図26に示している業務DB監視部106の記載を省略しているが、業務監視システム100は、業務DB監視部106を有していてもよい。
図2は、図1に示す業務監視システム100と監視対象業務システム200とを同じ計算機に搭載する例を示す。
図2では、業務監視システム100と監視対象業務システム200を業務用サーバ装置2000に統合し、業務遂行者601が業務遂行者用クライアント端末4000(端末装置)を用いて業務用サーバ装置2000にアクセスする。また、業務監視者602は、業務監視者用クライアント端末4001を用いて業務用サーバ装置2000にアクセスする。
また、図2の例では、図1のユーザインタフェース基盤400は、業務遂行者用クライアント端末4000内のユーザインタフェース基盤(クライアント側)401と監視対象業務システム200内のユーザインタフェース基盤(サーバ側)402とに分かれる。
図3は、図1に示す業務監視システム100と監視対象業務システム200とを異なる計算機に搭載する例を示す。
図3では、業務監視システム100は業務監視用サーバ装置1000に実装され、監視対象業務システム200は業務用サーバ装置2000に実装されている。
業務遂行者601は、業務遂行者用クライアント端末4000(端末装置)を用いて業務用サーバ装置2000にアクセスする。
また、業務監視者602は、業務監視者用クライアント端末4001を用いて業務監視用サーバ装置1000にアクセスする。
また、図2と同様に、図3でも、図1のユーザインタフェース基盤400は、業務遂行者用クライアント端末4000内のユーザインタフェース基盤(クライアント側)401と監視対象業務システム200内のユーザインタフェース基盤(サーバ側)402とに分かれる。
ここで、図5のフローチャートを参照して、ユーザインタフェース監視部110の動作例(業務監視方法)を概説する。なお、ユーザインタフェース監視部110の動作の詳細な説明は後述する。
ユーザインタフェース監視部110は、監視対象業務システム200を利用する業務遂行者用クライアント端末4000(端末装置)と監視対象業務システム200との間で送受信されるメッセージを取得し(S501)(メッセージ取得ステップ)、取得したメッセージを解析する(S502)(イベントデータ生成ステップ)。
そして、メッセージの解析の結果、メッセージの内容が所定の業務イベントに該当するか否かを判断し(S503)(イベントデータ生成ステップ)、業務イベントに該当しない場合(S503でNoの場合)は処理を終了する。
一方、業務イベントに該当する場合(S503でNoの場合)は、業務イベントの内容を示すイベントデータを生成し(S504)(イベントデータ生成ステップ)、生成したイベントデータをイベントキュー101にエンキューする(S505)(エンキュー処理ステップ)。
次に、ユーザインタフェース監視部110の動作の詳細について、いくつかの具体例を用いて説明する。
各具体例はUML1.4のコラボレーション図(図6〜図8)で示す。
図中の各オブジェクトのステレオタイプ名は、そのオブジェクトがユーザインタフェース基盤なのか、ユーザインタフェース部なのか、ユーザインタフェース部なのかを示すとする。
図6は、ユーザインタフェース基盤(クライアント側)401がブラウザであり、ユーザインタフェース基盤(サーバ側)402がServletコンテナの例である。
この場合、ユーザインタフェース監視部110はServletフィルタとして実装可能である。
なおServletおよびJSP(登録商標)(JavaServer Pages)を含むJava(登録商標)に関する仕様は「Java(登録商標) Community Process」(JCP)で規定されている。
Servletフィルタとして実装されたユーザインタフェース監視部110は、業務遂行者601と監視対象業務システム200との間で交換される情報(メッセージ)に相当するHTTP(HyperText Transfer Protocol)リクエストとHTTPレスポンスの内容から業務イベントを検出し、イベントデータをイベントキューにエンキューする。
図9〜図13を用いて、Servletフィルタが業務イベントを検出する手順を説明する。
図9は、監視対象画面の例(図9(a))とそのHTML(HyperText Markup Language)部分(図9(b))である。
例えば、[ADD]ボタンがクリックされると、HTTPリクエスト内のパラメータ名Addにパラメータ値ADDが格納されてブラウザから送信される。これを監視をするために、このHTMLフォームのACTION属性が指定するURL(Uniform Resource Locator)(図9の例では“HTTP://*****” METHOD=“POST”)に対してServletフィルタをServletコンテナに設定する。この設定がされ、ブラウザが該当するURLにHTTPリクエストを送信すると、ServletコンテナがServletフィルタにHTTPリクエストとHTTPレスポンスを転送する。
図10と図11は、Servletフィルタが読み込む業務イベント対応一覧である。
図10はHTTPリクエストから業務イベントを検出するためのものであり、業務イベント名と、その発生に該当するHTTPリクエスト中のパラメータ名とパラメータ値の組合せを定義する。
図11はHTTPレスポンスから業務イベントを検出するためのものであり、業務イベント名と、その発生に該当するHTTPレスポンス中のタグ要素と値を定義する。
図12はServletフィルタがHTTPリクエストを転送された時の動作である。
図12において、Servletフィルタ(ユーザインタフェース監視部110)は、HTTPリクエストを転送された場合に、業務イベント対応一覧(図10)から1行読み込み(Step1201)、読み込んだパラメータ名とパラメータ値がHTTPリクエストに含まれている場合、対応する業務イベントのイベントデータを生成し(Step1202)、当該業務イベントのイベントデータをエンキューする(Step1203)。
図13はServletフィルタがHTTPレスポンスを転送された時の動作である。
図13において、Servletフィルタ(ユーザインタフェース監視部110)は、HTTPレスポンスを転送された場合に、業務イベント対応一覧(図11)から1行読み込み(Step1301)、読み込んだHTML要素名と値がHTTPレスポンスに含まれている場合、対応する業務イベントのイベントデータを生成し(Step1302)、当該業務イベントのイベントデータをエンキューする(Step1303)。
図7と図8は、ユーザインタフェース基盤(クライアント側)401がメールクライアントであり、ユーザインタフェース基盤(サーバ側)402がメールサーバとメール転送設定部の例である。
この場合、ユーザインタフェース監視部110はメール受信機能付き業務イベント監視部として実装可能である。
メール受信機能付き業務イベント監視部は、業務遂行者601と監視対象業務システム200との間で交換されるメールの内容から業務イベントを検出し、イベントキューにエンキューする。
図7は監視対象業務システム200から業務遂行者601宛てに送信するメールを、図8は業務遂行者601から監視対象業務システム200宛てに送信するメールを監視している動作をそれぞれ説明している。
図14〜図17を用いて、メール受信機能付き業務イベント監視部が業務イベントを検出する手順を説明する。
図14は、業務遂行者601が業務遂行者用クライアント端末4000を用いて監視対象業務システム200に送信するメール例であり、この例ではユーザ登録を依頼している。
図15は、図14を受信した監視対象業務システム200が業務遂行者601に返信するメール例であり、この例ではユーザ登録が完了し、パスワードを通知している。
図16はメール受信機能付き業務イベント監視部が読み込む業務イベント対応一覧であり、業務イベント名と、その発生に該当するメールの内容を定義する。
図17はメール受信機能付き業務イベント監視部がメールを受信した時の動作である。
図17において、メール受信機能付き業務イベント監視部(ユーザインタフェース監視部110)は、メールを受信した場合に、業務イベント対応一覧(図16)から1行読み込み(Step1701)、読み込んだFrom、To、Subject、Bodyの値が受信したメールに含まれている場合、対応する業務イベントのイベントデータを生成し(Step1702)、当該業務イベントのイベントデータをエンキューする(Step1703)。
このように、本実施の形態に係る業務監視システムでは、業務遂行者と業務システムとの相互作用を監視するユーザインタフェース監視部(イベントデータ生成部)を備える。
そして、ユーザインタフェース監視部は、監視対象業務システムを利用する端末装置と監視対象業務システムとの間で送受信されるメッセージを取得し、取得したメッセージを解析してイベントデータを生成し、生成したイベントデータをイベントキューにエンキューする。
また、ユーザインタフェース監視部は、メッセージの例として、監視対象業務システムと端末装置との間で送受信されるHTTP(HyperText Transfer Protocol)リクエスト及びHTTPレスポンスの少なくともいずれかを取得する。
また、ユーザインタフェース監視部は、メッセージの例として、監視対象業務システムと端末装置との間で送受信される電子メールを取得する。
このようなユーザインタフェース監視部を備えたことで、本実施の形態によれば、従来は監視できなかった業務イベントを検出し、従来より早期に業務イベントを検出し、業務的に監視したい時間間隔の精度を従来より上げることが可能となる。
つまり、従来技術の問題の1〜4を解決することができる。
なお、以上の説明では、ユーザインタフェース監視部の監視対象のメッセージを、HTTPリクエスト、HTTPレスポンス及び電子メールとしたが、これら以外のメッセージを監視対象としてもよい。
また、本実施の形態において説明した業務監視用サーバ装置1000、業務用サーバ装置2000、業務遂行者用クライアント端末4000及び業務監視者用クライアント端末4001は、例えば、図4に示すハードウェア資源により実現可能である。
なお、図4の構成は、あくまでも業務監視用サーバ装置1000、業務用サーバ装置2000、業務遂行者用クライアント端末4000及び業務監視者用クライアント端末4001のハードウェア構成の一例を示すものであり、業務監視用サーバ装置1000、業務用サーバ装置2000、業務遂行者用クライアント端末4000及び業務監視者用クライアント端末4001のハードウェア構成は図4に記載の構成に限らず、他の構成であってもよい。
図4において、業務監視用サーバ装置1000、業務用サーバ装置2000、業務遂行者用クライアント端末4000及び業務監視者用クライアント端末4001は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、本実施の形態及び以下に述べる実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態及び以下に述べる実施の形態の説明で示すフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態及び以下に述べる実施の形態に示す業務監視用サーバ装置1000、業務用サーバ装置2000、業務遂行者用クライアント端末4000及び業務監視者用クライアント端末4001は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態2.
本実施の形態では、監視対象業務システムにおける業務プロセスの監視を行う業務監視システムにおいて、監視対象毎のシステム性能や、それぞれの監視手段/イベント送信経路などが異なるため、到着順番が業務プロセス定義通りでないイベントデータを補正して監視する方法を説明する。
ここで、補正するとは、イベントデータの到着順序が矛盾しているだけならば最終的に業務プロセスのシーケンスにおける終了ノードまで遷移させることができるということである。
図18は、この発明の実施の形態2を示す機能とデータの構成図である。
図18に示す要素のうち、補正機能付き業務プロセス監視結果更新部120、補正機能付き業務プロセス監視部121及び補正機能付き業務プロセス監視結果DB122以外の要素は図1及び図26と同じである。
補正機能付き業務プロセス監視結果更新部120は、イベントキュー101からイベントデータを取出し、そのイベントデータが業務プロセスの何に該当するかをイベント/業務プロセス対応設定DB103から読み出し、イベントデータの到着順序が矛盾していても補正して補正機能付き業務プロセス監視結果DB122に格納する。
補正機能付き業務プロセス監視結果DB122は、業務プロセスインスタンス毎にその進行状況を補正情報も含めて格納する。
補正機能付き業務プロセス監視部121は、補正機能付き業務プロセス監視結果DB122内の補正情報も含めた業務プロセスインスタンスが定められた状況になったら業務監視者602に警告を送信し、あるいは業務監視者602の操作により補正情報も含めた業務プロセス監視結果を一覧表示/グラフ表示する。
ここで、補正情報とは、後述する仮終点トークンが位置するアクティビティを示す。仮終点トークンが位置するアクティビティは、そこに至る途中の遷移を起こすイベントをまだ受信していないため、業務プロセスインスタンスの未確認最新状況である。また、後述するカレントトークンが位置するアクティビティは、受信したイベントで順番に遷移しているため、業務プロセスインスタンスの確認済み状況である。
補正機能付き業務プロセス監視結果更新部120は、業務プロセスインスタンスの未確認最新状況も処理できることが特徴である。
状況の監視のしかたは、確認済み状況と未確認最新状況では同じである。例えば、仮終点トークンあるいはカレントトークンが位置するアクティビティが、その状態でいる期間が期限を越えていないかなどである。
本実施の形態では、補正機能付き業務プロセス監視結果DB122が業務プロセスの進行状況を管理するためにペトリネットの概念「トークン」を用いる。
トークンは、業務プロセスを構成するアクティビティ間(アクティビティ図上ではノード間)をイベント発生に伴って移動する。
トークンは、UMLアクティビティ図上のフォークノードで分裂し、ジョインノードで合体する。
更に補正機能を実現するために、ペトリネット用語「トークン」を以下のように拡張する。
カレントトークンは、アクティビティ図で定義されたシーケンス通りに矛盾無く遷移した結果、現在アクティブなノード上に存在するトークンである。カレントトークンは、現在アクティブなノードから遷移を起こすイベント発生により、その遷移先ノードに移動する。
仮始点トークンと仮終点トークンはペアで用い、現在アクティブなノードから遷移させるのではない矛盾したイベントが到着した場合に使用する。矛盾したイベントの到着とは、本来は現在アクティブなノードから遷移させるイベントが来るはずなのに、イベントの到着順番が入れ替わって、後から来るべきイベントが先に到着したことを意味する。
このように到着順が矛盾したイベントが来た場合にそれを記録するために、そのイベントにより遷移する遷移元ノードに仮始点トークンを生成し、その遷移先ノードに仮終点トークンを生成する。このように後から起こるべきなのに先に遷移したことを記録した仮始点トークンと仮終点トークンは、カレントトークンが同一ノード上に遷移してくると、消滅する。
イベントの到着順が途中は矛盾していも、最終的に全てのイベントが到着した状況では、全ての仮始点トークンと仮終点トークンは消滅し、カレントトークンは終了ノード上に遷移している。
補正機能付き業務プロセス監視結果更新部120は、カレントトークン、仮始点トークン、仮終点トークンを用いて業務プロセスの進行状況を更新することが特徴である。
補正機能付き業務プロセス監視結果DB122は、カレントトークン、仮始点トークン、仮終点トークンを含めて格納することが特徴である。
イベント/業務プロセス対応設定DB103は、前述したように、例えば図27に示す形態で、業務プロセスのシーケンスを複数のイベントとそれぞれのイベントの遷移元ノード及び遷移先ノードとして示す情報(業務プロセスシーケンス情報)を記憶している。イベント/業務プロセス対応設定DB103は、業務プロセスシーケンス情報記憶部の例である。
補正機能付き業務プロセス監視結果更新部120は、業務プロセスにおけるイベントの発生を通知するイベントデータをイベントキュー101からデキューし、業務プロセスシーケンス情報に基づき、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードを判断し、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、業務プロセスの開始ノードから遷移が開始しているノードの範囲を開始ノード遷移範囲として特定するとともに、開始ノード以外の中間ノードから遷移が開始しているノードの範囲を中間ノード遷移範囲として特定する。補正機能付き業務プロセス監視結果更新部120は、ノード遷移範囲特定部の例である。
また、補正機能付き業務プロセス監視結果更新部120(ノード遷移範囲特定部)は、新たにイベントデータをデキューする度に、新たにデキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、開始ノード遷移範囲及び前記中間ノード遷移範囲の少なくともいずれかを更新する。
そして、補正機能付き業務プロセス監視結果更新部120は、更新の結果、開始ノード遷移範囲と中間ノード遷移範囲とが連結する場合に、開始ノード遷移範囲に中間ノード遷移範囲を連結させた範囲を新たな開始ノード遷移範囲として更新する。
そして、前述したように、開始ノード遷移範囲の特定にあたり、補正機能付き業務プロセス監視結果更新部120は、業務プロセスにおける開始イベントのイベントデータをデキューした場合に、開始イベントの遷移先ノードに対してペトリネットのカレントトークンを生成して開始ノード遷移範囲を特定し、中間ノード遷移範囲の特定にあたり、業務プロセスにおける開始イベント以外のイベントのイベントデータをデキューした場合に、当該イベントの遷移元ノードと遷移先ノードに対してペトリネットのトークンを拡張した仮始点トークンと仮終点トークンとをそれぞれ生成して中間ノード遷移範囲を特定する。
また、補正機能付き業務プロセス監視結果更新部120は、新たにイベントデータをデキューする度に、カレントトークン及び仮終点トークンの少なくともいずれかを移動させて、開始ノード遷移範囲及び中間ノード遷移範囲の少なくともいずれかを更新する。
更に、補正機能付き業務プロセス監視結果更新部120は、更新の結果、開始ノード遷移範囲と中間ノード遷移範囲とが連結する場合に、カレントトークンを仮終点トークンの位置まで移動させるとともに、仮始点トークンと仮終点トークンとを削除して、開始ノード遷移範囲に中間ノード遷移範囲を連結させた範囲を新たな開始ノード遷移範囲として更新する。
本実施の形態に係る業務監視システム100と監視対象業務システム200との関係は、図34に示す関係となることが考えられる。
つまり、監視対象業務システムがそれぞれ異なる組織用計算機(組織A用計算機から組織C用計算機)に実装され、業務監視システムが業務監視用計算機に実装される形態が考えられる。そして、それぞれの組織用計算機からのイベントデータが業務監視用計算機に実装されている業務監視システムに集められ、従来では、イベントデータの到着順が業務プロセスのシーケンス通りにならなかった場合に対応できなかったが、本実施の形態では、上記のカレントトークン、仮始点トークン及び仮終点トークンを用いて、イベントデータの到着順が業務プロセスのシーケンス通りにならなかった場合にも対応可能である。
図34に示す関係に則して、図18に示す構成の計算機構成は、図19に示すように、監視対象業務システム200が業務用サーバ装置2000上に存在し、業務監視システム100が業務監視用サーバ装置1000上に存在するという形態が考えられる。なお、図19における他システム302は、業務用サーバ装置2000とは別の計算機上に存在するものとする。
また、図20に示すように、業務監視システム100が監視対象としているいずれかの監視対象業務システム200と業務監視システム100とが同一の計算機(業務用サーバ装置2000)に実現されていてもよい。この場合にも、他システム302は、業務用サーバ装置2000とは別の計算機上に存在するものとする。
なお、作図上の都合から、図19及び図20では、図18に示したシステム間メッセージ監視部107を省略しているが、図19及び図20にはシステム間メッセージ監視部107が含まれているものとする。
次に、本実施の形態に係る補正機能付き業務プロセス監視結果更新部120の動作(業務監視方法)について説明する。
図21は、補正機能付き業務プロセス監視結果更新部120の動作例を示す。
図21はUML1.4アクティビティ図を用いて、1つのイベントインスタンスをデキューしてそのイベントインスタンスを処理する手順を示している。1つのイベントインスタンスの処理が終了すれば、次にデキューしたイベントに対してまた図21の先頭から処理を開始する。
図21において、Step1がデキュー処理ステップに相当し、Step2以降がノード遷移範囲特定ステップに相当する。
図21に示す各ステップは、図22〜24に示す具体例を参照しながら、説明する。
図22〜図24は、様々なバリエーションのイベントデータ到着順序における補正機能付き業務プロセス監視結果更新部120の処理例を示している。
これらは図27に示すイベント/業務プロセス対応設定DBの内容(ビジネスプロセスA)を例として対象にしている。
図22〜図24の縦軸は到着順にイベントを上から下に並べている。横軸はノードを並べている。縦軸と横軸の交差セルにはトークンの振舞いを記述している。交差セルに記述されているトークンの表記法は、「<#>」がカレントトークン、「(#)」が仮始点トークン、「{#}」が仮終点トークン、「#」は各トークンを識別するキー値である。
図22は、図27に示す業務プロセスのシーケンスにおいて最初に到着すべきであるイベントデータが実際には最後に到着した例を示している。
図21に基づいて、補正機能付き業務プロセス監視結果更新部120の動作を説明する。
Step1により変数eventにはevent1が代入される。
Step2により変数transitionには「Activity0からActivity1への遷移」が代入される。ここで、Step2に示す「遷移設定情報」とは、eventの種類が遷移(transition)させる始点ノードと終了ノードのペアの情報である。例えば図27のイベント/業務プロセス対応設定DBの格納例の場合では、図25に示す情報が遷移設定情報となる。
Step3では変数eventに代入されているevent1は1番目に到着したものなので、変数processは空である。
変数processが空なのでStep4が実行され、新たなプロセスインスタンスが生成され変数processに代入され、Step5により補正機能付き業務プロセス監視結果DB122に格納される。なお、Step3の「eventに対応する業務プロセス」とはeventにより遷移を引き起こされる業務プロセスのことである。例えば図27のイベント/業務プロセス対応設定DBの格納例では、event0に対応する業務プロセスはビジネスプロセスAである。また、「業務プロセスインスタンス」は「業務プロセス」の個々の実体である。
次に、変数transitionが「Activity0からActivity1への遷移」なので、Step7が実行され、Activity0上に仮始点トークンが生成される。これは図22では、行「event1」の列「Activity0」上の「(1)生成」が該当する。
Step8により変数transitionの終点ノードであるActivity1上に仮終点トークンが生成される。これは図22では行「event1」の列「Activity1」上の「{1}生成」が該当する。
Step9では遷移可能なトークンがないので何も実行しない。
変数process上にはまだカレントトークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、最初にデキューしたevent1の処理が終了する。
続いてStep1により変数eventにはevent2が代入される。
Step2により変数transitionには「Activity1からフォークノードへの遷移」が代入される。
Step3により変数processにはevent1の処理で生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行され、Activity1に含まれるトークンとして仮終点トークン{1}を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListにはカレントトークンが含まれていないので何もしない。
Step14では仮終点トークン{1}を変数transitionの終点ノードであるフォークノードへ移動させる。これは図22では行「event2」の列「フォーク1」上の「{1}移動」が該当する。
Step9により仮終点トークン{1}はフォークノードにより分裂して遷移する。これは図22では行「event2」の列「Activity2」上の「{1−1}分裂」と、列「Activity3」上の「{1−2}分裂」に該当する。
変数process上にはまだカレントトークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent2の処理が終了する。
続いてStep1により変数eventにはevent3が代入される。
Step2により変数transitionには「Activity2からジョインノードへの遷移」が代入される。
Step3により変数processにはevent1の処理で生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity2に含まれるトークンとして仮終点トークン{1−1}を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListにはカレントトークンが含まれていないので何もしない。
Step14では仮終点トークン{1−1}を変数transitionの終点ノードであるジョインノードへ移動させる。これは図22では行「event3」の列「ジョイン1」上の「{1−1}移動」が該当する。
Step9では遷移可能なトークンがないので何も実行しない。
変数process上にはまだカレントトークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent3の処理が終了する。
続いてStep1により変数eventにはevent4が代入される。
Step2により変数transitionには「Activity3からジョインノードへの遷移」が代入される。
Step3により変数processにはevent1の処理で生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity3に含まれるトークンとして仮終点トークン{1−2}を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListにはカレントトークンが含まれていないので何もしない。
Step14では仮終点トークン{1−2}を変数transitionの終点ノードであるジョインノードへ移動させる。これは図22では行「event4」の列「ジョイン1」上の「{1−2}移動」が該当する。
Step9では仮終点トークン{1−1}と{1−2}を含むジョイン1内でトークンが合体しActivity4に移動する。これは図22では行「event4」の列「ジョイン1」上の「{1}合体」と、列「Activity4」上の「{1}移動」が該当する。
変数process上にはまだカレントトークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent4の処理が終了する。
続いてStep1により変数eventにはevent5が代入される。
Step2により変数transitionには「Activity4から終了ノードへの遷移」が代入される。
Step3により変数processにはevent1の処理で生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行され、Activity4に含まれるトークンとして仮終点トークン{1}を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListにはカレントトークンが含まれていないので何もしない。
Step14では仮終点トークン{1}を変数transitionの終点ノードである終了ノードへ移動させる。これは図22では行「event5」の列「終了ノード」上の「{1}移動」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。変数process上にはまだカレントトークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent3の処理が終了する。
続いてStep1により変数eventにはevent0が代入される。
Step2により変数transitionには「開始ノードからActivity1への遷移」が代入される。
Step3により変数processにはevent1の処理で生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードなので、Step15が実行される。
Step15では変数transitionの終点ノードであるActivity0上にカレントトークン<1>」が生成される。これは図22では行「event0」の列「Activity0」上の「<1>生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。カレントトークン<1>が存在するActivity0には仮始点トークン(1)が存在するのでStep10が実行される。
Step10ではカレントトークン<1>をActivity0上の仮始点トークン(1)のペアである仮終点トークン{1}の終了ノードまで移動させる。これは図22では行「event0」の列「終了ノード」上の「<1>移動」に該当する。
Step11ではカレントトークン<1>と同じノードにある仮終点トークン{1}とそのペアである仮始点トークン(1)を削除する。これは図22では行「event0」の列「終了ノード」上の「{1}削除」と、列「Activity0」上の「(1)削除」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent0の処理が終了する。
以上で到着順が矛盾したイベント群を補正することができる。
図23は途中でイベントデータが抜けてそれが最後に到着した例を示す。
図21に基づいて、補正機能付き業務プロセス監視結果更新部120の動作を説明する。
Step1により変数eventにはevent0が代入される。
Step2により変数transitionには「開始ノードからActivity0への遷移」が代入される。
Step3では変数eventに代入されているevent0は1番目に到着したものなので、変数processは空である。
変数processは空なのでStep4が実行され、新たなプロセスインスタンスが生成され変数processに代入され、Step5により補正機能付き業務プロセス監視結果DB122に格納される。変数transitionは「開始ノードからActivity0への遷移」なので、Step15が実行される。
Step15では変数transitionの終点ノードであるActivity0上にカレントトークン<1>が生成される。これは図23では行「event0」の列「Activity0」上の「<1>生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、最初にデキューしたevent0の処理が終了する。
続いてStep1により変数eventにはevent1が代入される。
Step2により変数transitionには「Activity0からActivity1への遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行され、Activity0に含まれるトークンとしてカレントトークン<1>を取得して変数tokenListに代入される。
変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListに含まれるカレントトークン<1>が、変数transitionの終点ノードであるActivity1へ移動する。これは図23では「event1」の列「Activity1」上の「<1>移動」が該当する。
Step14では変数tokenList中に仮終点トークンが無いので何もしない。
Step9では遷移可能なトークンが無いので何も実行しない。変数process上には仮トークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent1の処理が終了する。
続いてStep1により変数eventにはevent2が代入される。
Step2により変数transitionには「Activity1からフォークノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行され、Activity1に含まれるトークンとしてカレントトークン<1>を取得して変数tokenListに代入される。
変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListに含まれるカレントトークン<1>を変数transitionの終点ノードであるフォークノードへ移動する。これは図23では行「event2」の列「フォーク1」上の「<1>移動」が該当する。
Step14ではtokenListには仮終点トークンが無いのので何も実行しない。
Step9によりカレントトークン<1>が分裂して、カレントトークン<1−1>とカレントトークン<1−2>が移動する。これは図22では行「event2」の列「Activity2」上の「<1−1>分裂」と、列「Activity3」上の「<1−2>分裂」に該当する。
変数process上には仮トークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent2の処理が終了する。
続いてStep1により変数eventにはevent4が代入される。
Step2により変数transitionには「Activity3からジョインノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity3に含まれるトークンとしてカレントトークン<1−2>を取得して変数tokenListに代入される。
変数tokenListは空ではないのでStep13が実行される。Step13ではtokenListに含まれるカレントトークン<1−2>が変数transitionの終点ノードであるジョインノードに移動する。これは図23では行「event4」の列「ジョイン1」上の「<1−2>移動」が該当する。
Step14ではtokenListには仮終点トークンが無いので何も実行しない。
Step9では遷移可能なトークンが無いので何も実行しない。
変数process上には仮トークンが存在しないため、条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent4の処理が終了する。
続いてStep1により変数eventにはevent5が代入される。
Step2により変数transitionには「Activity4から終了ノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity4に含まれるトークンが無いので変数tokenListには何も代入されない。
変数tokenListは空なのでStep7が実行される。
Step7では変数transitionの始点ノードであるActivity4上に仮始点トークン(1)を生成する。これは図23では、行「event4」の列「Activity4」上の「(1)生成」が該当する。
Step8では変数transitionの終点ノードである終了ノード上に仮終点トークン{1}を生成する。これは図23では行「event4」の列「終了ノード」上の「{1}生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent5の処理が終了する。
続いてStep1により変数eventにはevent3が代入される。
Step2により変数transitionには「Activity2からジョインノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity2に含まれるトークンとしてカレントトークン<1−1>を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListに含まれるカレントトークン<1−1>を変数transitionの終点ノードであるジョインノードへ移動させる。これは図23では行「event3」の列「ジョイン1」上の「<1−1>移動」が該当する。
Step14では変数tokenListには仮終点トークンが含まれていないので何も実行しない。
Step9ではジョインノードでカレントトークン<1−1>とカレントトークン<1−2>が揃ったのでカレントトークン<1>として合体し、Activity4へ移動する。これは図23では、行「event3」の列「ジョイン1」上の「<1>合体」と、列「Activity4」上の「<1>移動」が該当する。
変数process上のカレントトークン<1>が存在するActivity4には仮始点トークン(1)が存在するためStep10が実行される。
Step10ではカレントトークン<1>をActivity4上の仮始点トークン(1)のペアである仮終点トークン{1}の終了ノードまで移動させる。これは図23では行「event3」の列「終了ノード」上の「<1>移動」に該当する。
Step11ではカレントトークン<1>と同じノードにある仮終点トークン{1}とそのペアである仮始点トークン(1)を削除する。これは図23では行「event3」の列「終了ノード」上の「{1}削除」と、列「Activity4」上の「(1)削除」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent3の処理が終了する。
以上で到着順が矛盾したイベント群を補正することができる。
図24は、イベントデータがランダムに到着した例を示す。
図21に基づいて、補正機能付き業務プロセス監視結果更新部120の動作を説明する。
Step1により変数eventにはevent2が代入される。
Step2により変数transitionには「Activity1からフォークノードへの遷移」が代入される。
Step3では変数eventに代入されているevent2は1番目に到着したものなので、変数processは空である。
変数processは空なのでStep4が実行され、新たなプロセスインスタンスが生成され変数processに代入され、Step5により補正機能付き業務プロセス監視結果DB122に格納される。
変数transitionの始点ノードの種類は開始ノードではないのでStep7が実行される。
Step7では変数transitionの始点ノードであるActivity1上に仮始点トークン(1)を生成する。これは図24では、行「event2」の列「Activity1」上の「(1)生成」が該当する。
Step8では変数transitionの終点ノードであるフォークノード上に仮終点トークン{1}を生成する。これは図24では行「event2」の列「フォーク1」上の「{1}生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent2の処理が終了する。
続いてStep1により変数eventにはevent5が代入される。
Step2により変数transitionには「Activity4から終了ノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity4に含まれるトークンが無いので変数tokenListには何も代入されない。
変数tokenListは空なのでStep7が実行される。
Step7では変数transitionの始点ノードであるActivity4上に仮始点トークン(2)を生成する。これは図24では、行「event5」の列「Activity4」上の「(2)生成」が該当する。
Step8では変数transitionの終点ノードである終了ノード上に仮終点トークン{2}を生成する。これは図24では行「event5」の列「終了ノード」上の「{2}生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent5の処理が終了する。
続いてStep1により変数eventにはevent1が代入される。
Step2により変数transitionには「Activity0からActivity1への遷移」が代入される。Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity0に含まれるトークンが無いので変数tokenListには何も代入されない。
変数tokenListは空なのでStep7が実行される。
Step7では変数transitionの始点ノードであるActivity0上に仮始点トークン(3)を生成する。これは図24では、行「event1」の列「Activity0」上の「(3)生成」が該当する。
Step8では変数transitionの終点ノードであるActivity1上に仮終点トークン{3}を生成する。これは図24では行「event1」の列「Activity1」上の「{3}生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent1の処理が終了する。
続いてStep1により変数eventにはevent3が代入される。
Step2により変数transitionには「Activity2からジョインノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity2に含まれるトークンが無いので変数tokenListには何も代入されない。
変数tokenListは空なのでStep7が実行される。
Step7では変数transitionの始点ノードであるActivity2上に仮始点トークン(4)を生成する。これは図24では、行「event3」の列「Activity2」上の「(4)生成」が該当する。
Step8では変数transitionの終点ノードであるジョインノード上に仮終点トークン{4}を生成する。これは図24では行「event3」の列「ジョイン1」上の「{4}生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent3の処理が終了する。
続いてStep1により変数eventにはevent0が代入される。
Step2により変数transitionには「開始ノードからActivity0への遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードなのでStep15が実行される。
Step15では変数transitionの終点ノードであるActivity0上にカレントトークン<1>が生成される。これは図24では行「event0」の列「Activity0」上の「<1>生成」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
変数process上のカレントトークン<1>が存在するActivity0上に仮始点トークン(3)が存在するのでStep10が実行される。
Step10ではカレントトークン<1>をActivity0上の仮始点トークン(3)のペアである仮終点トークン{3}のActivity1まで移動させる。これは図24では行「event0」の列「Activity1」上の「<1>移動」に該当する。
Step11ではカレントトークン<1>と同じノードにある仮終点トークン{3}とそのペアである仮始点トークン(3)を削除する。これは図24では行「event0」の列「Activity1」上の「{3}削除」と、列「Activity0」上の「(3)削除」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。
変数process上のカレントトークン<1>が存在するActivity1上に仮始点トークン(1)が存在するのでStep10が実行される。
Step10ではカレントトークン<1>をActivity1上の仮始点トークン(1)のペアである仮終点トークン{1}のフォークノードまで移動させる。これは図24では行「event0」の列「フォーク1」上の「<1>移動」に該当する。
Step11ではカレントトークン<1>と同じノードにある仮終点トークン{1}とそのペアである仮始点トークン(1)を削除する。これは図24では行「event0」の列「フォーク1」上の「{1}削除」と、列「Activity1」上の「(1)削除」が該当する。
Step9ではカレントトークン<1>はフォークノードでカレントトークン<1−1>とカレントトークン<1−2>に分裂する。これは図24では行「event0」の列「Activity1」上の「<1−1>分裂」と、列「Activity3」上の「<1−2>分裂」に該当する。変数process上のカレントトークン<1−1>が存在するActivity2上には仮始点トークン(4)が存在するのでStep10が実行される。
Step10ではカレントトークン<1−1>をActivity2上の仮始点トークン(4)のペアである仮終点トークン{4}のジョインノードまで移動させる。これは図24では行「event0」の列「ジョイン1」上の「<1−1>移動」に該当する。
Step11ではカレントトークン<1−1>と同じノードにある仮終点トークン{4}とそのペアである仮始点トークン(4)を削除する。これは図24では行「event0」の列「ジョイン1」上の「{4}削除」と、列「Activity2」上の「(4)削除」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent0の処理が終了する。
続いてStep1により変数eventにはevent4が代入される。
Step2により変数transitionには「Activity3からジョインノードへの遷移」が代入される。
Step3により変数processには既に生成された業務プロセスインスタンスが代入される。
変数processが空ではなく、変数transitionの始点ノードの種類が開始ノードではないので、Step12が実行される。
Step12ではActivity3に含まれるトークンとしてカレントトークン<1−2>を取得して変数tokenListに代入される。変数tokenListは空ではないのでStep13が実行される。
Step13ではtokenListに含まれるカレントトークン<1−2>が変数transitionの終点ノードであるジョインノードに移動する。これは図24では行「event4」の列「ジョイン1」上の「<1−2>移動」が該当する。
Step14ではtokenListには仮終点トークンが無いので何も実行しない。
Step9ではジョインノードでカレントトークン<1−1>とカレントトークン<1−2>が揃ったのでカレントトークン<1>として合体し、Activity4へ移動する。これは図24では、行「event4」の列「ジョイン1」上の「<1>合体」と、列「Activity4」上の「<1>移動」が該当する。
変数process上のカレントトークン<1>が存在するActivity4には仮始点トークン(2)が存在するためStep10が実行される。
Step10ではカレントトークン<1>をActivity4上の仮始点トークン(2)のペアである仮終点トークン{2}の終了ノードまで移動させる。これは図24では行「event4」の列「終了ノード」上の「<1>移動」に該当する。
Step11ではカレントトークン<1>と同じノードにある仮終点トークン{2}とそのペアである仮始点トークン(2)を削除する。これは図24では行「event4」の列「終了ノード」上の「{2}削除」と、列「Activity4」上の「(2)削除」が該当する。
Step9では遷移可能なトークンが無いので何も実行しない。条件[process上のカレントトークンが存在するノードインスタンス上に仮トークンが存在しない]が成立し、デキューしたevent4の処理が終了する。
以上で到着順が矛盾したイベント群を補正することができる。
本実施の形態では、業務プロセスの順序通りに格納されていないイベントキューからデキューして補正する補正機能付き業務プロセス監視結果更新部と、補正情報を格納できる補正機能付き業務プロセス監視結果DBと、補正情報も含めて業務プロセスを監視する補正機能付き業務プロセス監視部を備える業務監視システムについて説明した。
そして、本実施の形態に係る業務監視システムによれば、組織間/計算機間/システム間を跨って業務プロセスを監視できる。
つまり、本実施の形態に係る業務監視システムは、従来技術の問題5を解決することができる。
なお、以上の説明では、カレントトークン、仮始点トークン及び仮終点トークンを用いて開始ノード遷移範囲及び中間ノード遷移範囲を特定、更新することとしたが、他の手段により開始ノード遷移範囲及び中間ノード遷移範囲を特定、更新してもよい。
実施の形態1に係るシステム構成例を示す図。 実施の形態1に係るシステムの計算機構成例を示す図。 実施の形態1に係るシステムの計算機構成例を示す図。 実施の形態1及び2に係るシステムのハードウェア構成例を示す図。 実施の形態1に係るユーザインタフェース監視部の動作例を示すフローチャート図。 実施の形態1に係るシステムにおいてHTTPリクエストとHTTPレスポンスが送受信される場合の構成例を示す図。 実施の形態1に係るシステムにおいて電子メールが送受信される場合の構成例を示す図。 実施の形態1に係るシステムにおいて電子メールが送受信される場合の構成例を示す図。 実施の形態1に係る監視対象画面の例とそのHTML部分の例を示す図。 実施の形態1に係るServletフィルタが読み込む業務イベント対応一覧の例を示す図。 実施の形態1に係るServletフィルタが読み込む業務イベント対応一覧の例を示す図。 実施の形態1に係るServletフィルタの動作例を示すフローチャート図。 実施の形態1に係るServletフィルタの動作例を示すフローチャート図。 実施の形態1に係る業務遂行者と監視対象業務システムの間で送受信されるメール例を示す図。 実施の形態1に係る業務遂行者と監視対象業務システムの間で送受信されるメール例を示す図。 実施の形態1に係るメール受信機能付き業務イベント監視部が読み込む業務イベント対応一覧の例を示す図。 実施の形態1に係るメール受信機能付き業務イベント監視部の動作例を示すフローチャート図。 実施の形態2に係るシステム構成例を示す図。 実施の形態2に係るシステムの計算機構成例を示す図。 実施の形態2に係るシステムの計算機構成例を示す図。 実施の形態2に係る補正機能付き業務プロセス監視結果更新部の動作例を示すフローチャート図。 実施の形態2に係るイベントデータの到着順序が矛盾している場合のトークンの処理例を示す図。 実施の形態2に係るイベントデータの到着順序が矛盾している場合のトークンの処理例を示す図。 実施の形態2に係るイベントデータの到着順序が矛盾している場合のトークンの処理例を示す図。 実施の形態2に係る遷移設定情報の例を示す図。 従来技術を説明する図。 イベント/業務プロセス対応設定DBの格納例を示す図。 業務プロセス監視結果DBの格納例を示す図。 従来技術を説明する図。 業務システムの構成例を示す図。 従来技術の問題点を説明する図。 従来技術の問題点を説明する図。 従来技術の問題点を説明する図。 従来技術の問題点を説明する図。
符号の説明
100 業務監視システム、101 イベントキュー、102 業務プロセス監視結果更新部、103 イベント/業務プロセス対応設定DB、104 業務プロセス監視部、105 業務プロセス監視結果DB、106 業務DB監視部、107 システム間メッセージ監視部、110 ユーザインタフェース監視部、120 補正機能付き業務プロセス監視結果更新部、121 補正機能付き業務プロセス監視部、122 補正機能付き業務プロセス監視結果DB、200 監視対象業務システム、201 ユーザインタフェース部、202 業務ロジック部、203 業務データ入出力部、204 システム連携処理部、300 リソース、301 業務DB、302 他システム、400 ユーザインタフェース基盤、401 ユーザインタフェース基盤(クライアント側)、402 ユーザインタフェース基盤(サーバ側)、501 DB管理システム、502 システム間メッセージ交換ミドルウェア、601 業務遂行者、602 業務監視者、700 業務監視システム、1000 業務監視用サーバ装置、2000 業務用サーバ装置、4000 業務遂行者用クライアント端末、4001 業務監視者用クライアント端末。

Claims (13)

  1. 監視対象業務システムの業務プロセスにおけるイベントの発生を通知するイベントデータを用いて前記業務プロセスの監視を行う業務監視システムであって、
    前記監視対象業務システムを利用する端末装置と前記監視対象業務システムとの間で送受信されるメッセージを取得し、取得したメッセージを解析してイベントデータを生成し、生成したイベントデータをイベントキューにエンキューするイベントデータ生成部を有することを特徴とする業務監視システム。
  2. 前記イベントデータ生成部は、
    前記メッセージとして、前記監視対象業務システムと前記端末装置との間で送受信されるHTTP(HyperText Transfer Protocol)リクエスト及びHTTPレスポンスの少なくともいずれかを取得することを特徴とする請求項1に記載の業務監視システム。
  3. 前記イベントデータ生成部は、
    前記メッセージとして、前記監視対象業務システムと前記端末装置との間で送受信される電子メールを取得することを特徴とする請求項1に記載の業務監視システム。
  4. 監視対象業務システムにおける業務プロセスの監視を行う業務監視システムであって、
    前記業務プロセスのシーケンスを複数のイベントとそれぞれのイベントの遷移元ノード及び遷移先ノードとして示す業務プロセスシーケンス情報を記憶する業務プロセスシーケンス情報記憶部と、
    前記業務プロセスにおけるイベントの発生を通知するイベントデータをイベントキューからデキューし、前記業務プロセスシーケンス情報に基づき、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードを判断し、デキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、前記業務プロセスの開始ノードから遷移が開始しているノードの範囲を開始ノード遷移範囲として特定するとともに、前記開始ノード以外の中間ノードから遷移が開始しているノードの範囲を中間ノード遷移範囲として特定するノード遷移範囲特定部を有することを特徴とする業務監視システム。
  5. 前記ノード遷移範囲特定部は、
    新たにイベントデータをデキューする度に、新たにデキューしたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、前記開始ノード遷移範囲及び前記中間ノード遷移範囲の少なくともいずれかを更新することを特徴とする請求項4に記載の業務監視システム。
  6. 前記ノード遷移範囲特定部は、
    更新の結果、前記開始ノード遷移範囲と前記中間ノード遷移範囲とが連結する場合に、前記開始ノード遷移範囲に前記中間ノード遷移範囲を連結させた範囲を新たな開始ノード遷移範囲として更新することを特徴とする請求項4に記載の業務監視システム。
  7. 前記ノード遷移範囲特定部は、
    前記業務プロセスにおける開始イベントのイベントデータをデキューした場合に、前記開始イベントの遷移先ノードに対してペトリネットのカレントトークンを生成して前記開始ノード遷移範囲を特定し、前記業務プロセスにおける開始イベント以外のイベントのイベントデータをデキューした場合に、当該イベントの遷移元ノードと遷移先ノードに対してペトリネットのトークンを拡張した仮始点トークンと仮終点トークンとをそれぞれ生成して前記中間ノード遷移範囲を特定することを特徴とする請求項4に記載の業務監視システム。
  8. 前記ノード遷移範囲特定部は、
    新たにイベントデータをデキューする度に、前記カレントトークン及び前記仮終点トークンの少なくともいずれかを移動させて、前記開始ノード遷移範囲及び前記中間ノード遷移範囲の少なくともいずれかを更新することを特徴とする請求項7に記載の業務監視システム。
  9. 前記ノード遷移範囲特定部は、
    更新の結果、前記開始ノード遷移範囲と前記中間ノード遷移範囲とが連結する場合に、前記カレントトークンを前記仮終点トークンの位置まで移動させるとともに、前記仮始点トークンと前記仮終点トークンとを削除して、前記開始ノード遷移範囲に前記中間ノード遷移範囲を連結させた範囲を新たな開始ノード遷移範囲として更新することを特徴とする請求項8に記載の業務監視システム。
  10. 監視対象業務システムの業務プロセスにおけるイベントの発生を通知するイベントデータを用いて前記業務プロセスの監視を行う業務監視方法であって、
    前記監視対象業務システムを利用する端末装置と前記監視対象業務システムとの間で送受信されるメッセージを取得するメッセージ取得ステップと、
    取得したメッセージを解析してイベントデータを生成するイベントデータ生成ステップと、
    生成したイベントデータをイベントキューにエンキューするエンキュー処理ステップとを有することを特徴とする業務監視方法。
  11. 監視対象業務方法における業務プロセスの監視を行う業務監視方法であって、
    前記業務プロセスにおけるイベントの発生を通知するイベントデータをイベントキューからデキューするデキュー処理ステップと、
    前記業務プロセスのシーケンスを複数のイベントとそれぞれのイベントの遷移元ノード及び遷移先ノードとして示す業務プロセスシーケンス情報に基づき、デキューされたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードを判断し、デキューされたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、前記業務プロセスの開始ノードから遷移が開始しているノードの範囲を開始ノード遷移範囲として特定するとともに、前記開始ノード以外の中間ノードから遷移が開始しているノードの範囲を中間ノード遷移範囲として特定するノード遷移範囲特定ステップとを有することを特徴とする業務監視方法。
  12. 監視対象業務システムの業務プロセスにおけるイベントの発生を通知するイベントデータを用いて前記業務プロセスの監視を行うコンピュータに、
    前記監視対象業務システムを利用する端末装置と前記監視対象業務システムとの間で送受信されるメッセージを取得するメッセージ取得処理と、
    取得したメッセージを解析してイベントデータを生成するイベントデータ生成処理と、
    生成したイベントデータをイベントキューにエンキューするエンキュー処理とを実行させることを特徴とするプログラム。
  13. 監視対象業務方法における業務プロセスの監視を行うコンピュータに、
    前記業務プロセスにおけるイベントの発生を通知するイベントデータをイベントキューからデキューするデキュー処理と、
    前記業務プロセスのシーケンスを複数のイベントとそれぞれのイベントの遷移元ノード及び遷移先ノードとして示す業務プロセスシーケンス情報に基づき、デキューされたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードを判断し、デキューされたイベントデータに対応するイベントの遷移元ノード及び遷移先ノードと既にデキュー済みのイベントデータに対応するイベントの遷移元ノード及び遷移先ノードとに基づき、前記業務プロセスの開始ノードから遷移が開始しているノードの範囲を開始ノード遷移範囲として特定するとともに、前記開始ノード以外の中間ノードから遷移が開始しているノードの範囲を中間ノード遷移範囲として特定するノード遷移範囲特定処理とを実行させることを特徴とするプログラム。
JP2006214405A 2006-08-07 2006-08-07 業務監視システム及び業務監視方法及びプログラム Pending JP2008040803A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006214405A JP2008040803A (ja) 2006-08-07 2006-08-07 業務監視システム及び業務監視方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006214405A JP2008040803A (ja) 2006-08-07 2006-08-07 業務監視システム及び業務監視方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2008040803A true JP2008040803A (ja) 2008-02-21

Family

ID=39175729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006214405A Pending JP2008040803A (ja) 2006-08-07 2006-08-07 業務監視システム及び業務監視方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2008040803A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521698A (zh) * 2011-12-14 2012-06-27 华北电力大学 大型建筑工程质量的关键工序识别与监控方法
CN104077650A (zh) * 2014-06-09 2014-10-01 马卡里 一种食品安全监控系统
CN109961204A (zh) * 2017-12-26 2019-07-02 中国移动通信集团浙江有限公司 一种微服务架构下业务质量分析方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521698A (zh) * 2011-12-14 2012-06-27 华北电力大学 大型建筑工程质量的关键工序识别与监控方法
CN104077650A (zh) * 2014-06-09 2014-10-01 马卡里 一种食品安全监控系统
CN109961204A (zh) * 2017-12-26 2019-07-02 中国移动通信集团浙江有限公司 一种微服务架构下业务质量分析方法和系统
CN109961204B (zh) * 2017-12-26 2021-04-23 中国移动通信集团浙江有限公司 一种微服务架构下业务质量分析方法和系统

Similar Documents

Publication Publication Date Title
US11627149B2 (en) Security monitoring of network connections using metrics data
US9112808B2 (en) Devices, systems, and methods for providing data
US11870795B1 (en) Identifying attack behavior based on scripting language activity
US11513844B1 (en) Pipeline set selection based on duty cycle estimation
US11422873B2 (en) Efficient message queuing service using multiplexing
Indrasiri et al. Microservices for the Enterprise
JP4900982B2 (ja) サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム
US7949999B1 (en) Providing support for multiple interface access to software services
US7792948B2 (en) Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US7024477B2 (en) Service time analysis methods for the WSM QOS monitor
US20130067024A1 (en) Distributing multi-source push notifications to multiple targets
US11671457B2 (en) On-premises action execution agent for cloud-based information technology and security operations applications
US9092329B2 (en) Process integration alerting for business process management
US20170041439A1 (en) Facilitating the operation of a client/server application while a client is offline or online
Johansson et al. RabbitMQ Essentials: Build distributed and scalable applications with message queuing using RabbitMQ
US11714683B1 (en) Information technology and security application automation architecture
US7096230B2 (en) Computer-implemented method and system to support in developing a process specification for a collaborative process
US20060265455A1 (en) Automatic recovery from failures of messages within a data interchange
JP2008040803A (ja) 業務監視システム及び業務監視方法及びプログラム
US11695803B2 (en) Extension framework for an information technology and security operations application
JP4772368B2 (ja) ビジネスプロセス例外処理生成支援装置およびプログラム
US20200327122A1 (en) Conflation of topic selectors
JP2008210047A (ja) 業務イベントデータ補完装置及び業務イベントデータ補完プログラム
JP4305364B2 (ja) Webサービス要求中継システム、Webサービス要求中継方法、中継サーバ、及びそのプログラム
Baker Logging and Monitoring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108