(57)【要約】【課題】システム変更の柔軟性の阻害要因となりうるデータ構造の定期的な変更に対しても容易にデータ変換定義を作成可能なＸＭＬ文書変換の定義情報再構築装置、その方法およびプログラムを提供すること。【解決手段】現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更する。【選択図】図１
2009122933.tif 000002
【特許請求の範囲】
【請求項１】
現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更することを特徴とするＸＭＬ文書変換の定義情報再構築装置。
【請求項２】
ＸＭＬ文書変換における変換元データ構造と変換先データ構造内の要素間の関連をデータ構造のルート要素からの階層情報も含めて変換定義情報として外部出力することを特徴とする請求項１記載のＸＭＬ文書変換の定義情報再構築装置。
【請求項３】
ＸＭＬ文書変換における変換元データ構造と変換先データ構造内の要素間の関連は、ＸＭＬ文書にある要素の繰り返し情報の関連も変換定義情報として外部出力することを特徴とする請求項１または２記載のＸＭＬ文書変換の定義情報再構築装置。
【請求項４】
ＸＭＬ文書変換の定義に関する変換元データと変換先データの要素の結び付き情報のみを外部記憶に出力することを特徴とする請求項１から３のいずれか１項に記載のＸＭＬ文書変換の定義情報再構築装置。
【請求項５】
スキーマ解釈モジュールで変換するデータの構造を読み取り、データ変換定義解釈モジュールでデータ変換の定義における変換元データ構造内のデータ要素と変換先データ構造内のデータ要素の結び付けを定義したデータ変換定義ファイルを読み取り、データ変換定義オブジェクト生成処理部で読み込んだデータ構造から作成したデータ変換オブジェクトに対して、データ変換定義で定義されている各要素間の対応関係を定義し、データ変換定義作成部で自動変換定義の完了したデータ変換定義オブジェクトに対して追加のデータ変換を定義し、データ変換の定義が完了すると、データ変換定義生成モジュールで更新されたデータ変換の定義を外部ファイルに出力することを特徴とするＸＭＬ文書変換の定義情報再構築装置。
【請求項６】
現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更することを特徴とするＸＭＬ文書変換の定義情報再構築方法。
【請求項７】
ＸＭＬ文書変換における変換元データ構造と変換先データ構造内の要素間の関連をデータ構造のルート要素からの階層情報も含めて変換定義情報として外部出力することを特徴とする請求項６記載のＸＭＬ文書変換の定義情報再構築方法。
【請求項８】
ＸＭＬ文書変換における変換元データ構造と変換先データ構造内の要素間の関連は、ＸＭＬ文書にある要素の繰り返し情報の関連も変換定義情報として外部出力することを特徴とする請求項６または７記載のＸＭＬ文書変換の定義情報再構築方法。
【請求項９】
ＸＭＬ文書変換の定義に関する変換元データと変換先データの要素の結び付き情報のみを外部記憶に出力することを特徴とする請求項６から８のいずれか１項に記載のＸＭＬ文書変換の定義情報再構築方法。
【請求項１０】
スキーマ解釈モジュールで変換するデータの構造を読み取り、データ変換定義解釈モジュールでデータ変換の定義における変換元データ構造内のデータ要素と変換先データ構造内のデータ要素の結び付けを定義したデータ変換定義ファイルを読み取り、データ変換定義オブジェクト生成処理部で読み込んだデータ構造から作成したデータ変換オブジェクトに対して、データ変換定義で定義されている各要素間の対応関係を定義し、データ変換定義作成部で自動変換定義の完了したデータ変換定義オブジェクトに対して追加のデータ変換を定義し、データ変換の定義が完了すると、データ変換定義生成モジュールで更新されたデータ変換の定義を外部ファイルに出力することを特徴とするＸＭＬ文書変換の定義情報再構築方法。
【請求項１１】
現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更するステップを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ文書のデータ変換プログラムにおいて、データ変換の定義情報を外部に記憶することにより、変換元のデータ構造または変換先のデータ構造が変更された場合に、既存のデータ変換の定義の再構築を可能にする技術に関する。
【背景技術】
【０００２】
サービスを組み合わせてアプリケーションを構築する際、サービスを組み合わせる部分ではサービスのインタフェースに定義されている要求データおよび返却データの構造が同じでなければならない。
【０００３】
ただし、各サービスのインタフェースはそれぞれ別々に作成されるため、多くは異なる構造になっており、組み合わせる際はデータの構造や内容を変換して、呼び出したいサービスが要求しているデータの構造にする必要がある。
【０００４】
また、このようにサービスを組み合わせてアプリケーションを構築する手法を採用した場合でも対象とするシステムの要件によっては定期的にインタフェースの構造が変更される場合もある。そしてこのようなインタフェースの変更は多くのサービスに対して等しく影響を与える場合がある。
【０００５】
サービスを組み合わせたアプリケーションの構築手法を採用する場合にはサービスの設計時にデータ構造の変更に対する対応も設計に含めることが理想だが、既存のシステムを有効活用して新規システムを開発していく場合、既存システムが外部システムとやりとりするデータの構造から見直すことが困難なことが多い。
【０００６】
これまでにもＸＭＬ文書のような構造型データを用いたアプリケーション間の連携においては、アプリケーション間で必要としているデータ構造は通常異なるため、２つのデータ構造を元にデータ変換の定義を生成するツールが数多く存在している。
【０００７】
ＸＭＬ文書のデータ変換の定義としてはＸＳＬＴが標準仕様として存在している。ＸＳＬＴは標準仕様であるがデータ変換の定義として直接ＸＳＬＴファイルを作成するにはＸＭＬ文書の構造仕様であるＸＭＬ  ＳｃｈｅｍａやＸＳＬＴ仕様について高度な知識が必要となり作成は容易ではないため、ツールの存在は不可欠である。
【０００８】
一般的なツールを用いたデータ変換の定義手順は次のとおりである。（手順１）変換元データの構造を読み込む。（手順２）変換先データの構造を読み込む。（手順３）変換元データの要素と対応する変換先データの要素を結びつける。（手順４）データの加工が必要な場合は処理ロジックを追加する。（手順５）変換定義（ＸＳＬＴファイル等）を生成する。ここで、手順３の要素間の関係を結びつける操作はツールの画面上に表示された変換元、変換先のデータ構造の中の対象とするそれぞれの要素を選択して線を結ぶような操作により関係を定義していくのが一般的な操作方法である。このようなツールにより要素間の関係を定義するためにＸＭＬ関連の標準仕様について意識することなく定義することは可能となっている。
【０００９】
しかし、要素間の関係を定義する操作は要素の数だけ操作が必要となる。このため、どちらかのデータ構造の一部に変更があった場合であっても、まったく別のデータ変換定義として１から作成する他ない状況になっている。そしてこのようなデータ構造の設計は、個別の業界内で標準データ構造を決めてそれに対応するような場合を除くと、業務要件に従い定期的にデータ構造の変更が発生するケースも多い。
【００１０】
ここで、ある記述対象（オブジェクト）の構造定義データ（例えば、ＸＭＬ文書のＤＴＤ）を、そのオブジェクトに対応する中間構造定義データに変換し、入力側構造定義データが既存の中間構造定義データで対応できない新規なものであるときは要素の追加等により中間構造定義データを拡張し、こうして得られる中間構造定義データは、同一のオブジェクトに対応する各種構造定義データを包含する汎用的なものであり、これを用いれば、異なる構造定義データ間の変換の手間と費用を減らすことができる技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００２−２６９０６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述の関連技術では、データ変換定義の作成が完了後は、定義ファイルを使い分けることは可能だが、１部異なるデータ構造に定期的に置き換わるような状況では、その都度変換定義を１から作成する必要があり、容易に対応することができないという問題がある。
【００１２】
本発明は、以上のような課題を解決するためになされたもので、このようなシステム変更の柔軟性の阻害要因となりうるデータ構造の定期的な変更に対しても容易にデータ変換定義を作成可能なＸＭＬ文書変換の定義情報再構築装置、その方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１のＸＭＬ文書変換の定義情報再構築装置は、現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更することを特徴とする。
【００１４】
また、本発明の第２のＸＭＬ文書変換の定義情報再構築装置は、スキーマ解釈モジュールで変換するデータの構造を読み取り、データ変換定義解釈モジュールでデータ変換の定義における変換元データ構造内のデータ要素と変換先データ構造内のデータ要素の結び付けを定義したデータ変換定義ファイルを読み取り、データ変換定義オブジェクト生成処理部で読み込んだデータ構造から作成したデータ変換オブジェクトに対して、データ変換定義で定義されている各要素間の対応関係を定義し、データ変換定義作成部で自動変換定義の完了したデータ変換定義オブジェクトに対して追加のデータ変換を定義し、データ変換の定義が完了すると、データ変換定義生成モジュールで更新されたデータ変換の定義を外部ファイルに出力することを特徴とする。
【００１５】
また、本発明の第１のＸＭＬ文書変換の定義情報再構築方法は、現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更することを特徴とする。
【００１６】
また、本発明の第２のＸＭＬ文書変換の定義情報再構築方法は、スキーマ解釈モジュールで変換するデータの構造を読み取り、データ変換定義解釈モジュールでデータ変換の定義における変換元データ構造内のデータ要素と変換先データ構造内のデータ要素の結び付けを定義したデータ変換定義ファイルを読み取り、データ変換定義オブジェクト生成処理部で読み込んだデータ構造から作成したデータ変換オブジェクトに対して、データ変換定義で定義されている各要素間の対応関係を定義し、データ変換定義作成部で自動変換定義の完了したデータ変換定義オブジェクトに対して追加のデータ変換を定義し、データ変換の定義が完了すると、データ変換定義生成モジュールで更新されたデータ変換の定義を外部ファイルに出力することを特徴とする。
【００１７】
また、本発明のプログラムは、現状のデータ変換定義ファイルを容易に編集できるように変換前後のデータ要素の対応付けをしたオブジェクトを作成し、オブジェクトを表示してデータ定義を変更する操作を受け付けて定義情報を変更するステップを実行させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、ＸＭＬ文書を利用したアプリケーション間連携において、サービスの入出力データの構造が変更された場合でも、データ変換の定義情報が再利用できるようになるため、システム変更への迅速な対応が可能となり、サービスを組み合わせたアプリケーション構築で求められているシステム変更の柔軟性をいちだんと上げることが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１に示す本実施の形態におけるＸＭＬ文書変換の定義情報再構築装置では、スキーマ解釈モジュール１０１は、データ変換の定義を行う準備として、変換元のデータ構造定義と変換先のデータ構造定義を読み込む。読み込んだデータ構造定義は解釈されデータ構造中のすべてのルート要素が取り出される。ここで各データ構造定義それぞれのルート要素を選択し、本データ変換で対象とする１つのデータ構造定義を決定する。これは１つのデータ構造定義ファイル中に複数のデータの構造を定義することが可能なためである。
【００２０】
次にデータ変換定義解釈モジュール１０２で、外部出力されているデータ変換定義ファイルを読み込む。読み込んだデータ変換定義は解釈部で解釈され、定義ファイルの構造に問題がないかチェックされる。
【００２１】
データ変換定義オブジェクト生成処理部１０３では、読み込んだデータ変換定義ファイルの情報を元に自動で変換元データ構造中のデータ要素と変換先データ構造中のデータ要素の結び付け処理を実行する。本処理により既存のデータ変換定義が自動で再構築できることとなる。
【００２２】
ＸＭＬ文書のデータ構造定義のバージョンアップなどでは、データ構造定義の名前空間が変更され、変更が加えられたデータ構造定義を、すでに作成済のデータ変換定義の変換元または変換先のデータ構造定義として利用したい場合がある。このような場合においてもデータ変換定義ファイルをＸＭＬ文書形式で生成しているため、名前空間の修正のみで、既存の要素名での変換定義は再利用可能になるケースもある。このような定義の再利用は、データ構造定義中に定義されたデータ項目の数が多い場合に特に有効に効果を発揮する。
【００２３】
データ変換定義作成部１０４で自動変換定義の完了したデータ変換に対して追加のデータ変換を定義する。データ変換の定義が完了すると、データ変換定義生成モジュール１０５で更新されたデータ変換の定義を外部ファイルに出力する。
【００２４】
次に、図１及び図２、図３、図４を参照して本実施の形態の動作について詳細に説明する。
データ構造定義ファイルの読み込み２０１で与えられたデータ構造定義はスキーマ解釈モジュール１０１に渡される。データ構造定義の例として変換元のデータ構造定義例３０１、変換先のデータ構造定義例３０２を示す。スキーマ解釈モジュールはデータ構造定義を読み込んで解析し、データ構造に含まれるすべてのデータ要素を取り出し、ルート要素の一覧を返却する。このとき、データ構造定義中にサポートしてない要素の定義が含まれていた場合は警告情報を利用者に返却する。
【００２５】
スキーマを解釈し要素木を生成２０２では、ルート要素の一覧から選択されたルート要素以下のデータ構造の要素から汎用的なデータ構造オブジェクトを生成する。ここでデータ変換の定義を行う準備ができた状態となる。
【００２６】
次にデータ変換定義ファイルの読み込み２０３で、生成済のデータ変換定義ファイルを読み込む。読み込んだデータ変換定義は解釈部で解釈され、定義ファイルの構造に問題がないかチェックされる。初めてデータ変換の定義を作成する場合はデータ変換定義ファイルは存在しない。データ変換定義ファイルがある場合は、ここでファイルを読み込む。データ変換定義を解釈しデータ変換オブジェクトを生成する２０４で読み込んだデータ変換定義ファイルの情報を元に自動で変換元データ構造中のデータ要素と変換先データ構造中のデータ要素の結び付け処理を実行する。本処理により既存のデータ変換定義が自動で再構築できることとなる。自動変換定義処理の結果通知２０５で自動データ変換設定の処理結果を通知する。
【００２７】
自動データ変換設定で設定できない項目がある場合は、データ変換定義ファイルを修正して再度データ変換定義ファイルの読み込み２０３から自動データ変換設定を実施する場合と、データ変換の定義ツールで変換内容を定義していく場合のどちらかによりデータ変換内容の更新を行う。
【００２８】
ＸＭＬのデータ構造定義のバージョンアップなどでは、データ構造定義の名前空間が変更され、少しの変更が加えられたデータ構造定義を、新バージョンとして作成される場合がある。このような場合、データ構造の中の多くデータ要素名は変更がないため、データ変換の定義についても再利用の価値は高いといえる。
【００２９】
本発明におけるデータ変換定義ファイルはデータ変換定義ファイル例３０３のようにＸＭＬ文書形式で生成しているため、名前空間の修正のみで、既存の要素名での変換定義は再利用可能になるケースもある。
【００３０】
このような定義の再利用は、データ構造定義中に定義されたデータ項目の数が多い場合に特に有効に効果を発揮する。
【００３１】
既存のデータ変換の自動設定が完了したらデータ変換の定義を編集２０９で新しいデータ構造定義に対応したデータ変換の定義をおこなう。すべてのデータ変換定義が完了したら、データ変換の定義ファイルを２１０で生成する。
【００３２】
本実施の形態によれば、ＸＭＬ文書を利用したアプリケーション間連携において、サービスの入出力データの構造が変更された場合でも、データ変換の定義情報が再利用できるようになるため、システム変更への迅速な対応が可能となり、サービスを組み合わせたアプリケーション構築で求められているシステム変更の柔軟性をいちだんと上げることが可能となる。
【００３３】
特にデータ構造定義中のデータ要素の追加だけでなく、データ構造の名前空間の変更など、各データ要素の変更とは無関係にデータ変換の定義を１から作成しなおさなければならなかったデータ変換の定義を効率的に行うことが可能となる。
【００３４】
これらの効果の理由は、ＸＭＬデータ変換の定義としてデータ構造中のデータ要素間の変換定義情報のみを外部ファイルに生成したことにより、ツールの操作による変換定義の設定情報のみを分けることができ、情報の再利用が可能になったためである。
【００３５】
本実施の形態により、以下の問題点が解決された。サービスと呼ばれるプログラム部品間でＸＭＬ文書を交換することで連携させてアプリケーションを構築する手法では、各サービス間でやり取りするＸＭＬデータの構造が異なる場合は、データを渡すことができるように呼び出し先のサービスのデータ構造の形式にＸＭＬ文書データを変換する必要がある。そして変換の定義にはＸＭＬに関する高度な知識が必要なためデータ変換の定義を作成するためのツールを利用するのが一般的である。そしてこれまでのツールでは、データの構造は変更されないことを前提としており、データ構造に簡単な項目が追加される程度の変更であってもデータ変換の定義作成後に変更後のデータ構造情報を反映させることはできず、１からデータ変換の定義を作成するほかなく、柔軟な変換定義の作成は困難であるという問題があった。
【００３６】
図５を参照し他の実施の形態について説明する。
データ変換定義を外部ファイルから入力可能としたことから、変換定義を単純なＸＭＬ文書として定義することが可能となるため、コマンドラインインタフェース４０１を提供することで、サービスが公開するデータの構造に対するデータ変換定義を外部プログラムから適用することも可能となる。データ変換定義の生成処理に関する手順は変わらない。
【００３７】
外部プログラムからの変換の適用が可能になることで、データ構造中のデータ要素が定期的に追加されるようなケースおいて、データ構造定義の更新だけでなく、更新されたデータ構造に対応したデータ変換の定義も外部プログラムから一括して行うことが可能となる。
【００３８】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、ＸＭＬ文書変換の定義情報再構築装置の機能を実現するためのプログラムを装置に読込ませて実行することにより装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００３９】
本発明は、ＣＳＶファイルのようなプレーンテキストやリレーショナルデータベースのような表形式情報をＸＭＬ文書に変換するためのプログラム、反対にＸＭＬ文書をＣＳＶファイルのようなプレーンテキストやリレーショナルデータベースのような表形式に変換するためのプログラムといった用途にも適用できる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態に係るＸＭＬデータ変換定義機能を示す構成図である。
【図２】本発明の実施の形態に係るデータ変換定義生成部の全体をあらわすフローチャートである。
【図３】本発明の実施の形態に係るデータ構造定義例を示す図である。
【図４】本発明の実施の形態に係るデータ構造定義例を示す図である。
【図５】本発明の他の実施の形態に係るＸＭＬデータ変換定義機能を示す構成図である。
【符号の説明】
【００４１】
１０１    スキーマ解釈モジュール
１０２    データ変換定義解釈モジュール
１０３    データ変換定義オブジェクト生成処理部
１０４    データ変換定義作成部
１０５    データ変換定義生成モジュール
【図１】
2009122933.tif 000003
【図２】
2009122933.tif 000004
【図３】
2009122933.tif 000005
【図４】
2009122933.tif 000006
【図５】
2009122933.tif 000007