(57)【特許請求の範囲】
【請求項１】
データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとを備え、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立するクライアント・サーバシステムにおいて、
サーバは、リンクを介してメッセージを送受信する第１の通信手段と、処理対象のデータを格納する記憶手段と、記憶手段に格納されたデータに更新処理を施す処理手段と、を備え、
クライアントは、リンクを介してメッセージを送受信する第２の通信手段と、所定のデータ処理を実行するエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいて対応するエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とするクライアント・サーバシステム。
【請求項２】
請求項１に記載のクライアント・サーバシステムにおいて、
サーバの記憶手段には項目によって識別される複数のデータが格納されており、
クライアントの起動手段は更新処理通知メッセージに基づいて項目に対応するエンドユーザプログラムを起動することを特徴とするクライアント・サーバシステム。
【請求項３】
請求項２に記載のクライアント・サーバシステムにおいて、
リンクはクライアントからの項目を指定したリンク確立要求メッセージに基づいて確立され、
サーバは指定された項目のデータメッセージを送信するリンクを指定したリンク確立応答メッセージをクライアントへ送信するとともに、更新処理通知メッセージに当該リンクの識別子を含ませて送信し、
クライアントは管理手段によってリンク確立応答メッセージに基づいて指定した項目に該当するリンク識別子と当該項目のデータに所定の処理を施すエンドユーザプログラムとを対応付けて管理し、当該管理手段が更新処理通知メッセージに含まれたリンク識別子に基づいて指定した項目に対応するエンドユーザプログラムを起動手段に起動させて、当該更新処理通知メッセージに含まれたデータに所定の処理を施すことを特徴とするクライアント・サーバシステム。
【請求項４】
データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとが行うデータ処理方法において、
クライアントとサーバとが、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立し、
サーバが、データに更新処理を施し、当該更新処理通知メッセージを前記リンクを介してクライアントへ送信し、
クライアントが、サーバからの更新処理通知メッセージに基づいて、所定のデータ処理を実行する対応するエンドユーザプログラムを自動的に起動することを特徴とするデータ処理方法。
【請求項５】
サーバとの間に確立されたリンクを介して受信したデータ更新処理通知メッセージに基づいて、対応する処理を実行するクライアントであって、
リンクを介してメッセージを受信する通信手段と、所定のデータ処理を実行するエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいて対応するエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とするクライアント。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、サーバ側でデータに更新処理を施すことに起因して、クライアント側に備えたエンドユーザプログラムを自動的に起動させて種々な処理を実行させるクライアント・サーバシステムに関する。
【０００２】
【従来の技術】
コンピュータを用いたデータ処理においては、ユーザが使い易い環境を整えたり特殊なデータ処理を行うために、マクロ言語で作成したエンドユーザプログラム（或いは、カスタマイズプログラム）を設定する場合がある。
例えば、特開平４−１９５４５８号公報に記載される文書処理装置では、入力された文字記号により文書を作成する文書処理装置に、文書中の特殊な項目部分について入力すべきデータを発生するエンドユーザプログラムを設け、キーボードからユーザによって要求が入力されると、この要求に基づいてエンドユーザプログラムが実行されて、文書中の特殊な項目部分に日付等の入力すべきデータを発生して格納するようにしている。
【０００３】
このようなエンドユーザプログラムはクライアント・サーバシステムにおいても用いられており、例えば、特開平６−６８０４６号公報には応用システムの構築にエンドユーザプログラムを利用したクライアント・サーバシステムが記載されている。
このクライアント・サーバシステムは、サーバにエンドユーザプログラムを設け、クライアントからの要求によってサーバのエンドユーザプログラムが所定の処理を実行して、その結果をクライアントへ返信するシステムであり、プロセス間通信によってクライアントとサーバとを連携させている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来にあってはクライアントとサーバとを連携させたとしても、エンドユーザプログラムはユーザやクライアントからの要求によって所定の処理を実行するものであり、サーバのデータ処理結果に基づいてクライアント側のエンドユーザプログラムが自動的に所定の処理を実行することはできなかった。
【０００５】
例えば、Ｗｉｎｄｏｗｓ（米国マイクロソフト社の商標）がサポートするダイナミックデータエクスチェンジ（ＤＤＥ）ではホットリンク（ｈｏｔ  ｌｉｎｋ）と称するプロセス間通信機能があり、このホットリンクではサーバでデータ更新処理を行った結果がクライアントへ適宜自動的に通知される。このように通知されたデータはクライアントにおいてメモリを上書きして格納されるが、例えばデータの更新履歴を残す必要がある場合には、更新処理されたデータをそれぞれ別ファイルとして保存処理するエンドユーザプログラムをクライアントに設けておけばよい。
【０００６】
しかしながら、従来では上記のようにエンドユーザプログラムを自動的に実行させることができなかったため、更新履歴を残そうとする場合には、サーバからの更新通知がある毎にユーザが要求を入力してエンドユーザプログラムを起動させ、更新データの保存処理を行わせなければならなかった。
このような事情は、クライアントに集計保存処理を行うエンドユーザプログラムを設け、サーバでのデータ更新処理の結果をクライアント側で集計して、その都度別ファイルとして保存しようとする場合にも同様であり、エンドユーザプログラムを利用した真の連携がクライアントとサーバとの間で実現されてはいなかった。
【０００７】
本発明は、上記従来の事情に鑑みなされたもので、クライアント・サーバシステムにおいて、エンドユーザプログラムの起動にユーザの介在を必要としない真の連携処理を実現することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載したクライアント・サーバシステムは、データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとを備え、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立するクライアント・サーバシステムにおいて、サーバは、リンクを介してメッセージを送受信する通信手段と、処理対象のデータを格納する記憶手段と、記憶手段に格納されたデータに更新処理を施す処理手段と、を備え、クライアントは、リンクを介してメッセージを送受信する通信手段と、データに所定の処理を施すエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいてエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とする。
【０００９】
また、請求項２に記載したクライアント・サーバシステムは、請求項１に記載のクライアント・サーバシステムにおいて、サーバの記憶手段には項目によって識別される複数のデータが格納されており、クライアントの起動手段は更新処理通知メッセージに基づいて項目に対応するエンドユーザプログラムを起動することを特徴とする。
【００１０】
また、請求項３に記載したクライアント・サーバシステムは、請求項２に記載のクライアント・サーバシステムにおいて、リンクはクライアントからの項目を指定したリンク確立要求メッセージに基づいて確立され、サーバは指定された項目のデータメッセージを送信するリンクを指定したリンク確立応答メッセージをクライアントへ送信するとともに、更新処理通知メッセージに当該リンクの識別子を含ませて送信し、クライアントは管理手段によってリンク確立応答メッセージに基づいて指定した項目に該当するリンク識別子と当該項目のデータに所定の処理を施すエンドユーザプログラムとを対応付けて管理し、当該管理手段が更新処理通知メッセージに含まれたリンク識別子に基づいて指定した項目に対応するエンドユーザプログラムを起動手段に起動させて、当該更新処理通知メッセージに含まれたデータに所定の処理を施すことを特徴とする。
【００１１】
【作用】
請求項１のクライアント・サーバシステムでは、クライアントとサーバとの間にホットリンク等のプロセス間通信リンクを確立して、クライアントとサーバとの間でメッセージ交換を行う。そして、このメッセージ交換において、クライアントがサーバから更新処理通知メッセージを受信すると、この通知に基づいてクライアントの起動手段がエンドユーザプログラムを起動する。この結果、エンドユーザプログラムがサーバから更新処理通知メッセージに基づいて自動的に起動されて、マクロ言語で記述された所定の処理を実行する。
【００１２】
また、請求項２のクライアント・サーバシステムでは、サーバが更新処理するデータが複数ある場合には、これらを項目によってそれぞれ区別し、起動手段はサーバから更新処理通知メッセージに基づいて、項目に対応するエンドユーザプログラムを自動的に起動する。
また、請求項３のクライアント・サーバシステムでは、クライアントが指定した項目毎にリンクが確立され、クライアントの管理手段は、このリンクの識別子によって、サーバで更新処理された項目に対応するエンドユーザプログラムを特定し、このエンドユーザプログラムを起動手段により起動させて更新履歴の保存処理等といった所定の処理を実行させる。
【００１３】
なお、本発明は、パーソナルコンピュータ等といった同一のマシンにインストールした、クライアントアプリケーションプログラムとサーバアプリケーションプログラムとで構成したクライアント・サーバシステムのみならず、ワークステーション等の別個のマシンをネットワークで接続した、クライアントマシンとサーバマシンとで構成したクライアント・サーバシステムにも適用することができる。
【００１４】
【実施例】
本発明の実施例を図面を参照して説明する。
まず、本発明に係るクライアント・サーバシステムを実施する態様例を説明する。
図１は同一のマシン上で実施した例を示しており、クライアントアプリケーションとサーバアプリケーションとの間にホットリンクＨＬを確立させてプロセス間通信を行っている。
すなわち、リンクのタイプであるホットリンク、サーバ側のアプリケーション名、サーバ側のデータの項目、クライアント側のオブジェクト名、クライアント側で起動させるエンドユーザプログラム名等をユーザが入力して、クライアントアプリケーションとサーバアプリケーションとの間にホットリンクＨＬを確立させる。
【００１５】
そして、サーバアプリケーションプログラムが指定された項目のデータオブジェクトＳＤ（例えば、表データ）に更新処理を施すと、この更新通知がホットリンクＨＬを介してクライアントアプリケーションに通知されて、ユーザ指定されたクライアント側のオブジェクト（例えば、表データ）ＣＤに反映される。そして、クライアント側では、この更新通知に基づいて、ユーザ指定したエンドユーザプログラムが自動的に起動され、更新履歴の保存処理が実行される。
【００１６】
図２はネットワークで接続された別個のマシン上で実施した例を示しており、クライアントマシンとサーバマシンとの間にネットワークＮＴを介してホットリンクＨＬを確立させてプロセス間通信を行っている。
この態様では、ユーザがクライアントマシンからサーバマシン名とともに上記した各事項を入力して、クライアントマシンとサーバマシンとの間にホットリンクＨＬを確立させる。
そして、サーバマシンが指定された項目のデータオブジェクトＳＤに更新処理を施すと、この更新通知がホットリンクＨＬを介してクライアントマシンに通知されて、ユーザ指定されたクライアント側のオブジェクトＣＤに反映される。そして、クライアント側では、この更新通知に基づいて、ユーザ指定したエンドユーザプログラムが自動的に起動され、更新履歴の保存処理が実行される。
【００１７】
図３にはネットワークＮＴで接続したクライアントマシンＣとサーバマシンＳとから構成されるクライアント・サーバシステムを示してある。
クライアントＣには、ネットワークＮＴを介してメッセージ交換を行う通信手段１と、受信したメッセージやクライアント側のオブジェクトを格納するメモリ２と、それぞれ履歴保存処理等の所定の処理手続きがマクロ言語で記述された複数のエンドユーザプログラム３と、エンドユーザプログラム３を起動させる起動手段４と、起動させるべきエンドユーザプログラム３を特定するプログラム管理手段５と、メッセージ交換やメッセージ格納といったクライアントＣの各機能手段による処理を統括して制御する制御手段６と、を備えている。
プログラム管理手段５は、リンク識別子（リンクＩＤ）とエンドユーザプログラム名とが対応付けて記述されるテーブル７を有しており、このテーブル７の記述に基づいて起動させるべきエンドユーザプログラム３を特定する。
【００１８】
サーバＳには、ネットワークＮＴを介してメッセージ交換を行うとともにネットワークＮＴ上にホットリンクＨＬを確立させる通信手段１１と、処理対象のデータオブジェクトＳＤを格納するメモリ１２と、メモリ１２に格納されたデータオブジェクトＳＤに編集等の更新処理を施す処理手段１３と、処理手段１３による更新処理をクライアントＣへ通知するためのメッセージを作成する通知手段１４と、を備えている。
なお、それぞれのデータオブジェクトＳＤには一義的な項目が付されており、これら項目によって各データオブジェクトＳＤが指定される。
【００１９】
上記した通信手段１、１１、起動手段４、プログラム管理手段５、制御手段６、処理手段１３、通知手段１４は、それぞれの機能を司るプログラムとＣＰＵやＲＡＭ等のハードウエアから構成され、エンドユーザプログラム３はこれらハードウエアを利用してマクロ言語で記述された指定の処理を実行する。また、メモリ２、１２はＲＡＭ等の読み出し書き込み自在な記憶手段から構成され、データを読み書きする手段を有している。
【００２０】
上記構成のクライアント・サーバシステムにおける動作を図４〜図７を参照して説明する。なお、図５はクライアントＣ側での処理手順、図６はリンク確立時におけるサーバＳ側での処理手順、図７はデータ更新時におけるサーバＳ側での処理手順をそれぞれ示している。
【００２１】
まず、クライアントＣとサーバＳとの間にホットリンクＨＬを確立する場合には、クライアントＣに備えられているキーボード等の入力手段から、ホットリンクを張る相手のサーバ名（サーバＩＤ）、リンクのタイプであるホットリンク、サーバ側のデータＳＤの項目、当該項目のデータＳＤについて所定の処理を行うエンドユーザプログラム名等とともにリンク確立要求をユーザが入力する。この結果、図４の（ａ）に示すように、送信元を示すクライアントＩＤ、送信先を示すサーバＩＤ、指定された項目を示す項目ＩＤ、ホットリンクを示すリンク種別等を含むリンク確立要求メッセージが通信手段１からネットワークＮＴを介してサーバの通信手段１１へ送信される（ステップＳ１）。
【００２２】
サーバＳ側ではリンク確立要求メッセージに対応して後述するようにリンク確立処理を行い、ホットリンクが確立されるときには、図４の（ｂ）に示すように、送信元を示すサーバＩＤ、送信先を示すクライアントＩＤ、指定された項目を示す項目ＩＤ、確立されたホットリンクＨＬを示すリンクＩＤ等を含むリンク確立応答メッセージが通信手段１１からネットワークＮＴを介してクライアントＣへ返信される。クライアントＣは、このリンク確立応答メッセージの受信を監視し（ステップＳ２）、リンク確立要求メッセージを送信した後の所定の時間以内にリンク確立応答メッセージを受信できない場合には（ステップＳ３）、ホットリンクが確立されないものとして、エラー処理を行って処理を終了する（ステップＳ４）。
【００２３】
一方、所定時間以内にリンク確立応答メッセージを受信した場合には、このメッセージを通信手段で受信処理し（ステップＳ５）、プログラム管理手段５がユーザによって指定入力されたエンドユーザプログラム名と対応付けてこのメッセージに含まれているリンクＩＤをテーブル７に書き込む（ステップＳ６）。
ここで、ホットリンクＨＬは項目毎にそれぞれ確立されるため、テーブル７においては、確立されたホットリンクＩＤによって、指定された項目に対応するエンドユーザプログラムが対応付けられる。
【００２４】
そして、サーバの処理手段１３が指定された項目のデータＳＤに更新処理を施すと、後述するようにクライアントＣに対して更新通知メッセージを送信する。この更新通知メッセージは、図４の（ｃ）に示すように、送信元を示すサーバＩＤ、送信先を示すクライアントＩＤ、指定された項目についてのリンクＩＤ、更新されたデータＳＤ等を含んでおり、通信手段１１からホットリンクＨＬを介してクライアントＣへ送信される。
クライアントＣは、この更新通知メッセージの受信を監視し（ステップＳ７）、予め設定した所定の時間以内に更新通知メッセージを受信できない場合には（ステップＳ８）、何らかの障害が生じたものとして、エラー処理を行って処理を終了する（ステップＳ４）。
【００２５】
一方、所定時間以内に更新通知メッセージを受信した場合には、このメッセージをメモリ２に格納し、このメッセージに含まれているリンクＩＤによってプログラム管理手段５がテーブル７を検索する（ステップＳ９）。
そして、リンクＩＤに対応するエンドユーザプログラム名がテーブル７に存在しない場合には、後述するプログラム起動を行わずに正常処理する一方、対応するエンドユーザプログラム名が存在する場合には（ステップＳ１０）、起動手段４が当該プログラム名で特定されるエンドユーザプログラム３を起動させる（ステップＳ１１）。
【００２６】
この結果、エンドユーザプログラム３が所定の処理を実行して処理を終了する（ステップＳ１２）。なお、エンドユーザプログラム３が予め設定した所定時間以内に処理を終了しえない場合には、何らかの障害が生じたものとして、エラー処理を行って処理を終了する（ステップＳ４）。
したがって、サーバＳから送信された更新通知メッセージに基づいて、対応するエンドユーザプログラム３が自動的に起動され、更新通知メッセージに含ませられてメモリ２に格納されている更新されたデータＳＤについて履歴を保存する等といった所定の処理がエンドユーザプログラム３によって実行される。
【００２７】
上記したサーバＳ側でのリンク確立処理では、サーバＳはリンク確立要求メッセージを受信するかを監視し（ステップＳ２１）、このメッセージを受信したときには、メッセージに含まれている項目ＩＤからメモリ１２に対応するする項目のデータＳＤが格納されているかを処理手段１３が検索する（ステップＳ２２）。
この結果、対応する項目のデータＳＤが格納されていない場合には（ステップＳ２３）、エラー処理を行って処理を終了する一方（ステップＳ２４）、対応する項目のデータＳＤが格納されている場合には通信手段１１が当該項目のデータＳＤについてのホットリンクＨＬをネットワークＮＴを介して確立させる（ステップＳ２５）。
【００２８】
このリンク確立処理が失敗した場合にはエラー処理を行って処理を終了する一方（ステップＳ２６、Ｓ２４）、リンク確立処理が成功した場合には、リンク確立応答メッセージをホットリンクＨＬを介してクライアントＣへ返信して処理を終了する（ステップＳ２６、Ｓ２７）。
すなわち、指定された項目毎のホットリンクＨＬがネットワークＮＴ上に確立され、このホットリンクＨＬを介してクライアントＣとサーバＳとの間のプロセス通信が行われる。
【００２９】
そして、サーバの処理手段１３がメモリ１２に格納されているデータＳＤに編集等の更新処理を施し、この更新処理においてホットリンクＨＬが確立されている項目のデータＳＤが更新されたときには（ステップＳ３１）、通知手段１４が更新通知メッセージを作成して通信手段１１へこのメッセージを受け渡し、対応するリンクＩＤのホットリンクＨＬを介してサーバの通信手段１１からクライアントＣへ送信して処理を終了する（ステップＳ３２）。
【００３０】
なお、上記の実施例ではホットリンクを例にとって説明したが、リンクの名称に係わらず、サーバ側で行った更新処理の結果をその都度クライアント側へ通知する機能を有したリンクであれば、本発明を適用することができる。
また、上記の実施例では指定された項目とエンドユーザプログラムとの対応をリンクＩＤをもって関係付けたが、サーバ側で項目とリンクとの対応関係を管理しておけば、更新通知メッセージやテーブル７において、項目ＩＤをもってエンドユーザプログラムと対応付けることが可能である。
【００３１】
また、上記の実施例ではエンドユーザプログラム及びデータオブジェクトを複数設定していることからプログラム管理手段による対応付け管理が必要となるが、簡易なシステム構成として、エンドユーザプログラムやデータオブジェクトを単数とした場合にはこのような管理を省略することが可能である。
【００３２】
【発明の効果】
以上詳細に説明したように、本発明に係るクライアント・サーバシステムによると、サーバからの更新処理通知に応答して起動手段がクライアント側のエンドユーザプログラムを自動的に起動させるようにしたため、ユーザ操作を介在せずに、更新されたデータについての更新履歴を保存する等の連携処理をクライアント側において実行することができる。
したがって、サーバにおいてデータが時々刻々更新されるようなシステムをエンドユーザプログラムで制御する場合等において、ユーザ操作や特別な監視手段を必要とせずに、データ変更に応じた所定の処理を実行することができ、目的や用途に応じた柔軟なシステムを構築することができる。
【図面の簡単な説明】
【図１】  本発明を同一のマシンで実施した一態様を説明する概念図である。
【図２】  本発明を一対のマシンで実施した一態様を説明する概念図である。
【図３】  本発明の一実施例に係るシステムを示す構成図である。
【図４】  メッセージの内容を示す図であり、（ａ）はリンク確立要求メッセージ、（ｂ）はリンク確立応答メッセージ、（ｃ）は更新通知メッセージである。
【図５】  クライアント側での処理手順を示すフローチャートである。
【図６】  リンク確立に際してのサーバ側での処理手順を示すフローチャートである。
【図７】  データ更新に際してのサーバ側での処理手順を示すフローチャートである。
【符号の説明】
１、１１・・・通信手段、  ３・・・エンドユーザプログラム、
４・・・起動手段、  ５・・・プログラム管理手段、
１３・・・処理手段、  Ｃ・・・クライアント、  Ｓ・・・サーバ、
ＨＬ・・・ホットリンク、  ＳＤ・・・データオブジェクト、
【図１】
0003674988.tif 000002
【図４】
0003674988.tif 000003
【図２】
0003674988.tif 000004
【図３】
0003674988.tif 000005
【図５】
0003674988.tif 000006
【図６】
0003674988.tif 000007
【図７】
0003674988.tif 000008