(57)【要約】【課題】新たなアプリケーションのためのデータ移行業務を省力化することが可能な仕組みを提供すること【解決するための手段】プログラムがアクセスするデータを記憶し、プログラムを生成するプログラム生成機能を備え、新たなプログラムの生成に用いるデータ型を記憶し、新たなプログラムにおいて取り扱うデータを記憶する機能において、新たなプログラムの取り扱うデータのデータ型を記憶し、既存データを用いてプログラムの生成を行うべく、既存データを新たなプログラムの生成に用いるデータ型に変換し、変換された既存テーブルのデータ型が新たなプログラムの取り扱うデータ型として流用可能か判定し、流用可能なデータを特定して通知する【選択図】図５
2018194878.tif 000002
【特許請求の範囲】
【請求項１】
プログラムがアクセスするデータを記憶するデータ記憶手段と、プログラムを生成するプログラム生成手段と、新たなプログラムの生成に用いるデータ型を記憶するデータ型記憶手段と、前記プログラム生成手段により生成する新たなプログラムにおいて取り扱うデータを記憶するデータ記憶手段における、前記新たなプログラムの取り扱うデータのデータ型を記憶する記憶手段と、を備える情報処理装置であって、
前記データ記憶手段に既に記憶されている既存データを用いてプログラムの生成を行うべく、既存データを前記データ型記憶手段に記憶されたデータ型に変換する変換手段と、
前記変換手段により変換された既存テーブルのデータのデータ型が、前記記憶手段に記憶されている、前記新たなプログラムの取り扱うデータ型として流用可能か判定する判定手段と、
前記判定手段により、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータを特定する特定手段と、
前記特定手段により特定された結果を通知すべく制御する通知制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記変換手段により変換されたデータが、前記プログラム生成手段によって取り扱わないデータである場合に、当該取り扱わない原因となっている項目を通知する通知手段
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通知制御手段は、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータと、前記新たなプログラムの取り扱うデータ型として流用不可能であると判定されたデータを識別可能なレポートを出力することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記通知制御手段は、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータと、前記新たなプログラムの取り扱うデータ型として流用不可能であると判定されたデータと、前記プログラム生成手段によって取り扱わないデータと、を識別可能なレポートを出力することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記変換手段により変換されたデータが記憶装置に記憶される場合に、前記データ型記憶手段に記憶されたデータ型及び前記記憶手段に記憶されたデータ型の情報を用いて、前記既存データのデータ型を前記新たなプログラムが取り扱うデータ型に変換した新たなデータを自動生成する自動生成手段
を備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
プログラムがアクセスするデータを記憶するデータ記憶手段と、プログラムを生成するプログラム生成手段と、新たなプログラムの生成に用いるデータ型を記憶するデータ型記憶手段と、前記プログラム生成手段により生成する新たなプログラムにおいて取り扱うデータを記憶するデータ記憶手段における、前記新たなプログラムの取り扱うデータのデータ型を記憶する記憶手段と、を備える情報処理装置の制御方法であって、
前記データ記憶手段に既に記憶されている既存データを用いてプログラムの生成を行うべく、既存データを前記データ型記憶手段に記憶されたデータ型に変換する変換工程と、
前記変換工程により変換された既存テーブルのデータのデータ型が、前記記憶手段に記憶されている、前記新たなプログラムの取り扱うデータ型として流用可能か判定する判定工程と、
前記判定工程により、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータを特定する特定工程と、
前記特定工程により特定された結果を通知すべく制御する通知制御工程と、
を含むことを特徴とする制御方法。
【請求項７】
プログラムがアクセスするデータを記憶するデータ記憶手段と、プログラムを生成するプログラム生成手段と、新たなプログラムの生成に用いるデータ型を記憶するデータ型記憶手段と、前記プログラム生成手段により生成する新たなプログラムにおいて取り扱うデータを記憶するデータ記憶手段における、前記新たなプログラムの取り扱うデータのデータ型を記憶する記憶手段と、を備える情報処理装置を制御するプログラムであって、
前記情報処理装置を、
前記データ記憶手段に既に記憶されている既存データを用いてプログラムの生成を行うべく、既存データを前記データ型記憶手段に記憶されたデータ型に変換する変換手段と、
前記変換手段により変換された既存テーブルのデータのデータ型が、前記記憶手段に記憶されている、前記新たなプログラムの取り扱うデータ型として流用可能か判定する判定手段と、
前記判定手段により、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータを特定する特定手段と、
前記特定手段により特定された結果を通知すべく制御する通知制御手段として機能させるためのプログラム。
【請求項８】
プログラムがアクセスするデータを記憶するデータ記憶装置と、プログラムを生成するプログラム生成手段と、新たなプログラムの生成に用いるデータ型を記憶するデータ型記憶手段と、前記プログラム生成手段により生成する新たなプログラムにおいて取り扱うデータを記憶するデータ記憶装置における、前記新たなプログラムの取り扱うデータのデータ型を記憶する記憶手段とを備える情報処理装置と、を含む情報処理システムであって、
前記データ記憶装置に既に記憶されている既存データを用いてプログラムの生成を行うべく、既存データを前記データ型記憶手段に記憶されたデータ型に変換する変換手段と、
前記変換手段により変換された既存テーブルのデータのデータ型が、前記記憶手段に記憶されている、前記新たなプログラムの取り扱うデータ型として流用可能か判定する判定手段と、
前記判定手段により、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータを特定する特定手段と、
前記特定手段により特定された結果を通知すべく制御する通知制御手段と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、システムやそのシステムを構成するアプリケーションにおいては、例えばアプリケーションの画面をより使いやすいものにしたい場合や、標準技術を採用することで将来に向けてメンテナンスしやすくするために、定期的にバージョンアップやリプレースが行われる。
【０００３】
システムやアプリケーションのリプレースにあたっては、可能な限り開発コストを抑えたいという要求と、企業がこれまで蓄積してきたデータ、データ項目についてはそのまま活用、流用したいという要求がある。
【０００４】
アプリケーションプログラムの開発にはプログラム開発アプリケーションを用いることがある。プログラム開発アプリケーションでは読み込むことのできるデータベースの種類やデータ型が仕様として決まっている。同じプログラム開発アプリケーションを用いてアプリケーションを開発することで、各アプリケーションで用いるデータ型を共通化することができ、その後のデータの流用を容易にする効果がある。
【０００５】
しかし、プログラム開発アプリケーションを用いずに開発した既存のアプリケーションの既存データを、プログラム開発アプリケーションを用いて開発する新たなアプリケーションのデータに流用しようとした場合、既存データのデータ型を、開発者が手作業で書き直して作り直す必要があり手間がかかる。
【０００６】
例えば特許文献１には、データベース間のデータ移行に際して移行すべき移行元データを、移行元項目名に対応付けて格納している実績データに基づいて特定し、移行先項目名に対応付けて格納・移行する技術が記載されている。また、データの表示形式を移行先の項目名に応じて変換することが記載されている。また、移行のパターンが複数ある場合には、それらのパターンを表示しユーザに確認させることが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２４９２０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
プログラム開発アプリケーションにおいては、扱えるデータ型以外にも、データに関する制約が存在する。例えば桁数の制限や、空データの許可・不許可等である。
【０００９】
特許文献１の技術においては、移行元項目名と移行先項目名の一致度が０だった場合には「候補なし」と表示し、ユーザに移管元項目名を適切な名称に修正させることで移管先の項目名を特定する。しかし、実際には移管や変換自体はできるが、制約の条件を満たしていない場合がある。制約条件を満たしていないデータは、プログラム開発アプリケーションが扱えないため、当該データ項目を用いたアプリケーションの開発ができなくなってしまう。
【００１０】
また、入れ替え前の既存のアプリケーションと入れ替え後の新たなアプリケーションとでは扱うデータ型が異なることがある。これは、従来のシステムをよりシンプルに使いやすくする等の目的を以て新たなアプリケーション導入が行われるためである。例えば既存のアプリケーションの扱えるデータ型又は既存のアプリケーションの扱う既存データのデータ型が２０種類あるのに対し、新たなアプリケーションの扱う新データのデータ型が１０種類とする等である。
【００１１】
更に、プログラム開発アプリケーションで開発するアプリケーション自体と、当該アプリケーションで扱うためのデータ／扱った後のデータを記憶するデータベースとで、扱うデータ型が異なることがある。その理由として、アプリケーション上は一定の制約の下に扱いたいデータも、データベース上は制約を緩くした型として記憶したい等がある。
【００１２】
例えば、データベース側ではあるデータ項目のデータをＤＥＣＩＭＡＬ型として記憶し、アプリケーション側ではＮＵＭ型やＣＵＲＲＥＮＣＹ型として扱うことがある。この場合、アプリケーション側で編集されたＮＵＭ型のデータは、データべース上の対象項目においてＤＥＣＩＭＡＬ型として記憶されることとなる。
【００１３】
つまり、新たなアプリケーション作成のために、新たなアプリケーションを開発するプログラム開発アプリケーション用及び当該新たなアプリケーション用に変換したデータのデータ型が、実際にデータベースに記憶すべき新データのデータ型と異なることがある。
【００１４】
ユーザは、プログラム開発アプリケーション用にデータの変換を行った後、別途、当該変換を行った既存データを参照して、必要な項目についてデータの移行、データ型の変換を行わなければならない。
【００１５】
本発明は、新たなアプリケーションのためのデータ移行業務を省力化することが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、プログラムがアクセスするデータを記憶するデータ記憶手段と、プログラムを生成するプログラム生成手段と、新たなプログラムの生成に用いるデータ型を記憶するデータ型記憶手段と、前記プログラム生成手段により生成する新たなプログラムにおいて取り扱うデータを記憶するデータ記憶手段における、前記新たなプログラムの取り扱うデータのデータ型を記憶する記憶手段と、を備える情報処理装置であって、前記データ記憶手段に既に記憶されている既存データを用いてプログラムの生成を行うべく、既存データを前記データ型記憶手段に記憶されたデータ型に変換する変換手段と、前記変換手段により変換された既存テーブルのデータのデータ型が、前記記憶手段に記憶されている、前記新たなプログラムの取り扱うデータ型として流用可能か判定する判定手段と、前記判定手段により、前記新たなプログラムの取り扱うデータ型として流用可能であると判定されたデータを特定する特定手段と、前記特定手段により特定された結果を通知すべく制御する通知制御手段と、を備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、新たなアプリケーションのためのデータ移行業務を省力化することが可能な仕組みを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の第１の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の第１の実施形態における、処理の概要を示すフローチャートである。
【図５】本発明の第１の実施形態における、カラム変換処理の流れを示すフローチャートである。
【図６】本発明の第１の実施形態における、画面の構成の一例を示す図である。
【図７】本発明の第１の実施形態における、各種データ構成の一例を示す図である。
【図８】本発明の第１の実施形態における、画面の構成の一例を示す図である。
【図９】本発明の第１の実施形態における、画面の構成の一例を示す図である。
【図１０】本発明の第１の実施形態における、画面の構成の一例を示す図である。
【図１１】本発明の第１の実施形態における、画面の構成の一例を示す図である。
【図１２】本発明の第２の実施形態における、履歴情報の構成の一例を示す図である。
【図１３】本発明の第２の実施形態における、カラム変換処理の流れを示すフローチャートである。
【図１４】本発明の第３の実施形態における、データ登録処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００２０】
＜第１の実施形態＞
まず図１を参照して、本発明の第１の実施形態における、情報処理システムの構成の一例について説明する。
【００２１】
本発明の情報処理システムは、図１に示すように、ＰＣ１００（プログラム開発ＰＣ）、ＰＣ１０１、アプリケーションサーバ２００、データベースサーバ２５０等の各種装置が、ＷＡＮ１５０（ワイドエリアネットワーク）等のネットワークを介して通信可能に接続され構成されている。
【００２２】
ＰＣ１００は、Ｗｅｂアプリケーション等のアプリケーションプログラムを開発するためのＰＣである。
【００２３】
ＰＣ１００には、プログラム開発アプリケーション（図３でいうデータモデル定義作成部生成部４１０を備えるプログラム生成ソフト）がインストールされている。
【００２４】
ＰＣ１００は、ユーザ操作により当該プログラム開発アプリケーションを自機上で動作させ、Ｗｅｂアプリケーション等のアプリケーションプログラムを生成する。
【００２５】
なお、ここでいうプログラム開発アプリケーションとは、Ｗｅｂアプリケーションプログラムを開発するためのＷｅｂアプリケーション開発ツールである。
【００２６】
また、当該Ｗｅｂアプリケーション開発ツールで使用するデータモデル（データモデル定義ともいう）と呼ばれるデータ定義を生成して記憶する。
【００２７】
本発明の実施形態におけるデータモデルとは、データテーブルの情報を、データモデルを扱うＷｅｂアプリケーション開発ツール用に抽象化して管理する情報である。
【００２８】
データテーブルは、ＲＤＢＭＳ（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ）を提供するデータベースサーバ２５０に記憶されており、ＲＤＢＭＳ上で管理されている。つまりデータベースサーバ２５０はデータ記憶装置である。扱えるデータ型はＲＤＢＭＳによって異なることがある。
【００２９】
Ｗｅｂアプリケーション開発ツールでは、ＲＤＢＭＳのデータテーブルの情報を、Ｗｅｂアプリケーション開発ツール自身及びＷｅｂアプリケーション開発ツールで開発する新たなＷｅｂアプリケーションで取り扱い可能なデータ型として管理するデータモデルを扱う。
【００３０】
なお、Ｗｅｂアプリケーションが実際にデータテーブルの情報を使って処理を行うためには、Ｗｅｂアプリケーションの取り扱い可能なデータ型のデータで構成されたデータテーブルを用いる方法の他に、どのデータ型のテーブルのデータをＷｅｂアプリケーションにおいてどのデータ型のデータとして扱うかをＷｅｂアプリケーション自身が参照する方法がある。
【００３１】
当該情報を参照することで、Ｗｅｂアプリケーションが扱うどのデータ型のデータを、どのデータ型のデータテーブルのどの項目に記憶するかを特定可能となる。
【００３２】
アプリケーションサーバ２００は、例えばＰＣ１０１等の外部装置からの操作指示に応じて処理・機能を実行するＷｅｂアプリケーションを備える。以上が図１の説明である。
【００３３】
次に図２を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。
【００３４】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００３５】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００３６】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ディスプレイ装置２１０（例えばＣＲＴディスプレイ）等の表示器への表示を制御する。なお、表示器はＣＲＴディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じてユーザが使用するものである。
【００３７】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３８】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示すＷＡＮ１５０やＬＡＮ１５１）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３９】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００４０】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。以上が図２の説明である。
【００４１】
次に図３を参照して、本発明の第１の実施形態における、各種装置の機能構成の一例について説明する。
【００４２】
リポジトリ定義部３００は、アプリケーション定義３０１、入出力定義３０２、ビジネスプロセス定義３０３、データモデル定義３０４、データベース定義３０５を記憶する記憶部である。
【００４３】
これらの定義ファイルは、Ｗｅｂアプリケーション開発ツールを介してプログラム開発ＰＣ（ＰＣ１００）を操作するユーザ（開発者）によって入力され、予め作成・記憶されている。
【００４４】
すなわち、リポジトリ定義部は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。
【００４５】
ここでいうプログラムとは、例えばアプリケーションサーバ２００上で稼働するＷｅｂアプリケーションプログラムのことである。
【００４６】
入出力定義３０２は、生成されたＷｅｂアプリケーションの画面を介して当該Ｗｅｂアプリケーションを使用するユーザが入力する入力項目を定義し、生成されたＷｅｂアプリケーションの画面として出力する出力項目を定義した情報である。
【００４７】
これにより、Ｗｅｂアプリケーションの開発フェーズにおいてよくある、画面項目の追加・変更・削除は、Ｗｅｂアプリケーション開発ツールのレイアウトエディタ等を介して、Ｗｅｂアプリケーション画面の入出力項目を直感的に追加・変更・削除することで、Ｗｅｂアプリケーションとして用いられるプログラムを容易に生成することができる。
【００４８】
データモデル定義生成部３１０は、変換ルール決定部３１１、データベース参照部３１２、適合判定部３１３、変換部３１４、変換結果出力部３１５、データモデル定義生成処理実行部３１６を備える。
【００４９】
変換ルール決定部３１１は、既存テーブルを、Ｗｅｂアプリケーション開発ツール及び開発されるＷｅｂアプリケーションで利用可能なデータモデルを生成（作成）するために、既存テーブルの中のカラム（データ項目）をどの変換ルールに基づいて変換するか決定する決定部である。変換ルールの一例を図７の７００に示す。
【００５０】
既存テーブルとは、例えばＷｅｂアプリケーション開発ツールで新たに開発するＷｅｂアプリケーションに可能な限り流用したい、既存のＷｅｂアプリケーションのデータ３４２のテーブル３４１である。
【００５１】
既存テーブル３４１は、既存データベース３４０に記憶されている。既存テーブルの詳細は、図６の６００に示す。既存テーブルは、例えばデータベースサーバ２５０の外部メモリ２１１に記憶されている
【００５２】
データベース参照部３１２は、既存データベース３４０のテーブル３４１（既存テーブル）を読み出し、ＲＡＭ２０３に記憶する。
【００５３】
適合判定部３１３は、プログラム開発ツールで開発するＷｅｂアプリケーションが既存テーブルをそのままのデータ型でテーブル情報として使用できるかを判定する適合判定（流用可否判定）を行う。
【００５４】
流用可能でない場合は、新テーブル３３１を作成し、既存テーブルのデータのデータ型を当該Ｗｅｂアプリケーションで取り扱う型に変換して、データ３３２として記憶する必要がある。
【００５５】
また、変換したデータモデルのデータの中に、Ｗｅｂアプリケーション開発ツールで扱うことができないデータがないか判定する。例えば変換後のデータの桁数が、Ｗｅｂアプリケーション開発ツールが取り扱い可能な桁数と合致しているか否か等を判定する。
【００５６】
変換部３１４は、既存テーブルのカラムの情報を、変換ルール決定部３１１で決定された変換ルールに従って、Ｗｅｂアプリケーションが利用できるデータモデル用のデータ型へ変換する機能部である。
【００５７】
変換結果出力部３１５は、変換結果のデータモデルの情報と、データモデルにおける各カラムのデータが、Ｗｅｂアプリケーション開発ツールが取り扱い可能な状態か否かを表示画面に出力して表示する。
【００５８】
データモデル定義生成処理実行部３１６は、変換部３１４で変換されたデータをデータモデル定義のファイルとして生成し、リポジトリ定義部３００に記憶する。
【００５９】
レポート生成部３１７は、変換結果レポート３１８を出力する機能部である。例えばテキストファイルとして出力、記憶する。変換結果レポートの詳細は、図８の８１０に示す。
【００６０】
レポートとは、既存テーブルの各データを、Ｗｅｂアプリケーション開発ツールで開発するＷｅｂアプリケーションにおいて取り扱い可能か否か（新テーブル３３１に流用可能か否か）、及び、Ｗｅｂアプリケーション開発ツールで扱うことができないカラムを識別可能として、ユーザに確認させるためのファイルである。
【００６１】
なお、ＰＣ１００は、不図示のＷｅｂアプリケーション生成部を備えており、当該Ｗｅｂアプリケーション生成部は、リポジトリ解析部、Ｗｅｂアプリケ−ションコード生成部、ソースコードコンパイル部を備えている。
【００６２】
リポジトリ解析部の機能を用いてリポジトリ定義部に記憶されたデータを解析し、Ｗｅｂアプリケ−ションコード生成部が当該解析結果に基づいてＷｅｂアプリケーションのソースコードを生成する。その後、ソースコードコンパイル部がＷｅｂアプリケーションのソースコードをコンパイルする。つまり、Ｗｅｂアプリケーション生成部がＷｅｂアプリケーションの開発を行う。
【００６３】
その後、ソースコードコンパイル部がアプリケーションサーバ２００の記憶領域に記憶させる。Ｗｅｂアプリケーションは、コンパイル済みのコードの一部にデータモデルを保持しているものとする。以上が図３の説明である。
【００６４】
次に図４を参照して、本発明の第１の実施形態における処理の概要について説明する。図４は、既存テーブルから情報を読み取りデータモデルを生成する処理の概要を示すフローチャートである。
【００６５】
図４の処理は、ＰＣ１００のＣＰＵ２０１が、自機にインストールされたＷｅｂアプリケーション開発ツールの各機能を用いて実行する。
【００６６】
なお、ステップＳ４０１の開始時点では既にＷｅｂアプリケーション開発ツールは起動されているものとする。
【００６７】
ステップＳ４０１で、Ｗｅｂアプリケーション開発ツールは、既存テーブルを基にデータモデルを新規生成する機能の起動イベントを検知する。
【００６８】
具体的には、ＰＣ１００に表示されているＷｅｂアプリケーション開発ツールの画面９００（図９に例示）において、「テーブルからデータモデル」ボタン９０１（コンテキストメニュー）が押下されたイベントを取得する。
【００６９】
ステップＳ４０２で、Ｗｅｂアプリケーション開発ツールは図９の接続情報入力画面９１０を表示し、当該画面において既存データベースへの接続情報の入力を受け付ける。接続情報入力画面９１０は、例えばデータベースサーバ２５０の提供するＲＤＢＭＳへの接続情報を入力するための画面である。
【００７０】
接続情報とは、例えば接続文字列９１１である。接続文字列９１１は、接続するデータベースのＵＲＬである。
【００７１】
「Ｎｅｘｔ」ボタン９１２が押下されると、入力済の接続情報を決定し、次のウィザードであるスキーマ選択画面１０００（図１０に例示）をＰＣ１００の画面に表示する。
【００７２】
本実施形態の説明においてスキーマは、例えばユーザごとにＲＤＢＭＳ上で管理されている。
【００７３】
「Ｎｅｘｔ」ボタン１００１が押下されると、選択中のスキーマを決定し、処理をステップＳ４０３に進める。
【００７４】
ステップＳ４０３で、Ｗｅｂアプリケーション開発ツールは、既存テーブルのカラム変換処理を実行する。カラム変換処理の具体的な処理内容については図５の説明で後述する。
【００７５】
ここで図５を参照して、本発明の第１の実施形態における、カラム変換処理の流れについて説明する。
【００７６】
図５の処理は、ＰＣ１００のＣＰＵ２０１が、自機にインストールされたＷｅｂアプリケーション開発ツールの各機能を用いて実行する。
【００７７】
カラムとは、例えば図６の６００に示すような既存テーブルを構成する列の情報（項目）のことをいう。
【００７８】
ステップＳ５０１でＷｅｂアプリケーション開発ツールは、「Ｎｅｘｔ」ボタン１００１が押下されることにより、次のウィザードであるテーブル選択画面１０１０（図１０に例示）をＰＣ１００の画面に表示する。
【００７９】
テーブル選択画面１０１０は、実際にデータモデルとして生成したい既存テーブルを選択する画面である。
【００８０】
選択の候補となる既存テーブルは表示部１０１１に表示する。また、選択済の既存テーブルは表示部１０１２に表示する。
【００８１】
表示部１０１１には、ステップＳ４０２で選択され決定されたスキーマに属する既存テーブルをＲＤＢＭＳ内の複数の既存テーブルの中から特定して表示する。
【００８２】
カラムデータ型選択部１０１３は、カラムデータ型のｖａｒｃｈａｒを何のデータ型として取り込む（Ｗｅｂアプリケーションで利用可能なデータモデルの項目に変換する）かの選択を受け付ける操作受付部である。
【００８３】
カラムデータ型とは、カラムのデータ型（データ（値）の種類に関する分類）を示す。カラムデータタイプともいう。データ型には、例えばＣＯＤＥ型やＴＥＸＴ型等がある。
【００８４】
ステップＳ５０２で、Ｗｅｂアプリケーション開発ツールはデータモデルに変換したいテーブルの選択を受け付る。具体的には、表示部１０１１に表示されている既存テーブルからデータモデルとして生成したいテーブルの選択を受け付け、カラムデータ型選択部１０１３においてデータ型の選択を受け付け、「Ｎｅｘｔ」ボタン１０１４の押下を受け付ける。
【００８５】
なお、カラムデータ型選択部１０１３（ｖａｒｃｈａｒカラムのデータタイプの選択部）において「全てコード型」が選択された場合は、ｖａｒｃｈａｒは全てＣＯＤＥ型として変換して取り込む。
【００８６】
「全てテキスト型」が選択された場合は、ｖａｒｃｈａｒは全てＴＥＸＴ型として変換して取り込む。
【００８７】
また、「キー項目のみコード型」が選択された場合は、カラム情報が主キーのものをコード型として変換して取り込み、その他はＴＥＸＴ型として変換して取り込む。
【００８８】
ステップＳ５０３で、Ｗｅｂアプリケーション開発ツールは、ステップＳ４０２で入力された接続文字列９１１からＲＤＢＭＳの種類を特定し、適応する変換ルール７００を決定する。ここでは図７の変換ルール７００に決定したものとする。
【００８９】
変換ルールは、ＰＣ１００の外部メモリ２１１に、ＲＤＢＭＳの種類ごとに異なるルールが記憶されている。変換ルール７００は、これら複数の変換ルールのうちの１つである。
【００９０】
Ｗｅｂアプリケーション開発ツールは、接続文字列９１１から特定されるＲＤＢＭＳ用の変換ルールを特定し、既存テーブルに適用するルールとして決定する。
【００９１】
変換ルール７００には、どのカラムデータ型７０１を、どのアプリデータ型７０２（データモデルの中の項目のデータ型＝Ｗｅｂアプリケーション開発ツールで開発するＷｅｂアプリケーションが取り扱うデータ型／データ型記憶手段）に変換するかのルールが記憶されている。
【００９２】
桁数及び少数桁数は、カラムデータ型７０１のデータ型に基づいて特定する、データモデルにおける変換後のデータの桁数及び少数桁数である。なお、「桁数＝０」は、カラムデータ型７０１から当該桁数を特定できないことを示す。
【００９３】
Ｗｅｂアプリケーション開発ツールは、ステップＳ５０２で選択されて変換対象の既存テーブルを取得してＲＡＭ２０３に保持し、各既存テーブルのカラム数分、ステップＳ５０４〜Ｓ５０９の処理を実行する。
【００９４】
既存テーブルの構成の一例を図６の既存テーブル６００に示す。既存テーブル６００には、名前６０２によって識別されるカラムが複数含まれており、各カラムは６０１に示すデータ型で定義されている。
【００９５】
ＮＵＬＬ６０３は、値が空でもよいか否かを示す。キー情報６０４は、主キー否かを示している。
【００９６】
また、Ｗｅｂアプリケーション開発ツールは、ステップＳ５０３において、変換ルール７００の特定とあわせてデータ型対応表７１０を決定して取得する。
【００９７】
データ型対応表７１０は、ＲＤＢＭＳの種類毎に決定する。データ型対応表７１０は、ＰＣ１００の外部メモリ２１１に、ＲＤＢＭＳの種類ごとに予め記憶されている。
【００９８】
データ型対応表７１０は、Ｗｅｂアプリケーション開発ツール及び当該ツールで開発するＷｅｂアプリケーションがサポートしている（取り扱う）データ型の対応を示す。
【００９９】
具体的には、Ｗｅｂアプリケーション開発ツール及び当該ツールで開発するＷｅｂアプリケーションは、アプリデータタイプ７１１の示すデータモデルのデータ型を、ＲＤＢＭＳにおけるデータ型７１２として扱うことを示す。
【０１００】
つまり、アプリデータタイプ７１１は、Ｗｅｂアプリケーション開発ツール及び当該ツールで開発するＷｅｂアプリケーションが取り扱い可能なデータモデル上のデータ型である。
【０１０１】
また、データ型７１２は、ＲＤＢＭＳが扱うデータ型の１つであり、Ｗｅｂアプリケーション開発ツール及び当該ツールで開発するＷｅｂアプリケーションが取り扱い可能なデータテーブル上のデータ型である。
【０１０２】
すなわち、ＮＵＭ型（ＮＵＭ  数値型）のデータを扱うＷｅｂアプリケーションを開発したとしても、当該ＮＵＭ型のデータに対応するＲＤＢＭＳ上のデータテーブルのデータ型がＤＥＣＩＭＡＬではない（例えば既存テーブルのようにＩＮＴ型である）場合には、Ｗｅｂアプリケーションは当該テーブルのデータを扱うことができないものである。
【０１０３】
ステップＳ５０４で、Ｗｅｂアプリケーション開発ツールは、ＲＡＭ２０３に保持している変換対象の既存テーブルのうち未処理のテーブルの、未処理のカラムを１つ取得する。
【０１０４】
ステップＳ５０５で、Ｗｅｂアプリケーション開発ツールは、当該カラムの情報（カラム情報）を、データモデル用に変換することなく流用可能か判定する。
【０１０５】
例えば、ステップＳ５０４で取得したカラムのデータ型６０１が、データ型対応表７１０のデータ型７１２と一致している場合に、流用可能であると判定する。
【０１０６】
流用可能と判定された場合は、処理をステップＳ５０９に移行し、流用可能なカラム情報として決定する。また、当該カラムのデータを変換ルール７００に従って変換し、流用可能である旨を示す値と対応付けてＲＡＭ２０３に、変換後データの一部として記憶する。
【０１０７】
ここでは、データ型７１２とアプリデータタイプ７１１と同じ組み合わせが変換ルール７００のカラムデータ型７０１とアプリデータ型７０２に記憶されていることを前提にステップＳ５０９の処理を行っている。
【０１０８】
つまり、実際には、ステップＳ５０９で流用可能と判定された後、当該カラムのデータ型を変換ルール７００のカラムデータ型７０１から特定し、これに対応するアプリデータ型７０２に変換する処理を行う。変換先の候補が複数ある場合は、１０１３での選択結果に従う。
【０１０９】
なお、ここでいう変換後データとは、外部メモリ２１１におけるリポジトリ定義部３００に記憶される前の、一時データとしてＲＡＭ２０３に記憶されるデータモデルである。
【０１１０】
データモデルの構成の一例を図６の６１０に示す。データモデル６１０は、既存テーブル６００に変換ルールを適用してデータモデルを作成した場合のデータモデル定義の例である。
【０１１１】
項目コード６１１と名前６１２は、既存テーブル６００のカラムの名前６０２と同じ値を挿入する。
【０１１２】
ＮＵＬＬ６１３はＮＵＬＬ６０３から値を決定し、挿入する。ＮＵＬＬ６０３＝「はい」の場合、ＮＵＬＬ６１３に「可」と挿入する。ＮＵＬＬ６０３＝「いいえ」の場合、ＮＵＬＬ６１３に「不可」と挿入する。「可」は値が空であることを許可する（空でもよい）ことを示す。「不可」は値が空であることを許可しないことを示す。
【０１１３】
キーグループ６１４はキー情報７０４の情報から値を決定し、挿入する。キー情報７０４が主キーであることを示す場合、キーグループ６１４に「１」と挿入する。キー情報７０４主キーでないことを示す場合、キーグループ６１４に「０」と挿入する。
【０１１４】
また、データタイプ６１５は、変換ルール７００及び１０１３での選択内容に基づいて変換した後の値を挿入する。
【０１１５】
ステップＳ５０９で流用可能でないと判定された場合は、処理をステップＳ５０６に移行する。ステップＳ５０６で、Ｗｅｂアプリケーション開発ツールは、ステップＳ５０４で取得したカラムのデータ型６０１を、ステップＳ５０３で決定して取得した変換ルール７００に基づいて変換可能か判定する。つまり、テーブルとして今のデータ型のまま流用できなくとも、変換ルール７００によって変換は可能か判定する。
【０１１６】
具体的には、カラム情報のデータ型６０１が変換ルール７００のカラムデータ型７０１のいずれかに一致しているか判定する。
【０１１７】
カラムデータ型７０１のいずれかに一致する場合（カラムデータ型７０１の中に対応するカラムが存在する場合）は、変換可能と判定する。カラムデータ型７０１のいずれとも一致しない場合は、変換不可能と判定する。
【０１１８】
変換可能と判定された場合、処理をステップＳ５０８に移行する。変換不可能と判定された場合、処理をステップＳ５０７に移行する。
【０１１９】
ステップＳ５０８で、Ｗｅｂアプリケーション開発ツールは、処理中のカラム情報のデータ型を変換ルール７００に基づいて変換した値をＲＡＭ２０３に変換後データの一部として生成・記憶する。そして、当該カラム情報が、流用不可能だが変換を行ったカラム情報であることを示す値を対応付けて記憶する。
【０１２０】
ステップＳ５０７で、Ｗｅｂアプリケーション開発ツールは、処理中のカラム情報のデータ型を強制的にＣＯＤＥ型に変換してＲＡＭ２０３に変換後データの一部として記憶し、当該カラム情報が変換ルール７００に基づいて変換不可能であり、且つデータモデルに流用不可能であることを示す値を記憶する。
【０１２１】
Ｗｅｂアプリケーション開発ツールは、ステップＳ５０４〜Ｓ５０９の判定及び判定に応じた処理を、変換対象の既存テーブルのカラム情報数分繰り返し行う。
【０１２２】
全てのカラム情報が流用可能なカラム情報と判定された既存テーブルは、Ｗｅｂアプリケーションから利用できる既存テーブル３４１であると判定される。１件でも流用不可なカラム情報がある場合は、ＲＡＭ２０３上に新規テーブルを作成後、データのコンバートを行う必要があると判定される。
【０１２３】
Ｗｅｂアプリケーション開発ツールは、ステップＳ５０４〜Ｓ５０９の判定及び判定に応じた処理を、変換対象の既存テーブルのカラム情報数分繰り返し行った後、処理をステップＳ５１０に移行し、カラム情報を変換ルール７００及び１０１３の選択内容に基づいて変換したデータモデルの情報（変換後データ）を表示する。例えば図８のデータモデル生成画面８００を表示する。
【０１２４】
なお、変換を行ったカラムについては、変換後のカラムの各情報が、Ｗｅｂアプリケーション開発ツールが扱うための条件を満たしているか判定する処理を行う。例えば桁数が特定できるか否かの判定を行い、桁数を特定できない場合は、当該桁数の項目に対応付けて、桁数を特定できなかった旨を示す値（テキスト）を記憶する。
【０１２５】
データモデル生成画面８００では、変換不可能なカラムが存在せず、流用可能なカラムと、流用はできないが変換は可能だったカラムとが混在した変換後データを表示している。
【０１２６】
表示部８０１には、既存テーブル名と、既存テーブルを変換した変換後データ（データモデルのデータ）の識別情報（データモデルコード）及び名前を表示する。データモデルの外部メモリ上への生成・保存は、「Ｆｉｎｉｓｈ」ボタン８０８が押下された場合に実行する。
【０１２７】
表示部８０３は、既存テーブルの情報の一覧表示部８０４と、当該既存テーブルの情報を変換したデータモデルの情報の一覧表示部８０５から構成される。
【０１２８】
８０４には、変換ルールを適用した既存テーブルのカラム名及びカラムデータ型を表示する。８０５には、既存テーブルの各カラムを変換ルール７００及び１０１３の選択内容に基づいて変換することで生成したデータモデルにおける、変換後の項目コード、項目の名前、データ型、桁数及び少数桁等を表示する。
【０１２９】
また、Ｗｅｂアプリケーション開発ツールが取り扱い不可能なカラム（例えば、変換ルール７００に基づいて桁数が特定できないという結果が得られたカラム）については、その先頭にエラーアイコン８０６を表示する。
【０１３０】
また、データモデルの中に、Ｗｅｂアプリケーション開発ツールが取り扱い不可能なカラムが１つでも含まれている場合、８０１において、当該データモデルの先頭にエラーアイコン８０２を表示する。
【０１３１】
取り扱い不可能であると判定された原因の項目（例えば桁数の項目）には、エラーアイコン８０７を表示する。
【０１３２】
つまり、このままデータモデルを生成（外部メモリのリポジトリ定義部に生成・保存）すると、Ｗｅｂアプリケーション開発ツールが取り扱うことのできないデータモデルとなってしまう（当該データモデルを使ってＷｅｂアプリケーションを開発できない）ことを、その原因とあわせて通知する。以上が図５の説明である。
【０１３３】
図４の説明に戻る。ステップＳ４０４で、Ｗｅｂアプリケーション開発ツールは、「Ｆｉｎｉｓｈ」ボタン８０８の押下を受け付けることで、データモデルをリポジトリ定義部３００に生成し、記憶する。
【０１３４】
具体的には、「Ｆｉｎｉｓｈ」ボタン８０８の押下時点で、表示部８０３においてチェックボックスがチェックされていた（選択されていた）カラムの項目コードをＲＡＭ２０３上の変換後データ（データモデル６１０）から取得してデータモデルのファイルを生成する。
【０１３５】
なお、データモデル生成画面８００においては、エラーとなっている欄を、ユーザ操作により選択可能であり、直接値を入力して修正可能である。
【０１３６】
値の修正を受け付けた後「Ｆｉｎｉｓｈ」ボタン８０８が押下された場合は、修正後の値（厳密には、修正後、「Ｆｉｎｉｓｈ」ボタン８０８時点で入力されている値）を用いてデータモデルを生成して記憶する。
【０１３７】
ある項目が選択された後に当該選択が解除された場合は、選択が解除された項目の値が、Ｗｅｂアプリケーション開発ツールが当該値を扱うための条件を満たしているか判定する。条件が満たされるようになった場合は、エラーが解消されたことを確認させるべく、当該項目におけるエラーアイコン８０７を非表示とする。
【０１３８】
全てのエラーアイコン８０７が非表示となったカラムについては、エラーアイコン８０６を非表示とする。
【０１３９】
データモデル生成画面によれば、データモデル化に際して、Ｗｅｂアプリケーションの開発のために修正が必要な項目を容易に確認することができる。
【０１４０】
つまり、新たなアプリケーションの開発のためのデータ移行業務を省力化することが可能な仕組みを提供することができる。
【０１４１】
ステップＳ４０４で生成した、エラーのないデータモデルの一例を図６の６１０に示す。その構成は、ステップＳ５１０で生成された変換後データ（ＲＡＭ２０３上のデータモデル）と同じである。
【０１４２】
値が修正されず、又は修正されたがエラーが残ったままのデータモデルの一例を図６の６２０に示す。６２０においてはエラーを６２１及び６２２のようなアイコンとして記載しているが、実際にはエラーを示す値を記憶する。
【０１４３】
Ｗｅｂアプリケーション開発ツールは、データモデルの生成に成功した場合、ステップＳ４０５で図１１のレポート出力画面１１００を表示する。そして、当該レポート出力画面１１００でレポートの出力操作を受け付けた場合に、変換結果レポート８１０を出力する。つまり、レポート結果をユーザに通知するためのファイルを生成する（通知制御手段に該当）。
【０１４４】
具体的には、チェックボックス１１０１にチェックが入れられた状態で、且つ、指定受付部１１０２で出力先ファイルが指定された状態で「ＯＫ」ボタンが押下された場合に、レポートの出力操作を受け付けたと判定する。
【０１４５】
レポートのファイル形式は指定された出力先ファイルによって変わるが、ここではテキスト形式であるものとする。
【０１４６】
変換結果レポート８１０における非標準型８１１は、変換の結果、対象のカラムが流用可能かどうかを示す。流用可能なカラムにはアスタリスク（流用不可能であることを示す印）を付与せず、流用不可能な項目にはアスタリスクを付与する。つまり、アスタリスクが１つでもあれば流用不可能なテーブルである。
【０１４７】
８１３には変換前のカラムデータ型を出力し、８１４には変換後のデータタイプを出力する。また、エラーがある場合には８１２のようにエラーの内容を挿入・出力する。
【０１４８】
また、ユーザは変換結果レポートを確認することで、どのカラムが流用可能で、どのカラムがデータモデル化してもＷｅｂアプリケーション開発ツールが扱えないのか、その原因は何かを確認することができる。
【０１４９】
例えば、データモデル化に際して、Ｗｅｂアプリケーションの開発のために修正が必要な項目を容易に確認することができるようになる。
【０１５０】
また、移行・変換が正常に行われないデータ項目を確認できることで、どの項目を修正すればよいか容易に確認できる。
【０１５１】
また、どの項目がＷｅｂアプリケーションの開発のために修正が必要な項目で、どの項目が流用できない項目かを容易に確認できる。
【０１５２】
つまり、データのテーブル間の移行における修正すべき箇所や、新たなＷｅｂアプリケーションの開発のために修正すべき箇所を確認でき、データ移行業務を省力化することができる。
【０１５３】
以上説明したように、本発明の第１の実施形態によれば、新たなアプリケーションのためのデータ移行業務を省力化することが可能な仕組みを提供することができる。
【０１５４】
＜第２の実施形態＞
以下、本発明の第２の実施形態について説明する。なお、第１の実施形態と共通の装置、装置にかかる構成、処理、データ、画面については説明を省略する。
【０１５５】
第２の実施形態においては、過去の変換履歴（データモデルの生成履歴）に基づいてデータの変換を行う。
【０１５６】
これは、過去の変換時に行った値の修正内容を新たな変換に流用し、新たなアプリケーションのためのデータ移行業務を省力化するためである。
【０１５７】
Ｗｅｂアプリケーション開発ツールは、図４のステップＳ４０４の後、データモデル生成の履歴情報を外部メモリ２１１に記憶する。なお、当該履歴情報は、例えばデータモデル生成画面において変更・修正された項目について（カラムについて）、変更される前と後の情報を記憶するものである。
【０１５８】
履歴情報の一例を図１２の１２００に示す。履歴情報は１２１０の履歴一覧と、履歴の内容を示す１２２０から構成される。１２２０は履歴ごと（履歴ＩＤごと）に記憶管理する。
【０１５９】
例えば、変換ルール７００によってカラムデータ型がＩＮＴのものをデータタイプＮＵＭ型とすることが決定されたカラム名＝ｍｏｎｅｙのカラム情報につき、データモデル生成画面８００においてデータタイプがＮＵＭ型からＣＵＲＲＥＮＣＹ型に変更されたとする。その後、データモデルの生成が行われた場合、当該変更・生成がされたデータモデルの、変更されたカラムを含む変換元の既存テーブルを特定して、当該既存テーブルの名前を１２１３に挿入した新規レコードを１２１０に生成する。履歴ＩＤ１２１５には一意の値を挿入する。
【０１６０】
また、当該レコードの１２１１、１２１３、１２１４に、接続情報入力画面９１０に対して入力された接続文字列９１１により特定されるデータベース種別の値、スキーマ選択画面１０００で選択されたスキーマの名称、テーブル選択画面１０１０のカラムデータ型選択部１０１３で選択されたデータ型の値を挿入して記憶する。
【０１６１】
そして、当該履歴ＩＤ１２１５と同じ値を履歴ＩＤ１２２１に持つレコードを１２２０に作成し、カラム名１２２２にｍｏｎｅｙ、変換前データ型１２２３にＮＵＭ、変換後データ型１２２４にＣＵＲＲＥＮＣＹを挿入して記憶する。以上が図１２の説明である。
【０１６２】
次に図１３を参照して、本発明の第２の実施形態におけるカラム変換処理の流れについて説明する。
【０１６３】
図１３の処理は、ＰＣ１００のＣＰＵ２０１が、自機にインストールされたＷｅｂアプリケーション開発ツールの各機能を用いて実行する。
【０１６４】
ステップＳ１３０１からステップＳ１３０９までは、図５のステップＳ５０１からＳ５０９と同じであるため、説明を割愛する。
【０１６５】
ステップＳ１３１０で、Ｗｅｂアプリケーション開発ツールは、過去に変更の履歴があるか判定する。
【０１６６】
具体的には、カラム情報を変換に際し特定、選択、指定されたデータベース種別、スキーマ、既存テーブル名、１０１３で選択されたデータ型の組み合わせを持つ履歴が、履歴情報１２００の１２１０に存在するか判定する。
【０１６７】
当該履歴が存在する場合は当該履歴を１２１０から取得し、また、当該履歴に対応する（同じ履歴ＩＤを持つ）履歴を１２２０から取得してＲＡＭ２０３に記憶し、処理をステップＳ１３１１に移行する。
【０１６８】
Ｗｅｂアプリケーション開発ツールは、ＲＡＭ２０３上に記憶した当該履歴の１２２０を参照し、１２２０の中からステップＳ１３０７又はステップＳ１３０８又はステップＳ１３０９で決定したカラム情報のカラム名を特定する。同じカラム名がない場合はステップＳ１３１１の処理をスキップする。
【０１６９】
ステップＳ１３１１で、Ｗｅｂアプリケーション開発ツールは、１２２０の履歴内に存在するカラム名の変換前データ型１２２３と一致する、変換後データにおける変換後のデータ型（ステップＳ１３０７又はステップＳ１３０８又はステップＳ１３０９で決定したカラム情報のデータ型）を特定し、変換後データ型１２２４に変換する。
【０１７０】
例えば、変換ルール７００に従ってカラムデータ型がＩＮＴのものをデータタイプＮＵＭ型とすることが決定され変換されたカラム名＝ｍｏｎｅｙのデータ型を、履歴情報に従って、ＮＵＭ型からＣＵＲＲＥＮＣＹ型に変更する。
【０１７１】
履歴情報に従って変更（変換）がされた場合、ステップＳ１３１２では、履歴情報に従って変更（変換）された後のカラム情報を持つデータモデルを取得し、データモデル生成画面８００に表示する。
【０１７２】
図１３の処理によれば、過去の変換時に行った値の修正内容を新たな変換に流用し、新たなアプリケーションのためのデータ移行業務を省力化することができる。
【０１７３】
また、履歴情報を用いて変換された旨を識別表示する。例えば、履歴情報を用いて変換されたカラム内のデータタイプを赤字で表示する。それ以外は黒字で表示する。
【０１７４】
履歴に基づいて変換されたデータ型とそれ以外のデータ型を識別可能とすることで、例えば新たなアプリケーションの開発や新たなアプリケーションでのデータ利用のために必要な変換結果のチェック箇所を、過去の修正内容を流用した箇所以外の箇所に容易に絞り込むことができるようになる。
【０１７５】
また、変換後データの全てのカラムではなく、変換ルールにおいて変換候補が複数あり変換先が特定できないカラムのデータ型又は変換できなかったカラムのデータ型（ステップＳ１３０７でＣＯＤＥ型に変換されたデータ型）に対してのみ、ステップＳ１３１０以下の処理を適用し、変換、識別表示してもよい。
【０１７６】
これにより、可能な限り、予め用意された変換ルールに従ってデータを変換しつつ、過去の変換時に行った値の修正内容を新たな変換に流用し、新たなアプリケーションのためのデータ移行業務を省力化することができる。
【０１７７】
また、履歴に基づいて変換されたデータ型と変換ルールに基づいて変換されたデータ型を識別可能とすることで、例えば新たなアプリケーションの開発や新たなアプリケーションでのデータ利用のために必要な変換結果のチェック箇所を容易に絞り込むことができるようになる。
【０１７８】
＜第３の実施形態＞
以下、本発明の第３の実施形態について説明する。なお、第１の実施形態及び第２の実施形態と共通の装置、装置にかかる構成、処理、データ、画面については説明を省略する。
【０１７９】
第３の実施形態においては、データモデルの変換結果に基づいて、当該データモデルを用いて開発する新たなアプリケーション用のデータテーブルを生成し、既存のデータを移行・登録する。
【０１８０】
図１４を参照して、本発明の第３の実施形態における、データ登録処理の流れについて説明する。図１４は、データをコンバートする処理のフローチャートである。
【０１８１】
図１４の処理は、ＰＣ１００のＣＰＵ２０１が、自機にインストールされたＷｅｂアプリケーション開発ツールの各機能を用いて実行する。
【０１８２】
Ｗｅｂアプリケーション開発ツールは、図４のステップＳ４０４でデータモデルが生成された場合に図１４の処理を開始する。
【０１８３】
ステップＳ１４０１で、Ｗｅｂアプリケーション開発ツールのデータ移行部３２０のＳＱＬ発行部３２１は、データモデル定義３０４に基づき、テーブル生成のＳＱＬを作成する。
【０１８４】
次にステップＳ１４０２では、ＳＱＬ発行部３２１が当該ＳＱＬを実行し、新しいデータベースにテーブル３３１を作成する。当該ＳＱＬの実行は、データベース定義３０５に基づき行われる。
【０１８５】
ステップＳ１４０３では、データ移行部３２０が、既存データベース３４０の既存テーブル３４１（ステップＳ４０４のデータモデルの生成に際し、変換に用いられた既存テーブル）からデータ３４２を抽出するＳＱＬを作成する。
【０１８６】
ステップＳ１４０４で、ＳＱＬ発行部３２１は当該ＳＱＬを実行し、データ３４２を抽出する。
【０１８７】
そして、抽出したデータを、変換ルール７００及びデータ型対応表７１０を用いて変換する。例えば、変換ルール７００を参照して既存テーブルのＴＩＭＥＳＴＡＭＰ型のデータをＴＩＭＥ型に変換する。その後、データ型対応表７１０を参照して、当該ＴＩＭＥ型のデータをＤＡＴＥＴＩＭＥ型に変換する。
【０１８８】
Ｓ１４０５で、ステップＳ１４０２で作成したテーブル３３１に対して、ステップＳ１４０４で抽出して変換したデータ３４２を登録するＳＱＬを作成する。
【０１８９】
次にステップＳ１４０６で当該ＳＱＬを実行し、データ３４２をテーブル３３１に登録する。この処理を移行する対象のテーブル分だけ繰り返し行う。
【０１９０】
なお、ステップＳ４０４の実行後に図１４の処理を実行するものとしたが、例えばステップＳ４０５の実行後に図１４の処理を実行するようにしてもよい。
【０１９１】
ステップＳ４０５の後に図１４の処理を実行する場合、Ｗｅｂアプリケーション開発ツールは、ステップＳ４０５で出力されたレポートの非標準型８１１を参照し、データモデルへの変換に用いられた既存テーブルが流用可能なテーブルか否かを判定する。
【０１９２】
流用可能な場合は、ＰＣ１００の外部メモリ２１１に記憶されている新たなアプリケーション用のＲＤＢＭＳの接続情報を用いて当該ＲＤＢＭＳに接続し、既存テーブルを、新たなアプリケーション用のテーブルとしてコピー・転送して、当該ＲＤＢＭＳに登録する。
【０１９３】
流用可能なテーブルでない場合（非標準型８１１にアスタリスクが１つでもある場合）、ステップＳ１４０１以下の処理を実行する。以上が第３の実施形態の説明である。
【０１９４】
本発明の第３の実施形態によれば、データモデルの変換結果に基づいて、当該データモデルを用いて開発する新たなアプリケーション用のデータテーブルを自動生成し、既存のデータを移行・登録する（コンバートする）ことで、データ移行業務を省力化することが可能となる。
【０１９５】
以上説明したように、本発明によれば、新たなアプリケーションのためのデータ移行業務を省力化することが可能な仕組みを提供することができる。
【０１９６】
上述したＷｅｂアプリケーションはアプリケーションプログラムの一例である。例えばＰＣ１００の外部メモリに記憶されてＰＣ１００で動作するローカルアプリケーションや、クライアントアプリケーションであってもよい。すなわち、Ｗｅｂアプリケーション開発ツールが、ローカルアプリケーションや、クライアントアプリケーションの開発ツールであってもよい。
【０１９７】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１９８】
具体的には、ＰＣ１００とデータベースサーバ２５０が一体であり、上述した実施形態の各処理を実行するようにしてもよい。また、ＰＣ１００とデータベースサーバ２５０及び／又はアプリケーションサーバ２００が一体であり、上述した実施形態の各処理を実行するようにしてもよい。
【０１９９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０２００】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０２０１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０２０２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０２０３】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２０４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２０５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０２０６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０２０７】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０２０８】
１００  ＰＣ
１０１  ＰＣ
１５０  ネットワーク
２００  アプリケーションサーバ
３００  データベースサーバ
【図１】
2018194878.tif 000003
【図２】
2018194878.tif 000004
【図３】
2018194878.tif 000005
【図４】
2018194878.tif 000006
【図５】
2018194878.tif 000007
【図６】
2018194878.tif 000008
【図７】
2018194878.tif 000009
【図８】
2018194878.tif 000010
【図９】
2018194878.tif 000011
【図１０】
2018194878.tif 000012
【図１１】
2018194878.tif 000013
【図１２】
2018194878.tif 000014
【図１３】
2018194878.tif 000015
【図１４】
2018194878.tif 000016