(57)【要約】【課題】データベースに登録されたアプリケーションの各項目の属性を変更するだけで容易に業務アプリケーションがカスタマイズできるようにする。【解決手段】業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、正規化したプロパティ情報をデータベース３１に登録し、業務ロジックをデータベースのストアドプロシージャに記述する。実行モジュールは、データベース３１のプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。【選択図】      図５
2005031816.tif 000002
【特許請求の範囲】
【請求項１】
業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義するステップと、
前記正規化したプロパティ情報をデータベースに登録するステップと、
業務ロジックを前記データベースに対して一連の処理手順を実行するストアドプロシージャに記述するステップと、
固有の業務アプリケーションを生成する実行モジュールが前記データベースのプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成するステップと、
を含むことを特徴とする業務アプリケーション生成方法。
【請求項２】
前記プロパティ情報は、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも１つを含むことを特徴とする請求項１に記載のアプリケーション生成方法。
【請求項３】
前記データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されていることを特徴とする請求項１または２に記載のアプリケーション生成方法。
【請求項４】
前記データベースがリレーショナルデータベースであって、
前記プロパティ情報は、該リレーショナルデータベースにおける複数の共通フィールドのまとまりとして管理され、データを複数の表形式の単位で相互に連携させて管理することを特徴とする請求項１〜３のいずれか一つに記載のアプリケーション生成方法。
【請求項５】
前記実行モジュールは、クライアント／サーバ型とＷｅｂアプリケーション型の何れのモデルでも同一のロジックを使って記述されていることを特徴とする請求項１に記載のアプリケーション生成方法。
【請求項６】
請求項１〜５のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、業務アプリケーション生成方法およびそのプログラムに関し、特に、データベースに業務アプリケーションの画面構成、動きあるいはメニュー構成等に関するプロパティ情報を正規化表現して格納し、そのデータベースにアクセスしながら動的に業務アプリケーションを生成する業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【０００２】
【従来の技術】
従来のウィンドウズ（登録商標）における標準クラス階層は、例えば、図９に示すようになっていて、プログラム動作時に図中の網掛けで示したラベル（Ｌａｂｅｌ）クラス１０２〜リストボックス（Ｌｉｓｔ  Ｂｏｘ）クラス１１１が実際の画面上で目に見えるオブジェクトとなる。より具体的には、図１０に示すように、一般のコンピュータ画面上で見かける、ボタン（Ｂｕｔｔｏｎ）オブジェクト１２１、コンボボックス（Ｃｏｍｂｏ  Ｂｏｘ）オブジェクト１２２、および、チェックボックス（Ｃｈｅｃｋ  Ｂｏｘ）オブジェクト１２３などのように表示される。
【０００３】
このように、目で見えるオブジェクトは、その内部構造として上記図９に示すような派生関係を持っており、それぞれの属性を継承している。例えば、コントロール（Ｃｏｎｔｒｏｌ）クラス１０１の属性は、オブジェクトの画面上での幅や高さによる配置を示している。また、リストコントロール（Ｌｉｓｔ  Ｃｏｎｔｏｒｏｌ）クラス１０５の属性は、上記コントロールクラス１０１の属性に加えて、表示されるリストや選択された位置などを示している。さらに、コンボボックス（Ｃｏｍｂｏ  Ｂｏｘ）クラス１１０の属性は、上記リストコントロールクラス１０５の属性に加えて、選択された文字や背景色などを示している。このため、従来のオブジェクトの属性は、派生関係を持ち、それぞれの属性を継承していることから、「テキスト入力エリア」なのか「コンボボックス」なのかといった各項目の属性の違いは、本質的なものとして捉えられていた。
【０００４】
また、特許文献１は、企業の基幹業務を処理するデータベースと業務処理プログラムで構成されており、これを利用企業が購入して企業側のコンピュータにインストールすることで、カスタマイズ可能な基幹業務パッケージを提供するものであった。
【０００５】
さらに、特許文献２は、分散コンピューティング環境における多階層型のコンポーネントベースのアプリケーション開発において、各プログラムコンポーネントをその分散環境で使用されるデータについて記述したオブジェクト定義から自動生成する機構を備えたことにより、最低限のプログラミング技術だけで複数に分割されたプログラムを作成することができ、さらにその開発過程で必要な通信インタフェースと仕様書も自動生成できるものであった。
【０００６】
【特許文献１】
特開２００１−１９５２８８号公報
【特許文献２】
特開平１１−１０２２９３号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、このような従来のウィンドウズ（登録商標）の標準クラス階層にあっては、生成されるアプリケーションの各項目の属性の違いが本質的なものであったため、属性内容を変更して個々のユーザの仕様に合うようにカスタマイズしたアプリケーションを作成するのは容易ではなかった。特に、業務アプリケーションでは、ベースとなる属性内容はある程度共通化しているが、会社に応じて細かい仕様変更を行なう必要がある場合に、容易にカスタマイズすることができず非常に不便であった。その上、上記のように属性内容を変更した場合は、その都度コンパイルし直さなければならず、コストや手間が膨大になるという問題があった。
【０００８】
また、上記の特許文献１および２によれば、アプリケーションのカスタマイズ性をある程度改善することは可能であるが、未だ不十分であって、これまでと同様にリコンパイルを要することから、コストや手間がかかるという問題があった。
【０００９】
この発明は上記に鑑みてなされたもので、アプリケーションの各項目の属性変更をユーザ毎に容易にカスタマイズすることができる上、属性変更後であってもリコンパイルする必要がなく、低コストで手間のかからない業務アプリケーション生成方法とその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義するステップと、前記正規化したプロパティ情報をデータベースに登録するステップと、業務ロジックを前記データベースに対して一連の処理手順を実行するストアドプロシージャに記述するステップと、固有の業務アプリケーションを生成する実行モジュールが前記データベースのプロパティ情報を読み込み、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成するステップと、を含むことを特徴とする。
【００１１】
この請求項１の発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化すると共に、画面上の各項目の入出力エリアをプログラム上から同等に扱えるように共通のインタフェースを定義し、その正規化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化したプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なことから、低コストで手間をかけずに業務アプリケーションを生成することができる。
【００１２】
また、請求項２にかかる発明は、請求項１に記載のアプリケーション生成方法において、前記プロパティ情報は、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも１つを含むことを特徴とする。
【００１３】
この請求項２の発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも１つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができる。
【００１４】
また、請求項３にかかる発明は、請求項１または２に記載のアプリケーション生成方法において、前記データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されていることを特徴とする。
【００１５】
この請求項３の発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されているため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【００１６】
また、請求項４にかかる発明は、請求項１〜３のいずれか一つに記載のアプリケーション生成方法において、前記データベースがリレーショナルデータベースであって、前記プロパティ情報は、該リレーショナルデータベースにおける複数の共通フィールドのまとまりとして管理され、データを複数の表形式の単位で相互に連携させて管理することを特徴とする。
【００１７】
この請求項４の発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【００１８】
また、請求項５にかかる発明は、請求項１に記載のアプリケーション生成方法において、前記実行モジュールは、クライアント／サーバ型とＷｅｂアプリケーション型の何れのモデルでも同一のロジックを使って記述されていることを特徴とする。
【００１９】
この請求項５の発明によれば、クライアント／サーバ型とＷｅｂアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているため、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものが使用できる上、１回設定するだけでクライアント／サーバ型とＷｅｂアプリケーション型の両方で動作させることができる。
【００２０】
また、請求項６にかかる発明は、請求項１〜５のいずれか一つに記載された方法をコンピュータに実行させるプログラムである。
【００２１】
この請求項６の発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【００２２】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる業務アプリケーション生成方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００２３】
図１は、この発明にかかる独自のクラス階層構造を説明する図である。図１に示すクラス階層構造は、上記図９で示した、従来のウィンドウズ（登録商標）の標準クラス階層構造に対して、それぞれの派生クラスにつき、画面上の入出力エリアであるインプットボックス（Ｉｎｐｕｔ  Ｂｏｘ）の擬似クラスとして、独自の共通インタフェース８を定義した点に特徴がある。この共通インタフェース８は、独自ラベルクラス１、独自テキストボックスクラス２、独自ボタンクラス３、独自チェックボックスクラス４、独自ラジオボタンクラス５、独自コンボボックスクラス６、および、独自リストボックスクラス７などから構成されている。これらの共通インタフェース８は、業務アプリケーションに使用する属性を厳選したもので、独自の属性を追加することもできる。なお、図１において、従来と同じクラス階層には、図９と同じ符号が付してある。
【００２４】
このように、クラス階層構造に、独自の共通インタフェース８を定義することにより、どの種類のオブジェクトであってもプログラム上から同等に扱うことが可能となる。このため、例えば「テキスト入力エリア」なのか「コンボボックス」なのかといった、従来のクラス階層構造であれば本質的だった各項目の属性の違いが、副次的な属性と捉えられるようになり、後述するようにプログラム動作時に各項目の属性を動的に生成したり、コンパイルすることなく重要な属性の変更を行うことができる。
【００２５】
図２は、この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。図２に示すように、インプットボックス擬似クラスの属性例では、大別してプロパティ、メソッド、イベントに分けることができ、その中に種々のインプットボックスが含まれている。このように、あらゆる種類のインプットボックスがあっても、図２に示すような共通属性を持っている。
【００２６】
本発明では、上記インプットボックス以外にもプロパティ化する情報が存在する。例えば、図３は、画面上のインプットボックスの配置例を示す図である。図３に示すように、本発明では、画面上のどのインプットボックス１１〜１７がどの位置に配置されているのか（画面レイアウト）についてもプロパティ化することができる。
【００２７】
また、図４は、画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示した図である。図４（ａ）の「売上伝票修正・削除」ボタン２１が押されると、同図（ｂ）の「売上伝票検索」画面に遷移し、その（ｂ）の画面の「選択」ボタン２２が押された場合は、同図（ｃ）の「売上伝票」の画面に遷移するというように、本発明では、画面遷移についてもプロパティ化することができる。
【００２８】
そして、図５は、これらのプロパティ情報を正規化表現してデータベースに格納する場合の説明図である。図５に示すように、プロパティ情報としては、メニュー構成（リレーショナルデータで表現する）、画面遷移、画面レイアウト（画面上のインプットボックスの配置をリレーショナルデータで表現する）、各項目の属性、入力チェック内容（画面上の各項目の入出力エリアをインプットボックスとして汎用化（オブジェクトモデル化）する）、画面の動き、帳票レイアウトなどを一例として示したが、勿論これに限定されるものではない。例えば、「大分類」を選択すると、それに紐付く「小分類」だけが選択可能といった項目間の関係を「依存関係」と定義し、プロパティ化することも可能である。これらのプロパティ情報は、正規化表現した後、データベース３１へ格納される。なお、このデータベース３１は、複数の表形式の単位で連携し、データ間の関係を定義することによりデータの効率的な管理が可能なリレーショナルデータベースを用いており、データベース言語のＳＱＬを用いて書かれている。また、汎用化したインプットボックスのプロパティ情報、メニュー構成や画面レイアウト、帳票フォーマットとしてのエクセル（Ｅｘｃｅｌ：商標登録）ファイル（バイナリーデータとして）などの情報は、全てデータベース３１に登録される。
【００２９】
図６は、業務ロジックをデータベース内に定義する処理を説明する図である。図６に示すように、売上伝票画面４１の中の更新ボタン４２をクリックすると、売上伝票画面４１上に配置された全インプットボックス内の入力情報をパラメータとして、ストアドプロシージャ４３というプログラムを起動し、その伝票データがデータベース３１に登録される。例えば、「更新（あるいは、登録）」「削除」などの各操作ボタンの押下時に表示されている全インプットボックスをパラメータ受取可として、ストアドプロシージャ４３により記述する。さらに、「依存関係」による動的な制御も全てストアドプロシージャにより記述する。すなわち、戻り値による画面の動的制御を行うものである。
【００３０】
また、本発明は、業務アプリケーションを生成する実行モジュールが自分自身を動的に生成しながら動作するという点に特徴がある。図７は、実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。つまり、図７に示したメニュー画面５１の「売上伝票登録」ボタン５２が押されると、実行モジュールは、データベース３１中の画面遷移プロパティを読み込むことにより、次に表示すべき画面が「売上伝票新規登録画面」であると自分自身で判断して、「売上伝票画面」の生成を行う。
【００３１】
図８は、図７に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。図７において、次に表示すべき画面が「売上伝票新規登録画面」であると判断されると、実行モジュールは、図８に示すように、売上伝票新規登録画面にはどのようなインプットボックスが配置されているかを知るため、データベース３１にアクセスして、インプットボックス配置プロパティを読み込む。これによって、売上伝票画面に配置すべき項目は、売上伝票番号、伝票日付、出荷日、得意先コード、・・・などであることがわかる。
【００３２】
実行モジュールは、図８示した各インプットボックスの情報に基づいて、売上伝票画面上に当該インプットボックスを生成／配置する。これを、図３を用いて説明すると、まず、売上伝票画面の伝票番号１１をラベル（Ｌａｂｅｌ）として生成し、所定の位置に配置する。続いて、伝票日付１２を日付入力型テキストボックスとして生成し、所定の位置に配置する。さらに、得意先コード１３をデータベースアクセス項目（コードが入力されると、該当する名称をデータベースから自動的に取得して表示する項目）として生成し、所定の位置に配置する。また、上記以外の項目についても同様に、各インプットボックスの情報に基づいて実行モジュールが生成／配置する。このようにして、図３に示すような売上伝票画面が生成される。
【００３３】
本発明の実行モジュールの基本構造としては、クライアント／サーバ型の実行モジュールと、Ｗｅｂアプリケーション用のサーバプログラムとがあり、共にビジュアル・スタジオ・ドットネット（Ｖｉｓｕａｌ  Ｓｔｕｄｉｏ  ．Ｎｅｔ）で記述されている。このように、クライアント／サーバ型の実行モジュールとＷｅｂアプリケーション用のサーバプログラムとは、共に同一のロジックで動作するため、何れの場合であってもプロパティ情報とストアドプロシージャは同じものが使用できる。これにより、一回の設定だけでクライアント／サーバ型とＷｅｂアプリケーション型の両方での動作が可能となる。
【００３４】
そして、実行モジュールが起動時に取得するプロパティ情報は、変更分だけを再取得し、最新情報のＸＭＬファイルを暗号化した上で、ファイルが保存される。また、メモリ展開したプロパティ情報を参照しながら全て動的に画面やインプットボックスが生成される。
【００３５】
また、業務アプリケーションを生成する本発明の実行モジュールは、データベースに登録されているプロパティ情報に基づいて、自分自身を動的に生成しながら動作を繰り返すため、コンパイルせずにアプリケーションを生成することができる。
【００３６】
以上述べた業務アプリケーション生成方法は、これをコンピュータに実行させるプログラムとし、そのプログラムをＦＤ（フレキシブルディスク）などの記録媒体に記録し、あるいは、ネットワークを介してプログラムを配布することにより、本発明にかかる業務アプリケーションの生成環境を容易に移植することが可能となる。
【００３７】
このように、本実施の形態によれば、データベースに種々のプロパティ情報を登録しておけば、実行モジュールは必要に応じてプロパティ情報を読み込みながら、自分自身を動的に生成することにより、コンパイルせずに業務アプリケーションを生成することが可能となる。コンパイルが不要になったことにより、業務アプリケーションのカスタマイズにかかる費用と手間と時間とを大幅に低減することができる。例えば、実行モジュールを個別にプログラムした場合と比べると、３〜５倍の開発効率を実現することができる。
【００３８】
また、本実施の形態によれば、異なる会社の業務アプリケーションをそれぞれ本発明にかかる開発ツールを用いて構築した場合、異なってくるのは、データベースに登録されたプロパティ情報とストアドプロシージャだけであり、各クライアントに配布したモジュールを変更する必要がないため、メンテナンス性が飛躍的に向上するという利点がある。
【００３９】
さらに、本実施の形態によれば、同様のロジックで動く実行モジュールをクライアント／サーバ型とＷｅｂアプリケーション型のそれぞれで作成し、プロパティの設定を１回行うだけで、クライアント／サーバ型とＷｅｂアプリケーション型の何れに対しても違和感なく操作することが可能となり、種々のネットワーク形態に対応することができる。
【００４０】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、業務アプリケーションの生成に必要なプロパティ情報を正規化し、画面上の各項目の入出力エリアを汎用化して共通のインタフェースを定義し、その正規化し汎用化したプロパティ情報をデータベースに登録すると共に、業務ロジックをデータベースのストアドプロシージャに記述して、実行モジュールがデータベースのプロパティ情報を読み込みながら、これに基づいてアプリケーション画面や各項目の入出力エリアを動的に生成する。このため、業務アプリケーションを生成する際に、データベースから正規化し汎用化されたプロパティ情報を読み込み、これに基づいてアプリケーションを動的に生成するようにしたので、ユーザに応じて属性を変更するカスタマイズが容易に行え、属性変更後のリコンパイルが不要なため、低コストで手間をかけずに業務アプリケーションを生成することができる。
【００４１】
また、請求項２にかかる発明によれば、プロパティ情報として、各項目の入出力エリアにおけるメニュー構成、画面遷移、画面レイアウト、項目毎の属性、入力チェック内容、画面の動き、および帳票レイアウトの少なくとも１つが含まれている。このため、これらのプロパティ情報を正規化し汎用化することで、業務アプリケーションの生成に必要な属性変更を容易に行うことができるようになる。
【００４２】
また、請求項３にかかる発明によれば、データベースには、固有のアプリケーションを生成するための情報として、プロパティ情報とストアドプロシージャとが登録されている。このため、実行モジュールは、データベースのプロパティ情報とストアドプロシージャとに基づいて、固有の業務アプリケーションを容易に構築することができる。
【００４３】
また、請求項４にかかる発明によれば、効率良いデータ管理が可能となり、アプリケーションの一部に変更を加える場合でも、リレーショナルデータベースの表形式の単位を変更するだけで良く、メンテナンス性が飛躍的に向上する。
【００４４】
また、請求項５にかかる発明によれば、クライアント／サーバ型とＷｅｂアプリケーション型の何れのモデルであっても、同一のロジックを使って記述されているので、データベースに登録されているプロパティ情報とストアドプロシージャは、同じものを使用することができ、１回設定するだけでクライアント／サーバ型とＷｅｂアプリケーション型の両方で動作が可能となる。
【００４５】
また、請求項６にかかる発明によれば、上記の業務アプリケーション生成方法をコンピュータに実行させるプログラムとし、このプログラムを記録媒体、あるいは、ネットワークを介して配布することにより、業務アプリケーションの生成環境を容易に移植することが可能となる。
【図面の簡単な説明】
【図１】この発明にかかる独自のクラス階層構造を説明する図である。
【図２】この発明にかかるインプットボックスの擬似クラスの属性例を示した図である。
【図３】画面上のインプットボックスの配置例を示す図である。
【図４】画面上のボタンを押して次にどの画面を表示するかの画面遷移例を示す図である。
【図５】プロパティ情報を正規化表現してデータベースに格納する場合の説明図である。
【図６】業務ロジックをデータベース内に定義する処理を説明する図である。
【図７】実行モジュールが画面遷移プロパティに基づいて動的に動作している状態を説明する図である。
【図８】図７に続いて実行モジュールが売上伝票画面の生成処理を行う動作を説明する図である。
【図９】従来のウィンドウズ（登録商標）の標準クラス階層を説明する図である。
【図１０】コンピュータ画面上で見かける各オブジェクトの一例を示す図である。
【符号の説明】
１  独自ラベルクラス
２  独自テキストボックスクラス
３  独自ボタンクラス
４  独自チェックボックスクラス
５  独自ラジオボタンクラス
６  独自コンボボックスクラス
７  独自リストボックスクラス
８  共通インタフェース
１１〜１７  インプットボックス
２１  売上伝票修正・削除ボタン
２２  選択ボタン
３１  データベース
４１  売上伝票
４２  更新ボタン
４３  ストアドプロシージャ
５１  メニュー画面
５２  売上伝票登録ボタン
【図１】
2005031816.tif 000003
【図２】
2005031816.tif 000004
【図３】
2005031816.tif 000005
【図４】
2005031816.tif 000006
【図５】
2005031816.tif 000007
【図６】
2005031816.tif 000008
【図７】
2005031816.tif 000009
【図８】
2005031816.tif 000010
【図９】
2005031816.tif 000011
【図１０】
2005031816.tif 000012