(57)【要約】【課題】従来のプラットフォームでアドバンストウェブサービスの実現を可能にする技法を提供すること。【解決手段】ロジカルワークは複数のモジュールに分割され、ターゲットプラットフォームは或る簡易なアブストラクトインターフェースを介して抽象化される。１つ以上のウェブサービス仕様の実現手段は、（動的に又は静的にロードされる）ある共通のモジュールにパッケージされ、ウェブサービスの複雑さが開発者から見えなくする。SOAP及び／又はWSDL規格は共通モジュールにパッケージされ実現される。開発者はその共通モジュールを当てしながら新たなサービスを生成してよい。【選択図】図２
2008033938.tif 000002
【特許請求の範囲】
【請求項１】
複合機(MFP)でデータを処理するためのリクエストを処理するコンピュータで使用される方法であって、
第１ウェブサービスアプリケーションで第１サービスの第１SOAPリクエストを受信するステップであって、前記第１SOAPリクエストの第１部分は第１ウェブサービス仕様に従うステップと、
前記第１SOAPリクエストの前記第１部分に基づいて、共用ライブラリから第１ライブラリルーチンを起動するステップであって、前記第１ライブラリルーチンは前記第１ウェブサービス仕様で決められた１つ以上の機能を実行するステップと、
前記第１ライブラリルーチンから第１の結果を受信するステップと、
前記第１の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第１の装置固有のリクエストを生成するステップと、
前記第１の装置固有のリクエストを前記MFPに送信するステップと、
第２のウェブサービスアプリケーションで第２サービスの第２SOAPリクエストを受信するステップであって、前記第２SOAPリクエストの第１部分は前記第１ウェブサービス仕様に従うステップと、
前記第２SOAPリクエストの前記第１部分に基づいて、前記共用ライブラリから前記第１ライブラリルーチンを起動するステップと、
前記第１ライブラリルーチンから第２の結果を受信するステップと、
前記第２の結果に基づいて、前記通信プロトコルに従う第２の装置固有のリクエストを生成するステップと、
前記第２の装置固有のリクエストを前記MFPに送信するステップと、
を有する方法。
【請求項２】
印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項１記載の方法。
【請求項３】
前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項１記載の方法。
【請求項４】
前記第１SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第１SOAPリクエストを分析し且つ該第１SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記SOAPライブラリルーチンの起動に応じて、前記第１ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第３の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第３の結果に基づくステップと、
を更に有する請求項１記載の方法。
【請求項５】
前記第２SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第２SOAPリクエストを分析し且つ該第２SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記第２SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第２ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第４の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第４の結果に基づくステップと、
を更に有する請求項４記載の方法。
【請求項６】
前記第１SOAPリクエストが複数の部分を含み、
前記第３の結果が複数の識別子を含み、
前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項４記載の方法。
【請求項７】
第２ライブラリルーチンを前記第１SOAPリクエストに基づいて起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
を更に有し、前記第２ライブラリルーチンは前記第１SOAPリクエストとは異なる部分に対応し、
前記第１SOAPリクエストとは異なる前記部分は、第２のウェブサービス仕様に従い、
前記第２ライブラリルーチンは、前記第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行する請求項１記載の方法。
【請求項８】
第２ライブラリルーチンを前記共用メモリに付加するステップであって、前記第２ライブラリルーチンは第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行するステップと、
前記第１ウェブサービスアプリケーションで前記第１サービスの第３SOAPリクエストを受信するステップであって、前記第３SOAPリクエストの第１部分は前記第２のウェブサービス仕様に従うステップと、
前記第３SOAPリクエストの前記第１部分に基づいて、前記第２ライブラリルーチンを起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
前記第３の結果に基づいて、前記通信プロトコルに従う第３の装置固有のリクエストを生成するステップと、
前記第３の装置固有のリクエストを前記MFPに送信するステップと、
を有する請求項１記載の方法。
【請求項９】
第１の装置固有のリクエストを生成するステップが、前記第１ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第１ウェブサービスアプリケーションは前記MFPで１つ以上の機能を起動する請求項１記載の方法。
【請求項１０】
複合機(MFP)でデータを処理するリクエストを処理するためのマシン読み取り可能な媒体であって、
第１ウェブサービスアプリケーションで第１サービスの第１SOAPリクエストを受信するステップであって、前記第１SOAPリクエストの第１部分は第１ウェブサービス仕様に従うステップと、
前記第１SOAPリクエストの前記第１部分に基づいて、共用ライブラリから第１ライブラリルーチンを起動するステップであって、前記第１ライブラリルーチンは前記第１ウェブサービス仕様で決められた１つ以上の機能を実行するステップと、
前記第１ライブラリルーチンから第１の結果を受信するステップと、
前記第１の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第１の装置固有のリクエストを生成するステップと、
前記第１の装置固有のリクエストを前記MFPに送信するステップと、
第２のウェブサービスアプリケーションで第２サービスの第２SOAPリクエストを受信するステップであって、前記第２SOAPリクエストの第１部分は前記第１ウェブサービス仕様に従うステップと、
前記第２SOAPリクエストの前記第１部分に基づいて、前記共用ライブラリから前記第１ライブラリルーチンを起動するステップと、
前記第１ライブラリルーチンから第２の結果を受信するステップと、
前記第２の結果に基づいて、前記通信プロトコルに従う第２の装置固有のリクエストを生成するステップと、
前記第２の装置固有のリクエストを前記MFPに送信するステップと、
を１つ以上のプロセッサに実行させる命令を有するマシン読み取り可能な媒体。
【請求項１１】
印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項１０記載のマシン読み取り可能な媒体。
【請求項１２】
前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項１０記載のマシン読み取り可能な媒体。
【請求項１３】
前記第１SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第１SOAPリクエストを分析し且つ該第１SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記SOAPライブラリルーチンの起動に応じて、前記第１ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第３の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第３の結果に基づくステップと、
を前記１つ以上のプロセッサに更に実行させる命令を有する請求項１０記載のマシン読み取り可能な媒体。
【請求項１４】
前記第２SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第２SOAPリクエストを分析し且つ該第２SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記第２SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第２ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第４の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第４の結果に基づくステップと、
を前記１つ以上のプロセッサに更に実行させる命令を有する請求項１３記載のマシン読み取り可能な媒体。
【請求項１５】
前記第１SOAPリクエストが複数の部分を含み、
前記第３の結果が複数の識別子を含み、
前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項１３記載のマシン読み取り可能な媒体。
【請求項１６】
第２ライブラリルーチンを前記第１SOAPリクエストに基づいて起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
を前記１つ以上のプロセッサに更に実行させる命令を有し、前記第２ライブラリルーチンは前記第１SOAPリクエストとは異なる部分に対応し、
前記第１SOAPリクエストとは異なる前記部分は、第２のウェブサービス仕様に従い、
前記第２ライブラリルーチンは、前記第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行する請求項１０記載のマシン読み取り可能な媒体。
【請求項１７】
第２ライブラリルーチンを前記共用メモリに付加するステップであって、前記第２ライブラリルーチンは第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行するステップと、
前記第１ウェブサービスアプリケーションで前記第１サービスの第３SOAPリクエストを受信するステップであって、前記第３SOAPリクエストの第１部分は前記第２のウェブサービス仕様に従うステップと、
前記第３SOAPリクエストの前記第１部分に基づいて、前記第２ライブラリルーチンを起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
前記第３の結果に基づいて、前記通信プロトコルに従う第３の装置固有のリクエストを生成するステップと、
前記第３の装置固有のリクエストを前記MFPに送信するステップと、
を前記１つ以上のプロセッサに更に実行させる命令を有する請求項１０記載のマシン読み取り可能な媒体。
【請求項１８】
第１の装置固有のリクエストを生成するステップが、前記第１ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第１ウェブサービスアプリケーションは前記MFPで１つ以上の機能を起動する請求項１０記載のマシン読み取り可能な媒体。
【請求項１９】
複合機(MFP)でデータを処理するためのリクエストを処理する装置であって、命令を格納するメモリを有し、
第１ウェブサービスアプリケーションで第１サービスの第１SOAPリクエストを受信するステップであって、前記第１SOAPリクエストの第１部分は第１ウェブサービス仕様に従うステップと、
前記第１SOAPリクエストの前記第１部分に基づいて、共用ライブラリから第１ライブラリルーチンを起動するステップであって、前記第１ライブラリルーチンは前記第１ウェブサービス仕様で決められた１つ以上の機能を実行するステップと、
前記第１ライブラリルーチンから第１の結果を受信するステップと、
前記第１の結果に基づいて、前記MFPでサポートされている通信プロトコルに従う第１の装置固有のリクエストを生成するステップと、
前記第１の装置固有のリクエストを前記MFPに送信するステップと、
第２のウェブサービスアプリケーションで第２サービスの第２SOAPリクエストを受信するステップであって、前記第２SOAPリクエストの第１部分は前記第１ウェブサービス仕様に従うステップと、
前記第２SOAPリクエストの前記第１部分に基づいて、前記共用ライブラリから前記第１ライブラリルーチンを起動するステップと、
前記第１ライブラリルーチンから第２の結果を受信するステップと、
前記第２の結果に基づいて、前記通信プロトコルに従う第２の装置固有のリクエストを生成するステップと、
前記第２の装置固有のリクエストを前記MFPに送信するステップと、
を１つ以上のプロセッサに実行させる命令を有する装置。
【請求項２０】
印刷データを処理し、該印刷データに表現される電子書類の印刷バージョンが生成されるようにする印刷プロセスを前記MFPが実行する請求項１９記載の装置。
【請求項２１】
前記ウェブサービス仕様は、WSアドレッシング、WSイベンティング、WSセキュリティ、WSメタデータイクスチェンジ、WSポリシ、WSトランザクション、WSビジネスアクティビティ、WSコーディネーション及びWSトランスファの何れかである請求項１９記載の装置。
【請求項２２】
前記第１SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第１SOAPリクエストを分析し且つ該第１SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記SOAPライブラリルーチンの起動に応じて、前記第１ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第３の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第３の結果に基づくステップと、
を１つ以上のプロセッサに実行させる命令を更に有する請求項１９記載の装置。
【請求項２３】
前記第２SOAPリクエストの前記第１部分に基づいて前記第１ライブラリルーチンを起動する前に、前記第２SOAPリクエストを分析し且つ該第２SOAPリクエストで示される１つ以上のウェブサービス仕様を識別するSOAPライブラリルーチンを起動するステップと、
前記第２SOAPリクエストを分析する前記SOAPライブラリルーチンの起動に応じて、前記第２ウェブサービスアプリケーションで前記SOAPライブラリルーチンから第４の結果を受信するステップであって、前記第１ライブラリルーチンを起動するステップは前記第４の結果に基づくステップと、
を１つ以上のプロセッサに実行させる命令を更に有する請求項２２記載の装置。
【請求項２４】
前記第１SOAPリクエストが複数の部分を含み、
前記第３の結果が複数の識別子を含み、
前記複数の識別子の各識別子が、該複数の部分の一部が従うウェブサービス仕様を示す請求項２２記載の装置。
【請求項２５】
第２ライブラリルーチンを前記第１SOAPリクエストに基づいて起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
を１つ以上のプロセッサに実行させる命令を更に有し、前記第２ライブラリルーチンは前記第１SOAPリクエストとは異なる部分に対応し、
前記第１SOAPリクエストとは異なる前記部分は、第２のウェブサービス仕様に従い、
前記第２ライブラリルーチンは、前記第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行する請求項１９記載の装置。
【請求項２６】
第２ライブラリルーチンを前記共用メモリに付加するステップであって、前記第２ライブラリルーチンは第２のウェブサービスアプリケーションで決定される１つ以上の機能を実行するステップと、
前記第１ウェブサービスアプリケーションで前記第１サービスの第３SOAPリクエストを受信するステップであって、前記第３SOAPリクエストの第１部分は前記第２のウェブサービス仕様に従うステップと、
前記第３SOAPリクエストの前記第１部分に基づいて、前記第２ライブラリルーチンを起動するステップと、
前記第２ライブラリルーチンから第３の結果を受信するステップと、
前記第３の結果に基づいて、前記通信プロトコルに従う第３の装置固有のリクエストを生成するステップと、
前記第３の装置固有のリクエストを前記MFPに送信するステップと、
を１つ以上のプロセッサに実行させる命令を更に有する請求項１９記載の装置。
【請求項２７】
第１の装置固有のリクエストを生成するステップが、前記第１ウェブサービスアプリケーションに関連するアブストラクトAPIを利用することを含み、前記アブストラクトAPIはインターフェースを規定し、該インターフェースによって前記第１ウェブサービスアプリケーションは前記MFPで１つ以上の機能を起動する請求項１９記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にウェブサービスを提供することに関連し、特に、ロジカルワークを個々のモジュールに分離することで、従来のプラットフォームでの標準的なウェブサービスを改善することに関連する。
【背景技術】
【０００２】
このセクションで説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。従って、特に断りのない限り、このセクションで説明されるどのアプローチも、このセクションに含まれているという理由だけで従来技術であるように仮定されるべきではない。
【０００３】
「ウェブサービス」なる用語は、インターネットプロトコルバックボーン上でXML、SOAP、WSDL規格(スタンダード)を使用するウェブベースのアプリケーションをまとめた標準化され方法を記述する。XMLはデータをタグ付けするのに使用され、SOAPはデータを転送するのに使用され、WSDLは利用可能なサービスを記述するのに使用される。クライアントとの間で及び互いの間で主に商用の通信手段として使用されるウェブサービスは、ファイヤウォール背後の互いのITシステムの詳細な情報なしに商用組織がデータを通信することを可能にする。
【０００４】
ウェブサービスは、ネットワークのプログラマティックインターフェースを介してビジネスロジック、データ及びプロセスを共有する。ウェブサービスは、様々なソースからの様々なアプリケーションが、時間のかかるカスタムコーディングを行わずに互いに通信することを可能にする。更に、全ての通信はXMLでなされるので、ウェブサービスは如何なるオペレーティングシステムにも如何なるプログラミング言語にも拘束されない。例えば、ジャバ(Java（登録商標）)はパイソン(Python)と通信可能であり、ウインドウズ(Windows（登録商標）)アプリケーションはユニックス(UNIX（登録商標）)アプリケーションと通信可能である。
【０００５】
ウェブサービス仕様書は、セキュリティ、信頼できる管理及び処理の相互運用可能なプロトコルを緩く結合されたシステムで共に提供するように構成する。ウェブサービス仕様書は、承認された規格（例えば、ワールドワイドウェブ協会(W3C)により及び構造化情報標準促進協会(OASIS)により承認される）と、規格になるかもしれない提案中のドキュメント及びドラフトとの双方を含む。
【０００６】
ここ数年先にリリースされる予定の仕様書に加えて、多くのウェブサービス仕様書は比較的複雑である。各仕様を実現するには、アプリケーション開発者の高度な専門技術と複雑な開発技術を要する。更に、多くのウェブサービス仕様書が標準化されてゆくにつれて、追加的なウェブサービス仕様を十分に活用するアプリケーションを開発するアプリケーション開発者数を増やすことは困難になる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、従来のプラットフォームでウェブサービスを実現するアプローチをもたらすことである。
【課題を解決するための手段】
【０００８】
第１ウェブサービスアプリケーション(WSA)は第１サービスのSOAPリクエストを受信する。SOAPリクエストの一部分は或るウェブサービス仕様に従う。その一部分に基づいて共用ライブラリ中の或るライブラリルーチンが起動される。ライブラリルーチンは、ウェブサービス仕様で決められている１以上の機能を実行する。ライブラリルーチンの結果に基づいて、装置固有のリクエストが生成され、そのリクエストはMFPでサポートされている通信プロトコルに従うものであり、印刷データを処理するための印刷プロセスを含み、印刷データに反映されている電子書類の印刷物が生成されるようにする。その後に装置固有のリクエストはMFPに送信される。
【０００９】
第２WSAは第２サービスのSOAPリクエストを受信する。そのSOAPリクエストの一部分も同じウェブサービス仕様に従う。その部分に基づいて共用ライブラリ中の或るライブラリルーチンが起動される。ライブラリルーチンの結果に基づいて、第２の装置固有のリクエストが生成され、MFPに送信される。
【００１０】
或るアプローチでは、SOAPライブラリルーチンが起動され、第１SOAPリクエストを分析し、SOAPリクエストで指定されている１以上のウェブサービス仕様を識別する。SOAPライブラリルーチンの結果は第１WSAで受信される。このように、ライブラリルーチンを起動することは、SOAPライブラリルーチンの結果に基づく。
【００１１】
あるアプローチでは、SOAPライブラリルーチンが第２WSAと共用される。
【００１２】
あるアプローチでは、SOAPリクエストが複数の部分を有する場合に、SOAPライブラリルーチンの結果は複数の識別子を有し、識別子の各々は、対応する部分が従うウェブサービス仕様を示す。
【００１３】
あるアプローチでは、SOAPリクエストの別の部分が、別のウェブサービスしように従う。従って、その別の部分に対応する異なるライブラリルーチンが起動され、そのライブラリルーチンから結果が受信される。
【００１４】
あるアプローチでは、共用ライブラリに他のライブラリルーチンが追加され、追加されたライブラリルーチンは、異なるウェブサービス仕様で規定される１以上の機能を実行する。このように、以後のSOAPリクエストの一部分が別のウェブサービス仕様に従う場合、第１及び第２WSAが追加されたライブラリルーチンを起動する。
【００１５】
あるアプローチでは、WSAは、装置固有のリクエストを生成するのに使用されるアブストラクトAPIを含む。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによって、WSAはMFPの１以上の機能を起動する。
【発明を実施するための最良の形態】
【００１６】
本発明は添付図面と共に非限定的な実施例により説明され、図中同様な参照番号は同様な要素に関連する。
【００１７】
説明を目的とする以下の詳細な説明では、本発明の十分な理解をもたらすように、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。それ以外には、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
【００１８】
＜機能概要＞
図１は複合機(MFP)でデータを処理するリクエストを処理するための本発明の一実施例によるアプローチを示すフローチャートである。ここで使用されるように、MFPなる用語は、印刷、複写、ファクシミリ及びスキャニング等のような１以上の機能を実行する装置に関連する。図１はMFPに用意された装置に対するSOAPリクエストを処理する場合のアプローチを示すが、このアプローチはSOAPコンテキストに限定されない。ステップ１０２では、第１サービスのSOAPリクエストが第１ウェブサービスアプリケーションで受信される。SOAPリクエストは、１以上のウェブサービス仕様を実行するウェブサービスを要求するように構成される。SOAPリクエストの一部分は、第１ウェブサービス仕様に準拠する。ステップ１０４では、SOAPリクエストのその部分に基づいて共用ライブラリからライブラリルーチンが起動される。ライブラリルーチンは、第１ウェブサービス仕様で規定される１以上の機能を実現する。ステップ１０６では、ライブラリルーチンから結果が受信される。ステップ１０８では、その結果に基づいて装置固有のリクエストが生成される。装置固有のリクエストは、複合機(MFP)でサポートされている通信プロトコルに従う。MFPは印刷プロセスを含み、その印刷プロセスは、印刷データを処理し、印刷データに反映されている電子書類の印刷バージョンが生成されることを引き起こす。ステップ１１０では、装置固有のリクエストがMFPに送信される。
【００１９】
ステップ１１２では、第２サービスの第２SOAPリクエストが第２ウェブサービスアプリケーションで受信される。第２SOAPリクエストの一部分は、そのウェブサービス仕様に従う。ステップ１１４では、第２SOAPリクエストのその部分に基づいて同じライブラリルーチンが共用ライブラリから呼び出される。ステップ１１６では、ステップ１１４で起動したライブラリルーチンから結果が受信される。ステップ１１８では、ステップ１１６で受信した結果に基づいて、第２の装置固有のリクエストが生成される。第２の装置固有のリクエストもその通信プロトコルに従う。ステップ１２０では、第２の装置固有のリクエストがMFPに送信される。
【００２０】
＜アーキテクチャ概要＞
図２はMFPでデータを処理するリクエストを処理するための本発明の一実施例によるアーキテクチャ２００を例示するブロック図である。本発明の一実施例によるアーキテクチャ２００は、リクエストアプリケーション２０２、ウェブサービスアプリケーション２０４，２０６、SOAP-SDKモジュール(SSM)２０８、ウェブサービスプロトコルモジュール(WSPM)２１０及びネットワーク２２０を含む。リクエストアプリケーション２０２は、SOAPプロトコルを用いてウェブサービスを要求するアプリケーションである。ウェブサービスアプリケーション(WSA)２０４は、１以上のウェブサービスについてのリクエストを受信する。SSM２０８は、WSA２０４及びWSA２０６に対して、SOAPメッセージを分析し且つSOAPメッセージを生成するライブラリルーチンを提供する。WSPM２１０は、２以上のウェブサービス仕様に関連するライブラリルーチンをWSA２０４及びWSA２０６に提供する。
【００２１】
例えば、リクエストアプリケーション２０２はSOAPリクエストを(例えば、ネットワーク２２０を介して)WSA２０４に送信する。定義上、SOAPリクエストはヘッダセクション及びボディセクションを有する。ヘッダセクションは１つ以上の部分を含み、その各々は、WSセキュリティのような標準的なウェブサービスプロトコルに関連し且つそれを要する。WSA２０４がSOAPメッセージを分析するよう構成されていなかったならば、SOAPリクエストの構造を理解するために、WSA２０４はSSM２０８で用意されるSOAPライブラリルーチンを起動する。SOAPリクエストでSOAPライブラリルーチンを起動した結果には、１）SOAPリクエストが有効であることの指標及び２）SOAPリクエストで指定される１以上のウェブサービス仕様を区別する一群の識別子が含まれる。
【００２２】
その結果に基づいて、WSA２０４は、WSPM２１０中の共用ライブラリとして機能する少なくとも１つのライブラリルーチンを起動する。ライブラリルーチンは、ウェブサービス仕様で規定された１つ以上の機能を実現する。ライブラリルーチンを起動したことの結果に基づいて、WSA２０４は（アブストラクトAPI２１４を介してアブストラクトAPIを利用して）MFPでサポートされている通信プロトコルに従う装置固有のリクエストを生成する。WSA２０４はその後に装置固有のリクエストをMFPに送信する。
【００２３】
アプリケーション要求２０２がWSA２０６により提供されるサービスを要求する場合、WSA２０６はSOAP  SDK２０８及びWSPM２１０により提供されるライブラリルーチンを使用してもよい。
【００２４】
＜アプリケーション要求＞
リクエストアプリケーション２０２は或るプロセスに関連するアプリケーションであり、そのプロセスは、WSA２０４又はWSA２０６により提供される特定のウェブサービスを要求するプロセスである。リクエストアプリケーション２０２は典型的にはオペレーティングシステムに関連するアプリケーションであり、オペレーティングシステムは初期要求プロセスをサポートしている。リクエストアプリケーション２０２の目的は、プラットフォーム固有のプロシジャコールを、要求するプロセスからSOAPリクエストに変換することであり、SOAPリクエストはSOAPを「理解」できるアプリケーションによって処理可能である。一方、リクエストアプリケーション２０２はユーザとやり取りするGUIでもよい。この場合、リクエストアプリケーション２０２はユーザのクリックをSOAPリクエストに変換する。
【００２５】
例えば、要求するプロセスはマイクロソフトワードアプリケーションに関連していてもよいし、WSA２０４は印刷アプリケーションでもよい。リクエストアプリケーション２０２は、要求するプロセスから送信されたプラットフォーム固有の「プリントデータ(print  data)」リクエストを受信する。リクエストアプリケーション２０２はSOAPメッセージ中の印刷データリクエストをエンコードし、印刷データリクエストは、SOAPメッセージを「理解」できるWSAにより処理可能である。
【００２６】
＜ネットワーク＞
リクエストアプリケーション２０２及びWSA２０４間のSOAP通信はネットワーク２２０上でなされてもよい。ネットワーク２２０中の様々なノード間でデータ交換を行う媒体又は手段の如何なるものによってネットワーク２２０が実現されてもよい。そのようなネットワークの具体例は、限定ではないが、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット若しくはインターネット等のようなネットワーク又は地上、衛星若しくは無線のリンク等を含む。ネットワーク２２０は上記のようなネットワークの組み合わせでもよい。ネットワーク２２０は伝送制御プロトコル(TCP)及びインターネットプロトコル(IP)に従ってデータを送信してもよい。
【００２７】
＜ウェブサービスアプリケーション＞
ウェブサービスアプリケーション(WSA:  Web  Service  Application)２０４，WSA２０６はサービスを提供するモジュールであり、WSPM２１０でサポートされるプロトコルのようなウェブサービスプロトコル及び技術を当てにしている。アプリケーション各々がSOAPメッセージを分析するように構成されていなかったならば、WSA２０４及びWSA２０６はSSM２０８で用意されるルーチンを当てにしてもよい。
【００２８】
一実施例では、WSA２０４及びWSA２０６は、アプリケーション各自がSOAPリクエストに「耳を傾ける(listen)」ソケットを有する。WSA２０４及びWSA２０６は、同じソケットで又は異なるソケットで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スキーマとの組み合わせでしばしば使用され、インターネット上でウェブサービスを提供する。ウェブサービス(例えば、WSA２０４)に接続するクライアントプログラム(例えば、リクエストアプリケーション２０２)は、ウェブサービスに対応するWSDLファイルを読み込み、ウェブサービスのサポートする機能が何かを確認する。使用されている何らかの特殊なデータタイプが、XMLスキーマの形式でWSDLに組み込まれている。そしてクライアントプログラムはSOAPを利用して、WSDLファイルにリストされた機能の１つを起動する。
【００３２】
一実施例によれば、SOAP-SDKモジュール(SSM)２０８はライブラリルーチンの共有ライブラリであり、SOAP及び／又はWSDLで規定される１以上の機能を実行する。SOAP２２２はSOAPに関連する１以上のライブラリルーチンを含む。SOAPに関連する１以上のライブラリルーチンは、SOAP1.2規格又はSOAPの他の何らかのバージョンに関連していてもよい。同様に、WSDL２２４はWSDLに関連する１以上のライブラリルーチンを含む。WSDLに関連する１以上のライブラリルーチンは、WSDL1.2規格又はWSDLの他の何らかのバージョンに関連していてもよい。SSM２０８は、リクエストアプリケーション２０２が古いバージョンで動作してよいように、SOAP及びWSDLの古いバージョンに対応するライブラリルーチンを含んでもよい。
【００３３】
WSAはSOAP２２２により用意されたライブラリルーチンを起動し、１）SOAPメッセージを生成し、及び／又は２）WSAが受信したSOAPリクエストを分析する。WSAはWSDL２２４によって用意されたライブラリルーチンを起動し、WSDL書類をパッケージにまとめてリクエストアプリケーション２０２に送信してもよい。WSDL２２４は所与のWSDL書類を分析し、スタブ及びスケルトンを開発段階で生成する。動作時に、WSDL２２４は到来するリクエストを、WSA２０４又は２０６「内側(inside)」の関連する機能に対応付ける。WSDL２２４は外側のWSDL書類を生成するためには不要である。なぜならその書類は典型的にはシンプルテキストファイルだからである。
【００３４】
一実施例では、SSM２０８は静的な又は動的なライブラリルーチン一式として実現され、WSA２０４及びWSA２０６各々がそれら各自のメモリにライブラリルーチンをロードしてもよい。従って、WSA２０４及びWSA２０６各々は同じライブラリルーチンの別個のコピーを起動してもよい。別の実施例では、WSA２０４及びWSA２０６はSSM２０８に関連するAPIを用いてライブラリルーチンを起動する。APIはインターフェースを規定し、関連するWSAはそのインターフェースによってSSM２０８の１以上の機能を起動する。この場合、SSM２０８はライブラリルーチンで指定されている機能を実行し、ライブラリルーチンを起動したWSAに結果を返す。
【００３５】
WSAがSOAPライブラリルーチンを起動した場合、SOAPリクエストの構造が分析される（ライブラリルーチンをメモリにロードする場合にはローカルに分析され、或いはSSM２０８がライブラリルーチンで指定される機能を実行する場合にはSSM２０８により分析される。）。SOAPリクエストの構造が有効であった場合には、SOAPリクエストの１以上の部分が識別される。各部分は特定のウェブサービス仕様を指定する。SOAPライブラリルーチンを実行したことによる結果は、ある識別子で各部分を指すポインタを含むデータ構造を有し、そのポインタはウェブサービス仕様を示す或いはウェブサービス仕様の名前空間(ネームスペース)の名称を示す。
【００３６】
ウェブサービス仕様各々は関連するネームスペースを有する。ネームスペースは特定のウェブサービス仕様を識別する。特定のウェブサービス仕様のバージョン各々は、別々のネームスペースに関連付けられる。従って、WSDL1.1及びWSDL1.2は異なるネームスペースに関連付けられる。
【００３７】
＜ウェブサービスプロトコルモジュール＞
ウェブサービスプロトコルモジュール(WSPM)２１０はライブラリルーチンの共用ライブラリとして機能し、ライブラリルーチン各々は１つ以上のウェブサービス仕様で決められている１つ以上の機能を実行する。１つ以上のSOAPライブラリルーチンを起動してSOAPリクエストを分析した結果に基づいて、WSAはどのライブラリルーチンかを知る。
【００３８】
一実施例では、WSPM２１０は静的な又は動的なライブラリルーチン一式（WSA２０４及びWSA２０６はそれぞれ別個にメモリにロードしてもよい）として実現されてもよい。従って、WSA２０４及びWSA２０６各々は、同じライブラリルーチンの別々のコピーを起動してもよい。別の実施例では、WSA２０４及びWSA２０６は、WSPM２１０に関連するAPIを用いてライブラリルーチンを起動する。APIはインターフェースを規定し、そのインターフェースによってWAPM２１０の１つ以上の機能を、関連するWSAが呼び出す。この場合、WSPM２１０はライブラリルーチンで指定された機能を実行し、そのライブラリルーチンを起動したWSAに結果を返す。
【００３９】
一実施例によれば、WSPM２１０は少なくとも１つのウェブサービス仕様に関連する１つ以上のライブラリルーチンを有する。WSPM２１０はライブラリルーチンを構成するように構築され、そのライブラリルーチンは、複数のウェブサービス仕様に及び１以上のウェブサービス仕様の複数のバージョンに対応する。
【００４０】
ウェブサービス仕様は、メッセージ処理、セキュリティ、トランザクション及びポリシに関する規格を含む。ウェブサービスメッセージング仕様書は、WSアドレシング、WSイベント処理及びWS転送処理を含むがこれらに限定されない。WSセキュリティは周知のセキュリティ処理である。ウェブサービストランザクション仕様書は、WSコーディネーション及びWSビジネスアクティビティを含むがこれらに限定されない。ウェブサービスメタデータ仕様書は、WSDL、WSメタデータイクスチェンジ及びWSポリシを含むがこれらに限定されない。他の多くの仕様書が現在のところ提案段階にあり、最終的にはW3C規格になるであろう。
【００４１】
複数のWSAはWSPM２１０で決められたライブラリルーチンを起動してもよい。従って、WSPM２１０で使用されるウェブサービス仕様について多くの詳細をWSA開発者が知ることを要しないという恩恵を、複数のWSAが１つのWSPM２１０から受ける。
【００４２】
＜アブストラクトAPI＞
一実施例によれば、WSA２０４及びWSA２０６は、WSA２０４についてはアブストラクトAPI２１４のような、WSA２０６についてはアブストラクトAPI２１６のようなアブストラクトAPIを利用し、装置固有のリクエストを生成してもよい。アブストラクトAPIは或るインターフェースを規定し、そのインターフェースによってMFPの１つ以上の機能を、関連するWSAが起動する。従って本実施例によれば、WSA２０４及び／又はWSA２０６の開発者は、基礎となるターゲットプラットフォームの詳細を知る必要はなく、その開発者が提供しようとする新たなサービスのことしか知らなくてよい。
【００４３】
＜アブストラクトAPIの実現＞
アブストラクトAPIがWSAについて規定されたならば、特定のプラットフォームについてのアブストラクトAPIの実現手段が決定されなければならい。例えば、アブストラクトAPI実現手段２４４は、プラットフォームアルファ２４０でのアブストラクトAPI２１４について規定される。同様に、アブストラクトAPI実現手段２６６は、プラットフォームガンマ２６０でのアブストラクトAPI２１６について規定される。対応するアブストラクトAPI実現手段は、装置固有のリクエストで指定され且つMFPで行われる機能を規定する。本アーキテクチャによれば、アブストラクトAPIの開発者(implementer)は、ターゲットプラットフォームの知識を持っていることを要するが、WSAの開発者はそれを要しない。
【００４４】
＜具体例＞
図３は印刷サービスのSOAPリクエストがどのように処理されるかを示す本発明の一実施例を示す。始めに、リクエストアプリケーション２０２が、電子書類を印刷するワードプロセッシングアプリケーション(図示せず)からのプラットフォーム固有のリクエストを受信する。このリクエストは、電子書類が暗号化されるべきこと、及びワードプロセッシングアプリケーションのユーザは印刷ジョブが完全に実行された場合に（即ち、電子書類全体が印刷された場合）通知を受けることを希望していることを示す。
【００４５】
ステップ１では、リクエストアプリケーション２０２は、印刷要求を処理するWSA２０４に関連するWSDLファイルについてのSOAPリクエストを始めに送信する。WSA２０４はMFPで実行され、MFPはファクシミリサービス、スキャニングサービス及びアーカイビング(保管)サービスのような１つ以上のサービスを印刷サービスに加えて実行する。従ってＭＦＰは少なくとも１つの印刷プロセスを含み、その印刷プロセスは、印刷データを処理し且つその印刷データに反映されている電子書類の印刷バージョンの生成を引き起こす。
【００４６】
ステップ２では、WSA２０４がWSDLファイルをネットワーク上でリクエストアプリケーション２０２へ送信する。WSDLファイルはWSA２０４がサポートする機能をリスト化する。WSA２０４がSOAPメッセージを分析する機能を含んでいなかったならば、WSA２０４はSOAPリクエストをSSM２０８に転送する。SSM２０８はリクエストの詳細を抽出し、それらをWSA２０４に送信する(ステップ３)。
【００４７】
WSA２０４及びそれに関連するMFPがリクエストプロセスの要求する機能（例えば、暗号化）をサポートしていないことをWSDLファイルが示すならば、リクエストアプリケーションは、要求された機能をサポートする別のWSAを発見しようとする。
【００４８】
要求される機能をWSA２０４及びMFPがサポートしていたならば、リクエストアプリケーション２０２は(WSDLファイルを用いて)プラットフォーム固有のリクエストをSOAPリクエストに変換し、ネットワーク２２０を介してSOAPリクエストをWSA２０４に送信する(ステップ３)。
【００４９】
SOAPリクエストのヘッダは１つ以上の部分を含み、その各々は特定のウェブサービス仕様に対応する。本実施例によれば、SOAPリクエストのヘッダは、WSイベント仕様に関連する或る部分(印刷ジョブが完全に実行された場合にリクエストアプリケーション２０２に通知するための部分)と、WSセキュリティ仕様に従う別の部分（電子書類を暗号化するのに使用される暗号化プロセスを指定するための部分）を含む。SOAPリクエストの本体(body)は暗号化された電子書類を含む。
【００５０】
WSA２０４はSOAPリクエストを受信し、WSA２０４が、SOAPリクエストの一部が従うSOAP仕様の適切な実現手段を前もって含んでいなかった場合に、（例えば、WSA２０４に関連するSOAP−APIを用いることで）SSM２０８で用意されるSOAPライブラリルーチンを起動する(ステップ４)。SSM２０８はSOAPリクエストの構造を分析する。SOAPライブラリルーチンからの結果は、WSセキュリティ及びWSイベント処理を、SOAPリクエストで指定されるウェブサービス仕様として識別する識別子を含む。その結果はWSA２０４に返される(ステップ５)。
【００５１】
ステップ６では、SOAPライブラリルーチンからの結果に基づいて、WSA２０４はWSPM２１０で規定される少なくとも１つのライブラリルーチンを起動する。この例では、WSA２０４は、WSセキュリティに関連する１つ以上のライブラリルーチンを起動し、ライブラリルーチンはSOAPリクエストの印刷データの解読を実行する。ライブラリルーチンを起動することで、セキュリティのメカニズムが確認され、キー(鍵)が見分けられ、SOAPリクエスト中の電子書類が解読される。
【００５２】
WSセキュリティ２３８が電子書類を解読した後に、WSPM２１０は解読された電子書類をWSA２０４に返す(ステップ７)。ステップ８では、WSA２０４はアブストラクトAPI２１４を用いて装置固有の印刷機能呼出(信号)を生成し、印刷機能呼出(信号)をターゲットプラットフォーム（例えば、プラットフォームアルファ２４０）に送信する。関連するアブストラクトAPI(例えば、実現手段２４４)は、印刷機能呼出を実行する。しかしながら、解読後に、プラットフォームアルファ２４０が理解できないフォーマットの電子書類であったことをWSA２０４が確認したならば、印刷ジョブは中止される。
【００５３】
印刷ジョブが完全に実行されると、プラットフォームアルファ２４０はWSA２０４へのコールバックを起動し（例えば、アブストラクト実現手段２４４を介して）、そのイベントをWSA２０４に通知する（ステップ１０）。WSA２０４は、WSイベント２３６に対応する１つ以上のライブラリルーチンを起動する。これらのライブラリルーチンの実行結果は、アプリケーション２０２宛のSOAPメッセージを（別のSOAPメッセージを介してそのような通知を受けるように事前に要求されていた場合に）生成するために、SOAP２２２に対応する１つ以上のSOAPライブラリルーチンを起動する時に使用される。SOAP応答は、印刷ジョブが完全に実行されたことを示す。
【００５４】
イベントの通知を受けるように予め登録されたアプリケーションが存在していたならば、関連するアブストラクトAPI（例えば、アブストラクトAPI２４４）からのコールバックに基づいて、イベント通知が送信される。如何なるアプリケーションも登録されていなかったならば、イベントメッセージは送信されない。
【００５５】
オリジナルのSOAPリクエストが或るウェブサービス仕様に従う部分（WSPM２１０で規定されるライブラリルーチンによっては実行されない部分）を有する場合、SOAPリクエストで指定される他のウェブサービス仕様を用いて、WSA２０４はSOAPリクエストを依然として実行しようと試みてよい。このように、WSA２０４はいくつかのSOAPリクエストを処理する（そうでなければ、中止又は無視するであろう）。
【００５６】
しかしながら、リクエストアプリケーション２０２からのSOAPリクエストが（例えば、WSポリシに従って）或るポリシ(指針)を示し、ウェブサービス仕様に対応するSOAPリクエストの各部分が実行されるよう強制されてもよい。SOAPリクエストが上述したポリシを示すような場合に、WSPM２１０がSOAPリクエストで指定されているウェブサービス仕様をサポートしてなかったならば、SOAPリクエスト全体が破棄され、エラーメッセージがリクエストアプリケーション２０２に送信されてもよい。
【００５７】
＜実現手段＞
ウェブサービスアプリケーションにウェブサービスプロトコルを提供する本願で説明されるアプローチは、如何なるタイプのコンピューティングプラットフォーム又はアーキテクチャで実現されてもよい。図４は本発明の実施例で使用されるコンピュータシステム４００のブロック図を示す。コンピュータシステム４００は、情報を通信するためのバス４０２又は他の通信手段と、バス４０２に結合された情報を処理するプロセッサ４０４とを有する。コンピュータシステム４００は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス４０２に結合されたメインメモリ４０６を有し、メインメモリはプロセッサ４０４で実行される命令や情報を格納する。メインメモリ４０６は、プロセッサ４０４で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム４００は、プロセッサ４０４のための命令や静的な情報を格納する、バス４０２に結合されたリードオンリメモリ(ROM)４０８又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス４１０は、情報及び命令を格納するために用意されてバス４０２に結合される。
【００５８】
コンピュータシステム４００は、コンピュータユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ４１２にバス４０２を介して結合されてもよい。英数字その他のキーを含む入力装置４１４は、情報及び命令選択内容をプロセッサ４０４に通知するためにバス４０２に結合される。他の種類のユーザ入力装置は、カーソル制御装置４１６（例えば、マウス、トラックボール又はカーソル方向キー）であり、指示情報及び命令選択をプロセッサ４０４に通知し且つディスプレイ４１２でのカーソルの動きを制御する。この入力装置は典型的には第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸による２つの自由度を有し、装置が平面上の位置を指定できるようにする。
【００５９】
本発明はここで説明された技法を使用するコンピュータシステム４００を利用することに関連する。本発明の一実施例によれば、メインメモリ４０６に含まれる１以上の命令の１以上のシーケンスを実行するプロセッサ４０４に応じて、これらの技法がコンピュータシステム４００によって実行される。そのような命令は、ストレージデバイス４１０のような他のマシン読取可能な媒体からメインメモリ４０６へ読み込まれてもよい。メインメモリ４０６に含まれている命令シーケンスの実行は、本願で説明されるプロセスステップをプロセッサ４０４が実行することを引き起こす。代替実施例では、本発明を実施するために、ハードワイヤード回路が、代替的に使用されてもよいし或いはソフトウエア命令との組み合わせで使用されてもよい。すなわち本発明の実施例はハードウエア回路及びソフトウエアの特定の如何なる組み合わせにも限定されない。
【００６０】
ここで使用されているように「マシン読取可能な媒体」なる用語は、特定の形式でマシンに動作を引き起こすデータを提供することに関与する如何なる媒体にも関連する。コンピュータシステム４００を用いて実現される実施例では、様々なマシン読み取り可能な媒体が含まれ、例えば、実行に備えてプロセッサ４０４に命令を提供することを含む。そのような媒体は多くの形態をとってよく、限定ではないが、不揮発性媒体、揮発性媒体及び伝送媒体を含む。不揮発性媒体は、例えば、ストレージデバイス４１０のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ４０６のようなダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス４０２を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。
【００６１】
マシン読取可能な媒体の一般的な形態は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープその他の如何なる磁気媒体、CD-ROMその他の如何なる光媒体、パンチカード、紙テープ又は穴のパターンを有する他の如何なる物理的媒体、RAM、PROM、EPROM、フラッシュEPROMその他のメモリチップ、カートリッジ、上記のような搬送波又はコンピュータが読み取ることの可能な他の如何なる媒体をも含む。
【００６２】
マシン読取可能な様々な形態は、１以上の命令の１以上のシーケンスを実行に備えてプロセッサ４０４に搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスクで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリにその命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム４００付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。赤外線検出器は、赤外線信号で搬送されたデータを受信し、適切な回路がそのデータをバス４０２に置く。バス４０２はデータをメインメモリ４０６に運び、プロセッサ４０４はメインメモリから命令を抽出して実行する。メインメモリ４０６で受信された命令は、プロセッサ４０４で実行される前又はその後にストレージデバイス４１０に選択的に格納されてもよい。
【００６３】
コンピュータシステム４００はバス４０２に結合された通信インターフェース４１８も含む。通信インターフェース４１８は、ローカルネットワーク４２２に接続されるネットワークリンク４２０に結合する双方向データ通信をもたらす。例えば、通信インターフェース４１８は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例として、通信インターフェース４１８は、データ通信接続をコンパチブルなLANに与えるLANカードでもよい。無線リンクが使用されてもよい。いずれの実現手段にせよ、通信インターフェース４１８は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
【００６４】
ネットワークリンク４２０は典型的には１以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク４２０はローカルネットワーク４２２を介してホストコンピュータ４２４とのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)４２６により運営されるデータ機器とのコネクションを提供する。そしてISP４２６はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット４２８として一般に言及されている)を介して提供する。ローカルネットワーク４２２及びインターネット４２８の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク４２０における通信インターフェース４１８を介する信号は、コンピュータシステム４００に及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
【００６５】
コンピュータシステム４００は、ネットワーク、ネットワークリンク４２０及び通信インターフェース４１８を介して、プログラムコードを含むメッセージ及びデータを送受信する。インターネットの例では、サーバー４３０はインターネット４２８、ISP４２６、ローカルネットワーク４２２及び通信インターフェース４１８を介して、アプリケーションプログラムに要求されたコードを送信するかもしれない。
【００６６】
プロセッサ４０４は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス４１０又は他の不揮発性ストレージに格納してもよい。このようにコンピュータシステム４００は搬送波の形式でアプリケーションコードを取得してもよい。
【００６７】
以上、本明細書では本発明の実施例が、実施例毎に異なってよい様々な具体的詳細と共に説明された。本発明であって且つ出願人が本願発明であると意図する独占排他権の対象は本願の一群の請求項に記載され、そのような請求項は将来的な如何なる補正事項も含む。請求項に含まれている用語についての上述の何らかの定義は、請求項の中で使用されるそのような用語の意味に及ぶ。従って請求項で明示的には引用されていない限定、要件、特性、特徴、利点又は属性の如何なるものも、請求項の範囲を決して限定しないよう解釈されるべきである。従って本明細書及び図面は、限定的な意味ではなく例示として解釈されるべきである。
【００６８】
＜関連出願のクロスリファレンス＞
本願は“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リクエストがどのように処理されるかを示す本発明の一実施例によるシーケンス図である。
【図４】本発明の一実施例で使用されるコンピュータシステム例を示すブロック図である。
【符号の説明】
【００７１】
２００  アーキテクチャ
２０２  リクエストアプリケーション
２０４，２０６  ウェブサービスアプリケーション
２０８  SOAP-SDKモジュール(SSM)
２１０  ウェブサービスプロトコルモジュール(WSPM)
２１４，２１６  アブストラクトAPI
２２０  ネットワーク
２２２  SOAP
２４０，２５０，２６０  プラットフォーム
４００  コンピュータシステム
４０２  バス
４０４  プロセッサ
４０６  メインメモリ
４０８  リードオンリメモリ
４１０  ストレージデバイス
４１２  ディスプレイ
４１４  入力装置
４１６  カーソル制御部
４１８  通信インターフェース
４２０  ネットワークリンク
４２２  ローカルネットワーク
４２４  ホスト
４２６  インターネットサービスプロバイダ
４２８  インターネット
４３０  サーバー
【図１】
2008033938.tif 000003
【図２】
2008033938.tif 000004
【図３】
2008033938.tif 000005
【図４】
2008033938.tif 000006