(57)【要約】【課題】開発効率を向上させる。【解決手段】ＧＵＩオブジェクトに対してユーザアクションが発生すると、情報処理装置３に、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドと、ユーザアクションの実行命令を送信する情報処理端末１と、情報処理端末１から、ＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドを受信するとスレッドを生成するとともに、ユーザアクションの実行命令を受信するとユーザアクションを実行する情報処理装置３を備える。【選択図】      図１
2006252344.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法であって、
前記情報処理端末において、ＧＵＩオブジェクトに対してユーザアクションが発生すると、前記情報処理装置において、前記ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブで前記ユーザアクションを実行するスレッドが生成されるとともに、前記情報処理装置に、前記ユーザアクションの実行命令が送信されるステップと、
前記情報処理装置において、前記情報処理端末から前記実行命令が受信されると、前記スレッドにおいて前記ユーザアクションが実行され、前記ユーザアクションの実行において前記ＧＵＩオブジェクトのメソッドが呼び出された場合、前記呼び出しに関するパラメタが前記情報処理端末に送信されるステップと、
前記情報処理端末において、前記パラメタに基づいて前記ＧＵＩオブジェクトのメソッドのリターンデータが取得され、前記リターンデータが前記情報処理装置に送信されるステップと、
前記情報処理装置において、前記情報処理端末から前記リターンデータが受信されると、前記リターンデータに基づいて、前記スレッドにおいて前記ユーザアクションが実行された結果が、前記ユーザアクションの実行命令の戻り値として前記情報処理端末に送信されるステップ
とを備えることを特徴とする情報処理方法。
【請求項２】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法であって、
前記情報処理端末において、クライアントオブジェクト管理部によって、前記情報処理端末の操作対象であるＧＵＩオブジェクト部と、前記ＧＵＩオブジェクト部を識別するＧＵＩオブジェクトＩＤとが関連づけられて記憶されるステップと、
前記情報処理装置において、アクション管理部によって、前記情報処理端末の前記ＧＵＩオブジェクト部で発生するユーザアクションと、前記ユーザアクションを識別するアクションＩＤとが関連づけられて記憶されるステップと、
前記情報処理装置において、前記サーバオブジェクト管理部によって、前記ＧＵＩオブジェクトＩＤと、前記情報処理端末の前記クライアントオブジェクト管理部において前記ＧＵＩオブジェクトＩＤに関連づけられたＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられて記憶されるステップと、
前記情報処理端末において、前記ＧＵＩオブジェクト部で前記ユーザアクションが発生すると、前記ユーザアクションを識別するアクションイベントＩＤと前記ＧＵＩオブジェクト部とが取得されるステップと、
前記情報処理端末において、前記アクションイベントＩＤと前記ＧＵＩオブジェクト部とが取得されると、前記情報処理装置に処理を開始させるスレッドスタートパケットが送信されるステップと、
前記情報処理装置において、前記スレッドスタートパケットが受信されるステップと、
前記情報処理端末において、前記アクションイベントＩＤと前記ＧＵＩオブジェクト部とが取得されると、前記ＧＵＩオブジェクト部に基づいて前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクトＩＤが取得されるとともに、前記アクションＩＤと前記ＧＵＩオブジェクトＩＤとを含むアクションコールパケットが生成され、前記情報処理装置に送信されるステップと、
前記情報処理装置において、前記アクションコールパケットが受信されると、前記アクションコールパケットに含まれた前記アクションＩＤに基づいて、前記アクション管理部から前記ユーザアクションが取得されるとともに、前記アクションコールパケットに含まれた前記ＧＵＩオブジェクトＩＤに基づいて、前記サーバオブジェクト管理部から前記ＧＵＩオブジェクトスタブが取得されるステップと、
前記情報処理装置において、取得された前記ＧＵＩオブジェクトスタブに対して、取得された前記ユーザアクションが実行されるステップと、
前記情報処理装置において、前記取得されたＧＵＩオブジェクトスタブに対して、前記取得されたユーザアクションが実行され、前記ユーザアクションで前記ＧＵＩオブジェクトスタブのメソッドが所定のパラメタで呼び出された場合、前記ＧＵＩオブジェクトＩＤと前記パラメタとを含むメソッドコールパケットが生成され、前記情報処理端末に送信されるステップと、
前記情報処理端末において、前記メソッドコールパケットが受信されると、前記メソッドコールパケットに含まれた前記ＧＵＩオブジェクトＩＤと前記パラメタが取得され、取得された前記ＧＵＩオブジェクトＩＤに基づいて、前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクト部が取得され、取得された前記ＧＵＩオブジェクト部に前記パラメタが入力されるステップと、
前記情報処理端末において、取得された前記ＧＵＩオブジェクト部に前記パラメタが入力されると、前記ＧＵＩオブジェクト部によって、前記パラメタに対するオブジェクトリターンデータが取得されるとともに、前記オブジェクトリターンデータに前記ＧＵＩオブジェクト部が含まれている場合、含まれている前記ＧＵＩオブジェクト部に基づいて、前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクトＩＤが取得され、前記オブジェクトリターンデータに含まれた前記ＧＵＩオブジェクト部が前記ＧＵＩオブジェクトＩＤに置換された前記オブジェクトリターンデータが前記情報処理装置に送信されるステップと、
前記情報処理装置によって、前記オブジェクトリターンデータが受信されると、前記オブジェクトリターンデータに含まれた前記ＧＵＩオブジェクトＩＤに基づいて、前記サーバオブジェクト管理部から前記ＧＵＩオブジェクトスタブが取得されるステップと、
前記情報処理装置において、取得された前記ＧＵＩオブジェクトスタブに対して、前記オブジェクトリターンデータに基づいて前記ユーザアクションが実行され、アクションリターンデータが取得されるステップと、
前記情報処理装置において、前記アクションリターンデータが含まれたアクションリターンパケットが生成され、前記情報処理端末に送信されるステップと、
前記情報処理端末において前記アクションリターンパケットが受信されると、前記情報処理装置の前記処理が終了したことを示すコマンドが待機されるステップと、
前記情報処理装置において、前記情報処理装置の処理が終了したことを示すコマンドが前記情報処理端末に送信されるステップと、
前記情報処理端末において、前記情報処理装置の処理が終了したことを示すコマンドが受信されると、前記アクションリターンデータが前記ＧＵＩオブジェクト部に入力されるステップ
を備えることを特徴とする情報処理方法。
【請求項３】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法であって、
前記情報処理端末において、クライアントオブジェクト管理部によって、前記情報処理端末の操作対象であるＧＵＩオブジェクト部と、前記ＧＵＩオブジェクト部を識別するＧＵＩオブジェクトＩＤとが関連づけられて記憶されるステップと、
前記情報処理装置において、アクション管理部によって、前記情報処理端末の前記ＧＵＩオブジェクト部で発生するユーザアクションと、前記ユーザアクションを識別するアクションＩＤとが関連づけられて記憶されるステップと、
前記情報処理装置において、前記サーバオブジェクト管理部によって、前記ＧＵＩオブジェクトＩＤと、前記情報処理端末の前記クライアントオブジェクト管理部において前記ＧＵＩオブジェクトＩＤに関連づけられたＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられて記憶されるステップと、
前記情報処理端末において、前記ＧＵＩオブジェクト部で前記ユーザアクションが発生すると、前記ユーザアクションを識別するアクションイベントＩＤと前記ＧＵＩオブジェクト部とクライアントスレッドＩＤとが取得されるステップと、
前記情報処理端末において、前記クライアントスレッドＩＤを含み、前記情報処理装置に処理を開始させるスレッドスタートパケットが送信されるステップと、
前記情報処理装置において、前記スレッドスタートパケットが受信されると、通信オブジェクト管理部が生成されるとともに、生成された前記通信オブジェクト管理部に対応するアクションカウントが初期化され、サーバスレッド管理部によって、サーバスレッドＩＤと、前記クライアントスレッドＩＤと、生成された前記通信オブジェクト管理部とが関連づけられて記憶されるステップと、
前記情報処理端末において、前記ＧＵＩオブジェクト部に基づいて前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクトＩＤが取得されるとともに、前記クライアントスレッドＩＤと前記アクションＩＤと前記ＧＵＩオブジェクトＩＤとを含むアクションコールパケットが生成され、前記情報処理装置に送信されるステップと、
前記情報処理装置において、前記アクションコールパケットが受信されると、前記アクションコールパケットに含まれた前記クライアントスレッドＩＤに基づいて、前記サーバスレッド管理部から通信オブジェクト管理部が取得され、取得された通信オブジェクト管理部に対応するアクションカウントがインクリメントされ、前記アクションコールパケットに含まれた前記アクションＩＤに基づいて、前記アクション管理部から前記ユーザアクションが取得されるとともに、前記アクションコールパケットに含まれた前記ＧＵＩオブジェクトＩＤに基づいて、前記サーバオブジェクト管理部から前記ＧＵＩオブジェクトスタブが取得されるステップと、
前記情報処理装置において、取得された前記ＧＵＩオブジェクトスタブに対して、取得された前記ユーザアクションが実行されるステップと、
前記情報処理装置において、前記取得されたＧＵＩオブジェクトスタブに対して、前記取得されたユーザアクションが実行され、前記ユーザアクションで前記ＧＵＩオブジェクトスタブのメソッドが所定のパラメタで呼び出された場合、前記ＧＵＩオブジェクトＩＤと前記パラメタとを含むメソッドコールパケットが生成され、前記情報処理端末に送信されるステップと、
前記情報処理端末において、前記メソッドコールパケットが受信されると、前記メソッドコールパケットに含まれた前記ＧＵＩオブジェクトＩＤと前記パラメタが取得され、取得された前記ＧＵＩオブジェクトＩＤに基づいて、前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクト部が取得され、取得された前記ＧＵＩオブジェクト部に前記パラメタが入力されるステップと、
前記情報処理端末において、取得された前記ＧＵＩオブジェクト部に前記パラメタが入力されると、前記ＧＵＩオブジェクト部によって、前記パラメタに対するオブジェクトリターンデータが取得されるとともに、前記オブジェクトリターンデータに前記ＧＵＩオブジェクト部が含まれている場合、含まれている前記ＧＵＩオブジェクト部に基づいて、前記クライアントオブジェクト管理部から前記ＧＵＩオブジェクトＩＤが取得され、前記オブジェクトリターンデータに含まれた前記ＧＵＩオブジェクト部が前記ＧＵＩオブジェクトＩＤに置換された前記オブジェクトリターンデータが前記情報処理装置に送信されるステップと、
前記情報処理装置によって、前記オブジェクトリターンデータが受信されると、前記オブジェクトリターンデータに含まれた前記ＧＵＩオブジェクトＩＤに基づいて、前記サーバオブジェクト管理部から前記ＧＵＩオブジェクトスタブが取得されるステップと、
前記情報処理装置において、取得された前記ＧＵＩオブジェクトスタブに対して、前記オブジェクトリターンデータに基づいて前記ユーザアクションが実行され、アクションリターンデータが取得されるステップと、
前記情報処理装置において、前記アクションリターンデータが含まれたアクションリターンパケットが生成され、前記アクションリターンパケットが前記通信オブジェクト管理部に入力されるステップと、
前記情報処理装置において、前記通信オブジェクト管理部に前記アクションリターンパケットが入力されると、前記通信オブジェクト管理部に対応する前記アクションカウントがデクリメントされ、前記アクションリターンパケットが、前記情報処理端末に送信されるステップと、
前記情報処理装置において、前記通信オブジェクト管理部に対応する前記アクションカウントが初期値の場合、前記情報処理装置の前記処理が終了したことを示すコマンドが前記情報処理端末に送信されるステップと、
前記情報処理端末において、前記情報処理装置の処理が終了したことを示すコマンドが受信されると、前記アクションリターンデータが前記ＧＵＩオブジェクト部に入力されるステップ
を備えることを特徴とする情報処理方法。
【請求項４】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムであって、
ＧＵＩオブジェクトに対してユーザアクションが発生すると、前記情報処理装置に、前記ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブで前記ユーザアクションを実行するスレッドを生成させるコマンドと、前記ユーザアクションの実行命令を送信し、
前記ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、前記情報処理装置から、前記メソッドに関するパラメタを受信するとともに、前記パラメタに基づいて前記ＧＵＩオブジェクトのメソッドのリターンデータを取得し、前記リターンデータを前記情報処理装置に送信する中央処理制御装置を備える情報処理端末と、
前記情報処理端末から、前記ＧＵＩオブジェクトスタブで前記ユーザアクションを実行するスレッドを生成させるコマンドを受信すると前記スレッドを生成するとともに、前記ユーザアクションの実行命令を受信すると前記ユーザアクションを実行し、
前記ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、前記メソッドに関するパラメタを前記情報処理端末に送信するとともに、前記パラメタに基づいた前記ＧＵＩオブジェクトのメソッドのリターンデータを前記情報処理端末から受信し、前記リターンデータに基づいて、前記スレッドにおいて前記ユーザアクションを実行した結果を、前記ユーザアクションの実行命令の戻り値として前記情報処理端末に送信する中央処理制御装置を備える情報処理装置
を備えることを特徴とする情報処理システム。
【請求項５】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理端末であって、
ＧＵＩオブジェクトに対してユーザアクションが発生すると、前記情報処理装置に、前記ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブで前記ユーザアクションを実行するスレッドを生成させるコマンドと、前記ユーザアクションの実行命令を送信し、
前記ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、前記情報処理装置から、前記メソッドに関するパラメタを受信するとともに、前記パラメタに基づいて前記ＧＵＩオブジェクトのメソッドのリターンデータを取得し、前記リターンデータを前記情報処理装置に送信する中央処理制御装置を備える
ことを特徴とする情報処理端末。
【請求項６】
情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理装置であって、
前記情報処理端末においてＧＵＩオブジェクトに対してユーザアクションが発生すると、前記情報処理端末から、前記ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブで前記ユーザアクションを実行するスレッドを生成させるコマンドを受信すると前記スレッドを生成するとともに、前記ユーザアクションの実行命令を受信すると、前記ユーザアクションを実行し、
前記ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、前記メソッドに関するパラメタを前記情報処理端末に送信するとともに、前記パラメタに基づいた前記ＧＵＩオブジェクトのメソッドのリターンデータを前記情報処理端末から受信し、前記リターンデータに基づいて、前記スレッドにおいて前記ユーザアクションを実行した結果を、前記ユーザアクションの実行命令の戻り値として前記情報処理端末に送信する中央処理制御装置を備える
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、前記情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムにおける開発効率を向上させる情報処理方法、この情報処理方法を用いた情報処理システム、情報処理装置及び情報処理端末に関する。
【背景技術】
【０００２】
昨今のソフトウェア開発において、クライアントサーバ型システムが一般的に用いられている。このクライアントサーバシステムにおいては、クライアントである情報処理端末で処理の条件データなどが入力され、入力されたデータがサーバである情報処理装置に送信されることにより処理が実現されている。従って、この様なクライアントサーバシステムにおいては、情報処理端末で実行されるプログラムと、情報処理装置で実行されるプログラムとが同期が取れていなければならない。具体的には、例えば、情報処理装置で実行されるプログラムに修正が発生した場合、情報処理端末で実行されるプログラムにおいても修正が発生する場合がある。
【０００３】
例えば、情報処理端末においてＧＵＩ（Graphical User Interface）を持つクライアントサーバシステムでは、情報処理端末上に表示された画面に対する、ユーザの操作によるアクションイベントをトリガーとして、情報処理装置上で計算された結果を情報処理端末のＧＵＩに反映して表示する場合がある。ここで、アクションイベントとは、ユーザによるマウスやキーボードなどの入力装置の操作により発生するイベントで、具体的にはボタンの押下、コンボボックスからの選択、テキストフィールドへの入力などが挙げられる。
【０００４】
具体的には、図１６に示すように、情報処理システム９１０は、クライアントである情報処理端末９０１とサーバである情報処理装置９０３を備えている。情報処理端末９０１は、ＧＵＩコンテナ９１１を備えている。情報処理装置９０３はＪ２ＥＥコンテナ９３１を備えており、Ｊ２ＥＥコンテナ９３１は、ビジネスロジック実行クラス９３２を備えている。
【０００５】
情報処理端末９０１のＧＵＩコンテナ９１１は、例えば、郵便番号と住所を入力するフィールドを備えたＧＵＩと、ＧＵＩを操作するユーザアクションクラス９１２とを備えている。ユーザアクションクラス９１２は、ユーザの操作によってＧＵＩのフィールドに対して文字入力や選択などの入力信号が入力されたアクションイベントをＯＳから受信し、フィールドに入力されたデータを取得して、情報処理装置９０３に送信する。
【０００６】
情報処理装置９０３のビジネスロジック実行クラス９３２は、情報処理端末９０１からフィールドデータを取得すると、その取得されたデータに基づいてビジネスロジックを実行し、新たなフィールドデータを情報処理端末９０１に送信する。
【０００７】
情報処理端末９０１のユーザアクションクラス９１２は、情報処理装置９０３から新たなフィールドデータを受信すると、新たなフィールドデータをフィールドに反映する。
【０００８】
この場合、アクションイベントを受信した情報処理端末のモジュールから、ＲＰＣ（Remote Procedure Call）、ＣＯＲＢＡ（Common Object Request Broker Architecture）、ＲＭＩ（Remote Method Invocation）等の技術を用いて異なる装置上に実装されたオブジェクト間でメッセージをやりとりすることにより、情報処理装置上の関数やメソッドを呼び出す。更に、情報処理端末では、呼び出した関数やメソッドの戻り値を情報処理装置から受信し、受信した戻り値に基づいて、情報処理端末のＧＵＩをコントロールするための関数やメソッドを実行する。
【０００９】
しかし、情報処理装置上の関数やメソッドの戻り値がＧＵＩに反映させる必要のないデータを含む場合がある。このとき、情報処理装置から情報処理端末へのデータの転送量が増大してしまう場合がある。また、非特許文献１などに公開されるＪａｖａ（登録商標）言語におけるutil.Iterator インタフェースやsql.ResultSetなどの反復子やコレクションの戻り値を持つメソッドもある。この場合、ループ関数などを用いて戻り値から一つずつデータを取得する。
【００１０】
この問題を解決するために、既存の情報処理装置上のメソッドの戻り値からデータを取り出し、加工し、戻り値として返すようなラッパーメソッドを情報処理装置上で作成し、情報処理端末から呼び出す方法がある。
【非特許文献１】http://sdc.sun.co.jp/java/index.html
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、情報処理装置上のメソッドが既に多数存在し、それらの多くが反復子を持つメソッドである場合、それぞれについてラッパーメソッドを開発する必要があるので、開発が容易ではない問題がある。
【００１２】
この様な問題に対して、例えば、情報処理装置において、既存のメソッドに対するラッパーメソッドを作成することなく、情報処理端末上で発生したアクションイベントをトリガーとして、情報処理装置上で行った計算結果を情報処理端末のＧＵＩに反映させることにより、開発者の開発効率を向上させる技術が求められている。
【００１３】
従って本発明の目的は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムにおける開発効率を向上させる情報処理方法、この情報処理方法を用いた情報処理システム、情報処理装置及び情報処理端末を提供することである。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明の第１の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法に関する。即ち、本発明の第１の特徴に係る情報処理方法は、情報処理端末において、ＧＵＩオブジェクトに対してユーザアクションが発生すると、情報処理装置において、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドが生成されるとともに、情報処理装置に、ユーザアクションの実行命令が送信されるステップと、情報処理装置において、情報処理端末から実行命令が受信されると、スレッドにおいてユーザアクションが実行され、ユーザアクションの実行においてＧＵＩオブジェクトのメソッドが呼び出された場合、呼び出しに関するパラメタが情報処理端末に送信されるステップと、情報処理端末において、パラメタに基づいてＧＵＩオブジェクトのメソッドのリターンデータが取得され、リターンデータが情報処理装置に送信されるステップと、情報処理装置において、情報処理端末からリターンデータが受信されると、リターンデータに基づいて、スレッドにおいてユーザアクションが実行された結果が、ユーザアクションの実行命令の戻り値として情報処理端末に送信されるステップとを備える
これにより本発明第１の特徴に係る情報処理方法は、情報処理装置側で情報処理装置と同じユーザアクションを実現可能なスタブを備えるので、情報処理端末側の開発作業量を軽減し、開発効率を向上させる情報処理方法を提供することができる。
【００１５】
本発明の第２の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法に関する。即ち、本発明の第２の特徴に係る情報処理方法は、情報処理端末において、クライアントオブジェクト管理部によって、情報処理端末の操作対象であるＧＵＩオブジェクト部と、ＧＵＩオブジェクト部を識別するＧＵＩオブジェクトＩＤとが関連づけられて記憶されるステップと、情報処理装置において、アクション管理部によって、情報処理端末のＧＵＩオブジェクト部で発生するユーザアクションと、ユーザアクションを識別するアクションＩＤとが関連づけられて記憶されるステップと、情報処理装置において、サーバオブジェクト管理部によって、ＧＵＩオブジェクトＩＤと、情報処理端末のクライアントオブジェクト管理部においてＧＵＩオブジェクトＩＤに関連づけられたＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられて記憶されるステップと、情報処理端末において、ＧＵＩオブジェクト部でユーザアクションが発生すると、ユーザアクションを識別するアクションイベントＩＤとＧＵＩオブジェクト部とが取得されるステップと、情報処理端末において、アクションイベントＩＤとＧＵＩオブジェクト部とが取得されると、情報処理装置に処理を開始させるスレッドスタートパケットが送信されるステップと、情報処理装置において、スレッドスタートパケットが受信されるステップと、情報処理端末において、アクションイベントＩＤとＧＵＩオブジェクト部とが取得されると、ＧＵＩオブジェクト部に基づいてクライアントオブジェクト管理部からＧＵＩオブジェクトＩＤが取得されるとともに、アクションＩＤとＧＵＩオブジェクトＩＤとを含むアクションコールパケットが生成され、情報処理装置に送信されるステップと、情報処理装置において、アクションコールパケットが受信されると、アクションコールパケットに含まれたアクションＩＤに基づいて、アクション管理部からユーザアクションが取得されるとともに、アクションコールパケットに含まれたＧＵＩオブジェクトＩＤに基づいて、サーバオブジェクト管理部からＧＵＩオブジェクトスタブが取得されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、取得されたユーザアクションが実行されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、取得されたユーザアクションが実行され、ユーザアクションでＧＵＩオブジェクトスタブのメソッドが所定のパラメタで呼び出された場合、ＧＵＩオブジェクトＩＤとパラメタとを含むメソッドコールパケットが生成され、情報処理端末に送信されるステップと、情報処理端末において、メソッドコールパケットが受信されると、メソッドコールパケットに含まれたＧＵＩオブジェクトＩＤとパラメタが取得され、取得されたＧＵＩオブジェクトＩＤに基づいて、クライアントオブジェクト管理部からＧＵＩオブジェクト部が取得され、取得されたＧＵＩオブジェクト部にパラメタが入力されるステップと、情報処理端末において、取得されたＧＵＩオブジェクト部にパラメタが入力されると、ＧＵＩオブジェクト部によって、パラメタに対するオブジェクトリターンデータが取得されるとともに、オブジェクトリターンデータにＧＵＩオブジェクト部が含まれている場合、含まれているＧＵＩオブジェクト部に基づいて、クライアントオブジェクト管理部からＧＵＩオブジェクトＩＤが取得され、オブジェクトリターンデータに含まれたＧＵＩオブジェクト部がＧＵＩオブジェクトＩＤに置換されたオブジェクトリターンデータが情報処理装置に送信されるステップと、情報処理装置によって、オブジェクトリターンデータが受信されると、オブジェクトリターンデータに含まれたＧＵＩオブジェクトＩＤに基づいて、サーバオブジェクト管理部からＧＵＩオブジェクトスタブが取得されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、オブジェクトリターンデータに基づいてユーザアクションが実行され、アクションリターンデータが取得されるステップと、情報処理装置において、アクションリターンデータが含まれたアクションリターンパケットが生成され、情報処理端末に送信されるステップと、情報処理端末においてアクションリターンパケットが受信されると、情報処理装置の処理が終了したことを示すコマンドが待機されるステップと、情報処理装置において、情報処理装置の処理が終了したことを示すコマンドが情報処理端末に送信されるステップと、情報処理端末において、情報処理装置の処理が終了したことを示すコマンドが受信されると、アクションリターンデータがＧＵＩオブジェクト部に入力されるステップを備える
本発明の第３の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法に関する。即ち本発明の第３の特徴に係る情報処理方法は、情報処理端末において、クライアントオブジェクト管理部によって、情報処理端末の操作対象であるＧＵＩオブジェクト部と、ＧＵＩオブジェクト部を識別するＧＵＩオブジェクトＩＤとが関連づけられて記憶されるステップと、情報処理装置において、アクション管理部によって、情報処理端末のＧＵＩオブジェクト部で発生するユーザアクションと、ユーザアクションを識別するアクションＩＤとが関連づけられて記憶されるステップと、情報処理装置において、サーバオブジェクト管理部によって、ＧＵＩオブジェクトＩＤと、情報処理端末のクライアントオブジェクト管理部においてＧＵＩオブジェクトＩＤに関連づけられたＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられて記憶されるステップと、情報処理端末において、ＧＵＩオブジェクト部でーザアクションが発生すると、ユーザアクションを識別するアクションイベントＩＤとＧＵＩオブジェクト部とクライアントスレッドＩＤとが取得されるステップと、情報処理端末において、クライアントスレッドＩＤを含み、情報処理装置に処理を開始させるスレッドスタートパケットが送信されるステップと、情報処理装置において、スレッドスタートパケットが受信されると、通信オブジェクト管理部が生成されるとともに、生成された通信オブジェクト管理部に対応するアクションカウントが初期化され、サーバスレッド管理部によって、サーバスレッドＩＤと、クライアントスレッドＩＤと、生成された通信オブジェクト管理部とが関連づけられて記憶されるステップと、情報処理端末において、ＧＵＩオブジェクト部に基づいてクライアントオブジェクト管理部からＧＵＩオブジェクトＩＤが取得されるとともに、クライアントスレッドＩＤとアクションＩＤとＧＵＩオブジェクトＩＤとを含むアクションコールパケットが生成され、情報処理装置に送信されるステップと、情報処理装置において、アクションコールパケットが受信されると、アクションコールパケットに含まれたクライアントスレッドＩＤに基づいて、サーバスレッド管理部から通信オブジェクト管理部が取得され、取得された通信オブジェクト管理部に対応するアクションカウントがインクリメントされ、アクションコールパケットに含まれたアクションＩＤに基づいて、アクション管理部からユーザアクションが取得されるとともに、アクションコールパケットに含まれたＧＵＩオブジェクトＩＤに基づいて、サーバオブジェクト管理部からＧＵＩオブジェクトスタブが取得されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、取得されたユーザアクションが実行されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、取得されたユーザアクションが実行され、ユーザアクションでＧＵＩオブジェクトスタブのメソッドが所定のパラメタで呼び出された場合、ＧＵＩオブジェクトＩＤとパラメタとを含むメソッドコールパケットが生成され、情報処理端末に送信されるステップと、情報処理端末において、メソッドコールパケットが受信されると、メソッドコールパケットに含まれたＧＵＩオブジェクトＩＤとパラメタが取得され、取得されたＧＵＩオブジェクトＩＤに基づいて、クライアントオブジェクト管理部からＧＵＩオブジェクト部が取得され、取得されたＧＵＩオブジェクト部にパラメタが入力されるステップと、情報処理端末において、取得されたＧＵＩオブジェクト部にパラメタが入力されると、ＧＵＩオブジェクト部によって、パラメタに対するオブジェクトリターンデータが取得されるとともに、オブジェクトリターンデータにＧＵＩオブジェクト部が含まれている場合、含まれているＧＵＩオブジェクト部に基づいて、クライアントオブジェクト管理部からＧＵＩオブジェクトＩＤが取得され、オブジェクトリターンデータに含まれたＧＵＩオブジェクト部がＧＵＩオブジェクトＩＤに置換されたオブジェクトリターンデータが情報処理装置に送信されるステップと、情報処理装置によって、オブジェクトリターンデータが受信されると、オブジェクトリターンデータに含まれたＧＵＩオブジェクトＩＤに基づいて、サーバオブジェクト管理部からＧＵＩオブジェクトスタブが取得されるステップと、情報処理装置において、取得されたＧＵＩオブジェクトスタブに対して、オブジェクトリターンデータに基づいてユーザアクションが実行され、アクションリターンデータが取得されるステップと、
情報処理装置において、アクションリターンデータが含まれたアクションリターンパケットが生成され、アクションリターンパケットが通信オブジェクト管理部に入力されるステップと、情報処理装置において、通信オブジェクト管理部にアクションリターンパケットが入力されると、通信オブジェクト管理部に対応するアクションカウントがデクリメントされ、アクションリターンパケットが、情報処理端末に送信されるステップと、情報処理装置において、通信オブジェクト管理部に対応するアクションカウントが初期値の場合、情報処理装置の処理が終了したことを示すコマンドが情報処理端末に送信されるステップと、情報処理端末において、情報処理装置の処理が終了したことを示すコマンドが受信されると、アクションリターンデータがＧＵＩオブジェクト部に入力されるステップを備える
本発明の第４の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに関する。即ち、本発明の第４の特徴に係る情報処理システムは、ＧＵＩオブジェクトに対してユーザアクションが発生すると、情報処理装置に、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドと、ユーザアクションの実行命令を送信し、ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、情報処理装置から、メソッドに関するパラメタを受信するとともに、パラメタに基づいてＧＵＩオブジェクトのメソッドのリターンデータを取得し、リターンデータを情報処理装置に送信する中央処理制御装置を備える情報処理端末と、情報処理端末から、ＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドを受信するとスレッドを生成するとともに、ユーザアクションの実行命令を受信するとユーザアクションを実行し、ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、メソッドに関するパラメタを情報処理端末に送信するとともに、パラメタに基づいたＧＵＩオブジェクトのメソッドのリターンデータを情報処理端末から受信し、リターンデータに基づいて、スレッドにおいてユーザアクションを実行した結果を、ユーザアクションの実行命令の戻り値として情報処理端末に送信する中央処理制御装置を備える情報処理装置を備える
本発明の第５の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理端末に関する。即ち本発明の第５の特徴に係る情報処理端末は、ＧＵＩオブジェクトに対してユーザアクションが発生すると、情報処理装置に、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドと、ユーザアクションの実行命令を送信し、ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、情報処理装置から、メソッドに関するパラメタを受信するとともに、パラメタに基づいてＧＵＩオブジェクトのメソッドのリターンデータを取得し、リターンデータを情報処理装置に送信する中央処理制御装置を備える
本発明の第６の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理装置に関する。即ち本発明の第６の特徴に係る情報処理装置は、情報処理端末においてＧＵＩオブジェクトに対してユーザアクションが発生すると、情報処理端末から、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブでユーザアクションを実行するスレッドを生成させるコマンドを受信するとスレッドを生成するとともに、ユーザアクションの実行命令を受信すると、ユーザアクションを実行し、ＧＵＩオブジェクトスタブの実行においてメソッドが呼び出された場合、メソッドに関するパラメタを情報処理端末に送信するとともに、パラメタに基づいたＧＵＩオブジェクトのメソッドのリターンデータを情報処理端末から受信し、リターンデータに基づいて、スレッドにおいてユーザアクションを実行した結果を、ユーザアクションの実行命令の戻り値として情報処理端末に送信する中央処理制御装置を備える。
【発明の効果】
【００１６】
本発明によれば、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムにおける開発効率を向上させる情報処理方法、この情報処理方法を用いた情報処理システム、情報処理装置及び情報処理端末を提供することができる。
【発明を実施するための最良の形態】
【００１７】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１８】
本発明の最良の実施の形態において、図８乃至図１４のシーケンス図は、ＵＭＬ（Unified Modeling Language）に従って記載されている。具体的には、ＡオブジェクトからＢオブジェクトへのメソッド呼び出しが同期メッセージである場合、同期メッセージは、図８のＳ２０１の様な三角を塗りつぶしたの実線矢印で表す。またこのメソッド呼び出しに対する戻り値は、図８のＳ４１３の様に点線矢印で表す。一方、ＡオブジェクトからＢオブジェクトへのメソッドの呼び出しが非同期メッセージである場合、図８のＳ２０２の様な塗りつぶさない実線矢印で表す。またここで、非同期メッセージとは、呼び出し側が処理の完了を待たされずに、呼び出した処理が行われるメッセージである。
【００１９】
（最良の実施の形態）
（情報処理システム）
図１を参照して、本発明の最良の実施の形態に係る情報処理システム１０の概要を説明する。本発明の最良の実施の形態に係る情報処理システム１０は、クライアントである情報処理端末１とサーバである情報処理装置３を備える。情報処理端末１は、ＧＵＩコンテナを備えており、情報処理装置３は情報処理端末１のＧＵＩを制御するリモートユーザアクションクラスを備えたＪ２ＥＥコンテナを有する。
【００２０】
情報処理端末１において、ユーザによる入力装置の操作によって、ＧＵＩコンテナのフィールドに対するアクションイベントが発生すると、情報処理装置３は、情報処理端末１からアクションイベントを受信し、ＧＵＩコンテナのフィールドデータを取得する。更に、情報処理装置３は、情報処理端末１のＧＵＩオブジェクトのスタブを有しており、このスタブを利用して取得したフィールドデータに基づいてビジネスロジックを実行し、その結果得られた新たなフィールドデータを、情報処理端末１にセットする。
【００２１】
この様に、本発明の最良の実施の形態に係る情報処理システム１０においては、情報処理端末１上のＧＵＩオブジェクトで発生したアクションイベントをトリガーとして、サーバ上のＧＵＩオブジェクトのスタブのメソッドを呼び出すことにより、情報処理装置３でユーザアクションを実行し、その戻り値のデータを情報処理端末１のＧＵＩオブジェクトに反映する。
【００２２】
次に、図２を参照して、本発明の最良の実施の形態に係る情報処理システム１０において、情報処理端末１のＧＵＩに対してアクションイベントが発生し、発生したアクションイベントに対する戻り値として、新たにＧＵＩオブジェクトを実行する命令を取得した場合について説明する。図２において、ＧＵＩオブジェクト部１１は、情報処理端末１におけるＧＵＩオブジェクトである。アクション管理部３９は、情報処理端末１のＧＵＩオブジェクト部１１で発生するユーザアクションと、ユーザアクションを識別するアクションＩＤとが関連づけられているオブジェクトである。サーバオブジェクト管理部３６は、情報処理端末１のＧＵＩオブジェクトを識別するＧＵＩオブジェクトＩＤと、ＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられているオブジェクトである。
【００２３】
まず、ステップＳ１０１において、情報処理端末１のＧＵＩオブジェクト部１１において、アクションイベントが発生すると、アクション管理部３９のメソッドが呼び出される。ステップＳ１０２においてアクション管理部３９は、ＧＵＩオブジェクト部１１からアクションイベントが発生したことが通知されると、アクションイベントが発生したＧＵＩオブジェクトのスタブメソッドをサーバオブジェクト管理部３６に対して呼び出す。サーバオブジェクト管理部３６は、スタブメソッドが呼び出されると、このスタブメソッドを実行する。このとき、情報処理端末１において実行されたアクションイベントに基づいてスタブメソッドが実行される。
【００２４】
このスタブメソッドの戻り値として新たにＧＵＩオブジェクトを実行する命令を取得した場合、ステップＳ１０３においてサーバオブジェクト管理部３６は、情報処理端末１のＧＵＩオブジェクト部１１に対して、ＧＵＩオブジェクトのメソッドを呼び出す。情報処理端末１のＧＵＩオブジェクト部１１は、サーバオブジェクト管理部３６からメソッドが呼び出されると、そのメソッドをＧＵＩオブジェクト部１１で実行し、その実行結果を取得する。ＧＵＩオブジェクト部１１は、ステップＳ１０３のＧＵＩオブジェクトメソッド呼び出しの戻り値として、ステップＳ１０４において実行結果をサーバオブジェクト管理部３６に送信する。
【００２５】
ＧＵＩオブジェクト部１１から新たにＧＵＩオブジェクトが実行された結果であるＧＵＩオブジェクトメソッド呼び出しリターンデータが送信されるとサーバオブジェクト管理部３６は、そのリターンデータに基づいて処理を実行する。その処理の戻り値として、再び新たなＧＵＩオブジェクトを実行する命令を取得すると再び、ＧＵＩオブジェクト部１１に対してＧＵＩオブジェクトメソッドを呼び出す。一方、その戻り値に新たなＧＵＩオブジェクトを実行する命令が含まれていない場合、ステップＳ１０５において、サーバオブジェクト管理部３６における戻り値を、ステップＳ１０２のスタブメソッド呼び出しの戻り値としてアクション管理部３９に返す。アクション管理部３９は、サーバオブジェクト管理部３６からスタブメソッド呼び出しのリターンデータを受信すると、ステップＳ１０１のアクション実行に対する戻り値として、受信したデータをＧＵＩオブジェクト部１１に送信する。
【００２６】
次に、図３を参照して、本発明の最良の実施の形態に係る情報処理システム１０を詳細に説明する。
【００２７】
本発明の最良の実施の形態に係る情報処理システム１０は、クライアントである情報処理端末１とサーバである情報処理装置３を備え、情報処理端末１と情報処理装置３は、通信ネットワーク５を介して相互に接続されている。通信ネットワーク５は、インターネットやＬＡＮなどの相互通信可能なネットワークである。
【００２８】
図４に示すように、本発明の最良の実施の形態に係る情報処理装置３は、中央処理制御装置１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３及び入出力インタフェース１０９が、バス１１０を介して接続されている。入出力インタフェース１０９には、入力装置１０４、表示装置１０５、通信制御装置１０６、記憶装置１０７及びリムーバブルディスク１０８が接続されている。
【００２９】
中央処理制御装置１０１は、入力装置１０４からの入力信号に基づいてＲＯＭ１０２から情報処理装置３を起動するためのブートプログラムを読み出して実行し、更に記憶装置１０７に記憶されたオペレーティングシステムを読み出す。更に中央処理制御装置１０１は、入力装置１０４や通信制御装置１０６などの入力信号に基づいて、各種装置の制御を行ったり、ＲＡＭ１０３や記憶装置１０７などに記憶されたプログラム及びデータを読み出してＲＡＭ１０３にロードするとともに、ＲＡＭ１０３から読み出されたプログラムのコマンドに基づいて、データの計算又は加工など、後述する一連の処理を実現する処理装置である。
【００３０】
入力装置１０４は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送信される。表示装置１０５は、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどであり、中央処理制御装置１０１からバス１１０及び入出力インタフェース１０９を介して表示装置１０５において表示させる出力信号を受信し、例えば中央処理制御装置１０１の処理結果などを表示する装置である。通信制御装置１０６は、ＬＡＮカードやモデムなどの装置であり、情報処理装置３をインターネットやＬＡＮなどの通信ネットワークに接続する装置である。通信制御装置１０６を介して通信ネットワークと送受信したデータは入力信号又は出力信号として、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送受信される。
【００３１】
記憶装置１０７は半導体記憶装置や磁気ディスク装置であって、中央処理制御装置１０１で実行されるプログラムやデータが記憶されている。リムーバブルディスク１０８は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース１０９及びバス１１０を介して中央処理制御装置１０１に送受信される。
【００３２】
本発明の最良の実施の形態に係る情報処理装置３の記憶装置１０７には、サーバ情報処理プログラムが記憶され、サーバ情報処理プログラムが情報処理装置３の中央処理制御装置１０１に読み込まれ実行されることによって、サーバ通信部３１、サーバ通信オブジェクト振分部３２、通信オブジェクト管理部３３、サーバアクションスレッド部３４、サーバスレッド管理部３５、サーバオブジェクト管理部３６、サーバメソッド実行部３７ａ、３７ｂ、３７ｃ、サーバアクション実行部３８ａ、３８ｂ、３８ｃ、アクション管理部３９が情報処理装置３に実装される。また、サーバ通信部３１、サーバ通信オブジェクト振分部３２、通信オブジェクト管理部３３、サーバアクションスレッド部３４、サーバスレッド管理部３５、サーバオブジェクト管理部３６、サーバメソッド実行部３７ａ、３７ｂ、３７ｃ、サーバアクション実行部３８ａ、３８ｂ、３８ｃ、アクション管理部３９のそれぞれにおいて記憶されるデータや、メソッドの実行時に発生するワークデータは、記憶装置１０７に記憶される。
【００３３】
また、情報処理端末１も情報処理装置３と同様のハードウェア構成を備える。情報処理端末１の記憶装置には、クライアント情報処理プログラムが記憶され、クライアント情報処理プログラムが情報処理端末１の中央処理制御装置に読み込まれ実行されることによって、ＧＵＩオブジェクト部１１、クライアントメソッド実行部１２ａ、１２ｂ、１２ｃ、クライアントオブジェクト管理部１３、クライアントスレッド管理部１４、アクションイベント受信部１５、クライアントアクション実行部１６ａ、１６ｂ、１６ｃ、クライアントアクションスレッド部１７、クライアント通信部１８が情報処理端末１に実装される。また、ＧＵＩオブジェクト部１１、クライアントメソッド実行部１２ａ、１２ｂ、１２ｃ、クライアントオブジェクト管理部１３、クライアントスレッド管理部１４、アクションイベント受信部１５、クライアントアクション実行部１６ａ、１６ｂ、１６ｃ、クライアントアクションスレッド部１７、クライアント通信部１８のそれぞれにおいて記憶されるデータや、メソッドの実行時に発生するワークデータは記憶装置に記憶される。
【００３４】
（情報処理端末）
次に図３及び図５を参照して、本発明の最良の実施の形態に係る情報処理端末１について詳述する。
【００３５】
ＧＵＩオブジェクト部１１は、情報処理端末１に表示されるＧＵＩの部品を備えるオブジェクトである。ＧＵＩオブジェクト部１１は、図５（ａ）に示すように、ＧＵＩを操作することが可能なＧＵＩ操作メソッドを備える。
【００３６】
クライアントメソッド実行部１２ａは、図５（ｂ）に示すように、ＧＵＩオブジェクト部１１のＧＵＩメソッドを呼び出すinvokeMethodメソッドを備えるオブジェクトである。クライアントメソッド実行部１２ａのinvokeMethodメソッドは、情報処理装置３からＧＵＩオブジェクトのメソッドが呼び出された場合、具体的には、クライアントアクション実行部１６ａを介して、メソッドコール（MethodCall）パケットを受信すると、メソッドコールパケットに基づいて、ＧＵＩオブジェクト部１１に対してメソッドを実行し、その戻り値に基づいて送信パケットを生成し、クライアントアクション実行部１６ａを介して、情報処理装置３に送信する。
【００３７】
クライアントオブジェクト管理部１３は、情報処理端末１の操作対象であるＧＵＩオブジェクト部１１と、ＧＵＩオブジェクト部を識別するＧＵＩオブジェクトＩＤとが関連づけられて記憶されるオブジェクトである。また、クライアントオブジェクト管理部１３は、図５（ｃ）に示すように、ＧＵＩオブジェクトからＧＵＩオブジェクトＩＤを取得するgetObjectIDメソッドと、ＧＵＩオブジェクトＩＤからＧＵＩオブジェクトを取得するgetObjectメソッドを備える。
【００３８】
クライアントスレッド管理部１４は、クライアントスレッドＩＤを管理するオブジェクトである。クライアントスレッド管理部１４は、図５（ｄ）に示すように、isNewThreadメソッドと、removeThreadメソッドを備える。isNewThreadメソッドは、引数として渡されたクライアントスレッドＩＤから、クライアントスレッド管理部１４に当該スレッドＩＤが既に保存されているかいないかをブール値（true又はfalse）で返す。本発明の最良の実施の形態においては、スレッドＩＤが既に保存されていない場合はtrueを返し、スレッドＩＤが既に保存されている場合はfalseを返すとする。removeThreadメソッドは、引数として渡されたクライアントスレッドＩＤをクライアントスレッド管理部１４から削除する。
【００３９】
アクションイベント受信部１５は、ＧＵＩオブジェクト部１１からのアクションイベントをreceiveEventメソッドで受信するオブジェクトである。receiveEventは、ＧＵＩオブジェクト部１１からアクションＩＤとＧＵＩオブジェクトを受信し、クライアントアクションスレッド部１７を生成し、クライアントアクションスレッド部１７のstartメソッドを呼び出すとともに、クライアントアクション実行部１６ａを生成し、クライアントアクション実行部１６ａのrunActionメソッドを呼び出し、アクションリターンデータを戻り値としてＧＵＩオブジェクト部１１に送信する。
【００４０】
クライアントアクション実行部１６ａは、最終目的地として、ＧＵＩオブジェクト部１１で発生したアクションイベントを情報処理装置３のサーバアクション実行部３８ａに送信するための最初の処理を行うrunActionメソッドを備えるオブジェクトである。runActionメソッドは、アクションイベント受信部１５から、クライアントスレッドＩＤ、アクションＩＤ、ＧＵＩオブジェクトを引数として呼び出され、アクションコール（ActionCall）パケットを生成し、生成したアクションコールパケットを、クライアント通信部１８及びサーバ通信部３１を経由してサーバ通信オブジェクト振分部３２に送信する処理を、戻り値としてアクションリターン（ActionReturn）パケットが戻ってくるまで行う。
【００４１】
クライアントアクションスレッド部１７は、アクションイベントが発生したスレッドと別のスレッドで実行されるオブジェクトである。クライアントアクションスレッド部１７は、クライアントスレッドＩＤを引数とするstartメソッドを備える。startメソッドは、最終目的地であるサーバアクションスレッド部３４に、スレッドスタート（ThreadStart）パケットを送信するための最初の処理を行う。
【００４２】
クライアント通信部１８は、サーバ通信部１９に送信パケットを送信し、受信パケットの受信を待った後、受信パケットを呼び出し元に返す処理を行うオブジェクトである。
【００４３】
ここで、情報処理端末１が扱うパケットは、図６の様なクラス構成を備える。パケットは、送信パケットと受信パケットを含む。送信パケットは、クライアントスレッドＩＤを含み、スレッドスタートパケットと、アクションＩＤ及びＧＵＩオブジェクトＩＤを含むアクションコールパケットと、ＧＵＩオブジェクトリターンデータを含むメソッドリターンパケットを含む。受信パケットは、ＧＵＩオブジェクトＩＤとパラメタを含むメソッドコールパケットと、アクションリターンパケットを含むアクションリターンパケットを含む。
【００４４】
（情報処理装置）
次に図３及び図７を参照して、本発明の情報処理装置３について詳述する。
【００４５】
サーバ通信部３１は、新たなスレッドで、クライアント通信部１８から通信ネットワーク５を介して送信パケットを受信し、サーバ通信オブジェクト振分部３２のpostPacketメソッドの呼び出しによって渡し、その戻り値として得たパケットを通信ネットワーク５を介してクライアント通信部１８に送信し、スレッドを終了させるオブジェクトである。
【００４６】
サーバ通信オブジェクト振分部３２は、サーバ通信部３１から受信した送信パケットを、送信パケットの型に基づいて、通信オブジェクト管理部３３又はサーバアクションスレッド部３４のいずれかに振り分ける。図７（ａ）に示すように、サーバ通信オブジェクト振分部３２は、postPacketメソッドを備える。postPacketメソッドは、送信パケットとしてスレッドスタートパケットが引数として渡された場合、サーバアクションスレッド部３４のrunメソッドをスレッドスタートパケットを引数として呼び出し、呼び出しが終了したら、nullをpostPacketメソッドの戻り値として返すオブジェクトである。postPacketメソッドは、送信パケットとしてスレッドスタートパケット以外のパケットが引数として渡された場合、戻り値の受信パケットを引数として、通信オブジェクト管理部３３のexchangePacketメソッドを呼び出し、exchangePacketの戻り値を、postPacketメソッドの戻り値として、サーバ通信部３１及び通信ネットワーク５を介してクライアント通信部１８に返す
通信オブジェクト管理部３３は、図７（ｂ）に示すように、整数値で示されるアクションカウント（ACTION_COUNT）を保持する記憶領域と、二つのスレッド間でパケットの交換を行うexchangePacketメソッドを備える。exchangePacketメソッドは、Ａスレッドから呼び出された際に、通信オブジェクト管理部３３で保持されたアクションカウントが０のときにexchangePacketメソッドの引数としてアクションコールパケットを受け取ると、アクションカウントをインクリメントし、Ｂスレッドからパケットが渡されるまで、Ａスレッドから呼ばれたexchangePacketメソッドを待機させる。更に、Ｂスレッドから渡されたパケットをＡスレッドから呼ばれたexchangePacketメソッドのリターンデータとして返す。
【００４７】
一方、通信オブジェクト管理部３３は、Ａスレッドから呼び出されたexchangePacketメソッドの引数としてアクションリターンパケットを受け取ると、Ｂスレッドから呼び出されたexchangePacketメソッドの戻り値としてアクションリターンパケットを返し、アクションカウントをデクリメントする。アクションカウントが０になった場合、Ａスレッドから呼び出されたexchangePacketメソッドの戻り値としてnullを返す。
【００４８】
これ以外の場合、通信オブジェクト管理部３３は、ＡスレッドからＡパケットを引数としてexchangePacketメソッドが呼び出された場合、以前にＢスレッドから呼び出されたexchangePacketの戻り値としてAパケットを返し、Ａスレッドから呼び出されたexchangePacketメソッドは待機する。
【００４９】
サーバアクションスレッド部３４は、図７（ｃ）に示すように、サーバアクション実行部３８ａのinvokeActionメソッドを呼び出すrunメソッドを備えるオブジェクトである。runメソッドは、通信オブジェクト管理部３３を生成し、サーバスレッド管理部３５に登録し、通信オブジェクト管理部３３のexchangePacketメソッドを用いてクライアントとパケットの送受信を行う。
【００５０】
サーバスレッド管理部３５は、サーバスレッドＩＤ、クライアントスレッドＩＤ、通信オブジェクト管理部３３を対応づけて管理する。サーバスレッド管理部３５は、図７（ｄ）に示すように、setThreadIDメソッドを備えており、サーバスレッドＩＤ、クライアントスレッドＩＤ、通信オブジェクト管理部を引数として呼び出されることにより、サーバスレッド管理部３５に登録される。また、サーバスレッド管理部３５は、getComManagerメソッドと、getComManagerByServerIDメソッドを備えている。getComManagerメソッドは、クライアントＩＤを引数として呼び出されることにより、クライアントスレッドＩＤをキーとして通信オブジェクト管理部３３を検索する。getComManagerByServerIDメソッドは、サーバスレッドＩＤを引数として呼び出されることにより、サーバスレッドＩＤをキーに通信オブジェクト管理部３３を検索する。
【００５１】
サーバオブジェクト管理部３６は、ＧＵＩオブジェクトＩＤと、情報処理端末１のクライアントオブジェクト管理部１３においてＧＵＩオブジェクトＩＤに関連づけられたＧＵＩオブジェクトのスタブであるＧＵＩオブジェクトスタブとが関連づけられて記憶されるオブジェクトである。サーバオブジェクト管理部３６は、図７（ｅ）に示す様に、getObjectStubメソッドを備える。getObjectStubメソッドは、オブジェクトＩＤを引数として呼び出されることにより、ＧＵＩオブジェクトスタブを生成し、戻り値として返す。
【００５２】
サーバメソッド実行部３７ａは、図７（ｆ）に示すように、invokeMethodメソッドを備える。invokeMethodメソッドはサーバアクション実行部３８ａから、ＧＵＩオブジェクトＩＤ及びパラメタを引数として呼び出される。invokeMethodメソッドは、exchangePacketメソッドの戻り値としてメソッドリターンパケットが返ってきた場合、ＧＵＩオブジェクトスタブの戻り値として、ＧＵＩオブジェクトリターンデータを返す。一方、戻り値としてアクションコールパケットが返ってきた場合、サーバアクション実行部３８ａのinvokeActionメソッドを呼び出し、その戻り値を引数として再び通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。exchangePacketの戻り値としてメソッドリターンが返ってくるまで、サーバメソッド実行部３７ａは同様の処理を繰り返す。
【００５３】
サーバアクション実行部３８ａは、図７（ｇ）に示すように、invokeActionメソッドを備えるオブジェクトである。アクション管理部３９からアクションＩＤをキーにユーザアクションを取得し、サーバオブジェクト管理部３６から取得したＧＵＩオブジェクトを引数として、ユーザアクションを呼び出す。
【００５４】
アクション管理部３９は、情報処理端末１のＧＵＩオブジェクト部１１で発生するユーザアクションと、ユーザアクションを識別するアクションＩＤとが関連づけられて記憶されるオブジェクトである。アクション管理部３９は、getActionメソッドを備え、アクションＩＤをキーとして、ユーザアクションを出力する。
【００５５】
ＧＵＩオブジェクトスタブ４０は、図７（ｉ）に示されるようにＧＵＩオブジェクトＩＤを含み、ＧＵＩオブジェクトＩＤによって識別されるオブジェクトである。
【００５６】
（情報処理方法）
次に、図８乃至図１４を参照して、本発明の最良の実施の形態に係る情報処理方法を説明する。図８は、本発明の最良の実施の形態に係る情報処理方法を概略して説明するシーケンス図であって、図９乃至図１４は、本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。
【００５７】
まず、図８、図９及び図１０を参照して、ユーザアクションを実行するまでの処理を説明する。
【００５８】
ステップＳ２０１において、ＧＵＩオブジェクト部１１においてユーザアクションが発生すると、ＧＵＩオブジェクト部１１は、引数アクションＩＤ及びＧＵＩオブジェクトで、アクションイベント受信部１５のreceiveEventメソッドを呼び出す。
【００５９】
ＧＵＩオブジェクト部１１からreceiveEventメソッドが呼び出されると、アクションイベント受信部１５は、recieveEventメソッドにおいて、ＡＰＩ（Application Program Interface）で、発生したユーザアクションのクライアントスレッドＩＤを取得し、クライアントスレッドＩＤを引数としてクライアントスレッド管理部１４のisNewThreadメソッドを呼び出す。このとき戻り値としてブール値trueを得るので、ステップＳ２０２において、アクションイベント受信部１５は、クライアントアクションスレッド部１７を生成し、クライアントスレッドＩＤを引数として、クライアントアクションスレッド部１７のstartメソッドを非同期に呼び出す。
【００６０】
クライアントアクションスレッド部１７は、startメソッドが呼び出されると、ステップＳ２０３において、クライアントスレッドＩＤを含むスレッドスタートパケットを作成し、クライアント通信部１８及びサーバ通信部３１を介して、スレッドスタートパケットを引数としてサーバ通信オブジェクト振分部３２のpostPacketメソッドを呼び出す。
【００６１】
サーバ通信オブジェクト振分部３２は、スレッドスタートパケットを引数としてpostPacketメソッドが呼び出されると、ステップＳ２５１において、サーバアクションスレッド部３４を作成し、スレッドスタートパケットを引数として、サーバアクションスレッド部３４のrunメソッドを呼び出す。
【００６２】
サーバアクションスレッド部３４は、runメソッドが呼び出されると、ステップＳ２５２において、通信オブジェクト管理部３３を生成して、スレッドスタートパケットからクライアントスレッドＩＤを抽出するとともに、ＡＰＩで情報処理装置３におけるサーバスレッドＩＤを取得する。ここで、サーバアクションスレッド部３４は、サーバスレッドＩＤ、クライアントスレッドＩＤ、通信オブジェクト管理部３３を引数にして、サーバスレッド管理部３５のsetThreadIDメソッドを呼び出しサーバスレッド管理部３５に、このサーバスレッドＩＤ、クライアントスレッドＩＤ及び通信オブジェクト管理部３３を関連づけて記憶させ、サーバスレッド管理部３５から応答を得る。更に、サーバアクションスレッド部３４は、nullを引数として、通信オブジェクト管理部３３のexchangePacketを呼び出す。
【００６３】
通信オブジェクト管理部３３は、nullを引数としてexchangePacketが呼び出されると、アクションカウントを０に設定し、アクションコールパケットを待機する。
【００６４】
一方、ステップＳ２０１において、ＧＵＩオブジェクト部１１においてユーザアクションが発生すると、ステップＳ２１１において、ＧＵＩオブジェクト部１１は、クライアントアクション実行部１６ａを生成し、クライアントスレッドＩＤ、アクションＩＤ及びＧＵＩオブジェクトを引数として、クライアントアクション実行部１６ａのrunActionメソッドを呼び出す。クライアントアクション実行部１６ａは、runActionメソッドが呼び出されると、ＧＵＩオブジェクトを引数にして、クライアントオブジェクト管理部１３のgetObjectIDメソッドを呼び出し、戻り値としてＧＵＩオブジェクトＩＤを取得する。更に、クライアントアクション実行部１６ａは、クライアントスレッドＩＤ、アクションＩＤ、ＧＵＩオブジェクトＩＤを含むアクションコールパケットを生成し、ステップＳ２１２において、クライアント通信部１８及びサーバ通信部３１を介して、アクションコールパケットを引数としてサーバ通信オブジェクト振分部３２のpostPacketメソッドを呼び出す。
【００６５】
サーバ通信オブジェクト振分部３２は、アクションコールパケットを引数としてpostPacketメソッドが呼び出されると、アクションコールパケットからクライアントスレッドＩＤを抽出し、クライアントスレッドＩＤを引数として、サーバスレッド管理部３５のgetComManagerメソッドを呼び出し、戻り値として、ステップＳ２５５で作成された通信オブジェクト管理部３３を取得する。更に、サーバ通信オブジェクト振分部は、ステップＳ２６１において、アクションコールパケットを引数にして、通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。
【００６６】
通信オブジェクト管理部３３は、アクションコールパケットを引数にしてexchangePacketが呼び出された場合、アクションカウントをインクリメントし、ステップＳ２６１において渡されたアクションコールパケットを、ステップＳ２６２において、ステップＳ２５２の戻り値としてサーバアクションスレッド部３４に渡す。
【００６７】
サーバアクションスレッド部３４は、runメソッド実行中に、exchangePacketメソッドの戻り値としてアクションコールパケットを受信すると、サーバアクション実行部３８ａを作成し、ステップＳ２６３において、アクションコールパケットを引数にしてサーバアクション実行部３８ａのinvokeActionメソッドを呼び出す。
【００６８】
サーバアクション実行部３８ａは、invokeActionメソッド実行中に、アクションコールパケットからアクションＩＤとＧＵＩオブジェクトＩＤを取得する。更に、サーバアクション実行部３８ａは、invokeAction実行中に、アクションＩＤを引数にして、アクション管理部３９のgetActionメソッドを呼び出し、ユーザアクションを取得する。サーバアクション実行部３８ａは、invokeAction実行中に、ＧＵＩオブジェクトＩＤを引数にして、アクション管理部３９のgetObjectStubメソッドを呼び出し、ＧＵＩオブジェクトスタブを取得する。更に、アクション管理部３９は、取得したユーザアクションとＧＵＩオブジェクトスタブに基づいて、ＧＵＩオブジェクトスタブに対してユーザアクションを実行する。
【００６９】
次に、図８、図１１及び図１２を参照して、ユーザアクションを実行中に、ユーザアクション内から新たにＧＵＩオブジェクトを操作する処理が発生した場合について説明する。
【００７０】
サーバアクション実行部３８ａで実行中のユーザアクション内で、ＧＵＩオブジェクトスタブのメソッドを呼び出した場合、ＧＵＩオブジェクトスタブは、ステップＳ１０９において、サーバメソッド実行部３７ａを作成し、ＧＵＩオブジェクトＩＤとパラメタを引数にしてサーバメソッド実行部３７ａのinvokeMethodメソッドを呼び出す。ここでパラメタは、ユーザアクション内からＧＵＩオブジェクトのスタブのメソッドを呼び出すときの引数である。
【００７１】
サーバメソッド実行部３７ａは、invokeMethodメソッドにおいて、ＡＰＩでサーバスレッドＩＤを取得し、サーバスレッドＩＤを引数にして、サーバスレッド管理部３５のgetComManagerByServerIDメソッドを呼び出し、戻り値として、通信オブジェクト管理部３３を取得する。更にサーバメソッド実行部３７ａは、ＧＵＩオブジェクトＩＤ及びパラメタを含むメソッドコールパケットを作成し、ステップＳ３５２において、メソッドコールパケットを引数にして、通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。
【００７２】
通信オブジェクト管理部３３は、exchangePacketメソッド実行中に、メソッドコールパケットを受信すると、ステップＳ３５３において、受信したメソッドコールパケットを、ステップＳ２６１の戻り値として、サーバ通信オブジェクト振分部３２に返す。サーバ通信オブジェクト振分部３２は、postPacketメソッド実行中に、メソッドコールパケットを受信すると、ステップＳ３０１において、サーバ通信部３１及びクライアント通信部１８を介して、ステップＳ２１２の戻り値としてメソッドコールパケットをクライアントアクション実行部１６ａに送信する。
【００７３】
クライアントアクション実行部１６ａは、runAction実行中にメソッドコールパケットを受信すると、ステップＳ３０２において、クライアントメソッド実行部１２ａを作成し、メソッドコールパケットを引数にして、クライアントメソッド実行部１２ａのinvokeMethodメソッドを呼び出す。
【００７４】
クライアントメソッド実行部１２ａは、invokeMethodメソッドで、メソッドコールパケットからＧＵＩオブジェクトＩＤとパラメタを取り出す。更にクライアントメソッド実行部１２ａは、ＧＵＩオブジェクトＩＤを引数にしてクライアントオブジェクト管理部１３のgetObjectメソッドを呼び出し、ＧＵＩオブジェクトを取得する。ここで、クライアントメソッド実行部１２ａは、ステップＳ３０３において、パラメタを引数にしてＧＵＩオブジェクトのメソッドを呼び出す。
【００７５】
ＧＵＩオブジェクト部１１は、パラメタを引数にして呼び出されたメソッドを実行し、ステップＳ３０４において、その戻り値をＧＵＩオブジェクトリターンデータとして、クライアントメソッド実行部１２ａに送信する。
【００７６】
クライアントメソッド実行部１２ａは、invokeMethodメソッド実行中に、ＧＵＩオブジェクトリターンデータを受信する。ここでＧＵＩオブジェクトリターンデータにＧＵＩオブジェクトが存在した場合、クライアントメソッド実行部１２ａは、ＧＵＩオブジェクトを引数にして、クライアントオブジェクト管理部１３のgetObjectIDメソッドを呼び出し、ＧＵＩオブジェクトリターンデータに含まれたＧＵＩオブジェクトのＧＵＩオブジェクトＩＤを取得する。更にクライアントメソッド実行部１２ａは、ＧＵＩオブジェクトリターンデータ内のＧＵＩオブジェクトをＧＵＩオブジェクトＩＤに書き換え、クライアントスレッドＩＤ及びＧＵＩオブジェクトリターンデータを含むメソッドリターンパケットを生成する。更に、クライアントメソッド実行部１２ａは、ステップＳ３０５において、メソッドリターンパケットを、ステップＳ３０２の戻り値として、クライアントアクション実行部１６ａに送信し、消滅する。
【００７７】
クライアントアクション実行部１６ａは、runActionメソッド実行中にメソッドリターンパケットを受信すると、ステップＳ３１１において、クライアント通信部１８及びサーバ通信部３１を介して、メソッドリターンパケットを引数にして、サーバ通信オブジェクト振分部３２を呼び出す。
【００７８】
サーバ通信オブジェクト振分部３２は、postPacketメソッド実行中にメソッドリターンパケットを引数として渡された場合、メソッドリターンパケットからクライアントスレッドＩＤを抽出する。更に、サーバ通信オブジェクト振分部３２は、抽出したクライアントスレッドＩＤを引数にして、サーバスレッド管理部３５のgetComManagerメソッドを呼び出し、戻り値として通信オブジェクト管理部３３を取得する。通信オブジェクト管理部３３を取得すると、サーバ通信オブジェクト振分部３２は、ステップＳ３６１において、メソッドリターンパケットを引数にして、取得した通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。
【００７９】
通信オブジェクト管理部３３は、exchangePacketメソッド実行中にメソッドリターンパケットを受信すると、ステップＳ３６２において、ステップＳ３５２の戻り値として、メソッドリターンパケットをサーバメソッド実行部３７ａに送信する。
【００８０】
サーバメソッド実行部３７ａは、invokeMethodメソッド実行中に、exchangePacketの戻り値としてメソッドリターンパケットを取得した場合、メソッドリターンパケットからＧＵＩオブジェクトリターンデータを抽出する。ここでＧＵＩオブジェクトリターンデータにＧＵＩオブジェクトＩＤが含まれている場合、サーバメソッド実行部３７ａは、ＧＵＩオブジェクトＩＤを引数にして、サーバオブジェクト管理部３６のgetObjectStubメソッドを呼び出し、ＧＵＩオブジェクトスタブを取得する。更に、サーバメソッド実行部は、メソッドリターンパケットのＧＵＩオブジェクトＩＤをＧＵＩオブジェクトスタブに書き換えて、ステップＳ３６３において、ステップＳ３５１の戻り値として、ＧＵＩオブジェクトスタブに書き換えられたメソッドリターンパケットをサーバアクション実行部３８ａのスタブオブジェクトに渡し、消滅する。
【００８１】
次に、図８、図１３及び図１４を参照して、ユーザアクションのリターン処理を説明する。
【００８２】
ステップＳ３５１の戻り値としてメソッドリターンパケットを取得すると、サーバアクション実行部３８ａは、invokeActionメソッドにおいてユーザアクションを実行し、アクションリターンデータを取得し、アクションリターンデータを含むアクションリターンパケットを生成する。更に、ステップＳ４５１においてサーバアクション実行部３８ａは、ステップＳ２６３の戻り値として、アクションリターンパケットを送信する。
【００８３】
サーバアクションスレッド部は、runメソッド実行中にアクションリターンパケットを受信すると、ステップＳ４５２において、アクションリターンパケットを引数にして、通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。
【００８４】
通信オブジェクト管理部３３は、exchangePacketメソッド実行中にアクションリターンパケットを受信すると、ステップＳ４５３において、ステップＳ３６１の戻り値としてこのアクションリターンパケットをサーバ通信オブジェクト振分部３２に送信する。更に、通信オブジェクト管理部３３は、アクションカウントをデクリメントする。
【００８５】
サーバ通信オブジェクト振分部３２は、postPacketメソッド実行中にアクションリターンパケットを受信すると、ステップＳ４０１において、サーバ通信部３１及びクライアント通信部１８を介して、ステップＳ３１１の戻り値としてクライアントアクション実行部１６ａに受信したアクションリターンパケットを送信する。
【００８６】
クライアントアクション実行部１６ａは、runActionメソッドにおいて、アクションリターンパケットを受信すると、アクションリターンパケットからアクションリターンデータを取得し、ステップＳ４０２において、ステップＳ２１１の戻り値としてアクションリターンデータをアクションイベント受信部１５に送信する。
【００８７】
アクションイベント受信部１５は、receiveEventメソッド実行中にアクションリターンデータを受信すると、クライアントアクションスレッド部１７からの終了通知を待機する。
【００８８】
一方、ステップＳ４５２に、通信オブジェクト管理部３３のexchangePacketメソッド実行中においてアクションリターンパケットを受信した後に、アクションカウントをデクリメントした結果、アクションカウントが０になった場合、ステップＳ４６１において、ステップＳ４５２の戻り値としてnull値をサーバアクションスレッド部３４に送信する。
【００８９】
サーバアクションスレッド部３４はステップＳ４６２において、runメソッド実行中にnull値を受信すると、ステップＳ２５１の戻り値として、受信したnull値をサーバ通信オブジェクト振分部３２に送信する。
【００９０】
サーバ通信オブジェクト振分部３２はステップＳ４１１において、受信したnull値を、サーバ通信部３１及びクライアント通信部１８を介して、ステップＳ２０３の戻り値として、クライアントアクションスレッド部１７に送信する。
【００９１】
クライアントアクションスレッド部１７はstartメソッド実行中にnull値を受信するとremoveメソッドを呼び出してスレッドを終了させ、ステップＳ４１２において、アクションイベント受信部１５に終了通知を非同期に送信し消滅する。
【００９２】
アクションイベント受信部１５は、終了通知を受信すると、ステップＳ４１３２において、ステップＳ２０１の戻り値として、ステップＳ４０２で受信したアクションリターンデータをＧＵＩオブジェクト部１１に渡す。
【００９３】
この様に本発明の最良の実施の形態に係る情報処理方法によれば、情報処理端末１のＧＵＩにおいてユーザアクションが発生すると、このユーザアクションに対する処理の開始及び終了を制御するために、情報処理端末３においてクライアントアクションスレッド部１７が作成しされるとともに、情報処理装置３においてサーバアクションスレッド部３４が作成され、更に情報処理装置３において、このユーザアクションに関するパケットの送受信を制御する通信オブジェクト管理部３３が作成される。このとき通信オブジェクト管理部３３のアクションカウントは初期化される。
【００９４】
更に、情報処理端末１のクライアントアクション実行部１６ａは、ユーザアクションを情報処理装置３で実行させるアクションＩＤ及びＧＵＩオブジェクトＩＤを含むアクションコールパケットを通信オブジェクト管理部３３に送信する。通信オブジェクト管理部３３は、アクションカウントをインクリメントし、サーバアクションスレッド部３４にアクションコールパケットを送信し、ＧＵＩオブジェクトスタブでユーザアクションを実行させる。
【００９５】
ここで、ユーザアクション中に、例えばユーザに新たな入力を要求するなどＧＵＩオブジェクトスタブのメソッドを呼び出す場合、サーバアクション実行部３８ａは、その呼び出しに関するＧＵＩオブジェクトＩＤとパラメタを引数にしてサーバメソッド実行部３７ａに入力する。サーバメソッド実行部３７ａは、ＧＵＩオブジェクトＩＤとパラメタを含むメソッドコールパケットを作成し、通信オブジェクト管理部３３を介してクライアントメソッド実行部１２ａにこのメソッドコールパケットを送信する。クライアントメソッド実行部１２ａは、受信したメソッドコールパケットに基づいてＧＵＩオブジェクト部１１に実行させ、その戻り値に基づいてメソッドリターンパケットを生成し、情報処理装置３に送信する。
【００９６】
情報処理装置３のサーバアクション実行部３８ａにおいて、メソッドリターンパケットに基づいてユーザアクションが実行される。ユーザアクションのリターンデータにＧＵＩオブジェクトが含まれていない場合、アクションリターンパケットが生成され、通信オブジェクト管理部３３に送信される。通信オブジェクト管理部３３は、アクションリターンパケットを受信すると、アクションカウントをデクリメントする。
【００９７】
通信オブジェクト管理部３３においてアクションカウントが０になると、アクションリターンパケットを情報処理装置に送信するとともに、終了通知を送信する。
【００９８】
本発明の最良の実施の形態に係る情報処理方法は、情報処理端末１においてユーザアクションが発生すると、このユーザアクションと同様のアクションを情報処理装置３のスタブで実行する。更に、この実行中に新たなメソッドが呼び出されると、そのメソッド呼び出しのパラメタを情報処理端末１に送信して情報処理端末１でユーザアクションを実行させ、その結果が情報処理装置３に送信される。情報処理装置３のスタブでの実行において、メソッド呼び出しが発生しなくなるまでこの処理は繰り返される。メソッド呼び出しが発生しなくなると、情報処理装置３での処理結果が情報処理端末１に送信される。
【００９９】
これにより本発明の最良の実施の形態に係る情報処理方法は、情報処理装置３側で情報処理装置１と同じユーザアクションを実現可能なスタブを備えるので、情報処理端末３側の開発作業量を軽減し、開発効率を向上させる情報処理方法を提供することができる。
【０１００】
（変形例）
本発明の最良の実施の形態の変形例においては、ＧＵＩオブジェクトから再帰的にアクションイベントが発生した場合を説明する。
【０１０１】
図１５に示す本発明の最良の実施の形態の変形例に係るシーケンス図は、図８に示す本発明の最良の実施の形態に係るシーケンス図に比べて、図１５のステップＳ５０１乃至ステップＳ６０３は、図８のステップＳ２０１乃至ステップＳ３０３に相当し、図５のステップＳ６０４乃至ステップＳ６６２は、図８のステップＳ３０４乃至ステップＳ３６２に相当する。一方、図８に比べて図１５は、ステップＳ６０４’乃至ステップＳ７１３’を備えている点が異なる。
【０１０２】
クライアントメソッド実行部１２ａは、ステップＳ３０３において、パラメタを引数にしてＧＵＩオブジェクトのメソッドを呼び出す。このとき、再起的なアクションイベントが発生した場合、ステップＳ６０４’において、アクションＩＤ、ＧＵＩオブジェクトを引数にしてアクションイベント受信部１５のreceiveEventメソッドが呼び出される。
【０１０３】
アクションイベント受信部１５は、receiveEventメソッド実行中に、クライアントスレッドＩＤを引数にしてクライアントスレッド管理部１４のisNewThreadメソッドを呼び出すと、戻り値としてfalseを得る。従ってアクションイベント受信部１５は、この処理が再帰的な処理であると判断する。更にアクションイベント受信部１５は、新たなクライアントアクション実行部１６ｂを作成し、クライアントスレッドＩＤ、アクションＩＤ、ＧＵＩオブジェクトを引数にして、新たなクライアントアクション実行部１６ｂのrunActionメソッドを呼び出す。
【０１０４】
クライアントアクション実行部１６ｂは、runActionメソッドが呼び出されると、ＧＵＩオブジェクトを引数にして、クライアントオブジェクト管理部１３のgetObjectIDメソッドを呼び出し、戻り値としてＧＵＩオブジェクトＩＤを取得する。更に、クライアントアクション実行部１６ａは、クライアントスレッドＩＤ、アクションＩＤ、ＧＵＩオブジェクトＩＤを含むアクションコールパケットを生成し、ステップＳ５１２’において、クライアント通信部１８及びサーバ通信部３１を介して、アクションコールパケットを引数としてサーバ通信オブジェクト振分部３２のpostPacketメソッドを呼び出す。
【０１０５】
サーバ通信オブジェクト振分部３２は、アクションコールパケットを引数としてpostPacketメソッドが呼び出されると、アクションコールパケットからクライアントスレッドＩＤを抽出し、クライアントスレッドＩＤを引数として、サーバスレッド管理部３５のgetComManagerメソッドを呼び出し、戻り値として、通信オブジェクト管理部３３を取得する。更に、サーバ通信オブジェクト振分部３２は、ステップＳ５６１’において、アクションコールパケットを引数にして、通信オブジェクト管理部３３のexchangePacketメソッドを呼び出す。
【０１０６】
通信オブジェクト管理部３３は、アクションコールパケットを引数にしてexchangePacketが呼びだされた場合、アクションカウントをインクリメントし、ステップＳ５６１’において渡されたアクションコールパケットを、ステップＳ５６２’において、ステップＳ６５２の戻り値として、サーバメソッド実行部３７ａにおいて、アクションコールパケットを送信する。
【０１０７】
サーバアクションスレッド部３４は、runメソッド実行中に、exchangePacketメソッドの戻り値としてアクションコールパケットを受信すると、新たなサーバアクション実行部３８ｂを作成し、ステップＳ５６３’において、新たなサーバアクション実行部３８ｂを生成し、アクションコールパケットを引数にしてサーバアクション実行部３８ｂのinvokeActionメソッドを呼び出す。
【０１０８】
この様に、ＧＵＩオブジェクトに対するユーザアクションを情報処理装置３で実行中に更にメソッドが呼び出され、そのメソッドを情報処理端末１で実行しているときに新たなアクションイベントが発生すると、アクションイベント受信部１５がこのアクションイベントを検知し、新たなクライアントアクション実行部１６ｂを作成する。更に、サーバにおいても、新たなサーバアクション実行部３８ｂを作成することにより、再帰的な処理が呼び出されたオブジェクトとは異なるオブジェクトで、再帰的な処理が実行される。
【０１０９】
本発明の最良の実施の形態の変形例に係る情報処理方法によれば、再帰的な処理が発生する場合でも、情報処理端末１側で情報処理装置３を操作するオブジェクトを作成し、ビジネスロジックに関するオブジェクトの開発を行う必要がないので、開発効率を向上させる情報処理方法を提供することができる。
【０１１０】
（その他の実施の形態）
上記のように、本発明の最良の実施の形態とその変形例によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなる。
【０１１１】
例えば、本発明の最良の実施の形態に記載した情報処理端末１及び情報処理装置３は、図３に示すようにそれぞれ一つのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。また、既存のワークフローシステム上に実現されても良い。
【０１１２】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【０１１３】
【図１】本発明の最良の実施の形態に係る情報処理システムの概要を説明する図である。
【図２】本発明の最良の実施の形態に係る情報処理システムに用いられる情報処理方法の処理を説明する図である。
【図３】本発明の最良の実施の形態に係る情報処理システムの機能構成を説明する図である。
【図４】本発明の最良の実施の形態に係る情報処理装置のハードウェア構成を説明する図である。
【図５】本発明の最良の実施の形態に係る情報処理端末に実装されるオブジェクトを説明する図である。
【図６】本発明の最良の実施の形態に係る情報処理端末において扱われるパケットのクラス構成図である。
【図７】本発明の最良の実施の形態に係る情報処理装置に実装されるオブジェクトを説明する図である。
【図８】本発明の最良の実施の形態に係る情報処理方法を概略して説明するシーケンス図である。
【図９】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その１）
【図１０】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その２）
【図１１】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その３）
【図１２】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その４）
【図１３】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その５）
【図１４】本発明の最良の実施の形態に係る情報処理方法について、詳細に説明するシーケンス図である。（その６）
【図１５】本発明の最良の実施の形態の変形例に係る情報処理方法を概略して説明するシーケンス図である。
【図１６】従来の情報システムの概要を説明する図である。
【符号の説明】
【０１１４】
１…情報処理端末
３…情報処理端末
３…情報処理装置
５…通信ネットワーク
１０…情報処理システム
１１…ＧＵＩオブジェクト部
１２ａ、１２ｂ、１２ｃ…クライアントメソッド実行部
１３…クライアントオブジェクト管理部
１４…クライアントスレッド管理部
１５…アクションイベント受信部
１６ａ、１６ｂ、１６ｃ…クライアントアクション実行部
１７…クライアントアクションスレッド部
１８…クライアント通信部
３１…サーバ通信部
３２…サーバ通信オブジェクト振分部
３３…通信オブジェクト管理部
３４…サーバアクションスレッド部
３５…サーバスレッド管理部
３６…サーバオブジェクト管理部
３７ａ、３７ｂ、３７ｃ…サーバメソッド実行部
３８ａ、３８ａ、３８ｂ…サーバアクション実行部
３９…アクション管理部
４０…ＧＵＩオブジェクトスタブ
１０１…中央処理制御装置
１０２…ＲＯＭ
１０３…ＲＡＭ
１０４…入力装置
１０５…表示装置
１０６…通信制御装置
１０７…記憶装置
１０８…リムーバブルディスク
１０９…入出力インタフェース
１１０…バス
９０１…情報処理端末
９０３…情報処理装置
９１０…情報処理システム
９１１…ＧＵＩコンテナ
９１２…ユーザアクションクラス
９３１…ＥＥコンテナ
９３２…ビジネスロジック実行クラス
【図１】
2006252344.tif 000003
【図２】
2006252344.tif 000004
【図３】
2006252344.tif 000005
【図４】
2006252344.tif 000006
【図５】
2006252344.tif 000007
【図６】
2006252344.tif 000008
【図７】
2006252344.tif 000009
【図８】
2006252344.tif 000010
【図９】
2006252344.tif 000011
【図１０】
2006252344.tif 000012
【図１１】
2006252344.tif 000013
【図１２】
2006252344.tif 000014
【図１３】
2006252344.tif 000015
【図１４】
2006252344.tif 000016
【図１５】
2006252344.tif 000017
【図１６】
2006252344.tif 000018