JP2004005504A - Image forming device having web service function - Google Patents

Image forming device having web service function Download PDF

Info

Publication number
JP2004005504A
JP2004005504A JP2003081245A JP2003081245A JP2004005504A JP 2004005504 A JP2004005504 A JP 2004005504A JP 2003081245 A JP2003081245 A JP 2003081245A JP 2003081245 A JP2003081245 A JP 2003081245A JP 2004005504 A JP2004005504 A JP 2004005504A
Authority
JP
Japan
Prior art keywords
web service
processing
data format
message
image forming
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.)
Granted
Application number
JP2003081245A
Other languages
Japanese (ja)
Other versions
JP4373692B2 (en
Inventor
Hiroyuki Matsushima
松島 弘幸
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
Priority to JP2003081245A priority Critical patent/JP4373692B2/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to EP03715406.9A priority patent/EP1489520B1/en
Priority to CN200610172730.5A priority patent/CN1980247B/en
Priority to CNB038015641A priority patent/CN100351818C/en
Priority to PCT/JP2003/003651 priority patent/WO2003081443A1/en
Priority to US10/490,978 priority patent/US7743162B2/en
Publication of JP2004005504A publication Critical patent/JP2004005504A/en
Application granted granted Critical
Publication of JP4373692B2 publication Critical patent/JP4373692B2/en
Priority to US12/771,330 priority patent/US8549162B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming device for developing a plurality of Web services without being conscious of a message form according to transmission-reception control of data between connected apparatuses in the image forming device having a plurality of applications for executing respectively different image forming processing. <P>SOLUTION: The above problem is solved by the image forming device having a Web service processing means for providing a processing result as the Web services by executing processing on the basis of a request message from the apparatuses connected via a network, and a converting means for converting the request message received according to a prescribed message exchange protocol into a processing request processible by the Web service processing means and converting the processing result outputted from the Web service processing means into a response message according to the message exchange protocol. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、Webサービスを提供する画像形成装置に係り、詳しくは、夫々異なる画像形成処理を行う複数のアプリケーションを有する画像形成装置において、接続される機器との間のデータの送受信制御に従ったメッセージ形式を意識せずに該複数のWebサービスの開発を可能とする画像形成装置を提供するものである。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピー、スキャナおよびファクシミリ装置にそれぞれ対応するアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来の複合型画像形成装置において、ネットワークを介して個々のアプリケーションが画像形成処理をWebサービスとして提供する場合、そのネットワークプロトコルに従って交換されるメッセージの記述形式を解釈できるように実装されたアプリケーションを改良する必要があった。また、メッセージの記述形式がXML(eXtensible Markup Language)である場合、従来の開発方法で開発されたアプリケーションをWebサービス対応に改良するのも、また、上記従来の複合型画像形成装置に新規にWebサービス対応のアプリケーションを追加するのも、開発者にXMLの知識が要求されるため、従来の開発方法によってアプリケーションを開発することが困難であった。。
【0004】
そこで、本発明の課題は、複数のWebサービスを提供する該画像形成装置と接続される機器とで交換されるメッセージの記述形式に依存することなく、Webサービスとして機能可能なアプリケーションの開発を行うことができる画像形成装置を提供することである。
【0005】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項1に記載されるように、ネットワークを介して接続される機器からの要求メッセージに基づいて処理を実行し、その処理結果をWebサービスとして提供するWebサービス処理手段と、所定メッセージ交換プロトコルに従って受信した上記要求メッセージを上記Webサービス処理手段によって処理可能な処理要求に変換すると共に、該Webサービス処理手段から出力される上記処理結果を該メッセージ交換プロトコルに従った応答メッセージに変換する変換手段とを有するように構成される。
【0006】
このような画像形成装置では、メッセージ交換プロトコルで規定される要求メッセージをWebサービス処理手段が処理可能な処理要求に変換し、また、Webサービス処理手段の処理結果をメッセージ交換プロトコルで規定される応答メッセージに変換するため、このようなメッセージ交換プロトコルの知識を必要とせずに、Webサービス処理手段を開発することができる。
【0007】
また、本発明は、請求項2に記載されるように、上記要求メッセージを該要求メッセージの構成を示す第一データ形式に変換する第一メッセージ変換手段を有し、上記変換手段は、上記第一データ形式を上記Webサービス処理手段を開発したプログラム言語にて処理可能な第二データ形式に対応させる第一データ形式変換手段を有するように構成することができる。
【0008】
このような画像形成装置では、ネットワークを介して接続された機器からの要求メッセージを、Webサービスを実行するWebサービス処理手段が処理可能なデータ形式に変換されるため、Webサービス手段を開発する開発者は、要求メッセージの記述形式を意識する必要がない。
【0009】
更に、要求メッセージをデータ形式にするという観点から、本発明は、請求項3に記載されるように、上記第一メッセージ変換手段は、上記要求メッセージから該要求メッセージを構成する要素とその要素に対して設定された値とに基づいて要素木を生成し、その要素木を上記第一データ形式とするように構成することができる。また、本発明は、請求項4に記載されるように、上記第一データ形式変換手段は、上記要素木の上記要素間の関連を辿ることによって、上記Webサービス処理手段にて処理可能な上記第二データ形式の要素に値を設定するように構成することができる。
【0010】
このような画像形成装置では、Webサービス処理手段が処理可能なデータ形式の形式に変換し易い要素木が生成され、要素木の要素間の関連を辿ることによって、Webサービス手段にて処理可能な第二データ形式の要素に値を容易に設定することができる。
【0011】
更に、Webサービスの処理結果を機器にて受信可能な応答メッセージにするという観点から、本発明は、請求項5に記載されるように、上記応答メッセージの構成に基づいて、上記機器にて受信可能な記述形式にて該応答メッセージを記述する第二メッセージ変換手段を有し、上記変換手段は、上記Webサービス処理手段によって出力された上記処理結果を示す第三データ形式を、該処理結果を示す応答メッセージの構成を示す第四データ形式に変換する第二データ形式変換手段を有し、上記応答メッセージは上記第四データ形式によって示されるように構成することができる。また、本発明は、請求項6に記載されるように、上記第二データ形式変換手段は、上記第三データ形式の要素に上記処理結果として設定された値と上記応答メッセージを構成する複数の要素とに基づいて要素木を生成し、その要素木を上記第四データ形式とするように構成することができる。
【0012】
このような画像形成装置では、Webサービス処理手段は、処理結果を機器にて受信可能な応答メッセージに構成する必要がないため、Webサービス処理手段の開発者は、従来からの所定のプログラム言語にて開発することができる。
【0013】
複数のWebサービスを提供するという観点から、本発明は、請求項7に記載されるように、複数の上記Webサービス処理手段と、複数の上記Webサービス処理手段の夫々に対応する複数の上記変換手段とを有するように構成することができる。
【0014】
更に、画像形成装置がネットワークを介して種々のシステム又は機器へWebサービスを提供するという観点から、本発明は、請求項8に記載されるように、上記要求メッセージ及び上記応答メッセージは、Simple Object Access Protocolに従ってExtensible Markup Languageによって記述されるように構成することができる。
【0015】
プログラム開発したWebサービス手段が汎用的に画像形成装置に搭載できるという観点から、本発明は、請求項9に記載されるように、上記第三データ形式及び上記第四データ形式は、C言語によって処理可能な構造体を示すように構成することができる。
【0016】
所定通信プロトコルに従ったメソッドに応じてWebサービスを実行するという観点から、本発明は、請求項10に記載されるように、所定通信プロトコルに従って受信した処理リクエストが上記要求メッセージによって処理要求を行うメソッドであるか否かを判断するメソッド判断手段と、上記メソッド判断手段による判断結果に基づいて、上記処理リクエストを上記第一メッセージ変換手段へ分配する分配手段とを有するように構成することができる。
【0017】
機器から送信された処理リクエストの解析結果に基づいて処理を振り分けるという観点から、本発明は、請求項11に記載されるように、上記処理リクエストのヘッダ部を解析してWebサービスを指定するWebサービス指定情報を取得するヘッダ解析手段と、上記ヘッダ解析手段による解析結果に基づいて、上記第一メッセージ変換手段によって変換された上記第一データ形式を引数として対応する上記複数の変換手段の1つを関数コールすることによって、処理を振り分ける振り分け手段とを有するように構成することができる。また、本発明は、請求項12に記載されるように、上記処理リクエストのボディ部の上記所定記述形式による要素名を解析してWebサービスを指定するWebサービス指定情報を取得するWebサービス指定情報取得手段と、上記Webサービス指定情報取得手段による解析結果に基づいて、上記第一メッセージ変換手段によって変換された上記第一データ形式を引数として対応する上記複数の変換手段の1つを関数コールすることによって、処理を振り分ける振り分け手段とを有するように構成することができる。
【0018】
資源を効率的に利用した所定通信制御を行うという観点から、本発明は、請求項13に記載されるように、上記所定通信プロトコルに従って、ネットワークを介して機器との接続を管理する接続管理手段と、上記接続管理手段から上記接続の通知を受信後、上記所定通信プロトコルに従って、上記処理リクエストに基づいて上記Webサービス処理手段に処理を実行させ、その処理結果を処理レスポンスとして上記機器へ提供するサービス提供手段とを有するように構成することができる。
【0019】
更に、本発明は、請求項14に記載されるように、上記所定通信プロトコルに従って通信を制御する通信制御手段と、上記接続管理手段へ、上記ネットワークを介して処理リクエストを受信したことを通知することによって、上記通信制御手段と上記サービス提供手段との接続を制御する接続制御手段とを有するように構成することができる。
【0020】
また、本発明は、請求項15に記載されるように、請求項12記載の画像形成装置において、上記所定通信プロトコルは、Hypertext Transfer Protocolであるように構成することができる。
【0021】
画像形成装置であるという観点から、本発明は、請求項16に記載されるように、複数の上記Webサービス処理手段を有するアプリケーションと、上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【0022】
上記課題を解決するための手段として、本発明は、上記画像形成装置におけるWebサービス提供方法とすることもできる。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0024】
多種の画像形成機能を融合する本発明の実施の一形態に係る画像形成装置(以下、融合機と言う)は、例えば、図1に示すような機能構成を成す。図1は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【0025】
図1において、融合機1200は、プロッタ1201と、スキャナ1202と、その他ハードウェアリソース1203などを有するとともに、プラットフォーム1220とアプリケーション1230とから構成されるソフトウェア群1210と、融合機起動部1240とを備えている。
【0026】
融合機起動部1240は、融合機1200の電源投入時に先ず始めに実行され、プラットフォーム1220やアプリケーション1230を起動する。
【0027】
プラットフォーム1220は、アプリケーション1230からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス1250と、一または複数のハードウェア資源の管理をおこない、コントロールサービス1250からの獲得要求を調停するシステムリソースマネージャー(SRM(System Resource Manager)1223)と、OS(Operating System)1221とを有する。
【0028】
このコントロールサービス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は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【0029】
OS1221は、UNIX(登録商標)などのオペレーティング・システムであり、プラットフォーム1220並びにアプリケーション1230の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
【0030】
SRM1223は、SCS1222とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394I/F、RS232CI/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【0031】
具体的には、このSRM1223は、要求されたハードウェア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。
【0032】
SCS1222は、アプリ管理(機能1)、操作部制御(機能2)、システム画面表示(ジョブリスト画面、カウンタ表示画面など)(機能3)、LED表示(機能4)、リソース管理(機能5)、割り込みアプリ制御(機能6)等の複数の機能を行う。具体的には、アプリ管理(機能1)では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御(機能2)では、アプリの操作部使用権の排他制御をおこなう。システム画面表示(機能3)では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。LED表示(機能4)では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。リソース管理(機能5)では、アプリがECSを使ってジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこなう。割り込みアプリ制御(機能6)では、特定のアプリを優先動作させるための制御及びサービスをおこなう。
【0033】
ECS1224は、プロッタ1201、スキャナ1202、その他ハードウェアリソース1203などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【0034】
MCS1225は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。
【0035】
OCS1226は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【0036】
FCS1227は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPI(Application Program Interface)を提供する。
【0037】
NCS1228は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。
【0038】
本実施例において、NCS1228は、複数のプロトコルのうちhttp(Hypertext Transfer Protocol)デーモンによって、インターネットを介して接続されるネットワーク機器とのデータ通信をHTTP(Hypertext Transfer Protocol)で制御し、HTTPリクエストヘッダで指定される処理に必要な複数のWebサービスを関数コールによって起動し、その複数のWebサービスによる処理結果をHTTPレスポンスで該ネットワーク機器へ通知する。Webサービスは、例えば、XML(eXtensible Markup Language)によって記述されたメッセージに従って処理を行う。
【0039】
IMH1229は、イメージデータを仮想メモリ領域(ユーザー仮想空間)から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行う。
【0040】
アプリケーション1230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ1211と、コピー用アプリケーションであるコピーアプリ1212と、ファクシミリ用アプリケーションであるファックスアプリ1213と、スキャナ用アプリケーションであるスキャナアプリ1214と、ネットファイル用アプリケーションであるネットファイルアプリ1215と、工程検査用アプリケーションである工程検査アプリ1216と、配信用アプリケーションである配信アプリ1217と、実行した処理結果をWebサービスとして提供するWebサービスアプリ1218とを有する。各アプリケーション1211〜1218は、プラットフォーム1220上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、NCS1228により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【0041】
ここで、Webサービスアプリ1218とは、NCS1228によって通知されるHTTPリクエスト対応する処理を実行するアプリケーションであって、その処理結果は、HTTPレスポンスとしてNCS1228によってHTTPリクエストを行ったネットワーク機器へ提供される。
【0042】
このように、融合機1200は、各アプリで共通的に必要となる処理をプラットフォーム1220で一元的に処理する。
【0043】
次に、融合機1200のハードウェア構成について説明する。図2は、図1に示す融合機のハードウェア構成を示すブロック図である。図2に示すように、この融合機1200は、オペレーションパネル1310と、FCU(ファックスコントロールユニット)1320と、プロッタ1201、スキャナ1202及びその他ハードウェアで構成されるエンジン部1350と、コントローラ1300のASIC1301とをPCI(Peripheral Component Interconnect)バス等で接続した構成となる。FCU1320は、受信したファックスデータを格納するための不揮発性メモリ1321と、FCU1320内での時間を計測するためのRTC(Real Time Clock)1322とを有し、通常G3規格に従ってファックスデータの送受信を行う。FCU1320は、オプションとして更にG3規格とG4規格とを搭載しても良い。
【0044】
コントローラ1300は、ASIC1301にMEM−C1302、HDD(Hard Disk Drive)1303などを接続するとともに、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェイスが公開されていないためである。
【0045】
ここで、このASIC1301とNB1305は、単にPCIを介して接続されているのではなく、AGP1308を介して接続されている。このようにAGP1308を介して接続することとした理由は、この融合機1200がプラットフォーム1220やアプリケーション1230を形成する複数のプロセスを実行制御する関係上、これらを低速のPCIで接続したのでは、パフォーマンスが低下するからである。
【0046】
CPU1304は、融合機1200の全体制御をおこなうものであり、具体的には、OS1221上でプラットフォーム1220を形成するSCS1222、SRM1223、ECS1224、MCS1225、OCS1226、FCS1227、NCS1228をそれぞれプロセスとして起動して実行させるとともに、アプリケーション1230を形成するプリンタアプリ1211、コピーアプリ1212、ファックスアプリ1213、スキャナアプリ1214、ネットファイルアプリ1215、工程検査アプリ1216、配信アプリ1217、Webサービスアプリ1218を起動して実行させる。
【0047】
NB1305は、CPU1304とMEM−P1306、SB1307、ASIC1301とを接続するためのブリッジであり、MEM−P1306は、融合機の描画用メモリなどとして用いるシステムメモリであり、MEM−C1302は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ASIC1301は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。
【0048】
NB1305は、PCIバスを介してSB1307と接続する他、ネットワーク通信を制御するNIC(Network Interface Card)1311と、パーソナルコンピュータと接続し大容量の画像データの送受信を可能とするUSB(Universal Serial Bus)1312及びIEEE13941313と、パラレルケーブルによって接続可能なセントロニクス1314と接続する。SB1307は、NB1305とROM、PCIデバイス、周辺デバイスとを接続するためのブリッジである。SB1307は、コントローラ1300での時間を計測するRTC(Real Time Clock)1323を有する。
【0049】
HDD1310は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
【0050】
したがって、ASIC1301には、MEM−C1302を接続するためのRAMインターフェイスと、HDD1310を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がRAMインターフェイスまたはハードディスクインターフェースに切り替えられる。
【0051】
AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【0052】
次に、上記構成を有する融合機1200において、XML(Extensible Markup Language)によるSOAP(Simple Object Access Protocol)に従ったWebサービスを提供可能とする構成について詳述する。Webサービスファンクションは、例えば、C言語などのプログラム言語で記述されたソフトウェア(アプリケーション)である。SOAPに従って記述されるXMLによる処理内容をメッセージとしてWebサービスファンクションが理解できるように、構文の異なるXMLとプログラム言語との間をハンドリングする処理部(ハンドラ)が必要となる。以下に、印刷する印刷Webサービス、文書リストを取得する文書リスト取得Webサービス、文書情報を取得する文書情報取得Webサービスを例として、図3で説明する。
【0053】
図3は、Webサービスを実現するための構成例を示す図である。図3において、印刷Webサービス、文書リスト取得Webサービス、文書情報取得Webサービスが、Webサービスアプリ1218にて提供される場合を示す。これらWebサービスは、アプリケーション1230の別の機能としてWebサービスアプリ1218から独立した構成としても良い。図3中、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。
【0054】
図3において、Webサービスを実現するために、コントロールサービス1250とWebサービスアプリ1218との間に、接続される機器との間のデータの送受信を制御する中間層が構成される。
【0055】
コントロールサービス1250は、Webサービスアプリ1218によるWebサービスを実現する構成部分として、ECS1224と、MCS1225と、NCS1228とを有する。NCS1228は、HTTPを制御するHTTPデーモン2と、HTTPデーモン2とWebサービスアプリ1218との接続処理の仲介をする要求仲介デーモン7とを有する。
【0056】
また、中間層1255は、接続される機器との間のデータの送受信制御を吸収する構成部分として、シーケンス制御ライブラリ100と、XMLライブラリ110と、SOAPライブラリ120と、ジョブ管理部310と、ファイル管理部311とを有する。シーケンス制御ライブラリ100は、更に、HTTP接続管理部101と、HTTPサービス実行部102と、POSTメソッド分配処理部105とを有する。XMLライブラリ110は、XML処理部115と、XMLプロセッサ116と、XMLシリアライザ117とを有する。SOAPライブラリ120は、SOAPアクション振分処理部121を有する。
【0057】
更に、Webサービスアプリ1218は、Webサービスを実現するための構成部分として、要素木解析・生成ハンドラ200と、Webサービスファンクション(WSF)300とを有する。要素木解析・生成ハンドラ200は、機器間におけるSOAPに従ったメッセージのデータ形式による構文を解析し、Webサービスファンクション300にて処理可能なデータ形式に変換する処理部であって、複数の要素木解析・生成ハンドラを有し、例えば、印刷ハンドラ201と、文書リスト取得ハンドラ202と、文書情報取得ハンドラ203とを有する。
【0058】
Webサービスファンクション300は、複数のWebサービスファンクションを有し、例えば、印刷機能301と、文書リスト取得機能302と、文書情報取得機能303とを有する。この場合、印刷ハンドラ201は、印刷機能301に対する処理の内容を示すSOAPに従ったメッセージのデータ形式を構文解析し、印刷機能301が処理可能なデータ形式に変換して印刷機能301に処理を要求する。また、印刷ハンドラ201は、印刷機能301からの応答をSOAPに従ったデータ形式にてメッセージとして生成する。文書リスト取得ハンドラ202及び文書情報取得ハンドラ203は、夫々、文書リスト取得機能302及び文書情報取得機能303に対して同様の処理を行う。
【0059】
印刷機能301は、入力パラメータとしてファイルIDと部数を受け取り、ジョブ管理部ファイルIDと部数を指定して印刷要求をジョブ管理部310に発行する。ジョブ管理部310から受け取ったリクエストIDを出力パラメータとして返す。文書リスト取得機能302は、ファイル管理部311にファイルリストを要求し、ファイル管理部311から受け取ったIDのリストを出力パラメータとして返す。文書情報取得機能303は、入力パラメータとしてファイルIDを受け取り、ファイル管理部311にファイルIDを指定してファイル情報を要求する。ファイル管理部311から受け取ったファイル情報を出力パラメータとして返す。
【0060】
ジョブ管理部310は、ジョブのキュー及び実行結果を管理する。また、ECS1224及びMCS1125と通信して蓄積文書の印刷処理を実行する。ファイル管理部311は、MCS1225と通信してファイル情報を取得する。
【0061】
以下、HTTPリクエストを受信してからHTTPレスポンスを送信するまでの処理について図4及び図5を参照しつつ説明する。図4及び図5は、SOAPによるWebサービスの提供処理について説明するフローチャート図である。
【0062】
NCS1228のHTTPデーモン2がネットワーク15からの接続要求を受信する(ステップS1100)。その接続要求は要求仲介デーモン7を介してWebサービスアプリ1218のHTTP接続管理部101に通知される。その後、HTTP接続管理部101は、その接続要求をHTTPに従ってサービスを提供するHTTPサービス実行部102に通知する。通知を受けたHTTPサービス実行部102は、HTTPデーモン2に接続を行い、HTTPリクエストを取得する。このような制御をNCS1228で行うことにより、必要時のみHTTPによる通信制御をすることができる。よって、常時HTTP通信制御をする場合に比べて、通信制御に必要な資源を効果的に利用することができる。
【0063】
HTTPサービス実行部102は、ネットワーク15を介して受信したHTTPリクエストからデータ送信方法を示すHTTPメソッドを解析して、GETメソッドであるか否かをチェックする(ステップS1101)。GETメソッドである場合、GETメソッドによるWebサービスの提供を実行する(ステップS1102)。つまり、SOAPによるWebサービス以外のWebサービスの提供を行う。
【0064】
一方、GETメソッドでない場合、POSTメソッドであるか否かをチェックする(ステップS1103)。POSTメソッドでない場合、ステップS1107へ進み、エラー処理を行い、SOAPによるWebサービスの提供処理を終了する。POSTメソッドである場合、POSTメソッド分配処理部105をコールする。POSTメソッド分配処理部105は、HTTPリクエストヘッダ情報を解析し、HTTPボディの記述形式がXMLであることを確認する(ステップS1104)。つまり、HTTPレスポンスヘッダのContent−Typeがtext/xmlを指定しているか否かを判断する。XMLでない場合、ステップS1107へ進み、エラー処理を行う。一方、XMLである場合、XMLコンテンツハンドラ111をコールする。
【0065】
XML処理部115は、POSTメソッドハンドラとして、XMLプロセッサ116によって、HTTPボディのXMLの構文を解析し、XMLで記述されるタグ間の関連を木構造で示すリクエストの要素木を作成する(ステップS1105)。構文解析結果がエラーか否かを判断する(ステップS1106)。構文解析結果がエラーの場合、ステップS1107へ進み、エラー処理を行う。一方、構文解析結果が正常の場合、図5のステップS1109へ進む。
【0066】
SOAPアクション振分処理部121は、HTTPリクエストのSOAPActionヘッダを解析して、URI(Uniform Resource Indicator)により異なる要素木解析・生成ハンドラ200にHTTPリクエストを振り分ける(ステップS1109)。この場合、印刷Webサービスを指定するURIに対して印刷ハンドラ201、文書リスト取得Webサービスを指定するURIに対して文書リスト取得ハンドラ202、及び、文書情報取得Webサービスを指定するURIに対して文書情報取得ハンドラ203に、HTTPリクエスト及び要素木とが振り分けられる。
【0067】
各要素木解析・生成ハンドラ200は、リクエストの要素木を解析してC言語の構造体データに変換する(ステップS1110)。その後、変換した構造体データを引数として、HTTPリクエストで指定されるURIに対応するWebサービスファンクション300をコールする(ステップS1111)。この場合、印刷ハンドラ201は印刷機能301、文書リスト取得ハンドラ202は文書リスト取得機能302、文書情報取得ハンドラ203は文書情報取得機能303をコールする。
【0068】
Webサービスファンクション300は、所定のWebサービスのロジックを実行して、構造体データとして結果を返す(ステップS1112)。この場合、印刷機能301、文書リスト取得機能302、文書情報取得機能303は、各Webサービスのロジックを実行して、その結果を返す。返される結果は、プログラム言語で処理可能なデータ形式(例えば、C言語の構造体)である。
【0069】
各要素木解析・生成ハンドラ200は、受け取った結果の構造体データからレスポンスの要素木を生成する(ステップS1113)。各要素木解析・生成ハンドラ200によって生成された要素木は、例えば、XMLのタグ間の関係をタグからタグへのポインタによるリンクによって、そのデータ構造を示す。以後、SOAPアクション振分処理部121を介して、XMLシリアライザ117によって、レスポンスの要素木からXMLに変換される。XMLシリアライザ117は、要素木をテキストで示すXMLに変換する。変換されたXMLは、SOAPに従ったHTTPボディに構成され、所定のHTTPヘッダが付加された後、HTTPレスポンスとして送信される(ステップS1114)。
【0070】
上述より、要素木解析・生成ハンドラ200が要素木をC言語の構造体に応じたデータ変換を行う。また、C言語の構造体データから要素木への変換を行う。各機能301から303は、SOAPに従ったXMLの解析を行わなくて良いため、開発者は、SOAP及びXMLの知識が無くても、Webサービスをプログラム言語で開発することができる。
【0071】
Webサービスファンクション300を起動時の初期化処理では、モジュール間の(直線で示される)接続が行われ、図3に示すように構成される。初期化処理では、POSTメソッド分配処理部105がPOSTメソッドハンドラとしてシーケンス制御ライブラリ100に接続することで開始され、XML処理部115のPOSTメソッド分配処理部105への登録、SOAPアクション振分処理部121のXML処理部115への登録、要素木解析・生成ハンドラ200のSOAPアクション振分処理部121への登録が行われる。
【0072】
次に、要素木解析・生成ハンドラ200の印刷ハンドラ201を例にして、印刷ハンドラ201における要素木の解析処理について図6、図7及び図8で説明する。図6は、XMLを使用したSOAPに従ったHTTPリクエストの記述例を示す図である。図7は、XMLプロセッサによって変換された要素木の例を示す図である。図8は、印刷ハンドラによる要素木解析処理を説明するためのフローチャート図である。
【0073】
印刷Webサービスを依頼する図6に示すようなHTTPリクエストの場合、XMLプロセッサ112は、<SOAP−ENV:Envelope>で始まるHTTPボディ20を要素木に変換する。タグ名21「Envelope」をルート要素とし、ルート要素の子ノードとしてタグ名22「Header」及びタグ名23「Body」を関連づける。更に、タグ名23「Body」の子ノードをタグ名24「print」とし、更に、タグ名24「print」の子ノードとしてタグ名25「fileId」及びタグ名26「count」とを関連付ける。そして、タグ名25「fileId」及びタグ名26「count」に、夫々、テキストデータ27「123」及びテキストデータ28「2」を関連付ける。このようにして関連付けられた要素木構造は、例えば、図7に示されるようなデータ構造となる。図7において、タグ名21から26及びテキストデータ27から28を楕円で示し、関連付けが矢印で示される。
【0074】
図7に示すようなデータ構造となった要素木は、印刷ハンドラ201によって、図8に示されるフローチャートに従って、印刷機能301が処理可能なプログラム言語による構造体データが生成される。図8において、印刷ハンドラ201は、ルート要素を取得する(ステップS120)。この場合、ルート要素は、Envelope要素となる。子ノードリストを取得する(ステップS121)。つまり、タグ名22「Header」及び23「Body」を取得する。子ノードリストからタグ名がBodyの要素を検索して取得する(ステップS122)。Body要素の最初の子ノードを取得する(ステップS123)。この場合、print要素を取得する。print要素の子ノードリストを取得する(ステップS124)。取得した子ノードリストからタグ名を順に取得する(ステップS125)。
【0075】
タグ名がfileIDであるか否かを判断する(ステップS126)。タグ名がfileIDでない場合、ステップS129へ進む。一方、タグ名がfileIDである場合、タグ名がfileIDの最初の子ノードを取得する(ステップS127)。つまり、テキストノードを取得する。取得したテキストノードを抽出して整数に変換する(ステップS128)。つまり、ファイルIDパラメータとして、値「123」が所定の構造体に設定される。更に、タグ名がcountであるか否かを判断する(ステップS129)。タグ名がcountでない場合、ステップS132へ進む。一方、タグ名がcountである場合、タグ名がcountの最初の子ノードを取得する(ステップS130)。つまり、テキストノードを取得する。取得したテキストノードを抽出して整数に変換する(ステップS131)。つまり、部数パラメータとして、値「2」が所定の構造体に設定される。
【0076】
印刷ハンドラ201は、ステップS125で取得した子ノードリストから次の子ノードがあるか否かを判断する(ステップS132)。次の子ノードがある場合、ステップS125に戻り、次の子ノードを取得し、上記同様の処理を行う。次の子ノードがない場合、要素木の解析処理を終了する。
【0077】
このようにして解析された要素木は、印刷ハンドラ201によって図9に示されるようなプログラム言語による構造体29(「struct printParam」)に変換される。パラメータ「int fileId」には、ステップS128によって、値「123」が設定される。また、パラメータ「int count」には、ステップS131によって、値「2」が設定される。
【0078】
Webサービスファンクション300の印刷機能301が、例えば、C言語でプログラミングされる「print」関数である場合、例えば、「struct printParam*in」のようにして、構造体29へのポインタ「in」が引数30に設定される。印刷機能301(「print」関数)をコールすると、印刷機能301での処理結果が、例えば、構造体名「struct printResult」へのポインタ「out」を示す「struct printResult *out」のような引数31で戻る。
【0079】
図10は、印刷ハンドラでの処理結果を示す構造体の例を示す図である。図10において、印刷ハンドラ201は、引数31のポインタ「out」によって、処理結果を設定すべき構造体39を取得する。例えば、構造体39において、処理結果として、パラメータ「requestId」に値「100」を設定する。
【0080】
次に、処理結果を示す構造体39から要素木を生成する要素木の生成処理について図11及び図12で説明する。図11は、印刷ハンドラによる要素木生成処理を説明するためのフローチャート図である。図12は、生成された要素木の例を示す図である。
【0081】
図12を参照しつつ印刷ハンドラによる要素木生成処理を説明する。図11において、印刷ハンドラ201は、Envelope要素32を生成する(ステップS140)。Body要素33を生成する(ステップS141)。そして、Body要素33をEnvelope要素32に接続する(ステップS142)。これらステップS140からS142での処理によって、SOAPに従ったHTTPレスポンスのHTTPボディが設定される。
【0082】
そして、印刷ハンドラ201は、printResponse要素34を生成し(ステップS143)、printResponse要素34をBody要素33に接続する(ステップS144)。更に、requestId要素35を生成し(ステップS145)、requestId要素35をprintResponse要素34に接続する(ステップS146)。
【0083】
印刷ハンドラ201は、結果として得られたリクエストIDより、テキストノード36を生成して(ステップS147)、テキストノードをrequestId要素35に接続する(ステップS148)。この場合、テキストノード36には、「100」が設定される。
【0084】
このように生成された要素木は、XML処理部115及びXMLシリアライザ117によって、図13に示されるようなHTTPボディ32を生成する。図13は、要素木から変換されたXMLを使用したSOAPに従ったHTTPレスポンスの記述例を示す図である。図13において、図12に示す各要素32から36は、< >で区切られるタグ内に記述され、所定の情報をSOAPに従った手順でXMLにて記述される。
【0085】
上記実施例より、XMLのデータ構造を示す要素木をWebサービスファンクション300が処理可能な構造体に変換、及び、構造体をXMLの要素木に変換する要素木解析・生成ハンドラ200を備えることによって、開発者は、従来と同様の開発方法、例えば、C言語による開発方法によって、Webサービスファンクションとしてのアプリケーションの開発を行うことができる。また、既に実装されているアプリケーションを容易にWebサービスに対応するに改良することができる。
【0086】
また、要素木解析・生成ハンドラ200を有する融合機1200では、SOAPに従うXML記述されたメッセージをWebサービスファンクション300が解釈することができるため、Webサービスファンクション300を他システムに提供することが可能となる。よって、融合機1200に接続されるシステム又はコンピュータ端末を限定しないため、融合機1200の利用可能性を大幅に拡大することが可能となる。
【0087】
【発明の効果】
以上、説明してきたように、本願発明によれば、機器間におけるメッセージ交換プロトコルに従ったメッセージのデータ形式の変換を行う処理部を備えているため、従来と同様の方法によって開発されたWebサービスファンクションであっても、該メッセージの処理が可能となる。そのため、画像形成装置におけるWebサービスファンクションの開発をメッセージの記述形式に依存することなく容易に行うことができる。また、既に実装されているアプリケーションを容易にWebサービスに対応できるように改良することができる。更に、画像形成装置に接続可能な他システムとの連携を拡大することができる。
【0088】
【図面の簡単な説明】
【図1】本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【図2】図1に示す融合機のハードウェア構成を示すブロック図である。
【図3】Webサービスを実現するための構成例を示す図である。
【図4】SOAPによるWebサービスの提供処理について説明するフローチャート図である。
【図5】SOAPによるWebサービスの提供処理について説明するフローチャート図である。
【図6】XMLを使用したSOAPに従ったHTTPリクエストの記述例を示す図である。
【図7】XMLプロセッサによって変換された要素木の例を示す図である。
【図8】印刷ハンドラによる要素木解析処理を説明するためのフローチャート図である。
【図9】要素木解析処理によって生成される構造体の例を示す図である。
【図10】印刷ハンドラでの処理結果を示す構造体の例を示す図である。
【図11】印刷ハンドラによる要素木生成処理を説明するためのフローチャート図である。
【図12】生成された要素木の例を示す図である。
【図13】要素木から変換されたXMLを使用したSOAPに従ったHTTPレスポンスの記述例を示す図である。
【符号の説明】
2     httpデーモン
7     要求仲介デーモン
15    ネットワーク
100   シーケンス制御ライブラリ
101   HTTP接続管理部
102   HTTPサービス実行部
105   POSTメソッド分配処理部
110   XMLライブラリ
115   XML処理部     116   XMLプロセッサ
117   XMLシリアライザ
120   SOAPライブラリ
121   SOAPアクション振分処理部
200   要素木解析・生成ハンドラ
300   Webサービスファンクション
1200  融合機
1201  プロッタ、      1202  スキャナ、
1203  その他ハードウェアリソース、
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  オペレーションパネル、
1320  ファックスコントロールユニット
1311  NIC、       1312  USB、
1313  IEEE1394、  1314  セントロニクス、
1350  エンジン部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image forming apparatus that provides a Web service, and more particularly, to an image forming apparatus having a plurality of applications that perform different image forming processes, according to data transmission / reception control with connected devices. An object of the present invention is to provide an image forming apparatus capable of developing the plurality of Web services without being conscious of a message format.
[0002]
[Prior art]
2. Description of the Related Art In recent years, an image forming apparatus in which functions of respective apparatuses such as a printer, a copier, a facsimile, and a scanner are housed in one housing is generally known. Such a composite type image forming apparatus includes a display unit, a printing unit, an imaging unit, and the like in a single housing, and also provides applications corresponding to a printer, a copy, a scanner, and a facsimile device. The device operates as a printer, copier, scanner or facsimile machine.
[0003]
[Problems to be solved by the invention]
However, in the above-described conventional composite image forming apparatus, when an individual application provides image forming processing as a Web service via a network, the image forming process is implemented so that the description format of a message exchanged according to the network protocol can be interpreted. The application needed to be improved. When the description format of the message is XML (extensible Markup Language), the application developed by the conventional development method is improved to be compatible with the Web service, and the above-described conventional composite image forming apparatus is newly added to the Web. Adding a service-compatible application also requires the developer to have knowledge of XML, so it has been difficult to develop an application using a conventional development method. .
[0004]
Therefore, an object of the present invention is to develop an application that can function as a Web service without depending on a description format of a message exchanged between devices connected to the image forming apparatus that provides a plurality of Web services. It is an object of the present invention to provide an image forming apparatus capable of performing the above.
[0005]
[Means for Solving the Problems]
In order to solve the above problem, the present invention executes a process based on a request message from a device connected via a network, and provides the process result as a Web service. Web service processing means for converting the request message received according to a predetermined message exchange protocol into a processing request that can be processed by the Web service processing means, and converting the processing result output from the Web service processing means to the message exchange protocol And a conversion means for converting the response message into a response message according to the above.
[0006]
In such an image forming apparatus, the request message specified by the message exchange protocol is converted into a processing request that can be processed by the Web service processing unit, and the processing result of the Web service processing unit is converted into a response specified by the message exchange protocol. To convert to a message, a Web service processing means can be developed without requiring knowledge of such a message exchange protocol.
[0007]
In addition, the present invention includes a first message conversion unit for converting the request message into a first data format indicating a configuration of the request message, wherein the conversion unit includes the first message conversion unit. It can be configured to include a first data format conversion unit that associates one data format with a second data format that can be processed by the programming language developed by the Web service processing unit.
[0008]
In such an image forming apparatus, a request message from a device connected via a network is converted into a data format that can be processed by a Web service processing unit that executes a Web service. Need not be aware of the description format of the request message.
[0009]
Further, from the viewpoint of converting the request message into a data format, the present invention provides, as set forth in claim 3, the first message conversion means comprising: an element constituting the request message from the request message; An element tree can be generated based on the value set for the element tree, and the element tree can be configured in the first data format. Further, according to the present invention, as set forth in claim 4, the first data format conversion means can process the Web service processing means by tracing the association between the elements of the element tree. It can be configured to set a value to an element of the second data format.
[0010]
In such an image forming apparatus, an element tree that can be easily converted into a data format that can be processed by the Web service processing unit is generated, and the Web service processing unit can process the element tree by tracing the relationship between the elements of the element tree. A value can be easily set to the element of the second data format.
[0011]
Further, from the viewpoint that the processing result of the Web service is converted into a response message that can be received by the device, the present invention provides a method of receiving a response message by the device based on the configuration of the response message. A second message conversion unit that describes the response message in a possible description format, wherein the conversion unit converts a third data format indicating the processing result output by the Web service processing unit into a third data format. There is provided a second data format converting means for converting the configuration of the response message to the fourth data format, and the response message can be configured to be represented by the fourth data format. Further, according to the present invention, as set forth in claim 6, the second data format conversion means includes a value set as the processing result in the element of the third data format and a plurality of values constituting the response message. An element tree can be generated based on the elements, and the element tree can be configured to have the fourth data format.
[0012]
In such an image forming apparatus, the Web service processing means does not need to configure the processing result into a response message that can be received by the device. Therefore, the developer of the Web service processing means uses a conventional predetermined programming language. Can be developed.
[0013]
From the viewpoint of providing a plurality of Web services, the present invention provides, as set forth in claim 7, a plurality of the Web service processing means and a plurality of the conversions respectively corresponding to the plurality of Web service processing means. Means.
[0014]
Further, from the viewpoint that the image forming apparatus provides a Web service to various systems or devices via a network, the present invention provides the above-mentioned request message and the above-mentioned response message as a simple object. It can be configured as described by Extensible Markup Language according to Access Protocol.
[0015]
In view of the fact that the Web service means developed by the program can be universally mounted on the image forming apparatus, according to the present invention, the third data format and the fourth data format are defined by C language. It can be configured to show a processable structure.
[0016]
From the viewpoint of executing a Web service according to a method according to a predetermined communication protocol, according to the present invention, as described in claim 10, a processing request received according to a predetermined communication protocol makes a processing request by the request message. The method may be configured to include a method determining unit that determines whether the method is a method, and a distribution unit that distributes the processing request to the first message conversion unit based on a determination result by the method determining unit. .
[0017]
From the viewpoint of distributing processing based on the analysis result of the processing request transmitted from the device, the present invention provides a Web service that analyzes a header part of the processing request and specifies a Web service. One of the plurality of conversion units corresponding to the first data format converted by the first message conversion unit as an argument based on the analysis result by the header analysis unit for acquiring service designation information; And a distribution unit for distributing the processing by calling the function. Further, according to the present invention, Web service designation information for acquiring a Web service designation information for designating a Web service by analyzing an element name of the body part of the processing request in the predetermined description format A function call is made to one of the plurality of conversion units corresponding to the first data format converted by the first message conversion unit as an argument based on the analysis result by the obtaining unit and the Web service designation information obtaining unit. With this, it is possible to configure so as to have a distributing means for distributing the processing.
[0018]
From the viewpoint of performing predetermined communication control using resources efficiently, the present invention provides a connection management means for managing a connection with a device via a network according to the predetermined communication protocol, according to the present invention. Receiving the notification of the connection from the connection management unit, and causing the Web service processing unit to execute the processing based on the processing request according to the predetermined communication protocol, and providing the processing result to the device as a processing response. And a service providing unit.
[0019]
Further, according to the present invention, the communication control means for controlling communication according to the predetermined communication protocol and the connection management means are notified that a processing request has been received via the network. Thus, the communication control unit and the service providing unit can be configured to have a connection control unit that controls a connection between the communication control unit and the service providing unit.
[0020]
Further, according to the present invention, in the image forming apparatus according to the twelfth aspect, the predetermined communication protocol may be configured to be a Hypertext Transfer Protocol.
[0021]
In view of being an image forming apparatus, the present invention manages an application having a plurality of the Web service processing units and a plurality of hardware resources used in the image forming processing, as described in claim 16. And a control service that controls use of the plurality of hardware resources in response to a use request from the application, and an operating system that controls the application and the control service. it can.
[0022]
As a means for solving the above problems, the present invention can also be a Web service providing method in the image forming apparatus.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024]
An image forming apparatus according to an embodiment of the present invention (hereinafter, referred to as a multi-functional peripheral) that fuses various image forming functions has a functional configuration as shown in FIG. 1, for example. FIG. 1 is a block diagram illustrating a functional configuration of a multifunction peripheral that fuses various image forming functions according to an embodiment of the present invention.
[0025]
In FIG. 1, the MFP 1200 includes a plotter 1201, a scanner 1202, other hardware resources 1203, and the like, and further includes a software group 1210 including a platform 1220 and an application 1230, and a MFP startup unit 1240. ing.
[0026]
The multifunction peripheral activation unit 1240 is executed first when the multifunction peripheral 1200 is powered on, and activates the platform 1220 and the application 1230.
[0027]
The platform 1220 interprets the processing request from the application 1230 and generates a hardware resource acquisition request as described below. The platform 1220 manages one or more hardware resources and obtains the hardware resource acquisition request 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.
[0028]
The control service 1250 is formed by a plurality of service modules. More specifically, the SCS (System Control Service) 1222, the ECS (Engine Control Service) 1224, the MCS (Memory Control Service) 1225, and the OCS (Operation) There are a panel control service (FAC) 1227, an FCS (FAX Control Service) 1227, a network control service (NCS) 1228, and an imaging memory handler (IMH) 1229. The platform 1220 is defined in advance by the platform function 1220. Can receive processing requests from applications Having an application program interface that.
[0029]
The OS 1221 is an operating system such as UNIX (registered trademark), and executes each software of the platform 1220 and the application 1230 as a process in parallel. By using the open source UNIX (registered trademark), the security of the program can be ensured, the network can be supported, and the source code can be easily obtained. Furthermore, royalties for OS and TCP / IP are not required, and outsourcing is also facilitated.
[0030]
The SRM 1223 controls the system and manages resources together with the SCS 1222. The SRM 1223 includes an engine unit such as a scanner and a plotter, a memory, an HDD file, a host I / O (a Centro I / F, a network I / F, an IEEE 1394 I / F, It performs arbitration in accordance with a request from an upper layer using hardware resources such as RS232CI / F, and controls execution.
[0031]
Specifically, the SRM 1223 determines whether the requested hardware resource is available (whether the requested hardware resource is not used by another request), and if the requested hardware resource is available, the requested hardware resource is Communicate availability to upper layers. In addition, hardware resource use scheduling may be performed in response to a request from an upper layer, and the content of the request (for example, paper conveyance and image forming operation by a printer engine, memory reservation, file generation, etc.) may be directly implemented. .
[0032]
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), It performs a plurality of functions such as interrupt application control (function 6). Specifically, in the application management (function 1), processing for registering an application and notifying the information to another application is 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 use right. In the LED display (function 4), display control of system LEDs such as a warning LED and an application key is performed. The resource management (function 5) provides a service for exclusive control of engine resources (scanners, staples, etc.) that must be exclusive when an application executes a job using ECS. In the interrupt application control (function 6), control and service for causing a specific application to operate preferentially are performed.
[0033]
The ECS 1224 controls an engine unit such as a plotter 1201, a scanner 1202, and other hardware resources 1203, and performs image reading and printing operation, status notification, jam recovery, and the like.
[0034]
The MCS 1225 performs memory control, and specifically performs acquisition and release of an image memory, use of a hard disk device (HDD), compression and decompression of image data, and the like.
[0035]
The OCS 1226 is a module that controls an operation panel serving as information transmission means between the operator and the main body control. The OCS 1226 provides processing for notifying the main body control of key operation events of the operator, and provides a library function for each application to construct a GUI. Processing, processing for managing the constructed GUI information for each application, processing for reflecting the display on the operation panel, and the like are performed.
[0036]
The FCS 1227 performs facsimile transmission / reception using PSTN / ISDN 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).
[0037]
The NCS 1228 is a group of modules for providing services that can be used in common to applications that require network I / O. The NCS 1228 distributes data received from the network according to each protocol to each application, and distributes data from an application. Mediates transmission to the network side.
[0038]
In the present embodiment, the NCS 1228 controls data communication with a network device connected via the Internet by HTTP (Hypertext Transfer Protocol) using an HTTP (Hypertext Transfer Protocol) daemon among a plurality of protocols, and uses an HTTP request header to control data communication with the HTTP request header. A plurality of Web services required for the specified processing are started by a function call, and the processing results of the plurality of Web services are notified to the network device by an HTTP response. The Web service performs processing according to a message described in, for example, XML (extensible Markup Language).
[0039]
The IMH 1229 maps image data from a virtual memory area (user virtual space) to a physical memory. In response to the start of the process, a system call is made to map a virtual memory area for the process, or to perform processing for releasing the mapped virtual memory area at the end of the process.
[0040]
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 facsimile application 1213 that is a facsimile application. A scanner application 1214 as a scanner application, a net file application 1215 as a net file application, a process inspection application 1216 as a process inspection application, a distribution application 1217 as a distribution application, and the executed processing result. A web service application 1218 provided as a web service. Since each of the applications 1211 to 1218 can execute an operation using each process on the platform 1220, a screen display control program that performs screen control, key operation control, job generation, and the like is mainly performed. Note that a new application can be installed via the network connected by the NCS 1228. Further, each application can be added or deleted for each application.
[0041]
Here, the Web service application 1218 is an application that executes a process corresponding to the HTTP request notified by the NCS 1228, and the processing result is provided as an HTTP response to the network device that made the HTTP request by the NCS 1228.
[0042]
In this way, the multifunction peripheral 1200 unifies the processing commonly required by the applications on the platform 1220.
[0043]
Next, the hardware configuration of the MFP 1200 will be described. FIG. 2 is a block diagram showing a hardware configuration of the multifunction peripheral shown in FIG. As shown in FIG. 2, the MFP 1200 includes an operation panel 1310, an FCU (fax control unit) 1320, an engine unit 1350 including a plotter 1201, a scanner 1202 and other hardware, and an ASIC 1301 of the controller 1300. Are connected by a PCI (Peripheral Component Interconnect) bus or the like. The FCU 1320 has a non-volatile memory 1321 for storing received fax data and an RTC (Real Time Clock) 1322 for measuring time in the FCU 1320, and transmits and receives fax data according to the normal G3 standard. . The FCU 1320 may further include the G3 standard and the G4 standard as options.
[0044]
The controller 1300 connects the ASIC 1301 with a MEM-C 1302, a hard disk drive (HDD) 1303, and the like, and connects the ASIC 1301 with the CPU 1304 via the NB 1305 of a CPU chipset. The reason for connection via the NB 1305 is that the interface of the CPU 1304 itself is not disclosed.
[0045]
Here, the ASIC 1301 and the NB 1305 are not simply 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 controls the execution of a plurality of processes forming the platform 1220 and the application 1230. Is reduced.
[0046]
The CPU 1304 performs overall control of the MFP 1200. Specifically, the SCS 1222, the SRM 1223, the ECS 1224, the MCS 1225, the OCS 1226, the FCS 1227, and the NCS 1228 which form the platform 1220 on the OS 1221 are started and executed as processes. At the same time, a printer application 1211, a copy application 1212, a fax application 1213, a scanner application 1214, a net file application 1215, a process inspection application 1216, a distribution application 1217, and a web service application 1218 which form the application 1230 are activated and executed.
[0047]
An NB 1305 is a bridge for connecting the CPU 1304 to the MEM-P 1306, the SB 1307, and the 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. ASIC 1301 is a local memory used as a code buffer. The ASIC 1301 is an IC for image processing having hardware components for image processing.
[0048]
The NB 1305 connects to the SB 1307 via a PCI bus, and also controls an NIC (Network Interface Card) 1311 for controlling network communication, and a USB (Universal Serial Bus) for connecting to a personal computer and enabling transmission and reception of a large amount of image data. 1312 and IEEE13941313, and a Centronics 1314 connectable by a parallel cable. The SB 1307 is a bridge for connecting the NB 1305 to a ROM, a PCI device, and a peripheral device. The SB 1307 has an RTC (Real Time Clock) 1323 for measuring time in the controller 1300.
[0049]
The HDD 1310 is a storage for storing image data, storing programs, storing font data, and storing forms. The operation panel 1310 receives an input operation from an operator and performs display for the operator. An operation unit.
[0050]
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 1310. When inputting and outputting image data to and from these storage units, The destination is switched to the RAM interface or the hard disk interface.
[0051]
The AGP 1308 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and speeds up the graphics accelerator card by directly accessing the system memory at high throughput.
[0052]
Next, a configuration that enables the MFP 1200 having the above configuration to provide a Web service in accordance with a Simple Object Access Protocol (SOAP) using XML (Extensible Markup Language) will be described in detail. The Web service function is, for example, software (application) written in a programming language such as C language. A processing unit (handler) for handling between XML having a different syntax and a programming language is required so that the Web service function can understand the processing content by XML described according to SOAP as a message. FIG. 3 illustrates a print Web service for printing, a document list acquisition Web service for acquiring a document list, and a document information acquisition Web service for acquiring document information.
[0053]
FIG. 3 is a diagram illustrating a configuration example for realizing a Web service. FIG. 3 shows a case where the print Web service, the document list acquisition Web service, and the document information acquisition Web service are provided by the Web service application 1218. These Web services may be configured separately from the Web service application 1218 as another function of the application 1230. In FIG. 3, only the main functional configuration among the functional configurations of the MFP 1200 illustrated in FIG. 1 is illustrated, and other functional configurations are omitted.
[0054]
In FIG. 3, an intermediate layer for controlling transmission and reception of data to and from a connected device is configured between the control service 1250 and the web service application 1218 in order to realize a web service.
[0055]
The control service 1250 has an ECS 1224, an MCS 1225, and an NCS 1228 as components for realizing a Web service by the Web service application 1218. The NCS 1228 includes an HTTP daemon 2 that controls HTTP, and a request mediation daemon 7 that mediates connection processing between the HTTP daemon 2 and the Web service application 1218.
[0056]
The middle layer 1255 includes a sequence control library 100, an XML library 110, a SOAP library 120, a job management unit 310, a file management A part 311. The sequence control library 100 further includes an HTTP connection management unit 101, an HTTP service execution unit 102, and a POST method distribution processing unit 105. The XML library 110 has an XML processing unit 115, an XML processor 116, and an XML serializer 117. The SOAP library 120 has a SOAP action distribution processing unit 121.
[0057]
Further, the web service application 1218 has an element tree analysis / generation handler 200 and a web service function (WSF) 300 as components for realizing a web service. The element tree analysis / generation handler 200 is a processing unit that analyzes a syntax in a data format of a message between devices according to the SOAP and converts the syntax into a data format that can be processed by the Web service function 300. It has an analysis / generation handler, for example, a print handler 201, a document list acquisition handler 202, and a document information acquisition handler 203.
[0058]
The Web service function 300 has a plurality of Web service functions, for example, a print function 301, a document list acquisition function 302, and a document information acquisition function 303. In this case, the print handler 201 parses the data format of the message according to the SOAP indicating the content of the process for the print function 301, converts the data format into a data format that can be processed by the print function 301, and requests the print function 301 to process. I do. The print handler 201 generates a response from the print function 301 as a message in a data format according to SOAP. The document list acquisition handler 202 and the document information acquisition handler 203 perform the same processing on the document list acquisition function 302 and the document information acquisition function 303, respectively.
[0059]
The print function 301 receives the file ID and the number of copies as input parameters, and issues a print request to the job management unit 310 by designating the job management unit file ID and the number of copies. The request ID received from the job management unit 310 is returned as an output parameter. The document list acquisition function 302 requests the file management unit 311 for a file list, and returns the list of IDs received from the file management unit 311 as output parameters. The document information acquisition function 303 receives the file ID as an input parameter, and requests the file information from the file management unit 311 by designating the file ID. The file information received from the file management unit 311 is returned as an output parameter.
[0060]
The job management unit 310 manages job queues and execution results. Further, it communicates with the ECS 1224 and the MCS 1125 to execute the print processing of the stored document. The file management unit 311 communicates with the MCS 1225 to acquire file information.
[0061]
Hereinafter, processing from reception of an HTTP request to transmission of an HTTP response will be described with reference to FIGS. 4 and 5. FIG. 4 and FIG. 5 are flowcharts illustrating a Web service providing process using SOAP.
[0062]
The HTTP daemon 2 of the NCS 1228 receives a connection request from the network 15 (Step S1100). The connection request is notified to the HTTP connection management unit 101 of the Web service application 1218 via the request mediation daemon 7. After that, the HTTP connection management unit 101 notifies the HTTP service execution unit 102 that provides the service according to HTTP of the connection request. Upon receiving the notification, the HTTP service execution unit 102 connects to the HTTP daemon 2 and acquires an HTTP request. By performing such control by the NCS 1228, communication control by HTTP can be performed only when necessary. Therefore, resources required for communication control can be used more effectively than when HTTP communication control is always performed.
[0063]
The HTTP service execution unit 102 analyzes the HTTP method indicating the data transmission method from the HTTP request received via the network 15 and checks whether the HTTP method is a GET method (step S1101). If it is the GET method, the Web service is provided by the GET method (step S1102). That is, Web services other than the Web services provided by SOAP are provided.
[0064]
If it is not the GET method, it is checked whether it is the POST method (step S1103). If it is not the POST method, the process advances to step S1107 to perform error processing, and ends the SOAP web service providing processing. If it is the POST method, the POST method distribution processing unit 105 is called. The POST method distribution processing unit 105 analyzes the HTTP request header information and confirms that the description format of the HTTP body is XML (step S1104). That is, it is determined whether or not Content-Type of the HTTP response header specifies text / xml. If it is not XML, the process advances to step S1107 to perform error processing. On the other hand, if it is XML, the XML content handler 111 is called.
[0065]
The XML processing unit 115, as a POST method handler, analyzes the syntax of the XML of the HTTP body by the XML processor 116 and creates an element tree of the request indicating the relationship between the tags described in the XML in a tree structure (step S1105). ). It is determined whether the syntax analysis result is an error (step S1106). If the syntax analysis result indicates an error, the process advances to step S1107 to perform error processing. On the other hand, if the syntax analysis result is normal, the process proceeds to step S1109 in FIG.
[0066]
The SOAP action distribution processing unit 121 analyzes the SOAPAction header of the HTTP request, and distributes the HTTP request to different element tree analysis / generation handlers 200 by URI (Uniform Resource Indicator) (step S1109). In this case, a print handler 201 for the URI specifying the print Web service, a document list acquisition handler 202 for the URI specifying the document list acquisition Web service, and a document for the URI specifying the document information acquisition Web service. The HTTP request and the element tree are distributed to the information acquisition handler 203.
[0067]
Each element tree analysis / generation handler 200 analyzes the element tree of the request and converts it into C language structure data (step S1110). Thereafter, the Web service function 300 corresponding to the URI specified by the HTTP request is called using the converted structure data as an argument (step S1111). In this case, the print handler 201 calls the print function 301, the document list acquisition handler 202 calls the document list acquisition function 302, and the document information acquisition handler 203 calls the document information acquisition function 303.
[0068]
The Web service function 300 executes a predetermined Web service logic and returns a result as structure data (step S1112). In this case, the print function 301, the document list acquisition function 302, and the document information acquisition function 303 execute the logic of each Web service and return the result. The returned result is in a data format (for example, a C language structure) that can be processed in a programming language.
[0069]
Each element tree analysis / generation handler 200 generates an element tree of a response from the received structure data (step S1113). The element tree generated by each element tree analysis / generation handler 200 indicates the data structure of the relationship between XML tags, for example, by linking a pointer from tag to tag. After that, the element tree of the response is converted into XML by the XML serializer 117 via the SOAP action distribution processing unit 121. The XML serializer 117 converts the element tree into XML represented by text. The converted XML is configured in an HTTP body according to SOAP, and is transmitted as an HTTP response after a predetermined HTTP header is added (step S1114).
[0070]
As described above, the element tree analysis / generation handler 200 performs data conversion of the element tree according to the structure of the C language. Also, it converts the C language structure data into an element tree. Since each of the functions 301 to 303 does not need to analyze XML according to SOAP, a developer can develop a Web service in a programming language without knowledge of SOAP and XML.
[0071]
In the initialization processing at the time of starting the Web service function 300, connection (shown by a straight line) between modules is performed, and the configuration is as shown in FIG. In the initialization process, the POST method distribution processing unit 105 starts by connecting to the sequence control library 100 as a POST method handler, and the XML processing unit 115 registers with the POST method distribution processing unit 105, and the SOAP action distribution processing unit 121 Is registered in the XML processing unit 115, and the element tree analysis / generation handler 200 is registered in the SOAP action distribution processing unit 121.
[0072]
Next, the analysis process of the element tree in the print handler 201 will be described with reference to FIGS. 6, 7, and 8, taking the print handler 201 of the element tree analysis / generation handler 200 as an example. FIG. 6 is a diagram illustrating a description example of an HTTP request according to SOAP using XML. FIG. 7 is a diagram illustrating an example of an element tree converted by the XML processor. FIG. 8 is a flowchart for explaining the element tree analysis processing by the print handler.
[0073]
In the case of an HTTP request as shown in FIG. 6 for requesting a print Web service, the XML processor 112 converts the HTTP body 20 starting with <SOAP-ENV: Envelope> into an element tree. The tag name 21 “Envelope” is used as a root element, and the tag name 22 “Header” and the tag name 23 “Body” are associated as child nodes of the root element. Further, the child node of the tag name 23 "Body" is set to the tag name 24 "print", and the child node of the tag name 24 "print" is associated with the tag name 25 "fileId" and the tag name 26 "count". Then, the text data 27 “123” and the text data 28 “2” are associated with the tag name 25 “fileId” and the tag name 26 “count”, respectively. The element tree structure associated in this manner has, for example, a data structure as shown in FIG. In FIG. 7, tag names 21 to 26 and text data 27 to 28 are indicated by ellipses, and associations are indicated by arrows.
[0074]
In the element tree having the data structure shown in FIG. 7, the print handler 201 generates structure data in a program language that can be processed by the print function 301 in accordance with the flowchart shown in FIG. In FIG. 8, the print handler 201 acquires a root element (Step S120). In this case, the root element is an Envelope element. A child node list is obtained (step S121). That is, the tag names 22 “Header” and 23 “Body” are acquired. The element whose tag name is Body is searched and acquired from the child node list (step S122). The first child node of the body element is obtained (step S123). In this case, a print element is obtained. The child node list of the print element is obtained (step S124). The tag names are sequentially acquired from the acquired child node list (step S125).
[0075]
It is determined whether the tag name is fileID (step S126). If the tag name is not fileID, the process proceeds to step S129. On the other hand, if the tag name is fileID, the first child node having the tag name fileID is obtained (step S127). That is, a text node is obtained. The acquired text node is extracted and converted into an integer (step S128). That is, the value “123” is set in the predetermined structure as the file ID parameter. Further, it is determined whether the tag name is “count” (step S129). If the tag name is not “count”, the process proceeds to step S132. On the other hand, if the tag name is "count", the first child node having the tag name "count" is obtained (step S130). That is, a text node is obtained. The acquired text node is extracted and converted into an integer (step S131). That is, the value “2” is set in the predetermined structure as the number-of-copies parameter.
[0076]
The print handler 201 determines whether there is a next child node from the child node list acquired in step S125 (step S132). If there is a next child node, the process returns to step S125, acquires the next child node, and performs the same processing as described above. If there is no next child node, the element tree analysis processing ends.
[0077]
The element tree analyzed in this manner is converted by the print handler 201 into a structure 29 (“struct printParam”) in a programming language as shown in FIG. The value “123” is set in the parameter “int fileId” in step S128. The value “2” is set in the parameter “int count” in step S131.
[0078]
When the print function 301 of the Web service function 300 is, for example, a “print” function programmed in the C language, the pointer “in” to the structure 29 is an argument, for example, as “struct printParam * in”. It is set to 30. When the print function 301 (“print” function) is called, the processing result of the print function 301 is, for example, an argument 31 such as “struct printResult * out” indicating a pointer “out” to a structure name “struct printResult”. Return with.
[0079]
FIG. 10 is a diagram illustrating an example of a structure indicating a processing result in the print handler. In FIG. 10, the print handler 201 acquires a structure 39 in which a processing result is to be set based on the pointer “out” of the argument 31. For example, in the structure 39, a value “100” is set to the parameter “requestId” as a processing result.
[0080]
Next, an element tree generation process for generating an element tree from the structure 39 indicating the processing result will be described with reference to FIGS. FIG. 11 is a flowchart for explaining the element tree generation processing by the print handler. FIG. 12 is a diagram illustrating an example of the generated element tree.
[0081]
The element tree generation processing by the print handler will be described with reference to FIG. In FIG. 11, the print handler 201 generates an Envelope element 32 (Step S140). The body element 33 is generated (step S141). Then, the body element 33 is connected to the envelope element 32 (step S142). By the processing in steps S140 to S142, the HTTP body of the HTTP response according to the SOAP is set.
[0082]
Then, the print handler 201 generates the printResponse element 34 (step S143), and connects the printResponse element 34 to the Body element 33 (step S144). Further, a requestId element 35 is generated (step S145), and the requestId element 35 is connected to the printResponse element 34 (step S146).
[0083]
The print handler 201 generates a text node 36 from the obtained request ID (step S147), and connects the text node to the requestId element 35 (step S148). In this case, “100” is set in the text node 36.
[0084]
The element tree generated in this way generates an HTTP body 32 as shown in FIG. 13 by the XML processing unit 115 and the XML serializer 117. FIG. 13 is a diagram illustrating a description example of an HTTP response according to SOAP using XML converted from an element tree. 13, each element 32 to 36 shown in FIG. 12 is described in a tag delimited by <>, and predetermined information is described in XML according to a procedure according to SOAP.
[0085]
According to the above-described embodiment, by providing an element tree analysis / generation handler 200 for converting an element tree indicating an XML data structure into a structure that can be processed by the Web service function 300 and converting the structure into an XML element tree, The developer can develop an application as a Web service function by a development method similar to the conventional one, for example, a development method in C language. In addition, it is possible to easily improve an already installed application to support a Web service.
[0086]
Further, in the MFP 1200 having the element tree analysis / generation handler 200, since the Web service function 300 can interpret a message described in XML according to SOAP, it is possible to provide the Web service function 300 to another system. Become. Therefore, since the system or computer terminal connected to the MFP 1200 is not limited, the usability of the MFP 1200 can be greatly expanded.
[0087]
【The invention's effect】
As described above, according to the present invention, since a processing unit for converting a data format of a message according to a message exchange protocol between devices is provided, a Web service developed by a method similar to the conventional method is provided. Even if it is a function, the message can be processed. Therefore, the development of the Web service function in the image forming apparatus can be easily performed without depending on the description format of the message. Further, it is possible to improve an already installed application so that it can easily support a Web service. Further, cooperation with other systems connectable to the image forming apparatus can be expanded.
[0088]
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a functional configuration of a multifunction peripheral 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 MFP shown in FIG.
FIG. 3 is a diagram illustrating a configuration example for realizing a Web service.
FIG. 4 is a flowchart illustrating a Web service providing process using SOAP.
FIG. 5 is a flowchart illustrating a Web service providing process using SOAP.
FIG. 6 is a diagram illustrating a description example of an HTTP request according to SOAP using XML.
FIG. 7 is a diagram illustrating an example of an element tree converted by an XML processor.
FIG. 8 is a flowchart illustrating an element tree analysis process performed by a print handler.
FIG. 9 is a diagram illustrating an example of a structure generated by an element tree analysis process.
FIG. 10 is a diagram illustrating an example of a structure indicating a processing result in a print handler.
FIG. 11 is a flowchart illustrating an element tree generation process performed by a print handler.
FIG. 12 is a diagram illustrating an example of a generated element tree.
FIG. 13 is a diagram illustrating an example of a description of an HTTP response according to SOAP using XML converted from an element tree.
[Explanation of symbols]
2 http daemon
7 Request mediation daemon
15 Network
100 sequence control library
101 HTTP connection management unit
102 HTTP service execution unit
105 POST method distribution processing unit
110 XML Library
115 XML processing unit 116 XML processor
117 XML Serializer
120 SOAP library
121 SOAP action distribution processing unit
200 Element tree analysis and generation handler
300 Web service function
1200 fusion machine
1201 plotter, 1202 scanner,
1203 Other hardware resources,
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 multifunction machine activation unit,
1300 controller, 1301 ASIC,
1302 MEM-C, 1303 HDD,
1304 CPU, 1305 NB,
1306 MEM-P, 1307 SB,
1308 AGP, 1310 Operation Panel,
1320 Fax control unit
1311 NIC, 1312 USB,
1313 IEEE 1394, 1314 Centronics,
1350 Engine

Claims (22)

ネットワークを介して接続される機器からの要求メッセージに基づいて処理を実行し、その処理結果をWebサービスとして提供するWebサービス処理手段と、
所定メッセージ交換プロトコルに従って受信した上記要求メッセージを上記Webサービス処理手段によって処理可能な処理要求に変換すると共に、該Webサービス処理手段から出力される上記処理結果を該メッセージ交換プロトコルに従った応答メッセージに変換する変換手段とを有することを特徴とする画像形成装置。
Web service processing means for executing processing based on a request message from a device connected via a network and providing the processing result as a Web service;
The request message received according to the predetermined message exchange protocol is converted into a processing request that can be processed by the Web service processing means, and the processing result output from the Web service processing means is converted into a response message according to the message exchange protocol. An image forming apparatus comprising: a conversion unit configured to perform conversion.
上記要求メッセージを該要求メッセージの構成を示す第一データ形式に変換する第一メッセージ変換手段を有し、
上記変換手段は、上記第一データ形式を上記Webサービス処理手段を開発したプログラム言語にて処理可能な第二データ形式に対応させる第一データ形式変換手段を有することを特徴とする請求項1記載の画像形成装置。
The first message conversion means for converting the request message into a first data format indicating the configuration of the request message,
2. The data processing apparatus according to claim 1, wherein the conversion unit includes a first data format conversion unit that makes the first data format correspond to a second data format that can be processed by a programming language developed by the Web service processing unit. Image forming apparatus.
上記第一メッセージ変換手段は、上記要求メッセージから該要求メッセージを構成する要素とその要素に対して設定された値とに基づいて要素木を生成し、その要素木を上記第一データ形式とすることを特徴とする請求項2記載の画像形成装置。The first message conversion means generates an element tree from the request message based on elements constituting the request message and values set for the elements, and sets the element tree to the first data format. 3. The image forming apparatus according to claim 2, wherein: 上記第一データ形式変換手段は、上記要素木の上記要素間の関連を辿ることによって、上記Webサービス処理手段にて処理可能な上記第二データ形式の要素に値を設定することを特徴とする請求項3記載の画像形成装置。The first data format conversion means sets a value in the element of the second data format that can be processed by the Web service processing means by tracing the association between the elements of the element tree. The image forming apparatus according to claim 3. 上記応答メッセージの構成に基づいて、上記機器にて受信可能な記述形式にて該応答メッセージを記述する第二メッセージ変換手段を有し、
上記変換手段は、上記Webサービス処理手段によって出力された上記処理結果を示す第三データ形式を、該処理結果を示す応答メッセージの構成を示す第四データ形式に変換する第二データ形式変換手段を有し、
上記応答メッセージは上記第四データ形式によって示されることを特徴とする請求項4記載の画像形成装置。
Based on the configuration of the response message, having a second message conversion means to describe the response message in a description format that can be received by the device,
The conversion unit includes a second data format conversion unit that converts the third data format indicating the processing result output by the Web service processing unit into a fourth data format indicating a configuration of a response message indicating the processing result. Have
The image forming apparatus according to claim 4, wherein the response message is indicated by the fourth data format.
上記第二データ形式変換手段は、上記第三データ形式の要素に上記処理結果として設定された値と上記応答メッセージを構成する複数の要素とに基づいて要素木を生成し、その要素木を上記第四データ形式とすることを特徴とする請求項5記載の画像形成装置。The second data format conversion means generates an element tree based on the value set as the processing result in the element of the third data format and a plurality of elements constituting the response message, and The image forming apparatus according to claim 5, wherein the image forming apparatus has a fourth data format. 複数の上記Webサービス処理手段と、
複数の上記Webサービス処理手段の夫々に対応する複数の上記変換手段とを有することを特徴とする請求項1乃至6のいずれか一項記載の画像形成装置。
A plurality of the Web service processing means;
The image forming apparatus according to claim 1, further comprising a plurality of the conversion units corresponding to the plurality of the Web service processing units.
上記要求メッセージ及び上記応答メッセージは、Simple Object Access Protocolに従ってExtensible Markup Languageによって記述されることを特徴とする請求項1乃至7のいずれか一項記載の画像形成装置。The image forming apparatus according to claim 1, wherein the request message and the response message are described by Extensible Markup Language according to Simple Object Access Protocol. 9. 上記第二データ形式及び上記第三データ形式は、C言語によって処理可能な構造体を示すことを特徴とする請求項2乃至8のいずれか一項記載の画像形成装置。9. The image forming apparatus according to claim 2, wherein the second data format and the third data format indicate a structure that can be processed in C language. 所定通信プロトコルに従って受信した処理リクエストが上記要求メッセージによって処理要求を行うメソッドであるか否かを判断するメソッド判断手段と、
上記メソッド判断手段による判断結果に基づいて、上記処理リクエストを上記第一メッセージ変換手段へ分配する分配手段とを有することを特徴とする請求項1乃至9のいずれか一項記載の画像形成装置。
Method determining means for determining whether the processing request received according to the predetermined communication protocol is a method for performing a processing request by the request message,
10. The image forming apparatus according to claim 1, further comprising a distribution unit that distributes the processing request to the first message conversion unit based on a result of the determination by the method determination unit.
上記処理リクエストのヘッダ部を解析してWebサービスを指定するWebサービス指定情報を取得するヘッダ解析手段と、
上記ヘッダ解析手段による解析結果に基づいて、上記第一メッセージ変換手段によって変換された上記第一データ形式を引数として対応する上記複数の変換手段の1つを関数コールすることによって、処理を振り分ける振り分け手段とを有することを特徴とする請求項10記載の画像形成装置。
Header analysis means for analyzing a header part of the processing request and acquiring Web service designation information for designating a Web service;
On the basis of the analysis result by the header analysis unit, one of the plurality of conversion units corresponding to the first data format converted by the first message conversion unit is used as an argument to perform a function call, thereby distributing processing. The image forming apparatus according to claim 10, further comprising means.
上記処理リクエストのボディ部の上記所定記述形式による要素名を解析してWebサービスを指定するWebサービス指定情報を取得するWebサービス指定情報取得手段と、
上記Webサービス指定情報取得手段による解析結果に基づいて、上記第一メッセージ変換手段によって変換された上記第一データ形式を引数として対応する上記複数の変換手段の1つを関数コールすることによって、処理を振り分ける振り分け手段とを有することを特徴とする請求項10記載の画像形成装置。
Web service designation information acquisition means for analyzing an element name of the body part of the processing request in the predetermined description format to acquire Web service designation information for designating a Web service;
Processing is performed by calling one of the plurality of conversion units corresponding to the first data format converted by the first message conversion unit as an argument based on the analysis result by the Web service designation information acquisition unit. The image forming apparatus according to claim 10, further comprising a sorting unit that sorts the image.
上記所定通信プロトコルに従って、ネットワークを介して機器との接続を管理する接続管理手段と、
上記接続管理手段から上記接続の通知を受信後、上記所定通信プロトコルに従って、上記処理リクエストに基づいて上記Webサービス処理手段に処理を実行させ、その処理結果を処理レスポンスとして上記機器へ提供するサービス提供手段とを有することを特徴とする請求項10記載の画像形成装置。
According to the predetermined communication protocol, connection management means for managing the connection with the device via the network,
After receiving the notification of the connection from the connection management means, in accordance with the predetermined communication protocol, the Web service processing means executes the processing based on the processing request, and provides the processing result as a processing response to the device. The image forming apparatus according to claim 10, further comprising means.
上記所定通信プロトコルに従って通信を制御する通信制御手段と、
上記接続管理手段へ、上記ネットワークを介して処理リクエストを受信したことを通知することによって、上記通信制御手段と上記サービス提供手段との接続を制御する接続制御手段とを有することを特徴とする請求項13記載の画像形成装置。
Communication control means for controlling communication according to the predetermined communication protocol;
A connection control unit for controlling connection between the communication control unit and the service providing unit by notifying the connection management unit that a processing request has been received via the network. Item 14. The image forming apparatus according to Item 13.
上記所定通信プロトコルは、Hypertext Transfer Protocolであることを特徴とする請求項1乃至14のいずれか一項記載の画像形成装置。15. The image forming apparatus according to claim 1, wherein the predetermined communication protocol is Hypertext @ Transfer @ Protocol. 複数の上記Webサービス処理手段を有するアプリケーションと、
上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記アプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、
該アプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項1記載の画像形成装置。
An application having a plurality of the Web service processing means;
A control service that manages a plurality of hardware resources used in the image forming process, and controls use of the plurality of 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サービスとして提供するWebサービス処理手順と、
所定メッセージ交換プロトコルに従って受信した上記要求メッセージを上記Webサービス処理手順によって処理可能な処理要求に変換すると共に、該Webサービス処理手順から出力される上記処理結果を該メッセージ交換プロトコルに従った応答メッセージに変換する変換手順とを有することを特徴とするWebサービス提供方法。
Computer
A Web service processing procedure for executing processing based on a request message from a device connected via a network and providing the processing result as a Web service;
The request message received according to the predetermined message exchange protocol is converted into a processing request that can be processed by the Web service processing procedure, and the processing result output from the Web service processing procedure is converted into a response message according to the message exchange protocol. And a conversion procedure for conversion.
上記要求メッセージを該要求メッセージの構成を示す第一データ形式に変換する第一メッセージ変換手順を有し、
上記変換手順は、上記第一データ形式を上記Webサービス処理手順を開発したプログラム言語にて処理可能な第二データ形式に対応させる第一データ形式変換手順を有することを特徴とする請求項17記載のWebサービス提供方法。
Having a first message conversion procedure to convert the request message into a first data format indicating the configuration of the request message,
18. The conversion method according to claim 17, wherein the conversion procedure includes a first data format conversion procedure for making the first data format correspond to a second data format that can be processed by a programming language developed for the Web service processing procedure. Web service providing method.
上記第一メッセージ変換手順は、上記要求メッセージから該要求メッセージを構成する要素とその要素に対して設定された値とに基づいて要素木を生成し、その要素木を上記第一データ形式とすることを特徴とする請求項18記載のWebサービス提供方法。The first message conversion procedure generates, from the request message, an element tree based on an element constituting the request message and a value set for the element, and sets the element tree as the first data format. The Web service providing method according to claim 18, wherein: 上記第一データ形式変換手順は、上記要素木の上記要素間の関連を辿ることによって、上記Webサービス処理手順にて処理可能な上記第二データ形式の要素に値を設定することを特徴とする請求項19記載のWebサービス提供方法。In the first data format conversion procedure, a value is set to an element of the second data format that can be processed by the Web service processing procedure by tracing the association between the elements of the element tree. The web service providing method according to claim 19. 上記所定のプログラム言語にて処理可能であって上記Webサービス手順によるWebサービスの処理結果を示す第三データ形式を、該処理結果を示す応答メッセージの構成を示す第四データ形式に変換する第二データ形式変換手順と、
上記第四データ形式によって示される上記応答メッセージの構成に基づいて、上記機器にて受信可能な記述形式にて該応答メッセージを記述する第二メッセージ変換手順とを有することを特徴とする請求項18記載のWebサービス提供方法。
A second data format, which can be processed in the predetermined program language and indicates a processing result of the Web service according to the Web service procedure, to a fourth data format indicating a configuration of a response message indicating the processing result; Data format conversion procedure,
19. A second message conversion procedure for describing the response message in a description format receivable by the device based on the configuration of the response message indicated by the fourth data format. Web service providing method according to the description.
上記第二データ形式変換手順は、上記第三データ形式の要素に上記処理結果として設定された値と上記応答メッセージを構成する複数の要素とに基づいて要素木を生成し、その要素木を上記第四データ形式とすることを特徴とする請求項18乃至21のいずれか一項記載のWebサービス提供方法。The second data format conversion procedure generates an element tree based on the value set as the processing result in the element of the third data format and a plurality of elements constituting the response message, and converts the element tree into the element tree. 22. The Web service providing method according to claim 18, wherein the Web service providing method is a fourth data format.
JP2003081245A 2002-03-25 2003-03-24 Image forming apparatus having Web service function Expired - Fee Related JP4373692B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003081245A JP4373692B2 (en) 2002-03-25 2003-03-24 Image forming apparatus having Web service function
CN200610172730.5A CN1980247B (en) 2002-03-25 2003-03-25 Image formation device having a web service function and method thereof
CNB038015641A CN100351818C (en) 2002-03-25 2003-03-25 Image formation device having a web service function
PCT/JP2003/003651 WO2003081443A1 (en) 2002-03-25 2003-03-25 Image formation device having a web service function
EP03715406.9A EP1489520B1 (en) 2002-03-25 2003-03-25 Image formation device having a web service function
US10/490,978 US7743162B2 (en) 2002-03-25 2003-03-25 Image forming apparatus, with connection request mediation, having web service functions
US12/771,330 US8549162B2 (en) 2002-03-25 2010-04-30 Image forming apparatus having web service functions

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002084553 2002-03-25
JP2002084552 2002-03-25
JP2002084554 2002-03-25
JP2003081245A JP4373692B2 (en) 2002-03-25 2003-03-24 Image forming apparatus having Web service function

Publications (2)

Publication Number Publication Date
JP2004005504A true JP2004005504A (en) 2004-01-08
JP4373692B2 JP4373692B2 (en) 2009-11-25

Family

ID=30449504

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4373692B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213156A (en) * 2006-02-07 2007-08-23 Seiko Epson Corp Server offering multiple kinds of services

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213156A (en) * 2006-02-07 2007-08-23 Seiko Epson Corp Server offering multiple kinds of services

Also Published As

Publication number Publication date
JP4373692B2 (en) 2009-11-25

Similar Documents

Publication Publication Date Title
JP4444752B2 (en) Service providing apparatus, service providing program, recording medium, and service providing method
JP5509754B2 (en) Software management apparatus, software distribution system, installation method and program
US8115943B2 (en) Image forming apparatus and print process method
WO2003081443A1 (en) Image formation device having a web service function
JP5434174B2 (en) Device management system, image processing device, device management device, device management method, device management program, and storage medium
JP5370439B2 (en) Apparatus, request processing method, program, and recording medium
JP4291856B2 (en) Image forming apparatus having Web service function
JP3683542B2 (en) Image forming apparatus
JP2003296065A (en) Image forming apparatus
JP4141209B2 (en) Image forming apparatus having Web service function
JP3831352B2 (en) Computer-readable program for causing a computer to perform program generation processing
JP3683543B2 (en) Image forming apparatus
JP2005050018A (en) Document file management device and data structure
JP4246560B2 (en) Information processing apparatus, information processing method, program, and recording medium
JP4291855B2 (en) Image forming apparatus having Web service function
JP4373692B2 (en) Image forming apparatus having Web service function
JP4130108B2 (en) Image forming apparatus having Web service function
JP2004005503A (en) Image forming device having web service function
JP2005050017A (en) Document file management device, document file management method and data structure
JP4136738B2 (en) Image forming apparatus having Web service function
JP2006020341A (en) Image forming apparatus including web service functions
JP2003298793A (en) Image forming apparatus
JP4141210B2 (en) Image forming apparatus having Web service function
JP5046818B2 (en) Image forming apparatus, data processing method in image forming apparatus, and data processing program
JP4130109B2 (en) Image forming apparatus having Web service function

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050707

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050712

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

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: 20090904

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

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

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: 20130911

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees