説明

情報処理システム及び情報処理方法

【課題】サーバとクライアントを用いて情報を処理する情報処理システムにおいて、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる。
【解決手段】情報処理システム10のクライアント14は、各クライアントアプリケーション22,24を連携させ、データの送受信と画面の遷移を行なう連携部28を有する。この連携部28の動作により、ユーザの簡易な操作で、異なるプログラミング言語によりそれぞれ作成されたアプリケーション22,24間を、確実にかつ短時間に連携させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバとクライアントを用いて情報を処理する情報処理システム及び情報処理方法に関し、特に異なるプログラム言語でそれぞれ作成されたアプリケーションを有する情報処理システム及び情報処理方法の改良に関する。
【背景技術】
【0002】
サーバアプリケーションを有するサーバと、このサーバにネットワークを介して接続され、サーバアプリケーションに対応するクライアントアプリケーションを有するクライアントとを有する情報処理システムが知られている。この情報処理システムにおいては、サーバ上で動作するサーバアプリケーションから、クライアント上で動作するクライアントアプリケーションへサービスが提供されて、情報の処理が実行される。
【0003】
下記特許文献1には、サーバとクライアントとの間のデータ通信方式であって、取り扱い情報に基づいてTCP(Transmission Control Protocol)パケットとUDP(User Datagram Protocol)パケットを切り替えるデータ通信方式が記載されている。
【0004】
TCPパケットは、送信パケットに対して、パケットを正常に受信したことを応答するACKパケットを返信するデータストリーム型の通信方式であり、この方式では通信の確実性が保証される代わりに通信速度が低速である。
【0005】
一方、UDPパケットは、送信パケットに対して、パケットを正常に受信したことを応答するACKパケットを返信しないデータグラム型の通信方式であり、この方式では通信速度が高速である代わりに通信の確実性が保証されない。
【0006】
この特許文献1のデータ通信方式は、上述のような2種の通信方式を、サーバとクライアント間で取り扱う情報に基づいて臨機応変に切り替えることで、利用者の感覚的な不満を緩和している。
【0007】
下記特許文献2には、ネットワークを介して接続された複数の装置間を、通信ソケットを移動させて通信する技術が記載されている。この引用文献2の装置は、この装置内で動作するアプリケーションと、このアプリケーションとネットワークとの間にインターフェースを提供するソケット部とを有する。そして、各装置のソケット部間がネットワークを介して通信可能な状態で接続され、各装置のアプリケーション同士が、通信関連構成要素(例えばポートやソケット)を利用して通信を行なう。
【0008】
この引用文献2の通信技術においても、上述した引用文献1と同様、装置間の通信において、通信プロトコルとしてTCPまたはUDPを使用することが示されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−348262号公報
【特許文献2】特開2004−30558号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
従来のような情報処理システムにおいては、サーバとクライアントが、共に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを有する場合がある。すなわち、サーバが、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有し、クライアントが、その異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する場合がある。
【0011】
例えば、1つのベンダによるアプリケーションのみを有する既存の情報処理システムであっても、1社の製品のみを使用することによるリスクを分散する観点、または標準仕様の変更の観点から、そのシステム内に、積極的に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させる場合がある。このような場合、一般的に、異なるプログラミング言語でそれぞれ作成されたアプリケーション間の連携(例えば画面の遷移やデータの受渡し)は困難であると考えられている。
【0012】
このため、ユーザは、それらのクライアントアプリケーション間の連携を図る場合、多くの操作を実行する必要がある。具体的には、ユーザは、連携元のクライアントアプリケーションにおいてデータをファイルに書き込み、連携先のクライアントアプリケーションを起動させる。そして、ユーザは、起動した連携先のクライアントアプリケーションにおいて、そのファイルを開いてデータを読み込むという操作を実行する必要がある。このような操作では、ユーザの手間とともに時間が掛かるので、作業効率が低下してしまうという問題がある。
【0013】
情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させずに、1つのプログラミング言語によるアプリケーションに統一させることも考えられる。しかしながら、既存の情報処理システムの規模が大きい場合、アプリケーションの一括導入は、トラブルの増大を招きリスクが大きすぎるという問題がある。よって、情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションが並存し、かつ、上述したようなユーザの操作により、それらのクライアントアプリケーション間の連携を図らなければならない事態が多く生じてしまう。
【0014】
本発明の目的は、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる情報処理システム及び情報処理方法を提供することにある。
【課題を解決するための手段】
【0015】
本発明は、異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有するクライアントと、クライアントにネットワークを介して接続され、クライアントアプリケーションにそれぞれ対応してサービスを提供するように前記異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有するサーバと、を有する情報処理システムにおいて、クライアントは、各クライアントアプリケーション間の通信を中継して各クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有することを特徴とする。
【0016】
また、サーバアプリケーションは、第1サーバアプリケーションと第2サーバアプリケーションを含み、クライアントアプリケーションは、第1サーバアプリケーションに対応する第1クライアントアプリケーションと、第2サーバアプリケーションに対応する第2クライアントアプリケーションとを含み、連携部は、第1クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第1ソケット部を有する第1連携プログラムと、第2クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第2ソケット部を有する第2連携プログラムと、を有し、第1ソケット部と第2ソケット部は、互いに通信可能に接続され、UDPを使用して通信することができる。
【0017】
また、第1連携プログラムは、第1ソケット部が連携要求に基づく通信ソケットを受信した場合、第2連携プログラムに対してその通信ソケットを正常に受信した旨を、第1ソケット部を通じて応答する第1応答部を有し、第2連携プログラムは、第2ソケット部が連携要求に基づく通信ソケットを受信した場合、第1連携プログラムに対してその通信ソケットを正常に受信した旨を、第2ソケット部を通じて応答する第2応答部を有することができる。
【0018】
また、連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、第1連携プログラムは、遷移情報を受信した場合、第1サーバアプリケーションに対して、第1クライアントアプリケーションの起動を要求する第1起動要求部を有し、第2連携プログラムは、遷移情報を受信した場合、第2サーバアプリケーションに対して、第2クライアントアプリケーションのダウンロードを要求する第2起動要求部を有することができる。
【0019】
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第1起動要求部の起動要求に基づいて、第1サーバアプリケーションにより起動させられた第1クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。
【0020】
また、第1クライアントアプリケーションと第1サーバアプリケーションとのプログラミング言語は、Visual Basic(登録商標)であることができる。
【0021】
また、第1連携プログラムは、第1起動要求部の起動要求に基づいて第1クライアントアプリケーションが起動するまで、共有データを一時的に記憶することができる。
【0022】
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動すると、第2クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。
【0023】
また、第2クライアントアプリケーションと第2サーバアプリケーションとのプログラミング言語は、Java(登録商標)であり、第2クライアントアプリケーションと第2連携プログラムが、JMXをそれぞれ有し、これらJMXを使って、第2連携プログラムと第2クライアントアプリケーションとの異なるJava(登録商標)VM間が通信可能に接続されることができる。
【0024】
また、第2連携プログラムは、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第2クライアントアプリケーションの起動が完了した場合、その共有データを第2クライアントアプリケーションにポストすることができる。
【0025】
また、別の発明は、異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有するクライアントと、クライアントにネットワークを介して接続され、クライアントアプリケーションにそれぞれ対応してサービスを提供するように前記異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有するサーバと、を有する情報処理方法において、各クライアントアプリケーション間の通信を中継して各クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携ステップを有することを特徴とする。
【発明の効果】
【0026】
本発明の情報処理システム及び情報処理方法によれば、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる。
【図面の簡単な説明】
【0027】
【図1】本実施形態に係る情報処理システムの構成を示す図である。
【図2】第1クライアントアプリケーションから第2クライアントアプリケーションへの連携動作の一例を説明するフローチャートである。
【図3】第2クライアントアプリケーションから第1クライアントアプリケーションへの連携動作の一例を説明するフローチャートである。
【発明を実施するための形態】
【0028】
以下、本発明に係る情報処理システムの実施形態について、図を用いて説明する。一例として、一つのクライアントを挙げ、このクライアントと、このクライアントにサービスを提供するサーバとを有する情報処理システムについて説明する。なお、本発明は、この態様に限定されず、複数のクライアントと、これらのクライアントに接続されるサーバとを有する情報処理システムにも適用することができる。
【0029】
図1は、本実施形態に係る情報処理システム10の構成を示す図である。情報処理システム10は、サーバ12とクライアント14を有し、サーバ12とクライアント14はネットワーク16を介して接続される。
【0030】
サーバ12とクライアント14は、ハードウェア資源とソフトウェアとの協働により実現される。具体的には、サーバ12とクライアント14の機能は、記録媒体に記録された情報処理プログラム(後述の各アプリケーションを含む)がメインメモリに読み出されてCPU(Central Processing Unit)により実行されることによって実現される。
【0031】
サーバ12は、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有する。このサーバアプリケーションは、第1サーバアプリケーション18と第2サーバアプリケーション20を含む。第1及び第2サーバアプリケーション18,20は、サーバ12上で実行される。
【0032】
なお、本実施形態においては、サーバ12が1個である場合について説明したが、本発明はこれに限定されず、2個または、それ以上であってもよい。
【0033】
また、本実施形態では、サーバアプリケーションが2個である場合について説明したが、本発明はこの数に限定されず、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションが3個、またはそれ以上であってもよい。
【0034】
第1サーバアプリケーション18のプログラミング言語は、Visual Basic(登録商標)であり、第2サーバアプリケーション20のプログラミング言語は、Java(登録商標)である。
【0035】
なお、本実施形態においては、第1サーバアプリケーション18のプログラミング言語は、Visual Basic(登録商標)である場合について説明したが、この構成に限定されず、第1サーバアプリケーション18が第2サーバアプリケーション20に対して異なるプログラミング言語で作成されているのであれば、第1サーバアプリケーション18がActiveX(登録商標)により作成されてもよい。
【0036】
また、サーバ12は、図示しないが、ネットワーク16に接続してクライアント14と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、サーバ12は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有することもできる。
【0037】
クライアント14は、異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する。このクライアントアプリケーションは、上述のサーバアプリケーションに対応し、各サーバアプリケーションからサービスの提供を受ける。すなわち、クライアントアプリケーションは、第1サーバアプリケーション18に対応する第1クライアントアプリケーション22と、第2サーバアプリケーション20に対応する第2クライアントアプリケーション24とを含み、第1及び第2クライアントアプリケーション22,24が、それぞれ、第1及び第2サーバアプリケーション18,20からサービスの提供を受ける。第1及び第2クライアントアプリケーション22,24は、クライアント14上で実行される。
【0038】
なお、本実施形態においては、クライアントアプリケーションが2個である場合について説明したが、本発明はこの数に限定されず、上述したサーバアプリケーションと同様、クライアントアプリケーションが3個、またはそれ以上であってもよい。
【0039】
第1クライアントアプリケーション22は、第1サーバアプリケーション18に対応するVisual Basic(登録商標)により作成され、第2サーバアプリケーション20は、第2サーバアプリケーション20に対応するJava(登録商標)により作成される。
【0040】
なお、本実施形態においては、第1クライアントアプリケーション22のプログラミング言語は、Visual Basic(登録商標)である場合について説明したが、この構成に限定されず、上述した第1サーバアプリケーション18と同様、第1クライアントアプリケーション22がActiveX(登録商標)により作成されてもよい。
【0041】
また、クライアント14は、第1クライアントアプリケーション22に接続されるメニューアプリケーション26を有する。メニューアプリケーション26は、第1クライアントアプリケーション22が起動している否かを監視するとともに、第1クライアントアプリケーション22を起動させるため、サーバ12の第1サーバアプリケーション18に対して起動を要求する機能を有する。
【0042】
また、クライアント14は、図示しないが、ネットワーク16に接続してサーバ12と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、クライアント14は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有する。後述するクライアント14の画面は、この表示部に表示される。
【0043】
ネットワーク16は、有線方式あるいは無線方式で構成される。また、両者を混用することも可能である。ネットワーク16は、公衆の便に供される共用通信ネットワークであっても、独自の専用の通信ネットワークであってもよい。また、両者を混用することも可能である。
【0044】
本実施形態に係る情報処理システム10の特徴的な事項は、クライアント14が、各クライアントアプリケーション22,24間の通信を中継して、これらのアプリケーション22,24を連携させ、データの送受信と画面の遷移を行なう連携部28を有することである。
【0045】
このように、新たな機能である連携部28がクライアント14内部にのみ設けられるので、情報処理システム10の構造が複雑化してしまうことを防止することができる。そして、連携部28の動作により、ユーザの簡易な操作で、異なるプログラミング言語によりそれぞれ作成されたアプリケーション22,24間を、確実にかつ短時間に連携させることができる。以下、連携部28の具体的な構成について説明する。
【0046】
連携部28は、第1クライアントアプリケーション22に接続される一方の連携部である第1連携プログラム30と、第2クライアントアプリケーション24に接続される他方の連携部である第2連携プログラム32とを有する。第1連携プログラム30と第2連携プログラム32とは、通信可能に接続される。
【0047】
第1連携プログラム30は、メニューアプリケーション26に組み込まれている。このため、第1連携プログラム30は、メニューアプリケーション26の機能を利用して第1クライアントアプリケーション22に接続されている。なお、本実施形態においては、第1連携プログラム30がメニューアプリケーション26に組み込まれる場合について説明したが、本発明はこの構成に限定されず、それぞれが通信可能に別個に設けられてもよい。
【0048】
第1連携プログラム30は、第2連携プログラム32に対して通信可能に接続される第1ソケット部34を有する。第1ソケット部34は、ユーザからの連携要求に基づいて通信ソケットを生成する。そして、第1ソケット部34は、その通信ソケットを、第2連携プログラム32に送信する。一方、第1ソケット部34は、第2連携プログラム32から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばCSVフォーマットのデータに変換処理する。
【0049】
ここで、ユーザからの連携要求とは、第1及び第2クライアントアプリケーション22,24間を連携させたいというユーザの要求であり、CSVフォーマットで作成される。ユーザが、例えば、第1クライアントアプリケーション22上で操作中、その画面上のデータを第2クライアントアプリケーション24の画面上にも反映させたいとき、ユーザは両クライアントアプリケーション22,24間の連携を要求する。具体的には、ユーザは、両クライアントアプリケーション22,24を連携させる旨を、クライアント14の入力部を用いて要求する。このため、連携要求に基づく通信ソケットには、クライアント14内における画面の遷移を要求する遷移情報と、上述の反映させたいデータとが含まれる。なお、このデータは、両クライアントアプリケーション22,24の連携が達成されると、それらのアプリケーション22,24で使用される共有のデータとなるので、このデータを以降、単に共有データと記す。
【0050】
本実施形態の第1及び第2連携プログラム30,32間の通信においては、通信プロトコルとしてUDPが使用される。すなわち、第1ソケット部34は、UDPに従って通信を行なう。UDPによる通信速度の高速化により、連携動作の時間を短縮することができるからである。しかし、UDPには、従来技術で述べたように、確実性が保証されていないという欠点がある。
【0051】
そこで、この欠点を解消すべく、本実施形態の第1連携プログラム30は、ACK機能を含む第1応答部36を有する。第1応答部36は、第1ソケット部34が連携要求に基づく通信ソケットを受信した場合、第2連携プログラム32に対してその通信ソケットを正常に受信した旨を、第1ソケット部34を通じて応答する。
【0052】
また、第1応答部36は、第1ソケット部34が連携要求に基づく通信ソケットを送信した場合、第2連携プログラム32からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第1応答部36の動作により、第1及び第2連携プログラム30,32間の通信において、UDPが使用されても、その通信の確実性を保証することができる。
【0053】
また、第1連携プログラム30は、第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動を要求する第1起動要求部38を有する。第1起動要求部38は、第1ソケット部34が連携要求に基づく通信ソケット、具体的には遷移情報を受信した場合、メニューアプリケーション26を介して、サーバ12の第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動を要求する。
【0054】
さらに、第1連携プログラム30は、第1ソケット部34が受信した通信ソケットに含まれる共有データを記憶する第1記憶部40を有する。第1記憶部40は、第1起動要求部38により第1サーバアプリケーション18が起動するまで、共有データを一時的に記憶する。
【0055】
なお、本実施形態においては、上述のように、第1記憶部40が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第1クライアントアプリケーション22が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント14のどのメモリであってもよく、例えば第1クライアントアプリケーション22のCookieであってもよい。
【0056】
一方、第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が設けられる。
【0057】
第2連携プログラム32は、第1連携プログラム30の第1ソケット部34に対して通信可能に接続される第2ソケット部48を有する。第2ソケット部48は、連携要求に基づいて通信ソケットを生成する。そして、第2ソケット部48は、その通信ソケットを、第1連携プログラム30に送信する。一方、第2ソケット部48は、第1連携プログラム30から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばJava(登録商標)オブジェクトに変換処理する。
【0058】
また、第2連携プログラム32は、ACK機能を含む第2応答部50を有する。第2応答部50は、第2ソケット部48が連携要求に基づく通信ソケットを受信した場合、第1連携プログラム30に対してその通信ソケットを正常に受信した旨を、第2ソケット部48を通じて応答する。
【0059】
また、第2応答部50は、第2ソケット部48が連携要求に基づく通信ソケットを送信した場合、第1連携プログラム30からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第2応答部50の動作により、第1及び第2連携プログラム30,32間の通信において、UDPが使用されても、その通信の確実性を保証することができる。
【0060】
また、第2連携プログラム32は、第2サーバアプリケーション20に対して、第2クライアントアプリケーション24のダウンロードを要求する第2起動要求部54を有する。第2起動要求部54は、第2ソケット部48が連携要求に基づく通信ソケット、具体的には遷移情報を受信し、サーバ12の第2サーバアプリケーション20に対して、第2クライアントアプリケーション24のダウンロードを要求する。
【0061】
さらに、第2連携プログラム32は、第2ソケット部48が受信した通信ソケットに含まれる共有データを記憶する第2記憶部56を有する。第2記憶部56は、第2起動要求部54の要求により第2サーバアプリケーション20からダウンロードされた第2クライアントアプリケーション24が起動するまで、共有データを一時的に記憶して、起動が完了した第2クライアントアプリケーション24に共有データをポストする。
【0062】
なお、本実施形態においては、上述のように、第2記憶部56が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第2クライアントアプリケーション24が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント14のどのメモリであってもよい。
【0063】
次に、本実施形態の情報処理システム10における連携動作について、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作と、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作とに分けて、図を用いてそれぞれ説明する。
【0064】
まず、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作について、図2を用いて説明する。図2は、第1クライアントアプリケーション22から第2クライアントアプリケーション24への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第1クライアントアプリケーション22上で操作している時点をスタートとする。
【0065】
まず、ステップS101において、ユーザが、第1クライアントアプリケーション22上で操作中、その画面上のデータを第2クライアントアプリケーション24の画面上に反映させるために、第2クライアントアプリケーション24への連携を操作する。具体的には、ユーザは、第1クライアントアプリケーション22の画面上に、クライアント14の入力部を用いて連携要求を入力する。入力された連携要求の情報は、第1連携プログラム30に送信される。
【0066】
ステップS102において、連携要求の情報が第1連携プログラム30に受信されると、ステップS103で、第1ソケット部34により、その連携要求に基づく通信ソケットが生成されて第2ソケット部48に送信される。この動作にあわせて、フローチャートに示されないが、第1応答部36により、待機時間がカウントされる。
【0067】
そして、ステップS104では、第2ソケット部48により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップS105に進み、第2応答部50により、正常に受信した旨、すなわちACK応答が、第2ソケット部48を通じて送信される。そして、フローチャートには示されないが、第1連携プログラム30において、所定時間内にACK応答を受信した場合、処理が正常であると判断される。一方、第1連携プログラム30において、所定時間内にACK応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
【0068】
一方、ステップS104において、第2ソケット部48により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばACK応答に基づく通信ソケットの受信が検出された場合、この連係動作は終了する。
【0069】
そして、ステップS106において、通信ソケットに含まれる共有データが第2記憶部56に一時的に記憶され、ステップS107で、第2起動要求部54により、第2サーバアプリケーション20に対して第2クライアントアプリケーション24のダウンロードが要求される。
【0070】
そして、ステップS108では、第2起動要求部54からの起動要求に基づいて、第2サーバアプリケーション20によって第2クライアントアプリケーション24のダウンロードが行なわれる。
【0071】
ダウンロードが完了すると、ステップS109において、第2クライアントアプリケーション24が起動する。
【0072】
そして、ステップS110において、起動した第2クライアントアプリケーション24により、起動完了の通知が第2連携プログラム32へ送信され、ステップS111に進む。ステップS111においては、第2連携プログラム32により、通信ソケットに含まれている共有データが第2クライアントアプリケーション24にポストされる。
【0073】
そして、ステップ112において、第2クライアントアプリケーション24にポストされた共有データが、第2クライアントアプリケーション24により、クライアント14内における画面に表示される。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
【0074】
次に、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作について、図3を用いて説明する。図3は、第2クライアントアプリケーション24から第1クライアントアプリケーション22への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第2クライアントアプリケーション24上で操作している時点をスタートとする。
【0075】
まず、ステップS201において、ユーザが、第2クライアントアプリケーション24上で操作中、その画面上のデータを第1クライアントアプリケーション22の画面上に反映させるために、第1クライアントアプリケーション22への連携を操作する。具体的には、ユーザは、第2クライアントアプリケーション24の画面上に、クライアント14の入力部を用いて連携要求を入力する。入力された連携要求の情報は、JMX42を介して、第2連携プログラム32に送信される。
【0076】
ステップS202において、連携要求の情報が第2連携プログラム32に受信されると、ステップS203で、第2ソケット部48により、その連携要求に基づく通信ソケットが生成されて第1ソケット部34に送信される。この動作にあわせて、フローチャートに示されないが、第2応答部50により、待機時間がカウントされる。
【0077】
そして、ステップS204では、第1ソケット部34により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップS205に進み、第1応答部36により、正常に受信した旨、すなわちACK応答が、第1ソケット部34を通じて送信される。そして、フローチャートには示されないが、第2連携プログラム32において、所定時間内にACK応答を受信した場合、処理が正常であると判断される。一方、第2連携プログラム32において、所定時間内にACK応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
【0078】
一方、ステップS204において、第1ソケット部34により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばACK応答に基づく通信ソケットの受信が検出された場合、この連携動作は終了する。
【0079】
そして、ステップS206において、通信ソケットに含まれる共有データが第1記憶部40に一時的に記憶され、ステップS207で、第1起動要求部38により、第1サーバアプリケーション18に対して第1クライアントアプリケーション22の起動が要求される。
【0080】
そして、ステップS208では、第1起動要求部38からの起動要求に基づいて、第1サーバアプリケーション18が起動要求を受け付ける。そうすると、ステップS209において、この第1サーバアプリケーション18によって起動させられた第1クライアントアプリケーション22により、第1記憶部40に記憶された共有データが、クライアント14内における画面に表示させる。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
【0081】
本実施形態の情報処理システム10によれば、従来のシステムに比べ、ユーザの操作を大幅に省くことができる。また、本システム10によれば、サーバ12内に新たな構成を設けることなく、クライアント14内にのみ連携部28を設けるという簡易な構造により、異なるプログラミング言語によりそれぞれ作成されたアプリケーション22,24間を、確実に連携させることができる。また、その連携の通信にUDPを使用することにより、連携動作の時間の短縮を図ることができる。また、UDPによる通信速度の高速化とともに、連携部28にACK機能を設けることにより、通信の確実性を保証することができる。
【符号の説明】
【0082】
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記憶部。

【特許請求の範囲】
【請求項1】
異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有するクライアントと、
クライアントにネットワークを介して接続され、クライアントアプリケーションにそれぞれ対応してサービスを提供するように前記異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有するサーバと、
を有する情報処理システムにおいて、
クライアントは、各クライアントアプリケーション間の通信を中継して各クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有する、
ことを特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムにおいて、
サーバアプリケーションは、第1サーバアプリケーションと第2サーバアプリケーションを含み、
クライアントアプリケーションは、第1サーバアプリケーションに対応する第1クライアントアプリケーションと、第2サーバアプリケーションに対応する第2クライアントアプリケーションとを含み、
連携部は、
第1クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第1ソケット部を有する第1連携プログラムと、
第2クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第2ソケット部を有する第2連携プログラムと、
を有し、
第1ソケット部と第2ソケット部は、互いに通信可能に接続され、UDPを使用して通信する、
ことを特徴とする情報処理システム。
【請求項3】
請求項2に記載の情報処理システムにおいて、
第1連携プログラムは、第1ソケット部が連携要求に基づく通信ソケットを受信した場合、第2連携プログラムに対してその通信ソケットを正常に受信した旨を、第1ソケット部を通じて応答する第1応答部を有し、
第2連携プログラムは、第2ソケット部が連携要求に基づく通信ソケットを受信した場合、第1連携プログラムに対してその通信ソケットを正常に受信した旨を、第2ソケット部を通じて応答する第2応答部を有する、
ことを特徴とする情報処理システム。
【請求項4】
請求項2または3に記載の情報処理システムにおいて、
連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、
第1連携プログラムは、遷移情報を受信した場合、第1サーバアプリケーションに対して、第1クライアントアプリケーションの起動を要求する第1起動要求部を有し、
第2連携プログラムは、遷移情報を受信した場合、第2サーバアプリケーションに対して、第2クライアントアプリケーションのダウンロードを要求する第2起動要求部を有する、
ことを特徴とする情報処理システム。
【請求項5】
請求項4に記載の情報処理システムにおいて、
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第1起動要求部の起動要求に基づいて、第1サーバアプリケーションにより起動させられた第1クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。
【請求項6】
請求項5に記載の情報処理システムにおいて、
第1クライアントアプリケーションと第1サーバアプリケーションとのプログラミング言語は、Visual Basic(登録商標)である、
ことを特徴とする情報処理システム。
【請求項7】
請求項6に記載の情報処理システムにおいて、
第1連携プログラムは、第1起動要求部の起動要求に基づいて第1クライアントアプリケーションが起動するまで、共有データを一時的に記憶する、
ことを特徴とする情報処理システム。
【請求項8】
請求項4に記載の情報処理システムにおいて、
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動すると、第2クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。
【請求項9】
請求項8に記載の情報処理システムにおいて、
第2クライアントアプリケーションと第2サーバアプリケーションとのプログラミング言語は、Java(登録商標)であり、
第2クライアントアプリケーションと第2連携プログラムが、JMXをそれぞれ有し、
これらJMXを使って、第2連携プログラムと第2クライアントアプリケーションとの異なるJava(登録商標)VM間が通信可能に接続される、
ことを特徴とする情報処理システム。
【請求項10】
請求項9に記載の情報処理システムにおいて、
第2連携プログラムは、第2起動要求部の要求に基づいて、第2サーバアプリケーションからダウンロードされた第2クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第2クライアントアプリケーションの起動が完了した場合、その共有データを第2クライアントアプリケーションにポストする、
ことを特徴とする情報処理システム。
【請求項11】
異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有するクライアントと、
クライアントにネットワークを介して接続され、クライアントアプリケーションにそれぞれ対応してサービスを提供するように前記異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有するサーバと、
を有する情報処理方法において、
各クライアントアプリケーション間の通信を中継して各クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携ステップを有する、
ことを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−221864(P2011−221864A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−91640(P2010−91640)
【出願日】平成22年4月12日(2010.4.12)
【出願人】(000236056)三菱電機ビルテクノサービス株式会社 (1,792)
【Fターム(参考)】