トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 XML環境と分散オブジェクト環境とを相互接続するゲートウェイ及びそれを用いたシステム
【発明者】 【氏名】堀内 浩規

【氏名】茂木 信二

【氏名】小田 稔周

【要約】 【課題】XMLに基づくインターネット環境と、CORBAに基づく分散オブジェクト環境との間で相互接続を可能にするゲートウェイを提供する。

【解決手段】XMLインスタンスを用いてXMLサーバと通信するためのHTTPサーバ手段と、該XMLインスタンスとCORBAクライアントの操作要求及び応答とを相互に変換する変換手段と、該操作要求及び応答を用いてCORBAクライアントと通信するためのCORBAサーバ手段とを有する。また、操作要求及び応答を用いてCORBAサーバと通信するためのCORBAクライアント手段を更に有し、HTTPサーバ手段は更にXMLクライアントと通信することは、より好ましい。
【特許請求の範囲】
【請求項1】 XMLインスタンスを用いてXMLサーバと通信するためのHTTP処理手段と、該XMLインスタンスとCORBA操作要求及び応答とを相互に変換する変換手段と、該CORBA操作要求及び応答を用いてCORBAクライアントと通信するためのCORBAサーバ手段とを有することを特徴とする、XML環境と分散オブジェクト環境とを相互接続するゲートウェイ。
【請求項2】 前記CORBA操作要求及び応答を用いてCORBAサーバと通信するためのCORBAクライアント手段を更に有し、前記HTTP処理手段は更にXMLクライアントと通信することを特徴とする請求項1に記載のゲートウェイ。
【請求項3】 前記変換手段は、前記CORBAサーバのオブジェクトが提供するサービスをインタフェース定義言語によって定義したインタフェース定義と、前記XMLインスタンスの型を表す文書型定義との変換規則を有することを特徴とする請求項1又は2に記載のゲートウェイ。
【請求項4】 請求項1から3のいずれか1項に記載のゲートウェイを、前記CORBAサーバと前記CORBAクライアントとの両方に設け、該CORBAサーバと該CORBAクライアントとの間を通信が、前記XMLインスタンスを用いてIPネットワークを介して行われるように構成されることを特徴とするシステム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、XML(eXtensible Markup Language)に基づくインターネット環境と、CORBA(Common Object Request Broker Architecture)に基づく分散オブジェクト環境との間で相互に通信することができるゲートウェイに関する。
【0002】
【従来の技術】近年、分散しているアプリケーション又はデータを統合化するプラットフォームとしてCORBAが普及しつつある。一方、インターネット上での文書又はデータを通信する際に使用される文書記述言語としてXMLが注目されている。
【0003】CORBAのアプリケーションは、クライアント及びサーバから構成され、サーバはオブジェクトを有し、クライアントはサーバ上のオブジェクトが提供するサービスを利用する。オブジェクトが提供するサービスのインタフェースは、IDL(インタフェース定義言語)を用いて、オブジェクトの操作及び属性並びにデータ型等が定義される。クライアントが操作及び属性を呼出す際には、対象となるオブジェクトをオブジェクトリファレンスにより指定する。オブジェクトの名前とオブジェクトリファレンスとの組は、ネーミングサービスで管理される。
【0004】一方、XMLは、文書を要素という単位から構成し、開始と終了の対からなるタグを使って表される。文書の構造は、要素を階層化することにより表現する。このタグ付き文書をXMLインスタンスと呼ぶ。XML文書は、XMLインスタンスに加えて、XMLのバージョン又は文字コード等を宣言するXML宣言と、文書の型を表すDTD(文書型定義)とから構成される。DTDは、タグ付き文書に現れる要素、属性及びエンティティの定義を行う。要素の定義では、名前、出現順序、出現回数について定義する。
【0005】
【発明が解決しようとする課題】しかしながら、XMLに基づくインターネット環境と、CORBAに基づく分散オブジェクト環境との間で相互に通信することはできなかった。図1は、従来のシステム構成図である。
【0006】この課題に対して、本出願人は、特願2000−68535号「XMLを用いて分散オブジェクトにアクセスするためのゲートウェイ」において、XMLクライアントからCORBAサーバへアクセスするためのゲートウェイを開示した。但し、CORBAクライアントからXMLサーバへアクセスする方法については開示しておらず、XML環境と、CORBA環境との間で相互に通信することはできなかった。
【0007】図2は、インターネットを介してCORBAサーバ及びクライアントが通信をする従来のシステム構成図である。図2によれば、WWWサーバのバックエンドにCORBAを適用している。パーソナルコンピュータであるPC端末は、最初にアプレットをダウンロードし、ブラウザ上でCORBAクライアント及びサーバを動作させる。そして、PC端末は、バックエンドのCORBAアプリケーションへ直接的にアクセスするか、又はバックエンド側からのプログラムの起動等によりサービスが提供されていた。
【0008】しかしながら、ファイアウォールは、通常、HTTPのポートを開放していてもIIOPのポートを開放していない場合が多く、図2のようなシステムではデータの通過が困難な場合がある。また、CORBAの実行プログラムにはORB又はAWT(Abstract Window Toolkit)等が含まれ、必要なメモリ量が増大するために、携帯端末又はPDA等の処理能力の低い端末では実行が困難な場合がある。更に、ダウンロードするアプレットのプログラムが比較的大きく、アクセス回線が細い場合等にはダウンロード時間が増大する。
【0009】そこで、本発明は、前述のような課題を解決し、XMLに基づくインターネット環境と、CORBAに基づく分散オブジェクト環境との間で相互に通信を可能にするゲートウェイを提供することを目的とする。
【0010】
【課題を解決するための手段】本発明のゲートウェイは、XMLインスタンスを用いてXMLサーバと通信するためのHTTP処理手段と、該XMLインスタンスとCORBA操作要求及び応答とを相互に変換する変換手段と、該CORBA操作要求及び応答を用いてCORBAクライアントと通信するためのCORBAサーバ手段とを有する。
【0011】本発明の他の実施形態によれば、CORBA操作要求及び応答を用いてCORBAサーバと通信するためのCORBAクライアント手段を更に有し、HTTP処理手段は更にXMLクライアントと通信することは、より好ましい。これにより、XMLに基づくインターネット環境と、CORBAに基づく分散オブジェクト環境との間で相互接続を可能にする。
【0012】本発明の他の実施形態によれば、変換手段は、CORBAサーバのオブジェクトが提供するサービスをインタフェース定義言語によって定義したインタフェース定義と、XMLインスタンスの型を表す文書型定義との変換規則を有することも好ましい。
【0013】本発明のシステムによれば、前述したゲートウェイを、CORBAサーバとCORBAクライアントとの両方に設け、該CORBAサーバとCORBAクライアントとの間を通信が、XMLインスタンスを用いてIPネットワークを介して行われるように構成される。これにより、IIOPのポートを開放していないファイアウォールにおいてもデータを通過させることができ、クライアント側でアプレットをダウンロードする必要もなくなる。
【0014】
【発明の実施の形態】以下では、図面を用いて、本発明の実施形態を詳細に説明する。
【0015】図3は、本発明によるゲートウェイを用いたシステム構成図である。図3によれば、CORBAサーバとXMLクライアントとの間で、及びXMLサーバとCORBAクライアントとの間で、相互に通信が可能となる。
【0016】図4は、本発明によるゲートウェイを用いたシステムのプロトコル形態の説明図である。CORBAクライアントがXMLサーバを、及びXMLクライアントがCORBAサーバをアクセスできるように、ゲートウェイは、HTTP(Hypertext Transfer Protocol)を用いて転送されるXMLインスタンスと、CORBAのIIOP(Internet Inter-ORB Protocol)の操作要求及び応答とを相互に変換する。CORBAクライアントは、IDLに対応したCORBA操作要求及び応答を送受信し、XMLクライアントは、IDLに対応したXMLインスタンスを送受信する。
【0017】表1は、CORBAのデータ型とXMLとの対応規則を表している。表2は、表1の対応規則に基づいたXMLへの対応付け例を表している。また、図5は、本発明によるIDL定義とDTDとの対応付けの一例である。既存のCORBAサーバを何ら変更することなくアクセスできるようにするために、ゲートウェイは、CORBAサーバのアクセスに使用するXMLインスタンスを、CORBAサーバが提供するインタフェース毎に対応させて定義する。
【0018】
【表1】

【0019】
【表2】

【0020】図5によれば、モジュール("Example")を文書に、その要素にインタフェース("Account"等)を定義する。インタフェースの要素は、オブジェクトの名前("cos_naming")、操作要求応答("operation_ind"等)、属性取得・設定の要求応答("attriute_get_ind"等)から構成する。更に、操作の要素は、操作名、引数名、データ型名値等の要素から構成する。CORBAのデータ型は、型を示すタグと値を示すPCDATAによるテキストとして表現する。
【0021】このような変換規則は、IDLからDTDを自動的に生成するトランスレータを用いることも好ましい。ゲートウェイは、種々のCORBAサーバのオブジェクトに対応する必要があるが、新たなIDL定義が生じた場合にのみ、トランスレータを用いてDTDを生成する。さらに、モジュール毎にDTDをWeb上に公開し、クライアントによるXML作成時の利用と、ゲートウェイにおけるXMLインスタンスの検証時の利用とを可能とする。これにより、ゲートウェイは、様々なCORBAサーバに柔軟に対応できる。
【0022】図6は、本発明によるゲートウェイの構成図である。ゲートウェイは、XMLインスタンスを用いてクライアントと通信するためのHTTP処理部と、受信したXML文書のパース結果を解析するXMLパーサ部と、該XMLインスタンスとCORBAサーバの操作要求及び応答とを相互に変換する操作・属性変換部と、該操作要求及び応答を用いてCORBAサーバと通信するためのCORBAクライアント部と、該操作要求及び応答を用いてCORBAクライアントと通信するためのCORBAサーバ部とを有する。
【0023】また、ゲートウェイは、XMLインスタンスで渡されるパラメータ値又はCORBAのDII(動的起動インタフェース)、DSI(動的スケルトンインタフェース)ならびにIFR(インタフェースリポジトリ)を活用して、対象となるIDL定義が変更されてもプログラムを変更せずに対応可能なシステム構成としている。尚、ゲートウェイの実装では、Java Servletを用いたWebアプリケーションとするとともに、XMLパーサとしてIBM製のXML Parser for Javaを使用する。
【0024】また、クライアント、サーバ及びゲートウェイにおいて、XMLインスタンスの作成・検証を容易とするため、IDLからDTDに自動変換するトランスレータを用意し、ゲートウェイは変換を行ったDTDを公開する。
【0025】HTTPクライアントからCORBAサーバにアクセスする際のゲートウェイの処理シーケンスを以下に示す。
■HTTPクライアントからのアクセスに対して、HTTP処理部は、受信したXMLインスタンスをXMLパーサ部へ通知する。該XMLパーサ部は、DTDを用いた検証及びパースを行う。
■操作・属性変換部は、XMLパーサ部でエレメントハンドラ(IBM製XMLParser for Java)が起動される毎に呼び出され、XMLインスタンス中に定義された操作又はパラメータ等をCORBAサーバを呼び出す形式に変換する。
■CORBA処理部は、ネーミングサービスにより処理対象オブジェクトのリファレンスを取得する。これにより、特定のCORBAサーバを、XMLを用いるクライアントからアクセスすることが可能となる。
■更に、IFR(インタフェース・リポジトリ)を参照して、パラメータ設定等に必要なデータを補った後、DIIを呼び出して、CORBAサーバに操作要求を送信する。
■CORBA処理部によりCORBAサーバから操作応答を受信し、操作・属性変換部により変換とDOM(Documet Object Model)の値設定を行った後、XMLパーサ部でDOMをXMLインスタンスに変換する。
■HTTP処理部は上記■で作成したXMLインスタンスをHTTPサーバに送信する。
【0026】CORBAクライアントからXMLサーバにアクセスする際のゲートウェイの処理は、基本的に前述したシーケンスの逆となる。即ち、DSI(動的スケルトンインタフェース)を介して、CORBA処理部がCORBAの操作要求を受信し、操作・属性変換部でDOMに値を設定した後、XMLパーサ部でXMLインスタンスを作成し、HTTP処理部によりそれをHTTPクライアントに送信する処理を行う。
【0027】また、CORBAサーバからの一方的な通知は、CORBAクライアント手段と変換手段とを介し、HTTPサーバ手段によってHTTPクライアントに通知することもできる。
【0028】図7は、請求項4で示したゲートウェイの適用例である。図8は、図2のシステムの課題を解決する、本発明のシステム構成図である。図8によれば、ゲートウェイをバックエンドのCORBAクライアントとサーバに適用して、インターネット上での相互接続手順としてXML over HTTPを利用する。PC端末にとっては、アプレットのダウンロードが不要となるだけでなく、XMLに基づくテキスト処理によるために、高速に且つ処理負荷が軽減されるという効果がある。更に、HTTPの利用により、ファイアウォールの通過も容易になる。
【0029】前述した本発明の種々の実施形態について、当業者によれば、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【0030】
【発明の効果】以上、詳細に説明したように、本発明のゲートウェイによれば、XMLに基づくインターネット環境と、CORBAに基づく分散オブジェクト環境との間で相互接続を可能にする。また、IDL定義とDTDとの対応付けを規定しているので、様々なオブジェクトに対応できる汎用性も有する。
【0031】更に、本発明のゲートウェイをCORBAサーバとCORBAクライアントとに設け、XMLを用いてインターネットを介して通信することにより、IIOPポートを開放していないファイアウォールも通過することができ、クライアント側でのアプレットのダウンロードをする必要もなくなる。
【出願人】 【識別番号】000208891
【氏名又は名称】ケイディーディーアイ株式会社
【出願日】 平成12年9月29日(2000.9.29)
【代理人】 【識別番号】100074930
【弁理士】
【氏名又は名称】山本 恵一
【公開番号】 特開2002−108688(P2002−108688A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−299725(P2000−299725)