JP4291856B2 - Image forming apparatus having Web service function - Google Patents
Image forming apparatus having Web service function Download PDFInfo
- Publication number
- JP4291856B2 JP4291856B2 JP2007003699A JP2007003699A JP4291856B2 JP 4291856 B2 JP4291856 B2 JP 4291856B2 JP 2007003699 A JP2007003699 A JP 2007003699A JP 2007003699 A JP2007003699 A JP 2007003699A JP 4291856 B2 JP4291856 B2 JP 4291856B2
- Authority
- JP
- Japan
- Prior art keywords
- web service
- processing
- image forming
- message
- forming apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
Description
本発明は、利用者が使用するコンピュータ端末に、複数の画像形成機能を利用するために複数のドライバ・ソフトウェアをインストールすることなく、標準的なWebサービス対応ソフトウェアをインストールするだけでよく、また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を可能とし、他の機器からの処理要求も統一的に処理することが可能となる画像形成装置を提供するものである。 In the present invention, it is only necessary to install standard Web service compatible software on a computer terminal used by a user without installing a plurality of driver software in order to use a plurality of image forming functions. It is an object of the present invention to provide an image forming apparatus that can provide a Web service without depending on the model or operating system of the computer terminal and can uniformly process processing requests from other devices.
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。 2. Description of the Related Art In recent years, an image forming apparatus in which functions of devices such as a printer, a copy, a facsimile, and a scanner are housed in a single casing is generally known. Such a composite-type image forming apparatus is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and three types of applications corresponding to a printer, a copy unit, and a facsimile device, respectively. The apparatus is operated as a printer, a copy, a scanner, or a facsimile apparatus.
しかしながら、上記従来の複合型画像形成装置においては、ネットワークを介して接続される複数のPC(パーソナルコンピュータ)からプリンタ、コピー、ファクシミリ、スキャナ等の機能を利用する場合、各PCに各画像形成機能に応じたドライバ等のソフトウェアをインストールする必要があった。また、PCにインストールされるそれらソフトウェアは、該PCの機種及びオペレーティングシステムに対応したものでなければならない。また、同様な要求がサーバー等の機器との間でも要求されることがあるが、要求される処理のプロトコルや処理単位が異なるため、実装時には両方の要求を満たすようにする必要があった。更に、従来の利用形態では、ドライバによって決まった処理しか行うことができない等の制限があった。 However, in the conventional composite image forming apparatus, when functions such as a printer, a copy, a facsimile, and a scanner are used from a plurality of PCs (personal computers) connected via a network, each image forming function is assigned to each PC. It was necessary to install software such as drivers according to The software installed in the PC must be compatible with the model and operating system of the PC. In addition, similar requests may be requested between devices such as servers. However, since the required processing protocol and processing unit are different, it is necessary to satisfy both requirements at the time of mounting. Furthermore, in the conventional usage mode, there is a restriction that only processing determined by the driver can be performed.
そこで、本発明の課題は、利用者が使用するコンピュータ端末に複数の画像形成機能を利用するための複数のドライバ・ソフトウェアをインストールすることなく、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、画像形成装置の機能をネットワークを介してインターネット標準の各種Webプロトコルを利用してアクセス可能なプログラマブルなアプリケーションコンポーネントとして利用できる画像形成装置を提供することである。また、画像形成装置内又は画像形成装置と他装置間とにおいて、Webサービスが他Webサービスとやり取りする分散環境を実現する画像形成装置を提供する。 Therefore, an object of the present invention is to install a plurality of driver software for using a plurality of image forming functions in a computer terminal used by a user and without depending on a model or operating system of the computer terminal. Another object of the present invention is to provide an image forming apparatus that can be used as a programmable application component in which the functions of the image forming apparatus can be accessed using various Internet standard Web protocols via a network. Also provided is an image forming apparatus that realizes a distributed environment in which a Web service interacts with another Web service within the image forming apparatus or between the image forming apparatus and another apparatus.
上記課題を解決するため、本発明は、スキャナとプロッタと記憶装置とを含む複数のハードウェア資源の1つ以上を利用して画像形成を行う画像形成装置であって、ネットワークを介して接続された機器からの処理リクエスト及び該機器への処理レスポンスの通信制御を行うネットワーク通信制御手段と、上記処理リクエスト内に所定メッセージ交換プロトコルに従って記述されたメッセージに含まれるWebサービスを特定する特定情報に対応するWebサービス関数をコールすることによって該メッセージに含まれる処理内容で上記ハードウェア資源の1つを制御し、該Webサービス関数の処理結果を示す上記所定メッセージ交換プロトコルに従った処理レスポンスを生成する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と、上記処理リクエストに応じて2以上の上記Webサービス提供処理手段を複合して処理を行う複合Webサービス提供処理手段と、上記複数のWebサービス提供処理手段と上記複合Webサービス提供処理手段とによって共有される手段であり、上記所定メッセージ交換プロトコルに従って上記処理リクエストのヘッダ部を解析し、また上記処理レスポンスのヘッダ部を作成して、上記メッセージの交換を制御するプロトコル処理手段と、該処理リクエストのボディ部に記述される上記メッセージから処理内容を取得して上記画像形成装置を制御するための処理に関するデータ構成に変換し、また該処理の結果を該レスポンスのボディ部に所定記述形式で記述するメッセージ処理手段とを有するハンドラ手段とを有し、上記複数のハードウェア資源毎に上記Webサービス提供手段が備えられ、異なるWebサービスを指定する複数の処理リクエストによって上記複数のハードウェア資源に対する制御の組み合わせを可能とするように構成される。
In order to solve the above problems, the present invention is an image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device, and is connected via a network. Network communication control means for controlling communication of processing requests from devices and processing responses to the devices, and specific information for specifying Web services included in messages described in the processing requests according to a predetermined message exchange protocol By calling a Web service function to be performed, one of the hardware resources is controlled by the processing content included in the message, and a processing response according to the predetermined message exchange protocol indicating the processing result of the Web service function is generated. a means, double that is corresponding to each of the hardware resources Of a Web service providing process means, composite and Web service providing processing means, the plurality of Web service providing process means and said composite Web to perform complex and processing two or more of the Web service provision process means in response to the processing request Protocol processing that is shared by service providing processing means and analyzes the header part of the processing request according to the predetermined message exchange protocol and creates the header part of the processing response to control the exchange of the message And processing contents are acquired from the message described in the body part of the processing request and converted into a data structure related to processing for controlling the image forming apparatus, and the result of the processing is converted into a body part of the response. Having message processing means described in a predetermined description format And means, the Web service providing means is provided for each of the plurality of hardware resources, a plurality of processing requests that specify different Web service to allow the combination of the control for the plurality of hardware resources Composed.
このような画像形成装置では、ネットワークを介して接続された機器の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を行うことができる。 In such an image forming apparatus, it is possible to provide a Web service without depending on the model or operating system of a device connected via a network.
上記所定メッセージ交換プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。 The predetermined message exchange protocol is, for example, SOAP (Simple Object Access Protocol).
また、本発明は、上記画像処理装置での処理を行う画像形成方法とすることもできる。 The present invention may also be an image forming method for performing processing in the image processing apparatus.
本願発明によれば、利用者が使用するコンピュータ端末に複数の画像形成機能を利用するために複数のドライバ・ソフトウェアをインストールすることなく、標準的なWebサービス対応ソフトウェアをインストールするだけでよい。また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、複数の画像形成機能を有する融合機への処理要求を行うこと可能となるだけでなく、他の機器からの処理要求も統一的に処理することが可能となる。 According to the present invention, it is only necessary to install standard Web service compatible software without installing a plurality of driver software in order to use a plurality of image forming functions in a computer terminal used by a user. In addition, it is possible not only to make a request for processing to a multi-function peripheral having a plurality of image forming functions, but also to uniformly request processing from other devices, without depending on the model or operating system of the computer terminal. It becomes possible to process.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
多種の画像形成機能を融合する本発明の実施の一形態に係る画像形成装置(以下、融合機と言う)は、例えば、図1に示すような機能構成を成す。図1は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。 An image forming apparatus according to an embodiment of the present invention (hereinafter referred to as a fusion machine) that fuses various image forming functions has a functional configuration as shown in FIG. FIG. 1 is a block diagram showing a functional configuration of a multi-function apparatus that fuses various image forming functions according to an embodiment of the present invention.
図1において、融合機1200は、プロッタ1201と、スキャナ1202と、ファクシミリなどのハードウェアリソース1203などを有するとともに、プラットフォーム1220とアプリケーション1230とから構成されるソフトウェア群1210と、融合機起動部1240とを備えている。
In FIG. 1, the MFP 1200 includes a
融合機起動部1240は、融合機1200の電源投入時に先ず始めに実行され、プラットフォーム1220やアプリケーション1230を起動する。
The MFP
プラットフォーム1220は、アプリケーション1230からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス1250と、一または複数のハードウェア資源の管理をおこない、コントロールサービス1250からの獲得要求を調停するシステムリソースマネージャー(SRM(System Resource Manager))1223)と、OS1221とを有する。
The
このコントロールサービス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は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
The
OS1221は、UNIX(登録商標)などのオペレーティング・システムであり、プラットフォーム1220並びにアプリケーション1230の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
The OS 1221 is an operating system such as UNIX (registered trademark), and executes the software of the
SRM1223は、SCS1222とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394I/F、RS232CI/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
The
具体的には、このSRM1223は、要求されたハードウェア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。 Specifically, the SRM 1223 determines whether the requested hardware resource is available (whether it is not used by another request). If it is available, the requested hardware resource is Tell the upper layer that it is available. Also, hardware resource usage scheduling may be performed in response to a request from an upper layer, and the requested contents (for example, paper conveyance and image forming operation by the printer engine, memory allocation, file generation, etc.) may be directly executed. .
SCS1222は、アプリ管理(機能1)、操作部制御(機能2)、システム画面表示(ジョブリスト画面、カウンタ表示画面など)(機能3)、LED表示(機能4)、リソース管理(機能5)、割り込みアプリ制御(機能6)等の複数の機能を行なう。具体的には、アプリ管理(機能1)では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御(機能2)では、アプリの操作部使用権の排他制御をおこなう。システム画面表示(機能3)では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。LED表示(機能4)では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。リソース管理(機能5)では、アプリ(ECS)がジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこなう。割り込みアプリ制御(機能6)では、特定のアプリを優先動作させるための制御及びサービスをおこなう。 The SCS 1222 includes application management (function 1), operation unit control (function 2), system screen display (job list screen, counter display screen, etc.) (function 3), LED display (function 4), resource management (function 5), A plurality of functions such as interrupt application control (function 6) are performed. Specifically, in application management (function 1), application registration and processing for notifying other applications of the information are performed. In the operation unit control (function 2), exclusive control of the operation unit use right of the application is performed. In the system screen display (function 3), a warning screen corresponding to the state of the engine unit is displayed according to the request content from the application having the operation unit usage right. In LED display (function 4), display control of system LEDs such as warning LEDs and application keys is performed. Resource management (function 5) provides services for exclusive control of engine resources (scanners, staples, etc.) that must be excluded when an application (ECS) executes a job. In the interrupt application control (function 6), control and service for preferential operation of a specific application are performed.
ECS1224は、プロッタ1201と、スキャナ1202と、その他ハードウェアリソース1203などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
The ECS 1224 controls engine units such as the
MCS1225は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。 The MCS 1225 performs memory control. Specifically, the MCS 1225 acquires and releases an image memory, uses a hard disk device (HDD), compresses and decompresses image data, and the like.
OCS1226は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。 The OCS 1226 is a module that controls an operation panel serving as information transmission means between the operator and the main body control, and provides a process for notifying the main body control of an operator's key operation event and a library function for each application to construct a GUI. Processing, processing for managing the constructed GUI information for each application, display reflection processing on the operation panel, and the like are performed.
FCS1227は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPI(Application Program Interface)を提供する。 The FCS 1227 performs facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. API (Application Program Interface).
NCS1228は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。 The NCS 1228 is a module group for providing a service that can be commonly used for applications that require network I / O. The NCS 1228 distributes data received by each protocol from the network side to each application, and distributes data from the application. Mediates when sending to the network side.
本実施例において、例えば、NCS1228で、複数のプロトコルのうちhttpd(Hypertext Transfer Protocol Daemon)によって、インターネットを介して接続されるネットワーク機器とのデータ通信をHTTP(Hypertext Transfer Protocol)で制御し、HTTPリクエストヘッダで指定されるWebサービスに対応する処理部を関数コールによって起動し、そのWebサービスによる処理結果をHTTPレスポンスで該ネットワーク機器へ通知するように構成しても良い。Webサービスは、例えば、XML(eXtensible Markup Language)によって記述されたメッセージに従って提供される。 In this embodiment, for example, NCS 1228 controls data communication with a network device connected via the Internet by HTTP (Hypertext Transfer Protocol Daemon) out of a plurality of protocols by HTTP (Hypertext Transfer Protocol), and makes an HTTP request. A processing unit corresponding to the Web service specified by the header may be activated by a function call, and the processing result by the Web service may be notified to the network device by an HTTP response. The Web service is provided according to a message described in XML (eXtensible Markup Language), for example.
IMH1229は、イメージデータを仮想メモリ領域(ユーザ仮想空間)から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行なう。 The IMH 1229 maps image data from a virtual memory area (user virtual space) to a physical memory. In response to the process activation, a system call is performed to map a virtual memory area for the process, or to release the mapped virtual memory area when the process ends.
アプリケーション1230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ1211と、コピー用アプリケーションであるコピーアプリ1212と、ファクシミリ用アプリケーションであるファックスアプリ1213と、スキャナ用アプリケーションであるスキャナアプリ1214と、WebサービスアプリケーションであるWebサービス処理アプリ1215と、工程検査用アプリケーションである工程検査アプリ1216とを有する。各アプリケーション1211〜1216は、プラットフォーム1220上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、NCS1228により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
The
Webサービス処理アプリ1215は、SOAP(Simple Object Access Protocol)に従ってメッセージ交換を行うSOAP処理部70と、API(Application Program Interface)を介してコントロールサービス1250を利用して所定処理を行い、その処理結果をWS−API(Web Service Application Program Interface)を介してWebサービスとして提供するWebサービスファンクション(WSF)1400とを有する。
The Web service processing application 1215 performs predetermined processing using a
このように、融合機1200は、各アプリで共通的に必要となる処理をプラットフォーム1220で一元的に処理する。
As described above, the
次に、融合機1200のハードウェア構成について説明する。図2は、図1に示す融合機1200のハードウェア構成を示すブロック図である。図2に示すように、この融合機1200は、オペレーションパネル1310、FAXコントロールユニット1530、USB(Universal Serial Bus)1330、IEEE13941340およびエンジン部1350(プロッタ1201、スキャナ1202等が接続される)とコントローラ1300のASIC1301とをPCI(Peripheral Component Interconnect)バス等で接続した構成となる。
Next, the hardware configuration of the
コントローラ1300は、ASIC1301にMEM−C1302、HDD(Hard Disk Drive)1303などを接続するとともに、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェースが公開されていないためである。
The
ここで、このASIC1301とNB1305は、単にPCIを介して接続されているのではなく、AGP1308を介して接続されている。このようにAGP1308を介して接続することとした理由は、この融合機1200が図12に示したプラットフォーム1220やアプリケーション1230を形成する複数のプロセスを実行制御する関係上、これらを低速のPCIで接続したのでは、パフォーマンスが低下するからである。
Here, the
CPU1304は、融合機1200の全体制御をおこなうものであり、具体的には、OS1221上でプラットフォーム1220を形成するSCS1222、SRM1223、ECS1224、MCS1225、OCS1226、FCS1227、NCS1228をそれぞれプロセスとして起動して実行させるとともに、アプリケーション1230を形成するプリンタアプリ1211、コピーアプリ1212、ファックスアプリ1213、スキャナアプリ1214、Webサービス処理アプリ1215、工程検査アプリ1216を起動して実行させる。
The
NB1305は、CPU1304とMEM−P1306、SB1307、ASIC1301とを接続するためのブリッジであり、MEM−P1306は、融合機の描画用メモリなどとして用いるシステムメモリであり、SB1307は、NB1305とROM、PCIデバイス、周辺デバイスとを接続するためのブリッジである。MEM−C1302は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ASIC1301は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。
The
HDD1310は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
The
したがって、ASIC1301には、MEM−C1302を接続するためのRAMインターフェースと、HDD1303を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がRAMインターフェースまたはハードディスクインターフェースに切り替えられる。
Accordingly, the
AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
The
以下、上述したような図1に示す機能構成、及び、図2に示すハードウェア構成を有する融合機1200がWebサービスを提供するための機能構成例について説明する。ここで、Webサービスとは、ネットワーク機器からのHTTPリクエストによるサービス要求に応じて、融合機1200が所定の処理を行ない、その処理結果をHTTPレスポンスとしてネットワーク機器へ提供することを言う。
Hereinafter, a functional configuration example for providing the Web service by the
先ず、ネットワークを介して、融合機1200からWebサービスが提供される仕組みについて図3で説明する。図3は、Webサービスが提供されるネットワークの構成例を示す図である。図3中、Webサービスが提供される仕組みの概要を説明するため、詳細な機能構成の説明は省略される。
First, a mechanism for providing a Web service from the
図3において、融合機1200は、ネットワーク機器10との通信制御を行うWebサーバー1101と、ネットワーク機器10との間でSOAPに従ってWebサービスの要求及び応答のメッセージ交換を行うSOAP処理部70と、インターフェイス定義211に基づいて所定のWebサービスファンクション1400を起動し、Webサービスファンクション1400から応答を受け取るハンドラ1103と、Webサーバー1101によって起動され、処理を実行することによってWebサービスを提供するWebサービスファンクション(WSF)1400とを有する。SOAP処理部70は、後述するような機能構成において、ハンドラ1103に含まれるようにしても良い。
In FIG. 3, the
インターフェイス定義211は、UDDIサーバー100へ登録されるWebサービスのサービス仕様を示すWSDL(Web Service Description Language)であって、ハンドラ1103は、そのWSDLに記述されるWebサービス仕様を実現するものである。融合機1200は、また、インターフェイス定義211に基づいてハンドラ1103を自動的に生成するハンドラ自動生成部210を有するように構成することができる。
The
UDDIサーバー100は、融合機1200から融合機1200が行うWebサービスのサービス仕様を示すWSDLを管理し、検索要求に応じて発見したWSDLを提供する機能を有し、融合機1200とネットワーク機器10との仲介を行うサービスブローカー110と、融合機1200から登録されたWSDLを管理するUDDIレジストリ112とを有する。
The
サービスブローカー110によって、ネットワーク機器10が所望するWebサービスが提供される場合について説明する。サービスブローカー110は、ネットワーク機器10からのWebサービスの要求に応じて、その要求に対応するWSDLをUDDIレジストリ112から検索して、UDDIレジストリ112にて発見したWSDLに記述されたWebサービス仕様に基づいて、SOAPに従って、Webサービスの要求を示す要求メッセージを融合機1200に対して送信する。融合機1200のWebサーバー1101がWebサービスの要求を受信すると、SOAP処理部70によって要求メッセージが処理され、ハンドラ1103はそのメッセージに応じた処理を行うWebサービスファンクション1400を起動する。ハンドラ1103がWebサービスファンクション1400から応答を受けると、SOAP処理部70によってその応答はSOAPに従った応答メッセージとして処理され、Webサーバー1101によってサービスブローカー110へ送信される。
A case where the
サービスブローカー110は、Webサーバー1101からWebサービスの応答を示す応答メッセージを受信すると、更に、その応答をネットワーク機器10へ送信する。このように、ネットワーク機器10と融合機1200とを仲介するサービスブローカー110によって、ネットワーク機器10は、WSDLを取得することなく、融合機1200に対してWebサービスを要求することができる。
When the
また、ネットワーク機器10が、UDDIサーバー100から所望のWebサービスに対応するWSDLを取得するようにしても良い。この場合、ネットワーク機器10は、UDDIサーバー100に対して、所望のWebサービスに対応するWSDLを検索させて、UDDIサーバー100がUDDIレジストリにて発見したWSDLを取得する。そして、ネットワーク機器10は、取得したWSDLによって記述されるWebサービスの仕様に基づいて、SOAPに従って、Webサービスの要求を示す要求メッセージを融合機1200に対して送信する。
Further, the
融合機1200のWebサーバー1101がWebサービスの要求を受信すると、SOAP処理部70及びハンドラ1103によって上記同様の処理が行われた後、Webサービスの要求を示す要求メッセージに応じた処理を行うWebサービスファンクション(WSF)1400が起動される。そして、処理を実行したWebサービスファンクション(WSF)1400は、ハンドラ1103にその処理に対する応答を返す。ハンドラ1103及びSOAP処理部70での処理を経てWebサーバー1101が応答を受けると、SOAPに従ったWebサービスの応答を示す応答メッセージをネットワーク機器10へ送信する。このように、ネットワーク機器10が、取得したWSDLに基づいて、SOAPに従って所望のWebサービスを融合機1200に要求するようにしても良い。
When the
また、融合機1200において、Webサービスファンクション(WSF)1400が、WSDLによって記述可能な構成を有するようにしても良い。つまり、WSDLに基づいたWebサービスの要求を処理可能とすると共に、ネットワーク機器10と融合機1200間における所定手順によるWebサービスの要求をも処理可能とする。
Further, in the
このWebサービスが提供されるネットワークの構成例において、メッセージ交換手順であるSOAPを利用した場合について説明するが、Webサービスを提供可能とするメッセージ交換手順は、SOAPに限定されるものではなく、融合機1200とネットワーク10との間で取り決めた所定のメッセージ交換手順によって実現しても良い。
In the configuration example of the network where the Web service is provided, a case where SOAP, which is a message exchange procedure, is used will be described. However, the message exchange procedure capable of providing the Web service is not limited to SOAP, and is integrated. It may be realized by a predetermined message exchange procedure negotiated between the
融合機1200は、また、インターフェイス定義211に基づいてハンドラ1103を自動的に生成するハンドラ自動生成部210を有することによって、上記Webサービスファンクション(WSF)1400は、UDDIサーバー100に登録したWebサービスの仕様を記述するWSDLに基づいて、自動的に生成されるようにしても良い。この場合、新たに登録されたWSDLに基づいて、融合機1200自身が、随時ハンドラ1103を動的に生成することが可能となる。例えば、ハンドラ1103の動作環境をJava(登録商標)プログラムが動作可能な環境とすることで実現できる。また、ハンドラ自動生成部210を開発環境において利用し、その生成されたハンドラ1103のオブジェクトコードを融合機1200に搭載するようにしても良い。この場合、ハンドラ1103を開発する工数を削減することができる。
The
ハンドラ1103を生成するハンドラ自動生成部210での自動生成処理について図4から図8で説明する。例えば、Webサービスファンクション1400は、ファイル管理処理を行い、その結果を提供するWebサービスを提供するものとする。この場合、Webサービスファンクション1400のためのインターフェイス定義211は、例えば、図4及び図5に示すように記述される。また、要求メッセージ及び応答メッセージは、XMLで記述されるものとする。
The automatic generation processing in the handler
図4及び図5は、WSDLによるインターフェイス定義の記述例を示す図である。図4において、データ型を定義する<type>タグ240は、メッセージを記述するためのデータタイプを定義し、スキーマの定義が設定される。この例の場合、</type>のみ記述され、XMLのスキーマの基本型のみであることを示す。 4 and 5 are diagrams showing examples of description of interface definition by WSDL. In FIG. 4, a <type> tag 240 that defines a data type defines a data type for describing a message, and a schema definition is set. In this example, only </ type> is described, indicating that it is only the basic type of the XML schema.
メッセージの書式を定義する<message>タグ241(記述<message name="filemanagementInput">)によって定義される定義情報242において、記述<part name="fileId" type="xs:unsignedInt"/>及び記述<part name="operationCode" type="xs:unsignedInt"/>によって、ファイル管理要求の入力パラメータ(filemanagementInput)は、符号なし整数(unsignedInt)のfileId及び符号なし整数(unsignedInt)のoperationCodeによって構成されることを定義する。また、メッセージの書式を定義する<message>タグ243(記述<message name="filemanagementOnput">)によって定義される定義情報244において、記述<part name="requestId" type="xs:unsignedInt"/>によって、ファイル管理要求の出力パラメータ(filemanagementOnput)は、符号なし整数(unsignedInt)のrequestIdによって構成されることを定義する。
In the
操作(operation)の集合を定義する<portType>タグ245(記述<portType name="netdocPortType">)によって定義される定義情報246において、操作毎の入力メッセージ及び出力メッセージが定義される。例えば、<operation>タグ247(記述<operation name="filemanagement">)によって定義される定義情報248において、記述<input message="tns:filemanagementInput"/>によって入力メッセージはfilemanagementInputであることが定義され、また、記述<output message="tns:filemanagementOutput"/>によって出力メッセージはfilemanagementOutputであることが定義される。この場合、ファイル管理(filemanagement)のみが定義される。
In the
<portType>タグ245によって定義された操作とメッセージを具体的なプロトコルとデータフォーマットにマップする<binding>タグ249(記述<binding name="netdocHttpBinding" type="tns:netdocPortType">)によって定義される定義情報250において、netdocPortTypeで定義されるポートタイプについて、操作とメッセージのプロトコルとデータフォーマットへのマップが定義される。
Defined by <binding> tag 249 (description <binding name = "netdocHttpBinding" type = "tns: netdocPortType">) that maps operations and messages defined by <portType>
定義情報50において、<sb:binding>タグ51(記述<sb:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>)によって、SOAP HTTPバインディングによるRPC(Remote Procedure Call)の使用が定義される。<operation>タグ52(記述<operation name="filemanagement">)によって、以下にファイル管理(filemanagement)に関するSOAPメッセージが定義される。
In the
先ず、<sb:operation>タグ253(記述<sb:operation soapAction="http://foo.bar.com/netdoc/filemanagement"/>)によって、ファイル管理(filemanagement)要求時のSOAPActionヘッダの値が「
http://foo.bar.com/netdoc/filemanagement」であることを定義する。
First, by the <sb: operation> tag 253 (description <sb: operation soapAction = "http://foo.bar.com/netdoc/filemanagement"/>), the value of the SOAPAction header at the time of file management request is changed. "
http://foo.bar.com/netdoc/filemanagement ”.
次に、<input>タグ254によって定義される定義情報255において、記述<sb:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal" namespace="http://foo.bar.com/netdoc/"/>によって、入力時のエンコーディング形式を定義し、記述<sb:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal" namespace="http://foo.bar.com/netdoc/"/>によって、出力時のエンコーディング形式を定義する。
Next, in the
そして、ネットワークの端点の集まりを定義する<service>タグ258(記述<service name="netdoc">)によって定義される定義情報259において、<port>タグ260(記述<port name="netdocPort" binding="tns:netdocHttpBinding">)によってネットワークの端点の1つとなるnetdocPortが定義され、更に、記述<sb:address location="http://printer.foo.bar.com/netdoc"/>によって、そのネットワークの端点のアドレス位置が定義される。つまり、サービス名「netdoc」のバインディングは「netdocHttpBinding」であり、サービスのURL(Uniform Resource Locator)は「http://printer.foo.bar.com/netdoc」であることが定義される。
Then, in the
このようにWSDLで定義されたインターフェイス定義211によって、データ型が決定され、操作が決定され、また、URL及びSOAPActionヘッダが決定される。
As described above, the
このようなインターフェイス定義211に基づいて、ハンドラ自動生成部210によって行われる自動生成処理について、図7及び図8を参照しつつ、図6に示すフローチャート図に基づいて説明する。図6は、ハンドラのソースコードを生成する自動生成処理を説明するためのフローチャート図である。図7は、生成された構造体定義のコードの例を示す図である。図8は、Webサービスファンクションをコールする関数の例を示す図である。
The automatic generation processing performed by the handler
図6において、ハンドラ自動生成部210は、構造体定義のコードを生成する(ステップS150)。この場合、図8に示すファイル管理処理を実行するファイル管理関数301へ入力される引数30として使用される構造体「Netdoc_filemanagementInput」を定義するコードを生成する。宣言文として、例えば、「typedef struct _netdoc_filemanagementInput」のようなコードを生成し、続けて、図4の<message>タグ241によって定義される定義情報242に基づいて、図7に示すコード261を生成する。つまり、図4の定義情報242において、name="fileId"によって構成要素「fileId」が、type="unsignedInt"によって符号なし整数として、「unsigned int fileId;」のようなコードを生成する。また、name="operationCode"によって構成要素「operationCode」が、type="unsignedInt"によって符号なし整数として、「unsigned int operationCode;」のようなコードを生成する。そして、構造体「Netdoc_filemanagementInpput」にこの構造体定義「_nnetdoc_filemanagementInput」を適用するコードを生成する。コード261の生成によって入力用の構造体が定義される。
In FIG. 6, the handler
次に、ファイル管理関数301から出力される引数31として使用される構造体「Netdoc_filemanagementOutput」を定義するコードを生成する。宣言文として、例えば、「typedef struct _netdoc_filemanagementOutput」のようなコードを生成し、続けて、図4の<message>タグ241によって定義される定義情報242に基づいて、図7に示すコード262を生成する。つまり、図4の定義情報244において、name="requestId"によって構成要素「requestId」が、type="unsignedInt"によって符号なし整数として、「unsigned int requestId;」のようなコードを生成する。そして、構造体「Netdoc_filemanagementOutput」にこの構造体定義「_netdoc_filemanagementOutput」を適用するコードを生成する。コード262の生成によって出力用の構造体が定義される。
Next, a code defining a structure “Netdoc_filemanagementOutput” used as an
ハンドラ自動生成部210は、ファイル管理関数301をコールするための関数宣言を生成する(ステップS151)。この場合、図4の<operation>タグ247によって定義される定義情報248に基づいて、例えば、ファイル管理関数301をコールするために、「SoapFault netdoc_filemanagement (Netdoc_filemanagementInput *in, Netdoc_filemanagementOutput *out);」のようなコードを生成する。
The handler
ハンドラ自動生成部210は、SOAP処理部70によって処理された要求メッセージをXMLで記述する際のタグ間の関連をツリー構造で示すDOM(Document Object Model)ツリーに変換するコードを生成し(ステップS153)、Webサービスファンクション1400をコールするコードを生成する(ステップS154)。つまり、ハンドラ自動生成部210は、ステップS151で生成した関数宣言のコードを使用してファイル管理関数301のコードを生成する。
The handler
続けて、ハンドラ自動生成部210は、Webサービスファンクション1400からの処理結果がエラーであるか否かを判断するコードと、エラーの場合の処理を行なうコードを生成する(ステップS155)。更に、ハンドラ自動生成部210は、DOMツリーから応答メッセージへ変換するコードを生成する(ステップS156)。
Subsequently, the handler
このように、ハンドラ自動生成部210は、インターフェイス定義211に基づいて、ハンドラ1103を生成することができる。このような構成にすることによって、ハンドラ1103を実現するソースコードを自動生成することができるため、単純で繰り返しの多いDOMプログラミングを作成する必要がない。従って、短期間で品質の高いソフトウェア開発を行うことができる。また、Webサービスファンクション1400は、入出力ともにプログラミング言語で扱いやすい形式とすることができるため、開発者にXML又はHTTPについての深い知識を必要としない。従って、開発者の教育に要するコストを削減することができる。更に、プロトコルの追加や変更が生じた際にも、インターフェイス定義211を変更するだけでハンドラ1103のソースコードを自動生成することができる。従って、高い保守性を実現することができる。
As described above, the handler
以下、Webサービスの提供を可能とする融合機1200の機能構成例について、融合機1200とネットワーク機器10とで説明する。
Hereinafter, an example of the functional configuration of the
先ず、メッセージ交換手順であるSOAPを利用せずにXMLにて記述されたメッセージに基づいて、ネットワークを介して接続されるネットワーク機器に、Webサービスを提供する融合機1200について説明する。図9は、Webサービスを提供する融合機の第一機能構成例を示す図である。図9において、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。
First, the
図9において、融合機1200は、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49と、処理を振り分けるハンドラ1103と、スキャナ1202と、HDD1303と、プロッタ1201と、オペレーションパネル1310と、FAXコントロールユニット1530等とを有する。Webサーバー500は、HTTPに従った通信制御を行うhttpd2と、HTTPリクエストに対応するWebサービス提供処理部へ処理を分配するディストリビューター(Distributor)30とを有する。
In FIG. 9, the
ファイル管理Webサービス提供処理部40は、例えば、Webサービスを実行するWebサービスファンクション1400(図3)としてHDD1303への文書の蓄積等のファイル管理を制御するファイル管理実行部400を有する。
The file management Web service
ハンドラ1103は、図3に示すように、インターフェイス定期211によって提供される各Webサービス提供処理部40及び49のWebサービスファンクションを記述したWSDLに基づいて、ハンドラ自動生成部210によって生成された処理部であり、複数のWebサービス提供処理部40及び49とで共有されるXML処理部50と、XML処理部50によって解析されたWebサービスの処理内容を示す処理メッセージに基づいてファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60とを有する。
As shown in FIG. 3, the
なお、融合機1200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。この場合、ハンドラ1103は、複数のWebサービス提供処理部の夫々の実行部に処理を振り分ける複数のディスパッチャー60を備えるようにする。また、それら複数のWebサービス提供処理部によって、ハンドラ1103においてXML処理部50は共有される。
In the
また、ネットワーク15を介して融合機1200と接続されるネットワーク機器10は、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9に表示させる出力データとを制御する入出力制御部11と、融合機1200に対するWebサービスの処理内容及び融合機1200からのWebサービスの処理結果をXMLによって処理するXML処理部13と、HTTPに従ったリクエストの生成及びレスポンスを解析するリクエスト/レスポンス処理部14とを有する。ここで、HTTPリクエストはHTTPに従ったデータ通信によって、Webサービスを要求することを示し、HTTPレスポンスは該Webサービスの処理結果を通知する応答を示す。また、この第一機能構成例では、HTTPリクエスト及びHTTPレスポンスのボディ部はXMLによって記述される例を示している。
The
このようなネットワーク機器10を利用する利用者は、所望のWebサービスを融合機1200へ要求するための画面から融合機1200へ要求する(ステップS1)。利用者によるWebサービスの要求に応じて、入出力制御部11は、リクエスト/レスポンス処理部14へ要求データを通知する(ステップS2)。リクエスト/レスポンス処理部14は、入出力制御部11からの要求データに基づいてHTTPリクエストを生成し(ステップS3)、XML処理部13が処理内容をXMLによってHTTPリクエストのボディ部に記述すると、HTTPリクエストがネットワーク15を介して融合機1200へ送信される(ステップS4)。
A user who uses such a
融合機1200のWebサーバー500は、httpd2によってHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS5)。例えば、HTTPリクエストのヘッダ部でファイル管理Webサービス提供処理部40が指定されていた場合、ファイル管理Webサービス提供処理部40がディストリビューター30によって関数コールされる。
When the
ファイル管理Webサービス提供処理部40において、ハンドラ1103は、XML処理部50によってHTTPリクエストのXMLで記述されたボディ部から処理内容を取得し(ステップS6)、取得した処理内容をディスパッチャー60に通知する(ステップS7)。ディスパッチャー60は通知された処理内容に従って、Webサービスによる処理をファイル管理実行部400に振り分ける(ステップS8)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS9)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。ファイル管理実行部400は処理結果をXML処理部50へ通知する(ステップS10)。XML処理部50は、通知された処理結果をXMLで記述したHTTPレスポンスのボディ部を生成する(ステップS11)。そして、ファイル管理Webサービス提供処理部40から通知を受けたWebサーバー500は、httpd2を介してXMLで記述された処理結果をボディ部とするHTTPレスポンスをネットワーク機器10に送信する。
In the file management Web service
ネットワーク機器10にてHTTPレスポンスが受信されると、XML処理部13は、HTTPレスポンスのボディ部を解析して処理結果を取得し(ステップS13)、リクエスト/レスポンス処理部14は、その取得した処理結果をモニタ9に表示させる出力データとして入出力制御部11に渡す(ステップS14)。そして、入出力制御部11は、受け取った出力データをモニタ9に表示させるように制御する(ステップS15)。
When the
上記第一機能構成例において、ネットワーク機器10は、予め取り決めておいたXMLによる記述形式に従ってHTTPリクエストのボディ部に処理内容を記述することによって、融合機1200に対して遠隔地からWebサービスの要求を行うことができる。また、融合機1200は、予め取り決めておいたXMLによる記述形式に従ってHTTPレスポンスのボディ部に処理結果を記述することによって、遠隔地にあるネットワーク機器10に対してWebサービスの提供を行うことが可能となる。融合機1200は、ネットワーク15を介して、複数のネットワーク機器10に対して、Webサービスを提供することも可能である。
In the above first functional configuration example, the
次に、SOAPに従ってWebサービスを提供可能とする融合機1200の機能構成例について説明する。以下、例示される各Webサービス提供処理部は、WSDLによって記述されたサービス仕様に基づいて記述された処理(サービス)を実行する関数である。
Next, a functional configuration example of the
以下、SOAPを利用したWebサービスを提供する融合機1200の機能構成例について説明する。図10は、Webサービスを提供する融合機の第二機能構成例を示す図である。図10中、図9と同一構成には同一符号を付し、その説明は省略する。また、処理フローも同様であるためその説明は省略する。図10に示される第二機能構成例において、融合機1200が、ファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49等の複数のWebサービス提供処理部に対応するハンドラ1103において、複数のWebサービス提供処理部によって共有されるSOAP処理部70を有し、XML処理部50とディスパッチャー60とがSOAP処理部70に含まれる点において、上記第一機能構成例と異なった構成となっている。また、ネットワーク機器10は、SOAPに従って融合機1200とメッセージ交換するためのSOAP処理部12を有し、XMLで記述されたメッセージを処理するXML処理部13がSOAP処理部12に含まれる点において、上記第一機能構成例と異なった構成となっている。
Hereinafter, a functional configuration example of the
このような融合機1200において、SOAP処理部70は、HTTPリクエストのヘッダ部を解析し、ディスパッチャー60によって処理を振り分け、XML処理部50によってHTTPリクエストのボディ部のXMLで記述されたメッセージから処理内容を取得する。例えば、ディスパッチャー60は、Webサービスによる処理をファイル管理実行部400に振り分ける。その後、処理を実行したファイル管理実行部400からその処理結果を受け取ったSOAP処理部70は、XML処理部50によってHTTPレスポンスのボディ部にその処理結果をXMLで記述し、SOAPに従って、そのHTTPレスポンスをネットワーク機器10に送信する。
In such a
上記第二機能構成例において、ディスパッチャー60をXML処理部50に含むようにしても良い。
In the second functional configuration example, the
上記説明より、SOAPが適用された融合機1200及びネットワーク機器10とにおいて、ネットワーク機器10は、融合機1200に対してXMLを使ったRPC(Remote Procedure Call)を実現することができる。
As described above, in the
融合機1200とネットワーク機器10との間でSOAPに従ってメッセージ交換するHTTPリクエスト及びHTTPレスポンスについて図11で説明する。図11は、HTTPリクエスト及びHTTPレスポンスの例を示す図である。図11(A)は、HTTPリクエストの例を示す図である。図11(A)に示すHTTPリクエストにおいて、URI(Uniform Resource Indicator)16は、POSTメソッドによってHTTPリクエストが送信されるURIを示し、例えば、「netdoc」である。更に、SOAPAction17でリクエストの目的を表すURIが示され、例えば、「http://foo.bar.com/netdoc/filemanagement」によって「ファイル管理」が指定される。
An HTTP request and an HTTP response for exchanging messages between the
図10の融合機1200のhttpd2のディストリビューター30は、SOAPAction17で指定される「filemanagement」により、ファイル管理Webサービス提供処理部40を関数コールする。ファイル管理Webサービス提供処理部40は、SOAP処理部70によってSOAPに従ってHTTPリクエストを処理する。SOAP処理部70において、ディスパッチャー60は、SOAPAction17で指定される「filemanagement」により、ファイル管理実行部400に処理を振り分ける。また、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ18を解析する。例えば、メッセージ18は、<ns:filemanagement>から</ns:filemanagement>までに示される。「filemanagement」は、コマンドを示す。メッセージ18によって要求される処理内容は、<fileId>から</fileId>によって指定されるファイルID「123」を、<operationCode>から</operationCode>によって指定されるオペレーションコード「3」の処理を行うことを示している。例えば、オペレーションコード「3」はファイル削除、オペレーションコード「1」はファイル追加、オペレーションコード「2」はファイル編集を要求する。
The
この場合、ディスパッチャー60によって処理が振り分けられたファイル管理実行部400は、XML処理部50によって解析された処理内容に従って、HDD1303からフィルID「123」の文書を削除する。
In this case, the file
なお、上記例は、一つのコマンド「filemanagement」で、<operationCode>の設定によってファイルの管理方法を指定しているが、ファイル管理の処理を細分し、例えば、ファイル追加Webサービス、ファイル編集Webサービス、及び、ファイル削除Webサービス等のように複数のWebサービスをWebサービスファンクション1400としてWebサービス処理アプリ1215に備えるようにしても良い。この場合、例えば、「fileadd」、「fileedit」、「filedelete」のように、Webサービス毎に一意に対応するコマンドがXMLメッセージ18に設定されるようにすることによって、<operationCode>によるオペレーションコードが不要となる。
In the above example, the file management method is specified by the setting of <operationCode> with one command “filemanagement”. However, the file management process is subdivided, for example, a file addition Web service, a file editing Web service, etc. A plurality of Web services such as a file deletion Web service may be included in the Web service processing application 1215 as the
図11(B)は、HTTPレスポンスの例を示す図である。図11(B)に示すHTTPレスポンスは、ファイル管理Webサービス提供処理部40のSOAP処理部70によって、ファイル管理Webサービス提供処理部40の処理結果に基づいて作成される。図11(B)に示すHTTPレスポンスにおいて、SOAP処理部70は、ファイル管理Webサービス提供処理部40の処理結果に基づいて、ステータスコード20として「200」と、説明句21として「OK」を設定する。更に、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ22を生成する。コマンド「filemanagement」のレスポンスは、<ns:filemanagementResponse>から</ns:filemanagementResponse>で示され、例えば、<requestId>と</requestId>とのよってリクエストID「10」が設定される。このHTTPレスポンスを受信したネットワーク機器10は、XML処理部13によるXMLによって記述されたメッセージ22を処理することによって、処理が正常に行われたことを確認する。
FIG. 11B is a diagram illustrating an example of an HTTP response. The HTTP response shown in FIG. 11B is created by the
次に、SOAP処理部70とXML処理部50とが個別に複数のWebサービス提供処理部によって共有される融合機1200の機能構成について説明する。図12は、Webサービスを提供する融合機の第三機能構成例を示す図である。図12中、図10と同一構成には同一符号を付し、その説明は省略する。また、処理フローも同様であるためその説明は省略する。図12に示される第三機能構成例において、融合機1200は、図10に示される第二機能構成例と同様に、ファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49等の複数のWebサービス提供処理部に対応するハンドラ1103において、複数のWebサービス提供処理部によって共有されるSOAP処理部70を有するが、XML処理部50は、SOAP処理部70とは独立して複数のWebサービス提供処理部によって共有される点が、上記第二機能構成例と異なっている。この第三機能構成例では、第二機能構成例と同様に、ディスパッチャー60がSOAP処理部70に含まれる構成となっているが、XML処理部50に含まれる構成としても良い。ネットワーク機器10は、図10に示されるネットワーク機器10と同様の機能構成を有する。
Next, a functional configuration of the
上記説明より、SOAPが適用された融合機1200及びネットワーク機器10とにおいて、ネットワーク機器10は、融合機1200に対してXMLを使ったRPC(Remote Procedure Call)を実現することができる。
As described above, in the
融合機1200は、複数の機能の夫々に対応させて複数のWebサービス提供処理部を有するように構成することができる。図13は、Webサービスを提供する融合機の第四機能構成例を示す図である。図13中、図10と同一構成には同一符号を付し、その説明は省略する。図12に示される第三機能構成例において、融合機1200は、HDD1303に蓄積された文書を管理するWebサービスを提供するファイル管理Webサービス提供処理部40と、スキャナ1202を制御するWebサービスを提供するスキャナ制御Webサービス提供処理部41と、プロッタ1201を制御するWebサービスを提供する印刷Webサービス提供処理部42と、オペレーションパネル1310を制御するWebサービスを提供する操作部制御Webサービス提供処理部43とを有する。また、ファイル管理Webサービス提供処理部40はHDD1303に対して処理を実行するファイル管理実行部400を有し、スキャナ制御Webサービス提供処理部41はスキャナ1202に対して処理を実行するスキャナ制御実行部401を有し、印刷Webサービス提供処理部42はプロッタ1201に対して処理を実行するプロッタ制御実行部402を有し、操作部制御Webサービス提供処理部43はオペレーションパネル1310に対して処理を実行する操作部制御実行部403を有する。
The
更に、第三機能構成例と同様に、ハンドラ1103において、XML処理部50とSOAP処理部70とは夫々独立して複数のWebサービス提供処理部40〜43によって共有される。また、ディスパッチャー60〜63が、複数のWebサービス提供処理部40〜43の夫々に対応するように構成される。
Further, similarly to the third functional configuration example, in the
また、ネットワーク機器10は、図10に示されるネットワーク機器10と同様の機能構成を有する。
The
このような第四機能構成例において、SOAPが適用された融合機1200及びネットワーク機器10とにおいて、ネットワーク機器10は、融合機1200に対してXMLを使ったRPC(Remote Procedure Call)を実現することができる。また、ネットワーク機器10は、複数のWebサービス提供処理部40〜43を有する融合機1200から所望のWebサービスに対応したHTTPリクエストを送信することによって、該所望のWebサービスの提供を受けることができる。従って、ネットワーク機器10は、スキャナ1202、HDD1303、プロッタ1201、オペレーションパネル1310等の画像形成装置の機能を利用するための複数のドライバをインストールすることなく、これらの機能をWebサービスとして利用することができる。
In such a fourth functional configuration example, in the
次に、ネットワーク機器10の一回のHTTPリクエストに応じて、複数のWebサービス提供処理部を組み合せて実行する融合機1200の機能構成例について説明する。図14は、Webサービスを提供する融合機の第五機能構成例を示す図である。図14中、図12及び図13と同一構成には同一符号を付し、その説明は省略する。図14に示される第五機能構成例において、図12に示す第三機能構成例と異なる点は、融合機1200が、ファイル管理Webサービス提供処理部40と、印刷Webサービス提供処理部42とを有すると共に、ファイル管理Webサービス提供処理部40と印刷Webサービス提供処理部42とを組み合せて制御する複合Webサービス提供処理部90を有し、ファイル管理Webサービス提供処理部40と、印刷Webサービス提供処理部42と、複合Webサービス提供処理部90と、他Webサービス提供処理部49とがハンドラ1103においてXML処理部50とSOAP処理部70とを共有するように構成される点である。更に、SOAP処理部70は各実行部400、412、80等に処理を振り分けるディスパッチャー60、62、68及び69等を有する。
Next, an example of a functional configuration of the
Webサービスファンクション1400(図3)としてのファイル管理Webサービス提供処理部40のファイル管理実行部400は、ディスパッチャー60によって振り分けられた処理に基づいて、HDD1303へのファイル管理処理を実行すると共に、複合Webサービス実行部80によって指定されるファイル管理処理を実行する。また、Webサービスファンクション1400としての印刷Webサービス提供処理部42のファイル印刷実行部412は、ディスパッチャー62によって振り分けられた処理に基づいて、ファイルの印刷を実行すると共に、複合Webサービス実行部80によって指定されるファイルの印刷を実行する。
The file
複合Webサービス提供処理部90は、ファイル管理Webサービス提供処理部40と、印刷Webサービス提供処理部42とを組み合せて実行する複合Webサービス実行部80を有する。
The composite web service
また、ネットワーク機器10は、図10に示されるネットワーク機器10と同様の機能構成を有する。
The
図14において、融合機1200は、ネットワーク機器10から、例えば、文書をHDD1303に蓄積して印刷する蓄積印刷を要求するHTTPリクエストを受信すると、複合Webサービス提供処理部90は複合Webサービス実行部80をコールし、ファイル管理実行部400に文書をHDD1303に蓄積させ、続けて、蓄積した文書のファイルIDを指定することによってファイル印刷実行部412に印刷処理を実行させる一連の処理を行う。
In FIG. 14, when the
このように、複合Webサービス実行部80が、ファイル管理実行部400とファイル印刷実行部412とに連続して処理を行わせることにより、ネットワーク15を介して接続されるネットワーク機器10は、一回のHTTPリクエストを送信するのみで、2つ以上のWebサービス提供処理部による一連のWebサービスの提供を受けることが可能となる。また、複合Webサービス実行部80自身はファイルを管理する処理及び印刷処理を行うWebサービスファンクション1400としての実体を備える必要がないため、開発効率を大幅に削減することができる。更に、ネットワーク機器10は、ファイル管理Webサービス提供処理部40のみによるWebサービスの提供、及び、印刷Webサービス提供処理部42のみによるWebサービスの提供を要求することもできる。
As described above, the composite Web
このように、融合機1200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数の実行部と、それらの組み合せによって、幅広いWebサービスを提供することができる。
As described above, the
上記第一〜第五機能構成例において、融合機1200が一台のネットワーク機器10へWebサービスを提供する構成について説明したが、複数のネットワーク機器10とネットワーク15を介して接続される場合には、各ネットワーク機器10へ所望のWebサービスを提供することが可能である。
In the above first to fifth functional configuration examples, the configuration has been described in which the
また、融合機1200への処理内容をXMLで記述することができ、また、メッセージ交換手順をSOAPとすることによって、ネットワーク機器10の機種又はオペレーティングシステムに依存することなく、ネットワーク機器10は、Webサービスの提供を受けることが可能となる。
Further, the processing content to the
更に、利用者は、使用するコンピュータ端末に複数の画像形成機能を利用するための複数のドライバ・ソフトウェアをインストールすることなく、画像形成装置の機能を、ネットワークを介してインターネット標準の各種Webプロトコルを利用してアクセス可能なプログラマブルなアプリケーションコンポーネントとして利用することができる。 Further, the user can use various Internet standard web protocols via the network without installing a plurality of driver software for using a plurality of image forming functions in a computer terminal to be used. It can be used as a programmable application component that can be accessed and used.
また、融合機1200内又は融合機1200と他装置間とにおいて、Webサービスが他Webサービスとやり取りする分散環境を実現することができる。
Further, it is possible to realize a distributed environment in which a Web service communicates with another Web service in the
上記実施例により、画像を形成する融合機1200は、オペレーションパネルの制御、印刷処理、ファイル管理、スキャナ制御等、画像処理に関する種々の内部情報を処理し、その処理結果を要求元へ提供するWebサービスを実現することができる。ここで言う内部情報とは、画像情報、画像情報についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報等の画像処理及び融合機1200に関する多種多様の情報を示しており、それら内部情報に対して所定処理を行い、その処理結果をWebサービスとして提供することは、上記実施例により実現可能である。
According to the above embodiment, the
なお、上記実施例において、httpd2は、ネットワーク通信制御手段に対応し、Webサービス提供処理部40から43、49及び90の夫々は、Webサービス提供処理手段に対応し、ファイル管理実行部400、スキャナ制御実行部401、プロッタ制御実行部402及び操作部制御実行部403の夫々は、Webサービス実行手段に対応する。また、SOAP処理部70は、プロトコル処理手段に対応し、XML処理部50はメッセージ処理手段に対応する。
In the above embodiment, httpd2 corresponds to the network communication control means, and each of the web service
2 httpd(Hypertext Transfer Protocol Daemon)
30 ディストリビューター
40〜49 Webサービス提供処理部
50 XML処理部、 60 ディスパッチャー
70 SOAP処理部
1200 融合機、
1201 プロッタ 1202 スキャナ
1210 ソフトウェア群
1230 アプリケーション、 1220 プラットフォーム
1221 OS、 1222 SCS
1223 SRM、 1224 ECS
1225 MCS、 1226 OCS
1227 FCS、 1228 NCS
1229 IMH、 1240 融合機起動部
1300 コントローラ、 1301 ASIC
1302 MEM−C、 1303 HDD
1304 CPU、 1305 NB
1306 MEM−P、 1307 SB
1308 AGP、 1310 オペレーションパネル
1330 USB、 1340 IEEE1394
1350 エンジン部、 1500 ネットワークI/F部
1530 FAXコントロールユニット
2 httpd (Hypertext Transfer Protocol Daemon)
30 Distributor 40-49 Web service
1201
1223 SRM, 1224 ECS
1225 MCS, 1226 OCS
1227 FCS, 1228 NCS
1229 IMH, 1240 Fusion machine start-up
1302 MEM-C, 1303 HDD
1304 CPU, 1305 NB
1306 MEM-P, 1307 SB
1308 AGP, 1310
1350 Engine part, 1500 Network I /
Claims (12)
ネットワークを介して接続された機器からの処理リクエスト及び該機器への処理レスポンスの通信制御を行うネットワーク通信制御手段と、
上記処理リクエスト内に所定メッセージ交換プロトコルに従って記述されたメッセージに含まれるWebサービスを特定する特定情報に対応するWebサービス関数をコールすることによって該メッセージに含まれる処理内容で上記ハードウェア資源の1つを制御し、該Webサービス関数の処理結果を示す上記所定メッセージ交換プロトコルに従った処理レスポンスを生成する手段であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス提供処理手段と、
上記処理リクエストに応じて2以上の上記Webサービス提供処理手段を複合して処理を行う複合Webサービス提供処理手段と、
上記複数のWebサービス提供処理手段と上記複合Webサービス提供処理手段とによって共有される手段であり、上記所定メッセージ交換プロトコルに従って上記処理リクエストのヘッダ部を解析し、また上記処理レスポンスのヘッダ部を作成して、上記メッセージの交換を制御するプロトコル処理手段と、該処理リクエストのボディ部に記述される上記メッセージから処理内容を取得して上記画像形成装置を制御するための処理に関するデータ構成に変換し、また該処理の結果を該レスポンスのボディ部に所定記述形式で記述するメッセージ処理手段とを有するハンドラ手段とを有し、
上記複数のハードウェア資源毎に上記Webサービス提供手段が備えられ、異なるWebサービスを指定する複数の処理リクエストによって上記複数のハードウェア資源に対する制御の組み合わせを可能とすることを特徴とする画像形成装置。 An image forming apparatus that forms an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
Network communication control means for performing communication control of processing requests from devices connected via a network and processing responses to the devices;
One of the hardware resources with the processing content included in the message by calling the Web service function corresponding to the specific information specifying the Web service included in the message described according to the predetermined message exchange protocol in the processing request A plurality of Web service providing processing means corresponding to each of the hardware resources, and a processing response in accordance with the predetermined message exchange protocol indicating the processing result of the Web service function .
Composite web service provision processing means for performing processing by combining two or more web service provision processing means in response to the processing request;
A means shared by the plurality of Web service providing processing means and the composite Web service providing processing means, which analyzes the header part of the processing request according to the predetermined message exchange protocol and creates the header part of the processing response Then, the protocol processing means for controlling the exchange of the message and the processing contents are acquired from the message described in the body part of the processing request and converted into a data structure related to the processing for controlling the image forming apparatus. And handler means having message processing means for describing the result of the processing in a body of the response in a predetermined description format ,
An image forming apparatus comprising the Web service providing unit for each of the plurality of hardware resources, and enabling a combination of control over the plurality of hardware resources by a plurality of processing requests designating different Web services. .
ネットワークを介して接続された機器からの処理リクエスト及び該機器への処理レスポンスの通信制御を行うネットワーク通信制御手順と、
上記処理リクエスト内に所定メッセージ交換プロトコルに従って記述されたメッセージに含まれるWebサービスを特定する特定情報に対応するWebサービス関数をコールすることによって該メッセージに含まれる処理内容によって上記ハードウェア資源の1つを制御し、該Webサービス関数の処理結果を示す上記所定メッセージ交換プロトコルに従った処理レスポンスを生成する手順であり、上記ハードウェア資源の夫々に対応させた複数のWebサービス手順と、
上記処理リクエストに応じて2以上の上記Webサービス提供処理手順を複合して処理を行う複合Webサービス提供処理手順と、
上記複数のWebサービス提供処理手順と上記複合Webサービス提供処理手順とによって共有される手順であり、上記所定メッセージ交換プロトコルに従って上記処理リクエストのヘッダ部を解析し、また上記処理レスポンスのヘッダ部を作成して、上記メッセージの交換を制御するプロトコル処理手順と、該処理リクエストのボディ部に記述される上記メッセージから処理内容を取得して上記画像形成装置を制御するための処理に関するデータ構成に変換し、また該処理の結果を該レスポンスのボディ部に所定記述形式で記述するメッセージ処理手順とを有するハンドラ手順とを有し、
上記複数のハードウェア資源毎に上記Webサービス提供手順が備えられ、異なるWebサービスを指定する複数の処理リクエストによって上記複数のハードウェア資源に対する制御の組み合わせを可能とすることを特徴とする画像形成方法。 An image forming method for forming an image using one or more of a plurality of hardware resources including a scanner, a plotter, and a storage device,
A network communication control procedure for performing communication control of a processing request from a device connected via a network and a processing response to the device;
One of the hardware resources depends on the processing content included in the message by calling the Web service function corresponding to the specific information specifying the Web service included in the message described in the processing request according to the predetermined message exchange protocol. A processing response in accordance with the predetermined message exchange protocol indicating the processing result of the Web service function, and a plurality of Web service procedures corresponding to each of the hardware resources ,
A composite Web service provision processing procedure for performing processing by combining two or more Web service provision processing procedures in response to the processing request;
A procedure shared by the plurality of Web service providing processing procedures and the composite Web service providing processing procedure, which analyzes the header part of the processing request according to the predetermined message exchange protocol and creates the header part of the processing response Then, the protocol processing procedure for controlling the exchange of the message and the processing contents are acquired from the message described in the body part of the processing request and converted into a data structure related to the processing for controlling the image forming apparatus. And a handler procedure having a message processing procedure that describes a result of the processing in a predetermined description format in a body part of the response ,
An image forming method comprising the Web service provision procedure for each of the plurality of hardware resources, and enabling a combination of control over the plurality of hardware resources by a plurality of processing requests designating different Web services. .
A computer-executable program for causing a computer to function as the image forming apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007003699A JP4291856B2 (en) | 2002-03-25 | 2007-01-11 | Image forming apparatus having Web service function |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002084555 | 2002-03-25 | ||
JP2007003699A JP4291856B2 (en) | 2002-03-25 | 2007-01-11 | Image forming apparatus having Web service function |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002255333A Division JP4141209B2 (en) | 2002-03-25 | 2002-08-30 | Image forming apparatus having Web service function |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007135238A JP2007135238A (en) | 2007-05-31 |
JP4291856B2 true JP4291856B2 (en) | 2009-07-08 |
Family
ID=38156463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007003699A Expired - Lifetime JP4291856B2 (en) | 2002-03-25 | 2007-01-11 | Image forming apparatus having Web service function |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4291856B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307058B2 (en) | 2008-09-16 | 2012-11-06 | Ricoh Company, Ltd. | Apparatus, method, and computer program product for processing information |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4918435B2 (en) * | 2007-08-29 | 2012-04-18 | 株式会社リコー | Image forming apparatus |
JP5072499B2 (en) * | 2007-09-13 | 2012-11-14 | 株式会社リコー | Image forming apparatus, data communication apparatus, data communication method, and data communication program |
JP2009111785A (en) * | 2007-10-30 | 2009-05-21 | Ricoh Co Ltd | Image processor and processing distributing method |
US8239862B2 (en) | 2007-11-26 | 2012-08-07 | Ricoh Company, Ltd. | Apparatus, method, and computer program product for processing information |
-
2007
- 2007-01-11 JP JP2007003699A patent/JP4291856B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307058B2 (en) | 2008-09-16 | 2012-11-06 | Ricoh Company, Ltd. | Apparatus, method, and computer program product for processing information |
Also Published As
Publication number | Publication date |
---|---|
JP2007135238A (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030225894A1 (en) | Image forming apparatus including web service functions | |
US7743162B2 (en) | Image forming apparatus, with connection request mediation, having web service functions | |
JP5509754B2 (en) | Software management apparatus, software distribution system, installation method and program | |
US8115943B2 (en) | Image forming apparatus and print process method | |
US8826176B2 (en) | Information processing apparatus and control method | |
JP2005242994A (en) | Device, method and program for providing service, device, method and program for processing information, and recording medium | |
JP2005108191A (en) | Service provision device, service provision program, recording medium and service provision method | |
JP5370439B2 (en) | Apparatus, request processing method, program, and recording medium | |
JP4291856B2 (en) | Image forming apparatus having Web service function | |
JP4141209B2 (en) | Image forming apparatus having Web service function | |
WO2011055497A1 (en) | Management apparatus and method therefor | |
JP4097584B2 (en) | Embedded device having WWW server function, web page providing method, and web page providing control program | |
JP4130108B2 (en) | Image forming apparatus having Web service function | |
JP4291855B2 (en) | Image forming apparatus having Web service function | |
JP2008176789A (en) | Incorporating equipment, request distribution method and request distribution program | |
JP4136738B2 (en) | Image forming apparatus having Web service function | |
JP2004005505A (en) | Computer readable program for letting computer execute program formation | |
JP2006020341A (en) | Image forming apparatus including web service functions | |
JP2004005503A (en) | Image forming device having web service function | |
EP1988686A1 (en) | Metadata communication system | |
JP4141210B2 (en) | Image forming apparatus having Web service function | |
JP2009064108A (en) | Conversion device, conversion method, and conversion system | |
JP2006285840A (en) | Document management system | |
JP4291854B2 (en) | Image forming apparatus having Web service function | |
JP4130109B2 (en) | Image forming apparatus having Web service function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090310 |
|
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: 20090403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4291856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |