JP4136738B2 - Image forming apparatus having Web service function - Google Patents

Image forming apparatus having Web service function Download PDF

Info

Publication number
JP4136738B2
JP4136738B2 JP2003074119A JP2003074119A JP4136738B2 JP 4136738 B2 JP4136738 B2 JP 4136738B2 JP 2003074119 A JP2003074119 A JP 2003074119A JP 2003074119 A JP2003074119 A JP 2003074119A JP 4136738 B2 JP4136738 B2 JP 4136738B2
Authority
JP
Japan
Prior art keywords
processing
web service
request
processing request
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003074119A
Other languages
Japanese (ja)
Other versions
JP2004209961A (en
Inventor
達雄 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003074119A priority Critical patent/JP4136738B2/en
Priority to US10/395,363 priority patent/US20030225894A1/en
Priority to EP03018793A priority patent/EP1400898A3/en
Publication of JP2004209961A publication Critical patent/JP2004209961A/en
Application granted granted Critical
Publication of JP4136738B2 publication Critical patent/JP4136738B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、利用者が使用するコンピュータ端末に、複数の画像形成機能を利用するために複数のドライバ・ソフトウェアをインストールすることなく、標準的なWebサービス対応ソフトウェアをインストールするだけでよく、また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を可能とし、他の機器からの処理要求も統一的に処理することが可能となる画像形成装置を提供するものである。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の複合型画像形成装置においては、ネットワークを介して接続される複数のPC(パーソナルコンピュータ)からプリンタ、コピー、ファクシミリ、スキャナ等の機能を利用する場合、各PCに各画像形成機能に応じたドライバ等のソフトウェアをインストールする必要があった。また、PCにインストールされるそれらソフトウェアは、該PCの機種及びオペレーティングシステムに対応したものでなければならない。また、同様な要求がサーバー等の機器との間でも要求されることがあるが、要求される処理のプロトコルや処理単位が異なるため、実装時には両方の要求を満たすようにする必要があった。更に、従来の利用形態では、ドライバによって決まった処理しか行うことができない等の制限があった。
【0004】
そこで、本発明の課題は、利用者が使用するコンピュータ端末に複数の画像形成機能を利用するための複数のドライバ・ソフトウェアをインストールすることなく、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、画像形成装置の機能をネットワークを介してインターネット標準の各種Webプロトコルを利用してアクセス可能なプログラマブルなアプリケーションコンポーネントとして利用できると共に、Webサービスの要求をWebブラウザから行うことを可能とする画像形成装置を提供することである。また、画像形成装置内又は画像形成装置と他装置間とにおいて、Webサービスが他Webサービスとやり取りする分散環境を実現する画像形成装置を提供する。
【0005】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項1に記載されるように、スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成装置であって、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、
プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理するWebサービス実行手段を有し、該Webサービス実行手段が該内部情報に基づいて上記画像形成装置を制御した処理結果を上記Webサービス通信制御手段へ提供する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と、上記複数のWebサービス提供処理手段によって共有され、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手段とを有し、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手段を実行する処理リクエスト処理手段と、上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段とを有するように構成される。
【0006】
このような画像形成装置では、ネットワークを介して接続された機器の機種又はオペレーティングシステムに依存することなく、例えば、SOAPからの第一プロトコルによる第一処理リクエストを受信した際には第一プロトコルによる第一処理レスポンスによって、或いは、例えば、Webブラウザ等からの第二プロトコルによる第二処理リクエストを受信した際には機器にて表示可能な表示形式に従って第二処理レスポンスによって処理結果をWebサービスとして提供することができる。従って、第一処理リクエスト及び第二処理リクエストのWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができるため、第一処理リクエスト及び第二処理リクエストの夫々にWebサービス提供処理手段を開発する必要がない。
【0007】
また、このような画像形成装置では、例えば、XML(eXtensible Markup Language)によって記述されたメッセージの処理を、複数のWebサービス提供処理手段によって共有可能となる。従って、各Webサービス提供処理手段を開発する際には、メッセージに関する処理部の開発を削減することができる。上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
【0008】
上記内部情報は、画像情報、画像情報についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
【0009】
画像形成装置がWebサービスを提供するという観点において、本発明は、請求項2に記載されるように、少なくとも上記複数のWebサービス提供処理手段を有するアプリケーションと、上記画像形成処理で利用される上記スキャナ又はプロッタを含むハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該ハードウェア資源の利用を制御するコントロールサービスと、該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【0010】
このような画像形成装置では、コンピュータ装置としての機能を有し、画像形成に使用されるハードウェア資源を直接制御することができると共に、ネットワークを介して接続された機器へWebサービスを提供することができる。
【0012】
このような画像形成装置では、Webサービスを提供するための処理の実体がWebサービス提供処理手段に独立してあるため、複数のプロトコル(例えば、SOAPと、HTTP及びHTML)に関する知識を必要としないWebサービス実行手段の開発を行うことができる。
【0013】
第一プロトコルに従って第一処理リクエストを処理するという観点において、本発明は、請求項に記載されるように、記複数のWebサービス提供処理手段によって共有可能であって、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手段とを有するように構成することができる。
【0014】
このような画像形成装置では、第一処理リクエストを第一プロトコルに従って処理できると共に、複数のWebサービス提供処理手段によって共有されるため、各Webサービス提供処理手段を開発する際には、SOAP等の第一プロトコルに関する処理部の開発を削減することができる。
【0015】
メッセージの処理を共有するという観点において、本発明は、請求項に記載されるように、上記複数のWebサービス提供処理手段によって共有可能であって、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手段を有するように構成することができる。
【0016】
このような画像形成装置では、例えば、XML(eXtensible Markup Language)によって記述されたメッセージの処理を、複数のWebサービス提供処理手段によって共有可能となる。従って、各Webサービス提供処理手段を開発する際には、メッセージに関する処理部の開発を削減することができる。
【0018】
第一処理リクエストと第二処理リクエストとを別々に分配するという観点に置いて、本発明は、請求項に記載されるように、上記Webサービス通信制御手段は、上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段を有するように構成される。また、本発明は、請求項に記載されるように、上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有するように構成される。
【0019】
このような画像形成装置では、第一プロトコルに従う第一処理リクエストと第一プロトコル以外の第二プロトコルに従うWebブラウザを利用した端末からの第二処理リクエストとを処理可能とするため、第一処理リクエスト及び第二処理リクエストによる同一のWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができる。
【0020】
上記リクエスト種別とは、例えば、HTTPによるメソッドを示し、GET METHOD又はPOST METHOD等である。
【0021】
上記特定情報とは、Webサービス実行手段を特定するような情報であって、例えば、URL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)である。
【0022】
複数のWebサービス提供処理手段へ処理を振り分けるという観点において、本発明は、請求項に記載されるように、上記複数のWebサービス提供処理手段の夫々に対応させて複数の上記第一振分手段と複数の上記第二振分手段とを有するように構成される。
【0023】
このような画像形成装置では、第一処理リクエスト及び第二処理リクエストのいずれによっても複数のWebサービス提供処理手段への処理の振り分けを可能とする。
【0024】
第二処理レスポンスの内容をネットワークを介して接続される機器にて表示可能とするという観点から、本発明は、請求項に記載されるように、上記Webサービス通信制御手段は、上記第一処理リクエストによって実行される同一処理によって上記Webサービス提供処理手段から提供される上記第二処理リクエストに応じた上記処理結果を示す上記第二処理レスポンスを送信した機器に表示可能な表示形式に従って作成する表示形式作成手段を有するように構成される。
【0025】
このような画像形成装置では、機器からの第二処理リクエストに応じて実行されたWebサービスの処理結果を、該機器にて表示可能となるような処理レスポンスを作成することができる。よって、該画像形成装置は、例えば、汎用的なWebブラウザを有する機器に対してWebサービスを提供することができる。
【0026】
各Webサービス提供処理手段による処理結果を機器にて表示可能とするという観点から、本発明は、請求項に記載されるように、上記表示形式作成手段は、上記記述形式処理手段によって上記第一処理リクエストに応じた上記処理結果と同様に処理された上記第二処理リクエストに応じた上記処理結果を、上記記述形式の書式スタイルに基づいて、上記表示形式に従った上記処理結果に変換する記述形式変換手段を有するように構成することができる。
【0027】
このような画像形成装置では、各Webサービス提供処理手段による所定記述形式に従って処理された処理結果を、上記記述形式の書式スタイルに基づいて、機器にて表示可能な表示形式に従った上記処理結果に変換することができる。
【0028】
上記書式スタイルとは、例えば、XSL(eXtensible Stylesheet Language)である。この書式スタイルによって、上記記述形式変換手段は、XMLに従って記述された処理結果をHTMLに従って記述されるように変換することができる。
【0029】
また、上記課題を解決するため、本発明は、請求項に記載されるように、スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成装置であって、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて、上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理する少なくとも一つ以上の処理単位を有し、該処理単位が該内部情報に基づいて上記画像形成装置を制御した処理結果を上記Webサービス通信制御手段へ提供する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と、上記Webサービス提供処理手段を構成する上記第一処理リクエストと上記第二処理リクエストとによって、上記少なくとも一つ以上の処理単位を実行することによって上記内部情報を処理し、該処理単位が該内部情報に基づいて上記画像形成装置を制御した処理結果を用いて付加処理を行うことによって上記第一又は第二処理リクエストに応じた上記処理結果を生成し、該処理結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手段と、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手段を実行する処理リクエスト処理手段と、上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段とを有するように構成される。
【0030】
このような画像形成装置では、機器は、SAOP等の第一プロトコルによって又はHTTP及びHTML等の第二プロトコルによってWebブラウザを介して画像形成処理を実行することができるため、該機器に、該画像形成処理を実行させるために専用のドライバ等のソフトウェアをインストールする必要がない。また、機器は、その機種又はオペレーティングシステムに依存することなく該画像形成装置に対して該画像形成処理を実行させることができる。更に、複合Webサービス提供処理手段によって、Webサービスを提供するのに必要なWebサービス提供処理手段の複数の処理単位が組み合わされることによって制御されるため、機器は、各Webサービスの機能を意識することなく、1回の処理リクエストによって、複数のWebサービスによる最終的な処理結果のみを取得することができる。よって、画像形成装置間の通信回数及び制御処理を大幅に削減することが可能となる。
【0031】
上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
【0032】
上記内部情報は、画像情報、画像情報についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
【0033】
画像形成装置がWebサービスを提供するという観点において、本発明は、請求項10に記載されるように、少なくとも上記複数のWebサービス提供処理手段と上記複合Webサービス提供処理手段とを有するアプリケーションと、上記画像形成処理で利用される上記スキャナ又はプロッタを含むハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該ハードウェア資源の利用を制御するコントロールサービスと、該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【0034】
このような画像形成装置では、コンピュータ装置としての機能を有するため、ネットワークを介して接続された機器へWebサービスを提供することができる。
【0035】
複数の処理単位を組み合せて実行するという観点において、本発明は、請求項1に記載されるように、上記複合Webサービス提供処理手段は、該複合Webサービス提供処理手段における処理単位として構成されると共に、上記複数Webサービス提供処理手段の上記処理単位を組み合せて実行する少なくとも一つの複合処理実行手段を有するように構成することができる。また、複数のWebサービス提供処理手段を組み合せて実行するという観点において、本発明は、請求項1に記載されるように、記複合処理実行手段は、上記複数のWebサービス提供処理手段の上記処理単位を複数組み合せて上記内部情報を処理するように構成することができる。
【0036】
プロトコルの異なる第一処理リクエストと第二処理リクエストに対する処理の一部を共有するという観点において、本発明は、請求項1に記載されるように、上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手段と、上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手段とを有し、上記プロトコル処理手段と上記記述形式処理手段とは、上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段によって共有されるように構成することができる。
【0037】
このような画像形成装置では、プロトコルが異なる第一処理リクエストと第二処理リクエストに対する処理が共有されると共に、複数のWebサービス提供処理手段及び複合Webサービス提供処理手段によってそれら処理が共有されるため、第一処理リクエストと第二処理リクエストとの夫々に応じた処理部を開発する必要がなく、また、複数のWebサービス提供処理手段と複合Webサービス提供処理手段との夫々に応じた処理部を開発する必要がない。従って、開発工数を大幅に削減することが可能となる。
【0038】
上記所定記述形式は、例えば、XML(eXtensible Markup Language)である。
【0039】
本発明は、請求項1に記載されるように、上記Webサービス通信制御手段は、上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記処理単位又は上記複合処理実行手段に処理を振り分ける第二振分手段を有するように構成することができる。更に、本発明は、請求項1に記載されるように、上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特性されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有するように構成することができる。
【0040】
このような画像形成装置では、同一の通信プロトコルで第一処理リクエスト及び第二処理リクエストを受信した後、第一処理リクエストによって特定されるWebサービス実行手段に振り分ける第一振分手段と、第ニ処理リクエストによって特定されるWebサービス実行手段に振り分ける第ニ振分手段とを有することによって、プロトコルの異なる第一処理リクエストと第二処理リクエストとによる同一のWebサービスの実行を可能とすることができる。
【0041】
上記所定ネットワーク通信プロトコルは、http(Hypertext Transfer Protocol)である。
【0042】
また、本発明は、請求項16から17に記載されるように、上記画像形成装置での処理を行う画像形成方法とすることもできる。
【0043】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0044】
本発明の一実施例に係る多種の画像形成機能を融合する画像形成装置(以下、融合機と言う)は、例えば、図1に示すような機能構成を成す。図1は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【0045】
図1において、融合機1200は、プロッタ1201と、スキャナ1202と、FCU(Fax Control Unit)1320と、その他ハードウェアリソース1203などを有するとともに、プラットフォーム1220とアプリケーション1230とから構成されるソフトウェア群1210と、融合機起動部1240とを備えている。
【0046】
融合機起動部1240は、融合機1200の電源投入時に先ず始めに実行され、プラットフォーム1220やアプリケーション1230を起動する。
【0047】
プラットフォーム1220は、アプリケーション1230からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス1250と、一または複数のハードウェア資源の管理をおこない、コントロールサービス1250からの獲得要求を調停するシステムリソースマネージャー(SRM(System Resource Manager)1223)と、OS(Operating System)1221とを有する。
【0048】
このコントロールサービス1250は、複数のサービスモジュールにより形成され、具体的には、SCS(System Control Service)1222と、ECS((Engine Control Service)1224と、MCS(Memory Control Service)1225と、OCS(Operation panel Control Service)1226と、FCS(FAX Control Service)1227と、NCS(Network Control Service)1228と、IMH(Imaging Memory Handler)1229とがある。なお、このプラットフォーム1220は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【0049】
OS1221は、UNIX(登録商標)などのオペレーティング・システムであり、プラットフォーム1220並びにアプリケーション1230の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
【0050】
SRM1223は、SCS1222とともにシステムの制御およびリソースの管理をおこなうものであり、プロッタ1201やスキャナ1202などのエンジン部、メモリ、HDDファイル、ホストI/O(セントロニクスI/F、ネットワークI/F、IEEE1394I/F、RS232CI/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【0051】
具体的には、このSRM1223は、要求されたハードウェア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。
【0052】
SCS1222は、アプリ管理(機能1)、操作部制御(機能2)、システム画面表示(ジョブリスト画面、カウンタ表示画面など)(機能3)、LED表示(機能4)、リソース管理(機能5)、割り込みアプリ制御(機能6)等の複数の機能を行う。具体的には、アプリ管理(機能1)では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御(機能2)では、アプリの操作部使用権の排他制御をおこなう。システム画面表示(機能3)では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。LED表示(機能4)では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。リソース管理(機能5)では、アプリ(ECS)がジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこなう。割り込みアプリ制御(機能6)では、特定のアプリを優先動作せさるための制御及びサービスをおこなう。
【0053】
ECS1224は、FCU1320、プロッタ1201、スキャナ1202、その他ハードウェアリソース1203などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【0054】
MCS1225は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。
【0055】
OCS1226は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【0056】
FCS1227は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPI(Application Program Interface)を提供する。
【0057】
NCS1228は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。
【0058】
本実施例において、NCS1228は、複数のプロトコルのうちhttpd(Hypertext Transfer Protocol Daemon)2によって、インターネットを介して接続されるネットワーク機器とのデータ通信をHTTP(Hypertext Transfer Protocol)で制御し、HTTPリクエストヘッダで指定される処理に必要な複数のWebサービスを関数コールによって起動し、その複数のWebサービスによる処理結果をHTTPレスポンスで該ネットワーク機器へ通知する。Webサービスは、例えば、XML(eXtensible Markup Language)によって記述されたメッセージに従って処理を行う。
【0059】
IMH1229は、イメージデータを仮想メモリ領域(ユーザー仮想空間)から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行う。
【0060】
アプリケーション1230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ1211と、コピー用アプリケーションであるコピーアプリ1212と、ファクシミリ用アプリケーションであるファックスアプリ1213と、スキャナ用アプリケーションであるスキャナアプリ1214と、WebサービスアプリケーションであるWebサービス処理アプリ1215と、配信用アプリケーションである配信アプリ1217とを有する。
【0061】
各アプリケーション1211〜1217は、プラットフォーム1220上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、NCS1228により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【0062】
Webサービス処理アプリ1215は、SOAP(Simple Object Access Protocol)又は所定記述形式に従ってメッセージ交換を行うメッセージ処理部80と、API(Application Program Interface)を介してコントロールサービス1250を利用して所定処理を行い、その処理結果をWS−API(Web Service Application Program Interface)を介してWebサービスとして提供する少なくとも1つ以上のWebサービスファンクション(WSF)1400とを有する。
【0063】
このように、融合機1200は、各アプリで共通的に必要となる処理をプラットフォーム1220で一元的に処理する。
【0064】
次に、融合機1200のハードウェア構成について説明する。図2は、図1に示す融合機のハードウェア構成を示すブロック図である。図2に示すように、この融合機1200は、オペレーションパネル1310と、FCU(ファックスコントロールユニット)1320、プロッタ1201、スキャナ1202及びその他ハードウェア1203とで構成されるエンジン部1350と、コントローラ1300のASIC1301とをPCI(Peripheral Component Interconnect)バス1309等で接続した構成となる。FCU1320は、受信したファックスデータを格納するための不揮発性メモリ1321と、FCU1320内での時間を計測するためのRTC(Real Time Clock)1322とを有し、通常G3規格に従ってファックスデータの送受信を行う。FCU1320は、オプションとして更にG3規格とG4規格とを搭載しても良い。
【0065】
コントローラ1300は、ASIC1301にMEM−C1302、HDD(Hard Disk Drive)1303などを接続するとともに、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェイスが公開されていないためである。
【0066】
ここで、このASIC1301とNB1305は、単にPCIを介して接続されているのではなく、AGP1308を介して接続されている。このようにAGP1308を介して接続することとした理由は、この融合機1200がプラットフォーム1220やアプリケーション1230を形成する複数のプロセスを実行制御する関係上、これらを低速のPCIで接続したのでは、パフォーマンスが低下するからである。
【0067】
CPU1304は、融合機1200の全体制御をおこなうものであり、具体的には、OS1221上でプラットフォーム1220を形成するSCS1222、SRM1223、ECS1224、MCS1225、OCS1226、FCS1227、NCS1228をそれぞれプロセスとして起動して実行させるとともに、アプリケーション1230を形成するプリンタアプリ1211、コピーアプリ1212、ファックスアプリ1213、スキャナアプリ1214、Webサービス処理アプリ1215、配信アプリ1217を起動して実行させる。
【0068】
NB1305は、CPU1304とMEM−P1306、SB1307、ASIC1301とを接続するためのブリッジであり、MEM−P1306は、融合機の描画用メモリなどとして用いるシステムメモリであり、MEM−C1302は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ASIC1301は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。
【0069】
NB1305は、PCIバスを介してSB1307と接続する他、ネットワーク通信を制御するNIC(Network Interface Card)1311と、USBディスクとして扱うことでデータを取り込むことができるUSB(Universal Serial Bus)ターゲット1312と、IEEE1394専用のケーブルで接続可能なIEEE13941313と、パラレルケーブルによって接続可能なセントロニクス1314と、シリアルケーブルによって接続可能なシリアル1315と、他のUSBターゲット(例えば、パーソナルコンピュータ)と接続し大容量の画像データの送受信を可能とするUSBホスト1316とを接続する。
【0070】
SB1307は、NB1305とROM、PCIデバイス、周辺デバイスとを接続するためのブリッジである。SB1307は、コントローラ1300での時間を計測するRTC(Real Time Clock)1323を有する。また、SB1307は、内部にUSBホストを有し、例えば、USB接続のカメラを接続することで画像データを取り込むことが可能であり、また、他のUSBターゲットからデータを受け取ることも可能である。
【0071】
融合機1200では、SB1307、NIC1311、USBターゲット1312、IEEE13941313、セントロニクス1314、シリアル1315、USBホスト1316、FCU1320の標準のG3、G3オプション、G4オプションの複数のポートを介して送受信されるデータがHDD1303に蓄積され一元的に管理される。
【0072】
HDD1303は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
【0073】
したがって、ASIC1301には、MEM−C1302を接続するためのRAMインターフェイスと、HDD1303を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がRAMインターフェイスまたはハードディスクインターフェースに切り替えられる。
【0074】
AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【0075】
以下、上述したような図1に示す機能構成、及び、図2に示すハードウェア構成を有する融合機1200がWebサービスを提供するための機能構成例について説明する。ここで、Webサービスとは、ネットワーク機器からのHTTPリクエストによるサービス要求に応じて、融合機1200が所定の処理を行ない、その処理結果をHTTPレスポンスとしてネットワーク機器へ提供することを言う。
【0076】
以下、SOAP及びHTMLによるWebサービスの提供を可能とする融合機1200の機能構成について図3で説明する。図3は、Webサービスを提供する融合機の機能構成例を示す図である。図3において、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。融合機1200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
【0077】
図3において、融合機1200は、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49と、スキャナ1202と、HDD1303と、プロッタ1201と、オペレーションパネル1310と、FCU(FAXコントロールユニット)1320等とを有する。複数のWebサービス提供処理部40及び49は、夫々Webサービスファンクション(WSF)1400を有する。
【0078】
図3に示す機能構成例の場合、ファイル管理Webサービス提供処理部40は、Webサービスファンクション(WSF)1400として、HDD1303に蓄積される文書(ファイル)を管理するファイル管理実行部400を有する。また、複数のWebサービス提供処理部40及び49は、図1に示すWebサービス処理アプリ1215内に構成される。
【0079】
Webサーバー500は、HTTPに従った通信制御を行うhttpd2と、HTTPリクエストに対応するWebサービス提供処理部40又は49へ処理を分配するディストリビューター(Distributor)30と、ネットワーク15を介して受信したGET METHOD又はPOST METHODによるHTTPリクエストを処理するHTTPリクエスト処理部501と、HTTPリクエストで示されるWebサービスの処理をファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60Bと、ファイル管理実行部400から通知される処理結果を示すHTML(Hypertext Markup Language)24を作成するHTML作成部502とを有する。ここで、HTTPリクエストはHTTPに従ったデータ通信によって、Webサービスを要求することを示し、HTTPレスポンスは該Webサービスの処理結果を通知する応答を示す。
【0080】
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPを指定するHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPを指定しないHTTPリクエストである場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
【0081】
更に、HTML作成部502は、XML処理部50によって生成されたXMLを所定のXSL(eXtensible Stylesheet Language)25を用いてHTMLフォーマットに変換するXSLプロセッサ503を有する
また、XMLで記述されたメッセージを処理するXML処理部50と、SOAPに従ってメッセージ交換を行うSOAP処理部70とを有する。XML処理部50と、SOAP処理部70とは、複数のWebサービス提供処理部40及び49とで共有される。
【0082】
XML処理部50は、SOAPを指定するHTTPレスポンスのボディ部の生成方法と同様に、SOAPを指定しないHTTPレスポンスのボディ部をXMLで記述して生成する。更に、SOAP処理部70は、Webサービスの処理内容を示す処理メッセージに基づいてファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60Aを有する。
【0083】
なお、融合機1200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。この場合、SOAP処理部70は、複数のWebサービス提供処理部の夫々の実行部に処理を振り分ける複数のディスパッチャー60Aを備えるようにする。また、それら複数のWebサービス提供処理部によって、XML処理部50及びSOAP処理部70は共有される。同様に、複数のディスパッチャー60Bが複数のWebサービス提供処理部に対応させて備えられる。
【0084】
また、ネットワーク15を介して融合機1200と接続されるネットワーク機器10Aは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Aに表示させる出力データとを制御する入出力制御部11Aと、融合機1200に対するWebサービスの処理内容及び融合機1200からのWebサービスの処理結果をXMLによって処理するXML処理部13と、HTTPに従ったリクエストの生成及びレスポンスを解析するリクエスト/レスポンス処理部14とを有する。ネットワーク15を介して融合機1200と接続されるネットワーク機器10Bは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Bに表示させる出力データとを制御する入出力制御部11Bを有し、HTTPに従ったリクエストの生成及びレスポンスを表示するWebブラウザ23を有する。
【0085】
先ず、ネットワーク機器10Aからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Aを利用する利用者は、所望のWebサービスを融合機1200へ要求するための画面から融合機1200へ要求する(ステップS101)。利用者によるWebサービスの要求に応じて、入出力制御部11Aは、リクエスト/レスポンス処理部14へ要求データを通知する(ステップS102)。リクエスト/レスポンス処理部14は、入出力制御部11からの要求データに基づいてHTTPリクエストを生成し(ステップS103)、XML処理部13が処理内容をXMLによってHTTPリクエストのボディ部に記述すると、SOAP処理部12によってSOAPに従ってHTTPリクエストがネットワーク15を介して融合機1200へ送信される(ステップS104)。
【0086】
融合機1200のWebサーバー500は、httpd2によってHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS105)。例えば、HTTPリクエストのヘッダ部でファイル管理Webサービス提供処理部40が指定されていた場合、ファイル管理Webサービス提供処理部40がディストリビューター30によって関数コールされる。
【0087】
ファイル管理Webサービス提供処理部40において、SOAP処理部70は、HTTPリクエストをSOAPに従って処理して、SOAPヘッダ部で指定されるファイル管理実行部400に処理を振り分けるディスパッチャー60Aに通知する(ステップS106)。ディスパッチャー60Aは、HTTPリクエストのヘッダ部で処理内容を振り分けて、XML処理部50に通知する(ステップS107)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージをファイル管理実行部400で解釈可能な記述に変換してファイル管理実行部400を実行する(ステップS108)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS109)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
【0088】
処理結果を取得したファイル管理実行部400はXML処理部50へその処理結果を通知する(ステップS110)。XML処理部50は、通知された処理結果をXMLで記述したXML26を生成してHTTPレスポンスのボディ部をに設定するために、SOAP処理部70に通知する(ステップS111)。そして、Webサーバー500は、httpd2を介してXMLで記述された処理結果をボディ部とするSOAPに従ったHTTPレスポンスをネットワーク機器10Aに送信する(ステップS112)。
【0089】
ネットワーク機器10AにてHTTPレスポンスが受信されると、XML処理部13は、HTTPレスポンスのボディ部を解析して処理結果を取得し(ステップS113)、リクエスト/レスポンス処理部14は、その取得した処理結果をモニタ9Aに表示させる出力データとして入出力制御部11Aに渡す(ステップS114)。そして、入出力制御部11Aは、受け取った出力データをモニタ9Aに表示させるように制御する(ステップS115)。
【0090】
上記より、ネットワーク機器10Aは、予め取り決めておいたXMLによる記述形式に従ってHTTPリクエストのボディ部に処理内容を記述することによって、融合機1200に対して遠隔地からWebサービスの要求を行うことができる。また、融合機1200は、予め取り決めておいたXMLによる記述形式に従ってHTTPレスポンスのボディ部に処理結果を記述することによって、遠隔地にあるネットワーク機器10Aに対してWebサービスの提供を行うことが可能となる。融合機1200は、ネットワーク15を介して、複数のネットワーク機器10Aに対して、Webサービスを提供することも可能である。
【0091】
次に、ネットワーク機器10Bからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Bを利用する利用者は、モニタ9Bに表示されるWebサービスを融合機1200へ要求するための画面から融合機1200へ所望のWebサービスを要求し、入出力制御部11Bはその要求データを受信する(ステップS121)。Webブラウザ23は、入出力制御部11Bが受信した要求データに基づいて、GET METHOD又はPOST METHODによるHTTPリクエストを生成してネットワーク15を介して融合機1200へ送信する(ステップS122)。
【0092】
融合機1200はネットワーク機器10BからHTTPリクエストを受信すると、Webサーバー500によってHTTPリクエストを解析する。つまり、ネットワーク通信制御を行うhttpd2がHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定される、例えば、メソッド(GET METHOD又はPOST METHOD)に応じた解析がなされるようにHTTPリクエストがHTTPリクエスト処理部501に分配される(ステップS123)。
【0093】
HTTPリクエスト処理部501は、メソッドに応じてボディ部から処理内容を取得し、例えば、ヘッダ部でURL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)によってファイル管理Webサービスが指定されている場合、ディスパッチャー60Bによって、ファイル管理実行部400へ処理内容に応じた処理の振り分けを行う(ステップS124)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS125)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
【0094】
処理結果を取得したファイル管理実行部400はXML処理部50へその処理結果を通知する(ステップS126)。XML処理部50は、SOAPによるHTTPレスポンスのボディ部を生成するのと同様に、通知された処理結果をXMLで記述したXML26を生成して、HTTPレスポンスのボディ部に設定するために、Webサーバー500のHTML作成部502に通知する(ステップS127)。HTML作成部502は、XSLプロセッサ503によって所定のXSL25を用いてHTMLフォーマットに変換したHTML24を生成し、httpd2にHTML24の送信を依頼する(ステップS128)。httpd2は、httpに従ってHTML24をネットワーク機器10Bへ送信する(ステップS129)。
【0095】
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11Bによってモニタ9BへHTML24を表示させる(ステップS130)。
【0096】
上記より、ネットワーク機器10Bは、融合機1200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザ23を利用するのみで、融合機1200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、Webサーバー500に、各Webサービスの実行部における処理の特性に応じてXSL25を備えるようにすることで、ネットワーク機器10Bへ処理結果を表示する際にWebサービス毎の表示画面を提供することが可能となる。
【0097】
従って、融合機1200は、SOAPに従ってメッセージ交換を行うことができるネットワーク機器10Aと、Webブラウザ23を有するネットワーク機器10Bとに対して、同じファイル管理実行部400によるWebサービスの提供を行うことができる。ファイル管理実行部400を有するファイル管理Webサービス提供処理部40が、プロトコルの異なる処理リクエストによって共有することができるため、処理リクエストのプロトコル毎にファイル管理Webサービス提供処理部40を開発する必要がない。
【0098】
また、融合機1200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
【0099】
融合機1200とネットワーク機器10との間でSOAPに従ってメッセージ交換するHTTPリクエスト及びHTTPレスポンスについて図4及び図5で説明する。図4は、SOAPによるHTTPリクエストの例を示す図である。図4に示すHTTPリクエストにおいて、URI(Uniform Resource Indicator)16は、POSTメソッドによってHTTPリクエストが送信されるURIを示し、例えば、「netdoc」である。更に、SOAPAction17でリクエストの目的を表すURIが示され、例えば、「http://foo.bar.com/netdoc/filemanagement」によって「ファイル管理」が指定される。
【0100】
図3の融合機1200のhttpd2のディストリビューター30は、SOAPAction17で指定される「filemanagement」により、ファイル管理Webサービス提供処理部40にHTTPリクエストを分配する。ファイル管理Webサービス提供処理部40は、SOAP処理部70によってSOAPに従ってHTTPリクエストを処理する。SOAP処理部70において、ディスパッチャー60Aは、SOAPAction17で指定される「filemanagement」により、ファイル管理実行部400に処理を振り分ける。また、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ18を解析する。例えば、メッセージ18は、<ns:filemanagement>から</ns:filemanagement>までに示される。「filemanagement」は、コマンドを示す。メッセージ18によって要求される処理内容は、<fileId>から</fileId>によって指定されるファイルID「123」を、<operationCode>から</operationCode>によって指定されるオペレーションコード「3」の処理を行うことを示している。例えば、オペレーションコード「3」はファイル削除、オペレーションコード「1」はファイル追加、オペレーションコード「2」はファイル編集を要求する。
【0101】
この場合、ディスパッチャー60Aによって処理が振り分けられたファイル管理実行部400は、XML処理部50によって解析された処理内容に従って、HDD1303からフィルID「123」の文書を削除する。
【0102】
なお、上記例は、一つのコマンド「filemanagement」で、<operationCode>の設定によってファイルの管理方法を指定しているが、ファイル管理の処理を細分し、例えば、ファイル追加Webサービス、ファイル編集Webサービス、及び、ファイル削除Webサービス等のように複数のWebサービスをWebサービスファンクション1400としてWebサービス処理アプリ1215に備えるようにしても良い。この場合、例えば、「fileadd」、「fileedit」、「filedelete」のように、Webサービス毎に一意に対応するコマンドがXMLメッセージ18に設定されるようにすることによって、<operationCode>によるオペレーションコードが不要となる。
【0103】
図5は、SOAPによるHTTPレスポンスの例を示す図である。図5に示すHTTPレスポンスは、ファイル管理Webサービス提供処理部40のSOAP処理部70によって、ファイル管理実行部400の処理結果に基づいて作成される。図5に示すHTTPレスポンスにおいて、SOAP処理部70は、ファイル管理Webサービス提供処理部40の処理結果に基づいて、ステータスコード20として「200」と、説明句21として「OK」を設定する。更に、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ22を生成する。コマンド「filemanagement」のレスポンスは、<ns:filemanagementResponse>から</ns:filemanagementResponse>で示され、例えば、<requestId>と</requestId>とのよってリクエストID「10」が設定される。このHTTPレスポンスを受信したネットワーク機器10Aは、XML処理部13によるXMLによって記述されたメッセージ22を処理することによって、処理が正常に行われたことを確認する。
【0104】
次に、一つのWebサービス提供処理部の複数のメソッドを組み合せて実行する複合Webサービス提供処理部を有する融合機1200について説明する。図6は、複合Webサービスを有する融合機の例を説明するための機能構成例を示す図である。図6において、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。融合機1200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
【0105】
図6において、融合機1200は、主に、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40、他Webサービス提供処理部49及び複合Webサービス提供処理部90と、XMLで記述されたメッセージを処理するXML処理部50と、ネットワーク機器10との間でSOAPに従うメッセージ交換を制御するSOAP処理部70と、スキャナ1202と、HDD1303と、プロッタ1201と、オペレーションパネル1310と、FCU1320等とを有する。
【0106】
XML処理部50とSOAP処理部70とは、複数のWebサービス提供処理部40、49及び90とで共有される。また、複数のWebサービス提供処理部40、49及び90は、図1に示すWebサービス処理アプリ1215内に構成される。
【0107】
Webサーバー500は、HTTPに従った通信制御を行うhttpd2と、HTTPリクエストに対応するWebサービス提供処理部へ処理を分配するディストリビューター(Distributor)30と、ネットワーク15を介して受信したGET METHOD又はPOST METHODによるHTTPリクエストを処理するHTTPリクエスト処理部501と、HTTPリクエストで示されるWebサービスの処理を各Webサービス提供処理部毎に処理を振り分けるディスパッチャー60B及び68Bと、各Webサービス提供処理部40、90及び49から通知されるXMLで記述された処理結果をHTML24で作成するHTML作成部502とを有する。HTML作成部502は、XML処理部50によって生成されたXMLをHTMLフォーマットに変換するXSLプロセッサ503を有する。ここで、HTTPリクエストはHTTPに従ったデータ通信によって、Webサービスを要求することを示し、HTTPレスポンスは該Webサービスの処理結果を通知する応答を示す。
【0108】
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPによるHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPによるHTTPリクエストでない場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
【0109】
ファイル管理Webサービス提供処理部40は、HDD1303に蓄積されている文書を特定する文書IDのリストを取得する文書IDリスト取得メソッド401と、文書IDに対応するHDD1303に蓄積されている文書に関する書誌情報を取得する書誌情報取得メソッド402とを有する。メソッドは、ファイル管理Webサービス提供処理部40でのWebサービスの処理の単位を示し、ファイル管理Webサービス提供処理部40は、複数のメソッドによって図1に示すWebサービスファンクション1400を構成し、ネットワーク機器10A又は10Bからの要求に応じたWebサービスの提供を行う。図3に示される第一機能構成例の場合、複数のメソッドとして、文書IDリスト取得メソッド401と書誌情報取得メソッド402とに限定されるものではなく、これらメソッド以外に複数のメソッドを構成することも可能である。
【0110】
複合Webサービス提供処理部90の文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401を利用して文書IDのリストを取得する文書IDリスト取得部801と、書誌情報取得メソッド402を利用して文書IDに対応する書誌情報を取得する書誌情報取得部802と、取得した書誌情報に基づいて文書一覧を作成する文書一覧作成部803とを有する。文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401及び書誌情報取得メソッド402を利用しているため、それらメソッドの実体を備えてはいない。よって、文書一覧作成複合メソッド800を実現するために開発される部分は、主に、文書一覧作成部803のみである。そのため、開発効率を大幅に削減することができる。また、複合Webサービス提供処理部90は、文書一覧作成複合メソッド800のような処理単位及びメソッドの実体を備えたメソッドによる処理単位を複数有する集合体を図1に示すWebサービスファンクション1400として構成する。
【0111】
SOAP処理部70は、更に、各Webサービス提供処理部40及び90に処理を振り分けるディスパッチャー(Dispatcher)60A、68A等を有し、例えば、ファイル管理Webサービス提供処理部40の各メソッド401又は402へ処理を振り分けるディスパッチャー60Aと、複合Webサービス提供処理部90の文書一覧作成複合メソッド800に対して処理を振り分けるディスパッチャー68Aと、他Webサービス提供処理部49のメソッドに対して処理を振り分ける他のディスパッチャー(図示せず)とを有する。なお、融合機1200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と、複合Webサービス提供処理部90と、他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。また、それら複数のWebサービス提供処理部によって、XML処理部50及びSOAP処理部70は共有される。
【0112】
また、ネットワーク15を介して融合機1200と接続されるネットワーク機器10A及びネットワーク機器10Bの機能構成は、図3に示すネットワーク機器10A及びネットワーク機器10Bと同様であるため、その説明を省略する。
【0113】
先ず、ネットワーク機器10Aからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Aを利用する利用者は、所望のWebサービスを融合機1200へ要求するための画面から融合機1200へ要求する(ステップS31)。例えば、利用者は、融合機1200のHDD1303に蓄積された文書の一覧を提供するWebサービスをモニタ9Aの画面から要求したとする。利用者によるWebサービスの要求に応じて、入出力制御部11Aは、リクエスト/レスポンス処理部14へ要求データを通知する(ステップS32)。リクエスト/レスポンス処理部14は、入出力制御部11からの要求データに基づいてリクエストを生成し、生成したリクエストをSOAP処理部12に通知する(ステップS33)。SOAP処理部12は、XML処理部13利用者が所望するWebサービスの処理内容をXMLによってHTTPリクエストのボディ部を記述し、SOAPに従ってHTTPリクエストを生成する。そして、該HTTPリクエストをネットワーク15を介して融合機1200へ送信する(ステップS34)。
【0114】
融合機1200のhttpd2は、HTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS35)。例えば、HTTPリクエストのヘッダ部で複合Webサービス提供処理部90が指定されていた場合、複合Webサービス提供処理部90がディストリビューター30によって実行される。
【0115】
複合Webサービス提供処理部90は、SOAPに従ったHTTPリクエストを処理するために、SOAP処理部70に受信したHTTPリクエストを通知する(ステップS36)。SOAP処理部70は、SOAPに従ってHTTPリクエストを処理し、ディスパッチャー68は、HTTPリクエストのヘッダ部で指定される文書一覧作成複合メソッド800に処理を振り分けて、HTTPのメソッドに応じてXML処理部50を実行する(ステップS37)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージを文書一覧作成複合メソッド800で解釈可能な記述に変換して、文書一覧作成複合メソッド800に通知する(ステップS38)。
【0116】
文書一覧作成複合メソッド800は、先ず、文書IDリスト取得部801によって、ファイル管理Webサービス提供処理部40の文書IDリスト取得メソッド401を関数コールする(ステップS39)。文書IDリスト取得メソッド401は、HDD1303で管理している文書を識別する文書IDを取得して文書IDリストを作成する。この場合、文書IDリスト取得メソッド401(listID(docIDList))は、文書ID「101」、「102」、「103」とを取得したとすると、文書IDリスト(docIDList)を、docIDList={101, 102, 103, 0}(「0(ゼロ)」は終了を示す)のように設定し文書IDリスト取得部801に通知する(ステップS40)。
【0117】
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS41)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
【0118】
コールされた書誌情報取得メソッド402は、HDD1303に対して指定された文書IDで書誌情報を問い合わせ、該書誌情報を書誌情報取得部802へ通知する(ステップS42)。つまり、書誌情報取得メソッド402は、書誌情報取得部802から通知された文書ID「101」でHDD1303から書誌情報を取得する。そして、書誌情報取得メソッド402は、書誌情報取得部802へ通知するための書誌情報を作成する。例えば、書誌情報は、prop={文書ID, 文書名, ページ数, 所有者, 0}(「0(ゼロ)」は書誌情報の終了を示す)として作成され、この場合、prop={101, ”蓄積文書1”, 3, “ユーザー1”, 0}のように文書ID「101」に対して設定される。書誌情報取得メソッド402は、指定された文書IDに対する書誌情報の作成結果を文書一覧作成複合メソッド800の書誌情報取得部802へ通知する。
【0119】
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
【0120】
文書一覧作成複合メソッド800は、更に、文書一覧作成部803によって、文書一覧を作成し、その文書一覧をXMLで記述するためにXML処理部50へ通知する(ステップS43)。つまり、文書一覧作成部803は、文書一覧を、例えば、docList={{101, "蓄積文書1", 3, "ユーザー1",0},{102, "蓄積文書2", 10, "ユーザー2",0},{103, "蓄積文書3", 1, "ユーザー1",0},0}のように作成する。この作成された文書一覧(docList)がXML処理部50に通知される。XML処理部50は、文書一覧(docList)を受け取ると、XMLで記述したXML26を生成してSOAP処理部70へ通知する(ステップS44)。SOAP処理部70は、XMLで記述された文書一覧を受け取ると、HTTPレスポンスのボディ部に受け取ったXMLで記述された文書一覧を設定してSOAPに従ってHTTPレスポンスを生成する(ステップS45)。
【0121】
このような機能構成例において、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Aは、融合機1200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
【0122】
更に、図6において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10からHTTPリクエストを受信すると(ステップS34),ディストリビューター30は、HTTPリクエストのヘッダ部で指定される書誌情報取得のWebサービスの要求に応じて、ファイル管理Webサービス提供処理部40の書誌情報取得メソッド402へ受信したHTTPリクエストを分配する(ステップS35−3)。
【0123】
ファイル管理Webサービス提供処理部40は、SOAPに従ったHTTPリクエストを処理するために、SOAP処理部70に受信したHTTPリクエストを通知する(ステップS36−3)。SOAP処理部70は、SOAPに従ってHTTPリクエストを処理し、ディスパッチャー60Aは、HTTPリクエストのヘッダ部で指定される書誌情報取得メソッド402に処理を振り分けて、HTTPのメソッドに応じてXML処理部50を実行する(ステップS37−3)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージを書誌情報取得メソッド402で解釈可能な記述に変換して、書誌情報取得メソッド402に通知する(ステップS38−3)。
【0124】
書誌情報取得メソッド402は、HDD1303で管理している文書に対して、XML処理部50で処理されたメッセージで指定される文書IDで書誌情報を問い合わせて、その書誌情報をXMLで記述するためにXML処理部50へ通知する(ステップS43−3)。XML処理部50では、書誌情報をXMLで記述したXML26が生成される。更に、SOAP処理部70において、HTTPレスポンスのボディ部にXML26を設定してSOAPに従ってHTTPレスポンスが生成され(ステップS45―3)、httpd2からネットワーク機器10へ送信される(ステップS46−3及びS47)。
【0125】
このように、融合機1200は、ネットワーク機器10Aからの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
【0126】
よって、融合機1200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
【0127】
次に、ネットワーク機器10Bからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Bを利用する利用者は、モニタ9Bに表示されるWebサービスを融合機1200へ要求するための画面から融合機1200へ所望のWebサービスを要求し、入出力制御部11Bはその要求データを受信する(ステップS51)。Webブラウザ23は、入出力制御部11が受信した要求データに基づいて、GET METHOD又はPOST METHODによるHTTPリクエストを生成してネットワーク15を介して融合機1200へ送信する(ステップS52)。例えば、Webブラウザ23は、
GET /documentList.cgi HTTP/1.1
のようなGETメソッドによるHTTPリクエストを送信する。
【0128】
融合機1200のWebサーバー500のhttpd2が、ネットワーク機器10から受信したHTTPリクエストを受信すると、ディストリビューター30は、HTTPリクエストのGETメソッドに基づいてGETメソッドによるHTTPリクエストを処理するHTTPリクエスト処理部501に該HTTPリクエストを分配する(ステップS53)。HTTPリクエスト処理部501は、ディスパッチャー68によって、HTTPリクエストのヘッダ部で指定される文書一覧作成複合メソッド800に処理を振り分ける(ステップS54)。例えば、「documentList.cgi」によって、「documentList.cgi」に相当する文書一覧作成複合メソッド800が実行される。
【0129】
文書一覧作成複合メソッド800は、先ず、文書IDリスト取得部801によって、ファイル管理Webサービス提供処理部40の文書IDリスト取得メソッド401を関数コールする(ステップS55)。文書IDリスト取得メソッド401は、HDD1303で管理している文書を識別する文書IDを取得し(ステップS56)、文書IDリストを作成する。この場合、文書IDリスト取得メソッド401(listID(docIDList))は、文書ID「101」、「102」、「103」とを取得したとすると、文書IDリスト(docIDList)を、docIDList={101, 102, 103, 0}(「0(ゼロ)」は終了を示す)のように設定し文書IDリスト取得部801に通知する(ステップS57)。
【0130】
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS58)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
【0131】
コールされた書誌情報取得メソッド402は、HDD1303に対して指定された文書IDで書誌情報を問い合わせ、該書誌情報を書誌情報取得部802へ通知する(ステップS59)。つまり、書誌情報取得メソッド402は、書誌情報取得部802から通知された文書ID「101」でHDD1303から書誌情報を取得する。そして、書誌情報取得メソッド402は、書誌情報取得部802へ通知するための書誌情報を作成する。例えば、書誌情報は、prop={文書ID, 文書名, ページ数, 所有者, 0}(「0(ゼロ)」は書誌情報の終了を示す)として作成され、この場合、prop={101, ”蓄積文書1”, 3, “ユーザー1”, 0}のように文書ID「101」に対して設定される。書誌情報取得メソッド402は、指定された文書IDに対する書誌情報の作成結果を文書一覧作成複合メソッド800の書誌情報取得部802へ通知する。
【0132】
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
【0133】
文書一覧作成複合メソッド800は、更に、文書一覧作成部803によって、文書一覧を作成し、その文書一覧をXMLで記述するためにXML処理部50へ通知する(ステップS60)。つまり、文書一覧作成部803は、文書一覧を、例えば、docList={{101, "蓄積文書1", 3, "ユーザー1",0},{102, "蓄積文書2", 10, "ユーザー2",0},{103, "蓄積文書3", 1, "ユーザー1",0},0}のように作成する。この作成された文書一覧(docList)がXML処理部50に通知される。XML処理部50は、文書一覧(docList)を受け取ると、SOAPに従ったHTTPレスポンスのボディ部の生成と同様の記述方法によって、XMLで記述したXML26を生成してWebサーバー500へ通知する(ステップS61)。通知を受けると、Webサーバー500は、HTML作成部502を実行する。HTML作成部502は、XSLプロセッサ503によって、所定のスタイルリストを示すXSL25に基づいて、XML26をHTMLフォーマットに変換する。HTML作成部502は、このHTMLフォーマットに従う処理結果を示すHTML24によるHTTPレスポンスを作成し、httpd2へ該HTTPレスポンスの送信を要求する(ステップS62)。httpd2は、HTTPレスポンスをネットワーク15を介してネットワーク機器10Bへ送信する(ステップS63)。
【0134】
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11によってモニタ9へHTML24を表示させる(ステップS64)。
【0135】
更に、図6において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10BからHTTPリクエストを受信すると(ステップS52),ディストリビューター30は、HTTPリクエストのGETメソッドに基づいてGETメソッドによるHTTPリクエストを処理するHTTPリクエスト処理部501に該HTTPリクエストを分配する(ステップS53)。HTTPリクエスト処理部501は、ディスパッチャー60によって、HTTPリクエストのヘッダ部で指定される書誌情報取得メソッド402に処理を振り分ける(ステップS54−3)。
【0136】
書誌情報取得メソッド402は、HDD1303で管理している文書に対して、HTTPリクエストによって指定される文書IDで書誌情報を問い合わせ、書誌情報を作成し、その書誌情報をXMLで記述したXML26を生成するためにXML処理部50へ通知する(ステップS60−3)。以後、上述したステップS61からS63の処理によって、書誌情報がネットワーク機器10Bに提供される。
【0137】
このように、融合機1200は、ネットワーク機器10からの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
【0138】
よって、融合機1200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
【0139】
上記機能構成例において、ネットワーク機器10Bは、融合機1200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザを利用するのみで、融合機1200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、複数のメソッドの組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Bは、融合機1200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
【0140】
更に、このような複合Webサービス提供処理部90が、プロトコルの異なる処理リクエストによって共有することができる。従って、処理リクエストのプロトコル毎に複合Webサービス提供処理部90を開発する必要がない。
【0141】
また、上記機能構成例において、融合機1200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
【0142】
図6に示すXML処理部50は、文書一覧(docList)を、例えば、図7に示すようなXMLで記述する。図7は、XML処理部にてXMLで記述された文書一覧の例を示す図である。図7より、記述53は文書ID「101」の書誌情報を示し、記述54は文書ID「102」の書誌情報を示し、記述55は文書ID「103」の書誌情報を示す。例えば、記述53において、文書ID「101」の書誌情報は、文書名が「蓄積文書1」、ページ数が「3」ページ、所有者が「ユーザー1」であることを示している。
【0143】
また、ネットワーク機器10AのSOAP処理部12で作成され、融合機1200へ送信されるHTTPリクエストは、例えば、図8に示すように記述される。図8は、SOAPによるHTTPリクエストの例を示す図である。図8は、SOAPによるHTTPリクエストの例を示す図である。図8に示すHTTPリクエストのHTTPヘッダ部73おいて、URI74は、POSTメソッドによってHTTPリクエストが送信されるURIを示し、例えば、「netdoc」である。更に、SOAPAction75でリクエストの目的を表すURIが示され、例えば、「http://foo.bar.com/netdoc/documentList」によって「文書一覧」が指定される。融合機1200のhttpd2がHTTPリクエストを受信し、SOAP処理部70がHTTPヘッダ部75を解析する。SOAP処理部70は、<SOAP-ENV:Envelope>から</SOAP-ENV:Envelope>を解析し、<ns:documentList>から</ns:documentList>までのXMLで記述された処理内容を示すメッセージを取得する。このXMLメッセージは、XMLメッセージにおいて、例えば、<listtype>に設定されている“1”が全ての文書について一覧を作成することを示す場合、文書一覧作成複合メソッド800は、そのメッセージの指示に基づいて、文書IDリスト取得部801と、書誌情報取得部802と、文書一覧作成部803とによって、融合機1200にて管理される全文書の一覧を取得する。
【0144】
文書一覧は、XML処理部50でXMLにて記述された後、SOAP処理部70でHTTPレスポンスが作成され、例えば、図9に示すようなHTTPレスポンスを生成する。図9は、SOAPによるHTTPレスポンスの例を示す図である。図9に示すHTTPレスポンスの例において、SOAP処理部70は、HTTPヘッダ部78を作成し、更に、HTTPボディ部79を作成する。HTTPボディ部79として、<SOAP-ENV:Envelope>から</SOAP-ENV:Envelope>が作成される。<ns:documentListResponse>から</ns:documentListResponse>までに示されるメッセージ91は、XML処理部50によって文書一覧作成複合メソッド800からの文書一覧をXMLで記述したメッセージである。
【0145】
このようなHTTPレスポンスがネットワーク機器10Aへ通知され、SOAP処理部12によって<SOAP-ENV:Body>から</SOAP-ENV:Body>にメッセージ91を取り出し、その取り出されたメッセージ91は、XML処理部13によってモニタ9Aに表示すべき文書一覧情報を取り出してリクエスト/レスポンス処理部14に通知される。更に、文書一覧情報はリクエスト/レスポンス処理部14によって画面データとして処理され、例えば、図11に示すように、入出力制御部11Aによってモニタ9Aに表示される。
【0146】
一方、図7に示すXMLで記述された文書一覧は、XSL25に基づいて、HTML作成部502のXSLプロセッサ503によって、図10に示すようなHTMLで記述された文書一覧に変換される。図10は、HTML作成部にてHTMLで記述された文書一覧の例を示す図である。図10において、記述93は、HTTPレスポンスのヘッダ部を示し、記述99は、HTTPレスポンスのボディ部を示す。
【0147】
記述99において、記述94は、HTMLのヘッダ部を示し、ネットワーク機器10Bの利用者が要求したWebサービスに対応するタイトル「文書一覧」を表示するための記述である。記述95は、文書一覧の項目名を表示するための記述である。記述96は、図7に示すXMLによる記述53がHTMLに変換された記述である。記述97は、図7に示すXMLによる記述54がHTMLに変換された記述である。記述98は、図7に示すXMLによる記述55がHTMLに変換された記述である。
【0148】
このようにHTMLに変換された記述によって、ネットワーク機器10Bのモニタ9Bには、図11に示されるような画面が表示される。図11は、ネットワーク機器側に表示される画面例を示す図である。図11に示される画面92において、文書名、ページ数、所有者等の項目名に対応させて、文書一覧が表示される。また、SOAPに従ったHTTPレスポンスによっても、ネットワーク機器10Aのモニタ9Aには、同様の画面が表示される。
【0149】
以上より、本発明に係る融合機1200は、WebサービスをSOAPによるメッセージ交換によって可能とすると共に、HTMLによる提供をも可能とする。よって、ネットワーク機器10A及び10Bの利用者に対して同様のWebサービスを提供することができる。
【0150】
また、SOAPを指定したHTTPリクエストに対しても、SOAPを指定しないHTTPリクエストに対しても、同一のWebサービスファンクションを実行することができる。更に、SOAPを指定したHTTPレスポンスに対しても、SOAPを指定しないHTTPレスポンスに対しても、XML処理部50にて生成されたXML26を使用してボディ部を生成することができる。
【0151】
上記実施例において、同一のWebサービスファンクションでSOAP対応とWebブラウザ対応とを可能とする例を説明したが、その他にネットワーク機器との間で独自に取り決めた独自プロトコルにも対応するように、異なる3のプロトコルに対応することも可能である。例えば、HTTPリクエスト及びHTTPレスポンスのボディ部に独自に取り決めたXMLによる記述を設定した独自プロトコルによってネットワーク機器に同一のWebサービスを提供するようにしても良い。
【0152】
【発明の効果】
以上、説明してきたように、本願発明によれば、利用者が使用するコンピュータ端末に複数の画像形成機能を利用するために複数のドライバ・ソフトウェアをインストールすることなく、標準的なWebサービス対応ソフトウェアをインストールするだけでよい。また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、複数の画像形成機能を有する融合機への処理要求を行うことができるだけでなく、他の機器からの処理要求も統一的に処理することが可能となる。
【0153】
【図面の簡単な説明】
【図1】本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【図2】図1に示す融合機のハードウェア構成を示すブロック図である。
【図3】Webサービスを提供する融合機の機能構成例を示す図である。
【図4】SOAPによるHTTPリクエストの例を示す図である。
【図5】SOAPによるHTTPレスポンスの例を示す図である。
【図6】複合Webサービスを有する融合機の例を説明するための機能構成例を示す図である。
【図7】XML処理部にてXMLで記述された文書一覧の例を示す図である。
【図8】SOAPによるHTTPリクエストの例を示す図である。
【図9】SOAPによるHTTPレスポンスの例を示す図である。
【図10】HTML作成部にてHTMLで記述された文書一覧の例を示す図である。
【図11】ネットワーク機器側に表示される画面例を示す図である。
【符号の説明】
2 httpd(Hypertext Transfer Protocol Daemon)
30 ディストリビューター
40〜49 Webサービス提供処理部
50 XML処理部
60A、60B ディスパッチャー
70 SOAP処理部
1200 融合機、
1201 プロッタ 1202 スキャナ
1210 ソフトウェア群
1230 アプリケーション、 1220 プラットフォーム
1221 OS、 1222 SCS
1223 SRM、 1224 ECS
1225 MCS、 1226 OCS
1227 FCS、 1228 NCS
1229 IMH、 1240 融合機起動部
1300 コントローラ、 1301 ASIC
1302 MEM−C、 1303 HDD
1304 CPU、 1305 NB
1306 MEM−P、 1307 SB
1308 AGP、 1310 オペレーションパネル
1311 NIC、 1312 USBターゲット
1313 IEEE1394 1314 セントロニクス
1315 シリアル 1316 USBホスト
1320 FAXコントロールユニット
1321 不揮発性メモリ 1322、1323 RTC
1350 エンジン部
[0001]
BACKGROUND OF THE INVENTION
In the present invention, it is only necessary to install standard Web service compatible software on a computer terminal used by a user without installing a plurality of driver software in order to use a plurality of image forming functions. It is an object of the present invention to provide an image forming apparatus that can provide a Web service without depending on the model or operating system of the computer terminal and can uniformly process processing requests from other devices.
[0002]
[Prior art]
2. Description of the Related Art In recent years, image forming apparatuses in which functions of apparatuses such as a printer, a copy machine, a facsimile machine, and a scanner are housed in a single casing are generally known. Such a composite-type image forming apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and three types of applications corresponding to a printer, a copy unit, and a facsimile device, respectively. The apparatus is operated as a printer, a copy, a scanner, or a facsimile apparatus.
[0003]
[Problems to be solved by the invention]
However, in the conventional composite image forming apparatus, when functions such as a printer, a copy, a facsimile, and a scanner are used from a plurality of PCs (personal computers) connected via a network, each image forming function is assigned to each PC. It was necessary to install software such as drivers according to The software installed in the PC must be compatible with the model and operating system of the PC. In addition, similar requests may be requested between devices such as servers. However, since the required processing protocol and processing unit are different, it is necessary to satisfy both requirements at the time of mounting. Furthermore, in the conventional usage mode, there is a restriction that only processing determined by the driver can be performed.
[0004]
Therefore, an object of the present invention is to install a plurality of driver software for using a plurality of image forming functions in a computer terminal used by a user and without depending on a model or operating system of the computer terminal. An image forming apparatus that can use the functions of the image forming apparatus as programmable application components that can be accessed using various Internet standard Web protocols via a network, and that can request a Web service from a Web browser. Is to provide. Also provided is an image forming apparatus that realizes a distributed environment in which a Web service interacts with another Web service within the image forming apparatus or between the image forming apparatus and another apparatus.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, the present invention as described in claim 1, An image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device, A first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol are received, and the first protocol is followed Web service communication control means for transmitting a first process response and a second process response according to the second protocol;
Accept the first processing request and the second processing request with different protocols One of the above hardware resources Web service execution means for commonly processing internal information related to image formation processing using The Web service execution unit controls the image forming apparatus based on the internal information. Providing processing results to the Web service communication control means Means, corresponding to each of the above hardware resources A plurality of Web service providing processing means; The message shared by the plurality of Web service providing processing means and described in a predetermined description format in the first processing request is converted into a format that can be processed by the Web service providing processing means, and the first processing Description format processing means for converting the processing result according to the second processing request into the predetermined description format by the same processing method when converting the processing result according to the request into the predetermined description format; And the Web service communication control means receives the first and second processing requests from the device and transmits the first and second processing responses to the device via the network. Network communication control means for controlling according to a communication protocol; processing request processing means for executing the Web service execution means specified by the processing content acquired from the second processing request; and the network communication control means for the first processing request. Is received, the request type of the first processing request is analyzed according to the first protocol, the first processing request is distributed to one of the plurality of Web service providing processing means based on the analysis result, If a second processing request is received, the second processing request Analyzing the request type, based on the analysis result, configured to have a distribution means for distributing said second processing request to the processing request processing means.
[0006]
In such an image forming apparatus, for example, when receiving a first processing request by the first protocol from SOAP without depending on the model or operating system of the devices connected via the network, the first protocol is used. Provide the processing result as a Web service by the first processing response or by the second processing response according to the display format that can be displayed on the device when a second processing request by the second protocol is received from, for example, a Web browser can do. Therefore, since the processing result by the same Web service provision processing means can be provided as a Web service for the Web service request of the first processing request and the second processing request, the first processing request and the second processing request There is no need to develop Web service provision processing means for each of the above.
[0007]
In such an image forming apparatus, for example, processing of a message described in XML (extensible Markup Language) can be shared by a plurality of Web service providing processing means. Therefore, when developing each Web service providing processing means, it is possible to reduce the development of the processing unit related to the message. The first protocol is, for example, SOAP (Simple Object Access Protocol). The processing response according to the second protocol is provided by, for example, HTML (Hypertext Markup Language).
[0008]
The internal information indicates information such as image information, status information about the image information, and control parameters for changing the setting of the device main body or changing the network IP.
[0009]
In the viewpoint that the image forming apparatus provides a Web service, the present invention provides at least the above-described feature. plural Manages hardware resources including an application having Web service providing processing means and the scanner or plotter used in the image forming process, and controls the use of the hardware resources in response to a use request from the application. And an operating system that controls the application and the control service.
[0010]
Such an image forming apparatus has a function as a computer apparatus, can directly control hardware resources used for image formation, and provides a Web service to devices connected via a network. Can do.
[0012]
In such an image forming apparatus, since the processing entity for providing the Web service is independent of the Web service providing processing unit, knowledge about a plurality of protocols (for example, SOAP, HTTP, and HTML) is not required. Web service execution means can be developed.
[0013]
In terms of processing a first processing request according to a first protocol, the invention claims 3 As described in Up It can be configured to have protocol processing means that can be shared by a plurality of Web service providing processing means and controls the message according to the first protocol.
[0014]
In such an image forming apparatus, the first processing request can be processed according to the first protocol and is shared by a plurality of Web service providing processing means. Therefore, when developing each Web service providing processing means, SOAP or the like is used. Development of the processing unit related to the first protocol can be reduced.
[0015]
In terms of sharing message processing, the present invention claims 4 As described in the above, a format that can be shared by the plurality of Web service providing processing means and that can process the message described in a predetermined description format in the first processing request by the Web service providing processing means. And the processing result according to the second processing request is converted into the predetermined description format by the same processing method when converting the processing result according to the first processing request into the predetermined description format. It can be configured to have a description format processing means.
[0016]
In such an image forming apparatus, for example, processing of a message described in XML (eXtensible Markup Language) can be shared by a plurality of Web service providing processing means. Therefore, when developing each Web service providing processing means, it is possible to reduce the development of the processing unit related to the message.
[0018]
In view of distributing the first processing request and the second processing request separately, the present invention claims 4 As described in the above, the Web service communication control means analyzes the specific information specifying the Web service in the second processing request, and executes the Web service corresponding to the specific information based on the analysis result The apparatus is configured to have second distribution means for distributing processing to the means. The present invention also includes claims. 5 As described above, the specific information specifying the Web service in the first processing request is analyzed according to the first protocol, and the Web service specified by the specific information is executed based on the analysis result A first distribution unit that distributes the process to the Web service execution unit is configured.
[0019]
In such an image forming apparatus, in order to be able to process the first processing request according to the first protocol and the second processing request from the terminal using the Web browser according to the second protocol other than the first protocol, the first processing request In response to the request for the same Web service by the second processing request, the processing result by the same Web service providing processing means can be provided as a Web service.
[0020]
The request type indicates, for example, a method using HTTP, such as GET METHOD or POST METHOD.
[0021]
The specific information is information for specifying a Web service execution unit, and is, for example, a URL (Uniform Resource Locator) or a URI (Uniform Resource Indicator).
[0022]
From the viewpoint of distributing the processing to a plurality of Web service providing processing means, the present invention claims 6 As described above, the plurality of first distribution means and the plurality of second distribution means are configured to correspond to each of the plurality of Web service providing processing means.
[0023]
In such an image forming apparatus, it is possible to distribute processing to a plurality of Web service providing processing means by either the first processing request or the second processing request.
[0024]
From the viewpoint of enabling the content of the second processing response to be displayed on a device connected via a network, the present invention claims 7 As described in the above, the Web service communication control means indicates the processing result corresponding to the second processing request provided from the Web service providing processing means by the same processing executed by the first processing request. The display processing unit is configured to have a display format creation unit that creates a display format that can be displayed on the device that has transmitted the second processing response.
[0025]
In such an image forming apparatus, it is possible to create a processing response that allows the processing result of the Web service executed in response to the second processing request from the device to be displayed on the device. Therefore, the image forming apparatus can provide a Web service to a device having a general-purpose Web browser, for example.
[0026]
From the viewpoint of enabling the processing result of each Web service providing processing means to be displayed on the device, the present invention claims 8 As described in the above, the display format creation means outputs the processing result according to the second processing request processed in the same manner as the processing result according to the first processing request by the description format processing means, Based on the format style of the description format, it can be configured to have a description format conversion means for converting into the processing result according to the display format.
[0027]
In such an image forming apparatus, the processing result processed according to the predetermined description format by each Web service providing processing unit is converted into the processing result according to the display format that can be displayed on the device based on the format style of the description format. Can be converted to
[0028]
The format style is, for example, XSL (eXtensible Stylesheet Language). With this format style, the description format conversion means can convert the processing result described according to XML so as to be described according to HTML.
[0029]
In order to solve the above-mentioned problems, the present invention provides the following claims. 9 As described in An image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device, Receives a first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol, and responds to the first processing request Web service communication control means for transmitting a first process response in accordance with the first protocol and a second process response in accordance with the second protocol indicating the processing results, and the first process request and the second having different protocols Accept processing request , One of the above hardware resources Having at least one processing unit for commonly processing internal information related to image forming processing using Controlled the image forming apparatus based on the internal information. Providing processing results to the Web service communication control means A plurality of hardware resources corresponding to each of the hardware resources. The internal information is processed by executing the at least one processing unit by the web service provision processing means, the first processing request and the second processing request constituting the web service provision processing means, The processing unit controlled the image forming apparatus based on the internal information. A composite Web service provision processing unit that generates the processing result according to the first or second processing request by performing an additional process using the processing result, and provides the processing result to the Web service communication control unit; The Web service communication control means controls reception of the first and second processing requests from the device and transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol. Network communication control means, processing request processing means for executing the Web service execution means specified by the processing content acquired from the second processing request, and when the network communication control means receives the first processing request. , The request type of the first processing request Analyzed according Col the plurality of Web service providing process means based on the analysis result And the composite Web service provision processing means When the first processing request is distributed to one of them and the second processing request is received, the request type of the second processing request is analyzed, and based on the analysis result, the first processing request is sent to the processing request processing means. And a distribution means for distributing the two processing requests.
[0030]
In such an image forming apparatus, the device can execute an image forming process via a Web browser using a first protocol such as SAOP or a second protocol such as HTTP and HTML. There is no need to install software such as a dedicated driver in order to execute the forming process. The device can cause the image forming apparatus to execute the image forming process without depending on the model or operating system. Furthermore, since the composite Web service providing processing means is controlled by combining a plurality of processing units of the Web service providing processing means necessary for providing the Web service, the device is aware of the function of each Web service. Instead, only a final processing result by a plurality of Web services can be acquired by one processing request. Therefore, it is possible to greatly reduce the number of communication between the image forming apparatuses and the control processing.
[0031]
The first protocol is, for example, SOAP (Simple Object Access Protocol). The processing response according to the second protocol is provided by, for example, HTML (Hypertext Markup Language).
[0032]
The internal information indicates information such as image information, status information about the image information, and control parameters for changing the setting of the device main body or changing the network IP.
[0033]
From the viewpoint that the image forming apparatus provides a Web service, the present invention claims 10 At least as described above plural Manages hardware resources including an application having Web service providing processing means and the composite Web service providing processing means, and the scanner or plotter used in the image forming process, and responds to usage requests from the application. And a control service for controlling the use of the hardware resource, and an operating system for controlling the application and the control service.
[0034]
Since such an image forming apparatus has a function as a computer apparatus, it can provide a Web service to devices connected via a network.
[0035]
From the viewpoint of executing a combination of a plurality of processing units, the present invention provides: 1 The composite Web service provision processing means is configured as a processing unit in the composite Web service provision processing means, and Multiple It can be configured to have at least one composite processing execution unit that executes the processing unit of the Web service providing processing unit in combination. Further, from the viewpoint of executing a combination of a plurality of Web service providing processing means, the present invention provides 2 As described in Up The composite processing execution means can be configured to process the internal information by combining a plurality of processing units of the plurality of Web service providing processing means.
[0036]
From the viewpoint of sharing a part of the processing for the first processing request and the second processing request having different protocols, the present invention provides the following claims. 3 Protocol processing means for controlling the message of the first processing request and the first processing response according to the first protocol, and the above described in the predetermined description format in the first processing request The message is converted into a format that can be processed by the Web service providing processing means, and the processing result corresponding to the first processing request is converted into the second processing request by the same processing method when converting the processing result into the predetermined description format. And a description format processing means for converting the corresponding processing result into the predetermined description format. The protocol processing means and the description format processing means include the plurality of Web service providing processing means and the composite Web service providing process. It can be configured to be shared by means.
[0037]
In such an image forming apparatus, the processing for the first processing request and the second processing request with different protocols is shared, and the processing is shared by a plurality of Web service providing processing means and the composite Web service providing processing means. It is not necessary to develop a processing unit corresponding to each of the first processing request and the second processing request, and a processing unit corresponding to each of the plurality of Web service providing processing means and the composite Web service providing processing means is provided. There is no need to develop. Therefore, the development man-hour can be greatly reduced.
[0038]
The predetermined description format is, for example, XML (eXtensible Markup Language).
[0039]
The present invention provides claim 1. 4 As described in the above, the Web service communication control unit analyzes the specific information specifying the Web service in the second processing request, and based on the analysis result, the processing unit or the processing unit corresponding to the specific information Combined processing above Execution It can comprise so that it may have the 2nd distribution means which distributes a process to a means. Furthermore, the present invention provides claim 1. 5 As described above, the specific information specifying the Web service in the first processing request is analyzed according to the first protocol, and the Web service characterized by the specific information is executed based on the analysis result It can comprise so that it may have a 1st distribution means to distribute a process to a web service execution means.
[0040]
In such an image forming apparatus, after receiving the first processing request and the second processing request with the same communication protocol, the first distribution unit that distributes to the Web service execution unit specified by the first processing request; By having the second distribution unit that distributes to the Web service execution unit specified by the processing request, it is possible to execute the same Web service by the first processing request and the second processing request having different protocols. .
[0041]
The predetermined network communication protocol is http (Hypertext Transfer Protocol).
[0042]
The present invention also includes claims. 16 From 17 As described above, an image forming method for performing processing in the image forming apparatus may be employed.
[0043]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0044]
An image forming apparatus that fuses various image forming functions according to an embodiment of the present invention (hereinafter referred to as a fusion machine) has, for example, a functional configuration as shown in FIG. FIG. 1 is a block diagram showing a functional configuration of a multi-function apparatus that fuses various image forming functions according to an embodiment of the present invention.
[0045]
In FIG. 1, the MFP 1200 includes a plotter 1201, a scanner 1202, an FCU (Fax Control Unit) 1320, other hardware resources 1203, and the like, and a software group 1210 including a platform 1220 and an application 1230. And a multi-function apparatus starting unit 1240.
[0046]
The MFP starter 1240 is first executed when the MFP 1200 is turned on to start the platform 1220 and the application 1230.
[0047]
The platform 1220 interprets a processing request from the application 1230, generates a hardware resource acquisition request, and manages one or a plurality of hardware resources, and acquires from the control service 1250. It has a system resource manager (SRM (System Resource Manager) 1223) that arbitrates requests, and an OS (Operating System) 1221.
[0048]
The control service 1250 is formed by a plurality of service modules. Specifically, an SCS (System Control Service) 1222, an ECS (Engine Control Service) 1224, an MCS (Memory Control Service) 1225, and an OCS (Operation panel control service) 1226, FCS (FAX Control Service) 1227, NCS (Network Control Service) 1228, and IMH (Imaging Memory Handler) 1229. Note that the platform 1220 has a function defined in advance. It has an application program interface that can receive a processing request from an application.
[0049]
The OS 1221 is an operating system such as UNIX (registered trademark), and executes the software of the platform 1220 and the application 1230 in parallel as processes. By using open source UNIX (registered trademark), the safety of the program can be secured, the network can be supported, and the source code can be easily obtained. Furthermore, OS and TCP / IP royalties are unnecessary, and outsourcing is easy.
[0050]
The SRM 1223, together with the SCS 1222, controls the system and manages resources, such as an engine unit such as a plotter 1201 and a scanner 1202, a memory, an HDD file, a host I / O (centronics I / F, network I / F, IEEE 1394 I / (F, RS232CI / F, etc.) arbitration is performed according to a request from an upper layer using hardware resources, and execution control is performed.
[0051]
Specifically, the SRM 1223 determines whether the requested hardware resource is available (whether it is not used by another request). If it is available, the requested hardware resource is Tell the upper layer that it is available. Also, hardware resource usage scheduling may be performed in response to a request from an upper layer, and the requested contents (for example, paper conveyance and image forming operation by the printer engine, memory allocation, file generation, etc.) may be directly executed. .
[0052]
The SCS 1222 includes application management (function 1), operation unit control (function 2), system screen display (job list screen, counter display screen, etc.) (function 3), LED display (function 4), resource management (function 5), A plurality of functions such as interrupt application control (function 6) are performed. Specifically, in application management (function 1), application registration and processing for notifying other applications of the information are performed. In the operation unit control (function 2), exclusive control of the operation unit use right of the application is performed. In the system screen display (function 3), a warning screen corresponding to the state of the engine unit is displayed according to the request content from the application having the operation unit usage right. In LED display (function 4), display control of system LEDs such as warning LEDs and application keys is performed. Resource management (function 5) provides services for exclusive control of engine resources (scanners, staples, etc.) that must be excluded when an application (ECS) executes a job. In the interrupt application control (function 6), control and service for preferential operation of a specific application are performed.
[0053]
The ECS 1224 controls engine units such as the FCU 1320, the plotter 1201, the scanner 1202, and other hardware resources 1203, and performs image reading and printing operations, status notification, jam recovery, and the like.
[0054]
The MCS 1225 performs memory control. Specifically, the MCS 1225 acquires and releases an image memory, uses a hard disk device (HDD), compresses and decompresses image data, and the like.
[0055]
The OCS 1226 is a module that controls an operation panel serving as information transmission means between the operator and the main body control, and provides a process for notifying the main body control of an operator's key operation event and a library function for each application to construct a GUI. Processing, processing for managing the constructed GUI information for each application, display reflection processing on the operation panel, and the like are performed.
[0056]
FCS 1227 performs facsimile transmission / reception using the PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. API (Application Program Interface).
[0057]
The NCS 1228 is a module group for providing a service that can be commonly used for applications that require network I / O. The NCS 1228 distributes data received by each protocol from the network side to each application, and distributes data from the application. Mediates when sending to the network side.
[0058]
In the present embodiment, the NCS 1228 controls data communication with a network device connected via the Internet by HTTP (Hypertext Transfer Protocol Daemon) 2 among a plurality of protocols by using an HTTP request header. A plurality of Web services necessary for the processing specified in (1) are activated by function calls, and processing results of the plurality of Web services are notified to the network device by HTTP responses. For example, the Web service performs processing according to a message described in XML (eXtensible Markup Language).
[0059]
The IMH 1229 maps image data from a virtual memory area (user virtual space) to a physical memory. In response to process activation, a system call is performed to map a process virtual memory area, or to release the mapped virtual memory area at the end of the process.
[0060]
The application 1230 includes a printer application 1211 that is a printer application having a page description language (PDL), PCL, and postscript (PS), a copy application 1212 that is a copy application, and a fax application 1213 that is a facsimile application. A scanner application 1214 that is a scanner application, a Web service processing application 1215 that is a Web service application, and a distribution application 1217 that is a distribution application.
[0061]
Since each application 1211 to 1217 can execute an operation by using each process on the platform 1220, a screen display control program for performing screen control, key operation control, job generation, and the like is the main component. Note that a new application can also be installed via the network via the network connected by the NCS 1228. Each application can be added or deleted for each application.
[0062]
The web service processing application 1215 performs predetermined processing using a message processing unit 80 that exchanges messages according to SOAP (Simple Object Access Protocol) or a predetermined description format, and a control service 1250 via an API (Application Program Interface), It has at least one Web service function (WSF) 1400 that provides the processing result as a Web service via a WS-API (Web Service Application Program Interface).
[0063]
As described above, the MFP 1200 centrally processes the processing that is commonly required for each application by the platform 1220.
[0064]
Next, the hardware configuration of the MFP 1200 will be described. FIG. 2 is a block diagram showing a hardware configuration of the compound machine shown in FIG. As shown in FIG. 2, the MFP 1200 includes an operation unit 1310, an engine unit 1350 including an FCU (fax control unit) 1320, a plotter 1201, a scanner 1202, and other hardware 1203, and an ASIC 1301 of the controller 1300. Are connected by a PCI (Peripheral Component Interconnect) bus 1309 or the like. The FCU 1320 includes a non-volatile memory 1321 for storing received fax data and an RTC (Real Time Clock) 1322 for measuring the time in the FCU 1320, and normally transmits and receives fax data according to the G3 standard. . The FCU 1320 may further include G3 standard and G4 standard as options.
[0065]
The controller 1300 connects the ASIC 1301 to the MEM-C 1302, HDD (Hard Disk Drive) 1303, and the like, and connects the ASIC 1301 and the CPU 1304 via the NB 1305 of the CPU chipset. Thus, the reason for connecting via the NB 1305 is that the interface of the CPU 1304 itself is not disclosed.
[0066]
Here, the ASIC 1301 and the NB 1305 are not connected via the PCI, but are connected via the AGP 1308. The reason for the connection via the AGP 1308 is that the MFP 1200 executes and controls a plurality of processes forming the platform 1220 and the application 1230. This is because of a decrease.
[0067]
The CPU 1304 performs overall control of the MFP 1200. Specifically, the SCS 1222, SRM 1223, ECS 1224, MCS 1225, OCS 1226, FCS 1227, and NCS 1228 that form the platform 1220 on the OS 1221 are started and executed as processes. At the same time, the printer application 1211, the copy application 1212, the fax application 1213, the scanner application 1214, the Web service processing application 1215, and the distribution application 1217 that form the application 1230 are activated and executed.
[0068]
The NB 1305 is a bridge for connecting the CPU 1304 to the MEM-P 1306, SB 1307, and ASIC 1301. The MEM-P 1306 is a system memory used as a drawing memory of the multifunction peripheral, and the MEM-C 1302 is a copy image buffer. The ASIC 1301 is an image processing application IC having hardware elements for image processing.
[0069]
In addition to connecting to the SB 1307 via the PCI bus, the NB 1305 includes a NIC (Network Interface Card) 1311 that controls network communication, a USB (Universal Serial Bus) target 1312 that can capture data by being handled as a USB disk, IEEE13941313 that can be connected with a cable dedicated to IEEE1394, Centronics 1314 that can be connected with a parallel cable, serial 1315 that can be connected with a serial cable, and other USB targets (for example, a personal computer), A USB host 1316 that enables transmission and reception is connected.
[0070]
The SB 1307 is a bridge for connecting the NB 1305 to the ROM, PCI device, and peripheral device. The SB 1307 has an RTC (Real Time Clock) 1323 that measures the time in the controller 1300. The SB 1307 has a USB host inside, and can capture image data by connecting a USB-connected camera, for example, and can also receive data from other USB targets.
[0071]
In the MFP 1200, data transmitted / received to / from the HDD 1303 via a plurality of standard G3, G3 option, and G4 option ports of the SB 1307, the NIC 1311, the USB target 1312, the IEEE1394 1313, the Centronics 1314, the serial 1315, the USB host 1316, and the FCU 1320. Accumulated and managed centrally.
[0072]
The HDD 1303 is a storage for accumulating image data, accumulating programs, accumulating font data, and accumulating forms. The operation panel 1310 accepts input operations from the operator and displays them for the operator. It is an operation unit.
[0073]
Therefore, the ASIC 1301 is provided with a RAM interface for connecting the MEM-C 1302 and a hard disk interface for connecting the HDD 1303. When inputting / outputting image data to / from these storage units, the input / output The destination is switched to the RAM interface or the hard disk interface.
[0074]
The AGP 1308 is a bus interface for a graphics accelerator card that has been proposed to speed up graphics processing, and makes the graphics accelerator card faster by directly accessing the system memory with high throughput.
[0075]
Hereinafter, a functional configuration example for providing the Web service by the MFP 1200 having the above-described functional configuration illustrated in FIG. 1 and the hardware configuration illustrated in FIG. 2 will be described. Here, the Web service means that the MFP 1200 performs a predetermined process in response to a service request by an HTTP request from a network device and provides the processing result to the network device as an HTTP response.
[0076]
Hereinafter, the functional configuration of the MFP 1200 that enables provision of Web services using SOAP and HTML will be described with reference to FIG. FIG. 3 is a diagram illustrating a functional configuration example of a multifunction peripheral that provides a Web service. In FIG. 3, only the main functional configuration is illustrated in the functional configuration of the MFP 1200 illustrated in FIG. 1, and other functional configurations are omitted. The multi-function apparatus 1200 is connected via a network 15 to a network device 10A that receives a Web service by SOAP and a network device 10B that receives a Web service by HTML.
[0077]
In FIG. 3, the MFP 1200 performs communication control according to HTTP, distributes the processing to the internal Web service providing processing unit, and file management Web service providing processing as a plurality of Web service providing processing units. Unit 40 and other web service provision processing unit 49, scanner 1202, HDD 1303, plotter 1201, operation panel 1310, FCU (FAX control unit) 1320, and the like. The plurality of web service provision processing units 40 and 49 each have a web service function (WSF) 1400.
[0078]
In the case of the functional configuration example illustrated in FIG. 3, the file management Web service provision processing unit 40 includes a file management execution unit 400 that manages documents (files) stored in the HDD 1303 as the Web service function (WSF) 1400. Further, the plurality of Web service providing processing units 40 and 49 are configured in the Web service processing application 1215 shown in FIG.
[0079]
The Web server 500 includes httpd 2 that performs communication control according to HTTP, a distributor 30 that distributes processing to the Web service providing processing unit 40 or 49 corresponding to the HTTP request, and a GET received via the network 15. The HTTP request processing unit 501 that processes an HTTP request based on METHOD or POST METOD, the dispatcher 60B that distributes the Web service processing indicated by the HTTP request to the file management execution unit 400, and the file management execution unit 400 are notified. An HTML creation unit 502 that creates an HTML (Hypertext Markup Language) 24 indicating the processing result. Here, the HTTP request indicates that a Web service is requested by data communication in accordance with HTTP, and the HTTP response indicates a response that notifies the processing result of the Web service.
[0080]
The distributor 30 includes a determination unit that determines whether or not the HTTP request is an HTTP request by SOAP. If the request is an HTTP request designating SOAP, the process is distributed to the Web service provision processing unit 40 or 49 designated by SOAPAction. On the other hand, if the request is an HTTP request that does not specify SOAP, that is, if it is an HTTP request based on GET or POST METHOD, the HTTP request is notified to the HTTP request processing unit 501.
[0081]
Furthermore, the HTML creation unit 502 includes an XSL processor 503 that converts the XML generated by the XML processing unit 50 into an HTML format using a predetermined XSL (eXtensible Stylesheet Language) 25.
In addition, an XML processing unit 50 that processes a message described in XML, and a SOAP processing unit 70 that exchanges messages according to SOAP. The XML processing unit 50 and the SOAP processing unit 70 are shared by a plurality of Web service providing processing units 40 and 49.
[0082]
The XML processing unit 50 generates and describes the body part of the HTTP response not specifying SOAP in XML, in the same manner as the method of generating the body part of the HTTP response specifying SOAP. Further, the SOAP processing unit 70 includes a dispatcher 60A that distributes to the file management execution unit 400 based on a processing message indicating the processing content of the Web service.
[0083]
In the MFP 1200, for convenience of explanation, only the file management web service provision processing unit 40 and the other web service provision processing unit 49 are shown as a plurality of web service provision processing units, but more web service provision processing units are shown. It can also be set as the structure which has these. In this case, the SOAP processing unit 70 includes a plurality of dispatchers 60A that distribute the processing to the execution units of the plurality of Web service providing processing units. The XML processing unit 50 and the SOAP processing unit 70 are shared by the plurality of Web service providing processing units. Similarly, a plurality of dispatchers 60B are provided corresponding to a plurality of Web service providing processing units.
[0084]
The network device 10A connected to the MFP 1200 via the network 15 controls input data from an input device such as a keyboard or a mouse, and also controls output data to be displayed on the monitor 9A. 11A, the processing contents of the Web service for the MFP 1200 and the processing result of the Web service from the MFP 1200 by XML, the request / response processing for analyzing the request generation and response according to HTTP Part 14. The network device 10B connected to the MFP 1200 via the network 15 controls an input data from an input device such as a keyboard or a mouse and an input / output control unit 11B for controlling output data to be displayed on the monitor 9B. And a Web browser 23 that displays a request generation and response according to HTTP.
[0085]
First, a processing flow for providing a Web service in response to a request from the network device 10A will be described. A user who uses the network device 10A requests the MFP 1200 from a screen for requesting the MFP 1200 for a desired Web service (step S101). In response to the web service request by the user, the input / output control unit 11A notifies the request / response processing unit 14 of the request data (step S102). The request / response processing unit 14 generates an HTTP request based on the request data from the input / output control unit 11 (step S103), and when the XML processing unit 13 describes the processing contents in the body of the HTTP request using XML, the SOAP request is generated. The processing unit 12 transmits an HTTP request to the MFP 1200 via the network 15 according to SOAP (step S104).
[0086]
When the Web server 500 of the MFP 1200 receives the HTTP request using httpd2, the distributor 30 distributes the received HTTP request to the Web service provision processing unit specified in the header part of the HTTP request (step S105). For example, when the file management Web service provision processing unit 40 is specified in the header part of the HTTP request, the file management Web service provision processing unit 40 is function-called by the distributor 30.
[0087]
In the file management Web service provision processing unit 40, the SOAP processing unit 70 processes the HTTP request according to SOAP and notifies the dispatcher 60A that distributes the processing to the file management execution unit 400 specified by the SOAP header (step S106). . The dispatcher 60A distributes the processing contents in the header part of the HTTP request and notifies the XML processing part 50 (step S107). The XML processing unit 50 converts the message indicating the processing contents in the body part of the HTTP request described in XML into a description interpretable by the file management execution unit 400 and executes the file management execution unit 400 (step S108). The file management execution unit 400 executes processing on the HDD 1303 according to the processing content, and acquires the processing result (step S109). For example, processing such as addition, update, or deletion of a document designated as processing content is executed.
[0088]
The file management execution unit 400 that has acquired the processing result notifies the XML processing unit 50 of the processing result (step S110). The XML processing unit 50 notifies the SOAP processing unit 70 in order to generate an XML 26 describing the notified processing result in XML and set the body part of the HTTP response (step S111). Then, the Web server 500 transmits an HTTP response according to SOAP having the processing result described in XML as a body part via httpd2 to the network device 10A (step S112).
[0089]
When the HTTP response is received by the network device 10A, the XML processing unit 13 analyzes the body part of the HTTP response and acquires the processing result (step S113), and the request / response processing unit 14 acquires the acquired process. The result is passed to the input / output control unit 11A as output data to be displayed on the monitor 9A (step S114). Then, the input / output control unit 11A performs control so that the received output data is displayed on the monitor 9A (step S115).
[0090]
As described above, the network device 10A can make a Web service request to the MFP 1200 from a remote location by describing the processing contents in the body part of the HTTP request according to the XML description format determined in advance. . Further, the MFP 1200 can provide a Web service to the network device 10A at a remote location by describing the processing result in the body part of the HTTP response according to the XML description format determined in advance. It becomes. The multi-functional apparatus 1200 can also provide a Web service to a plurality of network devices 10A via the network 15.
[0091]
Next, a processing flow for providing a Web service in response to a request from the network device 10B will be described. A user who uses the network device 10B requests a desired Web service from the screen for requesting the MFP 1200 for a Web service displayed on the monitor 9B, and the input / output control unit 11B requests the requested data. Is received (step S121). The web browser 23 generates an HTTP request based on GET METHOD or POST METHOD based on the request data received by the input / output control unit 11B, and transmits the HTTP request to the MFP 1200 via the network 15 (step S122).
[0092]
When the MFP 1200 receives an HTTP request from the network device 10B, the Web server 500 analyzes the HTTP request. That is, when httpd2 that performs network communication control receives an HTTP request, HTTP 30 is analyzed by the distributor 30 in accordance with, for example, a method (GET METHOD or POST METHOD) specified in the header part of the HTTP request. The request is distributed to the HTTP request processing unit 501 (step S123).
[0093]
The HTTP request processing unit 501 acquires the processing content from the body unit according to the method. For example, when the file management Web service is specified by a URL (Uniform Resource Locator) or a URI (Uniform Resource Indicator) in the header part, The dispatcher 60B distributes the processing according to the processing contents to the file management execution unit 400 (step S124). The file management execution unit 400 executes processing on the HDD 1303 according to the processing content, and acquires the processing result (step S125). For example, processing such as addition, update, or deletion of a document designated as processing content is executed.
[0094]
The file management execution unit 400 that has acquired the processing result notifies the XML processing unit 50 of the processing result (step S126). The XML processing unit 50 generates a XML 26 in which the notified processing result is described in XML and sets it in the body part of the HTTP response in the same manner as generating the body part of the HTTP response by SOAP. The information is notified to the HTML creation unit 502 of 500 (step S127). The HTML creation unit 502 generates the HTML 24 converted into the HTML format by using the predetermined XSL 25 by the XSL processor 503, and requests httpd 2 to transmit the HTML 24 (step S128). The httpd2 transmits the HTML 24 to the network device 10B in accordance with http (step S129).
[0095]
When the HTTP response is received by the network device 10B, the Web browser 23 causes the input / output control unit 11B to display the HTML 24 on the monitor 9B (step S130).
[0096]
As described above, the network device 10B can receive a web service from the multi-function apparatus 1200 by using the web browser 23 without requiring a special message exchange method with the multi-function apparatus 1200. (Remote Procedure Call) can be realized. Further, by providing the Web server 500 with the XSL 25 according to the processing characteristics in the execution unit of each Web service, a display screen for each Web service is provided when displaying the processing result on the network device 10B. Is possible.
[0097]
Therefore, the MFP 1200 can provide the Web service by the same file management execution unit 400 to the network device 10A capable of exchanging messages according to SOAP and the network device 10B having the Web browser 23. . Since the file management Web service provision processing unit 40 having the file management execution unit 400 can be shared by processing requests having different protocols, it is not necessary to develop the file management Web service provision processing unit 40 for each protocol of the processing requests. .
[0098]
Further, in the MFP 1200, the Web server 500 includes the XSL 25, so that the description of the body part of the HTTP response that specifies SOAP and the description of the body part of the HTTP response that does not specify SOAP in the XML processing unit 50 are common. Can be
[0099]
An HTTP request and an HTTP response for exchanging messages between the MFP 1200 and the network device 10 according to SOAP will be described with reference to FIGS. FIG. 4 is a diagram illustrating an example of an HTTP request by SOAP. In the HTTP request shown in FIG. 4, a URI (Uniform Resource Indicator) 16 indicates a URI to which the HTTP request is transmitted by the POST method, and is “netdoc”, for example. Further, a URI indicating the purpose of the request is shown in SOAPAction 17, and “file management” is designated by “http://foo.bar.com/netdoc/filemanagement”, for example.
[0100]
The distributor 30 of httpd2 of the multi-functional apparatus 1200 of FIG. 3 distributes the HTTP request to the file management Web service provision processing unit 40 by “filemanagement” specified by SOAPAction17. The file management Web service provision processing unit 40 processes the HTTP request according to the SOAP by the SOAP processing unit 70. In the SOAP processing unit 70, the dispatcher 60 </ b> A distributes the processing to the file management execution unit 400 according to “filemanagement” specified by the SOAPAction 17. In addition, the XML processing unit 50 has a SOAP envelope body ( From <SOAP-ENV: Body></ SOAP-ENV: Body>), the message 18 described in XML is analyzed. For example, message 18 is From <ns: filemanagement></ ns: filemanagement> “Filemanagement” indicates a command. The processing content requested by the message 18 is: From <fileId></fileId>, the file ID “123” specified by From <operationCode></operationCode> indicates that the process of the operation code “3” designated by </ operationCode> is performed. For example, operation code “3” requests file deletion, operation code “1” requests file addition, and operation code “2” requests file editing.
[0101]
In this case, the file management execution unit 400 to which the process is distributed by the dispatcher 60 </ b> A deletes the document with the fill ID “123” from the HDD 1303 according to the processing content analyzed by the XML processing unit 50.
[0102]
In the above example, one command "filemanagement" Although the file management method is specified by the <operationCode> setting, the file management processing is subdivided, and for example, a plurality of Webs such as a file addition Web service, a file editing Web service, and a file deletion Web service are provided. The service may be provided in the web service processing application 1215 as the web service function 1400. In this case, for example, by setting a command that uniquely corresponds to each Web service, such as “fileadd”, “fileedit”, and “filedelete”, to the XML message 18, The operation code by <operationCode> is not required.
[0103]
FIG. 5 is a diagram illustrating an example of an HTTP response by SOAP. The HTTP response shown in FIG. 5 is created based on the processing result of the file management execution unit 400 by the SOAP processing unit 70 of the file management Web service provision processing unit 40. In the HTTP response shown in FIG. 5, the SOAP processing unit 70 sets “200” as the status code 20 and “OK” as the explanatory phrase 21 based on the processing result of the file management Web service provision processing unit 40. In addition, the XML processing unit 50 includes a SOAP envelope body ( From <SOAP-ENV: Body></ SOAP-ENV: Body>), a message 22 described in XML is generated. The response of the command “filemanagement” From <ns: filemanagementResponse></ ns: filemanagementResponse>, for example <requestId> and </ requestId> sets the request ID “10”. The network device 10A that has received the HTTP response processes the message 22 described in XML by the XML processing unit 13 to confirm that the processing has been performed normally.
[0104]
Next, the MFP 1200 having a composite Web service provision processing unit that executes a combination of a plurality of methods of one Web service provision processing unit will be described. FIG. 6 is a diagram illustrating a functional configuration example for explaining an example of a multi-function peripheral having a composite Web service. 6, only the main functional configuration is illustrated in the functional configuration of the MFP 1200 illustrated in FIG. 1, and other functional configurations are omitted. The multi-function apparatus 1200 is connected via a network 15 to a network device 10A that receives a Web service by SOAP and a network device 10B that receives a Web service by HTML.
[0105]
In FIG. 6, the MFP 1200 mainly performs communication control according to HTTP, distributes the processing to the internal Web service providing processing unit, and a file management Web as a plurality of Web service providing processing units. A message exchange according to SOAP is performed among the service provision processing unit 40, the other web service provision processing unit 49, the composite web service provision processing unit 90, the XML processing unit 50 that processes messages described in XML, and the network device 10. It includes a SOAP processing unit 70 to be controlled, a scanner 1202, an HDD 1303, a plotter 1201, an operation panel 1310, an FCU 1320, and the like.
[0106]
The XML processing unit 50 and the SOAP processing unit 70 are shared by a plurality of Web service providing processing units 40, 49, and 90. Further, the plurality of web service providing processing units 40, 49, and 90 are configured in the web service processing application 1215 shown in FIG.
[0107]
The Web server 500 includes httpd 2 that performs communication control according to HTTP, a distributor 30 that distributes processing to the Web service providing processing unit corresponding to the HTTP request, and a GET METHOD or POST received via the network 15. HTTP request processing unit 501 that processes HTTP requests by METOD, dispatchers 60B and 68B that distribute the processing of the Web service indicated by the HTTP request to each Web service providing processing unit, and each Web service providing processing unit 40, 90 And an HTML creation unit 502 for creating a processing result described in XML notified from 49 and 49 in HTML24. The HTML creation unit 502 includes an XSL processor 503 that converts the XML generated by the XML processing unit 50 into an HTML format. Here, the HTTP request indicates that a Web service is requested by data communication in accordance with HTTP, and the HTTP response indicates a response that notifies the processing result of the Web service.
[0108]
The distributor 30 includes a determination unit that determines whether or not the HTTP request is an HTTP request by SOAP. If the request is an HTTP request by SOAP, the process is distributed to the Web service provision processing unit 40 or 49 specified by SOAPAction. On the other hand, if it is not an HTTP request by SOAP, that is, if it is an HTTP request by GET or POST METHOD, the HTTP request processing unit 501 is notified of the HTTP request.
[0109]
The file management Web service provision processing unit 40 includes a document ID list acquisition method 401 for acquiring a list of document IDs for specifying documents stored in the HDD 1303, and bibliographic information about the documents stored in the HDD 1303 corresponding to the document IDs. And a bibliographic information acquisition method 402 for acquiring. The method indicates a unit of Web service processing in the file management Web service provision processing unit 40. The file management Web service provision processing unit 40 configures the Web service function 1400 shown in FIG. Web services are provided in response to requests from 10A or 10B. In the first functional configuration example shown in FIG. 3, the plurality of methods are not limited to the document ID list acquisition method 401 and the bibliographic information acquisition method 402, and a plurality of methods other than these methods are configured. Is also possible.
[0110]
The document list creation composite method 800 of the composite Web service provision processing unit 90 uses a document ID list acquisition unit 801 that acquires a list of document IDs using a document ID list acquisition method 401 and a bibliographic information acquisition method 402. A bibliographic information acquisition unit 802 that acquires bibliographic information corresponding to the document ID, and a document list generation unit 803 that generates a document list based on the acquired bibliographic information. The document list creation composite method 800 uses the document ID list acquisition method 401 and the bibliographic information acquisition method 402, and thus does not include the entity of these methods. Therefore, the only part developed to realize the document list creation composite method 800 is mainly the document list creation unit 803. Therefore, development efficiency can be greatly reduced. Further, the composite Web service provision processing unit 90 configures an aggregate having a plurality of processing units by a method having processing units and method entities such as the document list creation composite method 800 as the Web service function 1400 shown in FIG. .
[0111]
The SOAP processing unit 70 further includes dispatchers (Dispatchers) 60A and 68A that distribute the processing to the Web service provision processing units 40 and 90. For example, the SOAP processing unit 70 moves to each method 401 or 402 of the file management Web service provision processing unit 40. A dispatcher 60A that distributes processing, a dispatcher 68A that distributes processing to the document list creation composite method 800 of the composite Web service provision processing unit 90, and another dispatcher that distributes processing to the methods of the other Web service provision processing unit 49 ( (Not shown). In the MFP 1200, for convenience of explanation, only the file management web service provision processing unit 40, the composite web service provision processing unit 90, and the other web service provision processing unit 49 are shown as a plurality of web service provision processing units. However, it may be configured to have more Web service provision processing units. The XML processing unit 50 and the SOAP processing unit 70 are shared by the plurality of Web service providing processing units.
[0112]
Further, the functional configurations of the network device 10A and the network device 10B connected to the MFP 1200 via the network 15 are the same as those of the network device 10A and the network device 10B illustrated in FIG.
[0113]
First, a processing flow for providing a Web service in response to a request from the network device 10A will be described. A user who uses the network device 10A requests the MFP 1200 from a screen for requesting the MFP 1200 for a desired Web service (step S31). For example, it is assumed that the user requests a Web service that provides a list of documents stored in the HDD 1303 of the MFP 1200 from the screen of the monitor 9A. In response to the web service request by the user, the input / output control unit 11A notifies the request / response processing unit 14 of the request data (step S32). The request / response processing unit 14 generates a request based on the request data from the input / output control unit 11, and notifies the generated request to the SOAP processing unit 12 (step S33). The SOAP processing unit 12 describes the processing content of the Web service desired by the user of the XML processing unit 13 in XML by describing the body part of the HTTP request, and generates an HTTP request according to SOAP. Then, the HTTP request is transmitted to the MFP 1200 via the network 15 (step S34).
[0114]
When receiving the HTTP request, the httpd2 of the multi-function device 1200 distributes the received HTTP request to the Web service providing processing unit specified by the header part of the HTTP request by the distributor 30 (step S35). For example, when the composite Web service provision processing unit 90 is specified in the header part of the HTTP request, the composite Web service provision processing unit 90 is executed by the distributor 30.
[0115]
The composite Web service provision processing unit 90 notifies the received HTTP request to the SOAP processing unit 70 in order to process the HTTP request according to SOAP (step S36). The SOAP processing unit 70 processes the HTTP request in accordance with SOAP, and the dispatcher 68 distributes the processing to the document list creation composite method 800 specified in the header part of the HTTP request, and causes the XML processing unit 50 to change according to the HTTP method. Execute (Step S37). The XML processing unit 50 converts the message indicating the processing contents in the body part of the HTTP request described in XML into a description that can be interpreted by the document list creation composite method 800, and notifies the document list creation composite method 800 (step). S38).
[0116]
In the document list creation composite method 800, first, the document ID list acquisition unit 801 makes a function call to the document ID list acquisition method 401 of the file management Web service provision processing unit 40 (step S39). A document ID list acquisition method 401 acquires a document ID for identifying a document managed by the HDD 1303 and creates a document ID list. In this case, if the document ID list acquisition method 401 (listID (docIDList)) acquires the document IDs “101”, “102”, and “103”, the document ID list (docIDList) is set to docIDList = {101, 102, 103, 0} (“0 (zero)” indicates termination) and notifies the document ID list acquisition unit 801 (step S40).
[0117]
In the document list creation composite method 800, the bibliographic information acquisition unit 802 subsequently calls the bibliographic information acquisition method 402 of the file management Web service provision processing unit 40 (step S41). The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID notified from the bibliographic information acquisition unit 802 and creates bibliographic information. For example, when bibliographic information is acquired for the document ID “101”, the bibliographic information acquisition unit 802 calls the bibliographic information acquisition method 402 (getProps (docID, props)) as a function like getProps (101, props).
[0118]
The called bibliographic information acquisition method 402 inquires the bibliographic information with the specified document ID to the HDD 1303 and notifies the bibliographic information acquisition unit 802 of the bibliographic information (step S42). That is, the bibliographic information acquisition method 402 acquires bibliographic information from the HDD 1303 with the document ID “101” notified from the bibliographic information acquisition unit 802. Then, the bibliographic information acquisition method 402 creates bibliographic information for notification to the bibliographic information acquisition unit 802. For example, bibliographic information is created as prop = {document ID, document name, number of pages, owner, 0} ("0 (zero)" indicates the end of bibliographic information). In this case, prop = {101, It is set for the document ID “101” as “accumulated document 1”, 3, “user 1”, 0}. The bibliographic information acquisition method 402 notifies the bibliographic information acquisition unit 802 of the document list generation composite method 800 of the bibliographic information generation result for the specified document ID.
[0119]
The bibliographic information acquisition unit 802 of the document list creation composite method 800 repeats the same processing for other document IDs “102” and “103” to acquire all document information.
[0120]
Further, the document list creation composite method 800 creates a document list by the document list creation unit 803 and notifies the XML processing unit 50 to describe the document list in XML (step S43). That is, the document list creation unit 803 generates a document list, for example, docList = {{101, “accumulated document 1”, 3, “user 1”, 0}, {102, “accumulated document 2”, 10, “user 2 ", 0}, {103," Accumulated document 3 ", 1," User 1 ", 0}, 0}. The created document list (docList) is notified to the XML processing unit 50. When receiving the document list (docList), the XML processing unit 50 generates XML 26 described in XML and notifies the SOAP processing unit 70 (step S44). When the SOAP processing unit 70 receives the document list described in XML, the SOAP processing unit 70 sets the received document list described in XML in the body part of the HTTP response, and generates an HTTP response according to SOAP (step S45).
[0121]
In such a functional configuration example, the composite web service provision processing unit 90 uses the document list creation composite method 800 to combine a plurality of methods without providing the entity of the document ID list acquisition method 401 and the bibliographic information acquisition method 402. Web service processing can be performed. Accordingly, the network device 10A can receive a series of Web services by a single HTTP request without being aware of the units of Web services that the MFP 1200 can provide.
[0122]
Further, in FIG. 6, the file management Web service providing processor 40 itself can provide a Web service. That is, when httpd2 receives an HTTP request from the network device 10 (step S34), the distributor 30 performs file management Web service provision processing in response to a request for a Web service for obtaining bibliographic information specified in the header part of the HTTP request. The received HTTP request is distributed to the bibliographic information acquisition method 402 of the unit 40 (step S35-3).
[0123]
The file management Web service provision processing unit 40 notifies the received HTTP request to the SOAP processing unit 70 in order to process the HTTP request according to SOAP (step S36-3). The SOAP processing unit 70 processes the HTTP request in accordance with SOAP, and the dispatcher 60A distributes the processing to the bibliographic information acquisition method 402 specified in the header part of the HTTP request, and executes the XML processing unit 50 according to the HTTP method. (Step S37-3). The XML processing unit 50 converts the message indicating the processing content in the body part of the HTTP request described in XML into a description interpretable by the bibliographic information acquisition method 402 and notifies the bibliographic information acquisition method 402 (step S38-). 3).
[0124]
The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID specified by the message processed by the XML processing unit 50, and describes the bibliographic information in XML. The XML processing unit 50 is notified (step S43-3). The XML processing unit 50 generates XML 26 in which bibliographic information is described in XML. Further, in the SOAP processing unit 70, the XML 26 is set in the body part of the HTTP response, and an HTTP response is generated according to SOAP (step S45-3) and transmitted from the httpd2 to the network device 10 (steps S46-3 and S47). .
[0125]
As described above, the MFP 1200 can execute the bibliographic information acquisition method 402 having an entity in response to an HTTP request for requesting provision of bibliographic information from the network device 10A. Similarly, the document ID list acquisition method 401 itself can be executed.
[0126]
Therefore, the multi-function apparatus 1200 can provide a wide range of Web services by combining a plurality of methods for forming an image and performing processing for actually providing the Web service, and combinations thereof.
[0127]
Next, a processing flow for providing a Web service in response to a request from the network device 10B will be described. A user who uses the network device 10B requests a desired Web service from the screen for requesting the MFP 1200 for a Web service displayed on the monitor 9B, and the input / output control unit 11B requests the requested data. Is received (step S51). The Web browser 23 generates an HTTP request based on GET METHOD or POST METHOD based on the request data received by the input / output control unit 11, and transmits the HTTP request to the MFP 1200 via the network 15 (step S52). For example, the web browser 23
GET / documentList. cgi HTTP / 1.1
An HTTP request by a GET method such as
[0128]
When httpd2 of the Web server 500 of the MFP 1200 receives the HTTP request received from the network device 10, the distributor 30 sends an HTTP request processing unit 501 that processes the HTTP request by the GET method based on the GET method of the HTTP request. The HTTP request is distributed (step S53). The HTTP request processing unit 501 distributes the processing to the document list creation composite method 800 specified by the header part of the HTTP request by the dispatcher 68 (step S54). For example, “documentList.cgi” executes a document list creation composite method 800 corresponding to “documentList.cgi”.
[0129]
In the document list creation composite method 800, first, the document ID list acquisition unit 801 makes a function call to the document ID list acquisition method 401 of the file management Web service provision processing unit 40 (step S55). The document ID list acquisition method 401 acquires a document ID for identifying a document managed by the HDD 1303 (step S56), and creates a document ID list. In this case, if the document ID list acquisition method 401 (listID (docIDList)) acquires the document IDs “101”, “102”, and “103”, the document ID list (docIDList) is set to docIDList = {101, 102, 103, 0} ("0 (zero)" indicates the end) is set and notified to the document ID list acquisition unit 801 (step S57).
[0130]
In the document list creation composite method 800, the bibliographic information acquisition unit 802 subsequently makes a function call to the bibliographic information acquisition method 402 of the file management Web service provision processing unit 40 (step S58). The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID notified from the bibliographic information acquisition unit 802 and creates bibliographic information. For example, when bibliographic information is acquired for the document ID “101”, the bibliographic information acquisition unit 802 calls the bibliographic information acquisition method 402 (getProps (docID, props)) as a function like getProps (101, props).
[0131]
The called bibliographic information acquisition method 402 inquires of the HDD 1303 about the bibliographic information with the designated document ID, and notifies the bibliographic information acquisition unit 802 of the bibliographic information (step S59). That is, the bibliographic information acquisition method 402 acquires bibliographic information from the HDD 1303 with the document ID “101” notified from the bibliographic information acquisition unit 802. Then, the bibliographic information acquisition method 402 creates bibliographic information for notification to the bibliographic information acquisition unit 802. For example, bibliographic information is created as prop = {document ID, document name, number of pages, owner, 0} ("0 (zero)" indicates the end of bibliographic information). In this case, prop = {101, It is set for the document ID “101” as “accumulated document 1”, 3, “user 1”, 0}. The bibliographic information acquisition method 402 notifies the bibliographic information acquisition unit 802 of the document list generation composite method 800 of the bibliographic information generation result for the specified document ID.
[0132]
The bibliographic information acquisition unit 802 of the document list creation composite method 800 repeats the same processing for other document IDs “102” and “103” to acquire all document information.
[0133]
Further, the document list creation composite method 800 creates a document list by the document list creation unit 803 and notifies the XML processing unit 50 to describe the document list in XML (step S60). That is, the document list creation unit 803 generates a document list, for example, docList = {{101, “accumulated document 1”, 3, “user 1”, 0}, {102, “accumulated document 2”, 10, “user 2 ", 0}, {103," Accumulated document 3 ", 1," User 1 ", 0}, 0}. The created document list (docList) is notified to the XML processing unit 50. When the XML processing unit 50 receives the document list (docList), the XML processing unit 50 generates the XML 26 described in XML by the same description method as the generation of the body part of the HTTP response according to SOAP, and notifies the Web server 500 of the XML (step 26). S61). Upon receiving the notification, the Web server 500 executes the HTML creation unit 502. The HTML creation unit 502 uses the XSL processor 503 to convert the XML 26 into the HTML format based on the XSL 25 indicating a predetermined style list. The HTML creation unit 502 creates an HTTP response by the HTML 24 indicating the processing result according to the HTML format, and requests the httpd 2 to transmit the HTTP response (step S62). The httpd2 transmits an HTTP response to the network device 10B via the network 15 (step S63).
[0134]
When the HTTP response is received by the network device 10B, the Web browser 23 causes the input / output control unit 11 to display the HTML 24 on the monitor 9 (step S64).
[0135]
Further, in FIG. 6, the file management Web service providing processor 40 itself can provide a Web service. In other words, when httpd2 receives an HTTP request from the network device 10B (step S52), the distributor 30 distributes the HTTP request to the HTTP request processing unit 501 that processes the HTTP request by the GET method based on the GET method of the HTTP request. (Step S53). The HTTP request processing unit 501 distributes the process to the bibliographic information acquisition method 402 specified by the header part of the HTTP request by the dispatcher 60 (step S54-3).
[0136]
The bibliographic information acquisition method 402 inquires bibliographic information for a document managed by the HDD 1303 with the document ID specified by the HTTP request, creates bibliographic information, and generates XML 26 describing the bibliographic information in XML. Therefore, the XML processing unit 50 is notified (step S60-3). Thereafter, the bibliographic information is provided to the network device 10B through the processing of steps S61 to S63 described above.
[0137]
As described above, the MFP 1200 can execute the bibliographic information acquisition method 402 having an entity in response to an HTTP request for requesting provision of bibliographic information from the network device 10. Similarly, the document ID list acquisition method 401 itself can be executed.
[0138]
Therefore, the multi-function apparatus 1200 can provide a wide range of Web services by combining a plurality of methods for forming an image and performing processing for actually providing the Web service, and combinations thereof.
[0139]
In the above functional configuration example, the network device 10B can receive a Web service from the MFP 1200 by using a Web browser without requiring a special message exchange method with the MFP 1200. RPC (Remote Procedure Call) can be realized. In addition, the composite web service provision processing unit 90 uses the document list creation composite method 800 to perform a series of web service processing by combining a plurality of methods without providing the entity of the document ID list acquisition method 401 and the bibliographic information acquisition method 402. It can be carried out. Therefore, a series of Web service processing can be performed by combining a plurality of methods. Therefore, the network device 10B can receive a series of Web services by a single HTTP request without being aware of the Web service units that can be provided by the MFP 1200.
[0140]
Further, such a composite Web service provision processing unit 90 can be shared by processing requests having different protocols. Therefore, it is not necessary to develop the composite Web service provision processing unit 90 for each processing request protocol.
[0141]
Further, in the above functional configuration example, the MFP 1200 includes the XSL 25 in the Web server 500, so that the description of the body part of the HTTP response that specifies SOAP in the XML processing unit 50 and the body part of the HTTP response that does not specify SOAP. Can be used in common.
[0142]
The XML processing unit 50 illustrated in FIG. 6 describes the document list (docList) in, for example, XML as illustrated in FIG. FIG. 7 is a diagram showing an example of a document list described in XML by the XML processing unit. 7, description 53 shows bibliographic information with document ID “101”, description 54 shows bibliographic information with document ID “102”, and description 55 shows bibliographic information with document ID “103”. For example, in the description 53, the bibliographic information of the document ID “101” indicates that the document name is “accumulated document 1”, the number of pages is “3” pages, and the owner is “user 1”.
[0143]
Further, the HTTP request created by the SOAP processing unit 12 of the network device 10A and transmitted to the multi-function apparatus 1200 is described as shown in FIG. 8, for example. FIG. 8 is a diagram illustrating an example of an HTTP request by SOAP. FIG. 8 is a diagram illustrating an example of an HTTP request by SOAP. In the HTTP header portion 73 of the HTTP request shown in FIG. 8, a URI 74 indicates a URI to which an HTTP request is transmitted by the POST method, and is “netdoc”, for example. Further, a URI indicating the purpose of the request is shown in SOAPAction 75, and “document list” is designated by “http://foo.bar.com/netdoc/documentList”, for example. The httpd2 of the multi-function apparatus 1200 receives the HTTP request, and the SOAP processing unit 70 analyzes the HTTP header unit 75. The SOAP processing unit 70 From <SOAP-ENV: Envelope></ SOAP-ENV: Envelope> From <ns: documentList> A message indicating the processing contents described in XML up to </ ns: documentList> is acquired. This XML message is an XML message, for example, When “1” set in <listtype> indicates that a list is created for all documents, the document list creation composite method 800, based on the instruction of the message, the document ID list acquisition unit 801, the bibliography, A list of all documents managed by the MFP 1200 is acquired by the information acquisition unit 802 and the document list creation unit 803.
[0144]
The document list is described in XML by the XML processing unit 50, and then an HTTP response is created by the SOAP processing unit 70. For example, an HTTP response as shown in FIG. 9 is generated. FIG. 9 is a diagram illustrating an example of an HTTP response by SOAP. In the example of the HTTP response shown in FIG. 9, the SOAP processing unit 70 creates an HTTP header part 78 and further creates an HTTP body part 79. As the HTTP body part 79, From <SOAP-ENV: Envelope></ SOAP-ENV: Envelope> is created. From <ns: documentListResponse> The message 91 shown up to </ ns: documentListResponse> is a message in which the XML processing unit 50 describes the document list from the document list creation composite method 800 in XML.
[0145]
Such an HTTP response is notified to the network device 10A, and the SOAP processing unit 12 From <SOAP-ENV: Body></ SOAP-ENV: Body> extracts the message 91, and the extracted message 91 extracts document list information to be displayed on the monitor 9 </ b> A by the XML processing unit 13 and notifies the request / response processing unit 14 of it. Further, the document list information is processed as screen data by the request / response processing unit 14, and is displayed on the monitor 9A by the input / output control unit 11A, for example, as shown in FIG.
[0146]
On the other hand, the document list described in XML shown in FIG. 7 is converted into a document list described in HTML as shown in FIG. 10 by the XSL processor 503 of the HTML creating unit 502 based on XSL25. FIG. 10 is a diagram showing an example of a document list described in HTML by the HTML creation unit. In FIG. 10, a description 93 indicates a header part of the HTTP response, and a description 99 indicates a body part of the HTTP response.
[0147]
In the description 99, the description 94 indicates an HTML header part, and is a description for displaying the title “document list” corresponding to the Web service requested by the user of the network device 10B. The description 95 is a description for displaying the item name of the document list. The description 96 is a description obtained by converting the XML description 53 shown in FIG. 7 into HTML. The description 97 is a description obtained by converting the XML description 54 shown in FIG. 7 into HTML. The description 98 is a description in which the XML description 55 shown in FIG. 7 is converted into HTML.
[0148]
A screen as shown in FIG. 11 is displayed on the monitor 9B of the network device 10B by the description converted into HTML in this way. FIG. 11 is a diagram illustrating an example of a screen displayed on the network device side. On the screen 92 shown in FIG. 11, a document list is displayed in association with item names such as document name, number of pages, owner, and the like. A similar screen is also displayed on the monitor 9A of the network device 10A by an HTTP response according to SOAP.
[0149]
As described above, the MFP 1200 according to the present invention enables a Web service by exchanging messages by SOAP and also provides by HTML. Therefore, the same Web service can be provided to the users of the network devices 10A and 10B.
[0150]
Further, the same Web service function can be executed for an HTTP request that specifies SOAP and an HTTP request that does not specify SOAP. Furthermore, the body part can be generated using the XML 26 generated by the XML processing unit 50 for both the HTTP response designating the SOAP and the HTTP response not designating the SOAP.
[0151]
In the above-described embodiment, an example in which SOAP support and Web browser support are possible with the same Web service function has been described. However, different so as to support a unique protocol uniquely determined with a network device. It is also possible to correspond to protocol 3. For example, the same Web service may be provided to the network device using a unique protocol in which a description in XML set independently in the body part of the HTTP request and HTTP response is set.
[0152]
【The invention's effect】
As described above, according to the present invention, standard Web service compatible software can be used without installing a plurality of driver softwares in order to use a plurality of image forming functions in a computer terminal used by a user. Just install it. In addition, it is possible not only to make a request for processing to a multi-function apparatus having a plurality of image forming functions without depending on the model or operating system of the computer terminal, but also to uniformly process processing requests from other devices. It becomes possible.
[0153]
[Brief description of the drawings]
FIG. 1 is a block diagram showing a functional configuration of a multi-function apparatus that fuses various image forming functions according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of the multi-function apparatus shown in FIG. 1;
FIG. 3 is a diagram illustrating a functional configuration example of a multifunction peripheral that provides a Web service;
FIG. 4 is a diagram illustrating an example of an HTTP request by SOAP.
FIG. 5 is a diagram illustrating an example of an HTTP response by SOAP.
FIG. 6 is a diagram illustrating an example of a functional configuration for explaining an example of a multifunction peripheral having a composite Web service.
FIG. 7 is a diagram illustrating an example of a document list described in XML by an XML processing unit.
FIG. 8 is a diagram illustrating an example of an HTTP request by SOAP.
FIG. 9 is a diagram illustrating an example of an HTTP response by SOAP.
FIG. 10 is a diagram showing an example of a document list described in HTML by an HTML creating unit.
FIG. 11 is a diagram showing an example of a screen displayed on the network device side.
[Explanation of symbols]
2 httpd (Hypertext Transfer Protocol Daemon)
30 Distributor
40-49 Web service provision processing unit
50 XML processing section
60A, 60B dispatcher
70 SOAP processing part
1200 fusion machine,
1201 Plotter 1202 Scanner
1210 Software group
1230 application, 1220 platform
1221 OS, 1222 SCS
1223 SRM, 1224 ECS
1225 MCS, 1226 OCS
1227 FCS, 1228 NCS
1229 IMH, 1240 Fusion machine start-up unit
1300 controller, 1301 ASIC
1302 MEM-C, 1303 HDD
1304 CPU, 1305 NB
1306 MEM-P, 1307 SB
1308 AGP, 1310 Operation Panel
1311 NIC, 1312 USB target
1313 IEEE 1394 1314 Centronics
1315 Serial 1316 USB host
1320 FAX control unit
1321 Non-volatile memory 1322, 1323 RTC
1350 engine

Claims (17)

スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成装置であって、
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、
プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理するWebサービス実行手段を有し、該Webサービス実行手段が該内部情報に基づいて上記画像形成装置を制御した処理結果を上記Webサービス通信制御手段へ提供する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と
上記複数のWebサービス提供処理手段によって共有され、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手段とを有し、
上記Webサービス通信制御手段は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、
上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手段を実行する処理リクエスト処理手段と、
上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段とを有することを特徴とする画像形成装置。
An image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
A first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol are received, and the first protocol is followed Web service communication control means for transmitting a first process response and a second process response according to the second protocol;
It has a Web service execution means for processing the internal information relating to the image forming processing using one of the hardware resource accepts a different the first processing request and a second processing request of the protocol in common, the Web service executing Means for providing a processing result obtained by controlling the image forming apparatus based on the internal information to the Web service communication control means, and a plurality of Web service providing processing means corresponding to each of the hardware resources ;
The message that is shared by the plurality of Web service providing processing means and described in a predetermined description format in the first processing request is converted into a format that can be processed by the Web service providing processing means, and the first processing request And a description format processing means for converting the processing result according to the second processing request into the predetermined description format by the same processing method when converting the processing result according to the criteria into the predetermined description format ,
The web service communication control means
Network communication control means for controlling the reception of the first and second processing requests from the device and the transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol;
Processing request processing means for executing the Web service execution means specified by the processing content acquired from the second processing request;
When the network communication control means receives the first processing request, the request type of the first processing request is analyzed according to the first protocol, and one of the plurality of Web service providing processing means is based on the analysis result. When the second processing request is distributed to the first processing request and the second processing request is received, the request type of the second processing request is analyzed, and the second processing request is sent to the processing request processing means based on the analysis result. And an image forming apparatus.
少なくとも上記複数のWebサービス提供処理手段を有するアプリケーションと、
上記画像形成処理で利用される上記スキャナ又はプロッタを含むハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該ハードウェア資源の利用を制御するコントロールサービスと、
該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項1記載の画像形成装置。
An application having at least the plurality of Web service providing processing means;
A control service for managing hardware resources including the scanner or plotter used in the image forming process, and controlling the use of the hardware resources in response to a use request from the application;
The image forming apparatus according to claim 1, further comprising an operating system that controls the application and the control service.
上記複数のWebサービス提供処理手段によって共有可能であって、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手段とを有することを特徴とする請求項2記載の画像形成装置。  3. The image forming apparatus according to claim 2, further comprising a protocol processing unit that can be shared by the plurality of Web service providing processing units and controls the message according to the first protocol. 上記Webサービス通信制御手段は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段を有することを特徴とする請求項1乃至3のいずれか一項記載の画像形成装置。
The web service communication control means
Analyzing specific information for identifying the Web service in the second processing request, and having a second distribution means for allocating the processing to the Web service executing means corresponding to the specific information based on the analysis result The image forming apparatus according to any one of claims 1 to 3.
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有することを特徴とする請求項記載の画像形成装置。Analyzing the specific information specifying the Web service in the first processing request according to the first protocol, and processing the Web service execution means for executing the Web service specified by the specific information based on the analysis result. 5. The image forming apparatus according to claim 4, further comprising first sorting means for sorting. 上記複数のWebサービス提供処理手段の夫々に対応させて複数の上記第一振分手段と複数の上記第二振分手段とを有することを特徴とする請求項記載の画像形成装置。6. The image forming apparatus according to claim 5, further comprising a plurality of the first distribution means and a plurality of the second distribution means corresponding to each of the plurality of Web service providing processing means. 上記Webサービス通信制御手段は、
上記第一処理リクエストによって実行される同一処理によって上記Webサービス提供処理手段から提供される上記第二処理リクエストに応じた上記処理結果を示す上記第二処理レスポンスを送信した機器に表示可能な表示形式に従って作成する表示形式作成手段を有することを特徴とする請求項乃至のいずれか一項記載の画像形成装置。
The web service communication control means
Display format that can be displayed on the device that has transmitted the second processing response indicating the processing result corresponding to the second processing request provided from the Web service providing processing means by the same processing executed by the first processing request the image forming apparatus according to any one of claims 1 to 6, characterized in that it has a display format creating means for creating in accordance.
上記表示形式作成手段は、
上記記述形式処理手段によって上記第一処理リクエストに応じた上記処理結果と同様に処理された上記第二処理リクエストに応じた上記処理結果を、上記記述形式の書式スタイルに基づいて、上記表示形式に従った上記処理結果に変換する記述形式変換手段を有することを特徴とする請求項記載の画像形成装置。
The display format creation means
The processing result according to the second processing request processed in the same manner as the processing result according to the first processing request by the description format processing means is converted into the display format based on the format style of the description format. 8. The image forming apparatus according to claim 7, further comprising description format conversion means for converting into the processing result.
スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成装置であって、
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、
プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて、上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理する少なくとも一つ以上の処理単位を有し、該処理単位が該内部情報に基づいて上記画像形成装置を制御した処理結果を上記Webサービス通信制御手段へ提供する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と、
上記Webサービス提供処理手段を構成する上記第一処理リクエストと上記第二処理リクエストとによって、上記少なくとも一つ以上の処理単位を実行することによって上記内部情報を処理し、該処理単位が該内部情報に基づいて上記画像形成装置を制御した処理結果を用いて付加処理を行うことによって上記第一又は第二処理リクエストに応じた上記処理結果を生成し、該処理結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手段と、
上記Webサービス通信制御手段は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、
上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手段を実行する処理リクエスト処理手段と、
上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段とを有することを特徴とする画像形成装置。
An image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
Receives a first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol, and responds to the first processing request Web service communication control means for transmitting a first processing response in accordance with the first protocol and a second processing response in accordance with the second protocol indicating the processing results obtained;
Receiving at least one first processing request and second processing request with different protocols, and having at least one processing unit for commonly processing internal information regarding image forming processing using one of the hardware resources ; A plurality of Web service providing processing means corresponding to each of the hardware resources, wherein the processing unit provides the Web service communication control means with a processing result obtained by controlling the image forming apparatus based on the internal information. When,
The internal information is processed by executing the at least one processing unit by the first processing request and the second processing request constituting the Web service providing processing means, and the processing unit is the internal information. The processing result corresponding to the first or second processing request is generated by performing additional processing using the processing result obtained by controlling the image forming apparatus based on the processing result, and the processing result is transmitted to the Web service communication control unit. Providing composite Web service providing processing means;
The web service communication control means
Network communication control means for controlling the reception of the first and second processing requests from the device and the transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol;
Processing request processing means for executing the Web service execution means specified by the processing content acquired from the second processing request;
When the network communication control unit receives the first processing request, the request type of the first processing request is analyzed according to the first protocol, and the plurality of Web service providing processing units and the composite are based on the analysis result When the first processing request is distributed to one of the Web service providing processing means and the second processing request is received, the request type of the second processing request is analyzed, and the processing request is analyzed based on the analysis result. An image forming apparatus comprising: a distribution unit that distributes the second processing request to the processing unit.
少なくとも上記複数のWebサービス提供処理手段と上記複合Webサービス提供処理手段とを有するアプリケーションと、
上記画像形成処理で利用される上記スキャナ又はプロッタを含むハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該ハードウェア資源の利用を制御するコントロールサービスと、
該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項記載の画像形成装置。
An application having at least the plurality of Web service providing processing means and the composite Web service providing processing means;
A control service for managing hardware resources including the scanner or plotter used in the image forming process, and controlling the use of the hardware resources in response to a use request from the application;
The image forming apparatus according to claim 9 , further comprising an operating system that controls the application and the control service.
上記複合Webサービス提供処理手段は、該複合Webサービス提供処理手段における処理単位として構成されると共に、上記複数Webサービス提供処理手段の上記処理単位を組み合せて実行する少なくとも一つの複合処理実行手段を有するこことを特徴とする請求項又は10記載の画像形成装置。The composite Web service provision processing means is configured as a processing unit in the composite Web service provision processing means, and has at least one composite processing execution means that executes the processing units of the plurality of Web service provision processing means in combination. the image forming apparatus according to claim 9 or 10, wherein here. 上記複合処理実行手段は、上記複数のWebサービス提供処理手段の上記処理単位を複数組み合せて上記内部情報を処理することを特徴とする請求項11記載の画像形成装置。12. The image forming apparatus according to claim 11 , wherein the composite processing execution unit processes the internal information by combining a plurality of the processing units of the plurality of Web service providing processing units. 上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手段と、
上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手段とを有し、
上記プロトコル処理手段と上記記述形式処理手段とは、上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段によって共有されることを特徴とする請求項9乃至12のいずれか一項記載の画像形成装置。
Protocol processing means for controlling the message of the first processing request and the first processing response according to the first protocol;
The message described in the first processing request according to the predetermined description format is converted into a format that can be processed by the Web service providing processing means, and the processing result corresponding to the first processing request is converted into the predetermined description format. And a description format processing means for converting the processing result according to the second processing request into the predetermined description format by the same processing method when converting to
The said protocol processing means and the description format processing means, of any one of claims 9 to 12, characterized in that it is shared by the plurality of Web service providing processing means and the composite Web service providing processing means Image forming apparatus.
上記Webサービス通信制御手段は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記処理単位又は上記複合処理実行手段に処理を振り分ける第二振分手段を有することを特徴とする請求項1乃至1のいずれか一項記載の画像形成装置。
The web service communication control means
Analyzing the specific information for identifying the Web service in the second processing request, and based on the analysis result, a second distribution means for allocating the processing to the processing unit or the composite processing execution means corresponding to the specific information the image forming apparatus according to any one of claims 1 1 to 1 3, characterized in that it has.
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有することを特徴とする請求項1記載の画像形成装置。Analyzing the specific information for identifying the Web service in the first processing request according to the first protocol, and processing the Web service executing means for executing the Web service specified by the specific information based on the analysis result. the image forming apparatus according to claim 1 4, wherein it has a first sorting means for sorting. スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成方法であって、
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手順と、
プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理するWebサービス実行手を有し、該Webサービス実行手順が該内部情報に基づいて上記画像形成装置を制御した処理結果を上記Webサービス通信制御手へ提供する手順であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手順と
上記複数のWebサービス提供処理手順によって共有され、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手順によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に変換する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に変換する記述形式処理手順とを有し、
上記Webサービス通信制御手順は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手順と、
上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手順を実行する処理リクエスト処理手順と、
上記ネットワーク通信制御手順が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手順の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手順に上記第二処理リクエストを分配する分配手順とを有することを特徴とする画像形成方法。
An image forming method for forming an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
Receives a first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol, and responds to the first processing request A Web service communication control procedure for transmitting a first processing response according to the first protocol and a second processing response according to the second protocol indicating the processing results obtained;
It has a Web service execution procedure for processing the internal information relating to the image forming processing using one of the hardware resource accepts a different the first processing request and a second processing request of the protocol in common, the Web Service the execution procedure processing was controlling the image forming apparatus based on the internal information results a procedure to be provided to the Web service communication control procedure, a plurality of Web service provision process that is corresponding to each of the hardware resources and,
The message that is shared by the plurality of Web service providing processing procedures and described in a predetermined description format in the first processing request is converted into a format that can be processed by the Web service providing processing procedure, and the first processing request A description format processing procedure for converting the processing result according to the second processing request into the predetermined description format by the same processing method when converting the processing result according to the criteria into the predetermined description format ,
The Web service communication control procedure is as follows:
A network communication control procedure for controlling reception of the first and second processing requests from the device and transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol;
A processing request processing procedure for executing the Web service execution procedure specified by the processing content acquired from the second processing request;
When the network communication control procedure receives the first processing request, the request type of the first processing request is analyzed according to the first protocol, and one of the plurality of Web service providing processing procedures is based on the analysis result. When the first processing request is distributed to the second processing request and the second processing request is received, the request type of the second processing request is analyzed, and the second processing request is sent to the processing request processing procedure based on the analysis result. And a distribution procedure for distributing the image.
スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成方法であって、
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルによる第一処理リクエストと該第一プロトコル以外の第二プロトコルによる第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二処理レスポンスとを送信するWebサービス通信制御手順と、
プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて、上記ハードウェア資源の一つを利用した画像形成処理に関する内部情報を共通に処理する少なくとも一つ以上の処理単位を有し、該処理単位が該内部情報に基づいて画像形成処理を制御した処理結果を上記Webサービス通信制御手へ提供する手順であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手順と、
上記Webサービス提供処理手を構成する上記第一処理リクエストと上記第二処理リクエストとによって、上記少なくとも一つ以上の処理単位を実行することによって上記内部情報を処理し、該処理単位が該内部情報に基づいて上記画像形成処理を制御した処理結果を用いて付加処理を行うことによって上記第一又は第二処理リクエストに応じた上記処理結果を生成し、該処理結果を上記Webサービス通信制御手へ提供する複合Webサービス提供処理手順と、
上記Webサービス通信制御手順は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手順と、
上記第二処理リクエストから取得した処理内容によって指定される上記Webサービス実行手順を実行する処理リクエスト処理手順と、
上記ネットワーク通信制御手順が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手順及び上記複合Webサービス提供処理手順の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手順に上記第二処理リクエストを分配する分配手順とを有することを特徴とする画像形成方法。
An image forming method for forming an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
Receives a first processing request by a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request by a second protocol other than the first protocol, and responds to the first processing request A Web service communication control procedure for transmitting the first processing response and the second processing response according to the first protocol indicating the processing results obtained;
Receiving at least one first processing request and second processing request with different protocols, and having at least one processing unit for commonly processing internal information regarding image forming processing using one of the hardware resources ; a procedure that provides the processing result to which the processing unit is to control the image forming processing on the basis of the internal information to the Web service communication control procedure, a plurality of Web service provision process that is corresponding to each of the hardware resources When,
By the said first processing request and the second processing request constituting the Web service providing process procedure, by executing the at least one processing unit processing said internal information, the processing unit internal The processing result corresponding to the first or second processing request is generated by performing additional processing using the processing result obtained by controlling the image forming processing based on the information, and the processing result is stored in the Web service communication control unit. A composite Web service provision processing procedure to be provided in order ;
The Web service communication control procedure is as follows:
A network communication control procedure for controlling reception of the first and second processing requests from the device and transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol;
A processing request processing procedure for executing the Web service execution procedure specified by the processing content acquired from the second processing request;
When the network communication control procedure receives the first processing request, the request type of the first processing request is analyzed according to the first protocol, and the plurality of Web service providing processing procedures and the composite are based on the analysis result When the first processing request is distributed to one of the Web service provision processing procedures and the second processing request is received, the request type of the second processing request is analyzed, and the processing request is analyzed based on the analysis result. An image forming method comprising: a distribution procedure for distributing the second processing request to a processing procedure.
JP2003074119A 2002-03-25 2003-03-18 Image forming apparatus having Web service function Expired - Fee Related JP4136738B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003074119A JP4136738B2 (en) 2002-03-25 2003-03-18 Image forming apparatus having Web service function
US10/395,363 US20030225894A1 (en) 2002-03-25 2003-03-25 Image forming apparatus including web service functions
EP03018793A EP1400898A3 (en) 2002-08-30 2003-08-28 Image forming apparatus including web service functions

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002084555 2002-03-25
JP2002084556 2002-03-25
JP2002327061 2002-11-11
JP2003074119A JP4136738B2 (en) 2002-03-25 2003-03-18 Image forming apparatus having Web service function

Publications (2)

Publication Number Publication Date
JP2004209961A JP2004209961A (en) 2004-07-29
JP4136738B2 true JP4136738B2 (en) 2008-08-20

Family

ID=32831000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003074119A Expired - Fee Related JP4136738B2 (en) 2002-03-25 2003-03-18 Image forming apparatus having Web service function

Country Status (1)

Country Link
JP (1) JP4136738B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945676B2 (en) 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
JP4991903B2 (en) * 2010-04-26 2012-08-08 シャープ株式会社 MFP, authentication server, MFP control system, program, and recording medium
JP5522095B2 (en) 2011-03-11 2014-06-18 ブラザー工業株式会社 Printer
JP5533929B2 (en) * 2012-04-23 2014-06-25 セイコーエプソン株式会社 Client terminal, client terminal control method and program

Also Published As

Publication number Publication date
JP2004209961A (en) 2004-07-29

Similar Documents

Publication Publication Date Title
JP4498770B2 (en) Image forming apparatus for data distribution and information processing apparatus for acquiring data from the image forming apparatus
US8115943B2 (en) Image forming apparatus and print process method
US20030225894A1 (en) Image forming apparatus including web service functions
JP5370439B2 (en) Apparatus, request processing method, program, and recording medium
JP4090806B2 (en) Image information processing apparatus and application installation method
US7580143B2 (en) Image forming apparatus, image forming method, and information processing apparatus for conducting print instruction thereto
JP4291856B2 (en) Image forming apparatus having Web service function
JP2003296065A (en) Image forming apparatus
JP4079722B2 (en) Image forming apparatus that cooperates between apparatuses via a network
JP4136738B2 (en) Image forming apparatus having Web service function
JP4141209B2 (en) Image forming apparatus having Web service function
JP4130108B2 (en) Image forming apparatus having Web service function
JP4291855B2 (en) Image forming apparatus having Web service function
JP4527796B2 (en) Image forming apparatus and document management system
JP4520484B2 (en) Image forming apparatus having Web service function
JP4141210B2 (en) Image forming apparatus having Web service function
JP4340704B2 (en) Image information processing apparatus and application installation method
JP2008004105A (en) Image information processor and customization program generation method
JP2004005503A (en) Image forming device having web service function
JP4130109B2 (en) Image forming apparatus having Web service function
JP2006020341A (en) Image forming apparatus including web service functions
JP4291854B2 (en) Image forming apparatus having Web service function
EP1400898A2 (en) Image forming apparatus including web service functions
JP2004272888A (en) Service providing device, user terminal equipment, service providing method, service using method, service provision program, service using program, and recording medium
JP2011229183A (en) Image information processing apparatus, customized program generation method, image information processing system, program, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070116

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees