JP2008033938A - 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体 - Google Patents

複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体 Download PDF

Info

Publication number
JP2008033938A
JP2008033938A JP2007197782A JP2007197782A JP2008033938A JP 2008033938 A JP2008033938 A JP 2008033938A JP 2007197782 A JP2007197782 A JP 2007197782A JP 2007197782 A JP2007197782 A JP 2007197782A JP 2008033938 A JP2008033938 A JP 2008033938A
Authority
JP
Japan
Prior art keywords
soap
web service
request
library routine
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007197782A
Other languages
English (en)
Other versions
JP4925960B2 (ja
Inventor
Alain Regnier
レニエ アラン
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
Publication of JP2008033938A publication Critical patent/JP2008033938A/ja
Application granted granted Critical
Publication of JP4925960B2 publication Critical patent/JP4925960B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

【課題】従来のプラットフォームでアドバンストウェブサービスの実現を可能にする技法を提供すること。
【解決手段】ロジカルワークは複数のモジュールに分割され、ターゲットプラットフォームは或る簡易なアブストラクトインターフェースを介して抽象化される。1つ以上のウェブサービス仕様の実現手段は、(動的に又は静的にロードされる)ある共通のモジュールにパッケージされ、ウェブサービスの複雑さが開発者から見えなくする。SOAP及び/又はWSDL規格は共通モジュールにパッケージされ実現される。開発者はその共通モジュールを当てしながら新たなサービスを生成してよい。
【選択図】図2

Description

本発明は一般にウェブサービスを提供することに関連し、特に、ロジカルワークを個々のモジュールに分離することで、従来のプラットフォームでの標準的なウェブサービスを改善することに関連する。
このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術であるように仮定されるべきではない。
「ウェブサービス」なる用語は、インターネットプロトコルバックボーン上でXML、SOAP、WSDL規格(スタンダード)を使用するウェブベースのアプリケーションをまとめた標準化され方法を記述する。XMLはデータをタグ付けするのに使用され、SOAPはデータを転送するのに使用され、WSDLは利用可能なサービスを記述するのに使用される。クライアントとの間で及び互いの間で主に商用の通信手段として使用されるウェブサービスは、ファイヤウォール背後の互いのITシステムの詳細な情報なしに商用組織がデータを通信することを可能にする。
ウェブサービスは、ネットワークのプログラマティックインターフェースを介してビジネスロジック、データ及びプロセスを共有する。ウェブサービスは、様々なソースからの様々なアプリケーションが、時間のかかるカスタムコーディングを行わずに互いに通信することを可能にする。更に、全ての通信はXMLでなされるので、ウェブサービスは如何なるオペレーティングシステムにも如何なるプログラミング言語にも拘束されない。例えば、ジャバ(Java(登録商標))はパイソン(Python)と通信可能であり、ウインドウズ(Windows(登録商標))アプリケーションはユニックス(UNIX(登録商標))アプリケーションと通信可能である。
ウェブサービス仕様書は、セキュリティ、信頼できる管理及び処理の相互運用可能なプロトコルを緩く結合されたシステムで共に提供するように構成する。ウェブサービス仕様書は、承認された規格(例えば、ワールドワイドウェブ協会(W3C)により及び構造化情報標準促進協会(OASIS)により承認される)と、規格になるかもしれない提案中のドキュメント及びドラフトとの双方を含む。
ここ数年先にリリースされる予定の仕様書に加えて、多くのウェブサービス仕様書は比較的複雑である。各仕様を実現するには、アプリケーション開発者の高度な専門技術と複雑な開発技術を要する。更に、多くのウェブサービス仕様書が標準化されてゆくにつれて、追加的なウェブサービス仕様を十分に活用するアプリケーションを開発するアプリケーション開発者数を増やすことは困難になる。
本発明の課題は、従来のプラットフォームでウェブサービスを実現するアプローチをもたらすことである。
第1ウェブサービスアプリケーション(WSA)は第1サービスのSOAPリクエストを受信する。SOAPリクエストの一部分は或るウェブサービス仕様に従う。その一部分に基づいて共用ライブラリ中の或るライブラリルーチンが起動される。ライブラリルーチンは、ウェブサービス仕様で決められている1以上の機能を実行する。ライブラリルーチンの結果に基づいて、装置固有のリクエストが生成され、そのリクエストはMFPでサポートされている通信プロトコルに従うものであり、印刷データを処理するための印刷プロセスを含み、印刷データに反映されている電子書類の印刷物が生成されるようにする。その後に装置固有のリクエストはMFPに送信される。
第2WSAは第2サービスのSOAPリクエストを受信する。そのSOAPリクエストの一部分も同じウェブサービス仕様に従う。その部分に基づいて共用ライブラリ中の或るライブラリルーチンが起動される。ライブラリルーチンの結果に基づいて、第2の装置固有のリクエストが生成され、MFPに送信される。
或るアプローチでは、SOAPライブラリルーチンが起動され、第1SOAPリクエストを分析し、SOAPリクエストで指定されている1以上のウェブサービス仕様を識別する。SOAPライブラリルーチンの結果は第1WSAで受信される。このように、ライブラリルーチンを起動することは、SOAPライブラリルーチンの結果に基づく。
あるアプローチでは、SOAPライブラリルーチンが第2WSAと共用される。
あるアプローチでは、SOAPリクエストが複数の部分を有する場合に、SOAPライブラリルーチンの結果は複数の識別子を有し、識別子の各々は、対応する部分が従うウェブサービス仕様を示す。
あるアプローチでは、SOAPリクエストの別の部分が、別のウェブサービスしように従う。従って、その別の部分に対応する異なるライブラリルーチンが起動され、そのライブラリルーチンから結果が受信される。
あるアプローチでは、共用ライブラリに他のライブラリルーチンが追加され、追加されたライブラリルーチンは、異なるウェブサービス仕様で規定される1以上の機能を実行する。このように、以後のSOAPリクエストの一部分が別のウェブサービス仕様に従う場合、第1及び第2WSAが追加されたライブラリルーチンを起動する。
あるアプローチでは、WSAは、装置固有のリクエストを生成するのに使用されるアブストラクトAPIを含む。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによって、WSAはMFPの1以上の機能を起動する。
本発明は添付図面と共に非限定的な実施例により説明され、図中同様な参照番号は同様な要素に関連する。
説明を目的とする以下の詳細な説明では、本発明の十分な理解をもたらすように、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。それ以外には、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
<機能概要>
図1は複合機(MFP)でデータを処理するリクエストを処理するための本発明の一実施例によるアプローチを示すフローチャートである。ここで使用されるように、MFPなる用語は、印刷、複写、ファクシミリ及びスキャニング等のような1以上の機能を実行する装置に関連する。図1はMFPに用意された装置に対するSOAPリクエストを処理する場合のアプローチを示すが、このアプローチはSOAPコンテキストに限定されない。ステップ102では、第1サービスのSOAPリクエストが第1ウェブサービスアプリケーションで受信される。SOAPリクエストは、1以上のウェブサービス仕様を実行するウェブサービスを要求するように構成される。SOAPリクエストの一部分は、第1ウェブサービス仕様に準拠する。ステップ104では、SOAPリクエストのその部分に基づいて共用ライブラリからライブラリルーチンが起動される。ライブラリルーチンは、第1ウェブサービス仕様で規定される1以上の機能を実現する。ステップ106では、ライブラリルーチンから結果が受信される。ステップ108では、その結果に基づいて装置固有のリクエストが生成される。装置固有のリクエストは、複合機(MFP)でサポートされている通信プロトコルに従う。MFPは印刷プロセスを含み、その印刷プロセスは、印刷データを処理し、印刷データに反映されている電子書類の印刷バージョンが生成されることを引き起こす。ステップ110では、装置固有のリクエストがMFPに送信される。
ステップ112では、第2サービスの第2SOAPリクエストが第2ウェブサービスアプリケーションで受信される。第2SOAPリクエストの一部分は、そのウェブサービス仕様に従う。ステップ114では、第2SOAPリクエストのその部分に基づいて同じライブラリルーチンが共用ライブラリから呼び出される。ステップ116では、ステップ114で起動したライブラリルーチンから結果が受信される。ステップ118では、ステップ116で受信した結果に基づいて、第2の装置固有のリクエストが生成される。第2の装置固有のリクエストもその通信プロトコルに従う。ステップ120では、第2の装置固有のリクエストがMFPに送信される。
<アーキテクチャ概要>
図2はMFPでデータを処理するリクエストを処理するための本発明の一実施例によるアーキテクチャ200を例示するブロック図である。本発明の一実施例によるアーキテクチャ200は、リクエストアプリケーション202、ウェブサービスアプリケーション204,206、SOAP-SDKモジュール(SSM)208、ウェブサービスプロトコルモジュール(WSPM)210及びネットワーク220を含む。リクエストアプリケーション202は、SOAPプロトコルを用いてウェブサービスを要求するアプリケーションである。ウェブサービスアプリケーション(WSA)204は、1以上のウェブサービスについてのリクエストを受信する。SSM208は、WSA204及びWSA206に対して、SOAPメッセージを分析し且つSOAPメッセージを生成するライブラリルーチンを提供する。WSPM210は、2以上のウェブサービス仕様に関連するライブラリルーチンをWSA204及びWSA206に提供する。
例えば、リクエストアプリケーション202はSOAPリクエストを(例えば、ネットワーク220を介して)WSA204に送信する。定義上、SOAPリクエストはヘッダセクション及びボディセクションを有する。ヘッダセクションは1つ以上の部分を含み、その各々は、WSセキュリティのような標準的なウェブサービスプロトコルに関連し且つそれを要する。WSA204がSOAPメッセージを分析するよう構成されていなかったならば、SOAPリクエストの構造を理解するために、WSA204はSSM208で用意されるSOAPライブラリルーチンを起動する。SOAPリクエストでSOAPライブラリルーチンを起動した結果には、1)SOAPリクエストが有効であることの指標及び2)SOAPリクエストで指定される1以上のウェブサービス仕様を区別する一群の識別子が含まれる。
その結果に基づいて、WSA204は、WSPM210中の共用ライブラリとして機能する少なくとも1つのライブラリルーチンを起動する。ライブラリルーチンは、ウェブサービス仕様で規定された1つ以上の機能を実現する。ライブラリルーチンを起動したことの結果に基づいて、WSA204は(アブストラクトAPI214を介してアブストラクトAPIを利用して)MFPでサポートされている通信プロトコルに従う装置固有のリクエストを生成する。WSA204はその後に装置固有のリクエストをMFPに送信する。
アプリケーション要求202がWSA206により提供されるサービスを要求する場合、WSA206はSOAP SDK208及びWSPM210により提供されるライブラリルーチンを使用してもよい。
<アプリケーション要求>
リクエストアプリケーション202は或るプロセスに関連するアプリケーションであり、そのプロセスは、WSA204又はWSA206により提供される特定のウェブサービスを要求するプロセスである。リクエストアプリケーション202は典型的にはオペレーティングシステムに関連するアプリケーションであり、オペレーティングシステムは初期要求プロセスをサポートしている。リクエストアプリケーション202の目的は、プラットフォーム固有のプロシジャコールを、要求するプロセスからSOAPリクエストに変換することであり、SOAPリクエストはSOAPを「理解」できるアプリケーションによって処理可能である。一方、リクエストアプリケーション202はユーザとやり取りするGUIでもよい。この場合、リクエストアプリケーション202はユーザのクリックをSOAPリクエストに変換する。
例えば、要求するプロセスはマイクロソフトワードアプリケーションに関連していてもよいし、WSA204は印刷アプリケーションでもよい。リクエストアプリケーション202は、要求するプロセスから送信されたプラットフォーム固有の「プリントデータ(print data)」リクエストを受信する。リクエストアプリケーション202はSOAPメッセージ中の印刷データリクエストをエンコードし、印刷データリクエストは、SOAPメッセージを「理解」できるWSAにより処理可能である。
<ネットワーク>
リクエストアプリケーション202及びWSA204間のSOAP通信はネットワーク220上でなされてもよい。ネットワーク220中の様々なノード間でデータ交換を行う媒体又は手段の如何なるものによってネットワーク220が実現されてもよい。そのようなネットワークの具体例は、限定ではないが、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット若しくはインターネット等のようなネットワーク又は地上、衛星若しくは無線のリンク等を含む。ネットワーク220は上記のようなネットワークの組み合わせでもよい。ネットワーク220は伝送制御プロトコル(TCP)及びインターネットプロトコル(IP)に従ってデータを送信してもよい。
<ウェブサービスアプリケーション>
ウェブサービスアプリケーション(WSA: Web Service Application)204,WSA206はサービスを提供するモジュールであり、WSPM210でサポートされるプロトコルのようなウェブサービスプロトコル及び技術を当てにしている。アプリケーション各々がSOAPメッセージを分析するように構成されていなかったならば、WSA204及びWSA206はSSM208で用意されるルーチンを当てにしてもよい。
一実施例では、WSA204及びWSA206は、アプリケーション各自がSOAPリクエストに「耳を傾ける(listen)」ソケットを有する。WSA204及びWSA206は、同じソケットで又は異なるソケットでSOAPを聴くよう構成されてもよい。
<SOAP SDKモジュール>
SOAP(Simple Object Access Protocol)はXMLベースのメッセージプロトコルであり、ウェブサービスリクエスト及び応答メッセージ中の情報を、ネットワークに送信する前に、エンコードするために使用される。SOAPメッセージは如何なるオペレーティングシステムとも如何なるプロトコルとも独立であり、SMTP、MIME及び典型的にはHTTPを含む様々なインターネットプロトコルを用いて伝送されてもよい。
ウェブサービス記述言語(WSDL: Web Service Description Language)はウェブサービスを記述するために公表されているXMLフォーマットである。WSDLは特定のウェブサービスに対するパブリックなインターフェースを記述する。WSDLはウェブサービスを用いてどのように通信するかについてのXMLベースのサービス記述である。WSDLファイルは、ディレクトリの中でリストされているウェブサービスとやり取りするのに必要なメッセージフォーマット及びプロトコルバインディングを記述する。サポートされている動作及びメッセージは抽象的に記述され、その後に具体的なネットワークプロトコル及びメッセージフォーマットに拘束される。
WSDLはSOAP及びXMLスキーマとの組み合わせでしばしば使用され、インターネット上でウェブサービスを提供する。ウェブサービス(例えば、WSA204)に接続するクライアントプログラム(例えば、リクエストアプリケーション202)は、ウェブサービスに対応するWSDLファイルを読み込み、ウェブサービスのサポートする機能が何かを確認する。使用されている何らかの特殊なデータタイプが、XMLスキーマの形式でWSDLに組み込まれている。そしてクライアントプログラムはSOAPを利用して、WSDLファイルにリストされた機能の1つを起動する。
一実施例によれば、SOAP-SDKモジュール(SSM)208はライブラリルーチンの共有ライブラリであり、SOAP及び/又はWSDLで規定される1以上の機能を実行する。SOAP222はSOAPに関連する1以上のライブラリルーチンを含む。SOAPに関連する1以上のライブラリルーチンは、SOAP1.2規格又はSOAPの他の何らかのバージョンに関連していてもよい。同様に、WSDL224はWSDLに関連する1以上のライブラリルーチンを含む。WSDLに関連する1以上のライブラリルーチンは、WSDL1.2規格又はWSDLの他の何らかのバージョンに関連していてもよい。SSM208は、リクエストアプリケーション202が古いバージョンで動作してよいように、SOAP及びWSDLの古いバージョンに対応するライブラリルーチンを含んでもよい。
WSAはSOAP222により用意されたライブラリルーチンを起動し、1)SOAPメッセージを生成し、及び/又は2)WSAが受信したSOAPリクエストを分析する。WSAはWSDL224によって用意されたライブラリルーチンを起動し、WSDL書類をパッケージにまとめてリクエストアプリケーション202に送信してもよい。WSDL224は所与のWSDL書類を分析し、スタブ及びスケルトンを開発段階で生成する。動作時に、WSDL224は到来するリクエストを、WSA204又は206「内側(inside)」の関連する機能に対応付ける。WSDL224は外側のWSDL書類を生成するためには不要である。なぜならその書類は典型的にはシンプルテキストファイルだからである。
一実施例では、SSM208は静的な又は動的なライブラリルーチン一式として実現され、WSA204及びWSA206各々がそれら各自のメモリにライブラリルーチンをロードしてもよい。従って、WSA204及びWSA206各々は同じライブラリルーチンの別個のコピーを起動してもよい。別の実施例では、WSA204及びWSA206はSSM208に関連するAPIを用いてライブラリルーチンを起動する。APIはインターフェースを規定し、関連するWSAはそのインターフェースによってSSM208の1以上の機能を起動する。この場合、SSM208はライブラリルーチンで指定されている機能を実行し、ライブラリルーチンを起動したWSAに結果を返す。
WSAがSOAPライブラリルーチンを起動した場合、SOAPリクエストの構造が分析される(ライブラリルーチンをメモリにロードする場合にはローカルに分析され、或いはSSM208がライブラリルーチンで指定される機能を実行する場合にはSSM208により分析される。)。SOAPリクエストの構造が有効であった場合には、SOAPリクエストの1以上の部分が識別される。各部分は特定のウェブサービス仕様を指定する。SOAPライブラリルーチンを実行したことによる結果は、ある識別子で各部分を指すポインタを含むデータ構造を有し、そのポインタはウェブサービス仕様を示す或いはウェブサービス仕様の名前空間(ネームスペース)の名称を示す。
ウェブサービス仕様各々は関連するネームスペースを有する。ネームスペースは特定のウェブサービス仕様を識別する。特定のウェブサービス仕様のバージョン各々は、別々のネームスペースに関連付けられる。従って、WSDL1.1及びWSDL1.2は異なるネームスペースに関連付けられる。
<ウェブサービスプロトコルモジュール>
ウェブサービスプロトコルモジュール(WSPM)210はライブラリルーチンの共用ライブラリとして機能し、ライブラリルーチン各々は1つ以上のウェブサービス仕様で決められている1つ以上の機能を実行する。1つ以上のSOAPライブラリルーチンを起動してSOAPリクエストを分析した結果に基づいて、WSAはどのライブラリルーチンかを知る。
一実施例では、WSPM210は静的な又は動的なライブラリルーチン一式(WSA204及びWSA206はそれぞれ別個にメモリにロードしてもよい)として実現されてもよい。従って、WSA204及びWSA206各々は、同じライブラリルーチンの別々のコピーを起動してもよい。別の実施例では、WSA204及びWSA206は、WSPM210に関連するAPIを用いてライブラリルーチンを起動する。APIはインターフェースを規定し、そのインターフェースによってWAPM210の1つ以上の機能を、関連するWSAが呼び出す。この場合、WSPM210はライブラリルーチンで指定された機能を実行し、そのライブラリルーチンを起動したWSAに結果を返す。
一実施例によれば、WSPM210は少なくとも1つのウェブサービス仕様に関連する1つ以上のライブラリルーチンを有する。WSPM210はライブラリルーチンを構成するように構築され、そのライブラリルーチンは、複数のウェブサービス仕様に及び1以上のウェブサービス仕様の複数のバージョンに対応する。
ウェブサービス仕様は、メッセージ処理、セキュリティ、トランザクション及びポリシに関する規格を含む。ウェブサービスメッセージング仕様書は、WSアドレシング、WSイベント処理及びWS転送処理を含むがこれらに限定されない。WSセキュリティは周知のセキュリティ処理である。ウェブサービストランザクション仕様書は、WSコーディネーション及びWSビジネスアクティビティを含むがこれらに限定されない。ウェブサービスメタデータ仕様書は、WSDL、WSメタデータイクスチェンジ及びWSポリシを含むがこれらに限定されない。他の多くの仕様書が現在のところ提案段階にあり、最終的にはW3C規格になるであろう。
複数のWSAはWSPM210で決められたライブラリルーチンを起動してもよい。従って、WSPM210で使用されるウェブサービス仕様について多くの詳細をWSA開発者が知ることを要しないという恩恵を、複数のWSAが1つのWSPM210から受ける。
<アブストラクトAPI>
一実施例によれば、WSA204及びWSA206は、WSA204についてはアブストラクトAPI214のような、WSA206についてはアブストラクトAPI216のようなアブストラクトAPIを利用し、装置固有のリクエストを生成してもよい。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによってMFPの1つ以上の機能を、関連するWSAが起動する。従って本実施例によれば、WSA204及び/又はWSA206の開発者は、基礎となるターゲットプラットフォームの詳細を知る必要はなく、その開発者が提供しようとする新たなサービスのことしか知らなくてよい。
<アブストラクトAPIの実現>
アブストラクトAPIがWSAについて規定されたならば、特定のプラットフォームについてのアブストラクトAPIの実現手段が決定されなければならい。例えば、アブストラクトAPI実現手段244は、プラットフォームアルファ240でのアブストラクトAPI214について規定される。同様に、アブストラクトAPI実現手段266は、プラットフォームガンマ260でのアブストラクトAPI216について規定される。対応するアブストラクトAPI実現手段は、装置固有のリクエストで指定され且つMFPで行われる機能を規定する。本アーキテクチャによれば、アブストラクトAPIの開発者(implementer)は、ターゲットプラットフォームの知識を持っていることを要するが、WSAの開発者はそれを要しない。
<具体例>
図3は印刷サービスのSOAPリクエストがどのように処理されるかを示す本発明の一実施例を示す。始めに、リクエストアプリケーション202が、電子書類を印刷するワードプロセッシングアプリケーション(図示せず)からのプラットフォーム固有のリクエストを受信する。このリクエストは、電子書類が暗号化されるべきこと、及びワードプロセッシングアプリケーションのユーザは印刷ジョブが完全に実行された場合に(即ち、電子書類全体が印刷された場合)通知を受けることを希望していることを示す。
ステップ1では、リクエストアプリケーション202は、印刷要求を処理するWSA204に関連するWSDLファイルについてのSOAPリクエストを始めに送信する。WSA204はMFPで実行され、MFPはファクシミリサービス、スキャニングサービス及びアーカイビング(保管)サービスのような1つ以上のサービスを印刷サービスに加えて実行する。従ってMFPは少なくとも1つの印刷プロセスを含み、その印刷プロセスは、印刷データを処理し且つその印刷データに反映されている電子書類の印刷バージョンの生成を引き起こす。
ステップ2では、WSA204がWSDLファイルをネットワーク上でリクエストアプリケーション202へ送信する。WSDLファイルはWSA204がサポートする機能をリスト化する。WSA204がSOAPメッセージを分析する機能を含んでいなかったならば、WSA204はSOAPリクエストをSSM208に転送する。SSM208はリクエストの詳細を抽出し、それらをWSA204に送信する(ステップ3)。
WSA204及びそれに関連するMFPがリクエストプロセスの要求する機能(例えば、暗号化)をサポートしていないことをWSDLファイルが示すならば、リクエストアプリケーションは、要求された機能をサポートする別のWSAを発見しようとする。
要求される機能をWSA204及びMFPがサポートしていたならば、リクエストアプリケーション202は(WSDLファイルを用いて)プラットフォーム固有のリクエストをSOAPリクエストに変換し、ネットワーク220を介してSOAPリクエストをWSA204に送信する(ステップ3)。
SOAPリクエストのヘッダは1つ以上の部分を含み、その各々は特定のウェブサービス仕様に対応する。本実施例によれば、SOAPリクエストのヘッダは、WSイベント仕様に関連する或る部分(印刷ジョブが完全に実行された場合にリクエストアプリケーション202に通知するための部分)と、WSセキュリティ仕様に従う別の部分(電子書類を暗号化するのに使用される暗号化プロセスを指定するための部分)を含む。SOAPリクエストの本体(body)は暗号化された電子書類を含む。
WSA204はSOAPリクエストを受信し、WSA204が、SOAPリクエストの一部が従うSOAP仕様の適切な実現手段を前もって含んでいなかった場合に、(例えば、WSA204に関連するSOAP−APIを用いることで)SSM208で用意されるSOAPライブラリルーチンを起動する(ステップ4)。SSM208はSOAPリクエストの構造を分析する。SOAPライブラリルーチンからの結果は、WSセキュリティ及びWSイベント処理を、SOAPリクエストで指定されるウェブサービス仕様として識別する識別子を含む。その結果はWSA204に返される(ステップ5)。
ステップ6では、SOAPライブラリルーチンからの結果に基づいて、WSA204はWSPM210で規定される少なくとも1つのライブラリルーチンを起動する。この例では、WSA204は、WSセキュリティに関連する1つ以上のライブラリルーチンを起動し、ライブラリルーチンはSOAPリクエストの印刷データの解読を実行する。ライブラリルーチンを起動することで、セキュリティのメカニズムが確認され、キー(鍵)が見分けられ、SOAPリクエスト中の電子書類が解読される。
WSセキュリティ238が電子書類を解読した後に、WSPM210は解読された電子書類をWSA204に返す(ステップ7)。ステップ8では、WSA204はアブストラクトAPI214を用いて装置固有の印刷機能呼出(信号)を生成し、印刷機能呼出(信号)をターゲットプラットフォーム(例えば、プラットフォームアルファ240)に送信する。関連するアブストラクトAPI(例えば、実現手段244)は、印刷機能呼出を実行する。しかしながら、解読後に、プラットフォームアルファ240が理解できないフォーマットの電子書類であったことをWSA204が確認したならば、印刷ジョブは中止される。
印刷ジョブが完全に実行されると、プラットフォームアルファ240はWSA204へのコールバックを起動し(例えば、アブストラクト実現手段244を介して)、そのイベントをWSA204に通知する(ステップ10)。WSA204は、WSイベント236に対応する1つ以上のライブラリルーチンを起動する。これらのライブラリルーチンの実行結果は、アプリケーション202宛のSOAPメッセージを(別のSOAPメッセージを介してそのような通知を受けるように事前に要求されていた場合に)生成するために、SOAP222に対応する1つ以上のSOAPライブラリルーチンを起動する時に使用される。SOAP応答は、印刷ジョブが完全に実行されたことを示す。
イベントの通知を受けるように予め登録されたアプリケーションが存在していたならば、関連するアブストラクトAPI(例えば、アブストラクトAPI244)からのコールバックに基づいて、イベント通知が送信される。如何なるアプリケーションも登録されていなかったならば、イベントメッセージは送信されない。
オリジナルのSOAPリクエストが或るウェブサービス仕様に従う部分(WSPM210で規定されるライブラリルーチンによっては実行されない部分)を有する場合、SOAPリクエストで指定される他のウェブサービス仕様を用いて、WSA204はSOAPリクエストを依然として実行しようと試みてよい。このように、WSA204はいくつかのSOAPリクエストを処理する(そうでなければ、中止又は無視するであろう)。
しかしながら、リクエストアプリケーション202からのSOAPリクエストが(例えば、WSポリシに従って)或るポリシ(指針)を示し、ウェブサービス仕様に対応するSOAPリクエストの各部分が実行されるよう強制されてもよい。SOAPリクエストが上述したポリシを示すような場合に、WSPM210がSOAPリクエストで指定されているウェブサービス仕様をサポートしてなかったならば、SOAPリクエスト全体が破棄され、エラーメッセージがリクエストアプリケーション202に送信されてもよい。
<実現手段>
ウェブサービスアプリケーションにウェブサービスプロトコルを提供する本願で説明されるアプローチは、如何なるタイプのコンピューティングプラットフォーム又はアーキテクチャで実現されてもよい。図4は本発明の実施例で使用されるコンピュータシステム400のブロック図を示す。コンピュータシステム400は、情報を通信するためのバス402又は他の通信手段と、バス402に結合された情報を処理するプロセッサ404とを有する。コンピュータシステム400は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス402に結合されたメインメモリ406を有し、メインメモリはプロセッサ404で実行される命令や情報を格納する。メインメモリ406は、プロセッサ404で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム400は、プロセッサ404のための命令や静的な情報を格納する、バス402に結合されたリードオンリメモリ(ROM)408又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス410は、情報及び命令を格納するために用意されてバス402に結合される。
コンピュータシステム400は、コンピュータユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ412にバス402を介して結合されてもよい。英数字その他のキーを含む入力装置414は、情報及び命令選択内容をプロセッサ404に通知するためにバス402に結合される。他の種類のユーザ入力装置は、カーソル制御装置416(例えば、マウス、トラックボール又はカーソル方向キー)であり、指示情報及び命令選択をプロセッサ404に通知し且つディスプレイ412でのカーソルの動きを制御する。この入力装置は典型的には第1軸(例えば、x)及び第2軸(例えば、y)の2軸による2つの自由度を有し、装置が平面上の位置を指定できるようにする。
本発明はここで説明された技法を使用するコンピュータシステム400を利用することに関連する。本発明の一実施例によれば、メインメモリ406に含まれる1以上の命令の1以上のシーケンスを実行するプロセッサ404に応じて、これらの技法がコンピュータシステム400によって実行される。そのような命令は、ストレージデバイス410のような他のマシン読取可能な媒体からメインメモリ406へ読み込まれてもよい。メインメモリ406に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ404が実行することを引き起こす。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
ここで使用されているように「マシン読取可能な媒体」なる用語は、特定の形式でマシンに動作を引き起こすデータを提供することに関与する如何なる媒体にも関連する。コンピュータシステム400を用いて実現される実施例では、様々なマシン読み取り可能な媒体が含まれ、例えば、実行に備えてプロセッサ404に命令を提供することを含む。そのような媒体は多くの形態をとってよく、限定ではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む。不揮発性媒体は、例えば、ストレージデバイス410のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ406のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス402を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。
マシン読取可能な媒体の一般的な形態は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体をも含む。
マシン読取可能な様々な形態は、1以上の命令の1以上のシーケンスを実行に備えてプロセッサ404に搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリにその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム400付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。赤外線検出器は、赤外線信号で搬送されたデータを受信し、適切な回路がそのデータをバス402に置く。バス402はデータをメインメモリ406に運び、プロセッサ404はメインメモリから命令を抽出して実行する。メインメモリ406で受信された命令は、プロセッサ404で実行される前又はその後にストレージデバイス410に選択的に格納されてもよい。
コンピュータシステム400はバス402に結合された通信インターフェース418も含む。通信インターフェース418は、ローカルネットワーク422に接続されるネットワークリンク420に結合する双方向データ通信をもたらす。例えば、通信インターフェース418は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例として、通信インターフェース418は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。いずれの実現手段にせよ、通信インターフェース418は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
ネットワークリンク420は典型的には1以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク420はローカルネットワーク422を介してホストコンピュータ424とのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)426により運営されるデータ機器とのコネクションを提供する。そしてISP426はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット428として一般に言及されている)を介して提供する。ローカルネットワーク422及びインターネット428の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク420における通信インターフェース418を介する信号は、コンピュータシステム400に及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
コンピュータシステム400は、ネットワーク、ネットワークリンク420及び通信インターフェース418を介して、プログラムコードを含むメッセージ及びデータを送受信する。インターネットの例では、サーバー430はインターネット428、ISP426、ローカルネットワーク422及び通信インターフェース418を介して、アプリケーションプログラムに要求されたコードを送信するかもしれない。
プロセッサ404は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス410又は他の不揮発性ストレージに格納してもよい。このようにコンピュータシステム400は搬送波の形式でアプリケーションコードを取得してもよい。
以上、本明細書では本発明の実施例が、実施例毎に異なってよい様々な具体的詳細と共に説明された。本発明であって且つ出願人が本願発明であると意図する独占排他権の対象は本願の一群の請求項に記載され、そのような請求項は将来的な如何なる補正事項も含む。請求項に含まれている用語についての上述の何らかの定義は、請求項の中で使用されるそのような用語の意味に及ぶ。従って請求項で明示的には引用されていない限定、要件、特性、特徴、利点又は属性の如何なるものも、請求項の範囲を決して限定しないよう解釈されるべきである。従って本明細書及び図面は、限定的な意味ではなく例示として解釈されるべきである。
<関連出願のクロスリファレンス>
本願は“WEB SERVICES DEVICE PROFILE ON A MULTI-SERVICE DEVICE: DYNAMIC ADDITION OF SERVICES”と題する米国特許出願に関連し、その全内容がリファレンスに組み入れられ、本願の開示内容の一部をなす。
本願は“WEB SERVICES DEVICE PROFILE ON A MULTI-SERIVCE DEVICE: DEVICE AND FACILITY MANAGER”と題する米国特許出願に関連し、その全内容がリファレンスに組み入れられ、本願の開示内容の一部をなす。
複合機でデータを処理するリクエストを処理するための本発明の一実施例によるアプローチを示すフローチャートである。 複合機でデータを処理するリクエストを処理するための本発明の一実施例によるアーキテクチャ例を示すブロック図である。 印刷サービスのSOAPリクエストがどのように処理されるかを示す本発明の一実施例によるシーケンス図である。 本発明の一実施例で使用されるコンピュータシステム例を示すブロック図である。
符号の説明
200 アーキテクチャ
202 リクエストアプリケーション
204,206 ウェブサービスアプリケーション
208 SOAP-SDKモジュール(SSM)
210 ウェブサービスプロトコルモジュール(WSPM)
214,216 アブストラクトAPI
220 ネットワーク
222 SOAP
240,250,260 プラットフォーム
400 コンピュータシステム
402 バス
404 プロセッサ
406 メインメモリ
408 リードオンリメモリ
410 ストレージデバイス
412 ディスプレイ
414 入力装置
416 カーソル制御部
418 通信インターフェース
420 ネットワークリンク
422 ローカルネットワーク
424 ホスト
426 インターネットサービスプロバイダ
428 インターネット
430 サーバー

Claims (27)

  1. 複合機(MFP)でデータを処理するためのリクエストを処理するコンピュータで使用される方法であって、
    第1ウェブサービスアプリケーションで第1サービスの第1SOAPリクエストを受信するステップであって、前記第1SOAPリクエストの第1部分は第1ウェブサービス仕様に従うステップと、
    前記第1SOAPリクエストの前記第1部分に基づいて、共用ライブラリから第1ライブラリルーチンを起動するステップであって、前記第1ライブラリルーチンは前記第1ウェブサービス仕様で決められた1つ以上の機能を実行するステップと、
    前記第1ライブラリルーチンから第1の結果を受信するステップと、
    前記第1の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第1の装置固有のリクエストを生成するステップと、
    前記第1の装置固有のリクエストを前記MFPに送信するステップと、
    第2のウェブサービスアプリケーションで第2サービスの第2SOAPリクエストを受信するステップであって、前記第2SOAPリクエストの第1部分は前記第1ウェブサービス仕様に従うステップと、
    前記第2SOAPリクエストの前記第1部分に基づいて、前記共用ライブラリから前記第1ライブラリルーチンを起動するステップと、
    前記第1ライブラリルーチンから第2の結果を受信するステップと、
    前記第2の結果に基づいて、前記通信プロトコルに従う第2の装置固有のリクエストを生成するステップと、
    前記第2の装置固有のリクエストを前記MFPに送信するステップと、
    を有する方法。
  2. 印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項1記載の方法。
  3. 前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項1記載の方法。
  4. 前記第1SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第1SOAPリクエストを分析し且つ該第1SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記SOAPライブラリルーチンの起動に応じて、前記第1ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第3の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第3の結果に基づくステップと、
    を更に有する請求項1記載の方法。
  5. 前記第2SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第2SOAPリクエストを分析し且つ該第2SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記第2SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第2ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第4の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第4の結果に基づくステップと、
    を更に有する請求項4記載の方法。
  6. 前記第1SOAPリクエストが複数の部分を含み、
    前記第3の結果が複数の識別子を含み、
    前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項4記載の方法。
  7. 第2ライブラリルーチンを前記第1SOAPリクエストに基づいて起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    を更に有し、前記第2ライブラリルーチンは前記第1SOAPリクエストとは異なる部分に対応し、
    前記第1SOAPリクエストとは異なる前記部分は、第2のウェブサービス仕様に従い、
    前記第2ライブラリルーチンは、前記第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行する請求項1記載の方法。
  8. 第2ライブラリルーチンを前記共用メモリに付加するステップであって、前記第2ライブラリルーチンは第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行するステップと、
    前記第1ウェブサービスアプリケーションで前記第1サービスの第3SOAPリクエストを受信するステップであって、前記第3SOAPリクエストの第1部分は前記第2のウェブサービス仕様に従うステップと、
    前記第3SOAPリクエストの前記第1部分に基づいて、前記第2ライブラリルーチンを起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    前記第3の結果に基づいて、前記通信プロトコルに従う第3の装置固有のリクエストを生成するステップと、
    前記第3の装置固有のリクエストを前記MFPに送信するステップと、
    を有する請求項1記載の方法。
  9. 第1の装置固有のリクエストを生成するステップが、前記第1ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第1ウェブサービスアプリケーションは前記MFPで1つ以上の機能を起動する請求項1記載の方法。
  10. 複合機(MFP)でデータを処理するリクエストを処理するためのマシン読み取り可能な媒体であって、
    第1ウェブサービスアプリケーションで第1サービスの第1SOAPリクエストを受信するステップであって、前記第1SOAPリクエストの第1部分は第1ウェブサービス仕様に従うステップと、
    前記第1SOAPリクエストの前記第1部分に基づいて、共用ライブラリから第1ライブラリルーチンを起動するステップであって、前記第1ライブラリルーチンは前記第1ウェブサービス仕様で決められた1つ以上の機能を実行するステップと、
    前記第1ライブラリルーチンから第1の結果を受信するステップと、
    前記第1の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第1の装置固有のリクエストを生成するステップと、
    前記第1の装置固有のリクエストを前記MFPに送信するステップと、
    第2のウェブサービスアプリケーションで第2サービスの第2SOAPリクエストを受信するステップであって、前記第2SOAPリクエストの第1部分は前記第1ウェブサービス仕様に従うステップと、
    前記第2SOAPリクエストの前記第1部分に基づいて、前記共用ライブラリから前記第1ライブラリルーチンを起動するステップと、
    前記第1ライブラリルーチンから第2の結果を受信するステップと、
    前記第2の結果に基づいて、前記通信プロトコルに従う第2の装置固有のリクエストを生成するステップと、
    前記第2の装置固有のリクエストを前記MFPに送信するステップと、
    を1つ以上のプロセッサに実行させる命令を有するマシン読み取り可能な媒体。
  11. 印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項10記載のマシン読み取り可能な媒体。
  12. 前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項10記載のマシン読み取り可能な媒体。
  13. 前記第1SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第1SOAPリクエストを分析し且つ該第1SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記SOAPライブラリルーチンの起動に応じて、前記第1ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第3の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第3の結果に基づくステップと、
    を前記1つ以上のプロセッサに更に実行させる命令を有する請求項10記載のマシン読み取り可能な媒体。
  14. 前記第2SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第2SOAPリクエストを分析し且つ該第2SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記第2SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第2ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第4の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第4の結果に基づくステップと、
    を前記1つ以上のプロセッサに更に実行させる命令を有する請求項13記載のマシン読み取り可能な媒体。
  15. 前記第1SOAPリクエストが複数の部分を含み、
    前記第3の結果が複数の識別子を含み、
    前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項13記載のマシン読み取り可能な媒体。
  16. 第2ライブラリルーチンを前記第1SOAPリクエストに基づいて起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    を前記1つ以上のプロセッサに更に実行させる命令を有し、前記第2ライブラリルーチンは前記第1SOAPリクエストとは異なる部分に対応し、
    前記第1SOAPリクエストとは異なる前記部分は、第2のウェブサービス仕様に従い、
    前記第2ライブラリルーチンは、前記第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行する請求項10記載のマシン読み取り可能な媒体。
  17. 第2ライブラリルーチンを前記共用メモリに付加するステップであって、前記第2ライブラリルーチンは第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行するステップと、
    前記第1ウェブサービスアプリケーションで前記第1サービスの第3SOAPリクエストを受信するステップであって、前記第3SOAPリクエストの第1部分は前記第2のウェブサービス仕様に従うステップと、
    前記第3SOAPリクエストの前記第1部分に基づいて、前記第2ライブラリルーチンを起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    前記第3の結果に基づいて、前記通信プロトコルに従う第3の装置固有のリクエストを生成するステップと、
    前記第3の装置固有のリクエストを前記MFPに送信するステップと、
    を前記1つ以上のプロセッサに更に実行させる命令を有する請求項10記載のマシン読み取り可能な媒体。
  18. 第1の装置固有のリクエストを生成するステップが、前記第1ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第1ウェブサービスアプリケーションは前記MFPで1つ以上の機能を起動する請求項10記載のマシン読み取り可能な媒体。
  19. 複合機(MFP)でデータを処理するためのリクエストを処理する装置であって、命令を格納するメモリを有し、
    第1ウェブサービスアプリケーションで第1サービスの第1SOAPリクエストを受信するステップであって、前記第1SOAPリクエストの第1部分は第1ウェブサービス仕様に従うステップと、
    前記第1SOAPリクエストの前記第1部分に基づいて、共用ライブラリから第1ライブラリルーチンを起動するステップであって、前記第1ライブラリルーチンは前記第1ウェブサービス仕様で決められた1つ以上の機能を実行するステップと、
    前記第1ライブラリルーチンから第1の結果を受信するステップと、
    前記第1の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第1の装置固有のリクエストを生成するステップと、
    前記第1の装置固有のリクエストを前記MFPに送信するステップと、
    第2のウェブサービスアプリケーションで第2サービスの第2SOAPリクエストを受信するステップであって、前記第2SOAPリクエストの第1部分は前記第1ウェブサービス仕様に従うステップと、
    前記第2SOAPリクエストの前記第1部分に基づいて、前記共用ライブラリから前記第1ライブラリルーチンを起動するステップと、
    前記第1ライブラリルーチンから第2の結果を受信するステップと、
    前記第2の結果に基づいて、前記通信プロトコルに従う第2の装置固有のリクエストを生成するステップと、
    前記第2の装置固有のリクエストを前記MFPに送信するステップと、
    を1つ以上のプロセッサに実行させる命令を有する装置。
  20. 印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項19記載の装置。
  21. 前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項19記載の装置。
  22. 前記第1SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第1SOAPリクエストを分析し且つ該第1SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記SOAPライブラリルーチンの起動に応じて、前記第1ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第3の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第3の結果に基づくステップと、
    を1つ以上のプロセッサに実行させる命令を更に有する請求項19記載の装置。
  23. 前記第2SOAPリクエストの前記第1部分に基づいて前記第1ライブラリルーチンを起動する前に、前記第2SOAPリクエストを分析し且つ該第2SOAPリクエストで示される1つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
    前記第2SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第2ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第4の結果を受信するステップであって、前記第1ライブラリルーチンを起動するステップは前記第4の結果に基づくステップと、
    を1つ以上のプロセッサに実行させる命令を更に有する請求項22記載の装置。
  24. 前記第1SOAPリクエストが複数の部分を含み、
    前記第3の結果が複数の識別子を含み、
    前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項22記載の装置。
  25. 第2ライブラリルーチンを前記第1SOAPリクエストに基づいて起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    を1つ以上のプロセッサに実行させる命令を更に有し、前記第2ライブラリルーチンは前記第1SOAPリクエストとは異なる部分に対応し、
    前記第1SOAPリクエストとは異なる前記部分は、第2のウェブサービス仕様に従い、
    前記第2ライブラリルーチンは、前記第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行する請求項19記載の装置。
  26. 第2ライブラリルーチンを前記共用メモリに付加するステップであって、前記第2ライブラリルーチンは第2のウェブサービスアプリケーションで決定される1つ以上の機能を実行するステップと、
    前記第1ウェブサービスアプリケーションで前記第1サービスの第3SOAPリクエストを受信するステップであって、前記第3SOAPリクエストの第1部分は前記第2のウェブサービス仕様に従うステップと、
    前記第3SOAPリクエストの前記第1部分に基づいて、前記第2ライブラリルーチンを起動するステップと、
    前記第2ライブラリルーチンから第3の結果を受信するステップと、
    前記第3の結果に基づいて、前記通信プロトコルに従う第3の装置固有のリクエストを生成するステップと、
    前記第3の装置固有のリクエストを前記MFPに送信するステップと、
    を1つ以上のプロセッサに実行させる命令を更に有する請求項19記載の装置。
  27. 第1の装置固有のリクエストを生成するステップが、前記第1ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第1ウェブサービスアプリケーションは前記MFPで1つ以上の機能を起動する請求項19記載の装置。
JP2007197782A 2006-07-31 2007-07-30 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体 Expired - Fee Related JP4925960B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/497,000 US7590661B2 (en) 2006-07-31 2006-07-31 Advanced Web Services on a legacy platform
US11/497,000 2006-07-31

Publications (2)

Publication Number Publication Date
JP2008033938A true JP2008033938A (ja) 2008-02-14
JP4925960B2 JP4925960B2 (ja) 2012-05-09

Family

ID=38567720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007197782A Expired - Fee Related JP4925960B2 (ja) 2006-07-31 2007-07-30 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体

Country Status (3)

Country Link
US (1) US7590661B2 (ja)
EP (1) EP1887466A1 (ja)
JP (1) JP4925960B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020615A (ja) * 2008-07-11 2010-01-28 Kyocera Mita Corp 画像形成システム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593740B2 (en) 2004-05-12 2009-09-22 Google, Inc. Location-based social software for mobile devices
US8156186B2 (en) * 2005-11-11 2012-04-10 Scenera Technologies, Llc Method and system for organizing electronic messages using eye-gaze technology
US7987278B2 (en) 2006-12-18 2011-07-26 Ricoh Company, Ltd. Web services device profile on a multi-service device: dynamic addition of services
US7873647B2 (en) * 2006-12-18 2011-01-18 Ricoh Company, Ltd. Web services device profile on a multi-service device: device and facility manager
US8321546B2 (en) * 2007-01-10 2012-11-27 Ricoh Company, Ltd. Integrating discovery functionality within a device and facility manager
US8112766B2 (en) * 2006-12-21 2012-02-07 Ricoh Company, Ltd. Multi-threaded device and facility manager
US8107469B2 (en) 2007-03-15 2012-01-31 Microsoft Corporation Enabling routing of data on a network based on a portion of data accessed from a non-network enabled device
US20080225869A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Enabling sharing of devices on a network
US20080270911A1 (en) * 2007-04-24 2008-10-30 Nehal Dantwala System and method to develop a custom application for a multi-function peripheral (mfp)
US8239876B2 (en) * 2007-06-12 2012-08-07 Ricoh Company, Ltd. Efficient web services application status self-control system on image-forming device
CN102262527B (zh) 2010-05-31 2015-12-09 国际商业机器公司 生成网络服务的方法和系统
US9547532B2 (en) * 2012-01-19 2017-01-17 Microsoft Technology Licensing, Llc Techniques to provide proxies for web services
GB2503463A (en) 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
US10705857B2 (en) * 2018-04-25 2020-07-07 Hewlett Packard Enterprise Development Lp Initialising operations support systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005278144A (ja) * 2004-02-26 2005-10-06 Ricoh Co Ltd 通信装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2005339520A (ja) * 2004-04-26 2005-12-08 Ricoh Co Ltd サービス提供装置、サービス提供プログラム、記録媒体及びサービス提供方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405310B1 (en) 1999-07-09 2002-06-11 Hewlett-Packard Company System and method for peripheral system management using operation object interfaces for device control
US6571277B1 (en) 1999-10-19 2003-05-27 International Business Machines Corporation Method and apparatus for scaling universal plug and play networks using atomic proxy replication
US7373422B1 (en) * 2000-08-04 2008-05-13 Oracle International Corporation Techniques for supporting multiple devices in mobile applications
US7127700B2 (en) * 2002-03-14 2006-10-24 Openwave Systems Inc. Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages
US20040121789A1 (en) * 2002-12-23 2004-06-24 Teddy Lindsey Method and apparatus for communicating information in a global distributed network
US7685288B2 (en) 2003-06-30 2010-03-23 Microsoft Corporation Ad-hoc service discovery protocol
US8001270B2 (en) 2003-09-30 2011-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for discovering a network address
US20050138065A1 (en) 2003-12-18 2005-06-23 Xerox Corporation System and method for providing document services
US7966396B2 (en) 2004-10-08 2011-06-21 Sharp Laboratories Of America, Inc. Methods and systems for administrating imaging device event notification
US20070097969A1 (en) 2005-11-02 2007-05-03 Alain Regnier Approach for discovering network resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005278144A (ja) * 2004-02-26 2005-10-06 Ricoh Co Ltd 通信装置、サービス提供方法、サービス提供プログラム及び記録媒体
JP2005339520A (ja) * 2004-04-26 2005-12-08 Ricoh Co Ltd サービス提供装置、サービス提供プログラム、記録媒体及びサービス提供方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020615A (ja) * 2008-07-11 2010-01-28 Kyocera Mita Corp 画像形成システム

Also Published As

Publication number Publication date
JP4925960B2 (ja) 2012-05-09
EP1887466A1 (en) 2008-02-13
US7590661B2 (en) 2009-09-15
US20080027988A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
JP4925960B2 (ja) 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体
US7987278B2 (en) Web services device profile on a multi-service device: dynamic addition of services
JP5678507B2 (ja) 印刷装置、処理方法及びコンピュータプログラム
US7624182B2 (en) Supporting multiple service discovery protocols on a device
JP4681968B2 (ja) サービス要求装置、サービス要求方法、サービス要求プログラム、及び記録媒体
JP5655402B2 (ja) プリントシステム
JP5444652B2 (ja) ネットワーク装置、処理方法及びコンピュータプログラム
EP1710683A2 (en) A printing device and a method of printing
US20080148287A1 (en) Integrating eventing in a web service application of a multi-functional peripheral
US8880738B2 (en) Plug-in architecture for WSD DCP operations
JP2009087344A (ja) 多機能周辺機器のウェブサービスアプリケーションにおけるイベント通知減少のための方法及び装置
JP2008282406A (ja) 複数のws動作可能装置からのイベントの報告
US7873647B2 (en) Web services device profile on a multi-service device: device and facility manager
US7680877B2 (en) Implementing a web service application on a device with multiple threads
US8112766B2 (en) Multi-threaded device and facility manager
US7860987B2 (en) Apparatus for providing service in response to user request and method therefor
JP5014095B2 (ja) 複合機
JP5272400B2 (ja) 新たなサービスを装置に動的に追加するための方法、装置及びコンピュータプログラム
US8024375B2 (en) Method and apparatus for processing messages
JP2008181487A (ja) 装置とファシリティマネージャ内のディスカバリ機能の統合

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

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

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4925960

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees