(57)【要約】【課題】インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムの提供を目的とする。【解決手段】ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することにより上記課題を解決する。【選択図】図４
2009064108.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、
変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする変換装置。
【請求項２】
前記対応情報生成手段は、それぞれインタフェースの構成要素の名前と該名前の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の名前を対応付けて対応情報を生成し、
前記変換手段は、変換対象とされたインタフェースについて、各構成要素の名前を前記対応情報において対応付けられている名前に変換することを特徴とする請求項１記載の変換装置。
【請求項３】
前記対応情報生成手段は、それぞれインタフェースの構成要素の値と該値の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の値を対応付けて対応情報を生成し、
前記変換手段は、変換対象とされたインタフェースについて、各構成要素の値を前記対応情報において対応付けられている値に変換することを特徴とする請求項１又は２記載の変換装置。
【請求項４】
前記インタフェース介して処理を実行する情報処理装置より前記定義情報を取得する取得手段を有することを特徴とする請求項１乃至３いずれか一項記載の変換装置。
【請求項５】
前記変換手段は、インタフェースが呼び出された情報処理装置からの変換要求に応じ、該インタフェースを変換対象として各構成要素を変換することを特徴とする請求項１乃至４いずれか一項記載の変換装置。
【請求項６】
前記情報処理装置に対して、前記変換手段によって変換されたインタフェースの呼び出しを行う呼び出し手段を有することを特徴とする請求項５記載の変換装置。
【請求項７】
前記変換手段は、前記呼び出し手段によるインタフェースの呼び出しに応じ前記情報処理装置より返信される応答情報の構成要素を前記対応情報に基づいて変換し、変換された応答情報を前記情報処理装置に返信させることを特徴とする請求項６記載の変換装置。
【請求項８】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置が実行する変換方法であって、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手順と、
変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手順とを有することを特徴とする変換方法。
【請求項９】
前記対応情報生成手順は、それぞれインタフェースの構成要素の名前と該名前の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の名前を対応付けて対応情報を生成し、
前記変換手順は、変換対象とされたインタフェースについて、各構成要素の名前を前記対応情報において対応付けられている名前に変換することを特徴とする請求項８記載の変換方法。
【請求項１０】
前記対応情報生成手順は、それぞれインタフェースの構成要素の値と該値の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の値を対応付けて対応情報を生成し、
前記変換手順は、変換対象とされたインタフェースについて、各構成要素の値を前記対応情報において対応付けられている値に変換することを特徴とする請求項８又は９記載の変換方法。
【請求項１１】
前記インタフェース介して処理を実行する情報処理装置より前記定義情報を取得する取得手順を有することを特徴とする請求項８乃至１０いずれか一項記載の変換方法。
【請求項１２】
前記変換手順は、インタフェースが呼び出された情報処理装置からの変換要求に応じ、該インタフェースを変換対象として各構成要素を変換することを特徴とする請求項８乃至１１いずれか一項記載の変換方法。
【請求項１３】
前記情報処理装置に対して、前記変換手順において変換されたインタフェースの呼び出しを行う呼び出し手順を有することを特徴とする請求項１２記載の変換方法。
【請求項１４】
前記変換手順は、前記呼び出し手順によるインタフェースの呼び出しに応じ前記情報処理装置より返信される応答情報の構成要素を前記対応情報に基づいて変換し、変換された応答情報を前記情報処理装置に返信させることを特徴とする請求項１３記載の変換方法。
【請求項１５】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置と、前記インタフェースを介して処理を実行する画像形成装置とを有する変換システムであって、
前記画像形成装置は、
呼び出されたインタフェースの変換を前記変換装置に要求する変換要求手段を有し、
前記変換装置は、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、
変換が要求されたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変換装置、変換方法及び変換システムに関し、特にネットワークを介して呼び出されるインタフェースの変換装置、変換方法及び変換システムに関する。
【背景技術】
【０００２】
従来、一般的にＲＰＣ（Remote Procedure Call）と呼ばれる技術が存在する。ＲＰＣによれば、ネットワークを介して異なるコンピュータ上における手続き（関数又はメソッド）を呼び出すことができる。例えば、近年では、Ｗｅｂサービスの手続きを呼び出すためのＳＯＡＰ（Simple Object Access Protocol）が普及している。
【０００３】
ところで、ＲＰＣによって呼び出される手続きが実装されたサーバ側において、命名規則の変更、機能拡張、又は利用するプロトコルの変更等に伴って、当該手続きのインタフェースを変更したい場合がある。この場合、そのサーバにおけるサービスを利用するクライアントにおいても、新たなインタフェースに対応する必要がある。
【０００４】
例えば、図１は、ＷｅｂサービスのインタフェースがＳＯＡＰからＲＥＳＴへ変更された場合の例を示す図である。図中において、サーバ５１０は、Ｗｅｂサービスを提供するコンピュータである。サーバ５１０には、Ｗｅｂサービスとして機器管理サービス５１１及び印刷サービス５１２が実装されている。
【０００５】
サーバ５１０のＷｅｂサービスを利用するクライアントとしては、クライアント５２０ａ、５２０ｂ、及び５２０ｃ等が存在する。クライアント５２０ａは、ＲＥＳＴ（Representational State Transfer）インタフェースに対応したクライアントである。クライアント５２０ｂ及び５２０ｃは、ＳＯＡＰインタフェースに対応したクライアントである。
【０００６】
ここで、サーバ５１０のインタフェースがＳＯＡＰからＲＥＳＴ形式に変更された場合、クライアント５２０ｂ及びクライアント５２０ｃはサーバ５１０のＷｅｂサービスを利用できなくなってしまう。特に、多数のクライアントが存在する場合、各クライアントについてＲＥＳＴインタフェースに対応させるのは、非常に煩雑な作業が要求される。
【０００７】
また、複数のサーバが存在し、サーバ間においてインタフェースのバージョンが異なる場合（すなわち、異なるバージョンのインタフェースが混在する場合）、各クライアントにおいていずれか一方のバージョンに対応させてしまうと、他方のバージョンに係るサーバを利用できなくなってしまう。
【０００８】
そこで、図１の場合、ＳＯＡＰ及びＲＥＳＴの双方のインタフェースをサーバ５１０に実装することが考えられる。図２は、ＳＯＡＰ及びＲＥＳＴのインタフェースがサーバに実装された例を示す図である。
【０００９】
図２において、サーバ５１０には、ＳＯＡＰインタフェースによる印刷サービス５１２
ａが更に実装されている。この場合、ＰＣクライアント５２０ｂ及び５２０ｃは、ＲＥＳＴインタフェースに対応することなくＳＯＡＰインタフェースの印刷サービス５１２ａを利用することができる。
【特許文献１】特開２００６−２６０３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、図２のようにインタフェースのバージョンごとにＷｅｂサービスを実装するのは、非常に冗長な構成であり、記憶装置等の資源の消費量を著しく増加させる。そのため、サーバ側では、記憶装置等を増設する必要が生じ、コストを増大させるという問題がある。
【００１１】
また、バグの修正や機能強化等に際し、インタフェースごとに作業が必要とされるため、保守作業及び開発作業の効率を著しく低下させるという問題もある。
【００１２】
本発明は、上記の点に鑑みてなされたものであって、インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムの提供を目的とする。
【課題を解決するための手段】
【００１３】
そこで上記課題を解決するため、本発明は、ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする。
【００１４】
このような変換装置では、インタフェースの相違を適切に吸収させることができる。
【発明の効果】
【００１５】
本発明によれば、インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における情報処理システムの構成例を示す図である。図３における情報システム１において、変換サーバ１０と、複合機２０ａ及び２０ｂ等の複数の複合機（以下、総称する場合「複合機２０」という。）と、クライアント３０ａ、３０ｂ、及び３０ｃ（以下、総称する場合、「クライアント３０」という。）とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されている。
【００１７】
クライアント３０は、複合機２０に実装されたＷｅｂサービスを利用するためのプログラム（クライアントプログラム）が実装されたＰＣ（Personal Computer）等のコンピュータである。クライアント３０ａのクライアントプログラムは、ＲＥＳＴ（Representational State Transfer）インタフェースによるＷｅｂサービスが利用可能である。クライアント３０ｂ及び３０ｃのクライアントプログラムは、ＳＯＡＰ（Simple Object Access Protocol）インタフェースによるＷｅｂサービスが利用可能である。
【００１８】
複合機２０は、コピー、ファクス、印刷等の複数の機能を一台の筐体によって実現する画像形成装置である。各複合機２０には、機器管理サービス２１及び印刷サービス２２等がＷｅｂサービスとして実装されている。機器管理サービス２１は、機器情報（複合機２０の各種情報）の管理を行うＷｅｂサービスである。印刷サービス２２は、印刷ジョブを実行するＷｅｂサービスである。
【００１９】
複合機２０ａ及び２０ｂはいずれも同様の機能構成を有するが、Ｗｅｂサービスが対応している通信プロトコル及びメソッドの形式（以下、双方を含めて「インタフェース」という。）が異なる。すなわち、複合機２０ａのＷｅｂサービスは、ＲＥＳＴインタフェースに基づいて実装されている。したがって、クライアント３０ｂ及び３０ｃは、通常では複合機２０ａのＷｅｂサービスを利用することはできない。また、複合機２０ｂのＷｅｂサービスは、ＳＯＡＰインタフェースに基づいて実装されている。したがって、クライアント３０ａは、通常では複合機２０ｂのＷｅｂサービスは利用できない。
【００２０】
そこで、本実施の形態において、各複合機２０は、フィルタリング部２３及び変換要求部２４等を有する。これら各部は、複合機２０に実装されたプログラムに従ってＣＰＵが実現するソフトウェアである。
【００２１】
フィルタリング部２３は、クライアント３０からのＷｅｂサービスの利用要求（リクエストメッセージ）が、当該複合機２０のインタフェースに適合しているか否かを判定する。
【００２２】
変換要求部２４は、当該複合機２０のインタフェースに適合していないリクエストメッセージについて、当該複合機２０のインタフェースに適合した形式への変換を、変換サーバ１０に要求する。変換要求部２４は、また、リクエストメッセージに応じて実行されるＷｅｂサービスの処理結果を示す応答メッセージの逆変換（当該複合機２０のインタフェースに適合した形式からリクエストメッセージの送信元のクライアント３０に適合した形式への変換）を変換サーバ３０に要求する。
【００２３】
変換サーバ３０は、変換が要求されたリクエストメッセージ又は応答メッセージを、要求された形式にし、変換結果を変換要求元の複合機２０に返信する。
【００２４】
変換サーバ３０について、更に詳しく説明する。図４は、本発明の実施の形態における変換サーバの機能構成例を示す図である。図４において変換サーバ１０は、通信制御部１１、機能情報取得部１２、変換テーブル作成部１３、変換テーブル１４、インタフェース変換部１５、及びメッセージ作成部１６等を有する。
【００２５】
通信制御部１１は、複合機２０等とのネットワークを介した通信を制御する。機能情報取得部１２は、各複合機２０より機能情報を取得（収集）する。機能情報とは、複合機２０が有しているＷｅｂサービスを関する情報と、各Ｗｅｂサービスのメソッドの定義情報とが含まれている情報をいう。取得された機能情報は、変換サーバ３０の記憶装置に蓄積（記録）される。変換テーブル作成部１３は、各複合機２０より取得された機能情報に基づいて変換テーブル１４を作成（生成）する。変換テーブル１４は、同一の機能（サービス）に対する異なるインタフェース間の呼び出し情報及び応答情報の構成要素の対応関係が記録されたテーブルである。インタフェース変換部１５は、複合機２０より変換が要求されたリクエストメッセージ又は応答メッセージに含まれる、インタフェースの呼び出し情報又は応答情報の形式を変換テーブル１４に基づいて変換する。メッセージ作成部１６は、インタフェース変換部１５より出力される変換後のインタフェースの呼び出し情報又は応答情報に基づいて、複合機２０より要求された形式のリクエストメッセージ又は応答メッセージを生成する。
【００２６】
図５は、本発明の実施の形態における変換サーバのハードウェア構成例を示す図である。図５の変換サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５とを有するように構成される。
【００２７】
変換サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って変換サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２９】
なお、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。
【００３０】
以下、情報処理システム１の処理手順について説明する。図６は、変換サーバによる変換テーブル生成時における処理手順を説明するためのフローチャートである。
【００３１】
ステップＳ１０１において、機能情報取得部１２は、各複合機２０のＩＰアドレス又はＵＲＩ（例えば、ｍｆｐ．ｅｘａｍｐｌｅ．ｊｐ）対して、それぞれが有するＷｅｂサービスに関する情報（以下「Ｗｅｂサービス情報」という。）の取得要求を送信し、当該取得要求に対する返信としてＷｅｂサービス情報を受信する。なお、各複合機２０のＩＰアドレス又はＵＲＩは、予め変換サーバ１０に登録されていてもよいし、変換サーバ１０がネットワークに接続されている複合機２０を自動的に検索することにより取得してもよい。
【００３２】
図７は、Ｗｅｂサービス情報の一例を示す図である。図７においてＷｅｂサービス情報２１０は、ＸＭＬ（eXtensible Markup Language）形式によって定義されている。
【００３３】
Ｗｅｂサービス情報２１０は、ルート要素（ｃａｐａｂｉｌｉｔｙ要素）の子要素として、ｔｙｐｅ要素２１１と、ｓｅｒｖｉｃｅ要素２１２及び２１３とを含む。ｔｙｐｅ要素２１１の値は、Ｗｅｂサービスのインタフェースの種別を示す。図７のように「ＳＯＡＰ」の場合は、ＳＯＡＰインタフェースに対応していることを示す。また、「ＲＥＳＴ」の場合は、ＲＥＳＴインタフェースに対応していることを示す。
【００３４】
ｓｅｒｖｉｃｅ要素２１２は、印刷サービス２２に関する情報である。例えば、ｓｅｒｖｉｃｅ要素２１２のｓｅｒｖｉｃｅＮａｍｅ属性２１２ａの値（Ｐｒｉｎｔ）は、印刷サービス２２のサービス名を示す。また、ｓｅｒｖｉｃｅ要素２１２の子要素であるｕｒｉ要素２１２１の値（／ｐｒｉｎｔ）は、印刷サービス２２のＵＲＩを示す。
【００３５】
ｓｅｒｖｉｃｅ要素２１３は、機器管理サービス２１に関する情報である。例えば、ｓｅｒｖｉｃｅ要素２１３のｓｅｒｖｉｃｅＮａｍｅ属性２１３ａの値（ＤｅｖｉｃｅＣｏｎｔｒｏｌ）は、機器管理サービス２１のサービス名を示す。また、ｓｅｒｖｉｃｅ要素２１３の子要素であるｕｒｉ要素２１３１の値（／ｄｅｖｉｃｅＣｏｎｔｒｏｌ）は、機器管理サービス２１のＵＲＩを示す。
【００３６】
なお、複合機２０が更に他のＷｅｂサービスを有する場合は、当該Ｗｅｂサービスに対応するｓｅｒｖｉｃｅ要素がＷｅｂサービス情報２１０に含まれる。
【００３７】
続いて、機能情報取得部１２は、各複合機２０より取得されたそれぞれのＷｅｂサービス情報に基づいて、各複合機２０の各ＷｅｂサービスのＵＲＩを特定し、各ＵＲＩ（例えば、ｍｆｐ．ｅｘａｍｐｌｅ．ｊｐ／ｐｒｉｎt等）に対してメソッド（手続き）の定義情報（以下、「メソッド情報」という。）の取得要求を送信することにより、各Ｗｅｂサービスよりメソッド情報を取得する（Ｓ１０２）。本実施の形態では、複合機２０ａ及び２０ｂのそれぞれの機器管理サービス２１及び印刷サービス２２よりメソッド情報が取得される。機能情報取得部１２は、取得されたメソッド情報をサービス名と関連付けて補助記憶装置１０２に記録する。なお、インタフェースの別を問わず同一のサービスを提供するＷｅｂサービスに対しては同一のサービス名が与えられる。したがって、例えば、複合機２０ａの印刷サービス２２より取得されたメソッド情報と複合機２０ｂの印刷サービス２２より取得されたメソッド情報とは、同一のサービス名に関連付けられる。
【００３８】
図８は、ＳＯＡＰインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。すなわち、図８におけるメソッド情報２２０は、複合機２０ｂの印刷サービス２２より取得されるメソッド情報を示す。
【００３９】
メソッド情報２２０は、印刷サービス２２が有するメソッドごとにｍｅｔｈｏｄ要素を含む。図中では、ｍｅｔｈｏｄ要素２２１及びｍｅｔｈｏｄ要素２２２の二つのｍｅｔｈｏｄ要素が含まれている。各ｍｅｔｈｏｄ要素は、ｆｕｎｃｔｉｏｎＮａｍｅ属性を有する。ｆｕｎｃｔｉｏｎＮａｍｅ属性の値は、メソッドの機能名（意味）を示す識別子である。例えば、ｆｕｎｃｔｉｏｎＮａｍｅ属性２２１ａの値である「ｅｘｅｃｕｔｅＰｒｉｎｔ」は、印刷ジョブの実行を示す。なお、機能名は、インタフェースの別を問わず（ＲＥＳＴであるかＳＯＡＰであるかを問わず）同一の機能（意味）に対しては同一の値が与えられる。
【００４０】
図９は、ＲＥＳＴインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。すなわち、図９におけるメソッド情報２３０は、複合機２０ａの印刷サービス２２より取得されるメソッド情報を示す。
【００４１】
メソッド情報２３０は、印刷サービス２２有するメソッドごとにｍｅｔｈｏｄ要素を含む。図中では、ｍｅｔｈｏｄ要素２３１及びｍｅｔｈｏｄ要素２３２の二つのｍｅｔｈｏｄ要素が含まれている。各ｍｅｔｈｏｄ要素は、ｆｕｎｃｔｉｏｎＮａｍｅ属性を有する。ｆｕｎｃｔｉｏｎＮａｍｅ属性の値は、メソッドの機能名を示す。例えば、ｆｕｎｃｔｉｏｎＮａｍｅ属性２３１ａの値は、「ｅｘｅｃｕｔｅＰｒｉｎｔ」であり、図８のｆｕｎｃｔｉｏｎ属性２２１ａと一致する。
【００４２】
続いて、変換テーブル作成部１３は、機能情報取得部１２によって取得されたメソッド情報等に基づいて変換テーブル１４を作成する。
【００４３】
図１０は、変換テーブルの一例を示す図である。図１０の変換テーブル１４は、図８のメソッド情報２２０と図９のメソッド情報２３０と等に基づいて作成された例を示す。図１０において変換テーブル１４は、メソッド対応情報１４１、パラメータ対応情報１４２、及び応答対応情報１４３を含む。
【００４４】
メソッド対応情報１４１には、メソッド名の対応関係が記録されている。変換テーブル作成部１３は、メソッド名の対応関係を機能名に基づいて判定する。例えば、メソッド情報２２０（図８）において、ｍｅｔｈｏｄ要素２２１に係る機能名（ｆｕｎｃｔｉｏｎＮａｍｅ属性２２１ａの値）は、「ｅｘｅｃｕｔｅＰｒｉｎｔ」であり、当該機能名に係るメソッド名は、ｎａｍｅ要素２２１１の値（ｃｒｅａｔｅＪｏｂ）として定義されている。また、メソッド情報２３０（図９）において、ｍｅｔｈｏｄ要素２３１に係る機能名（ｆｕｎｃｔｉｏｎＮａｍｅ属性２３１ａの値）は、「ｅｘｅｃｕｔｅＰｒｉｎｔ」であり、当該機能名に係るメソッド名は、ｍｅｔｈｏｄＮａｍｅ要素２３１１の値（ＰＯＳＴ）として定義されている。したがって、変換テーブル作成部１３は、機能名「ｅｘｅｃｕｔｅＰｒｉｎｔ」の一致に基づいて、ＳＯＡＰインタフェースにおける「ｃｒｅａｔｅＪｏｂ」と、ＲＥＳＴインタフェースにおける「ＰＯＳＴ」とは、同一の機能を要求するメソッドであると判断し、図示されるように、これらを対応付けて登録する。
【００４５】
パラメータ対応情報１４２には、メソッド対応情報１４１において対応付けられたメソッド間のパラメータ名（引数名）の対応関係が記録されている。変換テーブル作成部１３は、パラメータ名の対応関係を、各メソッド情報においてパラメータが定義された要素のｍｅａｎ属性の値に基づいて判定する。ここで、ｍｅａｎ属性の値は、パラメータの意味を示す識別子である。パラメータの意味の識別子は、インタフェースの別を問わず同一の意味に対しては同一の値が与えられる。
【００４６】
例えば、メソッド情報２２０（図８）において、ｍｅｔｈｏｄ要素２２１に係るメソッドのパラメータが定義された要素は、ｐａｒａｍ要素２２１２ａ及び２２１２ｂであり、当該要素の値がパラメータ名を示す。ｐａｒａｍ要素２２１２ａの値は「ｓｅｓｓｉｏｎｉｄ」であり、そのｍｅａｎ属性の値は、「ｓｅｓｓｉｏｎＩＤ」である。ｐａｒａｍ要素２２１２ｂの値は「ｄｏｃｉｄ」であり、そのｍｅａｎ属性の値は「ｄｏｃｕｍｅｎｔＩＤ」である。
【００４７】
一方、メソッド情報２３０（図９）において、ｍｅｔｈｏｄ要素２３１に係るメソッドのパラメータが定義された要素は、ｐａｒａｍ要素２３１２であり、当該要素の値（ｄｏｃＩＤ）がパラメータを示す。ここで、ｐａｒａｍ要素２３１２のｍｅａｎ属性の値は、「ｄｏｃｕｍｅｎｔＩＤ」であり、メソッド情報２２０におけるｄｏｃｉｄの意味と一致する。但し、ｓｅｓｓｉｏｎＩＤの意味を有するパラメータはメソッド情報２３０には存在しない。したがって、変換テーブル作成部１３は、図示されるようなパラメータ対応情報１４２を登録する。
【００４８】
応答対応情報１４３には、メソッド対応情報１４１において対応付けられたメソッド間の戻り値及び返却パラメータ（ＯＵＴ型引数）の名前の対応関係が記録されている。変換テーブル作成部１３は、戻り値及び返却パラメータ名の対応関係を、各メソッド情報において戻り値又は返却パラメータ名が定義された要素のｍｅａｎ属性の値に基づいて判定する。ｍｅａｎ属性の値の意味は、上述した通りである。
【００４９】
例えば、メソッド情報２２０（図８）において、ｍｅｔｈｏｄ要素２２１に係るメソッドの戻り値の定義を含む要素は、ｒｅｔｕｒｎ要素２２１３である。ｒｅｔｕｒｎ要素２２１３は、子要素としてｎａｍｅ要素２３１３ａと、ｖａｌｕｅ要素２３１３ｂ及び２３１３ｃとを含む。ｎａｍｅ要素２３１３ａ値（ｒｅｔｕｒｎＶａｌｕｅ）は、戻り値に対する名前を示す。ｖａｌｕｅ要素２３１３ｂ及び２３１３ｃは、戻り値が定義された要素であり、当該要素の値が戻り値を示す。ｖａｌｕｅ要素２３１３ｂの値は「ＯＫ」であり、そのｍｅａｎ属性の値は「Ｓｕｃｃｅｓｓ」である。ｖａｌｕｅ要素２３１３ｃの値は「ＮＧ」であり、そのｍｅａｎ属性の値は「Ｆａｉｌｕｒｅ」である。
【００５０】
一方、メソッド情報２３０（図９）において、ｍｅｔｈｏｄ要素２３１に係るメソッドの戻り値が定義された要素は、ｓｔａｔｕｓＮｕｍ要素２３１３及び２３１４であり、当該要素の値が戻り値を示す。ｓｔａｔｕｓＮｕｍ要素２３１３の値は「２０１  Ｃｒｅａｔｅｄ」であり、そのｍｅａｎ属性の値は、メソッド情報２２０における「ＯＫ」の意味と一致する「Ｓｕｃｃｅｓｓ」である。また、ｓｔａｔｕｓＮｕｍ要素２３１４の値は「４００  Ｂａｄ  Ｒｅｑｕｅｓｔ」であり、そのｍｅａｎ属性の値は、メソッド情報２２０における「ＮＧ」の意味と一致する「Ｆａｉｌｕｒｅ」である。したがって、変換テーブル作成部１３は、図示される応答対応情報１４３の１番目と２番目の対応関係を登録する。
【００５１】
また、メソッド情報２２０（図８）において、ｍｅｔｈｏｄ要素２２１に係るメソッドの返却パラメータ名が定義された要素は、ｎａｍｅ要素２２１４であり、その値（ｊｏｂＩＤ）が返却パラメータ名を示す。ｎａｍｅ要素２２１４のｍｅａｎ属性の値は、「ｐｒｉｎｔＪｏｂＩＤ」である。
【００５２】
一方、メソッド情報２３０（図９）において、ｍｅｔｈｏｄ要素２３１に係るメソッドの返却パラメータ名が定義された要素は、ｒｅｓｐｏｎｓｅ要素２３１５であり、その値（ｌｏｃａｔｉｏｎ）が返却パラメータ名を示す。ここで、ｒｅｓｐｏｎｓｅ要素２３１５のｍｅａｎ属性の値は「ｐｒｉｎｔＪｏｂＩＤ」であり、メソッド情報２２０におけるｊｏｂＩＤの意味と一致する。したがって、変換テーブル作成部１３は、図示される応答対応情報１４３の３番目の対応関係を登録する。
【００５３】
続いて、作成された変換テーブル１４を用いてインタフェースの変換が行われる際の処理手順について説明する。図１１は、インタフェースの変換処理を説明するためのシーケンス図である。
【００５４】
例えば、ＳＯＡＰインタフェースに対応しているクライアント３０ｂが、ＲＥＳＴインタフェースに対応している複合機２０ａに対して印刷ジョブの実行を要求するＳＯＡＰ形式のリクエストメッセージを送信したとする（Ｓ２０１）。
【００５５】
図１２は、ＳＯＡＰによって印刷ジョブの実行を要求するリクエストメッセージの一例を示す図である。図１２のリクエストメッセージ３１０は、ＳＯＡＰメッセージ３２０がＨＴＴＰのＰＯＳＴコマンドに載せられた例を示す。
【００５６】
ＰＯＳＴのパラメータ３１１において、当該リクエストメッセージの宛先のＵＲＩが指定さされている。「／ｐｒｉｎｔ」は、印刷サービス２２を示す。また、ＳＯＡＰメッセージ３２０に含まれているタグ３２１（ｃｒｅａｔｅＪｏｂ）において、呼び出すメソッドが「ｃｒｅａｔｅＪｏｂ」であることが指定されている。また、ｓｅｓｓｉｏｎｉｄ要素３３２及びｄｏｃｉｄ要素３２３において、ｃｒｅａｔｅＪｏｂメソッドのパラメータが指定されている。
【００５７】
クライアント３０ｂからのリクエストメッセージ３１０が受信されると、複合機２０ａのフィルタリング部２３は、リクエストメッセージ３１０がＲＥＳＴ形式であるか否か（すなわち、複合機２０ａのＷｅｂサービスによって解釈可能か否か）を判定する（Ｓ２０２）。この場合、ＳＯＡＰメッセージ３２０が含まれているため、フィルタリング部２３は、解釈不能であると判定する。斯かる判定結果に基づいて、変換要求部２４は、ＳＯＡＰメッセージ３２０について、ＲＥＳＴ形式へのインタフェースの変換を要求するリクエストメッセージを変換サーバ１０に要求する（Ｓ２０２）。
【００５８】
図１３は、リクエストメッセージのインタフェースの変換を要求するリクエストメッセージの一例を示す図である。
【００５９】
図１３のリクエストメッセージ３３０において、ＰＯＳＴのパラメータ３３１（／ｉｎｔｅｆａｃｅ＿ｃｈａｎｇｅ）によって、インタフェースの変換要求であることが指定されている。また、リクエストメッセージ３３０には、変換対象となるＳＯＡＰメッセージ３２０がそのまま含まれている。また、ｕｒｉ要素３３２は、ＳＯＡＰメッセージ３３０の宛先のＷｅｂサービスのＵＲＩを示す。すなわち、ＳＯＡＰメッセージ３３０のみでは、宛先のＷｅｂサービスが識別不能になってしまうため、変換要求部２４は、リクエストメッセージ３０のパラメータ３１１の値を、ｕｒｉ要素３３２の値としてリクエストメッセージ３３０に記録する。
【００６０】
複合機２０ａからリクエストメッセージ３１０が受信されると、変換サーバ１０のインタフェース変換部１５は、リクエストメッセージ３１０に含まれているＳＯＡＰメッセージ３２０のメソッドの構成要素のそれぞれ（メソッド名、パラメータ名）について、変換テーブル１４を用いてＲＥＳＴインタフェース用に変換する（Ｓ２０４）。すなわち、図１０の変換テーブル１４のメソッド対応情報１４１に基づいて、メソッド名は、ｃｒｅａｔｅＪｏｂからＰＯＳＴに変換される。また、パラメータ対応情報１４２に基づいて、パラメータ名ｄｏｃｉｄは、ｄｏｃＩＤに変換される。パラメータ名ｓｅｓｓｉｏｎｉｄは、ＲＥＳＴインタフェースにおいて対応するものはないため、無視（破棄）される。なお、パラメータの値は、変換対象ではないため、そのまま出力される。変換結果としてのメソッド名「ＰＯＳＴ」、及びパラメータ名「ｄｏｃＩＤ」と、ｄｏｃＩＤに対するパラメータ値「２００」は、メッセージ作成部１６に出力される。
【００６１】
メッセージ作成部１６は、変換結果に基づいて、ＲＥＳＴインタフェースによるリクエストメッセージを作成し、当該リクエストメッセージを複合機２０ａに送信することにより、印刷サービス２２のメソッドを呼び出す（Ｓ２０５）。
【００６２】
図１４は、ＲＥＳＴによるリクエストメッセージの一例を示す図である。図１４のリクエストメッセージ３４０において、参照番号３４１、３４２、又は３４３によって示される部分以外は、定型文である。したがって、例えば、参照番号３４１、３４２、又は３４３によって示されている部分がパラメータ化（変数化）されたテンプレートメッセージ（メッセージの雛型）が予め作成されており、メッセージ作成部１６は、パラメータ化されている部分に、インタフェース変換部１５による変換結果を埋め込む（書き込む）ことによりリクエストメッセージ３４０を生成する。
【００６３】
なお、３４１には、メソッド名（ＰＯＳＴ）が書き込まれる。３４２には、パラメータ名（ｄｏｃＩＤ）とその値（２００）が書き込まれる。また、３４３には、宛先のＷｅｂサービスのＵＲＩが、リクエストメッセージ３３０のｕｒｉ要素３３２の値に基づいて書き込まれる。
【００６４】
変換サーバ１０からのリクエストメッセージ３４０が受信されると、複合機２０ａのフィルタリング部２３は、リクエストメッセージ３４０がＲＥＳＴ形式であるか否かを判定する（Ｓ２０６）。ここで、リクエストメッセージ３４０はＲＥＳＴ形式であるため、リクエストメッセージ３４０は宛先のＷｅｂサービス（印刷サービス２２）に伝達（通知）される。
【００６５】
続いて、印刷サービス２２は、リクエストメッセージ３４０において要求されている機能（印刷ジョブの実行）を実行する（Ｓ２０７）。ここで、パラメータ３４２にその文書ＩＤが指定されている文書データが印刷対象とされる。印刷ジョブの実行が完了すると、印刷サービス２２は、ＲＥＳＴ形式による応答メッセージを、リクエストメッセージ３４０の送信元の変換サーバ１０に返信する（Ｓ２０８）。
【００６６】
図１５は、ＲＥＳＴ形式による応答メッセージの一例を示す図である。図１５に示されるように応答メッセージ３５０には、戻り値３５１、返却パラメータ名３５２、及び返却パラメータ値３５３が含まれている。戻り値３５１としては、Ｓｕｃｃｅｓｓ（成功）を示す「２０１  Ｃｒｅａｔｅｄ」が記録されている。返却パラメータ名３５２としては、「ｌｏｃａｔｉｏｎ」が記録されている。返却パラメータ値としては、印刷ジョブのＩＤ（ｍｆｐ．ｅｘａｍｐｌｅ．ｊｐ／ｐｒｉｎｔ／ｊｏｂ／００００１）が記録されている。
【００６７】
複合機２０ａから応答メッセージ３５０が受信されると、変換サーバ１０のインタフェース変換部１５は、応答メッセージ３５０に含まれている応答情報の構成要素のそれぞれ（戻り値、返却パラメータ名）について、変換テーブル１４の応答対応情報１４３（図１０参照）を用いてＳＯＡＰインタフェース用に変換する（Ｓ２０９）。すなわち、戻り値である「２０１  Ｃｒｅａｔｅｄ」は「ｒｅｔｕｒｎＶａｌｕｅ」に対する「ＯＫ」に変換され、返却パラメータ名である「ｌｏｃａｔｉｏｎ」は「ｊｏｂＩＤ」に変換される。なお、返却パラメータ値は、変換対象ではないため、そのまま出力される。変換結果は、メッセージ作成部１６に出力される。
【００６８】
メッセージ作成部１６は、変換結果に基づいて、ＳＯＡＰインタフェースによる応答メッセージを作成し、当該応答メッセージを複合機２０ａに送信する（Ｓ２１０）。
【００６９】
図１６は、変換結果としてのＳＯＡＰメッセージを含む応答メッセージの一例を示す図である。図１６の応答メッセージ３６０には、ＳＯＡＰメッセージ３７０が含まれている。ＳＯＡＰメッセージ３７０において、参照番号３７１又は３７２によって示される部分以外は、定型文である。したがって、例えば、参照番号３７１又は３７２によって示されている部分がパラメータ化（変数化）されたテンプレートメッセージが予め作成されており、メッセージ作成部１６は、パラメータ化されている部分に、インタフェース変換部１５による変換結果を埋め込む（書き込む）ことにＳＯＡＰメッセージ３７０を生成する。
【００７０】
なお、３７１には、戻り値「ＯＫ」が書き込まれる。３７２には、返却パラメータ名（ｊｏｂＩＤ）とその値（ｍｆｐ．ｅｘａｍｐｌｅ．ｊｐ／ｐｒｉｎｔ／ｊｏｂ／００００１）とが書き込まれる。
【００７１】
変換サーバ１０からのリクエストメッセージ３６０が受信されると、複合機２０ａのフィルタリング部２３は、真の印刷ジョブの実行要求元であるクライアント３０ｂに対して、ＳＯＡＰメッセージ３７０を、リクエストメッセージ３１０に対する応答として返信する（Ｓ２１１）。
【００７２】
なお、クライアント３０ｂは、ＳＯＡＰインタフェースに対応しているため、ＳＯＡＰメッセージ３７０を適切に解釈することができ、印刷ジョブに成功したことを確認することができる。
【００７３】
上述したように、本発明の実施の形態における情報処理システム１によれば、変換サーバ１０によって、インタフェースの変換が一元的に行われる。したがって、各複合機２０は、複数種類のインタフェースに対応する必要はなく、システム構成が冗長になるのを防止することができる。
【００７４】
また、変換サーバ１０は、各複合機２０より機能情報（Ｗｅｂサービス情報、メソッド情報）を収集し、当該機能情報に基づいて、変換テーブル１４を自動的に生成する。したがって、人的作業によって変換テーブル１４を作成する必要はない。
【００７５】
また、メソッド情報には、メソッドの各構成要素についてその意味を示す識別子（ｍｅａｎ属性）が定義されている。そして、この識別子の値は、ンタフェースの別を問わず同じ意味に対して同一の値が与えられるものである。したがって、それぞれの構成要素の名前が異なる場合であっても適切に対応関係を導出（判断）することができる。
【００７６】
なお、本実施の形態では、ＳＯＡＰとＲＥＳＴとの変換について説明したが、他のインタフェース間の変換に関しても本発明は有効に適用可能である。また、プロトコルが同じ場合であって、メソッドの仕様のみが異なる場合についても本発明は有効に適用可能である。
【００７７】
また、本実施の形態では、インタフェースが異なる複数台の複合機２０が存在する例について説明したが、一台の複合機２０においてインタフェースが変更される場合についても本発明は有効に適用可能である。この場合、変更前の機能情報と変更後の機能情報とに基づいて、変換テーブル１０を作成すればよい。
【００７８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７９】
【図１】ＷｅｂサービスのインタフェースがＳＯＡＰからＲＥＳＴへ変更された場合の例を示す図である。
【図２】ＳＯＡＰ及びＲＥＳＴのインタフェースがサーバに実装された例を示す図である。
【図３】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図４】本発明の実施の形態における変換サーバの機能構成例を示す図である。
【図５】本発明の実施の形態における変換サーバのハードウェア構成例を示す図である。
【図６】変換サーバによる変換テーブル生成時における処理手順を説明するためのフローチャートである。
【図７】Ｗｅｂサービス情報の一例を示す図である。
【図８】ＳＯＡＰインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。
【図９】ＲＥＳＴインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。
【図１０】変換テーブルの一例を示す図である。
【図１１】インタフェースの変換処理を説明するためのシーケンス図である。
【図１２】ＳＯＡＰによって印刷ジョブの実行を要求するリクエストメッセージの一例を示す図である。
【図１３】リクエストメッセージのインタフェースの変換を要求するリクエストメッセージの一例を示す図である。
【図１４】ＲＥＳＴによるリクエストメッセージの一例を示す図である。
【図１５】ＲＥＳＴ形式による応答メッセージの一例を示す図である。
【図１６】変換結果としてのＳＯＡＰメッセージを含む応答メッセージの一例を示す図である。
【符号の説明】
【００８０】
１          情報処理システム
１０        変換サーバ
１１        通信制御部
１２        機能情報取得部
１３        変換テーブル作成部
１４        変換テーブル
１５        インタフェース変換部
１６        メッセージ作成部
２０        複合機
２１        機器管理サービス
２２        印刷サービス
２３        フィルタリング部
２４        変換要求部
３０        クライアント
１００      ドライブ装置
１０１      記録媒体
１０２      補助記憶装置
１０３      メモリ装置
１０４      ＣＰＵ
１０５      インタフェース装置
Ｂ          バス
【図１】
2009064108.tif 000003
【図２】
2009064108.tif 000004
【図３】
2009064108.tif 000005
【図４】
2009064108.tif 000006
【図５】
2009064108.tif 000007
【図６】
2009064108.tif 000008
【図７】
2009064108.tif 000009
【図８】
2009064108.tif 000010
【図９】
2009064108.tif 000011
【図１０】
2009064108.tif 000012
【図１１】
2009064108.tif 000013
【図１２】
2009064108.tif 000014
【図１３】
2009064108.tif 000015
【図１４】
2009064108.tif 000016
【図１５】
2009064108.tif 000017
【図１６】
2009064108.tif 000018