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