(57)【特許請求の範囲】
【請求項１】
動作テストの対象となるアプリケーションがインストールされたサーバにネットワークを介して接続され、ＳＯＡＰに基づいてパケットデータ化されたメッセージを前記サーバとの間で送受信するＳＯＡＰ実装部と、
前記ＳＯＡＰ実装部で受信された前記パケットデータを取得し、前記パケットデータを解析して前記メッセージを取得するパケットキャプチャ部と、
前記パケットキャプチャ部で取得された前記メッセージで実行要求されたジョブを実行するジョブ実行部と、
前記ジョブ実行部における前記ジョブの実行回数を前記ジョブの実行単位で計数するカウンタ部と、
前記パケットキャプチャ部で取得された前記パケットデータおよび前記メッセージ、前記ジョブ実行部で実行された前記ジョブのＩＤ、実行時間、実行結果、並びに前記カウンタ部で計数された前記実行回数を含むログデータを記憶するログ記憶部と、
前記ログ記憶部に記憶された前記ログデータに基づいて前記パケットデータ、前記メッセージ、前記ジョブのＩＤ、前記実行時間、前記実行結果および前記実行回数を含むデバッグ情報を作成し、Ｗｅｂ画面を生成するＷｅｂ画面生成部と、
前記Ｗｅｂ画面生成部で生成された前記Ｗｅｂ画面を出力するＷｅｂサーバと、
を備えることを特徴とする複合機エミュレータ。
【請求項２】
前記ログ記憶部に記憶された前記パケットデータからＴＣＰプロトコルに係る部分以外を除去して新たなパケットデータを作成し、前記ログ記憶部へ出力するパケットフィルタ部を更に備えることを特徴とする請求項１記載の複合機エミュレータ。
【請求項３】
前記ジョブ実行部における前記ジョブの実行指示権限を有するユーザの情報を記憶するユーザ情報記憶部と、
前記ネットワークを介して接続された開発者端末のＷｅｂブラウザから前記Ｗｅｂサーバへ送信された認証情報を前記Ｗｅｂサーバから取得し、前記認証情報に基づいて前記ユーザ情報記憶部を参照して前記ユーザの認証を行う認証処理部と、
を更に備えることを特徴とする請求項２記載の複合機エミュレータ。
【請求項４】
動作テストの対象となるアプリケーションがインストールされたアプリケーションサーバおよび前記アプリケーションの前記動作テストを指示する開発者端末にネットワークを介して接続され、前記アプリケーションから受信したメッセージに応じて複合機の機能を模倣したジョブを実行する複合機エミュレータにおける複合機エミュレート方法であって、
ＳＯＡＰに基づいてパケットデータ化された前記メッセージを前記アプリケーションサーバとの間で送受信するＳＯＡＰ実装ステップと、
前記ＳＯＡＰ実装ステップで受信された前記パケットデータを取得し、前記パケットデータを解析して前記メッセージを取得するパケットキャプチャステップと、
前記パケットキャプチャステップで取得された前記メッセージで実行要求されたジョブを実行するジョブ実行ステップと、
前記ジョブ実行ステップにおける前記ジョブの実行回数を前記ジョブの実行単位で計数する計数ステップと、
前記パケットキャプチャステップで取得された前記パケットデータおよび前記メッセージ、前記ジョブ実行ステップで実行された前記ジョブのＩＤ、実行時間、実行結果、並びに前記計数ステップで計数された前記実行回数を含むログデータを記憶装置内に記憶するログ記憶ステップと、
前記ログ記憶ステップで前記記憶装置内に記憶された前記ログデータに基づいて前記パケットデータ、前記メッセージ、前記ジョブのＩＤ、前記実行時間、前記実行結果および前記実行回数を含むデバッグ情報を作成し、Ｗｅｂ画面を生成するＷｅｂ画面生成ステップと、
前記Ｗｅｂ画面生成ステップで生成された前記Ｗｅｂ画面を前記開発者端末へ出力するＷｅｂ画面出力ステップと、
を有することを特徴とする複合機エミュレート方法。
【請求項５】
前記ログ記憶ステップにおいて前記記憶装置に記憶された前記パケットデータからＴＣＰプロトコルに係る部分以外を除去して新たなパケットデータを作成し、前記記憶装置へ出力するパケットフィルタステップを更に有することを特徴とする請求項４記載の複合機エミュレート方法。
【請求項６】
前記ジョブ実行ステップにおける前記ジョブの実行指示権限を有するユーザ情報を前記記憶装置に予め記憶するユーザ情報記憶ステップと、
前記開発者端末のＷｅｂブラウザからＷｅｂサーバへ送信された認証情報を前記Ｗｅｂサーバから取得し、前記認証情報に基づいて前記記憶装置内の前記ユーザ情報を参照して認証を行う認証ステップと、
を更に有することを特徴とする請求項５記載の複合機エミュレート方法。
【請求項７】
動作テストの対象となるアプリケーションがインストールされたアプリケーションサーバと、
前記アプリケーションサーバにネットワークを介して接続され、前記アプリケーションから受信したメッセージに応じて複合機の機能を模倣したジョブを実行する複合機エミュレータと、
前記アプリケーションサーバおよび前記複合機エミュレータに前記ネットワークを介して接続され、前記アプリケーションの前記動作テストを指示する開発者端末と、
を備え、
前記複合機エミュレータは、
ＳＯＡＰに基づいてパケットデータ化された前記メッセージを前記アプリケーションサーバとの間で送受信するＳＯＡＰ実装部と、
前記ＳＯＡＰ実装部で受信された前記パケットデータを取得し、前記パケットデータを解析して前記メッセージを取得するパケットキャプチャ部と、
前記パケットキャプチャ部で取得された前記メッセージで実行要求されたジョブを実行するジョブ実行部と、
前記ジョブ実行部における前記ジョブの実行回数を前記ジョブの実行単位で計数するカウンタ部と、
前記パケットキャプチャ部で取得された前記パケットデータおよび前記メッセージ、前記ジョブ実行部で実行された前記ジョブのＩＤ、実行時間、実行結果、並びに前記カウンタ部で計数された前記実行回数を含むログデータを記憶するログ記憶部と、
前記ログ記憶部に記憶された前記ログデータに基づいて前記パケットデータ、前記メッセージ、前記ジョブのＩＤ、前記実行時間、前記実行結果および前記実行回数を含むデバッグ情報を作成し、Ｗｅｂ画面を生成するＷｅｂ画面生成部と、
前記Ｗｅｂ画面生成部で生成された前記Ｗｅｂ画面を前記開発者端末へ出力するＷｅｂサーバと、
を備えることを特徴とする複合機連携アプリケーション開発システム。
【請求項８】
前記複合機エミュレータは、前記ログ記憶部に記憶された前記パケットデータからＴＣＰプロトコルに係る部分以外を除去して新たなパケットデータを作成し、前記ログ記憶部へ出力するパケットフィルタ部を更に備えることを特徴とする請求項７記載の複合機連携アプリケーション開発システム。
【請求項９】
前記複合機エミュレータは、
前記ジョブ実行部における前記ジョブの実行指示権限を有するユーザの情報を記憶するユーザ情報記憶部と、
前記開発者端末のＷｅｂブラウザから前記Ｗｅｂサーバへ送信された認証情報を前記Ｗｅｂサーバから取得し、前記認証情報に基づいて前記ユーザ情報記憶部を参照して前記ユーザの認証を行う認証処理部と、
を更に備えることを特徴とする請求項８記載の複合機連携アプリケーション開発システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複合機エミュレータ、複合機エミュレート方法および複合機連携アプリケーション開発システムに関する。
【背景技術】
【０００２】
近年、複合機を様々なシステムと連携させるための外部Ｉ／Ｆが提案されている。複合機を含む画像処理システムは、複合機の外部に存在するサーバ上の外部ソフトウェアから複合機の機能を利用したり、複合機が記録するデータを参照することが可能な環境を提供する。このような画像処理システムを開発する開発者は、複合機の外部に存在するサーバ上で外部ソフトウェアを開発し、必要に応じて、開発者が開発した外部ソフトウェアのデバックを行う必要がある。しかし、開発者が外部ソフトウェアを開発する場合に実際の複合機を使用すると、複合機は１つの筐体であっても高額であることから、開発コストが嵩んでしまう。
【０００３】
そこで、外部ソフトウェアの開発コストを低減するために、開発者は、複合機と複合機の外部Ｉ／Ｆを模倣するソフトウェア、または、そのソフトウェアが実装された情報処理装置（以下、「複合機エミュレータ」と呼ぶ）を用いて、外部ソフトウェアを開発する手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−４４７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術においては、ＳＯＡＰのような外部Ｉ／Ｆを使用する外部ソフトウェアをソフトウェア開発者がデバッグする際には、当該ソフトウェアがどのようなメッセージを送受信しているのかを表示することが出来なかった。そのため、ソフトウェア開発は、デバッグの際、送受信されたメッセージを調べるためにパケットキャプチャ用のソフトウェアなどのデバッグ用ソフトウェアを別途用意しなければならなかった。また、メッセージと実行ジョブや実行時間との関係を一覧で表示することが出来ないため、デバッグの効率が悪かった。
【０００６】
そこで、本発明は、上記従来技術の問題に鑑み、デバッグ用ソフトウェアを別途用意することなく、デバッグ情報を効率的に提示可能な複合機エミュレータ、複合機エミュレート方法および複合機連携アプリケーション開発システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る複合機エミュレータは、ＳＯＡＰ実装部、パケットキャプチャ部、ジョブ実行部、カウンタ部、ログ記憶部、Ｗｅｂ画面生成部およびＷｅｂサーバを備える。
【０００８】
ＳＯＡＰ実装部は、動作テストの対象となるアプリケーションがインストールされたサーバにネットワークを介して接続され、ＳＯＡＰに基づいてパケットデータ化されたメッセージをサーバとの間で送受信する。パケットキャプチャ部は、ＳＯＡＰ実装部で受信されたパケットデータを取得し、パケットデータを解析してメッセージを取得する。ジョブ実行部は、パケットキャプチャ部で取得されたメッセージで実行要求されたジョブを実行する。カウンタ部は、ジョブ実行部におけるジョブの実行回数をジョブの実行単位で計数する。ログ記憶部は、パケットキャプチャ部で取得されたパケットデータおよびメッセージ、ジョブ実行部で実行されたジョブのＩＤ、実行時間、実行結果、並びにカウンタ部で計数された実行回数を含むログデータを記憶する。Ｗｅｂ画面生成部は、ログ記憶部に記憶されたログデータに基づいてパケットデータ、メッセージ、ジョブのＩＤ、実行時間、実行結果および実行回数を含むデバッグ情報を含むＷｅｂ画面を生成する。Ｗｅｂサーバは、Ｗｅｂ画面生成部で生成されたＷｅｂ画面を出力する。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る複合機エミュレータを含む複合機連携アプリケーション開発システムの概略構成例を示す図。
【図２】図１に示す複合機エミュレータのハードウェア構成例を示す図。
【図３】図１に示す複合機エミュレータ、アプリケーションサーバおよび開発者端末の全体構成例を示す図。
【図４】図１に示す複合機エミュレータにおける起動処理の具体例を示すフローチャート。
【図５】図１に示す複合機エミュレータにおけるジョブ実行処理の具体例を示すフローチャート。
【図６】図１に示す複合機エミュレータにおけるデバッグ画面生成処理の具体例を示すフローチャート。
【図７】図１に示す開発者端末に表示されるログイン画面Ｄ１の具体例を示す図。
【図８】図１に示す開発者端末に表示されるデバッグ画面Ｄ２の具体例を示す図。
【図９】図１に示す開発者端末に表示されるデバッグ詳細画面Ｄ３の具体例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を用いて詳細に説明する。  
図１は、本発明の一実施形態に係る複合機エミュレータ１を含む複合機連携アプリケーション開発システムの概略構成例を示す図である。この複合機連携アプリケーション開発システムは、開発者が複合機エミュレータ１を用いてアプリケーションを開発するシステムである。ここでは、複合機連携アプリケーション開発システムは、複合機と複合機の外部Ｉ／Ｆを模倣するソフトウェアが実装された複合機エミュレータ１、ＬＡＮやインターネットなどのネットワーク２、アプリケーションを実行するアプリケーションサーバ３、および開発者がアプリケーションを開発するために使用するパーソナルコンピュータなどの開発者端末４を備える。開発者端末４は、開発中のアプリケーションをアプリケーションサーバ３上で実行することで、ネットワーク２を介して接続する複合機エミュレータ１上のＭＦＰ（Multi Function Peripheral）機能を利用することができる。
【００１１】
図２は、図１に示す複合機エミュレータ１のハードウェア構成例を示す図である。同図に示されるように、制御装置１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３を備え、入出力インターフェース１４にシステムバス１５を介して接続されている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に格納されたプログラムやデータなどを用いて各種の演算処理を実行する処理装置である。ＲＯＭ１２は、コンピュータを機能させるための基本プログラムや環境ファイルなどを記憶する読み取り専用の記憶装置である。ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムおよび各プログラムの実行に必要なデータを記憶する記憶装置であり、高速な読み出しと書き込みが可能である。入出力インターフェース１４は、各種のハードウェアとシステムバス１５との接続を仲介する装置およびプログラムである。システムバス１５は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３および入出力インターフェース１４で共有される情報伝達路である。
【００１３】
また、入出力インターフェース１４には、入力装置１６、表示装置１７、補助記憶装置１８、通信装置１９などのハードウェアが接続されている。入力装置１６は、ユーザからの入力を処理する装置であり、例えばキーボードやマウスなどである。表示装置１７は、ユーザに対して演算結果や作成画面などを表示する装置であり、例えばＣＲＴ、液晶ディスプレイ、プラズマディスプレイなどである。補助記憶装置１８は、プログラムやデータを蓄積する大容量の記憶装置であり、例えばハードディスク装置などである。通信装置１９は、モデム、ターミナルアダプタ、およびネットワークインタフェース（図示省略）などから構成される。
【００１４】
更に、入出力インターフェース１４には、必要に応じてドライブ２０が接続され、磁気ディスク２１（フロッピディスクを含む）、光ディスク２２（ＣＤ−ＲＯＭ(Compact Disk-Read Only Memory）、ＤＶＤ(Digital Versatile Disk)を含む)、光磁気ディスク２３、あるいは半導体メモリ２４などが適宜装着され、これらから読み出したコンピュータプログラムは必要に応じて補助記憶装置１８内にインストールされる。尚、アプリケーションサーバ３および開発者端末４についても同様の構成のコンピュータであるため、説明は省略する。
【００１５】
図３は、図１に示す複合機エミュレータ１、アプリケーションサーバ３および開発者端末４の全体構成例を示す図である。図３に示すように、複合機エミュレータ１は、ユーザ情報設定部１０１、ユーザ情報記憶部１０２、Ｗｅｂサーバ１０３、認証処理部１０４、ＳＯＡＰ実装部１０５、パケットキャプチャ部１０６、パケットログ記憶部１０７、ジョブ実行部１０８、ジョブログ記憶部１０９、カウンタ部１１０、カウンタログ記憶部１１１、パケットフィルタ部１１２およびＷｅｂ画面生成部１１３を備えている。
【００１６】
ユーザ情報設定部１０１は、ジョブ実行部１０８におけるジョブの実行指示権限を有するユーザの情報を定義し、ユーザ情報記憶部１０２に記憶するプログラムである。
【００１７】
Ｗｅｂサーバ１０３は、ＨＴＴＰに基づいて開発者端末４（クライアントマシン）のＷｅｂブラウザ４０２に対して、ＨＴＭＬやオブジェクト（画像など）の表示を提供するプログラム、または、そのサービスが動作する装置である。
【００１８】
認証処理部１０４は、開発者端末４のＷｅｂブラウザ４０２からＷｅｂサーバ１０３へ送信された認証情報をＷｅｂサーバ１０３から取得し、認証情報に基づいてユーザ情報記憶部１０２を参照してユーザの認証を行うプログラムである。
【００１９】
ＳＯＡＰ実装部１０５は、ＳＯＡＰ（Simple Object Access Protocol）に基づいてパケットデータ化されたメッセージをアプリケーションサーバ３との間で送受信するための外部Ｉ／Ｆである。ＳＯＡＰは、ソフトウェア同士がメッセージ（オブジェクト）を交換するリモートプロシージャコール（ＲＰＣ：Remote Procedure Call）で使用される代表的なプロトコルである。ＳＯＡＰは、拡張可能で分散的なフレームワークでもあるため、ＨＴＴＰやＳＭＴＰなど様々なコンピュータネットワークの通信プロトコルで利用することができる。具体的には、ＳＯＡＰによる通信では、ＸＭＬ文書にエンベロープ(封筒)と呼ばれる付帯情報が付いたメッセージをＨＴＴＰなどのプロトコルによって交換する。サービスを利用するクライアントと、サービスを提供するサーバの双方がＳＯＡＰの生成・解釈エンジンを持つことで、異なる環境間でのオブジェクト呼び出しを可能にしている。本実施形態の場合は、アプリケーションサーバ３がクライアント、複合機エミュレータ１がサーバに該当する。
【００２０】
パケットキャプチャ部１０６は、ＳＯＡＰ実装部１０５で受信されたパケットデータを取得し、パケットデータを解析してメッセージを取得するプログラムである。パケットログ記憶部１０７は、パケットキャプチャ部１０６で取得されたパケットデータおよびメッセージを含むパケットログデータを記憶する記憶装置である。
【００２１】
ジョブ実行部１０８は、パケットキャプチャ部１０６で取得されたメッセージで実行要求されたジョブを実行するプログラムである。ジョブログ記憶部１０９は、ジョブ実行部１０８で実行されたジョブのＩＤ、実行時間、実行結果（戻り値）を含むジョブログデータを記憶する記憶装置である。
【００２２】
カウンタ部１１０は、ジョブ実行部１０８におけるジョブの実行回数をジョブの実行単位で計数するプログラムであり、本実施形態ではスキャンカウンタ、プリントカウンタおよびコピーカウンタの３種類備えている。カウンタログ記憶部１１１は、ジョブ実行部１０８でジョブが実行された際にカウンタ部１１０で計数された実行回数を含むカウンタログデータを記憶する記憶装置である。ユーザ情報記憶部１０２、パケットログ記憶部１０７、ジョブログ記憶部１０９およびカウンタログ記憶部１１１は別装置であってもよく、同一の装置として設けても良い。
【００２３】
Ｗｅｂ画面生成部１１３は、パケットログ記憶部１０７、ジョブログ記憶部１０９およびカウンタログ記憶部１１１にそれぞれ記憶されたログデータに基づいてパケットデータ、メッセージ、ジョブのＩＤ、実行時間、実行結果および実行回数を含むデバッグ情報を作成し、このデバッグ情報を表示するＷｅｂ画面を生成するプログラムである。
【００２４】
パケットフィルタ部１１２は、パケットログ記憶部１０７に記憶されたパケットデータからＴＣＰプロトコルに係る部分以外を除去して新たなパケットデータを作成し、パケットログ記憶部１０７へ出力するプログラムである。
【００２５】
また、アプリケーションサーバ３は、ＳＯＡＰ実装部３０１と開発アプリケーション３０２を備えている。ＳＯＡＰ実装部３０１は、上述した複合機エミュレータ１のＳＯＡＰ実装部１０５と同様の機能を有する外部Ｉ／Ｆであり、協働して複合機エミュレータ１とアプリケーションサーバ３間の通信を可能にする。
【００２６】
開発アプリケーション３０２は、複合機の外部に存在するサーバにインストールされ、外部から複合機の機能を利用したり、複合機が記録するデータを参照することを可能とすべく開発中のアプリケーションである。
【００２７】
また、開発者端末４は、統合開発環境４０１とＷｅｂブラウザ４０２を備えている。統合開発環境（ＩＤＥ：Integrated Development Environment）４０１は、コンパイラ、テキストエディタ、デバッガなどの機能を一つの対話型操作環境（例えばＧＵＩ）から利用できるようにしたソフトウェア開発環境である。このような統合開発環境を使用することによって、巨大かつ複雑なソフトウェアであっても、アプリケーション開発者に負担をかけることなく開発することができる。アプリケーション開発者は、開発アプリケーション３０２がアプリケーションサーバ３にインストールされた後には、開発者端末４から開発アプリケーション３０２の動作テストが可能となっている。
【００２８】
Ｗｅｂブラウザ４０２は、Ｗｅｂページを閲覧するためのアプリケーションソフトであり、ネットワーク２を介して接続されている複合機エミュレータ１のＷｅｂサーバ１０３からＨＴＭＬファイルや画像ファイルなどをダウンロードし、レイアウトを解析して表示・再生する機能をもつ。また、表示された各種画面（ＨＴＭＬで記述されたＷｅｂページ）で入力したデータをＷｅｂサーバ１０３に送信し、認証要求やデバッグ情報の表示要求等を行う。
【００２９】
以下、複合機エミュレータ１の動作を図４乃至図９を用いて説明する。上述のように、アプリケーション開発者は、開発者端末４内で動作する統合開発環境（ＩＤＥ）４０２を使用してアプリケーションサーバ３上で動作させるアプリケーションを開発するが、動作テスト時は複合機エミュレータ１を予め起動させておく必要がある。図４は、図１に示す複合機エミュレータ１における起動処理の具体例を示すフローチャートである。先ず、ジョブ実行部１０８を起動し（Ｓ４０１）、パケットキャプチャ部１０６を起動し（Ｓ４０２）、ＳＯＡＰ実装部１０５を起動し（Ｓ４０３）、最後にＷｅｂサーバ１０３を起動する（Ｓ４０４）。
【００３０】
また、アプリケーション開発者が、開発アプリケーション３０２を起動すると、開発アプリケーション３０２はアプリケーションサーバ３側のＳＯＡＰ実装部３１を介して複合機エミュレータ１内のサービスを呼び出す。そして、複合機エミュレータ１は、サービス呼び出しメッセージに応じた処理を実行する。図５は、図１に示す複合機エミュレータ１におけるジョブ実行処理の具体例を示すフローチャートである。
【００３１】
先ず、複合機エミュレータ１のＳＯＡＰ実装部１０５は、アプリケーションサーバ３のＳＯＡＰ実装部３０１からサービス呼び出しメッセージを受け取る（Ｓ５０１）。
【００３２】
次に、既に起動しているパケットキャプチャ部１０６は、ＳＯＡＰ実装部１０５から取得したサービス呼び出しメッセージに係るパケットデータとメッセージ取得時刻を含むログデータをパケットログ記憶部１０７へ記憶する（Ｓ５０２）。
【００３３】
次に、ジョブ実行部１０８は、Ｓ５０１で受け取ったメッセージに基づいてジョブを実行する（Ｓ５０３）。本実施形態では、スキャン（Ｓｃａｎ）、プリント（Ｐｒｉｎｔ）およびコピー（Ｃｏｐｙ）のいずれかのジョブを実行するものとする。
【００３４】
次に、ジョブ実行部１０８は、ジョブ内容とジョブ実行時刻を含むログデータをジョブログ記憶部１０９に記憶する（Ｓ５０４）。
【００３５】
次に、カウンタ部１１０は、ジョブ実行部１０８で実行されたジョブ内容を判定する（Ｓ５０５）。ここで、実行ジョブがスキャン（ジョブＩＤ＝“Ｓｃａｎ”）であると判定した場合は、スキャンカウンタを更新し（Ｓ５０６）、ジョブＩＤとスキャンカウンタの更新時刻を含むログデータをカウンタログ記憶部１１１に記憶し（Ｓ５０７）、Ｓ５１２へ進む。
【００３６】
また、カウンタ部１１０は、実行ジョブがプリント（ジョブＩＤ＝“Ｐｒｉｎｔ”）であると判定した場合は、プリントカウンタを更新し（Ｓ５０８）、ジョブＩＤとプリントカウンタの更新時刻を含むログデータをカウンタログ記憶部１１１に記憶し（Ｓ５０９）、Ｓ５１２へ進む。
【００３７】
また、カウンタ部１１０は、実行ジョブがプリント（ジョブＩＤ＝“Ｃｏｐｙ”）であると判定した場合は、コピーカウンタを更新し（Ｓ５１０）、ジョブＩＤとコピーカウンタの更新時刻を含むログデータをカウンタログ記憶部１１１に記憶し（Ｓ５１１）、Ｓ５１２へ進む。
【００３８】
そして、ジョブ実行部１０８は、ＳＯＡＰ実装部１０５を介してアプリケーションサーバ３へ応答メッセージを送信し（Ｓ５１２）、処理を終了する。
【００３９】
＜デバッグ画面表示処理＞
アプリケーション開発者は、上記処理によってログデータが蓄積された後には、開発者端末４のＷｅｂブラウザ４０２と複合機エミュレータ１のＷｅｂサーバ１０３間の通信によってログデータを参照し、デバッグが可能となる。図６は、図１に示す複合機エミュレータ１におけるデバッグ画面生成処理の具体例を示すフローチャートである。
【００４０】
先ず、開発者端末４のＷｅｂブラウザ４０２から複合機エミュレータ１のＷｅｂサーバ１０３に対してログイン画面へのアクセス要求が行われると、Ｗｅｂ画面生成部１１３は認証用のログイン画面Ｄ１を生成し、Ｗｅｂサーバ１０３へ出力する。図７は、図１に示す開発者端末４に表示されるログイン画面Ｄ１の具体例を示す図である。
【００４１】
次に、開発者端末４のＷｅｂブラウザ４０２上に表示されたログイン画面Ｄ１で入力されたログインＩＤ（ユーザアカウント）とパスワードをＷｅｂサーバ１０３が取得する（Ｓ６０２）と、認証処理部１０４はユーザ情報記憶部１０２を参照し、ログイン権限の有無を判定する（Ｓ６０３）。ここで、ログイン権限有りと判定した場合（Ｓ６０３：Ｙｅｓ）は、Ｓ６０５へ進む。これに対し、ログイン権限無しと判定した場合（Ｓ６０３：Ｎｏ）は、ログインエラーメッセージをログイン画面Ｄ１上に出力し（Ｓ６０２）、再入力を促す。
【００４２】
次に、認証が完了すると、Ｗｅｂ画面生成部１１３は、パケットログ記憶部１０７、ジョブログ記憶部１０９およびカウンタログ記憶部１１１からパケットログ、ジョブログおよびカウンタログをそれぞれ読込む（Ｓ６０５）。
【００４３】
次に、パケットフィルタ部１１２は、Ｗｅｂ画面生成部１１３からの要求に応じてパケットログ記憶部１０７からパケットログを取得すると共に、ＴＣＰプロトコルのみを抽出するフィルタをかけ、Ｗｅｂ画面生成部１１３へ出力する（Ｓ６０６）。
【００４４】
そして、Ｗｅｂ画面生成部１１３は、各ログデータおよびカウンタ値をジョブの実行時刻順でソートし（Ｓ６０７）、ソートした情報に基づいてデバック画面Ｄ２を生成して、Ｗｅｂサーバ１０３へ出力する。これにより、開発者端末４のＷｅｂブラウザ４０２上ではデバック画面Ｄ２が表示され、デバッグ情報を参照可能となる。図８は、図１に示す開発者端末４に表示されるデバッグ画面Ｄ２の具体例を示す図である。ここでは、デバック情報としてジョブ実行時間（Ｔｉｍｅ）、送信元ＩＰアドレス（Ｓｏｒｃｅ）、送信先ＩＰアドレス（Ｄｅｓｔｉｎａｔｉｏｎ）、メッセージ（Ｍｅｓｓａｇｅ）、ジョブＩＤ（Ｊｏｂ）、累計スキャン回数（Ｔｏｔａｌ  Ｓｃａｎ）、累計プリント回数（Ｔｏｔａｌ  Ｐｒｉｎｔ）および累計コピー回数（Ｔｏｔａｌ  Ｃｏｐｙ）が項目として挙げられている。
【００４５】
また、図９は、図１に示す開発者端末４に表示されるデバッグ詳細画面Ｄ３の具体例を示す図である。ここでは、画面左側に１６進数表記のパケットデータ、画面右側に文字変換されたメッセージを表示した場合が示されている。この画面は、例えば、図８に示すデバック画面Ｄ２の各情報にＨＴＭＬリンクを張っておき、アプリケーション開発者がマウスなどで指定した際に遷移できると好適である。また、戻るボタンの押下によってデバック画面Ｄ２へ戻れるものとする。
【００４６】
このように、本実施形態に係る複合機エミュレータ１によれば、開発アプリケーション３０２から呼ばれた外部インターフェース名、引数、応答メッセージなどのデバッグ情報をＷｅｂサーバ１０３を介して開発者端末４のＷｅｂブラウザ４０２に時系列に沿って表示することが可能となる。したがって、アプリケーション開発者は、複合機の外部Ｉ／Ｆを使用するアプリケーションを開発する際、デバッグ情報を確認するためのソフトウェアを別途用意することなく、一般に普及しているＷｅｂブラウザ４０２を用いてデバッグが可能である。また、外部Ｉ／Ｆの呼び出し、ジョブ実行、ジョブ実行後のカウント値を時系列に沿って一覧表示あるいは詳細表示によって見ることができるため、効率的に開発アプリケーション３０２のデバッグ作業を行うことができる。
【００４７】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４８】
１…複合機エミュレータ
２…ネットワーク
３…アプリケーションサーバ
４…開発者端末
１１…ＣＰＵ
１２…ＲＯＭ
１３…ＲＡＭ
１４…入出力インターフェース
１５…システムバス
１６…入力装置
１７…表示装置
１８…補助記憶装置
１９…通信装置
２０…ドライブ
１０１…ユーザ情報設定部
１０２…ユーザ情報記憶部
１０３…Ｗｅｂサーバ
１０４…認証処理部
１０５…ＳＯＡＰ実装部
１０６…パケットキャプチャ部
１０７…パケットログ記憶部
１０８…ジョブ実行部
１０９…ジョブログ記憶部
１１０…カウンタ部
１１１…カウンタログ記憶部
１１２…パケットフィルタ部
１１３…Ｗｅｂ画面生成部
３０１…ＳＯＡＰ実装部
３０２…開発アプリケーション
４０１…統合開発環境
４０２…Ｗｅｂブラウザ
【図１】
0005529093.tif 000002
【図２】
0005529093.tif 000003
【図３】
0005529093.tif 000004
【図４】
0005529093.tif 000005
【図５】
0005529093.tif 000006
【図６】
0005529093.tif 000007
【図７】
0005529093.tif 000008
【図８】
0005529093.tif 000009
【図９】
0005529093.tif 000010