(57)【特許請求の範囲】
【請求項１】
Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）又はＡｃｔｉｖｅＸ（登録商標）で作成された第１クライアントアプリケーションと、Ｊａｖａ（登録商標）で作成された第２クライアントアプリケーションとを有するクライアントと、
クライアントにネットワークを介して接続され、第１クライアントアプリケーションに対応してサービスを提供するようにＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）又はＡｃｔｉｖｅＸ（登録商標）で作成された第１サーバアプリケーションと、第２クライアントアプリケーションに対応してサービスを提供するようにＪａｖａ（登録商標）で作成された第２サーバアプリケーションとを有するサーバと、
を備え、
クライアントは、第１及び第２クライアントアプリケーション間の通信を中継して第１及び第２クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有し、
連携部は、
第１クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第１ソケット部を有する第１連携プログラムと、
第２クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第２ソケット部を有する第２連携プログラムと、
を有し、
第１ソケット部と第２ソケット部は、互いにＵＤＰを使用して通信し、
連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、
第１連携プログラムは、遷移情報を受信した場合、第１サーバアプリケーションに対して、第１クライアントアプリケーションの起動を要求する第１起動要求部を有し、
第２連携プログラムは、遷移情報を受信した場合、第２サーバアプリケーションに対して、第２クライアントアプリケーションのダウンロードを要求する第２起動要求部を有する、
ことを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
第１連携プログラムは、第１ソケット部が連携要求に基づく通信ソケットを受信した場合、第２連携プログラムに対してその通信ソケットを正常に受信した旨を、第１ソケット部を通じて応答する第１応答部を有し、
第２連携プログラムは、第２ソケット部が連携要求に基づく通信ソケットを受信した場合、第１連携プログラムに対してその通信ソケットを正常に受信した旨を、第２ソケット部を通じて応答する第２応答部を有する、
ことを特徴とする情報処理システム。
【請求項３】
請求項１または２に記載の情報処理システムにおいて、
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第１起動要求部の起動要求に基づいて、第１サーバアプリケーションにより起動させられた第１クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。
【請求項４】
請求項１から３のいずれか１項に記載の情報処理システムにおいて、
第１連携プログラムは、第１起動要求部の起動要求に基づいて第１クライアントアプリケーションが起動するまで、共有データを一時的に記憶する、
ことを特徴とする情報処理システム。
【請求項５】
請求項１から４のいずれか１項に記載の情報処理システムにおいて、
連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、
第２起動要求部の要求に基づいて、第２サーバアプリケーションからダウンロードされた第２クライアントアプリケーションがクライアント上で起動すると、第２クライアントアプリケーションがクライアント内における画面に共有データを表示させる、
ことを特徴とする情報処理システム。
【請求項６】
請求項５に記載の情報処理システムにおいて、
第２クライアントアプリケーションと第２連携プログラムが、ＪＭＸをそれぞれ有し、
これらＪＭＸを使って、第２連携プログラムと第２クライアントアプリケーションとの異なるＪａｖａ（登録商標）ＶＭ間が通信可能に接続される、
ことを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムにおいて、
第２連携プログラムは、第２起動要求部の要求に基づいて、第２サーバアプリケーションからダウンロードされた第２クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第２クライアントアプリケーションの起動が完了した場合、その共有データを第２クライアントアプリケーションにポストする、
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバとクライアントを用いて情報を処理する情報処理システム及び情報処理方法に関し、特に異なるプログラム言語でそれぞれ作成されたアプリケーションを有する情報処理システム及び情報処理方法の改良に関する。
【背景技術】
【０００２】
サーバアプリケーションを有するサーバと、このサーバにネットワークを介して接続され、サーバアプリケーションに対応するクライアントアプリケーションを有するクライアントとを有する情報処理システムが知られている。この情報処理システムにおいては、サーバ上で動作するサーバアプリケーションから、クライアント上で動作するクライアントアプリケーションへサービスが提供されて、情報の処理が実行される。
【０００３】
下記特許文献１には、サーバとクライアントとの間のデータ通信方式であって、取り扱い情報に基づいてＴＣＰ（Transmission Control Protocol）パケットとＵＤＰ（User Datagram Protocol）パケットを切り替えるデータ通信方式が記載されている。
【０００４】
ＴＣＰパケットは、送信パケットに対して、パケットを正常に受信したことを応答するＡＣＫパケットを返信するデータストリーム型の通信方式であり、この方式では通信の確実性が保証される代わりに通信速度が低速である。
【０００５】
一方、ＵＤＰパケットは、送信パケットに対して、パケットを正常に受信したことを応答するＡＣＫパケットを返信しないデータグラム型の通信方式であり、この方式では通信速度が高速である代わりに通信の確実性が保証されない。
【０００６】
この特許文献１のデータ通信方式は、上述のような２種の通信方式を、サーバとクライアント間で取り扱う情報に基づいて臨機応変に切り替えることで、利用者の感覚的な不満を緩和している。
【０００７】
下記特許文献２には、ネットワークを介して接続された複数の装置間を、通信ソケットを移動させて通信する技術が記載されている。この引用文献２の装置は、この装置内で動作するアプリケーションと、このアプリケーションとネットワークとの間にインターフェースを提供するソケット部とを有する。そして、各装置のソケット部間がネットワークを介して通信可能な状態で接続され、各装置のアプリケーション同士が、通信関連構成要素（例えばポートやソケット）を利用して通信を行なう。
【０００８】
この引用文献２の通信技術においても、上述した引用文献１と同様、装置間の通信において、通信プロトコルとしてＴＣＰまたはＵＤＰを使用することが示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−３４８２６２号公報
【特許文献２】特開２００４−３０５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来のような情報処理システムにおいては、サーバとクライアントが、共に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを有する場合がある。すなわち、サーバが、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有し、クライアントが、その異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する場合がある。
【００１１】
例えば、１つのベンダによるアプリケーションのみを有する既存の情報処理システムであっても、１社の製品のみを使用することによるリスクを分散する観点、または標準仕様の変更の観点から、そのシステム内に、積極的に、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させる場合がある。このような場合、一般的に、異なるプログラミング言語でそれぞれ作成されたアプリケーション間の連携（例えば画面の遷移やデータの受渡し）は困難であると考えられている。
【００１２】
このため、ユーザは、それらのクライアントアプリケーション間の連携を図る場合、多くの操作を実行する必要がある。具体的には、ユーザは、連携元のクライアントアプリケーションにおいてデータをファイルに書き込み、連携先のクライアントアプリケーションを起動させる。そして、ユーザは、起動した連携先のクライアントアプリケーションにおいて、そのファイルを開いてデータを読み込むという操作を実行する必要がある。このような操作では、ユーザの手間とともに時間が掛かるので、作業効率が低下してしまうという問題がある。
【００１３】
情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションを並存させずに、１つのプログラミング言語によるアプリケーションに統一させることも考えられる。しかしながら、既存の情報処理システムの規模が大きい場合、アプリケーションの一括導入は、トラブルの増大を招きリスクが大きすぎるという問題がある。よって、情報処理システム内において、異なるプログラミング言語でそれぞれ作成されたアプリケーションが並存し、かつ、上述したようなユーザの操作により、それらのクライアントアプリケーション間の連携を図らなければならない事態が多く生じてしまう。
【００１４】
本発明の目的は、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる情報処理システム及び情報処理方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）又はＡｃｔｉｖｅＸ（登録商標）で作成された第１クライアントアプリケーションと、Ｊａｖａ（登録商標）で作成された第２クライアントアプリケーションとを有するクライアントと、クライアントにネットワークを介して接続され、第１クライアントアプリケーションに対応してサービスを提供するようにＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）又はＡｃｔｉｖｅＸ（登録商標）で作成された第１サーバアプリケーションと、第２クライアントアプリケーションに対応してサービスを提供するようにＪａｖａ（登録商標）で作成された第２サーバアプリケーションとを有するサーバと、を備え、クライアントは、第１及び第２クライアントアプリケーション間の通信を中継して第１及び第２クライアントアプリケーションを連携させ、データの送受信と画面の遷移を行なう連携部を有し、連携部は、第１クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第１ソケット部を有する第１連携プログラムと、第２クライアントアプリケーションに接続され、連携要求に基づいて通信ソケットを生成する第２ソケット部を有する第２連携プログラムと、を有し、第１ソケット部と第２ソケット部は、互いにＵＤＰを使用して通信し、
連携要求に基づく通信ソケットには、クライアント内における画面の遷移を要求する遷移情報が含まれ、第１連携プログラムは、遷移情報を受信した場合、第１サーバアプリケーションに対して、第１クライアントアプリケーションの起動を要求する第１起動要求部を有し、第２連携プログラムは、遷移情報を受信した場合、第２サーバアプリケーションに対して、第２クライアントアプリケーションのダウンロードを要求する第２起動要求部を有することを特徴とする。
【００１７】
また、第１連携プログラムは、第１ソケット部が連携要求に基づく通信ソケットを受信した場合、第２連携プログラムに対してその通信ソケットを正常に受信した旨を、第１ソケット部を通じて応答する第１応答部を有し、第２連携プログラムは、第２ソケット部が連携要求に基づく通信ソケットを受信した場合、第１連携プログラムに対してその通信ソケットを正常に受信した旨を、第２ソケット部を通じて応答する第２応答部を有することができる。
【００１９】
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第１起動要求部の起動要求に基づいて、第１サーバアプリケーションにより起動させられた第１クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。
【００２１】
また、第１連携プログラムは、第１起動要求部の起動要求に基づいて第１クライアントアプリケーションが起動するまで、共有データを一時的に記憶することができる。
【００２２】
また、連携要求に基づく通信ソケットには、さらに、各アプリケーションで使用される共有データが含まれ、第２起動要求部の要求に基づいて、第２サーバアプリケーションからダウンロードされた第２クライアントアプリケーションがクライアント上で起動すると、第２クライアントアプリケーションがクライアント内における画面に共有データを表示させることができる。
【００２３】
また、第２クライアントアプリケーションと第２連携プログラムが、ＪＭＸをそれぞれ有し、これらＪＭＸを使って、第２連携プログラムと第２クライアントアプリケーションとの異なるＪａｖａ（登録商標）ＶＭ間が通信可能に接続されることができる。
【００２４】
また、第２連携プログラムは、第２起動要求部の要求に基づいて、第２サーバアプリケーションからダウンロードされた第２クライアントアプリケーションがクライアント上で起動するまで、共有データを一時的に記憶し、第２クライアントアプリケーションの起動が完了した場合、その共有データを第２クライアントアプリケーションにポストすることができる。
【発明の効果】
【００２６】
本発明の情報処理システム及び情報処理方法によれば、サーバとクライアントを用いて情報を処理する情報処理システムにおいて、簡易な操作により、異なるプログラミング言語によりそれぞれ作成されたクライアントアプリケーション間を、確実にかつ短時間に連携させることができる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係る情報処理システムの構成を示す図である。
【図２】第１クライアントアプリケーションから第２クライアントアプリケーションへの連携動作の一例を説明するフローチャートである。
【図３】第２クライアントアプリケーションから第１クライアントアプリケーションへの連携動作の一例を説明するフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明に係る情報処理システムの実施形態について、図を用いて説明する。一例として、一つのクライアントを挙げ、このクライアントと、このクライアントにサービスを提供するサーバとを有する情報処理システムについて説明する。なお、本発明は、この態様に限定されず、複数のクライアントと、これらのクライアントに接続されるサーバとを有する情報処理システムにも適用することができる。
【００２９】
図１は、本実施形態に係る情報処理システム１０の構成を示す図である。情報処理システム１０は、サーバ１２とクライアント１４を有し、サーバ１２とクライアント１４はネットワーク１６を介して接続される。
【００３０】
サーバ１２とクライアント１４は、ハードウェア資源とソフトウェアとの協働により実現される。具体的には、サーバ１２とクライアント１４の機能は、記録媒体に記録された情報処理プログラム（後述の各アプリケーションを含む）がメインメモリに読み出されてＣＰＵ（Central Processing Unit）により実行されることによって実現される。
【００３１】
サーバ１２は、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションを有する。このサーバアプリケーションは、第１サーバアプリケーション１８と第２サーバアプリケーション２０を含む。第１及び第２サーバアプリケーション１８，２０は、サーバ１２上で実行される。
【００３２】
なお、本実施形態においては、サーバ１２が１個である場合について説明したが、本発明はこれに限定されず、２個または、それ以上であってもよい。
【００３３】
また、本実施形態では、サーバアプリケーションが２個である場合について説明したが、本発明はこの数に限定されず、異なるプログラミング言語でそれぞれ作成されたサーバアプリケーションが３個、またはそれ以上であってもよい。
【００３４】
第１サーバアプリケーション１８のプログラミング言語は、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）であり、第２サーバアプリケーション２０のプログラミング言語は、Ｊａｖａ（登録商標）である。
【００３５】
なお、本実施形態においては、第１サーバアプリケーション１８のプログラミング言語は、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）である場合について説明したが、この構成に限定されず、第１サーバアプリケーション１８が第２サーバアプリケーション２０に対して異なるプログラミング言語で作成されているのであれば、第１サーバアプリケーション１８がＡｃｔｉｖｅＸ（登録商標）により作成されてもよい。
【００３６】
また、サーバ１２は、図示しないが、ネットワーク１６に接続してクライアント１４と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、サーバ１２は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有することもできる。
【００３７】
クライアント１４は、異なるプログラミング言語でそれぞれ作成されたクライアントアプリケーションを有する。このクライアントアプリケーションは、上述のサーバアプリケーションに対応し、各サーバアプリケーションからサービスの提供を受ける。すなわち、クライアントアプリケーションは、第１サーバアプリケーション１８に対応する第１クライアントアプリケーション２２と、第２サーバアプリケーション２０に対応する第２クライアントアプリケーション２４とを含み、第１及び第２クライアントアプリケーション２２，２４が、それぞれ、第１及び第２サーバアプリケーション１８，２０からサービスの提供を受ける。第１及び第２クライアントアプリケーション２２，２４は、クライアント１４上で実行される。
【００３８】
なお、本実施形態においては、クライアントアプリケーションが２個である場合について説明したが、本発明はこの数に限定されず、上述したサーバアプリケーションと同様、クライアントアプリケーションが３個、またはそれ以上であってもよい。
【００３９】
第１クライアントアプリケーション２２は、第１サーバアプリケーション１８に対応するＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）により作成され、第２サーバアプリケーション２０は、第２サーバアプリケーション２０に対応するＪａｖａ（登録商標）により作成される。
【００４０】
なお、本実施形態においては、第１クライアントアプリケーション２２のプログラミング言語は、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）である場合について説明したが、この構成に限定されず、上述した第１サーバアプリケーション１８と同様、第１クライアントアプリケーション２２がＡｃｔｉｖｅＸ（登録商標）により作成されてもよい。
【００４１】
また、クライアント１４は、第１クライアントアプリケーション２２に接続されるメニューアプリケーション２６を有する。メニューアプリケーション２６は、第１クライアントアプリケーション２２が起動している否かを監視するとともに、第１クライアントアプリケーション２２を起動させるため、サーバ１２の第１サーバアプリケーション１８に対して起動を要求する機能を有する。
【００４２】
また、クライアント１４は、図示しないが、ネットワーク１６に接続してサーバ１２と情報の送受信を行う送受信部と、各種データを記憶する記憶部とを有する。さらに、クライアント１４は、図示しないが、キーボードやマウス等から構成する入力部と、ディスプレイなどで構成する表示部とを有する。後述するクライアント１４の画面は、この表示部に表示される。
【００４３】
ネットワーク１６は、有線方式あるいは無線方式で構成される。また、両者を混用することも可能である。ネットワーク１６は、公衆の便に供される共用通信ネットワークであっても、独自の専用の通信ネットワークであってもよい。また、両者を混用することも可能である。
【００４４】
本実施形態に係る情報処理システム１０の特徴的な事項は、クライアント１４が、各クライアントアプリケーション２２，２４間の通信を中継して、これらのアプリケーション２２，２４を連携させ、データの送受信と画面の遷移を行なう連携部２８を有することである。
【００４５】
このように、新たな機能である連携部２８がクライアント１４内部にのみ設けられるので、情報処理システム１０の構造が複雑化してしまうことを防止することができる。そして、連携部２８の動作により、ユーザの簡易な操作で、異なるプログラミング言語によりそれぞれ作成されたアプリケーション２２，２４間を、確実にかつ短時間に連携させることができる。以下、連携部２８の具体的な構成について説明する。
【００４６】
連携部２８は、第１クライアントアプリケーション２２に接続される一方の連携部である第１連携プログラム３０と、第２クライアントアプリケーション２４に接続される他方の連携部である第２連携プログラム３２とを有する。第１連携プログラム３０と第２連携プログラム３２とは、通信可能に接続される。
【００４７】
第１連携プログラム３０は、メニューアプリケーション２６に組み込まれている。このため、第１連携プログラム３０は、メニューアプリケーション２６の機能を利用して第１クライアントアプリケーション２２に接続されている。なお、本実施形態においては、第１連携プログラム３０がメニューアプリケーション２６に組み込まれる場合について説明したが、本発明はこの構成に限定されず、それぞれが通信可能に別個に設けられてもよい。
【００４８】
第１連携プログラム３０は、第２連携プログラム３２に対して通信可能に接続される第１ソケット部３４を有する。第１ソケット部３４は、ユーザからの連携要求に基づいて通信ソケットを生成する。そして、第１ソケット部３４は、その通信ソケットを、第２連携プログラム３２に送信する。一方、第１ソケット部３４は、第２連携プログラム３２から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばＣＳＶフォーマットのデータに変換処理する。
【００４９】
ここで、ユーザからの連携要求とは、第１及び第２クライアントアプリケーション２２，２４間を連携させたいというユーザの要求であり、ＣＳＶフォーマットで作成される。ユーザが、例えば、第１クライアントアプリケーション２２上で操作中、その画面上のデータを第２クライアントアプリケーション２４の画面上にも反映させたいとき、ユーザは両クライアントアプリケーション２２，２４間の連携を要求する。具体的には、ユーザは、両クライアントアプリケーション２２，２４を連携させる旨を、クライアント１４の入力部を用いて要求する。このため、連携要求に基づく通信ソケットには、クライアント１４内における画面の遷移を要求する遷移情報と、上述の反映させたいデータとが含まれる。なお、このデータは、両クライアントアプリケーション２２，２４の連携が達成されると、それらのアプリケーション２２，２４で使用される共有のデータとなるので、このデータを以降、単に共有データと記す。
【００５０】
本実施形態の第１及び第２連携プログラム３０，３２間の通信においては、通信プロトコルとしてＵＤＰが使用される。すなわち、第１ソケット部３４は、ＵＤＰに従って通信を行なう。ＵＤＰによる通信速度の高速化により、連携動作の時間を短縮することができるからである。しかし、ＵＤＰには、従来技術で述べたように、確実性が保証されていないという欠点がある。
【００５１】
そこで、この欠点を解消すべく、本実施形態の第１連携プログラム３０は、ＡＣＫ機能を含む第１応答部３６を有する。第１応答部３６は、第１ソケット部３４が連携要求に基づく通信ソケットを受信した場合、第２連携プログラム３２に対してその通信ソケットを正常に受信した旨を、第１ソケット部３４を通じて応答する。
【００５２】
また、第１応答部３６は、第１ソケット部３４が連携要求に基づく通信ソケットを送信した場合、第２連携プログラム３２からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第１応答部３６の動作により、第１及び第２連携プログラム３０，３２間の通信において、ＵＤＰが使用されても、その通信の確実性を保証することができる。
【００５３】
また、第１連携プログラム３０は、第１サーバアプリケーション１８に対して第１クライアントアプリケーション２２の起動を要求する第１起動要求部３８を有する。第１起動要求部３８は、第１ソケット部３４が連携要求に基づく通信ソケット、具体的には遷移情報を受信した場合、メニューアプリケーション２６を介して、サーバ１２の第１サーバアプリケーション１８に対して第１クライアントアプリケーション２２の起動を要求する。
【００５４】
さらに、第１連携プログラム３０は、第１ソケット部３４が受信した通信ソケットに含まれる共有データを記憶する第１記憶部４０を有する。第１記憶部４０は、第１起動要求部３８により第１サーバアプリケーション１８が起動するまで、共有データを一時的に記憶する。
【００５５】
なお、本実施形態においては、上述のように、第１記憶部４０が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第１クライアントアプリケーション２２が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント１４のどのメモリであってもよく、例えば第１クライアントアプリケーション２２のＣｏｏｋｉｅであってもよい。
【００５６】
一方、第２連携プログラム３２は、Ｊａｖａ（登録商標）プラットフォームを介して第２クライアントアプリケーション２４に対して通信可能に接続される。具体的には、第２クライアントアプリケーション２４と第２連携プログラム３２には、ＪＭＸ（Java（登録商標） Management Extensions）が４２，４４それぞれ設けられ、これらのＪＭＸ４２，４４を使って、第２連携プログラム３２と第２クライアントアプリケーション２４との異なるＪａｖａ（登録商標）ＶＭ間が通信可能に接続される。また、ＪＭＸ４２，４４間の通信に必要なリモートオブジェクトの参照の場所を特定するため、第２連携プログラムには、ＲＭＩ（Remote Method Invocation）レジストリ４６が設けられる。
【００５７】
第２連携プログラム３２は、第１連携プログラム３０の第１ソケット部３４に対して通信可能に接続される第２ソケット部４８を有する。第２ソケット部４８は、連携要求に基づいて通信ソケットを生成する。そして、第２ソケット部４８は、その通信ソケットを、第１連携プログラム３０に送信する。一方、第２ソケット部４８は、第１連携プログラム３０から通信ソケットを受信した場合、その通信ソケットを変換処理、例えばＪａｖａ（登録商標）オブジェクトに変換処理する。
【００５８】
また、第２連携プログラム３２は、ＡＣＫ機能を含む第２応答部５０を有する。第２応答部５０は、第２ソケット部４８が連携要求に基づく通信ソケットを受信した場合、第１連携プログラム３０に対してその通信ソケットを正常に受信した旨を、第２ソケット部４８を通じて応答する。
【００５９】
また、第２応答部５０は、第２ソケット部４８が連携要求に基づく通信ソケットを送信した場合、第１連携プログラム３０からその通信ソケットを正常に受信した旨を応答するまで所定時間だけ待機する機能も有する。所定時間内に応答があった場合、その待機は解除され、所定時間経過しても応答がない場合、エラー処理が実施される。このような第２応答部５０の動作により、第１及び第２連携プログラム３０，３２間の通信において、ＵＤＰが使用されても、その通信の確実性を保証することができる。
【００６０】
また、第２連携プログラム３２は、第２サーバアプリケーション２０に対して、第２クライアントアプリケーション２４のダウンロードを要求する第２起動要求部５４を有する。第２起動要求部５４は、第２ソケット部４８が連携要求に基づく通信ソケット、具体的には遷移情報を受信し、サーバ１２の第２サーバアプリケーション２０に対して、第２クライアントアプリケーション２４のダウンロードを要求する。
【００６１】
さらに、第２連携プログラム３２は、第２ソケット部４８が受信した通信ソケットに含まれる共有データを記憶する第２記憶部５６を有する。第２記憶部５６は、第２起動要求部５４の要求により第２サーバアプリケーション２０からダウンロードされた第２クライアントアプリケーション２４が起動するまで、共有データを一時的に記憶して、起動が完了した第２クライアントアプリケーション２４に共有データをポストする。
【００６２】
なお、本実施形態においては、上述のように、第２記憶部５６が共有データを一時的に記憶する場合について説明したが、本発明はこの構成に限定されない。第２クライアントアプリケーション２４が起動するまで共有データが一時的に記憶されるのであれば、その場所が、クライアント１４のどのメモリであってもよい。
【００６３】
次に、本実施形態の情報処理システム１０における連携動作について、第１クライアントアプリケーション２２から第２クライアントアプリケーション２４への連携動作と、第２クライアントアプリケーション２４から第１クライアントアプリケーション２２への連携動作とに分けて、図を用いてそれぞれ説明する。
【００６４】
まず、第１クライアントアプリケーション２２から第２クライアントアプリケーション２４への連携動作について、図２を用いて説明する。図２は、第１クライアントアプリケーション２２から第２クライアントアプリケーション２４への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第１クライアントアプリケーション２２上で操作している時点をスタートとする。
【００６５】
まず、ステップＳ１０１において、ユーザが、第１クライアントアプリケーション２２上で操作中、その画面上のデータを第２クライアントアプリケーション２４の画面上に反映させるために、第２クライアントアプリケーション２４への連携を操作する。具体的には、ユーザは、第１クライアントアプリケーション２２の画面上に、クライアント１４の入力部を用いて連携要求を入力する。入力された連携要求の情報は、第１連携プログラム３０に送信される。
【００６６】
ステップＳ１０２において、連携要求の情報が第１連携プログラム３０に受信されると、ステップＳ１０３で、第１ソケット部３４により、その連携要求に基づく通信ソケットが生成されて第２ソケット部４８に送信される。この動作にあわせて、フローチャートに示されないが、第１応答部３６により、待機時間がカウントされる。
【００６７】
そして、ステップＳ１０４では、第２ソケット部４８により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップＳ１０５に進み、第２応答部５０により、正常に受信した旨、すなわちＡＣＫ応答が、第２ソケット部４８を通じて送信される。そして、フローチャートには示されないが、第１連携プログラム３０において、所定時間内にＡＣＫ応答を受信した場合、処理が正常であると判断される。一方、第１連携プログラム３０において、所定時間内にＡＣＫ応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
【００６８】
一方、ステップＳ１０４において、第２ソケット部４８により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばＡＣＫ応答に基づく通信ソケットの受信が検出された場合、この連係動作は終了する。
【００６９】
そして、ステップＳ１０６において、通信ソケットに含まれる共有データが第２記憶部５６に一時的に記憶され、ステップＳ１０７で、第２起動要求部５４により、第２サーバアプリケーション２０に対して第２クライアントアプリケーション２４のダウンロードが要求される。
【００７０】
そして、ステップＳ１０８では、第２起動要求部５４からの起動要求に基づいて、第２サーバアプリケーション２０によって第２クライアントアプリケーション２４のダウンロードが行なわれる。
【００７１】
ダウンロードが完了すると、ステップＳ１０９において、第２クライアントアプリケーション２４が起動する。
【００７２】
そして、ステップＳ１１０において、起動した第２クライアントアプリケーション２４により、起動完了の通知が第２連携プログラム３２へ送信され、ステップＳ１１１に進む。ステップＳ１１１においては、第２連携プログラム３２により、通信ソケットに含まれている共有データが第２クライアントアプリケーション２４にポストされる。
【００７３】
そして、ステップ１１２において、第２クライアントアプリケーション２４にポストされた共有データが、第２クライアントアプリケーション２４により、クライアント１４内における画面に表示される。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
【００７４】
次に、第２クライアントアプリケーション２４から第１クライアントアプリケーション２２への連携動作について、図３を用いて説明する。図３は、第２クライアントアプリケーション２４から第１クライアントアプリケーション２２への連携動作の一例を説明するフローチャートである。なお、この連携動作は、ユーザが、第２クライアントアプリケーション２４上で操作している時点をスタートとする。
【００７５】
まず、ステップＳ２０１において、ユーザが、第２クライアントアプリケーション２４上で操作中、その画面上のデータを第１クライアントアプリケーション２２の画面上に反映させるために、第１クライアントアプリケーション２２への連携を操作する。具体的には、ユーザは、第２クライアントアプリケーション２４の画面上に、クライアント１４の入力部を用いて連携要求を入力する。入力された連携要求の情報は、ＪＭＸ４２を介して、第２連携プログラム３２に送信される。
【００７６】
ステップＳ２０２において、連携要求の情報が第２連携プログラム３２に受信されると、ステップＳ２０３で、第２ソケット部４８により、その連携要求に基づく通信ソケットが生成されて第１ソケット部３４に送信される。この動作にあわせて、フローチャートに示されないが、第２応答部５０により、待機時間がカウントされる。
【００７７】
そして、ステップＳ２０４では、第１ソケット部３４により、連携要求に基づく通信ソケットが受信されたか否かが検出される。その通信ソケットの受信が検出されると、ステップＳ２０５に進み、第１応答部３６により、正常に受信した旨、すなわちＡＣＫ応答が、第１ソケット部３４を通じて送信される。そして、フローチャートには示されないが、第２連携プログラム３２において、所定時間内にＡＣＫ応答を受信した場合、処理が正常であると判断される。一方、第２連携プログラム３２において、所定時間内にＡＣＫ応答を受信しない場合、エラー処理が実施されて、この連携動作は終了する。
【００７８】
一方、ステップＳ２０４において、第１ソケット部３４により、連携要求に基づく通信ソケットの受信が検出されないと、この連携動作は終了する。言い換えれば、連携要求以外の通信ソケット、例えばＡＣＫ応答に基づく通信ソケットの受信が検出された場合、この連携動作は終了する。
【００７９】
そして、ステップＳ２０６において、通信ソケットに含まれる共有データが第１記憶部４０に一時的に記憶され、ステップＳ２０７で、第１起動要求部３８により、第１サーバアプリケーション１８に対して第１クライアントアプリケーション２２の起動が要求される。
【００８０】
そして、ステップＳ２０８では、第１起動要求部３８からの起動要求に基づいて、第１サーバアプリケーション１８が起動要求を受け付ける。そうすると、ステップＳ２０９において、この第１サーバアプリケーション１８によって起動させられた第１クライアントアプリケーション２２により、第１記憶部４０に記憶された共有データが、クライアント１４内における画面に表示させる。これにより、画面の遷移と共有データの受渡しが共に達成され、この連携動作が終了する。
【００８１】
本実施形態の情報処理システム１０によれば、従来のシステムに比べ、ユーザの操作を大幅に省くことができる。また、本システム１０によれば、サーバ１２内に新たな構成を設けることなく、クライアント１４内にのみ連携部２８を設けるという簡易な構造により、異なるプログラミング言語によりそれぞれ作成されたアプリケーション２２，２４間を、確実に連携させることができる。また、その連携の通信にＵＤＰを使用することにより、連携動作の時間の短縮を図ることができる。また、ＵＤＰによる通信速度の高速化とともに、連携部２８にＡＣＫ機能を設けることにより、通信の確実性を保証することができる。
【符号の説明】
【００８２】
１０  情報処理システム、１２  サーバ、１４  クライアント、１６  ネットワーク、１８  第１サーバアプリケーション、２０  第２サーバアプリケーション、２２  第１クライアントアプリケーション、２４  第２クライアントアプリケーション、２６  メニューアプリケーション、２８  連携部、３０  第１連携プログラム、３２  第２連携プログラム、３４  第１ソケット部、３６  第１応答部、３８  第１起動要求部、４０  第１記憶部、４２，４４  ＪＭＸ、４６  ＲＭＩレジストリ、４８  第２ソケット部、５０  第２応答部、５４  第２起動要求部、５６  第２記憶部。
【図１】
0005577140.tif 000002
【図２】
0005577140.tif 000003
【図３】
0005577140.tif 000004