(57)【要約】【課題】Ｗｅｂサーバからダウンロードしたデータベースエンジンを端末で動作させる方法および当該端末がオフライン状態においても動作させる方法を提供すること。【解決手段】端末３０が、前記データベースエンジンの非認証スレッドにより引数データをメモリ部１２０に書き出すステップと、前記非認証スレッドにより引数設定通知データを記憶部１３０にアクセスする許可が与えられた前記データベースエンジンの認証スレッドに送信するステップと、前記認証スレッドにより前記メモリ部１２０に書き出した引数データを読み込むステップと、前記認証スレッドにより記憶部１３０に記憶したデータベースにアクセスして前記データベースエンジンのコマンドを実行し、実行結果を戻り値として前記メモリ部１２０に書き出すステップと、前記認証スレッドにより、戻り値設定通知データを前記非認証スレッドへ送信するステップと、を含むことを特徴とする。【選択図】図３
2007226508.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサーバおよびデータベースサーバに接続可能な端末が、Ｗｅｂブラウザ上で動作
するデータベースエンジンを前記Ｗｅｂサーバから受信して展開するメモリ部と、少なく
とも前記データベースサーバが管理しているデータベースのマスターデータの一部である
サブセットデータを、前記Ｗｅｂサーバを介して前記データベースサーバから受信して一
時的に記憶する記憶部と、を備え、
少なくとも前記データベースのユーザインターフェース処理を行うＷｅｂブラウザ上で
動作するスクリプトプログラムを前記Ｗｅｂサーバから受信するステップと、
前記スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操
作するコマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数
を設定して呼び出すステップと、
前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出すステップと
、
前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする許
可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを送
信するステップと、
前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出さ
れた引数データを読み込むステップと、
前記引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータ
にアクセスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出す
ステップと、
前記認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値
設定通知データを送信するステップと、
前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプロ
グラムに対して前記戻り値を返すステップと、を含む方法。
【請求項２】
前記端末が、前記データベースエンジンを前記Ｗｅｂサーバから最初に受信したことに
応じて、前記データベースの認証スレッドに前記記憶部へのアクセスを許可するか否かを
前記端末のユーザに対して問い合わせるための画面を表示するステップと、
前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を受け付
けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部にアク
セスする許可を与えるステップと、をさらに含む請求項１に記載の方法。
【請求項３】
前記端末が、所定の受信タイミングにおいて、前記データベースエンジンの認証スレッ
ドにより、前記データベースサーバが管理しているマスターデータの少なくとも一部を前
記データベースサーバから送信することを要求するデータを、前記Ｗｅｂサーバに送信す
るステップと、
前記データベースエンジンの認証スレッドにより、前記Ｗｅｂサーバを介して、前記デ
ータベースサーバが管理しているマスターデータの少なくとも一部を受信し、前記記憶部
に記憶しているサブセットデータを更新するステップと、をさらに含む請求項１または請
求項２に記載の方法。
【請求項４】
前記端末が、所定の送信タイミングにおいて、前記データベースエンジンの認証スレッ
ドにより、前記記憶部に記憶しているサブセットデータの少なくとも一部を、前記Ｗｅｂ
サーバを介して前記データベースサーバへ送信するステップをさらに含む請求項１から請
求項３のいずれかに記載の方法。
【請求項５】
前記端末が、所定の受信タイミングにおいて、前記データベースエンジンの認証スレッ
ドにより、前記データベースサーバが管理しているマスターデータのうち前回の受信タイ
ミング以降に前記データベースサーバによって更新をされたマスターデータを前記データ
ベースサーバから送信することを要求するデータを、前記Ｗｅｂサーバに送信するステッ
プと、
前記データベースエンジンの認証スレッドにより、前記Ｗｅｂサーバを介して当該更新
をされたマスターデータを前記データベースサーバから受信し、前記記憶部に記憶してい
るサブセットデータを更新するステップと、をさらに含む請求項１または請求項２に記載
の方法。
【請求項６】
前記端末が、所定の送信タイミングにおいて、前記データベースエンジンの認証スレッ
ドにより、前記データベースサーバから受信して前記記憶部に記憶したサブセットデータ
のうち前回の送信タイミング以降に前記端末が更新したサブセットデータを、前記Ｗｅｂ
サーバを介して前記データベースサーバへ送信するステップをさらに含む請求項１、請求
項２、請求項５のいずれかに記載の方法。
【請求項７】
Ｗｅｂサーバおよびデータベースサーバに接続可能であり、データベースに関する処理
を実行する端末であって、
Ｗｅｂブラウザ上で動作するデータベースエンジンを前記Ｗｅｂサーバから受信して展
開するメモリ部と、少なくとも前記データベースサーバが管理しているデータベースのマ
スターデータの一部であるサブセットデータを、前記Ｗｅｂサーバを介して前記データベ
ースサーバから受信して一時的に記憶する記憶部と、を備え、
少なくとも前記データベースのユーザインターフェース処理を行うＷｅｂブラウザ上で
動作するスクリプトプログラムを前記Ｗｅｂサーバから受信する手段と、
前記スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操
作するコマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数
を設定して呼び出す手段と、
前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出す手段と、
前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする許
可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを送
信する手段と、
前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出さ
れた引数データを読み込む手段と、
前記引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータ
にアクセスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出す
手段と、
前記認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値
設定通知データを送信する手段と、
前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプロ
グラムに対して前記戻り値を返す手段と、を備える端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続可能な端末においてＷｅｂサーバから受信したデータベ
ースエンジンを動作させる方法および端末に関する。特に、当該ネットワークが切断した
場合にも当該データベースエンジンを動作させる方法および端末に関する。
【背景技術】
【０００２】
従来、ネットワークを介して接続されたＷｅｂサーバと端末で構成されるいわゆるＷｅ
ｂシステムにおいて、データベースエンジン（詳細は後述する）を動作させるために様々
な方法が提案されている。例えば、端末にはＷｅｂブラウザのみを導入し、ネットワーク
に接続されたＷｅｂサーバからその都度必要なプログラムを、当該ネットワークを介して
端末に送信して動作させる方法がある。
【０００３】
図９は、上述の目的のために構成したＷｅｂシステムの一例である。この方法によれば
、データを管理するデータベースサーバ１０が当該データを記憶する記憶部を備え、当該
記憶部に記憶されたデータにアクセスして当該データの検索、挿入、削除、更新等の管理
を行うデータ管理プログラム（データベースエンジン）を動作させる。端末３０は、ネッ
トワーク４０を介して、データの表示、ユーザによる操作入力の受付等のユーザインター
フェースプログラムおよびビジネスロジックを含むアプリケーションプログラムをＷｅｂ
サーバ２０から随時ダウンロードして動作させる。
【０００４】
例えばＪａｖａＳｃｒｉｐｔ（登録商標）などで実現するアプリケーションプログラム
をＷｅｂサーバ２０から端末３０に送信し、端末３０は、Ｗｅｂブラウザにおいて当該ア
プリケーションプログラムを実行し、Ｗｅｂサーバ２０を介してデータベースサーバ１０
上のデータベースエンジンと連携し、システム全体としてデータベースアプリケーション
システムとして機能することが可能である。
【０００５】
さらに、端末３０が、アプリケーションプログラムのうちユーザインターフェースプロ
グラムの部分のみを実行し、Ｗｅｂサーバ２０がＷｅｂアプリケーションサーバとしてビ
ジネスロジックを動作させる方法も提案されている。
【０００６】
この場合には、当該Ｗｅｂアプリケーションサーバは端末３０のＷｅｂブラウザからの
要求を受け付けてビジネスロジックを動作させ、データベースサーバ１０に接続してデー
タベースにアクセスする。当該Ｗｅｂアプリケーションサーバは、データベースサーバ１
０からの結果セットに基づいて当該結果セットを表すＷｅｂページを構成し、Ｗｅｂペー
ジ応答として端末３０に送信する。端末３０は、Ｗｅｂブラウザにより当該結果セットを
表すＷｅｂページを受信して表示させる。
【０００７】
この方法においては、アプリケーションプログラム等をあらかじめ端末３０にインスト
ールして構成するいわゆるＦａｔ  Ｃｌｉｅｎｔ型のシステムのような過大な運用負荷の
問題は発生しないと考えられている。すなわち、あらかじめアプリケーションプログラム
を端末３０にインストールする必要もなく、更新も容易である。さらに、アプリケーショ
ンプログラムが端末３０のＯＳに依存するという問題も発生しない。また、端末３０にＷ
ｅｂブラウザさえあれば実現できることから、標準かつオープンな技術だけで当該アプリ
ケーションプログラムを開発できる、というメリットもある。
【０００８】
なお、関連技術として、広告ＤＢから広告を読み出してユーザ端末に送信するプログラ
ムに埋め込み、ユーザ端末がネットワークに接続していない場合であっても、当該プログ
ラムにより当該広告を表示させる技術も提案されている（特許文献１）。
【０００９】
しかしながら、特許文献１に開示された技術は、サーバにおいて、広告データを埋め込
んだプログラムを端末に送信して単に実行させているだけであり、データの検索、挿入、
削除、更新、といったデータの操作を端末上で行うことはできない。
【００１０】
また、本発明の背景技術については、例えば、非特許文献１に開示されている。
【特許文献１】特開２００２−２４６９５号公報
【非特許文献１】ＤＢＭＳ解剖学  よくわかるリレーショナルデータベースの仕組み鈴木幸市／藤塚勤也  株式会社翔泳社  （２００５年２月２１日）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述のようないわゆるＷｅｂシステムにおいて、データベースエンジン
を端末３０において動作させるためには新たな課題が存在する。
【００１２】
まず、オフライン状態においては、端末３０は動作することができないという課題があ
る。上述のＷｅｂシステムにおいては、端末３０は、データベースサーバ１０が管理する
データベースのマスターデータの一部であるサブセットデータおよび当該サブセットデー
タを管理するデータベースエンジンを持たないため、オフライン状態においては、端末３
０はデータベースにアクセスする必要があるビジネスロジックを動作させることができな
い。
【００１３】
そこで例えば、当該サブセットデータをデータベースサーバ１０から端末３０にダウン
ロードしてハードディスク装置に記憶し、端末３０において動作するＪａｖａ（登録商標
）アプレット等により構成したデータベースエンジンをＷｅｂサーバ２０からダウンロー
ドすることも考えられる。
【００１４】
しかしながら、通常の運用においては、このようなＪａｖａアプレットは端末３０のメ
モリ部に展開されて動作するが、端末３０のローカル資源であるハードディスク装置等へ
のアクセスには一定の制限がある。このような制限は、近年、別の大きな問題となってい
るコンピュータウイルスや、サイバーテロ等から端末３０に記憶されたデータ等を保護す
るために必要と考えられている。
【００１５】
このため、仮に端末３０がネットワーク４０を介してデータベースサーバ１０からマス
ターデータの一部であるサブセットデータをダウンロードしてハードディスク装置等の記
憶部に記憶をしたとしても、Ｗｅｂサーバ２０からダウンロードしたＪａｖａアプレット
は、当該記憶をしたサブセットデータにアクセスすることが制限されるため、結局当該デ
ータベースを操作することができない。
【００１６】
そこで例えば、端末３０において動作する電子署名付きＪａｖａアプレットにより構成
したデータベースエンジンをＷｅｂサーバ２０からダウンロードし、当該サブセットデー
タをデータベースサーバ１０から端末３０にダウンロードしてハードディスク装置に記憶
することも考えられる。
【００１７】
しかしながら、電子署名付きＪａｖａアプレット自身は、端末３０のローカル資源であ
るハードディスク装置等へのアクセスが許可されるが、Ｗｅｂサーバ２０からダウンロー
ドしたＪａｖａＳｃｒｉｐｔ等のスクリプトプログラムから電子署名付きＪａｖａアプレ
ットを呼び出しても、端末３０のローカル資源であるハードディスク装置等へのアクセス
は許可されない。
【００１８】
このため、仮に端末３０において動作する電子署名付きＪａｖａアプレット等により構
成したデータベースエンジンをＷｅｂサーバ２０からダウンロードし、当該サブセットデ
ータをデータベースサーバ１０から端末３０にダウンロードしてハードディスク装置等に
記憶をしたとしても、Ｗｅｂサーバ２０からダウンロードしたスクリプトプログラムは、
当該記憶をしたサブセットデータにアクセスすることが制限されるため、結局当該データ
ベースを操作することができない。
【００１９】
本発明は、上述の課題に鑑みてなされたものであり、Ｗｅｂサーバ２０からダウンロー
ドしたデータベースエンジンを端末３０で動作させる方法を提供することを目的とする。
さらに、端末３０がオフライン状態においても動作可能なデータベースエンジンを実現す
る方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は、Ｗｅｂサーバおよびデータベースサーバに接続可能な端末が、Ｗｅｂブラウ
ザ上で動作するデータベースエンジンを前記Ｗｅｂサーバから受信して展開するメモリ部
と、少なくとも前記データベースサーバが管理しているデータベースのマスターデータの
一部であるサブセットデータを、前記Ｗｅｂサーバを介して前記データベースサーバから
受信して一時的に記憶する記憶部と、を備え、少なくとも前記データベースのユーザイン
ターフェース処理を行うＷｅｂブラウザ上で動作するスクリプトプログラムを前記Ｗｅｂ
サーバから受信するステップと、前記スクリプトプログラムに従って、前記記憶部に記憶
した前記サブセットデータを操作するコマンドを実行するために、前記データベースエン
ジンを非認証スレッドで、引数を設定して呼び出すステップと、前記非認証スレッドが前
記引数を表す引数データを前記メモリ部に書き出すステップと、前記非認証スレッドによ
る前記引数データの書き出しを、前記記憶部にアクセスする許可が与えられたデータベー
スエンジンの認証スレッドに通知する引数設定通知データを送信するステップと、前記引
数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出された引数
データを読み込むステップと、前記引数データに従って前記認証スレッドが前記記憶部に
記憶したサブセットデータにアクセスして前記コマンドを実行し、実行結果を戻り値とし
て前記メモリ部に書き出すステップと、前記認証スレッドによる前記戻り値の書き出しを
前記非認証スレッドに通知する戻り値設定通知データを送信するステップと、前記戻り値
設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプログラムに対し
て前記戻り値を返すステップと、を含むことを特徴とする。
【００２１】
本発明のこのような構成によれば、Ｗｅｂサーバおよびデータベースサーバに接続可能
な端末が、Ｗｅｂブラウザ上で動作するデータベースエンジンを前記Ｗｅｂサーバから受
信して展開するメモリ部と、少なくとも前記データベースサーバが管理しているデータベ
ースのマスターデータの一部であるサブセットデータを、前記Ｗｅｂサーバを介して前記
データベースサーバから受信して一時的に記憶する記憶部と、を備え、少なくとも前記デ
ータベースのユーザインターフェース処理を行うＷｅｂブラウザ上で動作するスクリプト
プログラムを前記Ｗｅｂサーバから受信し、前記スクリプトプログラムに従って、前記記
憶部に記憶した前記サブセットデータを操作するコマンドを実行するために、前記データ
ベースエンジンを非認証スレッドで、引数を設定して呼び出し、前記非認証スレッドが前
記引数を表す引数データを前記メモリ部に書き出し、前記非認証スレッドによる前記引数
データの書き出しを、前記記憶部にアクセスする許可が与えられたデータベースエンジン
の認証スレッドに通知する引数設定通知データを送信し、前記引数設定通知データの受信
に応じて、前記認証スレッドが前記メモリ部に書き出された引数データを読み込み、前記
引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータにアク
セスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出し、前記
認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値設定通
知データを送信し、前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前
記スクリプトプログラムに対して前記戻り値を返すことが可能であるという効果を有する
。
【００２２】
このことにより、前記端末は、前記スクリプトプログラムから前記サブセットデータを
操作するコマンドを実行するために、非認証スレッドで動作する前記スクリプトプログラ
ム自身は前記データベースエンジンを呼び出し、前記データベースエンジン側で非認証ス
レッドから認証スレッドに通知することにより、結果として前記スクリプトプログラムか
らローカル資源にアクセスする必要があるデータベースコマンドを実行することができる
。
【００２３】
その結果、端末のＷｅｂブラウザ上で動作するデータベースエンジンを実現することが
できる。
【００２４】
本発明の原理を応用すれば、例えば、Ｗｅｂシステムにおいて、データベースサーバが
管理するデータベースのマスターデータの一部であるサブセットデータおよび当該サブセ
ットデータを管理するデータベースエンジンを端末にダウンロードして動作させることが
可能となる。さらに、端末がオフライン状態においても、当該端末はデータベースにアク
セスする必要があるビジネスロジックを動作させることができる。当該Ｗｅｂシステムに
おいて、データベースエンジンはＷｅｂブラウザ上で動作するため、標準かつオープンな
技術のみで設計できる。
【００２５】
図１０は、本発明の構成及び効果を示す図である。
【００２６】
また、本発明は、前記端末が、前記データベースエンジンを前記Ｗｅｂサーバから最初
に受信したことに応じて、前記データベースの認証スレッドに前記記憶部へのアクセスを
許可するか否かを前記端末のユーザに対して問い合わせるための画面を表示するステップ
と、前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を受け
付けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部にア
クセスする許可を与えるステップと、をさらに含むことが望ましい。
【００２７】
本発明のこのような構成によれば、前記端末が、前記データベースエンジンを前記Ｗｅ
ｂサーバから最初に受信したことに応じて、前記データベースの認証スレッドに前記記憶
部へのアクセスを許可するか否かを前記端末のユーザに対して問い合わせるための画面を
表示し、前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を
受け付けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部
にアクセスする許可を与えることが可能であるという効果を有する。
【００２８】
このことにより、前記端末は、前記ユーザから、前記データベースエンジンの認証スレ
ッドに対して前記記憶部へのアクセス許可を最初に一度だけ受け付けるだけで、その後再
度ユーザの許可を受け付けることなく、前記認証スレッドによりデータベースにアクセス
することが可能となる。
【００２９】
また、本発明は、前記端末が、所定の受信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバが管理しているマスターデータの少
なくとも一部を前記データベースサーバから送信することを要求するデータを、前記Ｗｅ
ｂサーバに送信するステップと、前記データベースエンジンの認証スレッドにより、前記
Ｗｅｂサーバを介して、前記データベースサーバが管理しているマスターデータの少なく
とも一部を受信し、前記記憶部に記憶しているサブセットデータを更新するステップと、
をさらに含むことが望ましい。
【００３０】
このような構成によれば、前記端末が、所定の受信タイミングにおいて、前記データベ
ースサーバが管理しているマスターデータの少なくとも一部を前記データベースサーバか
ら送信することを要求するデータを、前記Ｗｅｂサーバに送信し、前記Ｗｅｂサーバを介
して、前記データベースサーバが管理しているマスターデータの少なくとも一部を受信し
、前記記憶部に記憶しているサブセットデータを更新することが可能であるという効果を
有する。
【００３１】
このことにより、前記端末は、前記マスターデータと前記サブセットデータの整合性を
保つために、所定の受信タイミングにおいて、前記Ｗｅｂサーバを介してデータベースサ
ーバが管理している前記マスターデータの少なくとも一部を前記端末にダウンロードし、
前記記憶部に記憶しているサブセットデータを更新することができる。
【００３２】
また、本発明は、前記端末が、所定の送信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記記憶部に記憶しているサブセットデータの少なくとも一
部を、前記Ｗｅｂサーバを介して前記データベースサーバへ送信するステップをさらに含
むことが望ましい。
【００３３】
このような構成によれば、前記端末が、所定の送信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記記憶部に記憶しているサブセットデータの少な
くとも一部を、前記Ｗｅｂサーバを介して前記データベースサーバへ送信することが可能
であるという効果を有する。
【００３４】
このことにより、前記マスターデータと前記サブセットデータの整合性を保つために、
前記所定の送信タイミングにおいて、前記端末は、前記データベースエンジンの認証スレ
ッドにより、前記記憶部に記憶しているサブセットデータの少なくとも一部を読み出して
前記データベースサーバへアップロードし、前記データベースサーバのマスターデータを
更新させることができる。
【００３５】
また、本発明は、前記端末が、所定の受信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバが管理しているマスターデータのう
ち前回の受信タイミング以降に前記データベースサーバによって更新をされたマスターデ
ータを前記データベースサーバから送信することを要求するデータを、前記Ｗｅｂサーバ
に送信するステップと、前記データベースエンジンの認証スレッドにより、前記Ｗｅｂサ
ーバを介して当該更新をされたマスターデータを前記データベースサーバから受信し、前
記記憶部に記憶しているサブセットデータを更新するステップと、をさらに含むことが望
ましい。
【００３６】
このような構成によれば、前記端末が、所定の受信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記データベースサーバが管理しているマスターデ
ータのうち前回の受信タイミング以降に前記データベースサーバによって更新をされたマ
スターデータを前記データベースサーバから送信することを要求するデータを、前記Ｗｅ
ｂサーバに送信し、前記データベースエンジンの認証スレッドにより、前記Ｗｅｂサーバ
を介して当該更新をされたマスターデータを前記データベースサーバから受信し、前記記
憶部に記憶しているサブセットデータを更新することが可能であるという効果を有する。
【００３７】
このことにより、前記Ｗｅｂサーバを介して前記データベースサーバからダウンロード
すべき、前回の受信タイミング以降に前記データベースサーバによって更新をされたマス
ターデータである差分データが存在する場合には、前記端末にダウンロードし、前記記憶
部に記憶したサブセットデータを更新することができる。
【００３８】
その結果、全体としてネットワークの通信負荷を抑え、効率的にデータのダウンロード
を行うことができる。
【００３９】
また、本発明は、前記端末が、所定の送信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバから受信して前記記憶部に記憶した
サブセットデータのうち前回の送信タイミング以降に前記端末が更新したサブセットデー
タを、前記Ｗｅｂサーバを介して前記データベースサーバへ送信するステップをさらに含
むことが望ましい。
【００４０】
このような構成によれば、前記端末が、所定の送信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記データベースサーバから受信して前記記憶部に
記憶したサブセットデータのうち前回の送信タイミング以降に前記端末が更新したサブセ
ットデータを、前記Ｗｅｂサーバを介して前記データベースサーバへ送信することが可能
であるという効果を有する。
【００４１】
このことにより、前記Ｗｅｂサーバを介して前記データベースサーバへアップロードす
べき、前回の送信タイミング以降に前記端末が更新したサブセットデータである差分デー
タが存在する場合には、前記データベースエンジンの認証スレッドにより、前記端末の前
記記憶部から読み出して前記データベースサーバへアップロードし、前記データベースサ
ーバのデータベースを更新することができる。
【００４２】
その結果、全体としてネットワークの通信負荷を抑え、効率的にデータのアップロード
を行うことができる。
【００４３】
本発明は、Ｗｅｂサーバおよびデータベースサーバに接続可能であり、データベースに
関する処理を実行する端末であって、Ｗｅｂブラウザ上で動作するデータベースエンジン
を前記Ｗｅｂサーバから受信して展開するメモリ部と、少なくとも前記データベースサー
バが管理しているデータベースのマスターデータの一部であるサブセットデータを、前記
Ｗｅｂサーバを介して前記データベースサーバから受信して一時的に記憶する記憶部と、
を備え、少なくとも前記データベースのユーザインターフェース処理を行うＷｅｂブラウ
ザ上で動作するスクリプトプログラムを前記Ｗｅｂサーバから受信する手段と、前記スク
リプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操作するコマ
ンドを実行するために、前記データベースエンジンを非認証スレッドで、引数を設定して
呼び出す手段と、前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き
出す手段と、前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアク
セスする許可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知
データを送信する手段と、前記引数設定通知データの受信に応じて、前記認証スレッドが
前記メモリ部に書き出された引数データを読み込む手段と、前記引数データに従って、前
記認証スレッドが前記記憶部に記憶したサブセットデータにアクセスして前記コマンドを
実行し、実行結果を戻り値として前記メモリ部に書き出す手段と、前記認証スレッドによ
る前記戻り値の書き出しを前記非認証スレッドに通知する戻り値設定通知データを送信す
る手段と、前記戻り値設定通知データを受信したことに応じて、前記非認証スレッドが前
記スクリプトプログラムに対して前記戻り値を返す手段と、を備えることを特徴とする。
【００４４】
本発明のこのような構成によれば、前記端末が、Ｗｅｂブラウザ上で動作するデータベ
ースエンジンを前記Ｗｅｂサーバから受信して展開するメモリ部と、少なくとも前記デー
タベースサーバが管理しているデータベースのマスターデータの一部であるサブセットデ
ータを、前記Ｗｅｂサーバを介して前記データベースサーバから受信して一時的に記憶す
る記憶部と、を備え、少なくとも前記データベースのユーザインターフェース処理を行う
Ｗｅｂブラウザ上で動作するスクリプトプログラムを前記Ｗｅｂサーバから受信し、前記
スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操作する
コマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数を設定
して呼び出し、前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出
し、前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする
許可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを
送信し、前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書
き出された引数データを読み込み、前記引数データに従って、前記認証スレッドが前記記
憶部に記憶したサブセットデータにアクセスして前記コマンドを実行し、実行結果を戻り
値として前記メモリ部に書き出し、前記認証スレッドによる前記戻り値の書き出しを前記
非認証スレッドに通知する戻り値設定通知データを送信し、前記戻り値設定通知データの
受信に応じて、前記非認証スレッドが前記スクリプトプログラムに対して前記戻り値を返
すことが可能であるという効果を有する。
【発明を実施するための最良の形態】
【００４５】
本発明に係る好適な実施形態の一例について、図面に基づいて以下に説明する。
【００４６】
［システムの機能構成］
図１は、本発明の好適な実施形態の一例に係るコンピュータシステムを構成する各サー
バおよび端末の主要な構成を表すブロック図である。データベースサーバ１０とＷｅｂサ
ーバ２０と端末３０とがネットワーク４０を介して接続されている。これらの機器の数に
は制限はなく、１または複数で構成してよい。
【００４７】
データベースサーバ１０は、データベースのマスターデータを管理し、データの検索、
挿入、削除、更新等の管理を行うデータベースエンジンを備える。また、必要に応じて当
該マスターデータの少なくとも一部を、Ｗｅｂサーバ２０を介して端末３０に送信する。
【００４８】
Ｗｅｂサーバ２０は、端末３０におけるユーザインターフェースプログラムやビジネス
ロジックを含むアプリケーションプログラム（スクリプト３１２）および端末３０上のデ
ータベースを管理するデータベースエンジン（データベースアプレット３１３）などのプ
ログラムを端末３０に送信する。
【００４９】
なお、本実施例においてはデータベースサーバ１０とＷｅｂサーバ２０は別のコンピュ
ータで構成しているが、同一のコンピュータで構成してもよい。
【００５０】
また、データベースエンジン（データベースアプレット３１３）は、Ｗｅｂサーバ２０
のデータベース同期ロジック２１と通信し、所定のタイミングでデータベースサーバ１０
が管理する当該マスターデータと、端末３０の記憶部（キャッシュ３２０）に記憶した当
該マスターデータの一部であるサブセットデータ（データベースファイル３２１）との同
期をおこなう。
【００５１】
端末３０は、データベースサーバ１０からオフライン動作に必要なデータとして受信し
たサブセットデータ（データベースファイル３２１）を記憶部１３０が備えるキャッシュ
３２０に記憶する。さらに、端末３０は、Ｗｅｂサーバ２０から受信した、Ｗｅｂブラウ
ザ３１０上で動作するアプリケーションプログラム（スクリプト３１２）とデータベース
エンジン（データベースアプレット３１３）とを実行し、Ｗｅｂブラウザ３１０上に動的
にＷｅｂページ３１１を表示・更新する。
【００５２】
スクリプト３１２の具体例としては、ＪａｖａＳｃｒｉｐｔ等が挙げられる。また、表
示させるＷｅｂページの具体例としては、ＨＴＭＬ、ＣＳＳ、ＧＩＦ、ＸＭＬ等で構成し
たものが挙げられる。
【００５３】
当該アプリケーションプログラム（スクリプト３１２）とデータベースエンジン（デー
タベースアプレット３１３）は、Ｗｅｂブラウザ３１０上で動作し、端末３０のＯＳやＷ
ｅｂブラウザ３１０の種類には依存しない。
【００５４】
また、スクリプト３１２がデータベースアプレット３１３を呼び出す手法の例としては
、ＬｉｖｅＣｏｎｎｅｃｔ（登録商標）、ＡｃｔｉｖｅＸ（登録商標）スクリプティング
等が挙げられる。
【００５５】
スクリプト３１２は、データベースアプレット３１３が返した実行結果データセットに
基づいて、ＪａｖａＳｃｒｉｐｔ、ＤｙｎａｍｉｃＨＴＭＬ、ＤＯＭ（Ｄｏｃｕｍｅｎｔ
Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）等により、Ｗｅｂページを動的に生成又は更新し、画面に
反映させる。端末３０は、その後再びユーザからの入力を受け付け、上述の処理を繰り返
す。
【００５６】
このような処理により、端末３０は、オフライン状態においても端末３０上のデータベ
ースエンジン（データベースアプレット３１３）が利用でき、動的にＷｅｂページを表示
させることができる。
【００５７】
［各サーバおよび端末の構成］
図２は、本発明の好適な実施形態の一例に係るデータベースサーバ１０、Ｗｅｂサーバ
２０、端末３０の構成を示すブロック図である。たとえば、データベースサーバ１０にお
いて、制御部１１０、メモリ部１２０、記憶部１３０、通信インターフェース部１４０、
入力部１５０、表示部１６０は、バス１７０を介して接続されている。
【００５８】
以下、データベースサーバ１０について説明する。
【００５９】
制御部１１０は、情報の演算、処理を行う情報演算処理装置であり、ＣＰＵ（Ｃｅｎｔ
ｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってよい。また、制御部１１０はデータ
ベースサーバ１０全体の制御を行い、記憶部１３０に記憶された各種プログラムを適宜読
み出してメモリ部１２０に展開して実行することにより、上述のハードウエアが協働し、
本発明に係る各種機能を実現している。
【００６０】
表示部１６０は、ユーザにデータの入力を受け付ける画面を表示したり、データベース
サーバ１０による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置
（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００６１】
入力部１５０は、ユーザによる入力の受付を行うものであり、キーボード、ポインティ
ングデバイス等を含む。入力部１５０は、直接または介在Ｉ／Ｏコントローラを介してデ
ータベースサーバ１０と接続することができる。
【００６２】
通信インターフェース部１４０は、データベースサーバ１０を専用ネットワークまたは
公共ネットワークを介してＷｅｂサーバ２０や端末３０と接続できるようにするためのネ
ットワーク・アダプタである。通信インターフェース部１４０は、モデム、ケーブル・モ
デムおよびイーサネット（登録商標）・アダプタを含む。
【００６３】
メモリ部１２０は、制御部１１０と組み合わせてプログラムの実行に使用するローカル
メモリを含む。記憶部１３０は、大容量のバルクメモリ、および当該バルクメモリの検索
を効率的に行うために使用するキャッシュメモリを含む。メモリ部１２０および記憶部１
３０を実現するコンピュータ可読媒体としては、電気的、磁気的、光学的、電磁的に実現
するものを含む。より具体的には、半導体記憶装置、磁気テープ、フレキシブルディスク
、ランダム・アクセス・メモリ（ＲＡＭ）、リードオンリー・メモリ（ＲＯＭ）、ＣＤ−
ＲＯＭとＣＤ−Ｒ／ＷとＤＶＤとを含む光ディスクが含まれる。
【００６４】
また、Ｗｅｂサーバ２０、端末３０もデータベースサーバ１０と同様の構成を持つ。
【００６５】
［認証スレッドと非認証スレッドの連携］
図３は、本発明の好適な実施形態の一例に係るシステムにおいて、認証スレッドと非認
証スレッドがメモリ３１６を介して連携し、端末３０のＷｅｂブラウザ上でデータベース
エンジンを動作させる方法を示す図である。
【００６６】
端末３０のデータベースアプレット３１３は、認証スレッドにより端末３０のキャッシ
ュ３２０を含む記憶部１３０へアクセスすることが許されているアプレットであってよく
、例えば、デジタル署名により第三者機関により認証されたアプレットである。データベ
ースアプレット３１３は、スクリプト３１２からデータベースエンジン３１４を呼び出す
ためのアプリケーションインターフェースであるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒ
ｏｇｒａｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）３１５、メモリ３１６（変数や待ち行列等のデ
ータ構造）、データベースエンジン３１４を持つ。
【００６７】
ここで、データベースアプレット３１３は、キャッシュ３２０等のローカル資源にアク
セスすることができない非認証スレッド３１７と、ローカル資源にアクセスすることが許
された認証スレッド３１８と、の２種類のスレッドで動作する。
【００６８】
非認証スレッド３１７は、ユーザのＷｅｂページ３１１の操作やタイマー等のイベント
により発生したスレッドで、スクリプト３１２を動作させ、データベースアプレット３１
３のＡＰＩを呼び出して実行する。
【００６９】
認証スレッド３１８は、データベースアプレット３１３が生成したスレッドで、データ
ベースエンジン３１４を動作させ、データベースファイル３２１を操作する。非認証スレ
ッド３１７と認証スレッド３１８とは図５を用いて後述するように、メモリ３１６を介し
て連携する。
【００７０】
［動的なＷｅｂページ表示処理］
図４は、本発明の好適な実施形態の一例に係るシステムにおける、動的なＷｅｂページ
表示処理を示すフローチャートである。
【００７１】
まず、Ｗｅｂブラウザ３１０がユーザによる入力操作を受け付けたり、ビジネスロジッ
クを実行したりすることにより、イベントが発生すると、端末３０の制御部１１０は、対
応するスクリプト３１２を呼び出す（ステップＳ１１１）。
【００７２】
さらに、端末３０の制御部１１０は、スクリプト３１２に従ってデータベースコマンド
を生成し（ステップＳ１１２）、引数を設定してデータベースエンジン（データベースア
プレット３１３）を呼び出す（ステップＳ１１３）。より具体的には、引数として例えば
ＳＱＬのＳｅｌｅｃｔ文を設定してデータベースエンジン（データベースアプレット３１
３）のコマンドを呼び出す。
【００７３】
次に、端末３０の制御部１１０は、データベースエンジン（データベースアプレット３
１３）により当該引数に基づいてデータベースコマンドを実行し（ステップＳ１１４）、
データベースファイル３２１の操作を行なう（ステップＳ１１５）。
【００７４】
当該データベースファイル３２１の操作の結果、データベースコマンドの実行結果とし
ての結果セットを得た場合（ステップＳ１１６）には、端末３０の制御部１１０は、スク
リプト３１２により、データベースエンジン（データベースアプレット３１３）からの戻
り値としての当該結果セットを読み込む（ステップＳ１１７）。場合によっては、結果セ
ットがない場合もあり、その場合には戻り値ＮＵＬＬがスクリプト３１２に返される。
【００７５】
次に、端末３０の制御部１１０は、スクリプト３１２により、データベースエンジン（
データベースアプレット３１３）からの戻り値として読み込んだ結果セットに基づいて動
的にＷｅｂページを生成・更新する（ステップＳ１１８）。
【００７６】
［認証スレッドと非認証スレッドの連携の詳細］
図５は、本発明の好適な実施形態の一例に係るシステムの端末３０において、認証スレ
ッド３１８と非認証スレッド３１７がメモリ３１６を介して連携し、データベースコマン
ドを実行する方法の詳細を示すフローチャートである。図の左側が非認証スレッド３１７
による処理、右側が認証スレッド３１８による処理を表す。
【００７７】
まず、端末３０の制御部１１０は、スクリプト３１２により、データベースエンジン３
１４のＡＰＩ３１５に引数値を設定して呼び出し、データベースコマンドの実行を開始す
る。
【００７８】
次に、端末３０の制御部１１０は、データベースアプレット３１３の非認証スレッド３
１７により該設定されたＡＰＩ３１５の引数値を取得する（ステップＳ２１１）。具体的
には、例えば、ｄｂｍｓ．ｅｘｅｃｕｔｅ（“ｓｅｌｅｃｔ（・・・）”）といったコマ
ンドの引数値を取得する。
【００７９】
次に、端末３０の制御部１１０は、非認証スレッド３１７により、当該引数値を表す引
数データをメモリ３１６（メモリ部１２０）に書き出すことにより設定する（ステップＳ
２１２）とともに、認証スレッド３１８に対して引数値の設定が完了した旨を通知するデ
ータ（引数設定通知データ）を送信し（ステップＳ２１３）、認証スレッド３１８からの
通知を待つ（ステップＳ２１４）。
【００８０】
次に、端末３０の制御部１１０は、非認証スレッド３１７により、認証スレッド３１８
から、戻り値の設定が完了した旨を通知するデータ（戻り値設定通知データ）を受信した
ことに応じて（ステップＳ２１５）、メモリ３１６（メモリ部１２０）から戻り値を読み
出すことにより取得し、ＡＰＩ３１５の戻り値として設定する（ステップＳ２１６）。
【００８１】
一方、端末３０の制御部１１０は、認証スレッド３１８により、非認証スレッド３１７
からの通知を待機している（ステップＳ３１１）。
【００８２】
そして、端末３０の制御部１１０は、認証スレッド３１８により、引数値の設定が完了
した旨を通知するデータを受信したことに応じて、当該引数値をメモリ３１６（メモリ部
１２０）から取得する（ステップＳ３１２）。
【００８３】
次に、端末３０の制御部１１０は、認証スレッド３１８により、データベースファイル
３２１の操作を行う（ステップＳ３１３）。より具体的には、例えば前記引数値によって
指定されたＳｅｌｅｃｔ文の実行などを行なう。
【００８４】
次に、端末３０の制御部１１０は、認証スレッド３１８により、前記データベースファ
イル３２１の操作の結果に基づいてメモリ３１６（メモリ部１２０）へ戻り値を設定し（
ステップＳ３１４）、非認証スレッド３１７に当該戻り値の設定が完了した旨を通知する
データ（戻り値設定通知データ）を送信する（ステップＳ３１５）。
【００８５】
このようにして、端末３０の認証スレッド３１８は、次の非認証スレッド３１７からの
通知を待ち、上述の一連の処理を繰り返す。
【００８６】
端末３０の制御部１１０は、上述のように非認証スレッド３１７と認証スレッド３１８
とをメモリ３１６（メモリ部１２０）を介して連携させ、端末３０においてデータベース
コマンドを実行することになる。
【００８７】
［データベース同期処理］
図６は、本発明の好適な実施形態の一例に係るシステムにおける、データベース同期処
理を示すフローチャートである。
【００８８】
まず、端末３０の制御部１１０は、所定のタイミングで同期処理を開始する。
【００８９】
ここで所定のタイミングは、端末３０の起動時や終了時、ユーザの操作を受け付けたタ
イミングで決めるか、あるいはユーザの操作とは無関係に決めてもよい。オフライン時に
は、何回か当該同期処理を繰り返し試みてもよい。
【００９０】
データベースサーバ１０へアップロードすべきデータがある場合には（ステップＳ４１
１）、端末３０の制御部１１０は、記憶部１３０からデータベースファイル３２１を読み
込み（ステップＳ４１２）、当該読み込んだデータベースファイル３２１を、Ｗｅｂサー
バ２０を介してデータベースサーバ１０へアップロードする（ステップＳ４１３）。
【００９１】
同様に、端末３０の制御部１１０は、データベースサーバ１０にダウンロードすべきデ
ータがある場合には（ステップＳ４１４）、端末３０の制御部１１０は、Ｗｅｂサーバ２
０を介して、データベースサーバ１０からデータをダウンロードする（ステップＳ４１５
）。さらに、端末３０の制御部１１０は、当該ダウンロードしたデータを、記憶部１３０
にデータベースファイル３２１として書き出す（ステップＳ４１６）。
【００９２】
なお、上述のアップロードすべきデータがあるかどうかの判断やダウンロードすべきデ
ータがあるかどうかの判断は、差分データの発生の有無、定期的なメンテナンスなど、適
宜設定されたルールに従ってなされてよい。
【００９３】
［認証確認処理］
図７は、データベースエンジン（データベースアプレット３１３）にローカル資源への
アクセスを許可するか否かをユーザに問い合わせる方法を示すフローチャートである。
【００９４】
まず、端末３０の制御部１１０は、Ｗｅｂサーバ２０から最初にデータベースエンジン
（データベースアプレット３１３）を受信したことに応じて、端末３０のユーザに対して
、当該データベースエンジン（データベースアプレット３１３）に、端末３０の記憶部１
３０などのローカル資源にアクセスする許可を与えるか否かを問い合わせる（ステップＳ
５１１）。
【００９５】
図８は、端末３０のユーザに対してデータベースエンジン（データベースアプレット３
１３）にローカル資源へのアクセスを許可するか否かを問い合わせるための画面の一例を
示す図である。この例においては、「ＲｅｍｏｔｅＤＢ．ｊａｒ」というデータベースエ
ンジン（データベースアプレット３１３）に対して、許可を与えるか否かを問い合わせて
いる。
【００９６】
次に、端末３０の制御部１１０は、ユーザの操作により、当該データベースエンジン（
データベースアプレット３１３）に端末３０のローカル資源へのアクセスを許可する旨の
指示を受け付けたことに応じて、当該データベースエンジン（データベースアプレット３
１３）に対して前記記憶部にアクセスする許可を与える（ステップＳ５１２）。
【００９７】
ここで、当該データベースエンジン（データベースアプレット３１３）は、ユーザの操
作により一度端末３０のローカル資源へのアクセスを許可されれば、当該データベースエ
ンジン（データベースアプレット３１３）がそれ以降生成するスレッドは、認証スレッド
として同様に端末３０のローカル資源へのアクセス許可が与えられることになる。
【００９８】
従って、例えば、本発明の原理を応用した業務アプリケーションを運用する場合には、
各端末において、一度だけデータベースエンジン（データベースアプレット３１３）に対
してユーザが当該端末のローカル資源へのアクセス許可を与えれば、それ以降は、当該端
末は当該業務アプリケーションの端末として、Ｗｅｂブラウザ上で動作するデータベース
エンジンを利用した業務アプリケーションを実行可能となる。
【００９９】
このように、本発明によれば、ＰＯＳシステムのような止められないフロント業務を伴
うアプリケーションを、オフライン状態においても使用可能な端末を提供するために、端
末側においてオフラインでも実行可能なデータベースエンジンを提供することができる。
【０１００】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るもので
はない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果
を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定され
るものではない。
【図面の簡単な説明】
【０１０１】
【図１】本発明に係るコンピュータシステムを構成する各サーバおよび端末の主要な構成を表すブロック図である。
【図２】本発明に係るデータベースサーバ１０、Ｗｅｂサーバ２０、端末３０の構成を示すブロック図である。
【図３】本発明に係るシステムにおいて、認証スレッドと非認証スレッドがメモリを介して連携する方法を示す図である。
【図４】本発明に係るシステムにおける、動的なＷｅｂページ表示処理を示すフローチャートである。
【図５】本発明に係るシステムにおいて、認証スレッドと非認証スレッドがメモリを介して連携する方法の詳細を示すフローチャートである。
【図６】本発明に係るシステムにおける、データベース同期処理を示すフローチャートである。
【図７】本発明に係るシステムにおいて、データベースアプレットにローカル資源へのアクセスを許可するか否かをユーザに問い合わせる方法を示すフローチャートである。
【図８】本発明に係るシステムにおいて、データベースアプレットにローカル資源へのアクセスを許可するか否かをユーザに問い合わせる画面を示す図である。
【図９】従来技術に係るＷｅｂシステムの構成例を示す図である。
【図１０】本発明の構成及び効果を示す図である。
【符号の説明】
【０１０２】
１０  データベースサーバ、２０  Ｗｅｂサーバ、３０  端末、１１０  制御部、１２
０  メモリ部、１３０  記憶部、１４０  通信インターフェース、１５０  入力部、１６
０  表示部、１７０  バス
【図１】
2007226508.tif 000003
【図２】
2007226508.tif 000004
【図３】
2007226508.tif 000005
【図４】
2007226508.tif 000006
【図５】
2007226508.tif 000007
【図６】
2007226508.tif 000008
【図７】
2007226508.tif 000009
【図８】
2007226508.tif 000010
【図９】
2007226508.tif 000011
【図１０】
2007226508.tif 000012