JP2004318260A - Program generating device, program generating method, program, and recording medium - Google Patents
Program generating device, program generating method, program, and recording medium Download PDFInfo
- Publication number
- JP2004318260A JP2004318260A JP2003108036A JP2003108036A JP2004318260A JP 2004318260 A JP2004318260 A JP 2004318260A JP 2003108036 A JP2003108036 A JP 2003108036A JP 2003108036 A JP2003108036 A JP 2003108036A JP 2004318260 A JP2004318260 A JP 2004318260A
- Authority
- JP
- Japan
- Prior art keywords
- input
- program
- business
- screen
- data
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、ウェブ(Web)アプリケーションプログラム、特にサーバサイドJava(登録商標)の技術を利用したウェブアプリケーションシステムにおけるサーブレット、JSP(Java(登録商標)Server Pages)、Bean、およびJava(登録商標)Scriptの設計および開発支援に関するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関するものである。
【0002】
【従来の技術】
従来、サーブレット(Servlet)、JSP、およびBeanを利用したウェブアプリケーションシステムの構成において、Beanはデータベースにアクセスするとともに、業務処理も行い、また、その情報を保持する役割を持っており、Beanの設計や開発には、サーブレット、JSPの開発以上にJava(登録商標)の知識と経験が必要であった。
【0003】
また、従来の開発方法では、サーブレットやJSPでリクエストに応じた処理を行い、その結果に応じた画面を生成するプログラムを記述するため、システムが大規模、複雑になるに従い、処理の把握が難しくなり、開発、保守作業の負担が増大していった。
【0004】
この問題を解決するために、特開2001−344105号公報には、開発作業を単純にし、軽減することができる方式が記述されている。
【0005】
これは、それぞれの画面に対応させて、サーブレット、JSP、Beanの各コンポーネントを1対1の関係で定義し、画面デザインから各コンポーネントの定義を対応表として生成する対応表生成部をもち、その対応表と設計ドキュメントの情報を利用して、サーブレット、JSP、およびBeanのコードを自動生成し、これにより、開発作業を軽減させようというものである。
【0006】
【特許文献1】
特開2001−344105号公報
【0007】
【発明が解決しようとする課題】
しかしながら、上述のようなコード生成方式では、生成されるコードは、単なるコンポーネントの名称、変数、メソッドの定義、コンポーネント間の呼び出し関係であり、業務ロジックについては、何ら考慮されていない。つまり、業務仕様書からウェブアプリケーションシステムを開発する場合の開発作業の主作業である業務ロジックについては、設計者ごとに独自に設計開発作業を行わなくてはならず、業務処理開発作業としての共通化を図ることが困難である。そのため、開発作業は、各担当者のスキルに依存するといった問題があった。
【0008】
また、上述のアプリケーション開発方法では、開発されるアプリケーションにおいて、アプリケーション本来の処理(すなわち、業務処理)の記述とプラットフォーム固有の処理の記述とが混在することになるので、アプリケーションの保守性が悪いという問題があった。例えば、業務仕様や画面等に変更を加える等の場合には、上述のようなコード生成方式で生成されたコードに対して、再度業務処理を埋め込まなくてはならなかった。
【0009】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段に記憶させ、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段に記憶させ、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段に記憶させ、前記第1〜第3の記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果それぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第1のプログラムの生成,前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成をそれぞれ行い、第4の記憶手段に記憶させることにより、ウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができるプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体を提供することである。
【0010】
【課題を解決するための手段】
本発明の第1の発明は、ウェブアプリケーションプログラムを生成させるためのプログラム生成装置において、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段(図1に示す外部記憶装置104内の入出力テーブル109)に記憶させる第1の入力手段(図4,図5に示す業務仕様入力画面)と、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段(図1に示す外部記憶装置104内の物理仕様テーブル110)に記憶させる第2の入力手段(図8〜図11,図46に示す物理仕様入力画面)と、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段(図1に示す外部記憶装置104)に記憶させる選択手段(図8に示す画面タイプ指定エリア712,図10に示す画面タイプ指定エリア905)と、前記第1〜第3の記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベース(図1に示すデータベース115)の構築(図21のステップS201)、並びに前記データベースへのアクセスを行うための第1のプログラム(図1に示すBean114)の生成(図21のステップS202,図22に示すフローチャート),前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラム(図1に示すJSP112)の生成(図21のステップS204,図24,図26〜図32に示すフローチャート)、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラム(図1に示すサーブレット113)の生成(図21のステップS203,図23に示すフローチャート))をそれぞれ行い、第4の記憶手段(図1に示す外部記憶装置104または、その他のサーバ装置の記憶装置)に記憶させる生成手段(図1に示すコード生成部107)とを有することを特徴とする。
【0011】
本発明の第2の発明は、前記第1の入力手段は、前記複数のデータ項目をグループ化し、該グループ間の親子関係を定義した業務仕様情報(図33に示す入出力テーブル)を入力可能であり、前記生成手段は、前記第2のプログラムを、前記各グループに対応する入出力画面が前記親子関係に応じて画面遷移表示するプログラムとして生成する(図36に示すフローチャート)ことを特徴とする。
【0012】
本発明の第3の発明は、前記第1の入力手段は、前記複数のデータ項目をグループ化し、各グループに対応する各入出力画面がタグ画面関係にあることを定義した業務仕様情報(図38に示す入出力テーブル)を入力可能であり、前記生成手段は、前記第2のプログラムを、前記各グループに対応する各入出力画面をタグ画面として表示するプログラムとして生成する(図41に示すフローチャート)ことを特徴とする。
【0013】
本発明の第4の発明は、前記第1の入力手段は、あるデータ項目が他のデータ項目を参照する関係であることを定義した業務仕様情報(図42に示す入出力テーブル)を入力可能であり、前記生成手段は、前記第2のプログラムを、前記業務仕様情報に対応する入出力画面の参照元となるデータ項目の入力欄に参照先となるデータ項目のデータを選択リストとして配置するプログラムとして生成する(図44に示すフローチャート)ことを特徴とする。
【0014】
本発明の第5の発明は、前記入出力画面の画面パターンに付随した処理は、データベースに対する項目データの検索処理,更新処理,追加処理,削除処理を含むことを特徴とする。
【0015】
本発明の第6の発明は、ウェブアプリケーションプログラムを生成させるためのプログラム生成装置におけるプログラム生成方法において、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段に記憶させる第1の入力工程(図3のステップS103)と、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段に記憶させる第2の入力工程(図3のステップS104)と、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段に記憶させる選択工程(図3のステップS104)と、前記第1〜第3の記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築(図21のステップS201)、並びに前記データベースへのアクセスを行うための第1のプログラムの生成(図21のステップS202,図22に示すフローチャート),前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラムの生成(図21のステップS204,図24,図26〜図32に示すフローチャート)、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成(図21のステップS203,図23に示すフローチャート)をそれぞれ行い、第4の記憶手段に記憶させる生成工程(図21のステップS106))とを有することを特徴とする。
【0016】
本発明の第7の発明は、第6の発明に記載されたプログラム生成方法を実行するためのプログラムであることを特徴とする。
【0017】
本発明の第8の発明は、第6の発明に記載されたプログラム生成方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【0018】
【発明の実施の形態】
〔第1実施形態〕
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
【0019】
図1は、本発明の第1実施形態を示すプログラム生成装置の構成を示すブロック図である。
【0020】
図において、101は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報(データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等)や、物理仕様情報(表示画面のプログラムコードを生成する際に用いる配置,色,表示の有無,サイズ等の条件情報等)の入力や、業務パターン(画面表示パターンと該画面表示パターンに付随したロジックの組み合わせを規定したもの)の選択等を行うことが可能である。
【0021】
102は表示装置で、CRT,LCD等で構成され、業務仕様情報,物理仕様情報の入力画面や、該入力画面から入力された業務仕様情報や物理仕様情報、生成されたプログラムコード等を表示可能である。104はハードディスク等の外部記憶装置で、入力された業務仕様を記憶するための入出力テーブル109や入力された物理仕様を記憶するための物理仕様テーブル110、業務パターン選択情報111、生成されたプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)等を記憶するものである。
【0022】
103は処理装置で、CPU,ROM,RAM等から構成され、CPUがROM,外部記憶装置104又はその他の記録媒体に格納されるプログラムをRAM上にロードして実行することにより実現されるものであり、画面制御部105,仕様解析部106,コード生成部107を備える。
【0023】
画面制御部105は、入力装置101から業務仕様情報を入力するために表示装置102の画面(後述する図4,図5)を制御する業務仕様記述部116と、入力装置101から物理仕様情報を入力したり、業務処理パターンを選択するために表示装置102の画面(後述する図8〜図11)を制御する物理仕様記述部117から構成される。
【0024】
仕様解析部106は、入力装置101から入力された又は外部記憶装置104から読み出された業務仕様情報,物理仕様情報に対して字句解析や文法解析を行う。コード生成部107は、仕様解析部106により仕様解析された業務仕様情報,物理仕様情報,業務パターン選択情報に基づいてプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)を生成し、外部記憶装置104に記憶させる。また、コード生成部107は、外部記憶装置104から読み出された業務仕様情報(入出力テーブル109)に基づいて外部記憶装置104上にデータベース(DB)115を構築する。
【0025】
108は全体制御部で、画面制御部105,仕様解析部106,コード生成部107等の各部の制御を行う。
【0026】
図2は、図1に示したコード生成部107によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【0027】
コード生成部107によって生成されたサーブレット、JSP、およびBeanは、それぞれ実行可能な状態で、サーバ304側のアプリケーションサーバ306上に配置される。
【0028】
このWebアプリケーションシステムは、クライアント301からウェブブラウザ302によって利用される。ウェブブラウザ302からJSP309にアクセスすることにより、HTMLページを生成し、クライアント301側に返送する。そして、ウェブブラウザ302上には、JSP309から送信されるHTMLページ303が表示される。
【0029】
また、Webブラウザ302からのリクエストは、HTTP経由でサーバ304側に送信される。サーバ304にはHTTPサーバ305とアプリケーションサーバ306があり、アプリケーションサーバ306にはサーブレットやJSPの実行環境が含まれている。
【0030】
サーバ304側にリクエストが送信されると、リクエストに応じて該当するサーブレット307が起動される。サーブレット307は、対応するBean308に処理を要求する。さらに、Bean308はDBアクセスオブジェクト310を利用してデータベース311にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。DBアクセスオブジェクト310は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
【0031】
次に、サーブレット307からJSP309にBean308を渡し、JSP309を呼び出す。JSP309は、Bean308で保持する処理結果を参照して、HTMLページを生成し、クライアント301側に返送する。クライアント301側に返送されたHTMLページは、Webブラウザ302上に表示される。
【0032】
サーブレット307は、Webブラウザ302からのリクエストの受け付け、Bean308への処理要求、およびJSP309の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP309はHTMLページを出力するための表示に関することを受け持ち、Bean308はデータベース311へのアクセス等の業務に関する処理を受け持つ。Bean308やJSP309を利用せず、サーブレット307のみでWebブラウザ302からのリクエストを処理することは可能であるが、Bean308やJSP309を利用することでそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
【0033】
図3は、本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置103の全体制御部108の動作に対応する。なお、S101〜S107は各ステップを示す。
【0034】
図1に示した処理装置103は、コード生成する業務仕様(入出力テーブル)や物理仕様テーブルの入力及び業務パターンの選択を行う入力モードと、入力された業務仕様(入出力テーブル)や物理仕様テーブル,業務パターン選択情報からプログラムコードを生成する生成モードとを有する。
【0035】
まず、全体制御部108が起動されると、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップS102に進み、全体制御部108は、画面制御部105を起動する。
【0036】
起動された画面制御部105は、ステップS103において、業務仕様記述部116により業務仕様入力画面(後述する図4,図5)を表示させ、生成するウェブアプリケーションのアプリケーション名,オペレータからの業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置104に格納する。
【0037】
次に、画面制御部105は、ステップS104において、物理仕様記述部117を起動させる。起動された物理仕様記述部117は物理仕様入力画面(後述する図8〜図11)を表示させ、オペレータからの物理仕様の一形態である物理仕様テーブルへの入力と業務パターンの選択を受け付け、この物理仕様テーブルと業務パターンの選択情報を外部記憶装置104にそれぞれ格納し、処理を終了する。
【0038】
一方、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップS105に進み、全体制御部108は、外部記憶装置104に格納された入出力テーブルと物理仕様テーブルを読み出すとともに、仕様解析部106を起動させて、読み出した入出力テーブルと物理仕様テーブルの字句解析,文法解析を行う。
【0039】
次に、ステップS106において、全体制御部108は、コード生成部107を起動させて、仕様解析部106で字句解析,文法解析が行われた入出力テーブルと物理仕様テーブル、そして選択された業務パターンに基づいてコード生成及びデータベースの構築を行う。
【0040】
そして、ステップS107において、全体制御部108は、生成されたコードを、オペレータの指示により表示装置102に表示したり、外部記憶装置104に書き込む出力処理を行う。
【0041】
以下、各処理を具体的に説明する。
【0042】
まず、オペレータによって入力モードが選択された場合について説明する。
【0043】
入力モードの選択により、全体制御部108は業務仕様記述部116を起動する。これにより、表示装置102に後述する図4に示す業務仕様入力画面が表示され、オペレータはこの業務仕様入力画面より業務仕様を入力装置101を用いて入力する。
【0044】
以下、図4〜図6を参照して、本発明のプログラム生成装置における業務仕様(入出力データ)について説明する。
【0045】
図4は、本発明のプログラム生成装置における業務仕様入力画面の一例を示す模式図であり、業務仕様記述部116により起動される。
【0046】
図5は、本発明のプログラム生成装置における項目入力画面の一例を示す模式図であり、業務仕様記述部116により起動される。
【0047】
図6は、本発明のプログラム生成装置における入出力テーブルのテーブル構成の一例を示す模式図である。
【0048】
図4の業務仕様入力画面及び図5の項目入力画面から入力される業務仕様は、内部的には図6の入出力テーブルの形式で保存される。
【0049】
まず、図4において、400はアプリケーション名入力エリアで、生成するウェブアプリケーションのアプリケーション名(この例では「ZyutychKanri」)を入力する。
【0050】
401はデータファイル番号入力エリアで、生成するウェブアプリケーションの識別情報であるデータファイル番号(この例では「ZyutychKanri」(アプリケーション名と同一でもよい))を入力するためのものであり、図6に示す入出力テーブルの欄1に格納される。402はファイル名入力エリアで、生成するウェブアプリケーションのデータファイル名(この例では「受注管理」)を入力するためのものであり、図6に示す入出力テーブルの欄3に格納される。403は説明入力エリア、404は備考入力エリアで、生成するウェブアプリケーションの説明等を入力する。405は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルが削除される。406は詳細ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルの各項目情報(データ項目)を入力する項目入力画面(図5)が表示される。
【0051】
図5において、501は並び順入力エリアで、対応するデータ項目の並び順(1,2,3,…)を入力するためのものであり、図6に示す入出力テーブルの欄10に格納される。502はデータ項目番号入力エリアで、対応するデータ項目の識別情報であるデータ項目番号(この例では「DenpyoNo」を含む9項目(ただし、図5では6項目のみ示している)を入力するためのものであり、図6に示す入出力テーブルの欄2に格納される。503はデータ項目名入力エリアで、対応するデータ項目の名称(この例では「伝票番号」を含む9項目)を入力するためのものであり、図6に示す入出力テーブルの欄4に格納される。
【0052】
504はキー機能指定エリアで、対応する項目データのキー種別を指定するためのものであり、図6に示す入出力テーブルの欄5に格納される。このキー種別には主キーであることを示す「K」、第2キーであることを示す「S」、当該項目が参照関係であること示す「R」、当該項目が親子関係の子供であること示す「P」、タグ画面(ボタン)となることを示す「B」等がある。
【0053】
507,508は参照先データファイル番号入力エリア,参照先データ項目番号入力エリアで、キー機能指定エリアが「P」又は「R」に設定されている場合のみ有効となり、「R」のときは、参照関係の対象データファイル番号,対象データファイル項目番号を指定し、「P」のときは、親子関係の親の対象データファイル番号,対象データファイル項目番号を指定するためのものであり、図6に示す入出力テーブルの欄6,欄7にそれぞれ格納される。
【0054】
505は桁数入力エリアで、対応するデータ項目の桁数を入力するためのものであり、図6に示す入出力テーブルの欄8に格納される。506はデータタイプ入力エリアで、対応するデータ項目のデータタイプ(テキスト,数値,日付,通貨等)を入力するためのものであり、図6に示す入出力テーブルの欄11に格納される。509は式入力エリアで、コード生成補助情報を表しており、例えば、当該データ項目が他のデータ項目より算出される等の場合は、その算出式等を記載し、また、タグ画面生成(キー機能指定エリアが「B」)等の場合には、タグ対象のパネル名称を指定するためのものであり、図6に示す入出力テーブルの欄9に格納される。
【0055】
510は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータ項目が削除される。511は閉じるボタンで、このボタンをマウス等で指示することにより、データ項目入力画面が終了される。512は適用ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面(図4)及びデータ項目入力画面(図5)で入力された業務仕様より入出力テーブルが生成され、外部記憶装置104に記憶される。
【0056】
図7は、本発明のプログラム生成装置において生成されるウェブアプリケーションにおける表示画面の一例を示す模式図である。
【0057】
図7に示すように、生成されるウェブアプリケーションにおける表示画面は詳細表示201と一覧表示202から構成される。
【0058】
以下、図8〜図11を参照して、本発明のプログラム生成装置における物理仕様について説明する。
【0059】
図8〜図11は、本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図であり、物理仕様記述部117により起動される。なお、各図において同一のものには同一の符号を付してある。
【0060】
図12は、本発明のプログラム生成装置における物理仕様テーブルのテーブル構成の一例を示す模式図である。物理仕様情報とは、例えば画面表示/未表示の設定や画面サイズ,色等のように、プログラムコードを生成するための条件(特に、ユーザインタフェース部分の物理的な仕様)を記述したもので、業務仕様の各データ項目に付随している。図8〜図11の物理仕様入力画面から入力される物理仕様情報は、内部的には図4に示した物理仕様テーブルの形式で保存される。
【0061】
まず、図8において、701はデータファイル選択エリアで、物理仕様を入力するデータファイル(この例では「受注管理 ZyutychKanri」)を選択するためのものである。704は画面タグで、画面全体に関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図8に示す画面が表示される。705はファイルタグで、ファイルに関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図10に示す画面が表示される。706は項目タグで、各項目に関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図11に示す画面が表示される。
【0062】
702はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。703は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。708は背景色指定エリアで、ウェブアプリケーション画面の背景色を指定することができる。なお、ボタン708aを指示することにより、図9に示す色選択画面が表示され背景色を選択することも可能である。
【0063】
709は背景壁紙指定エリアで、ウェブアプリケーション画面の背景壁紙を指定することができる。710は詳細サイズ指定エリアで、ウェブアプリケーション画面の詳細表示(図7の詳細表示201)のサイズを指定することができる。711は一覧サイズ指定エリアで、ウェブアプリケーション画面の一覧表示(図7の一覧表示202)のサイズを指定することができる。712は画面タイプ指定エリアで、業務パターンを指定することができる。この業務パターンには、後述する図13〜図19に示すように、一覧表示パターン,詳細表示パターン,更新パターン,一覧更新パターン,検索一覧パターン,一覧詳細パターン,一覧詳細更新パターン等がある。
【0064】
図10において、901は一覧枠線の太さを指定するエリア、902は一覧枠線の色を指定するエリア、903は一覧横サイズを指定するエリア、904は一覧縦サイズを指定するエリアである。
【0065】
905は画面タイプ指定エリアで、業務パターン(後述する図13〜図19に示す一覧表示,詳細表示,更新,一覧更新,検索一覧,一覧詳細,一覧詳細更新のいずれか)を指定(選択)することができ、画面タイプ指定エリア712(図8)と同一の機能を有する。906は表示行数指定エリアで、一覧表示の表示行数を指定するエリアである。907は追加行数指定エリアで、画面タイプ(業務パターン)で「一覧更新」等が選択された場合には、データを追加するための追加行の数を指定するエリアである。
【0066】
908はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。909は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。
【0067】
図11において、1001はデータ項目指定エリアで、物理仕様を入力するデータ項目を指定するエリアである。1004は詳細表示形式指定エリアで、データ項目指定エリア1001で指定されている項目を詳細表示に「表示」又は「未表示」とするかを選択する。1005は一覧表示形式指定エリアで、データ項目指定エリア1001で指定されている項目を一覧表示に「表示」又は「未表示」とするかを選択する。
【0068】
1002はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。1003は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。
【0069】
図12に示す物理仕様テーブルの例では、対応するデータファイルの識別番号(データファイル番号)が欄1に記述されているように「ZyutychKanri」、データファイル項目の識別番号(データ項目番号)が欄2に記述されているように「DenpyoNo」であることを示している。また、欄3のメタソースコードは、プログラムコード生成のための条件式を表しており、この条件式の値を欄4のパラメータ値が表している。
【0070】
図12に示す物理仕様テーブルの1行目は、条件式「DetailType」のパラメータ値に「0」がセットされていることを示している。これは、詳細表示における伝票番号項目を「表示」とするようコード生成指示を表現したものである。即ち、図11の詳細表示形式指定エリア1004で「表示」が指定された場合に対応する。
【0071】
また、図12に示す物理仕様テーブルの2行目は、条件式「ListType」のパラメータ値に「1」がセットされていることを示している。これは、一覧表示における伝票番号項目を「未表示」とするようコード生成指示を表現したものである。即ち、図11の一覧表示形式指定エリア1005で「未表示」が指定された場合に対応する。
【0072】
以下、図13〜図20を参照して、本発明のプログラム生成装置における業務パターンについて説明する。
【0073】
図13は、本発明のプログラム生成装置における業務パターンとして「一覧表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0074】
図13に示す一覧表示画面は、各項目が横並びとなり、各項目名称とその値が1対nの関係で構成されており、データベース内のデータの一覧表示(いわゆるオカレンス表示)等として用いられる。なお、入力機能及びボタン機能は付されていない。
【0075】
図14は、本発明のプログラム生成装置における業務パターンとして「詳細表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0076】
図14に示す詳細表示画面は、各項目が縦並びとなり、各項目名称とその値が1対1の関係で構成される。なお、入力機能及びボタン機能は付されていない。
【0077】
図15は、本発明のプログラム生成装置における業務パターンとして「更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0078】
図15に示す更新画面は、各項目が縦並びとなり、各項目名称とその値が1対1の関係で構成され、データベースに対するデータの更新、新規登録、削除、表示(検索)等の機能を有する。
【0079】
なお、各項目のデータ表示エリア1501は入力可能となっており、キー項目を入力して「表示」ボタン1505を指示することにより、データベースを検索して該検索結果を表示することができる。また、データ表示エリア1501に表示されているデータに変更を加え、「更新」ボタン1502を指示することにより、データベースに対してデータ更新を行うことができる。
【0080】
また、データ表示エリア1501に新規のデータを入力し、「新規」ボタン1503を指示することにより、データベースに対してデータ表示エリアに表示されているデータの新規登録を行うことができる。さらに、「削除」ボタン1504を指示することにより、データベースに対してデータ表示エリア1501に表示されているデータの削除を行うことができる。
【0081】
また、「取消」ボタン1506を指示することにより、データ表示エリア1501に表示されているデータをクリアすることができる。さらに、「閉じる」ボタン1507を指示することにより、更新画面を閉じることができる。
【0082】
図16は、本発明のプログラム生成装置における業務パターンとして「一覧更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0083】
図16に示す一覧更新画面は、各項目が横並びとなり、各項目名称とその値が1対nの関係で構成されており、データベース内のデータの一覧表示(いわゆるオカレンス表示)等として用いられる。
【0084】
なお、1レコード(1行)ごとに「削除」ボタン1601が設けられており、このボタンを指示することにより、対応するレコードを画面から削除することができる。また、「削除」ボタン1601が設けられている行のデータ表示エリア1603のデータを変更することができる。
【0085】
さらに、「削除」ボタン1601の代わりに「追加用」の文字列1602が付されている行はデータ追加行であり、この行のデータ表示エリア1603にデータを入力することにより、レコードを画面に追加することができる。
【0086】
また、1604は「適用」ボタンで、このボタンを指示することにより、この一覧更新画面での入力を有効としてデータベースを更新することができる。
【0087】
図17は、本発明のプログラム生成装置における業務パターンとして「検索一覧」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0088】
図17に示す検索一覧画面は、データベースに対するデータの検索機能を有する画面であり、検索キーを入力するための検索キー入力エリア1701と検索結果を一覧表示するための一覧表示エリア1702から構成される。
【0089】
検索キー入力エリア1701は、各項目が縦並びとなり、各項目名称とその値が1対1の関係で構成されており、データ入力エリア1703に示すいずれかの項目にキー項目を入力して「検索」ボタン1706を指示することにより、データベースを検索して該検索結果を受注管理一覧(一覧表示エリア1702)に一覧表示することができる。
【0090】
また、「取消」ボタン1704を指示することにより、データ入力エリア1703に入力されたデータをクリアすることができる。さらに、「閉じる」ボタン1705を指示することにより、検索一覧画面を閉じることができる。
【0091】
また、一覧表示エリア1702は、各項目が横並びとなり、各項目名称とその値が1対nの関係で構成されており、データベースの検索結果を一覧表示(オカレンス表示)する。
【0092】
図18は、本発明のプログラム生成装置における業務パターンとして「一覧詳細」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0093】
図18に示す一覧詳細画面は、一覧表示ウィンドウ1801と詳細表示ウィンドウ1802の2つのウィンドウから構成される。
【0094】
一覧表示ウィンドウ1801は、各項目が横並びとなり、各項目名称とその値が1対nの関係で構成されており、データベース内のデータの一覧表示(いわゆるオカレンス表示)等として用いられ、データ入力機能は付されていない。
【0095】
なお、1レコード(1行)ごとに「詳細」ボタン1803が設けられており、このボタンを指示することにより、詳細表示ウィンドウ1802をポップアップ表示させ、対応するレコードの詳細情報を詳細表示ウィンドウ1802内のデータ表示エリア1804に表示させることができる。
【0096】
詳細表示ウィンドウ1802は、各項目が縦並びとなり、各項目名称とその値が1対1の関係で構成され、一覧表示ウィンドウ1801内の「詳細」ボタン1803が指示されたレコードの詳細情報をデータ表示エリア1804に表示させるのみで、データ入力機能は付されていない。
【0097】
図19は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0098】
図19に示す一覧詳細更新画面は、一覧表示ウィンドウ1901と詳細検索ウィンドウ1902の2つのウィンドウから構成される。
【0099】
一覧表示ウィンドウ1901は、各項目が横並びとなり、各項目名称とその値が1対nの関係で構成されており、データベース内のデータの一覧表示(いわゆるオカレンス表示)等として用いられ、データ入力機能は付されていない。
【0100】
なお、1レコード(1行)ごとに「詳細」ボタン1903が設けられており、このボタンを指示することにより、詳細検索ウィンドウ1902をポップアップ表示させ、対応するレコードの詳細情報を詳細検索ウィンドウ1902内のデータ表示エリア1905に表示させることができる。
【0101】
また、追加ボタン1904を指示した場合にも、詳細検索ウィンドウ1902がポップアップ表示され、詳細検索ウィンドウ1902で新規レコードの詳細情報の追加を行うことができる。
【0102】
詳細検索ウィンドウ1902は、各項目が縦並びとなり、各項目名称とその値が1対1の関係で構成され、データベースに対するデータの更新、新規登録、削除、表示(検索)等の機能を有する。
【0103】
なお、各項目のデータ表示エリア1905は入力可能となっており、キー項目を入力して「表示」ボタン1909を指示することにより、データベースを検索して該検索結果を表示することができる。また、データ表示エリア1905に表示されているデータに変更を加え、「更新」ボタン1906を指示することにより、データベースに対してデータ更新を行うことができる。
【0104】
また、データ表示エリア1905に新規のデータを入力し、「新規」ボタン1907を指示することにより、データベースに対してデータ表示エリアに表示されているデータの新規登録を行うことができる。さらに、「削除」ボタン1908を指示することにより、データベースに対してデータ表示エリア1905に表示されているデータの削除を行うことができる。
【0105】
また、「取消」ボタン1910を指示することにより、データ表示エリア1905に表示されているデータをクリアすることができる。さらに、「閉じる」ボタン1911を指示することにより、詳細検索ウィンドウ1902を閉じることができる。
【0106】
図20は、選択される業務パターンにより生成されるウェブアプリケーションプログラムの実行時に表示される画面の内容を示した図である。
【0107】
以下、図21〜図31を参照して、図1に示したコード生成部107によるコード生成処理について説明する。
【0108】
図21は、本発明の第2の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるコード生成処理に対応する。なお、S201〜S204は各ステップを示す。
【0109】
まず、ステップS201において、入出力テーブル109に格納された業務仕様情報に基づいて、入出力テーブル109内の各項目データを記憶するためのデータベースを外部記憶装置104上にデータベース115を構築(生成)する。なお、この時、入出力テーブル109の欄5において、主キー「K」,サブキー「S」に設定された項目を主キー,サブキーとする。このデータベース115は、例えばSQL等を利用したデータベースである。
【0110】
次に、ステップS202において、ステップS201で構築したデータベース115に対するアクセスを行うBean114を、入出力テーブル109及び業務パターン選択情報111に基づいて生成する(詳細は図22に示す)。
【0111】
次に、ステップS203において、入出力テーブル109及び業務パターン選択情報111に基づいて、ウェブブラウザからの入力データを取得してウェブアプリケーション全体を制御するサーブレット113を生成する(詳細は図23に示す)。
【0112】
次に、ステップS204において、ウェブブラウザへの表示を制御する(図13〜図19に示した画面のウェブブラウザへの出力を制御する)JSP112を生成する(詳細は図24〜図32に示す)。
【0113】
そして、図3のステップS107にリターンして、生成した各コードを外部記憶装置104に格納する。
【0114】
図22は、本発明の第3の制御処理手順の一例を示すフローチャートであり、図21のステップS202に示したBean生成処理に対応する。なお、S301〜S306は各ステップを示す。
【0115】
まず、ステップS301において、選択された業務パターン(業務パターン選択情報111)がいずれの業務パターンであるか判断し、「一覧表示」,「詳細表示」「検索一覧」,「一覧詳細」のいずれかであると判定した場合には、ステップS302に進み、データベースの検索用Bean、即ちデータベースに対して検索処理を行うBeanを生成し、処理をリターンする。
【0116】
一方、ステップS301で、業務パターン選択情報111が「更新」,「一覧更新」,「一覧詳細更新」のいずれかであると判定した場合には、ステップS303〜S306において、データベースの更新用Bean,追加用Bean,削除用Bean,検索用Bean、即ちデータベースに対して更新処理,追加処理,削除処理,検索処理を行うBeanをそれぞれ生成し、Bean生成処理を終了する。
【0117】
なお、検索用Bean,更新用Bean,追加用Bean,削除用Beanの各ファイル名は、例えば、アプリケーション名にそれぞれ文字列“BeanKensaku”,“BeanKoushin”,“BeanTsuika”,“BeanSakuzyo”を付加し拡張子を“java(登録商標)”としたBeanファイルとする。
【0118】
図23は、本発明の第4の制御処理手順の一例を示すフローチャートであり、図21のステップS203に示したサーブレット生成処理に対応する。なお、S401〜S404は各ステップを示す。
【0119】
まず、ステップS401において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名に文字列“Servlet”を付加し拡張子を“java(登録商標)”とする。
【0120】
次に、ステップS402において、ウェブブラウザからの入力情報を受け取るコードをサーブレットファイル内に生成する。
【0121】
次に、ステップS403において、「ステップS402で生成したコードで受け取る入力情報に対応する業務処理のBeanを起動して業務処理を実行させるためのコード」をサーブレットファイル内に生成する。なお、ここで生成されるコードは、選択された業務パターンによって異なるものとなる。業務パターン選択情報が「一覧表示」,「詳細表示」「検索一覧」,「一覧詳細」のいずれかである場合には、検索指示が入力されたことを示すウェブブラウザからの入力情報に応じて、検索用Beanを呼び出して実行させるコードを生成し、一方、業務パターン選択情報が「更新」,「一覧更新」,「一覧詳細更新」のいずれかである場合には、更新,追加,削除,検索指示が入力されたことを示すウェブブラウザからの入力情報に応じて、更新用Bean,追加用Bean,削除用Bean,検索用Beanをそれぞれ呼び出して実行させるコードを生成する。
【0122】
次に、ステップS404において、「JSPを呼び出して、ステップS403で業務処理を実行させたBeanの処理結果を表示させるコード」をサーブレットファイル内に生成し、サーブレット生成処理を終了する。
【0123】
なお、業務パターン選択情報が「一覧詳細」である場合には、図18に示した一覧表示ウィンドウ1801と詳細表示ウィンドウ1802の2つのウィンドウにそれぞれサーブレット(一覧表示ウィンドウ用のサーブレット,詳細表示ウィンドウ用のサーブレット)を生成するものとする。そして、一覧表示ウィンドウ用のサーブレットには、一覧表示ウィンドウ1801上で「詳細」ボタン1803が指示されたことを示す入力情報を取得した場合に、検索用Beanを呼び出して対応するレコードの情報を検索させ、詳細表示ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。これにより、一覧表示ウィンドウ1801上で「詳細」ボタン1803を指示すると、詳細表示ウィンドウ1802がポップアップされ、対応するレコードの詳細情報が表示されるようになる。
【0124】
また、業務パターン選択情報が「一覧詳細更新」である場合にも、図19に示した一覧表示ウィンドウ1901と詳細検索ウィンドウ1902の2つのウィンドウにそれぞれサーブレット(一覧表示ウィンドウ用のサーブレット,詳細検索ウィンドウ用のサーブレット)を生成するものとする。そして、一覧表示ウィンドウ用のサーブレットには、一覧表示ウィンドウ1901上で「詳細」ボタン1903,「追加」ボタン1904が指示されたことを示す入力情報を取得した場合に、(「詳細」ボタン1903が指示された場合は検索用Beanを呼び出して対応するレコードの情報を検索させ、)詳細更新ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。これにより、一覧表示ウィンドウ1901上で「詳細」ボタン1903又は「追加」ボタン1904を指示すると、詳細検索ウィンドウ1902がポップアップされ、特に「詳細」ボタン1903が指示された場合は該当するレコードの詳細情報が詳細検索ウィンドウ1902に表示されるようになる。
【0125】
さらに、詳細検索ウィンドウ用のサーブレットは、詳細検索ウィンドウ1902上での「更新」,「新規」,「削除」,「表示」ボタンが指示されたことが入力されたことに応じて、更新用Bean,追加用Bean,削除用Bean,検索用Beanをそれぞれ呼び出して実行させ、詳細更新ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。
【0126】
図24は、本発明の第5の制御処理手順の一例を示すフローチャートであり、図21のステップS204に示したJSP生成処理に対応する。なお、S501〜S508は各ステップを示す。
【0127】
まず、ステップS501において、選択された業務パターン(業務パターン選択情報111)がいずれの業務パターンであるか判断し、「一覧表示」であると判定した場合には、ステップS502に進み、一覧表示JSP生成処理(詳細は図26に示す)を行い、JSP生成処理を終了する。
【0128】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「詳細表示」であると判定した場合には、ステップS503に進み、詳細表示JSP生成処理(詳細は図27に示す)を行い、JSP生成処理を終了する。
【0129】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「更新」であると判定した場合には、ステップS504に進み、更新JSP生成処理(詳細は図28に示す)を行い、JSP生成処理を終了する。
【0130】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「一覧更新」であると判定した場合には、ステップS505に進み、一覧更新JSP生成処理(詳細は図28に示す)を行い、JSP生成処理を終了する。
【0131】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「検索一覧」であると判定した場合には、ステップS506に進み、検索一覧JSP生成処理(詳細は図29に示す)を行い、JSP生成処理を終了する。
【0132】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「一覧詳細」であると判定した場合には、ステップS507に進み、一覧詳細JSP生成処理(詳細は図30に示す)を行い、JSP生成処理を終了する。
【0133】
また、ステップS501で、選択された業務パターン(業務パターン選択情報111)が「一覧詳細更新」であると判定した場合には、ステップS508に進み、一覧詳細更新JSP生成処理(詳細は図31に示す)を行い、JSP生成処理を終了する。
【0134】
図25は、本発明におけるJSPファイル生成を模式的に示す模式図である。
【0135】
図25に示すように、JSP内のコード生成においては、入出力テーブル109の欄3のデータファイル名より、一覧タイトルを表示するための一覧タイトル表示コード2501,詳細タイトルを表示するための詳細タイトル表示コード2503がJSP内に生成される。
【0136】
また、入出力テーブル109の欄4のデータ項目名より、一覧表示のための一覧表示コード2502,詳細表示のための詳細表示コード2504がJSP内に生成される。
【0137】
図26は、本発明の第6の制御処理手順の一例を示すフローチャートであり、図24のステップS502に示した一覧表示JSP生成処理に対応する。なお、S601〜S607は各ステップを示す。
【0138】
まず、ステップS601において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0139】
次に、ステップS602において、「検索用Beanを用いてデータベース内の全レコードを取得するコード」をJSPファイル内に生成する。
【0140】
次に、ステップS603において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0141】
次に、ステップS604において、「一覧タイトルを表示するコード」をJSPファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“一覧”を付加したものとする。
【0142】
次に、ステップS605において、「物理仕様テーブル内の「ListType」の値が表示「0」となっている項目名を順次横並びに表示するコード」をJSPファイル内に生成する。
【0143】
次に、ステップS606において、「ステップS602でBeanより取得した全レコードに対してステップS607の処理を繰り返し行う(ループ)ためのコード」をJSPファイル内に生成する。
【0144】
次に、ステップS607において、「カレントのレコードの「ListType」の値が表示「0」となっている項目の項目データを順次横並びに表示するコード」をJSPファイル内に生成し、一覧表示JSP生成処理を終了する。
【0145】
図27は、本発明の第7の制御処理手順の一例を示すフローチャートであり、図24のステップS503に示した詳細表示JSP生成処理に対応する。なお、S701〜S705は各ステップを示す。
【0146】
まず、ステップS701において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0147】
次に、ステップS702において、「検索用Beanを参照して検索結果を取得するコード」をJSPファイル内に生成する。
【0148】
次に、ステップS703において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0149】
次に、ステップS704において、「詳細タイトルを表示するコード」をJSPファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル109の欄4のデータファイル名とする。
【0150】
次に、ステップS705において、「物理仕様テーブル内の「DetailType」の値が表示「0」となっている項目名とステップS702でBeanから参照した該当する項目データ(検索結果)を順次横並びに表示するコード」をJSPファイル内に生成し、詳細表示JSP生成処理を終了する。
【0151】
図28は、本発明の第8の制御処理手順の一例を示すフローチャートであり、図24のステップS504に示した更新JSP生成処理に対応する。なお、S801〜S806は各ステップを示す。
【0152】
まず、ステップS801において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0153】
次に、ステップS802において、「検索用Beanを参照して検索結果を取得するコード」をJSPファイル内に生成する。
【0154】
次に、ステップS803において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0155】
次に、ステップS804において、「詳細タイトルを表示するコード」をJSPファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル109の欄4のデータファイル名とする。
【0156】
次に、ステップS805において、「物理仕様テーブル内の「DetailType」の値が表示「0」となっている項目名と該項目データの入力エリア(初期値:S802でBeanから参照した該当する項目の検索結果)を順次縦並びに表示するコード」をJSPファイル内に生成する。
【0157】
次に、ステップS806において、「「更新」,「新規」,「削除」,「表示」,「取消」,「閉じる」ボタンを生成するコード」をJSPファイル内に生成し、更新JSP生成処理を終了する。なお、「取消」,「閉じる」ボタンを指示された場合の処理は、JSPファイル内に、Java(登録商標)Script等のスクリプト言語で記載しておくものとする。
【0158】
なお、入出力テーブル109の欄9に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをJava(登録商標)Script等のスクリプト言語にて制御するようにJSPファイル内に記載するものとする(サーブレットやBeanでも同様のロジックを実行させるようにしてもよい)。なお、この業務ロジックとは、項目の並び順「8」の受注数が「10」以上の値と規定されている場合等、「[8]>=10,0,1」とし、この判定結果が「0(真)」の場合は、並び順「8」の受注数の入力を受け付け、一方、「1(偽)」の場合は、エラーメッセージ等を表示し、受注数の入力を受け付けないようにJava(登録商標)Script等のスクリプト言語で記載するものである。
【0159】
図29は、本発明の第9の制御処理手順の一例を示すフローチャートであり、図24のステップS505に示した一覧更新JSP生成処理に対応する。なお、S901〜S908は各ステップを示す。
【0160】
まず、ステップS901において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0161】
次に、ステップS902において、「検索用Beanを用いてデータベース内の全レコードを取得するコード」をJSPファイル内に生成する。
【0162】
次に、ステップS903において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0163】
次に、ステップS904において、「一覧タイトルを表示するコード」をJSPファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“一覧”を付加したものとする。
【0164】
次に、ステップS905において、「物理仕様テーブル内の「ListType」の値が表示「0」となっている項目に対して「削除」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をJSPファイル内に生成する。
【0165】
次に、ステップS906において、「ステップS602でBeanより取得した全レコード数+業務仕様テーブル110内に設定された図示しない追加行数値(図10の907で入力)だけステップS907の処理を繰り返し行う(ループ)ためのコード」をJSPファイル内に生成する。
【0166】
次に、ステップS907において、「カレントのレコードの「ListType」の値が表示「0」となっている項目に対して、「削除」ボタンと該項目の項目データ入力エリアを初期値をBeanより取得した項目データ(S902の検索結果)として順次横並びに表示するコード」をJSPファイル内に生成する。なお、カレントレコードのデータが空の場合には「削除」ボタンの代わりに、文字列“追加”を表示するコードを生成するようにする。
【0167】
次に、ステップS908において、「「適用」ボタンを生成するコード」をJSPファイル内に生成し、一覧更新JSP生成処理を終了する。
【0168】
なお、入出力テーブル109の欄9に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをJava(登録商標)Scriptにて制御するようにJSPファイル内に記載するものとする。なお、この業務ロジックとは、受注数が「10」以上と規定されている場合等、「[8]>=10,0,1」のようにJava(登録商標)Script等のスクリプト言語で記載するものである。
【0169】
図30は、本発明の第10の制御処理手順の一例を示すフローチャートであり、図24のステップS506に示した検索一覧JSP生成処理に対応する。なお、S1001〜S1010は各ステップを示す。
【0170】
まず、ステップS1001において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0171】
次に、ステップS1002において、「検索用Beanを参照して検索結果を取得するコード」をJSPファイル内に生成する。
【0172】
次に、ステップS1003において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0173】
次に、ステップS1004において、「検索タイトルを表示するコード」をJSPファイル内に生成する。この検索タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“検索”を付加したものとする。
【0174】
次に、ステップS1005において、「物理仕様テーブル内の「DetailType」の値が表示「0」となっている項目名と該項目データの入力エリアを順次縦並びに表示するコード」をJSPファイル内に生成する。
【0175】
次に、ステップS1006において、「「取消」,「閉じる」,「検索」ボタンを生成するコード」をJSPファイル内に生成する。なお、「取消」,「閉じる」ボタンを指示された場合の処理は、JSPファイル内に、Java(登録商標)Script等のスクリプト言語で記載しておくものとする。
【0176】
また、入出力テーブル109の欄9に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをJava(登録商標)Scriptにて制御するようにJSPファイル内に記載するものとする(サーブレットやBeanでも同様のロジックを実行させるようにしてもよい)。なお、この業務ロジックとは、受注数が「10」以上と規定されている場合等、「[8]>=10,0,1」のようにJava(登録商標)Script等のスクリプト言語で記載する。
【0177】
次に、ステップS1007において、「一覧タイトルを表示するコード」をJSPファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“一覧”を付加したものとする。
【0178】
次に、ステップS1008において、「物理仕様テーブル内の「ListType」の値が表示「0」となっている項目名を順次横並びに表示するコード」をJSPファイル内に生成する。
【0179】
次に、ステップS1009において、「ステップS1002でBeanより取得した全レコードに対してステップS1010の処理を繰り返し行う(ループ)ためのコード」をJSPファイル内に生成する。
【0180】
次に、ステップS1010において、「カレントのレコードの「ListType」の値が表示「0」となっている項目の項目データを順次横並びに表示するコード」をJSPファイル内に生成し、検索一覧JSP生成処理を終了する。
【0181】
図31は、本発明の第11の制御処理手順の一例を示すフローチャートであり、図24のステップS507に示した一覧詳細JSP生成処理に対応する。なお、S1101〜S1112は各ステップを示す。
【0182】
まず、ステップS1101において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0183】
次に、ステップS1102において、「検索用Beanを用いてデータベース内の全レコードを取得するコード」をJSPファイル内に生成する。
【0184】
次に、ステップS1103において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0185】
次に、ステップS1104において、「一覧タイトルを表示するコード」をJSPファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“一覧”を付加したものとする。
【0186】
次に、ステップS1105において、「物理仕様テーブル内の「ListType」の値が表示「0」となっている項目に対して、「詳細」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をJSPファイル内に生成する。
【0187】
次に、ステップS1106において、「ステップS1102でBeanより取得した全レコードに対してステップS1107の処理を繰り返し行う(ループ)ためのコード」をJSPファイル内に生成する。
【0188】
次に、ステップS1107において、「カレントのレコードの「ListType」の値が表示「0」となっている項目に対して、「詳細」ボタンと該項目の項目データを順次横並びに表示するコード」をJSPファイル内に生成する。
【0189】
次に、ステップS1108において、詳細表示用のJSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名に文字列“Syousai”を付加して拡張子を“java(登録商標)”とする。
【0190】
次に、ステップS1109において、「検索用Beanを参照して検索結果を取得するコード」を詳細表示用JSPファイル内に生成する。
【0191】
次に、ステップS1110において、「詳細表示用のサーブレットを起動するコード」を詳細表示用JSPファイル内に生成する。
【0192】
次に、ステップS1111において、「詳細タイトルを表示するコード」をJSPファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル109の欄4のデータファイル名とする。
【0193】
次に、ステップS1112において、「物理仕様テーブル内の「DetailType」の値が表示「0」となっている項目名とJSPファイルから受け取ったレコードの該当する項目データ(検索結果)を順次縦並びに表示するコード」をJSPファイル内に生成し、一覧詳細JSP生成処理を終了する。
【0194】
図32は、本発明の第12の制御処理手順の一例を示すフローチャートであり、図24のステップS508に示した一覧詳細更新JSP生成処理に対応する。なお、S1201〜S1214は各ステップを示す。
【0195】
まず、ステップS1201において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0196】
次に、ステップS1202において、「検索用Beanを用いてデータベース内の全レコードを取得するコード」をJSPファイル内に生成する。
【0197】
次に、ステップS1203において、「対応するサーブレットを起動するコード」をJSPファイル内に生成する。
【0198】
次に、ステップS1204において、「一覧タイトルを表示するコード」をJSPファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル109の欄4のデータファイル名に文字列“一覧”を付加したものとする。
【0199】
次に、ステップS1205において、「物理仕様テーブル内の「ListType」の値が表示「0」となっている項目に対して、「詳細」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をJSPファイル内に生成する。
【0200】
次に、ステップS1206において、「ステップS1102でBeanより取得した全レコードに対してステップS1207の処理を繰り返し行う(ループ)ためのコード」をJSPファイル内に生成する。
【0201】
次に、ステップS1207において、「カレントのレコードの「ListType」の値が表示「0」となっている項目に対して、「詳細」ボタンと該項目の項目データを順次横並びに表示するコード」をJSPファイル内に生成する。なお、「詳細」ボタンが指示された場合に、後述するS1209で生成される詳細表示用のJSPファイルを呼び出すJava(登録商標)ScriptをJSPファイル内に記載する。
【0202】
次に、ステップS1208において、「「追加」ボタンを生成するコード」をJSPファイル内に生成する。
【0203】
次に、ステップS1209において、詳細検索用JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名に文字列“Syousaikensaku”を付加して拡張子を“java(登録商標)”とする。
【0204】
次に、ステップS1210において、「検索用Beanを参照して検索結果を取得するコード」を詳細検索用JSPファイル内に生成する。
【0205】
次に、ステップS1211において、「詳細検索用のサーブレットを起動するコード」を詳細検索用JSPファイル内に生成する。
【0206】
次に、ステップS1212において、「詳細検索タイトルを表示するコード」をJSPファイル内に生成する。この詳細検索タイトルは、例えば、入出力テーブル109の欄4のデータファイル名とする。
【0207】
次に、ステップS1213において、「物理仕様テーブル内の「DetailType」の値が表示「0」となっている項目名と該項目の項目データ(初期値:S1210で参照した検索結果)を順次縦並びに表示するコード」を詳細検索用JSPファイル内に生成する。
【0208】
次に、ステップS1214において、「「更新」,「新規」,「削除」,「表示」,「取消」,「閉じる」ボタンを生成するコード」をJSPファイル内に生成し、一覧詳細更新JSP生成処理を終了する。なお、「取消」,「閉じる」ボタンを指示された場合の処理は、JSPフファイル内に、Java(登録商標)Script等のスクリプト言語で記載しておくものとする。
【0209】
なお、入出力テーブル109の欄9に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをJava(登録商標)Scriptにて制御するようにJSPファイル内に記載するものとする(サーブレットやBeanでも同様のロジックを実行させるようにしてもよい)。なお、この業務ロジックとは、受注数が「10」以上と規定されている場合等、「[8]>=10,0,1」のようにJava(登録商標)Script等のスクリプト言語で記載するものである。
【0210】
以上示したように、コード生成部107は、入出力テーブル,物理仕様テーブル,業務パターン選択情報から、各データファイル項目の入出力を制御するJSP(内部にJava(登録商標)Script等のスクリプト言語も含む)とServlet、そして各データファイル項目のデータベースへのアクセスを制御するBeanを生成する。
【0211】
これにより、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置104に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【0212】
このように、本発明のプログラム生成装置によって、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Java(登録商標)の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【0213】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする。
【0214】
〔第2実施形態〕
本実施形態では、業務パターンで「一覧詳細更新」が選択された場合であって、且つ、入出力テーブル内に親子関係を有する2つのデータファイルを定義されていた場合、テーブルの親子関係、全てについて、連続的に一覧詳細表示処理が行えるようにJSPコードを生成するように構成する。以下、その実施形態について説明する。
【0215】
図33は、本発明における親子関係を有するデータ入出力テーブルの一例を示す模式図である。
【0216】
図33に示すように、このデータ入出力テーブルには、データファイル名「受注管理」のデータファイル3301と、データファイル名「受注明細」のデータファイル3302が定義されている。
【0217】
3303に示すように、データファイル3302の項目「受注番号」のキー種別には、当該項目が親子関係の子供であること示す「P」が指定されている。また、3304,3305に示すように、親の対象データファイル番号がデータファイル3301のデータファイル番号,親の対象データファイル項目番号がデータ項目3306に指定されている。
【0218】
なお、実際の業務仕様の入力の際は、図4に示した業務情報入力画面において、1行目にデータファイル名「受注管理」を入力し、2行目にデータファイル名「受注明細」を入力し、各データファイルに対して、図5に示した項目入力画面にて各項目を入力する。そして、データファイル「受注明細」のデータ項目「受注番号」に関してはキー機能指定エリア504で親子関係の子供であること示す「P」を指定し、参照先ファイル番号入力エリア507,参照先データ項目番号入力エリア508で、親の対象データファイル番号に「ZyutychKanri」,「DenpyoNo」を指定する。これにより、図33に示した親子関係を有する入出力テーブルを生成することができる。
【0219】
コード生成部107は、この図33に示す入出力テーブルからコード生成を行うとき、業務パターンで「一覧詳細更新」パターンを選択されている場合には、図34に示すようにテーブルの親子関係全てについて連続的に一覧詳細表示処理が行えるようにJSPコードが生成される。
【0220】
図34は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0221】
図34に示す一覧詳細更新画面(親子関係有り)は、「受注管理」の一覧表示ウィンドウ3401と、「受注管理」の詳細検索+「受注明細」の一覧を備えたウィンドウ3402と、「受注明細」の詳細検索ウィンドウ3403の3つのウィンドウから構成される。
【0222】
そして、「受注管理」の一覧表示ウィンドウ3401にて、「詳細」ボタン3404又は「追加」ボタン3405を指示することにより、「受注管理」の詳細検索+「受注明細」の一覧を備えたウィンドウ3402がポップアップ表示される。
【0223】
そして、「受注管理」の詳細検索+「受注明細」の一覧を備えたウィンドウ3402にて、「詳細」ボタン3406又は「追加」ボタン3407を指示することにより、「受注明細」の詳細検索ウィンドウ3403がポップアップ表示される。
【0224】
なお、親子関係は2つのデータファイル間のみでなく、順次何世代でも定義可能であり、親子関係が続く限り、順次つぎのウィンドウを生成するようにコード生成される。
【0225】
図35は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合のJSPファイル生成を模式的に示す模式図である。
【0226】
図35に示すように、入出力テーブル109内の親データファイル3501より、親データファイル一覧表示画面のための表示コード3503を含むJSPファイル(JSP1)が生成される。
【0227】
また、親データファイル3501より親データファイル詳細検索画面の表示のための表示コード3504と、子データファイル3502より子データファイル一覧表示のための表示コード3505を含むJSPファイル(JSP2)が生成される。
【0228】
さらに、子データファイル3502より子データファイル詳細検索表示のための表示コード3506を含むJSPファイル(JSP3)が生成される。
【0229】
図36は、本発明の第13の制御処理手順の一例を示すフローチャートであり、一覧詳細更新(親子関係有り)JSP生成処理に対応する。なお、S1301〜S1309は各ステップを示す。また、このフローチャートの処理は、図1に示した仕様解析部106で入出力ファイル109内に親子関係があると判断した場合に、図32に示した一覧詳細更新JSP生成処理の代わりに、図24のステップS508でコールされるものとする。
【0230】
まず、ステップS1301において、入出力テーブルのKey項目を取得し、ステップS1302において、Keyの内容が「P」でるか否かを判定し、「P」であると判断した場合には、当該データファイルは親子関係の子ファイルであると判断して、ステップS1303に進み、入出力テーブルの参照先データファイル番号と参照先データ項目番号を取得する。そして、ステップS1304において、データファイルの親子関係を確立させて該親子関係情報をメモリ上に記憶し、ステップS1305に進む。
【0231】
一方、ステップS1302において、Keyの内容が「P」でないと判断した場合には、ステップS1305に進む。
【0232】
そして、ステップS1305において、全項目についてステップS1301〜1304の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1301に戻り、次の項目のKey値を取得する。一方、全項目について終了したと判断した場合には、ステップS1306に進む。
【0233】
次に、ステップS1306において、ステップS1304で確立した親子関係に基づいて、親データファイルの一覧表示JSP生成処理を行う。この処理により、アプリケーション名をファイル名とし拡張子を“jsp”とするJSPファイルが生成される。なお、ここでは詳細は省略する。
【0234】
次に、ステップS1307において、ステップS1304で確立した親子関係に基づいて、親データファイルの詳細検索及び子データファイルの一覧表示JSP生成処理を行う。この処理により、アプリケーション名派生番号(2番目に生成されるJSPファイルなら「2」)を付加したファイル名とし拡張子を“jsp”とするJSPファイルが生成される。なお、ここでは詳細は省略する。
【0235】
そして、ステップS1308において、ステップS1304で確立した親子関係に基づいて、子データファイルの詳細検索JSP生成処理を行う。この処理により、アプリケーション名に派生番号(3番目に生成されるJSPファイルなら「3」)を付加してファイル名とし拡張子を“jsp”とするJSPファイルが生成される。なお、ここでは詳細は省略する。
【0236】
次に、ステップS1309において、ステップS1304で確立した親子関係が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1306に戻り、親子関係が続く限り繰り返す。一方、親子関係が終了したと判断した場合には、そのまま一覧詳細更新JSP生成処理を終了する。
【0237】
なお、業務パターン選択情報が「一覧詳細更新」が選択され入出力ファイルに親子関係が有る場合、図34に示した「受注管理」の一覧表示ウィンドウ3401と、「受注管理」の詳細検索+「受注明細」の一覧を備えたウィンドウ3402と、「受注明細」の詳細検索ウィンドウ3403の3つのウィンドウにそれぞれサーブレット(「受注管理」の一覧表示ウィンドウ用のサーブレット,「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ用のサーブレット,「受注明細」の詳細検索ウィンドウ用のサーブレット)を生成するものとする。
【0238】
そして、「受注管理」の一覧表示ウィンドウ用のサーブレットには、「受注管理」の一覧表示ウィンドウ3401上で「詳細」ボタン3404,「追加」ボタン3405が指示されたことを示す入力情報を取得した場合に、(「詳細」ボタン3404が指示された場合は検索用Beanを呼び出して対応するレコードの情報を検索させ、)「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。これにより、「受注管理」の一覧表示ウィンドウ3401上で「詳細」ボタン3404又は「追加」ボタン3405を指示すると、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ3402がポップアップされ、特に「詳細」ボタン3404が指示された場合は該当するレコードの詳細情報が「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ3402に表示されるようになる。
【0239】
さらに、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ用のサーブレットは、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ3402上での「更新」,「新規」,「削除」,「表示」ボタンが指示が入力されたことに応じて、更新用Bean,追加用Bean,削除用Bean,検索用Beanをそれぞれ呼び出して実行させ、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。
【0240】
また、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ用のサーブレットは、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ3402上で「詳細」ボタン3406,「追加」ボタン3407が指示されたことを示す入力情報を取得した場合に、(「詳細」ボタン3406が指示された場合は検索用Beanを呼び出して対応するレコードの情報を検索させ、)「受注明細」の詳細検索ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。これにより、「受注管理」の詳細検索+「受注明細」の一覧表示ウィンドウ3402上で「詳細」ボタン3406又は「追加」ボタン3407を指示すると、「受注明細」の詳細検索ウィンドウ3403がポップアップされ、特に「詳細」ボタン3406が指示された場合は該当するレコードの詳細情報が「受注明細」の詳細検索ウィンドウ3403に表示されるようになる。
【0241】
さらに、「受注明細」の詳細検索ウィンドウ用のサーブレットは、「受注明細」の詳細検索ウィンドウ3403上での「更新」,「新規」,「削除」,「表示」ボタンが指示されたことを示す入力情報を取得したことに応じて、更新用Bean,追加用Bean,削除用Bean,検索用Beanをそれぞれ呼び出して実行させ、「受注明細」の詳細検索ウィンドウ用のJSPを呼び出すためのコードを記載しておくものとする。
【0242】
〔第3実施形態〕
本実施形態では、タグ画面を表示するプログラムの生成方法について、図37〜図41を用いて説明する。
【0243】
タグ機能は、クライアントに依存した処理であるため、本来、HTMLには、タグ表示の命令はない。タグ機能を用いなかった場合、図37に示すように、全てのパネル画面3701〜3703をウィンドウに順次配置することになり、操作性、可読性の点で問題がある。
【0244】
本実施形態では、HTMLのiframe(インラインフレーム)を利用して、タグと同等の機能を実現する。
【0245】
図38は、本発明におけるタグ機能を有するデータ入出力テーブルの一例を示す模式図である。
【0246】
図38に示すように、このデータ入出力テーブルには、データファイル番号「Button」のデータファイル3801と、データファイル3801の各データ項目に対応付けられたデータファイル番号「Table01」,「Table02」,「Table03」のデータファイル3802,3803,3804が定義されている。なお、データファイル番号「Button」は、タグ生成のための予約語である。
【0247】
図39は、本発明においてタグ機能を有する場合の物理仕様テーブルの一例を示す模式図である。
【0248】
図39において、3901はデータファイル番号が「Button」でデータファイル項目番号が「Panel01」の高さ情報(物理仕様入力画面内の図示しない高さ情報入力欄にて入力される)に対応する物理仕様テーブルのレコードであり、ここでは「100%」と設定されている。
【0249】
3902はデータファイル番号が「Button」でデータファイル項目番号が「Panel01」の幅情報(物理仕様入力画面内の図示しない幅情報入力欄にて入力される)に対応する物理仕様テーブルのレコードであり、ここでは「80%」と設定されている。
【0250】
3903,3904はデータファイル番号が「Button」でデータファイル項目番号が「Panel02」,「Panel03」の高さ情報に対応する物理仕様テーブルのレコードであり、ここでは「T」と設定されている。このように、高さ情報が「T」に設定されることにより、「Table01」,「Table02」,「Table03」はタグ表示され、「Table01」が第1面,「Table02」,「Table03」が第2画面以降のパネル画面として設定されていることが分かる。なお、PanelHの値が「T」の場合は、PanelWの設定は省略される。
【0251】
図40は、本発明のプログラム生成装置においてタグ機能を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0252】
図40に示す表示画面には、パネル1〜3に対応するタグ4001〜4003がそれぞれ設けられている。
【0253】
(a)は初期状態で、パネル1が表示されている。
【0254】
(b)はタグ4002が指示された状態で、パネル2が表示されている。
【0255】
(c)はタグ4003が指示された状態で、パネル3が表示されている。
【0256】
なお、(b),(c)の状態で、タグ4001が指示されると、(a)の状態に移行し、パネル1が表示される。
【0257】
図41は、本発明の第14の制御処理手順の一例を示すフローチャートであり、JSP生成(タグ有り)処理に対応する。なお、S1401〜S1411は各ステップを示す。また、このフローチャートの処理は、図1に示した仕様解析部106で入出力ファイル109内にタグがあると判断した場合に、図24に示したJSP生成処理の代わりに、図21のステップS204でコールされるものとする。
【0258】
まず、ステップS1401において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名とし拡張子を“java(登録商標)”とする。
【0259】
次に、ステップS1402において、入出力テーブルのデータファイル番号を取得し、ステップS1403において、データファイル番号が、タグ生成のための予約語「Button」でるか否かを判定し、「Button」であると判断した場合には、当該データ項目はタグ画面であると判断して、ステップS1404に進み、当該データ項目の式欄のデータファイル番号(パネルテーブル)を取得する。そして、ステップS1405において、「該当するデータファイル番号のパネル画面およびタグボタンを生成するコード」をJSPファイル内に生成する。なお、この式欄の値(データファイル番号)をiframe(パネル)におけるURLとし、生成したタグボタンに対応付けておく。例えば、図38に示したデータファイル3801の第1番目の項目「Panel01」であれば、式欄には「Table01」が格納されており、「Table01」をデータファイル番号とするデータファイル項目名「項目1−1」,「項目1−2」,「項目1−3」で構成するパネル画面と「Panel01」に相当するタグボタンを生成し、「Panel01」に相当するタグボタンにパネル画面のURLである「Table01」をリンクするコードを生成する。また、ここでは詳細は記載しないが、図24〜図32に示したように、パネル画面は業務パターン選択情報に基づく画面となるようにする。
【0260】
一方、ステップS1403で、データファイル番号の内容が「Button」でないと判断した場合には、ステップS1406に進む。
【0261】
そして、ステップS1406において、全項目についてステップS1402〜1405の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1402に戻り、次の項目のデータファイル番号を取得する。一方、全項目について終了したと判断した場合には、ステップS1407に進む。
【0262】
次に、ステップS1407において、パネル画面に対応した物理仕様テーブルから高さ情報と幅情報を取得する。
【0263】
次に、ステップS1408において、高さ情報が「T」であるか否かを判定し、「T」でないと判断した場合には、ステップS1409において、「該当するタグ画面を高さ情報と幅情報とに基づいて第1面として表示するコード」をJSPファイル内に生成する。
【0264】
一方、ステップS1408で、高さ情報が「T」であると判断した場合には、ステップS1410において、「該当するタグ画面を第2面として表示するコード」をJSPファイル内に生成する。
【0265】
そして、ステップS1411において、全パネルテーブルについてステップS1407〜1410の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1407に戻り、次のパネルテーブルに関連した物理仕様テーブルから高さ情報と幅情報を取得する。一方、全パネルテーブルについて終了したと判断した場合には、JSP生成(タグ有り)処理を終了する。
【0266】
以上の処理により、タグ画面を生成するコードを生成することができる。
【0267】
〔第4実施形態〕
本実施形態では、コンボボックス配置画面を表示するプログラムの生成方法について、図42〜図44を用いて説明する。
【0268】
図42は、本発明におけるコンボボックスを配置したデータ入出力テーブルの一例を示す模式図である。
【0269】
図42に示すように、このデータ入出力テーブルには、データファイル名「受注管理」のデータファイル4201と、データファイル名「製品マスタ」のデータファイル4202と、データファイル名「顧客マスタ」のデータファイル4203とが定義されている。
【0270】
4204に示すように、データファイル4201の項目「顧客コード」のキー種別には、当該項目が参照関係の参照元(即ち、コンボボックス)であること示す「R」が指定されており、4205,4206に示すように、参照先データファイル番号がデータファイル4203,参照先データファイル項目番号がデータ項目4211に指定されている。
【0271】
4207に示すように、データファイル4202の項目「製品コード」のキー種別には、当該項目が参照関係の参照元(即ち、コンボボックス)であること示す「R」が指定されており、4208,4209に示すように、参照先データファイル番号がデータファイル4202,参照先データファイル項目番号がデータ項目4210に指定されている。
【0272】
図43は、本発明のプログラム生成装置においてコンボボックス配置画面を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【0273】
図43に示す表示画面には、コンボボックス4301,4302が設けられている。
【0274】
コンボボックス4301は、「顧客マスタ」に登録された「顧客コード」をコンボボックスリストとし、該リストより顧客コードを選択することができる。また、コンボボックス4302では、「製品マスタ」に登録された「製品コード」をコンボボックスリストとし、該リストより顧客コードを選択することができる。
【0275】
図44は、本発明の第15の制御処理手順の一例を示すフローチャートであり、コンボボックス生成処理に対応する。なお、S1501〜S1507は各ステップを示す。また、このフローチャートの処理は、図1に示した仕様解析部106で入出力ファイル109内にコンボボックスがあると判断した場合に、図24に示したJSP生成処理においてステップS501実行前にコールされるものとする。
【0276】
まず、ステップS1501において、入出力テーブルのKey項目を取得し、ステップS1502において、Keyの内容が「R」でるか否かを判定し、「R」であると判断した場合には、当該データ項目は参照関係のデータファイルが存在すると判断して、ステップS1503において、参照先データファイル番号と参照先データ項目番号を取得し、ステップS1504において、データファイルの参照関係が確立して該参照関係情報をメモリ上に記憶する。
【0277】
一方、ステップS1502で、Keyの内容が「R」でないと判断した場合には、当該データ項目は参照関係のデータファイルが存在しないと判断して、ステップS1505に進む。
【0278】
そして、ステップS1505において、全項目についてステップS1501〜1504の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1501に戻り、次の項目のKey値を取得する。一方、全項目について終了したと判断した場合には、ステップS1506に進む。
【0279】
次に、ステップS1506において、参照関係の確立しているデータ項目について、参照元データ項目をコンボボックスの対象項目とし、「該参照先データファイルに対応する検索用Beanを用いて対応するデータベースから、参照先データファイルの参照先データ項目の全データを取得して、該取得データをコンボボックスの選択リストの要素とするコンボボックスを生成するコード」をメモリ上に生成する。なお、参照先のデータファイルに対応するウェブアプリケーション(少なくとも、検索用Bean,データベース等)は予め生成しておくものとする。
【0280】
そして、ステップS1507において、全ての参照関係についてステップS1506の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップS1506に戻り、次の参照関係に対する「コンボボックス生成コード」を生成する。一方、全参照関係について終了したと判断した場合には、コンボボックス生成処理を終了し、図24のステップS501に進む。
【0281】
そして、ステップS502〜S508内の各JSP生成処理において、参照元の項目の「入力エリアを表示するコード」の生成時に、上述のステップS1506で生成記憶したコンボボックスを表示するコード」をJSPファイル内に出力するようにする。
【0282】
これにより、「コンボボックスを生成するコード」をJSPファイル内に生成することができる。
【0283】
〔第5実施形態〕
上記第1実施形態では、ユーザによる業務仕様,物理仕様の入力及び業務パターンの選択後にコード生成部107がコード生成を行う構成について説明したが、ユーザにより業務仕様の入力後に、入力された業務仕様及びデフォルトの物理仕様,デフォルトの業務パターン選択情報に基づいて、コード生成部107が表示画面のみコード生成を行うように構成してもよい。これにより、ユーザは、生成されたコードに基づく表示画面をプレビューにより確認して、物理仕様の入力及び業務パターンの選択を行うことが可能となる。以下、その実施形態について説明する。
【0284】
図45は、本発明の第5実施形態におけるウェブアプリケーション開発方法を模式的に説明するための模式図である。
【0285】
図45に示すように、本実施形態では、ユーザにより入力される業務仕様から生成された入出力テーブル2701と、予め用意されたデフォルト物理仕様テーブル2702,デフォルト業務パターン選択情報2703とのマッチグにより、コード生成部107が、ソースコード(表示部分のみ)のスケルトン(雛型)2704を生成する。
【0286】
そして、スケルトン2704の内容確認後、ユーザが物理仕様の入力と業務パターンの選択を行うと、コード生成部107は、入力された物理仕様(物理仕様テーブル2705)と選択された業務パターン(業務パターン選択情報2706)とから、ウェbアプリケーションプログラム2707を生成する。
【0287】
なお、物理仕様の入力と業務パターンによる業務の選択後にコード生成部107が行うコード生成は、入力された業務仕様(入出力テーブル2701)から生成されたソースコードの選別を行うとともに、JSP,サーブレット,Beanなどのコンポーネントを組み込む処理も行う。
【0288】
図46は、本発明の第5実施形態における物理仕様入力画面の一例を示す模式図であり、物理仕様記述部117により起動される。
【0289】
図46に示すように、本実施形態の物理仕様入力画面は、入力部4601とプレビュー部4602から構成されている。
【0290】
入力部4601は、物理仕様の入力及び業務仕様(画面タイプ)の選択を行うためのものであり、プレビュー部4602は、コード生成部107により生成される表示画面のプレビュー表示を行うためのものであり、物理仕様入力画面起動時には、ユーザにより入力された業務仕様(入出力テーブル2701)とデフォルト物理仕様(デフォルト物理仕様テーブル2702)とデフォルト業務パターン選択情報2703とから、コード生成部107により生成された表示画面がプレビュー表示される。
【0291】
そして、入力部4601において物理仕様の入力及び業務仕様(画面タイプ)の選択を行った後、「適用」ボタン4603等を指示することにより、コード生成部107により新たに表示画面のコード生成が行われ、プレビュー部4602に表示されるものとする。
【0292】
これにより、ユーザは、生成される表示画面を確認しながら物理仕様の入力や業務パターンを選択することができる。
【0293】
なお、上記各実施形態では、プログラム生成装置とウェブアプリケーションを実行するアプリケーションサーバを実装したサーバ装置とが同一である場合について説明したが、プログラム生成装置とアプリケーションサーバを実装したサーバ装置とが異なる装置とするように構成してもよい。この場合、プログラム生成装置に対して、アプリケーションサーバを実装したサーバ装置を指定しておく(生成モードでの実行時にユーザにより入力、又は予めユーザにより入力しておき外部記憶装置104上に記憶しておく)。そして、プログラム生成装置は、該指定情報を読み出して、該指定されたサーバ装置の記憶装置上に、生成したコードの記憶やデータベースの構築を行うものとする。
【0294】
さらに、アプリケーションサーバを実装したサーバ装置とデータベースを構築するサーバ装置とが異なる装置であるように構成してもよい。
【0295】
この場合、ユーザは、プログラム生成装置に、アプリケーションサーバを実装したサーバ装置とデータベースを構築するサーバ装置とをそれぞれ指定する(生成モードでの実行時にユーザにより入力、又は予めユーザにより入力しておき外部記憶装置104上に記憶しておく)。そして、プログラム生成装置は、該指定情報を読み出して、該指定されたデータベースを構築するサーバ装置の記憶装置上へのデータベースの構築(データベースを構築するサーバ装置にデータベースをクリエイトする指示を出す)と、該データベースへのアクセスを制御するBeanコード114(この場合はEJB(Enterprise Java(登録商標) Beans))を生成する。また、プログラム生成装置は、指定されたアプリケーションサーバが実装されるサーバ装置の記憶装置上にJSPコード112,サーブレット(Servlet)コード113を生成するものとする。
【0296】
さらに、上記各実施形態では、ウェブアプリケーションサーバ上で動作するウェブアプリケーションプログラムを生成するプログラム生成装置について説明したが、ミドルウェアとしてウェブアプリケーションサーバの代わりに、ノーツ(商品名)・アプリケーションサーバやドミノ(商品名)・アプリケーションサーバ等のグループウェアを利用したアプリケーションを生成するように構成してもよい。
【0297】
この場合、サーブレットの代わりに、エージェントと呼ばれるJava(登録商標)で作成されたプログラムをプログラム生成装置で生成し、グループウェアのアプリケーションサーバに配置するものとする。また、JSPにより表示していた入出力画面は、フォームと呼ばれるコンテンツとして、プログラム生成装置で生成して、グループウェアのデータベースに登録しておく。また、Beanは上記実施形態と同一のものを使用可能である。
【0298】
また、本発明のプログラム生成装置が生成するアプリケーションは、PDA(携帯情報端末)や携帯電話といった携帯端末をクライアントとするアプリケーションとしてもよい。
【0299】
そして、クライアントとの間のプロトコルもHTTPのみではなく、WAP(Wireless Application Protocol)等とし、JSPにより生成されるコードも、HTMLに限られるものではなく、XML,WML等のその他の構造化言語とするような、プログラムを、本発明のプログラム生成装置が生成するように構成してもよい。
【0300】
また、入出力画面に、グラフ表示エリア等を有する業務パターンを設け、データベース内のデータをグラフ表示させるように構成してもよい。その場合、グラフの種類(折れ線グラフ,棒グラフ,円グラフ等)を選択可能としてもよい。また、グラフの生成処理は、サーブレット又はグラフ作成用のBeanを生成し、該Beanに行わせるよう構成してもよい。
【0301】
さらに、各種統計処理を行わせる機能を有する業務パターンを設け、データベース内のデータの統計処理結果を表示させるように構成してもよい。その場合、統計処理の種類を選択可能としてもよい。また、各種統計処理は、サーブレット又は各統計処理用のBeanを生成し、該Beanに行わせるよう構成してもよい。
【0302】
また、上記各実施形態では、プログラム生成装置が、データベースへのアクセスを行うためのBean,各データ項目の入出力画面を選択された画面パターンで表示するためのJSP、入出力画面からの入力情報を取得して該入力情報に基づいてBean,JSPの実行を制御してアプリケーション全体を統括制御するサーブレットから構成されるウェブアプリケーションを生成する場合について説明したが、上記Bean,JSPの機能をも含んだサーブレットのみ、上記Beanの機能を含んだサーブレットとJSPのみ、又は、上記JSPの機能を含んだサーブレットとBeanのみ、から構成されるウェブアプリケーションを生成するように構成してもよいことはいうまでもない。
【0303】
なお、上記各実施形態のいずれか複数を組み合わせた構成も全て本発明に含まれるものである。
【0304】
以上より、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置104に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【0305】
このように、本発明のプログラム生成装置によって、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Java(登録商標)の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【0306】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする。
【0307】
以下、図47に示すメモリマップを参照して本発明に係るプログラム生成装置で読み出し可能なデータ処理プログラムの構成について説明する。
【0308】
図47は、本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【0309】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0310】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0311】
本実施形態における図3,図21〜図24,図26〜図32,図36,図41,図44に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0312】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0313】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0314】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0315】
プログラムを供給するための記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0316】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0317】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0318】
また、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0319】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0320】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0321】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0322】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0323】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0324】
【発明の効果】
以上説明したように、本発明によれば、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段に記憶させ、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段に記憶させ、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段に記憶させ、第1〜第3の前記記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第1のプログラムの生成,前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成をそれぞれ行い、第4の記憶手段に記憶させるので、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【0325】
また、このように、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Java(登録商標)の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【0326】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする等の効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すプログラム生成装置の構成を示すブロック図である。
【図2】図1に示したコード生成部によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【図3】本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートである。
【図4】本発明のプログラム生成装置における業務仕様入力画面の一例を示す模式図である。
【図5】本発明のプログラム生成装置における項目入力画面の一例を示す模式図である。
【図6】本発明のプログラム生成装置における入出力テーブルのテーブル構成の一例を示す模式図である。
【図7】本発明のプログラム生成装置において生成されるウェブアプリケーションにおける表示画面の一例を示す模式図である。
【図8】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図9】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図10】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図11】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図12】本発明のプログラム生成装置における物理仕様テーブルのテーブル構成の一例を示す模式図である。
【図13】本発明のプログラム生成装置における業務パターンとして「一覧表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図14】本発明のプログラム生成装置における業務パターンとして「詳細表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図15】本発明のプログラム生成装置における業務パターンとして「更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図16】本発明のプログラム生成装置における業務パターンとして「一覧更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図17】本発明のプログラム生成装置における業務パターンとして「検索一覧」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図18】本発明のプログラム生成装置における業務パターンとして「一覧詳細」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図19】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図20】選択される業務パターンにより生成されるウェブアプリケーションプログラムの実行時に表示される画面の内容を示す図である。
【図21】本発明の第2の制御処理手順の一例を示すフローチャートである。
【図22】本発明の第3の制御処理手順の一例を示すフローチャートである。
【図23】本発明の第4の制御処理手順の一例を示すフローチャートである。
【図24】本発明の第5の制御処理手順の一例を示すフローチャートである。
【図25】本発明におけるJSPファイル生成を模式的に示す模式図である。
【図26】本発明の第6の制御処理手順の一例を示すフローチャートである。
【図27】本発明の第7の制御処理手順の一例を示すフローチャートである。
【図28】本発明の第8の制御処理手順の一例を示すフローチャートである。
【図29】本発明の第9の制御処理手順の一例を示すフローチャートである。
【図30】本発明の第10の制御処理手順の一例を示すフローチャートである。
【図31】本発明の第11の制御処理手順の一例を示すフローチャートである。
【図32】本発明の第12の制御処理手順の一例を示すフローチャートである。
【図33】本発明における親子関係を有するデータ入出力テーブルの一例を示す模式図である。
【図34】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図35】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合のJSPファイル生成を模式的に示す模式図である。
【図36】本発明の第13の制御処理手順の一例を示すフローチャートである。
【図37】タグ機能を使用することなく生成されたウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図38】本発明におけるタグ機能を有するデータ入出力テーブルの一例を示す模式図である。
【図39】本発明においてタグ機能を有する場合の物理仕様テーブルの一例を示す模式図である。
【図40】本発明のプログラム生成装置においてタグ機能を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図41】本発明の第14の制御処理手順の一例を示すフローチャートである。
【図42】本発明におけるコンボボックスを配置したデータ入出力テーブルの一例を示す模式図である。
【図43】本発明のプログラム生成装置においてコンボボックス配置画面を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図44】本発明の第15の制御処理手順の一例を示すフローチャートである。
【図45】本発明の第5実施形態におけるウェブアプリケーション開発方法を模式的に説明するための模式図である。
【図46】本発明の第5実施形態における物理仕様入力画面の一例を示す模式図である。
【図47】本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【符号の説明】
101 入力装置
102 表示装置
103 処理装置(CPU,RAM,ROM)
104 外部記憶装置(ハードディスク)
105 画面制御部
116 業務仕様記述部
117 物理仕様記述部
106 仕様解析部
107 コード生成部
108 全体制御部
109 入出力テーブル
110 物理仕様テーブル
111 業務パターン選択情報
112 JSPコード
113 Servletコード
114 Beanコード
115 データベース[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a servlet, JSP (Java (registered trademark) Server Pages), Bean, and Java (registered trademark) Script in a web application system, particularly a web application system using server-side Java (registered trademark) technology. The present invention relates to a program generation device, a program generation method, a program, and a recording medium for design and development support of a computer.
[0002]
[Prior art]
Conventionally, in the configuration of a web application system using a servlet, JSP, and Bean, the Bean accesses a database, performs business processing, and has a role of retaining the information. And development required more knowledge and experience of Java (registered trademark) than development of servlets and JSPs.
[0003]
In addition, in the conventional development method, since a process that responds to a request is performed by a servlet or JSP and a program that generates a screen according to the result is described, it is difficult to grasp the process as the system becomes larger and more complex. As a result, the burden of development and maintenance work increased.
[0004]
To solve this problem, Japanese Patent Application Laid-Open No. 2001-344105 describes a method capable of simplifying and reducing development work.
[0005]
This has a correspondence table generation unit that defines each component of servlet, JSP, and Bean in a one-to-one relationship corresponding to each screen, and generates a definition of each component from the screen design as a correspondence table. The servlet, JSP, and Bean codes are automatically generated using the information of the correspondence table and the design document, thereby reducing development work.
[0006]
[Patent Document 1]
JP 2001-344105A
[0007]
[Problems to be solved by the invention]
However, in the above-described code generation method, the generated code is merely a component name, a variable, a method definition, and a calling relation between components, and no consideration is given to business logic. In other words, for the business logic, which is the main work of the development work when developing a web application system from the business specification, each designer must perform its own design development work, and It is difficult to achieve this. Therefore, there is a problem that the development work depends on the skill of each person in charge.
[0008]
Further, in the application development method described above, the description of the processing inherent in the application (that is, the business processing) and the description of the processing unique to the platform are mixed in the application to be developed, so that the maintainability of the application is poor. There was a problem. For example, when a change is made to a business specification, a screen, or the like, the business process has to be embedded again in the code generated by the code generation method as described above.
[0009]
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to input business specification information including a definition of a plurality of data items and a relationship between the data items, and to change the input result. And inputting physical specification information indicating a display attribute of an input / output screen for inputting / outputting each data item defined in the business specification information, and storing the input result in the second storage means. Selecting one of a plurality of business patterns defining a combination of a screen pattern of the input / output screen and a process associated with the screen pattern, storing the selection result in a third storage unit, Each of the business specification information, the physical specification information, and the selection result of the business pattern is read from the first to third storage units, and each data defined in the business specification information is read based on the read information. A database corresponding to the eyes, generation of a first program for accessing the database, an input / output screen of each data item defined by the business specification information is defined by the selected business pattern. Generating a second program for displaying the screen pattern and the display attribute specified by the physical specification information, and acquiring the input information from the input / output screen, and executing the first program based on the input information. And generating a third program for controlling the execution of the second program, and storing the generated third program in the fourth storage means, thereby facilitating the development of the web application, and the burden on the design developer. Generation method, program generation method, and program generation method capable of reducing the number of processes and increasing the speed of design development To provide a gram and a recording medium.
[0010]
[Means for Solving the Problems]
According to a first aspect of the present invention, in a program generating apparatus for generating a web application program, business specification information including a definition of a plurality of data items and a relationship between the data items is input, and the input result is set to a first type. A first input unit (a business specification input screen shown in FIGS. 4 and 5) to be stored in a storage unit (the input / output table 109 in the external storage device 104 shown in FIG. 1) and each of the business units defined in the business specification information Physical specification information indicating a display attribute of an input / output screen for inputting / outputting a data item is input, and the input result is stored in a second storage unit (a physical specification table 110 in the external storage device 104 shown in FIG. 1). A second input means (physical specification input screen shown in FIGS. 8 to 11 and FIG. 46), a screen pattern of the input / output screen, and a combination of processes associated with the screen pattern are defined. Selection means (screen type designation area 712 shown in FIG. 8, FIG. 10) for selecting any one of a plurality of business patterns and storing the selection result in a third storage means (external storage device 104 shown in FIG. 1) And the business specification information, the physical specification information, and the selection result of the business pattern from the first to third storage means, and based on the read information, the business Construction of a database (
[0011]
In a second aspect of the present invention, the first input means groups the plurality of data items and can input business specification information (input / output table shown in FIG. 33) defining a parent-child relationship between the groups. Wherein the generating means generates the second program as a program for displaying an input / output screen corresponding to each of the groups in a screen transition display according to the parent-child relationship (a flowchart shown in FIG. 36). I do.
[0012]
According to a third aspect of the present invention, the first input means groups the plurality of data items and defines business input / output screens corresponding to each group in a tag screen relation (FIG. An input / output table shown in FIG. 38 can be input, and the generating means generates the second program as a program for displaying each input / output screen corresponding to each group as a tag screen (see FIG. 41). Flowchart).
[0013]
According to a fourth aspect of the present invention, the first input means can input business specification information (an input / output table shown in FIG. 42) defining that a certain data item has a relationship of referring to another data item. Wherein the generation unit arranges the data of the data item to be referred to as a selection list in the input column of the data item to be the reference source of the input / output screen corresponding to the business specification information. It is generated as a program (the flowchart shown in FIG. 44).
[0014]
A fifth invention of the present invention is characterized in that the processing associated with the screen pattern of the input / output screen includes a search processing, an update processing, an addition processing, and a deletion processing of the item data in the database.
[0015]
According to a sixth aspect of the present invention, in a program generation method in a program generation device for generating a web application program, business specification information including definitions of a plurality of data items and a relationship between the data items is input. Input step (step S103 in FIG. 3) for storing the data items defined in the business specification information, and physical specifications indicating display attributes of an input / output screen for inputting and outputting each data item defined in the business specification information. A combination of a second input step (step S104 in FIG. 3) for inputting information and storing the input result in the second storage means, and a screen pattern of the input / output screen and a process associated with the screen pattern are defined. A selection step of selecting any one of a plurality of business patterns and storing the selection result in a third storage unit (step in FIG. 3) 104), and reads out each of the business specification information, the physical specification information, and the business pattern selection result from the first to third storage means, and defines the business specification information based on the read information. Construction of a database corresponding to each data item (step S201 in FIG. 21), generation of a first program for accessing the database (step S202 in FIG. 21, flowchart shown in FIG. 22), the business specification Generation of a second program for displaying the input / output screen of each data item defined by the information with the screen pattern defined by the selected business pattern and the display attribute specified by the physical specification information (FIG. 21) Step S204, flowcharts shown in FIGS. 24 and 26 to 32), and the input information from the input / output screen. Then, a third program for controlling the execution of the first program and the second program is generated based on the input information (step S203 in FIG. 21 and a flowchart shown in FIG. 23), respectively, and the fourth program is generated. (Step S106 in FIG. 21) for storing in the storage means.
[0016]
A seventh invention of the present invention is a program for executing the program generating method according to the sixth invention.
[0017]
An eighth invention of the present invention is characterized in that a program for executing the program generation method according to the sixth invention is stored in a recording medium in a computer-readable manner.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
[First Embodiment]
Hereinafter, an application development system of the present invention will be described with reference to the drawings.
[0019]
FIG. 1 is a block diagram showing a configuration of a program generation device according to the first embodiment of the present invention.
[0020]
In the figure,
[0021]
[0022]
A
[0023]
The
[0024]
The
[0025]
Reference numeral 108 denotes an overall control unit that controls each unit such as a
[0026]
FIG. 2 is a diagram illustrating an example of the overall configuration of a web application system using servlets, JSPs, and beans generated by the
[0027]
The servlet, JSP, and Bean generated by the
[0028]
This Web application system is used by the
[0029]
A request from the
[0030]
When the request is transmitted to the
[0031]
Next, the
[0032]
The
[0033]
FIG. 3 is a flowchart illustrating an example of a first control processing procedure in the program generation device of the present invention, and corresponds to the operation of the overall control unit 108 of the
[0034]
The
[0035]
First, when the general control unit 108 is activated, in step S101, it is determined whether the mode selected by the operator from the
[0036]
In step S103, the activated
[0037]
Next, the
[0038]
On the other hand, in step S101, when it is determined that the mode selected by the operator from the
[0039]
Next, in step S106, the overall control unit 108 activates the
[0040]
Then, in step S107, the overall control unit 108 performs an output process of displaying the generated code on the
[0041]
Hereinafter, each process will be specifically described.
[0042]
First, a case where the input mode is selected by the operator will be described.
[0043]
By selecting the input mode, the overall control unit 108 activates the business
[0044]
Hereinafter, the business specifications (input / output data) in the program generation device of the present invention will be described with reference to FIGS.
[0045]
FIG. 4 is a schematic diagram showing an example of the business specification input screen in the program generation device of the present invention, which is started by the business
[0046]
FIG. 5 is a schematic diagram showing an example of an item input screen in the program generation device of the present invention, which is activated by the business
[0047]
FIG. 6 is a schematic diagram illustrating an example of a table configuration of an input / output table in the program generation device of the present invention.
[0048]
The business specifications input from the business specification input screen of FIG. 4 and the item input screen of FIG. 5 are internally stored in the form of the input / output table of FIG.
[0049]
First, in FIG. 4,
[0050]
[0051]
5,
[0052]
[0053]
507 and 508 are reference data file number input areas and reference data item number input areas, which are valid only when the key function specification area is set to "P" or "R". A target data file number and a target data file item number in a reference relationship are designated, and "P" is used to designate a parent target data file number and a target data file item number in a parent-child relationship. Are stored in
[0054]
[0055]
[0056]
FIG. 7 is a schematic diagram showing an example of a display screen in a web application generated by the program generation device of the present invention.
[0057]
As shown in FIG. 7, the display screen of the generated web application includes a
[0058]
Hereinafter, physical specifications in the program generation device of the present invention will be described with reference to FIGS.
[0059]
8 to 11 are schematic diagrams showing an example of a physical specification input screen in the program generation device of the present invention, which is started by the physical
[0060]
FIG. 12 is a schematic diagram illustrating an example of a table configuration of a physical specification table in the program generation device according to the present invention. The physical specification information describes conditions for generating a program code (particularly, physical specifications of a user interface portion), such as setting of screen display / non-display, screen size, color, and the like. It is attached to each data item of the business specification. The physical specification information input from the physical specification input screens of FIGS. 8 to 11 is internally stored in the format of the physical specification table shown in FIG.
[0061]
First, in FIG. 8,
[0062]
A
[0063]
A background
[0064]
In FIG. 10,
[0065]
[0066]
A
[0067]
In FIG. 11,
[0068]
A
[0069]
In the example of the physical specification table shown in FIG. 12, “ZyutychKanri” and the identification number of the data file item (data item number) are entered in the column as the identification number (data file number) of the corresponding data file is described in
[0070]
The first line of the physical specification table shown in FIG. 12 indicates that “0” is set to the parameter value of the conditional expression “DetailType”. This expresses a code generation instruction so that the slip number item in the detailed display is set to “display”. That is, this corresponds to a case where “display” is designated in the detailed display
[0071]
The second line of the physical specification table shown in FIG. 12 indicates that “1” is set to the parameter value of the conditional expression “ListType”. This represents a code generation instruction so that the slip number item in the list display is set to “not displayed”. That is, this corresponds to a case where “not displayed” is designated in the list display
[0072]
Hereinafter, a business pattern in the program generation device of the present invention will be described with reference to FIGS.
[0073]
FIG. 13 is a schematic diagram of a screen displayed when the web application program generated when “list display” is selected as the business pattern in the program generation device of the present invention is executed.
[0074]
In the list display screen shown in FIG. 13, each item is arranged side by side, each item name and its value are configured in a one-to-n relationship, and used as a list display of data in a database (so-called occurrence display). Note that neither an input function nor a button function is provided.
[0075]
FIG. 14 is a schematic diagram of a screen displayed when the web application program generated when the “detailed display” is selected as the business pattern in the program generation device of the present invention.
[0076]
In the detailed display screen shown in FIG. 14, each item is vertically arranged, and each item name and its value are configured in a one-to-one relationship. Note that neither an input function nor a button function is provided.
[0077]
FIG. 15 is a schematic diagram of a screen displayed when the web application program generated when “update” is selected as the business pattern in the program generation device of the present invention is executed.
[0078]
The update screen shown in FIG. 15 is configured such that each item is vertically arranged, each item name and its value are in a one-to-one relationship, and functions such as updating, newly registering, deleting, and displaying (searching) data in the database. Have.
[0079]
The
[0080]
Also, by inputting new data in the
[0081]
By instructing a “cancel”
[0082]
FIG. 16 is a schematic diagram of a screen displayed at the time of executing a web application program generated when “update list” is selected as the business pattern in the program generation device of the present invention.
[0083]
In the list update screen shown in FIG. 16, each item is arranged side by side, each item name and its value are configured in a one-to-n relationship, and is used as a list display of data in a database (so-called occurrence display).
[0084]
Note that a “delete”
[0085]
Further, a line to which a
[0086]
[0087]
FIG. 17 is a schematic diagram of a screen displayed at the time of executing a web application program generated when “search list” is selected as the business pattern in the program generation device of the present invention.
[0088]
The search list screen shown in FIG. 17 is a screen having a data search function for a database, and includes a search
[0089]
In the search
[0090]
By instructing a "cancel"
[0091]
In the
[0092]
FIG. 18 is a schematic diagram of a screen displayed when the web application program generated when “detailed list” is selected as the business pattern in the program generation device of the present invention.
[0093]
The list detail screen shown in FIG. 18 includes two windows, a
[0094]
In the
[0095]
A “details”
[0096]
The
[0097]
FIG. 19 is a schematic diagram of a screen displayed when executing a web application program generated when “update list details” is selected as a business pattern in the program generation device of the present invention.
[0098]
The list detail update screen shown in FIG. 19 includes two windows, a
[0099]
In the
[0100]
A “details”
[0101]
Also, when the
[0102]
The
[0103]
The
[0104]
Also, by inputting new data in the
[0105]
By instructing a “cancel”
[0106]
FIG. 20 is a diagram showing the contents of a screen displayed when a web application program generated by a selected business pattern is executed.
[0107]
Hereinafter, a code generation process performed by the
[0108]
FIG. 21 is a flowchart illustrating an example of the second control processing procedure of the present invention, and corresponds to the code generation processing by the
[0109]
First, in step S201, a
[0110]
Next, in step S202, a
[0111]
Next, in step S203, based on the input / output table 109 and the business
[0112]
Next, in step S204, a
[0113]
Then, the process returns to step S107 in FIG. 3, and stores the generated codes in the external storage device 104.
[0114]
FIG. 22 is a flowchart showing an example of the third control processing procedure of the present invention, and corresponds to the Bean generation processing shown in step S202 of FIG. In addition, S301 to S306 indicate each step.
[0115]
First, in step S301, it is determined which business pattern the selected business pattern (business pattern selection information 111) is, and one of “list display”, “detailed display”, “search list”, and “list details” is determined. If it is determined that this is the case, the flow advances to step S302 to generate a bean for database search, that is, a bean for performing a search process on the database, and the process returns.
[0116]
On the other hand, if it is determined in step S301 that the business
[0117]
Note that the file names of the search Bean, the update Bean, the addition Bean, and the deletion Bean are extended by, for example, adding the character strings "BeanKensaka", "BeanKoushin", "BeanTsunika", and "BeanSakuzuyo" to the application name, respectively. The child file is a Bean file with “java (registered trademark)”.
[0118]
FIG. 23 is a flowchart showing an example of the fourth control processing procedure of the present invention, and corresponds to the servlet generation processing shown in step S203 of FIG. S401 to S404 indicate each step.
[0119]
First, in step S401, a servlet file is generated. The file name of the servlet file has, for example, a character string “Servlet” added to the application name and an extension “java (registered trademark)”.
[0120]
Next, in step S402, a code for receiving input information from the web browser is generated in the servlet file.
[0121]
Next, in step S403, “code for activating the business process Bean corresponding to the input information received by the code generated in step S402 and executing the business process” is generated in the servlet file. The code generated here differs depending on the selected business pattern. When the business pattern selection information is any of "list display", "detail display", "search list", and "list details", according to the input information from the web browser indicating that the search instruction has been input When the business pattern selection information is any of "update", "update list", and "update list details", update, add, delete, In accordance with input information from the web browser indicating that the search instruction has been input, a code for calling and executing the update bean, the addition bean, the deletion bean, and the search bean is generated.
[0122]
Next, in step S404, “a code for calling the JSP and displaying the processing result of the Bean that has executed the business process in step S403” is generated in the servlet file, and the servlet generation processing ends.
[0123]
If the business pattern selection information is “list details”, servlets (servlets for the list display window, servlets for the detail display window) are displayed in the two windows of the
[0124]
Also, when the business pattern selection information is “update list details”, the servlets (servlet for list display window, servlet for detailed search window, and servlet for detailed search window) shown in FIG. Servlet). When the servlet for the list display window acquires input information indicating that the “detail”
[0125]
Further, the servlet for the detailed search window is updated with the update Bean in response to input of an instruction of the “update”, “new”, “delete”, and “display” buttons on the
[0126]
FIG. 24 is a flowchart showing an example of the fifth control processing procedure of the present invention, and corresponds to the JSP generation processing shown in step S204 of FIG. In addition, S501 to S508 indicate each step.
[0127]
First, in step S501, it is determined which business pattern the selected business pattern (the business pattern selection information 111) is. If it is determined that the business pattern is "list display", the process proceeds to step S502 to display the list display JSP. The generation processing (details are shown in FIG. 26) is performed, and the JSP generation processing ends.
[0128]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is “detailed display”, the process advances to step S503 to generate a detailed display JSP generation process (details are shown in FIG. 27). Is performed, and the JSP generation process ends.
[0129]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is “update”, the process advances to step S504 to perform an update JSP generation process (details are shown in FIG. 28). , The JSP generation process ends.
[0130]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is "list update", the process advances to step S505 to generate a list update JSP generation process (details are shown in FIG. 28). Is performed, and the JSP generation process ends.
[0131]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is a “search list”, the process proceeds to step S506, and a search list JSP generation process (details are shown in FIG. 29). Is performed, and the JSP generation process ends.
[0132]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is "list details", the process proceeds to step S507, and a list details JSP generation process (details are shown in FIG. 30). Is performed, and the JSP generation process ends.
[0133]
If it is determined in step S501 that the selected business pattern (business pattern selection information 111) is “update list details”, the process advances to step S508 to generate a list details update JSP generation process (see FIG. 31 for details). Shown), and the JSP generation process ends.
[0134]
FIG. 25 is a schematic diagram schematically showing the JSP file generation according to the present invention.
[0135]
As shown in FIG. 25, in generating the code in the JSP, the list
[0136]
Further, a
[0137]
FIG. 26 is a flowchart showing an example of the sixth control processing procedure of the present invention, and corresponds to the list display JSP generation processing shown in step S502 of FIG. S601 to S607 indicate each step.
[0138]
First, in step S601, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0139]
Next, in step S602, a "code for acquiring all records in the database using the search Bean" is generated in the JSP file.
[0140]
Next, in step S603, “code for starting the corresponding servlet” is generated in the JSP file.
[0141]
Next, in step S604, a “code for displaying a list title” is generated in the JSP file. The list title is, for example, a character string “list” added to the data file name in the
[0142]
Next, in step S605, a “code for sequentially displaying the item names in which the value of“ ListType ”in the physical specification table is“ 0 ”” is generated in the JSP file.
[0143]
Next, in step S606, “code for repeating (looping) the process of step S607 for all records acquired from Bean in step S602” is generated in the JSP file.
[0144]
Next, in step S607, a “code for sequentially displaying the item data of the item whose“ ListType ”value of the current record is“ 0 ”is displayed in the JSP file” is generated in the JSP file, and the list display JSP generation is performed. The process ends.
[0145]
FIG. 27 is a flowchart showing an example of the seventh control processing procedure of the present invention, and corresponds to the detailed display JSP generation processing shown in step S503 in FIG. In addition, S701 to S705 indicate each step.
[0146]
First, in step S701, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0147]
Next, in step S702, “code for obtaining a search result by referring to a search Bean” is generated in the JSP file.
[0148]
Next, in step S703, "code for starting the corresponding servlet" is generated in the JSP file.
[0149]
Next, in step S704, a “code for displaying a detailed title” is generated in the JSP file. This detailed title is, for example, the data file name in
[0150]
Next, in step S705, “the item name in which the value of“ DetailType ”in the physical specification table is displayed“ 0 ”and the corresponding item data (search result) referred to from the Bean in step S702 are sequentially displayed side by side. Is generated in the JSP file, and the detail display JSP generation process ends.
[0151]
FIG. 28 is a flowchart showing an example of the eighth control processing procedure of the present invention, and corresponds to the updated JSP generation processing shown in step S504 of FIG. S801 to S806 indicate each step.
[0152]
First, in step S801, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0153]
Next, in step S802, a “code for obtaining a search result by referring to the search Bean” is generated in the JSP file.
[0154]
Next, in step S803, “code for starting the corresponding servlet” is generated in the JSP file.
[0155]
Next, in step S804, a "code for displaying a detailed title" is generated in the JSP file. This detailed title is, for example, the data file name in
[0156]
Next, in step S805, “the item name in which the value of“ DetailType ”in the physical specification table is displayed“ 0 ”and the input area of the item data (initial value: the corresponding item referenced from the Bean in S802) "A code for sequentially displaying search results) in a JSP file.
[0157]
Next, in step S806, “code for generating“ update ”,“ new ”,“ delete ”,“ display ”,“ cancel ”, and“ close ”buttons is generated in the JSP file, and the update JSP generation processing is performed. finish. The processing when the "cancel" and "close" buttons are instructed is described in a script language such as JavaScript (registered trademark) in the JSP file.
[0158]
If a business logic such as control of an input value is described as an expression in the
[0159]
FIG. 29 is a flowchart showing an example of the ninth control processing procedure of the present invention, and corresponds to the list update JSP generation processing shown in step S505 of FIG. In addition, S901 to S908 indicate each step.
[0160]
First, in step S901, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0161]
Next, in step S902, “code for acquiring all records in the database using the search Bean” is generated in the JSP file.
[0162]
Next, in step S903, “code for starting the corresponding servlet” is generated in the JSP file.
[0163]
Next, in step S904, a “code for displaying a list title” is generated in the JSP file. The list title is, for example, a character string “list” added to the data file name in the
[0164]
Next, in step S905, for an item in which the value of “ListType” in the physical specification table is “0”, an area for a “Delete” button and the item name of the item are sequentially displayed side by side. Code "in the JSP file.
[0165]
Next, in
[0166]
Next, in
[0167]
Next, in step S908, “code for generating an“ apply ”button” is generated in the JSP file, and the list update JSP generation processing ends.
[0168]
If a business logic such as input value control is described as an expression in
[0169]
FIG. 30 is a flowchart showing an example of the tenth control processing procedure of the present invention, and corresponds to the search list JSP generation processing shown in step S506 of FIG. In addition, S1001 to S1010 indicate each step.
[0170]
First, in step S1001, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0171]
Next, in step S1002, “code for acquiring a search result by referring to a search Bean” is generated in the JSP file.
[0172]
Next, in step S1003, “code for starting the corresponding servlet” is generated in the JSP file.
[0173]
Next, in step S1004, a “code for displaying a search title” is generated in the JSP file. It is assumed that the search title is obtained by adding the character string “search” to the data file name in the
[0174]
Next, in step S1005, "a code for sequentially displaying the item name and the input area of the item data in which the value of" DetailType "in the physical specification table is" 0 "is generated in the JSP file. I do.
[0175]
Next, in step S1006, “code for generating“ cancel ”,“ close ”, and“ search ”buttons” is generated in the JSP file. The processing when the "cancel" and "close" buttons are instructed is described in a script language such as JavaScript (registered trademark) in the JSP file.
[0176]
Further, when business logic such as control of an input value is described as an expression in the
[0177]
Next, in step S1007, a “code for displaying a list title” is generated in the JSP file. The list title is, for example, a character string “list” added to the data file name in the
[0178]
Next, in step S1008, a “code for sequentially displaying the item names in which the value of“ ListType ”in the physical specification table is“ 0 ”” is generated in the JSP file.
[0179]
Next, in step S1009, a “code for repeatedly performing (looping) the process of step S1010 on all records acquired from Bean in step S1002” is generated in the JSP file.
[0180]
Next, in step S1010, a “code for sequentially displaying the item data of the item whose“ ListType ”value of the current record is“ 0 ”in the display side” is generated in the JSP file, and the search list JSP is generated. The process ends.
[0181]
FIG. 31 is a flowchart showing an example of the eleventh control processing procedure of the present invention, and corresponds to the list-specific JSP generation processing shown in step S507 in FIG. In addition, S1101 to S1112 indicate each step.
[0182]
First, in step S1101, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0183]
Next, in step S1102, “a code for acquiring all records in the database using the search Bean” is generated in the JSP file.
[0184]
Next, in step S1103, “code for starting the corresponding servlet” is generated in the JSP file.
[0185]
Next, in step S1104, a “code for displaying a list title” is generated in the JSP file. The list title is, for example, a character string “list” added to the data file name in the
[0186]
Next, in step S1105, for an item in which the value of "ListType" in the physical specification table is "0", an area for a "Details" button and an item name of the item are sequentially displayed side by side. Is generated in the JSP file.
[0187]
Next, in step S1106, a “code for repeating (looping) the processing of step S1107 for all records acquired from Bean in step S1102” is generated in the JSP file.
[0188]
Next, in step S1107, a “details” button and a code for sequentially displaying the item data of the item for an item whose value of “ListType” of the current record is “0” are displayed. Generate it in a JSP file.
[0189]
Next, in step S1108, a JSP file for detailed display is generated. The file name of this JSP file is, for example, a character string “Syosai” added to the application name, and the extension is set to “java (registered trademark)”.
[0190]
Next, in step S1109, a “code for obtaining a search result by referring to the search Bean” is generated in the detail display JSP file.
[0191]
Next, in step S1110, "code for starting a servlet for detailed display" is generated in the JSP file for detailed display.
[0192]
Next, in step S1111, a "code for displaying a detailed title" is generated in the JSP file. This detailed title is, for example, the data file name in
[0193]
Next, in step S1112, the item names in which the value of “DetailType” in the physical specification table is displayed “0” and the corresponding item data (search results) of the record received from the JSP file are sequentially displayed in a vertical direction. Is generated in the JSP file, and the list detail JSP generation process ends.
[0194]
FIG. 32 is a flowchart showing an example of the twelfth control processing procedure of the present invention, and corresponds to the list details update JSP generation processing shown in step S508 of FIG. In addition, S1201 to S1214 indicate each step.
[0195]
First, in step S1201, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0196]
Next, in step S1202, a “code for acquiring all records in the database using the search Bean” is generated in the JSP file.
[0197]
Next, in step S1203, “code for starting the corresponding servlet” is generated in the JSP file.
[0198]
Next, in step S1204, a “code for displaying a list title” is generated in the JSP file. The list title is, for example, a character string “list” added to the data file name in the
[0199]
Next, in step S1205, for an item in which the value of “ListType” in the physical specification table is “0”, an area for a “detail” button and the item name of the item are sequentially displayed side by side. Is generated in the JSP file.
[0200]
Next, in step S1206, a “code for repeatedly performing the process of step S1207 (loop) on all records acquired from Bean in step S1102” is generated in the JSP file.
[0201]
Next, in step S1207, a "details" button and a code for sequentially displaying the item data of the item for the item of which the value of "ListType" of the current record is "0" are displayed. Generate it in a JSP file. When the “Details” button is instructed, a JavaScript (registered trademark) that calls a JSP file for details display generated in S1209 described later is described in the JSP file.
[0202]
Next, in step S1208, “code for generating an“ add ”button” is generated in the JSP file.
[0203]
Next, in step S1209, a JSP file for detailed search is generated. The file name of the JSP file is, for example, a character string “Syosaikensaku” added to the application name, and the extension is set to “java (registered trademark)”.
[0204]
Next, in step S1210, a “code for obtaining a search result by referring to the search Bean” is generated in the detailed search JSP file.
[0205]
Next, in step S1211, “code for starting a servlet for detailed search” is generated in the JSP file for detailed search.
[0206]
Next, in step S1212, a “code for displaying a detailed search title” is generated in the JSP file. The detailed search title is, for example, the data file name in
[0207]
Next, in step S1213, "the item name of which the value of" DetailType "in the physical specification table is displayed" 0 "and the item data of the item (initial value: the search result referred to in S1210) are sequentially arranged vertically. "Display code" is generated in the JSP file for detailed search.
[0208]
Next, in step S1214, “code for generating“ update ”,“ new ”,“ delete ”,“ display ”,“ cancel ”, and“ close ”buttons is generated in the JSP file, and a list detail update JSP is generated. The process ends. The processing when the "cancel" and "close" buttons are instructed is described in a script language such as JavaScript (registered trademark) in the JSP file.
[0209]
If a business logic such as input value control is described as an expression in
[0210]
As described above, the
[0211]
In this way, the design of business specifications is performed, each data item is arranged in the external storage device 104 as an input / output table, and the definition of the relationship between the input / output tables is mainly performed in the development work. Since development can be performed easily and development work can be reduced, the development period can be shortened.
[0212]
As described above, by automatically generating the source code of the web application from the business specifications by the program generation device of the present invention, it is possible to simplify programming without requiring special knowledge of Java (registered trademark). And development work can be reduced. Furthermore, with the program generation device of the present invention, a database can be constructed at the same time, and further reduction of work can be realized.
[0213]
Therefore, it is possible to easily develop a web application with excellent maintainability that can flexibly respond to changes in the system environment, reduce the burden on the design developer, and improve the speed of design development. It is possible to provide a web application development environment.
[0214]
[Second embodiment]
In the present embodiment, if “update list details” is selected in the business pattern, and two data files having a parent-child relationship are defined in the input / output table, the parent-child relationship of the table, Is configured to generate a JSP code so that list detail display processing can be performed continuously. Hereinafter, the embodiment will be described.
[0215]
FIG. 33 is a schematic diagram showing an example of a data input / output table having a parent-child relationship in the present invention.
[0216]
As shown in FIG. 33, in this data input / output table, a data file 3301 having a data file name “order management” and a
[0219]
As shown in 3303, the key type of the item “order number” in the data file 3302 specifies “P” indicating that the item is a child in a parent-child relationship. As indicated by
[0218]
When inputting the actual business specifications, enter the data file name “Order management” on the first line and the data file name “Order details” on the second line in the business information input screen shown in FIG. Then, each item is input to each data file on the item input screen shown in FIG. As for the data item “order number” of the data file “order details”, “P” indicating a child in a parent-child relationship is designated in the key
[0219]
When the
[0220]
FIG. 34 is a schematic diagram of a screen displayed when executing a web application program generated when “update list details” is selected as the business pattern in the program generation device of the present invention and the input / output table has a parent-child relationship. is there.
[0221]
The list detail update screen (with parent-child relationship) shown in FIG. 34 includes a
[0222]
By instructing the “Details”
[0223]
By instructing a “Details”
[0224]
Note that the parent-child relationship can be defined not only between two data files but also for any number of generations in sequence, and as long as the parent-child relationship continues, code is generated so as to sequentially generate the next window.
[0225]
FIG. 35 is a schematic diagram schematically showing the JSP file generation when “update list details” is selected as the business pattern in the program generation device of the present invention and the input / output table has a parent-child relationship.
[0226]
As shown in FIG. 35, a JSP file (JSP1) including a
[0227]
Also, a JSP file (JSP2) including a
[0228]
Further, a JSP file (JSP3) including a
[0229]
FIG. 36 is a flowchart illustrating an example of a thirteenth control processing procedure according to the present invention, which corresponds to a list detail update (with parent-child relationship) JSP generation processing. S1301 to S1309 indicate each step. When the
[0230]
First, in step S1301, the key item of the input / output table is obtained. In step S1302, it is determined whether the content of the key is “P”. Is determined to be a child file having a parent-child relationship, the flow advances to step S1303, and the reference destination data file number and the reference destination data item number of the input / output table are acquired. In step S1304, the parent-child relationship of the data file is established, and the parent-child relationship information is stored in the memory, and the flow advances to step S1305.
[0231]
On the other hand, if it is determined in step S1302 that the content of Key is not “P”, the process advances to step S1305.
[0232]
In step S1305, it is determined whether or not the processing in steps S1301 to 1304 has been completed for all items. If it is determined that processing has not been completed, the process returns to step S1301, and the key value of the next item is obtained. I do. On the other hand, if it is determined that the processing has been completed for all items, the process proceeds to step S1306.
[0233]
Next, in step S1306, a parent data file list display JSP generation process is performed based on the parent-child relationship established in step S1304. Through this process, a JSP file is generated with the application name as the file name and the extension as “jsp”. The details are omitted here.
[0234]
Next, in step S1307, based on the parent-child relationship established in step S1304, a detailed search of the parent data file and a list display JSP generation processing of the child data file are performed. By this process, a JSP file is generated with a file name to which an application name derivative number (“2” in the case of the second generated JSP file) is added and an extension “jsp”. The details are omitted here.
[0235]
Then, in step S1308, a detailed search JSP generation process of the child data file is performed based on the parent-child relationship established in step S1304. By this processing, a JSP file is generated with a derived name ("3" in the case of the third generated JSP file) added to the application name and a file name as an extension "jsp". The details are omitted here.
[0236]
Next, in step S1309, it is determined whether or not the parent-child relationship established in step S1304 has been completed. If it is determined that the parent-child relationship has not been completed, the process returns to step S1306, and the process is repeated as long as the parent-child relationship continues. On the other hand, if it is determined that the parent-child relationship has been completed, the list detail update JSP generation process is terminated.
[0237]
When the business pattern selection information is “update list details” and the input / output file has a parent-child relationship, a
[0238]
Then, the servlet for the “order management” list display window acquires input information indicating that the “detail”
[0239]
Further, the servlet for the detailed search of "order management" + list display window of "order details" includes the detailed search of "order management" + "update" and "new" on the
[0240]
Further, the servlet for the detailed search of “order management” + list display window of “order details” is provided by the “detail”
[0241]
Further, the servlet for the “order details” detailed search window indicates that the “update”, “new”, “delete”, and “display” buttons on the “order details”
[0242]
[Third embodiment]
In the present embodiment, a method of generating a program for displaying a tag screen will be described with reference to FIGS.
[0243]
Since the tag function is a process dependent on the client, there is essentially no tag display command in HTML. If the tag function is not used, as shown in FIG. 37, all
[0244]
In the present embodiment, a function equivalent to a tag is realized using an HTML iframe (inline frame).
[0245]
FIG. 38 is a schematic diagram showing an example of a data input / output table having a tag function according to the present invention.
[0246]
As shown in FIG. 38, the data input / output table includes a
[0247]
FIG. 39 is a schematic diagram showing an example of a physical specification table when the present invention has a tag function.
[0248]
In FIG. 39,
[0249]
[0250]
[0251]
FIG. 40 is a schematic diagram of a screen displayed when a web application program generated when the program generation device of the present invention has a tag function is executed.
[0252]
The display screen shown in FIG. 40 is provided with
[0253]
(A) is an initial state, and
[0254]
(B), the
[0255]
(C), the
[0256]
When the
[0257]
FIG. 41 is a flowchart illustrating an example of a fourteenth control processing procedure according to the present invention, and corresponds to JSP generation (with tag) processing. In addition, S1401 to S1411 indicate each step. The processing in this flowchart is different from the processing in step S204 in FIG. 21 when the
[0258]
First, in step S1401, a JSP file is generated. The file name of this JSP file is, for example, an application name and the extension is “java (registered trademark)”.
[0259]
Next, in step S1402, the data file number of the input / output table is obtained, and in step S1403, it is determined whether the data file number is a reserved word “Button” for tag generation, and is “Button”. If it is determined that the data item is a tag screen, the process advances to step S1404 to acquire the data file number (panel table) in the expression column of the data item. Then, in step S1405, "a code for generating a panel screen and a tag button for the corresponding data file number" is generated in the JSP file. Note that the value (data file number) in this formula column is a URL in an iframe (panel) and is associated with the generated tag button. For example, in the case of the first item “Panel01” in the data file 3801 shown in FIG. 38, “Table01” is stored in the expression column, and the data file item name “Table01” is the data file number “Table01”. A panel screen composed of “item 1-1”, “item 1-2”, and “item 1-3” and a tag button corresponding to “Panel01” are generated, and a tag button corresponding to “Panel01” is assigned to the URL of the panel screen. Is generated to link “Table01”. Although not described in detail here, the panel screen is a screen based on the business pattern selection information as shown in FIGS.
[0260]
On the other hand, if it is determined in step S1403 that the content of the data file number is not “Button”, the process advances to step S1406.
[0261]
In step S1406, it is determined whether or not the processing in steps S1402 to 1405 has been completed for all items. If it is determined that processing has not been completed, the process returns to step S1402, and the data file number of the next item is set. get. On the other hand, if it is determined that the processing has been completed for all items, the process proceeds to step S1407.
[0262]
Next, in step S1407, height information and width information are acquired from the physical specification table corresponding to the panel screen.
[0263]
Next, in step S1408, it is determined whether the height information is “T”. If it is determined that the height information is not “T”, in step S1409, “the corresponding tag screen is displayed as height information and width information. Is generated in the JSP file based on the above.
[0264]
On the other hand, if it is determined in step S1408 that the height information is “T”, in step S1410, “a code for displaying the corresponding tag screen as the second surface” is generated in the JSP file.
[0265]
Then, in step S1411, it is determined whether or not the processing in steps S1407 to S1410 has been completed for all panel tables. If it is determined that processing has not been completed, the process returns to step S1407, and information relating to the next panel table is obtained. Get height information and width information from the physical specification table. On the other hand, if it is determined that the processing has been completed for all panel tables, the JSP generation (with tag) processing is completed.
[0266]
By the above processing, a code for generating a tag screen can be generated.
[0267]
[Fourth embodiment]
In the present embodiment, a method of generating a program for displaying a combo box layout screen will be described with reference to FIGS.
[0268]
FIG. 42 is a schematic diagram showing an example of a data input / output table in which a combo box according to the present invention is arranged.
[0269]
As shown in FIG. 42, the data input / output table includes a
[0270]
As shown in 4204, the key type of the item “customer code” in the data file 4201 specifies “R” indicating that the item is a reference source of the reference relationship (that is, a combo box). As shown in 4206, the reference destination data file number is specified in the data file 4203 and the reference destination data file item number is specified in the
[0271]
As shown in 4207, the key type of the item “product code” in the data file 4202 specifies “R” indicating that the item is a reference source of the reference relationship (that is, a combo box). As shown in 4209, the reference destination data file number is specified in the
[0272]
FIG. 43 is a schematic diagram of a screen displayed when the web application program generated when the program generation device of the present invention has a combo box arrangement screen is executed.
[0273]
On the display screen shown in FIG. 43,
[0274]
The
[0275]
FIG. 44 is a flowchart illustrating an example of a fifteenth control processing procedure according to the present invention, which corresponds to a combo box generation processing. S1501 to S1507 indicate each step. The processing of this flowchart is called before the execution of step S501 in the JSP generation processing shown in FIG. 24 when the
[0276]
First, in step S1501, the key item of the input / output table is obtained. In step S1502, it is determined whether or not the content of the key is “R”. Determines in step S1503 that a data file having a reference relationship exists, and obtains a reference data file number and a reference data item number. In step S1504, the reference relationship of the data file is established and the reference relationship information is obtained. Store on memory.
[0277]
On the other hand, if it is determined in step S1502 that the content of the key is not “R”, it is determined that there is no reference-related data file for the data item, and the process advances to step S1505.
[0278]
In step S1505, it is determined whether or not the processing in steps S1501 to 1504 has been completed for all items. If it is determined that processing has not been completed, the process returns to step S1501 to obtain the key value of the next item. I do. On the other hand, if it is determined that the processing has been completed for all items, the process proceeds to step S1506.
[0279]
Next, in step S1506, for the data item for which the reference relationship is established, the reference source data item is set as a target item of the combo box, and “from the corresponding database using the search Bean corresponding to the reference destination data file, A code for generating all the data of the reference data item of the reference data file and generating a combo box having the obtained data as an element of the selection list of the combo box is generated in the memory. Note that a web application (at least a search Bean, a database, and the like) corresponding to the data file of the reference destination is generated in advance.
[0280]
In step S1507, it is determined whether or not the processing in step S1506 has been completed for all reference relations. If it is determined that processing has not been completed, the process returns to step S1506, and the “combo box” for the next reference relation is determined. Generated code "is generated. On the other hand, if it is determined that all the reference relationships have been completed, the combo box generation process ends, and the process proceeds to step S501 in FIG.
[0281]
In each of the JSP generation processes in steps S502 to S508, when the "code for displaying the input area" of the reference source item is generated, the code for displaying the combo box generated and stored in step S1506 is stored in the JSP file. Output to
[0282]
As a result, "code for generating a combo box" can be generated in the JSP file.
[0283]
[Fifth Embodiment]
In the above-described first embodiment, the configuration has been described in which the
[0284]
FIG. 45 is a schematic diagram for schematically explaining the web application development method according to the fifth embodiment of the present invention.
[0285]
As shown in FIG. 45, in the present embodiment, the input / output table 2701 generated from the business specification input by the user is matched with the default physical specification table 2702 and the default business
[0286]
Then, after confirming the contents of the
[0287]
Note that the code generation performed by the
[0288]
FIG. 46 is a schematic diagram showing an example of the physical specification input screen according to the fifth embodiment of the present invention, which is started by the physical
[0289]
As shown in FIG. 46, the physical specification input screen according to this embodiment includes an
[0290]
The
[0291]
After inputting the physical specification and selecting the business specification (screen type) in the
[0292]
Thus, the user can input a physical specification or select a business pattern while checking the generated display screen.
[0293]
In each of the above embodiments, a case has been described in which the program generation device is the same as the server device on which the application server that executes the web application is mounted, but the program generation device is different from the server device on which the application server is mounted. May be configured as follows. In this case, a server device on which the application server is mounted is designated for the program generation device (input by the user at the time of execution in the generation mode, or input by the user in advance and stored in the external storage device 104). deep). Then, it is assumed that the program generation device reads the specified information and stores the generated code and constructs a database on the storage device of the specified server device.
[0294]
Further, the server device on which the application server is mounted and the server device on which the database is constructed may be configured to be different devices.
[0295]
In this case, the user specifies the server device on which the application server is mounted and the server device for constructing the database in the program generation device (input by the user at the time of execution in the generation mode, or input in advance by the user, and It is stored on the storage device 104). Then, the program generation device reads the specified information, and builds a database on the storage device of the server device that builds the designated database (instructs the server device that builds the database to create a database). , A
[0296]
Furthermore, in each of the above embodiments, a program generation device that generates a web application program that runs on a web application server has been described. However, instead of a web application server as middleware, a Notes (product name) application server or a domino (product) is used. (Name)-It may be configured to generate an application using groupware such as an application server.
[0297]
In this case, instead of the servlet, it is assumed that a program created by Java (registered trademark) called an agent is generated by the program generation device and is arranged on the application server of the groupware. The input / output screen displayed by the JSP is generated by the program generation device as content called a form, and registered in the groupware database. The same bean as that of the above embodiment can be used.
[0298]
Further, the application generated by the program generation device of the present invention may be an application using a mobile terminal such as a PDA (Personal Digital Assistant) or a mobile phone as a client.
[0299]
The protocol between the client and the client is not limited to HTTP, but may be a WAP (Wireless Application Protocol) or the like. The code generated by the JSP is not limited to the HTML, but may be any other structured language such as XML or WML. Such a program may be configured to be generated by the program generation device of the present invention.
[0300]
Further, a business pattern having a graph display area or the like may be provided on the input / output screen, so that data in the database may be displayed as a graph. In that case, the type of graph (line graph, bar graph, pie graph, etc.) may be selectable. Further, the graph generation processing may be configured to generate a servlet or a bean for generating a graph, and cause the bean to perform the generation.
[0301]
Further, a business pattern having a function of performing various statistical processes may be provided so as to display a statistical processing result of data in the database. In that case, the type of statistical processing may be selectable. In addition, the various statistical processes may be configured to generate a servlet or a bean for each statistical process and cause the bean to perform the process.
[0302]
Further, in each of the above embodiments, the program generating apparatus includes a Bean for accessing a database, a JSP for displaying an input / output screen of each data item in a selected screen pattern, and input information from the input / output screen. Has been described, and the execution of Bean and JSP is controlled based on the input information to generate a web application composed of a servlet that controls the entire application, but the functions of Bean and JSP are also included. Needless to say, a web application composed of only a servlet including only the above-described Bean function and a JSP or a servlet including the above-described JSP function and only a Bean may be generated. Nor.
[0303]
It should be noted that all configurations obtained by combining any plurality of the above embodiments are all included in the present invention.
[0304]
As described above, the design of business specifications, the arrangement of each data item as an input / output table in the external storage device 104, and the definition of the relationship between the input / output tables are mainly performed for development work. Since development can be performed easily and development work can be reduced, the development period can be shortened.
[0305]
As described above, by automatically generating the source code of the web application from the business specifications by the program generation device of the present invention, it is possible to simplify programming without requiring special knowledge of Java (registered trademark). And development work can be reduced. Furthermore, with the program generation device of the present invention, a database can be constructed at the same time, and further reduction of work can be realized.
[0306]
Therefore, it is possible to easily develop a web application with excellent maintainability that can flexibly respond to changes in the system environment, reduce the burden on the design developer, and improve the speed of design development. It is possible to provide a web application development environment.
[0307]
Hereinafter, the configuration of a data processing program that can be read by the program generation device according to the present invention will be described with reference to a memory map shown in FIG.
[0308]
FIG. 47 is a diagram illustrating a memory map of a recording medium that stores various data processing programs that can be read by the program generation device according to the present invention.
[0309]
Although not shown, information for managing a group of programs stored in the recording medium, for example, version information, a creator, and the like are also stored, and information that depends on the OS or the like on the program reading side, for example, identifies and displays the program. Icons and the like may also be stored.
[0310]
Further, data dependent on various programs is also managed in the directory. In addition, a program for installing various programs on a computer or a program for decompressing a program to be installed when the program to be installed is compressed may be stored.
[0311]
The functions shown in FIG. 3, FIG. 21 to FIG. 24, FIG. 26 to FIG. 32, FIG. 36, FIG. 41, and FIG. 44 in the present embodiment may be executed by a host computer by a program installed from the outside. In this case, the present invention is applied even when a group of information including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Things.
[0312]
As described above, the recording medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, and the computer (or CPU or MPU) of the system or the apparatus stores the recording medium in the recording medium. It goes without saying that the object of the present invention is also achieved by reading and executing the program code.
[0313]
In this case, the program code itself read from the recording medium implements the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.
[0314]
Therefore, as long as it has the function of the program, the form of the program does not matter, such as the object code, the program executed by the interpreter, and the script data supplied to the OS.
[0315]
Examples of a recording medium for supplying a program include a flexible disk, a hard disk, an optical disk, a magneto-optical disk, an MO, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a nonvolatile memory card, a ROM, and a DVD. Can be used.
[0316]
In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium storing the program code constitutes the present invention.
[0317]
In addition, as a method for supplying the program, a client computer is connected to a homepage on the Internet using a browser, and the computer program itself of the present invention or the compressed file including the automatic installation function is stored on a recording medium such as a hard disk. It can also be supplied by downloading. Further, the present invention can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server, an ftp server, or the like that allows a plurality of users to download a program file for implementing the functional processing of the present invention on a computer is also included in the claims of the present invention.
[0318]
In addition, the program of the present invention is encrypted, stored in a recording medium such as a CD-ROM and distributed to users, and a user who satisfies predetermined conditions is downloaded with key information for decrypting from a homepage via the Internet. It is also possible to execute the encrypted program by using the key information and install the program on a computer to realize the program.
[0319]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0320]
Further, after the program code read from the recording medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0321]
Further, the present invention may be applied to a system including a plurality of devices or to an apparatus including a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus. In this case, by reading out a recording medium storing a program represented by software for achieving the present invention into the system or the apparatus, the system or the apparatus can enjoy the effects of the present invention. .
[0322]
The present invention is not limited to the above embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and those are excluded from the scope of the present invention. is not.
[0323]
Although various examples and embodiments of the present invention have been shown and described, those skilled in the art are not intended to limit the spirit and scope of the present invention to the specific description herein.
[0324]
【The invention's effect】
As described above, according to the present invention, the business specification information including the definition of a plurality of data items and the relation between the data items is input, and the input result is stored in the first storage means. Inputting physical specification information indicating the display attribute of the input / output screen for inputting / outputting each data item defined in the above, storing the input result in the second storage means, and selecting the screen pattern of the input / output screen and the screen A business pattern is selected from a plurality of business patterns defining a combination of processes attached to the pattern, the selection result is stored in a third storage unit, and the business specification information is stored in the first to third storage units. , Physical specification information, and a business pattern selection result, and constructing a database corresponding to each data item defined in the business specification information based on the read information. Generation of a first program for accessing the database, input / output screens for each data item defined in the business specification information, and a screen pattern defined by the selected business pattern and the physical specification information Generating a second program for displaying with the display attribute designated by the above, acquiring input information from the input / output screen, and executing the first program and the second program based on the input information. Since a third program for controlling is generated and stored in the fourth storage means, a business specification is designed, each data item is arranged in an external storage device as an input / output table, and Only by defining the relationship of the development as the center of the development work, it is possible to easily develop the web application system, and Since it is possible to reduce, it is possible to shorten the development period.
[0325]
In addition, by automatically generating the source code of the web application from the business specifications, no special knowledge of Java (registered trademark) is required, the programming can be simplified, and the development work can be reduced. can do. Furthermore, with the program generation device of the present invention, a database can be constructed at the same time, and further reduction of work can be realized.
[0326]
Therefore, it is possible to easily develop a web application with excellent maintainability that can flexibly respond to changes in the system environment, reduce the burden on the design developer, and improve the speed of design development. There are effects such as enabling provision of a web application development environment.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a program generation device according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of an overall configuration of a web application system using servlets, JSPs, and beans generated by a code generation unit illustrated in FIG. 1;
FIG. 3 is a flowchart illustrating an example of a first control processing procedure in the program generation device of the present invention.
FIG. 4 is a schematic diagram showing an example of a business specification input screen in the program generation device of the present invention.
FIG. 5 is a schematic diagram showing an example of an item input screen in the program generation device of the present invention.
FIG. 6 is a schematic diagram showing an example of a table configuration of an input / output table in the program generation device of the present invention.
FIG. 7 is a schematic diagram showing an example of a display screen in a web application generated by the program generation device of the present invention.
FIG. 8 is a schematic diagram showing an example of a physical specification input screen in the program generation device of the present invention.
FIG. 9 is a schematic diagram showing an example of a physical specification input screen in the program generation device of the present invention.
FIG. 10 is a schematic diagram showing an example of a physical specification input screen in the program generation device of the present invention.
FIG. 11 is a schematic diagram showing an example of a physical specification input screen in the program generation device of the present invention.
FIG. 12 is a schematic diagram illustrating an example of a table configuration of a physical specification table in the program generation device of the present invention.
FIG. 13 is a schematic diagram of a screen displayed at the time of executing a web application program generated when “list display” is selected as a business pattern in the program generation device of the present invention.
FIG. 14 is a schematic diagram of a screen displayed when executing a web application program generated when “detailed display” is selected as a business pattern in the program generation device of the present invention.
FIG. 15 is a schematic diagram of a screen displayed when executing a web application program generated when “update” is selected as a business pattern in the program generation device of the present invention.
FIG. 16 is a schematic diagram of a screen displayed when executing a web application program generated when “update list” is selected as a business pattern in the program generation device of the present invention.
FIG. 17 is a schematic diagram of a screen displayed when executing a web application program generated when “search list” is selected as a business pattern in the program generation device of the present invention.
FIG. 18 is a schematic diagram of a screen displayed when executing a web application program generated when “list details” is selected as a business pattern in the program generation device of the present invention.
FIG. 19 is a schematic diagram of a screen displayed when executing a web application program generated when “update list details” is selected as a business pattern in the program generation device of the present invention.
FIG. 20 is a diagram showing the contents of a screen displayed when a web application program generated by a selected business pattern is executed.
FIG. 21 is a flowchart illustrating an example of a second control processing procedure according to the present invention.
FIG. 22 is a flowchart illustrating an example of a third control processing procedure according to the present invention.
FIG. 23 is a flowchart illustrating an example of a fourth control processing procedure according to the present invention.
FIG. 24 is a flowchart illustrating an example of a fifth control processing procedure according to the present invention.
FIG. 25 is a schematic diagram schematically showing a JSP file generation in the present invention.
FIG. 26 is a flowchart illustrating an example of a sixth control processing procedure according to the present invention.
FIG. 27 is a flowchart illustrating an example of a seventh control processing procedure according to the present invention.
FIG. 28 is a flowchart illustrating an example of an eighth control processing procedure according to the present invention.
FIG. 29 is a flowchart illustrating an example of a ninth control processing procedure according to the present invention.
FIG. 30 is a flowchart illustrating an example of a tenth control processing procedure according to the present invention.
FIG. 31 is a flowchart illustrating an example of an eleventh control processing procedure according to the present invention.
FIG. 32 is a flowchart illustrating an example of a twelfth control processing procedure according to the present invention.
FIG. 33 is a schematic diagram showing an example of a data input / output table having a parent-child relationship in the present invention.
FIG. 34 is a schematic diagram of a screen displayed when executing a web application program generated when “update list details” is selected as the business pattern in the program generation device of the present invention and the input / output table has a parent-child relationship. is there.
FIG. 35 is a schematic diagram schematically showing the JSP file generation when “update list details” is selected as the business pattern in the program generation device of the present invention and the input / output table has a parent-child relationship.
FIG. 36 is a flowchart illustrating an example of a thirteenth control processing procedure according to the present invention.
FIG. 37 is a schematic diagram of a screen displayed when a web application program generated without using a tag function is executed.
FIG. 38 is a schematic diagram showing an example of a data input / output table having a tag function according to the present invention.
FIG. 39 is a schematic diagram showing an example of a physical specification table when a tag function is provided in the present invention.
FIG. 40 is a schematic diagram of a screen displayed when a web application program generated when the program generation device of the present invention has a tag function is executed.
FIG. 41 is a flowchart illustrating an example of a fourteenth control processing procedure according to the present invention.
FIG. 42 is a schematic diagram showing an example of a data input / output table in which a combo box is arranged in the present invention.
FIG. 43 is a schematic diagram of a screen displayed at the time of executing a web application program generated when the program generation device of the present invention has a combo box arrangement screen.
FIG. 44 is a flowchart illustrating an example of a fifteenth control processing procedure according to the present invention.
FIG. 45 is a schematic diagram for schematically explaining a web application development method according to the fifth embodiment of the present invention.
FIG. 46 is a schematic diagram showing an example of a physical specification input screen according to the fifth embodiment of the present invention.
FIG. 47 is a diagram illustrating a memory map of a recording medium that stores various data processing programs that can be read by the program generation device according to the present invention.
[Explanation of symbols]
101 Input device
102 Display device
103 Processing unit (CPU, RAM, ROM)
104 External storage device (hard disk)
105 Screen control unit
116 Business specification description section
117 Physical Specification Description Section
106 Specification analysis unit
107 Code generator
108 Overall control unit
109 Input / output table
110 Physical specification table
111 Business pattern selection information
112 JSP code
113 Servlet code
114 Bean Code
115 Database
Claims (8)
複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段に記憶させる第1の入力手段と、
前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段に記憶させる第2の入力手段と、
前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段に記憶させる選択手段と、
前記第1〜第3の記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第1のプログラムの生成,前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成をそれぞれ行い、第4の記憶手段に記憶させる生成手段と、
を有することを特徴とするプログラム生成装置。In a program generation device for generating a web application program,
First input means for inputting business specification information including a definition of a plurality of data items and a relationship between the data items, and storing the input result in a first storage means;
Second input means for inputting physical specification information indicating a display attribute of an input / output screen for inputting and outputting each data item defined in the business specification information, and storing the input result in a second storage means;
Selecting means for selecting any one of the business patterns from a plurality of business patterns defining a combination of the screen pattern of the input / output screen and the processing accompanying the screen pattern, and storing the selection result in a third storage means;
Each of the business specification information, the physical specification information, and the business pattern selection result is read from the first to third storage units, and based on each of the read information, each of the data items defined in the business specification information is read. A corresponding database is constructed, a first program for accessing the database is generated, and an input / output screen of each data item defined in the business specification information is changed to a screen defined by the selected business pattern. Generating a second program for displaying with a pattern and a display attribute specified by the physical specification information, acquiring input information from the input / output screen, and acquiring the first program and the second program based on the input information. Generating means for respectively generating a third program for controlling execution of the second program and storing the generated third program in a fourth storage means;
A program generation device, comprising:
前記生成手段は、前記第2のプログラムを、前記各グループに対応する入出力画面が前記親子関係に応じて画面遷移表示するプログラムとして生成することを特徴とする請求項1記載のプログラム生成装置。The first input means is capable of grouping the plurality of data items and inputting business specification information defining a parent-child relationship between the groups,
2. The program generating apparatus according to claim 1, wherein said generating means generates the second program as a program for displaying an input / output screen corresponding to each group in a screen transition according to the parent-child relationship.
前記生成手段は、前記第2のプログラムを、前記各グループに対応する各入出力画面をタグ画面として表示するプログラムとして生成することを特徴とする請求項1記載のプログラム生成装置。The first input means is capable of grouping the plurality of data items and inputting business specification information defining that each input / output screen corresponding to each group has a tag screen relationship,
2. The program generation device according to claim 1, wherein the generation unit generates the second program as a program that displays each input / output screen corresponding to each group as a tag screen.
前記生成手段は、前記第2のプログラムを、前記業務仕様情報に対応する入出力画面の参照元となるデータ項目の入力欄に参照先となるデータ項目のデータを選択リストとして配置するプログラムとして生成することを特徴とする請求項1記載のプログラム生成装置。The first input means can input business specification information that defines that a certain data item has a relationship of referring to another data item,
The generation means generates the second program as a program for arranging, as a selection list, data of a data item to be referred to in an input column of a data item to be a reference source of an input / output screen corresponding to the business specification information. The program generation device according to claim 1, wherein
複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第1の記憶手段に記憶させる第1の入力工程と、
前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第2の記憶手段に記憶させる第2の入力工程と、
前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第3の記憶手段に記憶させる選択工程と、
前記第1〜第3の記憶手段から前記業務仕様情報,物理仕様情報,業務パターンの選択結果をそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第1のプログラムの生成,前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第2のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第1のプログラム及び第2のプログラムの実行を制御するための第3のプログラムの生成をそれぞれ行い、第4の記憶手段に記憶させる生成工程と、
を有することを特徴とするプログラム生成方法。In a program generation method in a program generation device for generating a web application program,
A first input step of inputting business specification information including a definition of a plurality of data items and a relationship between the data items, and storing the input result in a first storage unit;
A second input step of inputting physical specification information indicating a display attribute of an input / output screen for inputting / outputting each data item defined in the business specification information, and storing the input result in a second storage unit;
A selection step of selecting one of a plurality of business patterns defining a combination of a screen pattern of the input / output screen and a process accompanying the screen pattern, and storing the selection result in a third storage unit;
The business specification information, the physical specification information, and the selection result of the business pattern are read out from the first to third storage units, and based on the read information, the business specification information, the physical specification information, and the business pattern information are added to the data items defined in the business specification information. A corresponding database is constructed, a first program for accessing the database is generated, and an input / output screen for each data item defined in the business specification information is defined by the selected business pattern. Generating a second program for displaying with a pattern and a display attribute specified by the physical specification information, acquiring input information from the input / output screen, and acquiring the first program and the second program based on the input information. Generating a third program for controlling execution of the second program and storing the generated third program in a fourth storage unit;
A program generation method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108036A JP4386243B2 (en) | 2003-04-11 | 2003-04-11 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003108036A JP4386243B2 (en) | 2003-04-11 | 2003-04-11 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004318260A true JP2004318260A (en) | 2004-11-11 |
JP4386243B2 JP4386243B2 (en) | 2009-12-16 |
Family
ID=33469702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003108036A Expired - Fee Related JP4386243B2 (en) | 2003-04-11 | 2003-04-11 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4386243B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133680A (en) * | 2005-11-10 | 2007-05-31 | Sony Corp | Electronic equipment and its setting item initialization method |
JP2007164503A (en) * | 2005-12-14 | 2007-06-28 | Toray Ind Inc | System production method, system and program, and data structure of definition information used in system production |
JP2007280189A (en) * | 2006-04-10 | 2007-10-25 | Toshiba Corp | Program generation device, method and program |
JP2008293101A (en) * | 2007-05-22 | 2008-12-04 | Hitachi Ins Software Ltd | Business process construction support system, business process construction support method, and business process construction support program |
JP2013235388A (en) * | 2012-05-08 | 2013-11-21 | Nomura Research Institute Ltd | Application development support system and application development support program |
JP2018116750A (en) * | 2018-05-07 | 2018-07-26 | キヤノンマーケティングジャパン株式会社 | Information processing apparatus, control method for information processing apparatus, and program |
JP2020194251A (en) * | 2019-05-27 | 2020-12-03 | 有限会社イーグルコンピューターシステム | Business system construction device, business system construction method, and business system construction program |
CN112470116A (en) * | 2018-07-27 | 2021-03-09 | 西铁城时计株式会社 | Program creation system, program, and creation terminal device |
-
2003
- 2003-04-11 JP JP2003108036A patent/JP4386243B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007133680A (en) * | 2005-11-10 | 2007-05-31 | Sony Corp | Electronic equipment and its setting item initialization method |
US8086966B2 (en) | 2005-11-10 | 2011-12-27 | Sony Corporation | Electronic apparatus and method of initializing setting items thereof |
JP2007164503A (en) * | 2005-12-14 | 2007-06-28 | Toray Ind Inc | System production method, system and program, and data structure of definition information used in system production |
JP2007280189A (en) * | 2006-04-10 | 2007-10-25 | Toshiba Corp | Program generation device, method and program |
JP2008293101A (en) * | 2007-05-22 | 2008-12-04 | Hitachi Ins Software Ltd | Business process construction support system, business process construction support method, and business process construction support program |
JP2013235388A (en) * | 2012-05-08 | 2013-11-21 | Nomura Research Institute Ltd | Application development support system and application development support program |
JP2018116750A (en) * | 2018-05-07 | 2018-07-26 | キヤノンマーケティングジャパン株式会社 | Information processing apparatus, control method for information processing apparatus, and program |
CN112470116A (en) * | 2018-07-27 | 2021-03-09 | 西铁城时计株式会社 | Program creation system, program, and creation terminal device |
CN112470116B (en) * | 2018-07-27 | 2024-02-13 | 西铁城时计株式会社 | Program creation system, program, and creation terminal device |
JP2020194251A (en) * | 2019-05-27 | 2020-12-03 | 有限会社イーグルコンピューターシステム | Business system construction device, business system construction method, and business system construction program |
JP7489690B2 (en) | 2019-05-27 | 2024-05-24 | 有限会社イーグルコンピューターシステム | Business system construction device, business system construction method, and business system construction program |
Also Published As
Publication number | Publication date |
---|---|
JP4386243B2 (en) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101038896B1 (en) | A computer readable medium having recorded thereon a system, method and method for generating a service program. | |
US7873946B2 (en) | Scalable vector graphics, tree and tab as drag and drop objects | |
US20150089339A1 (en) | Systems and methods for creating or updating an application using website content | |
KR101275871B1 (en) | System and method for producing homepage in SaaS ENVIRONMENT, A computer-readable storage medium therefor | |
US20040215719A1 (en) | Method and system for designing, editing and publishing web page content in a live internet session | |
KR20150058237A (en) | Method and system for simplified knowledge engineering | |
JP5588695B2 (en) | Content sharing system | |
CN113158651A (en) | Web server system and demonstration application generation method | |
Rojas | Building progressive web applications with vue. js: Reliable, fast, and engaging apps with vue. js | |
Palermo et al. | ASP. NET MVC 4 in Action: Revised edition of ASP. NET MVC 2 in Action | |
JP4386243B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM | |
JP7014960B2 (en) | Information processing equipment, servers, their processing methods and programs | |
JP4959501B2 (en) | Information processing apparatus, information processing method, and program | |
JP5023038B2 (en) | Program generating program and program generating apparatus | |
JP4976783B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM | |
Radford | Learning Web Development with Bootstrap and AngularJS | |
JP6836077B2 (en) | Information processing device and its processing method and program | |
JP2005078119A (en) | Support system and method for software development support, program, and recording medium | |
US20200160273A1 (en) | Geolocation web page generation system | |
KR102228241B1 (en) | Method and system for virtual input on the web | |
US20240427565A1 (en) | Autocomplete feature for code editor | |
JP7421137B2 (en) | Information processing device, information processing method and program | |
JP7397368B2 (en) | Information processing device and its processing method and program | |
JP7210093B2 (en) | Information processing device, its processing method and program | |
KR20130040167A (en) | System for producing homepage in saas environment, a computer-readable storage medium therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060407 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090827 |
|
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: 20090924 |
|
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: 20090924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4386243 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141009 Year of fee payment: 5 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |