JP2005148976A - プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 - Google Patents

プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 Download PDF

Info

Publication number
JP2005148976A
JP2005148976A JP2003383415A JP2003383415A JP2005148976A JP 2005148976 A JP2005148976 A JP 2005148976A JP 2003383415 A JP2003383415 A JP 2003383415A JP 2003383415 A JP2003383415 A JP 2003383415A JP 2005148976 A JP2005148976 A JP 2005148976A
Authority
JP
Japan
Prior art keywords
program
database
code
input
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003383415A
Other languages
English (en)
Other versions
JP4444634B2 (ja
Inventor
Hiroyuki Nakagawa
裕之 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon IT Solutions Inc
Original Assignee
Canon Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Software Inc filed Critical Canon Software Inc
Priority to JP2003383415A priority Critical patent/JP4444634B2/ja
Publication of JP2005148976A publication Critical patent/JP2005148976A/ja
Application granted granted Critical
Publication of JP4444634B2 publication Critical patent/JP4444634B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散したDBに対する接続をユーザの選択により動的に切り替え、該DBのテーブルへのアクセス処理が可能なウェブアプリケーションプログラムを業務仕様の枠組みから自動生成可能とし、また、同一のDB内の異なるテーブルをユーザの選択により動的に切り替えてアクセス処理が可能なウェブアプリケーションプログラムを業務仕様の枠組みから自動生成可能とし、生産性と保守性に優れたウェブアプリケーションプログラム生成環境を構築すること。
【解決手段】コード生成部107が、外部記憶装置104内の入出力テーブル109で指定されるDB(同一のDB又は分散DB)上の複数のテーブルをそれぞれ定義する業務仕様、及びログイン情報110で指定される前記DBへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード112〜114」を生成する構成を特徴とする。
【選択図】図1

Description

本発明は、ウェブ(Web)アプリケーション開発支援システムにおいて、ユーザが動的にデータベース(DB)の切り替えが可能なウェブアプリケーションプログラムの一連のプログラムコードを業務仕様という枠組みの中から自動生成可能なプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関するものである。
従来、リレーショナルデータベースシステムなど、複数のテーブルに分かれて格納されているデータベース(DB)システムの場合、DBを構成する複数の関連あるテーブルに対してデータ入力を行わなければならなかった。
また、膨大なデータを扱い、しかも適切に所望のデータにアクセスするためには、DB固有のデータ構造を意識する必要があった。
この問題に対し特開平6-68151号公報(特許文献1)の「データベースアクセス方法および装置」では、DBのデータ構造を論理的に構築したスキーマを管理し表示するブラウザ手段により、DBアクセス手段を備える方法を提案している。この方法により、ユーザはDBの構造を意識することなく、効率よくDBの操作が行えるようになった。
特開平6-68151号公報
しかしながら、上記特許文献1では、テーブルの切り替えが行えるのは単一のDBシステム内のリレーションが張られているテーブルのみとなっており、分散型DBに対してのアクセス手段については何ら考慮がなされていない。
そのため、対象となるDBシステム以外のDBにアクセスしようとする場合、そのDB用のアプリケーションを一から開発しなくてはならないという問題点があった。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、データベースへアクセスするウェブアプリケーションプログラムを生成するプログラム生成装置(プログラム生成方法)において、指定されるデータベース(同一のデータベース又は分散データベース)上の複数のテーブルをそれぞれ定義する複数の定義情報、及び前記データベースへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成することにより、分散したデータベースに対する接続をユーザの選択により動的に切り替え、該データベースのテーブルへのアクセス処理が可能なウェブアプリケーションプログラム、又は同一のデータベース内の異なるテーブルをユーザの選択により動的に切り替えてアクセス処理が可能なウェブアプリケーションプログラムを業務仕様の枠組みから選択的に自動生成でき、生産性と保守性に優れたウェブアプリケーションプログラムの領域を広げることができる優れたプログラム生成環境を構築できるプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体を提供することである。
本発明の第1の発明は、データベースへアクセスするウェブアプリケーションプログラムを生成するプログラム生成装置において、データベース上の複数のテーブルをそれぞれ定義する複数の定義情報を記憶する第1の記憶手段(図1に示す外部記憶装置104内の入出力テーブル109,図4)と、前記データベースへ接続するための接続情報を記憶する第2の記憶手段(図1に示す外部記憶装置104内のログイン情報110,図5)と、前記第1の記憶手段に記憶される複数の定義情報、及び前記第2の記憶手段に記憶される前記接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード(図1に示すJSPコード112,サーブレットコード113,Beanコード114)」を生成する生成手段(図1に示す処理装置103内のコード生成部107,図10〜図15に示す各ステップ)とを有することを特徴とする。
本発明の第2の発明は、前記データベースは、異なる複数のデータベースであり(図6,図8に示す分散したDBシステム)、前記データベース上の複数のテーブルは、前記異なる複数のデータベース上にそれぞれ配置されるものであり、前記第2の記憶手段は、前記複数のデータベースへ接続するための複数の接続情報をそれぞれ記憶することを特徴とする。
本発明の第3の発明は、前記データベース上の複数のテーブルは、同一のデータベース(図7に示すDBシステム)上に配置されることを特徴とする。
本発明の第4の発明は、前記データベースは、ローカル接続可能なデータベース(図7に示す内部DBシステム)又はリモート接続可能なデータベース(図8に示す外部DBシステム)を含むことを特徴とする。
本発明の第5の発明は、前記異なる複数のデータベースは、ローカル接続可能なデータベース及びリモート接続可能なデータベース(図7に示す内部DBシステム及び外部DBシステム)を含むことを特徴とする。
本発明の第6の発明は、データベースへアクセスするウェブアプリケーションプログラムを生成するためのプログラム生成方法において、指定されるデータベース上の複数のテーブルをそれぞれ定義する複数の定義情報、及び前記データベースへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成する生成工程(図10〜図15に示す各ステップ)を有することを特徴とする。
本発明の第7の発明は、請求項6に記載されたプログラム生成方法を実行するためのプログラムであることを特徴とする。
本発明の第8の発明は、請求項6に記載されたプログラム生成方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
本発明によれば、データベースへアクセスするウェブアプリケーションプログラムを生成するプログラム生成装置(プログラム生成方法)において、指定されるデータベース(同一のデータベース又は分散データベース)上の複数のテーブルをそれぞれ定義する複数の定義情報、及び前記データベースへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成するので、分散したデータベースに対する接続をユーザの選択により動的に切り替え、該データベースのテーブルへのアクセス処理が可能なウェブアプリケーションプログラム、又は同一のデータベース内の異なるテーブルをユーザの選択により動的に切り替えてアクセス処理が可能なウェブアプリケーションプログラムを業務仕様の枠組みから選択的に自動生成でき、生産性と保守性に優れたウェブアプリケーションプログラムの領域を広げることができる優れたプログラム生成環境を構築できる等の効果を奏する。
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
図1は、本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。
図において、101は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報(データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等)の入力を行うことが可能である。
102は表示装置で、CRT,LCD等で構成され、業務仕様情報の入力画面や、該入力画面から入力された業務仕様情報、生成されたプログラムコード等を表示可能である。104はハードディスク等の外部記憶装置で、入力された業務仕様(データベース上の複数のテーブルをそれぞれ定義した定義情報)を記憶するための入出力テーブル109、入力されたデータベースへ接続するための接続情報を記憶するログイン情報110,入力された生成するウェブアプリケーションのアプリケーション名111,生成されたプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)等を記憶するものである。
103は処理装置で、CPU,ROM,RAM等から構成され、CPUがROM,外部記憶装置104又はその他の記録媒体に格納されるプログラムをRAM上にロードして実行することにより実現されるものであり、画面制御部105,コード生成部107を備える。
画面制御部105は、入力装置101から業務仕様情報の入力を行うために表示装置102の画面(不図示)を制御する業務仕様記述部116を有する。
コード生成部107は、入力装置101から入力された又は外部記憶装置104から読み出された業務仕様情報に基づいてプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)を生成し、外部記憶装置104に記憶させる。
108は全体制御部で、画面制御部105,コード生成部107等の各部の制御を行う。
図2は、図1に示したコード生成部107によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
コード生成部107によって生成されたサーブレット、JSP、およびBeanは、それぞれ実行可能な状態で、サーバ304側のアプリケーションサーバ306上に配置される。
このWebアプリケーションシステムは、クライアント301からウェブブラウザ302によって利用される。ウェブブラウザ302からJSP309にアクセスすることにより、HTMLページ303を生成し、クライアント301側に返送する。そして、ウェブブラウザ302上には、JSP309から送信されるHTMLページ303が表示される。
また、Webブラウザ302からのリクエストは、HTTP経由でサーバ304側に送信される。サーバ304にはHTTPサーバ305とアプリケーションサーバ306があり、アプリケーションサーバ306にはサーブレットやJSPの実行環境が含まれている。
サーバ304側にリクエストが送信されると、リクエストに応じて該当するサーブレット307が起動される。サーブレット307は、対応するBean308に処理を要求する。さらに、Bean308は、サーブレット307からの要求に応じてDBアクセスオブジェクト310a,DBアクセスオブジェクト310bを利用して内部データベース311a,外部データベース311bにアクセスし、その処理結果をBean308内に保持する。
次に、サーブレット307からJSP309にBean308を渡し、JSP309を呼び出す。JSP309は、Bean308で保持する処理結果を参照して、HTMLページを生成し、クライアント301側に返送する。クライアント301側に返送されたHTMLページは、Webブラウザ302上に表示される。
サーブレット307は、Webブラウザ302からのリクエストの受け付け、Bean308への処理要求、およびJSP309の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP309はHTMLページを出力するための表示に関することを受け持ち、Bean308はデータベース311a,311bへのアクセス等の業務に関する処理を受け持つ。
なお、Bean308やJSP309を利用せずにサーブレット307のみで(又は、サーブレット307やBean308を利用せずにJSP309のみで)、Webブラウザ302からのリクエストを処理することは可能であるが、Bean308やJSP309を利用してそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
なお、Bean308は、内部データベースアクセス用のBeanと外部データベースアクセス用のBeanとに分けて実装してもよい。
また、内部データベースが複数あってもよいし、外部データベースが複数あってもよい。
図3は、本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置103の全体制御部108の動作に対応する。なお、S101〜S105は各ステップを示す。
図1に示した処理装置103は、コード生成する業務仕様(入出力テーブル)の入力を行う入力モードと、入力された業務仕様(入出力テーブル)からプログラムコードを生成する生成モードとを有する。
まず、全体制御部108が起動されると、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップS102に進み、全体制御部108は、画面制御部105を起動する。
起動された画面制御部105は、ステップS103において、業務仕様記述部116により業務仕様入力画面(不図示)を表示させ、オペレータからの業務仕様の一形態である入出力テーブル(詳細は図4に示す)への項目入力,ログイン情報(詳細は図5に示す)の入力,生成するウェブアプリケーションのアプリケーション名111の入力等を受け付け、外部記憶装置104に格納し(入出力テーブル109,ログイン情報110,アプリケーション名111)、処理を終了する。
一方、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップS104に進み、全体制御部108は、外部記憶装置104に格納された入出力テーブルを読み出し、該読み出した入出力テーブル内の業務仕様情報に基づいてコード生成を行う。
そして、ステップS105において、全体制御部108は、生成されたコードを、オペレータの指示により表示装置102に表示したり、外部記憶装置104に書き込む出力処理を行う。
以下、図4を参照して、本発明のプログラム生成装置における業務仕様情報(入出力テーブル)について説明する。図示しない入力画面から入力される業務仕様情報は、内部的には図4に示すような入出力テーブルの形式で保存される。
図4は、本発明のプログラム生成装置における業務仕様情報(図1に示した入出力テーブル109)について説明する模式図であり、ウェブアプリケーションにおけるDBの動的な切り替え機能とそれを表示するための画面の定義を記述した業務仕様を入出力テーブルの形式で示したものに対応する。
列1は、DBシステム名を示したものであり、DBシステムを利用するときに識別用として用いる。
列2は、データファイル番号を示したものであり、データファイルを構成するデータ項目として列3のデータファイル項目枝番がある。
列4はデータファイルの名称であり、列5はデータファイル項目枝番に対応する各データ項目の名称である。
列6は、その項目の種別を示したIO区分である。IO区分はそれぞれ、ファイルであることを示す「F」、表示項目であることを示す「D」、複数のテーブルをまとめて、一つの画面で制御できる機能があることを示す「G1」と「G2」がある。この制御については別途下記で説明する。
即ち、列6のIO区分で「F」が指定されている場合には、その行のデータはデータ項目を定義し、「D」が指定されている場合には、その行のデータは画面表示項目を定義し、「G1」,「G2」が指定されている場合には、その行のデータはDB・テーブルの切り替え機能を定義するものとなる。
列7は、各項目の桁数を表している。列8は、表示方法を示しており、「S」の場合は検索用の項目として表示され、「H」の場合は検索結果を表示する項目として扱われる。また、検索用にも結果用にも使用される項目は「S,H」として定義する。列9は、項目の項番を示している。
図5は、図1に示したログイン情報を説明するための模式図である。
図において、601はDBシステム名で、生成されるアプリケーションで接続するDBシステムの名称に対応する。602はJDBCドライバで、DBシステムに接続する際に用いるドライバである。603はURL,604はユーザ名,605はパスワードで、DBシステムに接続する際に用いるURL,ユーザ名,パスワードに対応する。
なお、入出力テーブル109,ログイン情報110,アプリケーション名111は、業務仕様記述部116により表示される業務仕様入力画面(不図示)から入力する構成であってもよいし、その他の任意のアプリケーションにより生成されるテキストファイル,CSVファイル,その他のファイル形式のファイルであってもよい。
以下、図6〜図8を参照して、DBの動的な切り替えについて説明する。
図6〜図8は、本発明のプログラム生成装置により生成されるアプリケーションによるDB接続切り替えを説明するためのDB構成図であり、特に図6は外部(リモート)分散DB構成図に対応し、図7は内部(ローカル)同一DB構成図に対応し、図8は内部(ローカル)DB及び外部(リモート)DBによる分散DB構成図に対応する。
DBの動的な切り替えとは、一つの生成された画面において検索や更新の対象となるDB・テーブルを画面上の操作で選択することで、対象DB・テーブルを切り替えることができる機能を示している。
本発明では、図6〜図8に示すように、切り替え対象のDB・テーブルを仮想的に一つのテーブルとして制御する手段をとる(図6〜図8に示す仮想DB401)。
具体的には、予め定義してあるログイン情報110(JDBCドライバ,URL,ユーザ名,パスワード)を入出力テーブル109の列6に「G2」が定義されている行(図4の例では「行2」,「行3」)の列3の値(図4の例では「CliDB/ClinicM」,「DruDB/DrugstoreM」)と照らし合わせて取得し、その情報をアプリケーションに付加する。アプリケーション生成後に画面上からユーザがテーブルを選択すれば、上記情報を利用してDBシステム・テーブルへのアクセスを行うことが可能となっている。
この切り替えの際、図6に示すような異なる外部DBシステム同士の切り替えの場合、及び図8に示すような外部DBシステムと内部のDBシステムとを切り替える場合(即ち、分散型DBの場合)は、DBシステムそのものの切り替えを生成されたアプリケーション内で行うこととなる。
また、図7に示すような同一DBシステム内での切り替えの場合は、上記の外部DBの切り替えの場合と同様にして、DBシステム内のテーブルをその都度切り替えてセレクトすることを生成されたアプリケーション内で行うこととなる。
このような制御方法により、生成されたアプリケーションのユーザは、DBシステムの物理的な構成や接続を意識することなく切り替えが行えるようになる。
例えば、図6に示すように、外部のDBシステムに接続されたテーブル同士を交互に切り替えたり、図7に示すように、内部のDB内のテーブルを切り替えたり、図8に示すように、内部と外部のDBシステムを組み合わせたものでも、そのことを意識することなく切り替えることが可能となる。
切り替えの対象となるDB・テーブルは、図4で示した入出力テーブル109の列6で「G2」が指定されている行(図4の例では「行2」「行3」)の列3の値(図4の例では「CliDB/ClinicM」,「DruDB/DrugstoreM」)となる。この値の記述ルールは、DBシステム名/テーブル名のように「/」記号で区切って表す。
このDB切り替え機能を使用すれば、例えばユーザが薬を検索したいといった場合には、CliDB(例えば内部DBシステム)に接続されている病院テーブル(ClinicM)とDruDB(例えば外部ネットワークに接続されている外部DBシステム)に接続されている薬局テーブルを、ユーザが操作画面(後述する図9に示す)上から選択することで、DBの切り替えを行いその検索対象をリアルタイムに切り替えることが可能となる。
このように、複数のDB・テーブルをまとめる仮想的なテーブルの生成は、上記の図4に示した入出力テーブル109の「行1」〜「行3」の定義を読み込んで行われる。
まず、入出力テーブル109において、列6のIO区分が「G1」の行(図4の例では「行1」)をセレクトする。この行は、対象となるDB・テーブルを仮想的に一つにまとめるための項目となる。対象となるDB・テーブルは、IO区分に「G2」が指定されている行2,行3に記述されている。
IO区分に「G2」が指定された行2,行3の列3のデータファイル項目枝番はDB/テーブル名を示している。なお、生成されたアプリケーションの操作画面に表示されるテーブル名称(後述する図9の201a,201b)は列5で指定されているデータファイル項目名(図4の例では、「病院」,「薬局」)となる。
図9は、本発明のプログラム生成装置により生成されるウェブアプリケーションにおける操作画面の一例を示す模式図である。
上述したような生成方法により生成された操作画面は、図9の左上にあるようなプルダウン式の選択メニュー201と切り替え検索ボタン202が自動的に生成され、選択メニュー201の中に、201a,201bに示すように、図4の列6で「G2」が定義された行のデータファイル項目名がテーブル名称として表示される。この選択メニュー201でテーブル名称(201a又は201b)を選択し、切り替え検索ボタン202を押下すれば、DB・テーブルの接続を切り替え、選択したテーブルが検索・更新の対象となる。
なお、検索のための処理は、検索条件入力欄203に値を入力し、検索ボタン204を指示することで行われる。
また、更新のための処理は、検索結果表示入力覧205で値を変更入力し、更新ボタン206を指示することで行われる。
さらに、検索条件入力欄203に値を入力した状態で、切り替え検索ボタン202を指示すると、DB・テーブルの接続を切り替え、該切り替えられたDB・テーブルに対して、該検索条件入力欄203に入力されている検索条件での検索処理が実行される。これにより、同一の検索条件で、DB・テーブルを切り替えて順次検索することが可能である。
以下、図10〜図14のフローチャートを参照して、図1に示したコード生成部107によるコード生成処理について説明する。
図10は、本発明の第2の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるコード生成処理に対応する。なお、S201〜S207は各ステップを示す。
まず、ステップS201において、外部記憶装置104に記憶された入出力テーブル109から1行(1データ項目)を読み取り、ステップS202において、列6のIO区分の値を取得し、ステップS203において、取得したIO区分の値が「G1」であるか否かをチェックする。
ステップS203で、列6のIO区分の値に「G1」が定義されていないと判定した場合には、そのままステップS205に進む。
一方、ステップS203で、列6のIO区分の値に「G1」が定義されていると判定した場合には、ステップS204において、入出力テーブル109から列6のIO区分の値が「G2」となる行を全て取得してグループ化し、列2,列3,列4の情報をグループの「DB情報」としてRAM内のワークエリアに書き込む。
次に、ステップS205において、画面表示項目,ファイル項目情報の取得処理(図11)を行い、ステップS206に進む。
ステップS206において、入出力テーブル109内の全行(全データ項目)について、ステップS201〜S205の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップS201の処理に戻る。
一方、ステップS206で、入出力テーブル109内の全行(全データ項目)について、ステップS201〜S205の処理を終了したと判定した場合には、ステップS207の処理に進む。
次に、ステップS207において、JSP,サーブレット,Bean生成処理を行い、処理を終了し、図2のフローチャートに戻る。
図11は、本発明の第3の制御処理手順の一例を示すフローチャートであり、図10に示したステップS205の画面表示項目,ファイル項目情報の取得処理に対応する。なお、S301〜S304は各ステップを示す。
まず、ステップS301において、列6のIO区分の値が「D」であるか否かをチェックする。
ステップS301で、列6のIO区分の値に「D」が定義されていると判定した場合には、「画面表示項目指定情報」と判定して、ステップS302に進み、図10のステップS201で入出力テーブル109から読み出した1行のデータ(列2〜列8)を「画面表示項目指定情報」として取得してRAM内のワークエリアに書き込み、ステップS303に進む。
一方、ステップS301で、列6のIO区分の値に「D」が定義されていないと判定した場合には、そのままステップS303に進む。
ステップS303で、列6のIO区分の値に「F」が定義されていると判定した場合には、ファイル項目定義情報と判定して、ステップS304に進み、図10のステップS201で入出力テーブル109から読み出した1行のデータ(列1〜列7)を「ファイル項目定義情報」として取得してRAM内のワークエリアに書き込む。
一方、ステップS303で、列5のIO区分の値に「F」が定義されていないと判定した場合には、そのまま処理を終了し、図10のフローチャートにリターンする。
図12は、本発明の第4の制御処理手順の一例を示すフローチャートであり、図10のステップS207に示したJSP,サーブレット,Bean生成処理に対応する。なお、S401〜S403は各ステップを示す。
まず、ステップS401において、外部記憶装置104に格納されたログイン情報110,アプリケーション名111,RAM内のワークエリアに記憶されたDB情報,ファイル項目情報に基づいて、各データベースへの接続,データ検索,データ更新を行うBean114を生成する(詳細は図13に示す)。
次に、ステップS402において、外部記憶装置104に格納されたアプリケーション名111,RAMに記憶されたDB情報,画面用情報に基づいて、ウェブブラウザからの入力データを取得してBean114,JSP112を呼び出しウェブアプリケーション全体を制御するサーブレット113を生成する(詳細は図14に示す)。
次に、ステップS403において、外部記憶装置104に格納されたアプリケーション名111,RAMに記憶されたDB情報,画面用情報,ファイル項目情報に基づいて、図9に示した操作画面のウェブブラウザへの表示を制御するJSP112を生成し(詳細は図15に示す)、処理を終了して、図10のフローチャートに戻る。
図13は、本発明の第5の制御処理手順の一例を示すフローチャートであり、図12のステップS401に示したBean生成処理に対応する。なお、S501〜S505は各ステップを示す。
まず、ステップS501において、Beanファイルを生成する。なお、Beanファイル名は、例えば、図示しない入力画面より入力されたアプリケーション名に文字列「Bean」を付加し拡張子を「java(登録商標)」としたBeanファイルとする。また、このとき、作成したBeanファイル内の先頭に、「パッケージ名(例えば、アプリケーション名に文字列「Bean」を付加したもの)の宣言、「java(登録商標).sql」パッケージのインポート、Java(登録商標)Beansを利用するために必要なインタフェースの実装等を行うコード、データベース接続オブジェクトの宣言、SQLステートメントオブジェクトの宣言、結果セットオブジェクトの宣言等を行うコード」を格納しておく。
次に、ステップS502において、外部記憶装置104に格納されたログイン情報110,RAMに記憶されたDB情報に基づいて「各DBに対する各DB接続用メソッドに対応する各コード」をBeanファイル内に生成する。
詳細には、「ログイン情報110内のDBシステム名601に対応するJDBCドライバ602を用いてドライバクラスをロードし、さらに、ログイン情報110内のDBシステム名601に対応するURL603,ユーザ名604,パスワード605を用いてデータベースへ接続する処理を行い、さらに、SQLステートメントオブジェクトを生成する処理を行う各DB毎のDB接続用メソッドに対応するコード」をBeanファイル内に生成する。
次に、ステップS503において、RAMに記憶されたDB情報に基づいて「各DBに対する各DB切断用メソッドに対応する各コード」をBeanファイル内に生成する。
詳細には、「SQLステートメントオブジェクトとデータベース接続オブジェクトをクローズする処理を行う各DB毎のDB切断用メソッドに対応するコード」をBeanファイル内に生成する。
次に、ステップS504において、RAMに記憶されたDB情報,ファイル項目情報に基づいて「各テーブルに対する各データ検索用メソッドに対応するコード」をBeanファイル内に生成する。
詳細には、「データファイル番号をテーブル名、該データファイル番号内のデータ項目枝番をテーブル内の項目名とし、セットされた検索条件によりテーブルデータを検索するSQL文を生成し、該SQL文のクエリを実行し検索結果を取得する各テーブル毎のデータ検索用メソッドに対応するコード」をBeanファイル内に生成する。
次に、ステップS505において、RAMに記憶されたDB情報,ファイル項目情報に基づいて「各テーブルに対する各データ更新用メソッド」をBeanファイル内に生成する。
詳細には、「データファイル番号をテーブル名、該データファイル番号内のデータ項目枝番をテーブル内の項目名とし、セットされた更新データによりテーブルデータを更新するSQL文を生成し、該SQL文のクエリを実行する各テーブル毎のデータ更新用メソッドに対応するコード」をBeanファイル内に生成する。
そして、処理を終了し、図12のフローチャートにリターンする。
図14は、本発明の第6の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるサーブレット作成処理(図12のステップS402)に対応する。なお、S601〜S607は各ステップを示す。
まず、ステップS601において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名に文字列「Servlet」を付加し拡張子を「java(登録商標)」とする。なお、このとき、サーブレットファイル内の先頭に、「使用するBeanパッケージ及びその他必要なパッケージをインポートするコード、アクセス修飾子,クラスの定義,クラス(例えば、HttpServletクラス)の継承、ウェブブラウザ(HTMLフォーム)から送信されたパラメータ(送信情報)を受け取るためのメソッドを示すコード」を格納しておく。
次に、ステップS602において、RAMに記憶された画面表示項目情報に基づいて「ウェブブラウザからの送信情報を受け取るコード」をサーブレットファイル内に生成する。
次に、ステップS603において、RAMに記憶されたDB情報に基づいて「切り替え検索が指示された場合、Beanのメソッドを用いて、テーブル切り替え検索処理を行うコード」をサーブレットファイル内に生成する。
詳細には、「ウェブブラウザからの送信情報に基づいてユーザからの指示に基づいて切り替え検索が指示された(ユーザにより切り替え検索ボタン202が指示された)と判定した場合、さらに、切り替え先のテーブルが現在接続されているDBか判定し、現在接続されているDBでない場合、現在接続されているDBのDB切断用メソッドにより切断し、切り替え先のテーブルのDBのDB接続用メソッドにより切り替え先のテーブルのDBに接続し、接続したDBの情報を所定の記憶領域(セッションオブジェクト)に保存し、切り替え先のテーブルのデータ検索用メソッドを用いて、ウェブブラウザから取得した検索条件での検索処理を実行し、一方、切り替え先のテーブルが現在接続されているDBの場合には、切り替え先のテーブルのデータ検索用メソッドを用いて、ウェブブラウザから取得した検索条件での検索処理を実行するコード」をサーブレットファイル内に生成する。
次に、ステップS604において、RAMに記憶されたDB情報に基づいて「検索が指示された場合、Beanのメソッドを用いて、データ検索処理を行うコード」をサーブレットファイル内に生成する。
詳細には、「ウェブブラウザからの送信情報に基づいてユーザからの指示に基づいて検索が指示された(ユーザにより検索ボタン204が指示された)と判定した場合、さらに、現在のテーブルのDBが接続されているか判定し、現在のテーブルのDBが接続されていない場合は、現在のテーブルのDBに対応するDB接続用メソッドにより現在のテーブルのDBに接続し、接続したDBの情報を所定の記憶領域(セッションオブジェクト)に保存し、現在のテーブルのデータ検索用メソッドを用いて、ウェブブラウザから取得した検索条件での検索処理を実行し、一方、現在のテーブルのDBが接続されている場合は、そのまま、現在のテーブルのデータ検索用メソッドを用いて、ウェブブラウザから取得した検索条件での検索処理を実行するコード」をサーブレットファイル内に生成する。
次に、ステップS605において、RAMに記憶されたDB情報に基づいて「更新が指示された場合、Beanのメソッドを用いて、データ更新処理を行うコード」をサーブレットファイル内に生成する。
詳細には、「ウェブブラウザからの送信情報に基づいてユーザからの指示に基づいて更新が指示された(ユーザにより更新ボタン206が指示された)と判定した場合、さらに、現在のテーブルのDBが接続されているか判定し、現在のテーブルのDBが接続されていない場合は、現在のテーブルのDBに対応するDB接続用メソッドにより現在のテーブルのDBに接続し、接続したDBの情報を所定の記憶領域(セッションオブジェクト)に保存し、現在のテーブルのデータ更新用メソッドを用いて、ウェブブラウザから取得した更新データの更新処理を実行し、一方、現在のテーブルのDBが接続されている場合は、そのまま、現在のテーブルのウェブブラウザから取得した更新データの更新処理を実行するコード」をサーブレットファイル内に生成する。
次に、ステップS606において、「Beanを所定の記憶領域(例えば、セッションオブジェクト)に保存するコード」をサーブレットファイル内に生成する。
次に、ステップS607において、「JSPを呼び出すコード」をサーブレットファイル内に生成し、処理を終了して図12のフローチャートにリターンする。
図15は、本発明の第7の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるJSP作成処理(図12のステップS403)に対応する。なお、S701〜S710は各ステップを示す。
まず、ステップS701において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名に拡張子を「jsp」とする。なお、このJSPファイル内には、「JSPページのMIMEタイプとエンコードするキャラクタセットを設定するコード、当該データファイルに対応するBeanをインスタンスするコード、htmlのタグである「<html><head><title>アプリケーション名</title>」等のコード」を生成し格納しておくものとする。
次に、ステップS702において、「所定の記憶領域(セッションオブジェクト)からBeanを取得するコード」をJSPファイル内に生成する。
次に、htmlのタグである「</head><body>」等を格納した後、ステップS703において、「フォームのパラメータが送信されたときに、起動するサーブレットを指定するコード」を生成する。詳細には、htmlのタグである「<form method="post" action=サーブレットのurl>」等のコードを格納する。
次に、ステップS704において、RAMに記憶されたDB情報に基づいて「選択メニュー201を生成するコード」をJSPファイル内に生成する。
次に、ステップS705において、「フォームのパラメータを送信する機能を備える切り替え検索ボタン202を生成するコード」をJSPファイル内に生成する。
次に、ステップS706において、RAMに記憶された画面表示項目情報(特に「S」「S,H」のある項目)に基づいて「検索条件入力欄203を生成するコード」をJSPファイル内に生成する。なお、この検索条件入力欄203を生成するコードは、画面表示項目情報内で指定される各項目の桁数に応じて各項目の入力欄を生成するにコードとする。
次に、ステップS707において、「フォームのパラメータを送信する機能を備える検索ボタン202を生成するコード」をJSPファイル内に生成する。
次に、ステップS708において、RAMに記憶された画面表示項目情報(特に「S,H」「H」のある項目)に基づいて「検索結果表示入力欄205を生成するコード」をJSPファイル内に生成する。なお、この検索結果表示入力欄205を生成するコードは、画面表示項目情報内で指定される各項目の桁数に応じて各項目の表示入力欄を生成するにコードとする。
次に、ステップS709において、「フォームのパラメータを送信する機能を備える更新ボタン206を生成するコード」をJSPファイル内に生成する。
次に、ステップS710において、RAM内に格納された画面表示項目情報に基づいて「Bean内に検索条件情報が格納されている場合、該検索条件情報を検索条件入力欄203にセットし、また、Bean内に検索結果情報が格納されている場合、該検索結果情報を検索結果表示入力欄205にセットするコード」をJSPファイル内に生成する。
最後に、htmlのタグである"</form></body></html>"等を格納し、処理を終了して図12のフローチャートにリターンする。なお、このJSP内に、Java(登録商標)Script等の各種スクリプトコード等も含むように構成してもよい。
図4に示すように、テーブルの定義と画面構成を業務仕様の一部として定義することにより、DB接続切り替え、操作に関するコードと画面を自動生成することができる。これにより、業務仕様の変更などに柔軟に対応でき、設計・実装・管理を一元管理し高品質でスピーディーなウェブアプリケーションの開発が可能となる。
以下、図4に示した入出力テーブル109の内容にそって、図10〜図15に示した処理による、ユーザが動的にDB・テーブルを切り替え可能な操作画面(図9)の生成例について示す。
図4に示した入出力テーブル109の行1では、列6に「G1」が定義されおり、同じ列6に「G2」が定義されている行2,行3の項目をまとめて仮想的に一つのテーブルとする処理が行われる。
また、行2では、列6に「G2」が定義されていることから、列3で定義している「CliDB/ClinicM」を画面上で選択可能なテーブルとして使用できることを示している。
同様に、行3も「DruDB/DrugstoreM」が選択可能なテーブルとして定義されている。
さらに、行4〜行10では、列6に「D」が定義されているので、実際に画面の表示項目となることを示している。それぞれ列5のデータファイル項目名が画面に表示され、列7で指定した桁数分の入力項目が生成される。なお、生成される画面は検索用とその結果表示用という構成になっている。検索用(図9の検索条件入力欄203)には、列8で「S」又は「S,H」が指定されている行4〜行7までの項目が表示され、結果表示用(図9の検索結果表示入力欄205)には「H」又は「S,H」が指定されている行6〜行10の項目が表示される。
また、行11〜行24では、列6に「F」が定義されているので、ファイル定義であることを示している。このファイル定義は行2,行3で定義されている「病院」と「薬局」の二つのDB・テーブルについて定義しており、行11〜行17が「病院」を示し、行18〜行24が「薬局」を示している。
そして、上記図4に示した入出力テーブル109に基づく図10〜図15の処理の結果、実行時に図9のような操作画面を表示するウェブアプリケーションが生成される。
まず、図4に示した入出力テーブル109の行1の定義より、この画面がDB・テーブルを動的に切り替えることが出来る機能がある画面ということになり、図9に示すようなDB・テーブルの選択メニュー201と切り替え確認のための切り替え検索ボタン202が図1に示したコード生成部107により自動的に生成される。
選択メニュー201に表示されているテーブル201a,201bは、図1の行2,行3で定義されているDB・テーブルとなる。例えば、ここで「Clinic(病院)」201aを選択し、切り替え検索ボタン202を押下すれば検索の対象は図4に示した入出力テーブル109の行11〜行17で定義されている「CliDB」DBシステムの「ClinicM」テーブルとなる。
また、検索するためのキーを入力する項目は、図4に示した入出力テーブル109の行4〜行7の項目となっている。
これにより生成された検索条件入力欄203に必要な値を入力し、検索ボタン204を指示すると、指定されたテーブルを検索し、図9に示す検索結果表示入力欄205に結果一覧が表示される。
この検索結果表示入力欄205は、図4に示した入出力テーブル109の行6〜行10で定義された項目が表示される。なお、図4に示した入出力テーブル109で利用したアプリケーションにおけるDBの構成は図6に示すDB構成に対応する。
なお、この図4に示した入出力テーブル109を用いた生成例は、異なる外部DBシステム間での切り替えに対応するが、図4に示した入出力テーブル109の定義を変更すれば、図6に示したような外部DBを切り替える機能以外にも、図8に示したような内部DB内のテーブルを切り替える機能や、図9に示したような内部と外部DBの切り替えを行う機能を付加することが可能である。
図16は、本発明のプログラム生成装置における業務仕様情報(図1に示した入出力テーブル109)について説明する模式図であり、同一のDBシステム(内部DB又は外部DB)内でテーブル切り替えを行う場合に対応する。
例えば、入出力定義を図16に示した入出力テーブルのように行2,行3の列3の値を「CliDB/ClinicM」,「CliDB/DrugstoreM」とし、「/」記号の前のDBシステム名称を同一の「CliDB」として記述し、図16の行11〜行24のファイル定義も列1のDBシステム名を「CliDB」と同一とする。このように定義を変更した場合は、同一のDB(内部DBのみ又は外部DBのみ)の「ClinicM」テーブルと「DrugstoreM」テーブルを交互に切り替えることになる。内部DBのみのDB構成は、図7に示した例に対応する。
また、図4の行2の列3に示した「CliDB」を外部DBとし、図4の行3の列3の「DruDB」を内部DBとする。なお、内部DB,外部DBの区別は、図5に示したログイン情報110のURL603で定義される。
このようなDB構成の場合は、外部DB「CliDB」のテーブル「ClinicM」と内部DB「DruDB」のテーブル「DrugstoreM」を交互に切り替えることが可能となる。このような外部DB及び内部DBからなるDB構成は、図8に示した例に対応する。
以上示したように、DBの接続方法(URL指定(ネットワーク接続でもローカルでもよい)等)とDBのテーブル構成を業務仕様を入力として、DBの選択画面プログラム(JSP112)を生成するステップと、DBへの接続(割り当て)処理プログラム(サーブレット113)を生成するステップと、DBへのアクセス処理プログラム(Bean114)を生成するステップとを備えることにより、ウェブアプリケーション開発支援システムにおいて、ネットワーク接続された複数のDBをユーザ選択により動的に切り替えてアクセスする機能、又は、同一DB上の複数のテーブルをユーザ選択により動的に切り替えてアクセスできる機能を、業務仕様の枠組みの中で定義し、プログラムコードを自動生成することができる。
従って、生成された操作画面上で対象となるDB上のテーブルへの割り当てとアクセス処理をユーザが動的に切り替えることができる機能を有するアプリケーションプログラムを、DB接続のための定義を業務仕様の枠組みの中で定義して自動生成することができ、生産性,保守性,管理性を著しく向上することができる。
また、分散したDBに対してユーザの選択による動的に接続を切り替え、また該テーブルへのアクセス処理が自動生成可能となったことで、生産性と保守性に優れたWebアプリケーションプログラムの領域を広げることができる。
同様な定義・生成方式の枠組みの中で、同一DBで異なるテーブルへの接続、アクセス処理を自動生成可能とした。
また、上記実施形態中では、2つのDB・テーブルを例にして、該2つのDB・テーブルを切り替え可能なウェブアプリケーションの生成方法について説明したが、切り替え可能なDB・テーブルは2つに限られるものではなく、入出力テーブル109に切り替え可能な3つ以上のDB・テーブルを定義し、ログイン情報110に対応するDBの接続情報をそれぞれ定義することにより、3つ以上のDB・テーブルを切り替え可能なウェブアプリケーションを生成することができる。
また、ログイン情報110に、DBシステム名,JDBCドライバ名,URL,ユーザ名,パスワードを記憶させる場合について説明したが、JDBCドライバ名,URL,ユーザ名,パスワードの代わりに、DBシステムのオブジェクト名を記憶させるように構成してもよい。その場合、DBシステムのオブジェクト名からDBシステムを検索して接続するようなDB接続用メソッドを生成するように構成する。
また、図4,図5,図16の各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明のプログラム生成装置により生成されるプログラムコードを、ASP(Active Server Pages),PHP(Hypertext Preprosessor)等のJava(登録商標)以外の他のプログラムによるウェブアプリケーションとすることで、本発明のプログラム生成装置を各種ウェブアプリケーションの生成にも適用可能である。
さらに、上記実施形態では、入出力テーブル109で指定されるデータベース上の複数のテーブルをそれぞれ定義する複数の定義情報、及びログイン情報110で指定される前記データベースへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成するプログラム生成装置について説明したが、複数のテーブルを動的に切り替えてアクセスすることができるデータベースアクセス装置(方法)そのものも本発明に含まれるものである。
さらに、上記各実施形態では、ウェブアプリケーションサーバ上で動作するウェブアプリケーションプログラムを生成するプログラム生成装置について説明したが、ミドルウェアとしてウェブアプリケーションサーバの代わりに、ノーツ(商品名)・アプリケーションサーバやドミノ(商品名)・アプリケーションサーバ等のグループウェアを利用したアプリケーションを生成するように構成してもよい。
この場合、サーブレットの代わりに、エージェントと呼ばれるJava(登録商標)で作成されたプログラムをプログラム生成装置で生成し、グループウェアのアプリケーションサーバに配置するものとする。また、JSPにより表示していた入出力画面は、フォームと呼ばれるコンテンツとして、プログラム生成装置で生成して、グループウェアのデータベースに登録しておく。また、Beanは上記実施形態と同一のものを使用可能である。
また、本発明のプログラム生成装置が生成するアプリケーションは、PDA(携帯情報端末)や携帯電話といった携帯端末をクライアントとするアプリケーションとしてもよい。
そして、クライアントとの間のプロトコルもHTTPのみではなく、WAP(Wireless Application Protocol)等とし、JSPにより生成されるコードも、HTMLに限られるものではなく、XML,WML等のその他の構造化言語とするような、プログラムを、本発明のプログラム生成装置が生成するように構成してもよい。
また、上記実施形態では、プログラム生成装置が、データベースへのアクセスを行うためのBean,各データ項目の入出力画面を選択された画面パターンで表示するためのJSP、入出力画面からの入力情報を取得して該入力情報に基づいてBean,JSPの実行を制御してアプリケーション全体を統括制御するサーブレットから構成されるウェブアプリケーションを生成する場合について説明したが、上記Bean,JSPの機能をも含んだサーブレットのみ、上記Beanの機能を含んだサーブレットとJSPのみ、又は、上記JSPの機能を含んだサーブレットとBeanのみ、から構成されるウェブアプリケーションを生成するように構成してもよいことはいうまでもない。
さらに、上記実施形態内に記載された各変形例を組み合わせた構成も全て本発明に含まれるものである。
以下、図17に示すメモリマップを参照して本発明に係るプログラム生成装置で読み取り可能なデータ処理プログラムの構成について説明する。
図17は、本発明に係るプログラム生成装置で読み取り(読み出し)可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図3,図10,図11,図12,図13,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明のプログラム生成装置により生成されるプログラムコードを、ASP(Active Server Pages),PHP(Hypertext Preprosessor)等のJava(登録商標)以外の他のプログラムによるアプリケーションとすることで、本発明のプログラム生成装置を各種アプリケーションの生成にも適用可能である。
本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。 図1に示したコード生成部によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。 本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートである。 本発明のプログラム生成装置における業務仕様情報(図1に示した入出力テーブル)について説明する模式図である。 図1に示したログイン情報を説明するための模式図である。 本発明のプログラム生成装置により生成されるアプリケーションによるDB接続切り替えを説明するためのDB構成(外部(リモート)分散DB構成)を示す図である。 本発明のプログラム生成装置により生成されるアプリケーションによるDB接続切り替えを説明するためのDB構成(内部(ローカル)同一DB構成)を示す図である。 本発明のプログラム生成装置により生成されるアプリケーションによるDB接続切り替えを説明するためのDB構成(内部(ローカル)DB及び外部(リモート)DBによる分散DB構成)を示す図である。 本発明のプログラム生成装置により生成されるウェブアプリケーションにおける操作画面の一例を示す模式図である。 本発明の第2の制御処理手順の一例を示すフローチャートである。 本発明の第3の制御処理手順の一例を示すフローチャートである。 本発明の第4の制御処理手順の一例を示すフローチャートである。 本発明の第5の制御処理手順の一例を示すフローチャートである。 本発明の第6の制御処理手順の一例を示すフローチャートである。 本発明の第7の制御処理手順の一例を示すフローチャートである。 本発明のプログラム生成装置における業務仕様情報(図1に示した入出力テーブル)について説明する模式図である。 本発明に係るプログラム生成装置で読み取り(読み出し)可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
符号の説明
101 入力装置
102 表示装置
103 処理装置(CPU,RAM,ROM)
104 外部記憶装置(ハードディスク)
105 画面制御部
116 業務仕様記述部
107 コード生成部
108 全体制御部
109 入出力テーブル
110 ログイン情報
111 アプリケーション名
112 JSPコード
113 Servletコード
114 Beanコード

Claims (8)

  1. データベースへアクセスするウェブアプリケーションプログラムを生成するプログラム生成装置において、
    データベース上の複数のテーブルをそれぞれ定義する複数の定義情報を記憶する第1の記憶手段と、
    前記データベースへ接続するための接続情報を記憶する第2の記憶手段と、
    前記第1の記憶手段に記憶される複数の定義情報、及び前記第2の記憶手段に記憶される前記接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成する生成手段と、
    を有することを特徴とするプログラム生成装置。
  2. 前記データベースは、異なる複数のデータベースであり、
    前記データベース上の複数のテーブルは、前記異なる複数のデータベース上にそれぞれ配置されるものであり、
    前記第2の記憶手段は、前記複数のデータベースへ接続するための複数の接続情報をそれぞれ記憶することを特徴とする請求項1記載のプログラム生成装置。
  3. 前記データベース上の複数のテーブルは、同一のデータベース上に配置されることを特徴とする請求項1記載のプログラム生成装置。
  4. 前記データベースは、ローカル接続可能なデータベース又はリモート接続可能なデータベースを含むことを特徴とする請求項1〜3のいずれかに記載のプログラム生成装置。
  5. 前記異なる複数のデータベースは、ローカル接続可能なデータベース及びリモート接続可能なデータベースを含むことを特徴とする請求項2記載のプログラム生成装置。
  6. データベースへアクセスするウェブアプリケーションプログラムを生成するためのプログラム生成方法において、
    指定されるデータベース上の複数のテーブルをそれぞれ定義する複数の定義情報、及び前記データベースへ接続するための接続情報に基づいて「前記複数のテーブルを動的に切り替えてアクセス可能なプログラムコード」を生成する生成工程を有することを特徴とするプログラム生成方法。
  7. 請求項6に記載されたプログラム生成方法を実行するためのプログラム。
  8. 請求項6に記載されたプログラム生成方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
JP2003383415A 2003-11-13 2003-11-13 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 Expired - Lifetime JP4444634B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003383415A JP4444634B2 (ja) 2003-11-13 2003-11-13 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003383415A JP4444634B2 (ja) 2003-11-13 2003-11-13 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2005148976A true JP2005148976A (ja) 2005-06-09
JP4444634B2 JP4444634B2 (ja) 2010-03-31

Family

ID=34692139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003383415A Expired - Lifetime JP4444634B2 (ja) 2003-11-13 2003-11-13 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4444634B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615756B2 (en) 2009-02-05 2013-12-24 Ricoh Company, Ltd. Server device and computer-readable recording medium for generating a driver package
CN111796810A (zh) * 2020-07-03 2020-10-20 福建天晴在线互动科技有限公司 一种可配置化快速生成Mysql数据库代码的方法及其***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615756B2 (en) 2009-02-05 2013-12-24 Ricoh Company, Ltd. Server device and computer-readable recording medium for generating a driver package
CN111796810A (zh) * 2020-07-03 2020-10-20 福建天晴在线互动科技有限公司 一种可配置化快速生成Mysql数据库代码的方法及其***

Also Published As

Publication number Publication date
JP4444634B2 (ja) 2010-03-31

Similar Documents

Publication Publication Date Title
JP4381708B2 (ja) グラフィカルユーザインターフェイスシステム
KR100446183B1 (ko) 데이터베이스 시스템
JP5089684B2 (ja) サービス・プログラムを生成する技術
US7165073B2 (en) Dynamic, hierarchical data exchange system
CN101258496B (zh) 用对数据库的查询自动填充
US20160054870A1 (en) Method and system for providing menu data for mobile applications
US20130132422A1 (en) System and method for creating and controlling an application operating on a plurality of computer platform types
JP2010009623A (ja) 異種装置プラットフォーム間を移動するプラットフォーム特定型のグラフィカルユーザインターフェイスのウィジェットの変換
CN104603777A (zh) 搜索结果中的外部动作建议
US6862601B2 (en) Method, system, and program for transforming files from a source file format to a destination file format
JP2010250529A (ja) 画像検索装置、画像検索方法及びプログラム
CN102163193A (zh) 超链接地图信息***
CN113360211A (zh) 基于控件的加载显示方法及相关设备
CN113312052A (zh) 一种组件调用方法、装置、电子设备以及存储介质
JP2003022184A (ja) アプリケーションプログラム生成システム、データ処理装置、アプリケーションプログラム提供装置、コンピュータプログラム、及び記録媒体
JP4444634B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
US7120663B2 (en) Method and apparatus for updating XML data
KR100732134B1 (ko) 테이블 표시 전환 방법, 텍스트 데이터 변환 프로그램 및 태그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JPH11288412A (ja) 文書作成方法及びシステム及び文書作成プログラムを記録したコンピュータ読み取り可能な記録媒体
CN113626032A (zh) 列表页的配置方法、装置及存储介质
JP2005078119A (ja) ソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体
JP2007257016A (ja) 原因追及方法、原因追及プログラムおよび原因追及システム
JP2014207019A (ja) 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム
KR102181579B1 (ko) 환자정보 스티커 서비스 제공방법 및 이를 위한 치과용 보험청구 시스템
JP2002268882A (ja) Webアプリケーションシステム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061027

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100112

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4444634

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term