(57)【特許請求の範囲】
【請求項１】
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムの間のデータ交換を行うデータ交換装置であって、クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、及び、ユーザーオブジェクトと交換用データとの間、及び、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを有する、データ交換装置において、
前記データ交換インターフェースは、
ユーザーにデータフォーマットを定義させるために、データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報を定義するための項目を表示可能なデータ構造定義用画面と、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて、交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するデータ構造定義部と、
前記データ構造定義部によって定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成するユーザーオブジェクト生成部と、
前記データ構造定義部によって生成された交換用データとユーザーオブジェクトの間のデータ変換関数を格納し、データ変換を行うクライアントデータ変換部と、
前記データ構造定義部によって生成された交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数を格納し、データ変換を行うサーバーデータ変換部と、を有し、
前記データ構造定義部により、ユーザーが前記データ構造定義用画面を使用して定義した交換用データのデータフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記ユーザーオブジェクト生成部により入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記ユーザーが定義した交換用データのデータフォーマットに基づいて前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ことを特徴とする異言語システム間におけるデータ交換装置。
【請求項２】
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムの間のデータ交換を行うデータ交換方法において、
クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、ユーザーオブジェクトと交換用データとの間、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを提供し、
前記データ交換インターフェースは、
データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報をユーザーに定義させるための項目を表示可能なデータ構造定義用画面により、ユーザーにデータフォーマットを定義させ、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データの交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ことを特徴とする異言語システム間におけるデータ交換方法。
【請求項３】
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムに、
クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、ユーザーオブジェクトと交換用データとの間、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを提供し、
前記データ交換インターフェースは、
ユーザーにデータフォーマットを定義させるために、データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報を定義するための項目を表示可能なデータ構造定義用画面と、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて、交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するデータ構造定義部と、
前記データ構造定義部によって定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成するユーザーオブジェクト生成部と、
前記データ構造定義部によって生成された交換用データとユーザーオブジェクトの間のデータ変換関数を格納し、データ変換を行うクライアントデータ変換部と、
前記データ構造定義部によって生成された交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数を格納し、データ変換を行うサーバーデータ変換部とを生成し、
前記データ構造定義部により、ユーザーが前記データ構造定義用画面を使用して定義した交換用データのデータフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記ユーザーオブジェクト生成部により入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記ユーザーが定義した交換用データのデータフォーマットに基づいて前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ように機能させるプログラムを記録した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なるプログラム言語の情報処理システム（これを「異言語システム」と呼ぶことにする）の間のデータ交換を行う装置に係り、特にオブジェクト指向言語によって作動する情報処理システムと、Ｃ言語、ＣＯＢＯＬ言語等の従来型のプログラム言語によって作動する情報処理システム間のデータ交換を行う装置と方法に関する。
【０００２】
なお、上記異言語システムのもっとも一般的な例としてクライアントサーバーシステムがあるので、以下の説明では、クライアントサーバーシステムを用いて説明する。
【０００３】
【従来の技術】
クライアントサーバーシステムにおいて、クライアントコンピュータは、一般に比較的新しいプログラム言語であるオブジェクト指向言語を用いて情報処理し、サーバーは、従来のシステム資産との関係でＣＯＢＯＬ，Ｃ等の従来型プログラム言語を使用して情報処理していることが多い。
【０００４】
従来から、このような異言語システムのクライアントコンピュータとサーバーの間でデータ交換を行うことは行われていた。それらの従来のデータ交換方法について以下に順次説明する。
【０００５】
（１）データの種別ごとにデータフォーマットを作成し、データの種別ごとにデータ交換をする方法
この方法は、予めたとえば、「顧客」という種類のデータは、「顧客名」＋「住所」＋「成年月日」＋「性別」からなるデータ、「従業員」という種類のデータは、「氏名」＋「住所」＋「役職」からなるデータ、というように定めておき、データ交換をする場合は、データの種別を指定して、呼び出し命令等を実行するようにしたものである。
【０００６】
例えばデータを送る場合に“ｓｅｎｄ”という命令を使用するが、上記方法によれば、「顧客」データを送る場合は“ｓｅｎｄ＿顧客（顧客データ）”、「従業員」データを送る場合は“ｓｅｎｄ＿従業員（従業員データ）”、というように、送るデータの種別ごとに異なるｓｅｎｄ命令を作成もしくは宣言することによりデータを送っていた。
【０００７】
データを送られた側の異言語システムは、送られたデータの種別により、例えば“ｓｅｎｄ（顧客）”という命令によってデータが送られた場合は、「顧客名」＋「住所」＋「成年月日」＋「性別」からなるデータであると認識し、「顧客名」、「住所」、…（これらを要素データという）に分解して自システムに取り込み、必要な情報処理を行っていた。
【０００８】
（２）データフォーマットに関する情報を異言語システム間で共有し、送受信されたデータをそのデータフォーマット情報によって自システムに取り込む方法この方法は、送受信するデータが如何なる構造のデータであるか（データフォーマット情報）を、送受信する両システムが把握しており、そのデータフォーマット情報によって送受信されたデータを自システムに取り込むようにしたものである。
【０００９】
ここで、データフォーマット情報は、例えばデータの先頭から何桁目から何桁目までは何のデータか、というような情報である。
【００１０】
このデータフォーマット情報は、予め両異言語システム間で取決めておくか、データの送受信とは別の通信によって異言語システム間で共有するようにしていた。
【００１１】
これにより、送受信されたデータをそのデータフォーマット情報によって自システムに取り込むようすることができた。
【００１２】
（３）送受信するデータの一部にデータフォーマット情報を入れてデータ交換を行う方法
この方法は、そのデータが如何なる構造であるかを示す情報（データフォーマット情報）をデータの一部に入れて送り、受信したシステムはそのデータフォーマット情報に基づいて受信したデータを自システムに取り込むようにしたものである。
【００１３】
【発明が解決しようとする課題】
上記従来のデータの種別ごとにデータフォーマットを作成してデータ交換をする方法（方法（１））は、上述したように、データの種類が異なるごとに呼出等の命令を変えていた。
【００１４】
異言語システムが限られた種類のデータを交換するような場合は、上記方法でも何等支障がなかった。
【００１５】
しかし、最近のクライアントサーバーシステムのような広範な情報処理を行うシステムおいては、上記方法では対応が困難になっていた。
【００１６】
すなわち、最近のクライアントサーバーシステムは、膨大な種類のデータを取り扱うようになり、しかもデータ交換の回数も著しく増大しているので、データ種類ごとに呼出命令を変える方法では、データ交換のための命令が著しく繁雑になった。
【００１７】
このため、同じ呼出命令等によって、多数種類のデータ交換を行うことができる簡易なデータ交換方法の開発が待たれていた。
【００１８】
次に、データフォーマットに関する情報を異言語システム間で共有する方法（方法（２））であるが、この方法では、データフォーマットの変更があった際に、この変更に柔軟に対応することができなかった。
【００１９】
すなわち、上記方法は、データフォーマット情報に基づいて各異言語システムのアプリケーションソフトウェアプログラム中でデータ変換を行っていたので、データフォーマットの変更は、アプリケーションソフトウェアプログラムの内容にまで影響を及ぼしていた。
【００２０】
同一のデータを複数のアプリケーションソフトウェアが取り扱っている場合には、データフォーマットの変更の影響はなおさら大きくなった。
【００２１】
このため、アプリケーションソフトウェアプログラムと切り離して、データ変換を行うようにしたデータ交換方法の開発が待たれていた。
【００２２】
次に、送受信するデータの一部にデータフォーマット情報を入れてデータ交換を行う方法（方法（３））であるが、この方法では、データごとにデータフォーマット情報を受信側システムが読み出し、そのデータフォーマット情報に応じたデータ変換を行っていたので、処理上の負荷が大きく、大量のデータ交換には不向きであった。
【００２３】
そこで、本発明が解決しようとする課題は、単純かつ簡易な命令で多数種類のデータの交換及び処理をすることができ、かつ、データフォーマットの定義・変更を簡単に行うことができるデータ交換インターフェースを提供する「異言語システム間におけるデータ交換装置およびその方法」を開発することにある。
【００２４】
【課題を解決するための手段】
本願請求項1に係る異言語システム間におけるデータ交換装置は、
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムの間のデータ交換を行うデータ交換装置であって、クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、及び、ユーザーオブジェクトと交換用データとの間、及び、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを有する、データ交換装置において、
前記データ交換インターフェースは、
ユーザーにデータフォーマットを定義させるために、データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報を定義するための項目を表示可能なデータ構造定義用画面と、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて、交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するデータ構造定義部と、
前記データ構造定義部によって定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成するユーザーオブジェクト生成部と、
前記データ構造定義部によって生成された交換用データとユーザーオブジェクトの間のデータ変換関数を格納し、データ変換を行うクライアントデータ変換部と、
前記データ構造定義部によって生成された交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数を格納し、データ変換を行うサーバーデータ変換部と、を有し、
前記データ構造定義部により、ユーザーが前記データ構造定義用画面を使用して定義した交換用データのデータフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記ユーザーオブジェクト生成部により入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記ユーザーが定義した交換用データのデータフォーマットに基づいて前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ことを特徴とするものである。
【００２５】
本願請求項２に係る異言語システム間におけるデータ交換方法は、
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムの間のデータ交換を行うデータ交換方法において、
クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、ユーザーオブジェクトと交換用データとの間、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを提供し、
前記データ交換インターフェースは、
データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報をユーザーに定義させるための項目を表示可能なデータ構造定義用画面により、ユーザーにデータフォーマットを定義させ、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データの交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ことを特徴とするものである。
【００２６】
本願請求項３に係る記憶媒体は、
オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣとＣＯＢＯＬを含む従来型プログラム言語によって情報処理を行う情報処理システムに、
クライアントアプリケーションソフトウェアとユーザーオブジェクトとの間、ユーザーオブジェクトと交換用データとの間、交換用データとサーバーアプリケーションソフトウェアとの間のインターフェースをなすデータ交換インターフェースを提供し、
前記データ交換インターフェースは、
ユーザーにデータフォーマットを定義させるために、データ交換に係る前記データフォーマットのデータフォーマット名、各データフォーマット名に含まれるデータの変数名、文字列かデシマルか表型データかの別と表型データである場合の表型データ名を含むデータ型、データ長、固定長か可変長かの別を示す配列情報を定義するための項目を表示可能なデータ構造定義用画面と、
前記データ構造定義用画面を使用してユーザーが定義した前記データフォーマットに基づいて、交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するデータ構造定義部と、
前記データ構造定義部によって定義されたデータフォーマットに基づいて入力用ユーザーオブジェクトを生成するユーザーオブジェクト生成部と、
前記データ構造定義部によって生成された交換用データとユーザーオブジェクトの間のデータ変換関数を格納し、データ変換を行うクライアントデータ変換部と、
前記データ構造定義部によって生成された交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数を格納し、データ変換を行うサーバーデータ変換部とを生成し、
前記データ構造定義部により、ユーザーが前記データ構造定義用画面を使用して定義した交換用データのデータフォーマットに基づいて交換用データとユーザーオブジェクトとの間の、及び交換用データとサーバーアプリケーションソフトウェアとの間のデータ変換関数を生成するとともに、前記ユーザーオブジェクト生成部により入力用ユーザーオブジェクトを生成し、該入力用ユーザーオブジェクトに前記ユーザーが定義した交換用データのデータフォーマットに基づいて前記クライアントアプリケーションソフトウェアの入力データをセットし、
前記クライアントアプリケーションソフトウェアからのリクエストを入力すると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力用オブジェクトにセットされた入力データを交換用データに変換して前記サーバーアプリケーションソフトウェアに送信し、
前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データが前記サーバーアプリケーションソフトウェアに送信されると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記クライアントアプリケーションソフトウェアの入力データから変換された交換用データを前記サーバーアプリケーションソフトウェアの入力データに変換して前記サーバーアプリケーションソフトウェアに入力し、
前記サーバーアプリケーションソフトウェアによって処理された出力データを入力すると、前記サーバーデータ変換部が、前記交換用データとサーバーアプリケーションソフトウェアの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアによって処理された出力データを交換用データに変換して前記クライアントアプリケーションソフトウェアに送信し、
前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データが前記クライアントアプリケーションソフトウェアに送信されると、前記クライアントデータ変換部が、前記交換用データとユーザーオブジェクトの間のデータ変換関数によって、前記サーバーアプリケーションソフトウェアの出力データから変換された交換用データを前記クライアントアプリケーションソフトウェアの入力データに変換して前記クライアントアプリケーションソフトウェアに入力する、ように機能させるプログラムを記録したものである。
【００２７】
【発明の実施の形態】
次に、本発明の実施形態について以下に説明する。
本発明によるデータ交換装置は、Ｃ++、Ｏｂｊｅｃｔ  ＰＡＳＣＡＬ、ＰｏｗｅｒＳｃｒｉｐｔ等のオブジェクト指向言語で作動する情報処理システムと、Ｃ、ＣＯＢＯＬ等の従来型のプログラム言語で作動する情報処理システムと間のデータ交換を行うものである。
【００２８】
以下の発明の実施形態の説明では、オブジェクト指向言語を使用するクライアントコンピュータと、Ｃ、ＣＯＢＯＬを使用するサーバーを例に、異言語システム間のデータ交換装置とデータ交換方法について説明する。
【００２９】
図１は、本実施形態のデータ交換装置の構成と、そのデータ交換方法の処理の流れを示したものである。
【００３０】
図１に示すように、本実施形態のデータ交換装置は、クライアントコンピュータ１と、サーバー２の間のデータ交換を行うデータ交換インターフェース３を提供する。
【００３１】
このデータ交換インターフェース３は、クライアントコンピュータ側のアプリケーションソフトウェアプログラム４（以下クライアントアプリケーションソフトウェア４という）とクライアントアプリケーションソフトウェア４が取り扱うユーザーオブジェクト５との間、ユーザーオブジェクト５と交換されるデータ６（以下交換用データ６という）との間、及び交換用データ６とサーバー側のアプリケーションソフトウェアプログラム７（以下サーバーアプリケーションソフトウェア７という）との間、のインターフェース（接続）をなす。
【００３２】
上記データ交換インターフェース３は、主に以下の諸機能を発揮する。
【００３３】
（１）データフォーマットの定義
（２）入力用ユーザーオブジェクト１３の生成
（３）交換用データ６とユーザーオブジェクト５間のデータ変換（クライアントコンピュータ側）
（４）交換用データ６とサーバーアプリケーションソフトウェア７間のデータ変換（サーバー側）
上記諸機能を発揮するために、データ交換インターフェース３は、データ構造定義部８と、ユーザーオブジェクト生成部９と、クライアントデータ変換部１０と、サーバーデータ変換部１１と、を有している。
【００３４】
一方、クライアントアプリケーションソフトウェア４は、種々の処理を行うオブジェクト指向プログラム１２を含む。これらのオブジェクト指向プログラム１２が取扱うのがユーザーオブジェクトであり、ユーザーオブジェクト５は、入力用ユーザーオブジェクト１３と、リクエストオブジェクト１４と、出力用ユーザーオブジェクト１５と、を含む。
【００３５】
また、サーバーアプリケーションソフトウェア７は、ＣＯＢＯＬ等の従来の言語で処理を行う処理部１６を有している。
【００３６】
次に、上記構成を有するクライアントサーバーシステムにおける処理について以下に説明する。
【００３７】
本発明によるデータ交換インターフェース３は、ユーザーが入力可能なデータ構造定義用画面１７を提供する。このデータ構造定義用画面１７は、ユーザーの入力により、交換用データ６のデータフォーマット（構造）を定義し、その交換用データ６とユーザーオブジェクト５間のデータ変換関数と、交換用データ６とサーバーアプリケーションソフトウェア７間のデータ変換関数を生成する。
【００３８】
図２にデータ構造定義用画面１７の一例を示す。このデータ構造定義用画面１７は、データフォーマット名１７ａ、変数名１７ｂ、各変数データの型（データ型）１７ｃ、データ長（型長）１７ｄ、配列情報１７ｅ等、を入力できるようになっている。また、表形式のデータを含むデータについては、データ型のところに構造体（表型データ）名を入力し、その構造体について別個のウィンドウ１７ｆによって定義できるようになっている。
【００３９】
上記データ構造定義用画面１７によって定義するデータ型は、オブジェクト指向言語とＣ，ＣＯＢＯＬ等の従来型言語の双方で取扱い上（コマンド上）共通して区別するデータ型に対応するものである。
【００４０】
表１と表２に、オブジェクト指向言語とＣＯＢＯＬ、及びオブジェクト指向言語とＣのデータ型の対応をそれぞれ示す。
【００４１】
【表１】
0003963985.tif 000002
【００４２】
【表２】
0003963985.tif 000003
交換用データ６は、これらデータ型のデータの羅列によって構成される。すなわち、交換用データ６は平文のデータである。
【００４３】
これらの表からわかるように、共通のデータ型の区分により、交換用データ６を、オブジェクト指向言語とＣとＣＯＢＯＬのそれぞれの言語でデータ型に応じてデータの入出力を行うことができる。
【００４４】
ここで、表１と表２に示すように、本発明によれば、データの個数が任意に指定できる表形式のデータについても、個数を指定することにより、データ交換することができるようにした点は注目に値する（表１，２におけるデータ型（６），（７），（８））。
【００４５】
続いて、本発明のデータ交換インターフェース３のデータ構造定義部８は、データフォーマットに対応するデータ変換関数を、クライアントデータ変換部１０とサーバーデータ変換部１１に自動生成する（図１参照）。
【００４６】
一方、ユーザーオブジェクト生成部９は、定義されたデータフォーマットにより、入力用ユーザーオブジェクト１３を生成することができる。
【００４７】
すなわち、入力用ユーザーオブジェクト１３の項目に値をセットする場合、「ｉｎＤａｔａＯｂｊ．ｓｅｔ＿ＩｔｅｍＮａｍｅ（ｄａｔａ）」（単一データの場合）とすることにより、入力用ユーザーオブジェクト１３の項目にデータの値をセットすることができる。
【００４８】
ここで、ＩｔｅｍＮａｍｅは、データ構造定義用画面１７により定義した変数名である。
【００４９】
以上は、主に開発環境において、データフォーマットと、入力用ユーザーオブジェクトとをセットする操作である。次に動作環境におけるデータ変換の流れを説明する。
【００５０】
なお、本実施形態では、以上の開発環境と以下の動作環境が同一のクライアントコンピュータ１のシステム上で稼動するように説明しているが、開発環境用のクライアントコンピュータと動作環境用のクライアントコンピュータに分けて作動させるのが好ましい。
【００５１】
上記説明したようにセットされたデータは、リクエストオブジェクト１４のリクエスにより、クライアントデータ変換部１０によって平文である交換用データ６に変換された後に、サーバー２に送られ、サーバーデータ変換部１１により、ＣやＣＯＢＯＬによる処理部１６の適当な位置に自動的にセットされる。
【００５２】
処理部１６がＣＯＢＯＬ言語である場合、サーバーデータ変換部１１は、ＣＯＰＹ句等によりデータをＣＯＢＯＬプログラムの入力部にセットする。
【００５３】
また、処理部１６がＣ言語によって作動するプログラムである場合、サーバーデータ変換部１１は、「＿ＩＦＴ＿ｇｅｔ＿ｆｏｒｍａｔＮａｍｅ（ｆｏｒｍａｔ，ｄａｔａ，ｌｅｎ）」というようにして、交換用データ６のデータをＣ言語プログラムの構造体に変換する。
【００５４】
ここで、上記ｆｏｒｍａｔＮａｍｅは、データ構造定義用画面１７により定義したデータフォーマット名である。
【００５５】
このように、データ交換インターフェース３の機能により、ユーザーがデータフォーマットを定義し、入力用ユーザーオブジェクト１３を生成してサーバー２による所定の処理をリクエストすると、入力用ユーザーオブジェクト１３のデータは、クライアントデータ変換部１０によって交換用データ６としてサーバー２に送られ、サーバーデータ変換部１１によりサーバーアプリケーションソフトウェア７の処理部１６に入力される。
【００５６】
また、サーバーアプリケーションソフトウェア７によってデータが処理された後、サーバーデータ変換部１１にデータが返送されると、ＣやＣＯＢＯＬのデータを交換用データ６に変換し、転送された交換用データ６をクライアントデータ変換部１０は出力用ユーザーオブジェクト１５のデータ項目に入れて、オブジェクト指向プログラム１２に返すようにする。
【００５７】
以上の本発明のデータ交換装置と方法によれば、従来のデータ交換方法に比べて以下の利点を有する。
【００５８】
最初に、本発明のデータ交換装置と方法は、データ変換がクライアントアプリケーションソフトウェア４やサーバーアプリケーションソフトウェア７から切り離され、データ交換インターフェース３によって行われている点がある。
【００５９】
これにより、データフォーマットが変更されたときは、データ構造定義用画面１７により再定義すれば、データ変換関数も再生成され、アプリケーションソフトウェア４，７の内容まで変更する必要がなく、フォーマットを変更したデータについてデータ交換及びクライアントサーバーにおける処理を行うことができる。
【００６０】
また、本発明のデータ交換方法によれば、主なデータ変換はクライアントコンピュータ１側で行われ、サーバー２側は簡単なデータ構造体生成（Ｃの場合）、ＣＯＰＹ句実行（ＣＯＢＯＬの場合）しか行わない。
【００６１】
これにより、システムの変更に対してクライアントコンピュータ側で柔軟に対応でき、かつ、サーバー２の負荷を軽減することができる。
【００６２】
また、本発明のデータ交換方法によれば、ユーザーオブジェクト１３，１４のデータ項目を自由にセットでき、このユーザーオブジェクト１３，１４を単一のリクエスト命令によって、データ交換とサーバーの処理を行うことができる。
【００６３】
これにより、従来のデータ交換方法（１）のようにデータ種別ごとに呼出命令を変える必要はなく、多様なデータ交換を行う処理を簡素化することができる。さらに、上記本発明のデータ交換インターフェース３によれば、クライアントサーバーシステムを構築する際に、クライアントコンピュータとサーバーの単独のテストを容易にすることができる。
【００６４】
すなわち、クライアントサーバーシステムを構築する際には、クライアントコンピュータとサーバーにおいて共通のデータ型のデータについてそれぞれ矛盾のない出力結果を得なければならない。
【００６５】
本発明のデータ交換装置と方法によれば、データ構造定義部８により、共通のデータ構造を定義し、それぞれのシステムに対するデータ変換関数を生成する。次に、クライアントコンピュータ１側で、所定のテストデータを用いてユーザーオブジェクトを生成し、クライアントスタブを用いてテストを行い、結果を上記データ変換関数によってテキストデータに変換する。
【００６６】
一方、サーバー２側では、クライアントコンピュータ１と同一のテストデータを用いてサーバー２用のデータに変換し、テスト用プログラムによってテストを行い、データ変換関数によってテキストデータに変換する。
【００６７】
上記クライアントコンピュータ１とサーバー２の出力したテキストデータを検討することにより、両システムをテストすることができる。
【００６８】
このように、本発明のデータ交換インターフェース３によれば、共通のデータをクライアントとサーバーの両システムのデータに変換し、また、両システムの処理結果を同一のテキストデータに変換することができるので、クライアントとサーバーの独立のテストを容易にすることができる。
【００６９】
【発明の効果】
上記説明から明らかなように、本願発明の異言語間におけるデータ交換装置と方法によれば、オブジェクト指向言語によって情報処理を行う情報処理システムと、ＣやＣＯＢＯＬ等の従来型プログラム言語によって情報処理を行う情報処理システムの、双方で共通して取り扱うデータ型のデータによって構成されるデータフォーマットを定義し、自動生成したデータ変換関数によってそのデータフォーマットの交換用データをそれぞれのシステムに取り込むようにする。これにより、幅広く異言語システムに対して簡単にデータ交換を行うことができる。
【００７０】
しかも、本発明の装置及び方法では、当該アプリケーションソフトウェアの開発において重要とされるデータ構造、特に可変長データをも扱えるように、表１及び表２に示すような共通データフォーマットの書式を指定することができる。このため、アプリケーションソフトウェアの開発において、従来の方法によれば制約が大きく、開発上の支障となってきたのに対して、その制約を緩和することができ、開発効率を著しく向上させることができる。
【００７１】
また、本発明の装置と方法によれば、クライアントアプリケーションソフトウェアやサーバーアプリケーションソフトウェアから切り離されたデータ交換インターフェース３によってデータ変換を行うようにしたので、データフォーマットが変更されたときは、データフォーマットを再定義すれば、アプリケーションソフトウェアの内容を変更することなく、異言語システム間でデータ交換及び処理を行うことができる。
【００７２】
また、本発明の装置と方法によれば、クライアントサーバーシステムにおいて、主なデータ変換はクライアントコンピュータ側で行われ、サーバー側は簡単なデータ構造体生成（Ｃの場合）や、ＣＯＰＹ句実行（ＣＯＢＯＬの場合）しか行わないので、システムの変更に対してクライアントコンピュータ側で柔軟に対応でき、かつ、サーバーの負荷を軽減することができる。
【００７３】
また、本発明のデータ交換方法によれば、オブジェクトにデータを入れてデータ交換と処理をすることができるので、ユーザーは単一のリクエスト命令によって、データ交換と処理を行うことができる。これにより、従来データ種別ごとに呼出命令を変えていたのに対し、単一の命令によって多様なデータ交換と処理を行うことができる。
【００７４】
さらに、本発明の異言語システム間のデータ交換装置によれば、同一のデータ型のデータからなるデータを生成し、データ変換関数も自動的に生成することができる。したがって、同一のテストデータを生成し、このテストデータを異言語システムでそれぞれ独立に処理し、データ変換関数によってテキストデータに変換することにより、両システムの処理をテストすることができる。これにより、従来テスト用に同一データを用意し、その処理結果を比較していた手間と時間を大幅に低減することができる
【図面の簡単な説明】
【図１】本発明による異言語システム間におけるデータ交換装置の構成と、そのデータ交換方法の処理の流れを示したブロック図。
【図２】本発明のデータ交換インターフェースが提供するデータ構造定義用画面の一例を示す図。
【符号の説明】
１  クライアントコンピュータ
２  サーバー
３  データ交換インターフェース
４  クライアントアプリケーションソフトウェア
５  オブジェクト
６  交換用データ
７  サーバーアプリケーションソフトウェア
８  データ構造定義部
９  ユーザーオブジェクト生成部
１０  クライアントデータ変換部
１１  サーバーデータ変換部
１２  オブジェクト指向プログラム
１３  入力用ユーザーオブジェクト
１４  リクエストオブジェクト
１５  出力用ユーザーオブジェクト
１６  処理部
１７  データ構造定義用画面
【図１】
0003963985.tif 000004
【図２】
0003963985.tif 000005