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

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

Info

Publication number
JP4695331B2
JP4695331B2 JP2003334589A JP2003334589A JP4695331B2 JP 4695331 B2 JP4695331 B2 JP 4695331B2 JP 2003334589 A JP2003334589 A JP 2003334589A JP 2003334589 A JP2003334589 A JP 2003334589A JP 4695331 B2 JP4695331 B2 JP 4695331B2
Authority
JP
Japan
Prior art keywords
data
item
program code
program
code
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.)
Expired - Lifetime
Application number
JP2003334589A
Other languages
English (en)
Other versions
JP2005100198A (ja
Inventor
裕之 中川
Original Assignee
キヤノンソフトウェア株式会社
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 キヤノンソフトウェア株式会社 filed Critical キヤノンソフトウェア株式会社
Priority to JP2003334589A priority Critical patent/JP4695331B2/ja
Publication of JP2005100198A publication Critical patent/JP2005100198A/ja
Application granted granted Critical
Publication of JP4695331B2 publication Critical patent/JP4695331B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、集計表とそれを制御するウェブアプリケーションの一連のプログラムコードを生成するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関するものである。
従来、アプリケーションにおける集計表作成ではデータテーブルに蓄えられた情報のうち、特定の情報を抽出することをねらった、特定観点のデータ集計を行い、集計表を作成する専用プログラムが提供されていた。
しかし、その様な手段ではデータテーブルの仕様変更や必要とされる情報の観点の変化の度に、新しく集計を行い集計表を作成するプログラムを作成しなければならなくなり、時間とコストの負担が大きいという問題があった。
この問題に対し特開2000−315242号公報に示される「集計表作成装置および集計表作成プログラム記憶媒体」では、複数のDBの項目を読みとり、その項目を画面上に集計表示し、ユーザーが集計表の項目として必要とする項目を選択し、どのような処理を行わせるか指示することで、データテーブルのデータから値を集計し、集計表として画面に表示するという技術が提示されている。
このように集計表の作成を単純化することで生産性が向上し、データテーブルの仕様変更や情報の観点の変化に柔軟に対応することが出来るようになった。
特開2000−315242号公報
しかしながら、上記特許文献1に示される従来の集計表作成装置は、集計表を作る専用アプリケーションを本来の業務アプリケーションとは別に用意するものであり、集計表の定義は業務アプリケーションとは別に定義しなくてはならず、非常に煩雑であった。
また、上記特許文献1に示される従来の集計表作成装置では、業務アプリケーションとの連携には変換・インポートプログラム等が必要となり、開発に時間がかかってしまい非効率的であるという問題点があった。
さらに、上記特許文献1に示される従来の集計表作成装置は、集計表のソート順変更などの単純な仕様変更があった場合には、再度、集計表の定義を行わなければならないという問題点があり、生産性、保守性、汎用性に問題がある。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、業務仕様の枠組みの中で集計表の生成と表示について定義し、ウェブアプリケーションプログラムのプログラムコードを自動生成できる。また、業務アプリケーションの定義と集計表の定義は同一のものを使用できるので生産性、保守性を格段に向上することができるプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体を提供することである。
本発明は、ウェブアプリケーションプログラムを生成するプログラム生成装置であって、複数のデータ項目のデータベースへの配置と、前記複数のデータ項目のうちいずれのデータ項目をどのように集計表に配置するかを指定する集計表配置情報と前記集計表の表形式の種別を示す集計表種別と前記複数のデータ項目のうちの1又は複数のいずれのデータ項目の単位でいずれのデータ項目のデータを集計するかを指定する集計単位情報とを指定する集計項目指定情報と、を含む業務仕様情報を記憶するための記憶手段と、前記記憶手段に記憶される前記業務仕様情報に基づいて、「データベースから各データ項目のデータを取得する第1のプログラムコード」を生成する第1の生成手段と、前記集計項目指定情報に基づいて決定される順序で前記データ項目の階層レベルを決定し、「前記第1のプログラムコードにより取得したデータのうち前記集計単位情報で集計指定されたデータ項目のデータを前記指定された1又は複数のデータ項目の単位でそれぞれ集計し、前記取得したデータと前記各集計結果とを前記階層レベルに従って前記集計表種別に対応する表形式に配置した集計表を生成しウェブブラウザに表示するプログラムコードを含む第2のプログラムコード」を生成する第2の生成手段と、「ウェブブラウザから送信されたパラメータを受け取り前記第2のプログラムコードを呼び出すための第3のプログラムコード」を生成する第3の生成手段と、前記第1の生成手段による処理、前記第2の生成手段による処理、および前記第3の生成手段による処理を実行すべく制御する制御手段と、を有することを特徴とする。
本発明によれば、業務仕様の枠組みの中で集計表の生成と表示について定義し、ウェブアプリケーションプログラムのプログラムコードを自動生成できる。
また、ウェブアプリケーションによる集計表の生成において、その定義を業務仕様の枠組みの中で定義でき、業務アプリケーションの定義と集計表の定義は同一のものを使用できるので生産性、保守性、汎用性を格段に向上することができる。
さらに、生成された集計表において、項目のソートについては再度定義を変更する必要なく集計表示された画面からリアルタイムに変更できるコードが自動的に生成されるため、生産性、保守性の向上につながる。
また、集計表の定義に変更を加えることなく、一覧表示と集計表の切り替えが相互にでき、それらの仕組みが自動生成されるので生産性、汎用性を格段に向上することができる等の効果を奏する。
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
図1は、本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。
図において、101は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報(データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等)の入力を行うことが可能である。
102は表示装置で、CRT,LCD等で構成され、業務仕様情報の入力画面や、該入力画面から入力された業務仕様情報、生成されたプログラムコード等を表示可能である。104はハードディスク等の外部記憶装置で、入力された業務仕様を記憶するための入出力テーブル109、生成されたプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)等を記憶するものである。
103は処理装置で、CPU,ROM,RAM等から構成され、CPUがROM,外部記憶装置104又はその他の記録媒体に格納されるプログラムをRAM上にロードして実行することにより実現されるものであり、画面制御部105,コード生成部107を備える。
画面制御部105は、入力装置101から業務仕様情報の入力を行うために表示装置102の画面(不図示)を制御する業務仕様記述部116を有する。
コード生成部107は、入力装置101から入力された又は外部記憶装置104から読み出された業務仕様情報に基づいてプログラムコード(JSPコード112,サーブレット(Servlet)コード113,Beanコード114)を生成し、外部記憶装置104に記憶させる。
108は全体制御部で、画面制御部105,コード生成部107等の各部の制御を行う。
図2は、図1に示したコード生成部107によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
コード生成部107によって生成されたサーブレット、JSP、およびBeanは、それぞれ実行可能な状態で、サーバ304側のアプリケーションサーバ306上に配置される。
このWebアプリケーションシステムは、クライアント301からウェブブラウザ302によって利用される。ウェブブラウザ302からJSP309にアクセスすることにより、HTMLページ303を生成し、クライアント301側に返送する。そして、ウェブブラウザ302上には、JSP309から送信されるHTMLページ303が表示される。
また、Webブラウザ302からのリクエストは、HTTP経由でサーバ304側に送信される。サーバ304にはHTTPサーバ305とアプリケーションサーバ306があり、アプリケーションサーバ306にはサーブレットやJSPの実行環境が含まれている。
サーバ304側にリクエストが送信されると、リクエストに応じて該当するサーブレット307が起動される。サーブレット307は、対応するBean308に処理を要求する。さらに、Bean308はDBアクセスオブジェクト310を利用してデータベース311にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。DBアクセスオブジェクト310は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
次に、サーブレット307からJSP309にBean308を渡し、JSP309を呼び出す。JSP309は、Bean308で保持する処理結果を参照して、HTMLページを生成し、クライアント301側に返送する。クライアント301側に返送されたHTMLページは、Webブラウザ302上に表示される。
サーブレット307は、Webブラウザ302からのリクエストの受け付け、Bean308への処理要求、およびJSP309の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。JSP309はHTMLページを出力するための表示に関することを受け持ち、Bean308はデータベース311へのアクセス等の業務に関する処理を受け持つ。Bean308やJSP309を利用せず、サーブレット307のみでWebブラウザ302からのリクエストを処理することは可能であるが、Bean308やJSP309を利用してそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
図3は、本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートであり、図1に示した処理装置103の全体制御部108の動作に対応する。なお、S101〜S105は各ステップを示す。
図1に示した処理装置103は、コード生成する業務仕様(入出力テーブル)の入力を行う入力モードと、入力された業務仕様(入出力テーブル)からプログラムコードを生成する生成モードとを有する。
まず、全体制御部108が起動されると、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップS102に進み、全体制御部108は、画面制御部105を起動する。
起動された画面制御部105は、ステップS103において、業務仕様記述部116により業務仕様入力画面(不図示)を表示させ、生成するウェブアプリケーションのアプリケーション名,オペレータからの業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置104に格納し、処理を終了する。
一方、ステップS101において、入力装置101からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップS104に進み、全体制御部108は、外部記憶装置104に格納された入出力テーブルを読み出し、該読み出した入出力テーブル内の業務仕様情報に基づいてコード生成を行う。
そして、ステップS105において、全体制御部108は、生成されたコードを、オペレータの指示により表示装置102に表示したり、外部記憶装置104に書き込む出力処理を行う。
以下、図4を参照して、本発明のプログラム生成装置における業務仕様情報(入出力テーブル)について説明する。図示しない入力画面から入力される業務仕様情報は、内部的には図4に示すような入出力テーブルの形式で保存される。
図4は、本発明のプログラム生成装置における業務仕様情報(図1に示した入出力テーブル109)について説明する模式図である。
図4において、列1は、データファイル番号を示したものであり、データファイルを構成するデータ項目として列2のデータファイル項目枝番がある。
列3はデータファイルの名称であり、列4はデータファイル項目枝番に対応する各データ項目の名称である。
列5は、集計表の形式を指定するための表示分類を示すものであり、一次元表(後述する図8,図9に示す)であることを示す「H1」、又は二次元表(後述する図10,図11に示す)であること示す「H2」、又は一覧表(後述する図12に示す)であることを示す「H0」が指定される。なお、列5に「H1」,「H2」,「H0」のいずれかが指定される項目は、表には表示されないルート項目を示す。
列6は、実際に数を集計する項目とその集計方法を指定するための演算分類を示すものであり、「T1」が指定された場合には一次元表または二次元表において縦の合計演算を行うことを示しており、「T2」が指定された場合には2次元表において横の合計演算を行うことを示している。
列7は加工式を示すものであり、図5に示すように、この加工式に「<」が指定された場合には、指定された項目をキーに表の内容を昇順で表示することを示し、「>」が指定された場合には、指定された項目をキーに表の内容を降順で表示すること示す。また、この加工式に、「*」又は「**」が指定された場合には、指定された親項目の単位に列6の演算分類で「T1」又は「T2」が指定された項目の値を集計し表示する(但し、「*」の場合は対象データが2件以上の場合のみ表示する)ことを示す。
列8は、項目を処理する順位を示すものであり、この順位に数字が記載された項目に関しては、該記載された数字の順に処理されることを示す。
列9は、キー機能を示すものであり、このキー機能に、他の項目の並び順(列11に示す)が指定された場合には、当該項目が、キー機能に示された並び順の項目をキーとする項目であることを示す。
列10はソート機能の指定を示すものであり、このソート機能に「ON」が指定されている場合は、その項目名をクリックすることにより、その項目をキーにして値の並び替えが行われる処理が追加されることを示す。
列11は、並び順で、対応する項目の並び順(1,2,3,・・・)示すものである。
本実施形態のプログラム生成装置は、図4に示した業務仕様情報(入出力テーブル)から後述する図7に示すようなツリーを生成し、生成されたツリーデータに基づいて、集計表(図8〜図12に示す)の表示プログラムを生成する。
このツリー作成時に、入出力テーブルの各項目を処理する処理順位を図6に示す。
図6に示すように、列5の表示分類が「H1」又は「H2」又は「H0」となる項目が処理順位「1」となり、ツリーのルート要素に設定される。このツリーのルート要素は単一であり、集計表自体を表すものとなる。また、集計表の各構成要素は、ルートにレベル付けされた形で関連をもつものとなる。
例えば、図4に示した入出力テーブルから生成されたツリーを図7に示す。
以下、図6を用いて、図7に示すツリーのレベル配置方法について説明する。
上述した図6に示したように、処理順位「1」となる項目は、列5の表示分類が「H1」又は「H2」又は「H0」となる項目で、ルート(レベル0)に配置される。図4に示した例では、並び順「1」の「売上リストコード」がルート(レベル0)に配置されることになる。
次に、処理順位「2」となる項目は、列7の加工式が「<」又は「>」となる項目で、レベル1に配置される。複数項目に「<」又は「>」が指定されていた場合、親子関係が成立するときは親が優先され、成立しないときは並び順(列11)の若い方を優先する(但し、全てレベル1に配置する)。図4に示した例では、並び順「2」の「売上店舗コード」がレベル1に配置されることになる。
次に、処理順位「3」となる項目は、列8の順位が記載された項目で、順位の小さい項目から順次配置される(なお、親子関係(データベースにおいて1対多の関係)が成立する場合はレベルを下げる)。
図4に示した例では、並び順「5」の「商品分類コード」の順位が「1」となっているため、まず当該「商品分類コード」が上記「売上店舗コード」より後に配置される。但し、「売上店舗コード」と「商品分類コード」とは、図示しないデータファイル番号「SalesList」を定義した入出力テーブル内で1対多の関係にあるため、当該「商品分類コード」は「売上店舗コード」より1つ低いレベル2に配置される。
さらに、並び順「4」の「商品コード」の順位が「2」となっており、上記「商品分類コード」より後に配置される。但し、「商品分類コード」と「商品コード」とは、図示しないデータファイル番号「SalesList」を定義した入出力テーブル内で1対多の関係にあるため、当該「商品コード」は上記「商品分類コード」より1つ低いレベル3に配置される。
ここで、図6には示されていないが、列5〜列9のいずれにも指定がない項目が親子関係に応じてカレントより1つ低いレベル又は同レベルに配置される。なお、同様の項目が複数ある場合は並び順(列11)の若い方を優先する。なお、図4には該当する項目はない。
最後に、処理順位「4」となる項目は、列6の演算分類が「T1」又は「T2」となる項目で、親子関係に応じてカレントのレベルより1つ低いレベル又は同レベルに配置される。図4に示した例では、並び順「8」の「売上個数」の演算分類が「T1」となっている。なお、「売上個数」と「商品コード」とは、図示しないデータファイル番号「SalesList」を定義した入出力テーブル内で1対1の関係にあるため、当該「売上個数」は「商品コード」と同レベル(レベル3)に配置される。
なお、図6には示していないが、列9のキー機能に他の項目の並び順(列11)が指定されている場合には、当該項目が、キー機能に示された並び順の項目の次(同じレベル)に配置される。図4に示した例では、並び順「3」の「売上店舗」のキー機能が「2」となっているため、当該「売上店舗」が並び順「2」の「売上店舗コード」と同じレベル1に配置される。また、並び順「6」の「商品分類名」のキー機能が「5」となっているため、当該「商品分類名」が並び順「5」の「商品分類コード」と同じレベル2に配置される。さらに、並び順「7」の「商品名」のキー機能が「4」となっているため、当該「商品名」が並び順「4」の「商品コード」と同じレベル3に配置される。
また、図6には示していないが、列7の加工式に「*」又は「**」が指定されている項目と同レベルに、当該項目の親項目の単位に列6の演算分類で「T1」又は「T2」が指定された項目「売上個数」の値を集計し表示するためのラベル「計」とその集計値である「売上個数」が生成されて配置される。図4に示した例では、並び順「4」の「商品コード」の加工式が「**」となっているため、当該「商品コード」と同じレベル3に親項目である「商品分類コード」,「商品分類名」単位に「売上個数」の集計を行う「計」が配置される。
さらに、並び順「5」の「商品分類コード」の加工式も「**」となっているため、当該「商品分類コード」と同じレベル2に親項目である「売上店舗コード」,「売上店舗」単位に「売上個数」の集計し表示するためのラベル「計」とその集計値である「売上個数」が配置される。
また、図6に示す処理順位が同一の項目は、並び順の順に処理順序が決定されるものとする。即ち、レベルが同一の項目は、並び順の順に表示される。
以上のように、図6に示した処理順位で処理を行うことにより、図7に示すツリー構造のデータが作成される。このツリー構造のデータに基づいて、後述する図8〜図12の表示を作成するプログラムコードが作成される。
図8を例にして説明すると、図8の第1列には、図7のレベル1に配置される「売上店舗コード」が表示され、次に、図8の第2列には、同じくレベル1に配置される「売上店舗」が表示される。なお、図8の第2列に表示される「売上店舗」は、第1列に表示される「売上店舗コード」と同レベルであり、1対1の関係になっている。
また、図8の第3列には、レベル2に配置される「商品分類コード」が表示され、次に、図8の第4列には、同じくレベル2に配置される「商品分類名」が表示される。なお、図8の第3列に表示される「商品分類コード」は、第2列に表示される「売上店舗」よりレベルが1つ低くなっており、「売上店舗」と「商品分類コード」との関係は1対多となり、「売上店舗」1に対して「商品分類コード」多(複数)の表示が可能である(即ち、親子の関係となっている)。
次に、図8の第4列には、同じくレベル2に配置される「商品分類名」が表示される。なお、図8の第4列に表示される「商品分類名」は、第3列に表示される「商品分類名」と同レベルであり、1対1の関係になっている。
また、図8の第5列には、レベル3に配置される「商品コード」が表示され、次に、図8の第6列には、同じくレベル3に配置される「商品名」が表示される。なお、図8の第5列に表示される「商品コード」は、第4列に表示される「商品分類名」よりレベルが1つ低くなっており、「商品分類名」と「商品コード」との関係は1対多となり、「商品分類名」1に対して「商品コード」多の表示が可能である(即ち親子の関係となっている)。
次に、図8の第7列には、同じくレベル3に配置される「売上個数」が表示される。なお、図8の第7列に表示される「売上個数」は、第6列に表示される「商品名」と同レベルであり、1対1の関係である。
図8の行4,7,14,18,24,27,30,33には、レベル3に配置されるラベル「計」と商品分類コードごとの小計表示に対応する「売上個数」が表示される。
図8の行8,10,20,34には、レベル2に配置されるラベル「計」と売上店舗コードごとの小計表示に対応する「売上個数」が表示される。
図8の行35には、レベル2に配置されるラベル「計」とルートの総計表示に対応する「売上個数」が表示される。
なお、図8に示す表には、図7のレベル0に配置された売上リストコードは表示されないが、これは図4に示した入出力テーブルで定義された集計表自体を表すルート要素であるためである。
図8は、図4に示す入出力テーブル及び図7に示すツリーから生成された一次元表の一例を示す模式図である。
図8の状態の画面において「商品分類コード」のタイトル項目をクリックすると、図4の列10の定義より自動生成されたソート機能により、図9のように表の内容の並び順が変更される。
図9は、図8に示した一次元表を第3列の「商品分類コード」でソートした場合の表示例を示す模式図である。
図10は、図7に示すツリーから生成された二次元表の一例を示す模式図であり、図4に示した入出力テーブルの並び順「1」の表示分類を「H2」とし、並び順「8」の演算分類を「T2」として生成した場合に対応する。
図10に示した集計表では、左にキーとして指定された商品分類コードが表示されており、そこから右に子要素が並ぶ。また、一次元表の定義においてキーとして指定されていた、並び順「2」の「売上店舗コード」が縦項目のキーとして集計表に表示される。
この図10の状態の画面において「商品分類名」のタイトルをクリックすると、一次元表と同じようにソート処理が行われ、図11のように表示される。
図11は、図10に示した二次元表を第2列の「商品分類名」でソートした場合の表示例を示す模式図である。
図12は、図7に示すツリーから生成された一覧表の一例を示す模式図であり、図4に示した入出力テーブルの並び順「1」の表示分類を「H0」とし、並び順「8」の演算分類を空欄として生成した場合に対応する。
以下、図13〜図17のフローチャートを参照して、図1に示したコード生成部107によるコード生成処理について説明する。
図13は、本発明の第2の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるコード生成処理に対応する。なお、S201〜S203は各ステップを示す。
まず、ステップS201において、データベースより各データファイル項目の値を取得する処理を行うBeanコード114を、入出力テーブル109に基づいて生成する(詳細は図14に示す)。
次に、ステップS202において、入出力テーブル109に基づいて、ウェブブラウザからの入力データを取得してJSPを起動するサーブレットコード113を生成する(詳細は図15に示す)。
次に、ステップS203において、ウェブブラウザへの表示を制御するJSPコード112を生成し(詳細は図16に示す)、処理を終了して図3のフローチャートにリターンする。
図14は、本発明の第3の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるBean作成処理(図13のステップS201)に対応する。なお、S301〜S303は各ステップを示す。
まず、ステップS301において、データベース操作用のBeanファイルを生成する。なお、Beanファイル名は、例えば、図示しない入力画面より入力されたアプリケーション名に文字列「Bean」を付加し拡張子を「java(登録商標)」としたBeanファイルとする。また、このとき、作成したBeanファイル内の先頭に、「パッケージ名(例えば、アプリケーション名に文字列「Bean」を付加したもの)の宣言、「java(登録商標).sql」パッケージのインポート、Java(登録商標)Beansを利用するために必要なインタフェースの実装等を行うコード」を格納しておく。
次に、ステップS302において、入出力テーブル109を読み取り、ステップS303において、入出力テーブル109内の各データファイルの検索処理コードをBeanファイル内に生成する。詳細には、「データベースに接続し、各データファイル毎に当該データファイル番号に対応するテーブルからデータを取得する処理を行うためのSQL文のクエリを実行し、取得結果を返し、データベースから切断するコード(データ取得メソッド)」を当該Beanファイル内に生成する。
そして、処理を終了して図13のフローチャートにリターンする。
なお、上記ステップS303により当該Beanファイル内に生成されるコードには、「ドライバクラスをロードする処理、データベースに接続する処理、SQLステートメントオブジェクトを生成する処理、サーブレットから渡されたデータに基づくSQL文のクエリを実行して結果を取得する処理、結果をセットする処理、SQLステートメントオブジェクトとデータベース接続オブジェクトをクローズする処理を行うためのコード」等が記載されているものとする。
また、ステップS303で生成するデータ取得処理コードは、Beanファイル内で定義される業務処理用のクラス(例えば、クラス名:アプリケーション名に文字列「DBAccess」を付加)内のデータ取得メソッドとして生成するものとする。
図15は、本発明の第4の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるサーブレット作成処理(図13のステップS202)に対応する。なお、S401〜S403は各ステップを示す。
まず、ステップS401において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名に文字列「Servlet」を付加し拡張子を「java(登録商標)」とする。なお、このとき、サーブレットファイル内の先頭に、「使用するBeanパッケージ及びその他必要なパッケージをインポートするコード、アクセス修飾子,クラスの定義,クラス(例えば、HttpServletクラス)の継承、ウェブブラウザ(HTMLフォーム)から送信されたパラメータ(送信情報)を受け取るためのメソッドを示すコード」を格納しておく。
次に、ステップS402において、「ウェブブラウザからの送信情報を受け取るコード」をサーブレットファイル内に生成する。
次に、ステップS403において、「対応するJSPを呼び出すコード」をサーブレットファイル内に生成し、処理を終了して図13のフローチャートにリターンする。
図16は、本発明の第5の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるJSP作成処理(図13のステップS203)に対応する。なお、S501〜S504は各ステップを示す。
まず、ステップS501において、JSPファイルを生成する。このJSPファイルのファイル名は、例えば、アプリケーション名に拡張子を「jsp」とする。なお、このJSPファイル内には、「JSPページのMIMEタイプとエンコードするキャラクタセットを設定するコード、当該データファイルに対応するBeanをインスタンスするコード、htmlのタグである「<html><head><title>アプリケーション名</title>」等のコード」を生成し格納しておくものとする。
次に、ステップS502において、「Beanのデータ取得用メソッドを呼び出して実行させ、検索用メソッドの処理結果をBeanから取得するコード」を生成する。
次に、ステップS503において、図7に示すようなツリー構造のデータ(以下、単にツリー)を生成し、ステップS504において、生成したツリーに基づいて、集計表生成処理(詳細は、図17に示す)を行い、処理を終了して図13のフローチャートにリターンする。
図17は、本発明の第6の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107による集計表生成処理(図16のステップS502)に対応する。なお、S601〜S612は各ステップを示す。
まずステップS601において、ツリーの上レベルから項目を1つ読み取り、ステップS602において、読み取った項目がレベル0であるか否かを判定し、レベル0であると判定した場合には、ステップS603において、当該項目の表示分類(列5)=「H1」であるか否かを判定し、表示分類(列5)=「H1」の項目であると判定した場合には、ステップS604において、図8に示したような1次元表を作成する処理を開始し、ステップS601に戻る。
一方、ステップS603で、当該項目の表示分類(列5)=「H1」でないと判定した場合には、ステップS605において、当該項目の表示分類(列5)=「H2」であるか否かを判定し、表示分類(列5)=「H2」の項目であると判定した場合には、ステップS606において、図10に示したような2次元表を作成する処理を開始し、ステップS601に戻る。
一方、ステップS605で、当該項目の表示分類(列5)=「H2」でないと判定した場合には、ステップS607において、図12に示したような一覧表を作成する処理を開始し、ステップS601に戻る。
一方、ステップS602において、読み取った項目がレベル0でないと判定した場合には、ステップS608において、「タイトル項目を表示するコード」をJSPファイル内に生成する。
次に、ステップS609において、当該項目がソート機能(列10)=「ON」の項目であるか否かを判定し、当該項目がソート機能(列10)=「ON」の項目でないと判定した場合には、そのままステップS611の処理に進む。
一方、ステップS609で、当該項目がソート機能(列10)=「ON」の項目であると判定した場合には、ステップS610において、「対応する項目のタイトルが指示された場合に、対応する項目でソートする機能をタイトルに追加するコード」をJSPファイル内に生成し、ステップS611に進む。
次に、ステップS611において、図16のステップS502でデータベースより取得したデータを表示するコードを作成するデータ表示作成処理を行い、ステップS612に進む。
次に、ステップS612において、ツリー内の全項目について、S601〜S611の処理を終了したか否かを判定し、終了していないと判定した場合には、ステップS601の処理に戻る。
一方、ステップS612で、ツリー内の全項目について、S601〜S611の処理を終了したと判定した場合には、そのまま処理を終了して図16のフローチャートに戻る。
図18は、本発明の第7の制御処理手順の一例を示すフローチャートであり、図1に示したコード生成部107によるデータ表示作成処理(図17のステップS611)に対応する。なお、S701〜S715は各ステップを示す。
まず、ステップS701において、当該項目が加工式(列7)=「<」の項目であるか否かを判定し、加工式(列7)=「<」の項目であると判定した場合には、ステップS702において、「当該項目をデフォルトのソートキー、「昇順」をデフォルトのソート方向に設定するコード」をJSPファイル内に生成し、ステップS703において、「リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されている場合には、該ソートキー,ソート方向を用い、一方、リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されていない場合には、デフォルトのソートキー,ソート方向を用い、当該項目のデータをソート表示するコード」をJSPファイル内に生成し、処理を終了して図17のフローチャートに戻る。
一方、ステップS701で、当該項目が加工式(列7)=「<」の項目でないと判定した場合には、ステップS704において、当該項目が加工式(列7)=「>」の項目であるか否かを判定し、加工式(列7)=「>」の項目であると判定した場合には、ステップS705において、「当該項目をデフォルトのソートキー、「降順」をデフォルトのソート方向に設定するコード」をJSPファイル内に生成し、ステップS706において、「リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されている場合には、該ソートキー,ソート方向を用い、一方、リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されていない場合には、デフォルトのソートキー,ソート方向を用い、当該項目のデータをソート表示するコード」をJSPファイル内に生成し、処理を終了して図17のフローチャートに戻る。
一方、ステップS704で、当該項目が加工式(列7)=「>」の項目でないと判定した場合には、ステップS707において、当該項目が加工式(列7)=「**」の項目であるか否かを判定し、加工式(列7)=「**」の項目であると判定した場合には、ステップS708において、「リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されている場合には、該ソートキー,ソート方向を用い、一方、リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されていない場合には、デフォルトのソートキー,ソート方向を用い、当該項目のデータをソート表示するコード」をJSPファイル内に生成し、ステップS709において、「当該項目の親項目単位に「T1」又は「T2」に対応する項目の演算処理を行い、ラベル「計」と共に演算結果を表示するコード」をJSPファイル内に生成し、処理を終了して図17のフローチャートに戻る。
一方、ステップS707で、当該項目が加工式(列7)=「**」の項目でないと判定した場合には、ステップS710において、当該項目が加工式(列7)=「*」の項目であるか否かを判定し、加工式(列7)=「*」の項目であると判定した場合には、ステップS711において、「リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されている場合には、該ソートキー,ソート方向を用い、一方、リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されていない場合には、デフォルトのソートキー,ソート方向を用い、当該項目のデータをソート表示するコード」をJSPファイル内に生成し、ステップS712において、「項目が2件以上の場合に、当該項目の親項目単位に「T1」又は「T2」に対応する項目の演算処理を行い、ラベル「計」と共に演算結果を表示するコード」をJSPファイル内に生成し、処理を終了して図17のフローチャートに戻る。
一方、ステップS710で、当該項目が加工式(列7)=「*」の項目でないと判定した場合には、ステップS713において、「リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されている場合には、該ソートキー,ソート方向を用い、一方、リクエストオブジェクト内にソートキー,ソート方向を指定する情報が格納されていない場合には、デフォルトのソートキー,ソート方向を用い、当該項目のデータをソート表示するコード」をJSPファイル内に生成し、ステップS714において、当該項目が演算分類(列6)=「T1」又は「T2」の項目であるか否かを判定し、演算分類(列6)=「T1」又は「T2」の項目であると判定した場合には、ステップS715において、「当該項目の演算処理を行い表示するコード」をJSPファイル内に生成し、処理を終了して図17のフローチャートに戻る。詳細には、演算分類(列6)=「T1」の場合は縦のみの集計演算を行い、「T2」場合には縦横の2次元の集計演算を行い、ラベル「計」と共に演算結果を表するコードを生成する。
一方、ステップS714で、当該項目が演算分類(列6)=「T1」又は「T2」の項目でないと判定した場合には、そのまま処理を終了して図17のフローチャートに戻る。
なお、図17のステップS610で示したソート機能を追加するコードは、いずれの項目をキーとするソートが指示されたかを示す情報を、サーブレットに送信して画面を再表示させるJava(登録商標)Scriptコードに相当するものである。
また、図18のステップS703,S706,S708,S711,S713で生成されるコードは、「項目データを表示する際に、リクエストオブジェクト内に格納されているソートキーに基づいて、該ソートキーに対応する項目をキーとしてデータをソート表示するコード」とする。
以下、図4に示した入出力テーブルを例にして、集計表生成過程についてより具体的に説明する。
最初に図7に示したツリーからレベル0である項目「売上リストコード」(並び順1)の項目をについて処理を行う。
「売上リストコード」(並び順1)の項目では列5に「H1」が指定されていることからそれ以降の項目が集計表の対象となることを示しており、同時にルート要素として扱われる。
次にレベル1である項目「売上店舗コード」(並び順2)の項目をについて処理を行う。
「売上店舗コード」(並び順2)の項目では、列7の加工式に「<」が指定されていることから、この値を基準に集計表の内容が昇順で表示されることを示している。また、列4のデータファイル項目名「売上店舗コード」がタイトル項目として左上端に表示するコードを生成する。また、その表示の下にその値を表示するコードを生成する。
さらに列10のソート機能の値に「ON」が指定されていることから、タイトル項目「売上店舗コード」をクリックするとその項目の値をキーに表を昇順もしくは降順に並び替える機能が付加するコードを生成する。
次に同じくレベル1である項目「売上店舗」(並び順3)の項目について処理を行う。「売上店舗」(並び順3)の項目では列4の「売上店舗」がタイトル項目として、上記の「売上店舗コード」の右に表示され、その下にその値が表示されるコードを生成する。さらに列10に「ON」が指定されているのでタイトル項目にソート機能を付加するコードを生成する。
次にレベル2である項目「商品分類コード」(並び順5)の項目をについて処理を行う。「商品分類コード」(並び順5)では「商品分類コード」がタイトルとして、上記の「売上店舗」の右に表示され、その下に値が表示されるコードを生成する。
また、「商品分類コード」(並び順5)の列7の加工式に「**」が指定されていることから、親要素の売上店舗を基準に列6に「T1」が指定されている「売上個数」の数値を計算し、商品分類コードの値の下に「計」の項目名を挿入する。計算された値は列6に「T1」が指定されている項目の欄(即ち、表の右端の項目となり、本件では「売上個数」の欄)の、「計」と同じ行に表示されるコードを生成する(レベル2の「計」に対応する)。さらに列10に「ON」が指定されているのでタイトル項目にソート機能を付加するコードを生成する。
次に同じくレベル2である項目「商品分類名」(並び順6)の処理を行う。
「商品分類名」(並び順6)では列4の「商品分類名」がタイトル項目として、上記の「商品分類コード」の右に表示され、その下にその値が表示されるコードを生成する。さらに列10に「ON」が指定されているのでタイトル項目にソート機能を付加するコードを生成する。
次にレベル3である項目「商品コード」(並び順4)の処理を行う。
「商品コード」(並び順4)では「商品コード」がタイトルとして、上記の「商品分類名」の右に表示され、その下に値が表示されるコードを生成する。
また、「商品コード」(並び順4)の列7の加工式に「**」が指定されていることから、「商品コード」の上位の「商品分類名」を基準に列6に「T1」が指定されている「売上個数」の数値を計算し、商品コードの値の下に「計」の項目名を挿入するコードを生成する。計算された値が列6に「T1」が指定されている項目の欄(即ち、表の右端の項目「売上個数」の欄)の「計」と同じ行に表示されるコードを生成する(レベル3の「計」に対応する)。さらに列10に「ON」が指定されているのでタイトル項目にソート機能を付加するコードを生成する。
次に同じくレベル3である項目「商品名」(並び順7)の処理を行う。
「商品名」(並び順7)では列4の「商品名」がタイトル項目として、上記の「商品コード」の右に表示され、その下に値が表示されるコードを生成する。さら、に列10に「ON」が指定されているのでタイトル項目にソート機能を付加するコードを生成する。
最後に、レベル4である項目「売上個数」(並び順8)の処理を行う。
「売上個数」(並び順8)では、列4の「売上個数」がタイトル項目として、上記の「商品名」の右に表示され、その下に値が表示される。そして列6の演算分類に「T1」が指定されていることから売上個数の値を集計し、表の一番下に合計を表示する。なお、売上個数の合計表示の同じ行の左には「計」の項目名が表示される。
以上説明したように、ウェブアプリケーションによる集計表の生成において、その定義を業務仕様の枠組みの中で定義でき、自動生成できるため生産性と保守性、汎用性を格段に向上することができる。
また、生成された集計表において、項目のソートについては再度定義を変更する必要なく集計表示された画面からリアルタイムに変更できるコードが自動的に生成されるため、生産性、保守性を格段に向上することができる。
さらに、集計表の定義に変更を加えることなく、一覧表示と集計表の切り替えが相互にでき、それらの仕組みが自動生成されるので生産性、汎用性を格段に向上することができる等の効果を奏する。
なお、本実施形態では、サーバサイドのJava(登録商標)プログラムを用いたウェブアプリケーションを生成する場合について説明したが、生成されるプログラムコードは、Java(登録商標)に限られるものではなく、ASP(Active Server Pages),PHP(Hypertext Preprosessor)等のその他のプログラムによるウェブアプリケーションであってもよい。
また、Java(登録商標)Scriptを用いる場合について説明したが、その他のスクリプト言語を用いてもよい。
さらに、図4に示した入出力テーブルの内容は、これらに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
また、上記フローチャート内では示していないが、入出力項目の表示分類(列5)に「F」を指定して定義されたデータファイル項目を示すものとし、本実施形態のプログラム生成装置により、当該データファイル項目枝番を項目名とし、当該データファイル番号をテーブル名としたテーブルをデータベースへ作成するように構成してもよい。
また、本実施形態のプログラム生成装置は、前記作成されたデータベースへの新規/更新/検索/削除等を行うウェブアプリケーション(業務アプリケーション)を作成するように構成してもよい。
このように、業務アプリケーションの定義と集計表の定義は同一のものを使用できるので、生産性,保守性を格段に向上することができる。
また、上記実施形態の各変形例を組み合わせた構成も全て本発明に含まれるものである。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上より、業務仕様を入力とし、集計表に関するプログラムコードを生成するので、ウェブアプリケーションによる集計表の生成において、その定義を業務仕様の枠組みの中で定義でき、自動生成することができる。
また、業務仕様を入力とし、集計表又は一覧表示を行うプログラムコードを選択的に生成するので、集計表の定義に変更を加えることなく、一覧表示と集計表の切り替えが相互にでき、それらの仕組みを自動生成することができる。
さらに、業務仕様中の属性情報を入力とし、項目のソート処理に関するプログラムコードを生成するので、生成された集計表において、項目のソートについては表示された画面からリアルタイムに変更できる仕組みを自動生成することができる。
従って、生産性、保守性、汎用性を格段に向上した集計表を表示処理するウェブアプリケーションを生成することができる。
以下、図19に示すメモリマップを参照して本発明に係るプログラム生成装置で読み出し可能なデータ処理プログラムの構成について説明する。
図19は、本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図3,図13,図14,図15,図16,図17,図18に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
本発明のプログラム生成装置により生成されるプログラムコードを、ASP(Active Server Pages),PHP(Hypertext Preprosessor)等のJava(登録商標)以外の他のプログラムによるウェブアプリケーションとすることで、本発明のプログラム生成装置を各種ウェブアプリケーションの生成にも適用可能である。
本発明の一実施形態を示すプログラム生成装置の構成を示すブロック図である。 図1に示したコード生成部によって生成したサーブレット、JSP、およびBeanを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。 本発明のプログラム生成装置における第1の制御処理手順の一例を示すフローチャートである。 本発明のプログラム生成装置における業務仕様(図1に示した入出力テーブル)について説明する模式図である。 図4に示した入出力テーブルの7列の加工式分類一覧を示す図である。 図4に示した入出力テーブルの処理順位を示す図である。 図4に示した入出力テーブルより生成されるツリーの一例を示す模式図である。 図4に示した入出力テーブル及び図7に示したツリーから生成された一次元表の一例を示す模式図である。 図8に示した一次元表を第3列の「商品分類コード」でソートした場合の表示例を示す模式図である。 図7に示したツリーから生成された二次元表の一例を示す模式図である。 図10に示した二次元表を第2列の「商品分類名」でソートした場合の表示例を示す模式図である。 図7に示したツリーから生成された一覧表の一例を示す模式図である。 本発明の第2の制御処理手順の一例を示すフローチャートである。 本発明の第3の制御処理手順の一例を示すフローチャートである。 本発明の第4の制御処理手順の一例を示すフローチャートである。 本発明の第5の制御処理手順の一例を示すフローチャートである。 本発明の第6の制御処理手順の一例を示すフローチャートである。 本発明の第7の制御処理手順の一例を示すフローチャートである。 本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
符号の説明
101 入力装置
102 表示装置
103 処理装置(CPU,RAM,ROM)
104 外部記憶装置(ハードディスク)
105 画面制御部
116 業務仕様記述部
107 コード生成部
108 全体制御部
109 入出力テーブル
112 JSPコード
113 Servletコード
114 Beanコード

Claims (6)

  1. ウェブアプリケーションプログラムを生成するプログラム生成装置であって、
    複数のデータ項目のデータベースへの配置と、前記複数のデータ項目のうちいずれのデータ項目をどのように集計表に配置するかを指定する集計表配置情報と前記集計表の表形式の種別を示す集計表種別と前記複数のデータ項目のうちの1又は複数のいずれのデータ項目の単位でいずれのデータ項目のデータを集計するかを指定する集計単位情報とを指定する集計項目指定情報と、を含む業務仕様情報を記憶するための記憶手段と、
    前記記憶手段に記憶される前記業務仕様情報に基づいて、「データベースから各データ項目のデータを取得する第1のプログラムコード」を生成する第1の生成手段と、
    前記集計項目指定情報に基づいて決定される順序で前記データ項目の階層レベルを決定し、「前記第1のプログラムコードにより取得したデータのうち前記集計単位情報で集計指定されたデータ項目のデータを前記指定された1又は複数のデータ項目の単位でそれぞれ集計し、前記取得したデータと前記各集計結果とを前記階層レベルに従って前記集計表種別に対応する表形式に配置した集計表を生成しウェブブラウザに表示するプログラムコードを含む第2のプログラムコード」を生成する第2の生成手段と、
    「ウェブブラウザから送信されたパラメータを受け取り前記第2のプログラムコードを呼び出すための第3のプログラムコード」を生成する第3の生成手段と、
    前記第1の生成手段による処理、前記第2の生成手段による処理、および前記第3の生成手段による処理を実行すべく制御する制御手段と、
    を有することを特徴とするプログラム生成装置。
  2. 前記第2の生成手段は、「前記第2のプログラムコードが実行された際に生成される集計表上で前記データ項目のタイトルが指示された場合に該データ項目をキーとして前記集計表上に配置されているデータの並び替えを行うプログラムコード」を含む前記第2のプログラムコードを生成することを特徴とする請求項1に記載のプログラム生成装置。
  3. 前記業務仕様情報は、前記生成される集計表上でそのデータ項目のタイトルが指示された場合に該データ項目をキーとして前記集計表上に配置されているデータの並び替えを行うデータ項目を示すソートデータ項目を決定するための情報を含むものであり、
    前記第2の生成手段は、前記業務仕様情報に基づいて、前記ソートデータ項目を決定し、「前記第2のプログラムコードが実行された際に生成される集計表上で前記ソートデータ項目のタイトルが指示された場合に該ソートデータ項目をキーとして前記集計表上に配置されているデータの並び替えを行うプログラムコード」を含む前記第2のプログラムコードを生成することを特徴とする請求項1に記載のプログラム生成装置。
  4. ウェブアプリケーションプログラムを生成するコンピュータにおけるプログラム生成方法であって、
    前記コンピュータの記憶手段に、複数のデータ項目のデータベースへの配置と、前記複数のデータ項目のうちいずれのデータ項目をどのように集計表に配置するかを指定する集計表配置情報と前記集計表の表形式の種別を示す集計表種別と前記複数のデータ項目のうちの1又は複数のいずれのデータ項目の単位でいずれのデータ項目のデータを集計するかを指定する集計単位情報とを指定する集計項目指定情報と、を含む業務仕様情報を記憶させておき、
    前記コンピュータが、前記業務仕様情報に基づいて、前記業務仕様情報に基づいて、「データベースから各データ項目のデータを取得する第1のプログラムコード」を生成する第1の生成ステップと、
    前記コンピュータが、前記集計項目指定情報に基づいて決定される順序で前記データ項目の階層レベルを決定し、「前記第1のプログラムコードにより取得したデータのうち前記集計単位情報で集計指定されたデータ項目のデータを前記指定された1又は複数のデータ項目の単位でそれぞれ集計し、前記取得したデータと前記各集計結果とを前記階層レベルに従って前記集計表種別に対応する表形式に配置した集計表を生成しウェブブラウザに表示するプログラムコードを含む第2のプログラムコード」を生成する第2の生成ステップと、
    前記コンピュータが、「ウェブブラウザから送信されたパラメータを受け取り前記第2のプログラムコードを呼び出すための第3のプログラムコード」を生成する第3の生成ステップと、
    前記コンピュータが、前記第1の生成ステップ、前記第2の生成ステップ、および前記第3の生成ステップを実行すべく制御する制御ステップと、
    を有することを特徴とするプログラム生成方法。
  5. ウェブアプリケーションプログラムを生成するコンピュータを、
    複数のデータ項目のデータベースへの配置と、前記複数のデータ項目のうちいずれのデータ項目をどのように集計表に配置するかを指定する集計表配置情報と前記集計表の表形式の種別を示す集計表種別と前記複数のデータ項目のうちの1又は複数のいずれのデータ項目の単位でいずれのデータ項目のデータを集計するかを指定する集計単位情報とを指定する集計項目指定情報と、を含む業務仕様情報を記憶するための記憶手段、
    前記記憶手段に記憶される前記業務仕様情報に基づいて、「データベースから各データ項目のデータを取得する第1のプログラムコード」を生成する第1の生成手段、
    前記集計項目指定情報に基づいて決定される順序で前記データ項目の階層レベルを決定し、「前記第1のプログラムコードにより取得したデータのうち前記集計単位情報で集計指定されたデータ項目のデータを前記指定された1又は複数のデータ項目の単位でそれぞれ集計し、前記取得したデータと前記各集計結果とを前記階層レベルに従って前記集計表種別に対応する表形式に配置した集計表を生成しウェブブラウザに表示するプログラムコードを含む第2のプログラムコード」を生成する第2の生成手段、
    「ウェブブラウザから送信されたパラメータを受け取り前記第2のプログラムコードを呼び出すための第3のプログラムコード」を生成する第3の生成手段、
    前記第1の生成手段による処理、前記第2の生成手段による処理、および前記第3の生成手段による処理を実行すべく制御する制御手段として機能させるためのプログラム。
  6. 請求項に記載されたプログラムをコンピュータ読み取り可能に記録した記録媒体。
JP2003334589A 2003-09-26 2003-09-26 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体 Expired - Lifetime JP4695331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003334589A JP4695331B2 (ja) 2003-09-26 2003-09-26 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003334589A JP4695331B2 (ja) 2003-09-26 2003-09-26 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2005100198A JP2005100198A (ja) 2005-04-14
JP4695331B2 true JP4695331B2 (ja) 2011-06-08

Family

ID=34462227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003334589A Expired - Lifetime JP4695331B2 (ja) 2003-09-26 2003-09-26 プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4695331B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01298434A (ja) * 1988-05-27 1989-12-01 Casio Comput Co Ltd プログラム発生装置
JPH0784773A (ja) * 1993-09-14 1995-03-31 Toshiba Corp 集計プログラム自動生成装置
JPH11232090A (ja) * 1998-02-16 1999-08-27 Mitsubishi Electric Corp データベースシステムの自動生成システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体

Also Published As

Publication number Publication date
JP2005100198A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
US20230289513A1 (en) Enterprise web application constructor system and method
US7236982B2 (en) Computer systems and methods for platform independent presentation design
US8117552B2 (en) Incrementally designing electronic forms and hierarchical schemas
CN114035773B (zh) 一种基于配置的低代码开发表单方法、***及装置
EP2136292A1 (en) Service program generation technology
KR20080042885A (ko) 브라우즈 모드 디자이너
CN102053987B (zh) 用于显示和修改数据数组的统一接口
KR101951719B1 (ko) 그래픽 인터페이스 기반으로 이벤트 동작을 프로그래밍 하는 웹 레포팅 디자인 시스템
US11556702B2 (en) Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
JP2023182817A (ja) ウェブサイト構築システム用の構成可能なアプリケーションの作成および処理のためのシステムおよび方法
EP1811399A1 (en) Data processing device and data processing method
EP1768034A1 (en) Document processing device and document processing method
JPWO2005098660A1 (ja) 文書処理装置及び文書処理方法
US7085772B1 (en) Method for processing data objects
JPWO2005098661A1 (ja) 文書処理装置及び文書処理方法
JPWO2005098662A1 (ja) 文書処理装置及び文書処理方法
JP4695331B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
KR100902193B1 (ko) 보고서 작성시스템, 검색결과에 대한 맞춤 보고서 제공방법 및 시스템, 그리고, 저장매체
JP2005078119A (ja) ソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体
JP6331307B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
KR102025239B1 (ko) 도면 파일 자동 생성 방법
JP4444634B2 (ja) プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体
JP6817523B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2003271384A (ja) ソフトウェア仕様管理方法およびソフトウェア仕様管理装置並びにプログラム
CN101174215B (zh) 用于管理给定软件***的变更的计算机***和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060925

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: 20081210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101112

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: 20110222

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: 20110225

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4695331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term