JP4621879B2 - Information processing apparatus having Web service function - Google Patents

Information processing apparatus having Web service function Download PDF

Info

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

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、利用者が使用するコンピュータ端末に、標準的なWebサービス対応ソフトウェアをインストールするだけでよく、また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、Webサービスの提供を可能とし、他の機器からの処理要求も統一的に処理することが可能となる情報処理装置を提供するものである。
【0002】
【従来の技術】
近年、コンピュータサーバーによるASP(アプリケーション・サービス・プロバイダ)事業の普及により、インターネット等のネットワークを介して種々アプリケーションによるサービスが行われるようになった。このようなASPによるサービスによって、利用者は、Webブラウザ付きのPC(Personal Computer)によって、ネットワークに接続するのみで、手軽にサービスを受けることができるようになった。このようなサービスを受けることによって、利用者が使用するPC毎にアプリケーションを実装する必要がなくなり、システムの開発コスト及び運用コストを削減することができた。
【0003】
【発明が解決しようとする課題】
上記従来のASPによるサービスの提供においては、利用者が使用しているPCのWebブラウザ上での利用者の操作に応じて情報を提供することを目的としている。しかしながら、近年、インターネット上の様々なコンピュータに分散されたアプリケーションによるサービスを相互に結び付け幅広いサービスの提供を実現するために、SOAP(Simple Objected Access Protocol)が提唱されるようになってきた。このような新しいプロトコルに対応するには、従来のWebブラウザ上での利用者の操作に応じて情報を提供するアプリケーションとは別に、SOAPをサポートするアプリケーションの開発をする必要があった。
【0004】
そこで、本発明の課題は、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく、ネットワークを介してインターネット標準の各種Webプロトコルを利用してアクセス可能なプログラマブルなアプリケーションコンポーネントとして利用できると共に、Webサービスの要求をWebブラウザから行うことを可能とする情報処理装置を提供することである。また、情報処理装置内又は情報処理装置と他装置間とにおいて、Webサービスが他Webサービスとやり取りする分散環境を実現する情報処理装置を提供する。
【0005】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項1に記載されるように、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、
モートプロシジャコールで実行できるように、Webサービス実行手段を異なるプロトコルで共有してWebサービスを実行し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該Webサービス実行手段を実行した処理結果を上記Webサービス通信制御手段へ提供する複数のWebサービス提供処理手段とを有し、
前記複数のWebサービス提供処理手段は、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手段を共有し、
上記プロトコル処理手段は、
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有し、
上記Webサービス通信制御手段は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段を有し、
上記Webサービス通信制御手段は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを上記プロトコル処理手段に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを前記第二振分手段に分配する分配手段を有し、
更に、当該情報処理装置は、
上記複数のWebサービス提供処理手段によって共有可能であって、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス実行手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手段を有するように構成される。
【0006】
このような情報処理装置では、ネットワークを介して接続された機器の機種又はオペレーティングシステムに依存することなく、例えば、SOAPからの第一プロトコルによる第一処理リクエストを受信した際には第一プロトコルによる第一処理レスポンスによって、或いは、例えば、Webブラウザ等からの第二プロトコルによる第二処理リクエストを受信した際には機器にて表示可能な表示形式に従って第二処理レスポンスによって処理結果をWebサービスとして提供することができる。従って、第一処理リクエスト及び第二処理リクエストのWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができるため、第一処理リクエスト及び第二処理リクエストの夫々にWebサービス提供処理手段を開発する必要がない。
このような情報処理装置では、Webサービスを提供するための処理の実体がWebサービス提供処理手段に独立してあるため、複数のプロトコル(例えば、SOAPと、HTTP及びHTML)に関する知識を必要としないWebサービス実行手段の開発を行うことができる。
このような情報処理装置では、第一処理リクエストを第一プロトコルに従って処理できると共に、複数のWebサービス提供処理手段によって共有されるため、各Webサービス提供処理手段を開発する際には、SOAP等の第一プロトコルに関する処理部の開発を削減することができる。
このような情報処理装置では、例えば、XML(eXtensible Markup Language)によって記述されたメッセージの処理を、複数のWebサービス提供処理手段によって共有可能となる。従って、各Webサービス提供処理手段を開発する際には、メッセージに関する処理部の開発を削減することができる。
このような情報処理装置では、第一プロトコルに従う第一処理リクエストと第一プロトコル以外の第二プロトコルに従うWebブラウザを利用した端末からの第二処理リクエストとを処理可能とするため、第一処理リクエスト及び第二処理リクエストによる同一のWebサービスの要求に対して、同一のWebサービス提供処理手段による処理結果をWebサービスとして提供することができる。
上記リクエスト種別とは、例えば、HTTPによるメソッドを示し、GET METHOD又はPOST METHOD等である。
上記特定情報とは、Webサービス実行手段を特定するような情報であって、例えば、URL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)である。
【0007】
上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
【0008】
上記内部情報は、情報処理についてのステータス情報、及び、機器本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
【0015】
第一プロトコルに従う第一処理リクエストと該第一プロトコル以外の第二プロトコルに従うWebブラウザを利用した端末からの第二処理リクエストの両方の処理を可能とするという観点において、本発明は、請求項に記載されるように、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段とを有するように構成することができる。
【0020】
複数のWebサービス提供処理手段へ処理を振り分けるという観点において、本発明は、請求項に記載されるように、上記複数のWebサービス提供処理手段の夫々に対応させて複数の上記第一振分手段と複数の上記第二振分手段とを有するように構成される。
【0021】
このような情報処理装置では、第一処理リクエスト及び第二処理リクエストのいずれによっても複数のWebサービス提供処理手段への処理の振り分けを可能とする。
【0022】
第二処理レスポンスの内容をネットワークを介して接続される機器にて表示可能とするという観点から、本発明は、請求項に記載されるように、上記Webサービス通信制御手段は、
上記第一処理リクエストに対する同一処理によって上記Webサービス提供処理手段から提供される上記第二処理リクエストに応じた上記処理結果を示す上記第二処理レスポンスを上記第二プロトコルで指定された表示形式に従って作成する表示形式作成手段を有するように構成される。
【0023】
このような情報処理装置では、機器からの第二処理リクエストに応じて実行されたWebサービスの処理結果を、該機器にて表示可能となるような処理レスポンスを作成することができる。よって、該情報処理装置は、例えば、汎用的なWebブラウザを有する機器に対してWebサービスを提供することができる。
【0024】
各Webサービス提供処理手段による処理結果を機器にて表示可能とするという観点から、本発明は、請求項に記載されるように、上記表示形式作成手段は、上記記述形式処理手段によって上記第一処理リクエストに応じた上記処理結果と同様に処理された上記第二処理リクエストに応じた上記処理結果を、上記記述形式の書式スタイルに基づいて、上記表示形式に従った上記処理結果に変換する記述形式変換手段を有するように構成することができる。
【0025】
このような情報処理装置では、各Webサービス提供処理手段による所定記述形式に従って処理された処理結果を、上記記述形式の書式スタイルに基づいて、機器にて表示可能な表示形式に従った上記処理結果に変換することができる。
【0026】
上記書式スタイルとは、例えば、XSL(eXtensible Stylesheet Language)である。この書式スタイルによって、上記記述形式変換手段は、XMLに従って記述された処理結果をHTMLに従って記述されるように変換することができる。
【0027】
また、上記課題を解決するため、本発明は、請求項に記載されるように、ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段と、
モートプロシジャコールで実行できるように、Webサービス実行手段を異なるプロトコルで共有してWebサービスを実行し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該Webサービス実行手段を実行した処理結果を上記Webサービス通信制御手段へ提供する複数のWebサービス提供処理手段と、
上記Webサービス提供処理手段を構成する上記一つ以上の処理単位を実行することによって上記内部情報を処理し、その処理結果を用いて付加処理を行った結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手段とを有し、
上記Webサービス通信制御手段は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを上記Webサービス提供処理手段又は複合Webサービス提供処理手段に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを上記処理単位に分配する分配手段を有し、
更に、当該情報処理装置は、
上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手段と、
上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手段とを有し、
上記プロトコル処理手段と上記記述形式処理手段とは、上記複数のWebサービス提供処理手段及び上記複合Webサービス提供処理手段によって共有されるように構成される。
【0028】
このような情報処理装置では、機器は、SAOP等の第一プロトコルによって又はHTTP及びHTML等の第二プロトコルによってWebブラウザを介して所定処理を実行することができるため、該機器に、該所定処理を実行させるために専用のドライバ等のソフトウェアをインストールする必要がない。また、機器は、その機種又はオペレーティングシステムに依存することなく該情報処理装置に対して該所定処理を実行させることができる。更に、複合Webサービス提供処理手段によって、Webサービスを提供するのに必要なWebサービス提供処理手段の複数の処理単位が組み合わされることによって制御されるため、機器は、各Webサービスの機能を意識することなく、1回の処理リクエストによって、複数のWebサービスによる最終的な処理結果のみを取得することができる。よって、装置間の通信回数及び制御処理を大幅に削減することが可能となる。
このような情報処理装置では、プロトコルが異なる第一処理リクエストと第二処理リクエストに対する処理が共有されると共に、複数のWebサービス提供処理手段及び複合Webサービス提供処理手段によってそれら処理が共有されるため、第一処理リクエストと第二処理リクエストとの夫々に応じた処理部を開発する必要がなく、また、複数のWebサービス提供処理手段と複合Webサービス提供処理手段との夫々に応じた処理部を開発する必要がない。従って、開発工数を大幅に削減することが可能となる。
上記所定記述形式は、例えば、XML(eXtensible Markup Language)である。
【0029】
上記第一プロトコルは、例えば、SOAP(Simple Object Access Protocol)である。また、上記第二プロトコルによる処理レスポンスは、例えば、HTML(Hypertext Markup Language)によって提供される。
【0030】
上記内部情報は、情報処理装置に関するステータス情報、及び、情報処理装置本体の設定を変更したりネットワークIPを変更したりする制御パラメータ等の情報を示す。
【0031】
複数の処理単位を組み合せて実行するという観点において、本発明は、請求項に記載されるように、上記複合Webサービス提供処理手段は、上記Webサービス提供処理手段の上記処理単位の組み合せを該複合Webサービス提供処理手段における処理単位として実行する少なくとも一つの複合処理実行手段とを有するように構成することができる。また、複数のWebサービス提供処理手段を組み合せて実行するという観点において、本発明は、請求項に記載されるように、少なくとも1つの上記処理単位を有する複数の上記Webサービス提供処理手段を有し、上記複合処理実行手段は、上記複数のWebサービス提供処理手段の上記処理単位を複数組み合せて上記内部情報を処理するように構成することができる。
【0035】
本発明は、請求項9に記載されるように、上記プロトコル処理手段は、上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段を有するように構成することができる。また、本発明は、請求項10に記載されるように、上記Webサービス通信制御手段は、上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段と、上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段とを有するように構成することができる。また、本発明は、請求項11に記載されるように、上記Webサービス通信制御手段は、上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段を有するように構成することができる。
【0036】
このような情報処理装置では、同一の通信プロトコルで第一処理リクエスト及び第二処理リクエストを受信した後、第一処理リクエストによって特定されるWebサービス実行手段に振り分ける第一振分手段と、第ニ処理リクエストによって特定されるWebサービス実行手段に振り分ける第ニ振分手段とを有することによって、プロトコルの異なる第一処理リクエストと第二処理リクエストとによる同一のWebサービスの実行を可能とすることができる。
【0037】
上記所定ネットワーク通信プロトコルは、http(Hypertext Transfer Protocol)である。
【0038】
また、本発明は、請求項12及び13に記載されるように、上記情報処理装置での処理を行う情報処理方法とすることもできる。
【0039】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0040】
本発明の一実施例に係る情報処理装置200のハードウェア構成について説明する。図1は、本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。
【0041】
以下、本発明の実施の形態を図面に基づいて説明する。
【0042】
本発明の一実施例に係る情報処理装置は、例えば、図1に示すようなハードウェア構成を成す。図1は、本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。
【0043】
図1において、情報処理装置200は、コンピュータによって制御され印刷処理を実行する装置であって、CPU(中央処理装置)51と、メモリユニット52と、表示ユニット53と、入力ユニット54と、通信ユニット55と、記憶装置56と、ドライバ57とで構成され、システムバスBに接続される。
【0044】
CPU51は、メモリユニット52に格納されたプログラムに従って情報処理装置200を制御する。メモリユニット52は、RAM及びROM等にて構成され、CPU51にて実行されるプログラム、CPU51での処理に必要なデータ、CPU51での処理にて得られたデータ等を格納する。また、メモリユニット52の一部の領域が、CPU51での処理に利用されるワークエリアとして割り付けられている。
【0045】
表示ユニット53は、CPU51の制御のもとに必要な各種情報を表示する。
入力ユニット54は、マウス、キーボード等を有し、利用者が情報処理装置200が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット55は、情報処理装置200が例えばインターネット、LAN(Local Area Network)等を介して複数のネットワーク機器と接続される場合に、それら複数のネットワーク機器との間で通信制御をするための装置である。記憶装置56は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム、文書データ等を格納する。
【0046】
情報処理装置200よって行われる印刷処理を実現するプログラムは、例えば、CD−ROM等の記憶媒体58によって情報処理装置200に提供される。即ち、プログラムが保存された記憶媒体58がドライバ57にセットされると、ドライバ57が記憶媒体58からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置56にインストールされる。そして、プログラムが起動されると、記憶装置56にインストールされたプログラムに従ってCPU51がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る印刷処理を実現するプログラムは、通信ユニット55によってネットワークを介してダウンロードし、記憶装置56にインストールするようにしても良い。
【0047】
以下、上述したような図1に示すハードウェア構成を有する情報処理装置200がWebサービスを提供するための機能構成例について説明する。ここで、Webサービスとは、ネットワーク機器からのHTTPリクエストによるサービス要求に応じて、情報処理装置200が所定の処理を行ない、その処理結果をHTTPレスポンスとしてネットワーク機器へ提供することを言う。
【0048】
以下、SOAP及びHTMLによるWebサービスの提供を可能とする情報処理装置200の機能構成について図2で説明する。図2は、Webサービスを提供する情報処理装置の機能構成例を示す図である。情報処理装置200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
【0049】
図2において、情報処理装置200は、HTTPに従った通信制御を行うと共に、内部のWebサービス提供処理部に処理を分配するWebサーバー500と、複数のWebサービス提供処理部としてファイル管理Webサービス提供処理部40及び他Webサービス提供処理部49とHDD1303等とを有する。複数のWebサービス提供処理部40及び49は、夫々Webサービスファンクション(WSF)を有する。
【0050】
図2に示す機能構成例の場合、ファイル管理Webサービス提供処理部40は、Webサービスファンクション(WSF)として、HDD1303に蓄積される文書(ファイル)を管理するファイル管理実行部400を有する。
【0051】
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サービスの処理結果を通知する応答を示す。
【0052】
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPを指定するHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPを指定しないHTTPリクエストである場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
【0053】
更に、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とで共有される。
【0054】
XML処理部50は、SOAPを指定するHTTPレスポンスのボディ部の生成方法と同様に、SOAPを指定しないHTTPレスポンスのボディ部をXMLで記述して生成する。更に、SOAP処理部70は、Webサービスの処理内容を示す処理メッセージに基づいてファイル管理実行部400に振り分けるディスパッチャー(Dispatcher)60Aを有する。
【0055】
なお、情報処理装置200において、説明の便宜上、複数のWebサービス提供処理部として、ファイル管理Webサービス提供処理部40と他Webサービス提供処理部49のみが示されるが、更に多くのWebサービス提供処理部を有する構成とすることもできる。この場合、SOAP処理部70は、複数のWebサービス提供処理部の夫々の実行部に処理を振り分ける複数のディスパッチャー60Aを備えるようにする。また、それら複数のWebサービス提供処理部によって、XML処理部50及びSOAP処理部70は共有される。同様に、複数のディスパッチャー60Bが複数のWebサービス提供処理部に対応させて備えられる。
【0056】
また、ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10Aは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Aに表示させる出力データとを制御する入出力制御部11Aと、情報処理装置200に対するWebサービスの処理内容及び情報処理装置200からのWebサービスの処理結果をXMLによって処理するXML処理部13と、HTTPに従ったリクエストの生成及びレスポンスを解析するリクエスト/レスポンス処理部14とを有する。ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10Bは、キーボード又はマウス等の入力装置からの入力データを制御すると共に、モニタ9Bに表示させる出力データとを制御する入出力制御部11Bを有し、HTTPに従ったリクエストの生成及びレスポンスを表示するWebブラウザ23を有する。
【0057】
先ず、ネットワーク機器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)。
【0058】
情報処理装置200のWebサーバー500は、httpd2によってHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS105)。例えば、HTTPリクエストのヘッダ部でファイル管理Webサービス提供処理部40が指定されていた場合、ファイル管理Webサービス提供処理部40がディストリビューター30によって関数コールされる。
【0059】
ファイル管理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)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
【0060】
処理結果を取得したファイル管理実行部400はXML処理部50へその処理結果を通知する(ステップS110)。XML処理部50は、通知された処理結果をXMLで記述したXML26を生成してHTTPレスポンスのボディ部をに設定するために、SOAP処理部70に通知する(ステップS111)。そして、Webサーバー500は、httpd2を介してXMLで記述された処理結果をボディ部とするSOAPに従ったHTTPレスポンスをネットワーク機器10Aに送信する(ステップS112)。
【0061】
ネットワーク機器10AにてHTTPレスポンスが受信されると、XML処理部13は、HTTPレスポンスのボディ部を解析して処理結果を取得し(ステップS113)、リクエスト/レスポンス処理部14は、その取得した処理結果をモニタ9Aに表示させる出力データとして入出力制御部11Aに渡す(ステップS114)。そして、入出力制御部11Aは、受け取った出力データをモニタ9Aに表示させるように制御する(ステップS115)。
【0062】
上記より、ネットワーク機器10Aは、予め取り決めておいたXMLによる記述形式に従ってHTTPリクエストのボディ部に処理内容を記述することによって、情報処理装置200に対して遠隔地からWebサービスの要求を行うことができる。また、情報処理装置200は、予め取り決めておいたXMLによる記述形式に従ってHTTPレスポンスのボディ部に処理結果を記述することによって、遠隔地にあるネットワーク機器10Aに対してWebサービスの提供を行うことが可能となる。情報処理装置200は、ネットワーク15を介して、複数のネットワーク機器10Aに対して、Webサービスを提供することも可能である。
【0063】
次に、ネットワーク機器10Bからの要求に応じてWebサービスを提供する処理フローについて説明する。ネットワーク機器10Bを利用する利用者は、モニタ9Bに表示されるWebサービスを情報処理装置200へ要求するための画面から情報処理装置200へ所望のWebサービスを要求し、入出力制御部11Bはその要求データを受信する(ステップS121)。Webブラウザ23は、入出力制御部11Bが受信した要求データに基づいて、GET METHOD又はPOST METHODによるHTTPリクエストを生成してネットワーク15を介して情報処理装置200へ送信する(ステップS122)。
【0064】
情報処理装置200はネットワーク機器10BからHTTPリクエストを受信すると、Webサーバー500によってHTTPリクエストを解析する。つまり、ネットワーク通信制御を行うhttpd2がHTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定される、例えば、メソッド(GET METHOD又はPOST METHOD)に応じた解析がなされるようにHTTPリクエストがHTTPリクエスト処理部501に分配される(ステップS123)。
【0065】
HTTPリクエスト処理部501は、メソッドに応じてボディ部から処理内容を取得し、例えば、ヘッダ部でURL(Uniform Resource Locator)又はURI(Uniform Resource Indicator)によってファイル管理Webサービスが指定されている場合、ディスパッチャー60Bによって、ファイル管理実行部400へ処理内容に応じた処理の振り分けを行う(ステップS124)。ファイル管理実行部400は、処理内容に従ってHDD1303に対して処理を実行し、その処理結果を取得する(ステップS125)。例えば、処理内容に指定される文書の追加、更新、又は削除等の処理を実行する。
【0066】
処理結果を取得したファイル管理実行部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)。
【0067】
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11Bによってモニタ9BへHTML24を表示させる(ステップS130)。
【0068】
上記より、ネットワーク機器10Bは、情報処理装置200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザ23を利用するのみで、情報処理装置200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、Webサーバー500に、各Webサービスの実行部における処理の特性に応じてXSL25を備えるようにすることで、ネットワーク機器10Bへ処理結果を表示する際にWebサービス毎の表示画面を提供することが可能となる。
【0069】
従って、情報処理装置200は、SOAPに従ってメッセージ交換を行うことができるネットワーク機器10Aと、Webブラウザ23を有するネットワーク機器10Bとに対して、同じファイル管理実行部400によるWebサービスの提供を行うことができる。ファイル管理実行部400を有するファイル管理Webサービス提供処理部40が、プロトコルの異なる処理リクエストによって共有することができるため、処理リクエストのプロトコル毎にファイル管理Webサービス提供処理部40を開発する必要がない。
【0070】
また、情報処理装置200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
【0071】
情報処理装置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」によって「ファイル管理」が指定される。
【0072】
図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」はファイル編集を要求する。
【0073】
この場合、ディスパッチャー60Aによって処理が振り分けられたファイル管理実行部400は、XML処理部50によって解析された処理内容に従って、HDD1303からフィルID「123」の文書を削除する。
【0074】
なお、上記例は、一つのコマンド「filemanagement」で、<operationCode>の設定によってファイルの管理方法を指定しているが、ファイル管理の処理を細分し、例えば、ファイル追加Webサービス、ファイル編集Webサービス、及び、ファイル削除Webサービス等のように複数のWebサービスをWebサービスファンクションとしてWebサービス処理アプリ1215に備えるようにしても良い。この場合、例えば、「fileadd」、「fileedit」、「filedelete」のように、Webサービス毎に一意に対応するコマンドがXMLメッセージ18に設定されるようにすることによって、<operationCode>によるオペレーションコードが不要となる。
【0075】
図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を処理することによって、処理が正常に行われたことを確認する。
【0076】
次に、一つのWebサービス提供処理部の複数のメソッドを組み合せて実行する複合Webサービス提供処理部を有する情報処理装置200について説明する。図5は、複合Webサービスを有する情報処理装置の例を説明するための機能構成例を示す図である。図5において、図1に示す情報処理装置200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。情報処理装置200は、SOAPによってWebサービスの提供を受けるネットワーク機器10Aと、HTMLによってWebサービスの提供を受けるネットワーク機器10Bとにネットワーク15を介して接続される。
【0077】
図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とで共有される。
【0078】
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サービスの処理結果を通知する応答を示す。
【0079】
ディストリビューター30は、HTTPリクエストがSOAPによるHTTPリクエストであるか否かを判断する判断部を有する。SOAPによるHTTPリクエストである場合、SOAPActionで指定されるWebサービス提供処理部40又は49へ処理を分配する。一方、SOAPによるHTTPリクエストでない場合、つまり、GET又はPOST METHODによるHTTPリクエストである場合、HTTPリクエストをHTTPリクエスト処理部501に通知する。
【0080】
ファイル管理Webサービス提供処理部40は、HDD1303に蓄積されている文書を特定する文書IDのリストを取得する文書IDリスト取得メソッド401と、文書IDに対応するHDD1303に蓄積されている文書に関する書誌情報を取得する書誌情報取得メソッド402とを有する。メソッドは、ファイル管理Webサービス提供処理部40でのWebサービスの処理の単位を示し、ファイル管理Webサービス提供処理部40は、複数のメソッドによって図1に示すWebサービスファンクションを構成し、ネットワーク機器10A又は10Bからの要求に応じたWebサービスの提供を行う。図2に示される第一機能構成例の場合、複数のメソッドとして、文書IDリスト取得メソッド401と書誌情報取得メソッド402とに限定されるものではなく、これらメソッド以外に複数のメソッドを構成することも可能である。
【0081】
複合Webサービス提供処理部90の文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401を利用して文書IDのリストを取得する文書IDリスト取得部801と、書誌情報取得メソッド402を利用して文書IDに対応する書誌情報を取得する書誌情報取得部802と、取得した書誌情報に基づいて文書一覧を作成する文書一覧作成部803とを有する。文書一覧作成複合メソッド800は、文書IDリスト取得メソッド401及び書誌情報取得メソッド402を利用しているため、それらメソッドの実体を備えてはいない。よって、文書一覧作成複合メソッド800を実現するために開発される部分は、主に、文書一覧作成部803のみである。そのため、開発効率を大幅に削減することができる。また、複合Webサービス提供処理部90は、文書一覧作成複合メソッド800のような処理単位及びメソッドの実体を備えたメソッドによる処理単位を複数有する集合体を図1に示すWebサービスファンクションとして構成する。
【0082】
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は共有される。
【0083】
また、ネットワーク15を介して情報処理装置200と接続されるネットワーク機器10A及びネットワーク機器10Bの機能構成は、図2に示すネットワーク機器10A及びネットワーク機器10Bと同様であるため、その説明を省略する。
【0084】
先ず、ネットワーク機器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)。
【0085】
情報処理装置200のhttpd2は、HTTPリクエストを受信すると、ディストリビューター30によって、HTTPリクエストのヘッダ部で指定されるWebサービス提供処理部へ受信したHTTPリクエストを分配する(ステップS35)。例えば、HTTPリクエストのヘッダ部で複合Webサービス提供処理部90が指定されていた場合、複合Webサービス提供処理部90がディストリビューター30によって実行される。
【0086】
複合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)。
【0087】
文書一覧作成複合メソッド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)。
【0088】
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS41)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
【0089】
コールされた書誌情報取得メソッド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へ通知する。
【0090】
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
【0091】
文書一覧作成複合メソッド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)。
【0092】
このような機能構成例において、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Aは、情報処理装置200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
【0093】
更に、図5において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10からHTTPリクエストを受信すると(ステップS34),ディストリビューター30は、HTTPリクエストのヘッダ部で指定される書誌情報取得のWebサービスの要求に応じて、ファイル管理Webサービス提供処理部40の書誌情報取得メソッド402へ受信したHTTPリクエストを分配する(ステップS35−3)。
【0094】
ファイル管理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)。
【0095】
書誌情報取得メソッド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)。
【0096】
このように、情報処理装置200は、ネットワーク機器10Aからの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
【0097】
よって、情報処理装置200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
【0098】
次に、ネットワーク機器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リクエストを送信する。
【0099】
情報処理装置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が実行される。
【0100】
文書一覧作成複合メソッド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)。
【0101】
文書一覧作成複合メソッド800は、続けて、書誌情報取得部802によってファイル管理Webサービス提供処理部40の書誌情報取得メソッド402を関数コールする(ステップS58)。書誌情報取得メソッド402は、HDD1303で管理している文書に対して、書誌情報取得部802から通知された文書IDで書誌情報を問い合わせ、書誌情報を作成する。例えば、文書ID「101」について書誌情報を取得する場合、書誌情報取得部802は、書誌情報取得メソッド402(getProps(docID,props))をgetProps(101,props)のようにして関数コールする。
【0102】
コールされた書誌情報取得メソッド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へ通知する。
【0103】
文書一覧作成複合メソッド800の書誌情報取得部802は、その他の文書ID「102」及び「103」について、上記同様の処理を繰り返して、全ての文書情報を取得する。
【0104】
文書一覧作成複合メソッド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)。
【0105】
ネットワーク機器10BにてHTTPレスポンスが受信されると、Webブラウザ23は、入出力制御部11によってモニタ9へHTML24を表示させる(ステップS64)。
【0106】
更に、図5において、ファイル管理Webサービス提供処理部40自身によってWebサービスを提供することも可能である。つまり、httpd2がネットワーク機器10BからHTTPリクエストを受信すると(ステップS52),ディストリビューター30は、HTTPリクエストのGETメソッドに基づいてGETメソッドによるHTTPリクエストを処理するHTTPリクエスト処理部501に該HTTPリクエストを分配する(ステップS53)。HTTPリクエスト処理部501は、ディスパッチャー60によって、HTTPリクエストのヘッダ部で指定される書誌情報取得メソッド402に処理を振り分ける(ステップS54−3)。
【0107】
書誌情報取得メソッド402は、HDD1303で管理している文書に対して、HTTPリクエストによって指定される文書IDで書誌情報を問い合わせ、書誌情報を作成し、その書誌情報をXMLで記述したXML26を生成するためにXML処理部50へ通知する(ステップS60−3)。以後、上述したステップS61からS63の処理によって、書誌情報がネットワーク機器10Bに提供される。
【0108】
このように、情報処理装置200は、ネットワーク機器10からの書誌情報の提供を要求するHTTPリクエストに応じて、実体を備えた書誌情報取得メソッド402自身を実行することができる。また、同様にして、文書IDリスト取得メソッド401自身を実行することも可能である。
【0109】
よって、情報処理装置200は、画像を形成すると共に、実際にWebサービスを提供するための処理を行う複数のメソッドと、それらの組み合せによって、幅広いWebサービスを提供することができる。
【0110】
上記機能構成例において、ネットワーク機器10Bは、情報処理装置200との間で特別なメッセージ交換方法を必要とせずに、Webブラウザを利用するのみで、情報処理装置200からWebサービスの提供を受けることができ、RPC(Remote Procedure Call)を実現することができる。また、複合Webサービス提供処理部90が文書一覧作成複合メソッド800によって、文書IDリスト取得メソッド401及び書誌情報取得メソッド402の実体を備えることなく、複数のメソッドを組み合せて一連のWebサービスの処理を行うことができる。よって、複数のメソッドの組み合せて一連のWebサービスの処理を行うことができる。よって、ネットワーク機器10Bは、情報処理装置200が提供可能なWebサービスの単位を意識することなく、一回のHTTPリクエストによって一連のWebサービスの提供を受けることができる。
【0111】
更に、このような複合Webサービス提供処理部90が、プロトコルの異なる処理リクエストによって共有することができる。従って、処理リクエストのプロトコル毎に複合Webサービス提供処理部90を開発する必要がない。
【0112】
また、上記機能構成例において、情報処理装置200では、Webサーバー500にXSL25を備えることによって、XML処理部50でのSOAPを指定するHTTPレスポンスのボディ部の記述とSOAPを指定しないHTTPレスポンスのボディ部の記述の処理を共通化することができる。
【0113】
図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」であることを示している。
【0114】
また、ネットワーク機器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にて管理される全文書の一覧を取得する。
【0115】
文書一覧は、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で記述したメッセージである。
【0116】
このようなHTTPレスポンスがネットワーク機器10Aへ通知され、SOAP処理部12によって<SOAP-ENV:Body>から</SOAP-ENV:Body>にメッセージ91を取り出し、その取り出されたメッセージ91は、XML処理部13によってモニタ9Aに表示すべき文書一覧情報を取り出してリクエスト/レスポンス処理部14に通知される。更に、文書一覧情報はリクエスト/レスポンス処理部14によって画面データとして処理され、例えば、図10に示すように、入出力制御部11Aによってモニタ9Aに表示される。
【0117】
一方、図6に示すXMLで記述された文書一覧は、XSL25に基づいて、HTML作成部502のXSLプロセッサ503によって、図9に示すようなHTMLで記述された文書一覧に変換される。図9は、HTML作成部にてHTMLで記述された文書一覧の例を示す図である。図9において、記述93は、HTTPレスポンスのヘッダ部を示し、記述99は、HTTPレスポンスのボディ部を示す。
【0118】
記述99において、記述94は、HTMLのヘッダ部を示し、ネットワーク機器10Bの利用者が要求したWebサービスに対応するタイトル「文書一覧」を表示するための記述である。記述95は、文書一覧の項目名を表示するための記述である。記述96は、図6に示すXMLによる記述53がHTMLに変換された記述である。記述97は、図6に示すXMLによる記述54がHTMLに変換された記述である。記述98は、図6に示すXMLによる記述55がHTMLに変換された記述である。
【0119】
このようにHTMLに変換された記述によって、ネットワーク機器10Bのモニタ9Bには、図10に示されるような画面が表示される。図10は、ネットワーク機器側に表示される画面例を示す図である。図10に示される画面92において、文書名、ページ数、所有者等の項目名に対応させて、文書一覧が表示される。また、SOAPに従ったHTTPレスポンスによっても、ネットワーク機器10Aのモニタ9Aには、同様の画面が表示される。
【0120】
以上より、本発明に係る情報処理装置200は、WebサービスをSOAPによるメッセージ交換によって可能とすると共に、HTMLによる提供をも可能とする。よって、ネットワーク機器10A及び10Bの利用者に対して同様のWebサービスを提供することができる。
【0121】
また、SOAPを指定したHTTPリクエストに対しても、SOAPを指定しないHTTPリクエストに対しても、同一のWebサービスファンクションを実行することができる。更に、SOAPを指定したHTTPレスポンスに対しても、SOAPを指定しないHTTPレスポンスに対しても、XML処理部50にて生成されたXML26を使用してボディ部を生成することができる。
【0122】
上記実施例において、同一のWebサービスファンクションでSOAP対応とWebブラウザ対応とを可能とする例を説明したが、その他にネットワーク機器との間で独自に取り決めた独自プロトコルにも対応するように、異なる3のプロトコルに対応することも可能である。例えば、HTTPリクエスト及びHTTPレスポンスのボディ部に独自に取り決めたXMLによる記述を設定した独自プロトコルによってネットワーク機器に同一のWebサービスを提供するようにしても良い。
【0123】
【発明の効果】
以上、説明してきたように、本願発明によれば、利用者が使用するコンピュータ端末に標準的なWebサービス対応ソフトウェアをインストールするだけでよい。また、該コンピュータ端末の機種又はオペレーティングシステムに依存することなく処理要求を行うことができるだけでなく、他の機器からの処理要求も統一的に処理することが可能となる。
【0124】
【図面の簡単な説明】
【図1】本発明の一実施例に係る情報処理装置のハードウェア構成を示すブロック図である。
【図2】Webサービスを提供する情報処理装置の機能構成例を示す図である。
【図3】SOAPによるHTTPリクエストの例を示す図である。
【図4】SOAPによるHTTPレスポンスの例を示す図である。
【図5】複合Webサービスを有する情報処理装置の例を説明するための機能構成例を示す図である。
【図6】XML処理部にてXMLで記述された文書一覧の例を示す図である。
【図7】SOAPによるHTTPリクエストの例を示す図である。
【図8】SOAPによるHTTPレスポンスの例を示す図である。
【図9】HTML作成部にてHTMLで記述された文書一覧の例を示す図である。
【図10】ネットワーク機器側に表示される画面例を示す図である。
【符号の説明】
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 システムバス
[0001]
BACKGROUND OF THE INVENTION
According to the present invention, it is only necessary to install standard web service compatible software on a computer terminal used by a user, and it is possible to provide a web service without depending on the model or operating system of the computer terminal. The present invention provides an information processing apparatus that can uniformly process processing requests from other devices.
[0002]
[Prior art]
In recent years, with the widespread use of ASP (Application Service Provider) business by computer servers, services by various applications have been provided through networks such as the Internet. With such an ASP service, a user can easily receive a service simply by connecting to a network with a PC (Personal Computer) with a Web browser. By receiving such a service, there is no need to install an application for each PC used by the user, and the system development cost and operation cost can be reduced.
[0003]
[Problems to be solved by the invention]
The service provided by the conventional ASP is intended to provide information according to the user's operation on the Web browser of the PC used by the user. However, in recent years, SOAP (Simple Objected Access Protocol) has been proposed in order to link services provided by applications distributed to various computers on the Internet to provide a wide range of services. In order to cope with such a new protocol, it is necessary to develop an application that supports SOAP separately from an application that provides information according to a user's operation on a conventional Web browser.
[0004]
Accordingly, the problem of the present invention is that it can be used as a programmable application component that can be accessed using various Internet standard Web protocols via a network without depending on the model or operating system of the computer terminal, and a Web service. It is to provide an information processing apparatus that makes it possible to make a request from a Web browser. Also provided is an information processing apparatus that realizes a distributed environment in which a Web service communicates with another Web service within the information processing apparatus or between the information processing apparatus and another apparatus.
[0005]
[Means for Solving the Problems]
  In order to solve the above-described problem, the present invention provides a first processing request for designating a first protocol for exchanging a predetermined message from a device connected via a network, and the first processing request. Web service communication control means for receiving a second processing request designating a second protocol other than the protocol and transmitting a first processing response according to the first protocol and a second processing response according to the second protocol When,
ReRun with mote procedure callto be able to do,Share web service execution means with different protocolsWeb service, Receiving the first processing request and the second processing request with different protocols, and providing the Web service communication control unit with the processing result of executing the Web service execution unit for each processing request.MultipleWeb service provision processing means,
  The plurality of Web service providing processing means share protocol processing means for controlling the message according to the first protocol,
The protocol processing means includes:
Analyzing the specific information specifying the Web service in the first processing request according to the first protocol, and processing the Web service execution means for executing the Web service specified by the specific information based on the analysis result. Having a first sorting means for sorting,
The web service communication control means
Analyzing the specific information for specifying the Web service in the second processing request, and based on the analysis result, the second distribution means for distributing the processing to the Web service execution means corresponding to the specific information;
  The web service communication control means
  When the first processing request is received, the first processing request is,the aboveProtocol processing meansWhen the second processing request is received, the second processing request is,SaidSecond sorting meansHave distribution means to distributeAnd
Furthermore, the information processing apparatus
  The message that can be shared by the plurality of Web service providing processing means and described in a predetermined description format in the first processing request is converted into a format that can be processed by the Web service executing means, and the first Description format processing means for processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing the processing result according to the processing request according to the predetermined description format.Configured to have.
[0006]
  In such an information processing apparatus, for example, when a first processing request is received from the first protocol from SOAP without depending on the model or operating system of the devices connected via the network, the first protocol is used. Provide the processing result as a Web service by the first processing response or by the second processing response according to the display format that can be displayed on the device when a second processing request by the second protocol is received from, for example, a Web browser can do. Therefore, since the processing result by the same Web service provision processing means can be provided as a Web service for the Web service request of the first processing request and the second processing request, the first processing request and the second processing request There is no need to develop Web service provision processing means for each of the above.
In such an information processing apparatus, since the entity of the process for providing the Web service is independent of the Web service providing processing unit, knowledge about a plurality of protocols (for example, SOAP, HTTP, and HTML) is not required. Web service execution means can be developed.
In such an information processing apparatus, the first processing request can be processed according to the first protocol and is shared by a plurality of Web service providing processing means. Therefore, when developing each Web service providing processing means, SOAP or the like is used. Development of the processing unit related to the first protocol can be reduced.
  In such an information processing apparatus, for example, processing of a message described in XML (eXtensible Markup Language) can be shared by a plurality of Web service providing processing means. Therefore, when developing each Web service providing processing means, it is possible to reduce the development of the processing unit related to the message.
  In such an information processing apparatus, in order to be able to process the first processing request according to the first protocol and the second processing request from the terminal using the Web browser according to the second protocol other than the first protocol, the first processing request In response to the request for the same Web service by the second processing request, the processing result by the same Web service providing processing means can be provided as a Web service.
The request type indicates, for example, an HTTP method, such as GET METHOD or POST METHOD.
The specific information is information for specifying a Web service execution unit, and is, for example, a URL (Uniform Resource Locator) or a URI (Uniform Resource Indicator).
[0007]
The first protocol is, for example, SOAP (Simple Object Access Protocol). The processing response according to the second protocol is provided by, for example, HTML (Hypertext Markup Language).
[0008]
The internal information indicates status information about information processing, and information such as control parameters for changing the setting of the device main body or changing the network IP.
[0015]
  From the viewpoint of enabling processing of both the first processing request according to the first protocol and the second processing request from the terminal using the Web browser according to the second protocol other than the first protocol, the present invention claims2The Web service communication control means receives the first and second processing requests from the device and transmits the first and second processing responses to the device via the network. Network communication control means for controlling the second processing request according to a predetermined network communication protocol, and processing request processing means for processing the second service request and executing the Web service execution means based on the processing result. Can do.
[0020]
  From the viewpoint of distributing the processing to a plurality of Web service providing processing means, the present invention claims3As described above, the plurality of first distribution means and the plurality of second distribution means are configured to correspond to each of the plurality of Web service providing processing means.
[0021]
In such an information processing apparatus, processing can be distributed to a plurality of Web service providing processing means by either the first processing request or the second processing request.
[0022]
  From the viewpoint of enabling the content of the second processing response to be displayed on a device connected via a network, the present invention claims4As described in the above, the web service communication control means
  The second processing response indicating the processing result corresponding to the second processing request provided from the Web service providing processing means by the same processing for the first processing requestSpecified in the second protocolIt is comprised so that it may have a display format creation means created according to a display format.
[0023]
In such an information processing apparatus, it is possible to create a processing response that enables the processing result of the Web service executed in response to the second processing request from the device to be displayed on the device. Therefore, the information processing apparatus can provide a Web service to a device having a general-purpose Web browser, for example.
[0024]
  From the viewpoint of enabling the processing result of each Web service providing processing means to be displayed on the device, the present invention claims5As described in the above, the display format creation means outputs the processing result according to the second processing request processed in the same manner as the processing result according to the first processing request by the description format processing means, Based on the format style of the description format, it can be configured to have a description format conversion means for converting into the processing result according to the display format.
[0025]
In such an information processing apparatus, the processing result processed according to the predetermined description format by each Web service providing processing means is converted into the processing result according to the display format that can be displayed on the device based on the format style of the description format. Can be converted to
[0026]
The format style is, for example, XSL (eXtensible Stylesheet Language). With this format style, the description format conversion means can convert the processing result described according to XML so as to be described according to HTML.
[0027]
  In order to solve the above-mentioned problems, the present invention provides the following claims.6A first processing request specifying a first protocol for exchanging a predetermined message from a device connected via a network, and a second processing request specifying a second protocol other than the first protocol, Web service communication control means for transmitting a first processing response in accordance with the first protocol and a second processing response in accordance with the second protocol indicating a processing result according to the first processing request,
ReRun with mote procedure callto be able to do,Share web service execution means with different protocolsWeb service, Receiving the first processing request and the second processing request with different protocols, and providing the Web service communication control unit with the processing result of executing the Web service execution unit for each processing request.MultipleWeb service provision processing means,
  The internal information is processed by executing the one or more processing units constituting the Web service providing processing means, and a result of performing additional processing using the processing result is provided to the Web service communication control means. A composite Web service provision processing means;
  The web service communication control means
  When the first processing request is received, the first processing request is distributed to the Web service providing processing means or the composite Web service providing processing means. When the second processing request is received, the second processing request is Has distribution means to distribute to processing unitsAnd
Furthermore, the information processing apparatus
  Protocol processing means for controlling the message of the first processing request and the first processing response according to the first protocol;
The message described in the first processing request according to the predetermined description format is converted into a format that can be processed by the Web service providing processing means, and the processing result corresponding to the first processing request is converted into the predetermined description format. Description format processing means for processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing according to
The protocol processing means and the description format processing means are shared by the plurality of Web service providing processing means and the composite Web service providing processing means.Configured to be
[0028]
  In such an information processing apparatus, the device can execute a predetermined process via a Web browser using a first protocol such as SAOP or a second protocol such as HTTP and HTML. It is not necessary to install software such as a dedicated driver in order to execute. Also, the device can cause the information processing apparatus to execute the predetermined process without depending on the model or operating system. Further, since the composite Web service providing processing means is controlled by combining a plurality of processing units of the Web service providing processing means necessary for providing the Web service, the device is aware of the function of each Web service. Instead, only a final processing result by a plurality of Web services can be acquired by one processing request. Therefore, it is possible to greatly reduce the number of communication between devices and the control processing.
  In such an information processing apparatus, processing for the first processing request and the second processing request with different protocols is shared, and the processing is shared by a plurality of Web service providing processing means and composite Web service providing processing means. It is not necessary to develop a processing unit corresponding to each of the first processing request and the second processing request, and a processing unit corresponding to each of the plurality of Web service providing processing means and the composite Web service providing processing means is provided. There is no need to develop. Therefore, the development man-hour can be greatly reduced.
The predetermined description format is, for example, XML (eXtensible Markup Language).
[0029]
The first protocol is, for example, SOAP (Simple Object Access Protocol). The processing response according to the second protocol is provided by, for example, HTML (Hypertext Markup Language).
[0030]
  The above internal information is informationRegarding processing equipmentStatus information, andInformation processing deviceIt shows information such as control parameters for changing the settings of the main body or changing the network IP.
[0031]
  From the viewpoint of executing a combination of a plurality of processing units, the present invention provides the following claims.7The composite Web service provision processing means includes at least one composite processing execution means for executing a combination of the processing units of the Web service provision processing means as a processing unit in the composite Web service provision processing means. It can comprise so that it may have. In addition, from the viewpoint of executing a combination of a plurality of Web service providing processing means, the present invention claims8As described in the above, a plurality of the Web service providing processing means having at least one of the above processing units is included, and the composite processing executing means combines a plurality of the processing units of the plurality of Web service providing processing means. The internal information can be processed.
[0035]
  According to a ninth aspect of the present invention, the protocol processing unit analyzes the specific information specifying the Web service in the first processing request according to the first protocol, and based on the analysis result, A first distribution unit that distributes the process to the Web service execution unit that executes the Web service specified by the specific information may be provided. Further, according to the present invention, the Web service communication control means receives the first and second processing requests from the device and transmits the request to the device via the network. Network communication control means for controlling transmission of the first and second processing responses according to a predetermined network communication protocol, and processing request processing for processing the second processing request and executing the Web service execution means based on the processing result Means. Further, according to the present invention, as described in claim 11, the Web service communication control unit analyzes specific information specifying the Web service in the second processing request, and based on the analysis result, Second, the process is distributed to the Web service execution means corresponding to the specific information.It can comprise so that a distribution means may be provided.
[0036]
In such an information processing apparatus, after receiving the first processing request and the second processing request with the same communication protocol, the first distribution means for distributing to the Web service execution means specified by the first processing request, By having the second distribution unit that distributes to the Web service execution unit specified by the processing request, it is possible to execute the same Web service by the first processing request and the second processing request having different protocols. .
[0037]
The predetermined network communication protocol is http (Hypertext Transfer Protocol).
[0038]
  The present invention also includes claims.12 and 13As described above, an information processing method for performing processing in the information processing apparatus may be employed.
[0039]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0040]
  A hardware configuration of the information processing apparatus 200 according to an embodiment of the present invention will be described.FIG.These are block diagrams which show the hardware constitutions of the information processing apparatus which concerns on one Example of this invention.
[0041]
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0042]
An information processing apparatus according to an embodiment of the present invention has a hardware configuration as shown in FIG. FIG. 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment of the present invention.
[0043]
In FIG. 1, an information processing apparatus 200 is an apparatus that is controlled by a computer and executes print processing, and includes a CPU (central processing unit) 51, a memory unit 52, a display unit 53, an input unit 54, and a communication unit. 55, a storage device 56, and a driver 57, which are connected to the system bus B.
[0044]
The CPU 51 controls the information processing apparatus 200 according to a program stored in the memory unit 52. The memory unit 52 includes a RAM and a ROM, and stores programs executed by the CPU 51, data necessary for processing by the CPU 51, data obtained by processing by the CPU 51, and the like. Further, a partial area of the memory unit 52 is allocated as a work area used for processing by the CPU 51.
[0045]
The display unit 53 displays various information required under the control of the CPU 51.
The input unit 54 includes a mouse, a keyboard, and the like, and is used for a user to input various information necessary for the information processing apparatus 200 to perform processing. The communication unit 55 is a device for controlling communication with a plurality of network devices when the information processing device 200 is connected to the plurality of network devices via, for example, the Internet or a LAN (Local Area Network). It is. The storage device 56 is composed of, for example, a hard disk unit, and stores programs for executing various processes, document data, and the like.
[0046]
A program that realizes a printing process performed by the information processing apparatus 200 is provided to the information processing apparatus 200 by a storage medium 58 such as a CD-ROM, for example. That is, when the storage medium 58 storing the program is set in the driver 57, the driver 57 reads the program from the storage medium 58, and the read program is installed in the storage device 56 via the system bus B. . When the program is activated, the CPU 51 starts its processing according to the program installed in the storage device 56. The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. The program for realizing the printing process according to the present invention may be downloaded via the network by the communication unit 55 and installed in the storage device 56.
[0047]
Hereinafter, a functional configuration example for the information processing apparatus 200 having the hardware configuration illustrated in FIG. 1 as described above to provide a Web service will be described. Here, the Web service means that the information processing apparatus 200 performs a predetermined process in response to a service request based on an HTTP request from a network device, and provides the processing result to the network device as an HTTP response.
[0048]
Hereinafter, the functional configuration of the information processing apparatus 200 that enables provision of Web services using SOAP and HTML will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a functional configuration of an information processing apparatus that provides a Web service. The information processing apparatus 200 is connected via a network 15 to a network device 10A that receives a Web service by SOAP and a network device 10B that receives a Web service by HTML.
[0049]
  In FIG. 2, the information processing apparatus 200 performs communication control according to HTTP, distributes processing to internal Web service providing processing units, and provides a file management Web service as a plurality of Web service providing processing units. A processing unit 40 and another Web service provision processing unit 49;,HDD 1303 and the like. The plurality of web service provision processing units 40 and 49 each have a web service function (WSF).
[0050]
In the case of the functional configuration example illustrated in FIG. 2, the file management Web service provision processing unit 40 includes a file management execution unit 400 that manages documents (files) stored in the HDD 1303 as Web service functions (WSF).
[0051]
The Web server 500 includes httpd 2 that performs communication control according to HTTP, a distributor 30 that distributes processing to the Web service providing processing unit 40 or 49 corresponding to the HTTP request, and a GET received via the network 15. The HTTP request processing unit 501 that processes an HTTP request based on METHOD or POST METOD, the dispatcher 60B that distributes the Web service processing indicated by the HTTP request to the file management execution unit 400, and the file management execution unit 400 are notified. An HTML creation unit 502 that creates an HTML (Hypertext Markup Language) 24 indicating the processing result. Here, the HTTP request indicates that a Web service is requested by data communication in accordance with HTTP, and the HTTP response indicates a response that notifies the processing result of the Web service.
[0052]
The distributor 30 includes a determination unit that determines whether or not the HTTP request is an HTTP request by SOAP. If the request is an HTTP request designating SOAP, the process is distributed to the Web service provision processing unit 40 or 49 designated by SOAPAction. On the other hand, if the request is an HTTP request that does not specify SOAP, that is, if it is an HTTP request based on GET or POST METHOD, the HTTP request is notified to the HTTP request processing unit 501.
[0053]
  Furthermore, the HTML creation unit 502 includes an XSL processor 503 that converts the XML generated by the XML processing unit 50 into an HTML format using a predetermined XSL (extensible stylesheet language) 25. In addition, an XML processing unit 50 that processes a message described in XML, and a SOAP processing unit 70 that exchanges messages according to SOAP. The XML processing unit 50 and the SOAP processing unit 70 are shared by a plurality of Web service providing processing units 40 and 49.
[0054]
The XML processing unit 50 generates and describes the body part of the HTTP response not specifying SOAP in XML, in the same manner as the method of generating the body part of the HTTP response specifying SOAP. Further, the SOAP processing unit 70 includes a dispatcher 60A that distributes to the file management execution unit 400 based on a processing message indicating the processing content of the Web service.
[0055]
In the information processing apparatus 200, for convenience of explanation, only the file management web service provision processing unit 40 and the other web service provision processing unit 49 are shown as a plurality of web service provision processing units. It can also be set as the structure which has a part. In this case, the SOAP processing unit 70 includes a plurality of dispatchers 60A that distribute the processing to the execution units of the plurality of Web service providing processing units. The XML processing unit 50 and the SOAP processing unit 70 are shared by the plurality of Web service providing processing units. Similarly, a plurality of dispatchers 60B are provided corresponding to a plurality of Web service providing processing units.
[0056]
The network device 10A connected to the information processing apparatus 200 via the network 15 controls input data from an input device such as a keyboard or a mouse, and also controls output data to be displayed on the monitor 9A. 11A, XML processing unit 13 for processing the processing contents of the Web service for the information processing apparatus 200 and the processing result of the Web service from the information processing apparatus 200 by XML, and a request for generating a request according to HTTP and analyzing the response / Response processing unit 14. The network device 10B connected to the information processing apparatus 200 via the network 15 controls input data from an input device such as a keyboard or a mouse, and also controls output data to be displayed on the monitor 9B. And a Web browser 23 for displaying a request generation and response according to HTTP.
[0057]
First, a processing flow for providing a Web service in response to a request from the network device 10A will be described. A user who uses the network device 10A requests the information processing apparatus 200 from a screen for requesting the information processing apparatus 200 for a desired Web service (step S101). In response to the web service request by the user, the input / output control unit 11A notifies the request / response processing unit 14 of the request data (step S102). The request / response processing unit 14 generates an HTTP request based on the request data from the input / output control unit 11 (step S103), and when the XML processing unit 13 describes the processing contents in the body of the HTTP request using XML, the SOAP request is generated. The processing unit 12 transmits an HTTP request to the information processing apparatus 200 via the network 15 according to SOAP (step S104).
[0058]
When the Web server 500 of the information processing apparatus 200 receives the HTTP request by httpd2, the distributor 30 distributes the received HTTP request to the Web service providing processing unit specified by the header part of the HTTP request (step S105). For example, when the file management Web service provision processing unit 40 is specified in the header part of the HTTP request, the file management Web service provision processing unit 40 is function-called by the distributor 30.
[0059]
In the file management Web service provision processing unit 40, the SOAP processing unit 70 processes the HTTP request according to SOAP, and notifies the dispatcher 60A that distributes the processing to the file management execution unit 400 specified by the SOAP header (step S106). . The dispatcher 60A distributes the processing contents in the header part of the HTTP request and notifies the XML processing part 50 (step S107). The XML processing unit 50 converts the message indicating the processing contents in the body part of the HTTP request described in XML into a description interpretable by the file management execution unit 400 and executes the file management execution unit 400 (step S108). The file management execution unit 400 executes processing on the HDD 1303 according to the processing content, and acquires the processing result (step S109). For example, processing such as addition, update, or deletion of a document designated as processing content is executed.
[0060]
The file management execution unit 400 that has acquired the processing result notifies the XML processing unit 50 of the processing result (step S110). The XML processing unit 50 notifies the SOAP processing unit 70 in order to generate an XML 26 describing the notified processing result in XML and set the body part of the HTTP response (step S111). Then, the Web server 500 transmits an HTTP response according to SOAP having the processing result described in XML as a body part via httpd2 to the network device 10A (step S112).
[0061]
When the HTTP response is received by the network device 10A, the XML processing unit 13 analyzes the body part of the HTTP response and acquires the processing result (step S113), and the request / response processing unit 14 acquires the acquired process. The result is passed to the input / output control unit 11A as output data to be displayed on the monitor 9A (step S114). Then, the input / output control unit 11A performs control so that the received output data is displayed on the monitor 9A (step S115).
[0062]
As described above, the network device 10A can request a Web service from a remote location to the information processing apparatus 200 by describing the processing contents in the body part of the HTTP request according to the XML description format decided in advance. it can. Further, the information processing apparatus 200 can provide a Web service to the network device 10A at a remote location by describing the processing result in the body part of the HTTP response in accordance with the XML description format determined in advance. It becomes possible. The information processing apparatus 200 can also provide a Web service to the plurality of network devices 10A via the network 15.
[0063]
Next, a processing flow for providing a Web service in response to a request from the network device 10B will be described. A user who uses the network device 10B requests a desired Web service from the screen for requesting the Web service displayed on the monitor 9B to the information processing apparatus 200, and the input / output control unit 11B The request data is received (step S121). The web browser 23 generates an HTTP request based on GET METHOD or POST METHOD based on the request data received by the input / output control unit 11B, and transmits the HTTP request to the information processing apparatus 200 via the network 15 (step S122).
[0064]
When the information processing apparatus 200 receives an HTTP request from the network device 10B, the Web server 500 analyzes the HTTP request. That is, when httpd2 that performs network communication control receives an HTTP request, HTTP 30 is analyzed by the distributor 30 in accordance with, for example, a method (GET METHOD or POST METHOD) specified in the header part of the HTTP request. The request is distributed to the HTTP request processing unit 501 (step S123).
[0065]
The HTTP request processing unit 501 acquires processing contents from the body unit according to the method. For example, when a file management Web service is specified by a URL (Uniform Resource Locator) or a URI (Uniform Resource Indicator) in the header part, The dispatcher 60B distributes the processing according to the processing contents to the file management execution unit 400 (step S124). The file management execution unit 400 executes processing on the HDD 1303 according to the processing content, and acquires the processing result (step S125). For example, processing such as addition, update, or deletion of a document designated as processing content is executed.
[0066]
The file management execution unit 400 that has acquired the processing result notifies the XML processing unit 50 of the processing result (step S126). The XML processing unit 50 generates a XML 26 in which the notified processing result is described in XML and sets it in the body part of the HTTP response in the same manner as generating the body part of the HTTP response by SOAP. The information is notified to the HTML creation unit 502 of 500 (step S127). The HTML creation unit 502 generates the HTML 24 converted into the HTML format by using the predetermined XSL 25 by the XSL processor 503, and requests httpd 2 to transmit the HTML 24 (step S128). The httpd2 transmits the HTML 24 to the network device 10B in accordance with http (step S129).
[0067]
When the HTTP response is received by the network device 10B, the Web browser 23 causes the input / output control unit 11B to display the HTML 24 on the monitor 9B (step S130).
[0068]
As described above, the network device 10B can receive the provision of the web service from the information processing apparatus 200 only by using the web browser 23 without requiring a special message exchange method with the information processing apparatus 200. RPC (Remote Procedure Call) can be realized. Further, by providing the Web server 500 with the XSL 25 according to the processing characteristics in the execution unit of each Web service, a display screen for each Web service is provided when displaying the processing result on the network device 10B. Is possible.
[0069]
Therefore, the information processing apparatus 200 can provide the Web service by the same file management execution unit 400 to the network device 10A capable of exchanging messages according to SOAP and the network device 10B having the Web browser 23. it can. Since the file management Web service provision processing unit 40 having the file management execution unit 400 can be shared by processing requests having different protocols, it is not necessary to develop the file management Web service provision processing unit 40 for each protocol of the processing requests. .
[0070]
In addition, the information processing apparatus 200 includes the XSL 25 in the Web server 500, so that the processing of the description of the body part of the HTTP response specifying SOAP and the description of the body part of the HTTP response not specifying SOAP in the XML processing unit 50 are performed. Can be shared.
[0071]
An HTTP request and an HTTP response for exchanging messages between the information processing apparatus 200 and the network device 10 according to SOAP will be described with reference to FIGS. FIG. 3 is a diagram illustrating an example of an HTTP request by SOAP. In the HTTP request shown in FIG. 3, a URI (Uniform Resource Indicator) 16 indicates a URI to which an HTTP request is transmitted by the POST method, and is “netdoc”, for example. Further, a URI indicating the purpose of the request is shown in SOAPAction 17, and “file management” is designated by “http://foo.bar.com/netdoc/filemanagement”, for example.
[0072]
The distributor 30 of httpd2 of the information processing apparatus 200 of FIG. 2 distributes the HTTP request to the file management Web service provision processing unit 40 by “filemanagement” specified by SOAPAction17. The file management Web service provision processing unit 40 processes the HTTP request according to the SOAP by the SOAP processing unit 70. In the SOAP processing unit 70, the dispatcher 60 </ b> A distributes the processing to the file management execution unit 400 according to “filemanagement” specified by the SOAPAction 17. Further, the XML processing unit 50 analyzes the message 18 described in XML in the body of the SOAP envelope (from <SOAP-ENV: Body> to </ SOAP-ENV: Body>). For example, the message 18 is shown from <ns: filemanagement> to </ ns: filemanagement>. “Filemanagement” indicates a command. The processing content requested by the message 18 performs processing of the file ID “123” specified by <fileId> to </ fileId> and the operation code “3” specified by <operationCode> to </ operationCode>. It is shown that. For example, operation code “3” requests file deletion, operation code “1” requests file addition, and operation code “2” requests file editing.
[0073]
In this case, the file management execution unit 400 to which the process is distributed by the dispatcher 60 </ b> A deletes the document with the fill ID “123” from the HDD 1303 according to the processing content analyzed by the XML processing unit 50.
[0074]
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 into, for example, a file addition Web service and a file editing Web service. A plurality of Web services such as a file deletion Web service may be provided in the Web service processing application 1215 as Web service functions. In this case, for example, the command corresponding to each Web service, such as “fileadd”, “fileedit”, and “filedelete”, is set in the XML message 18 so that the operation code by <operationCode> is changed. It becomes unnecessary.
[0075]
FIG. 4 is a diagram illustrating an example of an HTTP response by SOAP. The HTTP response shown in FIG. 4 is created based on the processing result of the file management execution unit 400 by the SOAP processing unit 70 of the file management Web service provision processing unit 40. In the HTTP response shown in FIG. 4, the SOAP processing unit 70 sets “200” as the status code 20 and “OK” as the explanatory phrase 21 based on the processing result of the file management Web service provision processing unit 40. Further, the XML processing unit 50 generates a message 22 described in XML in the body of the SOAP envelope (from <SOAP-ENV: Body> to </ SOAP-ENV: Body>). The response of the command “filemanagement” is indicated by <ns: filemanagementResponse> to </ ns: filemanagementResponse>. For example, the request ID “10” is set by <requestId> and </ requestId>. The network device 10A that has received the HTTP response processes the message 22 described in XML by the XML processing unit 13 to confirm that the processing has been performed normally.
[0076]
Next, an information processing apparatus 200 having a composite Web service provision processing unit that executes a combination of a plurality of methods of one Web service provision processing unit will be described. FIG. 5 is a diagram illustrating a functional configuration example for explaining an example of an information processing apparatus having a composite Web service. 5, only the main functional configuration is illustrated in the functional configuration of the information processing apparatus 200 illustrated in FIG. 1, and other functional configurations are omitted. The information processing apparatus 200 is connected via a network 15 to a network device 10A that receives a Web service by SOAP and a network device 10B that receives a Web service by HTML.
[0077]
  In FIG. 5, the information processing apparatus 200 mainly performs communication control according to HTTP, distributes processing to an internal Web service providing processing unit, and file management as a plurality of Web service providing processing units. Message exchange according to SOAP among the Web service provision processing unit 40, the other web service provision processing unit 49, the composite web service provision processing unit 90, the XML processing unit 50 that processes messages described in XML, and the network device 10. A SOAP processing unit 70 for controlling,HDD 1303 and the like. The XML processing unit 50 and the SOAP processing unit 70 are shared by a plurality of Web service providing processing units 40, 49, and 90.
[0078]
The Web server 500 includes httpd 2 that performs communication control according to HTTP, a distributor 30 that distributes processing to the Web service providing processing unit corresponding to the HTTP request, and a GET METHOD or POST received via the network 15. HTTP request processing unit 501 that processes HTTP requests by METOD, dispatchers 60B and 68B that distribute the processing of the Web service indicated by the HTTP request to each Web service providing processing unit, and each Web service providing processing unit 40, 90 And an HTML creation unit 502 for creating a processing result described in XML notified from 49 and 49 in HTML24. The HTML creation unit 502 includes an XSL processor 503 that converts the XML generated by the XML processing unit 50 into an HTML format. Here, the HTTP request indicates that a Web service is requested by data communication in accordance with HTTP, and the HTTP response indicates a response that notifies the processing result of the Web service.
[0079]
The distributor 30 includes a determination unit that determines whether or not the HTTP request is an HTTP request by SOAP. If the request is an HTTP request by SOAP, the process is distributed to the Web service provision processing unit 40 or 49 specified by SOAPAction. On the other hand, if it is not an HTTP request by SOAP, that is, if it is an HTTP request by GET or POST METHOD, the HTTP request processing unit 501 is notified of the HTTP request.
[0080]
The file management Web service provision processing unit 40 includes a document ID list acquisition method 401 for acquiring a list of document IDs for specifying documents stored in the HDD 1303, and bibliographic information about the documents stored in the HDD 1303 corresponding to the document IDs. And a bibliographic information acquisition method 402 for acquiring. The method indicates a unit of Web service processing in the file management Web service provision processing unit 40, and the file management Web service provision processing unit 40 configures the Web service function shown in FIG. Alternatively, a web service is provided in response to a request from 10B. In the case of the first function configuration example shown in FIG. 2, the plurality of methods are not limited to the document ID list acquisition method 401 and the bibliographic information acquisition method 402, and a plurality of methods other than these methods are configured. Is also possible.
[0081]
The document list creation composite method 800 of the composite Web service provision processing unit 90 uses a document ID list acquisition unit 801 that acquires a list of document IDs using a document ID list acquisition method 401 and a bibliographic information acquisition method 402. A bibliographic information acquisition unit 802 that acquires bibliographic information corresponding to the document ID, and a document list generation unit 803 that generates a document list based on the acquired bibliographic information. The document list creation composite method 800 uses the document ID list acquisition method 401 and the bibliographic information acquisition method 402, and thus does not include the entity of these methods. Therefore, the only part developed to realize the document list creation composite method 800 is mainly the document list creation unit 803. Therefore, development efficiency can be greatly reduced. Further, the composite Web service provision processing unit 90 configures an aggregate having a plurality of processing units by a method having processing units and method entities such as the document list creation composite method 800 as the Web service function shown in FIG.
[0082]
The SOAP processing unit 70 further includes dispatchers (Dispatchers) 60A and 68A that distribute the processing to the Web service provision processing units 40 and 90. For example, the SOAP processing unit 70 moves to each method 401 or 402 of the file management Web service provision processing unit 40. A dispatcher 60A that distributes processing, a dispatcher 68A that distributes processing to the document list creation composite method 800 of the composite Web service provision processing unit 90, and another dispatcher that distributes processing to the methods of the other Web service provision processing unit 49 ( (Not shown). In the information processing apparatus 200, for convenience of explanation, only the file management web service provision processing unit 40, the composite web service provision processing unit 90, and the other web service provision processing unit 49 are shown as a plurality of web service provision processing units. However, it may be configured to have more web service provision processing units. The XML processing unit 50 and the SOAP processing unit 70 are shared by the plurality of Web service providing processing units.
[0083]
The functional configurations of the network device 10A and the network device 10B connected to the information processing apparatus 200 via the network 15 are the same as those of the network device 10A and the network device 10B illustrated in FIG.
[0084]
First, a processing flow for providing a Web service in response to a request from the network device 10A will be described. A user who uses the network device 10A requests the information processing apparatus 200 from a screen for requesting the information processing apparatus 200 for a desired Web service (step S31). For example, it is assumed that the user requests a Web service that provides a list of documents stored in the HDD 1303 of the information processing apparatus 200 from the screen of the monitor 9A. In response to the web service request by the user, the input / output control unit 11A notifies the request / response processing unit 14 of the request data (step S32). The request / response processing unit 14 generates a request based on the request data from the input / output control unit 11, and notifies the generated request to the SOAP processing unit 12 (step S33). The SOAP processing unit 12 describes the processing content of the Web service desired by the user of the XML processing unit 13 in XML by describing the body part of the HTTP request, and generates an HTTP request according to SOAP. Then, the HTTP request is transmitted to the information processing apparatus 200 via the network 15 (step S34).
[0085]
When httpd2 of the information processing apparatus 200 receives the HTTP request, the distributor 30 distributes the received HTTP request to the Web service providing processing unit specified by the header part of the HTTP request (step S35). For example, when the composite Web service provision processing unit 90 is specified in the header part of the HTTP request, the composite Web service provision processing unit 90 is executed by the distributor 30.
[0086]
The composite Web service provision processing unit 90 notifies the received HTTP request to the SOAP processing unit 70 in order to process the HTTP request according to SOAP (step S36). The SOAP processing unit 70 processes the HTTP request in accordance with SOAP, and the dispatcher 68 distributes the processing to the document list creation composite method 800 specified in the header part of the HTTP request, and causes the XML processing unit 50 to change according to the HTTP method. Execute (Step S37). The XML processing unit 50 converts the message indicating the processing contents in the body part of the HTTP request described in XML into a description that can be interpreted by the document list creation composite method 800, and notifies the document list creation composite method 800 (step). S38).
[0087]
In the document list creation composite method 800, first, the document ID list acquisition unit 801 makes a function call to the document ID list acquisition method 401 of the file management Web service provision processing unit 40 (step S39). A document ID list acquisition method 401 acquires a document ID for identifying a document managed by the HDD 1303 and creates a document ID list. In this case, if the document ID list acquisition method 401 (listID (docIDList)) acquires the document IDs “101”, “102”, and “103”, the document ID list (docIDList) is set to docIDList = {101, 102, 103, 0} (“0 (zero)” indicates termination) and notifies the document ID list acquisition unit 801 (step S40).
[0088]
In the document list creation composite method 800, the bibliographic information acquisition unit 802 subsequently calls the bibliographic information acquisition method 402 of the file management Web service provision processing unit 40 (step S41). The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID notified from the bibliographic information acquisition unit 802 and creates bibliographic information. For example, when bibliographic information is acquired for the document ID “101”, the bibliographic information acquisition unit 802 calls the bibliographic information acquisition method 402 (getProps (docID, props)) as a function like getProps (101, props).
[0089]
The called bibliographic information acquisition method 402 inquires the bibliographic information with the specified document ID to the HDD 1303 and notifies the bibliographic information acquisition unit 802 of the bibliographic information (step S42). That is, the bibliographic information acquisition method 402 acquires bibliographic information from the HDD 1303 with the document ID “101” notified from the bibliographic information acquisition unit 802. Then, the bibliographic information acquisition method 402 creates bibliographic information for notification to the bibliographic information acquisition unit 802. For example, bibliographic information is created as prop = {document ID, document name, number of pages, owner, 0} ("0 (zero)" indicates the end of bibliographic information). In this case, prop = {101, It is set for the document ID “101” as “accumulated document 1”, 3, “user 1”, 0}. The bibliographic information acquisition method 402 notifies the bibliographic information acquisition unit 802 of the document list generation composite method 800 of the bibliographic information generation result for the specified document ID.
[0090]
The bibliographic information acquisition unit 802 of the document list creation composite method 800 repeats the same processing for other document IDs “102” and “103” to acquire all document information.
[0091]
Further, the document list creation composite method 800 creates a document list by the document list creation unit 803 and notifies the XML processing unit 50 to describe the document list in XML (step S43). That is, the document list creation unit 803 generates a document list, for example, docList = {{101, “accumulated document 1”, 3, “user 1”, 0}, {102, “accumulated document 2”, 10, “user 2 ", 0}, {103," Accumulated document 3 ", 1," User 1 ", 0}, 0}. The created document list (docList) is notified to the XML processing unit 50. When receiving the document list (docList), the XML processing unit 50 generates XML 26 described in XML and notifies the SOAP processing unit 70 (step S44). When the SOAP processing unit 70 receives the document list described in XML, the SOAP processing unit 70 sets the received document list described in XML in the body part of the HTTP response, and generates an HTTP response according to SOAP (step S45).
[0092]
In such a functional configuration example, the composite web service provision processing unit 90 uses the document list creation composite method 800 to combine a plurality of methods without providing the entity of the document ID list acquisition method 401 and the bibliographic information acquisition method 402. Web service processing can be performed. Therefore, the network device 10A can receive a series of Web services by a single HTTP request without being aware of the Web service units that the information processing apparatus 200 can provide.
[0093]
Furthermore, in FIG. 5, it is also possible to provide a web service by the file management web service provision processing unit 40 itself. That is, when httpd2 receives an HTTP request from the network device 10 (step S34), the distributor 30 performs file management Web service provision processing in response to a request for a Web service for obtaining bibliographic information specified in the header part of the HTTP request. The received HTTP request is distributed to the bibliographic information acquisition method 402 of the unit 40 (step S35-3).
[0094]
The file management Web service provision processing unit 40 notifies the received HTTP request to the SOAP processing unit 70 in order to process the HTTP request according to SOAP (step S36-3). The SOAP processing unit 70 processes the HTTP request in accordance with SOAP, and the dispatcher 60A distributes the processing to the bibliographic information acquisition method 402 specified in the header part of the HTTP request, and executes the XML processing unit 50 according to the HTTP method. (Step S37-3). The XML processing unit 50 converts the message indicating the processing content in the body part of the HTTP request described in XML into a description interpretable by the bibliographic information acquisition method 402 and notifies the bibliographic information acquisition method 402 (step S38-). 3).
[0095]
The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID specified by the message processed by the XML processing unit 50, and describes the bibliographic information in XML. The XML processing unit 50 is notified (step S43-3). The XML processing unit 50 generates XML 26 in which bibliographic information is described in XML. Further, in the SOAP processing unit 70, the XML 26 is set in the body part of the HTTP response, and an HTTP response is generated according to SOAP (step S45-3) and transmitted from the httpd2 to the network device 10 (steps S46-3 and S47). .
[0096]
As described above, the information processing apparatus 200 can execute the bibliographic information acquisition method 402 having an entity in response to an HTTP request for requesting provision of bibliographic information from the network device 10A. Similarly, the document ID list acquisition method 401 itself can be executed.
[0097]
Therefore, the information processing apparatus 200 can provide a wide range of Web services by combining a plurality of methods that form an image and actually perform processing for providing the Web service, and combinations thereof.
[0098]
Next, a processing flow for providing a Web service in response to a request from the network device 10B will be described. A user who uses the network device 10B requests a desired Web service from the screen for requesting the Web service displayed on the monitor 9B to the information processing apparatus 200, and the input / output control unit 11B Request data is received (step S51). The web browser 23 generates an HTTP request based on GET METHOD or POST METHOD based on the request data received by the input / output control unit 11, and transmits the HTTP request to the information processing apparatus 200 via the network 15 (step S52). For example, the web browser 23
GET / documentList. cgi HTTP / 1.1
An HTTP request by a GET method such as
[0099]
When httpd2 of the Web server 500 of the information processing apparatus 200 receives the HTTP request received from the network device 10, the distributor 30 processes an HTTP request by the GET method based on the GET method of the HTTP request. The HTTP request is distributed to (step S53). The HTTP request processing unit 501 distributes the processing to the document list creation composite method 800 specified by the header part of the HTTP request by the dispatcher 68 (step S54). For example, “documentList.cgi” executes a document list creation composite method 800 corresponding to “documentList.cgi”.
[0100]
In the document list creation composite method 800, first, the document ID list acquisition unit 801 makes a function call to the document ID list acquisition method 401 of the file management Web service provision processing unit 40 (step S55). The document ID list acquisition method 401 acquires a document ID for identifying a document managed by the HDD 1303 (step S56), and creates a document ID list. In this case, if the document ID list acquisition method 401 (listID (docIDList)) acquires the document IDs “101”, “102”, and “103”, the document ID list (docIDList) is set to docIDList = {101, 102, 103, 0} ("0 (zero)" indicates the end) is set and notified to the document ID list acquisition unit 801 (step S57).
[0101]
In the document list creation composite method 800, the bibliographic information acquisition unit 802 subsequently makes a function call to the bibliographic information acquisition method 402 of the file management Web service provision processing unit 40 (step S58). The bibliographic information acquisition method 402 inquires bibliographic information for the document managed by the HDD 1303 with the document ID notified from the bibliographic information acquisition unit 802 and creates bibliographic information. For example, when bibliographic information is acquired for the document ID “101”, the bibliographic information acquisition unit 802 calls the bibliographic information acquisition method 402 (getProps (docID, props)) as a function like getProps (101, props).
[0102]
The called bibliographic information acquisition method 402 inquires of the HDD 1303 about the bibliographic information with the designated document ID, and notifies the bibliographic information acquisition unit 802 of the bibliographic information (step S59). That is, the bibliographic information acquisition method 402 acquires bibliographic information from the HDD 1303 with the document ID “101” notified from the bibliographic information acquisition unit 802. Then, the bibliographic information acquisition method 402 creates bibliographic information for notification to the bibliographic information acquisition unit 802. For example, bibliographic information is created as prop = {document ID, document name, number of pages, owner, 0} ("0 (zero)" indicates the end of bibliographic information). In this case, prop = {101, It is set for the document ID “101” as “accumulated document 1”, 3, “user 1”, 0}. The bibliographic information acquisition method 402 notifies the bibliographic information acquisition unit 802 of the document list generation composite method 800 of the bibliographic information generation result for the specified document ID.
[0103]
The bibliographic information acquisition unit 802 of the document list creation composite method 800 repeats the same processing for other document IDs “102” and “103” to acquire all document information.
[0104]
Further, the document list creation composite method 800 creates a document list by the document list creation unit 803 and notifies the XML processing unit 50 to describe the document list in XML (step S60). That is, the document list creation unit 803 generates a document list, for example, docList = {{101, “accumulated document 1”, 3, “user 1”, 0}, {102, “accumulated document 2”, 10, “user 2 ", 0}, {103," Accumulated document 3 ", 1," User 1 ", 0}, 0}. The created document list (docList) is notified to the XML processing unit 50. When the XML processing unit 50 receives the document list (docList), the XML processing unit 50 generates the XML 26 described in XML by the same description method as the generation of the body part of the HTTP response in accordance with SOAP, and notifies the Web server 500 (step). S61). Upon receiving the notification, the Web server 500 executes the HTML creation unit 502. The HTML creation unit 502 uses the XSL processor 503 to convert the XML 26 into the HTML format based on the XSL 25 indicating a predetermined style list. The HTML creation unit 502 creates an HTTP response by the HTML 24 indicating the processing result according to the HTML format, and requests the httpd 2 to transmit the HTTP response (step S62). The httpd2 transmits an HTTP response to the network device 10B via the network 15 (step S63).
[0105]
When the HTTP response is received by the network device 10B, the Web browser 23 causes the input / output control unit 11 to display the HTML 24 on the monitor 9 (step S64).
[0106]
Furthermore, in FIG. 5, it is also possible to provide a web service by the file management web service provision processing unit 40 itself. In other words, when httpd2 receives an HTTP request from the network device 10B (step S52), the distributor 30 distributes the HTTP request to the HTTP request processing unit 501 that processes the HTTP request by the GET method based on the GET method of the HTTP request. (Step S53). The HTTP request processing unit 501 distributes the process to the bibliographic information acquisition method 402 specified by the header part of the HTTP request by the dispatcher 60 (step S54-3).
[0107]
The bibliographic information acquisition method 402 inquires bibliographic information for a document managed by the HDD 1303 with the document ID specified by the HTTP request, creates bibliographic information, and generates XML 26 describing the bibliographic information in XML. Therefore, the XML processing unit 50 is notified (step S60-3). Thereafter, the bibliographic information is provided to the network device 10B through the processing of steps S61 to S63 described above.
[0108]
As described above, the information processing apparatus 200 can execute the bibliographic information acquisition method 402 having an entity in response to an HTTP request for requesting provision of bibliographic information from the network device 10. Similarly, the document ID list acquisition method 401 itself can be executed.
[0109]
Therefore, the information processing apparatus 200 can provide a wide range of Web services by combining a plurality of methods that form an image and actually perform processing for providing the Web service, and combinations thereof.
[0110]
In the above functional configuration example, the network device 10B does not require a special message exchange method with the information processing apparatus 200, and receives a web service from the information processing apparatus 200 only by using a web browser. RPC (Remote Procedure Call) can be realized. In addition, the composite web service provision processing unit 90 uses the document list creation composite method 800 to perform a series of web service processing by combining a plurality of methods without having the document ID list acquisition method 401 and the bibliographic information acquisition method 402. It can be carried out. Therefore, a series of Web service processing can be performed by combining a plurality of methods. Accordingly, the network device 10B can receive a series of Web services by a single HTTP request without being aware of the Web service units that the information processing apparatus 200 can provide.
[0111]
Further, such a composite Web service provision processing unit 90 can be shared by processing requests having different protocols. Therefore, it is not necessary to develop the composite Web service provision processing unit 90 for each processing request protocol.
[0112]
In the above functional configuration example, the information processing apparatus 200 includes the XSL 25 in the Web server 500, so that the description of the body part of the HTTP response that specifies SOAP in the XML processing unit 50 and the body of the HTTP response that does not specify SOAP. The process of part description can be made common.
[0113]
The XML processing unit 50 shown in FIG. 5 describes the document list (docList) in, for example, XML as shown in FIG. FIG. 6 is a diagram showing an example of a document list described in XML by the XML processing unit. 6, description 53 shows bibliographic information with document ID “101”, description 54 shows bibliographic information with document ID “102”, and description 55 shows bibliographic information with document ID “103”. For example, in the description 53, the bibliographic information of the document ID “101” indicates that the document name is “accumulated document 1”, the number of pages is “3” pages, and the owner is “user 1”.
[0114]
Also, the HTTP request created by the SOAP processing unit 12 of the network device 10A and transmitted to the information processing apparatus 200 is described as shown in FIG. 7, for example. FIG. 7 is a diagram illustrating an example of an HTTP request by SOAP. FIG. 7 is a diagram illustrating an example of an HTTP request by SOAP. In the HTTP header part 73 of the HTTP request shown in FIG. 7, the URI 74 indicates a URI to which the HTTP request is transmitted by the POST method, and is “netdoc”, for example. Further, a URI indicating the purpose of the request is shown in SOAPAction 75, and “document list” is designated by “http://foo.bar.com/netdoc/documentList”, for example. The httpd 2 of the information processing apparatus 200 receives the HTTP request, and the SOAP processing unit 70 analyzes the HTTP header unit 75. The SOAP processing unit 70 analyzes <SOAP-ENV: Envelope> to </ SOAP-ENV: Envelope>, and indicates a processing content described in XML from <ns: documentList> to </ ns: documentList>. To get. In the XML message, for example, when “1” set in <listtype> indicates that a list is created for all documents, the document list creation composite method 800 is based on an instruction of the message. The document ID list acquisition unit 801, the bibliographic information acquisition unit 802, and the document list creation unit 803 acquire a list of all documents managed by the information processing apparatus 200.
[0115]
The document list is described in XML by the XML processing unit 50, and then an HTTP response is created by the SOAP processing unit 70. For example, an HTTP response as shown in FIG. 8 is generated. FIG. 8 is a diagram illustrating an example of an HTTP response by SOAP. In the example of the HTTP response shown in FIG. 8, the SOAP processing unit 70 creates an HTTP header part 78 and further creates an HTTP body part 79. As the HTTP body part 79, </ SOAP-ENV: Envelope> is created from <SOAP-ENV: Envelope>. A message 91 shown from <ns: documentListResponse> to </ ns: documentListResponse> is a message in which the XML processing unit 50 describes the document list from the document list creation composite method 800 in XML.
[0116]
Such an HTTP response is notified to the network device 10A, and the SOAP processing unit 12 extracts the message 91 from <SOAP-ENV: Body> to </ SOAP-ENV: Body>, and the extracted message 91 is converted into an XML process. The document list information to be displayed on the monitor 9A is extracted by the unit 13 and notified to the request / response processing unit 14. Further, the document list information is processed as screen data by the request / response processing unit 14, and is displayed on the monitor 9A by the input / output control unit 11A, for example, as shown in FIG.
[0117]
On the other hand, the document list described in XML shown in FIG. 6 is converted into a document list described in HTML as shown in FIG. 9 by the XSL processor 503 of the HTML creation unit 502 based on XSL25. FIG. 9 is a diagram showing an example of a document list described in HTML by the HTML creation unit. In FIG. 9, a description 93 indicates a header part of the HTTP response, and a description 99 indicates a body part of the HTTP response.
[0118]
In the description 99, the description 94 indicates an HTML header part and is a description for displaying the title “document list” corresponding to the Web service requested by the user of the network device 10B. The description 95 is a description for displaying the item name of the document list. The description 96 is a description obtained by converting the XML description 53 shown in FIG. 6 into HTML. The description 97 is a description obtained by converting the XML description 54 shown in FIG. 6 into HTML. The description 98 is a description obtained by converting the description 55 in XML shown in FIG. 6 into HTML.
[0119]
A screen as shown in FIG. 10 is displayed on the monitor 9B of the network device 10B by the description converted into HTML in this way. FIG. 10 is a diagram illustrating an example of a screen displayed on the network device side. On the screen 92 shown in FIG. 10, a document list is displayed in association with item names such as the document name, the number of pages, and the owner. A similar screen is also displayed on the monitor 9A of the network device 10A by an HTTP response according to SOAP.
[0120]
As described above, the information processing apparatus 200 according to the present invention enables a Web service by exchanging messages using SOAP and also provides it using HTML. Therefore, the same Web service can be provided to the users of the network devices 10A and 10B.
[0121]
Also, the same Web service function can be executed for an HTTP request that specifies SOAP and for an HTTP request that does not specify SOAP. Furthermore, the body part can be generated using the XML 26 generated by the XML processing unit 50 for both the HTTP response designating the SOAP and the HTTP response not designating the SOAP.
[0122]
In the above embodiment, the example in which the SOAP service and the Web browser can be supported by the same Web service function has been described. However, the other functions are different so as to support the original protocol uniquely determined with the network device. It is also possible to correspond to protocol 3. For example, the same Web service may be provided to the network device by a unique protocol in which a description in XML decided in the body part of the HTTP request and HTTP response is set.
[0123]
【The invention's effect】
As described above, according to the present invention, it is only necessary to install standard Web service compatible software on a computer terminal used by a user. Further, it is possible not only to make processing requests without depending on the model of the computer terminal or the operating system, but also to uniformly process processing requests from other devices.
[0124]
[Brief description of the drawings]
FIG. 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a functional configuration example of an information processing apparatus that provides a Web service.
FIG. 3 is a diagram illustrating an example of an HTTP request by SOAP.
FIG. 4 is a diagram illustrating an example of an HTTP response by SOAP.
FIG. 5 is a diagram illustrating an example of a functional configuration for explaining an example of an information processing apparatus having a composite Web service.
FIG. 6 is a diagram illustrating an example of a document list described in XML by an XML processing unit.
FIG. 7 is a diagram illustrating an example of an HTTP request by SOAP.
FIG. 8 is a diagram illustrating an example of an HTTP response by SOAP.
FIG. 9 is a diagram showing an example of a document list described in HTML by an HTML creating unit.
FIG. 10 is a diagram showing an example of a screen displayed on the network device side.
[Explanation of symbols]
2 httpd (Hypertext Transfer Protocol Daemon)
30 Distributor
40-49 Web service provision processing unit
50 XML processing section
51 CPU
52 Memory unit
53 Display unit
54 Input unit
55 Communication unit
56 Storage device
57 drivers
58 Storage media
60A, 60B dispatcher
70 SOAP processing part
200 Information processing apparatus
B System bus

Claims (13)

ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段(500)と、
リモートプロシジャコールで実行できるように、Webサービス実行手段(400)を異なるプロトコルで共有してWebサービスを実行し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該Webサービス実行手段を実行した処理結果を上記Webサービス通信制御手段へ提供する複数のWebサービス提供処理手段(40、49、・・)とを有し、
前記複数のWebサービス提供処理手段(40、49、・・)は、所定記述形式に従って処理する記述形式処理手段(50)を共有し、
上記記述形式処理手段(50)は、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス実行手段(400)によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理し、
前記複数のWebサービス提供処理手段(40、49、・・)は、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手段(70)を共有し、
上記プロトコル処理手段(70)は、
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手段に処理を振り分ける第一振分手段(60A)を有し、
上記Webサービス通信制御手段(500)は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段(60B)を有し、
上記Webサービス通信制御手段(500)は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを、上記プロトコル処理手段に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを、前記第二振分手段に分配する分配手段(30)有することを特徴とする情報処理装置。
Receiving a first processing request designating a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request designating a second protocol other than the first protocol; Web service communication control means (500) for transmitting a first process response according to the protocol and a second process response according to the second protocol;
The Web service execution means (400) is shared by different protocols so that it can be executed by remote procedure call, and the Web service is executed. The first process request and the second process request having different protocols are received and the process is executed. A plurality of Web service providing processing means (40, 49,...) For providing the processing result of executing the Web service executing means for each request to the Web service communication control means;
The plurality of Web service providing processing means (40, 49,...) Share description format processing means (50) for processing according to a predetermined description format,
The description format processing means (50) converts the message described in the first processing request in accordance with a predetermined description format into a format that can be processed by the Web service execution means (400), and the first processing request Processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing the processing result according to the predetermined description format;
The plurality of Web service providing processing means (40, 49,...) Share a protocol processing means (70) for controlling the message according to the first protocol,
The protocol processing means (70)
Analyzing the specific information specifying the Web service in the first processing request according to the first protocol, and processing the Web service execution means for executing the Web service specified by the specific information based on the analysis result. Having a first sorting means (60A) for sorting,
The web service communication control means (500)
Analyzing the specific information specifying the Web service in the second processing request, and having a second distribution means (60B) for allocating the processing to the Web service execution means corresponding to the specific information based on the analysis result And
The web service communication control means (500)
When the first processing request is received, the first processing request is distributed to the protocol processing means. When the second processing request is received, the second processing request is distributed to the second distribution means. the information processing apparatus according to claim Rukoto that having a dispensing means (30) for.
上記Webサービス通信制御手段(500)は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段(2)と、
上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段(501)とを有することを特徴とする請求項1記載の情報処理装置。
The web service communication control means (500)
Network communication control means (2) for controlling reception of the first and second processing requests from the device and transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol. When,
The information processing apparatus according to claim 1, further comprising: a processing request processing unit (501) that processes the second processing request and executes the Web service execution unit based on the processing result.
上記複数のWebサービス提供処理手段の夫々に対応させて複数の上記第一振分手段と複数の上記第二振分手段とを有することを特徴とする請求項2記載の情報処理装置。  3. The information processing apparatus according to claim 2, further comprising a plurality of the first distribution means and a plurality of the second distribution means corresponding to each of the plurality of Web service providing processing means. 上記Webサービス通信制御手段(500)は、
上記第一処理リクエストに対する同一処理によって上記Webサービス提供処理手段から提供される上記第二処理リクエストに応じた上記処理結果を示す上記第二処理レスポンスを上記第二プロトコルで指定された表示形式に従って作成する表示形式作成手段(502)を有することを特徴とする請求項1乃至3のいずれか一項記載の情報処理装置。
The web service communication control means (500)
The second processing response indicating the processing result corresponding to the second processing request provided from the Web service providing processing means by the same processing for the first processing request is created according to the display format specified by the second protocol. The information processing apparatus according to any one of claims 1 to 3, further comprising display format creation means (502) for performing the processing.
上記表示形式作成手段(502)は、
上記記述形式処理手段によって上記第一処理リクエストに応じた上記処理結果と同様に処理された上記第二処理リクエストに応じた上記処理結果を、上記記述形式の書式スタイルに基づいて、上記表示形式に従った上記処理結果に変換する記述形式変換手段(503)を有することを特徴とする請求項4記載の情報処理装置。
The display format creation means (502)
The processing result according to the second processing request processed in the same manner as the processing result according to the first processing request by the description format processing means is converted into the display format based on the format style of the description format. 5. The information processing apparatus according to claim 4, further comprising: a description format conversion means (503) for converting into the processing result.
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手段(500)と、
リモートプロシジャコールで実行できるように、Webサービス実行手段を異なるプロトコルで共有してWebサービスを実行し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該Webサービス実行手段を実行した処理結果を上記Webサービス通信制御手段へ提供する複数のWebサービス提供処理手段(40、49、・・)と、
上記Webサービス提供処理手段を構成する上記一つ以上の処理単位を実行することによって上記内部情報を処理し、その処理結果を用いて付加処理を行った結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手段(90)とを有し、
上記Webサービス通信制御手段(500)は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを上記Webサービス提供処理手段又は複合Webサービス提供処理手段に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを上記処理単位に分配する分配手段(30)を有し、
更に、
上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手段(70)と、
上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手段によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手段(50)とを有し、
上記プロトコル処理手段(70)と上記記述形式処理手段(50)とは、上記複数のWebサービス提供処理手段(40、49、・・)及び上記複合Webサービス提供処理手段(90)によって共有されることを特徴とする情報処理装置。
Receiving a first processing request designating a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request designating a second protocol other than the first protocol; Web service communication control means (500) for transmitting a first process response according to the first protocol and a second process response according to the second protocol indicating a processing result according to a processing request;
In order to be able to execute by remote procedure call, the Web service execution means is shared by different protocols to execute the Web service, and the first processing request and the second processing request having different protocols are received and each processing request is received. A plurality of Web service providing processing means (40, 49,...) For providing the processing result of executing the Web service executing means to the Web service communication control means;
The internal information is processed by executing the one or more processing units constituting the Web service providing processing means, and a result of performing additional processing using the processing result is provided to the Web service communication control means. Composite web service provision processing means (90) ,
The web service communication control means (500)
When the first processing request is received, the first processing request is distributed to the Web service providing processing means or the composite Web service providing processing means. When the second processing request is received, the second processing request is Having distribution means (30) for distributing to processing units;
Furthermore,
Protocol processing means (70) for controlling the messages of the first processing request and the first processing response according to the first protocol;
The message described in the first processing request according to the predetermined description format is converted into a format that can be processed by the Web service providing processing means, and the processing result corresponding to the first processing request is converted into the predetermined description format. Description format processing means (50) for processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing according to
The protocol processing means (70) and the description format processing means (50 ) are shared by the plurality of Web service providing processing means (40, 49,...) And the composite Web service providing processing means (90) . An information processing apparatus characterized by that.
上記複合Webサービス提供処理手段(90)は、上記Webサービス提供処理手段の上記処理単位の組み合せを該複合Webサービス提供処理手段における処理単位として実行する少なくとも一つの複合処理実行手段(800)を有するこことを特徴とする請求項6記載の情報処理装置。The composite Web service provision processing means (90) includes at least one composite processing execution means (800) that executes a combination of the processing units of the Web service provision processing means as a processing unit in the composite Web service provision processing means. The information processing apparatus according to claim 6, wherein 少なくとも1つの上記処理単位を有する複数の上記Webサービス提供処理手段(40、49、・・)を有し、
上記複合処理実行手段(800)は、上記複数のWebサービス提供処理手段の上記処理単位を複数組み合せて上記内部情報を処理することを特徴とする請求項7記載の情報処理装置。
A plurality of the Web service providing processing means (40, 49,...) Having at least one processing unit;
8. The information processing apparatus according to claim 7, wherein the composite processing execution means (800) processes the internal information by combining a plurality of processing units of the plurality of Web service providing processing means.
上記プロトコル処理手段(70)は、
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行するWebサービス実行手段(401、402、800、・・・)に処理を振り分ける第一振分手段(60A、68A)を有することを特徴とする請求項6記載の情報処理装置。
The protocol processing means (70)
Analyzes the identification information for identifying the Web service of the first processing request according the first protocol, based on the analysis result, W eb service execution means (401 to run a Web service specified by the specific information , 402,800, first sorting means for distributing the processing to ···) (60A, 68A) the information processing apparatus according to claim 6, wherein a.
上記Webサービス通信制御手段(500)は、
上記ネットワークを介して、上記機器からの上記第一及び第二処理リクエストの受信及び上記機器への上記第一及び第二処理レスポンスの送信を所定ネットワーク通信プロトコルに従って制御するネットワーク通信制御手段(2)と、
上記第二処理リクエストを処理し、その処理結果に基づいて、上記Webサービス実行手段を実行する処理リクエスト処理手段(501)とを有することを特徴とする請求項6記載の情報処理装置。
The web service communication control means (500)
Network communication control means (2) for controlling reception of the first and second processing requests from the device and transmission of the first and second processing responses to the device via the network according to a predetermined network communication protocol. When,
The information processing apparatus according to claim 6, further comprising: a processing request processing unit (501) that processes the second processing request and executes the Web service execution unit based on the processing result.
上記Webサービス通信制御手段(500)は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手段に処理を振り分ける第二振分手段(60B、68B)を有することを特徴とする請求項8乃至10のいずれか一項記載の情報処理装置。
The web service communication control means (500)
Second distribution means (60B, 68B) for analyzing the specific information for specifying the Web service in the second processing request and allocating the processing to the Web service execution means corresponding to the specific information based on the analysis result The information processing apparatus according to claim 8, further comprising:
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二プロトコルに従った第二処理レスポンスとを送信するWebサービス通信制御手順と、
リモートプロシジャコールで実行できるように、Webサービス実行手順を異なるプロトコルで共有してWebサービスを実行し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該Webサービス実行手順を実行した処理結果を上記Webサービス通信制御手順へ提供する複数のWebサービス提供処理手順とを有し、

前記複数のWebサービス提供処理手順は、所定記述形式に従って処理する記述形式処理手順を共有し、
上記記述形式処理手順は、上記第一処理リクエスト内に所定記述形式に従って記述された上記メッセージを上記Webサービス実行手順によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理し、
前記複数のWebサービス提供処理手順は、上記第一プロトコルに従って上記メッセージを制御するプロトコル処理手順を有し、
上記プロトコル処理手順は、
上記第一処理リクエスト内のWebサービスを特定する特定情報を上記第一プロトコルに従って解析し、その解析結果に基づいて、該特定情報によって特定されるWebサービスを実行する上記Webサービス実行手順に処理を振り分ける第一振分手順を有し、
上記Webサービス通信制御手順は、
上記第二処理リクエスト内のWebサービスを特定する特定情報を解析し、その解析結果に基づいて、該特定情報に対応する上記Webサービス実行手順に処理を振り分ける第二振分手順を有し、
上記Webサービス通信制御手順は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを、上記プロトコル処理手順に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを、前記第二振分手順に分配する分配手順を有することを特徴とする情報処理方法。
Receiving a first processing request designating a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request designating a second protocol other than the first protocol; A web service communication control procedure for transmitting a first process response in accordance with the first protocol and a second process response in accordance with the second protocol indicating a processing result according to a processing request;
The Web service execution procedure is shared by different protocols so that it can be executed by remote procedure call, and the Web service is executed. The first process request and the second process request having different protocols are received and each process request is received. A plurality of Web service providing processing procedures for providing the processing result of executing the Web service executing procedure to the Web service communication control procedure;

The plurality of Web service providing processing procedures share a description format processing procedure for processing according to a predetermined description format,
The description format processing procedure converts the message described in the first processing request according to a predetermined description format into a format that can be processed by the Web service execution procedure, and the processing result according to the first processing request. Processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing according to the predetermined description format,
Wherein the plurality of Web service provision process has co protocol processing procedure for controlling the message in accordance with said first protocol,
The protocol processing procedure is as follows:
The Web service execution procedure for analyzing the specific information specifying the Web service in the first processing request according to the first protocol and executing the Web service specified by the specific information based on the analysis result is processed. Has a first sorting procedure to sort,
The Web service communication control procedure is as follows:
Analyzing the specific information for identifying the Web service in the second processing request, and, based on the analysis result, having a second distribution procedure for allocating the processing to the Web service execution procedure corresponding to the specific information;
The Web service communication control procedure is as follows:
When the first processing request is received, the first processing request is distributed to the protocol processing procedure. When the second processing request is received, the second processing request is distributed to the second distribution procedure. an information processing method characterized in that it comprises a partial high-tech order to.
ネットワークを介して接続された機器からの所定メッセージを交換する第一プロトコルを指定する第一処理リクエストと該第一プロトコル以外の第二プロトコルを指定する第二処理リクエストとを受信し、該第一処理リクエストに応じた処理結果を示す該第一プロトコルに従った第一処理レスポンスと該第二処理レスポンスとを送信するWebサービス通信制御手順と、
情報処理装置に関する内部情報の処理をリモートプロシジャコールで実行可能な少なくとも一つ以上の処理単位を異なるプロトコルで共有し、プロトコルの異なる上記第一処理リクエストと上記第二処理リクエストとを夫々受付けて該処理リクエスト毎に該処理単位を実行した処理結果を上記Webサービス通信制御手順へ提供するWebサービス提供処理手順と、
上記Webサービス提供処理手順を構成する上記一つ以上の処理単位を実行することによって上記内部情報を処理し、その処理結果を用いて付加処理を行った結果を上記Webサービス通信制御手段へ提供する複合Webサービス提供処理手順とを有し、
上記Webサービス通信制御手順は、
上記第一処理リクエストを受信した場合は該第一処理リクエストを上記Webサービス提供処理手順又は複合Webサービス提供処理手順に分配し、上記第二処理リクエストを受信した場合は該第二処理リクエストを上記処理単位に分配する分配手順を有し、
更に
上記第一プロトコルに従って上記第一処理リクエスト及び上記第一処理レスポンスの上記メッセージを制御するプロトコル処理手順と、
上記第一処理リクエスト内に上記所定記述形式に従って記述された上記メッセージを上記Webサービス提供処理手順によって処理可能な形式に変換すると共に、該第一処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する際の同一の処理方法によって上記第二処理リクエストに応じた上記処理結果を該所定記述形式に従って処理する記述形式処理手順とを有し、
上記プロトコル処理手順と上記記述形式処理手順とは、上記複数のWebサービス提供処理手順及び上記複合Webサービス提供処理手順によって共有されることを特徴とする情報処理方法。
Receiving a first processing request specifying a first protocol for exchanging a predetermined message from a device connected via a network and a second processing request specifying a second protocol other than the first protocol; A Web service communication control procedure for transmitting the first process response and the second process response according to the first protocol indicating the processing result according to the processing request;
At least one or more processing units that can be executed by remote procedure call for processing internal information regarding the information processing apparatus are shared by different protocols, and the first processing request and the second processing request with different protocols are received and the A web service provision processing procedure for providing a processing result of executing the processing unit for each processing request to the web service communication control procedure;
The internal information is processed by executing the one or more processing units constituting the Web service providing processing procedure, and the result of performing additional processing using the processing result is provided to the Web service communication control means. A composite Web service provision processing procedure;
The Web service communication control procedure is as follows:
When the first processing request is received, the first processing request is distributed to the Web service providing processing procedure or the composite Web service providing processing procedure, and when the second processing request is received, the second processing request is A distribution procedure for distributing to processing units;
Furthermore ,
A protocol processing procedure for controlling the message of the first processing request and the first processing response according to the first protocol;
The message described in the first processing request according to the predetermined description format is converted into a format that can be processed by the Web service providing processing procedure, and the processing result corresponding to the first processing request is converted into the predetermined description format. A description format processing procedure for processing the processing result according to the second processing request according to the predetermined description format by the same processing method when processing according to
The protocol processing procedure and the description format processing procedure are shared by the plurality of Web service providing processing procedures and the composite Web service providing processing procedure.
JP2003074120A 2002-03-25 2003-03-18 Information processing apparatus having Web service function Expired - Fee Related JP4621879B2 (en)

Priority Applications (3)

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

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002084556 2002-03-25
JP2002084555 2002-03-25
JP2002327061 2002-11-11
JP2003074120A JP4621879B2 (en) 2002-03-25 2003-03-18 Information processing apparatus having Web service function

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007125941A Division JP4698635B2 (en) 2002-03-25 2007-05-10 Information processing apparatus having Web service function

Publications (2)

Publication Number Publication Date
JP2004213600A JP2004213600A (en) 2004-07-29
JP4621879B2 true JP4621879B2 (en) 2011-01-26

Family

ID=32831001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003074120A Expired - Fee Related JP4621879B2 (en) 2002-03-25 2003-03-18 Information processing apparatus having Web service function

Country Status (1)

Country Link
JP (1) JP4621879B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4843301B2 (en) * 2005-12-06 2011-12-21 株式会社リコー Equipment information distribution system
JP5295336B2 (en) * 2011-10-07 2013-09-18 キヤノン株式会社 Information processing apparatus, information processing method, and program thereof
JP5805312B1 (en) * 2013-12-16 2015-11-04 株式会社東芝 Call adapter program and call method

Also Published As

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

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 (en) Network printer control method
US20040111670A1 (en) Server and client terminal for presenting device management data of XML data
JP3733673B2 (en) Network-compatible printing apparatus, printing method, and network printing system
EP2241967A2 (en) Information processing apparatus, control method, and program
US20050024355A1 (en) Selecting items displayed on respective areas on a screen
US20030163575A1 (en) Resource location and access
JP2006507737A (en) Method and apparatus for making media files accessible via a web page
JP3876588B2 (en) Printer, printer control method, print system, and recording medium
JP4621879B2 (en) Information processing apparatus having Web service function
JP4291856B2 (en) Image forming apparatus having Web service function
JPH1115723A (en) Multimedia data supplying method and multimedia data server
KR20080032957A (en) Method and system for previewing web-page with hypertext at web-browsing
JP2004288066A (en) Service retrieval device, service retrieval method and program, and document processing system
JP4698635B2 (en) Information processing apparatus having Web service function
JP4141209B2 (en) Image forming apparatus having Web service function
JP2005182253A (en) System and method for asp print service, and asp server device
JP4136738B2 (en) Image forming apparatus having Web service function
JP2005055983A (en) Service management method and apparatus, and control program
JP4291855B2 (en) Image forming apparatus having Web service function
JP5548433B2 (en) Web service platform system
JP3685186B2 (en) Network printing system
EP1400898A2 (en) Image forming apparatus including web service functions
JP3473622B1 (en) Network-compatible printing apparatus, printing method, and printing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20030826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070510

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070614

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees