(57)【要約】【課題】  画像形成装置において、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要とする。【解決手段】  内部装置１２，１３，１４は、サービスを実現する機能を有する。メッセージ処理部２２は、サービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とを含むサービス定義データ１５ａに従ってメッセージの構文解析を行う。制御部２３は、メッセージ処理部２２の構文解析の結果によりメッセージから得られる要求に従って内部装置１２，１３，１４を制御してサービスを実行する【選択図】  図１
2010020614.tif 000002
【特許請求の範囲】
【請求項１】
要求が発生するとその要求に応じた１または複数のサービスを実行する画像形成装置において、
前記サービスを実現する機能を有する内部装置と、
前記サービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とを含むサービス定義データに従って前記メッセージの構文解析を行うメッセージ処理部と、
前記メッセージ処理部の構文解析の結果により前記メッセージから得られる要求に従って前記内部装置を制御して前記サービスを実行する制御部と、
を備えることを特徴とする画像形成装置。
【請求項２】
コンピュータネットワークを介して所定の通信プロトコルで前記メッセージを受信する受信手段を備え、
前記メッセージ処理部は、前記受信手段により受信された前記メッセージの構文解析を行うこと、
を特徴とする請求項１記載の画像形成装置。
【請求項３】
前記メッセージ処理部は、前記サービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とを含むサービス定義データに従って、前記サービスの実行結果に関する前記メッセージの生成を行うことを特徴とする請求項１記載の画像形成装置。
【請求項４】
コンピュータネットワークを介して所定の通信プロトコルで前記メッセージを受信する受信手段と、前記コンピュータネットワークを介して前記通信プロトコルで前記メッセージを送信する送信手段とを備え、
前記メッセージ処理部は、前記受信手段により受信された前記メッセージの構文解析を行い、
前記メッセージ処理部は、前記メッセージ処理部の構文解析の結果により前記メッセージから得られる要求に従って実行された前記サービスの結果に関する前記メッセージを生成し、
前記送信手段は、前記メッセージ処理部により生成された、前記サービスの結果に関する前記メッセージを送信すること、
を特徴とする請求項３記載の画像形成装置。
【請求項５】
前記サービス定義データにおいて指定されているプロトコルは、ＳＯＡＰであり、
前記受信手段は、ＨＴＴＰで前記メッセージを受信し、
前記送信手段は、ＨＴＴＰで前記メッセージを送信すること、
を特徴とする請求項４記載の画像形成装置。
【請求項６】
前記サービス定義データは、ＷＳＤＬで記述されたＸＭＬデータであることを特徴とする請求項１記載の画像形成装置。
【請求項７】
前記サービス定義データは、スキーマデータを含み、
前記スキーマデータは、前記メッセージの構文定義を含み、
前記メッセージ処理部は、前記サービス定義データおよび前記スキーマデータに従って前記メッセージの構文解析を行うこと、
を特徴とする請求項１記載の画像形成装置。
【請求項８】
前記サービス定義データは、スキーマデータへの参照を含み、
前記メッセージ処理部は、前記サービス定義データに記述されている前記スキーマデータへの参照に基づいて、スキーマデータを読み出し、前記サービス定義データおよび前記スキーマデータに従って前記メッセージの構文解析を行うこと、
を特徴とする請求項１記載の画像形成装置。
【請求項９】
前記サービス定義データは、ＷＳＤＬで記述されたＸＭＬデータであり、
前記スキーマデータは、ＸＭＬスキーマで記述されたＸＭＬデータであること、
を特徴とする請求項７または請求項８記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
複数のサービスの実行指示がＸＭＬ（Extensible Markup Language）で記述されている指示書をサーバ装置に格納しておき、所望の指示書を選択して、その指示書に記述されているサービスを１または複数のジョブ実行装置に実行させるシステムがある（例えば特許文献１，２，３参照）。ＸＭＬで記述された指示書において、各種パラメータを設定することも可能である。
【特許文献１】特開２００５−１７３８９１号公報
【特許文献２】特開２００５−１７３８９２号公報
【特許文献３】特開２００５−１７３８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、予め指示書が作成され格納されているため、ジョブ実行装置の仕様変更などによりパラメータの種類、数、許容値などを変更する場合、関連するすべての指示書を再作成し格納し直す必要がある。
【０００４】
また、このような指示書を送受するための通信手順およびメッセージの書式には予め決定されたものが装置間で使用されるため、通信手順およびメッセージの書式を変更する場合には、大規模な装置の設計変更が必要になる。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要な画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明では以下のようにした。
【０００７】
本発明に係る画像形成装置は、サービスを実現する機能を有する内部装置と、サービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とを含むサービス定義データに従ってメッセージの構文解析を行うメッセージ処理部と、メッセージ処理部の構文解析の結果によりメッセージから得られる要求に従って内部装置を制御してサービスを実行する制御部とを備える。
【０００８】
これにより、サービス定義データに従ってメッセージの構文解析が行われるため、サービス定義データを変更することでメッセージの仕様を変更することができ、また、サービス定義データにおいてサービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とが明示的に分けて記述されるため、サービスを呼び出すときに使用されるインタフェース部分を変更せずに、メッセージの仕様を変更することができる。そのため、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要である。
【０００９】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、画像形成装置は、コンピュータネットワークを介して所定の通信プロトコルでメッセージを受信する受信手段を備える。そして、メッセージ処理部は、受信手段により受信されたメッセージの構文解析を行う。
【００１０】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、メッセージ処理部は、サービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とを含むサービス定義データに従って、サービスの実行結果に関するメッセージの生成を行う。
【００１１】
これにより、サービス定義データに従ってメッセージの生成が行われるため、サービス定義データを変更することでメッセージの仕様を変更することができ、また、サービス定義データにおいてサービスのインタフェース部分の構文定義とそのサービスに使用するメッセージのプロトコルの指定とが明示的に分けて記述されるため、サービスを呼び出すときに使用されるインタフェース部分を変更せずに、メッセージの仕様を変更することができる。そのため、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要である。
【００１２】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、画像形成装置は、コンピュータネットワークを介して所定の通信プロトコルでメッセージを受信する受信手段と、コンピュータネットワークを介して通信プロトコルでメッセージを送信する送信手段とを備える。そして、メッセージ処理部は、受信手段により受信されたメッセージの構文解析を行い、メッセージ処理部は、メッセージ処理部の構文解析の結果によりメッセージから得られる要求に従って実行されたサービスの結果に関するメッセージを生成し、送信手段は、メッセージ処理部により生成された、サービスの結果に関するメッセージを送信する。
【００１３】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、サービス定義データにおいて指定されているプロトコルは、ＳＯＡＰであり、受信手段は、ＨＴＴＰでメッセージを受信し、送信手段は、ＨＴＴＰでメッセージを送信する。
【００１４】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、サービス定義データは、ＷＳＤＬで記述されたＸＭＬデータである。
【００１５】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、サービス定義データは、スキーマデータを含み、スキーマデータは、メッセージの構文定義を含み、メッセージ処理部は、サービス定義データおよびスキーマデータに従ってメッセージの構文解析を行う。
【００１６】
これにより、スキーマデータを変更してメッセージの構文定義を変更しても、サービスを呼び出すときに使用されるインタフェース部分を変更しなくて済む。
【００１７】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、サービス定義データは、スキーマデータへの参照を含み、メッセージ処理部は、サービス定義データに記述されているスキーマデータへの参照に基づいて、スキーマデータを読み出し、サービス定義データおよびスキーマデータに従ってメッセージの構文解析を行う。
【００１８】
これにより、スキーマデータを変更してメッセージの構文定義を変更しても、サービスを呼び出すときに使用されるインタフェース部分を変更しなくて済む。
【００１９】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、サービス定義データは、ＷＳＤＬで記述されたＸＭＬデータであり、スキーマデータは、ＸＭＬスキーマで記述されたＸＭＬデータである。
【発明の効果】
【００２０】
本発明によれば、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要な画像形成装置を得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、図に基づいて本発明の実施の形態を説明する。
【００２２】
図１は、本発明の実施の形態に係る画像形成装置としての複合機１を含む画像形成システムの構成を示すブロック図である。このシステムでは、複合機１は、コンピュータネットワーク２に接続され、コンピュータネットワーク２に接続された端末装置３また複合機１の操作パネル１１を操作するユーザにより利用される。このため、ユーザ操作によりサービスの実行が要求されると、端末装置３と複合機１との間または複合機１内部で要求および応答のメッセージが送受される。
【００２３】
図１において、複合機１は、操作パネル１１、印刷装置１２、画像読取装置１３、ファクシミリ装置１４、データ格納装置１５、通信装置１６およびコンピュータ１７を有する。
【００２４】
操作パネル１１は、液晶ディスプレイなどの表示装置と、物理的なユーザ操作を電気的に検出する入力装置とを有するユーザインタフェース装置である。入力装置としては、キースイッチ、表示装置の画面上に配置された透明なタッチパネルなどが使用される。
【００２５】
印刷装置１２は、画像読取装置１３により生成された文書データ、図示せぬ文書ボックスに格納されている文書データ、端末装置３から受信された文書データなどに基づき文書画像を印刷する内部装置である。なお、文書データは、所定のフォーマットの画像データである。
【００２６】
画像読取装置１３は、自動原稿給紙装置により給紙されてきた原稿またはユーザにより載置された原稿の片面または両面に対して光を照射しその反射光等を受光して原稿の画像を読み取り文書データとして出力する内部装置である。
【００２７】
ファクシミリ装置１４は、モデムを有し、画像読取装置１３により生成された文書データまたは文書ボックスに格納されている文書データからファクシミリ信号を生成し、電話回線などを介して送信するとともに、ファクシミリ信号を受信し、受信した信号から文書データを生成する内部装置である。
【００２８】
データ格納装置１５は、サービス定義データ１５ａ、スキーマデータ１５ｂ、コンピュータ１７で実行される図示せぬプログラム、文書データなどを格納する装置である。データ格納装置１５には、ハードディスクドライブ、不揮発性メモリなどといった、読み書き可能な記録媒体を駆動する装置が使用される。
【００２９】
サービス定義データ１５ａは、サービスの呼び出しおよびその戻り値などを規定するインタフェース部分の構文定義を含み、さらに、そのサービスに使用するメッセージのプロトコルの指定を含むテキストデータである。サービス定義データ１５ａは、例えばＸＭＬで記述される。さらに、サービス定義データ１５ａは、例えばＷＳＤＬで記述される。なお、サービス定義データ１５ａは、構文定義を含むデータであり、実際に送受されるメッセージではない。サービス定義データ１５ａは、１つのファイルとして格納されていてもよいし、複数のファイルとして格納されていてもよい。サービス定義データ１５ａは、構文定義の記述のためにスキーマ言語を使用する。この実施の形態では、サービス定義データ１５ａは、構文定義の記述のためにＸＭＬスキーマを使用しており、サービス定義データ１５ａ内で、ＸＭＬスキーマで構文定義が直接的に記述されるか、外部のスキーマデータ１５ｂを読み込み間接的に使用するための参照が記述される。
【００３０】
スキーマデータ１５ｂは、サービス定義データ１５ａ内で参照される外部のスキーマデータである。スキーマデータ１５ｂは、所定の言語で記述されたテキストデータである。スキーマデータ１５ｂは、１または複数のデータファイルとして格納されている。
【００３１】
図２は、ＷＳＤＬで記述されたサービス定義データ１５ａの一例を示す図である。また、図３は、サービス定義データで参照されるスキーマデータ１５ｂの一例を示す図である。
【００３２】
図２に示すサービス定義データ１５ａは、画像読取装置１３を使用する画像読取サービスの構文定義を含む。図２に示すサービス定義データ１５ａは、１つのＷＳＤＬのdefinitions要素からなる。definitions要素内にＷＳＤＬのtypes要素があり、types要素内で、include要素で、外部のスキーマデータ１５ｂである例えば図３に示すような「scan.xsd」が参照されている。そして、そのdefinitions要素内で、ＷＳＤＬのmessage要素およびportType要素において、サービスのインタフェース部分である、要求メッセージと応答メッセージの定義が記述されている。図２では、要求メッセージとして「send_request」が定義されており、応答メッセージとして「send_response」が定義されている。
【００３３】
そして、そのdefinitions要素内で、ＷＳＤＬのbinding要素において、そのサービスで使用されるメッセージのプロトコルが指定されている。図２に示すbinding要素では、メッセージに使用するプロトコルとしてＳＯＡＰが指定されている。
【００３４】
また、図３に示すスキーマデータ１５ｂには、要求のメッセージおよび応答のメッセージの構文定義、およびメッセージ内で使用されるパラメータの許容値の定義が記述されている。メッセージの構文定義は、ＸＭＬスキーマ（xsd）のelement要素およびcomplexType要素として記述されており、パラメータの許容値の定義は、ＸＭＬスキーマ（xsd）のsimpleType要素として記述されている。
【００３５】
このように、サービスごとにサービス定義データ１５ａが予め格納されている。また、必要に応じて、外部のスキーマデータ１５ｂが予め格納されている。
【００３６】
通信装置１６は、コンピュータネットワーク２に接続され、コンピュータネットワーク２に接続された他の装置（端末装置３など）と通信可能な装置である。通信装置１６としては、ネットワークインタフェースカードなどが使用される。
【００３７】
コンピュータ１７は、図示せぬＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）などを備え、プログラムをＲＡＭにロードし、ＣＰＵで実行することにより、各種処理部を実現する装置である。コンピュータ１７は、図示せぬプログラムに基づいて、通信処理部２１、ＸＭＬ処理部２２、制御部２３およびドライバ２４を実現する。
【００３８】
通信処理部２１は、通信装置１６を制御し、コンピュータネットワーク２を介してメッセージを所定の通信プロトコルで送受する処理部である。この実施の形態では、メッセージプロトコルとしてＳＯＡＰ（Simple Object Access Protocol）が使用されるため、通信プロトコルとしてはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）およびＨＴＴＰ（Hypertext Transfer Protocol）が使用される。
【００３９】
ＸＭＬ処理部２２は、ＷＳＤＬ（Web Services Description Language）で記述されたサービス定義データ１５ａを読み込み、メッセージ生成部２２ａおよびメッセージ解析部２２ｂを実現する処理部である。メッセージ生成部２２ａは、サービス定義データ１５ａに記述されている構文定義に従って、サービスの結果を示す応答メッセージ、通知メッセージなどのメッセージを生成する。メッセージ解析部２２ｂは、サービスの要求を示す要求メッセージなどのメッセージの構文解析を、サービス定義データ１５ａに記述されている構文定義に従って行い、メッセージに記述されている要求などを特定する。
【００４０】
制御部２３は、印刷装置１２、画像読取装置１３、ファクシミリ装置１４などといった、サービスを実現する機能を有する内部装置を、ＸＭＬ処理部２２により特定された要求に従って制御して、サービスを実行させるとともに、サービスの結果を内部装置から取得し、ＸＭＬ処理部２２に供給する処理部である。
【００４１】
ドライバ２４は、操作パネル１１のドライバであって、操作パネル１１へ入力されたユーザ操作の情報および操作パネル１１で表示する表示画面の情報に関して、ＸＭＬ処理部２２との間でメッセージの送受を行う処理部である。
【００４２】
また、図１において、端末装置３は、通信装置３１、データ格納装置３２およびコンピュータ３３を有する。端末装置３としては、例えばパーソナルコンピュータが使用される。
【００４３】
通信装置３１は、コンピュータネットワーク２に接続され、コンピュータネットワーク２に接続された他の装置（複合機１など）と通信可能な装置である。通信装置３１としては、ネットワークインタフェースカードなどが使用される。
【００４４】
データ格納装置３２は、コンピュータ３３で実行されるプログラムなどを格納する装置である。データ格納装置３２には、ドライバプログラム３２ａが格納されている。データ格納装置３２には、ハードディスクドライブ、不揮発性メモリなどといった、読み書き可能な記録媒体を駆動する装置が使用される。
【００４５】
コンピュータ３３は、図示せぬＣＰＵ、ＲＡＭ、ＲＯＭなどを備え、プログラムをＲＡＭにロードし、ＣＰＵで実行することにより、各種処理部を実現する装置である。コンピュータ３２は、ドライバプログラム３３ａなどのプログラムに基づいて、通信処理部４１およびドライバ４２を実現する。
【００４６】
通信処理部４１は、通信装置３１を制御し、コンピュータネットワーク２を介してメッセージを所定の通信プロトコルで送受する処理部である。この実施の形態では、メッセージとしてＳＯＡＰメッセージが使用されるため、通信プロトコルとしてはＴＣＰ／ＩＰおよびＨＴＴＰが使用される。
【００４７】
ドライバ４２は、コンピュータネットワーク２を介して複合機１を制御するドライバであって、サービスに使用されるメッセージの生成および解析を行う処理部である。また、ドライバ４２は、通信処理部４１を制御して、サービス定義データ１５ａおよびスキーマデータ１５ｂの全部または一部を取得してメッセージの構文を特定するとともに、メッセージ内で使用されるパラメータの許容値を特定する。
【００４８】
次に、上記システムにおける各装置の動作について説明する。
【００４９】
まず、複合機１では、コンピュータ１７が起動すると、プログラムが実行され、適宜、通信処理部２１、ＸＭＬ処理部２２、制御部２３およびドライバ２４が実現される。そして、ＸＭＬ処理部２２は、起動後、サービス定義データ１５ａを読み出し、サービス定義データ１５ａに基づくメッセージ生成部２２ａおよびメッセージ解析部２２ｂを実現する。このとき、ＸＭＬ処理部２２は、サービス定義データ１５ａから参照されているスキーマデータ１５ｂも併せて読み出す。
【００５０】
一方、端末装置３では、コンピュータ３３によりドライバプログラム３２ａなどが実行されることで、通信処理部４１およびドライバ４２が実現される。
【００５１】
その後、端末装置３において、キーボードなどの図示せぬ入力装置により所定のユーザ操作が検出されると、ユーザによるサービスの要求が発生したと判断され、ドライバ４２は、要求のメッセージを複合機１へ送信するための処理を実行する。
【００５２】
ドライバ４２は、ユーザの要求の対象であるサービスについてのサービス定義データ１５ａおよびスキーマデータ１５ｂの全部または一部を複合機１から取得する。このとき、ドライバ４２は、通信処理部４１を制御して、複合機１の所定のＵＲＬへＨＴＴＰコマンドを送信し、その応答として、サービス定義データ１５ａおよびスキーマデータ１５ｂの全部または一部を取得する。例えば、ドライバ４２は、サービス定義データ１５ａおよびスキーマデータ１５ｂを含むデータファイルのＵＲＬを指定してもよいし、データ１５ａ，１５ｂの必要な部分のみを抽出し返信するＣＧＩ（Common Gate Interface）のＵＲＬを指定してもよい。複合機１の通信処理部２１が、ＨＴＴＰサーバ機能を有しており、そのＨＴＴＰコマンドを受信し、応答を端末装置３へ送信する。
【００５３】
ドライバ４２は、取得したサービス定義データ１５ａおよびスキーマデータ１５ｂの全部または一部に基づいて、そのサービスに使用されるメッセージの構文と、メッセージ内で使用されるパラメータの許容値を特定する。端末装置３のドライバは、ユーザによるサービスの要求が発生すると、そのサービスに関連付けられているメッセージの名称を特定し、そのメッセージの名称に対応するメッセージの構文およびパラメータの許容値を、サービス定義データ１５ａおよびスキーマデータ１５ｂに基づいて特定する。
【００５４】
そして、ドライバ４２は、メッセージ内で使用されるパラメータの許容値のリストを、図示せぬ表示装置に表示させ、その後、図示せぬ入力装置に対するユーザの操作に基づきリストからパラメータの値を選択し、そのパラメータの値を使用した要求のメッセージを生成する。
【００５５】
例えば、画像読取サービスの要求が発生した場合、ドライバ４２が、図２および図３に示すサービス定義データ１５ａおよびスキーマデータ１５ｂの一部または全部を取得すると、メッセージ「send_request」内でパラメータ「file_format」（file_format要素）およびパラメータ「file_name」（file_name要素）が使用されることを特定し、さらに、そのパラメータ「file_format」の許容値が「PDF」、「JPEG」および「BMP」であることを特定する。そして、その場合、ドライバ４２は、ファイル形式を指定するパラメータ「file_format」の許容値「PDF」、「JPEG」および「BMP」のリストおよび選択を促すテキストを、図示せぬ表示装置に表示させる。その後、例えば、「PDF」を選択するユーザ操作が検出されると、ドライバ４２は、パラメータ「file_format」の値を「PDF」にする。また、ドライバ４２は、ファイル名を指定するパラメータ「file_name」を入力するための入力フィールドおよび入力を促すテキストを、図示せぬ表示装置に表示させる。その後、例えば、「scan001」というテキスト入力のユーザ操作が検出されると、ドライバ４２は、パラメータ「file_name」の値を「scan001」にする。その後、ドライバ４２は、取得したサービス定義データ１５ａおよびスキーマデータ１５ｂに従って、また、選択されたパラメータの値を使用して、図４に示すような要求のメッセージを生成する。この場合、生成されるメッセージは、ＳＯＡＰメッセージである。なお、図４は、そのＳＯＡＰメッセージのＳＯＡＰエンベロープ部分のみを示している。
【００５６】
このように、端末装置３は、サービスを実行する複合機１からサービス定義データ１５ａなどを取得するため、それらのデータを予め端末装置３内に格納しておく必要がない。例えば、複合機１の機種によってメッセージの構文が異なる場合でも、複合機１の機種毎にサービス定義データ１５ａなどを端末装置３に格納しておく必要がないため、サービス定義データ１５ａなどの管理を複合機１について行うだけでよい。
【００５７】
そして、ドライバ４２は、通信処理部４１に、生成した要求のメッセージを複合機１へ送信させる。このとき、通信処理部４１は、通信装置３１を制御して、ＨＴＴＰでそのメッセージをコンピュータネットワーク２へ送信させる。送信されたメッセージは、コンピュータネットワーク２から通信装置１６を介して複合機１の通信処理部２１により受信される。通信処理部２１は、そのメッセージを受信すると、ＸＭＬ処理部２２に供給する。
【００５８】
ＸＭＬ処理部２２のメッセージ解析部２２ｂは、サービス定義データ１５ａおよびスキーマデータ１５ｂに従って、そのメッセージの構文解析を行い、そのメッセージを使用するサービスを特定し、メッセージによる要求およびパラメータ値を制御部２３に通知する。例えば、メッセージ解析部２２ｂは、図４に示すメッセージを供給されると、そのメッセージが画像読取サービスのsend_requestメッセージであること特定するとともに、メッセージ内で指定されているパラメータの値を特定する。そして、メッセージ解析部２２ｂは、画像読取サービスのsend_requestメッセージの受信およびメッセージ内で指定されているパラメータの値を制御部２３に通知する。
【００５９】
制御部２３は、その通知を受け取ると、内部装置を制御し、要求されたサービスを実行させる。例えば、制御部２３は、画像読取サービスのsend_requestメッセージの受信およびメッセージ内で指定されているパラメータの値の通知を受け取ると、画像読取装置１３を制御し、画像読み取りを実行させる。そして、画像読取装置１３は、読み取った画像のデータを含むファイルを、パラメータで指定されたファイル名およびファイル形式で生成する。
【００６０】
そして、制御部２３は、内部装置によるサービスの実行が完了したことを検出すると、サービスの結果をＸＭＬ処理部２２のメッセージ生成部２２ａに通知する。
【００６１】
メッセージ生成部２２ａは、サービスの結果の通知を制御部２３から受け取ると、サービス定義データ１５ａおよびスキーマデータ１５ｂに従って応答のメッセージを生成する。
【００６２】
例えば、メッセージ生成部２２ａは、画像読取サービスの結果の通知として、図２に示すサービス定義データ１５ａにおける画像読取サービスのsend_responseメッセージ（つまり、応答メッセージ）の送信要求を受け取ると、図２および図３に示すサービス定義データ１５ａおよびスキーマデータ１５ｂに基づいて、応答のＳＯＡＰメッセージの構文を特定し、さらにそのメッセージにおけるパラメータ「result」（result要素）の許容値を特定する。このとき、図２および図３に示すサービス定義データ１５ａおよびスキーマデータ１５ｂから、send_responseメッセージ内にresult要素が存在すること、result要素の許容値が「SUCCESS」、「JOB_CANCELED_ERROR」および「INTERNAL_ERROR」であることなどが特定される。そして、メッセージ生成部２２ａは、制御部２３からの通知に対応するresult要素の値を「SUCCESS」、「JOB_CANCELED_ERROR」および「INTERNAL_ERROR」から選択し、そのresult要素の値を使用してＳＯＡＰメッセージを生成する。例えば、要求された画像読取サービスが成功したことが制御部２３から通知された場合には、例えば図５に示すようなＳＯＡＰメッセージが生成される。なお、図５は、そのＳＯＡＰメッセージのＳＯＡＰエンベロープ部分のみを示している。
【００６３】
そして、ＸＭＬ処理部２２は、通信処理部２１に、生成した応答のメッセージを端末装置３へ送信させる。このとき、通信処理部２１は、通信装置１６を制御して、ＨＴＴＰでそのメッセージをコンピュータネットワーク２へ送信させる。送信されたメッセージは、コンピュータネットワーク２から通信装置３１を介して端末装置３の通信処理部４１により受信される。通信処理部４１は、そのメッセージを受信すると、ドライバ４２に供給する。ドライバ４２は、その応答メッセージから、要求したサービスに対する結果を検出する。ドライバ４２は、その結果に応じた処理を実行する。例えば、ドライバ４２は、サービスの結果を図示せぬ表示装置に表示させたりする。また、例えば、画像読取サービスの場合、複合機１において、応答メッセージに、テキストデータにエンコードした画像データファイルを含め、端末装置３のドライバ４２は、そのメッセージに含まれるテキストデータをデコードしてその画像データファイルを復元してもよい。
【００６４】
このようにして、サービスの要求および応答が送受される。なお、操作パネル１１に対してユーザによるサービス要求が発生した場合、ドライバ４２と同様にして、ドライバ２４が要求メッセージおよび応答メッセージをＸＭＬ処理部２２との間で送受することで、同様の処理を実行することができる。
【００６５】
図６は、本発明の実施の形態における、メッセージ通信処理の階層構造を示す図である。図６に示すように、このシステムにおいては、メッセージ送受のプログラムインタフェース部分とメッセージ通信の実装部分とが分離して定義されているため、メッセージ通信の実装部分（つまり、上述のbinding要素で定義されている部分）を変更しても、プログラムインタフェース部分（つまり、上述のメッセージ要素で定義されている部分）が変更されないため、サービス実行に使用されるドライバ２４，４２および制御部２３を変更する必要がない。また、メッセージ通信の実装部分を変更する場合、テキストデータであるサービス定義データ１５ａおよび／またはスキーマデータ１５ｂを編集するだけでよい。したがって、サービスに使用されるメッセージの仕様が変更されても、大規模な変更が不要である。
【００６６】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６７】
例えば、上記実施の形態では、画像形成装置の一例として複合機について説明しているが、プリンタ、ファクシミリ機、スキャナなどであってもよい。
【００６８】
また、上記実施の形態では、一連の複数のサービスからなるユースケースごとに、サービス定義データ１５ａを作成するようにしてもよい。
【００６９】
また、上記実施の形態では、サービス定義データ１５ａは、ＷＳＤＬで記述されているが、同様の記述が可能な他の言語で記述されていてもよい。また、スキーマデータ１５ｂおよびサービス定義データ１５ａ内でのスキーマの記述は、ＸＭＬスキーマ以外の言語で記述されていてもよい。ただし、その場合でも、サービス定義データ１５ａおよびスキーマデータ１５ｂは、簡単に編集可能なテキストデータとされる。
【００７０】
また、上記実施の形態では、サービス定義データ１５ａおよび／またはスキーマデータ１５ｂを、コンピュータネットワーク２を介してアクセス可能なサーバ装置に格納しておき、複合機１がそのサーバ装置からサービス定義データ１５ａおよび／またはスキーマデータ１５ｂをダウンロードして使用するようにしてもよい。
【産業上の利用可能性】
【００７１】
本発明は、例えば、複合機に適用可能である。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態に係る画像形成装置としての複合機を含む画像形成システムの構成を示すブロック図である。
【図２】ＷＳＤＬで記述されたサービス定義データの一例を示す図である。
【図３】サービス定義データで参照されるスキーマデータの一例を示す図である。
【図４】本発明の実施の形態における要求のメッセージの一例を示す図である。
【図５】本発明の実施の形態における応答のメッセージの一例を示す図である。
【図６】本発明の実施の形態における、メッセージ通信処理の階層構造を示す図である。
【符号の説明】
【００７３】
１  複合機（画像形成装置の一例）
２  コンピュータネットワーク（コンピュータネットワークの一例）
３  端末装置（端末装置の一例）
１２  印刷装置（内部装置の一例）
１３  画像読取装置（内部装置の一例）
１４  ファクシミリ装置（内部装置の一例）
１５ａ  サービス定義データ
１５ｂ  スキーマデータ
２１  通信処理部（受信手段の一例，送信手段の一例）
２２  ＸＭＬ処理部（メッセージ処理部の一例）
２３  制御部（制御部の一例）
【図１】
2010020614.tif 000003
【図２】
2010020614.tif 000004
【図３】
2010020614.tif 000005
【図４】
2010020614.tif 000006
【図５】
2010020614.tif 000007
【図６】
2010020614.tif 000008