JP2007226508A - Method of operating database engine received from web server at terminal connectable to network, and terminal - Google Patents
Method of operating database engine received from web server at terminal connectable to network, and terminal Download PDFInfo
- Publication number
- JP2007226508A JP2007226508A JP2006046466A JP2006046466A JP2007226508A JP 2007226508 A JP2007226508 A JP 2007226508A JP 2006046466 A JP2006046466 A JP 2006046466A JP 2006046466 A JP2006046466 A JP 2006046466A JP 2007226508 A JP2007226508 A JP 2007226508A
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- thread
- terminal
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、ネットワークに接続可能な端末においてWebサーバから受信したデータベ
ースエンジンを動作させる方法および端末に関する。特に、当該ネットワークが切断した
場合にも当該データベースエンジンを動作させる方法および端末に関する。
The present invention relates to a method and a terminal for operating a database engine received from a Web server in a terminal connectable to a network. In particular, the present invention relates to a method and a terminal for operating the database engine even when the network is disconnected.
従来、ネットワークを介して接続されたWebサーバと端末で構成されるいわゆるWe
bシステムにおいて、データベースエンジン(詳細は後述する)を動作させるために様々
な方法が提案されている。例えば、端末にはWebブラウザのみを導入し、ネットワーク
に接続されたWebサーバからその都度必要なプログラムを、当該ネットワークを介して
端末に送信して動作させる方法がある。
Conventionally, a so-called We composed of a Web server and a terminal connected via a network
In the system b, various methods have been proposed to operate a database engine (details will be described later). For example, there is a method in which only a web browser is introduced into a terminal, and a necessary program is transmitted from the web server connected to the network to the terminal via the network for operation.
図9は、上述の目的のために構成したWebシステムの一例である。この方法によれば
、データを管理するデータベースサーバ10が当該データを記憶する記憶部を備え、当該
記憶部に記憶されたデータにアクセスして当該データの検索、挿入、削除、更新等の管理
を行うデータ管理プログラム(データベースエンジン)を動作させる。端末30は、ネッ
トワーク40を介して、データの表示、ユーザによる操作入力の受付等のユーザインター
フェースプログラムおよびビジネスロジックを含むアプリケーションプログラムをWeb
サーバ20から随時ダウンロードして動作させる。
FIG. 9 is an example of a Web system configured for the above purpose. According to this method, the
It is downloaded from the
例えばJavaScript(登録商標)などで実現するアプリケーションプログラム
をWebサーバ20から端末30に送信し、端末30は、Webブラウザにおいて当該ア
プリケーションプログラムを実行し、Webサーバ20を介してデータベースサーバ10
上のデータベースエンジンと連携し、システム全体としてデータベースアプリケーション
システムとして機能することが可能である。
For example, an application program realized by JavaScript (registered trademark) is transmitted from the
In cooperation with the above database engine, the entire system can function as a database application system.
さらに、端末30が、アプリケーションプログラムのうちユーザインターフェースプロ
グラムの部分のみを実行し、Webサーバ20がWebアプリケーションサーバとしてビ
ジネスロジックを動作させる方法も提案されている。
Further, a method has been proposed in which the
この場合には、当該Webアプリケーションサーバは端末30のWebブラウザからの
要求を受け付けてビジネスロジックを動作させ、データベースサーバ10に接続してデー
タベースにアクセスする。当該Webアプリケーションサーバは、データベースサーバ1
0からの結果セットに基づいて当該結果セットを表すWebページを構成し、Webペー
ジ応答として端末30に送信する。端末30は、Webブラウザにより当該結果セットを
表すWebページを受信して表示させる。
In this case, the web application server accepts a request from the web browser of the
A web page representing the result set is configured based on the result set from 0 and transmitted to the
この方法においては、アプリケーションプログラム等をあらかじめ端末30にインスト
ールして構成するいわゆるFat Client型のシステムのような過大な運用負荷の
問題は発生しないと考えられている。すなわち、あらかじめアプリケーションプログラム
を端末30にインストールする必要もなく、更新も容易である。さらに、アプリケーショ
ンプログラムが端末30のOSに依存するという問題も発生しない。また、端末30にW
ebブラウザさえあれば実現できることから、標準かつオープンな技術だけで当該アプリ
ケーションプログラムを開発できる、というメリットもある。
In this method, it is considered that an excessive operational load problem does not occur as in a so-called Fat Client type system in which application programs and the like are installed in the
Since it can be realized with only an eb browser, there is also an advantage that the application program can be developed with only standard and open technology.
なお、関連技術として、広告DBから広告を読み出してユーザ端末に送信するプログラ
ムに埋め込み、ユーザ端末がネットワークに接続していない場合であっても、当該プログ
ラムにより当該広告を表示させる技術も提案されている(特許文献1)。
As a related technique, a technique has also been proposed in which an advertisement is read from the advertisement DB and embedded in a program that transmits the advertisement to the user terminal, and the program displays the advertisement even when the user terminal is not connected to the network. (Patent Document 1).
しかしながら、特許文献1に開示された技術は、サーバにおいて、広告データを埋め込
んだプログラムを端末に送信して単に実行させているだけであり、データの検索、挿入、
削除、更新、といったデータの操作を端末上で行うことはできない。
However, the technology disclosed in Patent Document 1 simply transmits a program in which advertisement data is embedded to a terminal and causes the server to execute the data search, insertion,
Data operations such as deletion and update cannot be performed on the terminal.
また、本発明の背景技術については、例えば、非特許文献1に開示されている。
しかしながら、上述のようないわゆるWebシステムにおいて、データベースエンジン
を端末30において動作させるためには新たな課題が存在する。
However, in the so-called Web system as described above, there is a new problem for operating the database engine on the
まず、オフライン状態においては、端末30は動作することができないという課題があ
る。上述のWebシステムにおいては、端末30は、データベースサーバ10が管理する
データベースのマスターデータの一部であるサブセットデータおよび当該サブセットデー
タを管理するデータベースエンジンを持たないため、オフライン状態においては、端末3
0はデータベースにアクセスする必要があるビジネスロジックを動作させることができな
い。
First, there is a problem that the
0 cannot run business logic that needs to access the database.
そこで例えば、当該サブセットデータをデータベースサーバ10から端末30にダウン
ロードしてハードディスク装置に記憶し、端末30において動作するJava(登録商標
)アプレット等により構成したデータベースエンジンをWebサーバ20からダウンロー
ドすることも考えられる。
Therefore, for example, the subset data may be downloaded from the
しかしながら、通常の運用においては、このようなJavaアプレットは端末30のメ
モリ部に展開されて動作するが、端末30のローカル資源であるハードディスク装置等へ
のアクセスには一定の制限がある。このような制限は、近年、別の大きな問題となってい
るコンピュータウイルスや、サイバーテロ等から端末30に記憶されたデータ等を保護す
るために必要と考えられている。
However, in a normal operation, such a Java applet is deployed in the memory unit of the
このため、仮に端末30がネットワーク40を介してデータベースサーバ10からマス
ターデータの一部であるサブセットデータをダウンロードしてハードディスク装置等の記
憶部に記憶をしたとしても、Webサーバ20からダウンロードしたJavaアプレット
は、当該記憶をしたサブセットデータにアクセスすることが制限されるため、結局当該デ
ータベースを操作することができない。
For this reason, even if the
そこで例えば、端末30において動作する電子署名付きJavaアプレットにより構成
したデータベースエンジンをWebサーバ20からダウンロードし、当該サブセットデー
タをデータベースサーバ10から端末30にダウンロードしてハードディスク装置に記憶
することも考えられる。
Therefore, for example, it is conceivable to download a database engine constituted by a Java applet with an electronic signature that runs on the
しかしながら、電子署名付きJavaアプレット自身は、端末30のローカル資源であ
るハードディスク装置等へのアクセスが許可されるが、Webサーバ20からダウンロー
ドしたJavaScript等のスクリプトプログラムから電子署名付きJavaアプレ
ットを呼び出しても、端末30のローカル資源であるハードディスク装置等へのアクセス
は許可されない。
However, a Java applet with an electronic signature itself is allowed to access a hard disk device or the like that is a local resource of the
このため、仮に端末30において動作する電子署名付きJavaアプレット等により構
成したデータベースエンジンをWebサーバ20からダウンロードし、当該サブセットデ
ータをデータベースサーバ10から端末30にダウンロードしてハードディスク装置等に
記憶をしたとしても、Webサーバ20からダウンロードしたスクリプトプログラムは、
当該記憶をしたサブセットデータにアクセスすることが制限されるため、結局当該データ
ベースを操作することができない。
For this reason, it is assumed that a database engine configured by a Java applet with an electronic signature operating on the
Since access to the stored subset data is restricted, the database cannot be operated after all.
本発明は、上述の課題に鑑みてなされたものであり、Webサーバ20からダウンロー
ドしたデータベースエンジンを端末30で動作させる方法を提供することを目的とする。
さらに、端末30がオフライン状態においても動作可能なデータベースエンジンを実現す
る方法を提供することを目的とする。
The present invention has been made in view of the above-described problems, and an object thereof is to provide a method for operating a database engine downloaded from a
Furthermore, it aims at providing the method of implement | achieving the database engine which can operate | move even if the
本発明は、Webサーバおよびデータベースサーバに接続可能な端末が、Webブラウ
ザ上で動作するデータベースエンジンを前記Webサーバから受信して展開するメモリ部
と、少なくとも前記データベースサーバが管理しているデータベースのマスターデータの
一部であるサブセットデータを、前記Webサーバを介して前記データベースサーバから
受信して一時的に記憶する記憶部と、を備え、少なくとも前記データベースのユーザイン
ターフェース処理を行うWebブラウザ上で動作するスクリプトプログラムを前記Web
サーバから受信するステップと、前記スクリプトプログラムに従って、前記記憶部に記憶
した前記サブセットデータを操作するコマンドを実行するために、前記データベースエン
ジンを非認証スレッドで、引数を設定して呼び出すステップと、前記非認証スレッドが前
記引数を表す引数データを前記メモリ部に書き出すステップと、前記非認証スレッドによ
る前記引数データの書き出しを、前記記憶部にアクセスする許可が与えられたデータベー
スエンジンの認証スレッドに通知する引数設定通知データを送信するステップと、前記引
数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出された引数
データを読み込むステップと、前記引数データに従って前記認証スレッドが前記記憶部に
記憶したサブセットデータにアクセスして前記コマンドを実行し、実行結果を戻り値とし
て前記メモリ部に書き出すステップと、前記認証スレッドによる前記戻り値の書き出しを
前記非認証スレッドに通知する戻り値設定通知データを送信するステップと、前記戻り値
設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプログラムに対し
て前記戻り値を返すステップと、を含むことを特徴とする。
The present invention relates to a memory unit in which a terminal that can be connected to a Web server and a database server receives and expands a database engine that operates on a Web browser from the Web server, and at least a master of a database managed by the database server A storage unit that receives subset data as part of the data from the database server via the Web server and temporarily stores the subset data, and operates at least on a Web browser that performs user interface processing of the database Script program
Receiving from a server, and in accordance with the script program, invoking the database engine with an unauthenticated thread to set an argument in order to execute a command for operating the subset data stored in the storage unit, An unauthenticated thread writes out argument data representing the argument to the memory unit, and writes out the argument data by the non-authenticated thread to an authentication thread of a database engine that is permitted to access the storage unit Transmitting argument setting notification data; reading the argument data written to the memory unit by the authentication thread in response to receiving the argument setting notification data; and storing the authentication thread in accordance with the argument data The subset data stored in the Accessing and executing the command, writing the execution result to the memory unit as a return value, and sending return value setting notification data notifying the non-authentication thread of writing of the return value by the authentication thread; And the step of the non-authenticating thread returning the return value to the script program in response to receiving the return value setting notification data.
本発明のこのような構成によれば、Webサーバおよびデータベースサーバに接続可能
な端末が、Webブラウザ上で動作するデータベースエンジンを前記Webサーバから受
信して展開するメモリ部と、少なくとも前記データベースサーバが管理しているデータベ
ースのマスターデータの一部であるサブセットデータを、前記Webサーバを介して前記
データベースサーバから受信して一時的に記憶する記憶部と、を備え、少なくとも前記デ
ータベースのユーザインターフェース処理を行うWebブラウザ上で動作するスクリプト
プログラムを前記Webサーバから受信し、前記スクリプトプログラムに従って、前記記
憶部に記憶した前記サブセットデータを操作するコマンドを実行するために、前記データ
ベースエンジンを非認証スレッドで、引数を設定して呼び出し、前記非認証スレッドが前
記引数を表す引数データを前記メモリ部に書き出し、前記非認証スレッドによる前記引数
データの書き出しを、前記記憶部にアクセスする許可が与えられたデータベースエンジン
の認証スレッドに通知する引数設定通知データを送信し、前記引数設定通知データの受信
に応じて、前記認証スレッドが前記メモリ部に書き出された引数データを読み込み、前記
引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータにアク
セスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出し、前記
認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値設定通
知データを送信し、前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前
記スクリプトプログラムに対して前記戻り値を返すことが可能であるという効果を有する
。
According to such a configuration of the present invention, a terminal that can be connected to a Web server and a database server receives a database engine that operates on a Web browser from the Web server and expands, and at least the database server includes A storage unit that receives subset data, which is a part of master data of the database being managed, from the database server via the Web server and temporarily stores the subset data, and at least performs user interface processing of the database In order to execute a command for operating the subset data stored in the storage unit in accordance with the script program, a script program operating on a Web browser to be executed is received from the Web server. The argument is set and called, and the unauthenticated thread writes the argument data representing the argument to the memory unit, and the permission to access the storage unit for writing the argument data by the unauthenticated thread is given. Argument setting notification data to be notified to the authentication thread of the database engine is transmitted, and in response to receiving the argument setting notification data, the authentication thread reads the argument data written to the memory unit, and according to the argument data, the The authentication thread accesses the subset data stored in the storage unit, executes the command, writes the execution result to the memory unit as a return value, and notifies the unauthenticated thread to write the return value by the authentication thread. Sends return value setting notification data and responds to reception of the return value setting notification data Has the effect that the non-authentication thread is capable of returning the return value to the script program.
このことにより、前記端末は、前記スクリプトプログラムから前記サブセットデータを
操作するコマンドを実行するために、非認証スレッドで動作する前記スクリプトプログラ
ム自身は前記データベースエンジンを呼び出し、前記データベースエンジン側で非認証ス
レッドから認証スレッドに通知することにより、結果として前記スクリプトプログラムか
らローカル資源にアクセスする必要があるデータベースコマンドを実行することができる
。
As a result, in order for the terminal to execute a command for manipulating the subset data from the script program, the script program itself that operates in an unauthenticated thread calls the database engine, and the unauthenticated thread on the database engine side. As a result, it is possible to execute a database command that needs to access a local resource from the script program.
その結果、端末のWebブラウザ上で動作するデータベースエンジンを実現することが
できる。
As a result, a database engine that operates on the Web browser of the terminal can be realized.
本発明の原理を応用すれば、例えば、Webシステムにおいて、データベースサーバが
管理するデータベースのマスターデータの一部であるサブセットデータおよび当該サブセ
ットデータを管理するデータベースエンジンを端末にダウンロードして動作させることが
可能となる。さらに、端末がオフライン状態においても、当該端末はデータベースにアク
セスする必要があるビジネスロジックを動作させることができる。当該Webシステムに
おいて、データベースエンジンはWebブラウザ上で動作するため、標準かつオープンな
技術のみで設計できる。
By applying the principle of the present invention, for example, in a Web system, subset data that is part of master data of a database managed by a database server and a database engine that manages the subset data can be downloaded to a terminal and operated. It becomes possible. Furthermore, even when the terminal is in an offline state, the terminal can operate business logic that needs to access the database. In the Web system, since the database engine operates on the Web browser, it can be designed with only standard and open technology.
図10は、本発明の構成及び効果を示す図である。 FIG. 10 is a diagram showing the configuration and effects of the present invention.
また、本発明は、前記端末が、前記データベースエンジンを前記Webサーバから最初
に受信したことに応じて、前記データベースの認証スレッドに前記記憶部へのアクセスを
許可するか否かを前記端末のユーザに対して問い合わせるための画面を表示するステップ
と、前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を受け
付けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部にア
クセスする許可を与えるステップと、をさらに含むことが望ましい。
Further, according to the present invention, the user of the terminal determines whether or not to allow the authentication thread of the database to access the storage unit in response to the terminal receiving the database engine from the Web server for the first time. Displaying a screen for making an inquiry to the database engine, and in response to receiving an instruction to permit the access to the authentication thread by the user's operation, the storage unit for the authentication thread of the database engine And granting permission to access.
本発明のこのような構成によれば、前記端末が、前記データベースエンジンを前記We
bサーバから最初に受信したことに応じて、前記データベースの認証スレッドに前記記憶
部へのアクセスを許可するか否かを前記端末のユーザに対して問い合わせるための画面を
表示し、前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を
受け付けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部
にアクセスする許可を与えることが可能であるという効果を有する。
According to such a configuration of the present invention, the terminal sets the database engine to the We.
In response to the first reception from the server b, a screen for inquiring to the user of the terminal whether or not to allow access to the storage unit to the authentication thread of the database is displayed. Thus, in response to receiving an instruction to permit the access to the authentication thread, it is possible to give permission to access the storage unit to the authentication thread of the database engine.
このことにより、前記端末は、前記ユーザから、前記データベースエンジンの認証スレ
ッドに対して前記記憶部へのアクセス許可を最初に一度だけ受け付けるだけで、その後再
度ユーザの許可を受け付けることなく、前記認証スレッドによりデータベースにアクセス
することが可能となる。
As a result, the terminal only accepts the access permission to the storage unit from the user once for the authentication thread of the database engine at first, and then does not accept the user's permission again. Makes it possible to access the database.
また、本発明は、前記端末が、所定の受信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバが管理しているマスターデータの少
なくとも一部を前記データベースサーバから送信することを要求するデータを、前記We
bサーバに送信するステップと、前記データベースエンジンの認証スレッドにより、前記
Webサーバを介して、前記データベースサーバが管理しているマスターデータの少なく
とも一部を受信し、前記記憶部に記憶しているサブセットデータを更新するステップと、
をさらに含むことが望ましい。
Further, the present invention provides data requesting that the terminal transmit at least a part of master data managed by the database server from the database server by an authentication thread of the database engine at a predetermined reception timing. To the We
a subset transmitted to the server and the master thread managed by the database server via the Web server by the authentication thread of the database engine and stored in the storage unit Updating the data;
It is desirable to further include.
このような構成によれば、前記端末が、所定の受信タイミングにおいて、前記データベ
ースサーバが管理しているマスターデータの少なくとも一部を前記データベースサーバか
ら送信することを要求するデータを、前記Webサーバに送信し、前記Webサーバを介
して、前記データベースサーバが管理しているマスターデータの少なくとも一部を受信し
、前記記憶部に記憶しているサブセットデータを更新することが可能であるという効果を
有する。
According to such a configuration, the web server sends data requesting that the terminal transmit at least a part of master data managed by the database server from the database server at a predetermined reception timing. It has the effect that it is possible to transmit and receive at least part of the master data managed by the database server via the Web server and update the subset data stored in the storage unit .
このことにより、前記端末は、前記マスターデータと前記サブセットデータの整合性を
保つために、所定の受信タイミングにおいて、前記Webサーバを介してデータベースサ
ーバが管理している前記マスターデータの少なくとも一部を前記端末にダウンロードし、
前記記憶部に記憶しているサブセットデータを更新することができる。
As a result, in order to maintain the consistency between the master data and the subset data, the terminal can store at least a part of the master data managed by the database server via the Web server at a predetermined reception timing. Download to the device,
The subset data stored in the storage unit can be updated.
また、本発明は、前記端末が、所定の送信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記記憶部に記憶しているサブセットデータの少なくとも一
部を、前記Webサーバを介して前記データベースサーバへ送信するステップをさらに含
むことが望ましい。
Further, according to the present invention, at least a part of the subset data stored in the storage unit is transmitted to the database server via the Web server by the authentication thread of the database engine at a predetermined transmission timing. It is desirable to further include the step of transmitting.
このような構成によれば、前記端末が、所定の送信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記記憶部に記憶しているサブセットデータの少な
くとも一部を、前記Webサーバを介して前記データベースサーバへ送信することが可能
であるという効果を有する。
According to such a configuration, at a predetermined transmission timing, the terminal uses the database engine authentication thread to at least partly store subset data stored in the storage unit via the Web server. This has the effect that it can be transmitted to the server.
このことにより、前記マスターデータと前記サブセットデータの整合性を保つために、
前記所定の送信タイミングにおいて、前記端末は、前記データベースエンジンの認証スレ
ッドにより、前記記憶部に記憶しているサブセットデータの少なくとも一部を読み出して
前記データベースサーバへアップロードし、前記データベースサーバのマスターデータを
更新させることができる。
Thus, in order to maintain consistency between the master data and the subset data,
At the predetermined transmission timing, the terminal reads at least a part of the subset data stored in the storage unit by the authentication thread of the database engine, uploads it to the database server, and stores the master data of the database server. It can be updated.
また、本発明は、前記端末が、所定の受信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバが管理しているマスターデータのう
ち前回の受信タイミング以降に前記データベースサーバによって更新をされたマスターデ
ータを前記データベースサーバから送信することを要求するデータを、前記Webサーバ
に送信するステップと、前記データベースエンジンの認証スレッドにより、前記Webサ
ーバを介して当該更新をされたマスターデータを前記データベースサーバから受信し、前
記記憶部に記憶しているサブセットデータを更新するステップと、をさらに含むことが望
ましい。
Further, according to the present invention, the terminal is updated by the database server at a predetermined reception timing after the previous reception timing among master data managed by the database server by an authentication thread of the database engine. A step of transmitting data requesting transmission of master data from the database server to the Web server, and the master data updated through the Web server by the authentication thread of the database engine; And updating the subset data stored in the storage unit.
このような構成によれば、前記端末が、所定の受信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記データベースサーバが管理しているマスターデ
ータのうち前回の受信タイミング以降に前記データベースサーバによって更新をされたマ
スターデータを前記データベースサーバから送信することを要求するデータを、前記We
bサーバに送信し、前記データベースエンジンの認証スレッドにより、前記Webサーバ
を介して当該更新をされたマスターデータを前記データベースサーバから受信し、前記記
憶部に記憶しているサブセットデータを更新することが可能であるという効果を有する。
According to such a configuration, at the predetermined reception timing, the terminal is updated by the database server after the previous reception timing among the master data managed by the database server by the authentication thread of the database engine. Data requesting that the master data be transmitted from the database server,
b, receiving the updated master data from the database server via the Web server by the authentication thread of the database engine, and updating the subset data stored in the storage unit It has the effect that it is possible.
このことにより、前記Webサーバを介して前記データベースサーバからダウンロード
すべき、前回の受信タイミング以降に前記データベースサーバによって更新をされたマス
ターデータである差分データが存在する場合には、前記端末にダウンロードし、前記記憶
部に記憶したサブセットデータを更新することができる。
As a result, if there is differential data that is master data updated by the database server after the previous reception timing, which should be downloaded from the database server via the Web server, it is downloaded to the terminal. The subset data stored in the storage unit can be updated.
その結果、全体としてネットワークの通信負荷を抑え、効率的にデータのダウンロード
を行うことができる。
As a result, the communication load on the network as a whole can be suppressed, and data can be downloaded efficiently.
また、本発明は、前記端末が、所定の送信タイミングにおいて、前記データベースエン
ジンの認証スレッドにより、前記データベースサーバから受信して前記記憶部に記憶した
サブセットデータのうち前回の送信タイミング以降に前記端末が更新したサブセットデー
タを、前記Webサーバを介して前記データベースサーバへ送信するステップをさらに含
むことが望ましい。
In addition, the present invention provides the terminal that has received from the database server and stored in the storage unit by the authentication thread of the database engine at a predetermined transmission timing after the previous transmission timing. Preferably, the method further includes a step of transmitting the updated subset data to the database server via the Web server.
このような構成によれば、前記端末が、所定の送信タイミングにおいて、前記データベ
ースエンジンの認証スレッドにより、前記データベースサーバから受信して前記記憶部に
記憶したサブセットデータのうち前回の送信タイミング以降に前記端末が更新したサブセ
ットデータを、前記Webサーバを介して前記データベースサーバへ送信することが可能
であるという効果を有する。
According to such a configuration, at a predetermined transmission timing, the terminal uses the authentication thread of the database engine to receive the database data from the database server and store it in the storage unit after the previous transmission timing. The subset data updated by the terminal can be transmitted to the database server via the Web server.
このことにより、前記Webサーバを介して前記データベースサーバへアップロードす
べき、前回の送信タイミング以降に前記端末が更新したサブセットデータである差分デー
タが存在する場合には、前記データベースエンジンの認証スレッドにより、前記端末の前
記記憶部から読み出して前記データベースサーバへアップロードし、前記データベースサ
ーバのデータベースを更新することができる。
By this, when there is differential data that is subset data updated by the terminal since the previous transmission timing to be uploaded to the database server via the Web server, the authentication thread of the database engine The database of the database server can be updated by reading from the storage unit of the terminal and uploading it to the database server.
その結果、全体としてネットワークの通信負荷を抑え、効率的にデータのアップロード
を行うことができる。
As a result, the network communication load as a whole can be suppressed, and data can be uploaded efficiently.
本発明は、Webサーバおよびデータベースサーバに接続可能であり、データベースに
関する処理を実行する端末であって、Webブラウザ上で動作するデータベースエンジン
を前記Webサーバから受信して展開するメモリ部と、少なくとも前記データベースサー
バが管理しているデータベースのマスターデータの一部であるサブセットデータを、前記
Webサーバを介して前記データベースサーバから受信して一時的に記憶する記憶部と、
を備え、少なくとも前記データベースのユーザインターフェース処理を行うWebブラウ
ザ上で動作するスクリプトプログラムを前記Webサーバから受信する手段と、前記スク
リプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操作するコマ
ンドを実行するために、前記データベースエンジンを非認証スレッドで、引数を設定して
呼び出す手段と、前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き
出す手段と、前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアク
セスする許可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知
データを送信する手段と、前記引数設定通知データの受信に応じて、前記認証スレッドが
前記メモリ部に書き出された引数データを読み込む手段と、前記引数データに従って、前
記認証スレッドが前記記憶部に記憶したサブセットデータにアクセスして前記コマンドを
実行し、実行結果を戻り値として前記メモリ部に書き出す手段と、前記認証スレッドによ
る前記戻り値の書き出しを前記非認証スレッドに通知する戻り値設定通知データを送信す
る手段と、前記戻り値設定通知データを受信したことに応じて、前記非認証スレッドが前
記スクリプトプログラムに対して前記戻り値を返す手段と、を備えることを特徴とする。
The present invention is a terminal that can be connected to a Web server and a database server, and that performs processing related to a database, and that receives a database engine that operates on a Web browser from the Web server and expands the memory unit, A storage unit that receives subset data that is part of master data of a database managed by the database server from the database server via the Web server and temporarily stores the subset data;
Means for receiving at least a script program operating on a web browser that performs user interface processing of the database from the web server, and executing a command for operating the subset data stored in the storage unit according to the script program Means for calling the database engine by setting an argument with an unauthenticated thread, means for writing the argument data representing the argument into the memory unit by the unauthenticated thread, and the argument data by the unauthenticated thread Means for transmitting argument setting notification data to notify the authentication thread of the database engine that has been given permission to access the storage unit, and in response to reception of the argument setting notification data, the authentication thread Written in the department Means for reading numerical data; means for accessing the subset data stored in the storage unit by the authentication thread according to the argument data; executing the command; and writing the execution result as a return value to the memory unit; and the authentication Means for transmitting return value setting notification data for notifying the unauthentic thread of writing of the return value by a thread; and in response to receiving the return value setting notification data, the non-authenticating thread responds to the script program. And a means for returning the return value.
本発明のこのような構成によれば、前記端末が、Webブラウザ上で動作するデータベ
ースエンジンを前記Webサーバから受信して展開するメモリ部と、少なくとも前記デー
タベースサーバが管理しているデータベースのマスターデータの一部であるサブセットデ
ータを、前記Webサーバを介して前記データベースサーバから受信して一時的に記憶す
る記憶部と、を備え、少なくとも前記データベースのユーザインターフェース処理を行う
Webブラウザ上で動作するスクリプトプログラムを前記Webサーバから受信し、前記
スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操作する
コマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数を設定
して呼び出し、前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出
し、前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする
許可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを
送信し、前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書
き出された引数データを読み込み、前記引数データに従って、前記認証スレッドが前記記
憶部に記憶したサブセットデータにアクセスして前記コマンドを実行し、実行結果を戻り
値として前記メモリ部に書き出し、前記認証スレッドによる前記戻り値の書き出しを前記
非認証スレッドに通知する戻り値設定通知データを送信し、前記戻り値設定通知データの
受信に応じて、前記非認証スレッドが前記スクリプトプログラムに対して前記戻り値を返
すことが可能であるという効果を有する。
According to such a configuration of the present invention, the terminal receives a database engine that operates on a web browser from the web server and expands it, and at least master data of a database managed by the database server A script that operates on at least a web browser that performs user interface processing of the database, and a storage unit that temporarily stores subset data that is a part of the database from the database server via the web server In order to receive a program from the Web server and execute a command for operating the subset data stored in the storage unit according to the script program, the database engine is called with an unauthenticated thread with an argument, Unauthenticated thread Argument setting notification data for the database engine to write argument data representing the argument to the memory unit, and to notify the authentication thread of the database engine that is permitted to access the storage unit to write the argument data by the unauthenticated thread In response to receiving the argument setting notification data, the authentication thread reads the argument data written in the memory unit, and the authentication thread stores the subset data stored in the storage unit according to the argument data. Access and execute the command, write the execution result to the memory unit as a return value, send return value setting notification data for notifying the unauthenticated thread to write the return value by the authentication thread, and return the return value In response to the reception of the setting notification data, the unauthenticated thread It has the effect that it is possible to return the return value to the beam.
本発明に係る好適な実施形態の一例について、図面に基づいて以下に説明する。 An example of a preferred embodiment according to the present invention will be described below based on the drawings.
[システムの機能構成]
図1は、本発明の好適な実施形態の一例に係るコンピュータシステムを構成する各サー
バおよび端末の主要な構成を表すブロック図である。データベースサーバ10とWebサ
ーバ20と端末30とがネットワーク40を介して接続されている。これらの機器の数に
は制限はなく、1または複数で構成してよい。
[System functional configuration]
FIG. 1 is a block diagram showing a main configuration of each server and terminal constituting a computer system according to an example of a preferred embodiment of the present invention. The
データベースサーバ10は、データベースのマスターデータを管理し、データの検索、
挿入、削除、更新等の管理を行うデータベースエンジンを備える。また、必要に応じて当
該マスターデータの少なくとも一部を、Webサーバ20を介して端末30に送信する。
The
A database engine for managing insertion, deletion, update, etc. is provided. Further, at least a part of the master data is transmitted to the terminal 30 via the
Webサーバ20は、端末30におけるユーザインターフェースプログラムやビジネス
ロジックを含むアプリケーションプログラム(スクリプト312)および端末30上のデ
ータベースを管理するデータベースエンジン(データベースアプレット313)などのプ
ログラムを端末30に送信する。
The
なお、本実施例においてはデータベースサーバ10とWebサーバ20は別のコンピュ
ータで構成しているが、同一のコンピュータで構成してもよい。
In this embodiment, the
また、データベースエンジン(データベースアプレット313)は、Webサーバ20
のデータベース同期ロジック21と通信し、所定のタイミングでデータベースサーバ10
が管理する当該マスターデータと、端末30の記憶部(キャッシュ320)に記憶した当
該マスターデータの一部であるサブセットデータ(データベースファイル321)との同
期をおこなう。
In addition, the database engine (database applet 313) is the
The
Is synchronized with the subset data (database file 321) that is a part of the master data stored in the storage unit (cache 320) of the terminal 30.
端末30は、データベースサーバ10からオフライン動作に必要なデータとして受信し
たサブセットデータ(データベースファイル321)を記憶部130が備えるキャッシュ
320に記憶する。さらに、端末30は、Webサーバ20から受信した、Webブラウ
ザ310上で動作するアプリケーションプログラム(スクリプト312)とデータベース
エンジン(データベースアプレット313)とを実行し、Webブラウザ310上に動的
にWebページ311を表示・更新する。
The terminal 30 stores the subset data (database file 321) received as data necessary for the offline operation from the
スクリプト312の具体例としては、JavaScript等が挙げられる。また、表
示させるWebページの具体例としては、HTML、CSS、GIF、XML等で構成し
たものが挙げられる。
A specific example of the
当該アプリケーションプログラム(スクリプト312)とデータベースエンジン(デー
タベースアプレット313)は、Webブラウザ310上で動作し、端末30のOSやW
ebブラウザ310の種類には依存しない。
The application program (script 312) and the database engine (database applet 313) operate on the
It does not depend on the type of the
また、スクリプト312がデータベースアプレット313を呼び出す手法の例としては
、LiveConnect(登録商標)、ActiveX(登録商標)スクリプティング
等が挙げられる。
Further, examples of a method in which the
スクリプト312は、データベースアプレット313が返した実行結果データセットに
基づいて、JavaScript、DynamicHTML、DOM(Document
Object Model)等により、Webページを動的に生成又は更新し、画面に
反映させる。端末30は、その後再びユーザからの入力を受け付け、上述の処理を繰り返
す。
Based on the execution result data set returned by the
A Web page is dynamically generated or updated using Object Model) and reflected on the screen. The terminal 30 then accepts input from the user again and repeats the above process.
このような処理により、端末30は、オフライン状態においても端末30上のデータベ
ースエンジン(データベースアプレット313)が利用でき、動的にWebページを表示
させることができる。
By such processing, the terminal 30 can use the database engine (database applet 313) on the terminal 30 even in the offline state, and can dynamically display the Web page.
[各サーバおよび端末の構成]
図2は、本発明の好適な実施形態の一例に係るデータベースサーバ10、Webサーバ
20、端末30の構成を示すブロック図である。たとえば、データベースサーバ10にお
いて、制御部110、メモリ部120、記憶部130、通信インターフェース部140、
入力部150、表示部160は、バス170を介して接続されている。
[Configuration of each server and terminal]
FIG. 2 is a block diagram showing the configuration of the
The
以下、データベースサーバ10について説明する。
Hereinafter, the
制御部110は、情報の演算、処理を行う情報演算処理装置であり、CPU(Cent
ral Processing Unit)であってよい。また、制御部110はデータ
ベースサーバ10全体の制御を行い、記憶部130に記憶された各種プログラムを適宜読
み出してメモリ部120に展開して実行することにより、上述のハードウエアが協働し、
本発明に係る各種機能を実現している。
The
real Processing Unit). In addition, the
Various functions according to the present invention are realized.
表示部160は、ユーザにデータの入力を受け付ける画面を表示したり、データベース
サーバ10による演算処理結果の画面を表示したりするものであり、ブラウン管表示装置
(CRT)、液晶表示装置(LCD)等のディスプレイ装置を含む。
The
入力部150は、ユーザによる入力の受付を行うものであり、キーボード、ポインティ
ングデバイス等を含む。入力部150は、直接または介在I/Oコントローラを介してデ
ータベースサーバ10と接続することができる。
The
通信インターフェース部140は、データベースサーバ10を専用ネットワークまたは
公共ネットワークを介してWebサーバ20や端末30と接続できるようにするためのネ
ットワーク・アダプタである。通信インターフェース部140は、モデム、ケーブル・モ
デムおよびイーサネット(登録商標)・アダプタを含む。
The
メモリ部120は、制御部110と組み合わせてプログラムの実行に使用するローカル
メモリを含む。記憶部130は、大容量のバルクメモリ、および当該バルクメモリの検索
を効率的に行うために使用するキャッシュメモリを含む。メモリ部120および記憶部1
30を実現するコンピュータ可読媒体としては、電気的、磁気的、光学的、電磁的に実現
するものを含む。より具体的には、半導体記憶装置、磁気テープ、フレキシブルディスク
、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、CD−
ROMとCD−R/WとDVDとを含む光ディスクが含まれる。
The
Computer readable media that implement 30 include those that are implemented electrically, magnetically, optically, or electromagnetically. More specifically, a semiconductor storage device, magnetic tape, flexible disk, random access memory (RAM), read only memory (ROM), CD-
An optical disk including a ROM, a CD-R / W, and a DVD is included.
また、Webサーバ20、端末30もデータベースサーバ10と同様の構成を持つ。
Further, the
[認証スレッドと非認証スレッドの連携]
図3は、本発明の好適な実施形態の一例に係るシステムにおいて、認証スレッドと非認
証スレッドがメモリ316を介して連携し、端末30のWebブラウザ上でデータベース
エンジンを動作させる方法を示す図である。
[Coordination of authentication thread and non-authentication thread]
FIG. 3 is a diagram showing a method of operating the database engine on the web browser of the terminal 30 in the system according to an example of the preferred embodiment of the present invention, in which the authentication thread and the non-authentication thread cooperate via the
端末30のデータベースアプレット313は、認証スレッドにより端末30のキャッシ
ュ320を含む記憶部130へアクセスすることが許されているアプレットであってよく
、例えば、デジタル署名により第三者機関により認証されたアプレットである。データベ
ースアプレット313は、スクリプト312からデータベースエンジン314を呼び出す
ためのアプリケーションインターフェースであるAPI(Application Pr
ograming Interface)315、メモリ316(変数や待ち行列等のデ
ータ構造)、データベースエンジン314を持つ。
The
and an
ここで、データベースアプレット313は、キャッシュ320等のローカル資源にアク
セスすることができない非認証スレッド317と、ローカル資源にアクセスすることが許
された認証スレッド318と、の2種類のスレッドで動作する。
Here, the
非認証スレッド317は、ユーザのWebページ311の操作やタイマー等のイベント
により発生したスレッドで、スクリプト312を動作させ、データベースアプレット31
3のAPIを呼び出して実行する。
The
3 API is called and executed.
認証スレッド318は、データベースアプレット313が生成したスレッドで、データ
ベースエンジン314を動作させ、データベースファイル321を操作する。非認証スレ
ッド317と認証スレッド318とは図5を用いて後述するように、メモリ316を介し
て連携する。
The
[動的なWebページ表示処理]
図4は、本発明の好適な実施形態の一例に係るシステムにおける、動的なWebページ
表示処理を示すフローチャートである。
[Dynamic Web page display processing]
FIG. 4 is a flowchart showing dynamic Web page display processing in the system according to an example of the preferred embodiment of the present invention.
まず、Webブラウザ310がユーザによる入力操作を受け付けたり、ビジネスロジッ
クを実行したりすることにより、イベントが発生すると、端末30の制御部110は、対
応するスクリプト312を呼び出す(ステップS111)。
First, when an event occurs as the
さらに、端末30の制御部110は、スクリプト312に従ってデータベースコマンド
を生成し(ステップS112)、引数を設定してデータベースエンジン(データベースア
プレット313)を呼び出す(ステップS113)。より具体的には、引数として例えば
SQLのSelect文を設定してデータベースエンジン(データベースアプレット31
3)のコマンドを呼び出す。
Further, the
Call the command of 3).
次に、端末30の制御部110は、データベースエンジン(データベースアプレット3
13)により当該引数に基づいてデータベースコマンドを実行し(ステップS114)、
データベースファイル321の操作を行なう(ステップS115)。
Next, the
13) executes a database command based on the argument (step S114),
The
当該データベースファイル321の操作の結果、データベースコマンドの実行結果とし
ての結果セットを得た場合(ステップS116)には、端末30の制御部110は、スク
リプト312により、データベースエンジン(データベースアプレット313)からの戻
り値としての当該結果セットを読み込む(ステップS117)。場合によっては、結果セ
ットがない場合もあり、その場合には戻り値NULLがスクリプト312に返される。
When the result set as the execution result of the database command is obtained as a result of the operation of the database file 321 (step S116), the
次に、端末30の制御部110は、スクリプト312により、データベースエンジン(
データベースアプレット313)からの戻り値として読み込んだ結果セットに基づいて動
的にWebページを生成・更新する(ステップS118)。
Next, the
A Web page is dynamically generated and updated based on the result set read as a return value from the database applet 313) (step S118).
[認証スレッドと非認証スレッドの連携の詳細]
図5は、本発明の好適な実施形態の一例に係るシステムの端末30において、認証スレ
ッド318と非認証スレッド317がメモリ316を介して連携し、データベースコマン
ドを実行する方法の詳細を示すフローチャートである。図の左側が非認証スレッド317
による処理、右側が認証スレッド318による処理を表す。
[Details of linking authentication and non-authentication threads]
FIG. 5 is a flowchart showing details of a method in which the
The right side represents processing by the
まず、端末30の制御部110は、スクリプト312により、データベースエンジン3
14のAPI315に引数値を設定して呼び出し、データベースコマンドの実行を開始す
る。
First, the
The
次に、端末30の制御部110は、データベースアプレット313の非認証スレッド3
17により該設定されたAPI315の引数値を取得する(ステップS211)。具体的
には、例えば、dbms.execute(“select(・・・)”)といったコマ
ンドの引数値を取得する。
Next, the
The argument value of the
次に、端末30の制御部110は、非認証スレッド317により、当該引数値を表す引
数データをメモリ316(メモリ部120)に書き出すことにより設定する(ステップS
212)とともに、認証スレッド318に対して引数値の設定が完了した旨を通知するデ
ータ(引数設定通知データ)を送信し(ステップS213)、認証スレッド318からの
通知を待つ(ステップS214)。
Next, the
212), data (argument setting notification data) notifying that the setting of the argument value has been completed is transmitted to the authentication thread 318 (step S213), and a notification from the
次に、端末30の制御部110は、非認証スレッド317により、認証スレッド318
から、戻り値の設定が完了した旨を通知するデータ(戻り値設定通知データ)を受信した
ことに応じて(ステップS215)、メモリ316(メモリ部120)から戻り値を読み
出すことにより取得し、API315の戻り値として設定する(ステップS216)。
Next, the
In response to receiving data (return value setting notification data) notifying that the setting of the return value has been completed (step S215), it is obtained by reading the return value from the memory 316 (memory unit 120), It is set as a return value of the API 315 (step S216).
一方、端末30の制御部110は、認証スレッド318により、非認証スレッド317
からの通知を待機している(ステップS311)。
On the other hand, the
(Step S311).
そして、端末30の制御部110は、認証スレッド318により、引数値の設定が完了
した旨を通知するデータを受信したことに応じて、当該引数値をメモリ316(メモリ部
120)から取得する(ステップS312)。
Then, the
次に、端末30の制御部110は、認証スレッド318により、データベースファイル
321の操作を行う(ステップS313)。より具体的には、例えば前記引数値によって
指定されたSelect文の実行などを行なう。
Next, the
次に、端末30の制御部110は、認証スレッド318により、前記データベースファ
イル321の操作の結果に基づいてメモリ316(メモリ部120)へ戻り値を設定し(
ステップS314)、非認証スレッド317に当該戻り値の設定が完了した旨を通知する
データ(戻り値設定通知データ)を送信する(ステップS315)。
Next, the
In step S314), data (return value setting notification data) notifying that the setting of the return value has been completed is transmitted to the unauthenticated thread 317 (step S315).
このようにして、端末30の認証スレッド318は、次の非認証スレッド317からの
通知を待ち、上述の一連の処理を繰り返す。
In this way, the
端末30の制御部110は、上述のように非認証スレッド317と認証スレッド318
とをメモリ316(メモリ部120)を介して連携させ、端末30においてデータベース
コマンドを実行することになる。
As described above, the
Are linked via the memory 316 (memory unit 120), and the database command is executed in the terminal 30.
[データベース同期処理]
図6は、本発明の好適な実施形態の一例に係るシステムにおける、データベース同期処
理を示すフローチャートである。
[Database synchronization processing]
FIG. 6 is a flowchart showing database synchronization processing in the system according to an example of the preferred embodiment of the present invention.
まず、端末30の制御部110は、所定のタイミングで同期処理を開始する。
First, the
ここで所定のタイミングは、端末30の起動時や終了時、ユーザの操作を受け付けたタ
イミングで決めるか、あるいはユーザの操作とは無関係に決めてもよい。オフライン時に
は、何回か当該同期処理を繰り返し試みてもよい。
Here, the predetermined timing may be determined when the terminal 30 is activated or terminated, at a timing when a user operation is accepted, or may be determined regardless of the user operation. When offline, the synchronization process may be repeated several times.
データベースサーバ10へアップロードすべきデータがある場合には(ステップS41
1)、端末30の制御部110は、記憶部130からデータベースファイル321を読み
込み(ステップS412)、当該読み込んだデータベースファイル321を、Webサー
バ20を介してデータベースサーバ10へアップロードする(ステップS413)。
If there is data to be uploaded to the database server 10 (step S41)
1) The
同様に、端末30の制御部110は、データベースサーバ10にダウンロードすべきデ
ータがある場合には(ステップS414)、端末30の制御部110は、Webサーバ2
0を介して、データベースサーバ10からデータをダウンロードする(ステップS415
)。さらに、端末30の制御部110は、当該ダウンロードしたデータを、記憶部130
にデータベースファイル321として書き出す(ステップS416)。
Similarly, when there is data to be downloaded to the database server 10 (step S414), the
0, data is downloaded from the database server 10 (step S415).
). Further, the
Is written out as a database file 321 (step S416).
なお、上述のアップロードすべきデータがあるかどうかの判断やダウンロードすべきデ
ータがあるかどうかの判断は、差分データの発生の有無、定期的なメンテナンスなど、適
宜設定されたルールに従ってなされてよい。
The determination as to whether there is data to be uploaded or whether there is data to be downloaded may be made according to appropriately set rules, such as whether differential data has been generated or periodic maintenance.
[認証確認処理]
図7は、データベースエンジン(データベースアプレット313)にローカル資源への
アクセスを許可するか否かをユーザに問い合わせる方法を示すフローチャートである。
[Authentication confirmation processing]
FIG. 7 is a flowchart showing a method for inquiring a user whether or not to allow the database engine (database applet 313) to access local resources.
まず、端末30の制御部110は、Webサーバ20から最初にデータベースエンジン
(データベースアプレット313)を受信したことに応じて、端末30のユーザに対して
、当該データベースエンジン(データベースアプレット313)に、端末30の記憶部1
30などのローカル資源にアクセスする許可を与えるか否かを問い合わせる(ステップS
511)。
First, in response to the first reception of the database engine (database applet 313) from the
An inquiry is made as to whether or not to grant access to a local resource such as 30 (step S
511).
図8は、端末30のユーザに対してデータベースエンジン(データベースアプレット3
13)にローカル資源へのアクセスを許可するか否かを問い合わせるための画面の一例を
示す図である。この例においては、「RemoteDB.jar」というデータベースエ
ンジン(データベースアプレット313)に対して、許可を与えるか否かを問い合わせて
いる。
FIG. 8 shows a database engine (database applet 3) for the user of the terminal 30.
It is a figure which shows an example of the screen for inquiring whether access to a local resource is permitted to 13). In this example, the database engine (database applet 313) “RemoteDB.jar” is inquired whether permission is granted.
次に、端末30の制御部110は、ユーザの操作により、当該データベースエンジン(
データベースアプレット313)に端末30のローカル資源へのアクセスを許可する旨の
指示を受け付けたことに応じて、当該データベースエンジン(データベースアプレット3
13)に対して前記記憶部にアクセスする許可を与える(ステップS512)。
Next, the
In response to receiving an instruction to permit access to the local resource of the terminal 30 to the database applet 313), the database engine (database applet 3)
13) is given permission to access the storage unit (step S512).
ここで、当該データベースエンジン(データベースアプレット313)は、ユーザの操
作により一度端末30のローカル資源へのアクセスを許可されれば、当該データベースエ
ンジン(データベースアプレット313)がそれ以降生成するスレッドは、認証スレッド
として同様に端末30のローカル資源へのアクセス許可が与えられることになる。
Here, once the database engine (database applet 313) is permitted to access the local resources of the terminal 30 once by the user's operation, the thread that the database engine (database applet 313) generates thereafter is an authentication thread. Similarly, the access permission to the local resource of the terminal 30 is given.
従って、例えば、本発明の原理を応用した業務アプリケーションを運用する場合には、
各端末において、一度だけデータベースエンジン(データベースアプレット313)に対
してユーザが当該端末のローカル資源へのアクセス許可を与えれば、それ以降は、当該端
末は当該業務アプリケーションの端末として、Webブラウザ上で動作するデータベース
エンジンを利用した業務アプリケーションを実行可能となる。
Therefore, for example, when operating a business application applying the principle of the present invention,
At each terminal, if the user gives the database engine (database applet 313) access permission to the local resource of the terminal only once, the terminal operates as a terminal of the business application on the Web browser thereafter. It is possible to execute business applications using the database engine.
このように、本発明によれば、POSシステムのような止められないフロント業務を伴
うアプリケーションを、オフライン状態においても使用可能な端末を提供するために、端
末側においてオフラインでも実行可能なデータベースエンジンを提供することができる。
Thus, according to the present invention, in order to provide a terminal that can use an application with an unstoppable front service such as a POS system even in an offline state, a database engine that can be executed offline on the terminal side is provided. Can be provided.
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るもので
はない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果
を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定され
るものではない。
As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.
10 データベースサーバ、20 Webサーバ、30 端末、110 制御部、12
0 メモリ部、130 記憶部、140 通信インターフェース、150 入力部、16
0 表示部、170 バス
10 database server, 20 Web server, 30 terminal, 110 control unit, 12
0 memory unit, 130 storage unit, 140 communication interface, 150 input unit, 16
0 display, 170 buses
Claims (7)
するデータベースエンジンを前記Webサーバから受信して展開するメモリ部と、少なく
とも前記データベースサーバが管理しているデータベースのマスターデータの一部である
サブセットデータを、前記Webサーバを介して前記データベースサーバから受信して一
時的に記憶する記憶部と、を備え、
少なくとも前記データベースのユーザインターフェース処理を行うWebブラウザ上で
動作するスクリプトプログラムを前記Webサーバから受信するステップと、
前記スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操
作するコマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数
を設定して呼び出すステップと、
前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出すステップと
、
前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする許
可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを送
信するステップと、
前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出さ
れた引数データを読み込むステップと、
前記引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータ
にアクセスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出す
ステップと、
前記認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値
設定通知データを送信するステップと、
前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプロ
グラムに対して前記戻り値を返すステップと、を含む方法。 A memory unit that a terminal that can be connected to the Web server and the database server receives a database engine that operates on a Web browser from the Web server and expands it, and at least a part of master data of a database managed by the database server A storage unit that receives the subset data from the database server via the Web server and temporarily stores the subset data,
Receiving at least a script program operating on a web browser that performs user interface processing of the database from the web server;
In accordance with the script program, in order to execute a command for manipulating the subset data stored in the storage unit, calling the database engine with an unauthenticated thread, setting an argument;
Writing the argument data representing the argument by the unauthenticated thread to the memory unit;
Sending argument setting notification data to notify the authentication thread of the database engine that is permitted to access the storage unit to write the argument data by the unauthenticated thread;
In response to receiving the argument setting notification data, the authentication thread reads the argument data written to the memory unit;
According to the argument data, the authentication thread accesses the subset data stored in the storage unit to execute the command, and writes an execution result to the memory unit as a return value;
Sending return value setting notification data for notifying the unauthenticated thread of writing of the return value by the authentication thread;
A method in which the unauthenticated thread returns the return value to the script program in response to receiving the return value setting notification data.
応じて、前記データベースの認証スレッドに前記記憶部へのアクセスを許可するか否かを
前記端末のユーザに対して問い合わせるための画面を表示するステップと、
前記ユーザの操作により前記認証スレッドに前記アクセスを許可する旨の指示を受け付
けたことに応じて、前記データベースエンジンの認証スレッドに対して前記記憶部にアク
セスする許可を与えるステップと、をさらに含む請求項1に記載の方法。 In response to first receiving the database engine from the web server, the terminal inquires of the user of the terminal whether or not to allow the database authentication thread to access the storage unit. A step of displaying a screen;
Further comprising: granting access to the storage unit to the authentication thread of the database engine in response to receiving an instruction to permit the access to the authentication thread by the user's operation. Item 2. The method according to Item 1.
ドにより、前記データベースサーバが管理しているマスターデータの少なくとも一部を前
記データベースサーバから送信することを要求するデータを、前記Webサーバに送信す
るステップと、
前記データベースエンジンの認証スレッドにより、前記Webサーバを介して、前記デ
ータベースサーバが管理しているマスターデータの少なくとも一部を受信し、前記記憶部
に記憶しているサブセットデータを更新するステップと、をさらに含む請求項1または請
求項2に記載の方法。 Data that requests that the terminal transmit at least a part of master data managed by the database server from the database server to the Web server by an authentication thread of the database engine at a predetermined reception timing. Sending, and
Receiving at least a part of master data managed by the database server via the web server by the authentication thread of the database engine, and updating subset data stored in the storage unit; The method according to claim 1 or 2, further comprising:
ドにより、前記記憶部に記憶しているサブセットデータの少なくとも一部を、前記Web
サーバを介して前記データベースサーバへ送信するステップをさらに含む請求項1から請
求項3のいずれかに記載の方法。 At a predetermined transmission timing, the terminal uses the authentication thread of the database engine to transfer at least a part of the subset data stored in the storage unit to the Web
The method according to claim 1, further comprising transmitting to the database server via a server.
ドにより、前記データベースサーバが管理しているマスターデータのうち前回の受信タイ
ミング以降に前記データベースサーバによって更新をされたマスターデータを前記データ
ベースサーバから送信することを要求するデータを、前記Webサーバに送信するステッ
プと、
前記データベースエンジンの認証スレッドにより、前記Webサーバを介して当該更新
をされたマスターデータを前記データベースサーバから受信し、前記記憶部に記憶してい
るサブセットデータを更新するステップと、をさらに含む請求項1または請求項2に記載
の方法。 At the predetermined reception timing, the database server stores the master data updated by the database server since the previous reception timing among the master data managed by the database server by the authentication thread of the database engine at a predetermined reception timing. Transmitting data requesting to be transmitted from the web server;
Receiving the updated master data from the database server via the Web server by the authentication thread of the database engine and updating the subset data stored in the storage unit. 3. A method according to claim 1 or claim 2.
ドにより、前記データベースサーバから受信して前記記憶部に記憶したサブセットデータ
のうち前回の送信タイミング以降に前記端末が更新したサブセットデータを、前記Web
サーバを介して前記データベースサーバへ送信するステップをさらに含む請求項1、請求
項2、請求項5のいずれかに記載の方法。 Subset data updated by the terminal since the previous transmission timing among subset data received from the database server and stored in the storage unit by an authentication thread of the database engine at a predetermined transmission timing, The web
6. The method according to claim 1, further comprising transmitting to the database server via a server.
を実行する端末であって、
Webブラウザ上で動作するデータベースエンジンを前記Webサーバから受信して展
開するメモリ部と、少なくとも前記データベースサーバが管理しているデータベースのマ
スターデータの一部であるサブセットデータを、前記Webサーバを介して前記データベ
ースサーバから受信して一時的に記憶する記憶部と、を備え、
少なくとも前記データベースのユーザインターフェース処理を行うWebブラウザ上で
動作するスクリプトプログラムを前記Webサーバから受信する手段と、
前記スクリプトプログラムに従って、前記記憶部に記憶した前記サブセットデータを操
作するコマンドを実行するために、前記データベースエンジンを非認証スレッドで、引数
を設定して呼び出す手段と、
前記非認証スレッドが前記引数を表す引数データを前記メモリ部に書き出す手段と、
前記非認証スレッドによる前記引数データの書き出しを、前記記憶部にアクセスする許
可が与えられたデータベースエンジンの認証スレッドに通知する引数設定通知データを送
信する手段と、
前記引数設定通知データの受信に応じて、前記認証スレッドが前記メモリ部に書き出さ
れた引数データを読み込む手段と、
前記引数データに従って、前記認証スレッドが前記記憶部に記憶したサブセットデータ
にアクセスして前記コマンドを実行し、実行結果を戻り値として前記メモリ部に書き出す
手段と、
前記認証スレッドによる前記戻り値の書き出しを前記非認証スレッドに通知する戻り値
設定通知データを送信する手段と、
前記戻り値設定通知データの受信に応じて、前記非認証スレッドが前記スクリプトプロ
グラムに対して前記戻り値を返す手段と、を備える端末。
A terminal that can be connected to a Web server and a database server and that executes processing related to a database,
A memory unit that receives and expands a database engine that operates on a web browser from the web server, and at least subset data that is a part of master data of a database managed by the database server via the web server A storage unit that receives from the database server and temporarily stores the data;
Means for receiving at least a script program operating on a web browser that performs user interface processing of the database from the web server;
In accordance with the script program, in order to execute a command for operating the subset data stored in the storage unit, means for calling the database engine with an unauthenticated thread by setting an argument;
Means for writing argument data representing the argument by the unauthenticated thread to the memory unit;
Means for sending argument setting notification data for notifying the authentication thread of the database engine, which is permitted to access the storage unit, to write the argument data by the unauthenticated thread;
Means for reading the argument data written in the memory unit by the authentication thread in response to receiving the argument setting notification data;
Means for accessing the subset data stored in the storage unit by the authentication thread according to the argument data, executing the command, and writing an execution result to the memory unit as a return value;
Means for sending return value setting notification data for notifying the unauthenticated thread of writing of the return value by the authentication thread;
A terminal provided with means for the non-authenticated thread to return the return value to the script program in response to reception of the return value setting notification data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006046466A JP2007226508A (en) | 2006-02-23 | 2006-02-23 | Method of operating database engine received from web server at terminal connectable to network, and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006046466A JP2007226508A (en) | 2006-02-23 | 2006-02-23 | Method of operating database engine received from web server at terminal connectable to network, and terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007226508A true JP2007226508A (en) | 2007-09-06 |
Family
ID=38548276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006046466A Withdrawn JP2007226508A (en) | 2006-02-23 | 2006-02-23 | Method of operating database engine received from web server at terminal connectable to network, and terminal |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007226508A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2009139437A1 (en) * | 2008-05-14 | 2011-09-22 | 日本電気株式会社 | Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof |
JP2012533823A (en) * | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | Communicate information about the local machine to the browser application |
US8601166B2 (en) | 2008-05-14 | 2013-12-03 | Nec Corporation | Information processing system and information processing method for generating distribution and synchronization rules in a client/server environment based on operation environment data |
-
2006
- 2006-02-23 JP JP2006046466A patent/JP2007226508A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2009139437A1 (en) * | 2008-05-14 | 2011-09-22 | 日本電気株式会社 | Client device, control method thereof, program, server device, control method thereof, communication system, and control method thereof |
US8601166B2 (en) | 2008-05-14 | 2013-12-03 | Nec Corporation | Information processing system and information processing method for generating distribution and synchronization rules in a client/server environment based on operation environment data |
JP5455069B2 (en) * | 2008-05-14 | 2014-03-26 | 日本電気株式会社 | Information processing system and information processing method |
JP2012533823A (en) * | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | Communicate information about the local machine to the browser application |
US9471554B2 (en) | 2009-07-20 | 2016-10-18 | Facebook, Inc. | Communicating information about a local machine to a browser application |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230067314A1 (en) | Security model for live applications in a cloud collaboration platform | |
EP3408744B1 (en) | Providing access to a hybrid application offline | |
US11106759B2 (en) | Predictive resource identification and phased delivery of structured documents | |
US10785322B2 (en) | Server side data cache system | |
US20170177736A1 (en) | Caching pagelets of structured documents | |
AU2015363218B2 (en) | No password user account access | |
US9436763B1 (en) | Infrastructure enabling intelligent execution and crawling of a web application | |
US8230046B2 (en) | Setting cookies in conjunction with phased delivery of structured documents | |
US9521184B2 (en) | Efficient storage and retrieval of resources for rendering structured documents | |
US10261996B2 (en) | Content localization using fallback translations | |
US20170193034A1 (en) | Object data updating method and apparatus in an object storage system | |
AU2014223495B2 (en) | Caching pagelets of structured documents | |
EP2307977A1 (en) | System and method for dynamic partitioning of applications in client-server environments | |
US20110055194A1 (en) | System and Method for Asynchronous Crawling of Enterprise Applications | |
US10878089B2 (en) | Identifying malware based on content item identifiers | |
US20200151279A1 (en) | Web application architecture for information management | |
KR20220083838A (en) | Method and apparatus for creating a mirror image file, and a computer-readable storage medium | |
US20160147544A1 (en) | Assisted client application accessibility | |
US10078433B2 (en) | Sharing a template file | |
JP2007226508A (en) | Method of operating database engine received from web server at terminal connectable to network, and terminal | |
KR101762861B1 (en) | Programmable computation system using one or more function modules, method for processing information using one or more function modules and computer program for the same | |
JP2007226507A (en) | Method of dynamically displaying web page at terminal connectable to network, and terminal | |
JP2009080587A (en) | Data transfer server | |
US20200174970A1 (en) | Demand based file replication | |
CN115695316A (en) | Back-end interface access method and device, computer equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090512 |