(57)【要約】【課題】ユーザに意識させることなく連携先Ｗｅｂアプリケーションに遷移する前に連携元Ｗｅｂアプリケーションで遷移元画面での入力値の妥当性を確認し、円滑かつ安全に連携先Ｗｅｂアプリケーションに処理を連携すること。【解決手段】連携元Ｗｅｂアプリケーション４０１は、遷移元画面４０３（クライアントサイドスクリプト４０５を含む）をクライアントに送信し、該クライアントから返信されたデータを受信して妥当性を判断し、判断結果をクライアントに返信する構成を有する。また、クライアントサイドスクリプト４０５は、遷移元画面４０３からの連携指示に応じて、入力データを連携元Ｗｅｂアプリケーション４０１に送信して、該連携元Ｗｅｂアプリケーション４０１から返信される妥当性判断結果を受信し、妥当であると判断した場合、前記入力データを連携先Ｗｅｂアプリケーション４０２へ送信する機能を有することを特徴とする。【選択図】図５
2008077511.tif 000002
【特許請求の範囲】
【請求項１】
他のサーバへ処理を連携させるサーバであって、
クライアント上でデータ入力と該入力データの前記連携先サーバへの送信指示を可能とする入力画面を表示させるための画面データと、前記クライアント上で実行されるプログラムとを前記クライアントに送信する送信手段と、
前記プログラムにより前記クライアントから送信されるデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信するデータ処理手段と、
を有するものであり、
前記プログラムは、前記入力画面からの入力データを前記連携先サーバへ送信させる指示がなされると、前記入力データを前記入力画面を当該サーバに送信して、さらに該サーバから返信される前記データ処理手段によるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記遷移先サーバへ送信するべきか判断し、前記入力データを前記遷移先サーバへ送信するべきであると判断した場合には、前記入力データを前記遷移先サーバへ送信する機能をクライアントに実現させるためのプログラムである、
ことを特徴とするサーバ。
【請求項２】
前記プログラムは、前記入力データを前記遷移先サーバへ送信するべきでないと判断した場合には、前記入力画面においてデータを再入力可能にする機能をクライアントに実現させるためのプログラムである、ことを特徴とする請求項１に記載のサーバ。
【請求項３】
前記データ処理手段は、前記クライアントとの通信を非同期通信により行うものであり、
前記プログラムは、当該サーバとの通信を非同期通信により行うことを特徴とする請求項１又は２に記載のサーバ。
【請求項４】
前記データ処理手段は、前記クライアントから送信されるデータの妥当性のチェック処理を含むことを特徴とする請求項１乃至３のいずれか１項に記載のサーバ。
【請求項５】
前記プログラムは、前記画面データ内に含まれることを特徴とする請求項１乃至４のいずれか１項に記載のサーバ。
【請求項６】
複数のサーバで処理を連携させるサーバ連携システムにおいて、
連携元サーバは、
前記クライアント上でデータ入力と該入力データの連携先サーバへの送信指示を可能とする入力画面を表示させるための画面データと、前記クライアント上で実行されるプログラムとを前記クライアントに送信する送信手段と、
前記プログラムにより前記クライアントから返信されたデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信するデータ処理手段と、
を有するものであり、
前記プログラムは、前記入力画面からの入力データを前記連携先サーバへ送信させる指示がなされると、前記入力データを前記連携元サーバに送信して、さらに該連携元サーバから返信される前記データ処理手段によるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記遷移先サーバへ送信するべきか判断し、前記入力データを前記遷移先サーバへ送信するべきであると判断した場合には、前記入力データを前記遷移先サーバへ送信する機能をクライアントに実現させるためのプログラムである、
ことを特徴とするサーバ連携システム。
【請求項７】
複数のサーバサイドプログラムで処理を連携させるサーバ連携システムにおいて、
連携元サーバサイドプログラムは、
前記クライアント上でデータ入力と該入力データの連携先サーバサイドプログラムへの送信指示を可能とする入力画面を表示させるための画面データと、前記クライアント上で実行されるクライアントサイドプログラムとを前記クライアントに送信する送信手段と、
前記クライアント上で実行される前記クライアントサイドプログラムにより前記クライアントから返信されたデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信するデータ処理手段と、
を有するものであり、
前記クライアントサイドプログラムは、前記入力画面からの入力データを前記連携先サーバサイドプログラムへ送信させる指示がなされると、前記入力データを前記連携元サーバサイドプログラムに送信して、さらに該連携元サーバサイドプログラムから返信される前記データ処理手段によるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記遷移先サーバサイドプログラムへ送信するべきか判断し、前記入力データを前記遷移先サーバサイドプログラムへ送信するべきであると判断した場合には、前記入力データを前記遷移先サーバサイドプログラムへ送信する機能をクライアントに実現させるためのプログラムである、
ことを特徴とするサーバ連携システム。
【請求項８】
複数のサーバで処理を連携させるサーバ連携方法において、
連携元サーバが前記クライアント上でデータ入力と該入力データの連携先サーバへの送信指示を可能とする入力画面を表示させるための画面データと、前記クライアント上で実行されるプログラムとを前記クライアントに送信する送信ステップと、
連携元サーバが前記プログラムにより前記クライアントから返信されたデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信するデータ処理ステップと、
を有するものであり、
前記プログラムは、前記入力画面からの入力データを前記連携先サーバへ送信させる指示がなされると、前記入力データを前記連携元サーバに送信して、さらに該連携元サーバから返信される前記データ処理ステップによるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記遷移先サーバへ送信するべきか判断し、前記入力データを前記遷移先サーバへ送信するべきであると判断した場合には、前記入力データを前記遷移先サーバへ送信する機能をクライアントに実現させるためのプログラムである、
ことを特徴とするサーバ連携方法。
【請求項９】
請求項８に記載されたサーバ連携方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項８に記載されたサーバ連携方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【請求項１１】
第１のサーバ及び第２のサーバと通信可能な情報処理装置において、
データ入力と該入力データの前記第２のサーバへの送信指示を可能とする入力画面を表示させる表示手段と、
前記入力画面からの入力データを前記第２のサーバへ送信させる指示が前記入力画面からなされると、前記入力データを前記第１のサーバに送信する送信手段と、
前記第１のサーバから返信される前記入力データのデータ処理結果を受信する受信手段と、
前記受信手段により受信したデータ処理結果に基づいて前記入力データを前記第２のサーバへ送信するべきか判断する判断手段と、
前記判断手段が前記入力データを前記第２のサーバへ送信するべきであると判断した場合には、前記入力データを前記第２のサーバへ送信する連携手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ（Ｗｅｂアプリケーション）とクライアントとが通信可能なシステムにおいて、第１のサーバから第２のサーバに遷移する際の制御に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーション連携に関する技術がある。
【０００３】
特許文献１に記載される分散サーバ連携方法は、制御部を別途設け、「管轄下の」Ｗｅｂアプリケーションを連携させる方式を採用している。なお、データのやり取りはＨＴＴＰのプロトコルでパラメータを渡すことで行っている。
【０００４】
一方、一般的なＷｅｂアプリケーション（やＷｅｂページ）の連携は、ＨＴＭＬのリンク機能（アンカ）を使用し、ページ遷移を行うことで実現している。この方法においても、データのやり取りはＨＴＴＰのプロトコルでパラメータを渡すことで行っている。
【特許文献１】特開２００１−６０１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、連携するＷｅｂアプリケーション間で、やり取りするデータ（＝パラメータ）の妥当性を確認したいというニーズがある。同一Ｗｅｂアプリケーション内でデータをやり取りする場合は、その遷移時にパラメータのチェックを行い、妥当性が確認されれば次のページへ、そうでなければ元のページに戻り、再入力を促すのが一般的である。
【０００６】
しかし、Ｗｅｂアプリケーション間の連携の場合、以下のような問題点がある。これは、上記特許文献１においても、他の一般的な連携方法においても同様である。
【０００７】
ユーザの連携指示アクションは、連携先Ｗｅｂアプリケーションへの遷移である。よって、ユーザの連携指示アクションを受けると、後は、直ちに連携先のＷｅｂアプリケーションに遷移してしまう。しかし、パラメータの妥当性を判定できるのが連携元のＷｅｂアプリケーション（ないしそこが管理しているデータ）である場合もあり、その場合の妥当性の確認は連携元のＷｅｂアプリケーションで行わなければならない。
【０００８】
つまり、データのフォーマットチェック等簡単な妥当性は、連携先ないし連携元のクライアントサイドのスクリプトでも検証できるが、データのアプリケーション的な意味においての妥当性は、そのデータの管轄アプリケーションである連携元のサーバでしか妥当性を判断できない場合がある、ということである。
【０００９】
例えば、商品管理アプリケーションが帳票出力アプリケーションにデータを渡す場合、連携元の商品管理アプリケーションにおいて、入力された商品の在庫数を確認してから帳票出力したい場合などがある。
【００１０】
この対策として、ユーザの連携指示アクション時にクライアントサイドのスクリプト言語を使用してローカルのみで入力値の妥当性確認を行うことが考えられる。しかしそれでは、入力値そのもののチェックはよいが、入力値の計算（合計等）や関連（大小関係）などを加味した複雑なチェックは難しい。また、それらの計算処理や、妥当性確認の処理などサーバ側のロジックを利用できない（クライアントとサーバで二重に定義することになる）。さらに、データベースに格納されている値と照合したチェックは非常に困難である。
【００１１】
よって現状は、妥当性確認をある程度見切りとして諦めて安全性を落とすか、遷移元のＷｅｂアプリケーションに妥当性確認用の画面を用意し、一旦その画面による妥当性の確認をユーザに指示させて妥当性のチェックを行った後、改めてユーザに連携指示を行わせ、連携先Ｗｅｂアプリケーションに遷移するといった方法が取られている。しかし、このような指示操作をユーザに強いることは、ユーザの円滑な操作を阻害する要因になっている。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、ユーザに意識させることなく、連携先サーバ（連携先Ｗｅｂアプリケーション）に遷移する前に連携元サーバ（連携元Ｗｅｂアプリケーション）で遷移元画面での入力値の妥当性を確認して、円滑かつ安全に連携元サーバ（連携元Ｗｅｂアプリケーション）から連携先サーバ（連携先Ｗｅｂアプリケーション）に処理を連携することができる仕組を提供することである。
【課題を解決するための手段】
【００１３】
本実施形態は、他のサーバへ処理を連携させるサーバであって、クライアント上でデータ入力と該入力データの前記連携先サーバへの送信指示を可能とする入力画面を表示させるための画面データと、前記クライアント上で実行されるプログラムとを前記クライアントに送信する送信手段と、前記プログラムにより前記クライアントから送信されるデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信するデータ処理手段と、を有するものであり、前記プログラムは、前記入力画面からの入力データを前記連携先サーバへ送信させる指示がなされると、前記入力データを前記入力画面を当該サーバに送信して、さらに該サーバから返信される前記データ処理手段によるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記遷移先サーバへ送信するべきか判断し、前記入力データを前記遷移先サーバへ送信するべきであると判断した場合には、前記入力データを前記遷移先サーバへ送信する機能をクライアントに実現させるためのプログラムである、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ユーザが円滑にかつ安全に複数サーバの機能を連携して使用することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明のサーバ連携システムの前提となるネットワークシステムの構成の一例を示す図である。
【００１６】
図１において、１０はインターネット等のネットワークである。このネットワーク１０には、複数のＷｅｂサーバ１（１ａ，・・・，１ｂ）や複数のクライアント２（２ａ，・・・，２ｂ）が接続されている。
【００１７】
本発明のＷｅｂアプリケーション連携システムでは、１又は複数のＷｅｂサーバ１上で動作する複数のＷｅｂアプリケーションを連携するものである。
【００１８】
次に、図２を参照して、図１に示したＷｅｂサーバ１、クライアント２を実現可能な情報処理装置のハードウェア構成について説明する。
【００１９】
図２は、図１に示したＷｅｂサーバ１、クライアント２を実現可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【００２０】
Ｗｅｂサーバ１、クライアント２を実現可能な情報処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、外部メモリ１０４、入力装置１０５、表示装置１０６、ネットワークインタフェースカード（ＮＩＣ）１０７等を備え、これらがシステムバス１０８を介して互いに接続されている構成となっている。なお、実際には１０１〜１０７とシステムバス１０８との間にはインタフェース回路やチップセット等が存在するが、図では省略されている。
【００２１】
ＣＰＵ１０１は、ＲＯＭ１０３又は外部メモリ１０４等に記憶保存されたプログラムを読み出して実行することにより、各種制御処理を実行する。ＲＡＭ１０２は、ＣＰＵ１０１の作業領域として使用される。
【００２２】
ＮＩＣ１０７は、図１に示したネットワーク１０等に有線又は無線で接続され、ネットワークを介して他の装置と通信可能である。
【００２３】
外部メモリ１０４は、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ，ＤＶＤ、フラッシュメモリ等で構成される。
【００２４】
次に、図３，図４を参照して、本発明の特徴を従来技術と比較して説明する。
【００２５】
図３は、従来技術における具体的なアプリケーション連携の実行例を示した模式図である。
【００２６】
図４は、本発明を実施した場合の具体的なアプリケーション連携の実行例を示した模式図である。
【００２７】
図３において、２０１は、連携元のＷｅｂアプリケーション（この例では、商品管理アプリケーション）２１０からクライアントに送信されて、クライアント上で表示される入力画面である。
【００２８】
図３に示す従来技術における実行例では、遷移直前に透過的に連携元で入力画面２０１の入力データのチェックを行うことができないため、ユーザは「確認画面へ」ボタン２０２をクリックして、妥当性検証だけの為の確認画面２０３へ遷移させる必要がある。ユーザが「確認画面へ」ボタン２０２をクリックすると、入力データ（ここでは"ＡＢＣ１２３"）が連携元のＷｅｂアプリケーション２１０に送信される。そして、このＷｅｂアプリケーション２１０で妥当性の確認が行われ、確認結果がクライアント側に返送され、クライアントは確認画面２０３へ画面遷移する。
【００２９】
その後、ユーザは「発注書印刷」ボタン２０４をクリックして、連携先のＷｅｂアプリケーション（ここでは、帳票印刷アプリケーション）２２０への遷移をクライアント側から指示する必要がある。ユーザが「発注書印刷」ボタン２０４をクリックすると、入力画面２０１で入力したデータ（ここでは"ＡＢＣ１２３"）が連携先のＷｅｂアプリケーション２０２に送信される。そして、この連携先Ｗｅｂアプリケーション２２０から処理結果がクライアント側に返送され、クライアントは画面２０５へ画面遷移する。
【００３０】
これに対して、図４に示す本発明を実施した場合の実行例では透過的に連携先に遷移することができるため、図３に示した従来の技術のようにユーザが確認画面へ画面遷移をさせる必要がない。ユーザは単に連携先のＷｅｂアプリケーション（帳票印刷アプリケーション）への遷移をクライアント側から指示するだけでよい。以下、具体的に示す。
【００３１】
図４において、３０１は、連携元のＷｅｂアプリケーション（この例では、商品管理アプリケーション）３１０からクライアントに送信されて（１）、クライアント上で表示される入力画面である。
【００３２】
ユーザ「発注書印刷」ボタン３０２をクリックすると（２）、入力データ（ここでは"ＡＢＣ１２３"）が連携元のＷｅｂアプリケーション３１０に非同期通信（図中破線で示す）により送信される（３）。そして、このＷｅｂアプリケーション３１０で妥当性の確認が行われ、確認結果がクライアント側に非同期通信により返送される（４）。
【００３３】
この確認結果を受信したクライアントは、上記確認結果を判断してＯＫの場合には、自動で入力データを連携先のＷｅｂアプリケーション（ここでは、帳票印刷アプリケーション）３２０へ送信する。そして、この連携先Ｗｅｂアプリケーション３２０から処理結果がクライアント側に返送され、クライアントは画面３０３へ画面遷移する。
【００３４】
なお、クライアントは、確認結果がＮＧ（エラー）の場合には、連携先のアプリケーションに遷移することなく、３０４に示すようにエラーである旨を表示して、再入力を促す。
【００３５】
図５は、本発明のＷｅｂアプリケーション連携システムの構成及び動作の流れを示した図であり、図１と同一のものには同一の符号を付してある。また、図５に示す（１）〜（６）は図４に示した（１）〜（６）に対応するものとする。
【００３６】
本発明のＷｅｂアプリケーション連携システムは構成として、連携元Ｗｅｂアプリケーション４０１と、それがＷｅｂブラウザ４００上に表示する遷移元画面４０３があり、この遷移元画面４０３内にクライアントサイドスクリプト４０５が搭載される。
【００３７】
また、連携先Ｗｅｂアプリケーション４０２と遷移先画面４０４がある。特に、連携先Ｗｅｂアプリケーション４０２は、連携元Ｗｅｂアプリケーション４０１と異なるＷｅｂサーバ上で起動していることを想定しており、束ねる管理アプリケーションもない疎結合な状態である。即ち、連携元Ｗｅｂアプリケーション４０１は、連携先Ｗｅｂアプリケーション４０２のアドレスと必要なパラメータのみを知っていればよい。
【００３８】
なお、連携先Ｗｅｂアプリケーション４０２と連携元Ｗｅｂアプリケーション４０１とが同じＷｅｂサーバ上で起動していている場合にも適用可能なこというまでもない。
【００３９】
本実施形態では、連携元Ｗｅｂアプリケーション４０１は、図１に示したＷｅｂサーバ１ａのＣＰＵが外部メモリに格納されるプログラムをＲＡＭ上に読み出して実行することにより実現されるものとする。
【００４０】
また、連携元Ｗｅｂアプリケーション４０１は、図１に示したＷｅｂサーバ１ａのＣＰＵが外部メモリに格納されるプログラムをＲＡＭ上に読み出して実行することにより実現されるものとする。
【００４１】
さらに、Ｗｅｂブラウザは、図１に示したクライアント２ａのＣＰＵが外部メモリに格納されるプログラムをＲＡＭ上に読み出して実行することにより実現されるものとする。
【００４２】
次に、動作の流れを時系列で説明する。
【００４３】
まず、連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３の画面データがＷｅｂブラウザ４００に送信されると、これを受信したＷｅｂブラウザ４００が遷移元画面４０３を表示する（１）。
【００４４】
遷移元画面４０３は、連携先Ｗｅｂアプリケーション４０２を起動するリンク又はボタン（例えば図４の３０２）を備えている。
【００４５】
ユーザは、連携先Ｗｅｂアプリケーション４０２に必要な事項を、遷移元画面４０３上でキーボード等の入力装置を用いて入力し、連携先Ｗｅｂアプリケーション４０２を起動するリンクをマウス等の入力装置を用いてクリックする（２）。
【００４６】
すると、Ｗｅｂブラウザ４００は、遷移元画面４０３内に記述されているクライアントサイドスクリプト４０５が起動する。そして、クライアントサイドスクリプト４０５は、連携元Ｗｅｂアプリケーション４０１に遷移元画面４０３で入力された値（入力データ）を送付し、妥当性検証要求を行う（３）。なお、この要求は非同期通信で行われる為、Ｗｅｂブラウザ上で画面の遷移は行われない。
【００４７】
連携元Ｗｅｂアプリケーション４０１は、この妥当性検証要求を受け取り、値の妥当性検証を行い、妥当性検証結果をクライアントサイドスクリプト４０５に送付する（４）。
【００４８】
クライアントサイドスクリプト４０５は、この妥当性検証結果を受け取り判断する。そして、クライアントサイドスクリプト４０５は、遷移元画面４０３を表示するＷｅｂブラウザ４００は、値の妥当性が確認された場合（検証結果がＯＫの場合）、その値をパラメータとして連携先Ｗｅｂアプリケーション４０２に送信し、遷移要求する（５）。
【００４９】
連携先Ｗｅｂアプリケーション４０２は、このパラメータを受け取り、該受け取ったパラメータに沿ってサービスを行い、遷移先画面４０４の画面データをＷｅｂブラウザ４００に返信して、Ｗｅｂブラウザ４００に遷移先画面４０４を表示させる（６）。
【００５０】
図６は、本発明における制御処理動作の一例を示すフローチャートであり、図５に示した（３）〜（６）の処理を詳細に示したものに対応する。なお、図中、Ｓ５０１，Ｓ５０２，Ｓ５０５，Ｓ５０６，Ｓ５０８，Ｓ５１０は、図５に示したＷｅｂブラウザ４００上に表示される遷移元画面４０３内のクライアントサイドスクリプト４０５が実行するステップに対応する。また、Ｓ５０３，Ｓ５０４は、図５に示した連携元Ｗｅｂアプリケーション４０１が実行するステップに対応する。さらに、Ｓ５０９は、図５に示した連携先Ｗｅｂアプリケーション４０２が実行するステップに対応する。
【００５１】
ユーザからの指示により遷移要求（連携先Ｗｅｂアプリケーション４０２への連携指示）を受けたＷｅｂブラウザ４００は、遷移元画面４０３内のクライアントサイドスクリプト４０５を起動する。クライアントサイドスクリプト４０５は、ユーザが遷移元画面４０３内で入力した画面項目値（入力データ）を収集し、サーバに送付する形式に編集する（Ｓ５０１）。
【００５２】
続いて、クライアントサイドスクリプト４０５は、連携元Ｗｅｂアプリケーション４０１に妥当性検証要求を送信する（Ｓ５０２）。このとき、クライアントサイドスクリプト４０５は、Ｓ５０１で収集・編集した画面項目値をパラメータとして併せて連携元Ｗｅｂアプリケーション４０１に送付する。なお、この要求は、非同期通信を用いて行う。
【００５３】
そして、この要求を受理した連携元Ｗｅｂアプリケーション４０１は、送付された画面項目値を受け取り、これを元に必要な「計算」やデータの「取得」等の処理を行う（Ｓ５０３）。これは、画面入力項目より導出される項目（例えば、商品在庫等）がチェック対象となる場合があるため、且つ、連携先Ｗｅｂアプリケーション４０２に渡すパラメータとして使用される場合があるためである。例えば「ある商品の発注数の合計が、在庫数を超えていないか」という検証があった場合を想定する。まず、その商品の合計を「計算」する。そして、ある商品のＩＤ等をキーにデータベースよりその商品の在庫数データを「取得」する。
【００５４】
そして、連携元Ｗｅｂアプリケーション４０１は、必要なデータが揃うと、そのデータを使用して妥当性の検証を行う（Ｓ５０４）。
【００５５】
妥当性検証を終えると、連携元Ｗｅｂアプリケーション４０１は、その妥当性検証結果を遷移元画面４０３（クライアントサイドスクリプト４０５）に返送する（Ｓ５０５）。その際、必要に応じてＳ５０３で導出したデータ（計算結果）も併せて送付する。これにより、クライアントサイドスクリプト４０５は、ユーザに現状把握や次の処理の補助となる有益な情報を遷移元画面４０３上に表示することが可能となる。なお、上記連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３に送信するデータの例を後述する図７に示してある。
【００５６】
クライアントサイドスクリプト４０５は、妥当性検証結果を受け取ると、まず、必要に応じて受信したデータ（Ｓ５０３で導出されたデータ）を遷移元画面４０３上に設定する（Ｓ５０６）。
【００５７】
次に、クライアントサイドスクリプト４０５は、連携元Ｗｅｂアプリケーション４０１から送付された情報のうち、妥当性検証結果をエラー判定する（妥当性検証結果がＯＫかＮＧか判定する）（Ｓ５０７）。
【００５８】
そして、ステップＳ５０７において、エラー判定結果がＯＫだった場合（即ち、遷移元画面４０３の入力データを連携先Ｗｅｂアプリケーション４０２へ送信するのに妥当であると判断した場合）は、クライアントサイドスクリプト４０５は、遷移元画面４０３の画面項目から必要な値を取得し、パラメータとして編集した後、それを以って連携先元Ｗｅｂアプリケーション４０２に遷移要求を行う（５０８）。
【００５９】
そして、連携先Ｗｅｂアプリケーション４０２は、クライアントサイドスクリプト４０５からの遷移要求（パラメータ）を受け取ると、このパラメータを用いて所定のサービスを行う。なお、このパラメータは、Ｓ５０４において連携元Ｗｅｂアプリケーション４０１によって検証済な妥当な値であることが保証されているため、連携先Ｗｅｂアプリケーション４０２ではパラメータエラーとなることなくサービスを実行可能となる。
【００６０】
そして、上記所定のサービスが終了すると、連携先Ｗｅｂアプリケーション４０２は、遷移先画面４０４の画面データを上記遷移要求の送信元であるＷｅｂブラウザ４００に送信する。この画面データを受信したＷｅｂブラウザ４００は、この画面データに基づいて遷移先画面４０４を表示する（Ｓ５０９）。
【００６１】
一方、ステップＳ５０７において、エラー判定結果がＮＧだった場合（即ち、遷移元画面４０３の入力データを連携先Ｗｅｂアプリケーション４０２へ送信するのに妥当でないと判断した場合）は、クライアントサイドスクリプト４０５は、遷移要求は行わず、遷移元画面４０３上にエラーの表示を行い、ユーザに再入力を促す（Ｓ５１０）。
【００６２】
そして、ユーザは、上記ステップＳ５０５で表示された画面項目情報を参考にしながら、必要な部分のみ修正して、再度、連携先Ｗｅｂアプリケーション４０２への連携指示を行うことができる。これにより、Ｗｅｂブラウザ４００は、遷移元画面４０３内のクライアントサイドスクリプト４０５を起動し、再度、ステップＳ５０１から処理を行う。
【００６３】
以下、図７のデータ例，図８の擬似コードを用いて、クライアントサイドスクリプト４０５の処理について説明する。
【００６４】
図７は、図６のステップＳ５０５に示した妥当性検証終了の際、連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３（クライアントサイドスクリプト４０５）に渡しているデータ例を示す図である。
【００６５】
図７に示すように、図６のステップＳ５０５において、連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３（クライアントサイドスクリプト４０５）に送信されるデータは、妥当性検証結果として、妥当性検証結果６０１（この例では"ＮＧ"）、妥当性検証の結果６０１が"ＮＧ"となった原因箇所６０２、エラーメッセージ６０３等を含む。なお、妥当性検証結果が"ＯＫ"の場合は、原因箇所６０２、エラーメッセージ６０３は含まれない。
【００６６】
また、上記連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３（クライアントサイドスクリプト４０５）に送信されるデータは、計算結果６０４も含んでいる。
【００６７】
図８は、図６のステップＳ５０６，Ｓ５０７（Ｓ５０８，Ｓ５１０）の処理に対応するクライアントサイドスクリプト４０５の擬似コードの一例を示す図である。
【００６８】
図８に示すように、まず、コード７０１が実行され、妥当性検証の結果如何にかかわらず、計算の結果（図７の６０４）を画面項目に表示する。
【００６９】
次に、コード７０２が実行され、妥当性検証の結果（図７の６０１）を見て、それにより処理を分岐する。妥当性検証の結果が"ＯＫ"だった場合、コード７０３を実行して、必要なパラメータを画面より収集・編集して、そのパラメータを渡しながら連携先アプリケーションを起動する。
【００７０】
一方、妥当性検証の結果が"ＮＧ"だった場合、コード７０７を実行して、妥当性検証の結果と同送されたエラーメッセージ（図７の６０３）を画面の所定の位置に表示し、かつ原因となった画面項目（図７の６０２）にエラー表示（背景を赤くするなど）を行う。
【００７１】
以上説明したように、本実施形態のＷｅｂアプリケーション連携システムは、連携元Ｗｅｂアプリケーション４０１が、前記クライアント上でデータ入力と該入力データの連携先Ｗｅｂアプリケーション４０２への送信指示（連携指示）を可能とする入力画面（遷移元画面４０３）を表示させるための画面データと、前記クライアント上で実行されるプログラム（クライアントサイドスクリプト４０５）とを前記クライアントに送信する機能と、前記プログラムにより前記クライアントから返信されたデータを受信し、該受信データをデータ処理し、該データ処理結果を前記クライアントに返信する機能とを有するものであり、また、前記プログラム（クライアントサイドスクリプト４０５）は、前記入力画面からの入力データを前記連携先サーバへ送信させる指示がなされると、前記入力データを前記連携元Ｗｅｂアプリケーション４０１に送信して、さらに該連携元Ｗｅｂアプリケーション４０１から返信されるデータ処理結果を受信して、該受信したデータ処理結果に基づいて前記入力データを前記連携先Ｗｅｂアプリケーション４０２へ送信するべきか判断し、前記入力データを前記連携先Ｗｅｂアプリケーション４０２へ送信するべきであると判断した場合には、前記入力データを前記連携先Ｗｅｂアプリケーション４０２へ送信する機能をクライアントに実現させるためのプログラムである、構成を特徴とする。
【００７２】
即ち、本実施形態のＷｅｂアプリケーション連携は、一般的なＷｅｂアプリケーション（やＷｅｂページ）の連携に、機能を付加することで実現する。連携元Ｗｅｂアプリケーション４０１の表示した、遷移元画面のＨＴＭＬのリンク機能（アンカ）を押下された際、直接連携先Ｗｅｂアプリケーションに遷移せず、まずクライアントサイドスクリプト４０５の処理を起動する。その処理の中で、連携元Ｗｅｂアプリケーションに非同期通信で妥当性確認要求を行う。非同期通信を使用するため、画面遷移はない。そして、連携元Ｗｅｂアプリケーション４０１でチェックを行い、遷移元画面４０３で妥当性確認の結果を受け取り、妥当性が確認されれば、連携先Ｗｅｂアプリケーション４０２にパラメータを渡して遷移し、妥当でなければそのまま遷移元画面４０３にその旨エラーメッセージを表示、再入力を促すように構成する。
【００７３】
このような構成により、ユーザが円滑にかつ安全に複数Ｗｅｂアプリケーションの機能を連携して使用することができる。
【００７４】
また、一般的な疎結合なＷｅｂアプリケーションの連携時であっても、余分な遷移をすることなく、妥当性確認後のパラメータを連携先Ｗｅｂアプリケーションに渡すことができる。
【００７５】
さらに、連携先Ｗｅｂアプリケーションを選ばない。連携元Ｗｅｂアプリケーションは、連携先のＵＲＬ（ロケーション情報）と必要なパラメータを知っていれば良いだけで、疎結合で柔軟な連携が可能である。
【００７６】
また、連携元Ｗｅｂアプリケーションで、妥当性確認を行う為、クライアント側のスクリプト等で妥当確認を行う場合や、連携先Ｗｅｂアプリケーションにおいて妥当性確認を行う場合等より、複雑できめ細かく妥当性を確認できる。
【００７７】
さらに、パラメータにエラーがあった場合も、そのエラーを連携元Ｗｅｂアプリケーションで検知できるため、より自然に再入力を促すことができる。もし連携先Ｗｅｂアプリケーションでパラメータエラーが発見された場合は、ユーザ操作により画面を戻して、再入力を行わなければならないが、このような事態を未然に防止することができる。
【００７８】
また、パラメータの妥当性結果の判断及び、該判断結果に基づく処理分岐をクライアント側で行っている為、より柔軟なサービスを行うことができる。例えば、受け取ったデータ見て判断し、内容や量によって、より情報を見易いように新規ウインドウを起動して情報を表示し、該表示される情報を見ながらユーザが入力できるようになる等の柔軟なサービスが考えられる。
【００７９】
このように、ユーザに意識させることなく、連携先Ｗｅｂアプリケーションに遷移する前に、連携元Ｗｅｂアプリケーションで遷移元画面での入力値の妥当性を確認する仕組を提供することができる。
【００８０】
なお、図７に示したデータや図８に示した擬似コードは、その内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００８１】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８２】
以下、図９に示すメモリマップを参照して本発明に係るＷｅｂアプリケーション連携システムを構成するＷｅｂサーバ１，クライアント２で読み取り可能なデータ処理プログラムの構成について説明する。
【００８３】
図９は、本発明に係るＷｅｂアプリケーション連携システムを構成するＷｅｂサーバ１，クライアント２で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【００８４】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００８５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００８６】
本実施形態における図５，図６，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００８７】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８８】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００８９】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【００９０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９３】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９４】
なお、上記実施形態では、遷移元画面４０３（クライアントサイドスクリプト４０５を含む）が、連携元Ｗｅｂアプリケーション４０１から送信されて、Ｗｅｂブラウザ４００上に表示される構成について説明した。しかし、これは本発明における遷移元画面４０３の取得先を限定するものではない。例えば、他のサーバプログラムから遷移元画面４０３が送信されてＷｅｂブラウザ４００上に表示される構成であってもよいし、ＨＤ、ＦＤ、ＣＤ−ＲＯＭ等の記録媒体に遷移元画面４０３を格納しておき、該記録媒体から遷移元画面４０３が読み出されてＷｅｂブラウザ４００上に表示される構成も本発明に含まれるものである。
【００９５】
また、上記実施形態では、例えばＨＴＭＬにより記述される遷移元画面４０３内に含まれるクライアントサイドスクリプト４０５により図６のＳ５０１，Ｓ５０２，Ｓ５０６，Ｓ５０７（Ｓ５０８，Ｓ５１０）が実行される構成について説明した。しかし、クライアントで表示される遷移元画面４０３やクライアントで実行されるプログラムの形式はこれに限定されるものではない。例えば、アプレット形式のプログラムをサーバからクライアントにダウンロードし、該プログラムを実行することにより、遷移元画面４０３の表示や図６のＳ５０１，Ｓ５０２，Ｓ５０６，Ｓ５０７（Ｓ５０８，Ｓ５１０）に示した機能を実現するように構成してもよい。また、遷移元画面４０３の表示や図６のＳ５０１，Ｓ５０２，Ｓ５０６，Ｓ５０７（Ｓ５０８，Ｓ５１０）に示した機能を実現するプログラムをクライアントに予めインストールしておく構成であってもよい。
【００９６】
なお、上述した実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【００９７】
【図１】本発明のサーバ連携システムの前提となるネットワークシステムの構成の一例を示す図である。
【図２】図１に示したＷｅｂサーバ１、クライアント２を実現可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】従来技術における具体的なアプリケーション連携の実行例を示した模式図である。
【図４】本発明を実施した場合の具体的なアプリケーション連携の実行例を示した模式図である。
【図５】本発明のＷｅｂアプリケーション連携システムの構成及び動作の流れを示した図である。
【図６】本発明における制御処理動作の一例を示すフローチャートである。
【図７】図６のステップＳ５０５に示した妥当性検証終了の際、連携元Ｗｅｂアプリケーション４０１から遷移元画面４０３（クライアントサイドスクリプト４０５）に渡しているデータ例を示す図である。
【図８】図６のステップＳ５０６，Ｓ５０７（Ｓ５０８，Ｓ５１０）の処理に対応するクライアントサイドスクリプト４０５の擬似コードの一例を示す図である。
【図９】本発明に係るＷｅｂアプリケーション連携システムを構成するＷｅｂサーバ１，クライアント２で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【００９８】
１ａ    Ｗｅｂサーバ
１ｂ    Ｗｅｂサーバ
１０    ネットワーク
２ａ    クライアント
２ｂ    クライアント
４００    Ｗｅｂブラウザ
４０１    連携元Ｗｅｂアプリケーション
４０２    連携先Ｗｅｂアプリケーション
４０３    連携元画面
４０４    連携先画面
４０５    クライアントサイドスクリプト
【図１】
2008077511.tif 000003
【図２】
2008077511.tif 000004
【図３】
2008077511.tif 000005
【図４】
2008077511.tif 000006
【図５】
2008077511.tif 000007
【図６】
2008077511.tif 000008
【図７】
2008077511.tif 000009
【図８】
2008077511.tif 000010
【図９】
2008077511.tif 000011