JP2001265747A - 分散オブジェクト連携装置 - Google Patents
分散オブジェクト連携装置Info
- Publication number
- JP2001265747A JP2001265747A JP2000074273A JP2000074273A JP2001265747A JP 2001265747 A JP2001265747 A JP 2001265747A JP 2000074273 A JP2000074273 A JP 2000074273A JP 2000074273 A JP2000074273 A JP 2000074273A JP 2001265747 A JP2001265747 A JP 2001265747A
- Authority
- JP
- Japan
- Prior art keywords
- server
- interface
- client
- metadata
- distributed object
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【課題】クライアントおよびサーバ間を接続する代理サ
ーバを備えることにより、クライアントが利用するイン
タフェースを変更可能にする。 【解決手段】サービスを提供する複数のサーバ31とサ
ーバを利用するクライアント10からなり、前記サーバ
が利用するインターフェース32とクライアントが利用
するインターフェースが整合しない分散オブジェクトの
連携装置において、インタフェース変換サーバ40は、
クライアントの利用するインターフェースとサーバの利
用するインターフェースとを整合するインターフェース
変換テーブル60および前記インターフェース変換テー
ブルを参照して前記クライアントおよびサーバ間を接続
する代理サーバ50を生成し、生成した代理サーバを介
してサービスを提供する。
ーバを備えることにより、クライアントが利用するイン
タフェースを変更可能にする。 【解決手段】サービスを提供する複数のサーバ31とサ
ーバを利用するクライアント10からなり、前記サーバ
が利用するインターフェース32とクライアントが利用
するインターフェースが整合しない分散オブジェクトの
連携装置において、インタフェース変換サーバ40は、
クライアントの利用するインターフェースとサーバの利
用するインターフェースとを整合するインターフェース
変換テーブル60および前記インターフェース変換テー
ブルを参照して前記クライアントおよびサーバ間を接続
する代理サーバ50を生成し、生成した代理サーバを介
してサービスを提供する。
Description
【0001】
【発明の属する技術分野】本発明は分散オブジェクトの
連携装置にかかり、特にネット上に分散配置したサーバ
を有効に利用することのできる分散オブジェクトの連携
装置に関する。
連携装置にかかり、特にネット上に分散配置したサーバ
を有効に利用することのできる分散オブジェクトの連携
装置に関する。
【0002】
【従来の技術】特開平10−254701号公報には、
分散オブジェクトシステムにおいて、利用者とサービス
提供者間のインタフェースの不整合を解消する方法が示
されている。この方法においては、利用者は予め定義さ
れた抽象インターフェースを持つサービスにアクセスす
ることにより、前記抽象インターフェースと、実サービ
スのインターフェースとの間の相違をインターフェース
整合機構により補正している。
分散オブジェクトシステムにおいて、利用者とサービス
提供者間のインタフェースの不整合を解消する方法が示
されている。この方法においては、利用者は予め定義さ
れた抽象インターフェースを持つサービスにアクセスす
ることにより、前記抽象インターフェースと、実サービ
スのインターフェースとの間の相違をインターフェース
整合機構により補正している。
【0003】また、分散オブジェクトシステムにおい
て、インタフェース仕様を管理する仕組みとしては、オ
ブジェクト・マネジメント・グループ(Object Manageme
nt Group:OMG)の1999年6月第2.3版(Revisi
on 2.3, June 1999)のCORBA仕様記載のインタフ
ェース・レポジトリ(Interface Repository:IR)があ
る。このIRにはインタフェースに関する情報を提供す
るメソッドを備えたオブジェクトの階層が入っていて、
インタフェース仕様の参照や更新を行うことができる。
て、インタフェース仕様を管理する仕組みとしては、オ
ブジェクト・マネジメント・グループ(Object Manageme
nt Group:OMG)の1999年6月第2.3版(Revisi
on 2.3, June 1999)のCORBA仕様記載のインタフ
ェース・レポジトリ(Interface Repository:IR)があ
る。このIRにはインタフェースに関する情報を提供す
るメソッドを備えたオブジェクトの階層が入っていて、
インタフェース仕様の参照や更新を行うことができる。
【0004】また、オブジェクトに動的な要求の構成を
行う仕組みとしてのCORBA仕様には、動的起動イン
タフェース(Dynamic Invocation Interface:DII)が
記載されている。このDIIを使用することで、クライ
アントをコンパイルした時点ではインタフェースがない
オブジェクトも含めて、任意のオブジェクトを起動でき
るクライアントを作成できる。
行う仕組みとしてのCORBA仕様には、動的起動イン
タフェース(Dynamic Invocation Interface:DII)が
記載されている。このDIIを使用することで、クライ
アントをコンパイルした時点ではインタフェースがない
オブジェクトも含めて、任意のオブジェクトを起動でき
るクライアントを作成できる。
【0005】また、オブジェクトが動的に要求を受け付
けるための仕組みとしてのCORBA仕様には動的スケ
ルトンインタフェース(Dynamic Skelton Interface:D
SI)が記載されている。このDSIを使用すると、サ
ーバオブジェクトはコンパイル時に定義されていないオ
ブジェクトへのクライアントオペレーションリクエスト
をディスパッチ可能である。
けるための仕組みとしてのCORBA仕様には動的スケ
ルトンインタフェース(Dynamic Skelton Interface:D
SI)が記載されている。このDSIを使用すると、サ
ーバオブジェクトはコンパイル時に定義されていないオ
ブジェクトへのクライアントオペレーションリクエスト
をディスパッチ可能である。
【0006】
【発明が解決しようとする課題】前記特開平10−25
4701号公報に示される技術においては、クライアン
トが呼び出せるのは定義されている抽象インタフェース
のみであり、また、クライアントはそのインタフェース
を呼び出すように作られていなければならない。すなわ
ち、クライアントの製作時点においてクライアントが利
用する抽象インタフェースの定義が参照可能でなければ
ならない。また、利用する実サービス提供オブジェクト
が変更される毎に、インタフェースを変換する変換モジ
ュールを再生成しなければらない。
4701号公報に示される技術においては、クライアン
トが呼び出せるのは定義されている抽象インタフェース
のみであり、また、クライアントはそのインタフェース
を呼び出すように作られていなければならない。すなわ
ち、クライアントの製作時点においてクライアントが利
用する抽象インタフェースの定義が参照可能でなければ
ならない。また、利用する実サービス提供オブジェクト
が変更される毎に、インタフェースを変換する変換モジ
ュールを再生成しなければらない。
【0007】さらに、前記CORBA仕様記載のIRは
インタフェースの構文的仕様のみを扱うものであり、イ
ンタフェースの意味的仕様を扱うものではない。また、
CORBA仕様記載のDIIおよびDSIは通常のイン
タフェースより利用方法が複雑であり、分散オブジェク
トの呼び出しに通常の関数呼び出しと異なる記述を必要
とする特殊な仕組みである。
インタフェースの構文的仕様のみを扱うものであり、イ
ンタフェースの意味的仕様を扱うものではない。また、
CORBA仕様記載のDIIおよびDSIは通常のイン
タフェースより利用方法が複雑であり、分散オブジェク
トの呼び出しに通常の関数呼び出しと異なる記述を必要
とする特殊な仕組みである。
【0008】本発明は前記問題点に鑑みてなされたもの
で、クライアントが利用するインタフェースを定義済み
のインタフェース以外に変更することができ、また、実
行時の具体的なインタフェースを利用者およびサービス
提供側が互いに未知の状態で通信可能な分散オブジェク
トの連携装置を提供する。
で、クライアントが利用するインタフェースを定義済み
のインタフェース以外に変更することができ、また、実
行時の具体的なインタフェースを利用者およびサービス
提供側が互いに未知の状態で通信可能な分散オブジェク
トの連携装置を提供する。
【0009】
【課題を解決するための手段】本発明は、上記の課題を
解決するために次のような手段を採用した。
解決するために次のような手段を採用した。
【0010】サービスを提供する複数のサーバとサーバ
を利用するクライアントからなり、前記サーバが利用す
るインターフェースとクライアントが利用するインター
フェースが整合しない分散オブジェクトの連携装置にお
いて、クライアントの利用するインターフェースとサー
バの利用するインターフェースとを整合するインターフ
ェース変換テーブル60および前記インターフェース変
換テーブルを参照して前記クライアントおよびサーバ間
を接続する代理サーバ50を備え、サーバは該代理サー
バを介してクライアントにサービスを提供する。また、
インタフェース変換サーバはクライアントの利用するイ
ンターフェースとサーバの利用するインターフェースを
もとに前記変換テーブルおよび代理サーバを生成する。
を利用するクライアントからなり、前記サーバが利用す
るインターフェースとクライアントが利用するインター
フェースが整合しない分散オブジェクトの連携装置にお
いて、クライアントの利用するインターフェースとサー
バの利用するインターフェースとを整合するインターフ
ェース変換テーブル60および前記インターフェース変
換テーブルを参照して前記クライアントおよびサーバ間
を接続する代理サーバ50を備え、サーバは該代理サー
バを介してクライアントにサービスを提供する。また、
インタフェース変換サーバはクライアントの利用するイ
ンターフェースとサーバの利用するインターフェースを
もとに前記変換テーブルおよび代理サーバを生成する。
【0011】さらに、クライアントはクライアントが利
用するインターフェース情報を前記クライアントが利用
するサーバが解読不能に暗号化して送信することができ
る。
用するインターフェース情報を前記クライアントが利用
するサーバが解読不能に暗号化して送信することができ
る。
【0012】
【発明の実施の形態】以下に本発明の第1の実施形態を
図1ないし図9を用いて説明する。図1は本発明の第1
の実施形態にかかる分散オブジェクトの連携装置を示す
図である。図において、10はクライアント、11はク
ライアントのメタデータであり、クライアント自身が利
用するインタフェースの意味的仕様および構文的仕様を
表す。20は検索サーバであり、クライアントが利用す
るサーバをサーバ名称あるいは提供サービス名称から検
索する。21はリファレンス検索部、22はサーバのリ
ファレンス、サーバの名称および提供サービスの名称を
格納したリファレンスデータベースである。30はサー
バ、31はインタフェース32の意味的仕様および構文
的仕様を表すメタデータ、32はサーバ30のインタフ
ェースである。40はクライアントとサーバ間のインタ
フェースの変換マッピングを生成するインタフェース変
換サーバ、41は前記生成した変換マッピングを参照す
る代理サーバ50を生成する代理サーバ生成部である。
50は代理サーバ、51は代理サーバのインタフェー
ス、52はサーバを呼び出すサーバ呼び出し部である。
60は変換テーブルであり、インタフェース変換サーバ
40が生成した、クライアントとサーバ間のインタフェ
ース変換マッピングを登録する。70はオブジェクトリ
クエストブローカ(ORB)であり、分散オブジェクト
システムの通信基盤となるCORBA仕様で定義され
る。
図1ないし図9を用いて説明する。図1は本発明の第1
の実施形態にかかる分散オブジェクトの連携装置を示す
図である。図において、10はクライアント、11はク
ライアントのメタデータであり、クライアント自身が利
用するインタフェースの意味的仕様および構文的仕様を
表す。20は検索サーバであり、クライアントが利用す
るサーバをサーバ名称あるいは提供サービス名称から検
索する。21はリファレンス検索部、22はサーバのリ
ファレンス、サーバの名称および提供サービスの名称を
格納したリファレンスデータベースである。30はサー
バ、31はインタフェース32の意味的仕様および構文
的仕様を表すメタデータ、32はサーバ30のインタフ
ェースである。40はクライアントとサーバ間のインタ
フェースの変換マッピングを生成するインタフェース変
換サーバ、41は前記生成した変換マッピングを参照す
る代理サーバ50を生成する代理サーバ生成部である。
50は代理サーバ、51は代理サーバのインタフェー
ス、52はサーバを呼び出すサーバ呼び出し部である。
60は変換テーブルであり、インタフェース変換サーバ
40が生成した、クライアントとサーバ間のインタフェ
ース変換マッピングを登録する。70はオブジェクトリ
クエストブローカ(ORB)であり、分散オブジェクト
システムの通信基盤となるCORBA仕様で定義され
る。
【0013】図2は、インタフェース変換サーバが代理
サーバを生成するときの処理フローを説明する図であ
る。また、図3は図2に示す処理フローに伴うデータの
流れを説明する図である。以下これらの図を参照してイ
ンタフェース変換サーバが代理サーバを生成するときの
処理フローを説明する。なお、図3において、210は
クライアントおよびサーバにおけるメタデータの意味的
仕様を表すデータ、220はクライアントにおけるメタ
データの構文的仕様を表すデータ、230はサーバにお
けるメタデータの構文的仕様を表すデータである。ま
た、図3において、図2の各ステップにおけるデータの
流れには図2と同一符号を付してその説明を省略する。
サーバを生成するときの処理フローを説明する図であ
る。また、図3は図2に示す処理フローに伴うデータの
流れを説明する図である。以下これらの図を参照してイ
ンタフェース変換サーバが代理サーバを生成するときの
処理フローを説明する。なお、図3において、210は
クライアントおよびサーバにおけるメタデータの意味的
仕様を表すデータ、220はクライアントにおけるメタ
データの構文的仕様を表すデータ、230はサーバにお
けるメタデータの構文的仕様を表すデータである。ま
た、図3において、図2の各ステップにおけるデータの
流れには図2と同一符号を付してその説明を省略する。
【0014】ステップ101において、クライアント1
0はサーバ名称あるいは提供サービス名称を検索サーバ
に送信して、クライアントが利用したいサービスを提供
しているサーバのリファレンスを問い合わせる。ステッ
プ102において、クライアントは前記問い合わせの回
答を取得すると取得したサーバのリファレンスを用いて
当該サーバ、例えばサーバ30に接続してサーバ30に
クライアント10のメタデータ11を渡す。なお、全て
のサーバは該サーバにクライアントがメタデータを渡す
ことのできるインタフェースを備えている。ステップ1
03において、サーバ30はクライアント10から受け
取ったクライアント10のメタデータ11およびサーバ
30のメタデータ31をインタフェース変換サーバ40
に渡す。ステップ104において、インタフェース変換
サーバ40は受け取ったメタデータ11およびメタデー
タ31を用いてサーバ30とクライアント10間におけ
るインタフェース変換マッピング生成し、生成したマッ
ピングを変換テーブル60に登録する。
0はサーバ名称あるいは提供サービス名称を検索サーバ
に送信して、クライアントが利用したいサービスを提供
しているサーバのリファレンスを問い合わせる。ステッ
プ102において、クライアントは前記問い合わせの回
答を取得すると取得したサーバのリファレンスを用いて
当該サーバ、例えばサーバ30に接続してサーバ30に
クライアント10のメタデータ11を渡す。なお、全て
のサーバは該サーバにクライアントがメタデータを渡す
ことのできるインタフェースを備えている。ステップ1
03において、サーバ30はクライアント10から受け
取ったクライアント10のメタデータ11およびサーバ
30のメタデータ31をインタフェース変換サーバ40
に渡す。ステップ104において、インタフェース変換
サーバ40は受け取ったメタデータ11およびメタデー
タ31を用いてサーバ30とクライアント10間におけ
るインタフェース変換マッピング生成し、生成したマッ
ピングを変換テーブル60に登録する。
【0015】ステップ105において、インタフェース
変換サーバ40の代理サーバ生成部41は、クライアン
ト10において呼び出し可能な代理サーバ50を生成す
る。ステップ106において、前記生成した代理サーバ
50のリファレンスをクライアント10に返す。すでに
前記代理サーバ50と同等の変換を実施できる代理サー
バが生成されている場合には、新たな代理サーバを生成
することなく、既存の代理サーバのリファレンスをクラ
イアントに返すこともできる。
変換サーバ40の代理サーバ生成部41は、クライアン
ト10において呼び出し可能な代理サーバ50を生成す
る。ステップ106において、前記生成した代理サーバ
50のリファレンスをクライアント10に返す。すでに
前記代理サーバ50と同等の変換を実施できる代理サー
バが生成されている場合には、新たな代理サーバを生成
することなく、既存の代理サーバのリファレンスをクラ
イアントに返すこともできる。
【0016】図4は、クライアントが有するメタデータ
11およびサーバが有するメタデータ31に含まれる意
味的仕様の例を示す図である。意味的仕様210は、例
えば銀行業務の各操作を階層構造に分類し、口座への預
入操作の記述を{銀行業務/口座管理/預入}とし、そ
の入力は{銀行業務/口座管理/預入/入力/口座番
号}、および{銀行業務/口座管理/預入/入力/預入
額}であり、その出力は{銀行業務/口座管理/預入/
出力/残高}である。このように銀行の口座の意味的仕
様について形式的な定義を与えることで、構文的仕様の
対応などについて検証することができる。なお、クライ
アントが有するメタデータ11に含まれる意味的仕様と
サーバが有するメタデータ31に含まれる意味的仕様は
同一である。
11およびサーバが有するメタデータ31に含まれる意
味的仕様の例を示す図である。意味的仕様210は、例
えば銀行業務の各操作を階層構造に分類し、口座への預
入操作の記述を{銀行業務/口座管理/預入}とし、そ
の入力は{銀行業務/口座管理/預入/入力/口座番
号}、および{銀行業務/口座管理/預入/入力/預入
額}であり、その出力は{銀行業務/口座管理/預入/
出力/残高}である。このように銀行の口座の意味的仕
様について形式的な定義を与えることで、構文的仕様の
対応などについて検証することができる。なお、クライ
アントが有するメタデータ11に含まれる意味的仕様と
サーバが有するメタデータ31に含まれる意味的仕様は
同一である。
【0017】図5は、クライアントが有するメタデータ
11に含まれる構文的仕様の例を示す図である。構文的
仕様220は関数の名称、関数の戻り値の型、引数の並
び(引数の名称、型、入力、出力、入出力の指定)など
からなる。例えば、銀行口座への預入操作の場合、{i
nt deposit(in int id,inui
nt amount)}という記述になる。また、関数
depositに対する意味として、意味的仕様210
の要素{銀行業務211/口座管理212/預入21
3}が対応し、第1引数idに対する意味として{銀行
業務211/口座管理212/預入213/入力214
/口座番号215}が対応し、第2引数amountに
対する意味として{銀行業務211/口座管理212/
預入213/入力214/預入額216}が対応し、戻
り値の意味として{銀行業務211/口座管理212/
預入213/出力217/残高218}が対応する。
11に含まれる構文的仕様の例を示す図である。構文的
仕様220は関数の名称、関数の戻り値の型、引数の並
び(引数の名称、型、入力、出力、入出力の指定)など
からなる。例えば、銀行口座への預入操作の場合、{i
nt deposit(in int id,inui
nt amount)}という記述になる。また、関数
depositに対する意味として、意味的仕様210
の要素{銀行業務211/口座管理212/預入21
3}が対応し、第1引数idに対する意味として{銀行
業務211/口座管理212/預入213/入力214
/口座番号215}が対応し、第2引数amountに
対する意味として{銀行業務211/口座管理212/
預入213/入力214/預入額216}が対応し、戻
り値の意味として{銀行業務211/口座管理212/
預入213/出力217/残高218}が対応する。
【0018】図6は、サーバ30が有するメタデータ3
1に含まれる構文的仕様を示す図である。構文的仕様2
30は図5に示すクライアントのそれと同様に、銀行口
座への預入操作は{void yokin(out i
nt zandaka,inuint kingak
u, in int kouza)}となる。関数yo
kinは意味的仕様210の{銀行業務211/口座管
理212/預入213}に対応し、第1引数zanda
kaは{銀行業務211/口座管理212/預入213
/出力217/残高218}に対応し、第2引数kin
gakuは{銀行業務211/口座管理212/預入2
13/入力214/預入額216}に対応し、第3引数
kouzaは{銀行業務211/口座管理212/預入
213/入力214/口座番号215}に対応する。
1に含まれる構文的仕様を示す図である。構文的仕様2
30は図5に示すクライアントのそれと同様に、銀行口
座への預入操作は{void yokin(out i
nt zandaka,inuint kingak
u, in int kouza)}となる。関数yo
kinは意味的仕様210の{銀行業務211/口座管
理212/預入213}に対応し、第1引数zanda
kaは{銀行業務211/口座管理212/預入213
/出力217/残高218}に対応し、第2引数kin
gakuは{銀行業務211/口座管理212/預入2
13/入力214/預入額216}に対応し、第3引数
kouzaは{銀行業務211/口座管理212/預入
213/入力214/口座番号215}に対応する。
【0019】図7はメタデータ11およびメタデータ3
1からクライアント10とサーバ30間のインタフェー
ス変換マッピングを生成する処理を示す図である。ま
ず、ステップ111において、クライアントの構文的仕
様220の全ての要素について探索が終了したか否かを
判断する。全ての探索が終了していれば処理を終了す
る。探索が終了していなければステップ112に進む。
ステップ112において、クライアントの構文的仕様2
20の要素のうち探索すべき要素を一つ決定し、その要
素が持つ意味と同一の意味を有するサーバの構文的仕様
220の要素を探索する。ステップ113において、同
一の意味を有するサーバの構文的仕様220の要素を見
つけると、サーバとクライアント間の引数および戻り値
対応付けを決定する。ステップ114において、決定し
た対応付けを変換テーブル60に登録してステップ11
1に戻る。
1からクライアント10とサーバ30間のインタフェー
ス変換マッピングを生成する処理を示す図である。ま
ず、ステップ111において、クライアントの構文的仕
様220の全ての要素について探索が終了したか否かを
判断する。全ての探索が終了していれば処理を終了す
る。探索が終了していなければステップ112に進む。
ステップ112において、クライアントの構文的仕様2
20の要素のうち探索すべき要素を一つ決定し、その要
素が持つ意味と同一の意味を有するサーバの構文的仕様
220の要素を探索する。ステップ113において、同
一の意味を有するサーバの構文的仕様220の要素を見
つけると、サーバとクライアント間の引数および戻り値
対応付けを決定する。ステップ114において、決定し
た対応付けを変換テーブル60に登録してステップ11
1に戻る。
【0020】この手順を続行することによって、例え
ば、構文的仕様220の要素が有する意味の{銀行業務
/口座管理/預入/入力/口座番号}からは、クライア
ント10の呼び出す関数depositの第2引数am
ountと関数yokinの第2引数kingakuの
対応を、{銀行業務/口座管理/預入/出力/残高}か
らは関数depositの戻り値と関数yokinの第
1引数zandakaの対応を求めることができる。
ば、構文的仕様220の要素が有する意味の{銀行業務
/口座管理/預入/入力/口座番号}からは、クライア
ント10の呼び出す関数depositの第2引数am
ountと関数yokinの第2引数kingakuの
対応を、{銀行業務/口座管理/預入/出力/残高}か
らは関数depositの戻り値と関数yokinの第
1引数zandakaの対応を求めることができる。
【0021】図8は図1に示す変換テーブル60の内容
を示す図である。図において301はサーバが備えるイ
ンタフェースの構文的仕様を表すサーバインタフェー
ス、302はクライアントが備えるインタフェースの構
文的仕様を表すクライアントインタフェースである。3
03はサーバリファレンスであり、代理サーバ50に呼
び出されて実際の処理を行うサーバのリファレンスであ
る。304はインタフェース変換マッピングであり、代
理サーバ50はインタフェース変換マッピング304を
用いて、インタフェース51を介して受け付けたリクエ
ストをインタフェース32を介してサーバ30を呼び出
す信号に変換する。このインタフェース変換マッピング
304は前記図2のステップ104に示す例において
は、関数depositの第一引数idは関数yoki
nの第3引数kouzaに、depositの第2引数
amountはyokinの第2引数kingaku
に、またdepositの戻り値はyokinの第1引
数zandakaにそれぞれ対応付けて変換する。ま
た、305は代理サーバのリファレンスである。代理サ
ーバが備えるインタフェースはクライアントが備えるク
ライアントインタフェース302と同一である。
を示す図である。図において301はサーバが備えるイ
ンタフェースの構文的仕様を表すサーバインタフェー
ス、302はクライアントが備えるインタフェースの構
文的仕様を表すクライアントインタフェースである。3
03はサーバリファレンスであり、代理サーバ50に呼
び出されて実際の処理を行うサーバのリファレンスであ
る。304はインタフェース変換マッピングであり、代
理サーバ50はインタフェース変換マッピング304を
用いて、インタフェース51を介して受け付けたリクエ
ストをインタフェース32を介してサーバ30を呼び出
す信号に変換する。このインタフェース変換マッピング
304は前記図2のステップ104に示す例において
は、関数depositの第一引数idは関数yoki
nの第3引数kouzaに、depositの第2引数
amountはyokinの第2引数kingaku
に、またdepositの戻り値はyokinの第1引
数zandakaにそれぞれ対応付けて変換する。ま
た、305は代理サーバのリファレンスである。代理サ
ーバが備えるインタフェースはクライアントが備えるク
ライアントインタフェース302と同一である。
【0022】図9は代理サーバ利用するときの処理を示
すフローである。まず、ステップ401において、クラ
イアントは図2に示すステップ106の処理により取得
した代理サーバ50のリファレンスを用いて代理サーバ
50のインタフェース51を呼び出す。ステップ402
において、代理サーバ50は変換テーブル60に登録さ
れているインタフェース変換マッピング304を参照し
て、クライアント10から受け付けたリクエストを、サ
ーバ30のインタフェース32へのリクエストに変換
し、CORBA仕様に記載されたDIIを用いてサーバ
30を呼び出す。
すフローである。まず、ステップ401において、クラ
イアントは図2に示すステップ106の処理により取得
した代理サーバ50のリファレンスを用いて代理サーバ
50のインタフェース51を呼び出す。ステップ402
において、代理サーバ50は変換テーブル60に登録さ
れているインタフェース変換マッピング304を参照し
て、クライアント10から受け付けたリクエストを、サ
ーバ30のインタフェース32へのリクエストに変換
し、CORBA仕様に記載されたDIIを用いてサーバ
30を呼び出す。
【0023】このように、クライアントが呼び出しに用
いるインタフェースとサーバがリクエストを受け付ける
インタフェースとを実行時に動的に変換するので、クラ
イアントおよびサーバのインタフェースを固定すること
なく柔軟に変更することができる。
いるインタフェースとサーバがリクエストを受け付ける
インタフェースとを実行時に動的に変換するので、クラ
イアントおよびサーバのインタフェースを固定すること
なく柔軟に変更することができる。
【0024】図10は、本発明の第2の実施形態を示す
図であり、インタフェース変換サーバが代理サーバを生
成するときの他の処理フローを説明する図である。ま
ず、ステップ201において、クライアントは10はサ
ーバ名称あるいは提供サービス名称を検索サーバに送信
して、クライアントが利用したいサービスを提供してい
るサーバのリファレンスを問い合わせる。問い合わせの
回答を取得するとクライアントは取得したサーバのリフ
ァレンスを用いて当該サーバ、例えばサーバ30に接続
してサーバ30にクライアント10のメタデータ11を
渡す。このときメタデータ501をサーバ30には解読
不能であるがインタフェース変換サーバ40には解読可
能に暗号化して暗号化メタデータ501として送信す
る。ステップ202において、サーバ30はクライアン
ト10から受け取ったクライアント10の暗号化したメ
タデータ501およびサーバ30のメタデータ31をイ
ンタフェース変換サーバ40に渡す。インタフェース変
換サーバ40は受け取ったメタデータ501を解読し、
さらに解読したメタデータ11およびメタデータ31を
用いてサーバ30とクライアント10間におけるインタ
フェース変換マッピング生成し、生成したマッピングを
変換テーブル60に登録する。以降の処理は図2に示す
処理フロート同一であるので説明を省略する。
図であり、インタフェース変換サーバが代理サーバを生
成するときの他の処理フローを説明する図である。ま
ず、ステップ201において、クライアントは10はサ
ーバ名称あるいは提供サービス名称を検索サーバに送信
して、クライアントが利用したいサービスを提供してい
るサーバのリファレンスを問い合わせる。問い合わせの
回答を取得するとクライアントは取得したサーバのリフ
ァレンスを用いて当該サーバ、例えばサーバ30に接続
してサーバ30にクライアント10のメタデータ11を
渡す。このときメタデータ501をサーバ30には解読
不能であるがインタフェース変換サーバ40には解読可
能に暗号化して暗号化メタデータ501として送信す
る。ステップ202において、サーバ30はクライアン
ト10から受け取ったクライアント10の暗号化したメ
タデータ501およびサーバ30のメタデータ31をイ
ンタフェース変換サーバ40に渡す。インタフェース変
換サーバ40は受け取ったメタデータ501を解読し、
さらに解読したメタデータ11およびメタデータ31を
用いてサーバ30とクライアント10間におけるインタ
フェース変換マッピング生成し、生成したマッピングを
変換テーブル60に登録する。以降の処理は図2に示す
処理フロート同一であるので説明を省略する。
【0025】本実施形態によれば、暗号化したメタデー
タ501はサーバ30で解読不可能であるが、インタフ
ェース変換サーバ40では解読可能である。したがっ
て、クライアント10は、サーバ30にクライアント1
0が呼び出しているインタフェースを知られることなく
サーバ30を利用することができる。また、クライアン
ト10はサーバ30の持つインタフェース32を未知の
ままサーバ30を呼び出すことができる。このように、
サーバとクライアントがお互いの具体的なインタフェー
スを知ることなく呼び出しが可能であるため、具体的な
インタフェースを知られることによるセキュリティ上の
弱点が発見される可能性が低減する。
タ501はサーバ30で解読不可能であるが、インタフ
ェース変換サーバ40では解読可能である。したがっ
て、クライアント10は、サーバ30にクライアント1
0が呼び出しているインタフェースを知られることなく
サーバ30を利用することができる。また、クライアン
ト10はサーバ30の持つインタフェース32を未知の
ままサーバ30を呼び出すことができる。このように、
サーバとクライアントがお互いの具体的なインタフェー
スを知ることなく呼び出しが可能であるため、具体的な
インタフェースを知られることによるセキュリティ上の
弱点が発見される可能性が低減する。
【0026】以上説明したように、本実施形態によれ
ば、クライアントが呼び出しに利用するインタフェース
とサーバがリクエストを受け付けるインタフェースを実
行時に動的に変換することで、クライアントが利用する
インタフェースを既に定義済みのインタフェースに固定
せずに柔軟に変更でき、しかも通常とは異なる呼び出し
方法でクライアントを作る必要もない。
ば、クライアントが呼び出しに利用するインタフェース
とサーバがリクエストを受け付けるインタフェースを実
行時に動的に変換することで、クライアントが利用する
インタフェースを既に定義済みのインタフェースに固定
せずに柔軟に変更でき、しかも通常とは異なる呼び出し
方法でクライアントを作る必要もない。
【0027】また、実行時の具体的なインタフェースを
利用者とサービス提供側がお互い知らなくてもサービス
を利用可能であるので、具体的なインタフェースを知ら
れることによりセキュリティ上の弱点を発見される可能
性を低減できる。また、なんらかの理由によりインタフ
ェースの開示ができないときもサービスの利用が可能と
なる。
利用者とサービス提供側がお互い知らなくてもサービス
を利用可能であるので、具体的なインタフェースを知ら
れることによりセキュリティ上の弱点を発見される可能
性を低減できる。また、なんらかの理由によりインタフ
ェースの開示ができないときもサービスの利用が可能と
なる。
【0028】
【発明の効果】以上説明したように本発明によれば、ク
ライアントが利用するインタフェースを定義済みのイン
タフェース以外に変更することができ、また、実行時の
具体的なインタフェースを利用者およびサービス提供側
が互いに未知の状態で通信可能な分散オブジェクトの連
携装置を提供することができる。
ライアントが利用するインタフェースを定義済みのイン
タフェース以外に変更することができ、また、実行時の
具体的なインタフェースを利用者およびサービス提供側
が互いに未知の状態で通信可能な分散オブジェクトの連
携装置を提供することができる。
【図1】本発明の第1の実施形態にかかる分散オブジェ
クトの連携装置を示す図である。
クトの連携装置を示す図である。
【図2】インタフェース変換サーバが代理サーバを生成
するときの処理フローを説明する図である。
するときの処理フローを説明する図である。
【図3】図2に示す処理フローに伴うデータの流れを説
明する図である。
明する図である。
【図4】サーバおよびクライアントの有するメタデータ
に含まれる意味的仕様の例を示す図である。
に含まれる意味的仕様の例を示す図である。
【図5】クライアントの有するメタデータに含まれる構
文的仕様の例を示す図である。
文的仕様の例を示す図である。
【図6】サーバの有するメタデータに含まれる構文的仕
様を示す図である
様を示す図である
【図7】クライアントとサーバ間のインタフェース変換
マッピングを生成する処理を示す図である。
マッピングを生成する処理を示す図である。
【図8】変換テーブルの内容を示す図である。
【図9】代理サーバ利用するときの処理を示すフローで
ある。
ある。
【図10】本発明の第2の実施形態を示す図である。
10 クライアント 12 クライアントのメタデータ 20 検索サーバ 21 リファレンス検索部 22 リファレンスデータベース 30 サーバ 31 サーバのメタデータ 32 サーバのインタフェース 40 インタフェース変換サーバ 41 代理サーバ生成部 50 代理サーバ 51 代理サーバのインタフェース 52 サーバ呼び出し部 60 変換テーブル 70 オブジェクトリクエストブローカ
Claims (5)
- 【請求項1】 サービスを提供する複数のサーバとサー
バを利用するクライアントからなり、前記サーバが利用
するインターフェースとクライアントが利用するインタ
ーフェースが整合しない分散オブジェクトの連携装置に
おいて、 クライアントの利用するインターフェースとサーバの利
用するインターフェースとを整合するインターフェース
変換テーブルおよび前記インターフェース変換テーブル
を参照して前記クライアントおよびサーバ間を接続する
代理サーバを備え、該代理サーバを介してサービスを提
供することを特徴とする分散オブジェクトの連携装置。 - 【請求項2】 請求項1の記載において、前記サーバが
利用するインターフェースとクライアントが利用するイ
ンターフェースをもとに前記インターフェース変換テー
ブルを生成するインターフェース変換サーバを備えたこ
とを特徴とする分散オブジェクトの連携装置。 - 【請求項3】 請求項1ないし請求項2の何れか1の記
載において、前記代理サーバを生成するインターフェー
ス変換サーバを備えたことを特徴とする分散オブジェク
トの連携装置。 - 【請求項4】 請求項2ないし請求項3の何れか1の記
載において、前記インターフェース変換サーバはクライ
アントが利用するインターフェース情報をクライアント
が利用するサーバを介して取得することを特徴とする分
散オブジェクトの連携装置。 - 【請求項5】 請求項2ないし請求項4の何れか1の記
載において、クライアントが利用するインターフェース
情報は、前記クライアントが利用するサーバが解読不能
に暗号化したことを特徴とする分散オブジェクトの連携
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000074273A JP2001265747A (ja) | 2000-03-16 | 2000-03-16 | 分散オブジェクト連携装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000074273A JP2001265747A (ja) | 2000-03-16 | 2000-03-16 | 分散オブジェクト連携装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001265747A true JP2001265747A (ja) | 2001-09-28 |
Family
ID=18592359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000074273A Pending JP2001265747A (ja) | 2000-03-16 | 2000-03-16 | 分散オブジェクト連携装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001265747A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150393A (ja) * | 2001-11-09 | 2003-05-23 | Nec Corp | リモートサービス処理システムおよび方法、プログラム |
JP2008217159A (ja) * | 2007-02-28 | 2008-09-18 | Nippon Telegr & Teleph Corp <Ntt> | サービスコンポーネント発見方法、サービスコンポーネント発見システム及びサービスコンポーネント発見プログラム |
US7454421B2 (en) | 2003-07-11 | 2008-11-18 | Nippon Telegraph And Telephone Corporation | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program |
JP5301042B1 (ja) * | 2013-01-18 | 2013-09-25 | 株式会社エヌジェーケー | 仲介サーバ及び携帯端末用プログラム |
JP2015095117A (ja) * | 2013-11-12 | 2015-05-18 | コニカミノルタ株式会社 | データ処理装置、データ処理装置の制御方法、およびデータ処理装置の制御プログラム |
JP2018185797A (ja) * | 2017-03-17 | 2018-11-22 | アクセンチュア グローバル ソリューションズ リミテッド | アプリケーションプログラミングインターフェースのための拡張可能な単一点オーケストレーションシステム |
WO2021156992A1 (ja) * | 2020-02-06 | 2021-08-12 | 日本電信電話株式会社 | サービス連携支援装置、サービス連携支援方法、および、サービス連携支援プログラム |
-
2000
- 2000-03-16 JP JP2000074273A patent/JP2001265747A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150393A (ja) * | 2001-11-09 | 2003-05-23 | Nec Corp | リモートサービス処理システムおよび方法、プログラム |
US7454421B2 (en) | 2003-07-11 | 2008-11-18 | Nippon Telegraph And Telephone Corporation | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program |
JP2008217159A (ja) * | 2007-02-28 | 2008-09-18 | Nippon Telegr & Teleph Corp <Ntt> | サービスコンポーネント発見方法、サービスコンポーネント発見システム及びサービスコンポーネント発見プログラム |
JP5301042B1 (ja) * | 2013-01-18 | 2013-09-25 | 株式会社エヌジェーケー | 仲介サーバ及び携帯端末用プログラム |
JP2015095117A (ja) * | 2013-11-12 | 2015-05-18 | コニカミノルタ株式会社 | データ処理装置、データ処理装置の制御方法、およびデータ処理装置の制御プログラム |
JP2018185797A (ja) * | 2017-03-17 | 2018-11-22 | アクセンチュア グローバル ソリューションズ リミテッド | アプリケーションプログラミングインターフェースのための拡張可能な単一点オーケストレーションシステム |
WO2021156992A1 (ja) * | 2020-02-06 | 2021-08-12 | 日本電信電話株式会社 | サービス連携支援装置、サービス連携支援方法、および、サービス連携支援プログラム |
JPWO2021156992A1 (ja) * | 2020-02-06 | 2021-08-12 | ||
JP7332950B2 (ja) | 2020-02-06 | 2023-08-24 | 日本電信電話株式会社 | サービス連携支援装置、サービス連携支援方法、および、サービス連携支援プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7606832B2 (en) | System and method for orchestrating composite web services in constrained data flow environments | |
EP1775657B1 (en) | Method and apparatus for providing home network device service to an external device through WEB service | |
US6324681B1 (en) | Automated development system for developing applications that interface with both distributed component object model (DCOM) and enterprise server environments | |
Falazi et al. | Smart contract invocation protocol (SCIP): A protocol for the uniform integration of heterogeneous blockchain smart contracts | |
Merz et al. | Service trading and mediation in distributed computing systems | |
US20040221001A1 (en) | Web service architecture and methods | |
EP1390861A2 (en) | Service provision system and method | |
CN108429808B (zh) | 一种物联网跨平台资源交互的方法和系统 | |
US7650609B2 (en) | Multi-environment document management system access | |
WO2002071216A2 (en) | A method and a bridge for coupling a server and a client of different object types | |
CN112417049B (zh) | 一种基于区块链一体机的跨链交互方法与系统 | |
JPH09506725A (ja) | オブジェクト指向ルール・ベース・プロトコル・システム | |
US8230448B2 (en) | Methods, systems and computer program products for web service interaction with a resource management system | |
Bever et al. | Distributed systems, OSF DCE, and beyond | |
US5615351A (en) | Method and system for correlating usage data in a distributed architecture | |
US20040006610A1 (en) | Architecture and method for configuration validation web service | |
JP2001265747A (ja) | 分散オブジェクト連携装置 | |
Günther et al. | From GISystems to GIServices: spatial computing on the internet marketplace | |
US20040006516A1 (en) | Architecture and method for order placement web service | |
WO2007019745A1 (fr) | Methode de fourniture de service d'un systeme distribue de service | |
US20060047781A1 (en) | Method and system for providing remote portal service modules | |
US20040006571A1 (en) | Architecture and method for product catalog web service | |
Bussler | Semantic Web Services | |
US7191209B1 (en) | Application server and method to perform hierarchical configurable data manipulation | |
JP3904037B2 (ja) | 遠隔手続管理装置及び遠隔手続管理方法 |