(57)【要約】【課題】サーバのサービスを停止することなく、かつセキュリティリスクの増加を抑制しながらサーバプログラムのデバッグに用いられる情報を送信又は表示できるサーバ装置、サーバプログラム、サービス実行方法、及びサーバクライアントシステムを提供する。【解決手段】サーバ装置１００は、受信部１１０で、複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する。次に、サーバ装置１００は、受信部１１０で受信されたコマンドが、指示された連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、連携サービス実行部１５０で連携サービスの実行を開始してから終了するまでにおける所定のデータを、コマンドに対する応答データとして返信する。【選択図】図９
2011227662.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記受信手段が受信した前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信手段と、
を備えることを特徴とするサーバ装置。
【請求項２】
前記コマンドは、前記複数のサービスの内で、デバッグの対象とするサービスを表すデバッグ対象情報を含み、
前記送信手段は、前記連携サービス実行手段が前記連携サービスの実行に伴って、前記デバッグ対象情報で表された前記サービスの実行を終了してから他のサービスの実行を開始する前における前記所定のデータを、前記コマンドに対する応答データとして返信する、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記複数の情報処理は、運用期間が長い程、規模が大きい、
ことを特徴とする請求項１又は２に記載のサーバ装置。
【請求項４】
前記デバッグ対象情報で表されるデバッグの対象は、前記受信手段で実行される受信サービスを含み、
前記送信手段は、前記デバッグ対象情報で表されるデバッグの対象が前記受信サービスである場合に、前記受信手段で受信された前記コマンドを、前記コマンドに対する応答データとして返信する、
ことを特徴とする請求項１から３のいずれか１項に記載のサーバ装置。
【請求項５】
前記連携サービスは、前記受信手段で受信された前記コマンドを復号化する第１サービスと他のサービスとが連携されたサービスであり、
前記連携サービス実行手段は、前記コマンドを復号化する情報処理の実行により、前記第１サービスを実行し、
前記デバッグ対象情報で表されるデバッグの対象は、前記第１サービスを含み、
前記送信手段は、前記デバッグ対象情報で表されるデバッグの対象が前記第１サービスである場合に、前記連携サービス実行手段によって復号化された前記コマンドを、前記コマンドに対する応答データとして返信する、
ことを特徴とする請求項４に記載のサーバ装置。
【請求項６】
前記連携サービスは、前記受信手段を用いて前記所定のデータを受信する第２サービスをさらに連携されたサービスであり、
前記連携サービス実行手段は、前記所定のデータを前記受信手段に受信させる情報処理の実行により、前記第２サービスを実行し、
前記デバッグ対象情報で表されるデバッグの対象は、前記第２サービスを含み、
前記送信手段は、前記デバッグ対象情報で表されるデバッグの対象が前記第２サービスである場合に、前記受信手段によって受信された前記所定のデータを、前記コマンドに対する応答データとして返信する、
ことを特徴とする請求項５に記載のサーバ装置。
【請求項７】
前記連携サービスは、前記受信手段で受信された前記所定のデータを、前記コマンドに従って加工する第３サービスをさらに連携されたサービスであり、
前記連携サービス実行手段は、前記所定のデータを前記コマンドに従って加工する情報処理の実行により、前記第３サービスを実行し、
前記デバッグ対象情報で表されるデバッグの対象は、前記第３サービスを含み、
前記送信手段は、前記デバッグ対象情報で表されるデバッグの対象が前記第３サービスである場合に、前記連携サービス実行手段によって加工された前記所定のデータを、前記コマンドに対する応答データとして返信する、
ことを特徴とする請求項６に記載のサーバ装置。
【請求項８】
コンピューターを、
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記受信手段が受信した前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信手段と、
して機能させることを特徴とするサーバプログラム。
【請求項９】
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信ステップと、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行ステップと、
前記受信ステップで受信された前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行ステップで前記連携サービスの実行が開始されてから終了されるまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信ステップと、
を有することを特徴とするサービス実行方法。
【請求項１０】
複数のサービスが連携された連携サービスを実行するように指示するコマンドを入力する入力手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記入力手段で入力された前記コマンドが、前記連携サービスの実行に用いられる前記情報処理に対してデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを表示する表示手段と、
を備えることを特徴とするサーバクライアントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定の機能を提供する（以下、サービスを実行するという）サーバ装置、サーバプログラム、及びサービス実行方法、並びにサーバクライアントシステムに関する。
【背景技術】
【０００２】
サービスを実行するサーバと、サービスの実行を要求するクライアントとで構成されるサーバクライアントシステムにおいて、サーバは、通常、セキュリティが確保されたデータセンターに設置される。このシステムに関し、サーバプログラムに不具合が生じた場合に、データセンターに設置されたサーバへコマンドを送信することで、サーバプログラムを一時停止させる、ステップ毎に実行させる、及び実行で使用されるメモリの値を参照する等のデバッグを行う技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２２５０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、デバッグに用いられる情報を取得するためにサーバのサービスを停止しなくてはならないという問題があった。また、特許文献１に開示された技術では、プログラムの一時停止及びステップ実行を制御するコマンドを送受信するために、専用のポートを開放する必要がある。このため、開放されたポートを通じてサーバが攻撃を受けるおそれがあり、セキュリティリスクが増加するという問題があった。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、その目的とするところは、サーバのサービスを停止することなく、かつセキュリティリスクの増加を抑制しながらサーバプログラムのデバッグに用いられる情報を送信又は表示できるサーバ装置、サーバプログラム、サービス実行方法、及びサーバクライアントシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係るサーバ装置は、
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記受信手段が受信した前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信手段と、
を備えることを特徴とする。
【０００７】
上記目的を達成するため、本発明の第２の観点に係るサーバプログラムは、
コンピューターを、
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記受信手段が受信した前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信手段と、
して機能させることを特徴とする。
【０００８】
上記目的を達成するため、本発明の第３の観点に係るサービス実行方法は、
複数のサービスが連携された連携サービスを実行するように指示するコマンドを受信する受信ステップと、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行ステップと、
前記受信ステップで受信された前記コマンドが、前記連携サービスのデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行ステップで前記連携サービスの実行が開始されてから終了されるまでにおける前記所定のデータを、前記コマンドに対する応答データとして返信する送信ステップと、
を有することを特徴とする。
【０００９】
上記目的を達成するため、本発明の第４の観点に係るサーバクライアントシステムは、
複数のサービスが連携された連携サービスを実行するように指示するコマンドを入力する入力手段と、
所定のデータに対して複数の情報処理を連携して実行することで、前記連携サービスを実行する連携サービス実行手段と、
前記入力手段で入力された前記コマンドが、前記連携サービスの実行に用いられる前記情報処理に対してデバッグが行われることを表すデバッグ情報を含む場合に、前記連携サービス実行手段が前記連携サービスの実行を開始してから終了するまでにおける前記所定のデータを表示する表示手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
本発明に係るサーバ装置、サーバプログラム、サービス実行方法、及びサーバクライアントシステムによれば、サーバのサービスを停止することなく、セキュリティリスクの増加を抑制しながらサーバプログラムのデバッグに用いられる情報を送信又は表示できる。
【図面の簡単な説明】
【００１１】
【図１】図１（ａ）は、本発明の実施形態に係るサーバクライアントシステムの一例を表すネットワーク構成図である。図１（ｂ）は、本発明の実施形態に係るサーバ装置の一構成例を表すハードウェア構成図である。
【図２】クライアント装置が実行する要求コマンド送信処理の一例を表すフローチャートである。
【図３】クライアント装置が表示する要求応答画面の一例を表す図である。
【図４】図４（ａ）は、デバッグ情報の一例を説明するための図である。図４（ｂ）は、デバッグ機能情報の一例を説明するための図である。
【図５】要求コマンドの一例を表す図である。
【図６】サーバ装置が実行する応答データ送信処理の一例を表すフローチャートの前半部である。
【図７】サーバ装置が実行する応答データ送信処理の一例を表すフローチャートの中間部である。
【図８】サーバ装置が実行する応答データ送信処理の一例を表すフローチャートの後半部である。
【図９】本発明の実施形態に係るサーバ装置が有する機能の一構成例を表す機能ブロック図である。
【図１０】クライアント装置が実行する応答データ表示処理の一例を表すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態に係るサーバクライアントシステム１について、添付図面を参照しつつ説明する。
【００１３】
本発明の実施形態に係るサーバクライアントシステム１は、図１（ａ）に示すように、サーバ装置１００と、例えば、インタネット等の通信網１０を介して接続されるクライアント装置２０１及び２０２とを含んで構成される。尚、クライアント装置２０１とクライアント装置２０２とは、ぞれぞれ同様の構成を有するので、以下、クライアント装置２０１について主に説明する。
【００１４】
サーバクライアントシステム１は、クライアント装置２０１で指定されたサービスをサーバ装置１００で実行した後（つまり、指定された機能の提供に用いられる情報処理を実行した後）に、実行されたサービスの結果をクライアント装置２０１に表示する。
【００１５】
サーバ装置１００は、データを受信する受信サービスと、その他４個のサービスとを連携した連携サービスを実行する。この連携サービスを実行するために、サーバ装置１００は、受信サービスの実行によって受信されたデータに対して第１サービスを実行し（つまり、第１機能の実現に用いられる情報処理を実行し）、第１サービスが実行されたデータに対して第２サービスを実行し、第２サービスが実行されたデータに対して第３サービスを実行し、第３サービスを実行されたデータに対して第４サービスを実行する。
【００１６】
クライアント装置２０１は、サーバ装置１００に異常が生じていない通常時において、サーバ装置１００に対して連携サービスの実行を要求する要求コマンドを送信すると共に、サーバ装置１００から連携サービスが実行されたデータ（つまり、連携サービスの実行結果）を受信する。
【００１７】
一方で、サーバ装置１００に異常が生じた異常時において、クライアント装置２０１は、サーバ装置１００から連携サービスの実行途中におけるデータ（つまり、連携サービスの途中経過）を受信し、受信した連携サービスの途中経過を表示する。
【００１８】
尚、クライアント装置２０１を使用するユーザは、連携サービスの途中経過を用いて、連携サービスの実行にサーバ装置１００が用いるハードウェア及び情報処理プログラムの異常箇所を特定する（以下単に、連携サービスをデバッグするという）。つまり、連携サービスの途中経過は、連携サービスのデバッグを補助する情報（以下、デバッグ補助情報という）である。
【００１９】
サーバ装置１００は、図１（ｂ）に示すように、ＣＰＵ（Central Processing Unit）１００ａ、ＲＯＭ（Read Only Memory）１００ｂ、ＲＡＭ（Random Access Memory）１００ｃ、ハードディスク１００ｄ、メディアコントローラ１００ｅ、ＬＡＮカード（Local Area Network）１００ｆ、ビデオカード１００ｇ、ＬＣＤ（Liquid Crystal Display）１００ｈ、キーボード１００ｉ、及びポインティングデバイス（以下単に、マウスという）を含んで構成される。
【００２０】
ＣＰＵ１００ａは、ＲＯＭ１００ｂ又はハードディスク１００ｄに保存されたプログラムに従ってソフトウェア処理（つまり、情報処理）を実行することで、サーバ装置１００の全体制御を行う。ＲＡＭ１００ｃは、ＣＰＵ１００ａによるプログラムの実行時において、処理対象とする情報（つまり、データ）を一時的に記憶する。
【００２１】
ハードディスク１００ｄは、例えば、アパッチ（Apache HTTP Server）などのウェブサーバソフトウェアを記憶する。また、ハードディスク１００ｄは、各種の情報（つまり、データ）を保存した表（つまり、テーブル）を記憶する。尚、サーバ装置１００は、ハードディスク１００ｄの代わりに、フラッシュメモリを備えても良い。
【００２２】
メディアコントローラ１００ｅは、記録媒体から各種のデータ及びプログラムを読み出す。尚、記録媒体は、フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、及びブルーレイディスク（Blu-ray Disc）を含む。
【００２３】
ＬＡＮカード１００ｆは、通信網１０を介して接続するクライアント装置２０１及び２０２との間でデータ及びコマンドを送受信する。
【００２４】
ビデオカード１００ｇは、ＣＰＵ１００ａから出力されたデジタル信号に基づいて画像を描画（つまり、レンダリング）すると共に、描画された画像を表す画像信号を出力する。ＬＣＤ１００ｈは、ビデオカード１００ｇから出力された画像信号に従って画像を表示する。尚、ウェブサーバ装置１００は、ＬＣＤ１００ｈの代わりに、ＰＤＰ（Plasma Display Panel）又はＥＬ（Electroluminescence）ディスプレイを備えても良い。
【００２５】
キーボード１００ｉ及びマウスｊは、ユーザの操作に応じた信号を入力する。尚、ウェブサーバ装置１００は、キーボード１００ｉ及びマウスｊの代わりにタッチパネルを備えても良い。
【００２６】
ここで、図１（ｂ）で説明したハードウェアを用いてサーバ装置１００が実行する情報処理について説明する前に、図１（ａ）に示したクライアント装置２０１が実行する処理について説明する。尚、クライアント装置２０１のハードウェア構成は、図１（ｂ）に示したサーバ装置１００の構成と同様であるので説明を省略する。
【００２７】
クライアント装置２０１は、連携サービスの実行を要求する要求コマンドを送信する、図２に示すような要求コマンド送信処理を実行する。
図２に示す要求コマンド送信処理の実行を開始すると、クライアント装置２０１は、図３に示すような要求応答画面ＦＱＳを、クライアント装置２０１が有するＬＣＤに表示させる（ステップＳ０１）。尚、図３の要求応答画面ＦＱＳは、要求コマンドの内容を表示する要求コマンド表示領域ＡＱと、要求コマンドに応じて返信された応答データの内容を表示する応答表示領域ＡＳとを有する。
【００２８】
次に、クライアント装置２０１は、ユーザの操作に応じてクライアント装置２０１の有するキーボードから入力された信号を取得し、取得した信号に基づいて、実行を要求される連携サービスを表す要求サービス情報を取得する（ステップＳ０２）。尚、要求サービス情報は、要求される連携サービスを実行するサーバ装置１００のＵＲＩ（Uniform Resource Identifiers）で表され、図３に示すように、要求コマンド表示領域ＡＱのテキストボックスＴＢＳに表示される。
【００２９】
次に、クライアント装置２０１は、ユーザの操作に応じて入力された信号に基づいて、連携サービスのデバッグを補助する情報（つまり、連携サービスの途中経過）の返信をサーバ装置１００に対して求めるか否かを表すデバッグ情報を取得する（ステップＳ０３）。
【００３０】
ステップＳ０３の処理を具体的に説明すると、クライアント装置２０１は、図３に示す要求コマンド表示領域ＡＱのチェックボックスＣＢＤにカーソルを合せる操作、及びカーソルを合せる操作の後に行われるユーザのクリック操作などに応じてマウスから入力された信号を取得し、取得した信号に基づいてデバッグ情報を取得する。
【００３１】
尚、デバッグ情報は、図４（ａ）に示すように、値「0」で、デバッグが行われないために、連携サービスの実行結果を応答するようにサーバ装置１００に対して求めることを表す。また、デバッグ情報は、値「1」で、デバッグが行われるために、連携サービスの途中経過を応答するようにサーバ装置１００に対して求めることを表す。さらに、クライアント装置２０１は、図３のチェックボックスＣＢＤにチェックを表示することで、取得したデバッグ情報の値が「1」であることを表す。
【００３２】
図２のステップＳ０３の処理が終了した後に、クライアント装置２０１は、ステップＳ０３で取得したデバッグ情報の値が「1」であるか（つまり、デバッグが行われるか）否かを判断する（ステップＳ０４）。
【００３３】
クライアント装置２０１は、デバッグ情報の値が「1」であると判断すると（ステップＳ０４；Ｙｅｓ）、ステップＳ０３と同様に、入力された信号に基づいてデバッグ機能情報を取得する（ステップＳ０５）。具体的には、クライアント装置２０１は、図３のリストボックスＬＢＤにリスト表示されたデバッグ機能情報の値に対してカーソルを合せる操作などに応じてマウスから入力された信号を取得し、取得した信号に基づいてデバッグ機能情報を取得する。
【００３４】
ここで、デバッグ機能情報とは、連携サービスの実行に伴って所定のサービスを実行する機能部又は装置の内で、どの機能部又は装置をデバッグ対象とするかを表す情報である。また、デバッグ機能情報は、デバッグ対象とする機能部又は装置によるサービスの実行結果を、連携サービスの途中経過（つまり、デバッグ補助情報）として応答するように求める情報である。尚、デバッグ機能情報の詳細については後述する。
【００３５】
図２のステップ０４において、デバッグ情報の値が「1」でないと判断した場合（ステップＳ０４；Ｎｏ）、又はステップ０５の処理を実行した後に、クライアント装置２０１は、ステップＳ０２で取得された要求サービス情報及びステップＳ０３で取得されたデバッグ情報、並びにステップＳ０５でデバッグ機能情報を取得した場合にはデバッグ機能情報を用いて、図５に示すような、アプリケーションデータ（以下単に、ＡＰデータという）ＤＡを生成する（ステップＳ０６）。
【００３６】
次に、クライアント装置２０１は、通信プロトコルに従って、図５に示すようなＡＰデータＤＡの通信ヘッダＤＨを生成する（ステップＳ０７）。尚、通信ヘッダＤＨには、クライアント装置２０１でデータの表示に使用されるブラウザなどのソフトウェアを表す情報が含まれる。
【００３７】
その後、クライアント装置２０１は、ＡＰデータＤＡと通信ヘッダＤＨとを用いて、図５に示すような要求コマンドＣＲを生成する（ステップＳ０８）。次に、クライアント装置２０１は、ステップＳ０３と同様に、マウス又はキーボードから入力された信号に基づいて、要求コマンドＣＲを暗号化して送信するか否かを判断する（ステップＳ０９）。クライアント装置２０１は、要求コマンドＣＲを暗号化して送信すると判断すると（ステップＳ０９；Ｙｅｓ）、例えば、サーバ装置１００と共通に有する共通鍵を用いて、要求コマンドＣＲを暗号化する（ステップＳ１０）。
【００３８】
要求コマンドＣＲを暗号化して送信しないと判断した場合（ステップＳ０９；Ｎｏ）、又はステップＳ１０で要求コマンドＣＲを暗号化した後に、クライアント装置２０１は、平文又は暗号文の要求コマンドＣＲをサーバ装置１００へ送信する（ステップＳ１１）。その後、クライアント装置２０１は、要求コマンド送信処理の実行を終了する。
【００３９】
次に、サーバ装置１００が実行する処理について説明する。
サーバ装置１００は、クライアント装置２０１から要求コマンドＣＲを受信すると、受信した要求コマンドＣＲに対して応答した応答データを送信する、図６から図８に示すような応答データ送信処理を実行する。尚、図１（ｂ）に示したサーバ装置１００のＣＰＵ１００ａは、図６等に示す応答データ送信処理を実行することで、図９に示すサービス実行部１２０、第１機能部１３１、第２機能部１３２、第３機能部１３３、及び第４機能部１３４を有する連携サービス実行部１５０として機能し、図１（ｂ）のＬＡＮカード１００ｆと協働して図９の受信部１１０及び送信部１４０として機能する。
【００４０】
先ず、クライアント装置２０１から送信された要求コマンドＣＲが暗号化されており、かつ値「0」のデバッグ情報を有する場合（つまり、デバッグが行われない通常時）を例に挙げて、図６等に示す応答データ送信処理を説明する。
【００４１】
図６の応答データ送信処理の実行が開始されると、図９の受信部１１０は、サービス実行部１２０に制御されて、クライアント装置２０１から要求コマンドＣＲを受信する受信サービスを実行する（ステップＳ２１）。次に、サービス実行部１２０は、要求コマンドＣＲが暗号化されていると判断する（ステップＳ２２；Ｙｅｓ）。次に、第１機能部１３１は、サービス実行部１２０に制御されて、要求コマンドＣＲを復号化する第１機能を提供する（つまり、第１サービスを実行する）（ステップＳ２３）。
【００４２】
次に、サービス実行部１２０は、復号化された要求コマンドＣＲから通信ヘッダＤＨを取得する（ステップＳ２４）。その後、サービス実行部１２０は、復号化された要求コマンドＣＲからＡＰデータＤＡを取得する（ステップＳ２５）。次に、サービス実行部１２０は、ＡＰデータＤＡから要求サービス情報を取得する（ステップＳ２６）。その後、サービス実行部１２０は、ＡＰデータＤＡからデバッグ情報を取得する（ステップＳ２７）。
【００４３】
次に、サービス実行部１２０は、ステップＳ２６で取得したデバッグ情報が値「1」であるか（つまり、デバッグが行われるか）否かを判断する（ステップＳ２８）。サービス実行部１２０は、取得したデバッグ情報が値「0」であると判断し（ステップＳ２８；Ｎｏ）、デバッグ機能情報を取得しない。
【００４４】
次に、サービス実行部１２０は、ステップＳ２８と同様に、デバッグ情報の値が「1」でないと判断し（ステップＳ３０；Ｎｏ）、連携サービスの途中経過を応答しない。その後、第２機能部１３２は、サービス実行部１２０に制御されて、例えば、データサーバ装置などの装置から所定のデータを受信する第２の機能を提供する（第２サービスを実行するともいう）（ステップＳ３１）。具体的には、第２機能部１３２は、データの送信を要求する要求先が解釈可能な電文を生成し、生成した電文を当該要求先へ送信した後に、送信された電文に対する応答電文及び応答データを当該装置から受信する。
【００４５】
尚、第２機能部１３２が受信するデータは、予め定められたデータでも良いし、要求コマンドＣＲで指定されるデータであっても良いし、要求コマンドＣＲを送信したクライアント装置２０１から送信されるデータであっても良い。
【００４６】
ステップＳ３１の処理が実行された後に、サービス実行部１２０は、ステップＳ３０と同様に、デバッグ情報の値が「1」でないと判断し（ステップＳ３２；Ｎｏ）、連携サービスの途中経過を応答しない。その後、第３機能部１３３は、サービス実行部１２０に制御されて、ステップＳ３１で受信されたデータ（以下、受信データという）を加工する第３の機能を提供する（第３サービスを実行するともいう）（ステップＳ３３）。
【００４７】
具体的には、第３機能部１３３は、ステップＳ２４で取得した通信ヘッダＤＨから、クライアント装置２０１がデータの表示に用いるソフトウェアを表す情報を取得し、取得した情報で表されるソフトウェアにおける表示に適したな形式に、受信データを加工する。尚、表示に適したデータの形式は、例えば、ＨＴＭＬタグが付加された、ブラウザでの表示に適した形式を含む。
【００４８】
また、第３機能部１３３は、受信データが有する、行頭復帰及び改行を表すラインフィードを、クライアント装置２０１で行頭復帰を表すために用いられるラインフィード及び改行を表すために用いられるキャリッジリターンに加工しても良い。
【００４９】
ステップＳ３３の処理が実行された後に、サービス実行部１２０は、ステップＳ３２と同様に、デバッグ情報の値が「1」でないと判断し（図８のステップＳ３４；Ｎｏ）、連携サービスの途中経過を応答しない。その後、サービス実行部１２０は、ステップＳ２１で受信した要求コマンドが暗号化されていたか否かを判断し（ステップＳ３５）、暗号化されていたと判断する（ステップＳ３５；Ｙｅｓ）。
【００５０】
次に、第４機能部１３４は、サービス実行部１２０に制御されて、図７のステップＳ３３で加工されたデータ（以下、加工済データという）を暗号化する第４の機能を提供する（第４サービスを実行するともいう）（ステップＳ３６）。その後、サービス実行部１２０は、暗号化されたデータ（以下、暗号化済データという）を、要求コマンドに対する応答データとする（ステップＳ３７）。その後、送信部１４０は、応答データをクライアント装置２０１へ返信する（ステップＳ３８）。その後、応答データ送信処理の実行が終了される。
【００５１】
尚、ステップＳ３５において、要求コマンドが暗号化されていないとサービス実行部１２０が判断すると（ステップＳ３５；Ｎｏ）、平文の加工済データを応答データとする（ステップＳ３９）。その後、ステップＳ３８の処理が実行された後に、応答データ送信処理の実行が終了される。
【００５２】
次に、クライアント装置２０１から送信された要求コマンドＣＲが暗号化されておらず、かつ値「1」のデバッグ情報を有する場合（つまり、デバッグが行われる異常時）を例に挙げて、図６から図８に示した応答データ送信処理の説明を継続する。この場合において、図５を参照して説明したように、要求コマンドＣＲは、デバッグ機能情報を含む。
【００５３】
ここで、デバッグ機能情報は、図４（ｂ）に示すように、値「0」で、サーバ装置１００の受信部１１０による受信サービスの実行結果を、連携サービスの途中経過として応答するように求めることを表す。同様に、デバッグ機能情報は、値「１」から「3」で、それぞれサーバ装置１００の第１機能部１３１、第２機能部１３２、及び第３機能部１３３によるサービスの実行結果を、連携サービスの途中経過として応答するように求めることを表す。
【００５４】
以下、要求コマンドＣＲが値「0」のデバッグ機能情報を有する場合について説明する。
図６などに示す応答データ送信処理の実行が開始されると、図９の受信部１１０は、クライアント装置２０１から要求コマンドＣＲを受信する（ステップＳ２１）。次に、サービス実行部１２０は、要求コマンドＣＲが暗号化されていないと判断する（ステップＳ２２；Ｎｏ）。
【００５５】
次に、サービス実行部１２０は、要求コマンドＣＲから通信ヘッダＤＨ、ＡＰデータＤＡ、要求サービス情報、及びデバッグ情報をそれぞれ取得する（ステップＳ２４からＳ２７）。
【００５６】
次に、サービス実行部１２０は、デバッグ情報が値「1」である（つまり、デバッグが行われる）と判断し（ステップＳ２８；Ｙｅｓ）、ＡＰデータＤＡからデバッグ機能情報を取得する（ステップＳ２９）。
【００５７】
次に、サービス実行部１２０は、ステップＳ２８と同様に、デバッグ情報の値が「1」であると判断した後に（図７のステップＳ３０；Ｙｅｓ及びステップＳ４０；Ｙｅｓ）、デバッグ機能情報の値が「0」であると判断する（ステップＳ４１；Ｙｅｓ）。次に、サービス実行部１２０は、ステップＳ２１で受信サービスの実行により受信された要求コマンドを応答データとする（ステップＳ４２）。次に、送信部１４０は、応答データを、通常時と同じポートを使用してクライアント装置２０１へ返信する（図８のステップＳ３８）。その後、応答データ送信処理の実行が終了される。
【００５８】
これらの構成によれば、複数のサービスが実行される場合であっても、デバッグの対象とするサービスの実行結果を表すデータを返信できる。このため応答データを受信するクライアント装置２０１のユーザは、デバッグ対象とするサービスの実行結果を表すデータを用いて当該サービスをデバッグできる。またこれらの構成によれば、デバッグに用いるコマンド及び応答データの送受信のために専用ポートを開放することがないため、デバッグのために開放したポートから攻撃を受けることが無く、セキュリティリスクの増加を抑制できる。
【００５９】
またこれらの構成によれば、受信部１１０が受信したコマンドを応答データとして返信するため、応答データを受信するクライアント装置２０１のユーザは、サーバ装置１００の応答結果に基づいて、受信サービスに異常がある否かを容易に判断できる。よって、ユーザは、受信サービスに異常があると判断した場合には、受信部１１０がデータの受信に用いる通信網１０などの通信経路、又は送信された要求コマンド自体に異常があると容易に判断できる。
【００６０】
尚、デバッグ機能情報の値が「1」の場合（つまり、第１機能部１３１によるサービスの実行結果の応答を求める場合）、サービス実行部１２０は、図７のステップＳ４１において、デバッグ機能情報の値が「0」でないと判断する（ステップＳ４１；Ｎｏ）。次に、サービス実行部１２０は、図６のステップＳ２３で第１機能部１３１が第１サービスの実行により復号化した要求コマンドを応答データとする（ステップＳ４３）。次に、送信部１４０は、通常時と同じポートを使用して応答データをクライアント装置２０１へ返信する（図８のステップＳ３８）。その後、応答データ送信処理の実行が終了される。
【００６１】
これらの構成によれば、応答データを受信するクライアント装置２０１のユーザは、受信サービスに異常が無いと判断した後であれば、受信後に復号化されたコマンドを検証することで、受信されたコマンドを復号化する第１サービスに異常があるか否かを容易に判断できる。よってユーザは、第１サービスに異常があると判断すると、第１サービスの実行に用いられる情報処理にバグがあることを容易に特定できる。
【００６２】
同様に、デバッグ機能情報の値が「2」の場合（つまり、第２機能部１３２によるサービスの実行結果の応答を求める場合）、サービス実行部１２０は、図７のステップＳ３２において、デバッグ情報の値が「1」であると判断した後に（ステップＳ３２；Ｙｅｓ）、デバッグ機能情報の値が「2」であると判断する（ステップＳ４４；Ｙｅｓ）。次に、サービス実行部１２０は、ステップＳ３１で第２機能部１３２が第２サービスの実行により受信した所定のデータ（つまり、受信データ）を応答データとする（ステップＳ４５）。次に、送信部１４０は、通常時と同じポートを使用して応答データをクライアント装置２０１へ返信する（図８のステップＳ３８）。その後、応答データ送信処理の実行が終了される。
【００６３】
これらの構成によれば、応答データを受信するクライアント装置２０１のユーザは、受信サービス及び第１サービスに異常が無いと判断した後であれば、連携サービスの対象とされるデータ（つまり、受信データ）を検証することで、当該データを受信する第２サービスに異常があるか否かを容易に判断できる。よってユーザは、第２サービスに異常があると判断すると、第２サービスの実行に用いられる情報処理にバグがあることを容易に特定できる。
【００６４】
尚、第２機能部１３２で第２サービスの実行のために用いられる情報処理は、第１機能部１３１で第１サービスの実行のために用いられる情報処理よりも運用期間が長く、かつ処理ステップが多いため規模が大きい。通常、情報処理の運用期間が長い程、例えば、バグなどの異常を生じさせる処理が既に改修されていることが多い。よって、これらの構成によれば、連携サービスに用いられる情報処理を、運用期間が長い程、情報処理の規模が大きくなるように分割しているので、応答データを受信するクライアント装置２０１のユーザは、運用期間が長く異常が生じる可能性が低い処理程、おおまかに処理の異常個所を特定でき、運用期間が短く異常が生じる可能性が高い処理程、細かく処理の異常個所を特定できるため、効率的に連携サービスをデバッグできる。
【００６５】
また同様に、デバッグ機能情報の値が「3」の場合（つまり、第３機能部１３３によるサービスの実行結果の応答を求める場合）、サービス実行部１２０は、図８のステップＳ３４において、デバッグ情報の値が「1」であると判断した後に（ステップＳ３４；Ｙｅｓ）、デバッグ機能情報の値が「3」であると判断する（ステップＳ４６；Ｙｅｓ）。次に、サービス実行部１２０は、図７のステップＳ３３で第３機能部１３３が第３サービスの実行により加工した受信データ（つまり、加工済データ）を応答データとする（ステップＳ４７）。次に、送信部１４０は、通常時と同じポートを使用して応答データをクライアント装置２０１へ返信する（ステップＳ３８）。その後、応答データ送信処理の実行が終了される。
【００６６】
これらの構成によれば、応答データを受信するクライアント装置２０１のユーザは、受信サービス、第１サービス、及び第２サービスに異常が無いと判断した後であれば、加工されたデータを検証することで、データを加工する第３サービスに異常があるか否かを容易に判断できる。よってユーザは、第３サービスに異常があると判断すると、第３サービスの実行に用いられる情報処理にバグがあることを容易に特定できる。また、第３サービスに異常がないと判断すると、第４サービスに異常があり、第４サービスの実行に用いられる情報処理にバグがあることを容易に特定できる。
【００６７】
次に、応答データを受信するクライアント装置２０１について説明する。
クライアント装置２０１は、サーバ装置１００から送信された応答データを表示する、図１０に示すような応答データ表示処理を実行する。
応答データ表示処理の実行を開始すると、クライアント装置２０１は、サーバ装置１００から応答データを受信する（ステップＳ５１）。次に、クライアント装置２０１は、応答データが暗号化された暗号データであるか否かを判断する（ステップＳ５２）。クライアント装置２０１は、応答データが暗号データであると判断した場合に（ステップＳ５２；Ｙｅｓ）、応答データを復号化する（ステップＳ５３）。
【００６８】
応答データが暗号データでないと判断した場合（ステップＳ５２；Ｎｏ）、又はステップＳ５３を実行した後に、クライアント装置２０１は、平文の応答データで表される連携サービスの実行結果又は途中経過を、図３に示す要求応答画面ＦＱＳの応答表示領域ＡＳに表示する。
【００６９】
これらの構成によれば、サーバ装置１００は、連携サービスの実行が開始されてから終了されるまでにおいて情報処理されたデータを、要求コマンドに対する応答データとして返信する。このため、サーバ装置１００による連携サービスの実行を停止させることなく、クライアント装置２０１は、連携サービスの実行途中におけるデータを返信させ、返信させたデータを表示できる。このため、応答データを受信するクライアント装置２０１のユーザは、連携サービスの実行途中におけるデータを用いて、連携サービスの実行に用いられる情報処理をデバッグできる。
【００７０】
また、これらの構成によれば、例えば、連携サービスの実行に用いられるサーバプログラムの１命令ずつの実行結果を、応答データとしてサーバ装置１００が返信する場合と比べて、オーバヘッドを小さくできる。
【００７１】
また、これらの構成によれば、サーバ装置１００の設置位置にデバッガが出向いて、又はクライアント装置２０１を用いてサーバプログラムを１命令ずつ実行させながらデバッグすることなく、異常が発生しているサービスをおおまかに特定できる。また、おおまかに異常が発生しているサービスを特定するため、迅速かつ容易に、異常が発生しているサービスを特定できる。また、例えば、連携サービスを構成するサービスの内で、異常が生じていると特定されたサービスに用いられるプログラムを、異常が報告されなかった旧バージョンのプログラムに置き換えるだけで、連携サービスの実行を引き続き異常なく実行できる場合がある。
【００７２】
＜変形例１＞
クライアント装置２０１は、テストデータを受信するように要求する要求コマンドをサーバ装置１００へ送信し、サーバ装置１００は、第２サービスの実行によりテストデータを受信し、受信したテストデータを応答データとして返信する構成、テストデータに対して第３サービスを実行したテストデータを応答データとして返信する構成、及びテストデータに対して第３サービス及び第４サービスを実行したテストデータを応答データとして返信する構成を採用できる。これらの構成によれば、ユーザは、テストデータ自体又はテストデータに対して加工及び暗号化を施したデータに基づいて、第２サービスから第４サービスのいずれに異常が発生しているかを容易に特定できる。
【００７３】
＜変形例２＞
クライアント装置２０１は、サーバ装置１００が、図７のステップＳ３１でデータサーバ装置へ送信する電文を返信するように要求する要求コマンドを送信し、サーバ装置１００は、この要求コマンドに応答する構成を採用できる。この構成によれば、ユーザは、データサーバ装置からデータを受信する第２サービスに異常があると特定した後に、第２サービスの実行に用いられる情報処理の内で、電文を生成する処理又は電文を送信する処理に異常が発生しているか否かを特定できるため、異常個所をより細かく特定できる。
【００７４】
＜変形例３＞
同様に、クライアント装置２０１は、データサーバ装置がサーバ装置１００から受信した電文に対して返信した電文を返信するように要求する要求コマンドを送信し、サーバ装置１００は、この要求コマンドに応答する構成を採用できる。この構成によれば、ユーザは、データサーバ装置からデータを受信する第２サービスに異常があると特定した後に、データサーバ、又はデータサーバとの通信経路に異常が発生しているか否かを容易に特定できる。
【００７５】
＜変形例４＞
クライアント装置２０１は、第１サービスから第４サービスの実行に用いられる変数又は図１（ｂ）のＲＡＭ１００ｃに格納された値を返信するように要求する要求コマンドをサーバ装置１００へ送信し、サーバ装置１００は、この要求コマンドに応答する構成を採用できる。
【００７６】
＜変形例５＞
同様に、クライアント装置２０１は、第１サービスから第４サービスそれぞれの実行途中におけるデータを返信するように要求コマンドをサーバ装置１００へ送信し、サーバ装置１００は、この要求コマンドに応答する構成を採用できる。
【００７７】
尚、本発明に係る機能を実現するための構成を予め備えたサーバ装置として提供できることはもとより、プログラムの適用により、既存のサーバ装置を本発明に係るサーバ装置として機能させることもできる。すなわち、上記実施形態で例示したサーバ装置１００による各機能構成を実現させるための制御プログラムを、既存のサーバ装置を制御するコンピューター（ＣＰＵなど）が実行できる様に適用することで、本発明に係るサーバ装置１００として機能させることができる。
【００７８】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ、又はＤＶＤ−ＲＯＭなどの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。尚、本発明のサービス実行方法は、サーバ装置１００を用いて実施できる。
【００７９】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００８０】
本発明は、クライアント装置からのリクエストに応じてサービスを実行するサーバ装置を含んで構成されるサーバクライアントシステムにおいて、サービスの実行に用いられる情報処理プログラムのデバッグを行うシステムに適する。
【符号の説明】
【００８１】
１        サーバクライアントシステム
１００    サーバ装置
１００ａ  ＣＰＵ
１００ｂ  ＲＯＭ
１００ｃ  ＲＡＭ
１００ｄ  ハードディスク
１００ｅ  メディアコントローラ
１００ｆ  ＬＡＮカード
１００ｇ  ビデオカード
１００ｈ  ＬＣＤ
１００ｉ  キーボード
１００ｊ  マウス
１１０    受信部
１２０    サービス実行部
１３１    第１機能部
１３２    第２機能部
１３３    第３機能部
１３４    第４機能部
１４０    送信部
１５０    連携サービス実行部
２０１，２０２  クライアント装置
ＡＱ      要求コマンド表示領域
ＡＳ      応答データ表示領域
ＣＢＤ    チェックボックス
ＣＲ      要求コマンド
ＤＡ      アプリケーションデータ
ＤＨ      通信ヘッダ
ＦＱＳ    要求応答画面
ＬＢＤ    リストボックス
ＴＢＳ    テキストボックス
【図１】
2011227662.tif 000003
【図２】
2011227662.tif 000004
【図３】
2011227662.tif 000005
【図４】
2011227662.tif 000006
【図５】
2011227662.tif 000007
【図６】
2011227662.tif 000008
【図７】
2011227662.tif 000009
【図８】
2011227662.tif 000010
【図９】
2011227662.tif 000011
【図１０】
2011227662.tif 000012