(57)【要約】【課題】ワークフロー管理システムとは独立に作られた他システムを用いる作業、特にシステムによる完全自動処理が困難で、ユーザの他システムへの操作を伴う作業において、作業の管理や支援を行う。【解決手段】ワークフロー管理部が作業の開始に合わせてアプリカスタマイズ部に実施すべきカスタマイズ内容を設定し、アプリカスタマイズ部がそのカスタマイズ内容に応じて他システムとの通信にカスタマイズを施す。【選択図】図１
2010205184.tif 000002
【特許請求の範囲】
【請求項１】
業務定義を管理する業務定義管理手段と、
業務手順を管理するワークフロー管理手段と、
ユーザインタフェースを表示するブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行うアプリカスタマイズ手段と
を具備し、
前記業務定義管理手段は、
前記業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持する手段と、
前記業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持する手段と
を具備し、
前記ワークフロー管理手段は、
作業開始時に、前記ブラウザに対して、前記業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知する手段と、
前記アプリカスタマイズ手段に対して、前記開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示する手段と
を具備し、
前記アプリカスタマイズ手段は、
前記ブラウザと前記外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加える手段
を具備する
業務管理装置。
【請求項２】
請求項１に記載の業務管理装置であって、
前記アプリカスタマイズ手段は、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、前記ブラウザに表示される前記ユーザインタフェースの表示内容を変更する手段
を更に具備する
業務管理装置。
【請求項３】
請求項１又は２に記載の業務管理装置であって、
前記アプリカスタマイズ手段は、
前記設定されたカスタマイズ名に対応するカスタマイズ記述に基づいて、所定の作業を特定し、前記所定の作業を行うための作業画面を前記ブラウザに表示し、前記所定の作業を行うための作業画面での操作項目のうち操作内容が決まっている操作項目に前記操作内容を自動入力する手段
を更に具備する
業務管理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の業務管理装置であって、
前記アプリカスタマイズ手段は、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、禁止したい操作を開始するためのボタンを前記ユーザインタフェースから削除することと、所定のボタンを押した結果起動される処理を別の処理に置換することと、前記ブラウザから前記外部システムへ送られる通信の内容を確認し、前記外部システムへの送信を制限することとのうち、少なくとも１つを行い、操作禁止を行う手段
を更に具備する
業務管理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の業務管理装置であって、
実行中のワークフローの状態である業務状態を保持する業務状態管理手段
を更に具備し、
前記アプリカスタマイズ手段は、
前記ブラウザと前記外部システムとの間でやり取りされる通信の内容を監視し、カスタマイズ定義として設定された条件に合致する場合に、前記通信の内容を、前記ワークフロー管理手段を通じて、前記業務状態管理手段に保持された前記業務状態に反映させる手段
を更に具備する
業務管理装置。
【請求項６】
請求項５に記載の業務管理装置であって、
前記業務定義管理手段は、
前記業務定義の１つとして、少なくとも一つの業務アプリ名を持ち、各業務アプリ名毎に少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの状態比較定義を持つ業務推定定義を保持する手段
を更に具備し、
前記業務状態管理手段は、
少なくとも一つのワークフローＩＤを持ち、各ワークフローＩＤに対応するワークフロー名を持ち、ワークフロー名毎に少なくとも一つのワークフロー変数名とワークフロー変数値とを持つ業務状態を保持する手段
を更に具備し、
前記アプリカスタマイズ手段は、
前記ワークフロー管理手段から受けたカスタマイズ名の設定の指示に、ワークフローＩＤが付与されているか確認する手段と、
ワークフローＩＤが付与されている場合、付与されているワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行する手段と、
ワークフローＩＤが付与されていない場合、前記業務状態から現在実行中のワークフローインスタンスのワークフロー名のリストを取得する手段と、
取得されたワークフロー名の各々について、ワークフロー名及び通信先の業務アプリ名を基に業務推定定義を参照して一致する状態比較定義を取得し、取得された状態比較定義を評価して、前記通信の内容と前記業務状態のワークフロー変数名及びワークフロー変数値を比較し、一致するワークフローＩＤがあるか否か調査する手段と、
一致するワークフローＩＤがあれば、一致するワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行する手段と
を更に具備する
業務管理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の業務管理装置であって、
前記アプリカスタマイズ手段は、前記ブラウザに接続されたブラウザ制御手段であり、前記業務定義管理手段及び前記ワークフロー管理手段とネットワークを介して接続されている
業務管理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の業務管理装置であって、
前記業務定義管理手段は、
前記カスタマイズ定義のカスタマイズ記述をユーザ毎に管理する手段
を更に具備する
業務管理装置。
【請求項９】
業務定義を管理し、
前記業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持し、
前記業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持し、
業務手順を管理し、
作業開始時に、ユーザインタフェースを表示するブラウザに対して、前記業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知し、
前記開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示し、
前記ブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行い、
前記ブラウザと前記外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加える
業務管理方法。
【請求項１０】
請求項９に記載の業務管理方法であって、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、前記ブラウザに表示される前記ユーザインタフェースの表示内容を変更する
業務管理方法。
【請求項１１】
請求項９又は１０に記載の業務管理方法であって、
前記設定されたカスタマイズ名に対応するカスタマイズ記述に基づいて、所定の作業を特定し、前記所定の作業を行うための作業画面を前記ブラウザに表示し、前記所定の作業を行うための作業画面での操作項目のうち操作内容が決まっている操作項目に前記操作内容を自動入力する
業務管理方法。
【請求項１２】
請求項９乃至１１のいずれか一項に記載の業務管理方法であって、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、禁止したい操作を開始するためのボタンを前記ユーザインタフェースから削除することと、所定のボタンを押した結果起動される処理を別の処理に置換することと、前記ブラウザから前記外部システムへ送られる通信の内容を確認し、前記外部システムへの送信を制限することとのうち、少なくとも１つを行い、操作禁止を行う
業務管理方法。
【請求項１３】
請求項９乃至１２のいずれか一項に記載の業務管理方法であって、
実行中のワークフローの状態である業務状態を保持し、
前記ブラウザと前記外部システムとの間でやり取りされる通信の内容を監視し、カスタマイズ定義として設定された条件に合致する場合に、前記通信の内容を、前記ワークフロー管理手段を通じて、前記業務状態管理手段に保持された前記業務状態に反映させる
業務管理方法。
【請求項１４】
請求項１３に記載の業務管理方法であって、
前記業務定義の１つとして、少なくとも一つの業務アプリ名を持ち、各業務アプリ名毎に少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの状態比較定義を持つ業務推定定義を保持し、
少なくとも一つのワークフローＩＤを持ち、各ワークフローＩＤに対応するワークフロー名を持ち、ワークフロー名毎に少なくとも一つのワークフロー変数名とワークフロー変数値とを持つ業務状態を保持し、
前記ワークフロー管理手段から受けたカスタマイズ名の設定の指示に、ワークフローＩＤが付与されているか確認し、
ワークフローＩＤが付与されている場合、付与されているワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行し、
ワークフローＩＤが付与されていない場合、前記業務状態から現在実行中のワークフローインスタンスのワークフロー名のリストを取得し、
取得されたワークフロー名の各々について、ワークフロー名及び通信先の業務アプリ名を基に業務推定定義を参照して一致する状態比較定義を取得し、取得された状態比較定義を評価して、前記通信の内容と前記業務状態のワークフロー変数名及びワークフロー変数値を比較し、一致するワークフローＩＤがあるか否か調査し、
一致するワークフローＩＤがあれば、一致するワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行する
業務管理方法。
【請求項１５】
請求項９乃至１４のいずれか一項に記載の業務管理方法であって、
前記ブラウザに接続された外部のブラウザ制御手段により、カスタマイズの決定及び実行を行う
業務管理方法。
【請求項１６】
請求項９乃至１５のいずれか一項に記載の業務管理方法であって、
前記カスタマイズ定義のカスタマイズ記述をユーザ毎に管理する
業務管理方法。
【請求項１７】
業務定義を管理するステップと、
前記業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持するステップと、
前記業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持するステップと、
業務手順を管理するステップと、
作業開始時に、ユーザインタフェースを表示するブラウザに対して、前記業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知するステップと、
前記開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示するステップと、
前記ブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行うステップと、
前記ブラウザと前記外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加えるステップと
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項１８】
請求項１７に記載の業務管理処理用プログラムであって、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、前記ブラウザに表示される前記ユーザインタフェースの表示内容を変更するステップ
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項１９】
請求項１７又は１８に記載の業務管理処理用プログラムであって、
前記設定されたカスタマイズ名に対応するカスタマイズ記述に基づいて、所定の作業を特定し、前記所定の作業を行うための作業画面を前記ブラウザに表示し、前記所定の作業を行うための作業画面での操作項目のうち操作内容が決まっている操作項目に前記操作内容を自動入力するステップ
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項２０】
請求項１７乃至１９のいずれか一項に記載の業務管理処理用プログラムであって、
前記外部システムから前記ブラウザに送られる通信に含まれる前記ユーザインタフェースの定義情報を書き換え、禁止したい操作を開始するためのボタンを前記ユーザインタフェースから削除することと、所定のボタンを押した結果起動される処理を別の処理に置換することと、前記ブラウザから前記外部システムへ送られる通信の内容を確認し、前記外部システムへの送信を制限することとのうち、少なくとも１つを行い、操作禁止を行うステップ
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項２１】
請求項１７乃至２０のいずれか一項に記載の業務管理処理用プログラムであって、
実行中のワークフローの状態である業務状態を保持するステップと、
前記ブラウザと前記外部システムとの間でやり取りされる通信の内容を監視し、カスタマイズ定義として設定された条件に合致する場合に、前記通信の内容を、前記ワークフロー管理手段を通じて、前記業務状態管理手段に保持された前記業務状態に反映させるステップと
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項２２】
請求項２１に記載の業務管理処理用プログラムであって、
前記業務定義の１つとして、少なくとも一つの業務アプリ名を持ち、各業務アプリ名毎に少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの状態比較定義を持つ業務推定定義を保持するステップと、
少なくとも一つのワークフローＩＤを持ち、各ワークフローＩＤに対応するワークフロー名を持ち、ワークフロー名毎に少なくとも一つのワークフロー変数名とワークフロー変数値とを持つ業務状態を保持するステップと、
前記ワークフロー管理手段から受けたカスタマイズ名の設定の指示に、ワークフローＩＤが付与されているか確認するステップと、
ワークフローＩＤが付与されている場合、付与されているワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行するステップと、
ワークフローＩＤが付与されていない場合、前記業務状態から現在実行中のワークフローインスタンスのワークフロー名のリストを取得するステップと、
取得されたワークフロー名の各々について、ワークフロー名及び通信先の業務アプリ名を基に業務推定定義を参照して一致する状態比較定義を取得し、取得された状態比較定義を評価して、前記通信の内容と前記業務状態のワークフロー変数名及びワークフロー変数値を比較し、一致するワークフローＩＤがあるか否か調査するステップと、
一致するワークフローＩＤがあれば、一致するワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを実行するステップと
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項２３】
請求項１７乃至２２のいずれか一項に記載の業務管理処理用プログラムであって、
前記ブラウザに接続された外部のブラウザ制御手段により、カスタマイズの決定及び実行を行うステップ
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【請求項２４】
請求項１７乃至２３のいずれか一項に記載の業務管理処理用プログラムであって、
前記カスタマイズ定義のカスタマイズ記述をユーザ毎に管理するステップ
を更にコンピュータに実行させるための
業務管理処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務管理装置、業務管理方法、業務管理処理用プログラムに関し、特に業務手順の管理・自動化を行うための業務管理装置、業務管理方法、業務管理処理用プログラムに関する。
【背景技術】
【０００２】
人間の様々な業務の遂行を支援するシステムとして、従来から、決められた業務手順を定義として入力することで、各手順の実行の自動化や、手順の進捗状況の管理等で手順通りの実行を支援するワークフロー管理システムが多数存在している。
【０００３】
一般に、ワークフロー管理システムでは、業務手順を、業務の最小の管理単位である「作業」と、その作業の実行順序を定義する「ワークフロー」で表現する。ワークフロー管理システムは、作業の開始や終了の状態を管理して、ある作業が終了したら次の作業の開始を自動的に開始する。作業には、人間によって行われる作業と、システムが自動的に行う作業がある。ワークフロー管理システムは、人間によって行われる作業の場合には作業開始時にユーザに作業開始を通知し、システムが自動的に行う作業の場合には該当する処理を呼び出す。また、ワークフロー管理システムは、作業遂行に必要な様々な支援を行うことで、決められた手順に従った業務の遂行を支援する。
【０００４】
多くの場合、業務を行うには、ワークフロー管理システム以外に、他のシステムを利用する必要がある。例えば、何らかの設備を購入する業務を行うには、ワークフロー管理システムによる購入手順の管理以外に、予算管理のシステムでの予算状況の確認や、設備発注システムでの見積もりや発注作業等が必要となる。
【０００５】
他システムがワークフロー管理システムと一体となって動作するように作られている場合、ワークフローやその作業内容によって他システムを用いた作業を様々な形で支援することが可能である。しかし、他システムがワークフロー管理システムとは全く独立に作られている場合には、特開２００３−２４２１２７号公報（特許文献１）や特開２００２−７３９２８号公報（特許文献２）等を始めとする従来の技術では、２種類の方法で他のシステムと連携する。
【０００６】
一つは、システムが自動的に行う作業として、ワークフロー管理システムが他システムを、遠隔手続き呼出のＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）等で呼び出すものである。この場合、他システムでの利用は、ユーザ操作を含まずに、完全に自動的に行われる。
【０００７】
もう一つは、作業が人間によって行われる場合に、ワークフロー管理システムが他システム、あるいはその操作用のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の起動のみを行って、後はユーザに手動で他システムの操作を行わせるものである。
【０００８】
なお、ワークフロー管理システムではないが、業務を行う上で利用するシステムを、システム自体には変更を加えずに、システムの外部で、利用者に応じてカスタマイズする技術が存在する。例えば、特許第３３９６１７７号公報（特許文献３）では、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のプロキシとしてＷｅｂページにページを変更するためのスクリプトを挿入し、このスクリプトがＷｅｂブラウザ上で実行されてＧＵＩの変更を行うことで、既存のＷｅｂシステム自体は変更せず、その入出力部分でカスタマイズを実現する方法を開示している。
【０００９】
しかし、これらの関連技術には、いくつかの問題点が存在する。
【００１０】
第一の問題点は、ワークフロー管理システムとは独立に作られた他システムを用いる作業、特にシステムによる完全自動処理が困難で、ユーザの他システムへの操作を伴う作業において、作業の管理や支援が困難なことである。例えば、設備購入業務において発注システムを用いて見積もりを取る作業では、ユーザが購入品の選択等の作業を行う必要がある。
【００１１】
特開２００３−２４２１２７号公報（特許文献１）では、ワークフロー管理システムは、単にアプリケーションソフトウェア（以下、アプリ）を起動するのみであり、それ以外の他システムの操作は全て手動である。特開２００２−７３９２８号公報（特許文献２）では、ワークフロー管理システムは、他システムへのログイン処理まで行うが、ログイン後の操作は同じく手動となる。このため、例えば、前述の見積もりを取る作業では、ログイン後にメニューから見積もり取得画面まで遷移したり、見積もり結果の見積もり番号等をワークフロー管理システムに設定したりする等、操作内容自体は、特にユーザの判断等を必要としない操作まで手作業で行われなければならない。
【００１２】
他システムがＲＰＣ等で操作可能な場合、人間が行う作業と自動的に処理する作業を別作業として定義するという方法もあるが、この場合、人間が行う作業については、その作業専用のシステムやユーザインタフェースを新たに作らなければならない。例えば、前述の見積もりの例では、見積もり作業を、人間が購入品を選択する作業と、選択された購入品の見積を取る作業を分けて、見積もりをとる部分はＲＰＣで完全に自動実行を行うという方法がある。しかし、この場合、購入品を選択する作業に既存の発注システムを使用することはできず、購入品選択用のシステムやユーザインタフェースを新たに構築しなければならない。
【００１３】
第二の問題点は、ワークフロー管理システムとは独立に作られた他システムを用いる作業を含む業務において、自動化以外の業務手順の管理が困難なことである。具体的には、業務手順として行うべきではない操作の禁止や、関連する情報の提示といったことが行えない。例えば、設備購入業務において、見積もりを取得した後、実際に発注を行う前に、必ず上司の承認を得る必要がある場合、見積もり取得の後に上司に承認を促したり、承認後に発注を促すことはできるが、承認を得る前にユーザが発注システムを操作して発注作業を行ってしまうことを禁止することはできない。
【００１４】
第三の問題点は、既存システムのカスタマイズにおいて、複数ユーザや複数にまたがる手順の変更が出来ないことである。例えば、発注システムで、見積もりと発注の操作の間に上司の承認手順を追加するといったカスタマイズを行うことはできない。例えば、特許第３３９６１７７号公報（特許文献３）では、一つのＷｅｂ画面のデザインを変更する事や、情報を追加表示する事はできるが、発注システムで、見積もりと発注の操作の間に上司の承認手順を追加するといったカスタマイズを行うことはできない。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００３−２４２１２７号公報
【特許文献２】特開２００２−７３９２８号公報
【特許文献３】特許第３３９６１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、ワークフロー管理システムによる完全自動処理が困難で、ユーザによる他システムへの操作を伴う作業において、作業の管理や支援を行うことを可能にする業務管理装置、業務管理方法、業務管理処理用プログラムを提供することである。
【課題を解決するための手段】
【００１７】
本発明の業務管理装置は、業務定義を管理する業務定義管理手段と、業務手順を管理するワークフロー管理手段と、ユーザインタフェースを表示するブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行うアプリカスタマイズ手段とを具備する。
【００１８】
業務定義管理手段は、業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持する手段と、業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持する手段とを具備する。
【００１９】
ワークフロー管理手段は、作業開始時に、ブラウザに対して、業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知する手段と、アプリカスタマイズ手段に対して、開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示する手段とを具備する。
【００２０】
アプリカスタマイズ手段は、ブラウザと外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加える手段を具備する。
【００２１】
本発明の業務管理方法では、業務定義を管理し、業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持し、業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持する。また、業務手順を管理し、作業開始時に、ユーザインタフェースを表示するブラウザに対して、業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知し、開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示する。また、ブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行い、ブラウザと外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加える。
【００２２】
本発明の業務管理用プログラムは、業務定義を管理するステップと、業務手順を管理するステップと、ユーザインタフェースを表示するブラウザと業務アプリを動作させる外部システムとの間の通信を監視し、カスタマイズを行うステップとを更にコンピュータに実行させるためのプログラムである。
【００２３】
業務定義を管理するステップは、業務定義の１つとして、少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの作業名を持ち、作業名毎に起動アプリ名とカスタマイズ名とを持つワークフロー定義を保持するステップと、業務定義の１つとして、少なくとも一つのカスタマイズ名を持ち、カスタマイズ名毎に業務アプリ名とカスタマイズ記述とを持つカスタマイズ定義を保持するステップとを含む。
【００２４】
業務手順を管理するステップは、作業開始時に、ユーザインタフェースを表示するブラウザに対して、業務定義管理手段に保持された開始作業の起動アプリ名の表示を通知するステップと、開始作業の起動アプリ名に対応するカスタマイズ名の設定を指示するステップとを含む。
【００２５】
カスタマイズを行うステップは、ブラウザと外部システムとの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行し、通信の内容に変更を加えるステップを含む。
【発明の効果】
【００２６】
複数の既存業務アプリを操作する業務において、業務アプリの操作を支援できる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施形態の業務管理装置の構成例を示す構成図である。
【図２】本発明の第１実施形態のワークフロー定義のデータ構造を表す構成図である。
【図３】本発明の第１実施形態のカスタマイズ定義のデータ構造を表す構成図である。
【図４】本発明の第１実施形態のカスタマイズ状態のデータ構造を表す構成図である。
【図５】本発明の第１実施形態のワークフロー管理部の動作を示すフローチャートである。
【図６】本発明の第１実施形態のアプリカスタマイズ部の動作を示すフローチャートである。
【図７】本発明の第２実施形態の業務管理装置の構成例を示す構成図である。
【図８】本発明の第２実施形態の業務状態のデータ構造を表す構成図である。
【図９】本発明の第３実施形態の業務管理装置の構成例を示す構成図である。
【図１０】本発明の第３実施形態のワークフロー定義のデータ構造を表す構成図である。
【図１１】本発明の第３実施形態の業務推定定義のデータ構造を表す構成図である。
【図１２】本発明の第３実施形態のカスタマイズ状態のデータ構造を表す構成図である。
【図１３】本発明の第３実施形態の業務状態のデータ構造を表す構成図である。
【図１４】本発明の第３実施形態のアプリカスタマイズ部の動作を示すフローチャートである。
【図１５】本発明の第３実施形態の業務推定部の動作を示すフローチャートである。
【図１６】本発明の第５実施形態の業務管理装置の構成例を示す構成図である。
【図１７】本発明の第６実施形態のカスタマイズ定義のデータ構造を表す構成図である。
【図１８】本発明の第７実施形態の業務管理Ｗｅｂシステムの構成例を示す構成図である。
【図１９】本発明の第７実施形態のワークフロー定義のデータ構造を表す構成図である。
【図２０】本発明の第７実施形態の業務状態のデータ構造を表す構成図である。
【図２１】本発明の第７実施形態の設備発注システムの画面遷移の説明図である。
【図２２Ａ】本発明の第７実施形態のカスタマイズ定義のデータ構造を表す構成図である。
【図２２Ｂ】本発明の第７実施形態のカスタマイズ定義のデータ構造を表す構成図である。
【図２３】本発明の第７実施形態の業務推定定義のデータ構造を表す構成図である。
【図２４】本発明の第７実施形態の見積り作業を行う時の動作の説明図である。
【図２５】本発明の第７実施形態の承認作業を行う時の動作の説明図である。
【図２６】本発明の第７実施形態の発注作業を行う時の動作の説明図である。
【図２７】本発明の第８実施形態の業務状態とカスタマイズ状態を示す説明図である。
【発明を実施するための形態】
【００２８】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
【００２９】
図１は、本発明の第１実施形態の業務管理装置の構成例を示す構成図である。
ここでは、本発明の業務管理装置１０は、ワークフロー管理部１１と、業務定義管理部１２と、アプリカスタマイズ部１３を備える。
【００３０】
ワークフロー管理部１１は、様々なＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供するブラウザ２０に接続される。
【００３１】
業務定義管理部１２は、ワークフロー定義１２１と、カスタマイズ定義１２２を保持する。
【００３２】
アプリカスタマイズ部１３は、ワークフロー管理部１１と共に、様々なＵＩを提供するブラウザ２０に接続される。ここでは、アプリカスタマイズ部１３は、ブラウザ２０に接続される。ブラウザ２０の好適な実施例は、Ｗｅｂブラウザである。更に、アプリカスタマイズ部１３は、少なくとも一つの業務アプリ（業務ＡＰ）に接続される。ここでは、アプリカスタマイズ部１３は、業務アプリ３０（３０−ｉ、ｉ＝１〜ｎ：ｎはアプリ数）に接続される。業務アプリ３０の好適な実施例は、Ｗｅｂアプリである。
【００３３】
アプリカスタマイズ部１３は、カスタマイズ状態管理部１３１と、カスタマイズ決定部１３２と、カスタマイズ実行部１３３を備える。
【００３４】
カスタマイズ状態管理部１３１は、カスタマイズ状態１３１１を保持する。
【００３５】
カスタマイズ決定部１３２は、カスタマイズ状態１３１１を参照して、実行すべきカスタマイズを決定し、カスタマイズ定義１２２を参照して、決定されたカスタマイズに関するカスタマイズ記述を取得する。
【００３６】
カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、カスタマイズを実施する。
【００３７】
ここでは、業務管理装置１０の例として、サーバ装置を想定している。業務アプリ３０は、他のサーバ装置上で動作している。サーバ装置の例として、ＰＣ（パソコン）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等のコンピュータが考えられる。また、業務管理装置１０は、コンピュータに搭載された仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））環境でも良い。但し、実際には、これらの例に限定されない。
【００３８】
また、ブラウザ２０は、業務管理装置１０と通信可能なクライアント装置上に配置されているものとする。クライアント装置の例として、ＰＣ、シンクライアント端末、ワークステーション、携帯電話機、カーナビ（カーナビゲーションシステム）、携帯ゲーム機、家庭用ゲーム機、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器等が考えられる。本質的に、ブラウザ２０は、Ｗｅｂサイト等を閲覧可能な電子機器であれば良い。ブラウザ２０は、車両や船舶、航空機等の移動体に搭載されていても良い。但し、実際には、これらの例に限定されない。
【００３９】
ワークフロー管理部１１や、アプリカスタマイズ部１３のカスタマイズ決定部１３２及びカスタマイズ実行部１３３の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）等の処理装置、又は同様の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。なお、ワークフロー管理部１１や、アプリカスタマイズ部１３のカスタマイズ決定部１３２及びカスタマイズ実行部１３３は、各々の機能をコンピュータに実行させるためのプログラムでも良い。但し、実際には、これらの例に限定されない。
【００４０】
業務定義管理部１２や、アプリカスタマイズ部１３のカスタマイズ状態管理部１３１の例として、メモリ等の半導体記憶装置、ハードディスク（ＨＤＤ）等の外部記憶装置（ストレージ）、又は、記憶媒体（メディア）等が考えられる。また、業務定義管理部１２や、アプリカスタマイズ部１３のカスタマイズ状態管理部１３１は、業務管理装置１０に内蔵された記憶装置に限らず、周辺機器（外付けＨＤＤ等）や外部のサーバ装置（ストレージサーバ等）に設置された記憶装置、或いは、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）でも良い。但し、実際には、これらの例に限定されない。
【００４１】
図２は、ワークフロー定義１２１のデータ構造を表す構成図である。
ワークフロー定義１２１は、ワークフロー名の付いた複数のワークフローを含む。各ワークフローは、少なくとも一つの作業を含む作業リストを持つ。各作業は、他の業務アプリを使用する場合には、その業務アプリ名を持ち、他の業務アプリにカスタマイズを施す場合には、カスタマイズ名を持つようにしても良い。
【００４２】
ここでは、ワークフロー定義１２１は、「ワークフロー名」と、「作業名」と、「起動業務ＡＰ」と、「カスタマイズ名」を持つ。
【００４３】
「ワークフロー名」は、ワークフローを示す識別情報である。「作業名」は、ワークフローにおける作業を示す識別情報である。「起動業務ＡＰ」は、作業開始時に実行される業務アプリを示す識別情報である。「カスタマイズ名」は、業務アプリに対して施されるカスタマイズに関するカスタマイズ定義を示す識別情報である。
【００４４】
なお、ここでは、説明の簡略化のために、本発明の業務管理装置１０は、ワークフローを実行する際、作業リストの順番に各作業を実行するものとする。更に、作業リストは、関連する他の業務アプリ以外の作業に関する詳細情報を持たないとしている。これは、ワークフロー管理システムに関して公知であるように、作業の実行順序を状態遷移マシンとして表現し、作業内容の詳細情報として作業を行うユーザ名や作業内容の解説、ワークフロー管理システム内部の特定処理の呼出等の情報を持ち、ワークフロー管理部１１単体で、様々な業務の管理や支援の機能を持つことを排除するものではない。本発明は、ワークフロー管理システム以外の他の業務アプリとの関係にのみ言及するものであり、ワークフロー管理部１１単体の機能については、様々な従来技術が利用可能である。
【００４５】
図３は、カスタマイズ定義１２２のデータ構造を表す構成図である。
カスタマイズ定義１２２は、少なくとも一つのカスタマイズ名と、少なくとも一つの業務アプリ名と、その各々の業務アプリに施すべき一つのカスタマイズ記述を持つ。
【００４６】
ここでは、カスタマイズ定義１２２は、「カスタマイズ名」と、「業務ＡＰ名」と、「カスタマイズ記述」を持つ。
【００４７】
「カスタマイズ名」は、カスタマイズの種類を示す識別情報である。「業務ＡＰ名」は、カスタマイズ名に対応付けられた業務アプリを示す識別情報である。「カスタマイズ記述」は、業務アプリに施されるカスタマイズ記述である。なお、「カスタマイズ記述」は、カスタマイズ記述を示す識別情報でも良い。この場合、カスタマイズ記述は、当該識別情報に対応付けられて、業務管理装置１０の外部又は内部の記憶装置等に記憶されている。アプリカスタマイズ部１３は、カスタマイズ記述を示す識別情報に基づいて、当該識別情報に対応するカスタマイズ記述を取得する。
【００４８】
図４は、カスタマイズ状態１３１１のデータ構造を表す構成図である。
カスタマイズ状態１３１１は、アプリカスタマイズ部１３が実行すべきカスタマイズ名を少なくとも１つ持つ。
【００４９】
ここでは、カスタマイズ状態１３１１は、「カスタマイズ名」を持つ。「カスタマイズ名」は、ワークフロー管理部１１から設定指示されたカスタマイズの種類を示す識別情報である。
【００５０】
ワークフロー管理部１１は、ユーザがブラウザ２０を介してワークフロー管理部１１のユーザインタフェースを表示し、作業を開始する。ワークフロー管理部１１は、作業を開始すると、業務定義管理部１２のワークフロー定義１２１を参照して、該当する作業の起動業務アプリ名とカスタマイズ名を取得する。ワークフロー管理部１１は、ワークフロー定義１２１にカスタマイズ名が設定されていた場合、アプリカスタマイズ部１３に、カスタマイズ状態１３１１としてカスタマイズ名の設定を指示する。次に、ワークフロー管理部１１は、ワークフロー定義１２１に起動業務アプリ名が設定されていた場合、アプリカスタマイズ部１３を介して、ブラウザ２０に、設定されている起動業務アプリ名に対応する業務アプリ３０のユーザインタフェースを表示するように指示する。
【００５１】
一方、アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信、あるいは業務アプリ３０からブラウザ２０への通信を受信する。このとき、カスタマイズ決定部１３２は、カスタマイズ状態管理部１３１のカスタマイズ状態１３１１を参照して、設定されているカスタマイズ名を取得し、業務定義管理部１２のカスタマイズ定義１２２を参照し、カスタマイズ名に対応するカスタマイズ記述を取得し、カスタマイズ実行部１３３に渡す。
【００５２】
次に、カスタマイズ実行部１３３は、ブラウザ２０と業務アプリ３０との間の通信に対して、渡されたカスタマイズ記述を実行することで、カスタマイズを実施する。ここでは、カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、ブラウザ２０と業務アプリ３０との間でダウンロード或いはリクエストされたＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書等の記述を書き換える。次に、カスタマイズ実行部１３３は、カスタマイズ実施の結果、ワークフローの状態変更があった場合、ワークフロー管理部１１に状態更新を指示する。最後に、カスタマイズ実行部１３３は、業務アプリ３０又はブラウザ２０に、業務アプリ３０から受信した通信内容を送信する。なお、アプリカスタマイズ部１３は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズを何も実施しない。このとき、カスタマイズ決定部１３２は、カスタマイズ名に基づいて、適用すべきカスタマイズ記述を決定できないため、カスタマイズ記述を取得しない。従って、カスタマイズ決定部１３２は、カスタマイズ記述をカスタマイズ実行部１３３に渡さない。
【００５３】
ワークフロー管理部１１は、ユーザ操作やアプリカスタマイズ部１３からの状態更新指示等、何らかの理由で実行中だった作業を終了する場合、カスタマイズ状態１３１１の初期化をアプリカスタマイズ部１３に指示する。アプリカスタマイズ部１３は、ワークフロー管理部１１からの指示に応じて、カスタマイズ状態１３１１を初期化する。カスタマイズ状態１３１１の初期状態は、空（ｎｕｌｌ）でも良いし、何らかのカスタマイズ名でも良い。すなわち、カスタマイズ決定部１３２は、カスタマイズ状態１３１１を初期化する際、カスタマイズ状態１３１１のカスタマイズ名を空白にするか、初期状態のカスタマイズ名を設定する。
【００５４】
図５は、本発明の業務管理装置のワークフロー管理部１１の動作を表すフローチャートである。
【００５５】
（１）ステップＳ１０１
ワークフロー管理部１１は、登録されているワークフロー定義１２１のワークフローの開始や、ワークフローの作業状態の管理、次に実行すべき作業の決定や作業開始のユーザへの通知等といった、公知であるワークフローの実行管理に関する一つの処理ステップを実行する。ここでは、これをワークフロー実行と呼び、その内容についての詳細は発明の本質に関わるものではないため省略する。
【００５６】
（２）ステップＳ１０２
ワークフロー管理部１１は、ワークフロー実行の結果として作業が開始されたかどうか判断する。
【００５７】
（３）ステップＳ１０３
ワークフロー管理部１１は、ワークフロー実行の結果として作業が開始された場合、業務定義管理部１２のワークフロー定義１２１から、該当する作業の起動業務アプリ名とカスタマイズ名を取得する。
【００５８】
（４）ステップＳ１０４
ワークフロー管理部１１は、ワークフロー定義１２１にカスタマイズ名が設定されているか判断する。
【００５９】
（５）ステップＳ１０５
ワークフロー管理部１１は、ワークフロー定義１２１にカスタマイズ名が設定されていた場合、アプリカスタマイズ部１３に、カスタマイズ状態１３１１としてカスタマイズ名の設定を指示する。
【００６０】
（６）ステップＳ１０６
次に、ワークフロー管理部１１は、ワークフロー定義１２１に起動業務アプリ名が設定されているか判断する。
【００６１】
（７）ステップＳ１０７
ワークフロー管理部１１は、ワークフロー定義１２１に起動業務アプリ名が設定されていた場合、アプリカスタマイズ部１３を介して、ブラウザ２０に、設定されている起動業務アプリ名に対応する業務アプリ３０のユーザインタフェースを表示するよう指示する。
【００６２】
（８）ステップＳ１０８
ワークフロー管理部１１は、ワークフロー実行の結果として作業終了かどうか判断する。
【００６３】
（９）ステップＳ１０９
ワークフロー管理部１１は、ワークフロー実行の結果として作業終了だった場合、業務定義管理部１２のカスタマイズ定義１２２から、該当する作業のカスタマイズ名を取得する。
【００６４】
（１０）ステップＳ１１０
ワークフロー管理部１１は、カスタマイズ定義１２２にカスタマイズ名が設定されているか判断する。
【００６５】
（１１）ステップＳ１１１
ワークフロー管理部１１は、カスタマイズ定義１２２にカスタマイズ名が指定されていた場合、カスタマイズ状態１３１１のカスタマイズ名の初期化をアプリカスタマイズ部１３に指示する。
【００６６】
図６は、本発明の業務管理装置のアプリカスタマイズ部１３の動作を表すフローチャートである。
【００６７】
（１）ステップＳ２０１
アプリカスタマイズ部１３は、ブラウザ２０、業務アプリ３０、ワークフロー管理部１１等からの通信を待つ。すなわち、アプリカスタマイズ部１３は、通信受信待ち状態である。
【００６８】
（２）ステップＳ２０２
アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断する。ここでは、カスタマイズ決定部１３２が、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断する。
【００６９】
（３）ステップＳ２０３
アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信を受信すると、カスタマイズ状態１３１１のカスタマイズ名に基づいて、業務定義管理部１２からカスタマイズ定義１２２を取得する。ここでは、カスタマイズ決定部１３２は、カスタマイズ状態１３１１と通信先の業務アプリ３０を参照して、業務定義管理部１２から、カスタマイズ名と業務ＡＰ名が一致するカスタマイズ記述を取得し、カスタマイズ実行部１３３に渡す。なお、カスタマイズ決定部１３２は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズ記述を取得できないため、カスタマイズ記述をカスタマイズ実行部１３３に渡さない。
【００７０】
（４）ステップＳ２０４
次に、アプリカスタマイズ部１３は、ブラウザ２０と業務アプリ３０との間の通信に対して、渡されたカスタマイズ記述を実行することで、カスタマイズを実施する。ここでは、カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、ブラウザ２０から業務アプリ３０へのリクエストの内容を書き換える。なお、カスタマイズ実行部１３３は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズを何も実施しない。
【００７１】
（５）ステップＳ２０５
次に、アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があったかどうか判断する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフローの状態変更があったかどうか判断するものとする。
【００７２】
（６）ステップＳ２０６
カスタマイズ実行部１３３は、カスタマイズ実施の結果、ワークフローの状態変更があった場合、ワークフロー管理部１１に状態更新を指示する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３は、ワークフローの状態変更があった場合、ワークフロー管理部１１に状態更新を指示する。
【００７３】
（７）ステップＳ２０７
最後に、アプリカスタマイズ部１３は、業務アプリ３０に、ブラウザ２０から受信した通信の内容を送信する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３は、業務アプリ３０に、受信した通信内容を送信する。
【００７４】
（８）ステップＳ２０８
また、アプリカスタマイズ部１３は、業務アプリ３０からブラウザ２０への通信を受信したかどうか判断する。ここでは、カスタマイズ決定部１３２が、業務アプリ３０からブラウザ２０への通信を受信したかどうか判断する。
【００７５】
（９）ステップＳ２０９
アプリカスタマイズ部１３は、業務アプリ３０からブラウザ２０への通信を受信した場合、カスタマイズ状態１３１１のカスタマイズ名に基づいて、業務定義管理部１２からカスタマイズ定義１２２を取得する。ここでは、カスタマイズ決定部１３２は、カスタマイズ状態１３１１と通信先の業務アプリ３０を参照して、業務定義管理部１２から、カスタマイズ名と業務ＡＰ名が一致するカスタマイズ記述を取得し、カスタマイズ実行部１３３に渡す。なお、カスタマイズ決定部１３２は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズ記述を取得できないため、カスタマイズ記述をカスタマイズ実行部１３３に渡さない。
【００７６】
（１０）ステップＳ２１０
次に、アプリカスタマイズ部１３は、業務アプリ３０からブラウザ２０への通信に対して、渡されたカスタマイズ記述を実行することで、カスタマイズを実施する。ここでは、カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、業務アプリ３０からブラウザ２０へダウンロードされるＨＴＭＬ文書等の記述を書き換える。なお、カスタマイズ実行部１３３は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズを何も実施しない。
【００７７】
（１１）ステップＳ２１１
次に、アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があるかどうか判断する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフローの状態変更があるかどうか判断する。
【００７８】
（１２）ステップＳ２１２
アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があった場合、ワークフロー管理部１１に、状態更新を指示する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフロー管理部１１に、状態更新を指示する。
【００７９】
（１３）ステップＳ２１３
最後に、アプリカスタマイズ部１３は、ブラウザ２０に、業務アプリ３０から受信した通信内容を送信する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ブラウザ２０に、業務アプリ３０から受信した通信内容を送信する。
【００８０】
（１４）ステップＳ２１４
アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の設定指示を受けたかどうか判断する。ここでは、カスタマイズ決定部１３２が、ワークフロー管理部１１から、カスタマイズ状態１３１１の設定指示を受けたかどうか判断する。
【００８１】
（１５）ステップＳ２１５
アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の設定指示を受けた場合、カスタマイズ状態１３１１に、指示されたカスタマイズ名を設定する。ここでは、カスタマイズ決定部１３２が、カスタマイズ状態１３１１に、指示されたカスタマイズ名を設定する。
【００８２】
（１６）ステップＳ２１６
また、アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けたかどうか判断する。ここでは、カスタマイズ決定部１３２が、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けたかどうか判断する。
【００８３】
（１７）ステップＳ２１７
アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けた場合、カスタマイズ状態１３１１を初期化する。ここでは、カスタマイズ決定部１３２は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けると、カスタマイズ状態１３１１を初期化する。
【００８４】
ワークフロー管理部１１とアプリカスタマイズ部１３は、それぞれの間で指示が送られる時以外は、それぞれ独立に動作する。例えば、ある一つの作業を実行するために、ブラウザ２０が何度もアプリカスタマイズ部１３を通して業務アプリ３０と通信する場合が考えられる。逆に、ワークフロー定義１２１に含まれる作業が業務アプリ３０と関係しないような場合には、ワークフロー管理部１１でのワークフロー実行が何度も行われる間に、アプリカスタマイズ部１３は一度も動作しない場合も考えられる。
【００８５】
本実施形態により、ユーザは、ある作業を実行するときに、業務アプリケーション（アプリケーションソフトウェア）を、その作業の実行に適した形にカスタマイズして利用することが可能となる。
【００８６】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。
本実施形態では、本発明の業務管理装置１０は、更に、業務状態管理を行う機能を持つ。また、本実施形態では、カスタマイズ実行部１３３は、具体的なカスタマイズを行う機能を持つ。
【００８７】
図７は、本発明の第２実施形態の業務管理装置の構成例を示す構成図である。
ここでは、本発明の業務管理装置１０は、ワークフロー管理部１１と、業務定義管理部１２と、アプリカスタマイズ部１３と、業務状態管理部１４を備える。
【００８８】
ワークフロー管理部１１と業務定義管理部１２は、基本的に、本発明の第１実施形態と同様である。
【００８９】
アプリカスタマイズ部１３は、カスタマイズ状態管理部１３１と、カスタマイズ決定部１３２と、カスタマイズ実行部１３３を備える。
【００９０】
カスタマイズ状態管理部１３１とカスタマイズ決定部１３２は、基本的に、本発明の第１実施形態と同様である。
【００９１】
本実施形態では、カスタマイズ実行部１３３は、表示変更部１３３１と、自動実行部１３３２と、操作禁止部１３３３と、状態取得部１３３４を備える。
【００９２】
表示変更部１３３１は、業務アプリ３０からブラウザ２０に送られる通信に含まれるユーザインタフェースの定義情報を書き換えることで、ブラウザ２０に表示されるユーザインタフェースの内容を変更する。ユーザインタフェースの定義情報の好適な実施例は、ＨＴＭＬ等のマークアップ言語である。書換えの好適な実施例は、表示内容の追加や削除、画面上での配置の変更等である。これにより、表示変更部１３３１は、ある作業を実施する上で、必要な補足情報をユーザインタフェース上に追加表示したり、無関係な情報や機能の表示を削除したり、重要な情報を強調表示したりすることができる。表示変更部１３３１に対するカスタマイズ記述は、表示変更処理を施すべき通信の条件と、その時の変更処理の内容定義のリストとして定義される。
【００９３】
自動実行部１３３２は、業務アプリ３０に対する操作を自動化する。本実施形態では、業務アプリ３０に対して、通常はユーザがユーザインタフェースを介して操作する内容を、システムが代わりに行うことで、操作を自動化する。自動実行部１３３２は、業務アプリ３０に対して、通常はユーザがユーザインタフェースを介して操作する内容の全て（全体）を自動的に行っても良いし、一部分だけを自動実行してその他の部分をユーザに操作させても良い。これにより、自動実行部１３３２は、ある作業を実施する時に、業務アプリ３０上でメニューから頻繁に選択される機能（常用の機能、又は前回選択された機能）を自動選択して、その作業を行うための画面を表示することや、その作業を行う上で決まり切った業務アプリ３０への入力項目（常用の入力値、又は固定値）を自動入力し、それ以外のユーザの判断が必要な操作のみを業務アプリ３０のユーザインタフェースを用いてユーザに操作させることができる。自動実行に対するカスタマイズ記述は、自動実行を開始するタイミングを規程する条件と、自動実行として行う業務アプリ３０のユーザインタフェース操作内容として定義される。
【００９４】
操作禁止部１３３３は、業務アプリ３０からブラウザ２０に送られる通信に含まれるユーザインタフェースの定義情報を書き換えることで、ブラウザ２０上でユーザが行える操作を限定する。例えば、操作禁止部１３３３は、禁止したい操作を開始するためのボタンをユーザインタフェースから削除することや、或いはそのボタンを押した結果起動される処理を別の処理に置換することを行う。また、操作禁止部１３３３は、ブラウザ２０から業務アプリ３０へ送られる通信の内容を確認し、業務アプリ３０への送信を止めさせることで、ユーザが行える操作を限定しても良い。例えば、操作禁止部１３３３は、通信のプロトコルがＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）であり、通信が特定のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の表示を要求するものであった場合に、その要求を業務アプリ３０に渡さないようにすることができる。操作禁止部１３３３に対するカスタマイズ記述は、操作禁止実現のためにユーザインタフェース定義の書き換えや通信の業務アプリ３０への送信の禁止等の動作を実行すべき通信の条件と、その時の動作内容のリストとして定義される。
【００９５】
状態取得部１３３４は、ブラウザ２０と業務アプリ３０の間でやり取りされる通信の内容を監視し、カスタマイズ定義１２２として設定された条件に合致する場合に、その通信内容をワークフロー管理部１１を通じて、業務状態管理部１４の業務状態１４１に反映させる。業務状態１４１に対する通信内容の反映の例としては、ワークフローのある作業を終了させるといった作業の進捗状況の変更や、ワークフローが保持する変数の値の変更等が考えられる。状態取得に対するカスタマイズ記述は、状態変更を行う条件と、その時の変更内容のリストとして定義される。
【００９６】
業務状態管理部１４は、実行中のワークフローの状態である業務状態１４１を保持する。ここでは、業務状態管理部１４は、状態取得部１３３４から、ワークフロー管理部１１を通じて、ブラウザ２０と業務アプリ３０の間でやり取りされる通信の内容を通知された場合、その通信内容を業務状態１４１に反映させる。
【００９７】
図８は、業務状態１４１のデータ構造を表す構成図である。
業務状態１４１は、現在実行中の作業名を表す実行中作業と、実行中作業以外の状態を表すワークフロー変数名とワークフロー変数値のリストを含む。ワークフロー管理部１１は、ワークフロー実行で業務状態１４１を参照し、操作するが、この参照、操作はワークフロー管理としては公知であるため、説明は省略する。
【００９８】
ここでは、業務状態１４１は、「実行中作業」と、「ワークフロー変数名」と、「ワークフロー変数値」を持つ。
【００９９】
「実行中作業」は、現在実行中の作業を示す識別情報である。「ワークフロー変数名」は、実行中の作業以外の状態を表すワークフロー変数を示す識別情報である。「ワークフロー変数値」は、ワークフロー変数の入力値を示す情報である。
【０１００】
本実施形態によれば、表示変更部１３３１によって、ワークフローの作業毎に不要な機能や情報の表示の削除や既存業務アプリ３０にはない情報の表示の追加を行うことが可能となる。また、自動実行部１３３２によって、ワークフローの作業毎に決まった業務アプリ３０の操作を自動化することが可能となる。また、操作禁止部１３３３によって、ワークフローのある状態では不適切な業務アプリ３０の操作を禁止することが可能となる。また、状態取得部１３３４によって、業務アプリ３０上での操作の完了や業務アプリ３０で表示された情報等の状態をワークフローの状態に自動的に反映させることが可能となる。
【０１０１】
＜第３実施形態＞
次に、本発明の第３実施形態について説明する。
既存の多くのワークフロー管理システムは、複数のワークフローを同時に実行、管理する場合や、作業の実行に長時間を要する場合があるため、同時に複数の作業が実行中になり得る。同時に実行されるワークフローは、異なるワークフロー定義１２１に基づく場合もあり、同じワークフロー定義１２１に基づく場合もある。ここでは、同時に実行されるワークフローの各々を、ワークフローインスタンスと呼ぶ。
【０１０２】
図９は、本発明の第３実施形態の業務管理装置の構成例を示す構成図である。
本実施形態では、本発明の業務管理装置１０は、ワークフロー管理部１１と、業務定義管理部１２と、アプリカスタマイズ部１３と、業務状態管理部１４を備える。
【０１０３】
ワークフロー管理部１１は、基本的に、本発明の第１実施形態と同様である。
【０１０４】
また、業務定義管理部１２は、ワークフロー定義１２１と、カスタマイズ定義１２２と、業務推定定義１２３を保持する。すなわち、本実施形態では、業務定義管理部１２は、業務推定定義１２３を更に持つ。
【０１０５】
図１０は、本実施形態におけるワークフロー定義１２１のデータ構造を表す構成図である。
ワークフロー定義１２１では、各作業は、カスタマイズ名に加えて、作業継続時に行うべきカスタマイズに関するカスタマイズ定義１２２を指定する継続時カスタマイズ名を持つ。なお、各作業は、カスタマイズ名と同様に、継続時カスタマイズ名の値を持っても持たなくても良い。
【０１０６】
ここでは、ワークフロー定義１２１は、「ワークフロー名」と、「作業名」と、「起動業務ＡＰ」と、「カスタマイズ名」と、「継続時カスタマイズ名」を持つ。すなわち、図２に示されたワークフロー定義１２１に、「継続時カスタマイズ名」が追加されている。
【０１０７】
「ワークフロー名」は、ワークフローを示す識別情報である。「作業名」は、ワークフローにおける作業を示す識別情報である。「起動業務ＡＰ」は、作業開始時に実行される業務アプリを示す識別情報である。「カスタマイズ名」は、業務アプリに対して施されるカスタマイズに関するカスタマイズ定義１２２を示す識別情報である。「継続時カスタマイズ名」は、作業継続時に行うべきカスタマイズに関するカスタマイズ定義１２２を示す識別情報である。作業継続時に行うべきカスタマイズとは、例えば、カスタマイズされたＷｅｂ画面を用いた作業の中断後、当該作業を再開する際に、再開後の画面に対して行われるカスタマイズである。通常、再開後の画面はカスタマイズ前の初期状態の画面であるため、継続時カスタマイズ名に基づいて、初期状態の画面を、作業中断直前のカスタマイズされたＷｅｂ画面に戻したり、作業再開時に表示されるべきカスタマイズされたＷｅｂ画面に変更したりする。
【０１０８】
カスタマイズ定義１２２は、基本的に、本発明の第１実施形態と同様である。
【０１０９】
図１１は、業務推定定義１２３のデータ構造を表す構成図である。
業務推定定義１２３は、少なくとも一つの業務アプリ名を持ち、各業務アプリ名毎に少なくとも一つのワークフロー名を持ち、ワークフロー名毎に少なくとも一つの状態比較定義を持つ。
【０１１０】
ここでは、業務推定定義１２３は、「業務アプリ名」と、「ワークフロー名」と、「状態比較定義」を持つ。
【０１１１】
「業務アプリ名」は、個々の業務アプリを示す識別情報である。「ワークフロー名」は、業務アプリ３０毎に少なくとも１つ存在するワークフローを示す識別情報である。「状態比較定義」は、ワークフローインスタンスとして扱うと定義したワークフロー名と業務アプリ名を示す情報である。
【０１１２】
アプリカスタマイズ部１３は、カスタマイズ状態管理部１３１と、カスタマイズ決定部１３２と、カスタマイズ実行部１３３と、業務推定部１３４を備える。
【０１１３】
カスタマイズ状態管理部１３１は、カスタマイズ状態１３１１を保持する。
【０１１４】
図１２は、本実施形態におけるカスタマイズ状態１３１１のデータ構造を表す構成図である。
カスタマイズ状態１３１１は、実行中の複数のワークフローインスタンスに対応する複数のワークフローＩＤと、そのためのカスタマイズ名と、継続時カスタマイズ名を持つ。
【０１１５】
ここでは、カスタマイズ状態１３１１は、「ワークフローＩＤ」と、「カスタマイズ名」と、「継続時カスタマイズ名」を持つ。
【０１１６】
「ワークフローＩＤ」は、ワークフローインスタンスを示す識別情報である。「カスタマイズ名」及び「継続時カスタマイズ名」については、ワークフロー定義１２１と同様である。
【０１１７】
カスタマイズ決定部１３２、及びカスタマイズ実行部１３３は、基本的に、本発明の第１実施形態と同様である。
【０１１８】
業務推定部１３４は、ワークフロー管理部１１から受けたカスタマイズ状態１３１１の設定指示に、ワークフローＩＤが付与されているか確認し、ワークフローＩＤが付与されている場合、カスタマイズ状態１３１１から、そのワークフローＩＤに該当するカスタマイズ名を取得し、取得されたカスタマイズ名に該当するカスタマイズを、実行すべきカスタマイズとして利用する。一方、業務推定部１３４は、ワークフローＩＤが付与されていない場合、業務状態から現在実行中のワークフローインスタンスのワークフロー名のリストを取得する。次に、業務推定部１３４は、取得されたワークフロー名の各々について、ワークフロー名と通信先の業務アプリ名から業務推定定義１２３を参照して一致する状態比較定義を取得する。業務推定部１３４は、状態比較定義があれば、その状態比較定義を評価して、通信内容と業務状態のワークフロー変数名やワークフロー変数値を比較し、一致するワークフローＩＤがあるか否か調査する。業務推定部１３４は、一致するワークフローＩＤがあれば、そのワークフローＩＤに該当する継続カスタマイズ名を取得し、取得された継続カスタマイズ名に該当するカスタマイズを、実行すべきカスタマイズとして利用する。
【０１１９】
業務状態管理部１４は、業務状態１４１を保持する。
【０１２０】
図１３は、本実施形態における業務状態１４１のデータ構造を表す構成図である。
業務状態１４１では、各ワークフローインスタンスは、各々固有の識別子であるワークフローＩＤを持つ。業務状態１４１は、ワークフローＩＤで管理される複数の状態を持つ。また、各状態は、ワークフロー名を持つ。
【０１２１】
ここでは、業務状態１４１は、「ワークフローＩＤ」と、「ワークフロー名」と、「実行中作業」と、「ワークフロー変数名」と、「ワークフロー変数値」を持つ。すなわち、図８に示された業務状態１４１に、「ワークフローＩＤ」及び「ワークフロー名」が追加されている。
【０１２２】
「ワークフローＩＤ」は、ワークフローインスタンス毎に固有の識別子である。「ワークフロー名」は、ワークフローＩＤに対応するワークフローの名称である。「実行中作業」は、現在実行中の作業を示す識別情報である。「ワークフロー変数名」は、実行中の作業以外の状態を表すワークフロー変数を示す識別情報である。「ワークフロー変数値」は、ワークフロー変数の入力値を示す情報である。
【０１２３】
ワークフロー管理部１１は、特定のワークフローインスタンスの作業実行のための業務アプリ３０を起動する場合、ブラウザ２０からアプリカスタマイズ部１３への通信にワークフローインスタンスのワークフローＩＤを合わせて送付するよう指示する。指示の方法は様々に考えられるが、好適な実施例は、通信のセッション管理を使用したり、ＷｅｂシステムにおいてＵＲＬに情報を埋め込む等が考えられる。
【０１２４】
ユーザは、以前中断した作業の継続や、ワークフローには関係ない業務のための業務アプリ３０の操作等で、ワークフロー管理部１１からの起動ではなく、直接アプリカスタマイズ部１３を通して業務アプリ３０と通信を行うようにしても良い。この場合、通信にはワークフローＩＤは付与されない。
【０１２５】
図１４は、本発明の第３実施形態におけるアプリカスタマイズ部１３の動作図である。
【０１２６】
（１）ステップＳ３０１
アプリカスタマイズ部１３は、ブラウザ２０、業務アプリ３０、ワークフロー管理部１１等からの通信を待つ。すなわち、アプリカスタマイズ部１３は、通信受信待ち状態である。
【０１２７】
（２）ステップＳ３０２
アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断する。ここでは、カスタマイズ決定部１３２が、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断し、受信していた場合、その通信内容を業務推定部１３４に通知する。なお、実際には、業務推定部１３４が、直接、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断するようにしても良い。
【０１２８】
（３）ステップＳ３０３
アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信を受信すると、カスタマイズ状態１３１１から利用するカスタマイズ名を取得する際に業務推定を利用する。ここでは、業務推定部１３４が、業務推定を利用して、カスタマイズ名を決定し、決定されたカスタマイズ名をカスタマイズ決定部１３２に通知する。
【０１２９】
（４）ステップＳ３０４
カスタマイズ決定部１３２は、業務推定を利用して決定されたカスタマイズ名に基づいて、業務定義管理部１２からカスタマイズ定義１２２を取得する。ここでは、カスタマイズ決定部１３２は、カスタマイズ状態１３１１と通信先の業務アプリ３０を参照して、業務定義管理部１２から、カスタマイズ名と業務ＡＰ名が一致するカスタマイズ記述を取得し、カスタマイズ実行部１３３に渡す。なお、カスタマイズ決定部１３２は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズ記述を取得できないため、カスタマイズ記述をカスタマイズ実行部１３３に渡さない。
【０１３０】
（５）ステップＳ３０５
次に、アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信に対して、渡されたカスタマイズ記述を実行することで、カスタマイズを実施する。ここでは、カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、ブラウザ２０から業務アプリ３０へのリクエストの内容を書き換える。なお、カスタマイズ実行部１３３は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズを何も実施しない。
【０１３１】
（６）ステップＳ３０６
次に、アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があったかどうか判断する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフローの状態変更があったかどうか判断するものとする。
【０１３２】
（７）ステップＳ３０７
カスタマイズ実行部１３３は、カスタマイズ実施の結果、ワークフローの状態変更があった場合、ワークフロー管理部１１に状態更新を指示する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３は、ワークフローの状態変更があった場合、ワークフロー管理部１１に状態更新を指示する。
【０１３３】
（８）ステップＳ３０８
最後に、アプリカスタマイズ部１３は、業務アプリ３０に、ブラウザ２０から受信した通信の内容を送信する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３は、業務アプリ３０に、受信した通信内容を送信する。
【０１３４】
（９）ステップＳ３０９
また、アプリカスタマイズ部１３は、業務アプリ３０からブラウザ２０への通信を受信したかどうか判断する。ここでは、カスタマイズ決定部１３２が、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断し、受信していた場合、その通信内容を業務推定部１３４に通知する。なお、実際には、業務推定部１３４が、直接、ブラウザ２０から業務アプリ３０への通信を受信したかどうか判断するようにしても良い。
【０１３５】
（１０）ステップＳ３１０
アプリカスタマイズ部１３は、ブラウザ２０から業務アプリ３０への通信を受信すると、カスタマイズ状態１３１１から利用するカスタマイズ名を取得する際に業務推定を利用する。ここでは、業務推定部１３４が、業務推定を利用して、カスタマイズ名を決定し、決定されたカスタマイズ名をカスタマイズ決定部１３２に通知する。
【０１３６】
（１１）ステップＳ３１１
アプリカスタマイズ部１３は、業務アプリ３０からブラウザ２０への通信を受信した場合、カスタマイズ状態１３１１のカスタマイズ名に基づいて、業務定義管理部１２からカスタマイズ定義１２２を取得する。ここでは、カスタマイズ決定部１３２は、カスタマイズ状態１３１１と通信先の業務アプリ３０を参照して、業務定義管理部１２から、カスタマイズ名と業務ＡＰ名が一致するカスタマイズ記述を取得し、カスタマイズ実行部１３３に渡す。なお、カスタマイズ決定部１３２は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズ記述を取得できないため、カスタマイズ記述をカスタマイズ実行部１３３に渡さない。
【０１３７】
（１２）ステップＳ３１２
次に、アプリカスタマイズ部１３は、ブラウザ２０と業務アプリ３０との間の通信に対して、渡されたカスタマイズ記述を実行することで、カスタマイズを実施する。ここでは、カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、ブラウザ２０と業務アプリ３０との間でダウンロード或いはリクエストされたＨＴＭＬ文書等の記述を書き換える。なお、カスタマイズ実行部１３３は、カスタマイズ状態１３１１にカスタマイズ名が設定されていない場合、カスタマイズを何も実施しない。
【０１３８】
（１３）ステップＳ３１３
次に、アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があるかどうか判断する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフローの状態変更があるかどうか判断する。
【０１３９】
（１４）ステップＳ３１４
アプリカスタマイズ部１３は、カスタマイズ実施の結果、ワークフローの状態変更があった場合、ワークフロー管理部１１に、状態更新を指示する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ワークフロー管理部１１に、状態更新を指示する。
【０１４０】
（１５）ステップＳ３１５
最後に、アプリカスタマイズ部１３は、ブラウザ２０に、業務アプリ３０から受信した通信内容を送信する。ここでは、カスタマイズ決定部１３２又はカスタマイズ実行部１３３が、ブラウザ２０に、業務アプリ３０から受信した通信内容を送信する。
【０１４１】
（１６）ステップＳ３１６
アプリカスタマイズ部１３は、ワークフロー管理部１１から、ワークフローＩＤを伴ったカスタマイズ状態１３１１の設定指示を受けたかどうか判断する。ここでは、カスタマイズ決定部１３２が、ワークフロー管理部１１から、ワークフローＩＤを伴ったカスタマイズ状態１３１１の設定指示を受けたかどうか判断する。
【０１４２】
（１７）ステップＳ３１７
アプリカスタマイズ部１３は、ワークフロー管理部１１から、ワークフローＩＤを伴ったカスタマイズ状態１３１１の設定指示を受けると、カスタマイズ状態１３１１に、該当する設定を追加する。ここでは、カスタマイズ決定部１３２は、ワークフロー管理部１１から、ワークフローＩＤを伴ったカスタマイズ状態１３１１の設定指示を受けると、カスタマイズ状態１３１１に、指定されたワークフローＩＤとカスタマイズ名の設定を追加する。
【０１４３】
（１８）ステップＳ３１８
また、アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けたかどうか判断する。ここでは、カスタマイズ決定部１３２が、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けたかどうか判断する。
【０１４４】
（１９）ステップＳ３１９
アプリカスタマイズ部１３は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けた場合、カスタマイズ状態１３１１を初期化する。ここでは、カスタマイズ決定部１３２は、ワークフロー管理部１１から、カスタマイズ状態１３１１の初期化指示を受けると、カスタマイズ状態１３１１から、初期化指示において指定されたワークフローＩＤとカスタマイズ名の設定を削除する。
【０１４５】
このように、本実施形態では、アプリカスタマイズ部１３は、ブラウザ２０と業務アプリ３０の間の通信を受信すると、カスタマイズ状態１３１１から利用するカスタマイズ名を取得する際に業務推定を利用することを特徴とする。
【０１４６】
また、アプリカスタマイズ部１３は、ワークフローＩＤを伴ったカスタマイズ状態１３１１の設定指示を受けると、カスタマイズ状態１３１１に該当する設定を追加することを特徴とする。
【０１４７】
また、アプリカスタマイズ部１３は、カスタマイズ状態１３１１の初期化指示を受けると、カスタマイズ状態１３１１から、該当するワークフローＩＤとカスタマイズ名の設定を削除することを特徴とする。
【０１４８】
図１５は、本発明の第３実施形態の業務推定部の動作１３４の動作図である。
【０１４９】
（１）ステップＳ４０１
まず、業務推定部１３４は、ワークフロー管理部１１からの指示に、ワークフローＩＤが付与されているか確認する。すなわち、業務推定部１３４は、ワークフローＩＤが指定されているか確認する。なお、実際には、カスタマイズ決定部１３２が、ワークフローＩＤが指定されているか確認し、指定されていた場合、そのワークフローＩＤを業務推定部１３４に通知するようにしても良い。この場合、業務推定部１３４は、カスタマイズ決定部１３２からの通知を受け取ることで、ワークフローＩＤが付与されていると判断する。
【０１５０】
（２）ステップＳ４０２
業務推定部１３４は、ワークフローＩＤが付与されている場合、そのワークフローＩＤに該当するカスタマイズ状態１３１１のカスタマイズ名を取得し、そのカスタマイズ名に該当するカスタマイズを、実行すべきカスタマイズとして利用する。
【０１５１】
（３）ステップＳ４０３
業務推定部１３４は、ワークフローＩＤが付与されていない場合、業務状態１４１から現在実行中のワークフローインスタンスのワークフロー名のリストを取得する。
【０１５２】
（４）ステップＳ４０４
次に、業務推定部１３４は、ワークフロー名のリスト中に、未チェックのワークフロー名があるか確認する。業務推定部１３４は、ワークフロー名のリスト中に、未チェックのワークフロー名が無ければ、処理を終了する。
【０１５３】
（５）ステップＳ４０５
業務推定部１３４は、ワークフロー名のリスト中に、未チェックのワークフロー名があれば、当該ワークフロー名のリストからワークフロー名を取得し、取得されたワークフロー名について、ワークフロー名と通信先の業務アプリ名から業務推定定義１２３を参照して一致する状態比較定義の有無を確認する。
【０１５４】
（６）ステップＳ４０６
業務推定部１３４は、一致する状態比較定義があれば、状態比較定義を取得し、取得された状態比較定義を評価する。
【０１５５】
（７）ステップＳ４０７
業務推定部１３４は、通信内容と業務状態１４１のワークフロー変数名やワークフロー変数値を比較し、一致するワークフローＩＤがあるか否か調査する。
【０１５６】
（８）ステップＳ４０８
業務推定部１３４は、一致するワークフローＩＤがあれば、そのワークフローＩＤに該当する継続カスタマイズ名を実行すべきカスタマイズとして利用する。すなわち、業務推定部１３４は、ワークフローＩＤに該当する継続カスタマイズ名を、利用するカスタマイズ名に設定する。
【０１５７】
（９）ステップＳ４０９
業務推定部１３４は、一致する状態比較定義、又は、一致するワークフローＩＤが無ければ、ワークフロー名のリスト中の次のワークフロー名の取得を試みる。業務推定部１３４は、次のワークフロー名が無ければ、処理を終了する。
【０１５８】
本実施形態によれば、複数のワークフローインスタンスに該当する作業を並行して行っていたり、ワークフロー管理部１１から起動せずに業務アプリ３０を使用する場合にも、適切なカスタマイズを利用することが可能となる。
【０１５９】
＜第４実施形態＞
次に、本発明の第４実施形態について説明する。
本発明の第３実施形態では、ワークフローＩＤを明示的に指定された場合と業務推定部１３４で推定する場合で、利用するカスタマイズ名を分けていたが、実際には、「カスタマイズ名」と「継続時カスタマイズ名」が同じ場合もある。
【０１６０】
例えば、カスタマイズされたＷｅｂ画面を用いた作業の中断後、当該作業を再開する際に、再開後の画面を、作業中断直前のカスタマイズされたＷｅｂ画面に戻す場合、再開後の画面に対して行われるカスタマイズ（継続時カスタマイズ）は、このカスタマイズされたＷｅｂ画面に対して行われていたカスタマイズと同じで良い。
【０１６１】
本発明の第４実施形態では、ワークフローＩＤを明示的に指定された場合と業務推定部１３４で推定する場合で、同一のカスタマイズ名を使用する。この場合、ワークフロー定義１２１やカスタマイズ状態１３１１は、継続時カスタマイズ名を持たなくても良い。
【０１６２】
図示しないが、本実施形態では、ワークフロー定義１２１は、「ワークフロー名」と、「作業名」と、「起動業務ＡＰ」と、「カスタマイズ名」を持つ。「ワークフロー名」、「作業名」、「起動業務ＡＰ」、及び「カスタマイズ名」については、前述の通りである。また、カスタマイズ状態１３１１は、「ワークフローＩＤ」と、「カスタマイズ名」を持つ。「ワークフローＩＤ」及び「カスタマイズ名」については、前述の通りである。
【０１６３】
＜第５実施形態＞
次に、本発明の第５実施形態について説明する。
本発明の第１実施形態では、アプリカスタマイズ部１３がサーバ装置上に配置されていたが、本発明の第５実施形態では、アプリカスタマイズ部１３のみブラウザ２０と同じクライアント装置上に配置する。
【０１６４】
本実施形態では、アプリカスタマイズ部１３の内部構成の一部が分離されて外部に配置されており、分離された構成が、業務定義管理部１２や業務状態管理部１４に、ネットワークを介して遠隔操作を行う。
【０１６５】
図１６は、本発明の第５実施形態の業務管理装置の構成例を示す構成図である。
ここでは、本発明の業務管理装置１０は、ワークフロー管理部１１と、業務定義管理部１２と、アプリカスタマイズ部１３を備える。
【０１６６】
ワークフロー管理部１１と業務定義管理部１２は、基本的に、本発明の第１実施形態と同様である。
【０１６７】
アプリカスタマイズ部１３は、カスタマイズ状態管理部１３１を備える。
【０１６８】
カスタマイズ状態管理部１３１は、基本的に、本発明の第１実施形態と同様である。
【０１６９】
本実施形態では、アプリカスタマイズ部１３は、ネットワークを介して、ブラウザ２０とブラウザ制御部２１に接続される。
【０１７０】
ブラウザ２０は、基本的に、本発明の第１実施形態と同様であるが、ここでは、ブラウザ２０は、業務管理装置１０を介さずに、業務アプリ３０（３０−ｉ、ｉ＝１〜ｎ）に接続される。
【０１７１】
ブラウザ制御部２１は、業務管理装置１０及びブラウザ２０に接続される。また、ブラウザ制御部２１は、ブラウザ２０に対し、ブラウザ２０と業務アプリ３０の間の通信を制御する。
【０１７２】
ここでは、ブラウザ制御部２１は、カスタマイズ決定部２１１と、カスタマイズ実行部２１２を備える。
【０１７３】
カスタマイズ決定部２１１は、基本的に、本発明の第１実施形態のカスタマイズ決定部１３２と同様である。なお、カスタマイズ決定部２１１は、ネットワークを介して、業務定義管理部１２やアプリカスタマイズ部１３と通信する。
【０１７４】
カスタマイズ実行部２１２は、基本的に、本発明の第１実施形態のカスタマイズ実行部１３３と同様である。なお、カスタマイズ実行部２１２は、ネットワークを介して、業務定義管理部１２やアプリカスタマイズ部１３と通信する。
【０１７５】
このように、本実施形態では、カスタマイズ決定部２１１とカスタマイズ実行部２１２を持つブラウザ制御部２１がブラウザ２０に接続され、前述の各実施形態で行っていたカスタマイズの実行をブラウザ２０に直接制御を加えることで実現する。
【０１７６】
ブラウザ制御部２１の実現形態の好適な実施例は、アドオン（ａｄｄ−ｏｎ）やプラグイン（ｐｌｕｇ−ｉｎ）等のブラウザ２０の拡張機能を利用したプログラムや、ブラウザ２０と同じ計算機上で動作する常駐のアプリケーションソフトウェアである。ここでは、ブラウザ制御部２１は、これらのプログラムやアプリケーションソフトウェアを実行するＣＰＵ等の処理装置とする。但し、実際には、これらの例に限定されない。
【０１７７】
なお、本実施形態では、ブラウザ２０とブラウザ制御部２１は、同じクライアント装置上に配置されていることを想定しているが、実際には、異なる装置上に配置されていても良い。例えば、ブラウザ２０はクライアント装置上に配置され、ブラウザ制御部２１はクライアント装置に接続された周辺機器上や、業務管理装置１０とは別のサーバ装置上に配置されていても良い。但し、実際には、これらの例に限定されない。
【０１７８】
＜第６実施形態＞
次に、本発明の第６実施形態について説明する。
本発明の第１実施形態では、ユーザに関係無く、実行中の作業によってのみ適用すべきカスタマイズ定義１２２を決定していたが、本発明の第６実施形態では、同じ作業実行時でも、ユーザによってカスタマイズ内容を変えるようにする。
【０１７９】
図１７は、本発明の第６実施形態のカスタマイズ定義１２２データ構造を表す構成図である。
本実施形態のカスタマイズ定義１２２では、カスタマイズ記述は、更に、ユーザ名毎に用意され、ブラウザ２０を使用しているユーザの名前によって切替えて使用される。なお、ブラウザ２０を通してアプリカスタマイズ部１３を利用しているユーザを識別、管理する手法としては、様々なユーザ管理技術が公知であるため、このような公知のユーザ管理技術が利用できる。
【０１８０】
ここでは、カスタマイズ定義１２２は、「カスタマイズ名」と、「業務ＡＰ名」と、「ユーザ名」と、「カスタマイズ記述」を持つ。
【０１８１】
「カスタマイズ名」は、カスタマイズの種類を示す識別情報である。「業務ＡＰ名」は、カスタマイズ名に対応付けられた業務アプリを示す識別情報である。「ユーザ名」は、業務アプリを使用中のユーザを示す識別情報である。「カスタマイズ記述」は、業務アプリに施されるカスタマイズ記述である。
【０１８２】
＜第７実施形態＞
次に、本発明の第７実施形態について説明する。
本発明の第７実施形態では、具体的な実施例として、本発明の各実施形態の業務管理装置１０を組み合わせたものを用いたＷｅｂシステムについて説明する。
【０１８３】
図１８は、本発明の各実施形態の業務管理装置１０を組み合わせたものを用いた業務管理Ｗｅｂシステムの構成例を示す構成図である。
【０１８４】
本発明の業務管理Ｗｅｂシステム１００は、業務管理装置１０を含むシステムである。ここでは、業務管理Ｗｅｂシステム１００は、ワークフロー管理部１１と、業務定義管理部１２と、アプリカスタマイズ部１３と、業務状態管理部１４と、ＨＴＴＰ処理部１５を備える。
【０１８５】
ワークフロー管理部１１は、様々なＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供するＷｅｂブラウザ２００に接続される。Ｗｅｂブラウザ２００は、本発明の各実施形態のブラウザ２０に相当する。ここでは、Ｗｅｂブラウザ２００は、ＨＴＴＰで通信を行うブラウザである。但し、実際には、これらの例に限定されない。
【０１８６】
業務定義管理部１２は、ワークフロー定義１２１と、カスタマイズ定義１２２と、業務推定定義１２３を保持する。
【０１８７】
ワークフロー定義１２１とカスタマイズ定義１２２は、基本的に、本発明の第１実施形態と同様である。また、業務推定定義１２３は、基本的に、本発明の第３実施形態と同様である。
【０１８８】
アプリカスタマイズ部１３は、ワークフロー管理部１１と共に、様々なＵＩを提供するＷｅｂブラウザ２００に接続される。更に、アプリカスタマイズ部１３は、設備発注システム３００に接続される。設備発注システム３００は、本発明の各実施形態の業務アプリ３０に相当する。ここでは、設備発注システム３００は、Ｗｅｂブラウザ２００から利用可能なＷｅｂアプリケーションを提供するサーバである。但し、実際には、これらの例に限定されない。
【０１８９】
アプリカスタマイズ部１３は、カスタマイズ状態管理部１３１と、カスタマイズ決定部１３２と、カスタマイズ実行部１３３を備える。
【０１９０】
カスタマイズ状態管理部１３１は、カスタマイズ状態１３１１を保持する。
【０１９１】
カスタマイズ決定部１３２は、カスタマイズ状態１３１１を参照して、実行すべきカスタマイズを決定し、カスタマイズ定義１２２を参照して、決定されたカスタマイズに関するカスタマイズ記述を取得する。
【０１９２】
カスタマイズ実行部１３３は、カスタマイズ記述に基づいて、カスタマイズを実施する。
【０１９３】
カスタマイズ状態管理部１３１とカスタマイズ決定部１３２は、基本的に、本発明の第１実施形態と同様である。
【０１９４】
本実施形態では、カスタマイズ実行部１３３は、表示変更部１３３１と、自動実行部１３３２と、操作禁止部１３３３と、状態取得部１３３４を備える。
【０１９５】
表示変更部１３３１は、設備発注システム３００からＷｅｂブラウザ２００に送られる通信に含まれるユーザインタフェースの定義情報を書き換えることで、Ｗｅｂブラウザ２００に表示されるユーザインタフェースの内容を変更する。表示変更部１３３１に対するカスタマイズ記述は、表示変更処理を施すべき通信の条件と、その時の変更処理の内容定義のリストとして定義される。
【０１９６】
自動実行部１３３２は、設備発注システム３００に対する操作を自動化する。本実施形態では、設備発注システム３００に対して、通常はユーザがユーザインタフェースを介して操作する内容を、システムが代わりに行うことで、操作を自動化する。例えば、自動実行部１３３２は、カスタマイズ記述に基づいて、所定の作業を特定し、所定の作業を行うための作業画面をＷｅｂブラウザ２００に表示し、所定の作業を行うための作業画面での操作項目のうち操作内容が決まっている操作項目に当該操作内容を自動入力し、所定の作業の一部又は全部を自動実行する。操作内容の例としては、所定の入力欄への入力値の入力や、所定のボタンの押下（処理実行）、ラジオボタン又はチェックボックスのチェック、セレクト部品（セレクトボックス）における選択項目の自動選択、所定のリンク先への移動（画面遷移）、所定の作業に関連する他の画面の表示（別ウィンドウ表示）等が考えられる。但し、実際には、これらの例に限定されない。自動実行部１３３２に対するカスタマイズ記述は、自動実行を開始するタイミングを規程する条件と、自動実行として行う設備発注システム３００のユーザインタフェース操作内容として定義される。
【０１９７】
操作禁止部１３３３は、設備発注システム３００からＷｅｂブラウザ２００に送られる通信に含まれるユーザインタフェースの定義情報を書き換えることで、Ｗｅｂブラウザ２００上でユーザが行える操作を限定する。操作禁止部１３３３に対するカスタマイズ記述は、操作禁止実現のためにユーザインタフェース定義の書き換えや通信の設備発注システム３００への送信の禁止等の動作を実行すべき通信の条件と、その時の動作内容のリストとして定義される。
【０１９８】
状態取得部１３３４は、Ｗｅｂブラウザ２００と設備発注システム３００の間でやり取りされる通信の内容を監視し、カスタマイズ定義１２２として設定された条件に合致する場合に、その通信内容をワークフロー管理部１１を通じて、業務状態管理部１４の業務状態１４１に反映させる。状態取得に対するカスタマイズ記述は、状態変更を行う条件と、その時の変更内容のリストとして定義される。
【０１９９】
業務状態管理部１４は、実行中のワークフローの状態である業務状態１４１を保持する。また、業務状態管理部１４は、状態取得部１３３４から、ワークフロー管理部１１を通じて、Ｗｅｂブラウザ２００と設備発注システム３００の間でやり取りされる通信の内容を通知された場合、その通信内容を業務状態１４１に反映させる。
【０２００】
ＨＴＴＰ処理部１５は、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に準拠して、ワークフロー管理部１１及びアプリカスタマイズ部１３と、Ｗｅｂブラウザ２００と野間の通信を転送する。
【０２０１】
ここでは、Ｗｅｂブラウザ２００は、業務管理Ｗｅｂシステム１００に、「ｈｔｔｐ：／／ｇｙｏｕｍｕ／」のＵＲＬでアクセスすることができる。特に、Ｗｅｂブラウザ２００は、ワークフロー管理部１１に、「ｈｔｔｐ：／／ｇｙｏｕｍｕ／ｗｏｒｋｆｌｏｗ／」のＵＲＬでアクセスすることができる。また、アプリカスタマイズ部１３を介した設備発注システム３００に、「ｈｔｔｐ：／／ｇｙｏｕｍｕ／ｓｅｔｕｂｉ／」のＵＲＬでアクセスすることができる。
【０２０２】
図１９は、ワークフロー定義１２１のデータ構造を表す構成図である。
ワークフローは、設備発注の一つだけが登録されており、見積もり、承認、発注の３つの作業を持つ。
【０２０３】
ここでは、ワークフロー定義１２１は、「ワークフロー名」と、「作業名」と、「起動業務ＡＰ」と、「カスタマイズ名」と、「継続時カスタマイズ名」を持つ。
【０２０４】
「ワークフロー名」には、「設備発注」が登録されている。
【０２０５】
ワークフロー名「設備発注」に対して、「作業名」には、「見積もり」、「承認」、及び「発注」の３つの作業がそれぞれ登録されている。
【０２０６】
作業名「見積もり」に対して、「起動業務ＡＰ」には、「設備発注システム」が登録されている。「カスタマイズ名」には、「設備−見積もり」が登録されている。「継続時カスタマイズ名」には、「設備−見積もり−継続」が登録されている。
【０２０７】
作業名「承認」に対して、「起動業務ＡＰ」には、「設備発注システム」が登録されている。「カスタマイズ名」には、「設備−承認」が登録されている。「継続時カスタマイズ名」には、「設備−承認継続」が登録されている。
【０２０８】
作業名「発注」に対して、「起動業務ＡＰ」には、「設備発注システム」が登録されている。「カスタマイズ名」には、「設備−発注」が登録されている。「継続時カスタマイズ名」には、「設備−発注継続」が登録されている。
【０２０９】
なお、「カスタマイズ名」と「継続時カスタマイズ名」は、同じでも良い。この場合、ワークフロー定義１２１は、「継続時カスタマイズ名」を持たなくても良い。
【０２１０】
図２０は、業務状態１４１のデータ構造を表す構成図である。
最初に起動されるワークフローインスタンスのワークフローＩＤは１とし、ワークフロー変数として、部門名、購入ＩＤ、承認、予算が準備されている。部門名は予め１２３４が設定されている。
【０２１１】
ここでは、業務状態１４１は、「ワークフローＩＤ」と、「ワークフロー名」と、「実行中作業」と、「ワークフロー変数名」と、「ワークフロー変数値」を持つ。
【０２１２】
「ワークフローＩＤ」には、「１」が登録されている。
【０２１３】
「ワークフロー名」には、「設備発注」が登録されている。
【０２１４】
「実行中作業」には、何も登録されていない。起動時には、実行中の作業は無いためである。
【０２１５】
「ワークフロー変数名」には、「部門名」、「購入ＩＤ」、「承認」、及び「予算」の４つの変数が登録されている。
【０２１６】
ワークフロー変数名「部門名」に対して、「ワークフロー変数値」には、予め「１２３４」が登録されている。
【０２１７】
ワークフロー変数名「購入ＩＤ」及びワークフロー変数名「承認」に対して、「ワークフロー変数値」には、何も登録されていない。
【０２１８】
ワークフロー変数名「予算」に対して、「ワークフロー変数値」には、予め「１００万」が登録されている。
【０２１９】
図２１は、設備発注システム３００の画面遷移の説明図である。
ここでは、設備発注システム３００の画面とは、設備発注システム３００が提供するＷｅｂアプリケーションの画面を示す。
【０２２０】
Ｗｅｂブラウザ２００は、本発明の業務管理Ｗｅｂシステム１００を介さずに、設備発注システム３００にアクセスした場合、設備発注システム３００の画面として、最初にメインメニューを表示する。このとき、Ｗｅｂブラウザ２００は、メインメニューでユーザが「購入要求作成」か「購入要求検索」のいずれかを選択できるようにする。Ｗｅｂブラウザ２００は、「購入要求作成」と「購入要求検索」を選択可能な形式でメインメニューを表示する。
【０２２１】
Ｗｅｂブラウザ２００は、ユーザが「購入要求作成」を選択した場合、次に、部門名入力画面に遷移し、部門名入力画面で部門名を入力すると、購入要求書画面に遷移して、自動生成された新しい購入ＩＤを持った購入要求書を新たに作成することができる。
【０２２２】
一方、Ｗｅｂブラウザ２００は、ユーザが「購入要求検索」を選択した場合、購入ＩＤ入力画面に遷移し、購入ＩＤ入力画面で購入ＩＤを入力すると、購入要求書画面に遷移して、入力された購入ＩＤの購入要求書を表示することができる。
【０２２３】
購入要求書画面では、見積りと発注を行うことができる。
【０２２４】
Ｗｅｂブラウザ２００は、見積もりを行う場合、ユーザが品名と数量を入力して「見積りボタン」を押すと、同じ購入要求書画面で個別品目の単価と合計金額を表示する。また、Ｗｅｂブラウザ２００は、見積りが済んでいる状態で、ユーザが「発注ボタン」を押すと、実際に発注手続きを行い、発注確認画面を表示する。
【０２２５】
Ｗｅｂブラウザ２００は、ユーザが購入要求書画面で「戻るボタン」を押すと、入力された値を保存してメインメニューに戻る。
【０２２６】
図２２Ａ、図２２Ｂは、カスタマイズ定義１２２のデータ構造を表す構成図である。
各カスタマイズ名に関して、カスタマイズ記述が与えられている。図２２Ｂに示す「設備−見積り−継続」と、「設備−承認−継続」と、「設備−発注−継続」の継続用の３つのカスタマイズ名に与えられたカスタマイズ記述は、それぞれ、図２２Ａに示す「設備−見積り」と、「設備−承認」と、「設備−発注」の継続ではない場合の３つのカスタマイズ名に与えられたカスタマイズ記述から自動実行のみを除いた形になっている。
【０２２７】
ここでは、カスタマイズ定義１２２は、「カスタマイズ名」と、「業務ＡＰ名」と、「ユーザ名」と、「カスタマイズ記述」を持つ。
【０２２８】
「カスタマイズ名」には、「設備−見積り」と、「設備−承認」と、「設備−発注」と、「設備−見積り−継続」と、「設備−承認−継続」と、「設備−発注−継続」が登録されている。
【０２２９】
「業務ＡＰ名」には、各カスタマイズ名に対して、「設備発注システム」が登録されている。
【０２３０】
「ユーザ名」には、カスタマイズ名「設備−見積り」、「設備−発注」、「設備−見積り−継続」、及び「設備−発注−継続」の各々に対して、「担当者、管理者」が登録されている。また、カスタマイズ名「設備−承認」及び「設備−承認−継続」のそれぞれに対して、「管理者」と「担当者」が独立して登録されている。
【０２３１】
「カスタマイズ記述」には、カスタマイズ名「設備−見積り」に対して、「自動実行（メインメニュー→購入要求作成→部門名入力）」が登録されている。また、カスタマイズ名「設備−見積り」及び「設備−見積り−継続」の各々に対して、「操作禁止（購入要求書、発注ボタン）」と、「画面変更（購入要求書、承認要求ボタン追加）」と、「状態獲得（購入要求書、表示時、購入ＩＤを購入ＩＤ変数に変換）」と、「状態獲得（購入要求書、承認要求ボタン押下時、見積もり作業完了）」が登録されている。
【０２３２】
また、「カスタマイズ記述」には、カスタマイズ名「設備−承認」のユーザ名「管理者」に対して、「自動実行（メインメニュー→購入要求検索→購入ＩＤ入力）」が登録されている。また、カスタマイズ名「設備−承認」及び「設備−承認−継続」のユーザ名「管理者」の各々に対して、「操作禁止（購入要求書、見積もりボタン）」と、「操作禁止（購入要求書、発注ボタン）」と、「画面変更（購入要求書、部門予算表示追加）」と、「画面変更（購入要求書、承認ボタン追加）」と、「状態獲得（購入要求書、承認ボタン押下時、承認変数を済みに設定）」と、「状態獲得（購入要求書、承認ボタン押下時、承認作業完了）」が登録されている。
【０２３３】
また、「カスタマイズ記述」には、カスタマイズ名「設備−承認」及び「設備−承認−継続」のユーザ名「担当者」の各々に対して、「操作禁止（購入要求書、見積もりボタン）」と、「操作禁止（購入要求書、発注ボタン）」が登録されている。
【０２３４】
また、「カスタマイズ記述」には、カスタマイズ名「設備−発注」に対して、「自動実行（メインメニュー→購入要求検索→購入ＩＤ入力）」が登録されている。また、カスタマイズ名「設備−発注」及び「設備−発注−継続」の各々に対して、「操作禁止（購入要求書、見積もりボタン）」と、「状態獲得（発注確認、ＯＫボタン押下時、発注作業完了）」が登録されている。
【０２３５】
図２３は、業務推定定義１２３のデータ構造を表す構成図である。
業務推定定義１２３は、設備発注システム３００を設備発注ワークフローで使用する場合において、購入要求書画面で、画面に表示される購入ＩＤと、ワークフローインスタンスのワークフロー変数「購入ＩＤ」の値が一致したものを該当ワークフローインスタンスとして扱うと定義した状態比較定義を持っている。
【０２３６】
ここでは、業務推定定義１２３は、「業務アプリ名」と、「ワークフロー名」と、「状態比較定義」を持つ。
【０２３７】
「業務アプリ名」には、「設備発注システム」が登録されている。
【０２３８】
「ワークフロー名」には、「設備発注」が登録されている。
【０２３９】
「状態比較定義」には、「購入要求書（画面の購入ＩＤ＝＝購入ＩＤ変数値）」が登録されている。
【０２４０】
図２４は、見積り作業を行う時の動作の説明図である。
担当者がワークフロー管理部１１で「見積もり作業」を開始すると、ワークフロー管理部１１は、ワークフロー定義１２１に従って、Ｗｅｂブラウザ２００に起動アプリである設備発注システム３００の表示を通知する。
【０２４１】
この場合、ワークフロー管理部１１は、「ｈｔｔｐ：／／ｇｙｏｕｍｕ／ｓｅｔｕｂｉ／」（設備発注システム３００）に、Ｗｅｂブラウザ２００の表示画面を転送する。同時に、ワークフロー管理部１１は、ワークフローＩＤ「１」を、ＨＴＴＰセッション等を用いてアプリカスタマイズ部１３に通知し、アプリカスタマイズ部１３のカスタマイズ状態１３１１に、ワークフローＩＤ「１」で、カスタマイズ名「設備−見積り」と、継続時カスタマイズ名「設備−見積り−継続」を設定する。
【０２４２】
アプリカスタマイズ部１３は、Ｗｅｂブラウザ２００からＨＴＴＰ要求を受け取ると、ワークフローＩＤ「１」が与えられていることから、カスタマイズ名「設備−見積り」のカスタマイズを実行する。この場合、自動実行部１３３２は、自動実行を行い、メインメニューから「購入要求作成」メニューを自動選択し、ワークフロー変数値を参照して部門名を自動入力し、購入要求書画面に遷移する。そして、操作禁止部１３３３は、購入要求画面のＨＴＴＰ応答通信が設備発注システム３００からＷｅｂブラウザ２００に送られる時、「発注ボタン」を削除する。また、表示変更部１３３１は、「承認要求ボタン」の追加を行い、その結果の画面をＷｅｂブラウザ２００に表示する。同時に、状態取得部１３３４は、画面に表示される購入ＩＤの値「４５６６５４」をワークフロー変数の値に設定する。
【０２４３】
ここで、ユーザが、表示された購入要求書の画面上で、品名や数量を入力して「見積りボタン」を押下すると、Ｗｅｂブラウザ２００は、品名や数量に応じた金額を表示する。ここでの品名や数量の入力による金額表示は、元の設備発注システム３００の機能をそのまま使用しており、ユーザは、何度も入力値を変更して見積りを試行錯誤する等、「発注ボタン」を押す以外で、元の設備発注システム３００で可能な操作を、そのまま行うことができる。ユーザにより「承認要求ボタン」が押下されると、状態取得部１３３４は、ワークフロー管理部１１に対して、見積もり作業の終了を指示する。ワークフロー管理部１１は、見積もり作業の終了の指示を受けて、承認を行うべき管理者に承認作業の開始を通知する。
【０２４４】
図２５は、承認作業を行う時の動作の説明図である。
管理者がワークフロー管理部１１で「承認作業」を開始すると、ワークフロー管理部１１は、アプリカスタマイズ部１３のカスタマイズ状態１３１１に、ワークフローＩＤ「１」で、カスタマイズ名「設備−承認」と、継続時カスタマイズ名「設備−承認−継続」を設定する。
【０２４５】
Ｗｅｂブラウザ２００が設備発注システム３００を表示する際に、アプリカスタマイズ部１３は、カスタマイズ名「設備−承認」のカスタマイズを実行する。このとき、自動実行部１３３２は、メインメニューから「購入要求検索」を選択し、自動で購入ＩＤの値「４５６６５４」を入力し、該当する購入要求書を表示する。ここで、操作禁止部１３３３は、「見積もりボタン」と「発注ボタン」を削除し、代わりに「部門予算表示」と「承認ボタン」を追加する。承認を行うユーザは、この画面では判断を保留して「保留ボタン」を押すか、「承認ボタン」を押すしかできない。ユーザにより「承認ボタン」が押下されると、状態取得部１３３４は、ワークフロー変数の「承認」の値に「済み」を設定し、ワークフロー管理部１１に承認作業の終了を指示する。
【０２４６】
図２６は、発注作業を行う時の動作の説明図である。
担当者がワークフロー管理部１１で「発注作業」を開始すると、ワークフロー管理部１１は、アプリカスタマイズ部１３のカスタマイズ状態１３１１に、ワークフローＩＤ「１」で、カスタマイズ名「設備−発注」と、継続時カスタマイズ名「設備−発注−継続」を設定する。
【０２４７】
Ｗｅｂブラウザ２００が設備発注システム３００を表示すると、アプリカスタマイズ部１３は、カスタマイズ名「設備−発注」のカスタマイズを実行する。このとき、自動実行部１３３２は、メインメニューから「購入要求検索」を選択し、自動で購入ＩＤの値「４５６６５４」を入力し、該当する購入要求書を表示する。ここで、操作禁止部１３３３は、「見積もりボタン」を削除し、承認済みの購入内容の変更を禁止する。ユーザが「発注ボタン」を押し、発注確認画面で「ＯＫボタン」を押すと、状態取得部１３３４は、ワークフロー管理部１１に発注作業の終了を指示する。
【０２４８】
＜第８実施形態＞
次に、本発明の第８実施形態について説明する。
本発明の第８実施形態では、本発明の各実施形態の業務管理装置１０を組み合わせたものを用いた業務管理Ｗｅｂシステムにおいて、二人の担当がそれぞれ見積りを行っている状況での動作を説明する。
【０２４９】
図２７は、本状況での業務状態１４１とカスタマイズ状態１３１１を示す説明図である。
【０２５０】
ここでは、ワークフローＩＤ「１」と「２」の二つのワークフローインスタンスが動いているものとする。ワークフローＩＤ「１」のワークフローインスタンスの購入ＩＤは、「４５６６５４」になっている。ワークフローＩＤ「２」のワークフローインスタンスの購入ＩＤは、「７８９９８７」になっている。なお、購入ＩＤ「４５６６５４」は、発注作業中を示す。購入ＩＤ「７８９９８７」は、承認作業中を示す。
【０２５１】
ここで、管理者がワークフロー管理部１１を介さずに手動でアプリカスタマイズ部１３を介して設備発注システム３００を操作する場合、ワークフロー管理部１１からワークフローＩＤが渡されないため、業務推定部１３４は、関連するワークフローＩＤを特定しようと試みる。
【０２５２】
メインメニュー画面や部門名や購入ＩＤ入力画面を表示する場合、業務推定部１３４は、業務推定定義１２３の「状態比較定義」を評価するが、この「状態比較定義」は購入要求書画面でしか機能しないため、ワークフローＩＤを特定できない。結果、アプリカスタマイズ部１３は、何のカスタマイズも実行しない。
【０２５３】
一方、管理者が購入ＩＤ入力画面で、購入ＩＤ「７８９９８７」を手動で入力して、Ｗｅｂブラウザ２００に購入要求書画面を表示すると、業務推定部１３４は、「状態比較定義」を評価し、画面に表示されている購入ＩＤ「７８９９８７」と、業務状態１４１の中でワークフロー変数の購入ＩＤの値が一致するものを検索する。結果、業務推定部１３４は、ワークフローＩＤ「２」と推定する。その結果、アプリカスタマイズ部１３は、カスタマイズ状態１３１１から、継続時カスタマイズ名「設備−承認−継続」のカスタマイズを実行する。このとき、操作禁止部１３３３は、「見積りボタン」や「発注ボタン」の削除を行う。また、表示変更部１３３１は、「承認ボタン」や「予算表示」の追加を行う。
【０２５４】
一方、担当者が同様に手動で設備発注システム３００を操作する場合、「４５６６５４」の発注に関して購入要求書画面を表示すると、ワークフローＩＤ「１」が推定され、継続時カスタマイズ名「設備−発注−継続」のカスタマイズが実施されて、担当者は、発注作業を行うことができる。
【０２５５】
一方、担当者が同様に手動で設備発注システム３００を操作する場合、「７８９９８７」の発注に関して購入要求書画面を表示すると、ワークフローＩＤ「２」が推定され、継続時カスタマイズ名「設備−承認−継続」のカスタマイズが実際される。しかし、継続時カスタマイズ名「設備−承認−継続」の担当者用のカスタマイズでは、「見積りボタン」も「発注ボタン」も削除され、「承認ボタン」は追加されないため、担当者は何も操作することができない。
【０２５６】
なお、前述の各実施形態は、組み合わせて実施することも可能である。
【０２５７】
最後に、本発明の要点について詳述する。
【０２５８】
本発明の第一の目的は、ワークフロー管理システムとは独立に作られた他システムを用いる作業、特にシステムによる完全自動処理が困難で、ユーザの他システムへの操作を伴う作業において、作業の管理や支援を行うことを可能にする業務管理装置、業務管理方法、業務管理処理用プログラムを提供することである。
【０２５９】
本発明の第二の目的は、ワークフロー管理システムとは独立に作られた他システムを用いる作業を含む業務において、業務手順として行うべきではない操作の禁止や、関連する情報の提示といった自動化以外の業務手順の管理を可能にする業務管理装置、業務管理方法、業務管理処理用プログラムを提供することである。
【０２６０】
本発明の業務管理装置は、従来型の複数作業の手順を管理するワークフロー管理部１１に加えて、他の業務アプリをカスタマイズするアプリカスタマイズ部１３を持つ。アプリカスタマイズ部１３は、自動実行、表示変更、状態取得、操作禁止等のカスタマイズ機能を持つ。また、ワークフロー管理部１１が使用するワークフロー定義１２１は、従来型の作業リストの定義に加えて、各作業毎にカスタマイズ定義１２２を持つ。アプリカスタマイズ部１３は、ブラウザ２０と業務アプリ３０との通信を中継し、基本は業務アプリ３０がそのまま利用できる状況を提供しながら、必要に応じて通信内容に対してカスタマイズを実施する。
【０２６１】
ユーザが、ワークフロー管理部１１で、ある作業を開始しようとすると、アプリカスタマイズ部１３は、業務アプリ３０を操作するユーザインタフェースを起動する。ここで、アプリカスタマイズ部１３は、業務アプリ３０に、実行する作業に応じたカスタマイズを施す。具体的なカスタマイズとしては、自動実行による業務アプリ３０の操作の部分的もしくは完全な自動化、表示変更による情報の追加表示や不要な表示削除による画面簡素化、業務アプリ３０の画面監視による状態の取得と業務状態管理部１４への反映、画面上のボタン等の置換による業務状態１４１に応じた特定操作の無効化や警告表示等による操作禁止等があげられる。
【０２６２】
また、ユーザが、ワークフロー管理部１１で作業開始を指定するのではなく、アプリカスタマイズ部１３を介して業務アプリ３０を直接操作し始めた場合、アプリカスタマイズ部１３は、そのユーザが現在関わっている実行中ワークフローや、業務アプリ３０の状態から、ユーザが現在行おうとしている業務アプリ３０操作に関連するワークフローを推定し、そのワークフローの状態に応じたカスタマイズを実施する。
【０２６３】
本発明の業務管理装置によれば、ワークフロー管理システムとは独立に作られた他システムを用いる作業、特にシステムによる完全自動処理が困難で、ユーザの他システムへの操作を伴う作業において、作業の管理や支援を行うことが可能となる。
【０２６４】
その理由は、ワークフロー管理部１１で作業開始を行う時に、業務アプリ３０に対して施すべきカスタマイズ内容を決定し、アプリカスタマイズ部１３がカスタマイズ内容を実行してユーザと業務アプリ３０との通信に変更を加えることで、その作業の実行に適するよう業務アプリ３０の振舞いを変更することができるからである。
【０２６５】
更に、本発明の業務管理装置によれば、ワークフロー管理システムとは独立に作られた他システムを用いる作業を含む業務において、業務手順として行うべきではない操作の禁止や、関連する情報の提示といった自動化以外の業務手順の管理を行うことが可能となる。
【０２６６】
その理由は、業務アプリ３０に対するカスタマイズの処理として、表示取得や操作禁止のカスタマイズを行うことができるのに加え、ユーザがワークフロー管理システムから作業開始を行わずに業務アプリ３０を操作する場合でも、ユーザが行う業務アプリ３０操作に関連するワークフローを推測し、そのワークフローの状態に応じたカスタマイズを施すことができるからである。
【０２６７】
以上のように、本発明の業務管理装置は、一連の業務手順と各作業における外部システム操作を管理する業務管理装置について、業務手順を管理するワークフロー管理手段と、業務定義を管理する業務定義管理手段と、外部のユーザインタフェースを表示するブラウザと外部システムの間の通信を転送しつつカスタマイズを行うアプリカスタマイズ手段とを備える。
【０２６８】
業務定義管理手段は、ワークフロー定義として作業毎の起動アプリ名とカスタマイズ名を保持し、更に、カスタマイズ定義としてカスタマイズ名とカスタマイズ記述を保持する。
【０２６９】
ワークフロー管理手段は、作業開始時に業務定義管理手段に保持された開始作業の起動アプリ名の表示をブラウザに通知すると同時にアプリカスタマイズ手段にカスタマイズ名の設定を指示する。
【０２７０】
アプリカスタマイズ手段は、ブラウザと外部システムの間の通信に対して、設定されたカスタマイズ名に対応するカスタマイズ記述を実行することで通信に変更を加える。
【０２７１】
また、アプリカスタマイズ手段は、カスタマイズ実行機能として表示変更手段を持つ。
【０２７２】
また、アプリカスタマイズ手段は、カスタマイズ実行機能として自動実行手段を持つ。
【０２７３】
また、アプリカスタマイズ手段は、カスタマイズ実行機能として操作禁止手段を持つ。
【０２７４】
また、業務管理装置は、業務状態管理手段を更に持つ。アプリカスタマイズ手段は、カスタマイズ実行機能として状態取得手段を持つ。
【０２７５】
業務定義管理手段は、業務推定定義を更に持つ。アプリカスタマイズ手段は、通信受信時に、実行中の少なくとも一つのワークフローの中の一つを選択し、そのワークフロー用のカスタマイズを実行する。
【０２７６】
アプリカスタマイズ手段は、カスタマイズ決定処理とカスタマイズ実行処理を、ブラウザに接続されたブラウザ制御手段で行う。
【０２７７】
業務定義管理手段は、前記カスタマイズ定義のカスタマイズ記述を、ユーザ毎に管理する。
【０２７８】
本発明によれば、既存の業務アプリを用いた作業や業務の管理や支援といった用途に適用できる。
【０２７９】
また、既存の業務アプリに実装されている業務手順に対して、承認作業を追加するといった業務手順のカスタマイズを行う用途にも適用できる。
【０２８０】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【０２８１】
１０…  業務管理装置
１１…  ワークフロー管理部
１２…  業務定義管理部
１２１…  ワークフロー定義
１２２…  カスタマイズ定義
１２３…  業務推定定義
１３…  アプリカスタマイズ部
１３１…  カスタマイズ状態管理部
１３１１…  カスタマイズ状態
１３２…  カスタマイズ決定部
１３３…  カスタマイズ実行部
１３３１…  表示変更部
１３３２…  自動実行部
１３３３…  操作禁止部
１３３４…  状態取得部
１４…  業務状態管理部
１４１…  業務状態
２０…  ブラウザ
２１…  ブラウザ制御部
２１１…  カスタマイズ決定部
２１２…  カスタマイズ実行部
３０（−ｉ、ｉ＝１〜ｎ）…  業務アプリ
１００…  業務管理Ｗｅｂシステム
２００…  Ｗｅｂブラウザ
３００…  設備発注システム
【図１】
2010205184.tif 000003
【図２】
2010205184.tif 000004
【図３】
2010205184.tif 000005
【図４】
2010205184.tif 000006
【図５】
2010205184.tif 000007
【図６】
2010205184.tif 000008
【図７】
2010205184.tif 000009
【図８】
2010205184.tif 000010
【図９】
2010205184.tif 000011
【図１０】
2010205184.tif 000012
【図１１】
2010205184.tif 000013
【図１２】
2010205184.tif 000014
【図１３】
2010205184.tif 000015
【図１４】
2010205184.tif 000016
【図１５】
2010205184.tif 000017
【図１６】
2010205184.tif 000018
【図１７】
2010205184.tif 000019
【図１８】
2010205184.tif 000020
【図１９】
2010205184.tif 000021
【図２０】
2010205184.tif 000022
【図２１】
2010205184.tif 000023
【図２２Ａ】
2010205184.tif 000024
【図２２Ｂ】
2010205184.tif 000025
【図２３】
2010205184.tif 000026
【図２４】
2010205184.tif 000027
【図２５】
2010205184.tif 000028
【図２６】
2010205184.tif 000029
【図２７】
2010205184.tif 000030