説明

変換装置、変換方法及び変換システム

【課題】インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムの提供を目的とする。
【解決手段】ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、変換装置、変換方法及び変換システムに関し、特にネットワークを介して呼び出されるインタフェースの変換装置、変換方法及び変換システムに関する。
【背景技術】
【0002】
従来、一般的にRPC(Remote Procedure Call)と呼ばれる技術が存在する。RPCによれば、ネットワークを介して異なるコンピュータ上における手続き(関数又はメソッド)を呼び出すことができる。例えば、近年では、Webサービスの手続きを呼び出すためのSOAP(Simple Object Access Protocol)が普及している。
【0003】
ところで、RPCによって呼び出される手続きが実装されたサーバ側において、命名規則の変更、機能拡張、又は利用するプロトコルの変更等に伴って、当該手続きのインタフェースを変更したい場合がある。この場合、そのサーバにおけるサービスを利用するクライアントにおいても、新たなインタフェースに対応する必要がある。
【0004】
例えば、図1は、WebサービスのインタフェースがSOAPからRESTへ変更された場合の例を示す図である。図中において、サーバ510は、Webサービスを提供するコンピュータである。サーバ510には、Webサービスとして機器管理サービス511及び印刷サービス512が実装されている。
【0005】
サーバ510のWebサービスを利用するクライアントとしては、クライアント520a、520b、及び520c等が存在する。クライアント520aは、REST(Representational State Transfer)インタフェースに対応したクライアントである。クライアント520b及び520cは、SOAPインタフェースに対応したクライアントである。
【0006】
ここで、サーバ510のインタフェースがSOAPからREST形式に変更された場合、クライアント520b及びクライアント520cはサーバ510のWebサービスを利用できなくなってしまう。特に、多数のクライアントが存在する場合、各クライアントについてRESTインタフェースに対応させるのは、非常に煩雑な作業が要求される。
【0007】
また、複数のサーバが存在し、サーバ間においてインタフェースのバージョンが異なる場合(すなわち、異なるバージョンのインタフェースが混在する場合)、各クライアントにおいていずれか一方のバージョンに対応させてしまうと、他方のバージョンに係るサーバを利用できなくなってしまう。
【0008】
そこで、図1の場合、SOAP及びRESTの双方のインタフェースをサーバ510に実装することが考えられる。図2は、SOAP及びRESTのインタフェースがサーバに実装された例を示す図である。
【0009】
図2において、サーバ510には、SOAPインタフェースによる印刷サービス512
aが更に実装されている。この場合、PCクライアント520b及び520cは、RESTインタフェースに対応することなくSOAPインタフェースの印刷サービス512aを利用することができる。
【特許文献1】特開2006−260329号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、図2のようにインタフェースのバージョンごとにWebサービスを実装するのは、非常に冗長な構成であり、記憶装置等の資源の消費量を著しく増加させる。そのため、サーバ側では、記憶装置等を増設する必要が生じ、コストを増大させるという問題がある。
【0011】
また、バグの修正や機能強化等に際し、インタフェースごとに作業が必要とされるため、保守作業及び開発作業の効率を著しく低下させるという問題もある。
【0012】
本発明は、上記の点に鑑みてなされたものであって、インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムの提供を目的とする。
【課題を解決するための手段】
【0013】
そこで上記課題を解決するため、本発明は、ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする。
【0014】
このような変換装置では、インタフェースの相違を適切に吸収させることができる。
【発明の効果】
【0015】
本発明によれば、インタフェースの相違を適切に吸収させることのできる変換装置、変換方法及び変換システムを提供することができる。
【発明を実施するための最良の形態】
【0016】
以下、図面に基づいて本発明の実施の形態を説明する。図3は、本発明の実施の形態における情報処理システムの構成例を示す図である。図3における情報システム1において、変換サーバ10と、複合機20a及び20b等の複数の複合機(以下、総称する場合「複合機20」という。)と、クライアント30a、30b、及び30c(以下、総称する場合、「クライアント30」という。)とは、LAN(Local Area Network)又はインターネット等のネットワーク50(有線又は無線の別は問わない。)を介して接続されている。
【0017】
クライアント30は、複合機20に実装されたWebサービスを利用するためのプログラム(クライアントプログラム)が実装されたPC(Personal Computer)等のコンピュータである。クライアント30aのクライアントプログラムは、REST(Representational State Transfer)インタフェースによるWebサービスが利用可能である。クライアント30b及び30cのクライアントプログラムは、SOAP(Simple Object Access Protocol)インタフェースによるWebサービスが利用可能である。
【0018】
複合機20は、コピー、ファクス、印刷等の複数の機能を一台の筐体によって実現する画像形成装置である。各複合機20には、機器管理サービス21及び印刷サービス22等がWebサービスとして実装されている。機器管理サービス21は、機器情報(複合機20の各種情報)の管理を行うWebサービスである。印刷サービス22は、印刷ジョブを実行するWebサービスである。
【0019】
複合機20a及び20bはいずれも同様の機能構成を有するが、Webサービスが対応している通信プロトコル及びメソッドの形式(以下、双方を含めて「インタフェース」という。)が異なる。すなわち、複合機20aのWebサービスは、RESTインタフェースに基づいて実装されている。したがって、クライアント30b及び30cは、通常では複合機20aのWebサービスを利用することはできない。また、複合機20bのWebサービスは、SOAPインタフェースに基づいて実装されている。したがって、クライアント30aは、通常では複合機20bのWebサービスは利用できない。
【0020】
そこで、本実施の形態において、各複合機20は、フィルタリング部23及び変換要求部24等を有する。これら各部は、複合機20に実装されたプログラムに従ってCPUが実現するソフトウェアである。
【0021】
フィルタリング部23は、クライアント30からのWebサービスの利用要求(リクエストメッセージ)が、当該複合機20のインタフェースに適合しているか否かを判定する。
【0022】
変換要求部24は、当該複合機20のインタフェースに適合していないリクエストメッセージについて、当該複合機20のインタフェースに適合した形式への変換を、変換サーバ10に要求する。変換要求部24は、また、リクエストメッセージに応じて実行されるWebサービスの処理結果を示す応答メッセージの逆変換(当該複合機20のインタフェースに適合した形式からリクエストメッセージの送信元のクライアント30に適合した形式への変換)を変換サーバ30に要求する。
【0023】
変換サーバ30は、変換が要求されたリクエストメッセージ又は応答メッセージを、要求された形式にし、変換結果を変換要求元の複合機20に返信する。
【0024】
変換サーバ30について、更に詳しく説明する。図4は、本発明の実施の形態における変換サーバの機能構成例を示す図である。図4において変換サーバ10は、通信制御部11、機能情報取得部12、変換テーブル作成部13、変換テーブル14、インタフェース変換部15、及びメッセージ作成部16等を有する。
【0025】
通信制御部11は、複合機20等とのネットワークを介した通信を制御する。機能情報取得部12は、各複合機20より機能情報を取得(収集)する。機能情報とは、複合機20が有しているWebサービスを関する情報と、各Webサービスのメソッドの定義情報とが含まれている情報をいう。取得された機能情報は、変換サーバ30の記憶装置に蓄積(記録)される。変換テーブル作成部13は、各複合機20より取得された機能情報に基づいて変換テーブル14を作成(生成)する。変換テーブル14は、同一の機能(サービス)に対する異なるインタフェース間の呼び出し情報及び応答情報の構成要素の対応関係が記録されたテーブルである。インタフェース変換部15は、複合機20より変換が要求されたリクエストメッセージ又は応答メッセージに含まれる、インタフェースの呼び出し情報又は応答情報の形式を変換テーブル14に基づいて変換する。メッセージ作成部16は、インタフェース変換部15より出力される変換後のインタフェースの呼び出し情報又は応答情報に基づいて、複合機20より要求された形式のリクエストメッセージ又は応答メッセージを生成する。
【0026】
図5は、本発明の実施の形態における変換サーバのハードウェア構成例を示す図である。図5の変換サーバ10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105とを有するように構成される。
【0027】
変換サーバ10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0028】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って変換サーバ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0029】
なお、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。
【0030】
以下、情報処理システム1の処理手順について説明する。図6は、変換サーバによる変換テーブル生成時における処理手順を説明するためのフローチャートである。
【0031】
ステップS101において、機能情報取得部12は、各複合機20のIPアドレス又はURI(例えば、mfp.example.jp)対して、それぞれが有するWebサービスに関する情報(以下「Webサービス情報」という。)の取得要求を送信し、当該取得要求に対する返信としてWebサービス情報を受信する。なお、各複合機20のIPアドレス又はURIは、予め変換サーバ10に登録されていてもよいし、変換サーバ10がネットワークに接続されている複合機20を自動的に検索することにより取得してもよい。
【0032】
図7は、Webサービス情報の一例を示す図である。図7においてWebサービス情報210は、XML(eXtensible Markup Language)形式によって定義されている。
【0033】
Webサービス情報210は、ルート要素(capability要素)の子要素として、type要素211と、service要素212及び213とを含む。type要素211の値は、Webサービスのインタフェースの種別を示す。図7のように「SOAP」の場合は、SOAPインタフェースに対応していることを示す。また、「REST」の場合は、RESTインタフェースに対応していることを示す。
【0034】
service要素212は、印刷サービス22に関する情報である。例えば、service要素212のserviceName属性212aの値(Print)は、印刷サービス22のサービス名を示す。また、service要素212の子要素であるuri要素2121の値(/print)は、印刷サービス22のURIを示す。
【0035】
service要素213は、機器管理サービス21に関する情報である。例えば、service要素213のserviceName属性213aの値(DeviceControl)は、機器管理サービス21のサービス名を示す。また、service要素213の子要素であるuri要素2131の値(/deviceControl)は、機器管理サービス21のURIを示す。
【0036】
なお、複合機20が更に他のWebサービスを有する場合は、当該Webサービスに対応するservice要素がWebサービス情報210に含まれる。
【0037】
続いて、機能情報取得部12は、各複合機20より取得されたそれぞれのWebサービス情報に基づいて、各複合機20の各WebサービスのURIを特定し、各URI(例えば、mfp.example.jp/print等)に対してメソッド(手続き)の定義情報(以下、「メソッド情報」という。)の取得要求を送信することにより、各Webサービスよりメソッド情報を取得する(S102)。本実施の形態では、複合機20a及び20bのそれぞれの機器管理サービス21及び印刷サービス22よりメソッド情報が取得される。機能情報取得部12は、取得されたメソッド情報をサービス名と関連付けて補助記憶装置102に記録する。なお、インタフェースの別を問わず同一のサービスを提供するWebサービスに対しては同一のサービス名が与えられる。したがって、例えば、複合機20aの印刷サービス22より取得されたメソッド情報と複合機20bの印刷サービス22より取得されたメソッド情報とは、同一のサービス名に関連付けられる。
【0038】
図8は、SOAPインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。すなわち、図8におけるメソッド情報220は、複合機20bの印刷サービス22より取得されるメソッド情報を示す。
【0039】
メソッド情報220は、印刷サービス22が有するメソッドごとにmethod要素を含む。図中では、method要素221及びmethod要素222の二つのmethod要素が含まれている。各method要素は、functionName属性を有する。functionName属性の値は、メソッドの機能名(意味)を示す識別子である。例えば、functionName属性221aの値である「executePrint」は、印刷ジョブの実行を示す。なお、機能名は、インタフェースの別を問わず(RESTであるかSOAPであるかを問わず)同一の機能(意味)に対しては同一の値が与えられる。
【0040】
図9は、RESTインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。すなわち、図9におけるメソッド情報230は、複合機20aの印刷サービス22より取得されるメソッド情報を示す。
【0041】
メソッド情報230は、印刷サービス22有するメソッドごとにmethod要素を含む。図中では、method要素231及びmethod要素232の二つのmethod要素が含まれている。各method要素は、functionName属性を有する。functionName属性の値は、メソッドの機能名を示す。例えば、functionName属性231aの値は、「executePrint」であり、図8のfunction属性221aと一致する。
【0042】
続いて、変換テーブル作成部13は、機能情報取得部12によって取得されたメソッド情報等に基づいて変換テーブル14を作成する。
【0043】
図10は、変換テーブルの一例を示す図である。図10の変換テーブル14は、図8のメソッド情報220と図9のメソッド情報230と等に基づいて作成された例を示す。図10において変換テーブル14は、メソッド対応情報141、パラメータ対応情報142、及び応答対応情報143を含む。
【0044】
メソッド対応情報141には、メソッド名の対応関係が記録されている。変換テーブル作成部13は、メソッド名の対応関係を機能名に基づいて判定する。例えば、メソッド情報220(図8)において、method要素221に係る機能名(functionName属性221aの値)は、「executePrint」であり、当該機能名に係るメソッド名は、name要素2211の値(createJob)として定義されている。また、メソッド情報230(図9)において、method要素231に係る機能名(functionName属性231aの値)は、「executePrint」であり、当該機能名に係るメソッド名は、methodName要素2311の値(POST)として定義されている。したがって、変換テーブル作成部13は、機能名「executePrint」の一致に基づいて、SOAPインタフェースにおける「createJob」と、RESTインタフェースにおける「POST」とは、同一の機能を要求するメソッドであると判断し、図示されるように、これらを対応付けて登録する。
【0045】
パラメータ対応情報142には、メソッド対応情報141において対応付けられたメソッド間のパラメータ名(引数名)の対応関係が記録されている。変換テーブル作成部13は、パラメータ名の対応関係を、各メソッド情報においてパラメータが定義された要素のmean属性の値に基づいて判定する。ここで、mean属性の値は、パラメータの意味を示す識別子である。パラメータの意味の識別子は、インタフェースの別を問わず同一の意味に対しては同一の値が与えられる。
【0046】
例えば、メソッド情報220(図8)において、method要素221に係るメソッドのパラメータが定義された要素は、param要素2212a及び2212bであり、当該要素の値がパラメータ名を示す。param要素2212aの値は「sessionid」であり、そのmean属性の値は、「sessionID」である。param要素2212bの値は「docid」であり、そのmean属性の値は「documentID」である。
【0047】
一方、メソッド情報230(図9)において、method要素231に係るメソッドのパラメータが定義された要素は、param要素2312であり、当該要素の値(docID)がパラメータを示す。ここで、param要素2312のmean属性の値は、「documentID」であり、メソッド情報220におけるdocidの意味と一致する。但し、sessionIDの意味を有するパラメータはメソッド情報230には存在しない。したがって、変換テーブル作成部13は、図示されるようなパラメータ対応情報142を登録する。
【0048】
応答対応情報143には、メソッド対応情報141において対応付けられたメソッド間の戻り値及び返却パラメータ(OUT型引数)の名前の対応関係が記録されている。変換テーブル作成部13は、戻り値及び返却パラメータ名の対応関係を、各メソッド情報において戻り値又は返却パラメータ名が定義された要素のmean属性の値に基づいて判定する。mean属性の値の意味は、上述した通りである。
【0049】
例えば、メソッド情報220(図8)において、method要素221に係るメソッドの戻り値の定義を含む要素は、return要素2213である。return要素2213は、子要素としてname要素2313aと、value要素2313b及び2313cとを含む。name要素2313a値(returnValue)は、戻り値に対する名前を示す。value要素2313b及び2313cは、戻り値が定義された要素であり、当該要素の値が戻り値を示す。value要素2313bの値は「OK」であり、そのmean属性の値は「Success」である。value要素2313cの値は「NG」であり、そのmean属性の値は「Failure」である。
【0050】
一方、メソッド情報230(図9)において、method要素231に係るメソッドの戻り値が定義された要素は、statusNum要素2313及び2314であり、当該要素の値が戻り値を示す。statusNum要素2313の値は「201 Created」であり、そのmean属性の値は、メソッド情報220における「OK」の意味と一致する「Success」である。また、statusNum要素2314の値は「400 Bad Request」であり、そのmean属性の値は、メソッド情報220における「NG」の意味と一致する「Failure」である。したがって、変換テーブル作成部13は、図示される応答対応情報143の1番目と2番目の対応関係を登録する。
【0051】
また、メソッド情報220(図8)において、method要素221に係るメソッドの返却パラメータ名が定義された要素は、name要素2214であり、その値(jobID)が返却パラメータ名を示す。name要素2214のmean属性の値は、「printJobID」である。
【0052】
一方、メソッド情報230(図9)において、method要素231に係るメソッドの返却パラメータ名が定義された要素は、response要素2315であり、その値(location)が返却パラメータ名を示す。ここで、response要素2315のmean属性の値は「printJobID」であり、メソッド情報220におけるjobIDの意味と一致する。したがって、変換テーブル作成部13は、図示される応答対応情報143の3番目の対応関係を登録する。
【0053】
続いて、作成された変換テーブル14を用いてインタフェースの変換が行われる際の処理手順について説明する。図11は、インタフェースの変換処理を説明するためのシーケンス図である。
【0054】
例えば、SOAPインタフェースに対応しているクライアント30bが、RESTインタフェースに対応している複合機20aに対して印刷ジョブの実行を要求するSOAP形式のリクエストメッセージを送信したとする(S201)。
【0055】
図12は、SOAPによって印刷ジョブの実行を要求するリクエストメッセージの一例を示す図である。図12のリクエストメッセージ310は、SOAPメッセージ320がHTTPのPOSTコマンドに載せられた例を示す。
【0056】
POSTのパラメータ311において、当該リクエストメッセージの宛先のURIが指定さされている。「/print」は、印刷サービス22を示す。また、SOAPメッセージ320に含まれているタグ321(createJob)において、呼び出すメソッドが「createJob」であることが指定されている。また、sessionid要素332及びdocid要素323において、createJobメソッドのパラメータが指定されている。
【0057】
クライアント30bからのリクエストメッセージ310が受信されると、複合機20aのフィルタリング部23は、リクエストメッセージ310がREST形式であるか否か(すなわち、複合機20aのWebサービスによって解釈可能か否か)を判定する(S202)。この場合、SOAPメッセージ320が含まれているため、フィルタリング部23は、解釈不能であると判定する。斯かる判定結果に基づいて、変換要求部24は、SOAPメッセージ320について、REST形式へのインタフェースの変換を要求するリクエストメッセージを変換サーバ10に要求する(S202)。
【0058】
図13は、リクエストメッセージのインタフェースの変換を要求するリクエストメッセージの一例を示す図である。
【0059】
図13のリクエストメッセージ330において、POSTのパラメータ331(/inteface_change)によって、インタフェースの変換要求であることが指定されている。また、リクエストメッセージ330には、変換対象となるSOAPメッセージ320がそのまま含まれている。また、uri要素332は、SOAPメッセージ330の宛先のWebサービスのURIを示す。すなわち、SOAPメッセージ330のみでは、宛先のWebサービスが識別不能になってしまうため、変換要求部24は、リクエストメッセージ30のパラメータ311の値を、uri要素332の値としてリクエストメッセージ330に記録する。
【0060】
複合機20aからリクエストメッセージ310が受信されると、変換サーバ10のインタフェース変換部15は、リクエストメッセージ310に含まれているSOAPメッセージ320のメソッドの構成要素のそれぞれ(メソッド名、パラメータ名)について、変換テーブル14を用いてRESTインタフェース用に変換する(S204)。すなわち、図10の変換テーブル14のメソッド対応情報141に基づいて、メソッド名は、createJobからPOSTに変換される。また、パラメータ対応情報142に基づいて、パラメータ名docidは、docIDに変換される。パラメータ名sessionidは、RESTインタフェースにおいて対応するものはないため、無視(破棄)される。なお、パラメータの値は、変換対象ではないため、そのまま出力される。変換結果としてのメソッド名「POST」、及びパラメータ名「docID」と、docIDに対するパラメータ値「200」は、メッセージ作成部16に出力される。
【0061】
メッセージ作成部16は、変換結果に基づいて、RESTインタフェースによるリクエストメッセージを作成し、当該リクエストメッセージを複合機20aに送信することにより、印刷サービス22のメソッドを呼び出す(S205)。
【0062】
図14は、RESTによるリクエストメッセージの一例を示す図である。図14のリクエストメッセージ340において、参照番号341、342、又は343によって示される部分以外は、定型文である。したがって、例えば、参照番号341、342、又は343によって示されている部分がパラメータ化(変数化)されたテンプレートメッセージ(メッセージの雛型)が予め作成されており、メッセージ作成部16は、パラメータ化されている部分に、インタフェース変換部15による変換結果を埋め込む(書き込む)ことによりリクエストメッセージ340を生成する。
【0063】
なお、341には、メソッド名(POST)が書き込まれる。342には、パラメータ名(docID)とその値(200)が書き込まれる。また、343には、宛先のWebサービスのURIが、リクエストメッセージ330のuri要素332の値に基づいて書き込まれる。
【0064】
変換サーバ10からのリクエストメッセージ340が受信されると、複合機20aのフィルタリング部23は、リクエストメッセージ340がREST形式であるか否かを判定する(S206)。ここで、リクエストメッセージ340はREST形式であるため、リクエストメッセージ340は宛先のWebサービス(印刷サービス22)に伝達(通知)される。
【0065】
続いて、印刷サービス22は、リクエストメッセージ340において要求されている機能(印刷ジョブの実行)を実行する(S207)。ここで、パラメータ342にその文書IDが指定されている文書データが印刷対象とされる。印刷ジョブの実行が完了すると、印刷サービス22は、REST形式による応答メッセージを、リクエストメッセージ340の送信元の変換サーバ10に返信する(S208)。
【0066】
図15は、REST形式による応答メッセージの一例を示す図である。図15に示されるように応答メッセージ350には、戻り値351、返却パラメータ名352、及び返却パラメータ値353が含まれている。戻り値351としては、Success(成功)を示す「201 Created」が記録されている。返却パラメータ名352としては、「location」が記録されている。返却パラメータ値としては、印刷ジョブのID(mfp.example.jp/print/job/00001)が記録されている。
【0067】
複合機20aから応答メッセージ350が受信されると、変換サーバ10のインタフェース変換部15は、応答メッセージ350に含まれている応答情報の構成要素のそれぞれ(戻り値、返却パラメータ名)について、変換テーブル14の応答対応情報143(図10参照)を用いてSOAPインタフェース用に変換する(S209)。すなわち、戻り値である「201 Created」は「returnValue」に対する「OK」に変換され、返却パラメータ名である「location」は「jobID」に変換される。なお、返却パラメータ値は、変換対象ではないため、そのまま出力される。変換結果は、メッセージ作成部16に出力される。
【0068】
メッセージ作成部16は、変換結果に基づいて、SOAPインタフェースによる応答メッセージを作成し、当該応答メッセージを複合機20aに送信する(S210)。
【0069】
図16は、変換結果としてのSOAPメッセージを含む応答メッセージの一例を示す図である。図16の応答メッセージ360には、SOAPメッセージ370が含まれている。SOAPメッセージ370において、参照番号371又は372によって示される部分以外は、定型文である。したがって、例えば、参照番号371又は372によって示されている部分がパラメータ化(変数化)されたテンプレートメッセージが予め作成されており、メッセージ作成部16は、パラメータ化されている部分に、インタフェース変換部15による変換結果を埋め込む(書き込む)ことにSOAPメッセージ370を生成する。
【0070】
なお、371には、戻り値「OK」が書き込まれる。372には、返却パラメータ名(jobID)とその値(mfp.example.jp/print/job/00001)とが書き込まれる。
【0071】
変換サーバ10からのリクエストメッセージ360が受信されると、複合機20aのフィルタリング部23は、真の印刷ジョブの実行要求元であるクライアント30bに対して、SOAPメッセージ370を、リクエストメッセージ310に対する応答として返信する(S211)。
【0072】
なお、クライアント30bは、SOAPインタフェースに対応しているため、SOAPメッセージ370を適切に解釈することができ、印刷ジョブに成功したことを確認することができる。
【0073】
上述したように、本発明の実施の形態における情報処理システム1によれば、変換サーバ10によって、インタフェースの変換が一元的に行われる。したがって、各複合機20は、複数種類のインタフェースに対応する必要はなく、システム構成が冗長になるのを防止することができる。
【0074】
また、変換サーバ10は、各複合機20より機能情報(Webサービス情報、メソッド情報)を収集し、当該機能情報に基づいて、変換テーブル14を自動的に生成する。したがって、人的作業によって変換テーブル14を作成する必要はない。
【0075】
また、メソッド情報には、メソッドの各構成要素についてその意味を示す識別子(mean属性)が定義されている。そして、この識別子の値は、ンタフェースの別を問わず同じ意味に対して同一の値が与えられるものである。したがって、それぞれの構成要素の名前が異なる場合であっても適切に対応関係を導出(判断)することができる。
【0076】
なお、本実施の形態では、SOAPとRESTとの変換について説明したが、他のインタフェース間の変換に関しても本発明は有効に適用可能である。また、プロトコルが同じ場合であって、メソッドの仕様のみが異なる場合についても本発明は有効に適用可能である。
【0077】
また、本実施の形態では、インタフェースが異なる複数台の複合機20が存在する例について説明したが、一台の複合機20においてインタフェースが変更される場合についても本発明は有効に適用可能である。この場合、変更前の機能情報と変更後の機能情報とに基づいて、変換テーブル10を作成すればよい。
【0078】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0079】
【図1】WebサービスのインタフェースがSOAPからRESTへ変更された場合の例を示す図である。
【図2】SOAP及びRESTのインタフェースがサーバに実装された例を示す図である。
【図3】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図4】本発明の実施の形態における変換サーバの機能構成例を示す図である。
【図5】本発明の実施の形態における変換サーバのハードウェア構成例を示す図である。
【図6】変換サーバによる変換テーブル生成時における処理手順を説明するためのフローチャートである。
【図7】Webサービス情報の一例を示す図である。
【図8】SOAPインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。
【図9】RESTインタフェースの印刷サービスより取得されるメソッド情報の一例を示す図である。
【図10】変換テーブルの一例を示す図である。
【図11】インタフェースの変換処理を説明するためのシーケンス図である。
【図12】SOAPによって印刷ジョブの実行を要求するリクエストメッセージの一例を示す図である。
【図13】リクエストメッセージのインタフェースの変換を要求するリクエストメッセージの一例を示す図である。
【図14】RESTによるリクエストメッセージの一例を示す図である。
【図15】REST形式による応答メッセージの一例を示す図である。
【図16】変換結果としてのSOAPメッセージを含む応答メッセージの一例を示す図である。
【符号の説明】
【0080】
1 情報処理システム
10 変換サーバ
11 通信制御部
12 機能情報取得部
13 変換テーブル作成部
14 変換テーブル
15 インタフェース変換部
16 メッセージ作成部
20 複合機
21 機器管理サービス
22 印刷サービス
23 フィルタリング部
24 変換要求部
30 クライアント
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

【特許請求の範囲】
【請求項1】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置であって、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、
変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする変換装置。
【請求項2】
前記対応情報生成手段は、それぞれインタフェースの構成要素の名前と該名前の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の名前を対応付けて対応情報を生成し、
前記変換手段は、変換対象とされたインタフェースについて、各構成要素の名前を前記対応情報において対応付けられている名前に変換することを特徴とする請求項1記載の変換装置。
【請求項3】
前記対応情報生成手段は、それぞれインタフェースの構成要素の値と該値の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の値を対応付けて対応情報を生成し、
前記変換手段は、変換対象とされたインタフェースについて、各構成要素の値を前記対応情報において対応付けられている値に変換することを特徴とする請求項1又は2記載の変換装置。
【請求項4】
前記インタフェース介して処理を実行する情報処理装置より前記定義情報を取得する取得手段を有することを特徴とする請求項1乃至3いずれか一項記載の変換装置。
【請求項5】
前記変換手段は、インタフェースが呼び出された情報処理装置からの変換要求に応じ、該インタフェースを変換対象として各構成要素を変換することを特徴とする請求項1乃至4いずれか一項記載の変換装置。
【請求項6】
前記情報処理装置に対して、前記変換手段によって変換されたインタフェースの呼び出しを行う呼び出し手段を有することを特徴とする請求項5記載の変換装置。
【請求項7】
前記変換手段は、前記呼び出し手段によるインタフェースの呼び出しに応じ前記情報処理装置より返信される応答情報の構成要素を前記対応情報に基づいて変換し、変換された応答情報を前記情報処理装置に返信させることを特徴とする請求項6記載の変換装置。
【請求項8】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置が実行する変換方法であって、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手順と、
変換対象とされたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手順とを有することを特徴とする変換方法。
【請求項9】
前記対応情報生成手順は、それぞれインタフェースの構成要素の名前と該名前の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の名前を対応付けて対応情報を生成し、
前記変換手順は、変換対象とされたインタフェースについて、各構成要素の名前を前記対応情報において対応付けられている名前に変換することを特徴とする請求項8記載の変換方法。
【請求項10】
前記対応情報生成手順は、それぞれインタフェースの構成要素の値と該値の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素の値を対応付けて対応情報を生成し、
前記変換手順は、変換対象とされたインタフェースについて、各構成要素の値を前記対応情報において対応付けられている値に変換することを特徴とする請求項8又は9記載の変換方法。
【請求項11】
前記インタフェース介して処理を実行する情報処理装置より前記定義情報を取得する取得手順を有することを特徴とする請求項8乃至10いずれか一項記載の変換方法。
【請求項12】
前記変換手順は、インタフェースが呼び出された情報処理装置からの変換要求に応じ、該インタフェースを変換対象として各構成要素を変換することを特徴とする請求項8乃至11いずれか一項記載の変換方法。
【請求項13】
前記情報処理装置に対して、前記変換手順において変換されたインタフェースの呼び出しを行う呼び出し手順を有することを特徴とする請求項12記載の変換方法。
【請求項14】
前記変換手順は、前記呼び出し手順によるインタフェースの呼び出しに応じ前記情報処理装置より返信される応答情報の構成要素を前記対応情報に基づいて変換し、変換された応答情報を前記情報処理装置に返信させることを特徴とする請求項13記載の変換方法。
【請求項15】
ネットワークを介して呼び出されるインタフェースの変換を行う変換装置と、前記インタフェースを介して処理を実行する画像形成装置とを有する変換システムであって、
前記画像形成装置は、
呼び出されたインタフェースの変換を前記変換装置に要求する変換要求手段を有し、
前記変換装置は、
それぞれインタフェースの構成要素と各構成要素の意味を示す識別子とを含む複数の定義情報において前記識別子が一致する構成要素を対応付けて対応情報を生成する対応情報生成手段と、
変換が要求されたインタフェースについて、各構成要素を前記対応情報において対応付けられている構成要素に変換する変換手段とを有することを特徴とする変換システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−64108(P2009−64108A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願番号】特願2007−229439(P2007−229439)
【出願日】平成19年9月4日(2007.9.4)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】