JP4342545B2 - Information processing method and information processing system - Google Patents
Information processing method and information processing system Download PDFInfo
- Publication number
- JP4342545B2 JP4342545B2 JP2006259546A JP2006259546A JP4342545B2 JP 4342545 B2 JP4342545 B2 JP 4342545B2 JP 2006259546 A JP2006259546 A JP 2006259546A JP 2006259546 A JP2006259546 A JP 2006259546A JP 4342545 B2 JP4342545 B2 JP 4342545B2
- Authority
- JP
- Japan
- Prior art keywords
- gui
- information processing
- action
- execution unit
- thread
- 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.)
- Active
Links
Images
Description
本発明は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理方法及び情報処理システムに関する。 The present invention relates to an information processing method and an information processing system including an information processing device and an information processing terminal that uses information provided from the information processing device.
昨今のソフトウェア開発において、クライアントサーバ型システムが一般的に用いられている。このクライアントサーバシステムにおいては、クライアントである情報処理端末で処理の条件データなどが入力され、入力されたデータがサーバである情報処理装置に送信されることにより処理が実現されている。従って、この様なクライアントサーバシステムにおいては、情報処理端末で実行されるプログラムと、情報処理装置で実行されるプログラムとが同期が取れていなければならない。具体的には、例えば、情報処理装置で実行されるプログラムに修正が発生した場合、情報処理端末で実行されるプログラムにおいても修正が発生する場合がある。 In recent software development, a client server type system is generally used. In this client-server system, processing condition data or the like is input from an information processing terminal that is a client, and processing is realized by transmitting the input data to an information processing device that is a server. Therefore, in such a client server system, the program executed by the information processing terminal and the program executed by the information processing apparatus must be synchronized. Specifically, for example, when a correction is generated in a program executed by the information processing apparatus, the correction may also occur in a program executed by the information processing terminal.
例えば、情報処理端末においてGUI(Graphical User Interface)を持つクライアントサーバシステムでは、情報処理端末上に表示された画面に対する、ユーザの操作によるアクションイベントをトリガーとして、情報処理装置上で計算された結果を情報処理端末のGUIに反映して表示する場合がある(例えば、特許文献1及び特許文献2参照。)。ここで、アクションイベントとは、ユーザによるマウスやキーボードなどの入力装置の操作により発生するイベントで、具体的にはボタンの押下、コンボボックスからの選択、テキストフィールドへの入力などが挙げられる。
For example, in a client server system having a GUI (Graphical User Interface) in an information processing terminal, a result calculated on the information processing apparatus is triggered by an action event by a user operation on a screen displayed on the information processing terminal. In some cases, the information is displayed on the GUI of the information processing terminal (see, for example,
特許文献1には、クライアントに提供するGUI部品を迅速、効率的に開発提供し、保守性の優れたものにするWebアプリケーションサーバが開示されている。特許文献2には、1つのセッションにおける処理が複数のアプリケーションサーバ間で移動しつつ実行される環境において、ユーザのセッションデータをGUIアプリケーションサーバにて確実に取得することのできるWebアプリケーションサーバシステムが開示されている。
情報処理装置上で計算された結果を情報処理端末のGUIに反映して表示する場合、図13に示すように、情報処理システム910は、クライアントである情報処理端末901とサーバである情報処理装置903を備えている。情報処理端末901は、GUIコンテナ911を備えている。情報処理装置903はJ2EEコンテナ931を備えており、J2EEコンテナ931は、ビジネスロジック実行クラス932を備えている。
When the result calculated on the information processing apparatus is reflected in the GUI of the information processing terminal and displayed, the information processing system 910 includes an information processing terminal 901 that is a client and an information processing apparatus that is a server, as shown in FIG. 903. The information processing terminal 901 includes a
情報処理端末901のGUIコンテナ911は、例えば、郵便番号と住所を入力するフィールドを備えたGUIと、GUIを操作するユーザアクションクラス912とを備えている。ユーザアクションクラス912は、ユーザの操作によってGUIのフィールドに対して文字入力や選択などの入力信号が入力されたアクションイベントをOSから受信し、フィールドに入力されたデータを取得して、情報処理装置903に送信する。
The
情報処理装置903のビジネスロジック実行クラス932は、情報処理端末901からフィールドデータを取得すると、その取得されたデータに基づいてビジネスロジックを実行し、新たなフィールドデータを情報処理端末901に送信する。 When the business logic execution class 932 of the information processing apparatus 903 acquires field data from the information processing terminal 901, the business logic is executed based on the acquired data and new field data is transmitted to the information processing terminal 901.
情報処理端末901のユーザアクションクラス912は、情報処理装置903から新たなフィールドデータを受信すると、新たなフィールドデータをフィールドに反映する。 When the user action class 912 of the information processing terminal 901 receives new field data from the information processing apparatus 903, the user action class 912 reflects the new field data in the field.
この場合、アクションイベントを受信した情報処理端末のモジュールから、RPC(Remote Procedure Call)、CORBA(Common Object Request Broker Architecture)、RMI(Remote Method Invocation)等の技術を用いて異なる装置上に実装されたオブジェクト間でメッセージをやりとりすることにより、情報処理装置上の関数やメソッドを呼び出す。更に、情報処理端末では、呼び出した関数やメソッドの戻り値を情報処理装置から受信し、受信した戻り値に基づいて、情報処理端末のGUIをコントロールするための関数やメソッドを実行する。 In this case, the module of the information processing terminal that has received the action event is mounted on a different apparatus using technologies such as RPC (Remote Procedure Call), CORBA (Common Object Request Broker Architecture), and RMI (Remote Method Invocation). Functions and methods on the information processing apparatus are called by exchanging messages between objects. Further, the information processing terminal receives a return value of the called function or method from the information processing apparatus, and executes a function or method for controlling the GUI of the information processing terminal based on the received return value.
しかし、情報処理装置上の関数やメソッドの戻り値がGUIに反映させる必要のないデータを含む場合がある。このとき、情報処理装置から情報処理端末へのデータの転送量が増大してしまう場合がある。また、非特許文献1などに公開されるJava(登録商標)言語におけるutil.Iterator インタフェースやsql.ResultSetなどの反復子やコレクションの戻り値を持つメソッドもある。この場合、ループ関数などを用いて戻り値から一つずつデータを取得する。
However, there are cases where the return values of functions and methods on the information processing apparatus include data that does not need to be reflected in the GUI. At this time, the amount of data transferred from the information processing apparatus to the information processing terminal may increase. In addition, there are methods having iterators and return values of collections such as util.Iterator interface and sql.ResultSet in the Java (registered trademark) language disclosed in Non-Patent
この問題を解決するために、既存の情報処理装置上のメソッドの戻り値からデータを取り出し、加工し、戻り値として返すようなラッパーメソッドを情報処理装置上で作成し、情報処理端末から呼び出す方法がある。
しかし、情報処理装置上のメソッドが既に多数存在し、それらの多くが反復子を持つメソッドである場合、それぞれについてラッパーメソッドを開発する必要があるので、開発が容易ではない問題がある。 However, when many methods on the information processing apparatus already exist and many of them are methods having an iterator, it is necessary to develop a wrapper method for each method, and thus there is a problem that development is not easy.
この様な問題に対して、例えば、情報処理装置において、既存のメソッドに対するラッパーメソッドを作成することなく、情報処理端末上で発生したアクションイベントをトリガーとして、情報処理装置上で行った計算結果を情報処理端末のGUIに反映させることにより、開発者の開発効率を向上させる技術が求められている。 To solve such a problem, for example, in an information processing apparatus, without creating a wrapper method for an existing method, a calculation result performed on the information processing apparatus is triggered by an action event that has occurred on the information processing terminal. There is a need for a technology that improves the development efficiency of developers by reflecting them in the GUI of an information processing terminal.
従って本発明の目的は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムにおける開発効率を向上させる情報処理方法、この情報処理方法を用いた情報処理システムを提供することである。 Accordingly, an object of the present invention is to provide an information processing method for improving development efficiency in an information processing system including an information processing device and an information processing terminal that uses information provided from the information processing device, and information using the information processing method. It is to provide a processing system.
上記課題を解決するために、本発明の第1の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法である。即ち衣本発明の第1の特徴に係る情報処理方法は、情報処理端末において、情報処理装置の命令に従って情報処理端末にGUI画面が表示され、GUI画面に対して入力イベントを発生するステップと、情報処理装置において、入力イベントが発生されたことが入力されると、入力イベントがユーザアクションに変換され、入力イベントに対応するGUIオブジェクトのスタブであるGUIオブジェクトスタブでユーザアクションを実行するスレッドが生成されるとともに、GUIスレッドIDを取得し、情報処理端末のリクエスト代理部に、当該ビジネスロジックを実行するビジネスロジック実行部のアドレスおよびGUIスレッドIDを送信するステップと、情報処理端末のリクエスト代理部が、ビジネスロジック実行部のアドレスおよびGUIスレッドIDを受信すると、受信したアドレスおよびGUIスレッドIDに基づいて、情報処理装置のビジネスロジック実行部を呼び出し、ユーザアクションを実行するステップと、情報処理装置において、ユーザアクションの実行においてGUIオブジェクトのメソッドが呼び出された場合、呼び出しに関するパラメタに基づいて情報処理端末に新たなGUI画面が表示され、新たなGUI画面に対して新たな入力イベントを発生するステップと、情報処理装置において、新たな入力イベントが発生されたことが入力されると、新たな入力イベントがリターンデータに変換され、リターンデータに基づいて、スレッドにおいてユーザアクションが実行された結果が、ユーザアクションの実行命令の戻り値として出力するステップとを備える。 In order to solve the above problems, a first feature of the present invention is an information processing method used in an information processing system including an information processing device and an information processing terminal that uses information provided from the information processing device. . That is, in the information processing method according to the first aspect of the present invention, the information processing terminal displays a GUI screen on the information processing terminal in accordance with an instruction of the information processing device, and generates an input event on the GUI screen; In the information processing apparatus, when an event that an input event has occurred is input, the input event is converted into a user action, and a thread for executing the user action in the GUI object stub that is a GUI object stub corresponding to the input event is generated. is Rutotomoni acquires the GUI thread ID, the request agent unit of the information processing terminal, and transmitting the address and the GUI thread ID of the business logic execution unit for executing the business logic, the request agent unit of the information processing terminal , Business logic execution section address and When receiving the GUI thread ID, based on the received address and GUI thread ID, call the business logic execution unit of the information processing apparatus, and executing the user action, the information processing apparatus, the GUI objects in the execution of a user action When the method is called, a new GUI screen is displayed on the information processing terminal based on the parameters related to the call, a step of generating a new input event for the new GUI screen, and a new input in the information processing device When an event occurrence is input, a new input event is converted into return data, and the result of executing the user action in the thread based on the return data is output as the return value of the user action execution instruction. the method comprising the steps of: Provided.
このような本発明の第1の特徴に係る情報処理方法は、情報処理端末ではGUI画面の表示し、入力イベントを受信するのみで、情報処理装置でGUI操作メソッド及びビジネスロジックが実行されるので、情報処理端末側の開発作業量を軽減し、開発効率を向上させる情報処理方法を提供することができる。 In the information processing method according to the first feature of the present invention, the GUI operation method and the business logic are executed by the information processing apparatus only by displaying the GUI screen on the information processing terminal and receiving the input event. It is possible to provide an information processing method that reduces the amount of development work on the information processing terminal side and improves development efficiency.
本発明の第2の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムに用いられる情報処理方法である。即ち、本発明の第2の特徴に係る情報処理方法は、情報処理装置のGUI実行部のGUIオブジェクト管理部において、GUIオブジェクトと、GUIオブジェクトを識別するGUIオブジェクトIDとを関連づけて記憶するステップと、情報処理装置のビジネスロジック実行部のアクション管理部において、GUIオブジェクトで発生するユーザアクションと、ユーザアクションを識別するアクションIDとを関連づけて記憶するステップと、情報処理装置のビジネスロジック実行部のGUIスタブ管理部において、GUIオブジェクトIDと、GUIオブジェクトIDに関連づけられたGUIオブジェクトのスタブであるGUIオブジェクトスタブとを関連づけて記憶するステップと、情報処理装置のGUI実行部によって、GUIオブジェクトに基づいて情報処理端末にGUI画面を表示し、GUI画面に対して入力イベントが発生すると、入力イベントが情報処理装置のGUI実行部に送信するステップと、情報処理装置のGUI実行部において、入力イベントが受信されると、入力イベントに基づいてGUI操作メソッドを実行してユーザアクションイベントを生成し、ユーザアクションに関するアクションIDとGUIオブジェクトを取得するステップと、情報処理装置のGUI実行部において、ユーザアクションを実行するスレッドを生成し、アクションカウント変数を初期化するとともに、GUIスレッドIDを取得するステップと、情報処理装置のGUI実行部において、ビジネスロジック実行部のアドレスとGUIスレッドIDを、情報処理端末のリクエスト代理部に送信するステップと、情報処理端末のリクエスト代理部において、アドレスおよびGUIスレッドIDに基づいて、情報処理装置のビジネスロジック実行部を呼び出すステップと、情報処理装置のGUI実行部において、GUIスレッドID、アクションIDとGUIオブジェクトとを取得すると、GUIオブジェクトに基づいてGUIオブジェクト管理部からGUIオブジェクトIDを取得するとともに、アクションIDとGUIオブジェクトIDとを含むアクションコールパケットを生成するステップと、情報処理装置のGUI実行部において、アクションカウント変数をインクリメントするとともに、アクションコールパケットを、情報処理装置のビジネスロジック実行部に送信するステップと、情報処理装置のビジネスロジック実行部において、アクションコールパケットを受信すると、アクションコールパケットからアクションIDとGUIオブジェクトIDを取得し、アクションIDに基づいてアクション管理部からユーザアクションを取得するとともに、GUIオブジェクトIDに基づいてGUIスタブ管理部からGUIオブジェクトスタブを取得するステップと、情報処理装置のビジネスロジック実行部において、取得されたGUIオブジェクトスタブに対して、取得されたユーザアクションを実行するステップを備える。 A second feature of the present invention is an information processing method used in an information processing system including an information processing apparatus and an information processing terminal that uses information provided from the information processing apparatus. That is, the information processing method according to the second feature of the present invention includes the step of storing the GUI object and the GUI object ID for identifying the GUI object in association with each other in the GUI object management unit of the GUI execution unit of the information processing apparatus; In the action management unit of the business logic execution unit of the information processing apparatus, a step of associating and storing a user action that occurs in the GUI object and an action ID that identifies the user action, and a GUI of the business logic execution unit of the information processing apparatus In the stub management unit, the GUI object ID and a GUI object stub that is a stub of the GUI object associated with the GUI object ID are stored in association with each other, and the GUI execution unit of the information processing apparatus performs the GUI object A GUI screen is displayed on the information processing terminal based on the project, and when an input event occurs on the GUI screen, the step of transmitting the input event to the GUI execution unit of the information processing device, and the GUI execution unit of the information processing device, When an input event is received, a GUI operation method is executed based on the input event to generate a user action event, and an action ID and a GUI object related to the user action are acquired. A thread for executing a user action is generated, an action count variable is initialized, a GUI thread ID is acquired, and in the GUI execution unit of the information processing apparatus, the address of the business logic execution unit and the GUI thread ID are Processing terminal request A step of transmitting to the processing unit, a step of calling a business logic execution unit of the information processing device based on the address and the GUI thread ID in the request proxy unit of the information processing terminal, and a GUI thread in the GUI execution unit of the information processing device When the ID, the action ID, and the GUI object are acquired, the GUI object ID is acquired from the GUI object management unit based on the GUI object, and an action call packet including the action ID and the GUI object ID is generated. The GUI execution unit of the apparatus increments the action count variable and transmits an action call packet to the business logic execution unit of the information processing apparatus, and the business logic of the information processing apparatus. In click execution unit, upon receiving the action call packet, it obtains the action ID and the GUI object ID from the action call packet, acquires the user action from action manager based on the action ID, GUI stub based on the GUI object ID A step of acquiring a GUI object stub from the management unit, and a step of executing the acquired user action on the acquired GUI object stub in the business logic execution unit of the information processing apparatus.
ここで、情報処理装置のビジネスロジック実行部において、ユーザアクションからGUIオブジェクトスタブのメソッドが所定のパラメタで呼び出された場合、GUIオブジェクトIDとパラメタとを含むメソッドコールパケットを生成し、GUI実行部に送信するステップと、情報処理装置のGUI実行部において、メソッドコールパケットを受信すると、メソッドコールパケットからGUIオブジェクトID及びパラメタを取り出し、GUIオブジェクトIDに基づいてGUIオブジェクト管理部からGUIオブジェクトを取得するステップと、情報処理装置のGUI実行部において、取得されたGUIオブジェクト及びパラメタに基づいて情報処理端末に新たなGUI画面を表示し、新たなGUI画面に対して新たな入力イベントが発生すると、新たな入力イベントが情報処理装置のGUI実行部に送信され、GUIオブジェクトリターンデータに変換するステップと、情報処理装置のGUI実行部において、GUIオブジェクトリターンデータを含むメソッドリターンパケットを生成し、情報処理装置のビジネスロジック実行部に送信するステップと、情報処理装置のビジネスロジック実行部において、メソッドリターンパケットを受信すると、メソッドリターンパケットからGUIオブジェクトリターンデータを取得し、GUIオブジェクトリターンデータが、GUIオブジェクトスタブのメソッドの戻り値として返すステップとを更に備えても良い。 Here, in the business logic execution unit of the information processing apparatus, when a method of the GUI object stub is called from the user action with a predetermined parameter, a method call packet including the GUI object ID and the parameter is generated, and the GUI execution unit When the method execution packet is received in the transmission step and the GUI execution unit of the information processing apparatus, the GUI object ID and the parameter are extracted from the method call packet, and the GUI object is acquired from the GUI object management unit based on the GUI object ID. The GUI execution unit of the information processing apparatus displays a new GUI screen on the information processing terminal based on the acquired GUI object and parameter, and a new input event is generated on the new GUI screen. When it is generated , a new input event is transmitted to the GUI execution unit of the information processing device and converted into GUI object return data, and a method return packet including the GUI object return data is generated in the GUI execution unit of the information processing device. and sending the business logic execution unit of the information processing apparatus, the business logic execution unit of the information processing apparatus receives the method return packet, obtains the GUI object return data from method return packet, a GUI object returns data it may further comprise the step of returning the method's return the GUI object's stub.
更に、情報処理装置のビジネスロジック実行部において、GUIオブジェクトスタブのメソッドの戻り値としてアクションリターンデータを取得すると、アクションリターンデータを含むアクションリターンパケットを作成し、アクションリターンパケットを入力イベントの受信の戻り値として返すステップと、情報処理装置のGUI実行部において、アクションリターンパケットを受信すると、アクションカウント変数をデクリメントし、アクションカウント変数がゼロになると、アクションリターンパケットからアクションリターンデータを取得するステップとを更に備えても良い。 Furthermore, in the business logic execution unit of the information processing apparatus, when the action return data is acquired as the return value of the method of the GUI object stub, an action return packet including the action return data is created, and the action return packet is received. A step of returning as a return value and a step of decrementing the action count variable when the action return packet is received in the GUI execution unit of the information processing device, and acquiring action return data from the action return packet when the action count variable becomes zero And may further be provided.
本発明の第3の特徴は、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムである。即ち本発明の第3の特徴に係る情報処理システムの情報処理端末は、情報処理装置の命令に従って、情報処理端末の表示装置にGUI画面を表示し、情報処理端末の入力装置によってGUI画面に対して発生された入力イベントを情報処理装置に送信するとともに、情報処理装置から、情報処理装置においてビジネスロジックを実行するビジネスロジック実行部のアドレスおよびGUIスレッドIDを受信すると、受信したアドレスおよびGUIスレッドIDに基づいて、情報処理装置のビジネスロジック実行部を呼び出す。本発明の第3の特徴に係る情報処理システムの情報処理装置は、情報処理端末にGUI画面を表示する命令を出力し、GUI画面に対して入力イベントが発生すると、入力イベントをユーザアクションに変換し、情報処理端末のリクエスト代理部に、ビジネスロジック実行部のアドレスおよびGUIスレッドIDを送信し、情報処理端末のリクエスト代理部からの呼び出しに応じて、ビジネスロジック実行部で、入力イベントに対応するGUI画面に対応するGUIオブジェクトのスタブであるGUIオブジェクトスタブでユーザアクションを実行するスレッドを生成し、スレッドにおいてユーザアクションを実行し、ユーザアクションの実行においてGUIオブジェクトのメソッドが呼び出された場合、呼び出しに関するパラメタに基づいて情報処理端末に新たなGUI画面を表示する命令を出力し、新たなGUI画面に対して新たな入力イベントが発生すると、新たな入力イベントをリターンデータに変換し、リターンデータに基づいて、スレッドにおいてユーザアクションを実行した結果を、ユーザアクションの実行命令の戻り値として出力する。 A third feature of the present invention is an information processing system including an information processing device and an information processing terminal that uses information provided from the information processing device. That is, the information processing terminal of the information processing system according to the third feature of the present invention displays a GUI screen on the display device of the information processing terminal according to the instruction of the information processing device, When the address and GUI thread ID of the business logic execution unit that executes business logic in the information processing apparatus are received from the information processing apparatus, the received address and GUI thread ID are transmitted to the information processing apparatus. Based on the above, the business logic execution unit of the information processing apparatus is called. The information processing apparatus of the information processing system according to the third aspect of the present invention outputs a command to display a GUI screen on the information processing terminal, and converts an input event into a user action when an input event occurs on the GUI screen. The address of the business logic execution unit and the GUI thread ID are transmitted to the request proxy unit of the information processing terminal, and the business logic execution unit responds to the input event in response to the call from the request proxy unit of the information processing terminal. When a thread for executing a user action is generated in the GUI object stub, which is a GUI object stub corresponding to the GUI screen, the user action is executed in the thread, and when the method of the GUI object is called in the execution of the user action, Based on parameters When a command to display a new GUI screen is output to the information processing terminal and a new input event occurs on the new GUI screen, the new input event is converted into return data, and in the thread based on the return data The result of executing the user action is output as the return value of the user action execution instruction.
このような本発明の第3の特徴に係る情報処理システムは、情報処理端末ではGUI画面の表示し、入力イベントを受信するのみで、情報処理装置でGUI操作メソッド及びビジネスロジックが実行されるので、情報処理端末側の開発作業量を軽減し、開発効率を向上させる情報処理方法を提供することができる。 In the information processing system according to the third feature of the present invention, the GUI operation method and the business logic are executed by the information processing apparatus only by displaying the GUI screen and receiving the input event at the information processing terminal. It is possible to provide an information processing method that reduces the amount of development work on the information processing terminal side and improves development efficiency.
本発明によれば、情報処理装置と、情報処理装置から提供される情報を利用する情報処理端末とを備える情報処理システムにおける開発効率を向上させる情報処理方法、この情報処理方法を用いた情報処理システムを提供することができる。 According to the present invention, an information processing method for improving development efficiency in an information processing system including an information processing device and an information processing terminal that uses information provided from the information processing device, and information processing using the information processing method A system can be provided.
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。 Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.
本発明の最良の実施の形態において、図2、図9及び図10のシーケンス図は、UML(Unified Modeling Language)に従って記載されている。具体的には、AオブジェクトからBオブジェクトへのメソッド呼び出しが同期メッセージである場合、同期メッセージは、図9のS101の様な三角を塗りつぶしたの実線矢印で表す。またこのメソッド呼び出しに対する戻り値は、図9のS127の様に点線矢印で表す。一方、AオブジェクトからBオブジェクトへのメソッドの呼び出しが非同期メッセージである場合、図9のS104の様な塗りつぶさない実線矢印で表す。またここで、非同期メッセージとは、呼び出し側が処理の完了を待たされずに、呼び出した処理が行われるメッセージである。 In the best mode of the present invention, the sequence diagrams of FIGS. 2, 9 and 10 are described in accordance with UML (Unified Modeling Language). Specifically, when the method call from the A object to the B object is a synchronous message, the synchronous message is represented by a solid line arrow filled with a triangle like S101 in FIG. Also, the return value for this method call is represented by a dotted arrow as in S127 of FIG. On the other hand, when the method call from the A object to the B object is an asynchronous message, it is represented by a solid line arrow as in S104 of FIG. Here, the asynchronous message is a message in which the called process is performed without waiting for the caller to complete the process.
(最良の実施の形態)
(情報処理システム)
図1を参照して、本発明の最良の実施の形態に係る情報処理システム4の概要を説明する。本発明の最良の実施の形態に係る情報処理システム4は、クライアントである情報処理端末1とサーバである情報処理装置2を備える。情報処理端末1は、GUIコンテナを備えており、情報処理装置2は情報処理端末1のGUIを制御するリモートユーザアクションクラスを備えたJ2EEコンテナを有する。
(Best Embodiment)
(Information processing system)
With reference to FIG. 1, an outline of an information processing system 4 according to the preferred embodiment of the present invention will be described. An information processing system 4 according to the best mode of the present invention includes an
情報処理端末1において、ユーザによる入力装置の操作によって、GUIコンテナのフィールドに対する入力イベントが発生すると、情報処理装置2は、情報処理端末1から入力イベントを受信し、GUIコンテナのフィールドデータを取得する。更に、情報処理装置2は、情報処理端末1のGUIオブジェクトのスタブを有しており、このスタブを利用して取得したフィールドデータに基づいてビジネスロジックを実行し、その結果得られた新たなフィールドデータを、情報処理端末1にセットする。
In the
この様に、本発明の最良の実施の形態に係る情報処理システム4においては、情報処理端末1上のGUIオブジェクトで発生した入力イベントをトリガーとして、サーバ上のGUIオブジェクトのスタブのメソッドを実行ことにより、情報処理装置2でユーザアクションを実行し、その戻り値のデータを情報処理端末1のGUIオブジェクトに反映することができる。
As described above, in the information processing system 4 according to the preferred embodiment of the present invention, the stub method of the GUI object on the server is executed using the input event generated in the GUI object on the
次に、図2を参照して、本発明の最良の実施の形態に係る情報処理システム4において、情報処理端末1のGUIに対してアクションイベントが発生し、発生したアクションイベントに対する戻り値として、新たにGUIオブジェクトを実行する命令を取得した場合について説明する。図2において、GUIオブジェクト部21、アクション管理部34及びGUIスタブ管理部33は、情報処理装置2に含まれる。GUIオブジェクト部21は、情報処理端末1に表示されるGUIオブジェクトを管理し、情報処理端末1からの入力イベントを受信し、その処理結果を情報処理端末1に送信して画面表示するとともに、入力イベントをアクションイベントに変換するオブジェクトである。アクション管理部34は、GUIオブジェクト部21が受信するユーザアクションと、ユーザアクションを識別するアクションIDとが関連づけられているオブジェクトである。GUIスタブ管理部33は、GUIオブジェクト部21で管理されるGUIオブジェクトを識別するGUIオブジェクトIDと、GUIオブジェクトのスタブであるGUIオブジェクトスタブとが関連づけられているオブジェクトである。
Next, referring to FIG. 2, in the information processing system 4 according to the preferred embodiment of the present invention, an action event is generated for the GUI of the
まず、情報処理端末1において、情報処理装置2の命令に従って情報処理端末1にGUI画面が表示され、このGUI画面に対して入力イベントが発生される。
First, in the
次に、ステップS1において、情報処理装置2のGUIオブジェクト部21において、情報処理端末1の入力部12から入力イベントが受信されると、入力イベントをアクションイベントに変換してアクション管理部34のメソッドが呼び出される。
Next, when an input event is received from the
ステップS2において、アクション管理部34は、アクションイベントが発生したGUIオブジェクトのスタブメソッドがGUIスタブ管理部33に対して呼び出される。GUIスタブ管理部33は、スタブメソッドが呼び出されると、このスタブメソッドを実行する。このとき、GUIオブジェクト部21から受信されたアクションイベントに基づいてスタブメソッドが実行される。
In step S <b> 2, the
このスタブメソッドの戻り値として新たにGUIオブジェクトを実行する命令を取得した場合、ステップS3においてGUIスタブ管理部33は、GUIオブジェクト部21に対して、GUIオブジェクトのメソッドを呼び出す。GUIオブジェクト部21は、GUIスタブ管理部33からメソッドが呼び出されると、そのメソッドをGUIオブジェクト部21で実行し、情報処理端末1の画面表示部11にGUI画面を表示させるとともに、入力部12からの入力イベントを取得する。GUIオブジェクト部21は、入力イベントに基づいてGUIオブジェクトを実行してリターンデータを生成し、ステップS3のGUIオブジェクトメソッド呼び出しの戻り値として、ステップS4においてリターンデータをGUIスタブ管理部33に送信する。
When a command for newly executing a GUI object is acquired as a return value of this stub method, the GUI
GUIオブジェクト部21から新たにGUIオブジェクトが実行された結果であるリターンデータが送信されるとGUIスタブ管理部33は、そのリターンデータに基づいて処理を実行する。その処理の戻り値として、新たなGUIオブジェクトを実行する命令を取得すると、再びGUIオブジェクト部21に対してGUIオブジェクトメソッドを呼び出す。一方、その戻り値に新たなGUIオブジェクトを実行する命令が含まれていない場合、ステップS5において、GUIスタブ管理部33における戻り値を、ステップS2のスタブメソッド呼び出しの戻り値としてアクション管理部34に返す。アクション管理部34は、GUIスタブ管理部33からスタブメソッド呼び出しのリターンデータを受信すると、ステップS1のアクション実行に対する戻り値として、受信したデータをGUIオブジェクト部21に送信する。GUIオブジェクト部21は、情報処理端末1の画面表示部11に受信したデータを表示させる。
When return data, which is a result of newly executing a GUI object, is transmitted from the
次に、図3を参照して、本発明の最良の実施の形態に係る情報処理システム10を詳細に説明する。
Next, the
本発明の最良の実施の形態に係る情報処理システム4は、クライアントである情報処理端末1とサーバである情報処理装置2を備え、情報処理端末1と情報処理装置2は、通信ネットワーク5を介して相互に接続されている。通信ネットワーク5は、インターネットやLANなどの相互通信可能なネットワークである。
An information processing system 4 according to the best mode of the present invention includes an
図4に示すように、本発明の最良の実施の形態に係る情報処理装置2は、中央処理制御装置101、ROM(Read Only Memory)102、RAM(Random Access Memory)103及び入出力インタフェース109が、バス110を介して接続されている。入出力インタフェース109には、入力装置104、表示装置105、通信制御装置106、記憶装置107及びリムーバブルディスク108が接続されている。
As shown in FIG. 4, the
中央処理制御装置101は、入力装置104からの入力信号に基づいてROM102から情報処理装置2を起動するためのブートプログラムを読み出して実行し、更に記憶装置107に記憶されたオペレーティングシステムを読み出す。更に中央処理制御装置101は、入力装置104や通信制御装置106などの入力信号に基づいて、各種装置の制御を行ったり、RAM103や記憶装置107などに記憶されたプログラム及びデータを読み出してRAM103にロードするとともに、RAM103から読み出されたプログラムのコマンドに基づいて、データの計算又は加工など、後述する一連の処理を実現する処理装置である。
The central
入力装置104は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース109及びバス110を介して中央処理制御装置101に送信される。表示装置105は、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどであり、中央処理制御装置101からバス110及び入出力インタフェース109を介して表示装置105において表示させる出力信号を受信し、例えば中央処理制御装置101の処理結果などを表示する装置である。通信制御装置106は、LANカードやモデムなどの装置であり、情報処理装置2をインターネットやLANなどの通信ネットワークに接続する装置である。通信制御装置106を介して通信ネットワークと送受信したデータは入力信号又は出力信号として、入出力インタフェース109及びバス110を介して中央処理制御装置101に送受信される。
The
記憶装置107は半導体記憶装置や磁気ディスク装置であって、中央処理制御装置101で実行されるプログラムやデータが記憶されている。リムーバブルディスク108は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース109及びバス110を介して中央処理制御装置101に送受信される。
The
本発明の最良の実施の形態に係る情報処理装置2の記憶装置107には、サーバ情報処理プログラムが記憶され、サーバ情報処理プログラムが情報処理装置2の中央処理制御装置101に読み込まれ実行されることによって、GUI実行モジュール(GUI実行部)20及びビジネスロジック実行モジュール(ビジネスロジック実行部)30が情報処理装置2に実装される。GUI実行モジュール20は、GUIオブジェクト部21、GUIメソッド実行部22、GUIオブジェクト管理部23、アクションイベント受信部24、GUIアクション実行部25及び通信オブジェクト管理部26を備える。ビジネスロジック実行モジュール30は、アクションスレッド部31、スタブメソッド実行部32、GUIスタブ管理部33、アクション管理部34、アクション実行部35及びビジネスロジックスレッド管理部36を備える。GUI実行モジュール20及びビジネスロジック実行モジュール30の各部において記憶されるデータやメソッドの実行時に発生するワークデータは、記憶装置107に記憶される。
A server information processing program is stored in the
また、情報処理端末1も情報処理装置2と同様のハードウェア構成を備える。情報処理端末1の記憶装置には、クライアント情報処理プログラムが記憶され、クライアント情報処理プログラムが情報処理端末1の中央処理制御装置に読み込まれ実行されることによって、GUI表示モジュール10が情報処理端末1に実装される。GUI表示モジュール10は、画面表示部11、入力部12及びリクエスト代理部13を備える。GUI表示モジュール10の各部おいて記憶されるデータや、メソッドの実行時に発生するワークデータは情報処理端末1の記憶装置に記憶される。
The
(情報処理端末)
図3及び図5を参照して、本発明の最良の実施の形態に係る情報処理端末1について詳述する。
(Information processing terminal)
With reference to FIG.3 and FIG.5, the
情報処理端末1は、GUI表示モジュール10を備える。GUI表示モジュール10は、画面表示部11、入力部12及びリクエスト代理部13を備える。
The
画面表示部11は、情報処理装置1のGUIオブジェクト部21からの命令に従って、GUI画面を表示装置に表示する。入力部12は、入力装置からの入力イベントを、情報処理装置1のGUIオブジェクト部21に送信する。
The
リクエスト代理部13は、図5(c)に示すようにpostメソッドを備える。postメソッドは、引数としてビジネスロジック実行モジュールアドレス及びGUIスレッドIDを設定して、情報処理装置2のアクションスレッド部31のrunを呼び出す処理をする。このリクエスト代理部13は、情報処理装置2のGUI実行モジュール20のアクションイベント受信部24からの呼び出しに応じて、情報処理装置2のビジネスロジック実行モジュール30のビジネスロジックを呼び出す。この動作により、ビジネスロジックが、SSL認証などの場合で、特定の端末からの呼び出しにしか応じない場合でも対応することができる。
The
(情報処理装置)
本発明の最良の実施の形態に係る情報処理装置2は、GUI実行モジュール(GUI実行部)20と、ビジネスロジック実行モジュール(ビジネスロジック実行部)30とを備える。
(Information processing device)
The
図3及び図6を参照して、本発明の最良の実施の形態に係る情報処理装置2のGUI実行モジュール20について詳述する。
With reference to FIG. 3 and FIG. 6, the
GUI実行モジュール20は、GUIオブジェクト部21、GUIメソッド実行部22、GUIオブジェクト管理部23、アクションイベント受信部24、GUIアクション実行部25及び通信オブジェクト管理部26を備える。
The
GUIオブジェクト部21は、図6(a)に示すように、GUIの部品であるGUIオブジェクトと、そのGUIオブジェクトを操作することが可能なGUI操作メソッドを持つ。更にGUIオブジェクト部21は、情報処理端末1の画面表示部11にGUI画面を表示させる命令を出力するとともに、情報処理端末1の入力部12から入力イベントを受信し、受信した入力イベントに基づいてGUI操作メソッドを実行してアクションイベントを生成し、アクションID及びGUIオブジェクトをアクションイベント受信部24に入力する。
As shown in FIG. 6A, the
GUIメソッド実行部22は、図6(b)に示すように、invokeメソッドを備える。invokeメソッドは、引数としてMethodCallパケット(メソッドコールパケット)が設定されて呼び出され、GUIオブジェクトのGUI操作メソッドを呼び出す。
As shown in FIG. 6B, the GUI
GUIオブジェクト管理部23は、GUIオブジェクトとGUIオブジェクトIDを対にして管理する。GUIオブジェクト管理部23は、図6(c)に示すように、getObjectIDメソッドと、getObjectメソッドを備える。getObjectIDメソッドは、GUIオブジェクトからGUIオブジェクトIDを検索して、戻り値としてGUIオブジェクトIDを返す。getObjectメソッドは、GUIオブジェクトIDからGUIオブジェクトを検索して、戻り値としてGUIオブジェクトを返す。
The GUI
アクションイベント受信部24は、図6(d)に示すように、receiveEventメソッドを備える。receiveEventメソッドは、引数としてアクションID及びGUIオブジェクトが設定されて、GUIオブジェクト部21から呼び出される。receiveEventメソッドは、通信オブジェクト管理部26を生成し、通信オブジェクト管理部26のstartメソッドを呼び出し、GUIオブジェクト部21に、アクションリターンデータを戻り値として返す。更にreceiveEventメソッドは、GUIアクション実行部25を生成し、GUIアクション実行部25のrunActionを呼び出す。
The action
GUIアクション実行部25は、アクションイベントを、最終目的地としてアクション実行部35に送り届けるための最初の処理を行う。GUIアクション実行部25は、図6(e)に示すように、runActionメソッドを備える。runActionメソッドは、GUIスレッドID、アクションID及びGUIオブジェクトが設定されて呼び出され、アクションリターンデータを戻り値として返す。GUIアクション実行部25のruActionメソッドは、ActionCallパケット(アクションコールパケット)を生成し、通信オブジェクト管理部26のexchangePacketメソッドを呼び出し、戻り値として受信パケットを受信する。受信パケットがActionReturnパケットの場合、runActionメソッドはアクションリターンデータを返す。一方受信パケットがMethodCallパケット(メソッドコールパケット)の場合、runActionメソッドは、GUIメソッド実行部22のinvokeメソッドを呼び出し、その戻り値を再び通信オブジェクト管理部26のexchangePacketメソッドの引数に渡す。
The GUI
通信オブジェクト管理部26は、図6(f)に示すように、GUIスレッドIDをキーとして、ACTION_COUNT(アクションカウント変数)という初期値0の整数と、INITという初期値FALSEのフラグを対にしたレコードを備える。GUIスレッドIDは、GUI実行モジュールを一意に表すアドレスと、GUIスレッドIDを一意に表すIDを含む。通信オブジェクト管理部26は、getGuiThreadIDメソッドと、isNewThreadメソッドと、startメソッドと、exchangePacketメソッドを備える。getGuiThreadIDメソッドは、GUIスレッドIDを取得して戻り値として返す。startメソッドは、GUIスレッドIDをキーとするレコードを通信オブジェクト管理部26に追加して、ユーザアクションを実行するスレッドである。isNewThreadメソッドは、引数としてGUIスレッドIDが設定され、このGUIスレッドIDをキーとするレコードがあればFALSEを戻り値として返す。
As shown in FIG. 6 (f), the communication
exchangePacketメソッドは、引数としてGUIスレッドID及びパケットが設定され。後述する図11のフローチャートに従って、2つのスレッド間でパケットを交換する。Aスレッドから呼び出されたexchangePacketメソッドの引数としてアクションリターンパケットを受け取ると、通信オブジェクト管理部26は、Bスレッドから呼び出されたexchangePacketメソッドの戻り値としてアクションリターンパケットを返し、アクションカウント変数をデクリメントする。アクションカウントが0になった場合、通信オブジェクト管理部26は、Aスレッドから呼び出されたexchangePacketメソッドの戻り値としてnullを返す。これ以外の場合、通信オブジェクト管理部26は、AスレッドからAパケットを引数としてexchangePacketメソッドが呼び出された場合、以前にBスレッドから呼び出されたexchangePacketの戻り値としてAパケットを返し、Aスレッドから呼び出されたexchangePacketメソッドは待機する。
In the exchangePacket method, a GUI thread ID and a packet are set as arguments. Packets are exchanged between two threads according to the flowchart of FIG. When receiving an action return packet as an argument of the exchangePacket method called from the A thread, the communication
ここで、通信オブジェクト管理部26が扱うパケットは、図7の様なクラス構成を備える。パケットは、送信パケットと受信パケットを含む。送信パケットは、クライアントスレッドIDを含み、スレッドスタートパケットと、アクションID及びGUIオブジェクトIDを含むアクションコールパケットと、GUIオブジェクトリターンデータを含むメソッドリターンパケットを含む。受信パケットは、GUIオブジェクトIDとパラメタを含むメソッドコールパケットと、アクションリターンパケットを含むアクションリターンパケットを含む。
Here, the packet handled by the communication
次に、図3及び図8を参照して、本発明の最良の実施の形態に係る情報処理装置2のビジネスロジック実行モジュール30について詳述する。
Next, the business
ビジネスロジック実行モジュール30は、アクションスレッド部31、スタブメソッド実行部32、GUIスタブ管理部33、アクション管理部34、アクション実行部35及びビジネスロジックスレッド管理部36を備える。
The business
アクションスレッド部31は、図8(a)に示すように、runメソッドを備える。runメソッドは、引数としてGUIスレッドIDが設定されて呼び出される。runメソッドは、通信オブジェクト管理部26のexchangePacketメソッドを用いて、アクションを実行するためのActionCallパケットを受信し、アクション実行部35を生成してアクション実行部35のinvokeActionを呼び出し、その戻り値を再びexchangePacketメソッドの引数として、通信オブジェクト管理部26に渡す。
The
スタブメソッド実行部32は、図8(b)に示すように、invokeMethodメソッドを備える。invokeMethodメソッドは、GUIオブジェクトID及びパラメタが設定されて呼び出される。invokeMethodメソッドは、GUIスタブの呼び出しに伴い、通信オブジェクト管理部26のexchangePacketメソッドでMethodCallパケットを渡す。exchangePacketメソッドの戻り値としてMethodReturnパケットが帰ってきた場合、invokeMethodメソッドはGUIスタブの戻り値としてGUIオブジェクトリターンデータを返す。ActionCallパケットが返ってきた場合、invokeMethodメソッドは、アクション実行部35を新たに作成し、アクション実行部35のinvokeActionを呼び出し、その戻り値を再び通信オブジェクト管理部26のexchangePacketの引数として渡す。invokeMethodメソッドは、exchangePacketの戻り値としてMethodReturnパケットが返ってくるまで、同様の処理を繰り返す。
As shown in FIG. 8B, the stub
GUIスタブ管理部33は、GUIスタブを管理し、図8(c)に示すように、getObjectStubメソッドを備える。getObjectStubメソッドは、引数としてオブジェクトIDが設定されて呼び出され、オブジェクトIDを元にGUIオブジェクトスタブを生成し、戻り値としてGUIオブジェクトスタブを返す。ここでGUIオブジェクトスタブは、図8(g)に示すように、GUIオブジェクトIDに対応する。
The GUI
アクション管理部34は、ユーザアクションを管理し、図8(d)に示すように、getActionメソッドを備える。getActionメソッドは、引数としてアクションIDが設定されて呼び出され、アクションIDを元にユーザアクションを検索して、戻り値としてユーザアクションを返す。
The
アクション実行部35は、図8(e)に示すように、invokeActionメソッドを備える。invokeActionメソッドは、引数としてActionCallパケットが設定されて呼び出され、アクション管理部34からユーザアクションを取得し、GUIスタブ管理部33から取得したGUIオブジェクトスタブを引数として、ユーザアクションを呼び出す。
The
ビジネスロジックスレッド管理部36は、setGuiThreadIDメソッド、getGuiThreadIDメソッド及びremoveGuiThreadIDメソッドの3つのメソッドを持つ。setGuiThreadIDメソッドは、引数としてGUIスレッドIDが設定されて呼び出され、スレッドID取得手段を用いてビジネスロジックスレッドIDを取得し、GUIスレッドIDとビジネスロジックスレッドIDの対を一つのレコードとして保存する。getGuiThreadIDメソッドは、スレッドID取得手段を用いて、ビジネスロジックスレッドIDを取得し、ビジネスロジックスレッドIDをキーにGUIスレッドIDを検索して、GUIスレッドIDを返す。removeGuiThreadIDメソッドは、引数としてGUIスレッドIDが設定されて呼び出され、GUIスレッドIDをキーにレコードを検索し、検索されたレコードを削除する。
The business logic
(情報処理方法)
次に、図9乃及び図10を参照して、本発明の最良の実施の形態に係る情報処理方法を説明する。
(Information processing method)
Next, an information processing method according to the best embodiment of the present invention will be described with reference to FIGS.
まず、図9を参照して、ユーザアクションを実行するまでの処理を説明する。 First, with reference to FIG. 9, a process until a user action is executed will be described.
GUIオブジェクト部21は、情報処理端末1のGUI表示モジュール10の入力部12から入力イベントを受信すると、入力イベントからユーザアクションに関するアクションID及びGUIオブジェクトを取得する。GUIオブジェクト部21は、ステップS101において、アクションイベント受信部24のreceiveEventメソッドを、引数としてアクションID及びGUIオブジェクトを設定して呼び出す。
When the
GUIオブジェクト部21からreceiveEventメソッドが呼び出されると、ステップS102において、アクションイベント受信部24は、receiveEventメソッドにおいて、通信オブジェクト管理部26のgetGuiThreadIDメソッドを引数を設定せずに呼び出し、戻り値としてGUIスレッドIDを取得する。更に、アクションイベント受信部24は、通信オブジェクト管理部26のisNewThreadメソッドを、引数としてGUIスレッドIDを設定して呼び出す。アクションイベント受信部24は、戻り値としてブール値TRUEを得て、このGUIスレッドIDをキーとするレコードが通信オブジェクト管理部26に存在することを確認する。ブール値TRUEを取得した後、アクションイベント受信部24は、通信オブジェクト管理部26のstartメソッドを、引数としてGUIスレッドIDを設定して呼び出す。
When the receiveEvent method is called from the
通信オブジェクト管理部26は、startメソッドの中で、GUIスレッドIDにACTION_COUNT及びINITを対応付けたレコードを作成して各変数は初期化され、ステップS103において、ステップS102に対する応答としてGUIスレッドIDをアクションイベント受信部に返す。
In the start method, the communication
アクションイベント受信部24は、receiveEventメソッドの中で、ステップS104において、情報処理端末1のリクエスト代理部13のpostを、引数としてビジネスロジック実行モジュールアドレス及びGUIスレッドIDを設定して、非同期で呼び出す。
In the receiveEvent method, the action
情報処理端末1のリクエスト代理部13は、postメソッドが呼び出されると、postメソッドの中で、引数であるビジネスロジック実行モジュールアドレスを元にビジネスロジック実行モジュール30を探し出し、ステップS105において、アクションスレッド部31のrunメソッドを、引数としてGUIスレッドIDを設定して呼び出す。
When the post method is called, the
アクションスレッド部31は、runメソッドの中で、ビジネスロジックスレッド管理部36のsetGuiThreadIDメソッドを、引数としてGUIスレッドIDを設定して呼び出し、応答を得る。このとき、ビジネスロジックスレッド管理部36のsetGuiThreadIDメソッドは、スレッドID取得手段を用いてビジネスロジックスレッドIDを取得し、GUIスレッドIDとビジネスロジックスレッドIDとを対応させて一つのレコードとして記憶する。
In the run method, the
アクションスレッド部31は、runメソッドの中で、ビジネスロジックスレッド管理部36のsetGuiThreadIDメソッドの応答を得ると、ステップS107において、GUIスレッドIDのアドレス部分を元に、通信オブジェクト管理部26を検索し、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてGUIスレッドID及びnullを設定して呼び出す。更に、通信オブジェクト管理部26は、exchangePacketメソッドの中で変数ACTION_COUNTを0に設定して待機する。
When the
一方、アクションイベント受信部24は、ステップS106において、receiveEventメソッドの中でGUIアクション実行部25を生成し、GUIアクション実行部25のrunActionメソッドを、引数としてGUIスレッドID、アクションID及びGUIオブジェクトを設定して呼び出す。
On the other hand, in step S106, the action
GUIアクション実行部25は、runActionメソッドの中で、GUIオブジェクト管理部23のgetObjectIDメソッドを、引数としてGUIオブジェクトを設定して呼び出し、戻り値としてGUIオブジェクトIDを取得する。更に、GUIアクション実行部25は、GUIスレッドID、アクションID及びGUIオブジェクトIDを含むActionCallパケットを生成し、ステップS108において、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてGUIスレッドID及びActionCallパケットを設定して呼び出す。
In the runAction method, the GUI
通信オブジェクト管理部26は、exchangePacketメソッドで引数としてGUIスレッドID及びActionCallパケットが渡された場合、変数ACTION_COUNTを一つインクリメントして、ステップS109において、ステップS107からの呼び出しの戻り値として、ActionCallパケットをアクションスレッド部31に渡す。
When the GUI thread ID and the ActionCall packet are passed as arguments in the exchangePacket method, the communication
アクションスレッド部31は、runメソッドの中で、exchangePacketメソッドの戻り値としてActionCalllパケットを受信すると、アクション実行部35を生成し、ステップS110において、アクション実行部35のinvokeActionメソッドを、引数としてActionCallパケットを設定して呼び出す。
When the
アクション実行部35は、invokeActionメソッドの中で、ActionCallパケットからアクションIDとGUIオブジェクトIDを取得し、アクション管理部34のgetActionメソッドを、引数としてアクションIDを設定して呼び出し、ユーザアクションを取得する。更にアクション実行部35は、invokeActionメソッドの中で、GUIスタブ管理部33のgetObjectStubメソッドを、引数としてGUIオブジェクトIDを設定して呼び出してGUIスタブを取得する。ここで、アクション実行部35は、invokeActionメソッドの中で、GUIスタブを用いてユーザアクションを実行する。
The
図9を参照して、ユーザアクション内からGUIオブジェクトを操作する処理を説明する。 With reference to FIG. 9, a process for operating a GUI object from within a user action will be described.
アクション実行部35のinvokeActionメソッドの中で実行中のユーザアクションからGUIスタブのメソッドを呼び出した場合、GUIスタブは、ステップS111において、スタブメソッド実行部32のinovokeMethodメソッドを、引数としてGUIオブジェクトID及びパラメタを設定して呼び出す。ここで「パラメタ」は、実行中のユーザアクションから呼び出したメソッドに使用されるパラメタである。
When the GUI stub method is called from the user action being executed in the invokeAction method of the
スタブメソッド実行部32は、invokeMethodメソッドの中で、ビジネスロジックスレッド管理部36のgetGuiThreadIDメソッドを、引数を設定しいないで呼び出し、戻り値としてGUIスレッドIDを取得する。更にスタブメソッド実行部32は、invokeMethodメソッドの中で、GUIオブジェクトID及びパラメタを含むMethodCallパケットを作成し、GUIスレッドIDのアドレス部分を元に通信オブジェクト管理部26を検索する。スタブメソッド実行部32は、ステップS112において、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてGUIスレッドID及びMethodCallパケットを設定して呼び出す。
The stub
通信オブジェクト管理部26は、exchangePacketメソッドの中で、ステップS113において、ステップS112において渡されたMethodCallパケットを、ステップS108の呼び出しの戻り値としてGUIアクション実行部25に渡す。
In step S113, the communication
GUIアクション実行部25は、runActionメソッドの中で、GUIメソッド実行部22を生成し、ステップS114において、invokeメソッドを、引数としてMethodCallパケットを設定して呼び出す。
The GUI
GUIメソッド実行部22は、invokeメソッドの中で、MethodCallパケットからGUIオブジェクトID及びパラメタを取り出す。GUIメソッド実行部22は、invokeメソッドの中で、GUIオブジェクト管理部23のgetObjectメソッドを、引数としてGUIオブジェクトIDを設定して呼び出し、GUIオブジェクトを取得する。GUIメソッド実行部22は、invokeメソッドの中で、ステップS115において、GUIオブジェクトのGUI操作メソッドを、引数としてパラメタを設定して呼び出す。
The GUI
GUIオブジェクト部21は、GUI操作メソッドの中で、引数として設定されたパラメタを元に、情報処理端末1の画面表示部11に表示し、情報処理端末1からGUIオブジェクトリターンデータが入力されると、ステップS116において、その入力をステップS114の戻り値として、GUIメソッド実行部22に渡す。
The
GUIメソッド実行部22は、invokeメソッドの中で、GUIオブジェクトリターンデータにGUIオブジェクトが存在した場合、GUIオブジェクト管理部23のgetObjectIDメソッドを呼び出し、GUIオブジェクトリターンデータ内のGUIオブジェクトをGUIオブジェクトIDに書き換える。更にGUIメソッド実行部22は、invokeメソッドの中で、GUIスレッドID、GUIオブジェクトリターンデータを含むMethodReturnパケットを作成し、ステップS117において、ステップS114の戻り値としてMethodReturnパケットをGUIアクション実行部25に渡した後、消滅する。
When the GUI object exists in the GUI object return data in the invoke method, the GUI
GUIアクション実行部25は、runActionメソッドの中で、MethodReturnパケットを取得すると、ステップS118において、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてGUIスレッドID及びMethodReturnパケットを設定して呼び出す。
When the GUI
通信オブジェクト管理部26は、exchangePacketメソッドの中で、ステップS119において、ステップS112の戻り値としてMethodReturnパケットをスタブメソッド実行部32に渡す。
In step S119, the communication
スタブメソッド実行部32は、invokeMethodメソッドの中で、exchangePacketメソッドの戻り値としてMethodReturnパケットを取得すると、MethodReturnパケットからGUIオブジェクトリターンデータを取り出す。スタブメソッド実行部32は、invokeMethodメソッドの中で、GUIオブジェクトリターンデータ内にGUIオブジェクトIDが含まれていたら、GUIスタブ管理部33のgetObjectStubメソッドを呼び出し、GUIオブジェクトIDに対応するGUIスタブを取得し、GUIオブジェクトリターンデータのGUIオブジェクトIDをGUIスタブに書き換える。スタブメソッド実行部32は、invokeMethodメソッドの中で、ステップS120において、GUIオブジェクトリターンデータをステップS111におけるGUIスタブのメソッド呼び出しの戻り値としてアクション実行部35に渡した後に消滅する。
When the MethodReturn packet is acquired as the return value of the exchangePacket method in the invokeMethod method, the stub
更に、図9を参照して、ユーザアクションのリターン処理を説明する。 Furthermore, user action return processing will be described with reference to FIG.
アクション実行部35は、invokeActionメソッドの中でアクションリターンデータとしてGUIオブジェクトリターンデータを取得すると、アクションリターンデータを含むActionReturnパケットを作成し、ステップS121において、ステップS110の戻り値としてアクションスレッド部31にActionReturnパケットを渡した後、消滅する。
When the
アクションスレッド部31は、runメソッドの中で、ActionReturnパケットを受信し、ステップS122において、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてActionReturnパケットを設定して呼び出す。
The
通信オブジェクト管理部26は、exchangePacketメソッドの中で、ActionReturnパケットを渡された場合、ステップS123において、ステップS118の戻り値としてActionReturnパケットをGUIアクション実行部25に渡す。通信オブジェクト管理部26は、exchangePacketメソッドの中で、変数ACTION_COUNTから一つデクリメントする。これによりACTION_COUNTが0になるので、GUIスレッドIDに対応したレコードを削除し、ステップS125において、ステップS122の戻り値としてアクションスレッド部31にnullを渡す。
When the ActionReturn packet is passed in the exchangePacket method, the communication
アクションスレッド部31は、runメソッドの中で、ステップS126において、ビジネスロジックスレッド管理部36のremoveGuiThreadIDメソッドを、引数としてGUIスレッドIDを設定して呼び出し、リクエスト代理部13にステップS105のリターンを返して消滅する。
In step S126, the
GUIアクション実行部25は、runActionメソッドの中で、ActionReturnパケットを受信した場合、ActionReturnパケットからアクションリターンデータを取得し、ステップS124において、ステップS106の戻り値としてアクションイベント受信部24にアクションリターンデータを渡す。
When the action return packet is received in the runAction method, the GUI
アクションイベント受信部24は、receiveEventメソッドの中で、ステップS127において、ステップS101の戻り値としてアクションリターンデータをGUIオブジェクト部21に渡す。GUIオブジェクト部21は、アクションリターンデータに従って情報処理端末1の画面表示部11に画面表示させる。
The action
次に、図10を参照して、ビジネスロジック実行モジュール30から呼び出されたGUIオブジェクトのメソッドの中からアクションイベントが発生した場合を説明する。
Next, with reference to FIG. 10, a case where an action event occurs from the method of the GUI object called from the business
ステップS201乃至ステップS215までの処理によって、ビジネスロジック実行モジュール30から、GUIオブジェクト部21のGUI操作メソッドが呼び出される。
Through the processing from step S201 to step S215, the GUI operation method of the
GUIオブジェクト部21は、GUI操作メソッドの中で、引数として設定されたパラメタを元に、情報処理端末1の画面表示部11に表示する。情報処理端末1からGUIオブジェクトリターンデータが入力され、そのGUIオブジェクトリターンデータの中でアクションイベントが発生すると、ステップS201’において、GUIオブジェクト部21のGUI操作メソッドは、アクションイベント受信部24のreceiveEventメソッドを、引数としてアクションID、GUIオブジェクトを設定して呼び出す。
The
アクションイベント受信部24は、receiveEventメソッドの中で、通信オブジェクト管理部26のgetGuiThreadIDメソッドを、引数を設定しないで呼び出し、戻り値としてGUIスレッドIDを取得する。アクションイベント受信部24は、receiveEventメソッドの中で、通信オブジェクト管理部26のisNewThreadメソッドを、引数としてGUIスレッドIDを呼び出し、戻り値としてブール値FALSEを取得する。更にアクションイベント受信部24は、ステップS206’において、receiveEventメソッドの中で、GUIアクション実行部25’を作成し、runActionメソッドを、引数としてGUIスレッドID、アクションID及びGUIオブジェクトを設定して呼び出す。
The action
GUIアクション実行部25’は、runActionメソッドの中で、GUIオブジェクト管理部23のgetObjectIDメソッドを、引数としてGUIオブジェクトを設定して呼び出し、戻り値としてGUIオブジェクトIDを取得する。更に、GUIアクション実行部25’は、runActionメソッドの中で、GUIスレッドID、アクションID及びGUIオブジェクトIDを含むActionCallパケットを作成し、ステップS208’において、通信オブジェクト管理部26のexchangePacketメソッドを、引数としてGUIスレッドID及びActionCallパケットを設定して呼び出す。
In the runAction method, the GUI
通信オブジェクト管理部26は、exchangePacketメソッドの中で、引数としてGUIスレッドID及びActionCallパケットが送付されると、変数ACTION_COUNTが一つインクリメントされ、ステップS209’において、ステップS212の呼び出しの戻り値として、ActionCallパケットをスタブメソッド32に渡す。
When the GUI thread ID and the ActionCall packet are sent as arguments in the exchangePacket method, the communication
スタブメソッド32は、invokeMethodメソッドの中で、exchangePacketメソッドの戻り値としてActionCallパケットを取得するので、アクション実行部35’を生成し、ステップS210’において、アクション実行部35’のinvokeActionメソッドを、引数としてActionCallパケットを設定して呼び出す。
Since the
このような図10に示す処理により、ビジネスロジック実行モジュール30から呼び出されたGUIオブジェクトのメソッドの中から、アクションイベントが発生した場合でもアクションを実行することができる。
With the process shown in FIG. 10, an action can be executed even when an action event occurs from the method of the GUI object called from the business
図11を参照して、本発明の最良の実施の形態に係る通信オブジェクト管理部26のstartメソッドの処理を説明する。ここでは、図9及び図10の各ステップにおける通信オブジェクト管理部26の動作を説明する。
With reference to FIG. 11, the process of the start method of the communication
(1)処理の開始(図9のステップS102)
ステップS301において、通信オブジェクト管理部26のstartメソッドは、GUIオブジェクト部21から、引数としてGUIスレッドID及びパケットが設定されて呼び出されることによって処理が開始される。
(1) Start of processing (step S102 in FIG. 9)
In step S301, the start method of the communication
(2)図9のステップS107の処理
図9のステップS107において、アクションスレッド部31から、引数としてGUIスレッドID及びnullが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullと判断されるので、ステップS303に処理が進む。ステップS303において、INIT領域にTRUEを代入する。又、図9のステップS108の呼び出しの方が早い場合、ステップS305において図9のステップS108の呼び出しスレッドがWAIT(待機)しているので、待機中のステップS108の呼び出しスレッドにNotify(通知)する。ステップS313において、図9のステップS108の呼び出しの方が遅い場合は、ステップS108の呼び出しスレッドがステップS312においてNotifyするのを待機する。
ステップS312においてNotifyされると、処理はステップS314に進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図9のステップS108の呼び出し時にステップS312においてActionCallパケットが保存されるので、スタック変数TMPにActionCallパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS108で受信したActionCallパケットがステップS107の戻り値として送信された後に、ステップS108の戻り値が処理されることになる。
(2) Processing in Step S107 in FIG. 9 A case will be described in which, in step S107 in FIG. 9, the exchange thread method is called from the
In step S302, since the argument packet is determined to be null, the process proceeds to step S303. In step S303, TRUE is substituted into the INIT area. Also, if the call at step S108 in FIG. 9 is earlier, the call thread at step S108 in FIG. 9 is WAITing (waiting) at step S305, so Notify (notify) the waiting call thread at step S108. . In step S313, if the call in step S108 in FIG. 9 is slower, the process waits for the calling thread in step S108 to notify in step S312.
If Notify is made in step S312, the process proceeds to step S314.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the ActionCall packet is stored in Step S312 when calling in Step S108 of FIG. 9, the ActionCall packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the ActionCall packet received in step S108 is transmitted as the return value in step S107, the return value in step S108 is processed.
(3)図9のステップS108の処理
図9のステップS108において、GUIアクション実行部25から、引数としてGUIスレッドID及びActionCallパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS107の呼び出しの方が早い場合は、既にINITがTRUEなのでステップS306に処理が進む。ステップS107の呼び出しの方が遅い場合は、ステップS305に処理が進む。
ステップS305において、ステップS303においてステップS107の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS107の呼び出しスレッドからNotifyされると、ステップS306に処理が進む。
ステップS306において、引数がActionReturnパケットではないと判断されてステップS308に処理が進み、ステップS308において、引数がActionCallパケットであると判断されて、ステップS310に処理が進む。ステップS310において、ACTION_COUNTが一つインクリメントされ、ACTION_COUNTが「1」になり、ステップS312に処理が進む。ステップS312において、レコードのパケット領域にActionCallパケットが保存され、ステップS313でWAITしている図9のステップS107の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS312において図9のステップS112の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS112の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図9のステップS112の呼び出し時にステップS312においてMethodCallパケットが保存されるので、スタック変数TMPにMethodCallパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS112で受信したMethodCallパケットがステップS108の戻り値として処理された後に、ステップS112の戻り値が処理されることになる。
(3) Processing in Step S108 in FIG. 9 A case where the GUI
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, if the call of step S107 is earlier, since INIT is already TRUE, the process proceeds to step S306. If the call of step S107 is slower, the process proceeds to step S305.
In step S305, the process waits for Notify from the calling thread in step S107 in step S303, and proceeds to step S306 when notified from the calling thread in step S107.
In step S306, it is determined that the argument is not an ActionReturn packet, and the process proceeds to step S308. In step S308, the argument is determined to be an ActionCall packet, and the process proceeds to step S310. In step S310, ACTION_COUNT is incremented by one, ACTION_COUNT becomes “1”, and the process proceeds to step S312. In step S312, the ActionCall packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S107 of FIG. 9 that is waiting in step S313.
In step S313, in step S312, it waits for Notify from the calling thread in step S112 of FIG. 9, and when notified from the calling thread in step S112, the process proceeds to step S314.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the MethodCall packet is stored in Step S312 when calling in Step S112 of FIG. 9, the MethodCall packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the MethodCall packet received in step S112 is processed as the return value in step S108, the return value in step S112 is processed.
(4)図9のステップS112の処理
図9のステップS112において、スタブメソッド実行部32から、引数としてGUIスレッドID及びMethodCallパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS107の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
(4) Processing in Step S112 in FIG. 9 A case will be described in which, in step S112 in FIG. 9, the stub
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, since INIT is TRUE by the calling operation in step S107, the process proceeds to step S306.
ステップS306において、引数がActionReturnパケットではないと判断されてステップS308に処理が進み、ステップS308において、引数がActionCallパケットでないとと判断されて、ステップS312に処理が進む。
ステップS312において、レコードのパケット領域にMethodCallパケットが保存され、ステップS313でWAITしている図9のステップS108の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS312において図9のステップS118の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS118の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図9のステップS118の呼び出し時にステップS312においてMethodReturnパケットが保存されるので、スタック変数TMPにMethodReturnパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS118で受信したMethodReturnパケットがステップS112の戻り値として処理された後に、ステップS118の戻り値が処理されることになる。
In step S306, it is determined that the argument is not an ActionReturn packet, and the process proceeds to step S308. In step S308, it is determined that the argument is not an ActionCall packet, and the process proceeds to step S312.
In step S312, the MethodCall packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S108 of FIG. 9 that is waiting in step S313.
In step S313, the process waits for Notify from the calling thread in step S118 of FIG. 9 in step S312, and proceeds to step S314 when notified from the calling thread in step S118.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the MethodReturn packet is stored in step S312 when calling in step S118 of FIG. 9, the MethodReturn packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the MethodReturn packet received in step S118 is processed as the return value in step S112, the return value in step S118 is processed.
(5)図9のステップS118の処理
図9のステップS118において、GUIアクション実行部25から、引数としてGUIスレッドID及びMethodReturnパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS107の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
(5) Processing in Step S118 in FIG. 9 A case will be described in which, in step S118 in FIG. 9, the GUI
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, since INIT is TRUE by the calling operation in step S107, the process proceeds to step S306.
ステップS306において、引数がActionReturnパケットではないと判断されてステップS308に処理が進み、ステップS308において、引数がActionCallパケットでないとと判断されて、ステップS312に処理が進む。
ステップS312において、レコードのパケット領域にMethodReturnパケットが保存され、ステップS313でWAITしている図9のステップS112の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS311において図9のステップS122の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS122の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図9のステップS122の呼び出し時にステップS311においてActionReturnパケットが保存されるので、スタック変数TMPにActionReturnパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS122で受信したActionReturnパケットがステップS118の戻り値として処理された後に、ステップS122の戻り値が処理されることになる。
In step S306, it is determined that the argument is not an ActionReturn packet, and the process proceeds to step S308. In step S308, it is determined that the argument is not an ActionCall packet, and the process proceeds to step S312.
In step S312, the MethodReturn packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S112 of FIG. 9 that is waiting in step S313.
In step S313, the process waits for Notify from the calling thread in step S122 of FIG. 9 in step S311, and when notified from the calling thread in step S122, the process proceeds to step S314.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the ActionReturn packet is stored in step S311 when calling in step S122 of FIG. 9, the ActionReturn packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the ActionReturn packet received in step S122 is processed as the return value in step S118, the return value in step S122 is processed.
(6)図9のステップS122の処理
図9のステップS122において、アクションスレッド部31から、引数としてActionReturnパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS107の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
ステップS306において、引数がActionReturnパケットなので、ステップS307に処理が進む。ここでステップS307においてACTION_COUNTを一つデクリメントして、ACTION_COUNTが「0」になり、ステップS309に処理が進む。ステップS309において、ACTION_COUNTが「0」なので、ステップS311に処理が進む。
ステップS311において、レコードのパケット領域にActionReturnパケットが保存され、ステップS313でWAITしている図9のステップS118の呼び出しスレッドに、Notifyする。更に、GUIスレッドIDをキーとしたレコードを削除してステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS122で受信したActionReturnパケットがステップS118の戻り値として処理された後に、ステップS122の戻り値が処理されることになる。
(6) Processing in Step S122 in FIG. 9 A case will be described where, in step S122 in FIG. 9, the
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, since INIT is TRUE by the calling operation in step S107, the process proceeds to step S306.
In step S306, since the argument is an ActionReturn packet, the process proceeds to step S307. Here, ACTION_COUNT is decremented by 1 in step S307, ACTION_COUNT becomes “0”, and the process proceeds to step S309. In step S309, since ACTION_COUNT is “0”, the process proceeds to step S311.
In step S311, the ActionReturn packet is stored in the packet area of the record, and a Notify is made to the calling thread in step S118 of FIG. 9 that is waiting in step S313. Further, the record having the GUI thread ID as a key is deleted, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the ActionReturn packet received in step S122 is processed as the return value in step S118, the return value in step S122 is processed.
(7)図10のステップS207の処理
上述した図9のステップS107の処理と同じである。
(7) Processing in Step S207 in FIG. 10 This processing is the same as the processing in step S107 in FIG. 9 described above.
(8)図10のステップS208の処理
上述した図9のステップS108の処理と同じである。
(8) Processing in Step S208 in FIG. 10 This is the same as the processing in step S108 in FIG. 9 described above.
(9)図10のステップS212の処理
図10のステップS212において、スタブメソッド実行部32から、引数としてGUIスレッドID及びMethodCallパケットパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS207の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
(9) Processing in Step S212 of FIG. 10 A case will be described in which, in step S212 of FIG. 10, the stub
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, because INIT is TRUE by the calling operation in step S207, the process proceeds to step S306.
ステップS306において、引数がActionReturnパケットではないと判断されてステップS308に処理が進み、ステップS308において、引数がActionCallパケットでないとと判断されて、ステップS312に処理が進む。
ステップS312において、レコードのパケット領域にMethodCallパケットが保存され、ステップS313でWAITしている図10のステップS208の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS312において図10のステップS208’の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS208’の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図10のステップS208’の呼び出し時にステップS312においてActionCallパケットが保存されるので、スタック変数TMPにActionCallパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS208’で受信したActionCallパケットがステップS212の戻り値として処理された後に、ステップS208’の戻り値が処理されることになる。
In step S306, it is determined that the argument is not an ActionReturn packet, and the process proceeds to step S308. In step S308, it is determined that the argument is not an ActionCall packet, and the process proceeds to step S312.
In step S312, the MethodCall packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S208 of FIG. 10 that is waiting in step S313.
In step S313, the process waits for Notify from the calling thread in step S208 ′ of FIG. 10 in step S312, and proceeds to step S314 when notified from the calling thread in step S208 ′.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the ActionCall packet is stored in step S312 when the step S208 ′ of FIG. 10 is called, the ActionCall packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the ActionCall packet received in step S208 ′ is processed as the return value in step S212, the return value in step S208 ′ is processed.
(10)図10のステップS208’の処理
図10のステップS208’において、GUIアクション実行部25’から、引数としてGUIスレッドID及びActionCallパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS207の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
ステップS306において、引数がActionReturnパケットではないと判断されてステップS308に処理が進み、ステップS308において、引数がActionCallパケットであると判断されて、ステップS310に処理が進む。ステップS310において、ACTION_COUNTが一つインクリメントされ、ACTION_COUNTが「2」になり、ステップS312に処理が進む。ステップS312において、レコードのパケット領域にActionCallパケットが保存され、ステップS313でWAITしている図10のステップS212の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS312において図10のステップS222’の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS222’の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図10のステップS222’の呼び出し時にステップS312においてActionReturnパケットが保存されるので、スタック変数TMPにActionReturnパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS222’で受信したMethodCallパケットがステップS208’の戻り値として処理された後に、ステップS222’の戻り値が処理されることになる。
(10) Processing in Step S208 ′ in FIG. 10 A case will be described in which, in step S208 ′ in FIG. 10, the GUI
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, because INIT is TRUE by the calling operation in step S207, the process proceeds to step S306.
In step S306, it is determined that the argument is not an ActionReturn packet, and the process proceeds to step S308. In step S308, the argument is determined to be an ActionCall packet, and the process proceeds to step S310. In step S310, ACTION_COUNT is incremented by one, ACTION_COUNT becomes “2”, and the process proceeds to step S312. In step S312, the ActionCall packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S212 of FIG. 10 that is waiting in step S313.
In step S313, the process waits for Notify from the calling thread in step S222 'of FIG. 10 in step S312, and when notified from the calling thread in step S222', the process proceeds to step S314.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the ActionReturn packet is stored in step S312 when step S222 ′ of FIG. 10 is called, the ActionReturn packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the MethodCall packet received in step S222 ′ is processed as the return value in step S208 ′, the return value in step S222 ′ is processed.
(11)図10のステップS222’の処理
図10のステップS222’において、スタブメソッド実行部32から、引数としてGUIスレッドID及びActionReturnパケットが設定されてexchangePacketメソッドが呼び出される場合について説明する。
ステップS302において、引数パケットがnullではないと判断されるので、ステップS304に処理が進む。ステップS304において、ステップS207の呼び出しの動作によって、INITがTRUEなのでステップS306に処理が進む。
ステップS306において、引数がActionReturnパケットなので、ステップS307に処理が進む。ここでステップS307においてACTION_COUNTを一つデクリメントして、ACTION_COUNTが「1」になり、ステップS312に処理が進む。ステップS312において、レコードのパケット領域にActionReturnパケットが保存され、ステップS313でWAITしている図10のステップS208’の呼び出しスレッドに、NotifyしてステップS313に処理が進む。
ステップS313において、ステップS312において図10のステップS218の呼び出しスレッドからNotifyされるのをWAITするとともに、ステップS218の呼び出しスレッドからNotifyされると、ステップS314に処理が進む。
ステップS314において、スタック変数TMPにパケット領域のパケットが保存される。ここでは、図10のステップS218の呼び出し時にステップS312においてMethodReturnパケットが保存されるので、スタック変数TMPにMethodReturnパケットが保存される。更に、レコードのパケット領域にnullが代入されてステップS315に処理が進み、ステップS315において、TMPが戻り値として返される。
この制御により、ステップS218で受信したMethodReturnパケットがステップS222の戻り値として処理された後に、ステップS218の戻り値が処理されることになる。
(11) Processing in Step S222 ′ in FIG. 10 A case will be described in which, in Step S222 ′ in FIG.
In step S302, since it is determined that the argument packet is not null, the process proceeds to step S304. In step S304, because INIT is TRUE by the calling operation in step S207, the process proceeds to step S306.
In step S306, since the argument is an ActionReturn packet, the process proceeds to step S307. Here, ACTION_COUNT is decremented by 1 in step S307, ACTION_COUNT becomes “1”, and the process proceeds to step S312. In step S312, the ActionReturn packet is stored in the packet area of the record, and the process advances to step S313 after notifying the calling thread in step S208 ′ of FIG. 10 that is waiting in step S313.
In step S313, the process waits for Notify from the calling thread in step S218 of FIG. 10 in step S312, and proceeds to step S314 when notified from the calling thread in step S218.
In step S314, the packet in the packet area is stored in the stack variable TMP. Here, since the MethodReturn packet is stored in step S312 when calling in step S218 of FIG. 10, the MethodReturn packet is stored in the stack variable TMP. Furthermore, null is assigned to the packet area of the record, and the process proceeds to step S315. In step S315, TMP is returned as a return value.
With this control, after the MethodReturn packet received in step S218 is processed as the return value in step S222, the return value in step S218 is processed.
(12)図10のステップS218の処理
上述した図9のステップS118の処理と同じである。
(12) Processing in Step S218 in FIG. 10 This processing is the same as the processing in step S118 in FIG. 9 described above.
本発明の最良の実施の形態に係る情報処理方法は、GUI表示モジュール10からビジネスロジック実行モジュール30へのリクエスト・リプライ型の通信と、ビジネスロジック実行モジュール30からGUI実行モジュール20へのリクエスト・リプライ型の通信を用いて、GUIアプリケーション上で発生したアクションイベントをきっかけとして、ビジネスロジック実行モジュール30で行った計算結果をGUIアプリケーションに反映させることができる。
The information processing method according to the preferred embodiment of the present invention includes a request reply type communication from the
これにより、情報処理端末1からビジネスロジック実行モジュール30へのアクセスにSSLのクライアント認証が使われていて、情報処理端末1のGUI表示モジュール10条にクライアント証明書がインストールされている場合でも、GUI実行モジュール10は、リクエスト代理部13によってリクエストを代理することによって、ビジネスロジック実行モジュール30へアクセスすることができる。
Thereby, even when the SSL client authentication is used to access the business
これにより本発明の最良の実施の形態に係る情報処理方法は、情報処理端末1ではGUI画面の表示し、入力イベントを受信するのみで、情報処理装置2でGUI操作メソッド及びビジネスロジックが実行されるので、情報処理端末1側の開発作業量を軽減し、開発効率を向上させる情報処理方法を提供することができる。
Thus, in the information processing method according to the preferred embodiment of the present invention, the GUI operation method and the business logic are executed in the
(変形例)
本発明の最良の実施の形態の変形例に係る情報処理システム4aは、図12に示すように、情報処理端末1、第1の情報処理装置2a及び第2の情報処理装置2bを備える。第1の情報処理装置2aにはGUI実行モジュール20が実装される。第2の情報処理装置2bにはビジネスロジック実行モジュール30が実装される。
(Modification)
As shown in FIG. 12, an information processing system 4a according to a modification of the best embodiment of the present invention includes an
情報処理端末1と第1の情報処理装置2a及び第2の情報処理装置2bは、第1の通信ネットワーク5aを介して接続される。第1の通信ネットワーク5aは、例えばインターネットなどの外部の通信ネットワークである。第1の情報処理装置2a及び第2の情報処理装置2bは、第2の通信ネットワーク5bを介して接続される。第2の通信ネットワーク5bは、例えば社内LANなどの通信ネットワークである。
The
このような本発明の最良の実施の形態の変形例に係る情報処理システム4aは、第1の情報処理装置2a及び第2の情報処理装置2bとの間の通信において、オーバヘッドが発生するものの、第1の情報処理装置2a及び第2の情報処理装置2bとで、それぞれ作業を分担することにより、付加を分散させることができる。
In the information processing system 4a according to the modified example of the best embodiment of the present invention, although overhead occurs in communication between the first information processing apparatus 2a and the second
(その他の実施の形態)
上記のように、本発明の最良の実施の形態とその変形例によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなる。
(Other embodiments)
As described above, the best mode for carrying out the invention and the modifications thereof have been described. However, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples, and operational techniques will be apparent to those skilled in the art.
例えば、本発明の最良の実施の形態に記載した情報処理端末1及び情報処理装置2は、図3に示すようにそれぞれ一つのハードウェア上に構成されても良いし、図12に示すように二つのハードウェア上に構成されても良い。又、その機能や処理数に応じて、3つ以上のハードウェア上に構成されても良い。また、既存の情報処理システム上に実現されても良い。
For example, the
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。 It goes without saying that the present invention includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.
1 情報処理端末
2、2a、2b 情報処理装置
4、4a 情報処理システム
5、5a、5b 通信ネットワーク
10 GUI表示モジュール
11 画面表示部
12 入力部
13 リクエスト代理部
20 GUI実行モジュール
21 GUIオブジェクト部
22 GUIメソッド実行部
23 GUIオブジェクト管理部
24 アクションイベント受信部
25 GUIアクション実行部
26 通信オブジェクト管理部
30 ビジネスロジックスレッド管理部
31 アクションスレッド部
32 スタブメソッド実行部
33 GUIスタブ管理部
34 アクション管理部
35 アクション実行部
36 ビジネスロジックスレッド管理部
DESCRIPTION OF
Claims (5)
前記情報処理端末において、前記情報処理装置の命令に従って前記情報処理端末にGUI画面が表示され、前記GUI画面に対して入力イベントを発生するステップと、
前記情報処理装置において、前記入力イベントを発生したことが入力されると、前記入力イベントがユーザアクションに変換され、前記入力イベントに対応するGUIオブジェクトのスタブであるGUIオブジェクトスタブで前記ユーザアクションを実行するスレッドが生成されるとともに、GUIスレッドIDを取得し、前記情報処理端末のリクエスト代理部に、ビジネスロジックを実行するビジネスロジック実行部のアドレスおよび前記GUIスレッドIDを送信するステップと、
前記情報処理端末の前記リクエスト代理部が、前記ビジネスロジック実行部のアドレスおよび前記GUIスレッドIDを受信すると、受信したアドレスおよびGUIスレッドIDに基づいて、前記情報処理装置の前記ビジネスロジック実行部を呼び出し、前記ユーザアクションを実行するステップと、
前記情報処理装置において、前記ユーザアクションの実行において前記GUIオブジェクトのメソッドが呼び出された場合、前記呼び出しに関するパラメタに基づいて前記情報処理端末に新たなGUI画面が表示され、前記新たなGUI画面に対して新たな入力イベントを発生するステップと、
前記情報処理装置において、前記新たな入力イベントを発生したことが入力されると、前記新たな入力イベントがリターンデータに変換され、前記リターンデータに基づいて、前記スレッドにおいて前記ユーザアクションが実行された結果を、前記ユーザアクションの実行命令の戻り値として出力するステップ
とを備えることを特徴とする情報処理方法。 An information processing method used in an information processing system including an information processing device and an information processing terminal using information provided from the information processing device,
In the information processing terminal, a GUI screen is displayed on the information processing terminal in accordance with an instruction of the information processing device, and an input event is generated on the GUI screen;
In the information processing apparatus, when the occurrence of the input event is input, the input event is converted into a user action, and the user action is executed with a GUI object stub that is a stub of a GUI object corresponding to the input event. with threads is generated, a step of acquiring the GUI thread ID, the request agent unit of the information processing terminal, transmits the address and the GUI thread ID of the business logic execution unit for executing the business logic,
When the request proxy unit of the information processing terminal receives the address of the business logic execution unit and the GUI thread ID, it calls the business logic execution unit of the information processing device based on the received address and GUI thread ID. Performing the user action;
In the information processing apparatus, when the method of the GUI object is called in the execution of the user action, a new GUI screen is displayed on the information processing terminal based on the parameters related to the call, and the new GUI screen Generating a new input event,
In the information processing apparatus, when it is input that the new input event has occurred, the new input event is converted into return data, and the user action is executed in the thread based on the return data. And a step of outputting a result as a return value of the execution instruction of the user action.
前記情報処理装置のGUI実行部のGUIオブジェクト管理部において、GUIオブジェクトと、前記GUIオブジェクトを識別するGUIオブジェクトIDとを関連づけて記憶するステップと、
前記情報処理装置のビジネスロジック実行部のアクション管理部において、前記GUIオブジェクトで発生するユーザアクションと、前記ユーザアクションを識別するアクションIDとを関連づけて記憶するステップと、
前記情報処理装置の前記ビジネスロジック実行部のGUIスタブ管理部において、前記GUIオブジェクトIDと、前記GUIオブジェクトIDに関連づけられたGUIオブジェクトのスタブであるGUIオブジェクトスタブとを関連づけて記憶するステップと、
前記情報処理装置の前記GUI実行部によって、前記GUIオブジェクトに基づいて前記情報処理端末にGUI画面を表示し、前記GUI画面に対して入力イベントが発生すると、前記入力イベントを前記情報処理装置の前記GUI実行部に送信するステップと、
前記情報処理装置の前記GUI実行部において、前記入力イベントを受信すると、前記入力イベントに基づいてGUI操作メソッドを実行してユーザアクションイベントを生成し、ユーザアクションに関する前記アクションIDとGUIオブジェクトを取得するステップと、
前記情報処理装置の前記GUI実行部において、前記ユーザアクションを実行するスレッドを生成し、アクションカウント変数を初期化するとともに、GUIスレッドIDを取得するステップと、
前記情報処理装置の前記GUI実行部において、ビジネスロジック実行部のアドレスと前記GUIスレッドIDを、前記情報処理端末のリクエスト代理部に送信するステップと、
前記情報処理端末のリクエスト代理部において、前記アドレスおよび前記GUIスレッドIDに基づいて、前記情報処理装置の前記ビジネスロジック実行部を呼び出すステップと、
前記情報処理装置の前記GUI実行部において、前記GUIスレッドID、前記アクションIDと前記GUIオブジェクトとを取得すると、前記GUIオブジェクトに基づいて前記GUIオブジェクト管理部から前記GUIオブジェクトIDを取得するとともに、前記アクションIDと前記GUIオブジェクトIDとを含むアクションコールパケットを生成するステップと、
前記情報処理装置の前記GUI実行部において、前記アクションカウント変数をインクリメントするとともに、前記アクションコールパケットを、前記情報処理装置の前記ビジネスロジック実行部に送信するステップと、
前記情報処理装置の前記ビジネスロジック実行部において、前記アクションコールパケットを受信すると、前記アクションコールパケットから前記アクションIDとGUIオブジェクトIDを取得し、前記アクションIDに基づいて前記アクション管理部から前記ユーザアクションを取得するとともに、前記GUIオブジェクトIDに基づいて前記GUIスタブ管理部から前記GUIオブジェクトスタブを取得するステップと、
前記情報処理装置の前記ビジネスロジック実行部において、取得された前記GUIオブジェクトスタブに対して、取得された前記ユーザアクションを実行するステップ
を備えることを特徴とする情報処理方法。 An information processing method used in an information processing system including an information processing device and an information processing terminal using information provided from the information processing device,
Storing a GUI object and a GUI object ID for identifying the GUI object in association with each other in the GUI object management unit of the GUI execution unit of the information processing apparatus;
In the action management unit of the business logic execution unit of the information processing device, storing a user action that occurs in the GUI object in association with an action ID that identifies the user action;
In the GUI stub management unit of the business logic execution unit of the information processing apparatus, storing the GUI object ID and a GUI object stub that is a stub of the GUI object associated with the GUI object ID in association with each other;
The GUI execution unit of the information processing apparatus displays a GUI screen on the information processing terminal based on the GUI object, and when an input event occurs on the GUI screen, the input event is transmitted to the information processing apparatus. Transmitting to the GUI execution unit;
When the GUI execution unit of the information processing apparatus receives the input event, it executes a GUI operation method based on the input event to generate a user action event, and acquires the action ID and GUI object related to the user action Steps,
In the GUI execution unit of the information processing device, generating a thread for executing the user action, initializing an action count variable, and acquiring a GUI thread ID;
In the GUI execution unit of the information processing device, transmitting the address of the business logic execution unit and the GUI thread ID to the request proxy unit of the information processing terminal;
In the request proxy unit of the information processing terminal, calling the business logic execution unit of the information processing device based on the address and the GUI thread ID;
In the GUI execution unit of the information processing apparatus, when the GUI thread ID, the action ID, and the GUI object are acquired, the GUI object ID is acquired from the GUI object management unit based on the GUI object, and Generating an action call packet including an action ID and the GUI object ID;
Transmitting in the GUI executing unit of the information processing apparatus, with increments the action count variable, the action call packet, the business logic execution unit of the information processing apparatus,
In the business logic execution unit of the information processing apparatus, when the action call packet is received, the action ID and GUI object ID are acquired from the action call packet, and the user action is acquired from the action management unit based on the action ID. And acquiring the GUI object stub from the GUI stub management unit based on the GUI object ID;
An information processing method comprising: executing the acquired user action on the acquired GUI object stub in the business logic execution unit of the information processing apparatus.
前記情報処理装置の前記GUI実行部において、前記メソッドコールパケットを受信すると、前記メソッドコールパケットから前記GUIオブジェクトID及び前記パラメタを取り出し、前記GUIオブジェクトIDに基づいてGUIオブジェクト管理部から前記GUIオブジェクトを取得するステップと、
前記情報処理装置の前記GUI実行部において、取得された前記GUIオブジェクト及び前記パラメタに基づいて前記情報処理端末に新たなGUI画面を表示し、前記新たなGUI画面に対して新たな入力イベントが発生すると、前記新たな入力イベントが前記情報処理装置の前記GUI実行部に送信され、GUIオブジェクトリターンデータに変換するステップと、
前記情報処理装置の前記GUI実行部において、前記GUIオブジェクトリターンデータを含むメソッドリターンパケットを生成し、前記情報処理装置の前記ビジネスロジック実行部に送信するステップと、
前記情報処理装置の前記ビジネスロジック実行部において、前記メソッドリターンパケットを受信すると、前記メソッドリターンパケットから前記GUIオブジェクトリターンデータを取得し、前記GUIオブジェクトリターンデータを、前記GUIオブジェクトスタブのメソッドの戻り値として返すステップ
とを更に備えることを特徴とする請求項2に記載の情報処理方法。 In the business logic execution unit of the information processing apparatus, when a method of the GUI object stub is called from the user action with a predetermined parameter, a method call packet including the GUI object ID and the parameter is generated, Transmitting to the GUI execution unit;
In the GUI execution unit of the information processing apparatus, when the method call packet is received, the GUI object ID and the parameter are extracted from the method call packet, and the GUI object is extracted from the GUI object management unit based on the GUI object ID. A step to obtain,
In the GUI execution unit of the information processing apparatus, a new GUI screen is displayed on the information processing terminal based on the acquired GUI object and the parameter, and a new input event is generated on the new GUI screen Then, the new input event is transmitted to the GUI execution unit of the information processing apparatus, and converted into GUI object return data;
Generating a method return packet including the GUI object return data in the GUI execution unit of the information processing apparatus, and transmitting the method return packet to the business logic execution unit of the information processing apparatus;
In the business logic execution unit of the information processing apparatus, when the method return packet is received, the GUI object return data is acquired from the method return packet, and the GUI object return data is used as the return value of the method of the GUI object stub. The information processing method according to claim 2, further comprising the step of returning as:
前記情報処理装置の前記GUI実行部において、前記アクションリターンパケットを受信すると、前記アクションカウント変数をデクリメントし、前記アクションカウント変数がゼロになると、前記アクションリターンパケットから前記アクションリターンデータを取得するステップ
とを更に備えることを特徴とする請求項3に記載の情報処理方法。 In the business logic execution unit of the information processing apparatus, when action return data is acquired as a return value of the method of the GUI object stub, an action return packet including the action return data is created, and the action return packet is used as the input event. Step to return as the return value of
The GUI execution unit of the information processing apparatus receives the action return packet, decrements the action count variable, and acquires the action return data from the action return packet when the action count variable becomes zero. The information processing method according to claim 3, further comprising:
前記情報処理端末は、
前記情報処理装置の命令に従って、前記情報処理端末の表示装置にGUI画面を表示し、前記情報処理端末の入力装置によって前記GUI画面に対して発生された入力イベントを前記情報処理装置に送信するとともに、
前記情報処理装置から、前記情報処理装置においてビジネスロジックを実行するビジネスロジック実行部のアドレスおよびGUIスレッドIDを受信すると、受信した前記アドレスおよび前記GUIスレッドIDに基づいて、前記情報処理装置のビジネスロジック実行部を呼び出し、
前記情報処理装置は、
前記情報処理端末に前記GUI画面を表示する命令を出力し、前記GUI画面に対して入力イベントが発生すると、前記入力イベントをユーザアクションに変換し、前記情報処理端末のリクエスト代理部に、前記ビジネスロジック実行部のアドレスおよびGUIスレッドIDを送信し、前記情報処理端末のリクエスト代理部からの呼び出しに応じて、前記ビジネスロジック実行部で、前記入力イベントに対応するGUIオブジェクトのスタブであるGUIオブジェクトスタブで前記ユーザアクションを実行するスレッドを生成し、前記スレッドにおいて前記ユーザアクションを実行し、
前記ユーザアクションの実行において前記GUIオブジェクトのメソッドが呼び出された場合、前記呼び出しに関するパラメタに基づいて前記情報処理端末に新たなGUI画面を表示する命令を出力し、前記新たなGUI画面に対して新たな入力イベントが発生すると、前記新たな入力イベントをリターンデータに変換し、前記リターンデータに基づいて、前記スレッドにおいて前記ユーザアクションを実行した結果を、前記ユーザアクションの実行命令の戻り値として出力する
ことを特徴とする情報処理システム。 An information processing system comprising an information processing device and an information processing terminal using information provided from the information processing device,
The information processing terminal
In accordance with an instruction from the information processing device, a GUI screen is displayed on the display device of the information processing terminal, and an input event generated on the GUI screen by the input device of the information processing terminal is transmitted to the information processing device. ,
From the information processing apparatus, when receiving the address and GUI thread ID of the business logic execution unit for executing the business logic in the information processing apparatus, on the basis of the address and the GUI thread ID received, the information processing apparatus business logic Call the execution part,
The information processing apparatus includes:
A command to display the GUI screen is output to the information processing terminal, and when an input event occurs on the GUI screen, the input event is converted into a user action, and the business agent is sent to the request proxy unit of the information processing terminal. A GUI object stub that is a stub of a GUI object corresponding to the input event is transmitted in the business logic execution unit in response to a call from the request proxy unit of the information processing terminal by transmitting an address of the logic execution unit and a GUI thread ID Generating a thread for executing the user action, executing the user action in the thread,
When the method of the GUI object is called in the execution of the user action, a command to display a new GUI screen on the information processing terminal is output based on the parameters related to the call, and a new GUI screen is displayed. When a new input event occurs, the new input event is converted into return data, and a result of executing the user action in the thread based on the return data is output as a return value of the execution instruction of the user action. An information processing system characterized by this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006259546A JP4342545B2 (en) | 2006-09-25 | 2006-09-25 | Information processing method and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006259546A JP4342545B2 (en) | 2006-09-25 | 2006-09-25 | Information processing method and information processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008083745A JP2008083745A (en) | 2008-04-10 |
JP4342545B2 true JP4342545B2 (en) | 2009-10-14 |
Family
ID=39354611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006259546A Active JP4342545B2 (en) | 2006-09-25 | 2006-09-25 | Information processing method and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4342545B2 (en) |
-
2006
- 2006-09-25 JP JP2006259546A patent/JP4342545B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008083745A (en) | 2008-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220070122A1 (en) | Method and Apparatus for Composite User Interface Generation | |
US7330878B2 (en) | Method and system for remote control of a local system | |
US7668937B2 (en) | Wireless communication device use of application server applications | |
US7904194B2 (en) | Event management systems and methods for motion control systems | |
JP3055970B2 (en) | Method and apparatus for implementing interface between object-oriented languages | |
JP2011118879A (en) | Location independent execution of user interface operations | |
US20050015387A1 (en) | Managing program applications | |
CN115210689A (en) | System and method for a reactive messaging client for use in a microservice environment | |
JP4342545B2 (en) | Information processing method and information processing system | |
US7418717B1 (en) | Smart card framework | |
US6308226B1 (en) | Communication method and system for objects movable in network | |
US8132189B1 (en) | WS-management resource MBean wrapper for JAXB beans | |
JP2006252344A (en) | Information processing method, information processing system, information processing terminal and information processor | |
KR100494827B1 (en) | Distributed object model based radio server with hardware-independent communication interface and communication control method using the same | |
JP2003076563A (en) | Distributed object middleware connection method and recording medium with program recorded thereon and program | |
US20060161618A1 (en) | Abstract mechanism for constructing commands for the command pattern | |
Silva-Lepe et al. | Container-managed messaging: an architecture for integrating java components and message-oriented applications | |
JPH10214196A (en) | Software linking processor | |
Huang et al. | Java communication interfaces for control systems | |
Faison | A Survey of Commercial Systems | |
Ren et al. | Utilizing commercial object libraries within looselycoupled, event-based systems. | |
Mukhar et al. | Message-Driven Beans |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090609 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090707 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120717 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4342545 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130717 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |