(57)【要約】【課題】この発明の目的は、ユーザーレベルで、データソース間の連携ソフトの開発を必要としないデータ連携システムを提供することである。【解決手段】「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを受け付け、「リザルト」という定型化されたオブジェクトを出力するアダプタインターフェースａｉを有するアダプタと、スクリプト処理部とを備え、上記「プットデータ」は、上記スクリプト処理部から「データ」として定型化されたオブジェクトを受け取る機能を指定したコマンドであり、上記「ゲットデータ」は、上記スクリプト処理部へ「データ」を含んだリザルトを渡す機能を指定したコマンドである点に特徴を有する。【選択図】  図１
2006039597.tif 000002
【特許請求の範囲】
【請求項１】
「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを受け付け、「リザルト」という定型化されたオブジェクトを出力するアダプタインターフェースを有するアダプタと、スクリプト処理部とを備え、上記「プットデータ」は、上記スクリプト処理部から「データ」として定型化されたオブジェクトを受け取る機能を指定したコマンドであり、上記「ゲットデータ」は、上記スクリプト処理部へ「データ」を含んだリザルトを渡す機能を指定したコマンドであるデータ連携システム。
【請求項２】
「データ」がＸＭＬ（extensible markup language）文書である請求項１に記載のデータ連携システム。
【請求項３】
アダプタは、アクセスすべきデータソースの種類ごとに設定した動作をするメイン動作部と、データソースの種類ごとに設定したデータの属性、取得先、格納場所、問い合わせ内容等のメタデータを格納するメタデータ格納部とを備えた請求項１または２に記載のデータ連携システム。
【請求項４】
アダプタインターフェースとスクリプト処理部とを接続するとともに、スクリプト処理部は、アダプタインターフェースに対して「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを発行して、アダプタインターフェースとの間でデータをやり取りする機能を備えた請求項１〜３のいずれか１に記載のデータ連携システム。
【請求項５】
スクリプト処理部に、「コンバート」という抽象的な概念で定義付けされたコマンドを受け付けるコンバータインターフェースを有するコンバータを接続するとともに、上記「コンバート」はスクリプト処理部から「データ」を受け取って変更を加えた「データ」を含んだ「リザルト」を返す機能を指定するコマンドである請求項１〜４のいずれか１に記載のデータ連携システム。
【請求項６】
コンバータは、コンバートされるデータ型に対応させたメイン動作部と、目的のデータ型に変換する変換ルールの格納場所や各種変換オプションを管理するメタデータ格納部とを備えた請求項５記載のデータ連携システム。
【請求項７】
スクリプト作成部を備え、メタデータを特定したゲット対象のデータソースアイコンと、同じくメタデータを特定したプット対象のデータソースアイコンと、これらゲット対象のデータソースおよびプット対象のデータソースに対応させたコンバータアイコンとを、スクリプト記述画面に表示し、これら各アイコンを矢印で結線することによって、スクリプト作成部でスクリプトが自動的に生成する請求項５または６に記載のデータ連携システム。
【請求項８】
コンバータのメイン動作部にはＸＳＬＴ（extensible style  language transformations）変換エンジンを特定し、メタデータ格納部は、入力側のＸＭＬ（extensible markup language）文書から出力側のＸＭＬ文書にコンバートするためのＸＳＬＴによる変換ルールを特定する情報を格納する請求項５〜７のいずれか１に記載のデータ連携システム。
【請求項９】
ディスプレイ上で対比させた入力側のＸＭＬ文書構造と出力側文書構造との必要箇所同士を結線して生成された結線情報に基づいて変換ルールを自動生成する変換ルール作成部を備えた請求項７または８に記載のデータ連携システム。
【請求項１０】
データソースの種類を特定する種類項目と、その種類項目に応じたメタデータ項目を特定するメタデータ項目欄と、メタデータの内容を特定するためのメタデータ内容特定欄とを、ディスプレイに表示し、メイン動作部は上記ディスプレイで特定されたデータソースの種類に応じた処理プログラムと、上記データソースの種類に応じたメタデータ項目とを記憶し、メタデータ格納部は、上記メタデータ内容特定欄で特定されたメタデータを格納する請求項１〜９のいずれか１に記載したデータ連携システム。
【請求項１１】
自身のインターフェースに対応したコマンドが、抽象的概念で定義付けられたコマンドであり、このコマンドをスクリプトに記述された順序や処理に従って、アダプタやコンバータに対して発行するとともに、上記アダプタやコンバータのインターフェースから返された「リザルト」を記憶する機能を実現するスクリプト処理部を備えた請求項１〜１０のいずれか１に記載のデータ連携システム。
【請求項１２】
スクリプトに、「リザルト」に基づいた条件分岐処理、並行処理、別のスクリプト処理部で処理する外部スクリプト実行の処理のうち、いずれか１または複数の処理を含んだ請求項１１に記載のデータ連携システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データソースの形式が異なるいろいろなデータソース間でデータのやりとりを自由にできるようにしたデータ連携システムに関する。
【０００２】
【従来の技術】
例えば、いろいろなデータソースは、それぞれ異なった構造（スキーマ）を持っていたり、データを入出力するインターフェースそのものが違っていたりすることがある。このようにスキーマやインターフェースが異なるデータソース間で、データのやりとりをしようとすれば、それらデータソースを連携するソフトを個別に開発しなければならなかった。つまり、異なるデータソースを連携させるためには、そのつど連携ソフトを開発しなければならなかった。
【０００３】
上記のデータソースと連携ソフトとの関係を、図９に基づいて説明する。
例えば、データソースＡとＢとがある場合に、それら各データソースＡ、Ｂには、それ専用のインターフェースを備えているのが通常である。したがって、データソースＡ、Ｂを連携させるときには、それら専用インターフェースを連携させるための連携ソフトを作成しなければならない。
このように両データソースＡ、Ｂを連携させるために、従来はデータソースＡの専用インターフェースとデータソースＢの専用インターフェースとを連携するための専用連携ソフトＦ１を開発していた。この専用連携ソフトＦ１を開発するためには、上記両専用インターフェースのシステム（プログラム）を熟知していなければならなかった。
【発明が解決しようとする課題】
【０００４】
上記従来の場合には、データソースＡとＢの専用インターフェースのすべてを熟知している者でないと、連携ソフトＦ１を作成できない。しかし、すべての人が専用インターフェースを熟知しているとは限らない。そのために、連携ソフトＦ１を作成するには、高度な専門知識を持った専門家に依頼せざるを得ないという問題があった。
【０００５】
また、上記のように連携ソフトＦ１を用いてデータソースＡ、Ｂを連携させたとしても、その後に、別のデータソースＣを連携させようとしたときには、次のような問題が発生する。
まず、図１０に示すように、連携ソフトＦ１を連携ソフトＦ２に変更して、すべてのデータソースＡ〜Ｃの専用インターフェースに対応できるようにすることが考えられる。しかしながら、連携ソフトＦ１を連携ソフトＦ２ に変更するためには、データソースＡ〜Ｃの各専用インターフェースのプログラムを熟知していなければならないし、連携ソフトＦ１の形式までも知らなければならない。
【０００６】
しかし、コンピュータ業界では、人の流動性が高いので、各専用インターフェースや連携ソフトＦ１を作成した者が、連携ソフトＦ２を作成するとは限らない。その間でプログラマーが違ってしまえば、上記連携ソフトＦ１の変更による連携ソフトＦ２の開発はほとんど不可能になる。そのために、連携ソフトＦ２をまったく新たに作り直すというのが現状である。
このように連携ソフトＦ２をまったく新たに作り直すためには、膨大な時間と費用が必要となるという問題があった。
【０００７】
さらに、既存のデータソースＡ、Ｂを上記新たなデータソースＣに連携させる場合に、図１１に示すタイプも考えられる。すなわち、データソースＡとＢを連携させる連携ソフトＦ１と、データソースＡとＣを連携させる連携ソフトＦ３と、データソースＢとＣを連携させる連携ソフトＦ４とを、別々に作成するタイプである。
【０００８】
このタイプでは、各データソースＡ〜Ｃ間において、上記図９のタイプとまったく同様の問題を含んでいる。しかし、それだけではない。例えば、データソースＡ〜Ｃに、まったく新たなデータソースＤを連携させたいとき、図１２に示しように連携ソフトＦ１、Ｆ３、Ｆ４，Ｆ５，Ｆ６，Ｆ７が必要である。つまり、そのプログラミング工数が飛躍的に増え、当然のこととして時間と費用もさらに増えてしまうが、それは次の理由からである。
すなわち、上記の場合に、データソースＡ〜ＣにデータソースＤを連携させるためには、データソースＡとＤ、データソースＢとＤ、データソースＣとＤのそれぞれを連携させる連携ソフトが必要になる。
【０００９】
しかし、上記のように連携ソフトを作成するためにプログラマーは、データソースＡ〜Ｄの専用インターフェースすべてを熟知していなければならない。しかし、そのようなことは現実にはあり得ない。そのために、この場合にも、データソースＡ〜Ｄを連携させるための連携ソフトを新たに作り直さなければならない。
しかし、上記のようにデータソースの数が増えれば増えるほど、連携ソフトを作成する工数が膨大なものになる。
【００１０】
例えば、上記新しい連携ソフトの開発工数をｆとし、連携すべきデータソースの数をｎとすると、データソースＡ〜Ｄのすべてを連携させる連携ソフトの総開発工数は、ｎ（ｎ−１）×ｆ／２ということになる。そのために、その総工数は膨大な数になるが、その工数が膨大になればなるほど、計り知れない膨大な費用と時間がかかることになる。
この発明の目的は、ユーザーレベルで、複雑な連携ソフトの作成を必要としないデータ連携システムを提供することである。
【００１１】
【課題を解決するための手段】
第１の発明は、「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを受け付け、「リザルト」という定型化されたオブジェクトを出力するアダプタインターフェースを有するアダプタと、スクリプト処理部とを備え、上記「プットデータ」は、上記スクリプト処理部から「データ」として定型化されたオブジェクトを受け取る機能を指定したコマンドであり、上記「ゲットデータ」は、上記スクリプト処理部へ「データ」を含んだリザルトを渡す機能を指定したコマンドである点に特徴を有する。
【００１２】
第２の発明は、「データ」がＸＭＬ（extensible markup language）文書である点に特徴を有する。
第３の発明は、アダプタは、アクセスすべきデータソースの種類ごとに設定した動作をするメイン動作部と、データソースの種類ごとに設定したデータの属性、取得先、格納場所、問い合わせ内容等のメタデータを格納するメタデータ格納部とを備えた点に特徴を有する。
なお、上記データソースには、データベース、アプリケーションソフト、ファイルなどを含む。
【００１３】
第４の発明は、アダプタインターフェースとスクリプト処理部とを接続するとともに、スクリプト処理部は、アダプタインターフェースに対して「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを発行して、アダプタインターフェースとの間でデータをやり取りする機能を備えた点に特徴を有する。
【００１４】
第５の発明は、スクリプト処理部に、「コンバート」という抽象的な概念で定義付けされたコマンドを受け付けるコンバータインターフェースを有するコンバータを接続するとともに、上記「コンバート」はスクリプト処理部から「データ」を受け取って変更を加えた「データ」を含んだ「リザルト」を返す機能を指定するコマンドである点に特徴を有する。
第６の発明は、コンバータは、コンバートされるデータ型に対応させたメイン動作部と、目的のデータ型に変換する変換ルールの格納場所や各種変換オプションを管理するメタデータ格納部とを備えた点に特徴を有する。
【００１５】
第７の発明は、スクリプト作成部を備え、メタデータを特定したゲット対象のデータソースアイコンと、同じくメタデータを特定したプット対象のデータソースアイコンと、これらゲット対象のデータソースおよびプット対象のデータソースに対応させたコンバータアイコンとを、スクリプト記述画面に表示し、これら各アイコンを矢印で結線することによって、スクリプト作成部でスクリプトが自動的に生成する点に特徴を有する。
【００１６】
第８の発明は、コンバータのメイン動作部にはＸＳＬＴ（extensible style  language transformations）変換エンジンを特定し、メタデータ格納部は、入力側のＸＭＬ（extensible markup language）文書から出力側のＸＭＬ文書にコンバートするためのＸＳＬＴによる変換ルールを特定する情報を格納する点に特徴を有する。
【００１７】
第９の発明は、ディスプレイ上で対比させた入力側のＸＭＬ文書構造と出力側文書構造との必要箇所同士を結線して生成された結線情報に基づいて変換ルールを自動生成する変換ルール作成部を備えた点に特徴を有する。
【００１８】
第１０の発明は、データソースの種類を特定する種類項目と、その種類項目に応じたメタデータ項目を特定するメタデータ項目欄と、メタデータの内容を特定するためのメタデータ内容特定欄とを、ディスプレイに表示し、メイン動作部は上記ディスプレイで特定されたデータソースの種類に応じた処理プログラムと、上記データソースの種類に応じたメタデータ項目とを記憶し、メタデータ格納部は、上記メタデータ内容特定欄で特定されたメタデータを格納する点に特徴を有する。
【００１９】
第１１の発明は、自身のインターフェースに対応したコマンドが、抽象的概念で定義付けられたコマンドであり、このコマンドをスクリプトに記述された順序や処理に従って、アダプタやコンバータに対して発行するとともに、上記アダプタやコンバータのインターフェースから返された「リザルト」を記憶する機能を実現するスクリプト処理部を備えた点に特徴を有する。
【００２０】
第１２の発明は、スクリプトに、「リザルト」に基づいた条件分岐処理、並行処理、別のスクリプト処理部で処理する外部スクリプト実行の処理うち、いずれか１または複数の処理を含んだ点に特徴を有する。
なお、上記スクリプト処理部が実行するスクリプトは、上記スクリプト作成部が作成したスクリプトに限らない。
【００２１】
【発明の実施の形態】
図１に示したように、データソースＡ、Ｂのそれぞれには、そのデータソースに対応したアダプタａ、ｂが接続され、しかもこれらアダプタａ、ｂには、アダプタインターフェースａｉを備えている。
上記アダプタインターフェースａｉは、「プットデータ」と「ゲットデータ」という抽象的な概念で定義付けされたコマンドを受け付けるようにしている。
上記「プットデータ」は、データを引数として受け取り、「リザルト」として返すコマンドである。また、「ゲットデータ」とは、「リザルト」を返すのみで、「プットデータ」のように引数を必要としない。なお、上記「リザルト」は、定型化されたオブジェクトである。
【００２２】
アダプタインターフェースａｉをこのように抽象的な概念で定義付けすることによって、これらインターフェース間では、「プットデータ」と「ゲットデータ」というコマンドで、その入出力要求に応えることができる。したがって、これらアダプタインターフェースａｉさえ共通化しておけば、異なるデータソースに対しても、その入出力要求に応えることができる。
また、アダプタインターフェースａｉが「プットデータ」と「ゲットデータ」という抽象的な概念で定義付けされたコマンドだけを受け付けるということは、データソースごとの専用インターフェースが不要ということにもなる。
【００２３】
一方、上記したアダプタａ、ｂは、メイン動作部１とメタデータ格納部２とを備えている。つまり、上記アダプタａ、ｂは、それぞれ、アダプタインターフェースａｉとメイン動作部１とメタデータ格納部２とからなる。
上記メイン動作部１は、受け容れられるデータ型をあらかじめ特定している。ただし、一つのデータ型に特定しているわけではなく、既存のデータ型や特別仕様の例えば企業内標準データ型など、複数のデータ型に対応できるようにしている。
なお、上記既存のデータ型として、例えば、ＸＭＬデータ型、Ｔｅｘｔデータ型あるいはＣＳＶファイルデータ型等々がある。
上記メタデータ格納部２は、個々のデータソースについてのデータの属性、取得先、格納場所、問い合わせ内容等のデータを格納するためのものである。
【００２４】
そして、メイン動作部１には、「プットデータ」というコマンドが入力したときに処理すべきことと、「ゲットデータ」というコマンドが入力したときに処理すべきこととを、あらかじめ記憶させている。つまり、「プットデータ」というコマンドが入力したときには、データソースにデータを書き込む処理をするというプログラムがあらかじめ記憶されている。また、「ゲットデータ」というコマンドが入力したときには、データソースからデータを引き出す処理をするというプログラムがあらかじめ記憶されている。
【００２５】
これらのプログラムはデータソースごとに異なるものである。そして、これらのプログラムは、図２のデータソースの種類項目３から、データソースの種類を特定することによって決まり、上記メイン動作部１に記憶される。つまり、アダプタａとアダプタｂとは、上記メイン動作部１に記憶されるプログラムが異なる。
ただし、メイン動作部１には、ひとつのデータソースの種類に対応した上記コマンドに対する処理プログラムだけが記憶されているので、もし、一つのアダプタで複数のデータソースに対応しようとすれば、そのデータソースごとにメタデータを特定しなければならない。
【００２６】
そこで、この実施例では、データソースの種類を特定した段階で、メイン動作部１にメタデータの項目を特定できるようにしている。なお、データソースの種類とは、例えばリレーショナル・データベース、アプリケーションソフト、インターネット上のウエブサイト、ＸＭＬデータソース、ファイルシステム、ディレクトリーサーバー、フラットファイル、カスタム開発されたデータソース等々である。
【００２７】
また、上記メタデータの項目を特定する具体的な方法として、例えば、図２に示すように、コンピュータのディスプレイ上でデータソースの種類項目３を特定できるようにしている。データソースの種類項目３を特定すると、その種類項目３に対応したプログラムが特定され、そのプログラムがメイン動作部１に記憶される。このようにメイン動作部１にプログラムが記憶されれば、そのアダプタのメタデータ格納部２に格納されるべきメタデータ項目欄４が表示される。そこでメタデータ項目を特定すると、それがメタデータ格納部２に格納される。
なお、上記プログラムは、データベースの種類ごとに予め作成しておくものである。
【００２８】
また、上記ディスプレイ上には、図２に示すように、メタデータの項目に対応する具体的な内容を特定するための内容特定欄５が表示されるようにしている。つまり、上記したようにメタデータ項目欄４でメタデータ項目が特定されたら、それに対応した内容が特定できるようにしている。
例えば、図２は、オラクルのデータソースを選択した場合で、このときメイン動作部１に記憶されるメタデータ項目は、サービス名、ユーザー名、パスワード、テーブル名、問い合わせ文およびドライバ名である。
なお、上記問い合わせ文は、アダプタインターフェースａｉが「ゲットデータ」というコマンドを受け付けたときだけに必要とされるものである。
【００２９】
また、上記内容特定欄５には、メタデータ項目欄４に対応する具体的な内容を入力するが、この内容特定欄５で特定されたメタデータが、メタデータ格納部２に格納される。
このようにして特定されたメタデータがメタデータ格納部２に格納された状態で、例えば、「プットデータ」が受け付けられたとき、メイン動作部１が「プットデータ」というコマンドに応じた書き込み処理を開始する。ただし、どのデータソースに、どのような項目をどのようにして書き込むかは、メタデータに依存する。
【００３０】
また、メイン動作部１に、「ゲットデータ」が入力されれば、メイン動作部１が「ゲットデータ」というコマンドに応じたデータの引き出し処理を開始する。ただし、どのデータソースのどの項目を引き出すかは、メタデータに依存する。つまり、メイン動作部１は、内容特定欄５で具体的に特定されたメタデータに基づいて、必要なデータソース、例えばデータソースＡのデータを引き出す処理を開始することになる。
【００３１】
上記のようにこの実施例では、アダプタインターフェースａｉを、「プットデータ」と「ゲットデータ」という抽象的に定義付けられたコマンドを受け付けるようにするとともに、「プットデータ」あるいは「ゲットデータ」というコマンドに対して、メイン動作部１にプット処理あるいはゲット処理を実行させる。ただし、その具体的な処理は、メタデータ格納部２に格納したメタデータに依存させるようにしている。
【００３２】
今、例えば、データソースＡ側のアダプタインターフェースａｉがプットデータを受け付けると、アダプタａのメイン動作部１がプット処理を開始する。ただし、このときのプットデータが、アダプタａのメイン動作部１にあらかじめ特定されたデータ型に対応していないときには、そのプットデータを受け容れられないという信号、例えばエラー信号を含んだ「リザルト」をアダプタインターフェースａｉから出力するようにしている。
【００３３】
上記プットデータが、あらかじめ特定されたデータ型に対応しているときには、アダプタａのメイン動作部１が、メタデータ格納部２に格納されたメタデータに基づいて、上記プットデータをデータソースＡに書き込む処理を実行する。そして、この書き込みが終了したら、アダプタａのメイン動作部１は書き込み終了の信号を含んだ「リザルト」をアダプタインターフェースａｉから出力する。
【００３４】
上記のようにデータソースＡ側のアダプタインターフェースａｉから出力された「リザルト」が、データソースＢ側にそのまま返された場合には、データソースＢ側のアダプタインターフェースａｉが、その「リザルト」に含まれたデータをプットデータとして受け容れることになる。
したがって、ここでは、アダプタａ側のインターフェースと、アダプタｂ側のインターフェースとを連携するための特別なソフトが一切不要になる。
【００３５】
一方、データソースＡ側のアダプタインターフェースａｉにゲットデータが受け付けられると、アダプタａのメイン動作部１がゲット処理を開始する。ただし、ゲット処理のときには、データ型が異なるようなことはあり得ない。なぜなら、データソースＡに接続したアダプタａは、前記したようにデータソースＡ用として、あらかじめ対応付けがされているからである。
したがって、上記ゲットデータが入力すれば、アダプタａのメイン動作部１が、メタデータ格納部２に格納されたメタデータに基づいて、データソースＡからゲットデータで指定されたデータをゲットするとともに、そのゲットしたデータを「リザルト」に含んでアダプタインターフェースａｉから出力する。
【００３６】
上記のようにデータソースＡ側のアダプタインターフェースａｉから出力された「リザルト」が、データソースＢ側にそのまま返された場合には、データソースＢ側のアダプタインターフェースａｉが、その「リザルト」をプットデータとして受け容れることになる。ただし、このときのプットデータが、アダプタｂのメイン動作部１であらかじめ特定されたデータ型に対応していなければ、例えばエラー信号を含んだ「リザルト」をアダプタインターフェースａｉから出力すること、前記の場合と同様である。
【００３７】
いずれにしても、この実施例の場合に、データソースＡ側のアダプタインターフェースと、データソースＢ側のアダプタインターフェースとの間でやりとりされるのは、プットデータとゲットデータだけである。したがって、アダプタインターフェースは、これらプットデータとゲットデータとを受け付ける機能さえ備えていれば、従来のようにアダプタインターフェースを連携するための専用連携ソフトなど、一切不要になる。
要するに、１つの汎用的なソフトウエアが、上記「プットデータ」と「ゲットデータ」を出力するだけで、上記ソフトウエアを介して、異なるデータソースを連携できるのである。
【００３８】
上記のようにしたアダプタインターフェースａｉには、図１に示すように、スクリプト処理部Ｓを接続している。
ただし、このスクリプト処理部Ｓは、上記アダプタインターフェースａｉとの間で、「プットデータ」と「ゲットデータ」というコマンドだけを用いて、データのやりとりができる。言い換えると、上記スクリプト処理部Ｓは、上記した「プットデータ」と「ゲットデータ」とを各アダプタに対して発行し、それら各アダプタからの「リザルト」を受け入れ、記憶し、変換する機能を備えている。この機能が、上記汎用的なソフトウエアにあたる。
【００３９】
また、このスクリプト処理部Ｓは、スクリプト作成部６で作成されたスクリプトを実行するものである。上記スクリプトとは、データのやり取りの手順と処理の種類とを特定したものである。例えば、アダプタａからゲット処理を行い、その「リザルト」に含まれたデータをアダプタｂにプット処理するというような処理の種類と手順とを記述したものである。
なお、上記スクリプト処理部Ｓにも、「イクスキュート」という抽象的に定義付けられたコマンドを受け付けるスクリプトインターフェースｓｉを備えている。そして、このスクリプト処理部Ｓは、上記スクリプトインターフェースｓｉを介して、外部スクリプト処理部ｏｓに接続している。この外部スクリプト処理部ｏｓは、上記スクリプト処理部Ｓとは別のスクリプトの処理を実行するところである。
【００４０】
ただし、この外部スクリプト処理部ｏｓにも、「イクスキュート」という抽象的に定義付けられたコマンドを受け付けるスクリプトインターフェースｓｉを備えている。
上記スクリプトインターフェースｓｉは、上記「イクスキュート」に対して処理結果を含んだ「リザルト」を出力する。この「リザルト」も、上記アダプタインターフェースａｉが出力する「リザルト」とフォーマットを同じにしている。したがって、スクリプト処理部Ｓと外部スクリプト処理部ｏｓとの間でも、抽象的に定義付けられた「イクスキュート」というコマンドを用いて実行命令のやりとりができる。このように、別々のスクリプト処理部間を接続することによって、複数のスクリプトの「リザルト」を１つのスクリプトの中で利用することができるようになる。
【００４１】
また、上記のようにしたスクリプト処理部Ｓには、コンバータＣを接続しているが、このコンバータＣには、コンバータインターフェースｃｉを備えている。このコンバータインターフェースｃｉは、「コンバート」という抽象的な概念で定義付けされたコマンドを受け付け、「リザルト」を返すようにしている。上記コンバータＣには、上記「コンバート」が実行される時点で、データが入力される。
そして、上記「コンバート」が実行された場合には、決められた変換ルールに基づいて入力されたデータを変換する処理を行い、その変換結果を含む「リザルト」を返す。この「リザルト」も、他のインターフェース、例えばアダプタインターフェースａｉやスクリプトインターフェースｓｉが返す「リザルト」とフォーマットを同じにしている。
【００４２】
このように、コンバータインターフェースｃｉとスクリプト処理部Ｓとの間では、定型化された「コンバート」と「リザルト」のやり取りが行われるので、上記コンバータインターフェースｃｉとスプリプト処理部Ｓとの間にも、特別な連携ソフトを必要としない。その原理は、前記したアダプタのインターフェースの場合とまったく同様である。
したがって、上記スクリプト処理部Ｓは、上記「コンバート」、「プットデータ」、「ゲットデータ」が記述されたスクリプトを実行することによって、異なるデータソース間を連携させることができる。
【００４３】
上記コンバータインターフェースｃｉを備えたコンバータＣには、メイン動作部７とメタデータ格納部８とを備えている。メイン動作部７は、コンバータインターフェースｃｉから「コンバート」というコマンドが入力したとき、目的のデータを含んだ「リザルト」を得るための変換機能を備えている。また、メタデータ格納部８は、目的のデータ型に変換する変換ルールの格納場所や各種変換オプションを管理するメタデータ格納部８とを備えている。
【００４４】
次に、上記のシステムを用いて、データソースＡからデータソースＢにデータをコンバートする場合について説明する。
まず、データソースＡの種類とそのメタデータを特定するが、そのためには、ユーザーが、図３に示すディスプレイ上のデータソース登録用のポップアップ画面１１ａを選択する。このようにデータソース登録用のポップアップ画面１１ａを選択すると、前記した図２に示すデータソースの種類項目３を示す画面が表示される。
【００４５】
そこで、データソースの種類項目３の中からその種類を特定すると、その種類に対応したメタデータ項目欄４が表示されるとともに、このメタデータ項目欄４で特定したメタデータ項目に対応した内容を書き込む内容特定欄５が表示される。
この内容特定欄５に所定の事項を書き込むと、上記種類項目３で特定したデータソースの種類とメタデータ項目がメイン動作部１に記憶されるとともに、内容特定欄５の内容が、メタデータ格納部２に格納され、データソースＡが特定される。このようにして特定されたデータソースＡは、図４に示すデータソース選択画面１１にデータソースアイコンとして表示される。
【００４６】
次に、データソースＢの種類とそのメタデータを特定するが、それはデータソースＡの場合とまったく同様である。そして、メタデータ格納部２にメタデータが格納される。このようにして特定されたデータソースＢが図４のデータソース選択画面１１にアイコン表示されるが、このこともデータソースＡの場合と同様である。
【００４７】
また、コンバータＣを特定する必要があるときには、データソースＡとＢとに応じてメイン動作部７の種類とその種類項目を特定するとともに、それに応じたメタデータを特定するが、その手順は、アダプタの場合と実質的に同様である。このようにしてメタデータを特定されたコンバータＣも、前記データソース選択画面１１にアイコン表示される。
【００４８】
そして、データソース選択画面１１に表示されたデータソースＡ、Ｂと、コンバータＣのアイコン表示と、開始アイコン１４と、終了アイコン１５とを、図４に示すスクリプト記述画面１２にドラッグアンドドロップする。
そして、上記データソースＡやＢのアイコンをドラッグアンドドロップすると同時に、ディスプレイには、図５に示すデータソース設定画面２０が表示される。このデータソース設定画面２０の処理選択欄２０ａで、上記データソースＡやＢに対して、ゲット処理をするのか、プット処理をするのかを特定する。
ここでは、データソースＡのデータをデータソースＢのデータに変換することにしているので、データソースＡについては「ゲット」を選択してゲット処理を特定する。
【００４９】
同様に、上記データソースＢのアイコンをドラッグアンドドロップした場合にも、図５のデータソース設定画面２０が表示されるが、こちらは、プット処理を特定する。上記データソース設定画面２０でプット処理を選択した場合には、図６に示すように、上記データソース設定画面２０内に、入力元欄２０ｂが表示される。この入力元欄２０ｂで、どこのデータをプットするのかを特定する。例えば、ここでは、コンバータＣの「リザルト」を、上記データソースＢにプットするということを特定できる。
【００５０】
また、コンバータＣのアイコンをドラッグアンドドロップした場合には、図７に示すマッピング設定画面２１が表示される。このマッピング設定画面２１の入力元欄２１ａで、コンバータＣに入力するデータの入力元を特定する。すなわち、上記データソースＡのどのデータが、変換元のデータであるかということを特定する。
上記のように、必要なアイコンを図４のスクリプト記述画面１２にドラッグアンドドロップしながら、処理の種類やデータの内容を特定したら、開始から終了までの処理手順に沿って、アイコン間を矢印１３で結線する。矢印１３で結線することによって、スクリプト作成部６がスクリプトを自動生成する。
【００５１】
ここで、作成されるスクリプトは、次のようなものである。
まず、データソースＡから特定のデータをゲット処理して、そのデータを含んだ「リザルト」を、コンバータＣに入力し、このコンバータＣで変換する。さらに、この変換結果を含んだ「リザルト」を、データソースＢに対してプット処理するというものである。
このように、スクリプト記述画面１２上での簡単な操作によって、スクリプトが自動生成できるので、プログラミングの知識のない者でも必要なスクリプトを生成させることができる。
【００５２】
なお、上記スクリプト記述画面１２上で、データソースアイコンなどを配置するのと同様に、条件分岐や、並行処理や、外部スクリプト実行などの処理アイコンを配置して、それらを結線することができる。条件分岐アイコンは、条件によって処理流れが分かれる部分に用い、並行処理アイコンは別々の処理を並行して行う場合に用いる。また、外部スクリプト実行とは、他のスクリプト処理部でスクリプトを実行することである。例えば、上記した外部スクリプト処理部ｏｓでスクリプトを処理したり、図１に示すコンピュータシステムとは別の外部のコンピュータシステムで処理したりすることが含まれる。
また、上記スクリプト処理部Ｓが処理するスクリプトは、スクリプト作成部６で作成されたスクリプトに限らない。例えば、外部で作成して入力されたスクリプトを実行することもある。
【００５３】
上記スクリプト処理部Ｓは、アダプタインターフェースａｉに対して、そのすべてのやりとりが、「プットデータ」あるいは「ゲットデータ」というコマンドで実行されるので、データソースがどのようなものであっても、アダプタインターフェースａｉとスクリプト処理部Ｓとの間では、特別な連携ソフトが不要になる。
また、スクリプト処理部Ｓは、コンバータインターフェースｃｉに対しても、そのすべてのやりとりが、「コンバート」というコマンドで実行されるので、データソースがどのようなものであっても、コンバータインターフェースｃｉとスクリプト処理部Ｓとの間では、特別な連携ソフトが不要になる。
【００５４】
なお、コンバータＣにＸＳＬＴ変換ルールを備えるとともに、入力データおよび出力データをＸＭＬ文書に特定すれば、次のようにして変換ルールを作成することができる。すなわち、図８に示すように、入力側のＸＭＬ文書構造Ｘと出力側のＸＭＬ文書構造Ｙとを画面上に対比させながら、文書構造Ｘ、Ｙの必要箇所同士を、ディスプレイ上で線を引いて、図２に示す変換ルール作成部９を動作させ、変換ルールを自動生成することができる。ここで作成された変換ルールは、ファイルシステム１０に登録される。そして、上記コンバータＣが動作する際には、メイン動作部７が、メタデータ格納部８に格納されたデータにしたがって、上記ファイルシステム１０から必要な変換ルールを引き出し、この変換ルールによってコンバート処理を行う。
【００５５】
上記のようにディスプレイ上で線を引くだけで、スクリプトを自動生成できるので、アプリケーションプログラミングの知識がない者にも簡単に扱えるようになる。
なお、上記のようにメイン動作部７でＸＳＬＴ変換ルールを特定しておけば、入力したＸＭＬ文書をメタデータで定義したＸＳＬＴファイルに基づいて、データ構造（スキーマ）が異なるＸＭＬ文書にコンバートできるのは当然のことであるが、ＸＭＬ文書を任意の書式のテキスト文書に変換することも可能になる。
【００５６】
上記の状況を具体的な例で説明する。例えば、会社の支店の情報を入力側のデータとし、出力側では営業情報だけを必要としているときには、入力側のＸＭＬ文書構造Ｘの営業情報に関するデータと、出力側のＸＭＬ文書構造Ｙの営業項目とを線で結ぶ。このように線で結べば、上記したようにスクリプト作成部６がスクリプトを自動生成するので、上記営業に関するデータだけが、出力側のＸＭＬ文書構造Ｙに自動的にコンバートされることになる。この程度のことであれば、アプリケーションプログラミングの知識がない者でも十分に対応できる。
【００５７】
なお、上記の例は、ＸＭＬ文書構造のもの同士を変換する場合について説明したが、コンバータＣのメイン動作部７にコード変換ルールを特定しておけば、ＳＪＩＳデータをＪＩＳデータにコード変換することも可能である。
要するに、メイン動作部７で特定するＸＳＬＴ変換エンジンによって、どのような文書の変換も可能になる。
【００５８】
また、上記実施例では、データソースがどんなに増えても、その数に関係なく対応できる。つまり、データソースに備えたアダプタインターフェースａｉは、いずれも「プットデータ」および「ゲットデータ」というコマンドで動作し、その結果を含んだ「リザルト」を返し、相手方のアダプタインターフェースａｉにおいても、それを「プットデータ」「ゲットデータ」として受け容れることができる。したがって、アダプタインターフェースａｉ，ａｉの間では、各アダプタに接続されたデータソースごとにそれらを連携する特別な連携ソフトがいらなくなる。連携ソフトがいらないので、データソースがどんなに増えてもまったく問題がない。
【００５９】
また、コンバータＣのコンバータインターフェースｃｉも、「コンバート」という抽象的な概念で定義付けされたコマンドで動作し、しかも、入力側のコンバートデータから目的のデータ型のデータを含んだ「リザルト」を得るための変換機能を備えたので、上記アダプタとまったく同様に、どのような種類のデータソースにも対応することができる。
【００６０】
【発明の効果】
第１〜第１２の発明は、「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドで受け付けるアダプタインターフェースを備えるとともに、上記「プットデータ」「ゲットデータ」というコマンドで動作し、かつ、アクセスすべきデータソースのデータ型に対応させたプログラムを記憶したアダプタを備えたので、上記アダプタインターフェースを介して接続するデータソース間の連携は、「プットデータ」「ゲットデータ」というコマンドのやりとりで足りる。つまり、上記アダプタインターフェースを介することにより、異なるデータソース間でも専用の連携ソフトを用いないで、汎用ソフトによってデータ連携ができるようになる。
【００６１】
第２の発明によれば、様々なＸＭＬ文書間の連携をする際にも、アダプタごとにデータを変換するプログラムが不要になる。つまり、上記の汎用ソフトがＸＭＬのみを処理できるもので有れば良い。
第３の発明は、メタデータを特定することによってアダプタの処理を特定できる。メタデータを選んで実際に行う処理を特定できるようにしたので、アダプタを予め多機能にして、汎用性を持たせることができる。
【００６２】
第４の発明は、アダプタインターフェースとスクリプト処理部とを接続するとともに、スクリプト処理部は、アダプタインターフェースの「プットデータ」「ゲットデータ」という抽象的な概念で定義付けされたコマンドを発行して、アダプタインターフェースとの間でデータのやりとりができる構成にしたので、アダプタインターフェースでは、データの種類が同じであれば個別の連携ソフトが一切不要である。
【００６３】
第５の発明によれば、コンバータインターフェースは、「コンバート」という抽象的な概念で定義付けされたコマンドを受け付ける一方、コンバータは入力側のコンバートデータから目的のデータ型のデータを含んだ「リザルト」を得るための変換機能を備えた。そのため、異なるデータソース間でも、個別の連携ソフトが不要になる。
【００６４】
第６の発明は、コンバータは、コンバートすべきデータ型に対応させたメイン動作部と、目的のデータ型に変換する変換ルールの格納場所や各種変換オプションを管理するメタデータ格納部からなるので、メタデータのみを変更することによって、様々な変換に対応できる。つまり、１つのコンバータで、あらゆる変換に対応できる。
【００６５】
第７の発明によれば、メタデータを特定したゲット対象のデータソースアイコンと、同じくメタデータを特定したプット対象のデータソースアイコンと、これらゲット対象のデータソースおよびプット対象のデータソースに対応させたコンバータアイコンとを、スクリプト記述画面に表示し、これら各アイコンを矢印で結線するだけで、スクリプト作成部がスクリプトを自動的に生成する。
したがって、オペレータは、スクリプト作成のためにプログラムを記述する必要がないのはもちろん、特殊なコマンドを入力する必要もない。つまり、アプリケーションプログラミングの知識がない者でも十分に対応できる。
【００６６】
第８の発明は、コンバータのメイン動作部にはＸＳＬＴ変換エンジンを特定し、メタデータ格納部には、入力側のＸＭＬ文書から出力側の文書にコンバートすべき変換ルールを格納させたので、このコンバータだけでＸＭＬ文書間の全ての変換に対応できる。すなわち、「データ」が全てＸＭＬの場合には、全てのデータソースに対して１つのコンバータのみで対応できる。
【００６７】
第９の発明によれば、ディスプレイ上で結線するだけで、必要な変換ルールが作成される。従って、プログラミングの知識のない者でも、簡単にデータ変換に対応することができる。
【００６８】
第１０の発明は、データソースの種類を特定する種類項目と、その種類項目に応じたメタデータ項目を特定するメタデータ項目欄と、メタデータの内容を特定するための内容特定欄とを、ディスプレイ上の画面に表示し、この画面に表示されたデータソースの種類およびメタデータ項目欄に表示されたメタデータ項目をアダプタのメイン動作部に記憶させ、メタデータの内容特定欄で特定したメタデータをメタデータ格納部に格納するようにしたので、データソースの種類、メタデータの項目およびその内容を簡単に特定できる。すなわち、高度な専門知識のない者にも複数のデータソース間の連携ができるようになる。
【００６９】
第１１の発明は、コマンドの定義付けの方法によって、スクリプト処理部が、単一かつ単純で、汎用性のあるものになる。
第１２の発明によれば、スクリプト処理部が、様々な処理を実行することによる、あらゆるタイプのデータ連携が可能になる。
【図面の簡単な説明】
【図１】システム図である。
【図２】データソースの種類とメタデータを特定するための画面である。
【図３】新規作成画面の図である。
【図４】スクリプト記述画面の図である。
【図５】データソース設定画面で、ゲット処理を選択した場合の図である。
【図６】データソース設定画面で、プット処理を選択した場合の図である。
【図７】マッピング設定画面の図である。
【図８】ＸＭＬ文書構造の必要箇所を線で結んだ図である。
【図９】従来の連携ソフトの構造を示す図である。
【図１０】従来の連携ソフトの構造を示す図である。
【図１１】従来の連携ソフトの構造を示す図である。
【図１２】従来の連携ソフトの構造を示す図である。
【符号の説明】
Ａ、Ｂ      データソース
ａ、ｂ      アダプタ
ａｉ        アダプタインターフェース
１          メイン動作部
２          メタデータ格納部
３          種類項目
４          メタデータ項目欄
５          内容特定欄
Ｓ、ｏｓ    スクリプト処理部
ｓｉ        スクリプトインターフェース
６          スクリプト作成部
７          メイン動作部
Ｃ          コンバータ
ｃｉ        コンバータインターフェース
８          メタデータ格納部
９          変換ルール作成部
１１        データソース選択画面
１２        スクリプト記述画面
１３        矢印
１４        開始アイコン
１５        終了アイコン
【図１】
2006039597.tif 000003
【図２】
2006039597.tif 000004
【図３】
2006039597.tif 000005
【図４】
2006039597.tif 000006
【図５】
2006039597.tif 000007
【図６】
2006039597.tif 000008
【図７】
2006039597.tif 000009
【図８】
2006039597.tif 000010
【図９】
2006039597.tif 000011
【図１０】
2006039597.tif 000012
【図１１】
2006039597.tif 000013
【図１２】
2006039597.tif 000014