(57)【要約】      （修正有）【課題】クライアントアプリケーション開発の手間および配布時のネットワーク負荷を削減する。【解決手段】画面部品オブジェクトに入力された入力データを、クライアント画面オブジェクトが有する画面用記憶領域を経由して別の画面部品オブジェクトに転送する。また、画面用記憶領域に書き出されたデータを基にサーバ４０へクエリを発行する。また、画面部品の配置情報をサーバ４０側に有し、これを参照して画面部品の配置を行う。【選択図】図１
2007206874.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末とサーバを有するクライアントサーバ型システムにおいて、
前記クライアント端末はクライアント演算手段及び表示手段を備え、
前記サーバはサーバ演算手段及びサーバ記憶手段を備え、
前記クライアント演算手段は、
前記表示手段にクライアント画面オブジェクトを表示させるとともに、該クライアント画面オブジェクト上に１つ以上の画面部品オブジェクトを表示させ、
前記クライアント画面オブジェクトがデータを保持するための画面用記憶領域を確保すると共に、前記画面部品オブジェクトがデータを保持するための画面部品用記憶領域を前記画面部品オブジェクト毎に確保し、
データ入力用の前記画面部品オブジェクトの少なくとも１つに対してデータが入力されると、当該入力データをその画面部品オブジェクトが有する画面部品用記憶領域に格納し、次に当該入力データを前記クライアント画面オブジェクトが有する画面用記憶領域に書き出した後に、当該書き出された入力データを読み取って他の画面部品オブジェクトに転送することを特徴とするクライアントサーバ型システム。
【請求項２】
前記クライアント演算手段は、前記クライアント画面オブジェクトが有する画面用記憶領域に書き出された入力データに基づいて前記サーバにクエリを発行し、
クエリ結果を結果表示用の前記画面部品オブジェクトに表示することを特徴とする請求項１に記載のクライアントサーバ型システム。
【請求項３】
前記クライアント演算手段は、前記表示手段に前記クライアント画面オブジェクト及び前記画面部品オブジェクトを表示させる際に、
前記サーバ記憶手段に格納された画面配置情報を前記サーバ記憶手段から取得して前記クライアント画面オブジェクト上の前記画面部品オブジェクトの配置を行うことを特徴とする請求項１ないし請求項２のいずれかに記載のクライアントサーバ型システム。
【請求項４】
前記サーバ記憶手段は、前記画面用記憶領域への書き出し先番号を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記書き出し先番号を参照し、
データ入力用の前記画面部品オブジェクトに入力された入力データを、前記画面用記憶領域の該書き出し先番号に相当する場所に書き出すことを特徴とする請求項１ないし請求項３のいずれかに記載のクライアントサーバ型システム。
【請求項５】
前記サーバ記憶手段は、前記画面用記憶領域の読み取り元番号を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記読み取り元番号を参照し、
前記画面用記憶領域の該読み取り元番号に相当する場所のデータを読み取ることを特徴とする請求項１ないし請求項４のいずれかに記載のクライアントサーバ型システム。
【請求項６】
前記サーバ記憶手段は、クエリを行うためのクエリ句文言を前記クライアント画面毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記クエリ句文言を参照し、
該クエリ句文言を使用して前記サーバへクエリを発行することを特徴とする請求項２ないし請求項５のいずれかに記載のクライアントサーバ型システム。
【請求項７】
前記サーバ記憶手段は、クエリに付加する条件句文言を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記条件句文言を参照し、
該条件句文言を使用して前記サーバへクエリを発行することを特徴とする請求項２ないし請求項６のいずれかに記載のクライアントサーバ型システム。
【請求項８】
前記サーバ記憶手段は、前記画面用記憶領域に書き出されたデータのうち、クエリの条件値として設定するデータの番号を示すクエリ条件値番号を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行する際に前記画面部品オブジェクトに入力された値を該クエリの条件値として設定する場合、
前記クエリ条件値番号を参照し、前記画面用記憶領域に書き出されたデータの該クエリ条件値番号に相当する場所のデータを該クエリの条件値として設定することを特徴とする請求項２ないし請求項７のいずれかに記載のクライアントサーバ型システム。
【請求項９】
前記サーバ記憶手段は、クエリ結果を表示すべき位置を示す結果表示位置情報を、クエリ結果を表示する前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行し、該クエリ結果を受け取る際に、前記結果表示位置情報を参照し、
該クエリ結果を表示するための前記画面部品オブジェクト内の、該結果表示位置情報に相当する場所に該クエリ結果を表示することを特徴とする請求項２ないし請求項８のいずれかに記載のクライアントサーバ型システム。
【請求項１０】
前記サーバ記憶手段は、クエリを発行するためのクエリプログラムを格納し、かつ該クエリプログラムの格納場所を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行する際に前記クエリプログラムの格納場所を参照し、該格納場所のクエリプログラムにリクエストを発行し、
前記サーバ演算手段が該クエリプログラムを実行して前記クライアント演算手段に実行結果を返すことを特徴とする請求項１ないし請求項９のいずれかに記載のクライアントサーバ型システム。
【請求項１１】
前記サーバ記憶手段は、前記画面部品オブジェクトを前記クライアント画面オブジェクト上に表示するか否かを示す画面部品要否情報を前記クライアント画面オブジェクト毎および前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記クライアント画面オブジェクト上に前記画面部品オブジェクトを表示する際に、前記画面部品要否情報を参照し、
該画面部品要否情報に表示する旨が設定された前記画面部品オブジェクトのみを表示することを特徴とする請求項１ないし請求項１０のいずれかに記載のクライアントサーバ型システム。
【請求項１２】
前記サーバ記憶手段は、前記画面部品オブジェクトの入力書式を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記入力書式を参照し、前記画面部品オブジェクトの入力書式を設定し、
前記画面部品オブジェクトにデータが入力される際に、該入力書式に合致しない入力値を排除することを特徴とする請求項１ないし請求項１１のいずれかに記載のクライアントサーバ型システム。
【請求項１３】
前記サーバ記憶手段は、前記画面部品オブジェクトの表示書式を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記表示書式を参照し、前記画面部品オブジェクトの表示書式を設定し、
該表示書式に合わせて前記画面部品オブジェクトおよび該画面部品オブジェクトが保持するデータを前記表示手段に表示することを特徴とする請求項１ないし請求項１２のいずれかに記載のクライアントサーバ型システム。
【請求項１４】
前記画面部品オブジェクトが有する画面部品用記憶領域及び前記クライアント画面オブジェクトが有する画面用記憶領域は、データ配列によって構成されていることを特徴とする請求項１ないし請求項１３のいずれかに記載のクライアントサーバ型システム。
【請求項１５】
前記クライアント端末にクライアント記憶手段を設け、
前記サーバ演算手段は、前記画面配置情報を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記画面配置情報を格納し、
前記クライアント演算手段は、前記表示手段に前記クライアント画面オブジェクト及び前記画面部品オブジェクトを表示させる際に、
前記クライアント記憶手段に格納された画面配置情報を用いて前記クライアント画面オブジェクト上の前記画面部品オブジェクトの配置を行うことを特徴とする請求項１ないし請求項２のいずれかに記載のクライアントサーバ型システム。
【請求項１６】
前記サーバ記憶手段は、前記画面用記憶領域への書き出し先番号を前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記書き出し先番号を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記書き出し先番号を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記書き出し先番号を参照し、
データ入力用の前記画面部品オブジェクトに入力された入力データを、前記画面用記憶領域の該書き出し先番号に相当する場所に書き出すことを特徴とする請求項１５に記載のクライアントサーバ型システム。
【請求項１７】
前記サーバ記憶手段は、前記画面用記憶領域の読み取り元番号を前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記読み取り元番号を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記読み取り元番号を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記読み取り元番号を参照し、
前記画面用記憶領域の該読み取り元番号に相当する場所のデータを読み取ることを特徴とする請求項１５ないし請求項１６のいずれかに記載のクライアントサーバ型システム。
【請求項１８】
前記サーバ記憶手段は、クエリを行うためのクエリ句文言を前記クライアント画面毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記サーバ演算手段は、前記クエリ句文言を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記クエリ句文言を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記クエリ句文言を参照し、
該クエリ句文言を使用して前記サーバへクエリを発行することを特徴とする請求項１５ないし請求項１７のいずれかに記載のクライアントサーバ型システム。
【請求項１９】
前記サーバ記憶手段は、クエリに付加する条件句文言を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記サーバ演算手段は、前記条件句文言を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記条件句文言を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記条件句文言を参照し、
該条件句文言を使用して前記サーバへクエリを発行することを特徴とする請求項１５ないし請求項１８のいずれかに記載のクライアントサーバ型システム。
【請求項２０】
前記サーバ記憶手段は、前記画面用記憶領域に書き出されたデータのうち、クエリの条件値として設定するデータの番号を示すクエリ条件値番号を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記サーバ演算手段は、前記クエリ条件値番号を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記クエリ条件値番号を格納し、
前記クライアント演算手段は、前記サーバへクエリを発行する際に前記画面部品オブジェクトに入力された値を該クエリの条件値として設定する場合、
前記クライアント記憶手段に格納された前記クエリ条件値番号を参照し、前記画面用記憶領域に書き出されたデータの該クエリ条件値番号に相当する場所のデータを該クエリの条件値として設定することを特徴とする請求項１５ないし請求項１９のいずれかに記載のクライアントサーバ型システム。
【請求項２１】
前記サーバ記憶手段は、クエリ結果を表示すべき位置を示す結果表示位置情報を、クエリ結果を表示する前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記結果表示位置情報を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記結果表示位置情報を格納し、
前記クライアント演算手段は、前記サーバへクエリを発行し、該クエリ結果を受け取る際に、前記クライアント記憶手段に格納された前記結果表示位置情報を参照し、
該クエリ結果を表示するための前記画面部品オブジェクト内の、該結果表示位置情報に相当する場所に該クエリ結果を表示することを特徴とする請求項１５ないし請求項２０のいずれかに記載のクライアントサーバ型システム。
【請求項２２】
前記サーバ記憶手段は、クエリを発行するためのクエリプログラムを格納し、かつ該クエリプログラムの格納場所を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記サーバ演算手段は、前記クエリプログラムの格納場所を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記クエリプログラムの格納場所を格納し、
前記クライアント演算手段は、前記サーバへクエリを発行する際に、前記クライアント記憶手段に格納された前記クエリプログラムの格納場所を参照し、該格納場所のクエリプログラムにリクエストを発行し、
前記サーバ演算手段が該クエリプログラムを実行して前記クライアント演算手段に実行結果を返すことを特徴とする請求項１５ないし請求項２１のいずれかに記載のクライアントサーバ型システム。
【請求項２３】
前記サーバ記憶手段は、前記画面部品オブジェクトを前記クライアント画面オブジェクト上に表示するか否かを示す画面部品要否情報を前記クライアント画面オブジェクト毎および前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記画面部品要否情報を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記画面部品要否情報を格納し、
前記クライアント演算手段は、前記クライアント画面オブジェクト上に前記画面部品オブジェクトを表示する際に、前記クライアント記憶手段に格納された前記画面部品要否情報を参照し、
該画面部品要否情報に表示する旨が設定された前記画面部品オブジェクトのみを表示することを特徴とする請求項１５ないし請求項２２のいずれかに記載のクライアントサーバ型システム。
【請求項２４】
前記サーバ記憶手段は、前記画面部品オブジェクトの入力書式を前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記入力書式を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記入力書式を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記入力書式を参照し、前記画面部品オブジェクトの入力書式を設定し、
前記画面部品オブジェクトにデータが入力される際に、該入力書式に合致しない入力値を排除することを特徴とする請求項１５ないし請求項２３のいずれかに記載のクライアントサーバ型システム。
【請求項２５】
前記サーバ記憶手段は、前記画面部品オブジェクトの表示書式を前記画面部品オブジェクト毎に格納しており、
前記サーバ演算手段は、前記表示書式を前記クライアント端末に配信し、前記クライアント演算手段は前記クライアント記憶手段に前記表示書式を格納し、
前記クライアント演算手段は、前記クライアント記憶手段に格納された前記表示書式を参照し、前記画面部品オブジェクトの表示書式を設定し、
該表示書式に合わせて前記画面部品オブジェクトおよび該画面部品オブジェクトが保持するデータを前記表示手段に表示することを特徴とする請求項１５ないし請求項２４のいずれかに記載のクライアントサーバ型システム。
【請求項２６】
前記画面部品オブジェクトが有する画面部品用記憶領域及び前記クライアント画面オブジェクトが有する画面用記憶領域は、データ配列によって構成されていることを特徴とする請求項１５ないし請求項２５のいずれかに記載のクライアントサーバ型システム。
【請求項２７】
請求項１ないし請求項２６のいずれかに記載のクライアント演算手段の各処理をコンピュータに実行させることを特徴とするクライアントアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発と維持管理が容易なクライアントサーバ型システム及びクライアントアプリケーションプログラムに関する。
【背景技術】
【０００２】
従来のクライアントサーバ型システムでは、ソフトウェア配布を自動化するものとして、例えば「ネットワークを介し、ソフトウェアを配布元１００から配布先２ｎ０に配布するソフトウェア自動配布システムにおいて、少なくともソフトウェアのバージョン情報及び配布状況の履歴を蓄積するソフトウェア配布情報蓄積ファイルと１０６、蓄積ファイル１０６の情報を検索する管理手段１０４とを備え、管理手段１０４によって配布先及び切り戻し時間を指定することにより、配布が必要となるバージョンのソフトウェアの再配布を行う。」というものが提案されている（特許文献１参照）。
また、容易なアプリケーション開発とその資産流用、メンテナンスを可能とするものとして、例えば「クライアント・サーバシステムによるアプリケーション処理装置に於いて、利用者との会話処理を行う画面処理手段による画面操作イベントの発生を受け、各画面対応のイベント処理を行うジョブエレメントのイベント処理手段と、画面切替を伴う前記イベントの条件に基づき、次に実行するジョブエレメント名と次に表示する画面名を記憶する次処理記憶手段と、前記イベントを次処理記憶手段により解析し、選択されたジョブエレメントを起動状態にすると共に前記画面処理手段に次画面の表示指示を行う次画面表示指示手段とを備える」というものが提案されている（特許文献２参照）。
【特許文献１】特開２０００−２７６３３６号公報（要約）
【特許文献２】特開平１１−２３２１５１号公報（要約）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、既存のクライアントアプリケーションを修正した際には、修正後のクライアントアプリケーションを全てのクライアント端末に配布しなければならないが、配布対象のクライアント端末が数千台等の大規模に渡る場合には、配布の際のネットワークトラフィック量の増加によるレスポンス低下が懸念され、さらには配布後の動作確認も必要なこともあり、場合によっては業務を停止して確認作業を行う必要もあった。
また、業務アプリケーションに固有のドメイン情報に依存しない汎用的なクライアントアプリケーションは存在しないため、新しい業務アプリケーションを開発する際には改めてクライアントアプリケーションを設計開発しなければならないことに変わりはなく、結果として開発期間やコストの増大を招く傾向にあった。
【０００４】
本発明は、上記のような課題を解決するためになされたもので、クライアントアプリケーション配布時のネットワーク負荷を削減し、かつ配布後のクライアント側における動作確認を不要とし、また、クライアントアプリケーションの開発の工数を大幅に削減できるクライアントサーバ型システム及びクライアントアプリケーションプログラムを得るものである。
【課題を解決するための手段】
【０００５】
本発明に係るクライアントサーバ型システムは、クライアント端末とサーバを有し、
前記クライアント端末はクライアント演算手段及び表示手段を備え、
前記サーバはサーバ演算手段及びサーバ記憶手段を備え、
前記クライアント演算手段は、
前記表示手段にクライアント画面オブジェクトを表示させるとともに、該クライアント画面オブジェクト上に１つ以上の画面部品オブジェクトを表示させ、
前記クライアント画面オブジェクトがデータを保持するための画面用記憶領域を確保すると共に、前記画面部品オブジェクトがデータを保持するための画面部品用記憶領域を画面部品オブジェクト毎に確保し、
データ入力用の前記画面部品オブジェクトの少なくとも１つに対してデータが入力されると、当該入力データをその画面部品オブジェクトが有する画面部品用記憶領域に格納し、次に当該入力データを前記クライアント画面オブジェクトが有する画面用記憶領域に書き出した後に、当該書き出された入力データを読み取って他の画面部品オブジェクトに転送することを特徴とするものである。
【０００６】
また、本発明に係るクライアントサーバ型システムは、
前記クライアント演算手段が、前記クライアント画面オブジェクトが有する画面用記憶領域に書き出された入力データに基づいて前記サーバにクエリを発行し、
クエリ結果を結果表示用の前記画面部品オブジェクトに表示することを特徴とするものである。
【０００７】
また、本発明に係るクライアントサーバ型システムは、
前記クライアント演算手段が、前記表示手段にクライアント画面オブジェクト及び画面部品オブジェクトを表示させる際に、
前記サーバ記憶手段に格納された画面配置情報を前記サーバ記憶手段から取得して前記クライアント画面オブジェクト上の前記画面部品オブジェクトの配置を行うことを特徴とするものである。
【０００８】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、前記画面用記憶領域への書き出し先番号を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記書き出し先番号を参照し、
データ入力用の前記画面部品オブジェクトに入力された入力データを、前記画面用記憶領域の該書き出し先番号に相当する場所に書き出すことを特徴とするものである。
【０００９】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、前記画面用記憶領域の読み取り元番号を前記画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記読み取り元番号を参照し、
前記画面用記憶領域の該読み取り元番号に相当する場所のデータを読み取ることを特徴とするものである。
【００１０】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、クエリを行うためのクエリ句文言を前記クライアント画面毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記クエリ句文言を参照し、
該クエリ句文言を使用して前記サーバへクエリを発行することを特徴とするものである。
【００１１】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、クエリに付加する条件句文言を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記条件句文言を参照し、
該条件句文言を使用して前記サーバへクエリを発行することを特徴とするものである。
【００１２】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、前記画面用記憶領域に書き出されたデータのうち、クエリの条件値として設定するデータの番号を示すクエリ条件値番号を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行する際に前記画面部品オブジェクトに入力された値を該クエリの条件値として設定する場合、
前記クエリ条件値番号を参照し、前記画面用記憶領域に書き出されたデータの該クエリ条件値番号に相当する場所のデータを該クエリの条件値として設定することを特徴とするものである。
【００１３】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、クエリ結果を表示すべき位置を示す結果表示位置情報を、クエリ結果を表示する画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行し、該クエリ結果を受け取る際に、前記結果表示位置情報を参照し、
該クエリ結果を表示するための前記画面部品オブジェクト内の、該結果表示位置情報に相当する場所に該クエリ結果を表示することを特徴とするものである。
【００１４】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、クエリを発行するためのクエリプログラムを格納し、かつ該クエリプログラムの格納場所を前記クライアント画面オブジェクト毎もしくは前記クライアント画面オブジェクトと前記画面部品オブジェクトの組合せ毎に格納しており、
前記クライアント演算手段は、前記サーバへクエリを発行する際に前記クエリプログラムの格納場所を参照し、該格納場所のクエリプログラムにリクエストを発行し、
前記サーバ演算手段が該クエリプログラムを実行して前記クライアント演算手段に実行結果を返すことを特徴とするものである。
【００１５】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、前記画面部品オブジェクトを前記クライアント画面オブジェクト上に表示するか否かを示す画面部品要否情報をクライアント画面オブジェクト毎および画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記クライアント画面オブジェクト上に画面部品オブジェクトを表示する際に、前記画面部品要否情報を参照し、
該画面部品要否情報に表示する旨が設定された画面部品オブジェクトのみを表示することを特徴とするものである。
【００１６】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、画面部品オブジェクトの入力書式を画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記入力書式を参照し、前記画面部品オブジェクトの入力書式を設定し、
画面部品オブジェクトにデータが入力される際に、該入力書式に合致しない入力値を排除することを特徴とするものである。
【００１７】
また、本発明に係るクライアントサーバ型システムは、
前記サーバ記憶手段が、画面部品オブジェクトの表示書式を画面部品オブジェクト毎に格納しており、
前記クライアント演算手段は、前記表示書式を参照し、前記画面部品オブジェクトの表示書式を設定し、
該表示書式に合わせて前記画面部品オブジェクトおよび該画面部品オブジェクトが保持するデータを前記表示手段に表示することを特徴とするものである。
【００１８】
また、本発明に係るクライアントサーバ型システムは、
前記画面部品オブジェクトが有する画面部品用記憶領域及び前記クライアント画面オブジェクトが有する画面用記憶領域が、データ配列によって構成されていることを特徴とするものである。
【発明の効果】
【００１９】
本発明に係るクライアントサーバ型システムは、画面部品オブジェクトに入力された入力データを、クライアント画面オブジェクトが有する画面用記憶領域を経由して別の画面部品オブジェクトに転送することとしたので、画面部品オブジェクト間のデータ連携関係が変更になった場合にも、前記画面用記憶領域への参照関係を変更するのみで柔軟に対応することができる。
また、画面用記憶領域に書き出されたデータを基にサーバへクエリを発行することとしたので、画面部品オブジェクトとクエリ文言との結びつきが緩くなり、画面構成やクエリ内容変更への柔軟性が増す。
また、画面部品の配置情報をサーバ側に有し、これを参照して画面部品の配置を行うものとしたので、画面部品構成の変更を行う際にはサーバ側でのみ変更作業を行えばよく、クライアントアプリケーションの再配布が不要である。
【発明を実施するための最良の形態】
【００２０】
実施の形態１．
図１は、本実施の形態１に係るクライアントサーバ型システムの全体構成図である。
図１のクライアントサーバシステムは、クライアント端末３０、サーバ４０を有する。クライアント端末３０とサーバ４０はネットワーク５０を介して接続されている。
クライアント端末３０は、クライアント演算手段３１、クライアント記憶手段３２、入力装置３４、表示装置３５を備える。クライアント記憶手段３２は、クライアントアプリケーション３３を格納している。
サーバ４０は、サーバ演算手段４１、サーバ記憶手段４２を備える。
サーバ記憶手段４２には、画面制御情報データベース４、業務データベース５が格納されている。
画面制御情報データベース４内には、画面配置情報テーブル６、クエリ句テーブル７、書き出し先番号テーブル８、読み取り元番号テーブル９、条件句テーブル１０、条件値番号テーブル１１、結果表示位置テーブル１２が格納されている。
業務データベース５内には、業務データ（図示せず）が格納されている。
なお、クライアント端末３０は、市販のパーソナルコンピュータ等にクライアントアプリケーション３３をインストールすることで実現することが出来る。
【００２１】
図２は、本実施の形態１におけるクライアントアプリケーション３３の画面構成例と、サーバ記憶手段４２への参照及び更新の関係を示したものである。図２では、クライアント端末３０として、市販のパーソナルコンピュータにクライアントアプリケーション３３をインストールしたものを想定している。以後も同様である。
クライアント端末３０内のクライアント演算手段３１は、クライアントアプリケーション３３を実行し、表示装置３５にクライアント画面オブジェクトを表示させるとともに、該クライアント画面オブジェクト上に１つ以上の画面部品オブジェクトを表示させる。
またクライアント演算手段３１は、クライアント画面オブジェクトがデータを保持するための画面用記憶領域を確保すると共に、画面部品オブジェクトがデータを保持するための画面部品用記憶領域を画面部品オブジェクト毎に確保する。
【００２２】
ここで「オブジェクト」とは、何らかの「データ」とそれを操作するための「メソッド」の組み合わせのことを言い、本発明においては必ずしもオブジェクト指向プログラミング言語で実装されている必要はない。
以後、クライアント画面オブジェクトのことを単に「クライアント画面」、画面部品オブジェクトのことを単に「画面部品」と呼ぶことにする。
なお図２においては、クライアント画面２が上記「クライアント画面」に相当する。
【００２３】
クライアント画面２およびこれに配置された画面部品群は、画面情報制御データベース４から画面制御情報を参照し（図２の「参照」部）、画面配置の変更等を行う。また、業務データベース５へ参照クエリあるいは更新クエリを発行し、業務ロジックの実行を行う（図２の「参照および更新」部）。
クライアント画面２上には、入力系部品、アクション部品、表示系部品などの画面部品群が配置されている（詳細は図４及び図５で説明）。
【００２４】
図３は、本実施の形態１においてクライアント演算手段３１が業務データベース５へ問合せクエリを発行する際の全体処理フローを示すものである。
まずクライアント演算手段３１は、画面配置情報テーブル６より画面配置情報を受取り、画面部品の配置などの初期化を行う（Ｓ１）。なお、詳細は図４及び図５で説明する。
次にクライアント演算手段３１は、書き出し先番号テーブル８より書き出し先番号を、読み取り元番号テーブル９より読み取り元番号をそれぞれ受取り、入力系部品から表示系部品へデータ転送を行う（Ｓ２）。なお、詳細は図６〜図８で説明する。
次にクライアント演算手段３１は、クエリ句テーブル７よりクエリ句文言を、条件句テーブル１０よりクエリ条件句文言を、条件値番号テーブル１１より条件値番号をそれぞれ受取り、クエリ文言全体を組立てた上で、そのクエリ句文言を使用して業務データベース５へクエリを発行する（Ｓ３）。なお、詳細は図９及び図１０で説明する。
次にクライアント演算手段３１は、結果表示位置テーブル１２より結果表示位置情報を受取り、表示系部品にクエリ実行結果の表示を行う（Ｓ４）。なお、詳細は図１１及び図１２で説明する。
【００２５】
図４は、画面配置情報テーブル６の構造およびテーブルデータ例について説明するものである。
各クライアント画面及び画面部品には、予め固有のＩＤ番号が割り当てられており（図４の「画面ＩＤ」列及び「画面部品ＩＤ」列参照）、画面配置情報テーブル６には、各画面部品の（ｘ座標、ｙ座標、縦幅、横幅、ラベル）についての情報が格納されている。
画面ＩＤと画面部品ＩＤが特定されれば、その画面ＩＤを持つクライアント画面上における、その画面部品ＩＤを持つ画面部品の（ｘ座標、ｙ座標、縦幅、横幅、ラベル）を得ることができる（詳細は図５で説明）。
ｘ座標とは、クライアント画面２の左上端を基準点とし、その画面部品を基準点から右方向に何ピクセル離れた位置に配置すべきかを表す数値である。
ｙ座標とは、クライアント画面２の左上端を基準点とし、その画面部品を基準点から下方向に何ピクセル離れた位置に配置すべきかを表す数値である。
縦幅とは、その画面部品を縦方向に何ピクセルの幅で表示すべきかを表す数値である。
横幅とは、その画面部品を横方向に何ピクセルの幅で表示すべきかを表す数値である。
ラベルとは、その画面部品の名称などを表すために付される文字列である。
【００２６】
図５は、図３におけるＳ１の処理内容を説明するものである。
クライアント画面２には、初期状態では入力系部品、アクション部品、表示系部品などの画面部品群が無造作に配置されている（図５の（初期状態））。
ここで、入力系部品とは、ユーザが文字列や数字などを入力するための画面部品のことを言う。図５では、「入力系部品１」「入力系部品２」のラベルが付された画面部品がこれに相当する。
また、アクション部品とは、ユーザがクライアント画面２に対して何らかの処理を起動すべき旨を指示するときに使用するための画面部品のことを言う。図５では、「アクション部品１」「アクション部品２」のラベルが付された画面部品がこれに相当する。
また、表示系部品とは、クライアント画面２が何らかの処理を実行した結果を表示するための画面部品のことを言う。図５では、「表示系部品１」のラベルが付されたグリッド形式の画面部品がこれに相当する。
【００２７】
次に、図３のＳ１の処理内容について説明する。
図５に示すように、クライアント画面２は画面ＩＤ、各画面部品は画面部品ＩＤとして自身の固有ＩＤ番号を保持している。
クライアント演算手段３１は、クライアント画面２の画面ＩＤと各画面部品の画面部品ＩＤをキーに、画面配置情報テーブル６を参照する。ここで、画面部品ＩＤのみでなく画面ＩＤもキーとしているのは、クライアント画面が変われば配置情報も変わる可能性があるからである。
画面配置情報テーブル６には、上述した通り各画面部品の（ｘ座標、ｙ座標、縦幅、横幅、ラベル）についての情報が格納されている。
次にクライアント演算手段３１は、画面配置情報テーブル６より取得した（ｘ座標、ｙ座標、縦幅、横幅、ラベル）を元に、クライアント画面２上における各画面部品の配置変更等を行う。
配置変更後は、図５の（配置変更後）に示すように、各画面部品が画面配置情報テーブル６の情報に基づき配置される。
【００２８】
このように、画面部品の配置情報をサーバ上の画面配置情報テーブル６から取得して配置を行うことにより、クライアント画面２および各画面部品は自身の配置情報を保持しておく必要が無い。
また、新たな画面を提供する際にはサーバ上の画面配置情報を変更するのみでよく、改めてクライアントアプリケーションを配布し、インストールする等の手間が不要となる。
【００２９】
図６は、書き出し先番号テーブル８と読み取り元番号テーブル９の構造およびテーブルデータ例について説明するものである。
書き出し先番号テーブル８には、クライアント演算手段３１が画面部品用記憶領域内のデータを画面用記憶領域に書き出す際の書き出し先番号が格納されている。
図６では、画面部品用記憶領域のサイズを２０と仮定しており、そのため各画面部品用記憶領域内データの書き出し先として、画面部品毎に２０個の書き出し先番号が必要である（図６の「書き出し先番号１」列〜「書き出し先番号２０」列）。
読み取り元番号テーブル９には、クライアント演算手段３１が画面用記憶領域からデータを読み取る際の読み取り元番号が格納されている。表示系部品が必要とする画面用記憶領域内データは通常１つのみであるため、読み取り元番号は画面部品毎に１つである（図６の「読み取り元番号」列）。
【００３０】
図７は、図３におけるＳ２の処理内容を説明するものである。ここでは、先の図５において「社員コード」のラベルが付された入力系部品にデータが入力され、「検索結果」のラベルが付された画面部品へ当該入力データが転送される様子を説明する。
ここで、クライアント画面２がデータを保持するための画面用記憶領域は、例えばデータ配列で実装することができる。本実施の形態１では、データ配列の形式で画面用記憶領域を実装しているものとし、以後はこのクライアント画面データ配列をＷＰＯと呼ぶ。ＷＰＯの配列サイズには制限がなく、図７ではＷＰＯの終端を仮に「ｎ番目」としている（図７のＷＰＯ）。
また、各画面部品がデータを保持するための画面部品用記憶領域も、データ配列で実装することができる。本実施の形態１では、データ配列の形式で画面部品用記憶領域を実装しているものとし、以後はこの画面部品データ配列をＦＰＯと呼ぶ。
図７では、データ転送の送り方である「社員コード」のラベルが付された入力系部品のＦＰＯ（図７のＦＰＯ１）と、受取り方である「検索結果」のラベルが付された表示系部品のＦＰＯ（図７のＦＰＯ２）を図示している。なおＦＰＯの配列サイズは、図６の「書き出し先番号１」列〜「書き出し先番号２０」列に合わせて、２０としている。
【００３１】
次に、図３のＳ２の処理内容について説明する。ここでは、ユーザが「社員コード」のラベルが付された入力系部品に値「１２１７」を入力し、「検索」ボタンを押下したものと仮定する。
ユーザが入力した値「１２１７」は、ＦＰＯ１の１番目の場所に保持される（図７のＦＰＯ１）。
次に、クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＴＥＸＴＢＯＸ００１」をキーに、書き出し先番号テーブル８を参照する。
書き出し先番号テーブル８の該当データには、書き出し先番号１として「２」が格納されている（図６の「書き出し先番号テーブル８」参照）。これは、ＦＰＯ１の１番目のデータを、ＷＰＯの２番目に書き出すべきことを意味している。なお、ＦＰＯ１の２番目以降の場所にあるデータは本実施の形態１では使用していないため、書き出し先番号２〜書き出し先番号２０は空でよい。
次に、クライアント演算手段３１は、ＷＰＯの２番目の場所に、ＦＰＯ１の１番目の場所にある値「１２１７」を書き出す（図７の「書き出し」）。
次に、クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＧＲＩＤ００１」をキーに、読み取り元番号テーブル９を参照する。
読み取り元番号テーブル９の該当データには、読み取り元番号として「２」が格納されている（図６の「読み取り元番号テーブル９」参照）。これは、ＷＰＯの２番目のデータを読み取るべきことを意味している。
次に、クライアント演算手段３１は、ＷＰＯの２番目の場所から、値「１２１７」を読み取る（図７の「読み取り」）。読み取った値は、ＦＰＯ２の１番目に格納される（図７のＦＰＯ２）。
【００３２】
このように、入力系部品から表示系部品へデータ転送を行う際には、それぞれの固有データ配列であるＦＰＯとＷＰＯを経由して行われる。
画面部品同士が直接的にデータ交換を行うのではなく、ＷＰＯのような中間バッファ層を経由して行われるのは、画面部品の入れ替えなどを行った際にも対応できるようにするためである。
例えば、図７の「検索結果」のラベルが付された表示系部品が、「変更後の社員コード」のラベルが付された入力系部品からデータを受取るように変更する場合を想定する。
この場合、読み取り元番号を「変更後の社員コード」のラベルが付された入力系部品（画面部品ＩＤ＝「ＴＥＸＴＢＯＸ００２」）の書き出し先番号に合わせればよい。
図６のテーブルデータ例では、「ＴＥＸＴＢＯＸ００２」の「書き出し先番号１」列の値は「２５」であるため、「読み取り元番号」列の値を「２」から「２５」に変更すると、読み取り元の画面部品を変更することができる（図８の注釈参照）。
【００３３】
図９は、クエリ句テーブル７、条件句テーブル１０、条件値番号テーブル１１の構造及びテーブルデータ例について説明するものである。
クエリ句テーブル７には、クエリに使用するＳＱＬ文の基本的部分が格納されており、図９のテーブルデータ例ではＳＥＬＥＣＴ句が格納されている。この基本ＳＱＬ文単独でも照会クエリを発行することはできるが、ユーザの入力値をキーとする場合のようにクライアント画面２の状態に応じて発行するクエリの内容が変わる場合には、以降のテーブルデータが必要となる。
条件句テーブル１０には、クエリ句テーブル７に格納されている基本ＳＱＬ文に付加する条件句が格納されており、図９のテーブルデータ例ではＷＨＥＲＥ句が格納されている。
条件値番号テーブル１１には、ＷＰＯのどの場所にあるデータをクエリの条件値として用いるべきであるかを示す番号が格納されており、図９のテーブルデータ例では値「２」が格納されている。したがって、ＷＰＯの２番目の位置にあるデータが参照され、条件値として設定されることとなる。
【００３４】
図１０は、図３におけるＳ３の処理内容を説明するものである。ここでは、ユーザが入力した値「１２１７」をキーにして業務データベース５に照会クエリを発行するものと仮定する。
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＧＲＩＤ００１」をキーに、クエリ句テーブル７、条件句テーブル１０、条件値番号テーブル１１をそれぞれ参照する（図１０の「参照」）。
次にクライアント演算手段３１は、条件値番号テーブル１１に格納されている条件値番号「２」に相当する場所のＷＰＯ内データを参照する。図１０では、「１２１７」が格納されている（図１０の「条件値として用いる値」）。
最終的なＳＱＬ文は、クエリ句テーブル７に格納されている基本ＳＱＬ文、条件句テーブル１０に格納されている条件句、ＷＰＯ内の値を総合したものとなる（図１０の「最終的なＳＱＬ文」）。
クライアント演算手段３１は、最終的に完成した上記ＳＱＬ文を使用して業務データベース５にクエリを発行する（図１０のクエリ発行）。
【００３５】
このように、処理ロジックであるＳＱＬ文をサーバ側に保持していることにより、処理ロジックを変更する際にはサーバ側でのみ変更作業を行えばよく、改めてクライアントアプリケーションを配布し、インストールする等の手間が不要となる。
また、基本ＳＱＬ文と条件句を分離して保持しているため、これらを自由に組合せて処理ロジックを組立てることができる。
さらには、ユーザの入力した値をクエリの条件値として設定するような場合には、入力値を直接参照せずに一旦ＷＰＯに格納し、格納先の番号でもって入力値を参照することとしたので、画面部品の入れ替えなどを行った際にもサーバ側の変更のみで対応できる。
【００３６】
図１１は、結果表示位置テーブル１２、業務データベース５の「社員」テーブルの構造及びテーブルデータ例を説明するものである。
結果表示位置テーブル１２には、クエリの結果としてデータを取得するテーブルの列毎に、取得値を表示すべき位置に関する結果表示位置情報が格納されている。
図１２の結果表示位置テーブル１２のテーブルデータ例は、「社員」テーブルの「社員番号」列の値を画面部品ＩＤ「ＧＲＩＤ００１」の画面部品に表示する時には、「１」番目の位置に表示すべき旨を示している。同様に「社員の性別」列の値は「２」番目の位置に、「社員の氏名」列の値は「３」番目の位置に表示すべき旨が示されている。
なお、画面部品ＩＤのみでなく画面ＩＤもキーとなっているのは、クライアント画面が変わればクエリ結果を表示すべき画面部品も変わる可能性があるからである。
また、図１２の「社員」テーブルの例では、「社員」テーブルは「社員番号」、「社員の性別」、「社員の氏名」列を有し、それぞれ「１２１７」、「ＭＡＬＥ」、「サンプルデータ」という値が格納されている。
【００３７】
図１２は、図３におけるＳ４の処理内容を説明するものである。ここでは、ユーザが入力した値「１２１７」をキーにして業務データベース５に照会クエリを発行済みであるものと仮定する。
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＧＲＩＤ００１」をキーに、結果表示位置テーブル１２を参照する。
次にクライアント演算手段３１は、「検索結果」のラベルが付された表示系部品のヘッダ部分に、業務データベース５より取得したデータの列名に相当する、「社員番号」「社員の性別」「社員の氏名」を表示する（図１２の「列名を表示する。」参照）。
次にクライアント演算手段３１は、クエリ結果の「社員番号」列の値を１番目の列に、「社員の性別」列の値を２番目の列に、「社員の氏名」列の値を３番目の列に表示する（図１２の「取得した値」参照）。
【００３８】
このように、クエリ実行結果を表示系部品に表示するに当たり、結果表示位置情報を表示系部品毎にサーバ側に保持することとしたので、結果表示方法を柔軟に変更することができる。
例えば、図１２ではグリッド型（格子型）の表示系部品にクエリ実行結果を表示することとしたが、フォーム型の表示系部品に変更した場合であっても、結果表示位置情報自体は変更することなく、同じクエリ実行結果を表示することができる。
即ち、「社員番号」列のデータ値をフォーム型の表示系部品の上から１番目の表示欄に、「社員の性別」列の値を２番目の表示欄に、「社員の氏名」列の値を３番目の表示欄にそれぞれ表示することとすれば、結果表示位置情報自体は変更することなく、表示に用いる画面部品のみを変更することができる。
【００３９】
なお、本実施の形態１では、Ｓ１〜Ｓ４の各処理毎に画面制御情報データベース４の各テーブルを参照することとしたが、クライアント演算手段３１がクライアントアプリケーション３３の初期化を行う際に全てのテーブルを参照することとしてもよいし、一部のテーブルのみ先に参照することとしてもよい。
【００４０】
以上のように、本実施の形態１によれば、画面部品オブジェクトに入力された入力データを、ＷＰＯを経由して別の画面部品オブジェクトに転送することとしたので、画面部品間のデータ連携関係が変更になった場合にも、ＷＰＯへの参照関係を変更するのみで柔軟に対応することができる。
【００４１】
また、ＷＰＯに書き出されたデータを基にサーバへクエリを発行することとしたので、画面部品オブジェクトとクエリ文言との結びつきが緩くなり、画面構成やクエリ内容変更時の柔軟性が増す。
【００４２】
また、画面配置情報をサーバに有し、これをサーバから取得して画面部品の配置を行うので、クライアント端末にクライアント画面２および各画面部品の配置情報を保持しておく必要が無い。また、新たな画面を有するクライアントアプリケーション３３を提供する際には、サーバ上の画面配置情報を変更するのみでよく、改めてクライアントアプリケーション３３を配布し、インストールする等の手間が不要となる。
【００４３】
また、データの送り方である画面部品のＦＰＯをＷＰＯに書き出す際に、書き出し先番号がサーバ上に保持されているため、送り方である画面部品が変更になった場合などには、サーバ上で書き出し先番号を変更するだけで画面部品間の連携関係を再設定でき、改めてクライアントアプリケーションを配布等するまでもなく柔軟に対応することができる。
【００４４】
また、ＷＰＯからデータを読み取る際に、読み取り元番号がサーバ上に保持されているため、受取り方である画面部品が変更になった場合などには、サーバ上で読み取り元番号を変更するだけで画面部品間の連携関係を再設定でき、改めてクライアントアプリケーションを配布等するまでもなく柔軟に対応することができる。
【００４５】
また、処理ロジックであるＳＱＬ文をサーバ側に保持していることにより、処理ロジックを変更する際にはサーバ側でのみ変更作業を行えばよく、改めてクライアントアプリケーションを配布し、インストールする等の手間が不要となる。
【００４６】
また、サーバ上に基本ＳＱＬ文と条件句を分離して保持しているため、これらを自由に組合せて処理ロジックを組立てることができる。
【００４７】
また、ユーザの入力した値をクエリの条件値として設定するような場合には、入力値を直接参照せずに一旦ＷＰＯに格納し、格納先の番号でもって入力値を参照することとしたので、画面部品の入れ替えなどを行った際にもサーバ側の変更のみで対応できる。
【００４８】
また、クエリ実行結果を表示系部品に表示するに当たり、結果表示位置情報を表示系部品毎にサーバ側に保持することとしたので、結果表示方法を柔軟に変更することができる。
【００４９】
また、画面部品オブジェクトが有する画面部品用記憶領域及びクライアント画面オブジェクトが有する画面用記憶領域を、データ配列によって構成することとしたので、ハッシュ値の計算のような複雑なアドレス演算をすることなく、書き出し先番号や読み取り元番号を直接使用して、ＷＰＯへ値を書き出し、また値を読み取ることができる。
【００５０】
実施の形態２．
実施の形態１に係るクライアントサーバ型システムは、画面配置情報やＳＱＬ文等をサーバ側に保持し、サーバ側の変更のみで画面部品の入れ替えや処理ロジックの変更等に柔軟に対応できるようにしたものである。
本実施の形態２に係るクライアントサーバ型システムは、これに加え、複数の処理ロジックを同一のトランザクション内で実行するような場合にも対応できるようにしたものである。
【００５１】
図１３は、本実施の形態２に係るクライアントサーバ型システムの全体構成図である。
サーバ４０は、サーバプログラム記憶手段４３を備えている。サーバプログラム記憶手段４３は、業務プログラム群１３、リクエストディスパッチャー１４を格納している。
業務プログラム群１３は、ＳＱＬ文を含む処理ロジックを実行する複数の業務プログラム（業務プログラム１、業務プログラム２等と呼ぶ）からなる。
リクエストディスパッチャー１４は、サーバ演算手段４１に指示を出し、サーバ演算手段４１はその指示に従ってクライアント演算手段３１からの業務プログラム実行要求を受け付け、トランザクション管理を行いつつ業務プログラム群１３内の業務プログラムを実行し、クライアント演算手段３１に実行結果を返す。
画面情報制御データベース４内には、業務プログラムロケーションテーブル１５が格納されている。
その他の構成は、実施の形態１における図２と同様であるため、説明を省略する。
なお、図１３ではサーバ記憶手段４２とサーバプログラム記憶手段４３は異なる記憶手段としたが、サーバ記憶手段４２にサーバプログラム記憶手段４３のデータを全て格納するように構成してもよい。
【００５２】
図１４は、本実施の形態２においてクライアント演算手段３１がリクエストディスパッチャー１４へリクエストを発行する際の全体処理フローを示すものである。
まずクライアント演算手段３１は、画面配置情報テーブル６より画面配置情報を受取り、画面部品の配置などの初期化を行う（Ｓ５）。処理内容は、実施の形態１のＳ１と同様であるため、説明は省略する。
次にクライアント演算手段３１は、書き出し先番号テーブル８より書き出し先番号を、読み取り元番号テーブル９より読み取り元番号をそれぞれ受取り、入力系部品と表示系部品との間のデータ転送を行う（Ｓ６）。処理内容は、実施の形態１のＳ２と同様であるため、説明は省略する。
次にクライアント演算手段３１は、業務プログラムロケーションテーブル１５より業務プログラムのロケーションを、条件値番号テーブル１１より条件値番号をそれぞれ受取り、リクエストディスパッチャー１４へのリクエスト内容を組立てた上で、そのリクエスト内容を使用してリクエストディスパッチャー１４へリクエストを発行する（Ｓ７）。なお、詳細は図１５及び図１６で説明する。
次にクライアント演算手段３１は、結果表示位置テーブル１２より結果表示位置情報を受取り、表示用部品にクエリ実行結果の表示を行う（Ｓ８）。処理内容は、実施の形態１のＳ４と同様であるため、説明は省略する。
【００５３】
図１５は、業務プログラムロケーションテーブル１５の構造及びテーブルデータ例を説明するものである。
業務プログラムロケーションテーブル１５には、クライアント演算手段３１がリクエストを発行する業務プログラムのロケーションが格納されている。クライアント演算手段３１は、リクエストディスパッチャー１４を経由して、上記ロケーションの業務プログラムへリクエストを発行する。
条件値番号テーブル１１には、表示系部品がＷＰＯのどの場所にあるデータを条件値として用いるべきであるかを示す番号が格納されており、図１５のテーブルデータ例では値「２」及び値「２５」が格納されている。したがって、ＷＰＯの２番目の位置にあるデータ及び２５番目の位置にあるデータが参照され、「１２１７」と「０７３１」が条件値として設定されることとなる。
なお、本実施の形態２では、条件値番号テーブル１１は「条件値番号」列が１つであるため、２つ以上の条件値を設定する場合には複数行に渡って条件値番号を格納することとしたが、例えば「条件値番号１」「条件値番号２」のように、条件値番号列を２つ以上持つようにしてもよい。
【００５４】
図１６は、図１４におけるＳ７の処理内容を説明するものである。ここでは、実施の形態１で説明した照会クエリに続き、ユーザがクライアント画面２上の「変更後の社員コード」ラベルを付した入力系部品に入力した値を使用して、リクエストディスパッチャー１４に更新リクエストを発行するものと仮定する。
【００５５】
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＧＲＩＤ００１」をキーに、業務プログラムロケーションテーブル１５を参照する。
業務プログラムロケーションテーブル１５には、業務プログラムのロケーションが格納されている。図１５のテーブルデータ例では、「ＳＥＲＶＥＲ４０」の「ＵＰＤＡＴＥ＿ＳＨＡＩＮ＿ＮＯ」という業務プログラムへリクエストを発行すべき旨が格納されている。なお、同業務プログラムへ渡す引数は２つ存在するが、この段階では未定であるため、ともに「？」としてある。
次にクライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と画面部品ＩＤ「ＧＲＩＤ００１」をキーに、条件値番号テーブル１１を参照する。
次にクライアント演算手段３１は、条件値番号テーブル１１に格納されている条件値番号「２」「２５」に相当する場所のＷＰＯ内データを参照する。図１６では、「１２１７」「０７３１」が格納されている（図１６の「条件値として用いる値」）。この２値が、業務プログラムへ渡す引数となる。
最終的なリクエスト内容は、業務プログラムロケーションテーブル１５に格納されている業務プログラムのロケーション、ＷＰＯ内の値を総合したものとなる（図１６の「最終的なリクエスト内容」）。
次にクライアント演算手段３１は、最終的に完成した上記業務プログラムのロケーションを使用してリクエストディスパッチャー１４にリクエストを発行する（図１６の「リクエスト発行」）。
サーバ演算手段４１は、リクエストディスパッチャー１４を実行し、クライアント演算手段３１が発行したリクエストを受け付け、業務データベース５へのトランザクションを開始する。
次にサーバ演算手段４１は、トランザクション内で業務プログラム群１３内の該当する業務プログラムを実行し、処理が正常終了すればトランザクションをコミットし、異常終了すればロールバックして、結果をクライアント演算手段３１に返す。
【００５６】
業務プログラムの内容は、複数のパラメータやＳＱＬ文を含むものであり、例えば図１６の「ＵＰＤＡＴＥ＿ＳＨＡＩＮ＿ＮＯの内容」に示すように、ユーザが複数の画面部品に入力したデータをパラメータとして用いるＵＰＤＡＴＥ文等を含むものである。
このようにサーバ４０側へ業務プログラムを有することにより、複数のパラメータやＳＱＬ文を含む複雑なロジックを有する処理であっても対応することができる。
【００５７】
なお、本実施の形態２では、Ｓ５〜Ｓ８の各処理毎に画面制御情報データベース４の各テーブルを参照することとしたが、クライアント演算手段３１がクライアントアプリケーション３３の初期化を行う際に全てのテーブルを参照することとしてもよいし、一部のテーブルのみ先に参照することとしてもよい。
【００５８】
また、本実施の形態２では、リクエストディスパッチャー１４を経由してサーバ演算手段４１が業務プログラムを実行することとしたが、実施の形態１のようにクライアント演算手段３１がサーバ４０へクエリを発行する機能はそのまま残し、リクエストディスパッチャー１４を経由して業務プログラムを実行する機能と併存することとしてもよい。
【００５９】
以上のように、本実施の形態２によれば、複数のパラメータやＳＱＬ文を含む業務プログラム群１３をサーバ上に置き、クライアント演算手段３１はリクエストディスパッチャー１４を経由してこれを実行するものとしたので、単独のパラメータやＳＱＬ文のみからなるロジックでは実行できない複雑なロジックを含む処理にも対応することができる。
また、業務プログラムのロケーションをサーバ側に保持するものとしたので、業務プログラムの変更を行う際にはサーバ側でのみ変更作業を行えばよく、改めてクライアントアプリケーションを配布等するまでもなく複雑な処理ロジックの変更にも柔軟に対応することができる。
【００６０】
実施の形態３．
以上の実施の形態１および実施の形態２に係るクライアントサーバ型システムは、画面配置情報やＳＱＬ文、あるいは業務プログラムやそのロケーションをサーバ側に保持することにより、画面部品の入れ替えや処理ロジックの変更に柔軟に対応できるようにしたものである。
本実施の形態３に係るクライアントサーバ型システムは、これに加え、クライアントアプリケーションにその業務分野で必要と思われる画面部品を最大限に予め配置しておき、必要に応じて画面部品を使用し、不要な画面部品は非表示にしておくようにしたものである。
さらには、入力系画面部品や表示系画面部品の書式についても、柔軟に変更できるようにしたものである。
【００６１】
図１７は、本実施の形態３に係るクライアントサーバ型システムの全体構成図である。
画面情報制御データベース４内には、画面部品要否情報テーブル１６、入力書式テーブル１７、表示書式テーブル１８が格納されている。
その他の構成は、実施の形態２の図１３と同様であるため、説明を省略する。
【００６２】
図１８は、本実施の形態３においてクライアント演算手段３１がリクエストディスパッチャー１４へクエリを発行する際の全体処理フローを示すものである。
まずクライアント演算手段３１は、画面部品要否情報テーブル１６より画面部品要否情報を受取り、必要な画面部品のみをクライアント画面２上に残し、その他の画面部品はクライアント画面２上では非表示とする（Ｓ９）。なお、詳細は図１９及び図２０で説明する。
次にクライアント演算手段３１は、画面配置情報テーブル６より画面配置情報を受取り、画面部品の配置などの初期化を行う（Ｓ１０）。処理内容は、実施の形態１のＳ１と同様であるため、説明は省略する。
次にクライアント演算手段３１は、入力書式テーブル１７より入力書式情報を受取り、入力系画面部品の書式を設定する（Ｓ１１）。なお、詳細は図２１及び図２２で説明する。
次にクライアント演算手段３１は、書き出し先番号テーブル８より書き出し先番号を、読み取り元番号テーブル９より読み取り元番号をそれぞれ受取り、入力系部品と表示系部品との間のデータ転送を行う（Ｓ１２）。処理内容は、実施の形態１のＳ２と同様であるため、説明は省略する。
次にクライアント演算手段３１は、業務プログラムロケーションテーブル１５より業務プログラムのロケーションを、条件値番号テーブル１１より条件値番号をそれぞれ受取り、リクエストディスパッチャー１４へのリクエスト内容を組立てた上で、そのリクエスト内容を使用してリクエストディスパッチャー１４へリクエストを発行する（Ｓ１３）。処理内容は、実施の形態２のＳ７と同様であるため、説明は省略する。
次にクライアント演算手段３１は、結果表示位置テーブル１２より結果表示位置情報を受取り、表示用部品にクエリ実行結果の表示を行う（Ｓ１４）。処理内容は、実施の形態１のＳ４と同様であるため、説明は省略する。
次にクライアント演算手段３１は、表示書式テーブル１８より表示書式情報を受取り、表示系画面部品の書式を設定する（Ｓ１５）。なお、詳細は図２３及び図２４で説明する。
【００６３】
図１９は、画面部品要否情報テーブル１６の構造およびテーブルデータ例について説明するものである。
画面部品要否情報テーブル１６には、クライアント画面２上でその画面部品が使用されるか否かの情報が、画面部品毎に格納されている。
図１９における「要否」列の値が「１」であれば、その画面部品は「画面ＩＤ」列のＩＤ番号を有するクライアント画面２上で使用されることを意味し、同列の値が「０」であれば、その画面部品は使用されないことを意味する。
【００６４】
図２０は、図１８におけるＳ９の処理内容を説明するものである。
クライアント画面２上には、図５と同様に初期状態では入力系部品、アクション部品、表示系部品などの画面部品群が無造作に配置されている（図２０の（初期状態））。なお、初期状態では不要な画面部品も含めて全ての画面部品が配置されている。
【００６５】
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と各画面部品の画面部品ＩＤをキーに、画面部品要否情報テーブル１６を参照する。ここで、画面部品ＩＤのみでなく画面ＩＤもキーとしているのは、画面が変われば画面部品の要否も変わる可能性があるからである。
画面部品要否情報テーブル１６には、上述した通り各画面部品の要否についての情報が格納されている。
クライアント演算手段３１は、画面部品要否情報テーブル１６より取得した要否情報が「０」であれば、その画面部品を非表示にする。
Ｓ９の処理が完了すると、図２０の（要否情報設定後）に示すように、使用しない画面部品は非表示となる。図２０においては、画面部品ＩＤ「ＢＵＴＴＯＮ００３」の画面部品が非表示とされている。
非表示とされた画面部品はユーザが操作することができないので、その画面部品に値が入力される等の状況が発生することはない。
【００６６】
このように、クライアント画面２上にその業務分野で必要と思われる画面部品を最大限に予め配置しておき、必要に応じて画面部品を使用し、不要な画面部品は非表示にしておくようにしたので、画面の変更や処理ロジックの変更等により新たな画面部品が必要になった場合、あるいは既存の画面部品が不要になった場合には、サーバ側の画面部品要否情報を変更するのみでよく、改めてクライアントアプリケーションを配布し、インストールする等の手間が不要となる。
【００６７】
図２１は、入力書式テーブル１７の構造およびテーブルデータ例について説明するものである。
入力書式テーブル１７には、画面部品毎の入力書式情報が格納されている。図２１のテーブルデータ例では、入力書式「ＹＹＹＹＭＭＤＤ」が設定されている画面部品は４桁の西暦年、２桁の月および日を入力すべきことを示す。また入力書式「９９９９」が設定されている画面部品は、４桁の数字を入力すべきことを示す。
【００６８】
図２２は、図１８におけるＳ１１の処理内容を説明するものである。
ここで、Ｓ１１の処理内容の説明をする前に、入力系画面部品の入力書式情報について説明する。
ユーザが入力系画面部品に入力するデータは、画面部品ごとにデータの種類が決まっていることが通常である。例えば生年月日を入力する入力系画面部品では、半角数字で西暦を４桁で入力し、月と日をそれぞれ２桁で入力する、といった具合である。この入力すべきデータの種類に関する情報を、入力書式情報と呼ぶ。
入力系画面部品それぞれについて、入力書式情報を保持しておき、書式に反するデータが入力された場合には、サーバにクエリを発行するまでもなくユーザに修正を促すようにすれば、ユーザの利便性が向上する。
【００６９】
次に、Ｓ１１の処理内容について説明する。
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と各画面部品の画面部品ＩＤをキーに、入力書式テーブル１７を参照する。ここで、画面部品ＩＤのみでなく画面ＩＤもキーとしているのは、画面が変われば入力書式も変わる可能性があるからである。
入力書式テーブル１７には、上述した通り各画面部品の入力書式情報が格納されている。
次にクライアント演算手段３１は、入力書式テーブル１７より取得した入力書式情報を基に各画面部品の入力書式情報を設定する。
クライアント演算手段３１は、画面部品の入力書式設定後は、その画面部品の入力書式に合致しないデータが入力された場合にはその入力データを排除し、あるいはその旨をユーザに通知して正しい書式のデータ入力を促す。
【００７０】
このように、入力書式情報をサーバ側に保持することとしたので、サーバ側の変更のみで入力系画面部品の機能を変更することができる。
【００７１】
図２３は、表示書式テーブル１８の構造およびテーブルデータ例について説明するものである。
表示書式テーブル１８には、画面部品毎の表示書式情報が格納されている。図２３のテーブルデータ例では、表示書式「ＣＯＬＯＲ＝ＲＥＤ」が設定されている画面部品は文字を赤色で表示すべきことを示す。また表示書式「ＦＯＮＴ＝ＡＢＣ」が設定されている画面部品は、「ＡＢＣ」という名前のフォントを使用して文字を表示すべきことを示す。
なお、表示系画面部品は表示項目毎に異なる列の値を表示するため、列毎に異なる表示書式の設定が可能である。そのため表示書式テーブル１８には、同じ画面部品ＩＤを持つ画面部品であっても、列毎に表示書式が格納されている。
【００７２】
図２４は、図１８におけるＳ１５の処理内容を説明するものである。
ここで、Ｓ１５の処理内容を説明する前に、表示系画面部品の表示書式情報について説明する。表示系画面部品は、通常はクエリ実行結果を表示するものであるため、クエリ実行結果の中で強調したい部分を異なる色や書体で表示したり、下線を付したりといったことを行う場合がある。この表示方法に関する情報を、表示書式情報と呼ぶ。
表示系画面部品に表示書式情報を設定すると、クエリ実行結果が見やすくなるなど、ユーザの利便性が向上する。
【００７３】
次に、Ｓ１５の処理内容について説明する。
クライアント演算手段３１は、クライアント画面２の画面ＩＤ「ＣＬＩＥＮＴ００１」と各画面部品の画面部品ＩＤをキーに、表示書式テーブル１８を参照する。ここで、画面部品ＩＤのみでなく画面ＩＤもキーとしているのは、画面が変われば表示書式も変わる可能性があるからである。
表示書式テーブル１８には、上述した通り各画面部品の表示書式情報が格納されている。
次にクライアント演算手段３１は、表示書式テーブル１８より取得した表示書式情報を基に各画面部品及び画面部品が有するデータの表示書式情報を設定する。
クライアント演算手段３１は、画面部品の表示書式設定後は、その画面部品の表示書式に合わせて各画面部品及び画面部品が有するデータを表示装置３５上に表示する。
【００７４】
このように、表示書式情報をサーバ側に保持することとしたので、サーバ側の変更のみで表示系画面部品の機能を変更することができる。
【００７５】
なお、本実施の形態３では、Ｓ９〜Ｓ１５の各処理毎に画面制御情報データベース４の各テーブルを参照することとしたが、クライアント演算手段３１がクライアントアプリケーション３３の初期化を行う際に全てのテーブルを参照することとしてもよいし、一部のテーブルのみ先に参照することとしてもよい。
【００７６】
また、本実施の形態３では、リクエストディスパッチャー１４を経由してサーバ演算手段４１が業務プログラムを実行することとしたが、実施の形態１のようにクライアント演算手段３１がサーバ４０へクエリを発行する機能はそのまま残し、リクエストディスパッチャー１４を経由して業務プログラムを実行する機能と併存することとしてもよい。
【００７７】
また、本実施の形態３では、画面配置情報テーブル６から画面部品の配置情報を取得して各画面部品の配置を行うこととしたが、予めサーバ演算手段４１が画面部品の配置情報をクライアント端末に配信しておき、当該クライアント記憶手段３２に格納された画面部品の配置情報を用いて、各画面部品の配置を行うようにしてもよい。画面制御情報データベース４の他のテーブルに格納されている情報についても、同様である。
【００７８】
以上のように、本実施の形態３によれば、クライアントアプリケーションにその業務分野で必要と思われる画面部品を最大限に予め配置しておき、必要に応じて画面部品を使用し、不要な画面部品は非表示にしておくようにしたので、画面の変更や処理ロジックの変更等により既存の画面部品が不要になった場合、あるいは非表示設定した画面部品が再度必要となった場合には、サーバ側の画面部品要否情報を変更するのみでよく、改めてクライアントアプリケーションを配布し、インストールする等の手間が不要となる。
【００７９】
また、入力書式情報をサーバ側に保持することとしたので、サーバ側の変更のみで入力系画面部品の機能を変更することができる。
【００８０】
また、表示書式情報をサーバ側に保持することとしたので、サーバ側の変更のみで表示系画面部品の機能を変更することができる。
【００８１】
さらには、予めサーバ演算手段４１が画面部品の配置情報をクライアント端末３０に配信しておき、当該クライアント記憶手段３２に格納された画面部品の配置情報を用いて、各画面部品の配置を行うようにすることにより、サーバ側で画面部品の配置情報の変更タイミングを制御することも可能となる。
【図面の簡単な説明】
【００８２】
【図１】実施の形態１の全体構成図である。
【図２】実施の形態１におけるクライアントアプリケーション３３の画面構成例と、サーバ記憶手段４２への参照及び更新の関係を示すものである。
【図３】実施の形態１においてクライアント演算手段３１が業務データベース５へ問合せクエリを発行する際の全体処理フローを示すものである。
【図４】画面配置情報テーブル６の構造およびテーブルデータ例について説明するものである。
【図５】図３におけるＳ１の処理内容を説明するものである。
【図６】書き出し先番号テーブル８と読み取り元番号テーブル９の構造およびテーブルデータ例について説明するものである。
【図７】図３におけるＳ２の処理内容を説明するものである。
【図８】読み取り元番号テーブル９のデータ変更例を説明するものである。
【図９】クエリ句テーブル７、条件句テーブル１０、条件値番号テーブル１１の構造及びテーブルデータ例について説明するものである。
【図１０】図３におけるＳ３の処理内容を説明するものである。
【図１１】結果表示位置テーブル１２、業務データベース５の「社員」テーブルの構造及びテーブルデータ例を説明するものである。
【図１２】図３におけるＳ４の処理内容を説明するものである。
【図１３】実施の形態２の全体構成図である。
【図１４】実施の形態２においてクライアント演算手段３１が業務データベース５へリクエストを発行する際の全体処理フローを示すものである。
【図１５】業務プログラムロケーションテーブル１５の構造及びテーブルデータ例を説明するものである。
【図１６】図１４におけるＳ７の処理内容を説明するものである。
【図１７】実施の形態３の全体構成図である。
【図１８】実施の形態３においてクライアント演算手段３１が業務データベース５へクエリを発行する際の全体処理フローを示すものである。
【図１９】画面部品要否情報テーブル１６の構造およびテーブルデータ例について説明するものである。
【図２０】図１８におけるＳ９の処理内容を説明するものである。
【図２１】入力書式テーブル１７の構造およびテーブルデータ例について説明するものである。
【図２２】図１８におけるＳ１１の処理内容を説明するものである。
【図２３】表示書式テーブル１８の構造およびテーブルデータ例について説明するものである。
【図２４】図１８におけるＳ１５の処理内容を説明するものである。
【符号の説明】
【００８３】
２  クライアント画面、４  画面制御情報データベース、５  業務データベース、６  画面配置情報テーブル、７  クエリ句テーブル、８  書き出し先番号テーブル、９  読み取り元番号テーブル、１０  条件句テーブル、１１  条件値番号テーブル、１２  結果表示位置テーブル、１３  業務プログラム群、１４  リクエストディスパッチャー、１５  業務プログラムロケーションテーブル、１６  画面部品要否情報テーブル、１７  入力書式テーブル、１８  表示書式テーブル、３０  クライアント端末、３１  クライアント演算手段、３２  クライアント記憶手段、３３  クライアントアプリケーション、３４  入力装置、３５  表示装置、４０  サーバ、４１  サーバ演算手段、４２  サーバ記憶手段、４３  サーバプログラム記憶手段、５０  ネットワーク。
【図１】
2007206874.tif 000003
【図２】
2007206874.tif 000004
【図３】
2007206874.tif 000005
【図４】
2007206874.tif 000006
【図５】
2007206874.tif 000007
【図６】
2007206874.tif 000008
【図７】
2007206874.tif 000009
【図８】
2007206874.tif 000010
【図９】
2007206874.tif 000011
【図１０】
2007206874.tif 000012
【図１１】
2007206874.tif 000013
【図１２】
2007206874.tif 000014
【図１３】
2007206874.tif 000015
【図１４】
2007206874.tif 000016
【図１５】
2007206874.tif 000017
【図１６】
2007206874.tif 000018
【図１７】
2007206874.tif 000019
【図１８】
2007206874.tif 000020
【図１９】
2007206874.tif 000021
【図２０】
2007206874.tif 000022
【図２１】
2007206874.tif 000023
【図２２】
2007206874.tif 000024
【図２３】
2007206874.tif 000025
【図２４】
2007206874.tif 000026