(57)【要約】【課題】１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理に実行でき、保守性及び生産性の低下を阻止する。【解決手段】業務処理プログラム２１０をリアルタイム処理により実行する共通フレームワーク２２０の実行制御部２２１と、業務処理プログラム２１０をバックグラウンド処理により実行するバックグラウンド処理実行部２４０の実行制御部２４２とにより、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行する。【選択図】  図１
2008276614.tif 000002
【特許請求の範囲】
【請求項１】
データベース装置と、前記データベース装置を読出／書込可能なアプリケーションサーバ装置とを備えたＷｅｂアプリケーションシステムであって、
前記データベース装置は、
前記アプリケーションサーバ装置によりバックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ＩＤ及びこの機能ＩＤに対応するボタンＩＤが互いに関連付けられて予め記憶されたバックグラウンド対象記憶手段と、
実行データ、機能ＩＤ、ボタンＩＤ及びバックグラウンド処理指示情報を含む第１実行指示情報を少なくとも記憶する実行指示情報記憶手段とを備えており、
前記アプリケーションサーバ装置は、
前記第１実行指示情報、又は実行データ、機能ＩＤ、ボタンＩＤ及びリアルタイム処理指示情報を含む第２実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第１判定手段と、
前記受信した実行指示情報に含まれる機能ＩＤ及びボタンＩＤが、前記バックグラウンド対象記憶手段内の機能ＩＤ及びボタンＩＤに一致するか否かを判定する第２判定手段と、
前記第１判定手段及び前記第２判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、
前記第１判定手段及び前記第２判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第１実行指示情報を前記実行指示情報記憶手段に保存する手段と、
前記第１実行指示情報を保存した旨を当該第１実行指示情報の送信元に通知する手段と、
前記通知の後、バックグラウンド処理により、前記実行指示情報記憶手段から前記第１実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、
前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、
を備えたことを特徴とするＷｅｂアプリケーションシステム。
【請求項２】
請求項１に記載のＷｅｂアプリケーションシステムにおいて、
前記第１実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、
前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、
前記バックグラウンド実行手段は、
前記実行指示情報記憶手段内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段と、
前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段と、
を備えたことを特徴とするＷｅｂアプリケーションシステム。
【請求項３】
バックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ＩＤ及びこの機能ＩＤに対応するボタンＩＤが互いに関連付けられて予め記憶されており、且つ実行データ、機能ＩＤ、ボタンＩＤ及びバックグラウンド処理指示情報を含む第１実行指示情報を少なくとも記憶するデータベース装置に対し、
前記データベース装置を読出／書込可能なアプリケーションサーバ装置であって、
前記業務処理プログラムが記憶された業務処理プログラム記憶手段と、
前記第１実行指示情報、又は実行データ、機能ＩＤ、ボタンＩＤ及びリアルタイム処理指示情報を含む第２実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第１判定手段と、
前記受信した実行指示情報に含まれる機能ＩＤ及びボタンＩＤが、前記データベース装置内の機能ＩＤ及びボタンＩＤに一致するか否かを判定する第２判定手段と、
前記第１判定手段及び前記第２判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、
前記第１判定手段及び前記第２判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第１実行指示情報を前記データベース装置に保存する手段と、
前記第１実行指示情報を保存した旨を当該第１実行指示情報の送信元に通知する手段と、
前記通知の後、バックグラウンド処理により、前記データベース装置から前記第１実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、
前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、
を備えたことを特徴とするアプリケーションサーバ装置。
【請求項４】
請求項３に記載のアプリケーションサーバ装置において、
前記第１実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、
前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、
前記バックグラウンド実行手段は、
前記データベース装置内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段と、
前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段と、
を備えたことを特徴とするアプリケーションサーバ装置。
【請求項５】
バックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ＩＤ及びこの機能ＩＤに対応するボタンＩＤが互いに関連付けられて予め記憶されており、且つ実行データ、機能ＩＤ、ボタンＩＤ及びバックグラウンド処理指示情報を含む第１実行指示情報を少なくとも記憶するデータベース装置に対し、
前記業務処理プログラムが記憶されたメモリを有し、前記データベース装置を読出／書込可能なアプリケーションサーバ装置に用いられるプログラムであって、
前記アプリケーションサーバ装置のコンピュータを、
前記第１実行指示情報、又は実行データ、機能ＩＤ、ボタンＩＤ及びリアルタイム処理指示情報を含む第２実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第１判定手段、
前記受信した実行指示情報に含まれる機能ＩＤ及びボタンＩＤが、前記バックグラウンド対象記憶手段内の機能ＩＤ及びボタンＩＤに一致するか否かを判定する第２判定手段、
前記第１判定手段及び前記第２判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段、
前記第１判定手段及び前記第２判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第１実行指示情報を前記データベース装置に保存する手段、
前記第１実行指示情報を保存した旨を当該第１実行指示情報の送信元に通知する手段、
前記通知の後、バックグラウンド処理により、前記データベース装置から前記第１実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段、
前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段、
として機能させるためのプログラム。
【請求項６】
請求項５に記載のプログラムにおいて、
前記第１実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、
前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、
前記バックグラウンド実行手段は、
前記データベース装置内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段、
前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段、
を含んでいるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂアプリケーションシステム、装置及びプログラムに係り、例えば、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止し得るＷｅｂアプリケーションシステム、装置及びプログラムに関する。
【背景技術】
【０００２】
通常、Ｗｅｂアプリケーションでは、画面から処理の実行指示が入力された後、アプリケーションサーバによる処理の実行が終了するまで利用者が画面の前で待つ必要がある。
【０００３】
このように実行指示に対し即時に処理を実行し、実行結果を返す処理をリアルタイム処理と呼ぶ。リアルタイム処理では処理の終了まで待つ必要があるので、短時間で終了する処理の場合には問題ないが、長時間に及ぶ処理の場合には、待ち時間が長いことや、待ち時間中に他の処理を実行できないといった問題が生じる。
【０００４】
この問題を解決するために、待ち時間が長くなる場合には、画面から実行指示用のデータのみ作成し、実際の処理はアプリケーションサーバのバッチ処理にて実行する方法が知られている（具体例としては、特許文献１参照。）。この方法では、利用者が画面から処理の実行指示を入力すると、その実行指示の情報のみを作成し、実行指示の情報が登録されたことを画面に表示する。
【０００５】
その後、アプリケーションサーバは、登録した実行指示情報を参照し、バッチ処理を実行する。このように、実行指示の入力とは非同期に実行されるバッチ処理をバックグラウンド処理と呼ぶ。このようなバックグラウンド処理によれば、リアルタイム処理の問題が解決される。
【特許文献１】特開２００３−３１６５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、以上のようなバックグラウンド処理を実現する場合、リアルタイム処理用と別にバックグラウンド処理用のプログラムを作成する必要が生じる。
【０００７】
すなわち、同一の業務処理でリアルタイム処理用とバックグラウンド処理用の２つのプログラムが必要となるので、プログラムの保守性、生産性が著しく低下してしまう。
【０００８】
本発明は上記実情を考慮してなされたもので、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止し得るＷｅｂアプリケーションシステム、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、データベース装置と、前記データベース装置を読出／書込可能なアプリケーションサーバ装置とを備えたＷｅｂアプリケーションシステムであって、前記データベース装置としては、前記アプリケーションサーバ装置によりバックグラウンド処理で実行される業務処理プログラムの各機能を機能ＩＤ及びこの機能ＩＤに対応するボタンＩＤが互いに関連付けられて予め記憶されたバックグラウンド対象記憶手段と、実行データ、機能ＩＤ、ボタンＩＤ及びバックグラウンド処理指示情報を含む第１実行指示情報を少なくとも記憶する実行指示情報記憶手段とを備えており、前記アプリケーションサーバ装置としては、前記業務処理プログラムが記憶された業務処理プログラム記憶手段と、前記第１実行指示情報、又は実行データ、機能ＩＤ、ボタンＩＤ及びリアルタイム処理指示情報を含む第２実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第１判定手段と、前記受信した実行指示情報に含まれる機能ＩＤ及びボタンＩＤが、前記バックグラウンド対象記憶手段内の機能ＩＤ及びボタンＩＤに一致するか否かを判定する第２判定手段と、前記第１判定手段及び前記第２判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、前記第１判定手段及び前記第２判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第１実行指示情報を前記実行指示情報記憶手段に保存する手段と、前記第１実行指示情報を保存した旨を当該第１実行指示情報の送信元に通知する手段と、前記通知の後、バックグラウンド処理により、前記実行指示情報記憶手段から前記第１実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、を備えたＷｅｂアプリケーションシステムである。
【００１０】
なお、第１の発明は、各装置の集合体を「システム」として表現したが、これに限らず、各装置の集合体又は各装置を「装置」、「プログラム」、「プログラムを記憶したコンピュータ読み取り可能な記憶媒体」又は「方法」として表現してもよいことは言うまでもない。
【００１１】
（作用）
第１の発明では、業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段とを備えた構成により、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止することができる。
【発明の効果】
【００１２】
以上説明したように本発明によれば、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理に実行でき、保守性及び生産性の低下を阻止できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００１４】
（第１の実施形態）
図１は本発明の第１の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図であり、図２は同システムに用いられるデータベース装置の構成を示す模式図である。このＷｅｂアプリケーションシステムは、データベース装置１００、アプリケーションサーバ装置２００及びクライアント装置３００が互いにネットワークを介して接続されている。
【００１５】
ここで、データベース装置１００は、アプリケーションサーバ装置２００から読出／書込可能な記憶装置であり、実行指示データＤ１、バックグラウンド対象データＤ２及び業務処理関連情報Ｄ３が記憶される。
【００１６】
実行指示データＤ１は、図２に示すように、指示ＩＤ、指示日付、ユーザＩＤ、機能ＩＤ、ボタンＩＤ及びタイミングフラグを含む実行機能指示情報Ｄ１−１と、この指示情報Ｄ１−１の指示ＩＤと同一の指示ＩＤ及び実行データを含む実行条件指示情報Ｄ１−２とから構成される。なお、２つの指示情報Ｄ１−１，Ｄ１−２は、一つの指示情報にまとめてもよい。また、業務処理プログラムの内容によっては、指示日付及びユーザＩＤを省略してもよい。
【００１７】
指示ＩＤは、例えば図３に一例を示すように、クライアント装置３００に表示された入力画面Ｇ１において、チェックボックスｇ１の選択によりバックグラウンド処理を示すＢＧコードと、ラジオボタンｇ２の選択による実行指示の場合の連続番号０００１とが連結されたものである。但し、ＢＧコードは指示ＩＤとは別の項目で設けてもよい。また、チェックボックスｇ１が選択されない場合、ＢＧコードに代えて、リアルタイム処理を示すＲＴコードが連結されるが、ＲＴコードを含む指示ＩＤの実行指示データは、リアルタイム処理で実行されるため、データベース装置１００に記憶されることはない。すなわち、データベース装置１００には、少なくとも実行データ、機能ＩＤ、ボタンＩＤ及びＲＴコード（リアルタイム処理指示情報）を含む第２の実行指示データと、少なくとも実行データ、機能ＩＤ、ボタンＩＤ及びＢＧコード（バックグラウンド処理指示情報）を含む第１の実行指示データＤ１との２種類の実行指示データのうち、第１の実行指示データＤ１がアプリケーションサーバ装置２００を介して記憶される。なお、ラジオボタンｇ２に代えて、ラジオボタンｇ３が選択された場合、実行指示データＤ１は、タイミングフラグに「バックグラウンド処理をバッチ処理で実行する」ための情報“０”が設定された状態でデータベース装置１００に保存される。また、ラジオボタンｇ２が選択された場合、実行指示データＤ１は、タイミングフラグに「バックグラウンド処理を即時実行する」ための情報“１”が設定された状態でデータベース装置１００に保存される。なお、ラジオボタンｇ３で選択したバッチ処理のための情報を“１”とし、ラジオボタンｇ２で選択した即時実行のための情報を“０”としてもよい。また、タイミングフラグは必ずしも必要ではなく、省略してもよい。例えば、バックグラウンド処理を実行するタイミングが予め即時実行又はバッチ処理のいずれかに決まっている場合、タイミングフラグを省略できる。また、ここでいうバッチ処理とはバックグラウンド処理で実行され、かつ、バックグラウンド処理の即時実行ではない処理として位置付けるものとする。例えば、バッチ処理は、実行指示データＤ１が作成されて数時間後にバックグラウンド処理で実行されるものとする。当該数時間という情報はＤ１−１に図示していない区分欄などに含まれている場合やＣＰＵ２７０によるバックグラウンド処理のプログラムにて予め示されている場合などが考えられる。
【００１８】
指示日付は、実行指示データＤ１を作成した日付を示す情報であり、クライアント装置３００により付加される。
【００１９】
ユーザＩＤは、入力画面Ｇ１を操作している利用者を示すＩＤであり、例えばログイン時に入力したユーザＩＤが用いられる。ここでいうユーザＩＤ（例、給与会計の担当者）は、後述する業務処理関連情報内のユーザＩＤ（例、給与が支給される社員）とは異なる値の場合が多いが、同一の値の場合もある。
【００２０】
機能ＩＤ及びボタンＩＤは、各ボタンｇ４〜ｇ６に予め割り付けられており、図３の例では印刷ボタンｇ４の選択に基づいて、帳票出力機能を示す“ＡＡＡ”が機能ＩＤに設定されると共に、印刷ボタンｇ４を示す“ＢＵＴＴＯＮ０１”がボタンＩＤに設定される。なお、取消しボタンｇ６を選択した場合、バックグラウンド処理のチェックボックスｇ１を選択していても、取消処理がリアルタイム処理で実行される。これは後述するバックグラウンド対象データＤ２の中に取消処理が含まれていないためである。
【００２１】
実行データは、実行指示の実行条件を示すものであり、図３の例では、支給年月の範囲ｇ７〜ｇ８と、付加するコメントｇ９とが用いられている。また、実行データの実例としては、Java（登録商標）のインスタンスのバイナリがあり、このバイナリをデータベースのＢＬＯＢというバイナリデータとして登録している。
【００２２】
バックグラウンド対象データＤ２は、バックグラウンド処理の対象処理を判断するためのメタデータであり、具体的には、アプリケーションサーバ装置２００により実行される業務処理プログラム２１０の各機能を示す機能ＩＤのうち、バックグラウンド処理の対象である機能を示す機能ＩＤと、この機能ＩＤに対応するボタンＩＤと、機能ＩＤに対応する処理名称とが互いに関連付けられて予め記憶されている。なお、バックグラウンド対象データＤ２としては、実行指示データＤ１と比較される機能ＩＤ及びボタンＩＤがあればよいので、処理名称は省略してもよい。
【００２３】
業務処理関連情報Ｄ３は、業務処理プログラム２１０の実行に必要な各種のデータであり、業務処理プログラム２１０の処理内容に応じて任意の情報が使用可能となっている。
【００２４】
業務処理関連情報Ｄ３は、図２の例では、アルバイト社員の給料の支給明細書を作成して帳票出力する業務処理の関連情報として、アルバイト社員の個人を識別するユーザＩＤ、ユーザ名、所属、連絡先及び時給金額を含むユーザ個人情報Ｄ３−１と、アルバイト社員の勤務記録に関する日付情報、出退勤時刻及び実働時間（＝（退勤時刻−出勤時刻）−所定の休憩時間）を含む勤務記録情報Ｄ３−２と、アルバイト社員の給与の支給年月、累積実働時間及び月給金額（＝時給金額×累積実働時間）を含む支給明細情報とから構成されている。なお、ユーザ個人情報Ｄ３−１、勤務記録情報Ｄ３−２及び支給明細情報Ｄ３−３は、互いに同一値のユーザＩＤにより関連付けられている。これらユーザ個人情報Ｄ３−１、勤務記録情報Ｄ３−２及び支給明細情報Ｄ３−３は、一つの業務処理関連情報Ｄ３にまとめてもよい。また、各情報Ｄ３−１，Ｄ３−２，Ｄ３−３は、それぞれテーブル情報であり、実際には複数のユーザに関する内容がユーザＩＤ毎に記録されている。
【００２５】
アプリケーションサーバ装置２００は、業務処理プログラム２１０、共通フレームワーク２２０、アプリケーションプログラム２３０及びバックグラウンド処理実行部２４０といった各プログラム２１０〜２４０や処理中のデータ等を記憶する主メモリとしての記憶部２５０と、前述した各プログラム２１０〜２４０を記憶する補助メモリとしてのＨＤＤ（hard disk drive）装置と、前述した各プログラム２１０〜２４０を実行するＣＰＵ２７０とを備えている。
【００２６】
ここで、業務処理プログラム２１０は、共通フレームワーク２２０上で動作するＷｅｂアプリケーションであり、チェック処理部２１１及び実行処理部２１２からなる処理部と、実行データ２１３を保持するデータ保持部とから構成される。なお、業務処理プログラム２１０が対象とする業務処理の内容は、実行指示データと、業務処理関連情報Ｄ３とに基づいてＣＰＵ２７０が実行可能な処理であれば、任意の処理が適用可能となっている。
【００２７】
チェック処理部２１１は、共通フレームワーク２２０又はバックグラウンド処理実行部２４０の処理により受けた実行データの形式（例、支給年月の桁数や範囲など）をチェックするチェック処理手段、チェック後の実行データ２１３をデータ保持部に書き込む書込手段、としてサーバ装置２００を機能させるためのプログラムである。
【００２８】
実行処理部２１２は、共通フレームワーク２２０又はバックグラウンド処理実行部２４０の処理により実行制御され、データ保持部内の実行データ２１３及びデータベース装置１００内の業務処理関連情報Ｄ３に基づいて業務処理を実行処理する実行処理手段、実行結果をクライアント装置３００に出力する出力手段、としてサーバ装置２００を機能させるためのプログラムである。なお、実行処理としては、例えば、実行データ２１３内の支給年月に基づいて、業務処理関連情報Ｄ３におけるユーザ個人情報Ｄ３−１内のユーザＩＤ毎に、支給年月に該当する日付情報をもつ勤務記録情報Ｄ３−２の出退勤時刻及び所定の休憩時間に基づいて１日の実働時間を算出する処理と、この実働時間を支給年月内で累積して累積実働時間を算出する処理と、この累積実働時間にユーザ個人情報Ｄ３−１内の時給金額を掛け算して月給金額を算出する処理と、算出した実働時間、累積実働時間及び月給金額で業務処理関連情報Ｄ３を更新する処理と、更新後に、例えば図４に示すように、業務処理関連情報Ｄ３におけるユーザ個人情報Ｄ３−１内の所属、ユーザ名及び時給金額と、支給明細情報Ｄ３−３内の累積実働時間及び月給金額と、実行データ２１３内の支給年月及びコメントとを含む支給明細書データＤ４を作成する処理とを含んでいる。この場合、クライアント装置３００に出力される実行結果は、支給明細書データＤ４である。
【００２９】
共通フレームワーク２２０は、アプリケーションコンテナ２３０上で動作するＷｅｂアプリケーションであり、業務処理プログラム２１０の実行を制御する実行制御部２２１及び、バックグラウンド処理の実行指示データＤ１を保存するためのデータ保存処理部２２２から構成される。
【００３０】
実行制御部２２１は、クライアント装置３００から第１及び第２の実行指示データのうちのいずれかの実行指示データを受信すると、当該受信した実行指示データがＢＧコード（バックグラウンド処理指示情報）を含むか否かを判定する第１判定手段、受信した実行指示データに含まれる機能ＩＤ及びボタンＩＤが、データベース装置１００に記憶されたバックグラウンド対象データＤ２内の機能ＩＤ及びボタンＩＤに一致するか否かを判定する第２判定手段、第１判定手段及び第２判定手段のうち、少なくとも一方の判定結果が否の場合には、受信した実行指示データに基づいて、業務処理プログラム２１０をリアルタイム処理により実行するリアルタイム実行手段、としてアプリケーションサーバ装置２００を機能させるためのプログラムである。
【００３１】
データ保存処理部２２２は、実行制御部２２１における第１判定手段及び第２判定手段による判定結果が両者とも否でない場合には、受信した実行指示データである第１の実行指示データＤ１をデータベース装置１００に保存する手段、第２の実行指示データＤ１を保存した旨を当該第１の実行指示データＤ１の送信元であるクライアント装置３００に通知する手段、としてアプリケーションサーバ装置２００を機能させるためのプログラムである。
【００３２】
アプリケーションコンテナ２３０は、Ｗｅｂアプリケーションを実行する際に必要なソフトウェアであり、一般的な構成要素である。アプリケーションコンテナとしては、例えば、サーブレットコンテナがある。サーブレットコンテナは、サーブレットを実行及び管理するソフトウェアであり、例えば、以下のＵＲＬに説明されている。
【００３３】
http://otndnld.oracle.co.jp/document/products/as10g/1012/doc_v1/web.1012/B15632-01/tecbkgnd.html
バックグラウンド処理実行部２４０は、データベース装置１００に保存されたデータを呼び出すための保存データ呼出し部２４１、業務処理の実行を制御する実行制御部２４２、アプリケーションコンテナ２３０を仮想的に実現する仮想コンテナ２４３から構成される。
【００３４】
保存データ呼出し部２４１は、共通フレームワーク２２０のデータ保存処理部２２２による通知の後、バックグラウンド処理により、データベース装置１００から第１の実行指示データＤ１に含まれる実行データを呼び出す実行データ呼出し手段、としてアプリケーションサーバ装置２００を機能させるためのプログラムである。
【００３５】
実行制御部２４２は、呼び出した実行データに基づいて、業務処理プログラム２１０をバックグラウンド処理により実行するバックグラウンド実行手段、としてアプリケーションサーバ装置２００を機能させるためのプログラムである。
【００３６】
仮想コンテナ２４３は、バックグラウンド処理の実行時に仮想的なアプリケーションコンテナとして機能するものであり、具体的には、セッション（Session）と呼ばれるメモリ領域やそのメモリ領域に対する操作処理を実現する機能をもっている。なお、仮想コンテナ２４３が必要な理由は、通常、Ｗｅｂアプリケーションではセッションと呼ばれるメモリ領域にデータを保存するが、バックグラウンド実行時にはこのセッションが存在しないためである。
【００３７】
クライアント装置３００は、通常のパーソナルコンピュータ装置であり、本実施形態に関係する機能としては例えば、利用者の操作により、アプリケーションサーバ装置２００に接続し、各業務処理の実行指示データを送信する機能と、アプリケーションサーバ装置２００から受信した実行結果を表示する機能と、図示しないプリンタにより、この実行結果を出力する機能とをもっている。
【００３８】
次に、以上のように構成されたＷｅｂアプリケーションシステムの動作を図５のフローチャート及び図６の模式図を参照しながら説明する。
【００３９】
アプリケーションサーバ装置２００においては、ＣＰＵ２７０の実行により、アプリケーションコンテナ２３０及び共通フレームワーク２２０が動作中であるとする。
【００４０】
このとき、クライアント装置３００は、利用者の操作により、アプリケーションサーバ装置２００に接続し、図３に示したように、入力画面Ｇ１から業務処理プログラム２１０に対する実行指示データを作成し、この実行指示データをアプリケーションサーバ装置２００に送信する。
【００４１】
アプリケーションサーバ装置２００においては、ＣＰＵ２７０が共通フレームワーク２２０の実行制御部２２１の実行により、図５（ａ）に示すように、実行指示データを受信すると（ＳＴ１）、受信した実行指示データがＢＧコード（バックグラウンド処理指示情報）を含むか否か（バックグラウンド処理の指示か否か）を判定し（ＳＴ２）、否の場合にはチェック処理を実行し（ＳＴ３）、業務処理プログラム２１０をリアルタイム処理により実行する（ＳＴ４）。
【００４２】
一方、ステップＳＴ２の判定の結果、ＢＧコードを含む場合、ＣＰＵ２７０は、受信した実行指示データに含まれる機能ＩＤ及びボタンＩＤが、データベース装置１００に記憶されたバックグラウンド対象データＤ２内の機能ＩＤ及びボタンＩＤに一致するか否か（バックグラウンド処理の対象処理か否か）を判定し、否の場合には前述同様にリアルタイム処理のステップＳＴ３，ＳＴ４を実行する。なお、ステップＳＴ２とＳＴ５とは、実行する順序を互いに入れ替えてもよく、このことは以下の各実施形態でも同様である。
【００４３】
また、ステップＳＴ５の判定の結果、バックグラウンド対象データＤ２内の機能ＩＤ及びボタンＩＤに一致した場合、ＣＰＵ２７０は、業務処理プログラム２１０のチェック処理部２１１の実行により、実行指示データ内の実行データについてのチェック処理を実行する（ＳＴ６）。
【００４４】
しかる後、ＣＰＵ２７０は、共通フレームワーク２２０のデータ保存処理部２２２の実行により、受信した実行指示データＤ１をデータベース装置１００に保存し（ＳＴ７）、実行指示データＤ１を保存した旨をクライアント装置３００に通知する（ＳＴ８）。
【００４５】
この通知の後、ＣＰＵ２７０は、実行指示データＤ１−１のタイミングフラグに基づいて、バックグラウンド処理を即時実行又はバッチ処理により実行する。ここで、ＣＰＵ２７０は、図５（ｂ）に示すように、バックグラウンド処理実行部２４０の保存データ呼出し部２４１の実行により、データベース装置１００から実行指示データＤ１に含まれる実行データを呼び出し（ＳＴ９）、業務処理プログラム２１０のデータ保持部に実行データ２１３を書き込む。
【００４６】
また、ＣＰＵ２７０は、バックグラウンド処理実行部２４０の実行制御部２４２の実行により、この呼び出されて書き込まれた実行データに基づいて、業務処理プログラム２１０の実行処理部２１２をバックグラウンド処理により実行する（ＳＴ１０）。
【００４７】
このように、ステップＳＴ４のリアルタイム処理と、ステップＳＴ１０のバックグラウンド処理とを一つの業務処理プログラム２１０で実現することができる。
【００４８】
また、ステップＳＴ１０において、ＣＰＵ２７０は、例えば図４に示す如き、支給明細書データＤ４を実行結果として作成し、支給明細書データＤ４をクライアント装置３００に送信する。クライアント装置３００は、この支給明細書データＤ４を図示しないプリンタ等により出力する。
【００４９】
バックグラウンド処理の完了後、ＣＰＵ２７０は、業務処理プログラム２１０の実行を終了する。
【００５０】
上述したように本実施形態によれば、業務処理プログラム２１０をリアルタイム処理により実行する共通フレームワーク２２０の実行制御部２２１と、業務処理プログラム２１０をバックグラウンド処理により実行するバックグラウンド処理実行部２４０の実行制御部２４２とを備えた構成により、１つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止することができる。
【００５１】
すなわち、クライアントからの実行指示にあわせて、共通フレームワーク２２０によりリアルタイム処理の途中で業務の実行処理を横取りし、後続の処理を別プロセスのバックグラウンドで仮想的な動作環境上で動作させることにより、一つの業務処理プログラムで、バックグラウンド処理とリアルタイム処理の両方を実現することができる。
【００５２】
これにより、各業務処理でオンライン処理とバックグラウンド処理を別々に作成する必要が無く、一つの業務処理プログラム２１０でバックグラウンド処理とリアルタイム処理を実現することにより、プログラムの生産性及び保守性を大幅に向上できる。また、ユーザが処理の実行条件等にあわせてフレキシブルにオンライン処理とバッチ処理を選択して利用することができる。
【００５３】
（第２の実施形態）
図７は本発明の第２の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図であり、図１と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。
【００５４】
すなわち、本実施形態は、アプリケーションサーバ装置２００からバックグラウンド処理実行部２４０を分離して別の装置に設けた例であり、具体的には図７に示すように、アプリケーションサーバ装置２００からバックグラウンド処理実行部２４０を省略する一方、省略したバックグラウンド処理実行部２４０と同等のバックグラウンド処理実行部４４０のプログラムを記憶した記憶部４５０、ＨＤＤ装置４６０及びＣＰＵ４７０を備えたバックグラウンド処理管理サーバ装置４００を付加した構成となっている。
【００５５】
次に、以上のように構成されたＷｅｂアプリケーションシステムの動作を図８のフローチャート及び図９の模式図を参照しながら説明する。
【００５６】
Ｗｅｂアプリケーションシステムにおいては、アプリケーションサーバ装置２００が、前述同様にステップＳＴ１〜ＳＴ８を実行する。
【００５７】
ステップＳＴ８の後、バックグラウンド処理管理サーバ装置４００においては、ＣＰＵ４７０が、保存データ呼出し部４４１の実行により、データベース装置１００に保存された実行データを呼び出し（ＳＴ９’）、実行制御部４４２の実行により、アプリケーションサーバ装置２００内の業務プログラム２１０を実行するようにＣＰＵ２７０を制御する（ＳＴ１０’−１）。
【００５８】
これにより、ＣＰＵ２７０は、バックグラウンド処理により、業務プログラム２１０を実行する（ＳＴ１０’−２）。
【００５９】
上述したように本実施形態によれば、リアルタイム処理を実行するための共通フレームワーク２２０と、バックグラウンド処理を実行するためのバックグラウンド処理実行部４００とを別々のサーバ装置２００，４００に配置した構成に変形しても、第１の実施形態と同様の効果を得ることができる。
【００６０】
（第３の実施形態）
図１０は本発明の第３の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【００６１】
本実施形態は、第１の実施形態の変形例であり、具体的には図１０に示すように、バックグラウンド処理部２４０にスケジューリング処理部２４４を追加し、実行データに含まれる“支給年月”等の日付データを更新することにより、バックグラウンド処理を組み合わせて定期的なバッチ処理を実現可能とするものである。
【００６２】
これに伴い、実行指示データＤ１は、図１１及び図１２に示すように、指示ＩＤ、項目ＩＤ及び区分からなる更新指示情報Ｄ１−３を含むものとなっている。指示ＩＤは、前述同様のものである。項目ＩＤは、実行データに含まれる実行時間条件を示すＩＤであり、ここでは支給年月という実行時間条件を示す項目ＩＤが用いられている。区分は、バックグラウンド処理を定期的に実行する場合の実行周期情報である。この更新指示情報Ｄ１−３は、ここでは入力画面Ｇ２のチェックボックスｇ１０により設定されるが、これに限らず、入力画面Ｇ２からラジオボタン等で択一的に入力されてもよい。
【００６３】
また、バックグラウンド対象データＤ２は、図１１に示すように、前述した機能ＩＤ、ボタンＩＤ及び処理名称に加え、項目ＩＤが互いに関連付けられたものとなっている。
【００６４】
ここで、スケジューリング処理部２４４は、データベース装置１００内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する手段、更新した実行時間条件に基づいて、業務処理プログラム２１０をバックグラウンド処理により実行する手段、としてサーバ装置２００を機能させるためのプログラムである。これに伴い、実行結果としての支給明細書データＤ４は、例えば図１３に示すように、１ヶ月経過毎に支給年月が自動更新されながら作成される。
【００６５】
次に、以上のように構成されたＷｅｂアプリケーションシステムの動作を図１４のフローチャート及び図１５の模式図を参照しながら説明する。
【００６６】
アプリケーションサーバ装置２００においては、ＣＰＵ２７０の実行により、アプリケーションコンテナ２３０及び共通フレームワーク２２０が動作中であるとする。
【００６７】
このとき、クライアント装置３００は、利用者の操作により、アプリケーションサーバ装置２００に接続し、図１２に示したように、入力画面Ｇ２から業務処理プログラム２１０に対する実行指示データを作成し、この実行指示データをアプリケーションサーバ装置２００に送信する。
【００６８】
Ｗｅｂアプリケーションシステムにおいては、アプリケーションサーバ装置２００が、前述同様にステップＳＴ１〜ＳＴ８を実行する。
【００６９】
ステップＳＴ８の後、アプリケーションサーバ装置２００においては、ＣＰＵ２７０が、スケジューリング処理部２４４の実行により、データベース装置１００内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する（ＳＴ９−１）。
【００７０】
また、ＣＰＵ２７０は、保存データ呼出し部２４１の実行により、データベース装置１００から実行指示データＤ１に含まれる実行データを呼び出し（ＳＴ９−２）、業務処理プログラム２１０のデータ保持部に実行データ２１３を書き込む。
【００７１】
しかる後、ＣＰＵ２７０は、バックグラウンド処理実行部２４０の実行制御部２４２の実行により、この呼び出されて書き込まれた実行データの更新した実行時間条件に基づいて、業務処理プログラム２１０の実行処理部２１２をバックグラウンド処理により実行する（ＳＴ１０）。
【００７２】
このステップＳＴ１０において、ＣＰＵ２７０は、前述同様に、支給明細書データＤ４を実行結果として作成し、クライアント装置３００に送信する。クライアント装置３００は、前述同様に、支給明細書データＤ４を図示しないプリンタ等により出力する。
【００７３】
バックグラウンド処理の完了後、ＣＰＵ２７０は、バックグラウンドでステップＳＴ９−１、ＳＴ９−２及びＳＴ１０の処理を繰り返し実行する。これに伴い、実行結果としての支給明細書データＤ４は、例えば図１３に示すように、１ヶ月経過毎に支給年月が自動更新されながら作成され、クライアント装置３００に送信される。
【００７４】
上述したように本実施形態によれば、第１の実施形態の効果に加え、スケジュール処理部２４４により、バックグラウンド処理を定期的に実行することができる。
【００７５】
（第４の実施形態）
図１６は本発明の第４の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【００７６】
すなわち、本実施形態は、第３の実施形態に第２の実施形態を適用した例であり、具体的には図１６に示すように、アプリケーションサーバ装置２００からバックグラウンド処理実行部２４０を省略する一方、省略したバックグラウンド処理実行部２４０と同等のバックグラウンド処理実行部４４０のプログラムを記憶した記憶部４５０、ＨＤＤ装置４６０及びＣＰＵ４７０を備えたバックグラウンド処理管理サーバ装置４００を付加した構成となっている。
【００７７】
また、このバックグラウンド処理管理サーバ４００は、保存データ呼出し部４４１、実行制御部４４２及び仮想コンテナ４４３に加え、前述したスケジューリング処理部２４４と同等のスケジューリング処理部４４４を備えている。
【００７８】
次に、以上のように構成されたＷｅｂアプリケーションシステムの動作を図１７のフローチャート及び図１８の模式図を参照しながら説明する。
【００７９】
Ｗｅｂアプリケーションシステムにおいては、アプリケーションサーバ装置２００が、第３の実施形態と同様にステップＳＴ１〜ＳＴ８を実行する。
【００８０】
ステップＳＴ８の後、バックグラウンド処理管理サーバ装置４００においては、ＣＰＵ４７０が、スケジューリング処理部４４４の実行により、データベース装置１００内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する（ＳＴ９’−１）。
【００８１】
また、ＣＰＵ４７０は、保存データ呼出し部４４１の実行により、データベース装置１００から実行指示データＤ１に含まれる実行データを呼び出し（ＳＴ９’−２）、業務処理プログラム２１０のデータ保持部に実行データ２１３を書き込む。
【００８２】
しかる後、ＣＰＵ４７０は、実行制御部４４２の実行により、アプリケーションサーバ装置２００内の業務プログラム２１０を実行するようにＣＰＵ２７０を制御する（ＳＴ１０’−１）。
【００８３】
これにより、ＣＰＵ２７０は、バックグラウンド処理により、業務プログラム２１０を実行する（ＳＴ１０’−２）。
【００８４】
バックグラウンド処理の完了後、ＣＰＵ４７０，２７０は、バックグラウンドでステップＳＴ９−１、ＳＴ９−２及びＳＴ１０の処理を繰り返し実行する。
【００８５】
上述したように本実施形態によれば、スケジューリング処理部２４４を備えた第３の実施形態を、リアルタイム処理を実行するための共通フレームワーク２２０と、バックグラウンド処理を実行するためのバックグラウンド処理実行部４００とを別々のサーバ装置２００，４００に配置した構成に変形しても、第３の実施形態と同様の効果を得ることができる。
【００８６】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００８７】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００８８】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００８９】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００９０】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００９１】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００９２】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００９３】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【００９４】
【図１】本発明の第１の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【図２】同実施形態におけるデータベース装置の構成を示す模式図である。
【図３】同実施形態における実行指示データ及び入力画面の構成を説明するための模式図である。
【図４】同実施形態における実行結果を説明するための模式図である。
【図５】同実施形態における動作を説明するためのフローチャートである。
【図６】同実施形態における動作を説明するための模式図である。
【図７】本発明の第２の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【図８】同実施形態における動作を説明するためのフローチャートである。
【図９】同実施形態における動作を説明するための模式図である。
【図１０】本発明の第３の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【図１１】同実施形態におけるデータベース装置の構成を示す模式図である。
【図１２】同実施形態における実行指示データ及び入力画面の構成を説明するための模式図である。
【図１３】同実施形態における実行結果を説明するための模式図である。
【図１４】同実施形態における動作を説明するためのフローチャートである。
【図１５】同実施形態における動作を説明するための模式図である。
【図１６】本発明の第４の実施形態に係るＷｅｂアプリケーションシステムの構成を示す模式図である。
【図１７】同実施形態における動作を説明するためのフローチャートである。
【図１８】同実施形態における動作を説明するための模式図である。
【符号の説明】
【００９５】
１００…データベース装置、２００…アプリケーションサーバ装置、２１０…業務処理プログラム、２１１…チェック処理部、２１２…実行処理部、２１３…実行データ、２２０…共通フレームワーク、２２１，２４２，４４２…実行制御部、２２２…データ保存処理部、２３０…アプリケーションプログラム、２４０，４４０…バックグラウンド処理実行部、２４１，４４１…保存データ呼出し部、２４３，４４３…仮想コンテナ、２４４，４４４…スケジューリング処理部、２５０，４５０…記憶部、２６０，４６０…ＨＤＤ装置、２７０，４７０…ＣＰＵ、３００…クライアント装置、４００…バックグラウンド処理管理サーバ装置、Ｄ１…実行指示データ、Ｄ１−１…実行機能指示情報、Ｄ１−２…実行条件指示情報、Ｄ１−３…更新指示情報、Ｄ２…バックグラウンド対象データ、Ｄ３…業務処理関連情報、Ｄ３−１…ユーザ個人情報、Ｄ３−２…勤務記録情報、Ｄ３−３…支給明細情報、Ｄ４…支給明細書データ、Ｇ１，Ｇ２…入力画面、ｇ１，ｇ１０…チェックボックス、ｇ２，ｇ３…ラジオボタン、ｇ４〜ｇ６…ボタン、ｇ７，ｇ８…支給年月、ｇ９…コメント。
【図１】
2008276614.tif 000003
【図２】
2008276614.tif 000004
【図３】
2008276614.tif 000005
【図４】
2008276614.tif 000006
【図５】
2008276614.tif 000007
【図６】
2008276614.tif 000008
【図７】
2008276614.tif 000009
【図８】
2008276614.tif 000010
【図９】
2008276614.tif 000011
【図１０】
2008276614.tif 000012
【図１１】
2008276614.tif 000013
【図１２】
2008276614.tif 000014
【図１３】
2008276614.tif 000015
【図１４】
2008276614.tif 000016
【図１５】
2008276614.tif 000017
【図１６】
2008276614.tif 000018
【図１７】
2008276614.tif 000019
【図１８】
2008276614.tif 000020