ワークフロープログラム解析装置およびワークフロープログラム解析方法およびプログラムおよび記録媒体
【課題】ワークフローシステム上で動作するワークフロープログラムにおいて全業務のクロスリファレンスを出力する際に項目をまとめて出力することにより、業務アプリケーションの解析を可能にする。
【解決手段】電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム情報取得手段415と、取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段410と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段411とを有する。
【解決手段】電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム情報取得手段415と、取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段410と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段411とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークフローシステムにおけるプログラムを解析する機能に関する。
【背景技術】
【0002】
従来の業務アプリケーションには、ワークフローシステムやデータベース管理システムなどとの連携したシステムがあるが、ワークフローシステムやデータベース管理システムを変更する場合、業務アプリケーションの作り直しが必要となる。上記を改善するためにワークフローシステムやデータベース管理システム特有の処理を関数に吸収させ、開発された業務アプリケーションの流用性や移植性を高めるシステムが特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開11−66164号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1の開発の際には、業務アプリケーションの構造理解に要する時間を短縮し、メンテナンス作業効率の向上や業務アプリケーションの変更作業の効率化のために、業務アプリケーションの関数のクロスリファレンス情報を取得する技術が利用されているが、業務アプリケーションの全業務のクロスリファレンスを出力すると、その情報量の多さから、関数の解析に余計な労力を必要とすることがある。
【0005】
本発明は、上記課題を解決するためになされたもので、本発明の目的は、全業務のクロスリファレンスを出力する際に項目をまとめて出力することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を可能にするワークフロープログラム解析装置およびワークフロープログラム解析方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【0006】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段と、前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段とを有することによって、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
【図面の簡単な説明】
【0008】
【図1】本発明が適用されるワークフローシステムの概略構成を示す図である。
【図2】図1に示したワークフローサーバ,ワークフロー操作用端末,ワークフロー及び伝票設計用端末に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【図3】図1に示したワークフロー及び伝票設計用端末400のソフトウェア構成を示す模式図である。
【図4】本発明のワークフローシステムにおける処理プログラムの一例である。
【図5】本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例である。
【図6】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図7】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図8】本発明のワークフロープログラム解析システムにおける第1の制御処理手順の一例を示すフローチャートである。
【図9】本発明のワークフローシステムにおける伝票の起票画面の一例である。
【図10】本発明のワークフローシステムにおける伝票の流れの一例を示す図である。
【図11】本発明のワークフローシステムにおける伝票の承認画面の一例である。
【図12】本発明のワークフロープログラム解析システムにおける第2の制御処理手順の一例を示すフローチャートである。
【図13】本発明のワークフロープログラム解析システムにおける第3の制御処理手順の一例を示すフローチャートである。
【図14】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図15】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図16】本発明のワークフロープログラム解析システムを構成する各情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【発明を実施するための形態】
【0009】
〔第1実施形態〕
以下、図面を参照して、本発明の詳細を説明する。
図1は、本実施形態が適用されるワークフローシステムの概略構成を示す図である。
【0010】
実施形態におけるワークフローシステムは、ワークフロー及び伝票設計用コンピュータ端末(ワークフロー及び伝票設計用端末)400、業務を遂行する処理者(担当者)に対応して設けられたワークフロー操作用コンピュータ端末(ワークフロー操作用端末)300、ワークフローを実行するための各種テーブル、各種プログラムを格納するワークフローサーバ200を備えている。
【0011】
これらワークフロー及び伝票設計用端末400,ワークフロー操作用端末300,ワークフローサーバ200は、それぞれネットワーク500に接続され運用されている。
【0012】
ワークフロー及び伝票設計用端末400は、伝票デザイナプログラム401及びシステム管理プログラム402を有し、ワークフローシステムにて使用する伝票の定義体の作成及びワークフローシステムで利用する各種定義情報の作成を行う。例えば、ワークフロー及び伝票設計用端末400は、ワークフローサーバ200に組織テーブル,役割テーブル,ユーザテーブル,ユーザ役割テーブル,配送定義情報,各種伝票情報等を登録することができる。このワークフロー及び伝票設計用端末400は、これらの作業を行うために、自己の識別情報を入力することによりワークフローサーバ200に接続することが可能になる。
また、システム管理プログラム402は図3にあるようなワークフロープログラム解析システムの構成も有する。詳細は後述する。
【0013】
ワークフロー操作用端末300は、ワークフロー操作用端末300上で実行されるWebブラウザ301を用いて、伝票に関するアクセス情報をワークフローサーバ200に対してHTTPで送信し、その結果を受信するものであり、その際に、発生する表示・計算処理は、Java(登録商標)アプレット302等を利用することにより実行する。なお、このワークフロー操作用端末300は、予め指定された所定の業務を行う担当者(例えば、起票者、課長、部長等)に配置されている。
【0014】
ワークフローサーバ200は、ワークフローシステムに関する情報(組織テーブル,役割テーブル,ユーザテーブル,ユーザ役割テーブル,配送定義情報,配送情報テーブル,各種伝票情報を格納するRDBMS(Relational DataBaSe Management SyStem)205、ワークフロー操作用端末300よりの要求を受け付けて要求を実行するためのHTTPサーバ201,サーブレットエンジン202,ワークフロープログラム203、ワークフロー通知機能を実現するSMTPサーバ204にて構成されている。
【0015】
以下、図2を参照して、図1に示したワークフローサーバ200,ワークフロー操作用端末300,ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成について説明する。
【0016】
図2は、図1に示したワークフローサーバ200,ワークフロー操作用端末300,ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【0017】
図2において、101はCPUで、ROM103又はハードディスク(HD)(その他の記憶装置、例えば、フレキシブルディスク,CD−ROM,DVD−ROM等どのような記憶装置であってもよい)104に格納されたプログラムをRAM102上にロードして実行することにより、コンピュータ全体を制御する。RAM102は、CPU101の作業領域として使用される。
【0018】
108は通信インタフェースで、通信ネットワーク500への接続を可能とする。106は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。107は表示装置で、CRT,LCD等で構成される。
【0019】
なお、図1に示したワークフローサーバ200のRDBMS205は、ワークフローサーバ200のHD104内に構築されている。また、ワークフローサーバ200のHTTPサーバ201,サーブレットエンジン202,ワークフロープログラム203,SMTPサーバ204は、ワークフローサーバ200のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0020】
また、図1に示したワークフロー操作用端末300のWebブラウザ301は、ワークフロー操作用端末300のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0021】
さらに、図1に示したワークフロー操作用端末300のJava(登録商標)アプレット302は、ワークフロー操作用端末300のCPU101が、ワークフローサーバ200よりダウンロードされたプログラムをWebブラウザ301上で実行することにより、実現される。
【0022】
また、図1に示したワークフロー及び伝票設計用端末400の伝票デザイナプログラム401,システム管理プログラム402は、ワークフロー及び伝票設計用端末400のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
図9〜図11で本発明のワークフローシステムで実行される伝票と承認ルートの例を説明する。
図9は、本発明のワークフローシステムにおける伝票の起票画面の一例である。
【0023】
ユーザはワークフロー操作用端末300により、ワークフローサーバ200から、図9のような「購入申請書」を取得する。取得した「購入申請書」の入力項目に入力後、終了ボタン902を押下し、購入申請書を申請する。なお、「購入申請書」等の伝票のレイアウトや設計項目はワークフロー及び伝票設計用端末400の伝票デザイナプログラム401により作成され、ワークフローサーバ200の各種伝票情報205内に記憶している。
【0024】
図10は、本発明のワークフローシステムにおける伝票の流れの一例を示す図である。図10の経路はワークフローサーバ200の配送定義情報に記憶されている。
【0025】
図10では、伝票「購入申請書TR」(1001)は、起案者1002から承認者1(課長)1003⇒承認者2(部長)1004⇒承認者3(経理部経理課担当者)1005⇒承認者4(経理部経理課課長)1006という流れで承認される。
【0026】
ワークフローサーバ200に記憶されている配送定義情報から、組織テーブルや役割テーブル、ユーザテーブル、ユーザ役割テーブルを参照して、それぞれの承認者にSMTPサーバによるメール送信などで承認要求を通知する。
図11は、本発明のワークフローシステムにおける伝票の承認画面の一例である。
【0027】
図11では、図9で申請された伝票が承認者(図10の1003)に移行した場合の承認者(図10の1003)で使用されるワークフロー操作用端末300で表示される例を示す。図11で起票者の組織の課長がマウスなどのポインティングデバイスにより承認ボタン1101を押下すると申請は承認され、否認ボタン1102を押下すると申請は否認される。承認された申請書は続く図10の承認ルートに沿って承認される。
次に、図3及び図8で本発明の実施形態の一例を説明する。
図3は、図1に示したワークフロー及び伝票設計用端末400のソフトウェア構成を示す模式図である。
【0028】
また、図8は、本発明のワークフロープログラム解析システムにおける第1の制御処理手順の一例を示すフローチャートであり、図1に示したワークフロー及び伝票設計用端末400のシステム管理プログラム402によるプログラム解析に対応する。なお、図中、S401〜S406は各ステップを示す。
【0029】
本発明のワークフロープログラム解析システムは、図3に示すワークフロー及び伝票設計用端末400で実現する場合で考えるが、システム管理プログラム402がワークフローサーバ200にあっても良いし、ワークフロー操作用端末300にあっても良い。
図3の各構成部はワークフロー及び伝票設計用端末400内のCPU101が実行する。
【0030】
まず、ユーザからワークフロープログラムの関数のクロスリファレンスを表示するプログラムが実行されると、図8のフローチャートがワークフロー及び伝票設計用端末400内で実施される。
【0031】
次にワークフロー及び伝票設計用端末400のCPU101は、、ステップS401において、ワークフローサーバ200からワークフロープログラム情報を取得する(図3の415)。ワークフロープログラムの例として、図4に一例を示す。
図4は、本発明のワークフローシステムにおける処理プログラムの一例である。
【0032】
図4の伝票名602が「購入申請書」という業務であることを示しており、オブジェクト名603が「99入力チェック」という入力項目のチェックをする処理を示す。
【0033】
図4は、条件式604の欄に記載されている条件式を満たす場合に計算式605のプログラムに記載される関数または計算を実行することを示している。図4に記載される関数の一例として、図5の関数リストを示す。
図5は、本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例であり、図3のデータベース414に記憶されている。
【0034】
図5の801の「n¥Exit¥」はその処理を終了させる関数であり、802の「n¥SetFocus¥」は後に続く引数の項目にカーソルをフォーカスする関数である。また、図4の606の行にある「c¥Message¥」は後に続く引数の文字をメッセージとして画面に出力する関数である。
図9の購入申請書が起票された場合の入力チェック処理(図4のプログラム)について考える。
【0035】
ワークフローの購入申請書が起票された場合の入力チェック処理は、例えば、図4の601欄の条件式604欄の(“取引先社名”=c‘’)の記載は、“取引先社名”の入力欄が空欄の場合の条件分岐を意味し、“取引先社名”の入力欄が空欄の場合、計算式605欄のプログラムを実行する。具体的には、“取引先社名”の入力欄が空欄の場合、「エラー グループ社名を入力してください」というメッセージを表示して、取引先社名の入力欄にフォーカスを当て取引先社名を入力させて、入力チェック処理を終了するというプログラムを実行する。なお、MEM1への戻り値の代入はダミーである。
【0036】
上記のような「Exit」や「SetFocus」の関数をワークフローの業務毎(業務毎とは、「購入申請書」や「発注書」などの一つのビジネスプロセスを指す。)にクロスリファレンスを出力するのか、もしくは、ワークフローの業務内の処理毎(処理毎とは、「購入申請書」であれば、例えば図4の603の「99入力チェック」項目等の処理を指す。)にクロスリファレンスを出力するのかを選ばせることで、プログラムのメンテナンス等の際に関数の解析を短時間に実施可能となる。図3及び図8の説明に戻る。
【0037】
図3のプログラム情報取得部415からプログラム情報を取得すると、次にワークフロー及び伝票設計用端末400のCPU101は、、ステップS402へ進み、出力条件選択部413において、業務毎にクロスリファレンスを出力するか、処理毎にクロスリファレンスを出力するかをユーザに選択させる画面を表示する。ユーザに選択させる画面例として、図6を用いて説明する。
図6は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【0038】
図6の510のラジオボタン選択欄は関数のクロスリファレンス情報を出力する単位を指定する項目で、システム帳票511の詳細、概略、なしのラジオボタンは、システム全体の関数のクロスリファレンス情報の出力をどのように出力するかを指定する。伝票帳票512の詳細、概略、なしのラジオボタンは、図7の701のチェックボックスで指定された伝票(業務)で使用される関数のクロスリファレンス情報の出力をどのように出力するかを指定する。
図7は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【0039】
図7は、関数のクロスリファレンス情報の出力を選択させると同時に、システム情報やRDB情報、伝票のフォーム情報や項目オブジェクト情報、経路情報、ボタン情報などの出力も選択させるための選択画面である。
【0040】
図6や図7で出力条件が選択され(図8のS402)、図6のラジオボタン511や512が詳細や概略になっている場合は、関数のクロスリファレンスを出力するために出力条件選択部413が詳細出力か概略出力かを判断する(S404)。具体的には、詳細出力の場合は処理毎クロスリファレンス情報出力部411に処理を依頼し(S406)、概略出力の場合は業務毎クロスリファレンス情報出力部410に処理を依頼する(S405)。
処理毎クロスリファレンス情報出力部410に処理依頼が来た場合、ワークフロー及び伝票設計用端末400のCPU101は、図12のフローを実行する。
【0041】
図12は、本発明のワークフロープログラム解析システムにおける第2の制御処理手順の一例を示すフローチャートであり、図3に示したワークフロー及び伝票設計用端末400の処理毎クロスリファレンス情報出力部411によるプログラム解析に対応する。なお、図中、S1201〜S1210は各ステップを示す。
図12のステップS1201では、ワークフロー及び伝票設計用端末400のCPU101は、まず関数一覧情報414(図5)から対象関数を一つ決定する。
【0042】
次に、ステップS1202では、ワークフロー及び伝票設計用端末400のCPU101は、業務定義情報414から対象にする業務を一つ選択する。業務定義情報とは、図7の701に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【0043】
次に、ステップS1203では、ワークフロー及び伝票設計用端末400のCPU101は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップS1204〜S1208のフローを実行する。処理の例として計算オブジェクトの例を図4に示す。
【0044】
ステップS1204では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されているかどうかの判断を行う。この判断は、対象関数が図4の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップS1205では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されていると判断された場合、ステップS1206へ移行する。一方、対象関数が上記処理(計算オブジェクト)で使用されていないと判断された場合は、ステップS1207へ移行する。
【0045】
具体的には、図4の計算オブジェクト上で、対象関数が図5の801の「Exit」の場合は、図4の計算式内で「Exit」関数が使われている行(607)を検索する。検索の結果、その行に対象関数の情報がなければ、ステップS1207へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップS1206では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が使われている位置をワークフロー及び伝票設計用端末400にデータとして出力する。データの出力例を図14に示す。
図14は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【0046】
図4の「購入申請書」業務における「99入力チェック」処理において、「Exit」関数は2行目に使われているので、出力結果としては、図14の1402のようなデータを出力する。図14の1402欄の表示を以下に記載する。
「伝票:購入申請書:計算/99入力チェック(計算:2)」
【0047】
この記載は、「購入申請書」という伝票(業務)において、計算オブジェクトの「99入力チェック」処理の計算式の2行目に「Exit」関数が存在することを意味している。同様に「Exit」関数が存在する3行目から10行目についても同様に確認すると、図14の1401のような記載が得られる。
上記のように、「99入力チェック」処理の確認が全て終わると、次の処理の確認に移行する(ステップS1208)。
ステップS1208で、全ての処理の確認が終わっていない場合は、ステップS1203に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップS1208で全ての処理の確認が終わった場合は、ステップS1209に移行する。
【0048】
ステップS1209では、ワークフロー及び伝票設計用端末400のCPU101は、確認する対象の業務(伝票)を全て確認したかどうかの判断をする。具体的には、図7の702にチェックがついており、かつ図6のラジオボタン511が詳細であれば、システム全体の業務(伝票)の詳細な関数の解析を行う。一方、図7の703にチェックがついており、701のチェック欄のどれかにチェックがついていて、かつ、図6のラジオボタン512が詳細であれば、図7の701にチェックがついている業務(伝票)のみの詳細な関数の解析を行う。ステップS1209で確認する業務(伝票)は図7及び図6により指定される。
【0049】
ステップS1209において、図7及び図6で指定される業務について、全て確認していれば、ステップS1210の処理に移行する。一方、図7及び図6で指定される業務について、全ての業務を確認していなければ、ステップS1202に戻る。
【0050】
全ての業務についての実施を確認し、ステップS1210に移行する場合、残った関数の確認のため、ステップS1201に戻り、関数一覧から残った関数を選択する。
【0051】
残った関数が、例えば「SetFocus」関数である場合は、「Exit」関数の場合と同様に、各処理内に存在する「SetFocus」関数を検索してデータとして出力する。「SetFocus」の出力例を1403に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
これらのように、プログラム上での関数の記載位置まで確認したい場合の関数の解析には、詳細な関数の解析が有用である。図8の説明に戻る。
図8のステップS404において、「概略出力」が選ばれた場合は、ワークフロー及び伝票設計用端末400のCPU101は、図13のフローを実行する。
【0052】
図13は、本発明のワークフロープログラム解析システムにおける第3の制御処理手順の一例を示すフローチャートであり、図3に示したワークフロー及び伝票設計用端末400の業務毎クロスリファレンス情報出力部410によるプログラム解析に対応する。なお、図中、S1301〜S1310は各ステップを示す。
図13のステップS1301では、ワークフロー及び伝票設計用端末400のCPU101は、まず関数一覧情報414(図5)から対象関数を一つ決定する。
【0053】
次に、ステップS1302では、ワークフロー及び伝票設計用端末400のCPU101は、業務定義情報414から対象にする業務を一つ選択する。業務定義情報とは、図7の701に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【0054】
次に、ステップS1303では、ワークフロー及び伝票設計用端末400のCPU101は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップS1304〜S1308のフローを実行する。処理の例として計算オブジェクトの例を図4に示す。
【0055】
ステップS1304では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されているかどうかの判断を行う。この判断は、対象関数が図4の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップS1305では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されていると判断された場合、ステップS1306へ移行する。一方、対象関数が上記処理(計算オブジェクト)で使用されていないと判断された場合は、ステップS1307へ移行する。
【0056】
具体的には、図4の計算オブジェクト上で、対象関数が図5の801の「Exit」の場合は、図4の計算式内で「Exit」関数が使われている行(607)を検索する。検索の結果、その行に対象関数の情報がなければ、ステップS1307へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップS1306では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が使われている位置をワークフロー及び伝票設計用端末400にデータとして出力する。データの出力例を図15に示す。
図15は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【0057】
図4の「購入申請書」業務における「99入力チェック」処理において、「Exit」関数が使われているので、出力結果としては、図15の1501のようなデータを出力する。図15の1503欄の表示を以下に記載する。
「伝票:購入申請書」
この記載は、「購入申請書」という伝票(業務)において、「Exit」関数が存在することを意味している。
上記のように、「購入申請書」伝票(業務)の確認が終わると、ステップS1309に処理を移行する。
【0058】
一方、ステップS1305とS1307で、当該処理内で対象関数が使われていないと判断した場合、ステップS1308の処理に移行し、ステップS1308では、ワークフロー及び伝票設計用端末400のCPU101は、全ての処理の確認が終わっていない場合は、ステップS1303に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップS1308で全ての処理の確認が終わった場合は、ステップS1309に移行する。
【0059】
ステップS1309では、ワークフロー及び伝票設計用端末400のCPU101は、確認する対象の業務(伝票)を全て確認したかどうかの判断をする。具体的には、図7の702にチェックがついており、かつ図6のラジオボタン511が概略であれば、システム全体の業務(伝票)の概略の関数の解析を行う。一方、図7の703にチェックがついており、701のチェック欄のどれかにチェックがついていて、かつ、図6のラジオボタン512が概略であれば、図7の701にチェックがついている業務(伝票)のみ概略の関数の解析を行う。ステップS1309で確認する業務(伝票)は図7及び図6により指定される。
【0060】
ステップS1309において、図7及び図6で指定される業務について、全て確認していれば、ステップS1310の処理に移行する。一方、図7及び図6で指定される業務について、全ての業務を確認していなければ、ステップS1302に戻る。
【0061】
全ての業務についての実施を確認し、ステップS1310に移行する場合、残った関数の確認のため、ステップS1301に戻り、関数一覧から残った関数を選択する。
【0062】
残った関数が、例えば「SetFocus」関数である場合は、「Exit」関数の場合と同様に、各処理内に存在する「SetFocus」関数を検索してデータとして出力する。「SetFocus」の出力例を1502に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
以上の処理により、プログラム上での関数の記載してある業務まで分かれば良い場合の関数の解析には、概略の関数の解析が有用である。
【0063】
以上説明したように、本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0064】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、上記した実施形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
以下、図16に示すメモリマップを参照して本発明に係るワークフローサーバで読み取り可能なデータ処理プログラムの構成について説明する。
【0065】
図16は、本発明に係るワークフローサーバで読み取り(読み出し)可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0066】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0067】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0068】
本実施形態における図8,図12,図13に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0069】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0070】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0072】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0073】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0075】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【0076】
400 ワークフロー及び伝票設計用端末(ワークフロープログラム解析装置)
410 業務毎クロスリファレンス情報出力部
411 処理毎クロスリファレンス情報出力部
412 クロスリファレンス情報表示部
413 出力条件選択部
414 データベース
415 ワークフロープログラム情報取得部
【技術分野】
【0001】
本発明は、ワークフローシステムにおけるプログラムを解析する機能に関する。
【背景技術】
【0002】
従来の業務アプリケーションには、ワークフローシステムやデータベース管理システムなどとの連携したシステムがあるが、ワークフローシステムやデータベース管理システムを変更する場合、業務アプリケーションの作り直しが必要となる。上記を改善するためにワークフローシステムやデータベース管理システム特有の処理を関数に吸収させ、開発された業務アプリケーションの流用性や移植性を高めるシステムが特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開11−66164号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1の開発の際には、業務アプリケーションの構造理解に要する時間を短縮し、メンテナンス作業効率の向上や業務アプリケーションの変更作業の効率化のために、業務アプリケーションの関数のクロスリファレンス情報を取得する技術が利用されているが、業務アプリケーションの全業務のクロスリファレンスを出力すると、その情報量の多さから、関数の解析に余計な労力を必要とすることがある。
【0005】
本発明は、上記課題を解決するためになされたもので、本発明の目的は、全業務のクロスリファレンスを出力する際に項目をまとめて出力することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を可能にするワークフロープログラム解析装置およびワークフロープログラム解析方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【0006】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段と、前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段とを有することによって、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
【図面の簡単な説明】
【0008】
【図1】本発明が適用されるワークフローシステムの概略構成を示す図である。
【図2】図1に示したワークフローサーバ,ワークフロー操作用端末,ワークフロー及び伝票設計用端末に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【図3】図1に示したワークフロー及び伝票設計用端末400のソフトウェア構成を示す模式図である。
【図4】本発明のワークフローシステムにおける処理プログラムの一例である。
【図5】本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例である。
【図6】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図7】本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【図8】本発明のワークフロープログラム解析システムにおける第1の制御処理手順の一例を示すフローチャートである。
【図9】本発明のワークフローシステムにおける伝票の起票画面の一例である。
【図10】本発明のワークフローシステムにおける伝票の流れの一例を示す図である。
【図11】本発明のワークフローシステムにおける伝票の承認画面の一例である。
【図12】本発明のワークフロープログラム解析システムにおける第2の制御処理手順の一例を示すフローチャートである。
【図13】本発明のワークフロープログラム解析システムにおける第3の制御処理手順の一例を示すフローチャートである。
【図14】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図15】本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【図16】本発明のワークフロープログラム解析システムを構成する各情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【発明を実施するための形態】
【0009】
〔第1実施形態〕
以下、図面を参照して、本発明の詳細を説明する。
図1は、本実施形態が適用されるワークフローシステムの概略構成を示す図である。
【0010】
実施形態におけるワークフローシステムは、ワークフロー及び伝票設計用コンピュータ端末(ワークフロー及び伝票設計用端末)400、業務を遂行する処理者(担当者)に対応して設けられたワークフロー操作用コンピュータ端末(ワークフロー操作用端末)300、ワークフローを実行するための各種テーブル、各種プログラムを格納するワークフローサーバ200を備えている。
【0011】
これらワークフロー及び伝票設計用端末400,ワークフロー操作用端末300,ワークフローサーバ200は、それぞれネットワーク500に接続され運用されている。
【0012】
ワークフロー及び伝票設計用端末400は、伝票デザイナプログラム401及びシステム管理プログラム402を有し、ワークフローシステムにて使用する伝票の定義体の作成及びワークフローシステムで利用する各種定義情報の作成を行う。例えば、ワークフロー及び伝票設計用端末400は、ワークフローサーバ200に組織テーブル,役割テーブル,ユーザテーブル,ユーザ役割テーブル,配送定義情報,各種伝票情報等を登録することができる。このワークフロー及び伝票設計用端末400は、これらの作業を行うために、自己の識別情報を入力することによりワークフローサーバ200に接続することが可能になる。
また、システム管理プログラム402は図3にあるようなワークフロープログラム解析システムの構成も有する。詳細は後述する。
【0013】
ワークフロー操作用端末300は、ワークフロー操作用端末300上で実行されるWebブラウザ301を用いて、伝票に関するアクセス情報をワークフローサーバ200に対してHTTPで送信し、その結果を受信するものであり、その際に、発生する表示・計算処理は、Java(登録商標)アプレット302等を利用することにより実行する。なお、このワークフロー操作用端末300は、予め指定された所定の業務を行う担当者(例えば、起票者、課長、部長等)に配置されている。
【0014】
ワークフローサーバ200は、ワークフローシステムに関する情報(組織テーブル,役割テーブル,ユーザテーブル,ユーザ役割テーブル,配送定義情報,配送情報テーブル,各種伝票情報を格納するRDBMS(Relational DataBaSe Management SyStem)205、ワークフロー操作用端末300よりの要求を受け付けて要求を実行するためのHTTPサーバ201,サーブレットエンジン202,ワークフロープログラム203、ワークフロー通知機能を実現するSMTPサーバ204にて構成されている。
【0015】
以下、図2を参照して、図1に示したワークフローサーバ200,ワークフロー操作用端末300,ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成について説明する。
【0016】
図2は、図1に示したワークフローサーバ200,ワークフロー操作用端末300,ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【0017】
図2において、101はCPUで、ROM103又はハードディスク(HD)(その他の記憶装置、例えば、フレキシブルディスク,CD−ROM,DVD−ROM等どのような記憶装置であってもよい)104に格納されたプログラムをRAM102上にロードして実行することにより、コンピュータ全体を制御する。RAM102は、CPU101の作業領域として使用される。
【0018】
108は通信インタフェースで、通信ネットワーク500への接続を可能とする。106は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。107は表示装置で、CRT,LCD等で構成される。
【0019】
なお、図1に示したワークフローサーバ200のRDBMS205は、ワークフローサーバ200のHD104内に構築されている。また、ワークフローサーバ200のHTTPサーバ201,サーブレットエンジン202,ワークフロープログラム203,SMTPサーバ204は、ワークフローサーバ200のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0020】
また、図1に示したワークフロー操作用端末300のWebブラウザ301は、ワークフロー操作用端末300のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0021】
さらに、図1に示したワークフロー操作用端末300のJava(登録商標)アプレット302は、ワークフロー操作用端末300のCPU101が、ワークフローサーバ200よりダウンロードされたプログラムをWebブラウザ301上で実行することにより、実現される。
【0022】
また、図1に示したワークフロー及び伝票設計用端末400の伝票デザイナプログラム401,システム管理プログラム402は、ワークフロー及び伝票設計用端末400のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
図9〜図11で本発明のワークフローシステムで実行される伝票と承認ルートの例を説明する。
図9は、本発明のワークフローシステムにおける伝票の起票画面の一例である。
【0023】
ユーザはワークフロー操作用端末300により、ワークフローサーバ200から、図9のような「購入申請書」を取得する。取得した「購入申請書」の入力項目に入力後、終了ボタン902を押下し、購入申請書を申請する。なお、「購入申請書」等の伝票のレイアウトや設計項目はワークフロー及び伝票設計用端末400の伝票デザイナプログラム401により作成され、ワークフローサーバ200の各種伝票情報205内に記憶している。
【0024】
図10は、本発明のワークフローシステムにおける伝票の流れの一例を示す図である。図10の経路はワークフローサーバ200の配送定義情報に記憶されている。
【0025】
図10では、伝票「購入申請書TR」(1001)は、起案者1002から承認者1(課長)1003⇒承認者2(部長)1004⇒承認者3(経理部経理課担当者)1005⇒承認者4(経理部経理課課長)1006という流れで承認される。
【0026】
ワークフローサーバ200に記憶されている配送定義情報から、組織テーブルや役割テーブル、ユーザテーブル、ユーザ役割テーブルを参照して、それぞれの承認者にSMTPサーバによるメール送信などで承認要求を通知する。
図11は、本発明のワークフローシステムにおける伝票の承認画面の一例である。
【0027】
図11では、図9で申請された伝票が承認者(図10の1003)に移行した場合の承認者(図10の1003)で使用されるワークフロー操作用端末300で表示される例を示す。図11で起票者の組織の課長がマウスなどのポインティングデバイスにより承認ボタン1101を押下すると申請は承認され、否認ボタン1102を押下すると申請は否認される。承認された申請書は続く図10の承認ルートに沿って承認される。
次に、図3及び図8で本発明の実施形態の一例を説明する。
図3は、図1に示したワークフロー及び伝票設計用端末400のソフトウェア構成を示す模式図である。
【0028】
また、図8は、本発明のワークフロープログラム解析システムにおける第1の制御処理手順の一例を示すフローチャートであり、図1に示したワークフロー及び伝票設計用端末400のシステム管理プログラム402によるプログラム解析に対応する。なお、図中、S401〜S406は各ステップを示す。
【0029】
本発明のワークフロープログラム解析システムは、図3に示すワークフロー及び伝票設計用端末400で実現する場合で考えるが、システム管理プログラム402がワークフローサーバ200にあっても良いし、ワークフロー操作用端末300にあっても良い。
図3の各構成部はワークフロー及び伝票設計用端末400内のCPU101が実行する。
【0030】
まず、ユーザからワークフロープログラムの関数のクロスリファレンスを表示するプログラムが実行されると、図8のフローチャートがワークフロー及び伝票設計用端末400内で実施される。
【0031】
次にワークフロー及び伝票設計用端末400のCPU101は、、ステップS401において、ワークフローサーバ200からワークフロープログラム情報を取得する(図3の415)。ワークフロープログラムの例として、図4に一例を示す。
図4は、本発明のワークフローシステムにおける処理プログラムの一例である。
【0032】
図4の伝票名602が「購入申請書」という業務であることを示しており、オブジェクト名603が「99入力チェック」という入力項目のチェックをする処理を示す。
【0033】
図4は、条件式604の欄に記載されている条件式を満たす場合に計算式605のプログラムに記載される関数または計算を実行することを示している。図4に記載される関数の一例として、図5の関数リストを示す。
図5は、本発明のワークフローシステムにおけるプログラムで使用される関数リストの一例であり、図3のデータベース414に記憶されている。
【0034】
図5の801の「n¥Exit¥」はその処理を終了させる関数であり、802の「n¥SetFocus¥」は後に続く引数の項目にカーソルをフォーカスする関数である。また、図4の606の行にある「c¥Message¥」は後に続く引数の文字をメッセージとして画面に出力する関数である。
図9の購入申請書が起票された場合の入力チェック処理(図4のプログラム)について考える。
【0035】
ワークフローの購入申請書が起票された場合の入力チェック処理は、例えば、図4の601欄の条件式604欄の(“取引先社名”=c‘’)の記載は、“取引先社名”の入力欄が空欄の場合の条件分岐を意味し、“取引先社名”の入力欄が空欄の場合、計算式605欄のプログラムを実行する。具体的には、“取引先社名”の入力欄が空欄の場合、「エラー グループ社名を入力してください」というメッセージを表示して、取引先社名の入力欄にフォーカスを当て取引先社名を入力させて、入力チェック処理を終了するというプログラムを実行する。なお、MEM1への戻り値の代入はダミーである。
【0036】
上記のような「Exit」や「SetFocus」の関数をワークフローの業務毎(業務毎とは、「購入申請書」や「発注書」などの一つのビジネスプロセスを指す。)にクロスリファレンスを出力するのか、もしくは、ワークフローの業務内の処理毎(処理毎とは、「購入申請書」であれば、例えば図4の603の「99入力チェック」項目等の処理を指す。)にクロスリファレンスを出力するのかを選ばせることで、プログラムのメンテナンス等の際に関数の解析を短時間に実施可能となる。図3及び図8の説明に戻る。
【0037】
図3のプログラム情報取得部415からプログラム情報を取得すると、次にワークフロー及び伝票設計用端末400のCPU101は、、ステップS402へ進み、出力条件選択部413において、業務毎にクロスリファレンスを出力するか、処理毎にクロスリファレンスを出力するかをユーザに選択させる画面を表示する。ユーザに選択させる画面例として、図6を用いて説明する。
図6は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【0038】
図6の510のラジオボタン選択欄は関数のクロスリファレンス情報を出力する単位を指定する項目で、システム帳票511の詳細、概略、なしのラジオボタンは、システム全体の関数のクロスリファレンス情報の出力をどのように出力するかを指定する。伝票帳票512の詳細、概略、なしのラジオボタンは、図7の701のチェックボックスで指定された伝票(業務)で使用される関数のクロスリファレンス情報の出力をどのように出力するかを指定する。
図7は、本発明のワークフロープログラム解析システムにおけるクロスリファレンス情報の出力条件選択画面の一例を示すイメージ図である。
【0039】
図7は、関数のクロスリファレンス情報の出力を選択させると同時に、システム情報やRDB情報、伝票のフォーム情報や項目オブジェクト情報、経路情報、ボタン情報などの出力も選択させるための選択画面である。
【0040】
図6や図7で出力条件が選択され(図8のS402)、図6のラジオボタン511や512が詳細や概略になっている場合は、関数のクロスリファレンスを出力するために出力条件選択部413が詳細出力か概略出力かを判断する(S404)。具体的には、詳細出力の場合は処理毎クロスリファレンス情報出力部411に処理を依頼し(S406)、概略出力の場合は業務毎クロスリファレンス情報出力部410に処理を依頼する(S405)。
処理毎クロスリファレンス情報出力部410に処理依頼が来た場合、ワークフロー及び伝票設計用端末400のCPU101は、図12のフローを実行する。
【0041】
図12は、本発明のワークフロープログラム解析システムにおける第2の制御処理手順の一例を示すフローチャートであり、図3に示したワークフロー及び伝票設計用端末400の処理毎クロスリファレンス情報出力部411によるプログラム解析に対応する。なお、図中、S1201〜S1210は各ステップを示す。
図12のステップS1201では、ワークフロー及び伝票設計用端末400のCPU101は、まず関数一覧情報414(図5)から対象関数を一つ決定する。
【0042】
次に、ステップS1202では、ワークフロー及び伝票設計用端末400のCPU101は、業務定義情報414から対象にする業務を一つ選択する。業務定義情報とは、図7の701に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【0043】
次に、ステップS1203では、ワークフロー及び伝票設計用端末400のCPU101は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップS1204〜S1208のフローを実行する。処理の例として計算オブジェクトの例を図4に示す。
【0044】
ステップS1204では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されているかどうかの判断を行う。この判断は、対象関数が図4の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップS1205では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されていると判断された場合、ステップS1206へ移行する。一方、対象関数が上記処理(計算オブジェクト)で使用されていないと判断された場合は、ステップS1207へ移行する。
【0045】
具体的には、図4の計算オブジェクト上で、対象関数が図5の801の「Exit」の場合は、図4の計算式内で「Exit」関数が使われている行(607)を検索する。検索の結果、その行に対象関数の情報がなければ、ステップS1207へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップS1206では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が使われている位置をワークフロー及び伝票設計用端末400にデータとして出力する。データの出力例を図14に示す。
図14は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【0046】
図4の「購入申請書」業務における「99入力チェック」処理において、「Exit」関数は2行目に使われているので、出力結果としては、図14の1402のようなデータを出力する。図14の1402欄の表示を以下に記載する。
「伝票:購入申請書:計算/99入力チェック(計算:2)」
【0047】
この記載は、「購入申請書」という伝票(業務)において、計算オブジェクトの「99入力チェック」処理の計算式の2行目に「Exit」関数が存在することを意味している。同様に「Exit」関数が存在する3行目から10行目についても同様に確認すると、図14の1401のような記載が得られる。
上記のように、「99入力チェック」処理の確認が全て終わると、次の処理の確認に移行する(ステップS1208)。
ステップS1208で、全ての処理の確認が終わっていない場合は、ステップS1203に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップS1208で全ての処理の確認が終わった場合は、ステップS1209に移行する。
【0048】
ステップS1209では、ワークフロー及び伝票設計用端末400のCPU101は、確認する対象の業務(伝票)を全て確認したかどうかの判断をする。具体的には、図7の702にチェックがついており、かつ図6のラジオボタン511が詳細であれば、システム全体の業務(伝票)の詳細な関数の解析を行う。一方、図7の703にチェックがついており、701のチェック欄のどれかにチェックがついていて、かつ、図6のラジオボタン512が詳細であれば、図7の701にチェックがついている業務(伝票)のみの詳細な関数の解析を行う。ステップS1209で確認する業務(伝票)は図7及び図6により指定される。
【0049】
ステップS1209において、図7及び図6で指定される業務について、全て確認していれば、ステップS1210の処理に移行する。一方、図7及び図6で指定される業務について、全ての業務を確認していなければ、ステップS1202に戻る。
【0050】
全ての業務についての実施を確認し、ステップS1210に移行する場合、残った関数の確認のため、ステップS1201に戻り、関数一覧から残った関数を選択する。
【0051】
残った関数が、例えば「SetFocus」関数である場合は、「Exit」関数の場合と同様に、各処理内に存在する「SetFocus」関数を検索してデータとして出力する。「SetFocus」の出力例を1403に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
これらのように、プログラム上での関数の記載位置まで確認したい場合の関数の解析には、詳細な関数の解析が有用である。図8の説明に戻る。
図8のステップS404において、「概略出力」が選ばれた場合は、ワークフロー及び伝票設計用端末400のCPU101は、図13のフローを実行する。
【0052】
図13は、本発明のワークフロープログラム解析システムにおける第3の制御処理手順の一例を示すフローチャートであり、図3に示したワークフロー及び伝票設計用端末400の業務毎クロスリファレンス情報出力部410によるプログラム解析に対応する。なお、図中、S1301〜S1310は各ステップを示す。
図13のステップS1301では、ワークフロー及び伝票設計用端末400のCPU101は、まず関数一覧情報414(図5)から対象関数を一つ決定する。
【0053】
次に、ステップS1302では、ワークフロー及び伝票設計用端末400のCPU101は、業務定義情報414から対象にする業務を一つ選択する。業務定義情報とは、図7の701に記載した業務毎の定義情報であり、フォームや項目、オブジェクト、経路、標準関数、ボタン等からなる。
【0054】
次に、ステップS1303では、ワークフロー及び伝票設計用端末400のCPU101は、選択した業務定義情報の中の一つの処理を選び、その処理に対して以下のステップS1304〜S1308のフローを実行する。処理の例として計算オブジェクトの例を図4に示す。
【0055】
ステップS1304では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されているかどうかの判断を行う。この判断は、対象関数が図4の計算オブジェクトの中に含まれているかによって判断する。この判断を受けて、ステップS1305では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が上記処理(計算オブジェクト)で使用されていると判断された場合、ステップS1306へ移行する。一方、対象関数が上記処理(計算オブジェクト)で使用されていないと判断された場合は、ステップS1307へ移行する。
【0056】
具体的には、図4の計算オブジェクト上で、対象関数が図5の801の「Exit」の場合は、図4の計算式内で「Exit」関数が使われている行(607)を検索する。検索の結果、その行に対象関数の情報がなければ、ステップS1307へ移行し、上記処理中の全ての位置について確認したか判断する。一方、検索の結果、その行に対象関数の情報があれば、ステップS1306では、ワークフロー及び伝票設計用端末400のCPU101は、対象関数が使われている位置をワークフロー及び伝票設計用端末400にデータとして出力する。データの出力例を図15に示す。
図15は、本発明のワークフロープログラム解析システムにおけるプログラム解析結果の出力例である。
【0057】
図4の「購入申請書」業務における「99入力チェック」処理において、「Exit」関数が使われているので、出力結果としては、図15の1501のようなデータを出力する。図15の1503欄の表示を以下に記載する。
「伝票:購入申請書」
この記載は、「購入申請書」という伝票(業務)において、「Exit」関数が存在することを意味している。
上記のように、「購入申請書」伝票(業務)の確認が終わると、ステップS1309に処理を移行する。
【0058】
一方、ステップS1305とS1307で、当該処理内で対象関数が使われていないと判断した場合、ステップS1308の処理に移行し、ステップS1308では、ワークフロー及び伝票設計用端末400のCPU101は、全ての処理の確認が終わっていない場合は、ステップS1303に戻り、次の処理に対して対象関数が無いかの確認を行う。
一方、ステップS1308で全ての処理の確認が終わった場合は、ステップS1309に移行する。
【0059】
ステップS1309では、ワークフロー及び伝票設計用端末400のCPU101は、確認する対象の業務(伝票)を全て確認したかどうかの判断をする。具体的には、図7の702にチェックがついており、かつ図6のラジオボタン511が概略であれば、システム全体の業務(伝票)の概略の関数の解析を行う。一方、図7の703にチェックがついており、701のチェック欄のどれかにチェックがついていて、かつ、図6のラジオボタン512が概略であれば、図7の701にチェックがついている業務(伝票)のみ概略の関数の解析を行う。ステップS1309で確認する業務(伝票)は図7及び図6により指定される。
【0060】
ステップS1309において、図7及び図6で指定される業務について、全て確認していれば、ステップS1310の処理に移行する。一方、図7及び図6で指定される業務について、全ての業務を確認していなければ、ステップS1302に戻る。
【0061】
全ての業務についての実施を確認し、ステップS1310に移行する場合、残った関数の確認のため、ステップS1301に戻り、関数一覧から残った関数を選択する。
【0062】
残った関数が、例えば「SetFocus」関数である場合は、「Exit」関数の場合と同様に、各処理内に存在する「SetFocus」関数を検索してデータとして出力する。「SetFocus」の出力例を1502に示す。
全ての関数について、確認が終わった場合はこの処理を終了する。
以上の処理により、プログラム上での関数の記載してある業務まで分かれば良い場合の関数の解析には、概略の関数の解析が有用である。
【0063】
以上説明したように、本発明によれば、ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段とを有することにより、関数の解析に余計な労力を必要とすることなく、業務アプリケーションの解析を容易に実施することを可能にする。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0064】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、上記した実施形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
以下、図16に示すメモリマップを参照して本発明に係るワークフローサーバで読み取り可能なデータ処理プログラムの構成について説明する。
【0065】
図16は、本発明に係るワークフローサーバで読み取り(読み出し)可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0066】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0067】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0068】
本実施形態における図8,図12,図13に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0069】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0070】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0072】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0073】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0075】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【符号の説明】
【0076】
400 ワークフロー及び伝票設計用端末(ワークフロープログラム解析装置)
410 業務毎クロスリファレンス情報出力部
411 処理毎クロスリファレンス情報出力部
412 クロスリファレンス情報表示部
413 出力条件選択部
414 データベース
415 ワークフロープログラム情報取得部
【特許請求の範囲】
【請求項1】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、
を有することを特徴とするワークフロープログラム解析装置
【請求項2】
前記処理毎クロスリファレンス情報出力手段は、ユーザにより選択される業務毎に関数のクロスリファレンス情報を出力することを特徴とする請求項1記載のワークフロープログラム解析装置
【請求項3】
前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段を有する請求項1または2記載のワークフロープログラム解析装置
【請求項4】
前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段を有することを特徴とする請求項3記載のワークフロープログラム解析装置
【請求項5】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能なワークフロープログラム解析方法であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得工程と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力工程と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力工程と、
を有することを特徴とするワークフロープログラム解析方法
【請求項6】
請求項9に記載されたワークフローの制御方法をコンピュータが実行するためのプログラム。
【請求項7】
請求項9に記載されたワークフローの制御方法をコンピュータが実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【請求項1】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能な、ワークフロープログラム解析装置であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得手段と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力手段と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力手段と、
を有することを特徴とするワークフロープログラム解析装置
【請求項2】
前記処理毎クロスリファレンス情報出力手段は、ユーザにより選択される業務毎に関数のクロスリファレンス情報を出力することを特徴とする請求項1記載のワークフロープログラム解析装置
【請求項3】
前記業務毎クロスリファレンス情報出力手段と前記処理毎クロスリファレンス情報出力手段の何れかを選択させる出力条件選択手段を有する請求項1または2記載のワークフロープログラム解析装置
【請求項4】
前記出力条件選択手段により選択される出力手段により関数のクロスリファレンス情報を表示するクロスリファレンス情報表示手段を有することを特徴とする請求項3記載のワークフロープログラム解析装置
【請求項5】
ワークフローシステムにおいて電子文書の回覧を制御するワークフロープログラムにより業務内のデータを処理するデータ処理手段を有するワークフローサーバと接続可能なワークフロープログラム解析方法であって、
前記ワークフローサーバからワークフロープログラムを取得するワークフロープログラム取得工程と、
前記ワークフロープログラム取得手段から取得したワークフロープログラムから、ワークフローの業務毎に関数のクロスリファレンス情報を出力する業務毎クロスリファレンス情報出力工程と、
前記ワークフロープログラムから、前記業務内のデータを処理するデータ処理手段毎に関数のクロスリファレンス情報を出力する処理毎クロスリファレンス情報出力工程と、
を有することを特徴とするワークフロープログラム解析方法
【請求項6】
請求項9に記載されたワークフローの制御方法をコンピュータが実行するためのプログラム。
【請求項7】
請求項9に記載されたワークフローの制御方法をコンピュータが実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2011−150487(P2011−150487A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−10401(P2010−10401)
【出願日】平成22年1月20日(2010.1.20)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成22年1月20日(2010.1.20)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
[ Back to top ]