(57)【要約】【課題】本発明の課題は、夫々異なる画像形成処理を行う複数のアプリケーションを有し、Ｗｅｂサービスを提供するために必要な処理部を部品化し該複数のアプリケーションにて共有できる構成とすることによってＷｅｂサービスを提供するアプリケーションの開発及び追加を容易とする画像形成処理装置を提供することを目的とする。【解決手段】本発明の課題は、メソッドに従った所定の処理を行う複数のメソッド処理手段と、処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手段に該処理要求を振り分けることによってＷｅｂサービスを実行するＷｅｂサービス実行手段を有する画像形成装置によって達成される。【選択図】　図３
2004005503.tif 000002
【特許請求の範囲】
【請求項１】
メソッドに従った所定の処理を行う複数のメソッド処理手段と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手段に該処理要求を振り分けることによってＷｅｂサービスを実行するＷｅｂサービス実行手段とを有することを特徴とする画像形成装置。
【請求項２】
同一メソッドにおける処理を共有し、上記Ｗｅｂサービスとして画像形成に関する処理を行う複数のＷｅｂサービスアプリケーションを有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
上記複数のメソッド処理手段の１つである第一メソッド処理手段は、所定記述形式によって記述された上記処理要求のボディ部を処理する記述処理手段を有し、
上記記述処理手段による処理結果に基づいて、上記Ｗｅｂサービスアプリケーションが実行されることを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
上記複数のメソッド処理手段の１つである第一メソッド処理手段は、
上記第一メソッド処理手段を指定する上記第一メソッドに関して、上記処理要求のボディ部の記述形式を指定するヘッダに応じた所定の処理を実行する複数の処理手段と、
上記処理要求に指定されるコンテンツタイプに対応する上記処理手段に該処理要求を分配する第一分配処理手段とを有し、
上記第一メソッドが上記処理要求によって指定されている場合、該処理要求が上記Ｗｅｂサービス実行手段によって上記第一分配処理手段に振り分けられ、上記第一分配処理手段によって、上記処理要求が上記ヘッダに対応する上記処理手段に分配され、該処理手段による処理結果に基づいて、上記Ｗｅｂサービスアプリケーションが実行されることを特徴とする請求項１又は２記載の画像形成装置。
【請求項５】
上記複数のメソッド処理手段の１つである第二メソッド処理手段は、
上記第二メソッド処理手段を指定する上記第二メソッドに関して、上記Ｗｅｂサービスアプリケーションを特定する特定情報に基づいて、上記処理要求を該Ｗｅｂサービスアプリケーションに分配する第二分配処理手段を有し、
上記第二メソッドが上記処理要求によって指定されている場合、該処理要求が上記Ｗｅｂサービス実行手段によって上記第二分配処理手段に振り分けられることを特徴とする請求項１乃至４のいずれか一項記載の画像形成装置。
【請求項６】
Ｗｅｂを介して通信制御を行うＷｅｂ通信プロトコルデーモンと、
上記Ｗｅｂ通信プロトコルデーモンとの接続によって生成され、該Ｗｅｂ通信プロトコルデーモンと上記Ｗｅｂサービスアプリケーションとの間で行われる所定記憶領域からの受信データの読み込み及び該所定記憶領域への送信データの書き込みを制御する接続処理手段とを有することを特徴とする請求項２乃至５のいずれか一項記載の画像形成装置。
【請求項７】
接続通知をキューとして保持する接続通知キューと、
上記接続通知キューを用いて、上記Ｗｅｂサービス実行手段と上記Ｗｅｂ通信プロトコルデーモンとの接続を管理するＷｅｂ接続管理手段と、
上記Ｗｅｂ通信プロトコルデーモンから上記接続通知があったことを、上記Ｗｅｂ通信プロトコルデーモンに代わって、上記Ｗｅｂ接続管理手段へ通知することによって接続を仲介する接続要求仲介手段とを有し、
上記Ｗｅｂ接続管理手段は、上記Ｗｅｂサービス実行手段からの接続要求に応じて、上記Ｗｅｂサービスアプリケーションに代わって、上記接続通知キューから上記接続通知を取り出して、記Ｗｅｂ通信プロトコルデーモンと接続することを特徴とする請求項６記載の画像形成装置。
【請求項８】
上記Ｗｅｂ接続管理手段は、上記Ｗｅｂ通信プロトコルデーモンと接続後、上記接続処理手段を生成し、上記Ｗｅｂサービス実行手段に上記接続に関する接続管理情報を通知し、
上記Ｗｅｂサービス実行手段は、上記通知を受けて、上記処理要求を該処理要求で指定されるメソッドに対応する上記メソッド処理手段に振り分けることを特徴とする請求項７記載の画像形成装置。
【請求項９】
上記接続処理手段は、上記処理要求が振り分けられた上記メソッド処理部から処理通知を受信すると、上記Ｗｅｂ通信プロトコルデーモンとの接続を切断することを特徴とする請求項８記載の画像形成装置。
【請求項１０】
上記接続処理手段は、上記Ｗｅｂサービス実行手段に上記処理要求に応じた処理を終了したことを通知し、
上記Ｗｅｂサービス実行手段は、上記Ｗｅｂ接続管理手段に上記処理の終了を通知することを特徴とする請求項８又は９記載の画像形成装置。
【請求項１１】
上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のＷｅｂサービスアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、
該複数のＷｅｂサービスアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項２乃至８のいずれか一項記載の画像形成装置。
【請求項１２】
コンピュータが、
メソッドに従った所定の処理を行う複数のメソッド処理手順と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手順に該処理要求を振り分けることによってＷｅｂサービスを実行するＷｅｂサービス実行手順とを有することを特徴とする画像形成方法。
【請求項１３】
コンピュータに、
メソッドに従った所定の処理を行う複数のメソッド処理手順と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手順に該処理要求を振り分けることによってＷｅｂサービスを実行するＷｅｂサービス実行手順とを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、本発明は、Ｗｅｂサービスを提供する画像形成処理装置に係り、詳しくは、Ｗｅｂサービスを提供するアプリケーションの開発及び追加を容易とする画像形成装置を提供するものである。
【０００２】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピー、スキャナおよびファクシミリ装置にそれぞれ対応するアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
【発明が解決しようとする課題】
近年、インターネットの発達と普及により、ネットワークを介して通信可能なプリンタ機能を有する上記従来の複合型画像形成装置は、ネットワークを介して機器と接続可能であるために、更にインターネットを介して行われる通信プロトコル、つまり、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）による通信制御によって行われるＷｅｂサービスの提供が望まれるようになった。
【０００４】
しかしながら、更に、ＨＴＴＰによる通信制御に加え、ＨＴＴＰのボディ部にＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）等の汎用的な記述形式によるメッセージを記述して、接続される機器の対象範囲を拡大する傾向にあるなかで、上記従来の複合型画像形成装置では、画像形成に関する処理を実行する各アプリケーションがＨＴＴＰによる通信制御とＸＭＬ等によってメッセージ交換を行うためには、各アプリケーションにＨＴＴＰによって指定されるメソッドの違いによる処理、及び、ＸＭＬの記述に関する処理を行わせる必要があった。従って、Ｗｅｂサービスに対応するアプリケーションを開発する開発者には、機能毎のプログラムの開発が必要とされていた。
【０００５】
そこで、本発明の課題は、夫々異なる画像形成処理を行う複数のアプリケーションを有し、Ｗｅｂサービスを提供するために必要な処理部を部品化し該複数のアプリケーションにて共有できる構成とすることによってＷｅｂサービスを提供するアプリケーションの開発及び追加を容易とする画像形成処理装置を提供することである。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項１に記載されるように、メソッドに従った所定の処理を行う複数のメソッド処理手段と、処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手段に該処理要求を振り分けることによってＷｅｂサービスを実行するＷｅｂサービス実行手段を有するように構成される。また、本発明は、請求項２に記載されるように、同一メソッドにおける処理を共有し、上記Ｗｅｂサービスとして画像形成に関する処理を行う複数のＷｅｂサービスアプリケーションを有するように構成することができる。
【０００７】
このような画像形成装置では、メソッド毎に処理を部品化されるため、メソッド特有の処理を、複数のＷｅｂサービスアプリケーションによって共有することができる。
【０００８】
更に、本発明は、請求項３に記載されるように、上記複数のメソッド処理手段の１つである第一メソッド処理手段は、所定記述形式によって記述された上記処理要求のボディ部を処理する記述処理手段を有し、上記記述処理手段による処理結果に基づいて、上記Ｗｅｂサービスアプリケーションが実行されるように構成することができる。
【０００９】
このような画像形成装置では、記述処理手段（例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を処理する処理部）がＷｅｂサービスアプリケーションから独立して部品化されているため、Ｗｅｂサービスアプリケーションの開発者は、例えば、ＸＭＬの知識を必要とすることなく開発を行うことができる。
【００１０】
また、本発明は、請求項４に記載されるように、上記複数のメソッド処理手段の１つである第一メソッド処理手段は、上記第一メソッド処理手段を指定する上記第一メソッドに関して、上記処理要求のボディ部の記述形式を指定するヘッダに応じた所定の処理を実行する複数の処理手段と、上記処理要求に指定されるコンテンツタイプに対応する上記処理手段に該処理要求を分配する第一分配処理手段とを有し、上記第一メソッドが上記処理要求によって指定されている場合、該処理要求が上記Ｗｅｂサービス実行手段によって上記第一分配処理手段に振り分けられ、上記第一分配処理手段によって、上記処理要求が上記ヘッダに対応する上記処理手段に分配され、該処理手段による処理結果に基づいて、上記Ｗｅｂサービスアプリケーションが実行されるように構成することができる。
【００１１】
このような画像形成装置では、第一メソッドの処理がＷｅｂサービスアプリケーションから独立しているため、このメソッドに基づいて処理要求が振り分けられるＷｅｂサービスアプリケーションの開発において、コンテンツタイプに関する処理及び解析処理の開発を行う必要がない。例えば、上記第一メソッド処理部がＰＯＳＴメソッドに対応した処理部である場合、処理要求のヘッダに指定されるコンテンツタイプ「ａｐｐｌｉｃａｔｉｏｎ／ｘ−ｗｗｗ−ｆｏｒｍ−ｕｒｌｅｎｃｏｄｅｄ」、「ｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ」、「ｔｅｘｔ／ｘｍｌ」毎の処理が部品化される。
【００１２】
また、本発明は、請求項５に記載されるように、上記複数のメソッド処理手段の１つである第二メソッド処理手段は、上記第二メソッド処理手段を指定する上記第二メソッドに関して、上記Ｗｅｂサービスアプリケーションを特定する特定情報に基づいて、上記処理要求を該Ｗｅｂサービスアプリケーションに分配する第二分配処理手段を有し、上記第二メソッドが上記処理要求によって指定されている場合、該処理要求が上記Ｗｅｂサービス実行手段によって上記第二分配処理手段に振り分けられるように構成することができる。
【００１３】
このような画像形成装置では、第二メソッドに関して、Ｗｅｂサービスアプリケーションを特定する特定情報（例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ　ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ））に基づいて処理要求を該Ｗｅｂサービスアプリケーションに分配する分配処理がＷｅｂサービスアプリケーションから独立しているため、この第二メソッドに基づいて処理要求が振り分けられるＷｅｂサービスアプリケーションの開発において、分配処理に関する開発を行う必要がない。
【００１４】
更に、本発明は、請求項６に記載されるように、Ｗｅｂを介して通信制御を行うＷｅｂ通信プロトコルデーモンと、該Ｗｅｂ通信プロトコルデーモンとの接続によって生成され、該Ｗｅｂ通信プロトコルデーモンと上記Ｗｅｂサービスアプリケーションとの間で行われる所定記憶領域からの受信データの読み込み及び該所定記憶領域への送信データの書き込みを制御する接続処理手段とを有するように構成することができる。
【００１５】
このような画像形成装置では、Ｗｅｂ通信プロトコルデーモン（例えば、ＨＴＴＰデーモン）とＷｅｂサービスアプリケーションとの間に接続処理手段をもうけて、互いの処理を意識させないようにすることができる。
【００１６】
また、本発明は、請求項７に記載されるように、接続通知をキューとして保持する接続通知キューと、上記接続通知キューを用いて、上記Ｗｅｂサービス実行手段と上記Ｗｅｂ通信プロトコルデーモンとの接続を管理するＷｅｂ接続管理手段と、上記Ｗｅｂ通信プロトコルデーモンから上記接続通知があったことを、上記Ｗｅｂ通信プロトコルデーモンに代わって、上記Ｗｅｂ接続管理手段へ通知することによって接続を仲介する接続要求仲介手段とを有し、上記Ｗｅｂ接続管理手段は、上記Ｗｅｂサービス実行手段からの接続要求に応じて、上記Ｗｅｂサービスアプリケーションに代わって、上記接続通知キューから上記接続通知を取り出して、記Ｗｅｂ通信プロトコルデーモンと接続するように構成することができる。
【００１７】
このような画像形成装置では、Ｗｅｂ接続管理手段（例えば、ＨＴＴＰ接続管理部）がＷｅｂ通信プロトコルデーモン（例えば、ＨＴＴＰデーモン）とＷｅｂサービス実行手段（例えば、ＨＴＴＰサービス実行部）とを接続する。
【００１８】
更に、本発明は、請求項８に記載されるように、上記Ｗｅｂ接続管理手段は、上記Ｗｅｂ通信プロトコルデーモンと接続後、上記接続処理手段を生成し、上記Ｗｅｂサービス実行手段に上記接続に関する接続管理情報を通知し、上記Ｗｅｂサービス実行手段は、上記通知を受けて、上記処理要求を該処理要求で指定されるメソッドに対応する上記メソッド処理手段に振り分けるように構成することができる。
【００１９】
このような画像形成装置では、Ｗｅｂ接続管理手段（例えば、ＨＴＴＰ接続管理部）が接続処理手段（例えば、接続処理部）を生成し、Ｗｅｂサービス実行手段（例えば、ＨＴＴＰサービス実行部）に接続管理情報を通知する。
【００２０】
また、本発明は、請求項９に記載されるように、上記接続処理手段は、上記処理要求が振り分けられた上記メソッド処理部から処理通知を受信すると、上記Ｗｅｂ通信プロトコルデーモンとの接続を切断するように構成することができる。更に、本発明は、請求項１０に記載されるように、上記接続処理手段は、上記Ｗｅｂサービス実行手段に上記処理要求に応じた処理を終了したことを通知し、上記Ｗｅｂサービス実行手段は、上記Ｗｅｂ接続管理手段に上記処理の終了を通知するように構成することができる。
【００２１】
このような画像形成装置では、接続処理手段（例えば、接続処理部）がＷｅｂサービスアプリケーションに代わって、Ｗｅｂ通信プロトコルデーモン（例えば、ＨＴＴＰデーモン）との接続を切断する。
【００２２】
また、本発明は、請求項１１に記載されるように、上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のＷｅｂサービスアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、該複数のＷｅｂサービスアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【００２３】
このような画像形成装置では、Ｗｅｂ通信プロトコルデーモンと複数のＷｅｂアプリケーションとの間で画像形成に関するデータを送受信すると共に、実行された複数のＷｅｂアプリケーションによって、複数のハードウェア資源へのアクセスをも実現することができる。
【００２４】
上記課題を解決するための手段として、本発明は、コンピュータに行なわせるための上記プログラムを記録した記録媒体とすることもできる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２６】
多種の画像形成機能を融合する本発明の実施の一形態に係る画像形成装置（以下、融合機と言う）は、例えば、図１に示すような機能構成を成す。図１は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【００２７】
図１において、融合機１２００は、プロッタ１２０１と、スキャナ１２０２と、その他ハードウェアリソース１２０３などを有するとともに、プラットフォーム１２２０とアプリケーション１２３０とから構成されるソフトウェア群１２１０と、融合機起動部１２４０とを備えている。
【００２８】
融合機起動部１２４０は、癒合機１２００の電源投入時に先ず始めに実行され、プラットフォーム１２２０やアプリケーション１２３０を起動する。
【００２９】
プラットフォーム１２２０は、アプリケーション１２３０からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス１２５０と、一または複数のハードウェア資源の管理をおこない、コントロールサービス１２５０からの獲得要求を調停するシステムリソースマネージャー（ＳＲＭ（Ｓｙｓｔｅｍ　Ｒｅｓｏｕｒｃｅ　Ｍａｎａｇｅｒ）１２２３）と、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）１２２１とを有する。
【００３０】
このコントロールサービス１２５０は、複数のサービスモジュールにより形成され、具体的には、ＳＣＳ（Ｓｙｓｔｅｍ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２２と、ＥＣＳ（（Ｅｎｇｉｎｅ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２４と、ＭＣＳ（Ｍｅｍｏｒｙ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２５と、ＯＣＳ（Ｏｐｅｒａｔｉｏｎ　ｐａｎｅｌ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２６と、ＦＣＳ（ＦＡＸ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２７と、ＮＣＳ（Ｎｅｔｗｏｒｋ　Ｃｏｎｔｒｏｌ　Ｓｅｒｖｉｃｅ）１２２８と、ＩＭＨ（Ｉｍａｇｉｎｇ　Ｍｅｍｏｒｙ　Ｈａｎｄｌｅｒ）１２２９とがある。なお、このプラットフォーム１２２０は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【００３１】
ＯＳ１２２１は、ＵＮＩＸ（登録商標）などのオペレーティング・システムであり、プラットフォーム１２２０並びにアプリケーション１２３０の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのＵＮＩＸ（登録商標）を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、ＯＳ、ＴＣＰ／ＩＰのロイヤリティが不要であり、アウトソーシングも容易となる。
【００３２】
ＳＲＭ１２２３は、ＳＣＳ１２２２とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４Ｉ／Ｆ、ＲＳ２３２ＣＩ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【００３３】
具体的には、このＳＲＭ１２２３は、要求されたハードウェア資源が利用可能であるかどうか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容（たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施するようにしてもよい。
【００３４】
ＳＣＳ１２２２は、アプリ管理（機能１）、操作部制御（機能２）、システム画面表示（ジョブリスト画面、カウンタ表示画面など）（機能３）、ＬＥＤ表示（機能４）、リソース管理（機能５）、割り込みアプリ制御（機能６）等の複数の機能を行う。具体的には、アプリ管理（機能１）では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御（機能２）では、アプリの操作部使用権の排他制御をおこなう。システム画面表示（機能３）では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。ＬＥＤ表示（機能４）では、警告ＬＥＤ、アプリキーなどのシステムＬＥＤの表示制御をおこなう。リソース管理（機能５）では、アプリがＥＣＳを使ってジョブを実行するにあたって、排他しなければならないエンジンリソース（スキャナ、ステープルなど）の排他制御のためのサービスをおこなう。割り込みアプリ制御（機能６）では、特定のアプリを優先動作させるための制御及びサービスをおこなう。
【００３５】
ＥＣＳ１２２４は、プロッタ１２０１、スキャナ１２０２、その他ハードウェアリソース１２０３などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【００３６】
ＭＣＳ１２２５は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などをおこなう。
【００３７】
ＯＣＳ１２２６は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがＧＵＩを構築するためのライブラリ関数を提供する処理、構築されたＧＵＩ情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【００３８】
ＦＣＳ１２２７は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を使ったファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）を提供する。
【００３９】
ＮＣＳ１２２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。
【００４０】
本実施例において、ＮＣＳ１２２８は、複数のプロトコルのうちｈｔｔｐ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）デーモンによって、インターネットを介して接続されるネットワーク機器とのデータ通信をＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）で制御し、ＨＴＴＰリクエストヘッダで指定される処理に必要な複数のＷｅｂサービスを関数コールによって起動し、その複数のＷｅｂサービスによる処理結果をＨＴＴＰレスポンスで該ネットワーク機器へ通知する。Ｗｅｂサービスは、例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）によって記述されたメッセージに従って処理を行う。
【００４１】
ＩＭＨ１２２９は、イメージデータを仮想メモリ領域（ユーザー仮想空間）から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行う。
【００４２】
アプリケーション１２３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１２１１と、コピー用アプリケーションであるコピーアプリ１２１２と、ファクシミリ用アプリケーションであるファックスアプリ１２１３と、スキャナ用アプリケーションであるスキャナアプリ１２１４と、ネットファイル用アプリケーションであるネットファイルアプリ１２１５と、工程検査用アプリケーションである工程検査アプリ１２１６と、配信用アプリケーションである配信アプリ１２１７と、実行した処理結果をＷｅｂサービスとして提供するＷｅｂサービスアプリ１２１８とを有する。各アプリケーション１２１１〜１２１８は、プラットフォーム１２２０上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、ＮＣＳ１２２８により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【００４３】
ここで、Ｗｅｂサービスアプリ１２１８とは、ＮＣＳ１２２８によって通知されるＨＴＴＰリクエスト対応する処理を実行するアプリケーションであって、その処理結果は、ＨＴＴＰレスポンスとしてＮＣＳ１２２８によってＨＴＴＰリクエストを行ったネットワーク機器へ提供される。
【００４４】
このように、融合機１２００は、各アプリで共通的に必要となる処理をプラットフォーム１２２０で一元的に処理する。
【００４５】
次に、融合機１２００のハードウェア構成について説明する。図２は、図１に示す融合機のハードウェア構成を示すブロック図である。図２に示すように、この融合機１２００は、オペレーションパネル１３１０と、ＦＣＵ（ファックスコントロールユニット）１３２０と、プロッタ１２０１、スキャナ１２０２及びその他ハードウェアで構成されるエンジン部１３５０と、コントローラ１３００のＡＳＩＣ１３０１とをＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス等で接続した構成となる。ＦＣＵ１３２０は、受信したファックスデータを格納するための不揮発性メモリ１３２１と、ＦＣＵ１３２０内での時間を計測するためのＲＴＣ（Ｒｅａｌ　Ｔｉｍｅ　Ｃｌｏｃｋ）１３２２とを有し、通常Ｇ３規格に従ってファックスデータの送受信を行う。ＦＣＵ１３２０は、オプションとして更にＧ３規格とＧ４規格とを搭載しても良い。
【００４６】
コントローラ１３００は、ＡＳＩＣ１３０１にＭＥＭ−Ｃ１３０２、ＨＤＤ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ）１３０３などを接続するとともに、このＡＳＩＣ１３０１とＣＰＵ１３０４とをＣＰＵチップセットのＮＢ１３０５を介して接続している。このように、ＮＢ１３０５を介して接続する理由は、ＣＰＵ１３０４自体のインターフェイスが公開されていないためである。
【００４７】
ここで、このＡＳＩＣ１３０１とＮＢ１３０５は、単にＰＣＩを介して接続されているのではなく、ＡＧＰ１３０８を介して接続されている。このようにＡＧＰ１３０８を介して接続することとした理由は、この融合機１２００がプラットフォーム１２２０やアプリケーション１２３０を形成する複数のプロセスを実行制御する関係上、これらを低速のＰＣＩで接続したのでは、パフォーマンスが低下するからである。
【００４８】
ＣＰＵ１３０４は、融合機１２００の全体制御をおこなうものであり、具体的には、ＯＳ１２２１上でプラットフォーム１２２０を形成するＳＣＳ１２２２、ＳＲＭ１２２３、ＥＣＳ１２２４、ＭＣＳ１２２５、ＯＣＳ１２２６、ＦＣＳ１２２７、ＮＣＳ１２２８をそれぞれプロセスとして起動して実行させるとともに、アプリケーション１２３０を形成するプリンタアプリ１２１１、コピーアプリ１２１２、ファックスアプリ１２１３、スキャナアプリ１２１４、ネットファイルアプリ１２１５、工程検査アプリ１２１６、配信アプリ１２１７、Ｗｅｂサービスアプリ１２１８を起動して実行させる。
【００４９】
ＮＢ１３０５は、ＣＰＵ１３０４とＭＥＭ−Ｐ１３０６、ＳＢ１３０７、ＡＳＩＣ１３０１とを接続するためのブリッジであり、ＭＥＭ−Ｐ１３０６は、融合機の描画用メモリなどとして用いるシステムメモリであり、ＭＥＭ−Ｃ１３０２は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＡＳＩＣ１３０１は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。
【００５０】
ＮＢ１３０５は、ＰＣＩバスを介してＳＢ１３０７と接続する他、ネットワーク通信を制御するＮＩＣ（Ｎｅｔｗｏｒｋ　Ｉｎｔｅｒｆａｃｅ　Ｃａｒｄ）１３１１と、パーソナルコンピュータと接続し大容量の画像データの送受信を可能とするＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）１３１２及びＩＥＥＥ１３９４１３１３と、パラレルケーブルによって接続可能なセントロニクス１３１４と接続する。ＳＢ１３０７は、ＮＢ１３０５とＲＯＭ、ＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＳＢ１３０７は、コントローラ１３００での時間を計測するＲＴＣ（Ｒｅａｌ　Ｔｉｍｅ　Ｃｌｏｃｋ）１３２３を有する。
【００５１】
ＨＤＤ１３１０は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル１３１０は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
【００５２】
したがって、ＡＳＩＣ１３０１には、ＭＥＭ−Ｃ１３０２を接続するためのＲＡＭインターフェイスと、ＨＤＤ１３１０を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がＲＡＭインターフェイスまたはハードディスクインターフェースに切り替えられる。
【００５３】
ＡＧＰ１３０８は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【００５４】
上記機能構成及び上記ハードウェア構成に加えて、更に、ＮＣＳ１２２８とアプリケーション１２３０との間で行われるデータ送受信に関する処理をシーケンス制御ライブラリとして共通化すると共に、Ｗｅｂサービス機能を実現する際には同様のいくつもの処理が行なわれるため、これら同様の処理を部品化して共通化する方法が考えられる。
【００５５】
以下に、シーケンス制御ライブラリとして共通化した場合の基本構成について図３で説明する。図３は、アプリの開発及び追加を容易とする融合機の基本構成例を示す図である。図３中、図１に示す融合機１２００の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。図３において、アプリケーション１２３０とＮＣＳ１２２８とは、中間層としてのシーケンス制御ライブラリ１００を介して、受信データ及び送信データの受け渡しを行う。ここでは、ＨＴＴＰデーモン２によって通信制御される場合について説明する。他デーモンによる通信制御の場合においても同様に、シーケンス制御ライブラリ１００が行う。
【００５６】
アプリケーション１２３０は、データの送信方法を指定するメソッド毎に処理部を有し、例えば、ＰＯＳＴメソッドによる処理を行うＰＯＳＴメソッド処理部１０３と、ＧＥＴメソッドによる処理を行うＧＥＴメソッド処理部１０４と、ＰＯＳＴメソッド及びＧＥＴメソッド以外のメソッドの処理を行うその他メソッド処理部１９９とを有する。各処理部１０３、１０４及び１９９では、メソッドに特有の解析処理を行うと共に、処理要求に従った処理を実行し、その処理結果をＷｅｂサービスとして提供する。
【００５７】
シーケンス制御ライブラリ１００は、ＨＴＴＰに従った接続を管理するＨＴＴＰ接続管理部１０１と、ＨＴＴＰに従ってデータの送受信を行うことによってサービスを実行するＨＴＴＰサービス実行部１０２とを有する。
【００５８】
ＨＴＴＰサービス実行部１０２は、ＨＴＴＰサービスの要求毎に接続が確立されるため、複数のＨＴＴＰサービス実行部１０２がスレッド（又はプロセス）として生成される。ＨＴＴＰサービス実行部１０２は、ＨＴＴＰヘッダで指定されるデータの送信方法を指定するメソッドに従ってＧＥＴメソッド処理部１０４、ＰＯＳＴメソッド処理部１０３、その他メソッド処理部１９９とに処理を振り分ける。
【００５９】
ＮＣＳ１２２８は、ネットワーク１５を介してデータ送受信をＨＴＴＰに従って通信制御するＨＴＴＰデーモン２と、ＨＴＴＰデーモン２からの接続及び切断の通知を受けると、ＨＴＴＰ接続管理部１０１との間で接続及び切断の処理を行う要求仲介デーモン７とを有する。
【００６０】
ＨＴＴＰ接続管理部１０１は、要求仲介デーモン７から最初の接続通知を受けると、共有メモリ９９の初期化を行い、可能な接続数分の受信バッファ９７及び送信バッファ９８を登録し、データ送受信可能な状態とする。また、この初期化によって、複数の接続要求を受付けることができ、接続毎にＨＴＴＰサービス実行部１０２がスレッドとして生成され、接続毎にＨＴＴＰサービスの提供を可能とする。
【００６１】
例えば、ＨＴＴＰデーモン２が同時に受けることのできる接続要求の最大数が３であるとすると、予め３つのスレッドを常駐させておくことで、処理性能を向上させることができる。一方、接続毎に１つのスレッドを生成し、処理が終了した時点で終了させることも可能である。
【００６２】
アプリケーション１２３０の各処理部１０３、１０４及び１９９は、ＨＴＴＰデーモン２及び要求仲介デーモン７と直接データのやり取りを行うのではなく、ＨＴＴＰサービス実行部１０２から処理要求を受けて、処理結果を共有バッファ９９を介してＨＴＴＰサービス実行部１０２に通知する。
【００６３】
各処理部１０３、１０４及び１９９は、例えば、ＨＴＴＰサービス実行部１０２からの処理要求を受信後に、処理の対象となる印刷データ（ＭＢ単位のデータ）を共有バッファ９９から読み込み、処理要求に応じた処理を印刷データに行った処理結果を共有バッファ９９に書き込んで、ＷｅｂサービスとしてＨＴＴＰサービス実行部１０２を介して処理要求元に提供する。処理結果は、例えば、その印刷データに対して画像形成処理を行うことによって生成される画像データ（ＭＢ単位のデータ）、或いは、画像形成処理に関するステータスを示すステータス情報等である。
【００６４】
つまり、アプリケーション１２３０の各処理部１０３、１０４及び１９９は、ＨＴＴＰサービス実行部１０２によって処理要求が振り分け可能な処理部であれば良い。
【００６５】
また、同様に、種々のアプリケーションの追加、つまり、メソッドに対応する処理部の融合機１２００への追加をも容易に行うことができる。
【００６６】
図３では、Ｗｅｂサービスを提供するためのメソッド毎に処理部を容易に追加することができる基本構成例について説明した。しかし、このようなメソッド毎の処理部では、同じメソッドであるが異なるＷｅｂサービスを提供する場合、Ｗｅｂサービスを行うための実際の処理を実行する前に必要となるメソッドに特有の処理をＷｅｂサービス毎に備える必要がある。メソッドに特有の処理を共通化することが考えられる。
【００６７】
上記ＮＣＳ１２２８とアプリケーション１２３０との間で行われるデータ送受信に関する処理をシーケンス制御ライブラリとして共通化すると共に、メソッドに特有の処理を共通化した場合の構成について図４で説明する。また、その処理フローについて図５及び図６で詳述する。
【００６８】
図４は、アプリの開発及び追加を容易とする融合機の第一構成例を示す図である。図４中、図１に示す融合機１２００の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。図４中、図３と同様の処理部には同一の符号を付しその説明を省略する。
【００６９】
図３に示す基本構成例との違いは、アプリケーション１２３０のＰＯＳＴメソッド処理部１０３において、Ｗｅｂサービスアプリ１２１８−１とＷｅｂサービスアプリ１２１８−２とが、ＰＯＳＴメソッドに特有のＸＭＬによるメッセージの解析及びＸＭＬによるメッセージの生成を行うＸＭＬ処理部１０３−２と、ＸＭＬの解析及び生成に必要な部品を有するＸＭＬ解析部１０３−３とを共有化した構成となっている点である。
【００７０】
ＨＴＴＰサービス実行部１０２からＰＯＳＴメソッド処理部１０３に処理が振り分けられると、ＰＯＳＴメソッド処理部１０３は、処理要求がＸＭＬメッセージにて記述されている場合、一様に、ＸＭＬ処理部１０３−２にＸＭＬメッセージの解析を行わせ、実際にＷｅｂサービスとして要求に応じた処理を行うＷｅｂサービスアプリ１２１８−１及び１２１８−２からの応答をＸＭＬ処理部１０３−２によってＸＭＬメッセージとして記述させる。ＸＭＬ処理部１０３−２は、必要に応じてＸＭＬ解析部１０３−３を実行し、ＸＭＬメッセージの解析及び生成を行う。
【００７１】
このような第一構成例では、各Ｗｅｂサービスアプリ１２１８−１及び１２１８−２はＸＭＬメッセージの解析及び生成を行う必要がないため、開発者は、ＰＯＳＴメソッドによってＷｅｂサービスを実際に行う処理部分のみを開発すれば良いため、新たなＷｅｂサービスアプリの融合機１２００への追加を容易に行うことができる。
【００７２】
図４に示す第一構成例において、ＷｅｂサービスとしてＷｅｂサービスアプリ１２１８が実行され、その処理結果がＨＴＴＰデーモン２に通知されるまでの処理フローについて図５及び図６にて説明する。図５及び図６は、図４の第一構成例における処理フローを示す図である。図５において、要求仲介デーモン７がＨＴＴＰ接続管理部１０１に接続を通知すると（ステップＳ４０）、ＨＴＴＰ接続管理部１０１は、接続通知キュー１０５にその通知を追加する（ステップＳ４１）。ＨＴＴＰサービス実行部１０２は、ＨＴＴＰ接続管理部１０１に対して接続の取得を要求する（ステップＳ４２）。ＨＴＴＰ接続管理部１０１は、その要求に応じて、接続通知キュー１０５に対して通知の取得を要求し（ステップＳ４３）、接続通知キュー１０５から接続通知を取得する（ステップＳ４４）。
【００７３】
ＨＴＴＰ接続管理部１０１は、接続通知キュー１０５から取得した接続通知に基づいて、ＨＴＴＰデーモン２との接続を行う。また、ＨＴＴＰ接続管理部１０１は、接続管理情報を生成して接続処理部８９に保存する（ステップＳ４６）。接続処理部８９は、ＨＴＴＰサービス実行部１０２で行われる処理の一部である。一方、ＨＴＴＰ接続管理部１０１からの接続に応じて、ＨＴＴＰデーモン２は、接続処理部８９にＨＴＴＰヘッダ情報を保存する（ステップＳ４７）。
【００７４】
ＨＴＴＰ接続管理部１０１は、ＨＴＴＰサービス実行部１０２に対して接続管理情報を通知し（ステップＳ４８）、ＨＴＴＰサービス実行部１０２は、接続管理情報がＰＯＳＴメソッドを指定している場合、ＰＯＳＴメソッド処理部１０３に対して処理の依頼を行う（ステップＳ４９）。ＰＯＳＴメソッド処理部１０３は、Ｃｏｎｔｅｎｔ−Ｔｙｐｅとしてｔｅｘｔ／ｘｍｌが指定されている場合、ＸＭＬメッセージの解析を行うためＸＭＬ処理部１０３−２に対して処理を依頼する（ステップＳ５０）。
【００７５】
ＸＭＬ処理部１０３−２は、接続処理部８９に対してデータの読み込みを要求する（ステップＳ５１）。ＨＴＴＰデーモン２は、受信バッファ９７へ受信データを書き込んだことを接続処理部８９に通知する（ステップＳ５２）。接続処理部８９は、受信データをＸＭＬ処理部１０３−２に通知する（ステップＳ５３）。
【００７６】
ＸＭＬ処理部１０３−２は、受信データのうちＸＭＬメッセージの部分をＸＭＬ解析部１０３−３に対して解析を依頼する（ステップＳ５４）。そして、ＸＭＬ処理部１０３−２は、ＸＭＬ解析部１０３−３に対して結果の取得を要求すると、ＸＭＬ解析部１０３−３は、ＸＭＬメッセージの構文を解析した結果として要素木をＸＭＬ処理部１０３−２に通知する（ステップＳ５６）。
【００７７】
ＸＭＬ処理部１０３−２は、ＸＭＬ解析部１０３−３から通知された要素木によって処理をＷｅｂサービスアプリ１２１８に依頼する（ステップＳ５７）。依頼に応じてＷｅｂサービスアプリ１２１８は、処理を実行し、その処理結果を要素木によってＸＭＬ処理部１０３−２に通知する（ステップＳ５８）。
【００７８】
ＸＭＬ処理部１０３−２は、通知された要素木に基づいて、Ｗｅｂサービスアプリ１２１８による処理結果を接続管理部８７にＸＭＬで書き出すことによってＸＭＬメッセージを生成する（ステップＳ５９）。そして、接続処理部８９は、ＸＭＬメッセージを送信バッファ９８へ書き込んで、ＨＴＴＰデーモン２へ送信バッファ９８への書き込みを通知する（ステップＳ６０）。
【００７９】
また、ＸＭＬ処理部１０３−２は、終了通知を接続処理部８９に対して行う（ステップＳ６１）。その終了通知に応じて、接続処理部８９は、ＨＴＴＰデーモン２との接続の切断を行う（ステップＳ６２）。更に、ＸＭＬ処理部１０３−２は、接続処理部８９に処理終了を通知する（ステップＳ６３）、接続処理部８９は、ＨＴＴＰサービス実行部１０２に処理終了を通知する（ステップＳ６４）。そして、ＨＴＴＰサービス実行部１０２は、処理が終了したことをＨＴＴＰ接続管理部１０１に対して通知する（ステップＳ６５）。
【００８０】
上記処理フローにおいて、Ｗｅｂサービスアプリ１２１８は、ステップＳ５７及びＳ５８にてＸＭＬ処理部１０３−２のみとで相互の処理が行われるだけである。このように、シーケンス制御ライブラリ１００と、アプリケーション１２３０のＰＯＳＴメソッド処理部１０３内のＸＭＬ処理部１０３−２及びＸＭＬ解析部１０３−３等による部品化され共有化された処理部によって、新たなＰＯＳＴメソッドによるＷｅｂサービスアプリの開発を容易とすることができる。
【００８１】
更に、共有メモリ９９を用いた送受信データのやり取りを実現するシーケンス制御ライブラリで生成されるスレッドの構成について図７及び図８で説明する。図７及び図８は、シーケンス制御ライブラリのスレッド構成の例を示す図である。
【００８２】
図７において、融合機１２００が起動すると生成される初期化スレッド１９１は、仲介デーモン用クライアントスレッド１９２を生成する（ステップＳ６１）。仲介デーモン用クライアントスレッド１９２は、ＨＴＴＰ接続管理部１０１の処理単位であって、ＨＴＴＰ接続管理部１０１として機能する。そして、初期化スレッド１９１は、要求仲介デーモン７にアプリケーションを登録する（ステップＳ６２）。更に、初期化スレッド１９１は、ＨＴＴＰサービス実行スレッド１９３を少なくとも１つ以上を生成する（ステップＳ６３）。ＨＴＴＰサービス実行スレッド１９３は、ＨＴＴＰサービス実行部１０２の処理単位であって、ＨＴＴＰサービス実行部１０２として機能する。
【００８３】
仲介デーモン用クライアントスレッド１９２は、要求仲介デーモン７から接続通知を受けると（ステップＳ６４）、接続通知キュー１０５に接続通知を追加して、ＨＴＴＰサービス実行スレッド１９３の１つに接続を通知する（ステップＳ６５）。接続通知を受けたＨＴＴＰサービス実行スレッド１９３は、ＨＴＴＰデーモン用クライアントスレッド１９４を生成する（ステップＳ６６）。ＨＴＴＰサービス実行スレッド１９３は、ＨＴＴＰデーモン２と接続する（ステップＳ６７）。
【００８４】
要求仲介デーモン７は、ＨＴＴＰデーモン用クライアントスレッド１９４に対して受信バッファ９７に受信データを書き込んだことを通知する（ステップＳ６８）。そして、ＨＴＴＰデーモン用クライアントスレッド１９４は、ＨＴＴＰサービス実行スレッド１９３に受信データが書き込まれたことを通知する（ステップＳ６９）。ＨＴＴＰサービス実行スレッド１９３は、要求仲介デーモン７が書き込んだ受信データを受信バッファ９７から読み出す（ステップＳ７０）。
【００８５】
ＨＴＴＰサービス実行スレッド１９３は、送信データを送信バッファ９８へ書き込んで、送信バッファへの書き込み通知を要求仲介デーモン７へ通知する（ステップＳ７１）。要求仲介デーモン７は、送信バッファ９８から送信データを取り出す（ステップＳ７２）。ＨＴＴＰサービス実行スレッド１９３は、要求仲介デーモン７との接続を切断する（ステップＳ７３）。
【００８６】
シーケンス制御ライブラリ１００におけるスレッドの処理によって、共有メモリ９９を使用することによる大量のデータのアクセスを可能とすると共に、アプリケーション１２３０に実装されたＷｅｂサービス機能を実際に行うＷｅｂサービスアプリ１２１８から切り離した処理として実現することができる。図４に示されるＧＥＴメソッド処理部１０４及びその他メソッド処理部１９９での実際にＷｅｂサービス機能を行うＷｅｂサービスアプリについても同様である。よって、Ｗｅｂサービス機能の開発者は、ＮＣＳ１２２８とアプリケーション１２３０との間で行われるデータ送受信に関する処理フローについての知識を必要とすることなく、Ｗｅｂサービス機能の開発を行うことができる。
【００８７】
図４に示す第一構成例では、ＰＯＳＴメソッドにてＸＭＬメッセージによって処理の依頼及び応答を行う場合について説明したが、ＰＯＳＴメソッドには、コンテントタイプに応じた様々な処理形態がある。そのようなＰＯＳＴメソッドにおける処理形態毎に共通化した場合について図９で説明する。図９は、アプリの開発及び追加を容易とする融合機の第二構成例を示す図である。図９中、図４と同様の処理部には同一の符号を付し、その説明を省略する。
【００８８】
図９において、ＰＯＳＴメソッド処理部１０３は、図４に示される処理部１０３−２及び１０３−３と１２１８−１から１２１８−２に相当する処理部１０３−２及び１０３−３と１２１８−４に加えて、共通化される処理部として、コンテンツタイプに基づいて処理を分配するコンテントタイプ分配処理部１１３−１と、コンテンツタイプにＦＯＲＭが指定された処理要求を解析するＦＯＲＭデータ解析部１１３−２と、コンテンツタイプにマルチパートが指定された処理要求を解析するマルチパート解析部１１３−４とを有し、Ｗｅｂサービスの提供を行う処理部として、ＦＯＲＭで設定されたデータを実際に処理するＷｅｂサービスアプリ１２１８−３と、マルチパートによって指定されるデータファイルを実際にアップロードするための処理を行うＷｅｂサービスアプリ１２１８−５とを有する。
【００８９】
コンテンツタイプ分配処理部１１３−１は、コンテンツタイプに「ａｐｐｌｉｃａｔｉｏｎ／ｘ−ｗｗｗ−ｆｏｒｍ−ｕｒｌｅｎｃｏｄｅｄ」が指定されている場合、ＦＯＲＭデータ解析部１１３−２に処理要求を分配し、コンテンツタイプに「ｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ」が指定されている場合、マルチパート解析部１１３−４に処理要求を分配し、コンテンツタイプに「ｔｅｘｔ／ｘｍｌ」が指定されている場合、ＸＭＬ処理部１０３−２に処理要求を分配する。
【００９０】
処理要求を分配されると、ＦＯＲＭデータ解析部１１３−２、マルチパート解析部１１３−４及びＸＭＬ処理部１０３−２は、夫々処理の解析処理を行った後、処理要求に対応するＷｅｂサービスアプリ１２１８−３、１２１８−５、１２１８−４に対して処理を行わせる。
【００９１】
このように、ＰＯＳＴメソッドで扱われるコンテンツタイプに応じた所定の解析処理を共有化することによって、開発者は、コンテンツタイプに応じた所定の解析処理に関する知識を必要とすることなく、新たなＷｅｂサービスアプリ１２１８の開発を行うことができ、また、融合機１２００への新たなＷｅｂサービスアプリ１２１８の追加を容易に行うことができる。
【００９２】
次に、ＧＥＴメソッド処理部１０４において、ＧＥＴメソッドに特有な処理を共有化する構成について図１０で説明する。図１０は、アプリの開発及び追加を容易とする融合機の第三構成例を示す図である。図１０中、図３と同様の処理部には同一の符号を付し、その説明を省略する。
【００９３】
図１０において、ＧＥＴメソッド処理部１０４は、共通化される処理部として、Ｗｅｂサービスを特定するＵＲＬ（Ｕｎｉｆｏｒｍ　ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）に基づいて処理要求を分配するＵＲＬ分配処理部１０４−１を有し、Ｗｅｂサービスの提供を行う処理部として、ＵＲＬに対応する複数のＷｅｂサービスアプリ１２１８−６から１２１８−８を有する。
【００９４】
このように、ＧＥＴメソッドで扱われるＵＲＬの所定の解析処理を共有化することによって、開発者は、ＵＲＬの所定の解析処理に関する知識を必要とすることなく、新たなＷｅｂサービスアプリ１２１８の開発を行うことができ、また、融合機１２００への新たなＷｅｂサービスアプリ１２１８の追加を容易に行うことができる。
【００９５】
また、融合機１２００が図９に示すＰＯＳＴメソッド処理部１０３と、図１０に示すＧＥＴメソッド処理部１０４とを有するように構成されることによって、ＰＯＳＴメソッド及びＧＥＴメソッドのいずれにおいても、Ｗｅｂサービスアプリ１２１８の開発及び追加を容易に行うことができる。
【００９６】
本発明によれば、融合機１２００がＷｅｂサービスを提供するために必要な処理部を部品化し複数のアプリケーションにて共有できる構成とすることができる。したがって、Ｗｅｂサービスの提供に必要な同じような機能をまとめて部品化され、実装されるアプリケーションによってそれら部品化された機能（処理部）を再利用することができるため、アプリケーションの開発及び融合機１２００への該アプリケーションの追加を容易に行える。
【００９７】
【発明の効果】
以上、説明してきたように、本願発明によれば、Ｗｅｂサービスを提供するために必要な処理部を部品化し複数のアプリケーションにて共有できる構成であるため、Ｗｅｂサービスを提供するアプリケーションの開発を容易とする画像形成装置を提供することができる。
【００９８】
【図面の簡単な説明】
【図１】本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【図２】図１に示す融合機のハードウェア構成を示すブロック図である。
【図３】アプリの開発及び追加を容易とする融合機の基本構成例を示す図である。
【図４】アプリの開発及び追加を容易とする融合機の第一構成例を示す図である。
【図５】図１０の第一構成例における処理フローを示す図である。
【図６】図１０の第一構成例における処理フローを示す図である。
【図７】シーケンス制御ライブラリのスレッド構成の例を示す図である。
【図８】シーケンス制御ライブラリのスレッド構成の例を示す図である。
【図９】アプリの開発及び追加を容易とする融合機の第二構成例を示す図である。
【図１０】アプリの開発及び追加を容易とする融合機の第三構成例を示す図である。
【符号の説明】
２　　　　　ｈｔｔｐデーモン
７　　　　　要求仲介デーモン
１５　　　　ネットワーク
１００　　　シーケンス制御ライブラリ
１０１　　　ＨＴＴＰ接続管理部
１０２　　　ＨＴＴＰサービス実行部
１０３　　　ＰＯＳＴメソッド処理部
１０３−２　ＸＭＬ処理部、　１０３−３　ＸＭＬ解析部
１２１８−１〜１２１８−８　Ｗｅｂサービスアプリ
１０４　　　ＧＥＴメソッド処理部
１１３−１　コンテンツタイプ分配処理部
１１３−２　ＦＯＲＭデータ解析部
１１３−４　マルチパート解析部
１２００　　融合機、　　　　　　　１２０１　　プロッタ、
１２０２　　スキャナ、
１２０３　　その他ハードウェアリソース、
１２１０　　ソフトウェア群、
１２３０　　アプリケーション、　　１２２０　　プラットフォーム、
１２２１　　ＯＳ、　　　　　　　　１２２２　　ＳＣＳ、
１２２３　　ＳＲＭ、　　　　　　　１２２４　　ＥＣＳ、
１２２５　　ＭＣＳ、　　　　　　　１２２６　　ＯＣＳ、
１２２７　　ＦＣＳ、　　　　　　　１２２８　　ＮＣＳ、
１２２９　　ＩＭＨ、　　　　　　　１２４０　　融合機起動部、
１３００　　コントローラ、　　　　１３０１　　ＡＳＩＣ、
１３０２　　ＭＥＭ−Ｃ、　　　　　１３０３　　ＨＤＤ、
１３０４　　ＣＰＵ、　　　　　　　１３０５　　ＮＢ、
１３０６　　ＭＥＭ−Ｐ、　　　　　１３０７　　ＳＢ、
１３０８　　ＡＧＰ、　　　　　　　１３１０　　オペレーションパネル、
１３２０　　ファックスコントロールユニット
１３１１　　ＮＩＣ、　　　　　　　１３１２　　ＵＳＢ、
１３１３　　ＩＥＥＥ１３９４、　　１３１４　　セントロニクス、
１３５０　　エンジン部
【図１】
2004005503.tif 000003
【図２】
2004005503.tif 000004
【図３】
2004005503.tif 000005
【図４】
2004005503.tif 000006
【図５】
2004005503.tif 000007
【図６】
2004005503.tif 000008
【図７】
2004005503.tif 000009
【図８】
2004005503.tif 000010
【図９】
2004005503.tif 000011
【図１０】
2004005503.tif 000012