図面 (/)

技術 Webアプリケーションシステム、装置及びプログラム

出願人 株式会社東芝東芝デジタルソリューションズ株式会社
発明者 冷水明近藤淳
出願日 2007年5月1日 (13年7ヶ月経過) 出願番号 2007-121051
公開日 2008年11月13日 (12年1ヶ月経過) 公開番号 2008-276614
状態 特許登録済
技術分野 ストアードプログラム制御 マルチプログラミング ストアードプログラム オンライン・システム ストアードプログラム
主要キーワード 実行指示データ タイミングフラグ 更新指示情報 アプリケーションコンテナ 実行指示情報 明細書データ サーブレットコンテナ 処理名称
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2008年11月13日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

1つの業務処理プログラムバックグラウンド処理及びリアルタイム処理に実行でき、保守性及び生産性の低下を阻止する。

解決手段

業務処理プログラム210をリアルタイム処理により実行する共通フレームワーク220の実行制御部221と、業務処理プログラム210をバックグラウンド処理により実行するバックグラウンド処理実行部240の実行制御部242とにより、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行する。

概要

背景

通常、Webアプリケーションでは、画面から処理の実行指示が入力された後、アプリケーションサーバによる処理の実行が終了するまで利用者が画面の前で待つ必要がある。

このように実行指示に対し即時に処理を実行し、実行結果を返す処理をリアルタイム処理と呼ぶ。リアルタイム処理では処理の終了まで待つ必要があるので、短時間で終了する処理の場合には問題ないが、長時間に及ぶ処理の場合には、待ち時間が長いことや、待ち時間中に他の処理を実行できないといった問題が生じる。

この問題を解決するために、待ち時間が長くなる場合には、画面から実行指示用のデータのみ作成し、実際の処理はアプリケーションサーバのバッチ処理にて実行する方法が知られている(具体例としては、特許文献1参照。)。この方法では、利用者が画面から処理の実行指示を入力すると、その実行指示の情報のみを作成し、実行指示の情報が登録されたことを画面に表示する。

その後、アプリケーションサーバは、登録した実行指示情報を参照し、バッチ処理を実行する。このように、実行指示の入力とは非同期に実行されるバッチ処理をバックグラウンド処理と呼ぶ。このようなバックグラウンド処理によれば、リアルタイム処理の問題が解決される。
特開2003−316547号公報

概要

1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理に実行でき、保守性及び生産性の低下を阻止する。業務処理プログラム210をリアルタイム処理により実行する共通フレームワーク220の実行制御部221と、業務処理プログラム210をバックグラウンド処理により実行するバックグラウンド処理実行部240の実行制御部242とにより、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行する。

目的

本発明は上記実情を考慮してなされたもので、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止し得るWebアプリケーションシステム、装置及びプログラムを提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

データベース装置と、前記データベース装置を読出書込可能なアプリケーションサーバ装置とを備えたWebアプリケーションシステムであって、前記データベース装置は、前記アプリケーションサーバ装置によりバックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ID及びこの機能IDに対応するボタンIDが互いに関連付けられて予め記憶されたバックグラウンド対象記憶手段と、実行データ、機能ID、ボタンID及びバックグラウンド処理指示情報を含む第1実行指示情報を少なくとも記憶する実行指示情報記憶手段とを備えており、前記アプリケーションサーバ装置は、前記第1実行指示情報、又は実行データ、機能ID、ボタンID及びリアルタイム処理指示情報を含む第2実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第1判定手段と、前記受信した実行指示情報に含まれる機能ID及びボタンIDが、前記バックグラウンド対象記憶手段内の機能ID及びボタンIDに一致するか否かを判定する第2判定手段と、前記第1判定手段及び前記第2判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、前記第1判定手段及び前記第2判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第1実行指示情報を前記実行指示情報記憶手段に保存する手段と、前記第1実行指示情報を保存した旨を当該第1実行指示情報の送信元通知する手段と、前記通知の後、バックグラウンド処理により、前記実行指示情報記憶手段から前記第1実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、を備えたことを特徴とするWebアプリケーションシステム。

請求項2

請求項1に記載のWebアプリケーションシステムにおいて、前記第1実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、前記バックグラウンド実行手段は、前記実行指示情報記憶手段内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段と、前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段と、を備えたことを特徴とするWebアプリケーションシステム。

請求項3

バックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ID及びこの機能IDに対応するボタンIDが互いに関連付けられて予め記憶されており、且つ実行データ、機能ID、ボタンID及びバックグラウンド処理指示情報を含む第1実行指示情報を少なくとも記憶するデータベース装置に対し、前記データベース装置を読出/書込可能なアプリケーションサーバ装置であって、前記業務処理プログラムが記憶された業務処理プログラム記憶手段と、前記第1実行指示情報、又は実行データ、機能ID、ボタンID及びリアルタイム処理指示情報を含む第2実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第1判定手段と、前記受信した実行指示情報に含まれる機能ID及びボタンIDが、前記データベース装置内の機能ID及びボタンIDに一致するか否かを判定する第2判定手段と、前記第1判定手段及び前記第2判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、前記第1判定手段及び前記第2判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第1実行指示情報を前記データベース装置に保存する手段と、前記第1実行指示情報を保存した旨を当該第1実行指示情報の送信元に通知する手段と、前記通知の後、バックグラウンド処理により、前記データベース装置から前記第1実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、を備えたことを特徴とするアプリケーションサーバ装置。

請求項4

請求項3に記載のアプリケーションサーバ装置において、前記第1実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、前記バックグラウンド実行手段は、前記データベース装置内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段と、前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段と、を備えたことを特徴とするアプリケーションサーバ装置。

請求項5

バックグラウンド処理で実行される業務処理プログラムの各機能を示す機能ID及びこの機能IDに対応するボタンIDが互いに関連付けられて予め記憶されており、且つ実行データ、機能ID、ボタンID及びバックグラウンド処理指示情報を含む第1実行指示情報を少なくとも記憶するデータベース装置に対し、前記業務処理プログラムが記憶されたメモリを有し、前記データベース装置を読出/書込可能なアプリケーションサーバ装置に用いられるプログラムであって、前記アプリケーションサーバ装置のコンピュータを、前記第1実行指示情報、又は実行データ、機能ID、ボタンID及びリアルタイム処理指示情報を含む第2実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第1判定手段、前記受信した実行指示情報に含まれる機能ID及びボタンIDが、前記バックグラウンド対象記憶手段内の機能ID及びボタンIDに一致するか否かを判定する第2判定手段、前記第1判定手段及び前記第2判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段、前記第1判定手段及び前記第2判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第1実行指示情報を前記データベース装置に保存する手段、前記第1実行指示情報を保存した旨を当該第1実行指示情報の送信元に通知する手段、前記通知の後、バックグラウンド処理により、前記データベース装置から前記第1実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段、前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段、として機能させるためのプログラム。

請求項6

請求項5に記載のプログラムにおいて、前記第1実行指示情報は、バックグラウンド処理を定期的に実行する場合の実行周期情報を含んでおり、前記実行データは、バックグラウンド処理の実行時間条件を含んでおり、前記バックグラウンド実行手段は、前記データベース装置内の実行データに含まれる実行時間条件を前記実行周期情報に基づいて定期的に更新する手段、前記更新した実行時間条件に基づいて、前記業務処理プログラムをバックグラウンド処理により実行する手段、を含んでいるプログラム。

技術分野

0001

本発明は、Webアプリケーションシステム、装置及びプログラム係り、例えば、1つの業務処理プログラムバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止し得るWebアプリケーションシステム、装置及びプログラムに関する。

背景技術

0002

通常、Webアプリケーションでは、画面から処理の実行指示が入力された後、アプリケーションサーバによる処理の実行が終了するまで利用者が画面の前で待つ必要がある。

0003

このように実行指示に対し即時に処理を実行し、実行結果を返す処理をリアルタイム処理と呼ぶ。リアルタイム処理では処理の終了まで待つ必要があるので、短時間で終了する処理の場合には問題ないが、長時間に及ぶ処理の場合には、待ち時間が長いことや、待ち時間中に他の処理を実行できないといった問題が生じる。

0004

この問題を解決するために、待ち時間が長くなる場合には、画面から実行指示用のデータのみ作成し、実際の処理はアプリケーションサーバのバッチ処理にて実行する方法が知られている(具体例としては、特許文献1参照。)。この方法では、利用者が画面から処理の実行指示を入力すると、その実行指示の情報のみを作成し、実行指示の情報が登録されたことを画面に表示する。

0005

その後、アプリケーションサーバは、登録した実行指示情報を参照し、バッチ処理を実行する。このように、実行指示の入力とは非同期に実行されるバッチ処理をバックグラウンド処理と呼ぶ。このようなバックグラウンド処理によれば、リアルタイム処理の問題が解決される。
特開2003−316547号公報

発明が解決しようとする課題

0006

しかしながら、以上のようなバックグラウンド処理を実現する場合、リアルタイム処理用と別にバックグラウンド処理用のプログラムを作成する必要が生じる。

0007

すなわち、同一の業務処理でリアルタイム処理用とバックグラウンド処理用の2つのプログラムが必要となるので、プログラムの保守性、生産性が著しく低下してしまう。

0008

本発明は上記実情を考慮してなされたもので、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止し得るWebアプリケーションシステム、装置及びプログラムを提供することを目的とする。

課題を解決するための手段

0009

第1の発明は、データベース装置と、前記データベース装置を読出書込可能なアプリケーションサーバ装置とを備えたWebアプリケーションシステムであって、前記データベース装置としては、前記アプリケーションサーバ装置によりバックグラウンド処理で実行される業務処理プログラムの各機能を機能ID及びこの機能IDに対応するボタンIDが互いに関連付けられて予め記憶されたバックグラウンド対象記憶手段と、実行データ、機能ID、ボタンID及びバックグラウンド処理指示情報を含む第1実行指示情報を少なくとも記憶する実行指示情報記憶手段とを備えており、前記アプリケーションサーバ装置としては、前記業務処理プログラムが記憶された業務処理プログラム記憶手段と、前記第1実行指示情報、又は実行データ、機能ID、ボタンID及びリアルタイム処理指示情報を含む第2実行指示情報のうちのいずれかの実行指示情報を受信すると、当該受信した実行指示情報がバックグラウンド処理指示情報を含むか否かを判定する第1判定手段と、前記受信した実行指示情報に含まれる機能ID及びボタンIDが、前記バックグラウンド対象記憶手段内の機能ID及びボタンIDに一致するか否かを判定する第2判定手段と、前記第1判定手段及び前記第2判定手段のうち、少なくとも一方の判定結果が否の場合には、前記受信した実行指示情報に基づいて、前記業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、前記第1判定手段及び前記第2判定手段による判定結果が両者とも否でない場合には、前記受信した実行指示情報である第1実行指示情報を前記実行指示情報記憶手段に保存する手段と、前記第1実行指示情報を保存した旨を当該第1実行指示情報の送信元通知する手段と、前記通知の後、バックグラウンド処理により、前記実行指示情報記憶手段から前記第1実行指示情報に含まれる実行データを呼び出す実行データ呼出し手段と、前記呼び出した実行データに基づいて、前記業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段と、を備えたWebアプリケーションシステムである。

0010

なお、第1の発明は、各装置の集合体を「システム」として表現したが、これに限らず、各装置の集合体又は各装置を「装置」、「プログラム」、「プログラムを記憶したコンピュータ読み取り可能な記憶媒体」又は「方法」として表現してもよいことは言うまでもない。

0011

(作用)
第1の発明では、業務処理プログラムをリアルタイム処理により実行するリアルタイム実行手段と、業務処理プログラムをバックグラウンド処理により実行するバックグラウンド実行手段とを備えた構成により、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止することができる。

発明の効果

0012

以上説明したように本発明によれば、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理に実行でき、保守性及び生産性の低下を阻止できる。

発明を実施するための最良の形態

0013

以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源ソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。

0014

(第1の実施形態)
図1は本発明の第1の実施形態に係るWebアプリケーションシステムの構成を示す模式図であり、図2は同システムに用いられるデータベース装置の構成を示す模式図である。このWebアプリケーションシステムは、データベース装置100、アプリケーションサーバ装置200及びクライアント装置300が互いにネットワークを介して接続されている。

0015

ここで、データベース装置100は、アプリケーションサーバ装置200から読出/書込可能な記憶装置であり、実行指示データD1、バックグラウンド対象データD2及び業務処理関連情報D3が記憶される。

0016

実行指示データD1は、図2に示すように、指示ID、指示日付、ユーザID、機能ID、ボタンID及びタイミングフラグを含む実行機能指示情報D1−1と、この指示情報D1−1の指示IDと同一の指示ID及び実行データを含む実行条件指示情報D1−2とから構成される。なお、2つの指示情報D1−1,D1−2は、一つの指示情報にまとめてもよい。また、業務処理プログラムの内容によっては、指示日付及びユーザIDを省略してもよい。

0017

指示IDは、例えば図3に一例を示すように、クライアント装置300に表示された入力画面G1において、チェックボックスg1の選択によりバックグラウンド処理を示すBGコードと、ラジオボタンg2の選択による実行指示の場合の連続番号0001とが連結されたものである。但し、BGコードは指示IDとは別の項目で設けてもよい。また、チェックボックスg1が選択されない場合、BGコードに代えて、リアルタイム処理を示すRTコードが連結されるが、RTコードを含む指示IDの実行指示データは、リアルタイム処理で実行されるため、データベース装置100に記憶されることはない。すなわち、データベース装置100には、少なくとも実行データ、機能ID、ボタンID及びRTコード(リアルタイム処理指示情報)を含む第2の実行指示データと、少なくとも実行データ、機能ID、ボタンID及びBGコード(バックグラウンド処理指示情報)を含む第1の実行指示データD1との2種類の実行指示データのうち、第1の実行指示データD1がアプリケーションサーバ装置200を介して記憶される。なお、ラジオボタンg2に代えて、ラジオボタンg3が選択された場合、実行指示データD1は、タイミングフラグに「バックグラウンド処理をバッチ処理で実行する」ための情報“0”が設定された状態でデータベース装置100に保存される。また、ラジオボタンg2が選択された場合、実行指示データD1は、タイミングフラグに「バックグラウンド処理を即時実行する」ための情報“1”が設定された状態でデータベース装置100に保存される。なお、ラジオボタンg3で選択したバッチ処理のための情報を“1”とし、ラジオボタンg2で選択した即時実行のための情報を“0”としてもよい。また、タイミングフラグは必ずしも必要ではなく、省略してもよい。例えば、バックグラウンド処理を実行するタイミングが予め即時実行又はバッチ処理のいずれかに決まっている場合、タイミングフラグを省略できる。また、ここでいうバッチ処理とはバックグラウンド処理で実行され、かつ、バックグラウンド処理の即時実行ではない処理として位置付けるものとする。例えば、バッチ処理は、実行指示データD1が作成されて数時間後にバックグラウンド処理で実行されるものとする。当該数時間という情報はD1−1に図示していない区分欄などに含まれている場合やCPU270によるバックグラウンド処理のプログラムにて予め示されている場合などが考えられる。

0018

指示日付は、実行指示データD1を作成した日付を示す情報であり、クライアント装置300により付加される。

0019

ユーザIDは、入力画面G1を操作している利用者を示すIDであり、例えばログイン時に入力したユーザIDが用いられる。ここでいうユーザID(例、給与会計担当者)は、後述する業務処理関連情報内のユーザID(例、給与が支給される社員)とは異なる値の場合が多いが、同一の値の場合もある。

0020

機能ID及びボタンIDは、各ボタンg4〜g6に予め割り付けられており、図3の例では印刷ボタンg4の選択に基づいて、帳票出力機能を示す“AAA”が機能IDに設定されると共に、印刷ボタンg4を示す“BUTTON01”がボタンIDに設定される。なお、取消しボタンg6を選択した場合、バックグラウンド処理のチェックボックスg1を選択していても、取消処理がリアルタイム処理で実行される。これは後述するバックグラウンド対象データD2の中に取消処理が含まれていないためである。

0021

実行データは、実行指示の実行条件を示すものであり、図3の例では、支給年月の範囲g7〜g8と、付加するコメントg9とが用いられている。また、実行データの実例としては、Java(登録商標)のインスタンスバイナリがあり、このバイナリをデータベースBLOBというバイナリデータとして登録している。

0022

バックグラウンド対象データD2は、バックグラウンド処理の対象処理を判断するためのメタデータであり、具体的には、アプリケーションサーバ装置200により実行される業務処理プログラム210の各機能を示す機能IDのうち、バックグラウンド処理の対象である機能を示す機能IDと、この機能IDに対応するボタンIDと、機能IDに対応する処理名称とが互いに関連付けられて予め記憶されている。なお、バックグラウンド対象データD2としては、実行指示データD1と比較される機能ID及びボタンIDがあればよいので、処理名称は省略してもよい。

0023

業務処理関連情報D3は、業務処理プログラム210の実行に必要な各種のデータであり、業務処理プログラム210の処理内容に応じて任意の情報が使用可能となっている。

0024

業務処理関連情報D3は、図2の例では、アルバイト社員の給料の支給明細書を作成して帳票出力する業務処理の関連情報として、アルバイト社員の個人識別するユーザID、ユーザ名、所属連絡先及び時給金額を含むユーザ個人情報D3−1と、アルバイト社員の勤務記録に関する日付情報出退勤時刻及び実働時間(=(退勤時刻出勤時刻)−所定の休憩時間)を含む勤務記録情報D3−2と、アルバイト社員の給与の支給年月、累積実働時間及び月給金額(=時給金額×累積実働時間)を含む支給明細情報とから構成されている。なお、ユーザ個人情報D3−1、勤務記録情報D3−2及び支給明細情報D3−3は、互いに同一値のユーザIDにより関連付けられている。これらユーザ個人情報D3−1、勤務記録情報D3−2及び支給明細情報D3−3は、一つの業務処理関連情報D3にまとめてもよい。また、各情報D3−1,D3−2,D3−3は、それぞれテーブル情報であり、実際には複数のユーザに関する内容がユーザID毎に記録されている。

0025

アプリケーションサーバ装置200は、業務処理プログラム210、共通フレームワーク220、アプリケーションプログラム230及びバックグラウンド処理実行部240といった各プログラム210〜240や処理中のデータ等を記憶する主メモリとしての記憶部250と、前述した各プログラム210〜240を記憶する補助メモリとしてのHDD(hard disk drive)装置と、前述した各プログラム210〜240を実行するCPU270とを備えている。

0026

ここで、業務処理プログラム210は、共通フレームワーク220上で動作するWebアプリケーションであり、チェック処理部211及び実行処理部212からなる処理部と、実行データ213を保持するデータ保持部とから構成される。なお、業務処理プログラム210が対象とする業務処理の内容は、実行指示データと、業務処理関連情報D3とに基づいてCPU270が実行可能な処理であれば、任意の処理が適用可能となっている。

0027

チェック処理部211は、共通フレームワーク220又はバックグラウンド処理実行部240の処理により受けた実行データの形式(例、支給年月の桁数や範囲など)をチェックするチェック処理手段、チェック後の実行データ213をデータ保持部に書き込む書込手段、としてサーバ装置200を機能させるためのプログラムである。

0028

実行処理部212は、共通フレームワーク220又はバックグラウンド処理実行部240の処理により実行制御され、データ保持部内の実行データ213及びデータベース装置100内の業務処理関連情報D3に基づいて業務処理を実行処理する実行処理手段、実行結果をクライアント装置300に出力する出力手段、としてサーバ装置200を機能させるためのプログラムである。なお、実行処理としては、例えば、実行データ213内の支給年月に基づいて、業務処理関連情報D3におけるユーザ個人情報D3−1内のユーザID毎に、支給年月に該当する日付情報をもつ勤務記録情報D3−2の出退勤時刻及び所定の休憩時間に基づいて1日の実働時間を算出する処理と、この実働時間を支給年月内で累積して累積実働時間を算出する処理と、この累積実働時間にユーザ個人情報D3−1内の時給金額を掛け算して月給金額を算出する処理と、算出した実働時間、累積実働時間及び月給金額で業務処理関連情報D3を更新する処理と、更新後に、例えば図4に示すように、業務処理関連情報D3におけるユーザ個人情報D3−1内の所属、ユーザ名及び時給金額と、支給明細情報D3−3内の累積実働時間及び月給金額と、実行データ213内の支給年月及びコメントとを含む支給明細書データD4を作成する処理とを含んでいる。この場合、クライアント装置300に出力される実行結果は、支給明細書データD4である。

0029

共通フレームワーク220は、アプリケーションコンテナ230上で動作するWebアプリケーションであり、業務処理プログラム210の実行を制御する実行制御部221及び、バックグラウンド処理の実行指示データD1を保存するためのデータ保存処理部222から構成される。

0030

実行制御部221は、クライアント装置300から第1及び第2の実行指示データのうちのいずれかの実行指示データを受信すると、当該受信した実行指示データがBGコード(バックグラウンド処理指示情報)を含むか否かを判定する第1判定手段、受信した実行指示データに含まれる機能ID及びボタンIDが、データベース装置100に記憶されたバックグラウンド対象データD2内の機能ID及びボタンIDに一致するか否かを判定する第2判定手段、第1判定手段及び第2判定手段のうち、少なくとも一方の判定結果が否の場合には、受信した実行指示データに基づいて、業務処理プログラム210をリアルタイム処理により実行するリアルタイム実行手段、としてアプリケーションサーバ装置200を機能させるためのプログラムである。

0031

データ保存処理部222は、実行制御部221における第1判定手段及び第2判定手段による判定結果が両者とも否でない場合には、受信した実行指示データである第1の実行指示データD1をデータベース装置100に保存する手段、第2の実行指示データD1を保存した旨を当該第1の実行指示データD1の送信元であるクライアント装置300に通知する手段、としてアプリケーションサーバ装置200を機能させるためのプログラムである。

0032

アプリケーションコンテナ230は、Webアプリケーションを実行する際に必要なソフトウェアであり、一般的な構成要素である。アプリケーションコンテナとしては、例えば、サーブレットコンテナがある。サーブレットコンテナは、サーブレットを実行及び管理するソフトウェアであり、例えば、以下のURLに説明されている。

0033

http://otndnld.oracle.co.jp/document/products/as10g/1012/doc_v1/web.1012/B15632-01/tecbkgnd.html
バックグラウンド処理実行部240は、データベース装置100に保存されたデータを呼び出すための保存データ呼出し部241、業務処理の実行を制御する実行制御部242、アプリケーションコンテナ230を仮想的に実現する仮想コンテナ243から構成される。

0034

保存データ呼出し部241は、共通フレームワーク220のデータ保存処理部222による通知の後、バックグラウンド処理により、データベース装置100から第1の実行指示データD1に含まれる実行データを呼び出す実行データ呼出し手段、としてアプリケーションサーバ装置200を機能させるためのプログラムである。

0035

実行制御部242は、呼び出した実行データに基づいて、業務処理プログラム210をバックグラウンド処理により実行するバックグラウンド実行手段、としてアプリケーションサーバ装置200を機能させるためのプログラムである。

0036

仮想コンテナ243は、バックグラウンド処理の実行時に仮想的なアプリケーションコンテナとして機能するものであり、具体的には、セッション(Session)と呼ばれるメモリ領域やそのメモリ領域に対する操作処理を実現する機能をもっている。なお、仮想コンテナ243が必要な理由は、通常、Webアプリケーションではセッションと呼ばれるメモリ領域にデータを保存するが、バックグラウンド実行時にはこのセッションが存在しないためである。

0037

クライアント装置300は、通常のパーソナルコンピュータ装置であり、本実施形態に関係する機能としては例えば、利用者の操作により、アプリケーションサーバ装置200に接続し、各業務処理の実行指示データを送信する機能と、アプリケーションサーバ装置200から受信した実行結果を表示する機能と、図示しないプリンタにより、この実行結果を出力する機能とをもっている。

0038

次に、以上のように構成されたWebアプリケーションシステムの動作を図5フローチャート及び図6の模式図を参照しながら説明する。

0039

アプリケーションサーバ装置200においては、CPU270の実行により、アプリケーションコンテナ230及び共通フレームワーク220が動作中であるとする。

0040

このとき、クライアント装置300は、利用者の操作により、アプリケーションサーバ装置200に接続し、図3に示したように、入力画面G1から業務処理プログラム210に対する実行指示データを作成し、この実行指示データをアプリケーションサーバ装置200に送信する。

0041

アプリケーションサーバ装置200においては、CPU270が共通フレームワーク220の実行制御部221の実行により、図5(a)に示すように、実行指示データを受信すると(ST1)、受信した実行指示データがBGコード(バックグラウンド処理指示情報)を含むか否か(バックグラウンド処理の指示か否か)を判定し(ST2)、否の場合にはチェック処理を実行し(ST3)、業務処理プログラム210をリアルタイム処理により実行する(ST4)。

0042

一方、ステップST2の判定の結果、BGコードを含む場合、CPU270は、受信した実行指示データに含まれる機能ID及びボタンIDが、データベース装置100に記憶されたバックグラウンド対象データD2内の機能ID及びボタンIDに一致するか否か(バックグラウンド処理の対象処理か否か)を判定し、否の場合には前述同様にリアルタイム処理のステップST3,ST4を実行する。なお、ステップST2とST5とは、実行する順序を互いに入れ替えてもよく、このことは以下の各実施形態でも同様である。

0043

また、ステップST5の判定の結果、バックグラウンド対象データD2内の機能ID及びボタンIDに一致した場合、CPU270は、業務処理プログラム210のチェック処理部211の実行により、実行指示データ内の実行データについてのチェック処理を実行する(ST6)。

0044

しかる後、CPU270は、共通フレームワーク220のデータ保存処理部222の実行により、受信した実行指示データD1をデータベース装置100に保存し(ST7)、実行指示データD1を保存した旨をクライアント装置300に通知する(ST8)。

0045

この通知の後、CPU270は、実行指示データD1−1のタイミングフラグに基づいて、バックグラウンド処理を即時実行又はバッチ処理により実行する。ここで、CPU270は、図5(b)に示すように、バックグラウンド処理実行部240の保存データ呼出し部241の実行により、データベース装置100から実行指示データD1に含まれる実行データを呼び出し(ST9)、業務処理プログラム210のデータ保持部に実行データ213を書き込む。

0046

また、CPU270は、バックグラウンド処理実行部240の実行制御部242の実行により、この呼び出されて書き込まれた実行データに基づいて、業務処理プログラム210の実行処理部212をバックグラウンド処理により実行する(ST10)。

0047

このように、ステップST4のリアルタイム処理と、ステップST10のバックグラウンド処理とを一つの業務処理プログラム210で実現することができる。

0048

また、ステップST10において、CPU270は、例えば図4に示す如き、支給明細書データD4を実行結果として作成し、支給明細書データD4をクライアント装置300に送信する。クライアント装置300は、この支給明細書データD4を図示しないプリンタ等により出力する。

0049

バックグラウンド処理の完了後、CPU270は、業務処理プログラム210の実行を終了する。

0050

上述したように本実施形態によれば、業務処理プログラム210をリアルタイム処理により実行する共通フレームワーク220の実行制御部221と、業務処理プログラム210をバックグラウンド処理により実行するバックグラウンド処理実行部240の実行制御部242とを備えた構成により、1つの業務処理プログラムをバックグラウンド処理及びリアルタイム処理で実行でき、プログラムの保守性及び生産性の低下を阻止することができる。

0051

すなわち、クライアントからの実行指示にあわせて、共通フレームワーク220によりリアルタイム処理の途中で業務の実行処理を横取りし、後続の処理を別プロセスのバックグラウンドで仮想的な動作環境上で動作させることにより、一つの業務処理プログラムで、バックグラウンド処理とリアルタイム処理の両方を実現することができる。

0052

これにより、各業務処理でオンライン処理とバックグラウンド処理を別々に作成する必要が無く、一つの業務処理プログラム210でバックグラウンド処理とリアルタイム処理を実現することにより、プログラムの生産性及び保守性を大幅に向上できる。また、ユーザが処理の実行条件等にあわせてフレキシブルにオンライン処理とバッチ処理を選択して利用することができる。

0053

(第2の実施形態)
図7は本発明の第2の実施形態に係るWebアプリケーションシステムの構成を示す模式図であり、図1と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の各実施形態も同様にして重複した説明を省略する。

0054

すなわち、本実施形態は、アプリケーションサーバ装置200からバックグラウンド処理実行部240を分離して別の装置に設けた例であり、具体的には図7に示すように、アプリケーションサーバ装置200からバックグラウンド処理実行部240を省略する一方、省略したバックグラウンド処理実行部240と同等のバックグラウンド処理実行部440のプログラムを記憶した記憶部450、HDD装置460及びCPU470を備えたバックグラウンド処理管理サーバ装置400を付加した構成となっている。

0055

次に、以上のように構成されたWebアプリケーションシステムの動作を図8のフローチャート及び図9の模式図を参照しながら説明する。

0056

Webアプリケーションシステムにおいては、アプリケーションサーバ装置200が、前述同様にステップST1〜ST8を実行する。

0057

ステップST8の後、バックグラウンド処理管理サーバ装置400においては、CPU470が、保存データ呼出し部441の実行により、データベース装置100に保存された実行データを呼び出し(ST9’)、実行制御部442の実行により、アプリケーションサーバ装置200内の業務プログラム210を実行するようにCPU270を制御する(ST10’−1)。

0058

これにより、CPU270は、バックグラウンド処理により、業務プログラム210を実行する(ST10’−2)。

0059

上述したように本実施形態によれば、リアルタイム処理を実行するための共通フレームワーク220と、バックグラウンド処理を実行するためのバックグラウンド処理実行部400とを別々のサーバ装置200,400に配置した構成に変形しても、第1の実施形態と同様の効果を得ることができる。

0060

(第3の実施形態)
図10は本発明の第3の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。

0061

本実施形態は、第1の実施形態の変形例であり、具体的には図10に示すように、バックグラウンド処理部240にスケジューリング処理部244を追加し、実行データに含まれる“支給年月”等の日付データを更新することにより、バックグラウンド処理を組み合わせて定期的なバッチ処理を実現可能とするものである。

0062

これに伴い、実行指示データD1は、図11及び図12に示すように、指示ID、項目ID及び区分からなる更新指示情報D1−3を含むものとなっている。指示IDは、前述同様のものである。項目IDは、実行データに含まれる実行時間条件を示すIDであり、ここでは支給年月という実行時間条件を示す項目IDが用いられている。区分は、バックグラウンド処理を定期的に実行する場合の実行周期情報である。この更新指示情報D1−3は、ここでは入力画面G2のチェックボックスg10により設定されるが、これに限らず、入力画面G2からラジオボタン等で択一的に入力されてもよい。

0063

また、バックグラウンド対象データD2は、図11に示すように、前述した機能ID、ボタンID及び処理名称に加え、項目IDが互いに関連付けられたものとなっている。

0064

ここで、スケジューリング処理部244は、データベース装置100内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する手段、更新した実行時間条件に基づいて、業務処理プログラム210をバックグラウンド処理により実行する手段、としてサーバ装置200を機能させるためのプログラムである。これに伴い、実行結果としての支給明細書データD4は、例えば図13に示すように、1ヶ月経過毎に支給年月が自動更新されながら作成される。

0065

次に、以上のように構成されたWebアプリケーションシステムの動作を図14のフローチャート及び図15の模式図を参照しながら説明する。

0066

アプリケーションサーバ装置200においては、CPU270の実行により、アプリケーションコンテナ230及び共通フレームワーク220が動作中であるとする。

0067

このとき、クライアント装置300は、利用者の操作により、アプリケーションサーバ装置200に接続し、図12に示したように、入力画面G2から業務処理プログラム210に対する実行指示データを作成し、この実行指示データをアプリケーションサーバ装置200に送信する。

0068

Webアプリケーションシステムにおいては、アプリケーションサーバ装置200が、前述同様にステップST1〜ST8を実行する。

0069

ステップST8の後、アプリケーションサーバ装置200においては、CPU270が、スケジューリング処理部244の実行により、データベース装置100内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する(ST9−1)。

0070

また、CPU270は、保存データ呼出し部241の実行により、データベース装置100から実行指示データD1に含まれる実行データを呼び出し(ST9−2)、業務処理プログラム210のデータ保持部に実行データ213を書き込む。

0071

しかる後、CPU270は、バックグラウンド処理実行部240の実行制御部242の実行により、この呼び出されて書き込まれた実行データの更新した実行時間条件に基づいて、業務処理プログラム210の実行処理部212をバックグラウンド処理により実行する(ST10)。

0072

このステップST10において、CPU270は、前述同様に、支給明細書データD4を実行結果として作成し、クライアント装置300に送信する。クライアント装置300は、前述同様に、支給明細書データD4を図示しないプリンタ等により出力する。

0073

バックグラウンド処理の完了後、CPU270は、バックグラウンドでステップST9−1、ST9−2及びST10の処理を繰り返し実行する。これに伴い、実行結果としての支給明細書データD4は、例えば図13に示すように、1ヶ月経過毎に支給年月が自動更新されながら作成され、クライアント装置300に送信される。

0074

上述したように本実施形態によれば、第1の実施形態の効果に加え、スケジュール処理部244により、バックグラウンド処理を定期的に実行することができる。

0075

(第4の実施形態)
図16は本発明の第4の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。

0076

すなわち、本実施形態は、第3の実施形態に第2の実施形態を適用した例であり、具体的には図16に示すように、アプリケーションサーバ装置200からバックグラウンド処理実行部240を省略する一方、省略したバックグラウンド処理実行部240と同等のバックグラウンド処理実行部440のプログラムを記憶した記憶部450、HDD装置460及びCPU470を備えたバックグラウンド処理管理サーバ装置400を付加した構成となっている。

0077

また、このバックグラウンド処理管理サーバ400は、保存データ呼出し部441、実行制御部442及び仮想コンテナ443に加え、前述したスケジューリング処理部244と同等のスケジューリング処理部444を備えている。

0078

次に、以上のように構成されたWebアプリケーションシステムの動作を図17のフローチャート及び図18の模式図を参照しながら説明する。

0079

Webアプリケーションシステムにおいては、アプリケーションサーバ装置200が、第3の実施形態と同様にステップST1〜ST8を実行する。

0080

ステップST8の後、バックグラウンド処理管理サーバ装置400においては、CPU470が、スケジューリング処理部444の実行により、データベース装置100内の実行データに含まれる実行時間条件を実行周期情報に基づいて定期的に更新する(ST9’−1)。

0081

また、CPU470は、保存データ呼出し部441の実行により、データベース装置100から実行指示データD1に含まれる実行データを呼び出し(ST9’−2)、業務処理プログラム210のデータ保持部に実行データ213を書き込む。

0082

しかる後、CPU470は、実行制御部442の実行により、アプリケーションサーバ装置200内の業務プログラム210を実行するようにCPU270を制御する(ST10’−1)。

0083

これにより、CPU270は、バックグラウンド処理により、業務プログラム210を実行する(ST10’−2)。

0084

バックグラウンド処理の完了後、CPU470,270は、バックグラウンドでステップST9−1、ST9−2及びST10の処理を繰り返し実行する。

0085

上述したように本実施形態によれば、スケジューリング処理部244を備えた第3の実施形態を、リアルタイム処理を実行するための共通フレームワーク220と、バックグラウンド処理を実行するためのバックグラウンド処理実行部400とを別々のサーバ装置200,400に配置した構成に変形しても、第3の実施形態と同様の効果を得ることができる。

0086

なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフロッピー(登録商標)ディスクハードディスクなど)、光ディスクCD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。

0087

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。

0088

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。

0089

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。

0090

また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。

0091

尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。

0092

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。

0093

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。

図面の簡単な説明

0094

本発明の第1の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。
同実施形態におけるデータベース装置の構成を示す模式図である。
同実施形態における実行指示データ及び入力画面の構成を説明するための模式図である。
同実施形態における実行結果を説明するための模式図である。
同実施形態における動作を説明するためのフローチャートである。
同実施形態における動作を説明するための模式図である。
本発明の第2の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。
同実施形態における動作を説明するためのフローチャートである。
同実施形態における動作を説明するための模式図である。
本発明の第3の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。
同実施形態におけるデータベース装置の構成を示す模式図である。
同実施形態における実行指示データ及び入力画面の構成を説明するための模式図である。
同実施形態における実行結果を説明するための模式図である。
同実施形態における動作を説明するためのフローチャートである。
同実施形態における動作を説明するための模式図である。
本発明の第4の実施形態に係るWebアプリケーションシステムの構成を示す模式図である。
同実施形態における動作を説明するためのフローチャートである。
同実施形態における動作を説明するための模式図である。

符号の説明

0095

100…データベース装置、200…アプリケーションサーバ装置、210…業務処理プログラム、211…チェック処理部、212…実行処理部、213…実行データ、220…共通フレームワーク、221,242,442…実行制御部、222…データ保存処理部、230…アプリケーションプログラム、240,440…バックグラウンド処理実行部、241,441…保存データ呼出し部、243,443…仮想コンテナ、244,444…スケジューリング処理部、250,450…記憶部、260,460…HDD装置、270,470…CPU、300…クライアント装置、400…バックグラウンド処理管理サーバ装置、D1…実行指示データ、D1−1…実行機能指示情報、D1−2…実行条件指示情報、D1−3…更新指示情報、D2…バックグラウンド対象データ、D3…業務処理関連情報、D3−1…ユーザ個人情報、D3−2…勤務記録情報、D3−3…支給明細情報、D4…支給明細書データ、G1,G2…入力画面、g1,g10…チェックボックス、g2,g3…ラジオボタン、g4〜g6…ボタン、g7,g8…支給年月、g9…コメント。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ