JP2004318260A - Program generating device, program generating method, program, and recording medium - Google Patents

Program generating device, program generating method, program, and recording medium Download PDF

Info

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
Application number
JP2003108036A
Other languages
Japanese (ja)
Other versions
JP4386243B2 (en
Inventor
Hiroyuki Nakagawa
裕之 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon IT Solutions Inc
Original Assignee
Canon Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Software Inc filed Critical Canon Software Inc
Priority to JP2003108036A priority Critical patent/JP4386243B2/en
Publication of JP2004318260A publication Critical patent/JP2004318260A/en
Application granted granted Critical
Publication of JP4386243B2 publication Critical patent/JP4386243B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily carry out development of a Web application with superior maintainability which flexibly copes with change of a system environment, to reduce a burden of a design developer, and to speed up design development. <P>SOLUTION: Inputs of work specifications and physical specifications and selection of a work pattern are carried out. On the basis of a selection result of the work specifications, physical specifications, and work pattern, a database is constructed corresponding to each data item defined by the work specifications. A Bean is generated for carrying out access to the database. An JSP is generated for displaying an input/output image plane of each data item defined by work specifications information. A Servlet is generated for acquiring input information from the input/output image plane and controlling execution of the Bean and JSP on the basis of the input information. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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 (database 115 shown in FIG. 1) corresponding to each data item defined in the specification information (step S201 in FIG. 21), and a first program for accessing the database (shown in FIG. 1) Bean 114) (step S202 in FIG. 21, flowchart shown in FIG. 22), and each of the definitions defined in the business specification information. Generation of a second program (JSP 112 shown in FIG. 1) for displaying the input / output screen of the data item with the screen pattern specified by the selected business pattern and the display attribute specified by the physical specification information. Step S204 in FIG. 21, flowcharts shown in FIGS. 24 and 26 to 32), and obtaining input information from the input / output screen and executing the first program and the second program based on the input information. (Step S203 in FIG. 21, flowchart shown in FIG. 23), respectively, to generate a third program (servlet 113 shown in FIG. 1) for controlling the third program (the external storage device shown in FIG. 1). 104 or another storage device of the server device) (a code generation unit 107 shown in FIG. 1).
[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, reference numeral 101 denotes an input device, which corresponds to a pointing device such as a keyboard or a mouse, and has business specification information (arrangement of data items in a database and a relationship between data items, that is, under what conditions Input information such as information indicating what data is required from the user), and physical specification information (condition information such as arrangement, color, presence / absence, size, etc. used when generating the program code of the display screen), It is possible to select a business pattern (which defines a combination of a screen display pattern and a logic associated with the screen display pattern).
[0021]
Reference numeral 102 denotes a display device which includes a CRT, an LCD, and the like, and is capable of displaying an input screen for business specification information and physical specification information, business specification information and physical specification information input from the input screen, a generated program code, and the like. It is. Reference numeral 104 denotes an external storage device such as a hard disk, which is an input / output table 109 for storing input business specifications, a physical specification table 110 for storing input physical specifications, business pattern selection information 111, and a generated program. The code (JSP code 112, Servlet code 113, Bean code 114) and the like are stored.
[0022]
A processing unit 103 includes a CPU, a ROM, a RAM, and the like, and is realized by the CPU loading a program stored in the ROM, the external storage device 104, or another recording medium onto the RAM and executing the program. Yes, a screen control unit 105, a specification analysis unit 106, and a code generation unit 107 are provided.
[0023]
The screen control unit 105 controls the screen (FIGS. 4 and 5 described later) of the display device 102 to input the business specification information from the input device 101, and transmits the physical specification information from the input device 101. It comprises a physical specification description section 117 for controlling screens (FIGS. 8 to 11 described later) of the display device 102 for inputting and selecting a business processing pattern.
[0024]
The specification analysis unit 106 performs lexical analysis and grammatical analysis on business specification information and physical specification information input from the input device 101 or read from the external storage device 104. The code generation unit 107 generates program codes (JSP code 112, Servlet code 113, and Bean code 114) based on the business specification information, physical specification information, and business pattern selection information analyzed by the specification analysis unit 106. Then, it is stored in the external storage device 104. Further, the code generation unit 107 builds a database (DB) 115 on the external storage device 104 based on the task specification information (input / output table 109) read from the external storage device 104.
[0025]
Reference numeral 108 denotes an overall control unit that controls each unit such as a screen control unit 105, a specification analysis unit 106, and a code generation unit 107.
[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 code generation unit 107 illustrated in FIG.
[0027]
The servlet, JSP, and Bean generated by the code generation unit 107 are placed in an executable state on the application server 306 on the server 304 side.
[0028]
This Web application system is used by the web browser 302 from the client 301. By accessing the JSP 309 from the web browser 302, an HTML page is generated and returned to the client 301. Then, an HTML page 303 transmitted from the JSP 309 is displayed on the web browser 302.
[0029]
A request from the web browser 302 is transmitted to the server 304 via HTTP. The server 304 includes an HTTP server 305 and an application server 306, and the application server 306 includes a servlet and a JSP execution environment.
[0030]
When the request is transmitted to the server 304, the corresponding servlet 307 is started in response to the request. The servlet 307 requests the corresponding Bean 308 for processing. Further, the Bean 308 accesses the database 311 using the DB access object 310, performs processing related to business, performs data processing, and holds the processing result. The DB access object 310 is a class created as a result of analyzing and designing a business or an existing class that can be reused.
[0031]
Next, the Bean 308 is passed from the servlet 307 to the JSP 309, and the JSP 309 is called. The JSP 309 generates an HTML page with reference to the processing result held in the Bean 308 and returns the HTML page to the client 301 side. The HTML page returned to the client 301 is displayed on the Web browser 302.
[0032]
The servlet 307 has a role of connecting and controlling the reception of a request from the Web browser 302, the processing request to the Bean 308, and the invocation of the JSP 309. The JSP 309 is responsible for display related to outputting an HTML page, and the Bean 308 is responsible for processing related to operations such as access to the database 311. Although it is possible to process a request from the Web browser 302 only with the servlet 307 without using the Bean 308 or the JSP 309, the roles are clearly separated by using the Bean 308 or the JSP 309, thereby sharing the functions. Can be grasped concisely.
[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 processing device 103 illustrated in FIG. In addition, S101 to S107 indicate each step.
[0034]
The processing device 103 shown in FIG. 1 includes an input mode for inputting a business specification (input / output table) or a physical specification table for generating a code and selecting a business pattern, and for inputting the business specification (input / output table) or a physical specification. A generation mode for generating a program code from a table and business pattern selection information.
[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 input device 101 is the generation mode or the input mode. If it is determined that the input mode is selected, Proceeding to step S102, the overall control unit 108 activates the screen control unit 105.
[0036]
In step S103, the activated screen control unit 105 causes the business specification description unit 116 to display a business specification input screen (FIGS. 4 and 5 described later), and displays the application name of the web application to be generated and the business specification from the operator. An item input to an input / output table, which is one mode, is received, and the input / output table is stored in the external storage device 104.
[0037]
Next, the screen control unit 105 activates the physical specification description unit 117 in step S104. The activated physical specification description unit 117 displays a physical specification input screen (FIGS. 8 to 11 described later), accepts input from an operator to a physical specification table, which is a form of physical specification, and selection of a business pattern. The physical specification table and the business pattern selection information are stored in the external storage device 104, respectively, and the process ends.
[0038]
On the other hand, in step S101, when it is determined that the mode selected by the operator from the input device 101 is the generation mode, the process proceeds to step S105, and the overall control unit 108 stores the input mode stored in the external storage device 104. The output table and the physical specification table are read, and at the same time, the specification analysis unit 106 is activated to perform lexical analysis and grammatical analysis of the read input / output table and the physical specification table.
[0039]
Next, in step S106, the overall control unit 108 activates the code generation unit 107, and the input / output table and the physical specification table on which the lexical analysis and grammar analysis have been performed by the specification analysis unit 106, and the selected business pattern The code generation and the database construction are performed based on.
[0040]
Then, in step S107, the overall control unit 108 performs an output process of displaying the generated code on the display device 102 or writing the generated code into the external storage device 104 according to an instruction of the operator.
[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 specification description unit 116. As a result, a business specification input screen shown in FIG. 4 to be described later is displayed on the display device 102, and the operator uses the input device 101 to input business specifications from the business specification input screen.
[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 specification description unit 116.
[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 specification description unit 116.
[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, reference numeral 400 denotes an application name input area for inputting an application name (in this example, “ZyutychKanri”) of a web application to be generated.
[0050]
Reference numeral 401 denotes a data file number input area for inputting a data file number (in this example, "Zyutych Kanri" (may be the same as the application name)) which is identification information of a web application to be generated, and is shown in FIG. It is stored in column 1 of the input / output table. Reference numeral 402 denotes a file name input area for inputting a data file name (in this example, “order management”) of a web application to be generated, and is stored in column 3 of the input / output table shown in FIG. A description input area 403 and a remarks input area 404 are used to input a description of a web application to be generated. Reference numeral 405 denotes a delete button. By designating this button with a mouse or the like, the corresponding data file is deleted. Reference numeral 406 denotes a detail button. By pointing this button with a mouse or the like, an item input screen (FIG. 5) for inputting each item information (data item) of the corresponding data file is displayed.
[0051]
5, reference numeral 501 denotes an arrangement order input area for inputting the arrangement order (1, 2, 3,...) Of corresponding data items, which is stored in the column 10 of the input / output table shown in FIG. You. Reference numeral 502 denotes a data item number input area for inputting data item numbers (in this example, nine items including “DenpyNo” (only six items are shown in FIG. 5)) which are identification information of the corresponding data items. This is stored in column 2 of the input / output table shown in Fig. 6. Reference numeral 503 denotes a data item name input area for inputting the name of the corresponding data item (9 items including "slip number" in this example). And stored in column 4 of the input / output table shown in FIG.
[0052]
Reference numeral 504 denotes a key function designation area for designating the key type of the corresponding item data, which is stored in column 5 of the input / output table shown in FIG. The key type is "K" indicating a primary key, "S" indicating a second key, "R" indicating that the item is a reference relationship, and the item is a child in a parent-child relationship. "P" indicating that a tag screen (button) is displayed.
[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 columns 6 and 7 of the input / output table shown in FIG.
[0054]
Reference numeral 505 denotes a digit number input area for inputting the digit number of the corresponding data item, and is stored in the column 8 of the input / output table shown in FIG. Reference numeral 506 denotes a data type input area for inputting the data type (text, numerical value, date, currency, etc.) of the corresponding data item, and is stored in the column 11 of the input / output table shown in FIG. Reference numeral 509 denotes an expression input area, which represents code generation auxiliary information. For example, when the data item is calculated from other data items, the calculation expression is described, and a tag screen generation (key) When the function designation area is "B") or the like, it is used to designate the panel name to be tagged, and is stored in the column 9 of the input / output table shown in FIG.
[0055]
Reference numeral 510 denotes a delete button. By pointing this button with a mouse or the like, the corresponding data item is deleted. Reference numeral 511 denotes a close button, and when this button is designated with a mouse or the like, the data item input screen is terminated. Reference numeral 512 denotes an apply button. By instructing this button with a mouse or the like, an input / output table is generated from the business specifications input on the business specification input screen (FIG. 4) and the data item input screen (FIG. 5). Stored in device 104.
[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 detailed display 201 and a list display 202.
[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 specification description unit 117. In the drawings, the same components are denoted by the same reference numerals.
[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, reference numeral 701 denotes a data file selection area for selecting a data file for inputting physical specifications (in this example, “order management ZyutychKanri”). Reference numeral 704 denotes a screen tag which is selected when physical specifications relating to the entire screen are to be input. By selecting this tag, a screen shown in FIG. 8 is displayed. Reference numeral 705 denotes a file tag, which is selected when physical specifications relating to a file are input. By selecting this tag, a screen shown in FIG. 10 is displayed. Reference numeral 706 denotes an item tag, which is selected when inputting physical specifications relating to each item. When this tag is selected, a screen shown in FIG. 11 is displayed.
[0062]
A reset button 702 is selected when the input on this screen is returned to an initial value. An apply button 703 is applied when updating a physical table by inputting on this screen. A background color designation area 708 can designate a background color of the web application screen. By instructing the button 708a, a color selection screen shown in FIG. 9 is displayed, and the background color can be selected.
[0063]
A background wallpaper designation area 709 can designate a background wallpaper on the web application screen. Reference numeral 710 denotes a detail size designation area for designating the size of the detail display (the detail display 201 in FIG. 7) of the web application screen. A list size designation area 711 can designate the size of the list display (the list display 202 in FIG. 7) of the web application screen. A screen type designation area 712 can designate a business pattern. The business patterns include a list display pattern, a detailed display pattern, an update pattern, a list update pattern, a search list pattern, a list details pattern, a list details update pattern, and the like, as shown in FIGS.
[0064]
In FIG. 10, reference numeral 901 denotes an area for specifying the thickness of the list frame line, 902 denotes an area for specifying the color of the list frame line, 903 denotes an area for specifying the list horizontal size, and 904 denotes an area for specifying the list vertical size. .
[0065]
Reference numeral 905 denotes a screen type designation area for designating (selecting) a business pattern (one of list display, detailed display, update, list update, search list, list detail, and list detail update shown in FIGS. 13 to 19 described later). And has the same function as the screen type designation area 712 (FIG. 8). An area 906 for specifying the number of display lines is an area for specifying the number of display lines for the list display. Reference numeral 907 denotes an additional line number designation area for specifying the number of additional lines for adding data when "update list" or the like is selected in the screen type (business pattern).
[0066]
A reset button 908 is selected when the input on this screen is returned to the initial value. An apply button 909 is used to update a physical table by inputting on this screen.
[0067]
In FIG. 11, reference numeral 1001 denotes a data item specification area, which is an area for specifying data items for inputting physical specifications. A detail display format designation area 1004 is used to select whether the item designated in the data item designation area 1001 is "displayed" or "not displayed" in the detail display. A list display format designation area 1005 is used to select whether the item designated in the data item designation area 1001 is to be displayed or not displayed in the list display.
[0068]
A reset button 1002 is selected when the input on this screen is returned to an initial value. An apply button 1003 is applied when updating the physical table by inputting on this screen.
[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 column 1. 2 indicates “DenpyNo”. The meta source code in column 3 represents a conditional expression for generating a program code, and the value of this conditional expression is represented by the parameter value in column 4.
[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 format designation area 1004 in FIG.
[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 format designation area 1005 in FIG.
[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 data display area 1501 of each item can be input. By inputting a key item and instructing a “display” button 1505, the database can be searched and the search result can be displayed. Also, by changing the data displayed in the data display area 1501 and instructing an “update” button 1502, the data can be updated in the database.
[0080]
Also, by inputting new data in the data display area 1501 and instructing a “new” button 1503, it is possible to newly register data displayed in the data display area in the database. Further, by instructing a “delete” button 1504, the data displayed in the data display area 1501 can be deleted from the database.
[0081]
By instructing a “cancel” button 1506, data displayed in the data display area 1501 can be cleared. Further, by instructing a “close” button 1507, the update screen can be closed.
[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” button 1601 is provided for each record (one line), and by instructing this button, the corresponding record can be deleted from the screen. Further, the data in the data display area 1603 of the row provided with the “Delete” button 1601 can be changed.
[0085]
Further, a line to which a character string 1602 for “addition” is added instead of the “delete” button 1601 is a data addition line. By inputting data in the data display area 1603 of this line, the record is displayed on the screen. Can be added.
[0086]
Reference numeral 1604 denotes an "apply" button. By instructing this button, the database can be updated by making the input on this list update screen valid.
[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 key input area 1701 for inputting a search key and a list display area 1702 for displaying a list of search results. .
[0089]
In the search key input area 1701, each item is vertically arranged, and each item name and its value are configured in a one-to-one relationship. When a key item is input to any of the items shown in the data input area 1703, " By instructing the "search" button 1706, the database can be searched and the search results can be displayed in a list in the order management list (list display area 1702).
[0090]
By instructing a "cancel" button 1704, the data input to the data input area 1703 can be cleared. Further, by instructing a “close” button 1705, the search list screen can be closed.
[0091]
In the list display area 1702, each item is arranged side by side, each item name and its value are configured in a one-to-n relationship, and a search result of the database is displayed as a list (occurrence display).
[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 list display window 1801 and a detail display window 1802.
[0094]
In the list display window 1801, each item is arranged side by side, and each item name and its value are configured in a one-to-n relationship. The list display window 1801 is used as a list display of data in the database (so-called occurrence display) and the like. Is not attached.
[0095]
A “details” button 1803 is provided for each record (one line), and when this button is designated, a detailed display window 1802 is displayed in a pop-up, and detailed information of the corresponding record is displayed in the detailed display window 1802. Can be displayed in the data display area 1804.
[0096]
The detail display window 1802 is a table in which each item is arranged vertically, each item name and its value are in a one-to-one relationship, and detailed information of a record for which the “detail” button 1803 in the list display window 1801 is designated is data. It is only displayed on the display area 1804 and does not have a data input function.
[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 list display window 1901 and a detailed search window 1902.
[0099]
In the list display window 1901, each item is arranged side by side, and each item name and its value are configured in a one-to-n relationship. The list display window 1901 is used as a list display of data in a database (so-called occurrence display) or the like. Is not attached.
[0100]
A “details” button 1903 is provided for each record (one line). By instructing this button, a detailed search window 1902 is displayed in a pop-up, and detailed information of the corresponding record is displayed in the detailed search window 1902. In the data display area 1905.
[0101]
Also, when the add button 1904 is instructed, a detailed search window 1902 is displayed in a pop-up, and detailed information of a new record can be added in the detailed search window 1902.
[0102]
The detailed search window 1902 is configured such that each item is arranged vertically, each item name and its value are in a one-to-one relationship, and has functions such as updating, newly registering, deleting, and displaying (searching) data in the database.
[0103]
The data display area 1905 of each item can be input. By inputting a key item and instructing a “display” button 1909, the database can be searched and the search result can be displayed. Further, by changing the data displayed in the data display area 1905 and instructing an "update" button 1906, the data can be updated in the database.
[0104]
Also, by inputting new data in the data display area 1905 and instructing a “new” button 1907, it is possible to newly register data displayed in the data display area in the database. Further, by instructing a "delete" button 1908, data displayed in the data display area 1905 can be deleted from the database.
[0105]
By instructing a “cancel” button 1910, the data displayed in the data display area 1905 can be cleared. Further, by instructing a “close” button 1911, the detailed search window 1902 can be closed.
[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 code generation unit 107 illustrated in FIG. 1 will be described with reference to FIGS.
[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 code generation unit 107 illustrated in FIG. In addition, S201 to S204 indicate each step.
[0109]
First, in step S201, a database 115 for storing each item data in the input / output table 109 is constructed (generated) on the external storage device 104 based on the task specification information stored in the input / output table 109. I do. At this time, in column 5 of the input / output table 109, the items set to the primary key “K” and the sub key “S” are the primary key and the sub key. This database 115 is a database using, for example, SQL.
[0110]
Next, in step S202, a Bean 114 for accessing the database 115 constructed in step S201 is generated based on the input / output table 109 and the business pattern selection information 111 (details are shown in FIG. 22).
[0111]
Next, in step S203, based on the input / output table 109 and the business pattern selection information 111, input data from a web browser is acquired to generate a servlet 113 for controlling the entire web application (details are shown in FIG. 23). .
[0112]
Next, in step S204, a JSP 112 that controls display on the web browser (controls output of the screens illustrated in FIGS. 13 to 19 to the web browser) is generated (details are illustrated in FIGS. 24 to 32). .
[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 pattern selection information 111 is one of “update”, “list update”, and “list detail update”, in steps S303 to S306, the database update Bean, An addition bean, a deletion bean, and a search bean, that is, a bean for performing an update process, an addition process, a deletion process, and a search process for a database are generated, and the bean generation process ends.
[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 list display window 1801 and the detail display window 1802 shown in FIG. Servlet). When the servlet for the list display window obtains input information indicating that the “details” button 1803 has been instructed on the list display window 1801, the search bean is called to search the information of the corresponding record. Then, a code for calling the JSP for the detail display window is described. Thus, when the “details” button 1803 is designated on the list display window 1801, the detail display window 1802 pops up, and the detailed information of the corresponding record is displayed.
[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” button 1903 and “add” button 1904 have been instructed on the list display window 1901, the (“detail” button 1903 is When instructed, a code for calling the search Bean to search the information of the corresponding record and calling the JSP for the detail update window is described. When the “Details” button 1903 or “Add” button 1904 is designated on the list display window 1901, a detailed search window 1902 pops up. In particular, when the “Details” button 1903 is designated, detailed information of the corresponding record is displayed. Is displayed in the detailed search window 1902.
[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 detailed search window 1902. , A bean for addition, a bean for deletion, and a bean for search are respectively called and executed, and a code for calling the JSP for the detail update window is described.
[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 title display code 2501 for displaying the list title and the detailed title for displaying the detailed title are obtained from the data file name in the column 3 of the input / output table 109. A display code 2503 is generated in the JSP.
[0136]
Further, a list display code 2502 for displaying a list and a detail display code 2504 for displaying details are generated in the JSP from the data item names in column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 9 of the input / output table 109, the input of the item data input area is performed by converting the business logic to a script such as JavaScript (registered trademark). It is described in the JSP file so as to be controlled by the language (the same logic may be executed in a servlet or a Bean). The business logic is "[8]> = 10, 0, 1" when the number of orders in the item arrangement order "8" is specified to be a value equal to or more than "10", for example. Is "0 (true)", the input of the number of orders in the arrangement order "8" is accepted, while if "1 (false)", an error message or the like is displayed and the input of the number of orders is not accepted. As described above, it is described in a script language such as JavaScript (registered trademark).
[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 column 4 of the input / output table 109.
[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 step S 906, “the process of step S 907 is repeated by the total number of records acquired from Bean in step S 602 + an additional row numerical value (input in 907 in FIG. 10) set in the business specification table 110 ( Loop) is generated in the JSP file.
[0166]
Next, in step S 907, for the item whose “ListType” value of the current record is displayed “0”, the “delete” button and the item data input area of the item are obtained from Bean as the initial value. Generated as the item data (the search result of S902) are generated in the JSP file. If the data of the current record is empty, a code for displaying the character string "add" is generated instead of the "delete" button.
[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 column 9 of the input / output table 109, the input of the item data input area is controlled by Java (registered trademark) Script. In the JSP file. This business logic is described in a script language such as Java (registered trademark) Script such as “[8]> = 10, 0, 1” when the number of orders is specified as “10” or more. Is what you do.
[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 column 4 of the input / output table 109, for example.
[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 column 9 of the input / output table 109, the input of the item data input area is controlled by Java (registered trademark) Script. (A similar logic may be executed in a servlet or a Bean). This business logic is described in a script language such as Java (registered trademark) Script such as “[8]> = 10, 0, 1” when the number of orders is specified as “10” or more. I do.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 4 of the input / output table 109.
[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 column 9 of the input / output table 109, the input of the item data input area is controlled by Java (registered trademark) Script. (A similar logic may be executed in a servlet or a Bean). This business logic is described in a script language such as Java (registered trademark) Script such as “[8]> = 10, 0, 1” when the number of orders is specified as “10” or more. Is what you do.
[0210]
As described above, the code generation unit 107 controls the input / output of each data file item from the input / output table, the physical specification table, and the business pattern selection information by using a JSP (including a script language such as Java (registered trademark) Script). ), Servlet, and Bean that controls access to the database for each data file item.
[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 data file 3302 having a data file name “order details” are defined.
[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 reference numerals 3304 and 3305, the parent target data file number is specified in the data file number of the data file 3301, and the parent target data file item number is specified in the data item 3306.
[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 function designation area 504, and a reference destination file number input area 507 and a reference destination data item In the number input area 508, “ZyutychKanri” and “DenpyNo” are designated as the parent target data file numbers. Thereby, the input / output table having the parent-child relationship shown in FIG. 33 can be generated.
[0219]
When the code generation unit 107 generates a code from the input / output table shown in FIG. 33, if the “update list details” pattern is selected in the business pattern, as shown in FIG. The JSP code is generated so that list detail display processing can be performed continuously for.
[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 list display window 3401 of “order management”, a window 3402 having a list of “order management” detailed search + “order details”, and an “order detail”. The detailed search window 3403 of FIG.
[0222]
By instructing the “Details” button 3404 or the “Add” button 3405 in the “order management” list display window 3401, a window 3402 including a list of “order management” detail search + “order details” is displayed. Pops up.
[0223]
By instructing a “Details” button 3406 or an “Add” button 3407 in a window 3402 provided with a detailed search of “order management” + a list of “order details”, a detailed search window 3403 of “order details” is designated. Pops up.
[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 display code 3503 for a parent data file list display screen is generated from the parent data file 3501 in the input / output table 109.
[0227]
Also, a JSP file (JSP2) including a display code 3504 for displaying the parent data file detailed search screen from the parent data file 3501 and a display code 3505 for displaying a child data file list from the child data file 3502 is generated. .
[0228]
Further, a JSP file (JSP3) including a display code 3506 for child data file detailed search display is generated from the child data file 3502.
[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 specification analysis unit 106 shown in FIG. 1 determines that there is a parent-child relationship in the input / output file 109, the process in this flowchart is replaced with the list detail update JSP generation process shown in FIG. It is assumed that the call is made in step S508 of FIG.
[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 list display window 3401 of “order management” shown in FIG. 34 and a detailed search of “order management” + “ A servlet (a servlet for a list display window of “Order Management”, a detailed search of “Order Management” + “Search”) is displayed in three windows, a window 3402 having a list of “Order Details” and a detailed search window 3403 of “Order Details”. It is assumed that a servlet for a list display window of “order details” and a servlet for a detailed search window of “order details” are generated.
[0238]
Then, the servlet for the “order management” list display window acquires input information indicating that the “detail” button 3404 and the “add” button 3405 have been instructed on the “order management” list display window 3401. In this case, (when the “Details” button 3404 is instructed, a search bean is called to search for the information of the corresponding record.) The JSP for the detailed search of “order management” + the list display window of “order details” The code for calling is described. Thus, when the “Details” button 3404 or the “Add” button 3405 is designated on the “order management” list display window 3401, the “order management” detailed search + “order details” list display window 3402 pops up. In particular, when the “Details” button 3404 is designated, the detailed information of the corresponding record is displayed in the detailed search of “order management” + list display window 3402 of “order details”.
[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 list display window 3402 of "order details". , "Delete", and "Display" buttons are called in response to the input of the instruction, the update bean, the addition bean, the deletion bean, and the search bean are respectively called and executed, and the detailed search of "order management" + It is assumed that a code for calling a JSP for a list display window of “order details” is described.
[0240]
Further, the servlet for the detailed search of “order management” + list display window of “order details” is provided by the “detail” button 3406 and the “add” button in the detailed search of “order management” + list display window 3402 of “order details”. When the "details" button 3406 is instructed, the retrieval bean is called to retrieve the information of the corresponding record. The code for calling the JSP for the detailed search window is described. In this way, when the “Details” button 3406 or the “Add” button 3407 is designated on the detailed search for “order management” + the “order details” list display window 3402, the detail search window 3403 for “order details” pops up. In particular, when the “Details” button 3406 is designated, the detailed information of the corresponding record is displayed in the detailed search window 3403 of “Order Details”.
[0241]
Further, the servlet for the “order details” detailed search window indicates that the “update”, “new”, “delete”, and “display” buttons on the “order details” detailed search window 3403 have been instructed. In accordance with the acquisition of the input information, the update bean, the addition bean, the deletion bean, and the search bean are respectively called and executed, and a code for calling a JSP for a detailed search window of “order details” is described. Shall be kept.
[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 panel screens 3701 to 3703 are sequentially arranged in a window, and there is a problem in operability and readability.
[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 data file 3801 having a data file number “Button” and data file numbers “Table01”, “Table02”, Data files 3802, 3803, and 3804 of “Table03” are defined. Note that the data file number “Button” is a reserved word for tag generation.
[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, reference numeral 3901 denotes a physical file corresponding to height information having a data file number of “Button” and a data file item number of “Panel01” (input in a height information input field (not shown) in a physical specification input screen). This is a record of the specification table, and is set to “100%” here.
[0249]
Reference numeral 3902 denotes a record of the physical specification table corresponding to the width information of the data file number “Button” and the data file item number of “Panel01” (entered in a width information input field (not shown) in the physical specification input screen). Here, "80%" is set.
[0250]
Reference numerals 3903 and 3904 are records of the physical specification table corresponding to the height information of the data file number “Button” and the data file item numbers “Panel02” and “Panel03”, and are set to “T” here. As described above, by setting the height information to “T”, “Table01”, “Table02”, and “Table03” are displayed as tags, “Table01” is displayed on the first surface, and “Table02” and “Table03” are displayed as tags. It can be seen that the screen is set as the panel screen after the second screen. When the value of PanelH is “T”, the setting of PanelW is omitted.
[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 tags 4001 to 4003 corresponding to panels 1 to 3, respectively.
[0253]
(A) is an initial state, and panel 1 is displayed.
[0254]
(B), the panel 2 is displayed with the tag 4002 specified.
[0255]
(C), the panel 3 is displayed with the tag 4003 instructed.
[0256]
When the tag 4001 is instructed in the states (b) and (c), the state shifts to the state (a) and the panel 1 is displayed.
[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 specification analysis unit 106 shown in FIG. 1 determines that there is a tag in the input / output file 109, instead of the JSP generation processing shown in FIG. Shall be called at
[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 data file 4201 having a data file name “order management”, a data file 4202 having a data file name “product master”, and a data file having a data file name “customer master”. A file 4203 is defined.
[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 data item 4211.
[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 data file 4202, and the reference destination data file item number is specified in the data item 4210.
[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, combo boxes 4301 and 4302 are provided.
[0274]
The combo box 4301 uses the “customer code” registered in the “customer master” as a combo box list, and can select a customer code from the list. In the combo box 4302, the “product code” registered in the “product master” is used as a combo box list, and a customer code can be selected from the list.
[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 specification analysis unit 106 shown in FIG. 1 determines that there is a combo box in the input / output file 109. Shall be.
[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 code generation unit 107 generates a code after the user inputs the business specifications and the physical specifications and selects the business pattern. The code generation unit 107 may be configured to generate code only on the display screen based on the default physical specifications and the default business pattern selection information. Thus, the user can check the display screen based on the generated code by previewing, and input a physical specification and select a business pattern. Hereinafter, the embodiment will be described.
[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 pattern selection information 2703 prepared in advance. The code generation unit 107 generates a skeleton (model) 2704 of the source code (only the display part).
[0286]
Then, after confirming the contents of the skeleton 2704, when the user inputs a physical specification and selects a business pattern, the code generation unit 107 transmits the input physical specification (physical specification table 2705) and the selected business pattern (business pattern). The web application program 2707 is generated from the selection information 2706).
[0287]
Note that the code generation performed by the code generation unit 107 after the input of the physical specifications and the selection of the business based on the business pattern is performed by selecting the source code generated from the input business specification (input / output table 2701), and executing JSP, servlet. , Bean, and other components.
[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 specification description unit 117.
[0289]
As shown in FIG. 46, the physical specification input screen according to this embodiment includes an input unit 4601 and a preview unit 4602.
[0290]
The input unit 4601 is for inputting physical specifications and selecting business specifications (screen type), and the preview unit 4602 is for performing preview display of the display screen generated by the code generation unit 107. When the physical specification input screen is activated, the code generation unit 107 generates the business specification (input / output table 2701), the default physical specification (default physical specification table 2702), and the default business pattern selection information 2703 input by the user. The preview screen is displayed.
[0291]
After inputting the physical specification and selecting the business specification (screen type) in the input unit 4601, the code generation unit 107 newly generates a code for the display screen by instructing an “apply” button 4603 or the like. It is assumed that it is displayed on preview section 4602.
[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 Bean code 114 for controlling access to the database (in this case, EJB (Enterprise Java (registered trademark) Beans)). Further, the program generation device generates the JSP code 112 and the servlet (Servlet) code 113 on the storage device of the server device on which the designated application server is mounted.
[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:
前記第1の入力手段は、前記複数のデータ項目をグループ化し、該グループ間の親子関係を定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第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.
前記第1の入力手段は、前記複数のデータ項目をグループ化し、各グループに対応する各入出力画面がタグ画面関係にあることを定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第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.
前記第1の入力手段は、あるデータ項目が他のデータ項目を参照する関係であることを定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第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記載のプログラム生成装置。2. The program generating apparatus according to claim 1, wherein 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 item data in a database. ウェブアプリケーションプログラムを生成させるためのプログラム生成装置におけるプログラム生成方法において、
複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第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:
請求項6に記載されたプログラム生成方法を実行するためのプログラム。A program for executing the program generation method according to claim 6. 請求項6に記載されたプログラム生成方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。A recording medium storing a computer-readable program for executing the program generation method according to claim 6.
JP2003108036A 2003-04-11 2003-04-11 PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM Expired - Fee Related JP4386243B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (11)

* Cited by examiner, † Cited by third party
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
US8788935B1 (en) Systems and methods for creating or updating an application using website content
KR101038896B1 (en) Service program generation technology
US7873946B2 (en) Scalable vector graphics, tree and tab as drag and drop objects
US20040215719A1 (en) Method and system for designing, editing and publishing web page content in a live internet session
KR101275871B1 (en) System and method for producing homepage in SaaS ENVIRONMENT, A computer-readable storage medium therefor
CN104798067B (en) Dictionary system and dictionary call method
JP5588695B2 (en) Content sharing system
KR20150058237A (en) Method and system for simplified knowledge engineering
US20080010586A1 (en) Enhanced handling of repeated information in a web form
JP4386243B2 (en) PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM AND RECORDING MEDIUM
JP4959501B2 (en) Information processing apparatus, information processing method, and program
JP5023038B2 (en) Program generating program and program generating apparatus
Gore Full-Stack Vue. js 2 and Laravel 5: Bring the frontend and backend together with Vue, Vuex, and Laravel
JP7014960B2 (en) Information processing equipment, servers, their processing methods and programs
Munro ASP. NET MVC 5 with Bootstrap and Knockout. js: Building Dynamic, Responsive Web Applications
Radford Learning Web Development with Bootstrap and AngularJS
JP4976783B2 (en) PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM
JP6836077B2 (en) Information processing device and its processing method and program
US20200160273A1 (en) Geolocation web page generation system
JP2005078119A (en) Support system and method for software development support, program, and recording medium
KR102228241B1 (en) Method and system for virtual input on the web
JP7421137B2 (en) Information processing device, information processing method and program
JP7210093B2 (en) Information processing device, its processing method and program
Williams Xamarin Blueprints
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