(57)【要約】【課題】本発明は、各種の設計資料と成果物との整合性を十分に確保し、プログラム開発生産性の向上を図れるデータ生成プログラムを提供するものである。【解決手段】本発明に係るデータ生成プログラム４は、各種形式の元データからメタデータを読み込みメタデータ用ＸＭＬ形式の共通基礎情報を生成するスクリプトエンジン３からの前記共通基礎情報を取り込む処理と、前記共通基礎情報を基にテンプレートエンジン５からメタデータ出力用テンプレートを読み込み、共通基礎情報をメタデータ出力用テンプレートに従って処理し、プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等の出力データを生成する処理とを実行可能としたものである。【選択図】図３
2007087127.tif 000002
【特許請求の範囲】
【請求項１】
各種形式の元データを読み込みＸＭＬ形式の共通基礎情報を生成するスクリプトエンジンからの前記共通基礎情報を取り込む処理と、
前記共通基礎情報を基にテンプレートエンジンから出力用テンプレートを読み込み、前記共通基礎情報を出力用テンプレートに従って処理し、プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等を生成する処理と、
を含むことを特徴とするデータ生成プログラム。
【請求項２】
各種形式の元データを読み込みＸＭＬ形式の共通基礎情報を生成するスクリプトエンジンからの前記共通基礎情報を取り込む処理と、
前記共通基礎情報を基にテンプレートエンジンから出力用テンプレートを読み込み、前記共通基礎情報を出力用テンプレートに従って処理し、プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等の出力データを生成する処理と、
を実行するデータ生成プログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【請求項３】
任意のオープンソースソフトウェアを選択する機能と、
データ生成プログラムが、スクリプトエンジン及びテンプレートエンジンを使用して各種形式の元データから生成した前記選択したソフトウェア用の設定ファイル、ソースコード等のプログラム要素と、テンプレートエンジンから読み込んだ使用オープンソースソフトウェア用のテンプレートとを利用して、前記選択したオープンソースソフトウェアを処理し使用オープンソースソフトウェアを使用可能な状態に設定する機能と、
を有することを特徴とするオープンソースソフトウェア開発環境統合プログラム。
【請求項４】
任意のオープンソースソフトウェアを選択する機能と、
データ生成プログラムが、スクリプトエンジン及びテンプレートエンジンを使用して各種形式の元データから生成した前記選択したソフトウェア用の設定ファイル、ソースコード等のプログラム要素と、テンプレートエンジンから読み込んだ使用オープンソースソフトウェア用のテンプレートとを利用して、前記選択したオープンソースソフトウェアを処理し使用オープンソースソフトウェアを使用可能な状態に設定する機能と、
を実行するオープンソースソフトウェア開発環境統合プログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成プログラム、該プログラムを記憶した記憶媒体、オープンソースソフトウェア開発環境統合プログラム、該プログラムを記憶した記憶媒体に関するものである。
【背景技術】
【０００２】
アプリケーション開発の課題の一つとして、設計資料と成果物（ソースコード、設定ファイル等）との整合性の確保が挙げられる。例えばデータベース設計を変更する場合、実際のデータベースの変更と同時に設計資料（ＥＲ図等）の変更も必要となる。
【０００３】
また、昨今のアプリケーション開発環境では、例えばフレームワークやＯ／Ｒマッピィングツール等が多用される傾向にある。これらのツールは、確実に生産性の向上や品質の均一化に寄与する反面、各ツール毎に設定方式が異なることから設定情報が分散し、管理しににくい。このように従来においては、設計から実装環境構築までの整合性確保に関して多くの課題が存在している。
【０００４】
特許文献１には、ソフトウェアの設計書から、ユーザインターフェイスを含むプログラムを生成する装置、方法、プログラム等が提案されている。
【０００５】
しかし、この特許文献１の場合、生成するユーザーインターフェースプログラムの内容が主としてＧＵＩ（グラフィカルユーザインターフェース）プログラムであり、比較的開発対象が狭範囲である。
【特許文献１】特開２００３−１４０８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
解決しようとする問題点は、各種の設計資料と成果物（ソースコード、設定ファイル等）との整合性を十分に確保し、プログラム開発生産性の向上を図ったり、またオープンソースソフトウェアを利用してのプログラム開発環境の効率向上を図ることに有効なデータ生成プログラムや開発環境統合プログラムが存在しない点である。
【課題を解決するための手段】
【０００７】
本発明に係るデータ生成プログラムは、各種形式の元データを読み込みＸＭＬ形式の共通基礎情報を生成するスクリプトエンジンからの前記共通基礎情報を取り込む処理と、前記共通基礎情報を基にテンプレートエンジンから出力用テンプレートを読み込み、前記共通基礎情報を出力用テンプレートに従って処理し、プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等を生成する処理と、を含むことを最も主要な特徴とする。
【発明の効果】
【０００８】
本発明によれば、以下の効果を奏する。
請求項１及び２記載の発明によれば、ＸＭＬ形式の共通基礎情報、出力用テンプレートを基に所望の出力データ（プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等）を生成することができ、形式が異なる設計書等の間の不整合減少によるプログラム開発生産性の向上を図れ、また、機械的作業軽減によるプログラム開発生産性、保守性、品質の向上を実現できるデータ生成プログラムを提供することができる。
【０００９】
請求項２記載の発明によれば、上記機能を有するデータ生成プログラムを記憶し、広範なプログラム開発環境に有効活用することが可能な記憶媒体を提供することができる。
【００１０】
請求項３記載の発明によれば、種々のオープンソースソフトウェアを選択し、これを基に実際に開発環境で実際に使用する使用オープンソースソフトウェアを組み合わせて容易に利用することが可能となり、オープンソースソフトウェア習得時間の短縮、機械的作業軽減によるプログラム開発生産性、保守性、品質の向上を実現できるオープンソースソフトウェア開発環境統合プログラムを提供することができる。
【００１１】
請求項４記載の発明によれば、上記機能を有するオープンソースソフトウェア開発環境統合プログラムを記憶し、種々の既存のオープンソースソフトウェアを利用するオープンソースソフトウェア開発環境に有効活用することが可能な可能な記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【００１２】
本発明は、設計資料と、成果物との整合性を十分に確保し、プログラム開発生産性の向上を図るという目的を、各種形式の元データを読み込みＸＭＬ形式の共通基礎情報を生成するスクリプトエンジンからの前記共通基礎情報を取り込む処理と、前記共通基礎情報を基にテンプレートエンジンから出力用テンプレートを読み込み、前記共通基礎情報を出力用テンプレートに従って処理し、プログラム、プログラム実行に必要な設定ファイル、データアクセスオブジェクト、データ格納オブジェクト、仕様書等の文書等を生成する処理と、を含む構成のデータ生成プログラムにより実現した。
【実施例】
【００１３】
以下に、本発明の実施例を詳細に説明する。
図１は、本発明の実施例に係るデータ生成プログラムを含むコンピュータプログラムの全体構成を示す概念図であり、ＯＳ（オペレーティング  システム：Ｗｉｎｄｏｗｓ，Ｌｉｎｕｘ等）１、スクリプトエンジン３、本発明の実施例に係るデータ生成プログラム４、テンプレートエンジン（Ｊａｖａベース）５を含んで構成している。なお、Ｗｉｎｄｏｗｓ，Ｊａｖａは登録商標である。
【００１４】
前記テンプレートエンジン５は、図２に示すように、コントロール機能１１と、各種のテンプレート（汎用フォーマット及び特定フォーマット等）を格納しているテンプレートファイル１２と、テンプレート特定用の変数等のデータ等をセットするためのコンテキスト１３とを含み、前記データ生成プログラム４の実行に伴って、出力用のテンプレートの特定、当該テンプレートのデータのデータ生成プログラムへの送出等を行うようになっている。前記コンテキスト１３は、変数群格納に用いられるオブジェクトの一種である。
【００１５】
前記テンプレートファイル１２に格納しているテンプレートとしては、例えば汎用フォーマットとして、Ｅｘｃｅｌ、ＸＭＬ、ＨＴＭＬ、Ｊａｖａ  Ｓｏｕｒｃｅ、ＣＳＶ、Ｄａｔｅｂａｓｅ等の各種フォーマット、ＤＡＯ（データアクセスオブジェクト）出力用フォーマット、ＤＴＯ（データ格納オブジェクト）出力用フォーマット等を挙げることができる。
【００１６】
また、テンプレートファイルに格納しているテンプレートとしては、特定フォーマットとして、前記Ｅｘｃｅｌ、ＸＭＬ等の汎用フォーマットに対して更に特定の情報を付加した各種フォーマットを挙げることができる。
【００１７】
次に、本実施例に係るデータ生成プログラム４の基本概念について、図３を参照し、且つ、前記スクリプトエンジン３、テンプレートエンジン５の処理に関連付けて説明する。
【００１８】
本実施例に係るデータ生成プログラム４は、前記スクリプトエンジン３及びテンプレートエンジン５を利用して、各種形式の元データから出力データを生成する。すなわち、スクリプトエンジン３は、読み込んだ各種形式の元データをＸＭＬファイルに変換し共通基礎情報として出力する。
【００１９】
本実施例に係るデータ生成プログラム４は、スクリプトエンジン３から呼び出されて起動し、共通基礎情報を取り込み、且つ、テンプレートエンジン５を参照して所定の出力用フォーマット（例えばＤＡＯ出力用フォーマット、ＤＴＯ出力用フォーマット等）を読み込んで、当該出力用フォーマットに従い共通基礎情報に基づくＤＡＯ、ＤＴＯ等のＪａｖａソースファイルを出力データとして生成する。
【００２０】
図４は本実施例に係るデータ生成プログラム４における各種形式の元データから出力データを生成するまでの具体的なアルゴリズムを示すフローチャートであり以下に詳述する。
【００２１】
本実施例に係るデータ生成プログラム４は、スクリプトエンジン３から呼び出されて起動し、共通基礎情報（ＸＭＬファイル）を取り込んだ後、指定されたファイルの種類等を指示する処理命令（ステップＳ１）に従ってフォーマットの種類選択（ステップＳ２）の処理を経て、フォーマット用値オブジェクトに読み込み指示キーでテンプレートエンジン５のコンテキスト１３に格納する（ステップＳ３）。
【００２２】
ここに指示キーとは、コンテキスト１３内に格納されたオブジェクトを特定するユニークな値を意味する。また、値オブジェクトは、特定の情報の型を表すメタデータを表現するオブジェクトである。
【００２３】
次に、本実施例に係るデータ生成プログラム４は、出力を行うか（処理命令にて指示）否かを判断し（ステップＳ４）、出力を行う場合には前記テンプレートエンジン５のテンプレートファイル１２から特定の出力用フォーマットをロードする（ステップＳ５）。
更にデータ生成プログラム４は、前記コンテキスト１３からデータを読み込み（ステップＳ６）、読み込んだ出力用フォーマットに従って前記共通基礎情報を処理し、出力データを生成して出力する（ステップＳ７）。
【００２４】
更にデータ生成プログラム４は、一括処理（処理命令にて指示）か否か判断し（ステップＳ８）、一括処理を行わない場合には処理を終了する。また、一括処理を行う場合には、ステップＳ６、ステップＳ７の処理を繰り返す。
【００２５】
一方、ステップＳ４の処理で、出力を行なわないと判断した場合には、更に他フォーマットを読み込むか（処理命令にて指示）否かを判断し（ステップＳ９）、他フォーマットを読み込む場合にはステップＳ３の処理に移行し、この後上述したと同様な処理を実行する。また、他フォーマットを読み込まない場合には、処理を終了する。
【００２６】
図５は上述した本実施例に係るデータ生成プログラム４を使用して、データベースメタデータからソースファイルを生成する処理の具体例を示す説明図である。
まず、スクリプトエンジンから起動されたデータ生成プログラムは、データベース（ＲＤＢＭＳ）２０からデータベースメタデータを読み込み、メモリ内でメタデータ表現用オブジェクトとし、更に共通基礎情報であるメタデータ用ＸＭＬファイルに変換する。なお、図では示していないが、読み込むメタデータはデータベースメタデータ以外にＥＲ図等のデータベース設計情報でも良い。
【００２７】
ここで、必要に応じてオペレータは図示していないがキーボード等からの手動入力にて前記ＸＭＬファイルに対してカラムの日本語名等の他の情報を追記するようにしてもよい。
【００２８】
次に、本実施例に係るデータ生成プログラム４は、前記ＸＭＬファイルを読み込みメモリ内でメタデータ表現用オブジェクトとし、更に前記テンプレートファイル１２から例えばＤＡＯ出力用フォーマットファイルを読み込んで、このＤＡＯ出力用フォーマットファイルに従って前記ＸＭＬファイルを処理し、ソースファイル「ＤＡＯ」を自動生成する。
同様にして本実施例に係るデータ生成プログラム４は、前記ＸＭＬファイルを読み込みメモリ内でメタデータ表現用オブジェクトとし、更に前記テンプレートファイル１２から例えばＤＴＯ出力用フォーマットファイルを読み込んで、このＤＴＯ出力用フォーマットファイルに従って前記ＸＭＬファイルを処理し、ソースファイル「ＤＴＯ」を自動生成する。
【００２９】
上述した図５に示す一連の処理は、一貫して自動実行する場合の他、メタデータ用ＸＭＬファイルに変換した後一旦処理を中断し、オペレータによるＸＭＬファイルの修正作業を実行した後、以降の処理を最後まで実行するようにすることも勿論可能である。
【００３０】
図６は、既述した図１に示すプログラム構成に、本発明の他の実施例に係るオープンソースソフトウェア開発環境統合プログラム６を付加した構成を示すものである。
この他の実施例においては、既述したデータ生成プログラム４を利用するとともに、前記テンプレートエンジン５のテンプレートファイル１２に、各種オープンソースソフトウェアを基に生成する使用オープンソースソフトウェア用のテンプレート（設定ファイル等）を格納している。
【００３１】
図７は本実施例に係るオープンソースソフトウェア開発環境統合プログラム６の処理内容を示す概念図である。
オープンソースソフトウェア開発環境統合プログラム６は、図７に示すように選択機能により任意のオープンソースソフトウェアを選択するとともに、前記テンプレートエンジン５のテンプレートファイル１２から使用オープンソースソフトウェア用のテンプレートを読み込む。
また、既述したデータ生成プログラム４、スクリプトエンジン３、テンプレートエンジン５を使用して、図３に示す場合と同様にして各種形式の元データから使用オープンソースソフトウェア用の設定ファイル等を生成する。
【００３２】
本実施例に係るデータ生成プログラム４の各種具体的機能として、以下の諸機能を挙げることができる。
【００３３】
（ａ）データ読み込み機能の例（テンプレート情報の追加により容易に追加することが可能）
ＨＴＭＬ読み込み機能
Ｊａｖａソースコード読み込み機能
ＸＭＬ読み込み機能
ＥＸＣＥＬ読み込み機能
ＪＤＢＣ接続ＲＤＢＭＳスキーマ読み込み機能
ＩＢＭ  Ｒｏｓｅ．Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｏ等の共通ＵＭＬ
（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）形式であるＸＭＬ
（ＸＭＬ  Ｍｅｔａｄａｔａ  Ｉｎｔｅｒｃｈａｎｇｅ）読み込み機能
有限会社アッズリー社  Ｃｌａｙファイル（データベースモデリングツール）
読み込み機能
Ｓｔｒｕｔｓ用ＪＳＰ（Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）読み込み機能
ＳｔｒｕｔｓＣｎｆｉｇ読み込み機能
【００３４】
（ｂ）データ書き出し機能の例（テンプレート情報の追加により容易に追加することが可能）
共通基礎情報作成機能
共通基礎情報からＥＸＣＥＬのテーブル定義書の作成機能
共通基礎情報からバリュー  オブジェクトを生成する機能
共通基礎情報からデータアクセスオブジェクト（ＤＡＯ）を生成する機能
共通基礎情報からデータ格納用オブジェクト（ＤＴＯ）を生成する機能
Ｓｔｒｕｔｓ向けＪＳＰ書き出し機能
Ｖａｌｉｄａｔｏｒ書き出し機能
ＦｏｒｍＢｅａｎ書き出し機能
ＳｔｒｕｔｓＣｎｆｉｇ書き出し機能
Ａｃｔｉｏｎクラス書き出し機能
【００３５】
また、本発明の他の実施例に係るオープンソースソフトウェア開発環境統合プログラム６の各種具体的機能として、以下の諸機能を挙げることができる。
オープンソースソフトウェア選択機能
例えば、フレームワーク：Ｓｔｒｕｔｓ、Ｏ／Ｒマッピングツール：
Ｈｉｂｅｒｎａｔｅ等の任意のオープンソースソフトウェアを選択可能であ
る。何を選択したかによりメタデータから生成される設定ファイル、Ｊａｖａ
ソースコードが変わることになる。
共通基礎情報作成機能（元データ→共通基礎情報）
設定ファイル生成機能の例（テンプレート情報の追加により容易に追加することが可能）
Ｓｔｒｕｔｓ（共通基礎情報、使用オープンソースソフトウェア情報→
ｓｔｒｕｔｓ−ｃｎｆｉｇ．ｘｍｌ）
Ｈｉｂｅｒｎａｔｅ（共通基礎情報、汎用オープンソースソフトウェア情報→
ｈｉｂｅｒｎａｔｅ．ｃｆｇ．ｘｍｌ  テーブル名．ｃｆｇ．ｘｍｌ）
Ｊａｖａソースコード生成機能
Ｓｔｒｕｔｓ（共通基礎情報、使用オープンソースソフトウェア情報→
Ａｃｔｉｏｎ．Ｆｏｒｍ．ＪＳＰ等）
Ｈｉｂｅｒｎａｔｅ（共通基礎情報、使用オープンソースソフトウェア情報→
ＶａｌｕｅＯｂｊｅｃｔ、データアクセスオブジェクト（ＤＡＯ）、データ格
納用オブジェクト（ＤＴＯ）等）
【００３６】
以上説明したように、本発明の実施例に係るデータ生成プログラム４によれば、形式が異なる設計書間の不整合減少によるプログラム開発生産性の向上を図ることができ、機械的作業軽減によるプログラム開発生産性、保守性、品質の向上を発揮、実現できる。
【００３７】
また、本発明の実施例に係るオープンソースソフトウェア開発環境統合プログラム６によれば、種々のオープンソースソフトウェアを選択し、これを基に実際に開発環境で実際に使用する使用オープンソースソフトウェアを容易に生成することが可能となり、インターフェースの一元化によるオープンソースソフトウェア習得時間の短縮、機械的作業軽減によるプログラム開発生産性、保守性、品質の向上を実現できる。
【００３８】
更に具体的には、プロジェクトの生産性向上（煩わしい設定の排除）、品質の均一化（自動生成による成果物の規格化）、工数削減に寄与（設計資料やソフトウェア毎の設定ファイル作成等に必要なＳＥ（システムエンジニア）費用の削減）等、極めて有益なデータ生成プログラム４及びオープンソースソフトウェア開発環境統合プログラム６を提供することができる。
【００３９】
また、上述したような処理内容を含む本発明の実施例に係るデータ生成プログラム４を、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記憶媒体にコンピュータ読み取り可能に記憶することで、この記憶媒体を広範なプログラム開発環境に有効活用することが可能となる。
【００４０】
同様に上述したような処理内容を含む本発明の他の実施例に係るオープンソースソフトウェア開発環境統合プログラム６を、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記憶媒体にコンピュータ読み取り可能に記憶することで、種々の既存のオープンソースソフトウェアを利用するオープンソースソフトウェア開発環境に有効活用することが可能となる。
【産業上の利用可能性】
【００４１】
本発明は、各種形式のデータの一元管理や、既存のオープンソースソフトウェアを利用してのプログラム開発等を行うコンピュータソフト分野に幅広く適用することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施例に係るデータ生成プログラムを含むコンピュータプログラム構成を示す図である。
【図２】本発明の実施例に係るテンプレートエンジンの構成図である。
【図３】本発明の実施例に係るデータ生成プログラムによる出力データの生成処理を示す概念図である。
【図４】本発明の実施例に係るデータ生成プログラムにおける元データから出力データを生成するまでのアルゴリズムを示すフローチャートである。
【図５】本発明の実施例に係るデータ生成プログラムを使用して、データベースメタデータからＪａｖａソースファイルを生成する処理の具体例を示す説明図である。
【図６】本発明の他の実施例に係るオープンソースソフトウェア開発環境統合プログラムを付加したプログラム構成を示す図である。
【図７】本発明の実施例に係るオープンソースソフトウェア開発環境統合プログラムの処理内容を示す概念図である。
【符号の説明】
【００４３】
１    ＯＳ（オペレーティング  システム）
３    スクリプトエンジン
４    データ生成プログラム
５    テンプレートエンジン
６    オープンソースソフトウェア開発環境統合プログラム
１１    コントロール機能
１２    テンプレートファイル
１３    コンテキスト
２０    データベース
【図１】
2007087127.tif 000003
【図２】
2007087127.tif 000004
【図３】
2007087127.tif 000005
【図４】
2007087127.tif 000006
【図５】
2007087127.tif 000007
【図６】
2007087127.tif 000008
【図７】
2007087127.tif 000009