JP2005031816A - 業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム - Google Patents
業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム Download PDFInfo
- Publication number
- JP2005031816A JP2005031816A JP2003193890A JP2003193890A JP2005031816A JP 2005031816 A JP2005031816 A JP 2005031816A JP 2003193890 A JP2003193890 A JP 2003193890A JP 2003193890 A JP2003193890 A JP 2003193890A JP 2005031816 A JP2005031816 A JP 2005031816A
- Authority
- JP
- Japan
- Prior art keywords
- database
- screen
- property information
- application
- input
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】データベースに登録されたアプリケーションの各項目の属性を変更するだけで容易に業務アプリケーションがカスタマイズできるようにする。
【解決手段】業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、正規化したプロパティ情報をデータベース31に登録し、業務ロジックをデータベースのストアドプロシージャに記述する。実行モジュールは、データベース31のプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。
【選択図】 図5
【解決手段】業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、正規化したプロパティ情報をデータベース31に登録し、業務ロジックをデータベースのストアドプロシージャに記述する。実行モジュールは、データベース31のプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
この発明は、業務アプリケーション生成方法およびそのプログラムに関し、特に、データベースに業務アプリケーションの画面構成、動きあるいはメニュー構成等に関するプロパティ情報を正規化表現して格納し、そのデータベースにアクセスしながら動的に業務アプリケーションを生成する業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【0002】
【従来の技術】
従来のウィンドウズ(登録商標)における標準クラス階層は、例えば、図9に示すようになっていて、プログラム動作時に図中の網掛けで示したラベル(Label)クラス102〜リストボックス(List Box)クラス111が実際の画面上で目に見えるオブジェクトとなる。より具体的には、図10に示すように、一般のコンピュータ画面上で見かける、ボタン(Button)オブジェクト121、コンボボックス(Combo Box)オブジェクト122、および、チェックボックス(Check Box)オブジェクト123などのように表示される。
【0003】
このように、目で見えるオブジェクトは、その内部構造として上記図9に示すような派生関係を持っており、それぞれの属性を継承している。例えば、コントロール(Control)クラス101の属性は、オブジェクトの画面上での幅や高さによる配置を示している。また、リストコントロール(List Contorol)クラス105の属性は、上記コントロールクラス101の属性に加えて、表示されるリストや選択された位置などを示している。さらに、コンボボックス(Combo Box)クラス110の属性は、上記リストコントロールクラス105の属性に加えて、選択された文字や背景色などを示している。このため、従来のオブジェクトの属性は、派生関係を持ち、それぞれの属性を継承していることから、「テキスト入力エリア」なのか「コンボボックス」なのかといった各項目の属性の違いは、本質的なものとして捉えられていた。
【0004】
また、特許文献1は、企業の基幹業務を処理するデータベースと業務処理プログラムで構成されており、これを利用企業が購入して企業側のコンピュータにインストールすることで、カスタマイズ可能な基幹業務パッケージを提供するものであった。
【0005】
さらに、特許文献2は、分散コンピューティング環境における多階層型のコンポーネントベースのアプリケーション開発において、各プログラムコンポーネントをその分散環境で使用されるデータについて記述したオブジェクト定義から自動生成する機構を備えたことにより、最低限のプログラミング技術だけで複数に分割されたプログラムを作成することができ、さらにその開発過程で必要な通信インタフェースと仕様書も自動生成できるものであった。
【0006】
【特許文献1】
特開2001−195288号公報
【特許文献2】
特開平11−102293号公報
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来のウィンドウズ(登録商標)の標準クラス階層にあっては、生成されるアプリケーションの各項目の属性の違いが本質的なものであったため、属性内容を変更して個々のユーザの仕様に合うようにカスタマイズしたアプリケーションを作成するのは容易ではなかった。特に、業務アプリケーションでは、ベースとなる属性内容はある程度共通化しているが、会社に応じて細かい仕様変更を行なう必要がある場合に、容易にカスタマイズすることができず非常に不便であった。その上、上記のように属性内容を変更した場合は、その都度コンパイルし直さなければならず、コストや手間が膨大になるという問題があった。
【0008】
また、上記の特許文献1および2によれば、アプリケーションのカスタマイズ性をある程度改善することは可能であるが、未だ不十分であって、これまでと同様にリコンパイルを要することから、コストや手間がかかるという問題があった。
【0009】
この発明は上記に鑑みてなされたもので、アプリケーションの各項目の属性変更をユーザ毎に容易にカスタマイズすることができる上、属性変更後であってもリコンパイルする必要がなく、低コストで手間のかからない業務アプリケーション生成方法とその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義するステップと、前記正規化したプロパティ情報をデータベースに登録するステップと、業務ロジックを前記データベースに対して一連の処理手順を実行するストアドプロシージャに記述するステップと、固有の業務アプリケーションを生成する実行モジュールが前記データベースのプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成するステップと、を含むことを特徴とする。
【0011】
この請求項1の発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、その正規化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化したプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なことから、低コストで手間をかけずに業務アプリケーションを生成することができる。
【0012】
また、請求項2にかかる発明は、請求項1に記載のアプリケーション生成方法において、前記プロパティ情報は、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つを含むことを特徴とする。
【0013】
この請求項2の発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができる。
【0014】
また、請求項3にかかる発明は、請求項1または2に記載のアプリケーション生成方法において、前記データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されていることを特徴とする。
【0015】
この請求項3の発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されているため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【0016】
また、請求項4にかかる発明は、請求項1〜3のいずれか一つに記載のアプリケーション生成方法において、前記データベースがリレーショナルデータベースであって、前記プロパティ情報は、該リレーショナルデータベースにおける複数の共通フィールドのまとまりとして管理され、データを複数の表形式の単位で相互に連携させて管理することを特徴とする。
【0017】
この請求項4の発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【0018】
また、請求項5にかかる発明は、請求項1に記載のアプリケーション生成方法において、前記実行モジュールは、クライアント/サーバ型とWebアプリケーション型の何れのモデルでも同一のロジックを使って記述されていることを特徴とする。
【0019】
この請求項5の発明によれば、クライアント/サーバ型とWebアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているため、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものが使用できる上、1回設定するだけでクライアント/サーバ型とWebアプリケーション型の両方で動作させることができる。
【0020】
また、請求項6にかかる発明は、請求項1〜5のいずれか一つに記載された方法をコンピュータに実行させるプログラムである。
【0021】
この請求項6の発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【0022】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【0023】
図1は、この発明にかかる独自のクラス階層構造を説明する図である。図1に示すクラス階層構造は、上記図9で示した、従来のウィンドウズ(登録商標)の標準クラス階層構造に対して、それぞれの派生クラスにつき、画面上の入出力エリアであるインプットボックス(Input Box)の擬似クラスとして、独自の共通インタフェース8を定義した点に特徴がある。この共通インタフェース8は、独自ラベルクラス1、独自テキストボックスクラス2、独自ボタンクラス3、独自チェックボックスクラス4、独自ラジオボタンクラス5、独自コンボボックスクラス6、および、独自リストボックスクラス7などから構成されている。これらの共通インタフェース8は、業務アプリケーションに使用する属性を厳選したもので、独自の属性を追加することもできる。なお、図1において、従来と同じクラス階層には、図9と同じ符号が付してある。
【0024】
このように、クラス階層構造に、独自の共通インタフェース8を定義することにより、どの種類のオブジェクトであってもプログラム上から同等に扱うことが可能となる。このため、例えば「テキスト入力エリア」なのか「コンボボックス」なのかといった、従来のクラス階層構造であれば本質的だった各項目の属性の違いが、副次的な属性と捉えられるようになり、後述するようにプログラム動作時に各項目の属性を動的に生成したり、コンパイルすることなく重要な属性の変更を行うことができる。
【0025】
図2は、この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。図2に示すように、インプットボックス擬似クラスの属性例では、大別してプロパティ、メソッド、イベントに分けることができ、その中に種々のインプットボックスが含まれている。このように、あらゆる種類のインプットボックスがあっても、図2に示すような共通属性を持っている。
【0026】
本発明では、上記インプットボックス以外にもプロパティ化する情報が存在する。例えば、図3は、画面上のインプットボックスの配置例を示す図である。図3に示すように、本発明では、画面上のどのインプットボックス11〜17がどの位置に配置されているのか(画面レイアウト)についてもプロパティ化することができる。
【0027】
また、図4は、画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示した図である。図4(a)の「売上伝票修正・削除」ボタン21が押されると、同図(b)の「売上伝票検索」画面に遷移し、その(b)の画面の「選択」ボタン22が押された場合は、同図(c)の「売上伝票」の画面に遷移するというように、本発明では、画面遷移についてもプロパティ化することができる。
【0028】
そして、図5は、これらのプロパティ情報を正規化表現してデータベースに格納する場合の説明図である。図5に示すように、プロパティ情報としては、メニュー構成(リレーショナルデータで表現する)、画面遷移、画面レイアウト(画面上のインプットボックスの配置をリレーショナルデータで表現する)、各項目の属性、入力チェック内容(画面上の各項目の入出力エリアをインプットボックスとして汎用化(オブジェクトモデル化)する)、画面の動き、帳票レイアウトなどを一例として示したが、勿論これに限定されるものではない。例えば、「大分類」を選択すると、それに紐付く「小分類」だけが選択可能といった項目間の関係を「依存関係」と定義し、プロパティ化することも可能である。これらのプロパティ情報は、正規化表現した後、データベース31へ格納される。なお、このデータベース31は、複数の表形式の単位で連携し、データ間の関係を定義することによりデータの効率的な管理が可能なリレーショナルデータベースを用いており、データベース言語のSQLを用いて書かれている。また、汎用化したインプットボックスのプロパティ情報、メニュー構成や画面レイアウト、帳票フォーマットとしてのエクセル(Excel:商標登録)ファイル(バイナリーデータとして)などの情報は、全てデータベース31に登録される。
【0029】
図6は、業務ロジックをデータベース内に定義する処理を説明する図である。図6に示すように、売上伝票画面41の中の更新ボタン42をクリックすると、売上伝票画面41上に配置された全インプットボックス内の入力情報をパラメータとして、ストアドプロシージャ43というプログラムを起動し、その伝票データがデータベース31に登録される。例えば、「更新(あるいは、登録)」「削除」などの各操作ボタンの押下時に表示されている全インプットボックスをパラメータ受取可として、ストアドプロシージャ43により記述する。さらに、「依存関係」による動的な制御も全てストアドプロシージャにより記述する。すなわち、戻り値による画面の動的制御を行うものである。
【0030】
また、本発明は、業務アプリケーションを生成する実行モジュールが自分自身を動的に生成しながら動作するという点に特徴がある。図7は、実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。つまり、図7に示したメニュー画面51の「売上伝票登録」ボタン52が押されると、実行モジュールは、データベース31中の画面遷移プロパティを読み込むことにより、次に表示すべき画面が「売上伝票新規登録画面」であると自分自身で判断して、「売上伝票画面」の生成を行う。
【0031】
図8は、図7に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。図7において、次に表示すべき画面が「売上伝票新規登録画面」であると判断されると、実行モジュールは、図8に示すように、売上伝票新規登録画面にはどのようなインプットボックスが配置されているかを知るため、データベース31にアクセスして、インプットボックス配置プロパティを読み込む。これによって、売上伝票画面に配置すべき項目は、売上伝票番号、伝票日付、出荷日、得意先コード、・・・などであることがわかる。
【0032】
実行モジュールは、図8示した各インプットボックスの情報に基づいて、売上伝票画面上に当該インプットボックスを生成/配置する。これを、図3を用いて説明すると、まず、売上伝票画面の伝票番号11をラベル(Label)として生成し、所定の位置に配置する。続いて、伝票日付12を日付入力型テキストボックスとして生成し、所定の位置に配置する。さらに、得意先コード13をデータベースアクセス項目(コードが入力されると、該当する名称をデータベースから自動的に取得して表示する項目)として生成し、所定の位置に配置する。また、上記以外の項目についても同様に、各インプットボックスの情報に基づいて実行モジュールが生成/配置する。このようにして、図3に示すような売上伝票画面が生成される。
【0033】
本発明の実行モジュールの基本構造としては、クライアント/サーバ型の実行モジュールと、Webアプリケーション用のサーバプログラムとがあり、共にビジュアル・スタジオ・ドットネット(Visual Studio .Net)で記述されている。このように、クライアント/サーバ型の実行モジュールとWebアプリケーション用のサーバプログラムとは、共に同一のロジックで動作するため、何れの場合であってもプロパティ情報とストアドプロシージャは同じものが使用できる。これにより、一回の設定だけでクライアント/サーバ型とWebアプリケーション型の両方での動作が可能となる。
【0034】
そして、実行モジュールが起動時に取得するプロパティ情報は、変更分だけを再取得し、最新情報のXMLファイルを暗号化した上で、ファイルが保存される。また、メモリ展開したプロパティ情報を参照しながら全て動的に画面やインプットボックスが生成される。
【0035】
また、業務アプリケーションを生成する本発明の実行モジュールは、データベースに登録されているプロパティ情報に基づいて、自分自身を動的に生成しながら動作を繰り返すため、コンパイルせずにアプリケーションを生成することができる。
【0036】
以上述べた業務アプリケーション生成方法は、これをコンピュータに実行させるプログラムとし、そのプログラムをFD(フレキシブルディスク)などの記録媒体に記録し、あるいは、ネットワークを介してプログラムを配布することにより、本発明にかかる業務アプリケーションの生成環境を容易に移植することが可能となる。
【0037】
このように、本実施の形態によれば、データベースに種々のプロパティ情報を登録しておけば、実行モジュールは必要に応じてプロパティ情報を読み込みながら、自分自身を動的に生成することにより、コンパイルせずに業務アプリケーションを生成することが可能となる。コンパイルが不要になったことにより、業務アプリケーションのカスタマイズにかかる費用と手間と時間とを大幅に低減することができる。例えば、実行モジュールを個別にプログラムした場合と比べると、3〜5倍の開発効率を実現することができる。
【0038】
また、本実施の形態によれば、異なる会社の業務アプリケーションをそれぞれ本発明にかかる開発ツールを用いて構築した場合、異なってくるのは、データベースに登録されたプロパティ情報とストアドプロシージャだけであり、各クライアントに配布したモジュールを変更する必要がないため、メンテナンス性が飛躍的に向上するという利点がある。
【0039】
さらに、本実施の形態によれば、同様のロジックで動く実行モジュールをクライアント/サーバ型とWebアプリケーション型のそれぞれで作成し、プロパティの設定を1回行うだけで、クライアント/サーバ型とWebアプリケーション型の何れに対しても違和感なく操作することが可能となり、種々のネットワーク形態に対応することができる。
【0040】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化し、画面上の各項目の入出力エリアを汎用化して共通のインタフェースを定義し、その正規化し汎用化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化し汎用化されたプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なため、低コストで手間をかけずに業務アプリケーションを生成することができる。
【0041】
また、請求項2にかかる発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができるようになる。
【0042】
また、請求項3にかかる発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されている。このため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【0043】
また、請求項4にかかる発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【0044】
また、請求項5にかかる発明によれば、クライアント/サーバ型とWebアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているので、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものを使用することができ、1回設定するだけでクライアント/サーバ型とWebアプリケーション型の両方で動作が可能となる。
【0045】
また、請求項6にかかる発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【図面の簡単な説明】
【図1】この発明にかかる独自のクラス階層構造を説明する図である。
【図2】この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。
【図3】画面上のインプットボックスの配置例を示す図である。
【図4】画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示す図である。
【図5】プロパティ情報を正規化表現してデータベースに格納する場合の説明図である。
【図6】業務ロジックをデータベース内に定義する処理を説明する図である。
【図7】実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。
【図8】図7に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。
【図9】従来のウィンドウズ(登録商標)の標準クラス階層を説明する図である。
【図10】コンピュータ画面上で見かける各オブジェクトの一例を示す図である。
【符号の説明】
1 独自ラベルクラス
2 独自テキストボックスクラス
3 独自ボタンクラス
4 独自チェックボックスクラス
5 独自ラジオボタンクラス
6 独自コンボボックスクラス
7 独自リストボックスクラス
8 共通インタフェース
11〜17 インプットボックス
21 売上伝票修正・削除ボタン
22 選択ボタン
31 データベース
41 売上伝票
42 更新ボタン
43 ストアドプロシージャ
51 メニュー画面
52 売上伝票登録ボタン
【発明の属する技術分野】
この発明は、業務アプリケーション生成方法およびそのプログラムに関し、特に、データベースに業務アプリケーションの画面構成、動きあるいはメニュー構成等に関するプロパティ情報を正規化表現して格納し、そのデータベースにアクセスしながら動的に業務アプリケーションを生成する業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【0002】
【従来の技術】
従来のウィンドウズ(登録商標)における標準クラス階層は、例えば、図9に示すようになっていて、プログラム動作時に図中の網掛けで示したラベル(Label)クラス102〜リストボックス(List Box)クラス111が実際の画面上で目に見えるオブジェクトとなる。より具体的には、図10に示すように、一般のコンピュータ画面上で見かける、ボタン(Button)オブジェクト121、コンボボックス(Combo Box)オブジェクト122、および、チェックボックス(Check Box)オブジェクト123などのように表示される。
【0003】
このように、目で見えるオブジェクトは、その内部構造として上記図9に示すような派生関係を持っており、それぞれの属性を継承している。例えば、コントロール(Control)クラス101の属性は、オブジェクトの画面上での幅や高さによる配置を示している。また、リストコントロール(List Contorol)クラス105の属性は、上記コントロールクラス101の属性に加えて、表示されるリストや選択された位置などを示している。さらに、コンボボックス(Combo Box)クラス110の属性は、上記リストコントロールクラス105の属性に加えて、選択された文字や背景色などを示している。このため、従来のオブジェクトの属性は、派生関係を持ち、それぞれの属性を継承していることから、「テキスト入力エリア」なのか「コンボボックス」なのかといった各項目の属性の違いは、本質的なものとして捉えられていた。
【0004】
また、特許文献1は、企業の基幹業務を処理するデータベースと業務処理プログラムで構成されており、これを利用企業が購入して企業側のコンピュータにインストールすることで、カスタマイズ可能な基幹業務パッケージを提供するものであった。
【0005】
さらに、特許文献2は、分散コンピューティング環境における多階層型のコンポーネントベースのアプリケーション開発において、各プログラムコンポーネントをその分散環境で使用されるデータについて記述したオブジェクト定義から自動生成する機構を備えたことにより、最低限のプログラミング技術だけで複数に分割されたプログラムを作成することができ、さらにその開発過程で必要な通信インタフェースと仕様書も自動生成できるものであった。
【0006】
【特許文献1】
特開2001−195288号公報
【特許文献2】
特開平11−102293号公報
【0007】
【発明が解決しようとする課題】
しかしながら、このような従来のウィンドウズ(登録商標)の標準クラス階層にあっては、生成されるアプリケーションの各項目の属性の違いが本質的なものであったため、属性内容を変更して個々のユーザの仕様に合うようにカスタマイズしたアプリケーションを作成するのは容易ではなかった。特に、業務アプリケーションでは、ベースとなる属性内容はある程度共通化しているが、会社に応じて細かい仕様変更を行なう必要がある場合に、容易にカスタマイズすることができず非常に不便であった。その上、上記のように属性内容を変更した場合は、その都度コンパイルし直さなければならず、コストや手間が膨大になるという問題があった。
【0008】
また、上記の特許文献1および2によれば、アプリケーションのカスタマイズ性をある程度改善することは可能であるが、未だ不十分であって、これまでと同様にリコンパイルを要することから、コストや手間がかかるという問題があった。
【0009】
この発明は上記に鑑みてなされたもので、アプリケーションの各項目の属性変更をユーザ毎に容易にカスタマイズすることができる上、属性変更後であってもリコンパイルする必要がなく、低コストで手間のかからない業務アプリケーション生成方法とその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義するステップと、前記正規化したプロパティ情報をデータベースに登録するステップと、業務ロジックを前記データベースに対して一連の処理手順を実行するストアドプロシージャに記述するステップと、固有の業務アプリケーションを生成する実行モジュールが前記データベースのプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成するステップと、を含むことを特徴とする。
【0011】
この請求項1の発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、その正規化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化したプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なことから、低コストで手間をかけずに業務アプリケーションを生成することができる。
【0012】
また、請求項2にかかる発明は、請求項1に記載のアプリケーション生成方法において、前記プロパティ情報は、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つを含むことを特徴とする。
【0013】
この請求項2の発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができる。
【0014】
また、請求項3にかかる発明は、請求項1または2に記載のアプリケーション生成方法において、前記データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されていることを特徴とする。
【0015】
この請求項3の発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されているため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【0016】
また、請求項4にかかる発明は、請求項1〜3のいずれか一つに記載のアプリケーション生成方法において、前記データベースがリレーショナルデータベースであって、前記プロパティ情報は、該リレーショナルデータベースにおける複数の共通フィールドのまとまりとして管理され、データを複数の表形式の単位で相互に連携させて管理することを特徴とする。
【0017】
この請求項4の発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【0018】
また、請求項5にかかる発明は、請求項1に記載のアプリケーション生成方法において、前記実行モジュールは、クライアント/サーバ型とWebアプリケーション型の何れのモデルでも同一のロジックを使って記述されていることを特徴とする。
【0019】
この請求項5の発明によれば、クライアント/サーバ型とWebアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているため、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものが使用できる上、1回設定するだけでクライアント/サーバ型とWebアプリケーション型の両方で動作させることができる。
【0020】
また、請求項6にかかる発明は、請求項1〜5のいずれか一つに記載された方法をコンピュータに実行させるプログラムである。
【0021】
この請求項6の発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【0022】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【0023】
図1は、この発明にかかる独自のクラス階層構造を説明する図である。図1に示すクラス階層構造は、上記図9で示した、従来のウィンドウズ(登録商標)の標準クラス階層構造に対して、それぞれの派生クラスにつき、画面上の入出力エリアであるインプットボックス(Input Box)の擬似クラスとして、独自の共通インタフェース8を定義した点に特徴がある。この共通インタフェース8は、独自ラベルクラス1、独自テキストボックスクラス2、独自ボタンクラス3、独自チェックボックスクラス4、独自ラジオボタンクラス5、独自コンボボックスクラス6、および、独自リストボックスクラス7などから構成されている。これらの共通インタフェース8は、業務アプリケーションに使用する属性を厳選したもので、独自の属性を追加することもできる。なお、図1において、従来と同じクラス階層には、図9と同じ符号が付してある。
【0024】
このように、クラス階層構造に、独自の共通インタフェース8を定義することにより、どの種類のオブジェクトであってもプログラム上から同等に扱うことが可能となる。このため、例えば「テキスト入力エリア」なのか「コンボボックス」なのかといった、従来のクラス階層構造であれば本質的だった各項目の属性の違いが、副次的な属性と捉えられるようになり、後述するようにプログラム動作時に各項目の属性を動的に生成したり、コンパイルすることなく重要な属性の変更を行うことができる。
【0025】
図2は、この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。図2に示すように、インプットボックス擬似クラスの属性例では、大別してプロパティ、メソッド、イベントに分けることができ、その中に種々のインプットボックスが含まれている。このように、あらゆる種類のインプットボックスがあっても、図2に示すような共通属性を持っている。
【0026】
本発明では、上記インプットボックス以外にもプロパティ化する情報が存在する。例えば、図3は、画面上のインプットボックスの配置例を示す図である。図3に示すように、本発明では、画面上のどのインプットボックス11〜17がどの位置に配置されているのか(画面レイアウト)についてもプロパティ化することができる。
【0027】
また、図4は、画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示した図である。図4(a)の「売上伝票修正・削除」ボタン21が押されると、同図(b)の「売上伝票検索」画面に遷移し、その(b)の画面の「選択」ボタン22が押された場合は、同図(c)の「売上伝票」の画面に遷移するというように、本発明では、画面遷移についてもプロパティ化することができる。
【0028】
そして、図5は、これらのプロパティ情報を正規化表現してデータベースに格納する場合の説明図である。図5に示すように、プロパティ情報としては、メニュー構成(リレーショナルデータで表現する)、画面遷移、画面レイアウト(画面上のインプットボックスの配置をリレーショナルデータで表現する)、各項目の属性、入力チェック内容(画面上の各項目の入出力エリアをインプットボックスとして汎用化(オブジェクトモデル化)する)、画面の動き、帳票レイアウトなどを一例として示したが、勿論これに限定されるものではない。例えば、「大分類」を選択すると、それに紐付く「小分類」だけが選択可能といった項目間の関係を「依存関係」と定義し、プロパティ化することも可能である。これらのプロパティ情報は、正規化表現した後、データベース31へ格納される。なお、このデータベース31は、複数の表形式の単位で連携し、データ間の関係を定義することによりデータの効率的な管理が可能なリレーショナルデータベースを用いており、データベース言語のSQLを用いて書かれている。また、汎用化したインプットボックスのプロパティ情報、メニュー構成や画面レイアウト、帳票フォーマットとしてのエクセル(Excel:商標登録)ファイル(バイナリーデータとして)などの情報は、全てデータベース31に登録される。
【0029】
図6は、業務ロジックをデータベース内に定義する処理を説明する図である。図6に示すように、売上伝票画面41の中の更新ボタン42をクリックすると、売上伝票画面41上に配置された全インプットボックス内の入力情報をパラメータとして、ストアドプロシージャ43というプログラムを起動し、その伝票データがデータベース31に登録される。例えば、「更新(あるいは、登録)」「削除」などの各操作ボタンの押下時に表示されている全インプットボックスをパラメータ受取可として、ストアドプロシージャ43により記述する。さらに、「依存関係」による動的な制御も全てストアドプロシージャにより記述する。すなわち、戻り値による画面の動的制御を行うものである。
【0030】
また、本発明は、業務アプリケーションを生成する実行モジュールが自分自身を動的に生成しながら動作するという点に特徴がある。図7は、実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。つまり、図7に示したメニュー画面51の「売上伝票登録」ボタン52が押されると、実行モジュールは、データベース31中の画面遷移プロパティを読み込むことにより、次に表示すべき画面が「売上伝票新規登録画面」であると自分自身で判断して、「売上伝票画面」の生成を行う。
【0031】
図8は、図7に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。図7において、次に表示すべき画面が「売上伝票新規登録画面」であると判断されると、実行モジュールは、図8に示すように、売上伝票新規登録画面にはどのようなインプットボックスが配置されているかを知るため、データベース31にアクセスして、インプットボックス配置プロパティを読み込む。これによって、売上伝票画面に配置すべき項目は、売上伝票番号、伝票日付、出荷日、得意先コード、・・・などであることがわかる。
【0032】
実行モジュールは、図8示した各インプットボックスの情報に基づいて、売上伝票画面上に当該インプットボックスを生成/配置する。これを、図3を用いて説明すると、まず、売上伝票画面の伝票番号11をラベル(Label)として生成し、所定の位置に配置する。続いて、伝票日付12を日付入力型テキストボックスとして生成し、所定の位置に配置する。さらに、得意先コード13をデータベースアクセス項目(コードが入力されると、該当する名称をデータベースから自動的に取得して表示する項目)として生成し、所定の位置に配置する。また、上記以外の項目についても同様に、各インプットボックスの情報に基づいて実行モジュールが生成/配置する。このようにして、図3に示すような売上伝票画面が生成される。
【0033】
本発明の実行モジュールの基本構造としては、クライアント/サーバ型の実行モジュールと、Webアプリケーション用のサーバプログラムとがあり、共にビジュアル・スタジオ・ドットネット(Visual Studio .Net)で記述されている。このように、クライアント/サーバ型の実行モジュールとWebアプリケーション用のサーバプログラムとは、共に同一のロジックで動作するため、何れの場合であってもプロパティ情報とストアドプロシージャは同じものが使用できる。これにより、一回の設定だけでクライアント/サーバ型とWebアプリケーション型の両方での動作が可能となる。
【0034】
そして、実行モジュールが起動時に取得するプロパティ情報は、変更分だけを再取得し、最新情報のXMLファイルを暗号化した上で、ファイルが保存される。また、メモリ展開したプロパティ情報を参照しながら全て動的に画面やインプットボックスが生成される。
【0035】
また、業務アプリケーションを生成する本発明の実行モジュールは、データベースに登録されているプロパティ情報に基づいて、自分自身を動的に生成しながら動作を繰り返すため、コンパイルせずにアプリケーションを生成することができる。
【0036】
以上述べた業務アプリケーション生成方法は、これをコンピュータに実行させるプログラムとし、そのプログラムをFD(フレキシブルディスク)などの記録媒体に記録し、あるいは、ネットワークを介してプログラムを配布することにより、本発明にかかる業務アプリケーションの生成環境を容易に移植することが可能となる。
【0037】
このように、本実施の形態によれば、データベースに種々のプロパティ情報を登録しておけば、実行モジュールは必要に応じてプロパティ情報を読み込みながら、自分自身を動的に生成することにより、コンパイルせずに業務アプリケーションを生成することが可能となる。コンパイルが不要になったことにより、業務アプリケーションのカスタマイズにかかる費用と手間と時間とを大幅に低減することができる。例えば、実行モジュールを個別にプログラムした場合と比べると、3〜5倍の開発効率を実現することができる。
【0038】
また、本実施の形態によれば、異なる会社の業務アプリケーションをそれぞれ本発明にかかる開発ツールを用いて構築した場合、異なってくるのは、データベースに登録されたプロパティ情報とストアドプロシージャだけであり、各クライアントに配布したモジュールを変更する必要がないため、メンテナンス性が飛躍的に向上するという利点がある。
【0039】
さらに、本実施の形態によれば、同様のロジックで動く実行モジュールをクライアント/サーバ型とWebアプリケーション型のそれぞれで作成し、プロパティの設定を1回行うだけで、クライアント/サーバ型とWebアプリケーション型の何れに対しても違和感なく操作することが可能となり、種々のネットワーク形態に対応することができる。
【0040】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化し、画面上の各項目の入出力エリアを汎用化して共通のインタフェースを定義し、その正規化し汎用化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化し汎用化されたプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なため、低コストで手間をかけずに業務アプリケーションを生成することができる。
【0041】
また、請求項2にかかる発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができるようになる。
【0042】
また、請求項3にかかる発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されている。このため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【0043】
また、請求項4にかかる発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【0044】
また、請求項5にかかる発明によれば、クライアント/サーバ型とWebアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているので、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものを使用することができ、1回設定するだけでクライアント/サーバ型とWebアプリケーション型の両方で動作が可能となる。
【0045】
また、請求項6にかかる発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【図面の簡単な説明】
【図1】この発明にかかる独自のクラス階層構造を説明する図である。
【図2】この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。
【図3】画面上のインプットボックスの配置例を示す図である。
【図4】画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示す図である。
【図5】プロパティ情報を正規化表現してデータベースに格納する場合の説明図である。
【図6】業務ロジックをデータベース内に定義する処理を説明する図である。
【図7】実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。
【図8】図7に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。
【図9】従来のウィンドウズ(登録商標)の標準クラス階層を説明する図である。
【図10】コンピュータ画面上で見かける各オブジェクトの一例を示す図である。
【符号の説明】
1 独自ラベルクラス
2 独自テキストボックスクラス
3 独自ボタンクラス
4 独自チェックボックスクラス
5 独自ラジオボタンクラス
6 独自コンボボックスクラス
7 独自リストボックスクラス
8 共通インタフェース
11〜17 インプットボックス
21 売上伝票修正・削除ボタン
22 選択ボタン
31 データベース
41 売上伝票
42 更新ボタン
43 ストアドプロシージャ
51 メニュー画面
52 売上伝票登録ボタン
Claims (6)
- 業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義するステップと、
前記正規化したプロパティ情報をデータベースに登録するステップと、
業務ロジックを前記データベースに対して一連の処理手順を実行するストアドプロシージャに記述するステップと、
固有の業務アプリケーションを生成する実行モジュールが前記データベースのプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成するステップと、
を含むことを特徴とする業務アプリケーション生成方法。 - 前記プロパティ情報は、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも1つを含むことを特徴とする請求項1に記載のアプリケーション生成方法。
- 前記データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されていることを特徴とする請求項1または2に記載のアプリケーション生成方法。
- 前記データベースがリレーショナルデータベースであって、
前記プロパティ情報は、該リレーショナルデータベースにおける複数の共通フィールドのまとまりとして管理され、データを複数の表形式の単位で相互に連携させて管理することを特徴とする請求項1〜3のいずれか一つに記載のアプリケーション生成方法。 - 前記実行モジュールは、クライアント/サーバ型とWebアプリケーション型の何れのモデルでも同一のロジックを使って記述されていることを特徴とする請求項1に記載のアプリケーション生成方法。
- 請求項1〜5のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003193890A JP2005031816A (ja) | 2003-07-08 | 2003-07-08 | 業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003193890A JP2005031816A (ja) | 2003-07-08 | 2003-07-08 | 業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005031816A true JP2005031816A (ja) | 2005-02-03 |
Family
ID=34205231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003193890A Pending JP2005031816A (ja) | 2003-07-08 | 2003-07-08 | 業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005031816A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533583B2 (en) | 2009-01-30 | 2013-09-10 | Casio Computer Co., Ltd. | Application software generation device, computer program product and application software generation system |
-
2003
- 2003-07-08 JP JP2003193890A patent/JP2005031816A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533583B2 (en) | 2009-01-30 | 2013-09-10 | Casio Computer Co., Ltd. | Application software generation device, computer program product and application software generation system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2390822C2 (ru) | Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки | |
AU2010302939B2 (en) | A content based approach to extending the form and function of a business intelligence system | |
CA2335127C (en) | System and method for the visual customization of business object interfaces | |
US7827527B1 (en) | System and method of application development | |
US8196099B2 (en) | Updating application design | |
CN101339500B (zh) | 基于xml模式的数据绑定应用程序接口生成方法 | |
US6023578A (en) | Systems, methods and computer program products for generating an object oriented application for an object oriented environment | |
JP5065056B2 (ja) | ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合) | |
Luján-Mora et al. | Multidimensional modeling with UML package diagrams | |
US20050154742A1 (en) | Business software application generation system and method | |
US8126937B2 (en) | Visual database modeling | |
US20050114361A1 (en) | Method and apparatus for integrating data repositories and frameworks | |
KR20120104267A (ko) | 사용자 인터페이스 요소 지정 | |
JP2004280821A (ja) | ソフトウェアビジネスプロセスモデル | |
WO2007050110A2 (en) | Method and model for enterprise system development and execution | |
US20050108684A1 (en) | Method and system for generating an application object repository from application framework metadata | |
US8407235B2 (en) | Exposing and using metadata and meta-metadata | |
US20030140126A1 (en) | Method of deployment for concurrent execution of multiple versions of an integration model | |
US20090112920A1 (en) | System and article of manufacture for defining and generating a viewtype for a base model | |
JP2013518321A (ja) | パターンベースのユーザインターフェース | |
WO2011118003A1 (ja) | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 | |
US7499935B2 (en) | System and method for enabling access to a data source through a graphical interface | |
WO2003009071A1 (en) | System and method for exporting or importing object data in a manufacturing execution system | |
Oliveira et al. | On the specification of extract, transform, and load patterns behavior: A domain‐specific language approach | |
JP2005031816A (ja) | 業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム |