JP5577140B2 - Information processing system and information processing method - Google Patents
Information processing system and information processing method Download PDFInfo
- Publication number
- JP5577140B2 JP5577140B2 JP2010091640A JP2010091640A JP5577140B2 JP 5577140 B2 JP5577140 B2 JP 5577140B2 JP 2010091640 A JP2010091640 A JP 2010091640A JP 2010091640 A JP2010091640 A JP 2010091640A JP 5577140 B2 JP5577140 B2 JP 5577140B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- client application
- cooperation
- application
- information processing
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、サーバとクライアントを用いて情報を処理する情報処理システム及び情報処理方法に関し、特に異なるプログラム言語でそれぞれ作成されたアプリケーションを有する情報処理システム及び情報処理方法の改良に関する。 The present invention relates to an information processing system and an information processing method for processing information using a server and a client, and more particularly to an improvement in an information processing system and an information processing method each having an application created in different program languages.
サーバアプリケーションを有するサーバと、このサーバにネットワークを介して接続され、サーバアプリケーションに対応するクライアントアプリケーションを有するクライアントとを有する情報処理システムが知られている。この情報処理システムにおいては、サーバ上で動作するサーバアプリケーションから、クライアント上で動作するクライアントアプリケーションへサービスが提供されて、情報の処理が実行される。 An information processing system having a server having a server application and a client connected to the server via a network and having a client application corresponding to the server application is known. In this information processing system, a service is provided from a server application running on a server to a client application running on a client, and information processing is executed.
下記特許文献1には、サーバとクライアントとの間のデータ通信方式であって、取り扱い情報に基づいてTCP(Transmission Control Protocol)パケットとUDP(User Datagram Protocol)パケットを切り替えるデータ通信方式が記載されている。 Patent Document 1 listed below is a data communication method between a server and a client, and describes a data communication method that switches between a TCP (Transmission Control Protocol) packet and a UDP (User Datagram Protocol) packet based on handling information. Yes.
TCPパケットは、送信パケットに対して、パケットを正常に受信したことを応答するACKパケットを返信するデータストリーム型の通信方式であり、この方式では通信の確実性が保証される代わりに通信速度が低速である。 A TCP packet is a data stream type communication method that returns an ACK packet that responds to the transmission packet in response to normal reception. In this method, the communication speed is increased instead of guaranteeing the reliability of communication. Slow.
一方、UDPパケットは、送信パケットに対して、パケットを正常に受信したことを応答するACKパケットを返信しないデータグラム型の通信方式であり、この方式では通信速度が高速である代わりに通信の確実性が保証されない。 On the other hand, the UDP packet is a datagram type communication method that does not send back an ACK packet that responds to the normal reception of the packet with respect to the transmission packet. In this method, the communication speed is high but the communication is reliable. Sex is not guaranteed.
この特許文献1のデータ通信方式は、上述のような2種の通信方式を、サーバとクライアント間で取り扱う情報に基づいて臨機応変に切り替えることで、利用者の感覚的な不満を緩和している。 The data communication system disclosed in Patent Document 1 mitigates user's sensory dissatisfaction by switching the two communication systems as described above to ad hoc based on information handled between the server and the client. .
下記特許文献2には、ネットワークを介して接続された複数の装置間を、通信ソケットを移動させて通信する技術が記載されている。この引用文献2の装置は、この装置内で動作するアプリケーションと、このアプリケーションとネットワークとの間にインターフェースを提供するソケット部とを有する。そして、各装置のソケット部間がネットワークを介して通信可能な状態で接続され、各装置のアプリケーション同士が、通信関連構成要素(例えばポートやソケット)を利用して通信を行なう。 Japanese Patent Application Laid-Open No. 2004-228561 describes a technique of communicating by moving a communication socket between a plurality of devices connected via a network. The apparatus of the cited document 2 includes an application that operates in the apparatus, and a socket unit that provides an interface between the application and the network. And the socket part of each apparatus is connected in the state which can communicate via a network, and the application of each apparatus communicates using a communication related component (for example, a port and a socket).
この引用文献2の通信技術においても、上述した引用文献1と同様、装置間の通信において、通信プロトコルとしてTCPまたはUDPを使用することが示されている。 Also in the communication technique of the cited document 2, it is shown that TCP or UDP is used as a communication protocol in the communication between apparatuses as in the cited document 1 described above.
従来のような情報処理システムにおいては、サーバとクライアントが、共に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを有する場合がある。すなわち、サーバが、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有し、クライアントが、その異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する場合がある。 In a conventional information processing system, a server and a client may both have applications created in different programming languages. In other words, the server may have a server application created in a different programming language, and the client may have a client application created in the different programming language.
例えば、1つのベンダによるアプリケーションのみを有する既存の情報処理システムであっても、1社の製品のみを使用することによるリスクを分散する観点、または標準仕様の変更の観点から、そのシステム内に、積極的に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させる場合がある。このような場合、一般的に、異なるプログラミング言語でそれぞれ作成されたアプリケーション間の連携(例えば画面の遷移やデータの受渡し)は困難であると考えられている。 For example, even in an existing information processing system having only an application by a single vendor, from the viewpoint of distributing the risk of using only one company's product or changing the standard specification, There are cases where applications created in different programming languages coexist actively. In such a case, it is generally considered difficult to cooperate (for example, screen transition or data transfer) between applications created in different programming languages.
このため、ユーザは、それらのクライアントアプリケーション間の連携を図る場合、多くの操作を実行する必要がある。具体的には、ユーザは、連携元のクライアントアプリケーションにおいてデータをファイルに書き込み、連携先のクライアントアプリケーションを起動させる。そして、ユーザは、起動した連携先のクライアントアプリケーションにおいて、そのファイルを開いてデータを読み込むという操作を実行する必要がある。このような操作では、ユーザの手間とともに時間が掛かるので、作業効率が低下してしまうという問題がある。 For this reason, the user needs to perform many operations in order to link the client applications. Specifically, the user writes data into a file in the cooperation source client application, and activates the cooperation destination client application. Then, the user needs to execute an operation of opening the file and reading data in the activated client application of the cooperation destination. Such an operation takes time with the user's trouble, and there is a problem that the working efficiency is lowered.
情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させずに、1つのプログラミング言語によるアプリケーションに統一させることも考えられる。しかしながら、既存の情報処理システムの規模が大きい場合、アプリケーションの一括導入は、トラブルの増大を招きリスクが大きすぎるという問題がある。よって、情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションが並存し、かつ、上述したようなユーザの操作により、それらのクライアントアプリケーション間の連携を図らなければならない事態が多く生じてしまう。 In an information processing system, it is possible to unify applications created in different programming languages into one programming language application without coexisting them. However, when the scale of the existing information processing system is large, there is a problem that the batch introduction of applications leads to an increase in trouble and the risk is too great. Therefore, there are many situations where applications created in different programming languages coexist in the information processing system, and the above-described user operations require cooperation between the client applications. .
本発明の目的は、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる情報処理システム及び情報処理方法を提供することにある。 An object of the present invention is to enable an information processing system that processes information using a server and a client to reliably and quickly link client applications created in different programming languages by a simple operation. An information processing system and an information processing method are provided.
本発明は、Visual Basic(登録商標)又はActiveX(登録商標)で作成された第1クライアントアプリケーションと、Java(登録商標)で作成された第2クライアントアプリケーションとを有するクライアントと、クライアントにネットワークを介して接続され、第1クライアントアプリケーションに対応してサービスを提供するようにVisual Basic(登録商標)又はActiveX(登録商標)で作成された第1サーバアプリケーションと、第2クライアントアプリケーションに対応してサービスを提供するようにJava(登録商標)で作成された第2サーバアプリケーションとを有するサーバと、を備え、クライアントは、第1及び第2クライアントアプリケーション間の通信を中継して第1及び第2クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有し、連携部は、第1クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第1ソケット部を有する第1連携プログラムと、第2クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第2ソケット部を有する第2連携プログラムと、を有し、第1ソケット部と第2ソケット部は、互いにUDPを使用して通信し、
連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、第1連携プログラムは、遷移情報を受信した場合、第1サーバアプリケーションに対して、第1クライアントアプリケーションの起動を要求する第1起動要求部を有し、第2連携プログラムは、遷移情報を受信した場合、第2サーバアプリケーションに対して、第2クライアントアプリケーションのダウンロードを要求する第2起動要求部を有することを特徴とする。
The present invention, through a first client application created by Visual Basic (R) or ActiveX (registered trademark), and a client and a second client application written in Java (registered trademark), the network to the client connected Te, and the first server application written in Visual Basic as to correspond to the first client application providing a service (registered trademark) or ActiveX (TM), corresponding to the second client application services and a server and a second server application that were created in Java (registered trademark) so as to provide the client, first and second relays the communication between the first and second client application By linking the client application, have a coordination unit for performing a transition of transmission and reception and the screen data, linkage unit includes a first has a first socket portion that is connected to the first client application, and generates a communication socket based on the link request A first cooperative program and a second cooperative program that is connected to the second client application and has a second socket part that generates a communication socket based on the cooperative request. The first socket part and the second socket part are: Communicate with each other using UDP,
The communication socket based on the cooperation request includes transition information for requesting the screen transition in the client. When the first cooperation program receives the transition information, the first client application receives the transition information of the first client application. A first activation request unit that requests activation, and the second cooperative program includes a second activation request unit that requests the second server application to download the second client application when the transition information is received. It is characterized by that.
また、第1連携プログラムは、第1ソケット部が連携要求に基づく通信ソケットを受信した場合、第2連携プログラムに対してその通信ソケットを正常に受信した旨を、第1ソケット部を通じて応答する第1応答部を有し、第2連携プログラムは、第2ソケット部が連携要求に基づく通信ソケットを受信した場合、第1連携プログラムに対してその通信ソケットを正常に受信した旨を、第2ソケット部を通じて応答する第2応答部を有することができる。 In addition, when the first socket unit receives the communication socket based on the link request, the first link program responds to the second link program that the communication socket has been normally received through the first socket unit. The second linkage program, when the second socket unit receives the communication socket based on the linkage request, the second socket indicates that the communication socket has been normally received by the first linkage program. A second response unit that responds through the unit may be included.
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第1起動要求部の起動要求に基づいて、第1サーバアプリケーションにより起動させられた第1クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。 Further, the communication socket based on the cooperation request further includes shared data used by each application, and the first client application started by the first server application based on the start request of the first start request unit. Can display shared data on the screen in the client.
また、第1連携プログラムは、第1起動要求部の起動要求に基づいて第1クライアントアプリケーションが起動するまで、共有データを一時的に記憶することができる。 Further, the first cooperation program can temporarily store the shared data until the first client application is activated based on the activation request from the first activation request unit.
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動すると、第2クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。 Further, the communication socket based on the cooperation request further includes shared data used by each application, and the second client application downloaded from the second server application is the client based on the request from the second activation request unit. When activated above, the second client application can display shared data on a screen in the client.
また、第2クライアントアプリケーションと第2連携プログラムが、JMXをそれぞれ有し、これらJMXを使って、第2連携プログラムと第2クライアントアプリケーションとの異なるJava(登録商標)VM間が通信可能に接続されることができる。 In addition , the second client application and the second cooperative program each have JMX, and using these JMX, different Java (registered trademark) VMs of the second cooperative program and the second client application are communicably connected. Can.
また、第2連携プログラムは、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第2クライアントアプリケーションの起動が完了した場合、その共有データを第2クライアントアプリケーションにポストすることができる。 The second cooperation program temporarily stores the shared data until the second client application downloaded from the second server application starts on the client based on the request of the second activation request unit, When the activation of the client application is completed, the shared data can be posted to the second client application.
本発明の情報処理システム及び情報処理方法によれば、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる。 According to the information processing system and the information processing method of the present invention, in an information processing system that processes information using a server and a client, it is possible to reliably and securely connect client applications created in different programming languages by simple operations. It can be linked in a short time.
以下、本発明に係る情報処理システムの実施形態について、図を用いて説明する。一例として、一つのクライアントを挙げ、このクライアントと、このクライアントにサービスを提供するサーバとを有する情報処理システムについて説明する。なお、本発明は、この態様に限定されず、複数のクライアントと、これらのクライアントに接続されるサーバとを有する情報処理システムにも適用することができる。 Embodiments of an information processing system according to the present invention will be described below with reference to the drawings. As an example, an information processing system including one client and having this client and a server that provides services to this client will be described. In addition, this invention is not limited to this aspect, It can apply also to the information processing system which has a some client and the server connected to these clients.
図1は、本実施形態に係る情報処理システム10の構成を示す図である。情報処理システム10は、サーバ12とクライアント14を有し、サーバ12とクライアント14はネットワーク16を介して接続される。
FIG. 1 is a diagram illustrating a configuration of an
サーバ12とクライアント14は、ハードウェア資源とソフトウェアとの協働により実現される。具体的には、サーバ12とクライアント14の機能は、記録媒体に記録された情報処理プログラム(後述の各アプリケーションを含む)がメインメモリに読み出されてCPU(Central Processing Unit)により実行されることによって実現される。
The
サーバ12は、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有する。このサーバアプリケーションは、第1サーバアプリケーション18と第2サーバアプリケーション20を含む。第1及び第2サーバアプリケーション18,20は、サーバ12上で実行される。
The
なお、本実施形態においては、サーバ12が1個である場合について説明したが、本発明はこれに限定されず、2個または、それ以上であってもよい。
In the present embodiment, the case where there is one
また、本実施形態では、サーバアプリケーションが2個である場合について説明したが、本発明はこの数に限定されず、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションが3個、またはそれ以上であってもよい。 In the present embodiment, the case where there are two server applications has been described. However, the present invention is not limited to this number, and there are three or more server applications created in different programming languages. Also good.
第1サーバアプリケーション18のプログラミング言語は、Visual Basic(登録商標)であり、第2サーバアプリケーション20のプログラミング言語は、Java(登録商標)である。
The programming language of the
なお、本実施形態においては、第1サーバアプリケーション18のプログラミング言語は、Visual Basic(登録商標)である場合について説明したが、この構成に限定されず、第1サーバアプリケーション18が第2サーバアプリケーション20に対して異なるプログラミング言語で作成されているのであれば、第1サーバアプリケーション18がActiveX(登録商標)により作成されてもよい。
In the present embodiment, the case where the programming language of the
また、サーバ12は、図示しないが、ネットワーク16に接続してクライアント14と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、サーバ12は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有することもできる。
Although not shown, the
クライアント14は、異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する。このクライアントアプリケーションは、上述のサーバアプリケーションに対応し、各サーバアプリケーションからサービスの提供を受ける。すなわち、クライアントアプリケーションは、第1サーバアプリケーション18に対応する第1クライアントアプリケーション22と、第2サーバアプリケーション20に対応する第2クライアントアプリケーション24とを含み、第1及び第2クライアントアプリケーション22,24が、それぞれ、第1及び第2サーバアプリケーション18,20からサービスの提供を受ける。第1及び第2クライアントアプリケーション22,24は、クライアント14上で実行される。
Each
なお、本実施形態においては、クライアントアプリケーションが2個である場合について説明したが、本発明はこの数に限定されず、上述したサーバアプリケーションと同様、クライアントアプリケーションが3個、またはそれ以上であってもよい。 In the present embodiment, the case where there are two client applications has been described. However, the present invention is not limited to this number, and there are three or more client applications as in the server application described above. Also good.
第1クライアントアプリケーション22は、第1サーバアプリケーション18に対応するVisual Basic(登録商標)により作成され、第2サーバアプリケーション20は、第2サーバアプリケーション20に対応するJava(登録商標)により作成される。
The
なお、本実施形態においては、第1クライアントアプリケーション22のプログラミング言語は、Visual Basic(登録商標)である場合について説明したが、この構成に限定されず、上述した第1サーバアプリケーション18と同様、第1クライアントアプリケーション22がActiveX(登録商標)により作成されてもよい。
In the present embodiment, the case where the programming language of the
また、クライアント14は、第1クライアントアプリケーション22に接続されるメニューアプリケーション26を有する。メニューアプリケーション26は、第1クライアントアプリケーション22が起動している否かを監視するとともに、第1クライアントアプリケーション22を起動させるため、サーバ12の第1サーバアプリケーション18に対して起動を要求する機能を有する。
Further, the
また、クライアント14は、図示しないが、ネットワーク16に接続してサーバ12と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、クライアント14は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有する。後述するクライアント14の画面は、この表示部に表示される。
Although not shown, the
ネットワーク16は、有線方式あるいは無線方式で構成される。また、両者を混用することも可能である。ネットワーク16は、公衆の便に供される共用通信ネットワークであっても、独自の専用の通信ネットワークであってもよい。また、両者を混用することも可能である。
The
本実施形態に係る情報処理システム10の特徴的な事項は、クライアント14が、各クライアントアプリケーション22,24間の通信を中継して、これらのアプリケーション22,24を連携させ、データの送受信と画面の遷移を行なう連携部28を有することである。
A characteristic matter of the
このように、新たな機能である連携部28がクライアント14内部にのみ設けられるので、情報処理システム10の構造が複雑化してしまうことを防止することができる。そして、連携部28の動作により、ユーザの簡易な操作で、異なるプログラミング言語によりそれぞれ作成されたアプリケーション22,24間を、確実にかつ短時間に連携させることができる。以下、連携部28の具体的な構成について説明する。
As described above, since the
連携部28は、第1クライアントアプリケーション22に接続される一方の連携部である第1連携プログラム30と、第2クライアントアプリケーション24に接続される他方の連携部である第2連携プログラム32とを有する。第1連携プログラム30と第2連携プログラム32とは、通信可能に接続される。
The
第1連携プログラム30は、メニューアプリケーション26に組み込まれている。このため、第1連携プログラム30は、メニューアプリケーション26の機能を利用して第1クライアントアプリケーション22に接続されている。なお、本実施形態においては、第1連携プログラム30がメニューアプリケーション26に組み込まれる場合について説明したが、本発明はこの構成に限定されず、それぞれが通信可能に別個に設けられてもよい。
The
第1連携プログラム30は、第2連携プログラム32に対して通信可能に接続される第1ソケット部34を有する。第1ソケット部34は、ユーザからの連携要求に基づいて通信ソケットを生成する。そして、第1ソケット部34は、その通信ソケットを、第2連携プログラム32に送信する。一方、第1ソケット部34は、第2連携プログラム32から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばCSVフォーマットのデータに変換処理する。
The
ここで、ユーザからの連携要求とは、第1及び第2クライアントアプリケーション22,24間を連携させたいというユーザの要求であり、CSVフォーマットで作成される。ユーザが、例えば、第1クライアントアプリケーション22上で操作中、その画面上のデータを第2クライアントアプリケーション24の画面上にも反映させたいとき、ユーザは両クライアントアプリケーション22,24間の連携を要求する。具体的には、ユーザは、両クライアントアプリケーション22,24を連携させる旨を、クライアント14の入力部を用いて要求する。このため、連携要求に基づく通信ソケットには、クライアント14内における画面の遷移を要求する遷移情報と、上述の反映させたいデータとが含まれる。なお、このデータは、両クライアントアプリケーション22,24の連携が達成されると、それらのアプリケーション22,24で使用される共有のデータとなるので、このデータを以降、単に共有データと記す。
Here, the cooperation request from the user is a user request for cooperation between the first and
本実施形態の第1及び第2連携プログラム30,32間の通信においては、通信プロトコルとしてUDPが使用される。すなわち、第1ソケット部34は、UDPに従って通信を行なう。UDPによる通信速度の高速化により、連携動作の時間を短縮することができるからである。しかし、UDPには、従来技術で述べたように、確実性が保証されていないという欠点がある。
In communication between the first and
そこで、この欠点を解消すべく、本実施形態の第1連携プログラム30は、ACK機能を含む第1応答部36を有する。第1応答部36は、第1ソケット部34が連携要求に基づく通信ソケットを受信した場合、第2連携プログラム32に対してその通信ソケットを正常に受信した旨を、第1ソケット部34を通じて応答する。
Therefore, in order to eliminate this drawback, the
また、第1応答部36は、第1ソケット部34が連携要求に基づく通信ソケットを送信した場合、第2連携プログラム32からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第1応答部36の動作により、第1及び第2連携プログラム30,32間の通信において、UDPが使用されても、その通信の確実性を保証することができる。
In addition, when the
また、第1連携プログラム30は、第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動を要求する第1起動要求部38を有する。第1起動要求部38は、第1ソケット部34が連携要求に基づく通信ソケット、具体的には遷移情報を受信した場合、メニューアプリケーション26を介して、サーバ12の第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動を要求する。
The
さらに、第1連携プログラム30は、第1ソケット部34が受信した通信ソケットに含まれる共有データを記憶する第1記憶部40を有する。第1記憶部40は、第1起動要求部38により第1サーバアプリケーション18が起動するまで、共有データを一時的に記憶する。
Further, the
なお、本実施形態においては、上述のように、第1記憶部40が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第1クライアントアプリケーション22が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント14のどのメモリであってもよく、例えば第1クライアントアプリケーション22のCookieであってもよい。
In the present embodiment, as described above, the case where the
一方、第2連携プログラム32は、Java(登録商標)プラットフォームを介して第2クライアントアプリケーション24に対して通信可能に接続される。具体的には、第2クライアントアプリケーション24と第2連携プログラム32には、JMX(Java(登録商標) Management Extensions)が42,44それぞれ設けられ、これらのJMX42,44を使って、第2連携プログラム32と第2クライアントアプリケーション24との異なるJava(登録商標)VM間が通信可能に接続される。また、JMX42,44間の通信に必要なリモートオブジェクトの参照の場所を特定するため、第2連携プログラムには、RMI(Remote Method Invocation)レジストリ46が設けられる。
On the other hand, the
第2連携プログラム32は、第1連携プログラム30の第1ソケット部34に対して通信可能に接続される第2ソケット部48を有する。第2ソケット部48は、連携要求に基づいて通信ソケットを生成する。そして、第2ソケット部48は、その通信ソケットを、第1連携プログラム30に送信する。一方、第2ソケット部48は、第1連携プログラム30から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばJava(登録商標)オブジェクトに変換処理する。
The
また、第2連携プログラム32は、ACK機能を含む第2応答部50を有する。第2応答部50は、第2ソケット部48が連携要求に基づく通信ソケットを受信した場合、第1連携プログラム30に対してその通信ソケットを正常に受信した旨を、第2ソケット部48を通じて応答する。
Moreover, the
また、第2応答部50は、第2ソケット部48が連携要求に基づく通信ソケットを送信した場合、第1連携プログラム30からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第2応答部50の動作により、第1及び第2連携プログラム30,32間の通信において、UDPが使用されても、その通信の確実性を保証することができる。
In addition, when the
また、第2連携プログラム32は、第2サーバアプリケーション20に対して、第2クライアントアプリケーション24のダウンロードを要求する第2起動要求部54を有する。第2起動要求部54は、第2ソケット部48が連携要求に基づく通信ソケット、具体的には遷移情報を受信し、サーバ12の第2サーバアプリケーション20に対して、第2クライアントアプリケーション24のダウンロードを要求する。
The
さらに、第2連携プログラム32は、第2ソケット部48が受信した通信ソケットに含まれる共有データを記憶する第2記憶部56を有する。第2記憶部56は、第2起動要求部54の要求により第2サーバアプリケーション20からダウンロードされた第2クライアントアプリケーション24が起動するまで、共有データを一時的に記憶して、起動が完了した第2クライアントアプリケーション24に共有データをポストする。
Further, the
なお、本実施形態においては、上述のように、第2記憶部56が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第2クライアントアプリケーション24が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント14のどのメモリであってもよい。
In the present embodiment, as described above, the case where the
次に、本実施形態の情報処理システム10における連携動作について、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作と、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作とに分けて、図を用いてそれぞれ説明する。
Next, regarding the cooperative operation in the
まず、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作について、図2を用いて説明する。図2は、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第1クライアントアプリケーション22上で操作している時点をスタートとする。
First, a cooperative operation from the
まず、ステップS101において、ユーザが、第1クライアントアプリケーション22上で操作中、その画面上のデータを第2クライアントアプリケーション24の画面上に反映させるために、第2クライアントアプリケーション24への連携を操作する。具体的には、ユーザは、第1クライアントアプリケーション22の画面上に、クライアント14の入力部を用いて連携要求を入力する。入力された連携要求の情報は、第1連携プログラム30に送信される。
First, in step S <b> 101, during operation on the
ステップS102において、連携要求の情報が第1連携プログラム30に受信されると、ステップS103で、第1ソケット部34により、その連携要求に基づく通信ソケットが生成されて第2ソケット部48に送信される。この動作にあわせて、フローチャートに示されないが、第1応答部36により、待機時間がカウントされる。
When the cooperation request information is received by the
そして、ステップS104では、第2ソケット部48により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップS105に進み、第2応答部50により、正常に受信した旨、すなわちACK応答が、第2ソケット部48を通じて送信される。そして、フローチャートには示されないが、第1連携プログラム30において、所定時間内にACK応答を受信した場合、処理が正常であると判断される。一方、第1連携プログラム30において、所定時間内にACK応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
In step S104, the
一方、ステップS104において、第2ソケット部48により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばACK応答に基づく通信ソケットの受信が検出された場合、この連係動作は終了する。
On the other hand, if the reception of the communication socket based on the cooperation request is not detected by the
そして、ステップS106において、通信ソケットに含まれる共有データが第2記憶部56に一時的に記憶され、ステップS107で、第2起動要求部54により、第2サーバアプリケーション20に対して第2クライアントアプリケーション24のダウンロードが要求される。
In step S106, the shared data included in the communication socket is temporarily stored in the
そして、ステップS108では、第2起動要求部54からの起動要求に基づいて、第2サーバアプリケーション20によって第2クライアントアプリケーション24のダウンロードが行なわれる。
In step S <b> 108, the
ダウンロードが完了すると、ステップS109において、第2クライアントアプリケーション24が起動する。
When the download is completed, the
そして、ステップS110において、起動した第2クライアントアプリケーション24により、起動完了の通知が第2連携プログラム32へ送信され、ステップS111に進む。ステップS111においては、第2連携プログラム32により、通信ソケットに含まれている共有データが第2クライアントアプリケーション24にポストされる。
In step S110, the activated
そして、ステップ112において、第2クライアントアプリケーション24にポストされた共有データが、第2クライアントアプリケーション24により、クライアント14内における画面に表示される。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
In step 112, the shared data posted to the
次に、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作について、図3を用いて説明する。図3は、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第2クライアントアプリケーション24上で操作している時点をスタートとする。
Next, a cooperative operation from the
まず、ステップS201において、ユーザが、第2クライアントアプリケーション24上で操作中、その画面上のデータを第1クライアントアプリケーション22の画面上に反映させるために、第1クライアントアプリケーション22への連携を操作する。具体的には、ユーザは、第2クライアントアプリケーション24の画面上に、クライアント14の入力部を用いて連携要求を入力する。入力された連携要求の情報は、JMX42を介して、第2連携プログラム32に送信される。
First, in step S201, during operation on the
ステップS202において、連携要求の情報が第2連携プログラム32に受信されると、ステップS203で、第2ソケット部48により、その連携要求に基づく通信ソケットが生成されて第1ソケット部34に送信される。この動作にあわせて、フローチャートに示されないが、第2応答部50により、待機時間がカウントされる。
In step S202, when information on the cooperation request is received by the
そして、ステップS204では、第1ソケット部34により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップS205に進み、第1応答部36により、正常に受信した旨、すなわちACK応答が、第1ソケット部34を通じて送信される。そして、フローチャートには示されないが、第2連携プログラム32において、所定時間内にACK応答を受信した場合、処理が正常であると判断される。一方、第2連携プログラム32において、所定時間内にACK応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
In step S204, the
一方、ステップS204において、第1ソケット部34により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばACK応答に基づく通信ソケットの受信が検出された場合、この連携動作は終了する。
On the other hand, if the reception of the communication socket based on the cooperation request is not detected by the
そして、ステップS206において、通信ソケットに含まれる共有データが第1記憶部40に一時的に記憶され、ステップS207で、第1起動要求部38により、第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動が要求される。
In step S206, the shared data included in the communication socket is temporarily stored in the
そして、ステップS208では、第1起動要求部38からの起動要求に基づいて、第1サーバアプリケーション18が起動要求を受け付ける。そうすると、ステップS209において、この第1サーバアプリケーション18によって起動させられた第1クライアントアプリケーション22により、第1記憶部40に記憶された共有データが、クライアント14内における画面に表示させる。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
In step S208, the
本実施形態の情報処理システム10によれば、従来のシステムに比べ、ユーザの操作を大幅に省くことができる。また、本システム10によれば、サーバ12内に新たな構成を設けることなく、クライアント14内にのみ連携部28を設けるという簡易な構造により、異なるプログラミング言語によりそれぞれ作成されたアプリケーション22,24間を、確実に連携させることができる。また、その連携の通信にUDPを使用することにより、連携動作の時間の短縮を図ることができる。また、UDPによる通信速度の高速化とともに、連携部28にACK機能を設けることにより、通信の確実性を保証することができる。
According to the
10 情報処理システム、12 サーバ、14 クライアント、16 ネットワーク、18 第1サーバアプリケーション、20 第2サーバアプリケーション、22 第1クライアントアプリケーション、24 第2クライアントアプリケーション、26 メニューアプリケーション、28 連携部、30 第1連携プログラム、32 第2連携プログラム、34 第1ソケット部、36 第1応答部、38 第1起動要求部、40 第1記憶部、42,44 JMX、46 RMIレジストリ、48 第2ソケット部、50 第2応答部、54 第2起動要求部、56 第2記憶部。
DESCRIPTION OF
Claims (7)
クライアントにネットワークを介して接続され、第1クライアントアプリケーションに対応してサービスを提供するようにVisual Basic(登録商標)又はActiveX(登録商標)で作成された第1サーバアプリケーションと、第2クライアントアプリケーションに対応してサービスを提供するようにJava(登録商標)で作成された第2サーバアプリケーションとを有するサーバと、
を備え、
クライアントは、第1及び第2クライアントアプリケーション間の通信を中継して第1及び第2クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有し、
連携部は、
第1クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第1ソケット部を有する第1連携プログラムと、
第2クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第2ソケット部を有する第2連携プログラムと、
を有し、
第1ソケット部と第2ソケット部は、互いにUDPを使用して通信し、
連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、
第1連携プログラムは、遷移情報を受信した場合、第1サーバアプリケーションに対して、第1クライアントアプリケーションの起動を要求する第1起動要求部を有し、
第2連携プログラムは、遷移情報を受信した場合、第2サーバアプリケーションに対して、第2クライアントアプリケーションのダウンロードを要求する第2起動要求部を有する、
ことを特徴とする情報処理システム。 A client having a first client application created by Visual Basic (R) or ActiveX (registered trademark), and a second client application written in Java (registered trademark),
Connected clients through the network, the first server application written in Visual Basic as to correspond to the first client application providing a service (registered trademark) or ActiveX (TM), the second client application a server and a second server application that were created in Java (registered trademark) so as to provide services in response to,
With
The client, by linking the first and second client application to relay communications between the first and second client application, have a coordination unit for performing a transition of transmission and reception and the screen data,
The cooperation department
A first cooperative program connected to the first client application and having a first socket unit that generates a communication socket based on a cooperation request;
A second cooperative program connected to the second client application and having a second socket unit for generating a communication socket based on the cooperation request;
Have
The first socket part and the second socket part communicate with each other using UDP,
The communication socket based on the cooperation request includes transition information that requests screen transition in the client.
The first cooperation program has a first activation request unit that requests the first server application to activate the first client application when the transition information is received.
The second cooperative program includes a second activation request unit that requests the second server application to download the second client application when the transition information is received.
An information processing system characterized by this.
第1連携プログラムは、第1ソケット部が連携要求に基づく通信ソケットを受信した場合、第2連携プログラムに対してその通信ソケットを正常に受信した旨を、第1ソケット部を通じて応答する第1応答部を有し、
第2連携プログラムは、第2ソケット部が連携要求に基づく通信ソケットを受信した場合、第1連携プログラムに対してその通信ソケットを正常に受信した旨を、第2ソケット部を通じて応答する第2応答部を有する、
ことを特徴とする情報処理システム。 The information processing system according to claim 1 ,
When the first socket part receives a communication socket based on the cooperation request, the first cooperation program responds to the second cooperation program that the communication socket has been normally received through the first socket part. Part
When the second socket part receives a communication socket based on the cooperation request, the second cooperation program responds to the first cooperation program that the communication socket has been normally received through the second socket part. Having a part,
An information processing system characterized by this.
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第1起動要求部の起動要求に基づいて、第1サーバアプリケーションにより起動させられた第1クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。 The information processing system according to claim 1 or 2 ,
The communication socket based on the cooperation request further includes shared data used by each application.
Based on the activation request of the first activation request unit, the first client application activated by the first server application displays the shared data on the screen in the client.
An information processing system characterized by this.
第1連携プログラムは、第1起動要求部の起動要求に基づいて第1クライアントアプリケーションが起動するまで、共有データを一時的に記憶する、
ことを特徴とする情報処理システム。 The information processing system according to any one of claims 1 to 3 ,
The first linkage program temporarily stores the shared data until the first client application is activated based on the activation request of the first activation request unit.
An information processing system characterized by this.
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動すると、第2クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。 The information processing system according to any one of claims 1 to 4 ,
The communication socket based on the cooperation request further includes shared data used by each application.
When the second client application downloaded from the second server application is activated on the client based on the request from the second activation request unit, the second client application causes the shared data to be displayed on the screen in the client.
An information processing system characterized by this.
第2クライアントアプリケーションと第2連携プログラムが、JMXをそれぞれ有し、
これらJMXを使って、第2連携プログラムと第2クライアントアプリケーションとの異なるJava(登録商標)VM間が通信可能に接続される、
ことを特徴とする情報処理システム。 The information processing system according to claim 5 ,
The second client application and the second linkage program each have JMX,
Using these JMX, different Java (registered trademark) VMs of the second cooperative program and the second client application are communicably connected.
An information processing system characterized by this.
第2連携プログラムは、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第2クライアントアプリケーションの起動が完了した場合、その共有データを第2クライアントアプリケーションにポストする、
ことを特徴とする情報処理システム。 The information processing system according to claim 6 ,
The second cooperative program temporarily stores the shared data until the second client application downloaded from the second server application is activated on the client based on the request from the second activation request unit. When the activation of is completed, the shared data is posted to the second client application.
An information processing system characterized by this.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091640A JP5577140B2 (en) | 2010-04-12 | 2010-04-12 | Information processing system and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091640A JP5577140B2 (en) | 2010-04-12 | 2010-04-12 | Information processing system and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011221864A JP2011221864A (en) | 2011-11-04 |
JP5577140B2 true JP5577140B2 (en) | 2014-08-20 |
Family
ID=45038759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010091640A Expired - Fee Related JP5577140B2 (en) | 2010-04-12 | 2010-04-12 | Information processing system and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5577140B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101394225B1 (en) | 2012-06-22 | 2014-05-14 | 인텔렉추얼디스커버리 주식회사 | Profiling system for application developed by multi-language and profiling method using the same |
KR101399111B1 (en) | 2012-09-03 | 2014-05-27 | 경희대학교 산학협력단 | High performance java socket for health cloud |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991535A (en) * | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
JP2005189987A (en) * | 2003-12-24 | 2005-07-14 | Onkyo Corp | Client server system |
-
2010
- 2010-04-12 JP JP2010091640A patent/JP5577140B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011221864A (en) | 2011-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237327B2 (en) | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server | |
EP3703315B1 (en) | Communication system, control device, setting device, setting method and program | |
US20160127476A1 (en) | Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface | |
CN1812405B (en) | Reliable one-way messaging over request-response transport protocols | |
US9049175B2 (en) | Client-adjustable window size for connectionless transfer protocols | |
CN113806116A (en) | Protocol stack data transmission method based on Linux system, computer equipment and storage medium | |
JP6901290B2 (en) | Cloud relay device, cloud connection processing method, and program | |
WO2013024342A1 (en) | Method for flow control and for reliable communication in a collaborative environment | |
US8732694B2 (en) | Method and system for performing services in server and client of client/server architecture | |
WO2016058133A1 (en) | Software upgrading method and device | |
US20180198870A1 (en) | Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system | |
KR20110065448A (en) | Composing message processing pipelines | |
CN111917838A (en) | Processing method and device based on micro service, storage medium and electronic device | |
JP5577140B2 (en) | Information processing system and information processing method | |
CN108989157B (en) | Method and device for controlling intelligent equipment | |
WO2004019208A2 (en) | Method and apparatus for just-in-time provisioning application-related information at a communication device | |
Narita et al. | Reliable cloud-based robot services | |
EP4116831A1 (en) | Communication device, program, communication method, information processing method, information processing device, and communication system | |
JP2008197885A (en) | Application abnormal end processing system method therefor and program | |
CN107465751B (en) | Communication method, device, client and computer storage medium | |
CN110764932A (en) | Data processing method, system, medium and computing device | |
JP2008234122A (en) | Cooperation method of screen display information and cooperation method | |
CN104040513A (en) | Display device management system, server apparatus therefor, programmable display device, and operation control method | |
JP2015046706A (en) | Relay program, relay device, and relay method | |
JP5998343B2 (en) | Device server system, device server and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140416 |
|
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: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5577140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |