JP2007234052A - Webサービス機能を有する情報処理装置 - Google Patents

Webサービス機能を有する情報処理装置 Download PDF

Info

Publication number
JP2007234052A
JP2007234052A JP2007125941A JP2007125941A JP2007234052A JP 2007234052 A JP2007234052 A JP 2007234052A JP 2007125941 A JP2007125941 A JP 2007125941A JP 2007125941 A JP2007125941 A JP 2007125941A JP 2007234052 A JP2007234052 A JP 2007234052A
Authority
JP
Japan
Prior art keywords
processing
web service
request
unit
soap
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
JP2007125941A
Other languages
English (en)
Other versions
JP4698635B2 (ja
Inventor
Tatsuo Ito
達雄 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007125941A priority Critical patent/JP4698635B2/ja
Publication of JP2007234052A publication Critical patent/JP2007234052A/ja
Application granted granted Critical
Publication of JP4698635B2 publication Critical patent/JP4698635B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】本発明の課題は、利用者が使用するコンピュータ端末の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を可能とし、他の機器からの処理要求も統一的に処理することが可能となる情報処理装置を提供することを目的とする。
【解決手段】本発明の課題は、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエスト又は該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストを受信し、該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、プロトコルの異なる上記第一と第二処理リクエストとを受付けて情報処理装置に関する内部情報の処理を共有し、その処理結果を上記Webサービス通信制御手段へ提供するWebサービス提供処理手段とを有することを特徴とする情報処理装置によって達成される。
【選択図】図2

Description

本発明は、利用者が使用するコンピュータ端末に、標準的なWebサービス対応ソフトウェアをインストールするだけでよく、また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を可能とし、他の機器からの処理要求も統一的に処理することが可能となる情報処理装置を提供するものである。
近年、コンピュータサーバーによるASP(アプリケーション・サービス・プロバイダ)事業の普及により、インターネット等のネットワークを介して種々アプリケーションによるサービスが行われるようになった。このようなASPによるサービスによって、利用者は、Webブラウザ付きのPC(Personal Computer)によって、ネットワークに接続するのみで、手軽にサービスを受けることができるようになった。このようなサービスを受けることによって、利用者が使用するPC毎にアプリケーションを実装する必要がなくなり、システムの開発コスト及び運用コストを削減することができた。
上記従来のASPによるサービスの提供においては、利用者が使用しているPCのWebブラウザ上での利用者の操作に応じて情報を提供することを目的としている。しかしながら、近年、インターネット上の様々なコンピュータに分散されたアプリケーションによるサービスを相互に結び付け幅広いサービスの提供を実現するために、SOAP(Simple Objected Access Protocol)が提唱されるようになってきた。このような新しいプロトコルに対応するには、従来のWebブラウザ上での利用者の操作に応じて情報を提供するアプリケーションとは別に、SOAPをサポートするアプリケーションの開発をする必要があった。
そこで、本発明の課題は、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、ネットワークを介してインターネット標準の各種Webプロトコルを利用してアクセス可能なプログラマブルなアプリケーションコンポーネントとして利用できると共に、Webサービスの要求をWebブラウザから行うことを可能とする情報処理装置を提供することである。また、情報処理装置内又は情報処理装置と他装置間とにおいて、Webサービスが他Webサービスとやり取りする分散環境を実現する情報処理装置を提供する。
上記課題を解決するため、本発明は、請求項1に記載されるように、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて情報処理装置に関する内部情報の処理を共有し、その処理結果を上記Webサービス通信制御手段へ提供するWebサービス提供処理手段とを有するように構成される。
このような情報処理装置では、ネットワークを介して接続された機器の機種又はオペレーティングシステムに依存することなく、例えば、SOAPからの第一プロトコルによる第一処理リクエストを受信した際には第一プロトコルによる第一処理レスポンスによって、或いは、例えば、Webブラウザ等からの第二プロトコルによる第二処理リクエストを受信した際には機器にて表示可能な表示形式に従って第二処理レスポンスによって処理結果をWebサービスとして提供することができる。従って、第一処理リクエスト及び第二処理リクエストのWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができるため、第一処理リクエスト及び第二処理リクエストの夫々にWebサービス提供処理手段を開発する必要がない。
上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
上記内部情報は、情報処理についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
Webサービスを提供するための処理の実体を有するという観点において、本発明は、請求項2に記載されるように、上記Webサービス提供処理手段は、Webサービスに関する処理を実行するWebサービス実行手段を有するように構成することができる。
このような情報処理装置では、Webサービスを提供するための処理の実体がWebサービス提供処理手段に独立してあるため、複数のプロトコル(例えば、SOAPと、HTTP及びHTML)に関する知識を必要としないWebサービス実行手段の開発を行うことができる。
第一プロトコルに従って第一処理リクエストを処理するという観点において、本発明は、請求項3に記載されるように、複数の上記Webサービス提供処理手段を有し、上記複数のWebサービス提供処理手段によって共有可能であって、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手段とを有するように構成することができる。
このような情報処理装置では、第一処理リクエストを第一プロトコルに従って処理できると共に、複数のWebサービス提供処理手段によって共有されるため、各Webサービス提供処理手段を開発する際には、SOAP等の第一プロトコルに関する処理部の開発を削減することができる。
メッセージの処理を共有するという観点において、本発明は、請求項4に記載されるように、上記複数のWebサービス提供処理手段によって共有可能であって、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手段を有するように構成することができる。
このような情報処理装置では、例えば、XML(eXtensible Markup Language)によって記述されたメッセージの処理を、複数のWebサービス提供処理手段によって共有可能となる。従って、各Webサービス提供処理手段を開発する際には、メッセージに関する処理部の開発を削減することができる。
第一プロトコルに従う第一処理リクエストと該第一プロトコル以外の第二プロトコルに従うWebブラウザを利用した端末からの第二処理リクエストの両方の処理を可能とするという観点において、本発明は、請求項6に記載されるように、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段とを有するように構成することができる。
第一処理リクエストと第二処理リクエストとを別々に分配するという観点に置いて、本発明は、請求項6に記載されるように、上記Webサービス通信制御手段は、上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段と、上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段とを有するように構成される。また、本発明は、請求項7に記載されるように、上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特性されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有するように構成される。
このような情報処理装置では、第一プロトコルに従う第一処理リクエストと第一プロトコル以外の第二プロトコルに従うWebブラウザを利用した端末からの第二処理リクエストとを処理可能とするため、第一処理リクエスト及び第二処理リクエストによる同一のWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができる。
上記リクエスト種別とは、例えば、HTTPによるメソッドを示し、GET METHOD又はPOST METHOD等である。
上記特定情報とは、Webサービス実行手段を特定するような情報であって、例えば、URL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)である。
複数のWebサービス提供処理手段へ処理を振り分けるという観点において、本発明は、請求項8に記載されるように、上記複数のWebサービス提供処理手段の夫々に対応させて複数の上記第一振分手段と複数の上記第二振分手段とを有するように構成される。
このような情報処理装置では、第一処理リクエスト及び第二処理リクエストのいずれによっても複数のWebサービス提供処理手段への処理の振り分けを可能とする。
第二処理レスポンスの内容をネットワークを介して接続される機器にて表示可能とするという観点から、本発明は、請求項9に記載されるように、上記Webサービス通信制御手段は、上記第一処理リクエストに対する同一処理によって上記Webサービス提供処理手段から提供される上記第二処理リクエストに応じた上記処理結果を示す上記第二処理レスポンスを上記表示形式に従って作成する表示形式作成手段を有するように構成される。
このような情報処理装置では、機器からの第二処理リクエストに応じて実行されたWebサービスの処理結果を、該機器にて表示可能となるような処理レスポンスを作成することができる。よって、該情報処理装置は、例えば、汎用的なWebブラウザを有する機器に対してWebサービスを提供することができる。
各Webサービス提供処理手段による処理結果を機器にて表示可能とするという観点から、本発明は、請求項10に記載されるように、上記表示形式作成手段は、上記記述形式処理手段によって上記第一処理リクエストに応じた上記処理結果と同様に処理された上記第二処理リクエストに応じた上記処理結果を、上記記述形式の書式スタイルに基づいて、上記表示形式に従った上記処理結果に変換する記述形式変換手段を有するように構成することができる。
このような情報処理装置では、各Webサービス提供処理手段による所定記述形式に従って処理された処理結果を、上記記述形式の書式スタイルに基づいて、機器にて表示可能な表示形式に従った上記処理結果に変換することができる。
上記書式スタイルとは、例えば、XSL(eXtensible Stylesheet Language)である。この書式スタイルによって、上記記述形式変換手段は、XMLに従って記述された処理結果をHTMLに従って記述されるように変換することができる。
また、上記課題を解決するため、本発明は、請求項11に記載されるように、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、プロトコルの異なる上記第一処理リクエストと第二処理リクエストとを受付けて情報処理装置に関する内部情報の処理を共有し、その処理結果を上記Webサービス通信制御手段へ提供するWebサービス提供処理手段と、上記Webサービス提供処理手段を構成する上記第一処理リクエストと上記第二処理リクエストとによって共有される少なくとも一つ以上の処理単位を実行することによって上記内部情報を処理し、その処理結果を用いて付加処理を行うことによって上記第一又は第二処理リクエストに応じた上記処理結果を生成し、該処理結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手段とを有するように構成される。
このような情報処理装置では、機器は、SAOP等の第一プロトコルによって又はHTTP及びHTML等の第二プロトコルによってWebブラウザを介して所定処理を実行することができるため、該機器に、該所定処理を実行させるために専用のドライバ等のソフトウェアをインストールする必要がない。また、機器は、その機種又はオペレーティングシステムに依存することなく該情報処理装置に対して該所定処理を実行させることができる。更に、複合Webサービス提供処理手段によって、Webサービスを提供するのに必要なWebサービス提供処理手段の複数の処理単位が組み合わされることによって制御されるため、機器は、各Webサービスの機能を意識することなく、1回の処理リクエストによって、複数のWebサービスによる最終的な処理結果のみを取得することができる。よって、装置間の通信回数及び制御処理を大幅に削減することが可能となる。
上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
上記内部情報は、画像情報、画像情報についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
複数の処理単位を組み合せて実行するという観点において、本発明は、請求項12に記載されるように、上記複合Webサービス提供処理手段は、該複合Webサービス提供処理手段における処理単位であって、上記Webサービス提供処理手段の上記処理単位を組み合せて実行する少なくとも一つの複合処理実行手段とを有するように構成することができる。また、複数のWebサービス提供処理手段を組み合せて実行するという観点において、本発明は、請求項13に記載されるように、少なくとも1つの上記処理単位を有する複数の上記Webサービス提供処理手段を有し、上記複合処理実行手段は、上記複数のWebサービス提供処理手段の上記処理単位を複数組み合せて上記内部情報を処理するように構成することができる。
プロトコルの異なる第一処理リクエストと第二処理リクエストに対する処理の一部を共有するという観点において、本発明は、請求項14に記載されるように、上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手段と、上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手段とを有し、上記プロトコル処理手段と上記記述形式処理手段とは、上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段によって共有されるように構成することができる。
このような情報処理装置では、プロトコルが異なる第一処理リクエストと第二処理リクエストに対する処理が共有されると共に、複数のWebサービス提供処理手段及び複合Webサービス提供処理手段によってそれら処理が共有されるため、第一処理リクエストと第二処理リクエストとの夫々に応じた処理部を開発する必要がなく、また、複数のWebサービス提供処理手段と複合Webサービス提供処理手段との夫々に応じた処理部を開発する必要がない。従って、開発工数を大幅に削減することが可能となる。
上記所定記述形式は、例えば、XML(eXtensible Markup Language)である。
同一の通信プロトコルにて受信後、夫々の特性に応じて第一処理リクエストと第二処理リクエストを処理し、適切にWebサービスを実行するという観点において、本発明は、請求項15に記載されるように、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段とを有するように構成することができる。また、本発明は、請求項16に記載されるように、上記Webサービス通信制御手段は、上記ネットワーク通信制御手段が上記第一処理リクエストを受信した場合、該第一処理リクエストのリクエスト種別を上記第一プロトコルに従って解析し、その解析結果に基づいて上記複数のWebサービス提供処理手段の一つに上記第一処理リクエストを分配し、上記第二処理リクエストを受信した場合、上記第二処理リクエストのリクエスト種別を解析し、その解析結果に基づいて、上記処理リクエスト処理手段に上記第二処理リクエストを分配する分配手段と、上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段とを有するように構成することができる。更に、本発明は、請求項19に記載されるように、上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特性されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有するように構成することができる。
このような情報処理装置では、同一の通信プロトコルで第一処理リクエスト及び第二処理リクエストを受信した後、第一処理リクエストによって特定されるWebサービス実行手段に振り分ける第一振分手段と、第ニ処理リクエストによって特定されるWebサービス実行手段に振り分ける第ニ振分手段とを有することによって、プロトコルの異なる第一処理リクエストと第二処理リクエストとによる同一のWebサービスの実行を可能とすることができる。
上記所定ネットワーク通信プロトコルは、http(Hypertext Transfer Protocol)である。
また、本発明は、請求項18から19に記載されるように、上記情報処理装置での処理を行う情報処理方法とすることもできる。
本願発明によれば、利用者が使用するコンピュータ端末に標準的なWebサービス対応ソフトウェアをインストールするだけでよい。また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく処理要求を行うことができるだけでなく、他の機器からの処理要求も統一的に処理することが可能となる。
以下、本発明の実施の形態を図面に基づいて説明する。
本発明の一実施例に係る情報処理装置200のハードウェア構成について説明する。図1は、本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。
以下、本発明の実施の形態を図面に基づいて説明する。
本発明の一実施例に係る情報処理装置は、例えば、図1に示すようなハードウェア構成を成す。図1は、本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。
図1において、情報処理装置200は、コンピュータによって制御され印刷処理を実行する装置であって、CPU(中央処理装置)51と、メモリユニット52と、表示ユニット53と、入力ユニット54と、通信ユニット55と、記憶装置56と、ドライバ57とで構成され、システムバスBに接続される。
CPU51は、メモリユニット52に格納されたプログラムに従って情報処理装置200を制御する。メモリユニット52は、RAM及びROM等にて構成され、CPU51にて実行されるプログラム、CPU51での処理に必要なデータ、CPU51での処理にて得られたデータ等を格納する。また、メモリユニット52の一部の領域が、CPU51での処理に利用されるワークエリアとして割り付けられている。
表示ユニット53は、CPU51の制御のもとに必要な各種情報を表示する。入力ユニット54は、マウス、キーボード等を有し、利用者が情報処理装置200が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット55は、情報処理装置200が例えばインターネット、LAN(Local Area Network)等を介して複数のネットワーク機器と接続される場合に、それら複数のネットワーク機器との間で通信制御をするための装置である。記憶装置56は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム、文書データ等を格納する。
情報処理装置200よって行われる印刷処理を実現するプログラムは、例えば、CD−ROM等の記憶媒体58によって情報処理装置200に提供される。即ち、プログラムが保存された記憶媒体58がドライバ57にセットされると、ドライバ57が記憶媒体58からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置56にインストールされる。そして、プログラムが起動されると、記憶装置56にインストールされたプログラムに従ってCPU51がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る印刷処理を実現するプログラムは、通信ユニット55によってネットワークを介してダウンロードし、記憶装置56にインストールするようにしても良い。
以下、上述したような図1に示すハードウェア構成を有する情報処理装置200がWebサービスを提供するための機能構成例について説明する。ここで、Webサービスとは、ネットワーク機器からのHTTPリクエストによるサービス要求に応じて、情報処理装置200が所定の処理を行ない、その処理結果をHTTPレスポンスとしてネットワーク機器へ提供することを言う。
以下、SOAP及びHTMLによるWebサービスの提供を可能とする情報処理装置200の機能構成について図2で説明する。図2は、Webサービスを提供する情報処理装置の機能構成例を示す図である。情報処理装置200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
図2において、情報処理装置200は、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49とHDD1303等とを有する。複数のWebサービス提供処理部40及び49は、夫々Webサービスファンクション(WSF)を有する。
図2に示す機能構成例の場合、ファイル管理Webサービス提供処理部40は、Webサービスファンクション(WSF)として、HDD1303に蓄積される文書(ファイル)を管理するファイル管理実行部400を有する。
Webサーバー500は、HTTPに従った通信制御を行うhttpd2と、HTTPリクエストに対応するWebサービス提供処理部40又は49へ処理を分配するディストリビューター(Distributor)30と、ネットワーク15を介して受信したGET METHOD又はPOST METHODによるHTTPリクエストを処理するHTTPリクエスト処理部501と、HTTPリクエストで示されるWebサービスの処理をファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60Bと、ファイル管理実行部400から通知される処理結果を示すHTML(Hypertext Markup Language)24を作成するHTML作成部502とを有する。ここで、HTTPリクエストはHTTPに従ったデータ通信によって、Webサービスを要求することを示し、HTTPレスポンスは該Webサービスの処理結果を通知する応答を示す。
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPを指定するHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPを指定しないHTTPリクエストである場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
更に、HTML作成部502は、XML処理部50によって生成されたXMLを所定のXSL(eXtensible Stylesheet Language)25を用いてHTMLフォーマットに変換するXSLプロセッサ503を有する。また、XMLで記述されたメッセージを処理するXML処理部50と、SOAPに従ってメッセージ交換を行うSOAP処理部70とを有する。XML処理部50と、SOAP処理部70とは、複数のWebサービス提供処理部40及び49とで共有される。
XML処理部50は、SOAPを指定するHTTPレスポンスのボディ部の生成方法と同様に、SOAPを指定しないHTTPレスポンスのボディ部をXMLで記述して生成する。更に、SOAP処理部70は、Webサービスの処理内容を示す処理メッセージに基づいてファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60Aを有する。
なお、情報処理装置200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。この場合、SOAP処理部70は、複数のWebサービス提供処理部の夫々の実行部に処理を振り分ける複数のディスパッチャー60Aを備えるようにする。また、それら複数のWebサービス提供処理部によって、XML処理部50及びSOAP処理部70は共有される。同様に、複数のディスパッチャー60Bが複数のWebサービス提供処理部に対応させて備えられる。
また、ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10Aは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Aに表示させる出力データとを制御する入出力制御部11Aと、情報処理装置200に対するWebサービスの処理内容及び情報処理装置200からのWebサービスの処理結果をXMLによって処理するXML処理部13と、HTTPに従ったリクエストの生成及びレスポンスを解析するリクエスト/レスポンス処理部14とを有する。ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10Bは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Bに表示させる出力データとを制御する入出力制御部11Bを有し、HTTPに従ったリクエストの生成及びレスポンスを表示するWebブラウザ23を有する。
先ず、ネットワーク機器10Aからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Aを利用する利用者は、所望のWebサービスを情報処理装置200へ要求するための画面から情報処理装置200へ要求する(ステップS101)。利用者によるWebサービスの要求に応じて、入出力制御部11Aは、リクエスト/レスポンス処理部14へ要求データを通知する(ステップS102)。リクエスト/レスポンス処理部14は、入出力制御部11からの要求データに基づいてHTTPリクエストを生成し(ステップS103)、XML処理部13が処理内容をXMLによってHTTPリクエストのボディ部に記述すると、SOAP処理部12によってSOAPに従ってHTTPリクエストがネットワーク15を介して情報処理装置200へ送信される(ステップS104)。
情報処理装置200のWebサーバー500は、httpd2によってHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS105)。例えば、HTTPリクエストのヘッダ部でファイル管理Webサービス提供処理部40が指定されていた場合、ファイル管理Webサービス提供処理部40がディストリビューター30によって関数コールされる。
ファイル管理Webサービス提供処理部40において、SOAP処理部70は、HTTPリクエストをSOAPに従って処理して、SOAPヘッダ部で指定されるファイル管理実行部400に処理を振り分けるディスパッチャー60Aに通知する(ステップS106)。ディスパッチャー60Aは、HTTPリクエストのヘッダ部で処理内容を振り分けて、XML処理部50に通知する(ステップS107)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージをファイル管理実行部400で解釈可能な記述に変換してファイル管理実行部400を実行する(ステップS108)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS109)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
処理結果を取得したファイル管理実行部400はXML処理部50へその処理結果を通知する(ステップS110)。XML処理部50は、通知された処理結果をXMLで記述したXML26を生成してHTTPレスポンスのボディ部をに設定するために、SOAP処理部70に通知する(ステップS111)。そして、Webサーバー500は、httpd2を介してXMLで記述された処理結果をボディ部とするSOAPに従ったHTTPレスポンスをネットワーク機器10Aに送信する(ステップS112)。
ネットワーク機器10AにてHTTPレスポンスが受信されると、XML処理部13は、HTTPレスポンスのボディ部を解析して処理結果を取得し(ステップS113)、リクエスト/レスポンス処理部14は、その取得した処理結果をモニタ9Aに表示させる出力データとして入出力制御部11Aに渡す(ステップS114)。そして、入出力制御部11Aは、受け取った出力データをモニタ9Aに表示させるように制御する(ステップS115)。
上記より、ネットワーク機器10Aは、予め取り決めておいたXMLによる記述形式に従ってHTTPリクエストのボディ部に処理内容を記述することによって、情報処理装置200に対して遠隔地からWebサービスの要求を行うことができる。また、情報処理装置200は、予め取り決めておいたXMLによる記述形式に従ってHTTPレスポンスのボディ部に処理結果を記述することによって、遠隔地にあるネットワーク機器10Aに対してWebサービスの提供を行うことが可能となる。情報処理装置200は、ネットワーク15を介して、複数のネットワーク機器10Aに対して、Webサービスを提供することも可能である。
次に、ネットワーク機器10Bからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Bを利用する利用者は、モニタ9Bに表示されるWebサービスを情報処理装置200へ要求するための画面から情報処理装置200へ所望のWebサービスを要求し、入出力制御部11Bはその要求データを受信する(ステップS121)。Webブラウザ23は、入出力制御部11Bが受信した要求データに基づいて、GET METHOD又はPOST METHODによるHTTPリクエストを生成してネットワーク15を介して情報処理装置200へ送信する(ステップS122)。
情報処理装置200はネットワーク機器10BからHTTPリクエストを受信すると、Webサーバー500によってHTTPリクエストを解析する。つまり、ネットワーク通信制御を行うhttpd2がHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定される、例えば、メソッド(GET METHOD又はPOST METHOD)に応じた解析がなされるようにHTTPリクエストがHTTPリクエスト処理部501に分配される(ステップS123)。
HTTPリクエスト処理部501は、メソッドに応じてボディ部から処理内容を取得し、例えば、ヘッダ部でURL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)によってファイル管理Webサービスが指定されている場合、ディスパッチャー60Bによって、ファイル管理実行部400へ処理内容に応じた処理の振り分けを行う(ステップS124)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS125)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
処理結果を取得したファイル管理実行部400はXML処理部50へその処理結果を通知する(ステップS126)。XML処理部50は、SOAPによるHTTPレスポンスのボディ部を生成するのと同様に、通知された処理結果をXMLで記述したXML26を生成して、HTTPレスポンスのボディ部に設定するために、Webサーバー500のHTML作成部502に通知する(ステップS127)。HTML作成部502は、XSLプロセッサ503によって所定のXSL25を用いてHTMLフォーマットに変換したHTML24を生成し、httpd2にHTML24の送信を依頼する(ステップS128)。httpd2は、httpに従ってHTML24をネットワーク機器10Bへ送信する(ステップS129)。
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11Bによってモニタ9BへHTML24を表示させる(ステップS130)。
上記より、ネットワーク機器10Bは、情報処理装置200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザ23を利用するのみで、情報処理装置200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、Webサーバー500に、各Webサービスの実行部における処理の特性に応じてXSL25を備えるようにすることで、ネットワーク機器10Bへ処理結果を表示する際にWebサービス毎の表示画面を提供することが可能となる。
従って、情報処理装置200は、SOAPに従ってメッセージ交換を行うことができるネットワーク機器10Aと、Webブラウザ23を有するネットワーク機器10Bとに対して、同じファイル管理実行部400によるWebサービスの提供を行うことができる。ファイル管理実行部400を有するファイル管理Webサービス提供処理部40が、プロトコルの異なる処理リクエストによって共有することができるため、処理リクエストのプロトコル毎にファイル管理Webサービス提供処理部40を開発する必要がない。
また、情報処理装置200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
情報処理装置200とネットワーク機器10との間でSOAPに従ってメッセージ交換するHTTPリクエスト及びHTTPレスポンスについて図3及び図4で説明する。図3は、SOAPによるHTTPリクエストの例を示す図である。図3に示すHTTPリクエストにおいて、URI(Uniform Resource Indicator)16は、POSTメソッドによってHTTPリクエストが送信されるURIを示し、例えば、「netdoc」である。更に、SOAPAction17でリクエストの目的を表すURIが示され、例えば、「http://foo.bar.com/netdoc/filemanagement」によって「ファイル管理」が指定される。
図2の情報処理装置200のhttpd2のディストリビューター30は、SOAPAction17で指定される「filemanagement」により、ファイル管理Webサービス提供処理部40にHTTPリクエストを分配する。ファイル管理Webサービス提供処理部40は、SOAP処理部70によってSOAPに従ってHTTPリクエストを処理する。SOAP処理部70において、ディスパッチャー60Aは、SOAPAction17で指定される「filemanagement」により、ファイル管理実行部400に処理を振り分ける。また、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ18を解析する。例えば、メッセージ18は、<ns:filemanagement>から</ns:filemanagement>までに示される。「filemanagement」は、コマンドを示す。メッセージ18によって要求される処理内容は、<fileId>から</fileId>によって指定されるファイルID「123」を、<operationCode>から</operationCode>によって指定されるオペレーションコード「3」の処理を行うことを示している。例えば、オペレーションコード「3」はファイル削除、オペレーションコード「1」はファイル追加、オペレーションコード「2」はファイル編集を要求する。
この場合、ディスパッチャー60Aによって処理が振り分けられたファイル管理実行部400は、XML処理部50によって解析された処理内容に従って、HDD1303からフィルID「123」の文書を削除する。
なお、上記例は、一つのコマンド「filemanagement」で、<operationCode>の設定によってファイルの管理方法を指定しているが、ファイル管理の処理を細分し、例えば、ファイル追加Webサービス、ファイル編集Webサービス、及び、ファイル削除Webサービス等のように複数のWebサービスをWebサービスファンクションとしてWebサービス処理アプリ1215に備えるようにしても良い。この場合、例えば、「fileadd」、「fileedit」、「filedelete」のように、Webサービス毎に一意に対応するコマンドがXMLメッセージ18に設定されるようにすることによって、<operationCode>によるオペレーションコードが不要となる。
図4は、SOAPによるHTTPレスポンスの例を示す図である。図4に示すHTTPレスポンスは、ファイル管理Webサービス提供処理部40のSOAP処理部70によって、ファイル管理実行部400の処理結果に基づいて作成される。図4に示すHTTPレスポンスにおいて、SOAP処理部70は、ファイル管理Webサービス提供処理部40の処理結果に基づいて、ステータスコード20として「200」と、説明句21として「OK」を設定する。更に、XML処理部50は、SOAPエンベロープのボディ(<SOAP-ENV:Body>から</SOAP-ENV:Body>まで)にXMLによって記述されるメッセージ22を生成する。コマンド「filemanagement」のレスポンスは、<ns:filemanagementResponse>から</ns:filemanagementResponse>で示され、例えば、<requestId>と</requestId>とのよってリクエストID「10」が設定される。このHTTPレスポンスを受信したネットワーク機器10Aは、XML処理部13によるXMLによって記述されたメッセージ22を処理することによって、処理が正常に行われたことを確認する。
次に、一つのWebサービス提供処理部の複数のメソッドを組み合せて実行する複合Webサービス提供処理部を有する情報処理装置200について説明する。図5は、複合Webサービスを有する情報処理装置の例を説明するための機能構成例を示す図である。図5において、図1に示す情報処理装置200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。情報処理装置200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
図5において、情報処理装置200は、主に、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40、他Webサービス提供処理部49及び複合Webサービス提供処理部90と、XMLで記述されたメッセージを処理するXML処理部50と、ネットワーク機器10との間でSOAPに従うメッセージ交換を制御するSOAP処理部70とHDD1303と等とを有する。XML処理部50とSOAP処理部70とは、複数のWebサービス提供処理部40、49及び90とで共有される。
Webサーバー500は、HTTPに従った通信制御を行うhttpd2と、HTTPリクエストに対応するWebサービス提供処理部へ処理を分配するディストリビューター(Distributor)30と、ネットワーク15を介して受信したGET METHOD又はPOST METHODによるHTTPリクエストを処理するHTTPリクエスト処理部501と、HTTPリクエストで示されるWebサービスの処理を各Webサービス提供処理部毎に処理を振り分けるディスパッチャー60B及び68Bと、各Webサービス提供処理部40、90及び49から通知されるXMLで記述された処理結果をHTML24で作成するHTML作成部502とを有する。HTML作成部502は、XML処理部50によって生成されたXMLをHTMLフォーマットに変換するXSLプロセッサ503を有する。ここで、HTTPリクエストはHTTPに従ったデータ通信によって、Webサービスを要求することを示し、HTTPレスポンスは該Webサービスの処理結果を通知する応答を示す。
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPによるHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPによるHTTPリクエストでない場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
ファイル管理Webサービス提供処理部40は、HDD1303に蓄積されている文書を特定する文書IDのリストを取得する文書IDリスト取得メソッド401と、文書IDに対応するHDD1303に蓄積されている文書に関する書誌情報を取得する書誌情報取得メソッド402とを有する。メソッドは、ファイル管理Webサービス提供処理部40でのWebサービスの処理の単位を示し、ファイル管理Webサービス提供処理部40は、複数のメソッドによって図1に示すWebサービスファンクションを構成し、ネットワーク機器10A又は10Bからの要求に応じたWebサービスの提供を行う。図2に示される第一機能構成例の場合、複数のメソッドとして、文書IDリスト取得メソッド401と書誌情報取得メソッド402とに限定されるものではなく、これらメソッド以外に複数のメソッドを構成することも可能である。
複合Webサービス提供処理部90の文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401を利用して文書IDのリストを取得する文書IDリスト取得部801と、書誌情報取得メソッド402を利用して文書IDに対応する書誌情報を取得する書誌情報取得部802と、取得した書誌情報に基づいて文書一覧を作成する文書一覧作成部803とを有する。文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401及び書誌情報取得メソッド402を利用しているため、それらメソッドの実体を備えてはいない。よって、文書一覧作成複合メソッド800を実現するために開発される部分は、主に、文書一覧作成部803のみである。そのため、開発効率を大幅に削減することができる。また、複合Webサービス提供処理部90は、文書一覧作成複合メソッド800のような処理単位及びメソッドの実体を備えたメソッドによる処理単位を複数有する集合体を図1に示すWebサービスファンクションとして構成する。
SOAP処理部70は、更に、各Webサービス提供処理部40及び90に処理を振り分けるディスパッチャー(Dispatcher)60A、68A等を有し、例えば、ファイル管理Webサービス提供処理部40の各メソッド401又は402へ処理を振り分けるディスパッチャー60Aと、複合Webサービス提供処理部90の文書一覧作成複合メソッド800に対して処理を振り分けるディスパッチャー68Aと、他Webサービス提供処理部49のメソッドに対して処理を振り分ける他のディスパッチャー(図示せず)とを有する。なお、情報処理装置200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と、複合Webサービス提供処理部90と、他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。また、それら複数のWebサービス提供処理部によって、XML処理部50及びSOAP処理部70は共有される。
また、ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10A及びネットワーク機器10Bの機能構成は、図2に示すネットワーク機器10A及びネットワーク機器10Bと同様であるため、その説明を省略する。
先ず、ネットワーク機器10Aからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Aを利用する利用者は、所望のWebサービスを情報処理装置200へ要求するための画面から情報処理装置200へ要求する(ステップS31)。例えば、利用者は、情報処理装置200のHDD1303に蓄積された文書の一覧を提供するWebサービスをモニタ9Aの画面から要求したとする。利用者によるWebサービスの要求に応じて、入出力制御部11Aは、リクエスト/レスポンス処理部14へ要求データを通知する(ステップS32)。リクエスト/レスポンス処理部14は、入出力制御部11からの要求データに基づいてリクエストを生成し、生成したリクエストをSOAP処理部12に通知する(ステップS33)。SOAP処理部12は、XML処理部13利用者が所望するWebサービスの処理内容をXMLによってHTTPリクエストのボディ部を記述し、SOAPに従ってHTTPリクエストを生成する。そして、該HTTPリクエストをネットワーク15を介して情報処理装置200へ送信する(ステップS34)。
情報処理装置200のhttpd2は、HTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS35)。例えば、HTTPリクエストのヘッダ部で複合Webサービス提供処理部90が指定されていた場合、複合Webサービス提供処理部90がディストリビューター30によって実行される。
複合Webサービス提供処理部90は、SOAPに従ったHTTPリクエストを処理するために、SOAP処理部70に受信したHTTPリクエストを通知する(ステップS36)。SOAP処理部70は、SOAPに従ってHTTPリクエストを処理し、ディスパッチャー68は、HTTPリクエストのヘッダ部で指定される文書一覧作成複合メソッド800に処理を振り分けて、HTTPのメソッドに応じてXML処理部50を実行する(ステップS37)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージを文書一覧作成複合メソッド800で解釈可能な記述に変換して、文書一覧作成複合メソッド800に通知する(ステップS38)。
文書一覧作成複合メソッド800は、先ず、文書IDリスト取得部801によって、ファイル管理Webサービス提供処理部40の文書IDリスト取得メソッド401を関数コールする(ステップS39)。文書IDリスト取得メソッド401は、HDD1303で管理している文書を識別する文書IDを取得して文書IDリストを作成する。この場合、文書IDリスト取得メソッド401(listID(docIDList))は、文書ID「101」、「102」、「103」とを取得したとすると、文書IDリスト(docIDList)を、docIDList={101, 102, 103, 0}(「0(ゼロ)」は終了を示す)のように設定し文書IDリスト取得部801に通知する(ステップS40)。
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS41)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
コールされた書誌情報取得メソッド402は、HDD1303に対して指定された文書IDで書誌情報を問い合わせ、該書誌情報を書誌情報取得部802へ通知する(ステップS42)。つまり、書誌情報取得メソッド402は、書誌情報取得部802から通知された文書ID「101」でHDD1303から書誌情報を取得する。そして、書誌情報取得メソッド402は、書誌情報取得部802へ通知するための書誌情報を作成する。例えば、書誌情報は、prop={文書ID, 文書名, ページ数, 所有者, 0}(「0(ゼロ)」は書誌情報の終了を示す)として作成され、この場合、prop={101, "蓄積文書1", 3, "ユーザー1", 0}のように文書ID「101」に対して設定される。書誌情報取得メソッド402は、指定された文書IDに対する書誌情報の作成結果を文書一覧作成複合メソッド800の書誌情報取得部802へ通知する。
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
文書一覧作成複合メソッド800は、更に、文書一覧作成部803によって、文書一覧を作成し、その文書一覧をXMLで記述するためにXML処理部50へ通知する(ステップS43)。つまり、文書一覧作成部803は、文書一覧を、例えば、docList={{101, "蓄積文書1", 3, "ユーザー1",0},{102, "蓄積文書2", 10, "ユーザー2",0},{103, "蓄積文書3", 1, "ユーザー1",0},0}のように作成する。この作成された文書一覧(docList)がXML処理部50に通知される。XML処理部50は、文書一覧(docList)を受け取ると、XMLで記述したXML26を生成してSOAP処理部70へ通知する(ステップS44)。SOAP処理部70は、XMLで記述された文書一覧を受け取ると、HTTPレスポンスのボディ部に受け取ったXMLで記述された文書一覧を設定してSOAPに従ってHTTPレスポンスを生成する(ステップS45)。
このような機能構成例において、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Aは、情報処理装置200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
更に、図5において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10からHTTPリクエストを受信すると(ステップS34),ディストリビューター30は、HTTPリクエストのヘッダ部で指定される書誌情報取得のWebサービスの要求に応じて、ファイル管理Webサービス提供処理部40の書誌情報取得メソッド402へ受信したHTTPリクエストを分配する(ステップS35−3)。
ファイル管理Webサービス提供処理部40は、SOAPに従ったHTTPリクエストを処理するために、SOAP処理部70に受信したHTTPリクエストを通知する(ステップS36−3)。SOAP処理部70は、SOAPに従ってHTTPリクエストを処理し、ディスパッチャー60Aは、HTTPリクエストのヘッダ部で指定される書誌情報取得メソッド402に処理を振り分けて、HTTPのメソッドに応じてXML処理部50を実行する(ステップS37−3)。XML処理部50は、XMLで記述されたHTTPリクエストのボディ部において処理内容を示すメッセージを書誌情報取得メソッド402で解釈可能な記述に変換して、書誌情報取得メソッド402に通知する(ステップS38−3)。
書誌情報取得メソッド402は、HDD1303で管理している文書に対して、XML処理部50で処理されたメッセージで指定される文書IDで書誌情報を問い合わせて、その書誌情報をXMLで記述するためにXML処理部50へ通知する(ステップS43−3)。XML処理部50では、書誌情報をXMLで記述したXML26が生成される。更に、SOAP処理部70において、HTTPレスポンスのボディ部にXML26を設定してSOAPに従ってHTTPレスポンスが生成され(ステップS45―3)、httpd2からネットワーク機器10へ送信される(ステップS46−3及びS47)。
このように、情報処理装置200は、ネットワーク機器10Aからの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
よって、情報処理装置200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
次に、ネットワーク機器10Bからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Bを利用する利用者は、モニタ9Bに表示されるWebサービスを情報処理装置200へ要求するための画面から情報処理装置200へ所望のWebサービスを要求し、入出力制御部11Bはその要求データを受信する(ステップS51)。Webブラウザ23は、入出力制御部11が受信した要求データに基づいて、GET METHOD又はPOST METHODによるHTTPリクエストを生成してネットワーク15を介して情報処理装置200へ送信する(ステップS52)。例えば、Webブラウザ23は、
GET /documentList.cgi HTTP/1.1
のようなGETメソッドによるHTTPリクエストを送信する。
情報処理装置200のWebサーバー500のhttpd2が、ネットワーク機器10から受信したHTTPリクエストを受信すると、ディストリビューター30は、HTTPリクエストのGETメソッドに基づいてGETメソッドによるHTTPリクエストを処理するHTTPリクエスト処理部501に該HTTPリクエストを分配する(ステップS53)。HTTPリクエスト処理部501は、ディスパッチャー68によって、HTTPリクエストのヘッダ部で指定される文書一覧作成複合メソッド800に処理を振り分ける(ステップS54)。例えば、「documentList.cgi」によって、「documentList.cgi」に相当する文書一覧作成複合メソッド800が実行される。
文書一覧作成複合メソッド800は、先ず、文書IDリスト取得部801によって、ファイル管理Webサービス提供処理部40の文書IDリスト取得メソッド401を関数コールする(ステップS55)。文書IDリスト取得メソッド401は、HDD1303で管理している文書を識別する文書IDを取得し(ステップS56)、文書IDリストを作成する。この場合、文書IDリスト取得メソッド401(listID(docIDList))は、文書ID「101」、「102」、「103」とを取得したとすると、文書IDリスト(docIDList)を、docIDList={101, 102, 103, 0}(「0(ゼロ)」は終了を示す)のように設定し文書IDリスト取得部801に通知する(ステップS57)。
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS58)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
コールされた書誌情報取得メソッド402は、HDD1303に対して指定された文書IDで書誌情報を問い合わせ、該書誌情報を書誌情報取得部802へ通知する(ステップS59)。つまり、書誌情報取得メソッド402は、書誌情報取得部802から通知された文書ID「101」でHDD1303から書誌情報を取得する。そして、書誌情報取得メソッド402は、書誌情報取得部802へ通知するための書誌情報を作成する。例えば、書誌情報は、prop={文書ID, 文書名, ページ数, 所有者, 0}(「0(ゼロ)」は書誌情報の終了を示す)として作成され、この場合、prop={101, "蓄積文書1", 3, "ユーザー1", 0}のように文書ID「101」に対して設定される。書誌情報取得メソッド402は、指定された文書IDに対する書誌情報の作成結果を文書一覧作成複合メソッド800の書誌情報取得部802へ通知する。
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
文書一覧作成複合メソッド800は、更に、文書一覧作成部803によって、文書一覧を作成し、その文書一覧をXMLで記述するためにXML処理部50へ通知する(ステップS60)。つまり、文書一覧作成部803は、文書一覧を、例えば、docList={{101, "蓄積文書1", 3, "ユーザー1",0},{102, "蓄積文書2", 10, "ユーザー2",0},{103, "蓄積文書3", 1, "ユーザー1",0},0}のように作成する。この作成された文書一覧(docList)がXML処理部50に通知される。XML処理部50は、文書一覧(docList)を受け取ると、SOAPに従ったHTTPレスポンスのボディ部の生成と同様の記述方法によって、XMLで記述したXML26を生成してWebサーバー500へ通知する(ステップS61)。通知を受けると、Webサーバー500は、HTML作成部502を実行する。HTML作成部502は、XSLプロセッサ503によって、所定のスタイルリストを示すXSL25に基づいて、XML26をHTMLフォーマットに変換する。HTML作成部502は、このHTMLフォーマットに従う処理結果を示すHTML24によるHTTPレスポンスを作成し、httpd2へ該HTTPレスポンスの送信を要求する(ステップS62)。httpd2は、HTTPレスポンスをネットワーク15を介してネットワーク機器10Bへ送信する(ステップS63)。
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11によってモニタ9へHTML24を表示させる(ステップS64)。
更に、図5において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10BからHTTPリクエストを受信すると(ステップS52),ディストリビューター30は、HTTPリクエストのGETメソッドに基づいてGETメソッドによるHTTPリクエストを処理するHTTPリクエスト処理部501に該HTTPリクエストを分配する(ステップS53)。HTTPリクエスト処理部501は、ディスパッチャー60によって、HTTPリクエストのヘッダ部で指定される書誌情報取得メソッド402に処理を振り分ける(ステップS54−3)。
書誌情報取得メソッド402は、HDD1303で管理している文書に対して、HTTPリクエストによって指定される文書IDで書誌情報を問い合わせ、書誌情報を作成し、その書誌情報をXMLで記述したXML26を生成するためにXML処理部50へ通知する(ステップS60−3)。以後、上述したステップS61からS63の処理によって、書誌情報がネットワーク機器10Bに提供される。
このように、情報処理装置200は、ネットワーク機器10からの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
よって、情報処理装置200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
上記機能構成例において、ネットワーク機器10Bは、情報処理装置200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザを利用するのみで、情報処理装置200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、複数のメソッドの組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Bは、情報処理装置200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
更に、このような複合Webサービス提供処理部90が、プロトコルの異なる処理リクエストによって共有することができる。従って、処理リクエストのプロトコル毎に複合Webサービス提供処理部90を開発する必要がない。
また、上記機能構成例において、情報処理装置200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
図5に示すXML処理部50は、文書一覧(docList)を、例えば、図6に示すようなXMLで記述する。図6は、XML処理部にてXMLで記述された文書一覧の例を示す図である。図6より、記述53は文書ID「101」の書誌情報を示し、記述54は文書ID「102」の書誌情報を示し、記述55は文書ID「103」の書誌情報を示す。例えば、記述53において、文書ID「101」の書誌情報は、文書名が「蓄積文書1」、ページ数が「3」ページ、所有者が「ユーザー1」であることを示している。
また、ネットワーク機器10AのSOAP処理部12で作成され、情報処理装置200へ送信されるHTTPリクエストは、例えば、図7に示すように記述される。図7は、SOAPによるHTTPリクエストの例を示す図である。図7は、SOAPによるHTTPリクエストの例を示す図である。図7に示すHTTPリクエストのHTTPヘッダ部73おいて、URI74は、POSTメソッドによってHTTPリクエストが送信されるURIを示し、例えば、「netdoc」である。更に、SOAPAction75でリクエストの目的を表すURIが示され、例えば、「http://foo.bar.com/netdoc/documentList」によって「文書一覧」が指定される。情報処理装置200のhttpd2がHTTPリクエストを受信し、SOAP処理部70がHTTPヘッダ部75を解析する。SOAP処理部70は、<SOAP-ENV:Envelope>から</SOAP-ENV:Envelope>を解析し、<ns:documentList>から</ns:documentList>までのXMLで記述された処理内容を示すメッセージを取得する。このXMLメッセージは、XMLメッセージにおいて、例えば、<listtype>に設定されている"1"が全ての文書について一覧を作成することを示す場合、文書一覧作成複合メソッド800は、そのメッセージの指示に基づいて、文書IDリスト取得部801と、書誌情報取得部802と、文書一覧作成部803とによって、情報処理装置200にて管理される全文書の一覧を取得する。
文書一覧は、XML処理部50でXMLにて記述された後、SOAP処理部70でHTTPレスポンスが作成され、例えば、図8に示すようなHTTPレスポンスを生成する。図8は、SOAPによるHTTPレスポンスの例を示す図である。図8に示すHTTPレスポンスの例において、SOAP処理部70は、HTTPヘッダ部78を作成し、更に、HTTPボディ部79を作成する。HTTPボディ部79として、<SOAP-ENV:Envelope>から</SOAP-ENV:Envelope>が作成される。<ns:documentListResponse>から</ns:documentListResponse>までに示されるメッセージ91は、XML処理部50によって文書一覧作成複合メソッド800からの文書一覧をXMLで記述したメッセージである。
このようなHTTPレスポンスがネットワーク機器10Aへ通知され、SOAP処理部12によって<SOAP-ENV:Body>から</SOAP-ENV:Body>にメッセージ91を取り出し、その取り出されたメッセージ91は、XML処理部13によってモニタ9Aに表示すべき文書一覧情報を取り出してリクエスト/レスポンス処理部14に通知される。更に、文書一覧情報はリクエスト/レスポンス処理部14によって画面データとして処理され、例えば、図10に示すように、入出力制御部11Aによってモニタ9Aに表示される。
一方、図6に示すXMLで記述された文書一覧は、XSL25に基づいて、HTML作成部502のXSLプロセッサ503によって、図9に示すようなHTMLで記述された文書一覧に変換される。図9は、HTML作成部にてHTMLで記述された文書一覧の例を示す図である。図9において、記述93は、HTTPレスポンスのヘッダ部を示し、記述99は、HTTPレスポンスのボディ部を示す。
記述99において、記述94は、HTMLのヘッダ部を示し、ネットワーク機器10Bの利用者が要求したWebサービスに対応するタイトル「文書一覧」を表示するための記述である。記述95は、文書一覧の項目名を表示するための記述である。記述96は、図6に示すXMLによる記述53がHTMLに変換された記述である。記述97は、図6に示すXMLによる記述54がHTMLに変換された記述である。記述98は、図6に示すXMLによる記述55がHTMLに変換された記述である。
このようにHTMLに変換された記述によって、ネットワーク機器10Bのモニタ9Bには、図10に示されるような画面が表示される。図10は、ネットワーク機器側に表示される画面例を示す図である。図10に示される画面92において、文書名、ページ数、所有者等の項目名に対応させて、文書一覧が表示される。また、SOAPに従ったHTTPレスポンスによっても、ネットワーク機器10Aのモニタ9Aには、同様の画面が表示される。
以上より、本発明に係る情報処理装置200は、WebサービスをSOAPによるメッセージ交換によって可能とすると共に、HTMLによる提供をも可能とする。よって、ネットワーク機器10A及び10Bの利用者に対して同様のWebサービスを提供することができる。
また、SOAPを指定したHTTPリクエストに対しても、SOAPを指定しないHTTPリクエストに対しても、同一のWebサービスファンクションを実行することができる。更に、SOAPを指定したHTTPレスポンスに対しても、SOAPを指定しないHTTPレスポンスに対しても、XML処理部50にて生成されたXML26を使用してボディ部を生成することができる。
上記実施例において、同一のWebサービスファンクションでSOAP対応とWebブラウザ対応とを可能とする例を説明したが、その他にネットワーク機器との間で独自に取り決めた独自プロトコルにも対応するように、異なる3のプロトコルに対応することも可能である。例えば、HTTPリクエスト及びHTTPレスポンスのボディ部に独自に取り決めたXMLによる記述を設定した独自プロトコルによってネットワーク機器に同一のWebサービスを提供するようにしても良い。
本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。 Webサービスを提供する情報処理装置の機能構成例を示す図である。 SOAPによるHTTPリクエストの例を示す図である。 SOAPによるHTTPレスポンスの例を示す図である。 複合Webサービスを有する情報処理装置の例を説明するための機能構成例を示す図である。 XML処理部にてXMLで記述された文書一覧の例を示す図である。 SOAPによるHTTPリクエストの例を示す図である。 SOAPによるHTTPレスポンスの例を示す図である。 HTML作成部にてHTMLで記述された文書一覧の例を示す図である。 ネットワーク機器側に表示される画面例を示す図である。
符号の説明
2 httpd(Hypertext Transfer Protocol Daemon)
30 ディストリビューター
40〜49 Webサービス提供処理部
50 XML処理部
51 CPU
52 メモリユニット
53 表示ユニット
54 入力ユニット
55 通信ユニット
56 記憶装置
57 ドライバ
58 記憶媒体
60A、60B ディスパッチャー
70 SOAP処理部
200 情報処理装置
B システムバス

Claims (2)

  1. SOAPに従ったリモートプロシジャコールによって装置自身に関する内部情報の処理をWebサービスとして実行する複数のWebサービス実行手段を備えた情報処理装置であって、
    上記複数のWebサービス実行手段による各処理の特性に応じた書式スタイルと、
    上記Webサービス実行手段から出力された処理結果を所定記述形式で記述する処理結果記述手段と、
    上記書式スタイルを用いて上記記述形式からHTMLで記述された処理結果へと変換する変換手段と、
    上記SOAPと異なる上記HTMLで、上記処理結果を上記Webサービスの要求元へ送信する送信手段とを有することを特徴とする情報処理装置。
  2. HTTPによるGET又はPOST METHODの受信に応じて、ヘッダ部で指定されるWebサービス位置情報に対応する上記Webサービス実行手段を実行することを特徴とする請求項1記載の情報処理装置。
JP2007125941A 2002-03-25 2007-05-10 Webサービス機能を有する情報処理装置 Expired - Lifetime JP4698635B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007125941A JP4698635B2 (ja) 2002-03-25 2007-05-10 Webサービス機能を有する情報処理装置

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2002084556 2002-03-25
JP2002084556 2002-03-25
JP2002084555 2002-03-25
JP2002084555 2002-03-25
JP2002327061 2002-11-11
JP2002327061 2002-11-11
JP2007125941A JP4698635B2 (ja) 2002-03-25 2007-05-10 Webサービス機能を有する情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003074120A Division JP4621879B2 (ja) 2002-03-25 2003-03-18 Webサービス機能を有する情報処理装置

Publications (2)

Publication Number Publication Date
JP2007234052A true JP2007234052A (ja) 2007-09-13
JP4698635B2 JP4698635B2 (ja) 2011-06-08

Family

ID=38554510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007125941A Expired - Lifetime JP4698635B2 (ja) 2002-03-25 2007-05-10 Webサービス機能を有する情報処理装置

Country Status (1)

Country Link
JP (1) JP4698635B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232899A (ja) * 1996-12-17 1998-09-02 Fuji Xerox Co Ltd サービス連携方法とサービス連携装置およびそれらの実施に利用できるパーツ生成管理方法
JP2001060187A (ja) * 1999-08-24 2001-03-06 Nippon Telegr & Teleph Corp <Ntt> 分散サーバ連携システムおよび連携方法、ならびにそのプログラムを記録した記録媒体
FR2813471A1 (fr) * 2000-08-31 2002-03-01 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232899A (ja) * 1996-12-17 1998-09-02 Fuji Xerox Co Ltd サービス連携方法とサービス連携装置およびそれらの実施に利用できるパーツ生成管理方法
JP2001060187A (ja) * 1999-08-24 2001-03-06 Nippon Telegr & Teleph Corp <Ntt> 分散サーバ連携システムおよび連携方法、ならびにそのプログラムを記録した記録媒体
FR2813471A1 (fr) * 2000-08-31 2002-03-01 Schneider Automation Systeme de communication d'un equipement d'automatisme base sur le protocole soap
JP2002223211A (ja) * 2000-08-31 2002-08-09 Schneider Autom Soapプロトコルに基づいたコントローラ装置用通信システム

Also Published As

Publication number Publication date
JP4698635B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
US20030225894A1 (en) Image forming apparatus including web service functions
EP1385312B1 (en) Information processing apparatus and information processing method
JP3681899B2 (ja) ネットワークプリンタの制御方法
JP3733673B2 (ja) ネットワーク対応型印刷装置及び印刷方法及びネットワーク印刷システム
JP2003091377A (ja) リファレンスによる印刷サービスの通信プロトコル
JP5448542B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2006507737A (ja) Webページを介してメディア・ファイルにアクセス可能にするための方法よび装置
JP2970521B2 (ja) 文書蓄積装置
JP3876588B2 (ja) プリンタ、プリンタの制御方法およびプリントシステム並びに記録媒体
JP4291856B2 (ja) Webサービス機能を有する画像形成装置
JP4621879B2 (ja) Webサービス機能を有する情報処理装置
JP4698635B2 (ja) Webサービス機能を有する情報処理装置
JP4141209B2 (ja) Webサービス機能を有する画像形成装置
JP4136738B2 (ja) Webサービス機能を有する画像形成装置
JP2004103008A (ja) 情報処理装置及び情報処理方法
JP2004103007A (ja) 情報処理装置及び情報処理方法
JP4291855B2 (ja) Webサービス機能を有する画像形成装置
JP3685186B2 (ja) ネットワーク印刷システム
EP1400898A2 (en) Image forming apparatus including web service functions
JP3473622B1 (ja) ネットワーク対応型印刷装置、印刷方法および印刷システム
JP5548433B2 (ja) Webサービス基盤システム
JP3878038B2 (ja) ジョブ生成装置、印刷装置、ジョブ生成方法、印刷方法、ジョブ生成プログラム、印刷プログラム、および、これらのプログラムを記録した記録媒体
JP4367141B2 (ja) 指示記述内容変更装置及び指示記述内容変更プログラム
JP2006020341A (ja) Webサービス機能を有する画像形成装置
US20020184335A1 (en) System and method for transferring selected imaging data from a digital camera

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

R150 Certificate of patent or registration of utility model

Ref document number: 4698635

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term