説明

画面自動生成処理システム

【課題】業務ロジックとしての必要な機能が完備され、ユーザ向けの機能が十分な画面自動生成処理システムを提供する。
【解決手段】このシステムは、クライアン101のブラウザからネットワーク102を介して伝送された業務ロジックに係るデータ処理要求に応じてサーバ103側で業務ロジックに必要な一連のデータ処理を自動的に行うクライアントサーバモデルシステムとして構成される。サーバ103は、一連のデータ処理として、データ処理要求で指定された画面コードに対応する画像データオブジェクトの生成、入力した画面データ値に対する画像データオブジェクトに含まれる項目データオブジェクトについての全ての項目分の入力チェック、データ処理要求に応じた内部の検索用データベース(DB)122に対する格納(更新)・検索、XML形式の帳票生成、並びに画面生成を行う画面自動生成処理部104を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントからネットワークを介して伝送されたデータ処理要求に応じてサーバ側で必要なデータ処理を自動的に行うクライアントサーバモデルシステムに係り、詳しくは業務ロジックに必要な一連のデータ処理をサーバ側で自動的に行う機能を持つ画面自動生成処理システムに関する。
【背景技術】
【0002】
従来、この種のクライアントサーバモデルシステムでは、類似する画面のレイアウトを行うときに1つ1つ画面開発を行う必要があり、しかも作成した画面に対して項目の追加等の変更を反映させるときには全画面に対して同じ修正を加える必要がある。合わせて、画面の項目に対応する業務ロジックを作成したり、或いはそれを変更する必要もある。更に、画面のレイアウトに対する開発以外に画面に入力したデータの内容をテーブルアクセスする処理(データの登録・変更等を行う処理)についても、画面の項目に依存するため、画面数に比例してプログラミングを行う必要がある。
【0003】
そこで、所謂Webシステムにおける画面開発や作成した画面に対する業務ロジックの開発に関連する技術が提案されており、その一例として、画面の項目情報をパラメータ化し、業務ロジックの開発を行わずに修正を加えて画面のレイアウトを動的に生成する「パラメータによる画面レイアウト動的生成方法」(特許文献1参照)等が挙げられる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−269515号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に係る技術では、画面レイアウトの動的生成を行うことができるものであっても、複数の項目を繰り返す構造を持つ画面には対応できないばかりでなく、複数の項目に依存した関連チェックや編集を実施することができない等、業務ロジックとしての必要な機能が不足しており、顧客の要望を満たせない場合があるため、結果として、ユーザ向けの機能が不十分であるという問題がある。
【0006】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題は、業務ロジックとしての必要な機能が完備され、ユーザ向けの機能が十分な画面自動生成処理システムを提供することにある。
【課題を解決するための手段】
【0007】
上記技術的課題を解決するため、本発明の基本構成は、クライアントからネットワークを介して伝送された所定の業務ロジックに係るデータ処理要求に応じてサーバ側で当該所定の業務ロジックに必要な一連のデータ処理を自動的に行うクライアントサーバモデルシステムとしての画面自動生成処理システムであって、サーバは、一連のデータ処理として、少なくともデータ処理要求で指定された画面コードに対応する画像データオブジェクトの生成、入力した画面データ値に対する当該画像データオブジェクトに含まれる項目データオブジェクトについての全ての項目分の入力チェック、当該データ処理要求に応じたデータベースに対する格納・検索、XML形式の帳票生成、並びに画面生成を行う画面自動生成処理部を備えたことを特徴とする。
【0008】
上記画面自動生成処理システムの具体的構成では、画面自動生成処理部は、画面コードに対応する画面定義ファイルを格納した画面定義ファイル部と、画面コードに対応する前記画面定義ファイルの最初の行の画像情報に基づいて画像データオブジェクトの生成処理を行うと共に、当該画面定義ファイルの次の行以降の項目情報に基づいて項目データオブジェクトの生成処理を行う画像データオブジェクト生成処理部と、画像データオブジェクト及び項目データオブジェクトを保持する画像データオブジェクト保持部と、画面コード及び入力した項目の項目キーと入力したデータ値とを取得して設定した項目値マップを保持する項目値マップ保持部と、項目値マップに基づいて入力したデータ値に対する画像データオブジェクト保持部から取得した項目データオブジェクトの全ての項目分についての入力チェック処理を行う入力チェック処理部と、入力チェック処理の結果が正常である場合のデータ処理要求に応じてデータベースに対する格納処理を行うデータベース格納処理部と、入力チェック処理の結果が正常である場合のデータ処理要求に応じてデータベースに対する検索処理を行うデータベース検索処理部と、入力チェック処理の結果が正常である場合のデータ処理要求に応じてXML形式の帳票生成処理を行う帳票生成処理部と、入力チェック処理の結果が正常である場合のデータ処理要求に応じて格納処理、検索処理、帳票生成処理に伴うデータ編集処理を行うデータ編集処理部と、データ編集処理に続くデータ処理要求に応じて遷移先画面コードに対する画像データオブジェクト生成処理部による画像データオブジェクトの生成処理を経た後に項目生成処理を含んだ画面生成処理を行う画面生成処理部と、を備えたことを特徴とする。
【0009】
上記何れかの画面自動生成処理システムの細部構成では、画面自動生成処理部は、画面の固有情報を排除した様式を予め定義した画面テンプレートを格納した画面テンプレートファイル部と、画面の項目固有のデータを排除した様式を予め定義した項目テンプレートを格納した項目テンプレートファイル部と、を備え、画面生成処理部は、画面テンプレート及び項目テンプレートに画面データオブジェクトの内容を設定することにより画面生成処理を行うことを特徴とする。
【0010】
また、上記何れかの画面自動生成処理システムの細部機能では、画像データオブジェクト生成処理部は、入力した項目情報の1つとして項目の階層を定義し、当該階層の関係に基づいて項目を繰り返し表示する機能を持つことを特徴とする。
【0011】
更に、上記何れかの画面自動生成処理システムの細部機能では、データ編集処理部では、データ編集処理として、項目の固有情報を排除して汎用化した関連チェック及び編集条件を一意に特定するIDと対応付けると共に、当該IDと当該項目の固有情報とをパラメータ化することにより、入力チェック処理部での入力チェック処理としての当該関連チェックと当該データ編集処理とを動的に変更する機能を持つことを特徴とする。
【発明の効果】
【0012】
本発明の画面自動生成処理システムによれば、システムの起動停止を行わずに所定の業務ロジックに必要な一連のデータ処理を自動的に行うため、業務ロジックとしての必要な機能が完備され、ユーザ向けの機能が十分となる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施例1に係る画面自動生成処理システムの概略構成を示したブロック図である。
【図2】図1に示す画面自動生成処理システムに備えられる画面自動生成処理部の動作処理の概略を示すフローチャートである。
【図3】画面自動生成処理部に備えられる画面データオブジェクト生成処理部の動作処理を示したフローチャートである。
【図4】画面自動生成処理部に備えられる入力チェック処理部の動作処理を示したフローチャートである。
【図5】画面自動生成処理部に備えられるデータ編集処理部の動作処理を示したフローチャートである。
【図6】画面自動生成処理部に備えられる画面生成処理部の動作処理を示したフローチャートの前半部である。
【図7】画面自動生成処理部に備えられる画面生成処理部の動作処理を示したフローチャートの後半部である。
【図8】画面自動生成処理部に備えられる画面生成処理部にあっての項目生成処理部の動作処理を示したフローチャートである。
【図9】画面自動生成処理部に備えられるデータベース(DB)格納処理部の動作処理を示したフローチャートである。
【図10】画面自動生成処理部に備えられるデータベース(DB)検索処理部の動作処理を示したフローチャートである。
【図11】画面自動生成処理部に備えられる帳票生成処理部の動作処理を示したフローチャートである。
【図12−1−1】画面自動生成処理部に備えられる画面定義ファイル部に格納される画面定義ファイルの一例として、入力画面の画面定義ファイルのデータを例示した図である。
【図12−1−2】画面自動生成処理部に備えられる画面定義ファイル部に格納される画面定義ファイルの他例として、確認画面の画面定義ファイルのデータを例示した図である。
【図12−1−3】画面自動生成処理部に備えられる画面定義ファイル部に格納される画面定義ファイルの別例として、検索画面の画面定義ファイルのデータを例示した図である。
【図12−2−1】画面自動生成処理部に備えられる画面定義ファイル部に格納される画面定義ファイルの要素名に対する設定内容の前半部を例示した図である。
【図12−2−2】画面自動生成処理部に備えられる画面定義ファイル部に格納される画面定義ファイルの要素名に対する設定内容の後半部を例示した図である。
【図13】画面自動生成処理部に備えられる画面データオブジェクト保持部に保持される画面データオブジェクトの設定内容のデータを例示した図である。
【図14−1】項目データオブジェクトの設定内容のデータの前半部を例示した図である。
【図14−2】項目データオブジェクトの設定内容のデータの後半部を例示した図である。
【図15−1】入力チェック処理部で入力チェック処理される関連チェック定義のデータを例示した図である。
【図15−2】入力チェック処理部で関連チェック定義を適用して入力チェック処理が実行された関連チェックのデータを例示した図である。
【図16−1】データ編集処理部でのデータ編集処理の一例として、入力画面のデータを例示した図である。
【図16−2】データ編集処理部でのデータ編集処理の他例として、編集条件定義のデータを例示した図である。
【図16−3】データ編集処理部でのデータ編集処理の別例として、画面自動生成処理部に備えられる項目値マップ保持部に設定保持される項目値マップのデータを例示した図である。
【図17】画面生成処理部での画面生成処理の一例として、入力画面の生成データを例示した図である。
【図18】画面生成処理部での画面生成処理の他例として、確認画面の生成データを例示した図である。
【図19】画面生成処理部での画面生成処理の別例として、検索画面の生成データを例示した図である。
【図20−1】画面自動生成処理部に備えられる検索用データベース(DB)のテーブル定義のデータを例示した図である。
【図20−2】画面自動生成処理部に備えられる検索用データベース(DB)におけるデータを更新した場合の更新データの一例をアップデート文により例示した図である。
【図20−3】画面自動生成処理部に備えられる検索用データベース(DB)におけるデータを更新した場合の更新データの他例を更新結果により例示した図である。
【図21−1】画面自動生成処理部に備えられる検索用データベース(DB)におけるデータベース(DB)検索処理部により検索される前の検索前データ状況を例示した図である。
【図21−2】画面自動生成処理部に備えられる検索用データベース(DB)におけるデータベース(DB)検索処理部により検索された後の検索後データ状況の一例をセレクト文により例示した図である。
【図21−3】画面自動生成処理部に備えられる検索用データベース(DB)におけるデータベース(DB)検索処理部により検索された後の検索後データ状況の他例を検索結果により例示した図である。
【図22】帳票生成処理部で帳票生成処理される帳票の生成データ(帳票例)を例示した図である。
【図23】画面自動生成処理部に備えられる画面テンプレートファイル部に格納される画面テンプレートのデータ(画面テンプレート例)を例示した図である。
【図24】画面自動生成処理部に備えられる項目テンプレートファイル部に格納される項目テンプレートのデータ(項目テンプレート例)を例示した図である。
【発明を実施するための形態】
【0014】
以下、本発明の画面自動生成処理システムについて、図面を参照して詳細に説明する。
【実施例1】
【0015】
図1は、本発明の実施例1に係る画面自動生成処理システムの概略構成を示したブロック図である。
【0016】
この画面自動生成処理システムは、クライアン101のブラウザからネットワーク102を介して伝送された画面生成や帳票生成等を含む所定の業務ロジックに係るデータ処理要求に応じてサーバ103側で業務ロジックに必要な一連のデータ処理を自動的に行うクライアントサーバモデルシステムとして構成される。
【0017】
因みに、ここでのクライアン101及びサーバ103は、よく知られているように、略図するCPU、主メモリ、HDD等による記憶装置、表示装置、及びキーボードマウス等の入出力装置を備えて構成されるものである。
【0018】
また、サーバ103は、一連のデータ処理として、少なくともデータ処理要求で指定された画面コードに対応する画像データオブジェクトの生成、入力した画面データ値に対する画像データオブジェクトに含まれる項目データオブジェクトについての全ての項目分の入力チェック、データ処理要求に応じた内部の検索用データベース(DB)122に対する格納(更新)・検索、XML形式の帳票生成、並びに画面生成を行う画面自動生成処理部104を備えている。
【0019】
業務ロジックの主たる機能を担う画面自動生成処理部104は、細部構成として、画面コードに対応する画面定義ファイルを格納した画面定義ファイル部117と、画面コードに対応する画面定義ファイルの最初の行の画像情報に基づいて画像データオブジェクトの生成処理を行うと共に、画面定義ファイルの次の行以降の項目情報に基づいて項目データオブジェクトの生成処理を行う画像データオブジェクト生成処理部109と、画像データオブジェクト及び項目データオブジェクトを保持する画像データオブジェクト保持部118と、画面コード及び入力した項目の項目キーと入力したデータ値とを取得して設定した項目値マップを保持する項目値マップ保持部121と、項目値マップに基づいて入力したデータ値に対する画像データオブジェクト保持部118から取得した項目データオブジェクトの全ての項目分についての入力チェック処理を行う入力チェック処理部110と、を備えている。
【0020】
また、画面自動生成処理部104は、入力チェック処理の結果が正常である場合のデータ処理要求に応じて検索用データベース(DB)122に対する格納処理を行うデータベース(DB)格納処理部114と、入力チェック処理の結果が正常である場合のデータ処理要求に応じて検索用データベース(DB)122に対する検索処理を行うデータベース(DB)検索処理部115と、入力チェック処理の結果が正常である場合のデータ処理要求に応じてXML形式の帳票生成処理を行う帳票生成処理部116と、入力チェック処理の結果が正常である場合のデータ処理要求に応じて格納処理、検索処理、帳票生成処理に伴うデータ編集処理を行うデータ編集処理部111と、データ編集処理に続くデータ処理要求に応じて遷移先画面コードに対する画像データオブジェクト生成処理部による画像データオブジェクトの生成処理を経た後に項目生成処理部113による項目生成処理を含む画面生成処理を行う画面生成処理部112と、を備えている。
【0021】
更に、画面自動生成処理部104は、画面の固有情報を排除した様式を予め定義した画面テンプレートを格納した画面テンプレートファイル部119と、画面の項目固有のデータを排除した様式を予め定義した項目テンプレートを格納した項目テンプレートファイル部120と、を備えている。
【0022】
このうち、画面生成処理部112は、画面テンプレート及び項目テンプレートに画面データオブジェクトの内容を設定することにより画面生成処理を行う。画像データオブジェクト生成処理部109は、入力した項目情報の1つとして項目の階層を定義し、階層の関係に基づいて項目を繰り返し表示する機能を持つ。データ編集処理部111では、データ編集処理として、項目の固有情報を排除して汎用化した関連チェック及び編集条件を一意に特定するIDと対応付けると共に、IDと項目の固有情報とをパラメータ化することにより、入力チェック処理部110での入力チェック処理としての関連チェックとデータ編集処理とを動的に変更する機能を持つ。
【0023】
各部の機能処理を簡単に説明すれば、画面データオブジェクト生成処理部109は、画面定義ファイル部117から画面、項目の情報を取得し、画面データオブジェクトに変換して画面データオブジェクト保持部118に保持する。画面定義ファイル部117は、画面、項目に関する情報を表形式に纏めた画面定義ファイルを保持する。画面定義ファイルは、行が1つの項目、列がその項目のデータを表わすように画面毎に定義する。ファイル名は、画面を一意に特定する画面コードを設定する。画面項目に変更が発生した場合は、この画面定義ファイル部117の画面定義ファイルを変更したり、或いは入れ替えることで動的に変更を反映することができる。
【0024】
因みに、画面定義ファイル部117に係る画面定義ファイルのデータ例については図12−1−1に示されるクライアント101側の入力画面105についての画面定義ファイルのデータ例、図12−1−2に示されるクライアント101側の確認画面106についての画面定義ファイルのデータ例、図12−1−3に示されるクライアント101側の検索画面107についての画面定義ファイルのデータ例で具体的に示し、画面定義ファイルの設定内容のデータ例については前半部を図12−2−1に示し、後半部を図12−2−2に示す。
【0025】
画面データオブジェクト保持部118は、画面定義ファイル部117の画面定義ファイルにある画面のデータをプログラムで使用し易いオブジェクトの形式に変換した画面データオブジェクトを保持する。画面データオブジェクトには画面情報や項目の情報をオブジェクトの形式に変換した項目データオブジェクトが含まれる。
【0026】
画面データオブジェクト生成処理部109以外の各処理部は、ここでの画面データオブジェクトの内容を参照しながら処理を行う。因みに、画面データオブジェクトの具体的な内容(データ)は図13に例示し、項目データオブジェクトの具体的な内容(データ)は前半部を図14−1に例示し、後半部を図14−2に例示する。
【0027】
入力チェック処理部110は、画面で入力したデータ値のチェックを行う。画面で入力したデータ値は画面、項目毎に対応付けられて項目値マップとして項目値マップ保持部121に格納され、各処理部で参照する。
【0028】
項目値マップは、画面、項目毎にそれらの値を管理するオブジェクトである。1つの項目が繰り返し項目であり、1つ以上のデータ値を持つ場合にはリスト化してそれらのデータ値を格納する。
【0029】
データ編集処理部111は、画面で入力したデータ値の編集処理を行う。クライアント101側の検索画面107で検索条件を入力する場合は、そのデータ値に検索条件を付加して項目値マップ保持部121に格納する。因みに、図16−1はデータ編集処理に係る入力画面のデータを例示したもので、図16−2は編集条件定義のデータを例示したもので、図16−3は項目値マップのデータを例示したものである。
【0030】
画面生成処理部112は、クライアント101側に示される入力画面105、確認画面106、検索画面107の3種類の画面を生成するものであるが、種類に応じて画面の様式を変更することができる。
【0031】
ここでの画面の様式は、画面テンプレートファイル部119に各画面の固有情報を排除した様式である画面テンプレート、項目テンプレートファイル部120に各項目固有のデータを排除した様式である項目テンプレートをそれぞれ予め定義してファイルしておき、画面自動生成処理部104上に配置する。これらの各テンプレートに画面や項目固有のデータが定義されている画面データオブジェクト保持部116の画面データオブジェクトの内容を設定することにより、画面を生成する。
【0032】
本実施形態では、画面テンプレートファイル部119にファイルされる画面テンプレートの種類が3種類である場合を説明しているが、実際の画面テンプレートの種類数は制限されないため、あくまでも一例である。画面のレイアウトに変更が発生した場合は、この画面テンプレートファイル部119の画面テンプレートや項目テンプレートファイル部120の項目テンプレートを入れ替えることにより、動的に変更を反映することができる。
【0033】
また、画面生成処理部112において、画面の各項目の生成は項目生成処理部113が実行することで得られる。因みに、ここでの画面テンプレートファイル部119の画面テンプレートのデータは図23に例示し、項目テンプレートファイル部120の項目テンプレートのデータは図24に例示する。
【0034】
データベース(DB)格納処理部114は、画面で入力した内容を検索用データベース(DB)122に格納する。
【0035】
検索用データベース(DB)122には、任意の画面、項目情報を格納できるように汎用化したテーブルを定義する。因みに、ここでの検索用データベース(DB)122のテーブル定義のデータは図20−1に例示し、その更新例(update文)のデータの一例は図20−2に例示し、その更新例(更新結果)のデータの他例は図20−3に例示する。
【0036】
データベース(DB)検索処理部115は、データベース(DB)格納処理部114で検索用データベース(DB)122に格納したデータを検索する。
【0037】
帳票生成処理部116は、画面で入力した内容に対応したクライアント101側の帳票(XML)ファイル部108の帳票(XML)を作成する。因みに、このXML様式の帳票のデータは図22に例示する。
【0038】
図2は、この画面自動生成処理システムに備えられる画面自動生成処理部104の動作処理の概略を示すフローチャートである。
【0039】
この画面自動生成処理システムでは、画面自動生成処理部104において、画面定義ファイル部117の画面定義ファイルに定義された画面に関する情報を読み込み、画面データオブジェクトの形式に変換した後、DB格納処理・DB検索処理、帳票生成処理、画面生成処理等の各処理を実行する。
【0040】
ここでの動作処理の詳細について順に説明すれば、最初に画面データオブジェクト生成処理部109により画面データオブジェクト生成処理(ステップS201)を実行し、クライアント101から要求された『画面コード』に対応する画面定義ファイルを画面定義ファイル部117から読み込んで画面データオブジェクトを生成する。『画面コード』とは画面を一意に特定する文字列であり、画面定義ファイルのプロパティの1つである。クライアントの要求から『画面コード』及び入力した項目の『項目キー』と入力したデータ値とを取得し、項目値マップに設定(ステップS202)して項目値マップ保持部121に保持させる。画面の項目には、項目を一意に特定する『項目キー』が設定してあり、クライアント101がサーバ103へ要求を送るときに「項目キー=入力したデータ値」の形式で送られる。画面の項目に『項目キー』を設定する処理は、画面生成処理部112で画面生成するときに行う。
【0041】
係る処理の後、入力チェック処理部110による入力チェック処理(ステップS203)を実行し、チェック結果はどうであるかの判別(ステップS204)を行う。チェック結果がエラーの場合は、エラーメッセージを出力(ステップS205)し、動作処理を終了する。チェック結果が正常の場合、クライアントから要求された『処理要求』の種類を判別するために処理要求は何かを判別(ステップS206)し、その内容に応じた処理を行う。『処理要求』は、画面定義ファイルのプロパティの1つであり、クライアント101側での画面生成時に画面のボタンに設定する。
【0042】
画面のボタン押下時に設定された『処理要求』がネットワーク102を経由してサーバ103へ送られる。そこで、サーバ103の画面自動生成処理部104では、『処理要求』が“regist”の場合にはデータベース(DB)格納処理部114によるDB格納処理(ステップS207)を行い、『処理要求』が“search”の場合にはデータベース(DB)検索処理部115によりDB検索処理(ステップS208)を行い、『処理要求』が“export”の場合には帳票生成処理部116により帳票生成処理(ステップS209)を行う。尚、『処理要求』が“move”の場合には画面遷移処理のみを行うため、特別な処理は行わない。
【0043】
『処理要求』に応じた処理を行った後、画面遷移処理に推移する。まず、データ編集処理部111によりデータ編集処理(ステップS210)を行い、入力したデータ値の編集を行う。次に、クライアントの要求から『遷移先画面コード』を取得(ステップS211)した後、画面データオブジェクト生成処理部109により画面データオブジェクト生成処理(ステップS212)を行い、『遷移先画面コード』に対応した画面データオブジェクトを生成する。因みに、『遷移先画面コード』は、画面遷移先の画面を特定する画面コードであると共に、画面定義ファイルのプロパティの1つであり、画面生成時に画面のボタンに設定する。
【0044】
更に、生成した画面データオブジェクトを参照して画面生成処理部112により画面生成処理(ステップS213)を行い、遷移先画面を生成する。画面生成処理が完了した後には、動作処理を終了する。
【0045】
画面自動生成処理部104に備えられる各処理部についての動作処理は、以下にそれぞれフローチャートを参照して詳細に説明する。
【0046】
図3は、画面データオブジェクト生成処理部109の動作処理を示したフローチャートである。
【0047】
画面データオブジェクト生成処理部109による画面データオブジェクト生成処理では、まず画面コードに対応した画面定義ファイルを画像定義ファイル部117から取得する(ステップS301)し、その画面定義ファイルから1行読み込む(ステップS302)処理を行う。最初の行は画面情報であるため、画面情報として、その行の各セルを読み込み、画面データオブジェクトを生成(ステップS303)する。
【0048】
引き続き、画面定義ファイルから次の1行を読み込む(ステップS304)処理を行う。2行目以降は項目情報であるため、項目情報として、その行の各セルを読み込み、項目データオブジェクトを生成(ステップS305)する。項目データオブジェクトの具体的内容(データ)の前半部を図14−1に示し、後半部を図14−2に示す。
【0049】
更に、生成した項目データオブジェクトを画面データオブジェクトのプロパティ『項目リスト』へ追加(ステップS306)した後、画面定義ファイルの終端か否かを判定(ステップS307)する。この結果、画面定義ファイルの終端でない場合は、画面定義ファイルから次の1行を読み込む(ステップS304)処理へ戻り、終端に達するまで繰り返し処理を行うようにするが、画面定義ファイルの終端に達している場合には動作処理を終了する。
【0050】
図4は、入力チェック処理部110の動作処理を示すフローチャートである。
【0051】
入力チェック処理部110による入力チェック処理では、まず項目値マップから入力した画面項目の項目キーとデータ値とを取得(ステップS401)した後、項目値マップから取得した項目全てに対して入力チェック処理を繰り返す設定(ステップS402)を行う。ここでの入力チェック処理は、以下に説明する各処理(ステップS403〜ステップS411)を繰り返すことを示す。
【0052】
次に、項目キーに対応する項目データオブジェクトを画面データオブジェクトのプロパティ『項目リスト』から取得(ステップS403)した後、項目データオブジェクトからプロパティ『必須』を取得して必須チェックを実行(ステップS404)する。この後、チェック結果を判別(ステップS405)し、チェック結果がエラーの場合にはエラーメッセージと共にエラーを返す(ステップS414)処理を行ってから動作処理を終了するが、チェック結果が正常の場合には、引き続いて項目データオブジェクトからプロパティ『属性』を取得して属性チェックを実行(ステップS406)する。この後、チェック結果を判別(ステップS407)し、チェック結果がエラーの場合には同様に、エラーメッセージと共にエラーを返す(ステップS414)処理を行ってから動作処理を終了するが、チェック結果が正常の場合には、引き続いて項目データオブジェクトからプロパティ『桁数』を取得して桁数チェックを実行(ステップS408)する。この後、チェック結果を判別(ステップS409)し、チェック結果がエラーの場合には同様に、エラーメッセージと共にエラーを返す(ステップS414)処理を行ってから動作処理を終了するが、チェック結果が正常の場合には、引き続いて項目データオブジェクトからプロパティ『関連チェック』を取得して関連チェックを実行(ステップS410)する。
【0053】
因みに、ここでのプロパティ『関連チェック』にはチェックIDと補足情報とが設定されている。チェックIDは、関連チェックを一意に特定する文字列である。チェック内容自体は項目の固有情報を排除して汎用化し、予め手動でプログラムに実装する。そして、チェックIDと対応付けておく。項目の固有情報は、補足情報としてプロパティ『関連チェック』に設定する。チェックIDに対応した関連チェックを、補足情報を引数として呼び出して実行する。
【0054】
関連チェックの適用例については、図15−1に関連チェック定義例(データ)を示し、図15−2に実行される関連チェック例(データ)を示す。尚、実行される関連チェックは、図12−1−1の画面定義ファイルにおけるNo.3の項目を適用した場合、No.3の項目に対してチェック実行される場合を示している。
【0055】
関連チェックの実行後、チェック結果を判別(ステップS411)し、チェック結果がエラーの場合には同様に、エラーメッセージと共にエラーを返す(ステップS414)処理を行ってから動作処理を終了するが、チェック結果が正常の場合には、項目値マップから取得した次の項目に対する入力チェック処理(ステップS412)を実行した後、全ての項目の入力チェック処理を正常で終えた場合に正常を返す(ステップS413)処理を行ってから動作処理を終了する。尚、ここでの次の項目に対する入力チェック処理(ステップS412)と、全ての項目の入力チェック処理を正常で終えた場合に正常を返す(ステップS413)処理とは、上述した項目値マップから取得した項目全てに対して入力チェック処理を繰り返す(ステップS402)処理に戻ることを示すものである。
【0056】
図5は、データ編集処理部111の動作処理を示したフローチャートである。
【0057】
データ編集処理部111によるデータ編集処理では、まず項目値マップから入力した画面の項目キーとデータ値とを取得(ステップS501)した後、項目値マップから取得した項目全てに対してデータ編集処理を繰り返す設定(ステップS502)を行う。ここでのデータ編集処理は、以下に説明する各処理(ステップS503〜ステップS507)を繰り返すことを示す。
【0058】
次に、項目キーに対応する項目データオブジェクトを画面データオブジェクトのプロパティ『項目リスト』から取得(ステップS503)した後、項目データオブジェクトからプロパティ『編集』を取得(ステップS504)する。更に、『編集』から、編集条件ID、編集先画面コード、編集先項目キー、補足情報を取得(ステップS505)する。因みに、ここでの編集条件IDは、編集条件を一意に特定する文字列である。編集条件自体は項目固有の情報を排除して汎用化し、予め手動でプログラムに実装する。そして、編集条件IDと対応付けておく。項目の固有情報は、補足情報としてプロパティ『編集』に設定する。
【0059】
この後、編集条件IDに対応した編集条件を、入力したデータ値と補足情報を引数として呼び出して編集を実行(ステップS506)する処理を行った後、編集したデータ値を編集先画面コード、編集先項目キーに対応するデータ値として項目値マップへ格納(ステップS507)する。最後に、全ての項目に至るまで項目値マップから取得した次の項目に対するデータ編集処理(ステップS508)を実行してから動作処理を終了する。尚、ここでの全ての項目に至るまで項目値マップから取得した次の項目に対するデータ編集処理(ステップS508)処理は、上述した項目値マップから取得した項目全てに対してデータ編集処理を繰り返す(ステップS502)処理に戻ることを示すものである。
【0060】
データ編集処理のデータ例は、図16−1に示される入力画面のデータを例示できる。図12−1−1に示す画面定義ファイルのデータによって生成された入力画面上で、図16−1のようにデータ値を入力して確認ボタンを押下した場合、図16−2に示される編集条件定義のデータを適用すると、図16−3に示されるようなデータの項目値マップが作成される。
【0061】
図6は、画面生成処理部112の動作処理を示したフローチャートの前半部(画面全体に関係する部分)である。また、図7は、画面生成処理部112の動作処理を示したフローチャートの後半部(項目に関係する部分)である。
【0062】
図6を参照すれば、画面生成処理部112による画面生成処理における画面全体に関係する部分では、まず画面データオブジェクトからプロパティ『画面種別』を取得(ステップS601)した後、『画面種別』は何かを判別(ステップS602)する。『画面種別』が“input”の場合には入力画面の画面テンプレートを取得(ステップS603)し、『画面種別』が“confirm”の場合には確認画面の画面テンプレートを取得(ステップS604)し、『画面種別』が“search”の場合には検索画面の画面テンプレートを取得(ステップS605)し、何れの場合も各画面テンプレートを取得した後は画面データオブジェクトから画面名、画面コードを取得して画面テンプレートに設定(ステップS606)する。更に、画面データオブジェクトから項目リストを取得(ステップS607)する。
【0063】
次に、図7を参照すれば、画面生成処理部112による画面生成処理における項目に関係する部分では、最初に項目リストの終端になるまで繰り返す設定(ステップS701)を行う。具体的には、以下に説明する各処理(ステップS702〜ステップS712)を繰り返すことを示す。因みに、ここでは項目生成処理の前準備として、項目の繰り返しに関わる設定を行うことを意味している。『繰り返し数』が設定された項目は、その項目自体と、その項目より階層が深い子要素である項目とを『繰り返し数』分、画面に表示させる。例えば、図12−1−1に示されるNo.4「担当業務」が『繰り返し数』の設定された項目であり、No.5「業務名」、No.6「従事年数」が子要素である。この場合、「担当業務」から「従事年数」までを2個ずつ生成する。画面に表示させた場合のデータ例を図17に示す。
【0064】
繰り返しに関わる設定として、まず項目リストから項目データオブジェクトを1つ取得(ステップS702)した後、項目データオブジェクトからプロパティ『繰り返し数』を取得(ステップS703)する。次に、取得した項目データオブジェクトの項目リストにおける位置を『繰り返し開始位置』として記憶(ステップS704)しておく。図12−1−1に示されるNo.4「担当業務」を例にすると、『繰り返し開始位置』はNo.4「担当業務」になる。
【0065】
更に、子要素の最後の項目の項目リストにおける位置を『繰り返し終了位置』として記憶(ステップS705)しておく。図12−1−1に示されるNo.4「担当業務」を例にすると、『繰り返し終了位置』はNo.6「従事年数」になる。仮に子要素が設定されていない項目の場合は、『繰り返し終了位置』はその項目自体になる。図12−1−1に示されるNo.2「氏名」を例にすると、『繰り返し終了位置』はNo.2「氏名」となる。この場合、結果的にNo.2「氏名」を1個生成することになる。
【0066】
繰り返しに関わる設定を終えると、項目生成処理の準備に推移する。ここでは項目リストから繰り返し開始位置にある項目データオブジェクトを取得(ステップS706)した後、項目生成処理部113により取得した項目データオブジェクトの項目生成処理(ステップS707)を行う。この後、繰り返し終了位置か否かを判別(ステップS708)し、繰り返し終了位置でない場合には、項目リストから項目データオブジェクトを取得する取得位置を1つ進める(ステップS709)処理を行ってから項目リストから項目データオブジェクトを1つ取得(ステップS702)する処理に戻るが、繰り返し終了位置の場合には繰り返し数分、繰り返したか否かを判別(ステップS710)する。
【0067】
この結果、繰り返し数分、繰り返していない場合には繰り返した数を1つ増やす(ステップS711)処理を行った後、取得位置を繰り返し開始位置まで戻り、項目リストから繰り返し開始位置にある項目データオブジェクトを取得(ステップS712)してから項目生成処理(ステップS707)に戻る。繰り返し数分、繰り返した場合には、項目リストの終端か否かの判別(ステップS713)を行う。項目リストの終端でない場合は、取得位置を1つ進める(ステップS709)処理を行ってから項目リストから項目データオブジェクトを1つ取得(ステップS702)する処理に戻るが、項目リストの終端である場合には画面テンプレートを返す(ステップS714)処理を行った後、動作処理を終了する。
【0068】
図8は、画面生成処理部112にあっての項目生成処理部113の動作処理を示すフローチャートである。
【0069】
項目生成処理部113による項目生成処理では、まず項目データオブジェクトからプロパティ『種別』を取得(ステップS801)した後、『種別』は何かを判別(ステップS802)する。『種別』とはテキストボックスやセレクトボックス等の項目の種類を表わすもので、種別毎に項目テンプレートを定義し、予めサーバ103上に配置しておく。
【0070】
判別の結果、『種別』が“text”の場合にはテキストボックスの項目テンプレートを取得(ステップS803)し、『種別』が“select”の場合にはセレクトボックスの項目テンプレートを取得(ステップS804)した後、更に項目データオブジェクトからプロパティ『コードリスト』を取得し、項目テンプレートに設定(ステップS805)する処理を行い、『種別』が“labal”の場合にはラベルの項目テンプレートを取得(ステップS806)した後、更にラベルにより入力したデータ値を表示するために、項目値マップからデータ値を取得し、項目テンプレートに設定(ステップS807)する処理を行い、『種別』が“button”の場合にはボタンの項目テンプレートを取得(ステップS808)した後、更に項目データオブジェクトからプロパティ『処理要求』、『遷移先画面コード』を取得し、項目テンプレートに設定(ステップS809)する処理を行う。
【0071】
因みに、上述したコードリストには、セレクトボックスに表示する選択肢とそのコード値とが定義されている。
【0072】
種別毎の処理を行った後、何れの場合にも他のプロパティを順次設定する。具体的には項目データオブジェクトからプロパティ『項目キー』、『画面項目名』、『画面項目階層』、『属性』、『桁数』、『必須』、『単位』を取得し、項目テンプレートに設定(ステップS810)する処理を行った後、項目テンプレートを画面テンプレートに追加(ステップS811)してから動作処理を終了する。
【0073】
ここでの入力画面のデータ例は図17に示す。図12−1−1の画面定義ファイルに基づいて画面を生成すると、図17に示される様子になる。また、確認画面のデータ例は図18に示す。図12−1−2の画面定義ファイルに基づいて画面を生成すると、図18に示される様子になる。更に、検索画面のデータ例は図19に示す。図12−1−3の画面定義ファイルに基づいて画面を生成すると、図19に示される様子になる。
【0074】
図9は、データベース(DB)格納処理部114の動作処理を示すフローチャートである。
【0075】
データベース(DB)格納処理部114によるDB格納処理では、まず項目値マップから要求のあった画面コードに対する項目キーとデータ値とを取得(ステップS901)した後、項目値マップから取得した項目全てに対してDB格納処理を繰り返す設定(ステップS902)を行う。ここでのDB格納処理は、以下に説明する各処理(ステップS903〜ステップS906)のアップデート文作成処理を繰り返すことを示す。
【0076】
次に、項目キーに対応した項目データオブジェクトを画面データオブジェクトのプロパティ『項目リスト』から取得(ステップS903)した後、項目データオブジェクトからプロパティ『DBマッピング』を取得(ステップS904)する。更に、プロパティ『DBマッピング』で指定されたカラムに対して、データ値を格納するセット句を作成(ステップS905)する処理を行う。引き続き、セット句をアップデート文に追加(ステップS906)した後、全ての項目に至るまで項目値マップから取得した次の項目に対するアップデート文作成処理によるDB格納処理(ステップS907)を実行して処理を継続する。アップデート文作成処理が完了した場合には作成したアップデート文を実行し、検索用データベース(DB)122のレコードを更新(ステップS908)してから動作処理を終了する。尚、ここでの全ての項目に至るまで項目値マップから取得した次の項目に対するDB格納処理(ステップS907)は、先の項目値マップから取得した項目全てに対してDB格納処理を繰り返す(ステップS902)処理に戻ることを示すものである。
【0077】
検索用データベース(DB)122に格納されるデータ例は、図20−1に示すテーブル定義例のデータに図12−2−2に示した画面定義ファイルによって生成された確認画面(図18に示される)で登録ボタンを押下すると、図20−2に示されるようなアップデート文が作成され、図20−3に示される更新結果のデータが検索用データベース(DB)122に格納される。
【0078】
図10は、データベース(DB)検索処理部115の動作処理を示すフローチャートである。
【0079】
データベース(DB)検索処理部115によるDB検索処理では、まず項目値マップから要求のあった画面コードに対する項目キーとデータ値とを取得(ステップS1001)した後、項目値マップから取得した項目全てに対してDB検索処理を繰り返す設定(ステップS1002)を行う。ここでのDB検索処理は、以下に説明する各処理(ステップS1003〜ステップS1006)のセレクト文作成処理を繰り返すことを示す。
【0080】
次に、項目キーに対応した項目データオブジェクトを画面データオブジェクトのプロパティ『項目リスト』から取得(ステップS1003)した後、項目データオブジェクトからプロパティ『DBマッピング』を取得(ステップS1004)する。更に、プロパティ『DBマッピング』で指定されたカラムに対して、検索画面で入力したデータ値と検索条件からwhere(ホエア)句を作成(ステップS1005)する処理を行う。引き続き、ホエア(where)句をセレクト文に追加(ステップS1006)した後、全ての項目に至るまで項目値マップから取得した次の項目に対するセレクト文作成処理によるDB検索処理(ステップS1007)を実行して処理を継続する。セレクト文作成処理が完了した場合には作成したセレクト文により検索用データベース(DB)122を検索し、検索結果を返す(ステップS1008)処理を行ってから動作処理を終了する。尚、ここでの全ての項目に至るまで項目値マップから取得した次の項目に対するDB検索処理(ステップS1007)は、上述した項目値マップから取得した項目全てに対してDB検索処理を繰り返す(ステップS1002)処理に戻ることを示すものである。
【0081】
検索用データベース(DB)122に対して検索されるデータ例は、図21−1に示す検索前のデータ状況にあるデータを対象として、図12−2−3に示した画面定義ファイルによって生成された検索画面(図19に示される)で検索ボタンを押下すると、図21−2に示されるようなセレクト文が作成され、図21−3に示される検索結果が返る。
【0082】
図11は、帳票生成処理部116の動作処理を示したフローチャートである。
【0083】
帳票生成処理部116による帳票生成処理では、まず画面データオブジェクトからプロパティ『項目リスト』を取得(ステップS1101)した後、項目リストから項目データオブジェクトを1つ取得(ステップS1102)する。更に、項目データオブジェクトからプロパティ『タグ名』、『タグ階層』を取得して対応するタグを生成(ステップS1103)する。引き続き、項目データオブジェクトからプロパティ『項目キー』を取得(ステップS1104)した後、項目キーに対応するデータ値を項目値マップから取得してタグの値に設定(ステップS1105)する。この後、項目リストの終端か否かを判別(ステップS1106)する。この結果、項目リストの終端でない場合には、取得位置を1つ進める(ステップS1107)処理を行ってから項目リストから項目データオブジェクトを1つ取得(ステップS1102)する処理に戻るが、項目リストの終端である場合には、生成した帳票を返す(ステップS1108)処理を行った後、動作処理を終了する。
【0084】
生成される帳票のデータ例は図22に示す。
【0085】
以上に説明したサーバ103内に構築された画面自動生成処理部104の処理機能の基本とする画面自動生成処理システムでは、システムの起動停止を行わずに画面生成から入力したデータ値のチェック、検索用データベース(DB)122の格納(更新)・検索、
XML形式の帳票生成に至るまでの業務ロジックに必要な一連のデータ処理を動的に変更することができ、しかもプログラムの変更が発生しないため、規格仕様の変更が頻繁に発生する場合や規格仕様の凍結がシステムリリースの直前になった場合においても迅速にして正確に運用することができる。また、画面項目の情報を表形式のファイルで管理することにより、メンテナンス性が向上するため、顧客が直接メンテナンスすることも可能となる。更に、全ての項目分に及ぶ繰り返し処理に対応することにより、XML形式により画面に入力したデータ(情報)を出力する機能を実装することが可能となり、XML形式のデータを使用して他システムや他製品との連携が容易になる。結果として、生産性やメンテナンス性が顕著に向上する。
【符号の説明】
【0086】
101 クライアント
102 ネットワーク
103 サーバ
104 画面自動生成処理システム
105 入力画面
106 確認画面
107 検索画面
108 帳票(XML)ファイル部
109 画面データオブジェクト生成処理部
110 入力チェック処理部
111 データ編集処理部
112 画面生成処理部
113 項目生成処理部
114 DB格納処理部
115 DB検索処理部
116 帳票生成処理部
117 画面定義ファイル部
118 画面データオブジェクト保持部
119 画面テンプレートファイル部
120 項目テンプレートファイル部
121 項目値マップ保持部
122 検索用データベース(DB)

【特許請求の範囲】
【請求項1】
クライアントからネットワークを介して伝送された所定の業務ロジックに係るデータ処理要求に応じてサーバ側で当該所定の業務ロジックに必要な一連のデータ処理を自動的に行うクライアントサーバモデルシステムとしての画面自動生成処理システムであって、
前記サーバは、前記一連のデータ処理として、少なくとも前記データ処理要求で指定された画面コードに対応する画像データオブジェクトの生成、入力した画面データ値に対する当該画像データオブジェクトに含まれる項目データオブジェクトについての全ての項目分の入力チェック、当該データ処理要求に応じたデータベースに対する格納・検索、XML形式の帳票生成、並びに画面生成を行う画面自動生成処理部を備えたことを特徴とする画面自動生成処理システム。
【請求項2】
請求項1記載の画面自動生成処理システムにおいて、前記画面自動生成処理部は、前記画面コードに対応する画面定義ファイルを格納した画面定義ファイル部と、前記画面コードに対応する前記画面定義ファイルの最初の行の画像情報に基づいて前記画像データオブジェクトの生成処理を行うと共に、当該画面定義ファイルの次の行以降の項目情報に基づいて項目データオブジェクトの生成処理を行う画像データオブジェクト生成処理部と、前記画像データオブジェクト及び前記項目データオブジェクトを保持する画像データオブジェクト保持部と、前記画面コード及び前記入力した項目の項目キーと入力したデータ値とを取得して設定した項目値マップを保持する項目値マップ保持部と、前記項目値マップに基づいて前記入力したデータ値に対する前記画像データオブジェクト保持部から取得した前記項目データオブジェクトの全ての項目分についての入力チェック処理を行う入力チェック処理部と、前記入力チェック処理の結果が正常である場合の前記データ処理要求に応じて前記データベースに対する格納処理を行うデータベース格納処理部と、前記入力チェック処理の結果が正常である場合の前記データ処理要求に応じて前記データベースに対する検索処理を行うデータベース検索処理部と、前記入力チェック処理の結果が正常である場合の前記データ処理要求に応じてXML形式の帳票生成処理を行う帳票生成処理部と、前記入力チェック処理の結果が正常である場合の前記データ処理要求に応じて前記格納処理、前記検索処理、前記帳票生成処理に伴うデータ編集処理を行うデータ編集処理部と、前記データ編集処理に続く前記データ処理要求に応じて遷移先画面コードに対する前記画像データオブジェクト生成処理部による前記画像データオブジェクトの生成処理を経た後に項目生成処理を含んだ画面生成処理を行う画面生成処理部と、を備えたことを特徴とする画面自動生成処理システム。
【請求項3】
請求項1又は2記載の画面自動生成処理システムにおいて、前記画面自動生成処理部は、画面の固有情報を排除した様式を予め定義した画面テンプレートを格納した画面テンプレートファイル部と、画面の項目固有のデータを排除した様式を予め定義した項目テンプレートを格納した項目テンプレートファイル部と、を備え、
前記画面生成処理部は、前記画面テンプレート及び前記項目テンプレートに前記画面データオブジェクトの内容を設定することにより前記画面生成処理を行うことを特徴とする画面自動生成処理システム。
【請求項4】
請求項2又は3記載の画面自動生成処理システムにおいて、前記画像データオブジェクト生成処理部は、入力した項目情報の1つとして項目の階層を定義し、当該階層の関係に基づいて項目を繰り返し表示させる機能を持つことを特徴とする画面自動生成処理システム。
【請求項5】
請求項3又は4記載の画面自動生成処理システムにおいて、前記データ編集処理部では、前記データ編集処理として、前記項目の固有情報を排除して汎用化した関連チェック及び編集条件を一意に特定するIDと対応付けると共に、当該IDと当該項目の固有情報とをパラメータ化することにより、前記入力チェック処理部での前記入力チェック処理としての当該関連チェックと当該データ編集処理とを動的に変更する機能を持つことを特徴とする画面自動生成処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12−1−1】
image rotate

【図12−1−2】
image rotate

【図12−1−3】
image rotate

【図12−2−1】
image rotate

【図12−2−2】
image rotate

【図13】
image rotate

【図14−1】
image rotate

【図14−2】
image rotate

【図15−1】
image rotate

【図15−2】
image rotate

【図16−1】
image rotate

【図16−2】
image rotate

【図16−3】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20−1】
image rotate

【図20−2】
image rotate

【図20−3】
image rotate

【図21−1】
image rotate

【図21−2】
image rotate

【図21−3】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2011−186929(P2011−186929A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53421(P2010−53421)
【出願日】平成22年3月10日(2010.3.10)
【出願人】(000152985)株式会社日立情報システムズ (409)
【Fターム(参考)】