米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立情報システムズ

発明の名称 データベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−186670(P2003−186670A)
公開日 平成15年7月4日(2003.7.4)
出願番号 特願2001−390323(P2001−390323)
出願日 平成13年12月21日(2001.12.21)
代理人 【識別番号】100059269
【弁理士】
【氏名又は名称】秋本 正実
【テーマコード(参考)】
5B076
【Fターム(参考)】
5B076 DD08 DD10 DF06 
発明者 畑本 和彦
要約 課題
プログラム開発の生産性及び保守性の向上を実現するデータベースアクセスコンポーネントの自動生成装置,方法及びプログラムを提供する。

解決手段
システム開発者が各種データを入力する入力装置30と、入力データや自動生成されたデータ等を外部に表示する表示装置20と、ユーザデータベースのスキーマ定義情報を格納するリポジトリ1と、前記表示装置20に表示されたスキーマ定義画面から前記入力装置30により入力されたスキーマ定義情報を前記リポジトリ1に格納するスキーマ編集部40と、前記リポジトリ1と,システム開発者により予め作成されたテンプレートファイル2とからデータベースアクセスコンポーネント3のソースプログラムを自動生成するデータベースアクセスコンポーネント生成部10と、を具備する。
特許請求の範囲
【請求項1】 システム開発者が各種データを入力する入力装置と、入力データや自動生成されたデータ等を外部に表示する表示装置と、ユーザデータベースのスキーマ定義情報を格納するリポジトリと、前記表示装置に表示されたスキーマ定義画面から前記入力装置により入力されたスキーマ定義情報を前記リポジトリに格納するスキーマ編集部と、前記リポジトリと,システム開発者により予め作成されたテンプレートファイルとからデータベースアクセスコンポーネントのソースプログラムを自動生成するデータベースアクセスコンポーネント生成部と、を具備することを特徴とするデータベースアクセスコンポーネントの自動生成装置。
【請求項2】 前記データベースアクセスコンポーネント生成部は、読み込んだテンプレートファイルの一件分のレコード中に仮記号が含まれているか否か判定する判定機能と、前記判定機能により仮記号が含まれていると判定された場合、リポジトリ内のスキーマ定義情報からテーブル名あるいはカラム名を取得し、レコード内の仮記号と,当該仮記号に対応する文字列との置換処理を行う置換機能と、置換処理後の文字列を含む一件分のレコードをデータフクセスコンポーネントのソースプログラムとして1レコード出力する出力機能と、を備えることを特徴とする請求項1に記載のデータベースアクセスコンポーネントの自動生成装置。
【請求項3】 前記データベースアクセスコンポーネント生成部は、前記判定機能にて仮記号が含まれていないと判定された場合には、前記判定後に、読み込んだ一件分のレコードをデータアクセスコンポーネントのソースプログラムとしてそのまま1レコード出力する機能を備えることを特徴とする請求項1又は2に記載のデータベースアクセスコンポーネントの自動生成装置。
【請求項4】 前記リポジトリ内に格納されたスキーマ定義情報からスキーマ定義書を自動作成するスキーマ定義書作成部が更に設けられることを特徴とする請求項1から3の内の何れかに記載のデータベースアクセスコンポーネントの自動生成装置。
【請求項5】 既知ツールのリポジトリを前記リポジトリに一括して取り組むために既知ツールと連携する他ツール連携部が更に設けられることを特徴とする請求項1から4の内の何れかに記載のデータベースアクセスコンポーネントの自動生成装置【請求項6】 読み込んだテンプレートファイルの一件分のレコード中に仮記号が含まれているか否か判定する判定工程と、前記判定工程にて仮記号が含まれていると判定された場合、リポジトリ内のスキーマ定義情報からテーブル名あるいはカラム名を取得して、レコード内の仮記号と,当該仮記号に対応する文字列との置換処理を行う置換工程と、置換後の文字列を含む一件分のレコードをデータフクセスコンポーネントのソースプログラムとして1レコード出力する出力工程と、を有することを特徴とするデータベースアクセスコンポーネントの自動生成方法。
【請求項7】 前記判定工程にて仮記号が含まれていないと判定された場合には、前記判定工程後に、読み込んだ一件分のレコードをデータアクセスコンポーネントのソースプログラムとして1レコード出力する工程が行われることを特徴とする請求項6に記載のデータベースアクセスコンポーネントの自動生成方法。
【請求項8】 コンピュータに読み込んだテンプレートファイルの一件分のレコード中に仮記号が含まれているか否か判定する判定機能と、前記判定機能にて仮記号が含まれていると判定された場合、リポジトリ内のスキーマ定義情報からテーブル名あるいはカラム名を取得して、レコード内の仮記号と,当該仮記号に対応する文字列との置換処理を行う置換機能と、置換後の文字列を含む一件分のレコードをデータフクセスコンポーネントのソースプログラムとして1レコード出力する出力機能と、を実現させることを特徴とするデータベースアクセスコンポーネントの自動生成プログラム。
【請求項9】 前記判定機能にて仮記号が含まれていないと判定された場合には、前記判定後に、読み込んだ一件分のレコードをデータアクセスコンポーネントのソースプログラムとして1レコード出力する機能を実現させることを特徴とする請求項8に記載のデータベースアクセスコンポーネントの自動生成プログラム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、多階層アーキテクチャを採用するクライアント/サーバシステムにおいてファンクション層で作用するデータベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラムに関するものである。
【0002】
【従来の技術】クライアント/サーバシステムの開発において、システムにデータベースアクセス処理機能を実装させることは不可欠であるが、従来、システムへの実装形態として、クライアントアプリケーションからデータベースに直接アクセスする2階層アーキテクチャが採用されていた。しかし近年、システムの拡張性の向上を図るため、データベースにアクセスする処理をコンポーネントとしてクライアントから分離し、新たに設けられたファンクション層においてデータベースアクセス処理動作が行われるように構成した多階層アーキテクチャが主流となってきている。
【0003】
【発明が解決しようとする課題】ここで、前記データベースアクセスコンポーネントは、データベースのテーブルスキーマ毎に個別にプログラミングする必要があるが、個別にプログラミングするとなると、プログラム開発の生産性,効率性が良くないという不具合があった。また、このデータベースアクセスプログラムを自動生成する従来の技術として、例えば特開平5−289919号公報記載の生成方式があるが、この生成方式では、旧来のシステムアーキテクチャにはうまく適合できても、近年の多階層アーキテクチャにおけるデータベースアクセスコンポーネントの自動生成には適用できない。
【0004】そこで本発明の目的は、多階層アーキテクチャに基づいたクライアント/サーバシステムの開発におけるデータベースアクセスコンポーネントのソースプログラムを自動生成し、プログラム開発の生産性及び保守性を向上することを実現するデータベースアクセスコンポーネントの自動生成装置,自動生成方法及び自動生成プログラムを提供することである。
【0005】
【課題を解決するための手段】前記目的を達成するために、本発明のデータアクセスコンポーネント自動生成装置は、システム開発者が各種データを入力する入力装置と、入力データや自動生成されたデータ等を外部に表示する表示装置と、ユーザデータベースのスキーマ定義情報を格納するリポジトリと、前記表示装置に表示されたスキーマ定義画面から前記入力装置により入力されたスキーマ定義情報を前記リポジトリに格納するスキーマ編集部と、前記リポジトリと,システム開発者により予め作成されたテンプレートファイルとからデータベースアクセスコンポーネントのソースプログラムを自動生成するデータベースアクセスコンポーネント生成部と、を具備することを主な特徴としている。
【0006】また、本発明のデータアクセスコンポーネント自動生成方法は、読み込んだテンプレートファイルの一件分のレコード中に仮記号が含まれているか否か判定する判定工程と、前記判定工程にて仮記号が含まれていると判定された場合、リポジトリ内のスキーマ定義情報からテーブル名あるいはカラム名を取得して、レコード内の仮記号と,当該仮記号に対応する文字列との置換処理を行う置換工程と、置換後の文字列を含む一件分のレコードをデータフクセスコンポーネントのソースプログラムとして1レコード出力する出力工程と、を有することを主な特徴としている。
【0007】更に、本発明のデータアクセスコンポーネント自動生成プログラムは、コンピュータに、読み込んだテンプレートファイルの一件分のレコード中に仮記号が含まれているか否か判定する判定機能と、前記判定機能にて仮記号が含まれていると判定された場合、リポジトリ内のスキーマ定義情報からテーブル名あるいはカラム名を取得して、レコード内の仮記号と,当該仮記号に対応する文字列との置換処理を行う置換機能と、置換後の文字列を含む一件分のレコードをデータフクセスコンポーネントのソースプログラムとして1レコード出力する出力機能と、を実現させることを主な特徴としている。
【0008】
【発明の実施の形態】以下、本発明の一実施形態によるデータベースアクセスコンポーネントの自動生成装置を、図を参照して説明する。
【0009】まず、本実施形態による自動生成装置の構成について説明する前に、データベースアクセスコンポーネントを有するクライアント/サーバシステムの多階層アーキテクチャの一例を、図2を参照して説明する。本実施形態におけるクライアント/サーバシステムのアーキテクチャは、ユーザ・インターフェイス部分のクライアント(プレゼンテーション)層110と,データベースアクセス処理を行うファンクション層120と,データベースを管理するデータ層130との3階層から成るものである。
【0010】前記クライアント層110としては、リッチクライアント103とシンクライアント104とがある。前記リッチクライアント103は、ブラウザベース以外のアプリケーションを管理するものであり、一方の前記シンクライアント104は、ブラウザベースのアプリケーションを管理するものである。
【0011】前記ファンクション層120には、データベースアクセスコンポーネント3とビジネスコンポーネント102とがある。前記データベースアクセスコンポーネント3は、データ層130のユーザデータベース101内に格納されるデータの取り出し,追加,更新及び削除の各処理動作を行う、即ち、単純にユーザデータベース101内のデータのアクセスを専用に行うコンポーネントである。つまり、データベースアクセスコンポーネント3はビジネスルールを有していない。一方、前記ビジネスコンポーネント102は、業務アプリケーションのビジネスルールを保有しており、データベースアクセスを行うためにデータベースアクセスコンポーネント3の呼び出し処理を行うものである。
【0012】尚、前記ビジネスルールとは、例えば本体価格と税額という二つのカラムを有する商品テーブルが存在する場合における「税額=本体価格*0.05」という計算式等のことを指す。このようなビジネスルールは普遍的なものでなく、法律の改正等により変更される可能性がある。一般には、前記ビジネスルールはビジネスコンポーネント102に実装されている。
【0013】<データベースアクセスコンポーネントの自動生成装置の構成>以上のような構成のクライアント/サーバシステムでは、クライアント層110のリッチクライアント103もしくはシンクライアント104は、ビジネスコンポーネント102及びデータベースアクセスコンポーネント3を介して、ユーザデータベース101とデータのやり取りを行うこととなる。このようなクライアント/サーバシステムにおけるデータベースアクセスコンポーネント3の自動生成装置の構成について図1を参照して説明する。尚、以下本実施形態では、任意商品の商品コード,商品名,本体価格,税額に関するユーザデータベース101内の商品テーブルにアクセスするデータベースアクセスコンポーネント3の自動生成を例に取り説明する。
【0014】本実施形態によるデータベースアクセスコンポーネント3の自動生成装置には、図1に示すように、システム開発者が各種データを入力する入力装置30と、入力データや自動生成されたデータ等を外部に表示する表示装置20と、前記ユーザデータベース101のスキーマ定義情報を格納するリポジトリ1と、前記リポジトリ1と,システム開発者により予め作成されたテンプレートファイル2とからデータベースアクセスコンポーネントのソースプログラム3を自動生成するデータベースアクセスコンポーネント生成部10と、前記表示装置20に表示されたスキーマ定義画面から前記入力装置30により入力されたスキーマ定義情報を前記リポジトリ1に格納するスキーマ編集部40と、前記リポジトリ1からスキーマ定義文5を自動生成するスキーマ定義文生成部50と、が設けられている。尚、このスキーマ定義文5はDDL(Data Description Language)により作成されている。
【0015】前記リポジトリ1に格納されるユーザデータベース101のスキーマ定義情報は、図3に示すように、テーブル情報301とカラム情報302とから構成される。前記テーブル情報301は、ユーザデータベース101内の各テーブルに付与されたテーブルIDとテーブル名に関するデータを有している。また、前記カラム情報302は、当該カラムが属するテーブルに付与されたテーブルID,当該カラムがテーブルの何番目のカラムであるかを示す順序番号,当該カラムに付与されたカラム名,当該カラムに属するデータのデータタイプ,当該カラムに属するデータの桁数,及び当該カラムが属するテーブルにおける主キーに関する各データと、上記各データ以外の属性データ(例えばデータベースの種類等に関するデータ)と、を有している。
【0016】本実施形態では、一例として図3に示すように、テーブル情報301は、例えばテーブルIDが「ABCDE」,テーブル名が「商品テーブル」となっている。また、カラム情報302においてはカラムによって異なるが、カラム名が「商品コード」であるカラム情報302aでは、例えばテーブルIDが「ABCDE」,順序番号が「1」,カラム名が「商品コード」,データタイプが「文字型」,データの桁数が「8桁」,主キーが「商品コード」となっている。また、カラム名が「商品名」であるカラム情報302bでは、例えばテーブルIDが「ABCDE」,順序番号が「2」,カラム名が「商品名」,データタイプが「文字型」,桁数が「20桁」,主キーが「商品コード」となっている。同様に、カラム名が「本体価格」であるカラム情報302cでは、例えばテーブルIDが「ABCDE」,順序番号が「3」,カラム名が「本体価格」,データタイプが「数値型」,桁数が「7桁」,主キーが「商品コード」となり、カラム名が「税額」であるカラム情報302dでは、例えばテーブルIDが「ABCDE」,順序番号が「4」,カラム名が「税額」,データタイプが「数値型」,桁数が「6桁」,主キーが「商品コード」となっている。
【0017】つまり、本実施形態の自動生成装置で自動生成されたデータベースアクセスコンポーネントによりアクセスされる商品テーブルにおいて、主キーは商品コードであり、商品名,本体価格,税額は主キーに従属する項目となっている。
【0018】また、システム開発者により予め作成される前記テンプレートファイル2は、テキスト形式のファイルであり、データアクセスコンポーネントの4種類の主要なメソッド(参照,追加,更新,削除)に対する処理を定義するものである。以下、これら4種類の主要メソッドについて説明する。
【0019】まず参照メソッドは、引数に当該テーブルの主キーに対するデータを指定するものであり、引数に指定されたデータと一致するレコードをユーザデータベース101より検索し、検索されたレコード群を戻り値として返すものである。次に追加メソッドは、引数に当該テーブルの各カラムのデータを指定するものであり、指定されたデータをユーザデータベース101に1レコード追加登録するものである。また更新メソッドは、追加メソッドと同様に、引数に当該テーブルの各カラムのデータを指定するものであり、主キーと一致するレコードを検索し、そのレコードに対して、引数で指定されたデータで更新処理を行うものである。また削除メソッドは、参照メソッドと同様に、引数に当該テーブルの主キーに対するデータを指定するものであり、引数に指定されたデータを持つレコードをユーザデータベース101から削除するものである。
【0020】以上のような4種類の主要なメソッドに対する処理を定義するテンプレートファイル2の記述形式は、プログラミング言語やデータベースアクセス方法によって異なるが、何れの記述形式においても、本実施形態のテンプレートファイル内には、仮記号が用いられている。本実施形態では、一例として図4に示すように、テンプレートファイル内の仮記号として、@key(401)及び@list(402)という文字列を一例として用いている。これらの仮記号は、データアクセスコンポーネント生成部10がリポジトリ1のスキーマ定義情報を参照し、テーブル名やカラム名等に置換するために用いられるものである。具体的には、@key(401)は当該テーブルの主キーのカラム名に置換し、@list(402)は当該テーブル内の全てのカラム名をカンマで連結した文字列に置換するものとしている。また、@table(403)は当該テーブルのテーブル名に置換するものとしている。このように仮記号を機能させることにより、上記商品テーブルの場合では、自動生成されるデータアクセスコンポーネント3において、後述の如く、@key(401)は「商品コード」に、@list(402)は「商品コード,商品名,本体価格,税額」という文字列に、@table(403)は「商品テーブル」にそれぞれ置換されることとなる。
【0021】以上のユーザデータベース101のスキーマ定義情報と前記テンプレートファイル2とに基づき、データベースアクセスコンポーネント生成部10において、図5のようなデータアクセスコンポーネント3が自動生成される。ここで、図5(a)は上記商品テーブルにアクセスするデータベースアクセスコンポーネントの一例であり、図5(b)は、自動生成されたデータベースアクセスコンポーネントのソースプログラムである。尚、本実施形態では、商品テーブルにアクセスするデータベースアクセスコンポーネントにおけるクラス名を「商品_アクセスクラス」としている。
【0022】<データアクセスコンポーネント自動生成処理手順>以下、データベースアクセスコンポーネント生成部10において、図5のようなデータアクセスコンポーネント3が自動生成される処理手順を、図6を参照して説明する。図6はデータアクセスコンポーネント生成部10によるデータアクセスコンポーネント3の自動生成処理手順を説明したフローチャートである。
【0023】まず、データアクセスコンポーネント生成部10は、テンプレートファイル2のレコードを1件分読み(ステップS01)、読み込んだテンプレートファイルがEOF(End Of File)であるか否かを判定する(ステップS02)。判定の結果、読み込んだテンプレートファイルがEOFであれば本処理を終了する。
【0024】一方、ステップS02において、読み込んだテンプレートファイルがEOFでない場合には、データアクセスコンポーネント生成部10は、さらに、読み込んだレコード中に仮記号401〜403が含まれているか否か判定する(ステップS03)。ここで、仮記号401〜403が含まれていると判定された場合、リポジトリ1内の前記テーブル情報301,カラム情報302を検索してテーブル名及びカラム名を取得し、仮記号の文字列置換を行う(ステップS04)。このステップS04において、含まれる仮記号が@key(401)であれば当該テーブルの主キー(本例では「商品コード」)に置換され、@list(402)であれば当該テーブル内の全てのカラム名をカンマで連結した文字列(本例では「商品コード,商品名,本体価格,税額」)に置換される。また、含まれる仮記号が@table(403)であれば当該テーブルのテーブル名(本例では「商品テーブル」)に置換される。そして、置換後の文字列をデータフクセスコンポーネントのソースプログラム3として1レコード出力する(ステップS05)。また、ステップS03において、仮記号が含まれていないと判定された場合には、読み込んだレコードをデータアクセスコンポーネントのソースプログラム3として1レコード出力する(ステップS05)。
【0025】ステップS05終了後に、ステップS01の処理が再度行われ、ステップS02の処理において、読み込んだテンプレートファイルがEOFであると判定されるまで、各処理工程が図6に従って順次繰り返される。
【0026】以上のようにして、データベースアクセスコンポーネント生成部10において、リポジトリ1に格納されたスキーマ定義情報とテンプレートファイル2とから、システム開発者の手作業によらず、上述の4つのメソッドを持つ図5のようなデータアクセスコンポーネントのソースプログラム3が自動生成される。
【0027】尚、上記の自動生成装置に、図7の如く、リポジトリ1内に格納されたスキーマ定義情報からスキーマ定義書4を自動作成するスキーマ定義書作成部70を設けてもよい。このスキーマ定義書作成部70を設けることにより、データベースのテーブルスキーマの定義書が自動的に作成され、ソースプログラムとドキュメントの整合性を確保し、テーブルスキーマ変更時の保守作業の効率化を図ることが可能となり、保守性の向上を実現できる。
【0028】また、スキーマ編集部40及びスキーマ定義文生成部50について公知技術(ツール)を利用する場合にも対応できるように、図7の如く、既知ツールと連携し,既知ツールのリポジトリ6を前記リポジトリ1に一括して取り組むための他ツール連携部60を設けてもよい。この場合、例えば他ツール連携部60において、既知ツールのリポジトリ6の独自フォーマットをCSV(Comma SeparatedValue)形式に変換し、しかる後に本自動生成装置のリポジトリ1のフォーマットに再変換する処理が行われるようにすることで、既知ツールのリポジトリ6を前記リポジトリ1に一括して取り組むことが可能となる。尚、この既知ツールのリポジトリ6を前記リポジトリ1に一括して取り組む方法は、上記の方法に限ったことではない。
【0029】また、これまではデータアクセスコンポーネントのソースプログラムを自動生成できる自動生成装置及び自動生成方法について説明したが、この自動生成処理を容易にする手段としては、上記の自動生成装置に限ったことではなく、本発明の自動生成処理を行うプログラムを作成し、このプログラムに基づいてコンピュータに自動生成処理動作を実行させるようにしてもよい。
【0030】
【発明の効果】以上述べたように、本発明によれば、多階層アーキテクチャに基づいたクライアント/サーバシステムの開発におけるデータベースアクセスコンポーネントのソースプログラムを自動生成し、プログラム開発の生産性及び保守性を向上することができる。また、データベースのテーブルスキーマの定義書も自動作成することにより、ソースプログラムとドキュメントの整合性の確保し、テーブルスキーマ変更時の保守作業の効率化,つまり保守性の向上を図ることが可能となる。更に、テーブルスキーマを効率的に定義する複数の公知技術との連携容易性を確保することもできる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013