(57)【要約】      （修正有）【課題】Ｗｅｂアプリケーションにおける一覧データをグラフ化するプログラミング作業において、画面上にグラフを表示することができるＷｅｂアプリケーションを簡便に生成することができる仕組みを提供する。【解決手段】データベース上の項目を定義する項目定義を管理する管理手段で管理される項目定義を用いて、グラフの表示項目に設定し、当該設定された表示項目に基づいて、データベース上のデータがグラフ表示されるＷｅｂアプリケーションを生成する。これにより、簡便にグラフを表示することができるＷｅｂアプリケーションを生成することができる。【選択図】図４
2018005445.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂ画面にデータベース上のデータを表示する際に用いる項目定義を管理する管理手段と、
前記管理手段に管理される項目定義を用いて、Ｗｅｂ画面にグラフを表示する際に用いる表示項目を設定する設定手段と、
前記設定手段で設定された表示項目に基づいて、前記データベース上のデータがグラフ表示されるＷｅｂアプリケーションを生成する生成手段と、
を備える情報処理装置。
【請求項２】
前記管理手段で管理される項目定義に基づいて表示される選択リストから前記グラフの表示項目を選択可能な選択手段を更に有し、
前記設定手段は、前記選択リストから選択された項目定義を前記グラフの表示項目として設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記管理手段で管理される項目定義に基づいて、前記データベース上のデータを一覧表示する一覧画面とともに、前記グラフを表示するＷｅｂアプリケーションを生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記管理手段が管理する項目定義には他の項目定義を加工する加工式も含まれており、
前記設定手段は、前記データベース上のデータを前記加工式で加工した項目定義も、前記グラフの表示項目として設定できることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記生成手段は、前記グラフの表示項目として設定されている項目に基づいた前記データベース上のデータの一覧画面も表示されるように、Ｗｅｂアプリケーションを生成することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記Ｗｅｂアプリケーションで表示される前記グラフは、前記データベース上のデータの更新に伴い、更新されることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
データベース上の項目を定義する項目定義を管理する管理手段を備えた情報処理装置の制御方法であって、
前記管理手段に管理される項目定義を用いて、グラフの表示項目に設定する設定工程と、
前記設定工程で設定された表示項目に基づいて、前記データベース上のデータがグラフ表示されるＷｅｂアプリケーションを生成する生成工程と、
を備える制御方法。
【請求項８】
データベース上の項目を定義する項目定義を管理する管理手段を備えた情報処理装置に搭載可能なプログラムであって、
前記情報処理装置を、
前記管理手段に管理される項目定義を用いて、グラフの表示項目に設定する設定手段、
前記設定手段で設定された表示項目に基づいて、前記データベース上のデータがグラフ表示されるＷｅｂアプリケーションを生成する生成手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、企業内では、クライアント端末に特別なアプリケーションをインストールすることなく業務が行えるように、業務アプリケーションのＷｅｂ化が急速に進んでいる。そしてこのような業務アプリケーションの開発現場においては、開発スキル不足や要員不足を解決するために、Ｗｅｂアプリケーションをプログラミングレスで容易に作成できる開発ツールが用いられている。このような開発ツールを用いると、プログラミング言語の知識を有していなくても、業務・設計ノウハウを活用して基本設計情報を定義するだけで、Ｗｅｂアプリケーションを自動生成することができる。特許文献１には、このようなＷｅｂアプリケーションを自動生成することができる仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−００９４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、このようなＷｅｂアプリケーションではデータベース上で管理されたデータをＷｅｂ画面上で一覧画面として表示することができるが、このようなデータベース上で管理されたデータをグラフ形式としても確認したいという要望がある。
【０００５】
しかしながら、これまでＷｅｂアプリケーションにおいてグラフ形式で画面表示するためには、開発者によるかなり煩雑なプログラミング作業が必要であった。このような一覧データをグラフ化するプログラミング作業では、データベースが管理する直接的な値のみならず、Ｗｅｂアプリケーションによって算出された結果を参照する場合もあるため、これらを考慮してプログラミングする必要があり、かなり負荷が大きいものであった。さらに一旦グラフ表示も行えるＷｅｂアプリケーションを生成した後に算出条件の変更といった仕様変更が生じると、対応するグラフ表示プログラムもその都度変更する必要があり、負荷が大きいものであった。
【０００６】
そこで本発明は、上記課題を鑑み、画面上にグラフを表示することができるＷｅｂアプリケーションを簡便に生成することができる仕組みを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、データベース上の項目を定義する項目定義を管理する管理手段と、前記管理手段に管理される項目定義を用いて、グラフの表示項目に設定する設定手段と、前記設定手段で設定された表示項目に基づいて、前記データベース上のデータがグラフ表示されるＷｅｂアプリケーションを生成する生成手段と、を備える情報処理装置。
【発明の効果】
【０００８】
このように、予め管理されている項目定義を用いてグラフの表示項目を設定するように設けることで、画面上にグラフを表示することができるＷｅｂアプリケーションを簡便に生成することができる仕組みを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】Ｗｅｂアプリケーション自動生成システム（情報処理システム）のシステム構成の一例を示す図である。
【図２】開発用端末１０１、サーバ１０２、利用者用端末１０３のハードウェア構成を示す図である。
【図３】開発用端末１０１のソフトウェア構成を説明するための図である。
【図４】Ｗｅｂアプリケーションを生成・動作させる端末の機能構成を説明するための図である。
【図５】データベース定義の一例を説明するための図である。
【図６】アプリケーション定義を説明するための図である。
【図７】データモデル定義の一例を説明するための図である。
【図８】入出力定義の一例を説明するための図である。
【図９】（ａ）グラフを生成する際に必要となる入出力定義の項目プロパティを説明する図である。（ｂ）グラフの種類を選択リストから選択する様子を示す図である。（ｃ）グラフのデータ取得元グループを選択する様子を示す図である。
【図１０】図９（ｃ）の選択リストを生成・表示する際の流れを説明するためのフローチャートである。
【図１１】グラフの系列等を選択リストから選択する様子を説明する図である。
【図１２】図１１の選択リストを生成・表示する際の流れを説明するためのフローチャートである。
【図１３】Ｗｅｂアプリケーションを自動生成する際の流れを説明するためのフローチャートである。
【図１４】サーバ４５０のデータベース４５２上で管理されるデータの一例である。
【図１５】Ｗｅｂアプリケーションで生成された一覧画面とグラフの一例である。
【図１６】グラフを生成する際に必要となる入出力定義の項目プロパティを説明する図である。
【図１７】Ｗｅｂアプリケーションで生成された一覧画面とグラフの一例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１１】
図１は、本実施形態におけるＷｅｂアプリケーション自動生成システム（以下、情報処理システムとも称する）のシステム構成を示す図である。本発明のＷｅｂアプリケーション自動生成システムは、開発用端末１０１、サーバ１０２（サーバ装置）、利用者用端末１０３が、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０５を介して相互にデータ通信可能に接続されている。
【００１２】
Ｗｅｂアプリケーションとは、企業内で用いられる業務アプリケーションをＷｅｂ上で実施することができるアプリケーションのことであり、クライアント端末上に特別なアプリケーションをインストールすることなく業務を行うことができるため、近年広く用いられている。本発明のＷｅｂアプリケーションシステムは、このようなＷｅｂアプリケーションを指定した要件定義情報からプログラミングレスで自動生成することができるシステムである。このようなシステムを用いることにより、開発スキルが不足していたしても各企業内で容易にＷｅｂ上の業務アプリケーションを開発することができる。
【００１３】
図１に示す開発用端末１０１には、Ｗｅｂアプリケーション（プログラム）を自動生成する際に開発者が使用する端末でありプログラムを自動生成する開発ツールがインストールされている。この端末で予め要件定義を行い、開発ツールに読み込ませて自動生成処理を行うことでＷｅｂアプリケーション４５１（プログラム）が生成される。
【００１４】
サーバ１０２は、開発用端末１０１で生成されたＷｅｂアプリケーション（プログラム）を保持運用し、業務アプリケーションを本番環境として提供するために用いられる。利用者は、利用者用端末１０３を介してＷＥＢアプリケーション４５１（プログラム）へのアクセスを行い、業務アプリケーションを利用することができる。そして、Ｗｅｂアプリケーションを用いて生成されたデータは、データベース４５２内に記憶される。
【００１５】
利用者用端末１０３は、一般に本番環境において業務アプリケーションを利用するユーザが利用する端末であり、本端末を用いてサーバ１０２に接続することで、Ｗｅｂ化されたアプリケーションを利用することができる。
【００１６】
図２は、開発用端末１０１、サーバ１０２、利用者用端末１０３のハードウェア構成を示す図である。
【００１７】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００１８】
また、ＲＯＭ２０２あるいは外部メモリ２１１（記憶手段）には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、開発用端末１０１、サーバ１０２、利用者用端末１０３の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１９】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２０】
また、入力コントローラ（入力Ｃ）２０５は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス２０９からの入力を制御する。
【００２１】
ビデオコントローラ（ＶＣ）２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器の種類はＣＲＴや、液晶ディスプレイを想定するが、これに限らない。
【００２２】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２３】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２４】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２５】
本発明の開発用端末１０１、サーバ１０２、利用者用端末１０３が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行可能となるものである。
【００２６】
さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２７】
図３は、本実施形態のソフトウェア構成を示すブロック図の一例である。
定義情報管理部３０１は、Ｗｅｂアプリケーション生成時に使用される項目を定義する入出力定義等の定義情報を記憶し管理する機能部である。
【００２８】
グラフ表示条件選択部３０２は、定義情報管理部３０１で既に管理されている定義情報のうち、グラフ表示条件に用いることが出来る定義情報を抽出し選択する機能部である。
【００２９】
グラフ表示条件受付部３０３は、グラフ表示条件選択部３０２で抽出された定義情報のうち、いずれかを表示条件としてユーザから受け付ける機能部である。
【００３０】
グラフ表示条件設定部３０４は、グラフ表示条件受付部３０３で受け付けた表示条件をグラフ表示条件として設定する機能部である。
【００３１】
アプリケーション生成部３０５は、定義情報管理部３０１で管理される入出力定義等、およびグラフ表示条件設定部３０４で設定されたグラフ表示条件を用いて、Ｗｅｂアプリケーションを生成する機能部である。
【００３２】
図４は、Ｗｅｂアプリケーション自動生成システムの構成図および生成されたアプリケーション等の機能構成を説明するための図である。開発用端末１０１は、リポジトリ定義部（Ｗｅｂアプリケーション定義部）４００と、Ｗｅｂアプリケーション生成部４１０と、グラフ画像出力コード生成部４３０と、ソースコードコンパイル部４４０とを有している。
【００３３】
リポジトリ定義部４００は、データベース定義４０１、データモデル定義４０３、入出力定義４０４と、ビジネスプロセス定義４０５、グラフ項目定義４０６と、Ｗｅｂアプリケーションを生成する際にこれらの定義ファイルのうちいずれの定義ファイルを用いるかを設定するアプリケーション定義４０２とを有している。
【００３４】
データベース定義４０１は、Ｗｅｂアプリケーションがアクセスするサーバの設定等を定義しておくことが出来る。データモデル定義４０３は、スキーマ情報として定義される情報である。ビジネスプロセス定義４０５は、業務フローを定義するための情報である。グラフ項目定義４０６は、グラフを生成する際にいずれの定義をグラフの軸や値とするかを定義する情報である。
【００３５】
Ｗｅｂアプリケーション生成部４１０は、Ｗｅｂアプリケーション上で一覧画面等の表示を行うためのＷｅｂアプリケーション基盤コード生成部４２０と、Ｗｅｂアプリケーション上でグラフを表示させるためのグラフ画像出力コード生成部４３０とを有している。
【００３６】
Ｗｅｂアプリケーション基盤コード生成部４２０は、リポジトリ定義部４００の定義情報を解析するリポジトリ定義解析部４２１と、リポジトリ定義解析部４２１で解析された結果をもとにコードを生成するＷｅｂアプリケーションコード生成部４２２とを有している。
【００３７】
グラフ画像出力コード生成部４３０は、グラフ定義項目解析部４３１と、ＳＱＬ実行コード生成部４３２と、データ加工コード生成部４３３と、グラフ集計コード生成部４３４と、グラフ画像化コード生成部４３５とを有している。
【００３８】
グラフ定義項目解析部４３１は、リポジトリ定義部４００のグラフ項目定義４０６に定義されている情報を解析する。
【００３９】
ＳＱＬ実行コード生成部４３２は、グラフ定義項目解析部４３１で解析された結果、グラフ表示する元となるデータをデータベースが管理している場合に、データベースからデータを取得するためのＳＱＬ実行コードを生成する。
【００４０】
データ加工コード生成部４３３は、グラフ定義項目解析部４３１で解析した結果、グラフ表示する元となるデータをデータベースが管理しているデータだけではなく、画面によって計算された結果データである場合に、データを加工するコードを生成する。具体的には、後述する入出力定義で定義されている加工式を用いて計算してデータを加工するコードを生成する。
【００４１】
グラフ集計コード生成部４３４は、ＳＱＬ実行コード生成部４３２とデータ加工コード生成部４３３で生成したコードを使用してグラフ表示に必要なデータ取得した後、取得データを集計するコードを生成する。
【００４２】
グラフ画像化コード生成部４３５は、グラフ集計コード生成部４３４で生成されたコードで集計されたデータをグラフとして表示したり、表として表示したりするコードを生成する。
【００４３】
ソースコードコンパイル部４４０は、Ｗｅｂアプリケーション基盤コード生成部４２０とグラフ画像出力コード生成部４３０で生成されたコードをコンパイルし、Ｗｅｂアプリケーションを生成し出力する。
【００４４】
サーバ１０２は、開発用端末１０１のソースコードコンパイル部４４０で生成されたＷｅｂアプリケーション４５１を保持し、利用者用端末１０３からの要求に応じた処理や、利用者用端末１０３から入力された入力データ等をデータベース４５２へ記憶する記憶処理を行う。
【００４５】
（Ｗｅｂアプリケーションの自動生成処理）
次に、開発者がＷｅｂアプリケーションを開発用端末１０１で自動生成する際の流れを説明する。図５乃至８は、図４のリポジトリ定義部４００に記憶されるアプリケーション定義４０２、データモデル定義４０３、入出力定義４０４等の開発者によって予め設定した定義の一例を示したものである。
【００４６】
図５はＷｅｂアプリケーションがアクセスするサーバの設定を記憶したデータベース定義４０１である。図５に示すように、データベース定義には、サーバ１０２のコード５０１、サーバの名前５０２、接続ＵＲＬ情報５０３、サーバの種類５０４、データベース名５０５、アプリケーションがデータベースにアクセスする際に必要となるユーザ名５０６及びパスワード５０７が定義されている。
【００４７】
図６（ａ）は、Ｗｅｂアプリケーションを生成する際に使用する入出力定義を規定するアプリケーション定義４０２を示す図である。リポジトリ定義部では複数のアプリケーション定義４０２を管理することもできるが各アプリケーションでは、コード６０１とアプリケーション名６０２とが設定できる。
【００４８】
さらに、アプリケーション定義４０２は、コードごとに図８（ｂ）の所属定義設定画面に示すように所属する入出力定義が設定されている。所属定義設定画面６１０には、入出力一覧６１１と所属入出力一覧６１２と、追加ボタン６１４、削除ボタン６１５が表示される。
【００４９】
入出力一覧６１１にはプロジェクトに保存される入出力定義４０４の入出力コード全てが表示される。ユーザは任意の入出力コードを所望の数だけ選択し、追加ボタン６１４を押下することにより、当該アプリケーションコードに所属入出力として所属させることができる。追加処理が行われると、当該入出力コードは所属入出力一覧６１２に表示される。また、ユーザは所属入出力一覧６１２に表示されている入出力コードを選択し削除ボタン６１５を押下することにより、所属を外すこともできる。
【００５０】
図７は、スキーマ情報として定義されるデータモデル定義４０３である。図７（ａ）に示すように各データモデル定義は、コード７０１と名前７０２を付与して管理されており、詳細定義もそれぞれ定義されている。例えばコード『ＳＴＯＲＥ＿ＢＹ＿ＭＯＮＴＨ＿ＳＡＬＥＳ』では、図７（ｂ）に示すデータモデル定義が詳細に定義されている。
【００５１】
図７（ｂ）は、データベース上で受け付ける項目として、項目コード７１１、項目の名前７１２、ＮＵＬＬを許可するか否かを設定する項目７１３、桁数７１４、データタイプ７１５等が定義されている。
【００５２】
項目コード７１１はデータモデル内のデータモデル項目を一意に特定するコードである。名前７１２はデータモデル項目に対して、ユーザが任意に設定する名前である。ユーザがデータモデル項目を特定しやすくするために設定するものである。項目７１３はデータモデル項目に登録するデータに対して空を許容するかどうかを設定する項目である。桁数７１４はデータモデル項目に登録できるデータの桁数を設定する。データタイプ７１５はデータモデル項目のデータ型を設定する項目である。文字、数値、日付等、データの型を指定する。この例では、データモデル「ＳＴＯＲＥ＿ＢＹ＿ＭＯＮＴＨ＿ＳＡＬＥＳ」に対して、「ＳＴＯＲＥ＿ＩＤ」から「ＥＶＥＮＴ」までのデータモデル項目を定義している。ここで定義する各項目はＷｅｂアプリケーションが接続するデータベースのテーブルのカラム名と一致する。
【００５３】
図８は、Ｗｅｂ画面に配置する各表示項目の入出力定義４０４である。ここで設定されている項目が、利用者用端末１０３の表示画面に表示され、本番環境時にユーザが用いる画面として用いられる。図８（ａ）に示すように、各入出力定義は、コード８０１と名前８０２と入出力タイプ８０３等を付与して管理され、さらに当該入出力定義の対象となるデータモデル８０４も設定されている。
【００５４】
図８（ａ）で選択されている入出力タイプ８０３の「ＩＯ」は入出力画面を示すタイプであるが、それ以外にもメニュー画面であることを示す「ＭＥＮＵ」や、ユーザの指示を受けつけるダイアログ画面であることを示す「ＤＩＡＬＯＧ」、エクスポート画面であることを示す「ＥＸＰＯＲＴ」、インポート画面であることを示す「ＩＭＰＯＲＴ」、マトリクス画面であることを示す「ＭＡＴＲＩＸ」、帳票印刷画面であることを示す「ＰＲＩＮＴ＿ＦＩＬＥ」、携帯端末画面であることを示す「ＭＯＢＩＬＥ」等様々な入出力タイプを定義することもできる。
【００５５】
また、入出力定義は詳細な項目定義を行うことができ、図８（ｂ）に示すように項目タイプ８１０、項目コード８１１、名前８１２、表示８１３、レベル８１４、加工式８１５、遷移先となる次入出力８１６（画面情報）、データモデルコード８１７、データモデル項目コード８１８がそれぞれ定義されている。
【００５６】
項目コード８１１は入出力定義内の項目を一意に特定するコード（画面情報）である。名前８１２は入出力項目に対してユーザが任意に命名する名前である。入出力項目を特定しやすくする目的で設定する。表示８１３は定義した入出力項目を画面上に表示するかどうかの設定である。非表示とした場合は画面上には表示されず、隠しデータとして情報を保持する。次入出力８１６は項目タイプがアクションに設定された入出力項目について、ボタン押下された後に遷移する入出力コードを設定する。すなわち、ある画面から別の画面への遷移を定義する。加工式８１５は、他の入出力項目を加工して当該入出力項目とする際に用いられる加工式を設定する。図８（ｂ）の例では、項目コード「ＣＯＬＳＩＮＧ＿ＤＡＴＡ＿ＩＴＥＭ」は、項目コード「ＣＬＯＳＩＮＧ＿ＤＡＴＡ」の値を文字列にするという加工を行い、出力する項目コードであり、項目コード「ＭＯＮＴＨＳ＿ＡＮＤ＿ＹＥＡＲＳ」は、項目コード「ＣＬＯＳＩＮＧ＿ＤＡＴＡ＿ＩＴＥＭ」から出力された文字列の一部を出力するという加工を行い、出力する項目コードである。
【００５７】
次入出力８１６は項目タイプがアクションに設定された入出力項目について、ボタン押下された後に画面遷移と同時に渡すパラメータ情報である。データモデルコード８１７は該入出力項目と関連するデータモデルコードを設定する。同様にデータモデル項目コード８１８は該入出力項目と関連するデータモデル項目コードを設定する。
【００５８】
項目タイプ「Ｇグループ」は、階層を示すレベル８１４が下の項目タイプをまとめるグループ項目を表している。図８（ｂ）の例では、項目コード「ＳＴＯＲＥ＿ＩＤ」から「ＥＶＥＮＴ」までの項目が「Ｇ」のグループに所属していることを示している。また、本実施形態においては項目タイプ「Ｇグループ」を選択することで、グラフの表示条件を設定することができる。項目タイプ「ＩＯ  入出力」と定義されている項目は入出力項目（データを入力およびデータを表示する「フィールド」）である。項目タイプ「Ａ  アクション」と定義されている項目はアクション項目（処理を呼び出し、画面を遷移する「ボタン」）である。
【００５９】
次に、グラフの表示条件を設定する流れについて、図９乃至図１２を用いて説明する。
図９（ａ）は、生成されたＷｅｂアプリケーションでグラフを表示する際に必要となる全ての入出力項目プロパティ９００が設定された状態を示している。図９（ｂ）は、「ｇｒａｐｈ  Ｔｙｐｅ  グラフ形式」９１１を設定する際の様子を示す図である。図９（ｃ）は、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２を設定する際の様子を示す図である。図１０は、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２を設定する際に表示される選択リスト９３０に表示される項目を特定する流れを示すフローチャートである。図１１は、「ｇｒａｐｈＳｅｒｉｅｓグラフの系列」９１３を設定する際の様子を示す図である。図１２は、「ｇｒａｐｈＳｅｒｉｅｓグラフの系列」９１３を設定する際に表示される選択リスト９４０に表示される項目を特定する流れを示すフローチャートである。
【００６０】
入出力項目プロパティ９００には、プロパティキー９０１ごとに割当てる値９０２が設定できるように設けられている。「ｇｒｏｕｐ  Ｔｙｐｅ  一覧タイプ」９１０において、ＧＲＡＰＨを選択することにより当該「Ｇグループ」がグラフの表示条件を設定するグループにすることができる。
【００６１】
「ｇｒａｐｈ  Ｔｙｐｅ  グラフ形式」９１１は、グラフ形式を設定することが出来る項目を設定することができる。ユーザによって「ｇｒａｐｈ  Ｔｙｐｅ  グラフ形式」９１１に対応する値９０２の領域を選択されると選択リスト９２０が表示され、ユーザは、当該選択リストから所望のグラフ形式を選択することで、Ｗｅｂアプリケーションで表示されるグラフ形式を指定することができる。図９（ｂ）に示す例では、縦棒グラフ（ＢＡＲ＿ＶＥＲＴＩＣＡＬ）、横棒グラフ（ＢＡＲ＿ＨＯＲＩＺＯＮＴＡＬ）、折れ線グラフ（ＬＩＮＥ）、円グラフ（ＰＩＥ）、散布図（ＳＣＡＴＴＥＲ）が選択リスト９２０に表示され、ユーザは当該選択リストからグラフ形式を選択することができる。このような選択リスト９２０で選択可能なグラフ形式の種類は、あらかじめ適宜用意しておくことができる。
【００６２】
「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２は、グラフ作成に用いるデータの取得元グループを設定することができる。ユーザによって「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２に対応する値９０２の領域を選択されると選択リスト９３０が表示され、ユーザは、当該選択リストから所望の取得元グループを選択することで、いずれの取得元の項目をグラフの表示項目とするかを絞ることができる。図９（ｃ）に示す例では、選択リスト９３０には「Ｇ  店舗別月別売上」と「ＢＡＲ＿ＶＥＲＴＩＣＡＬ  縦棒グラフ」が選択可能に表示されている。ここで選択可能に表示されるグループは、図８（ｂ）の入出力項目一覧に示す項目タイプ８１０で「Ｇ  グループ」が選択されている項目が表示される。すなわち、グラフの定義情報が属する入出力定義の範囲内に属するグループが選択可能として表示される。なお、図６に示すアプリケーション定義に複数の入出力定義が所属されている場合には、その所属している入出力定義の範囲内に属するグループを選択可能として表示してもよい。
【００６３】
次に図１０を用いて、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２を選択する選択リスト９３０の生成・表示する流れを説明する。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。
【００６４】
Ｓ１００１では、開発用端末１０１のＣＰＵ２０１が、ユーザによって選択された値９０２の領域に対応するプロパティキー９０１が「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」であるかを判定する。Ｓ１００１で「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」であると判定されなかった場合には処理を終了し、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」であると判定された場合には、入出力項目一覧で定義されている入出力項目の数だけＳ１００２とＳ１００３を繰り返し行う。
【００６５】
Ｓ１００２では、開発用端末１０１のＣＰＵ２０１が、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２で設定されたグループに属する項目であって、かつ、図８（ｂ）に示す入出力項目一覧で設定されている項目タイプ８１０が「Ｇ  グループ」であるかを判定する。Ｓ１００２で「Ｇ  グループ」でないと判定された場合には、次の入出力項目の判定に移行し、Ｓ１００２で「Ｇ  グループ」であると判定された場合には、Ｓ１００３に移行する。
【００６６】
Ｓ１００３では、開発用端末１０１のＣＰＵ２０１が、当該入出力項目を「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」の選択リスト９３０の選択肢としてメモリ上に設けられた選択リストテーブルに追加する。
【００６７】
Ｓ１００４では、開発用端末１０１のＣＰＵ２０１が、選択肢として追加された入出力項目をもとに、選択リスト９３０を生成し表示する。
これにより、ユーザは当該グラフが所属する定義に関係あるグループから選択を行うことができる。
【００６８】
「ｇｒａｐｈＳｅｒｉｅｓ  グラフの系列」９１３は、グラフの表示条件の１つである系列を設定することができる。ユーザによって「ｇｒａｐｈＳｅｒｉｅｓ  グラフの系列」９１３に対応する値９０２の領域が選択されると図１１に示すように選択リスト９４０が表示され、ユーザは、当該選択リスト９４０から所望の項目を選択することで、いずれの項目をグラフの系列とするかを設定することができる。この際選択リスト９４０には、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２で選択したグループに所属する項目が選択可能に表示される。「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２で選択したグループが「Ｇ  店舗別月別売上」である場合には、図８（ｂ）に示すように、当該グループに所属する項目コード「ＳＴＯＲＥ＿ＩＤ」から「ＥＶＥＮＴ」までの項目が選択リスト９４０上に選択可能に表示される。
【００６９】
さらに、図示はしないが、「ｇｒａｐｈＳｅｒｉｅｓ  グラフの系列」９１３以外のグラフの表示条件である「ｇｒａｐｈＩｔｅｍ  グラフの項目」９１４と「ｇｒａｐｈＶａｌｕｅ  グラフの値」９１５の場合も、同様に「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２で選択したグループに所属する項目が選択可能な選択リスト９４０として表示される。
【００７０】
なお、「ｇｒａｐｈＶａｌｕｅ  グラフの値」９１５の場合には、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１３で選択したグループに所属する項目からさらに値に対応する項目が抽出されて選択可能な選択リストとして表示されるようにしてもよい。
【００７１】
次に図１２を用いて、「ｇｒａｐｈＳｅｒｉｅｓ  グラフの系列」９１３、「ｇｒａｐｈＩｔｅｍ  グラフの項目」９１４と「ｇｒａｐｈＶａｌｕｅ  グラフの値」９１５等の設定を選択する選択リスト９４０の生成・表示する流れを説明する。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。
【００７２】
Ｓ１２０１では、開発用端末１０１のＣＰＵ２０１が、ユーザによって選択された値９０２の領域に対応するプロパティキー９０１がグラフの表示項目であるかを判定する。具体的には、プロパティキーが「ｇｒａｐｈＳｅｒｉｅｓ」、「ｇｒａｐｈＩｔｅｍ」、「ｇｒａｐｈＶａｌｕｅ」のいずれかであるかを判定する。Ｓ１２０１でグラフの表示項目であると判定されなかった場合には処理を終了し、グラフの表示項目であると判定された場合には、入出力項目一覧で定義されている入出力項目の数だけＳ１２０２とＳ１２０３を繰り返し行う。
【００７３】
Ｓ１２０２では、開発用端末１０１のＣＰＵ２０１が、開発用端末１０１のＣＰＵ２０１が、「ｇｒａｐｈＳｏｕｒｃｅグラフのデータ取得元グループ」９１２で設定されたグループに属する項目であって、かつ、図８（ｂ）に示す入出力項目一覧で設定されている項目タイプ８１０が「ＩＯ  入出力」、「Ｉ  入力」、「Ｏ  出力」であるかを判定する。Ｓ１２０２で「ＩＯ  入出力」、「Ｉ  入力」、「Ｏ  出力」でないと判定された場合には、次の入出力項目の判定に移行し、Ｓ１２０２で「ＩＯ  入出力」、「Ｉ  入力」、「Ｏ  出力」であると判定された場合には、Ｓ１２０３に移行する。
【００７４】
Ｓ１２０３では、開発用端末１０１のＣＰＵ２０１が、当該入出力項目をグラフの表示条件を設定する際に用いる選択リスト９４０の選択肢としてメモリ上に設けられた選択リストテーブルに追加する。
【００７５】
Ｓ１２０４では、開発用端末１０１のＣＰＵ２０１が、選択肢として追加された入出力項目をもとに、選択リスト９４０を生成し表示する。
これにより、ユーザは当該グラフが所属する定義に関係ある項目タイプからグラフの表示条件を選択することができ、簡便にグラフの表示設定を行うことができる。つまり、グラフを表示する際に必要となる全ての入出力項目プロパティ９００、すなわちグラフ項目定義４０６が設定され、グラフをＷｅｂ画面に表示可能なＷｅｂアプリケーションを生成するために必要な要件が準備されたことになる。
【００７６】
図１３は、ここまでに説明したリポジトリ定義部４００に記憶されている、アプリケーション定義４０２、データベース定義４０１、データモデル定義４０３、入出力定義４０４、ビジネスプロセス定義４０５、グラフ項目定義４０６等の要件定義がされた後、Ｗｅｂアプリケーションを自動生成する際の流れを説明するためのフローチャートである。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。
【００７７】
まず、Ｓ１３０１では、開発用端末１０１のＣＰＵ２０１が、ユーザからＷｅｂアプリケーションを生成するアプリケーション定義４０２の指定を受け付ける。
【００７８】
次に、Ｓ１３０２では、開発用端末１０１のＣＰＵ２０１が、データベース定義４０１をリポジトリ定義部４００から読み込む。Ｓ１３０３では、データモデル定義４０３をリポジトリ定義部４００から読み込む。Ｓ１３０４では、ビジネスプロセス定義４０５をリポジトリ定義部４００から読み込む。Ｓ１３０５では、グラフ項目定義４０６を含む入出力定義４０４をリポジトリ定義部４００から読み込む。
【００７９】
このような定義はＸＭＬ形式で記述されているため、Ｓ１３０６では、開発用端末１０１のＣＰＵ２０１が、リポジトリ定義解析部４２１及びグラフ定義項目解析部４３１として機能し、ＸＭＬファイルを構造解析し、必要な定義内容をメモリ上にオブジェクトデータとして保存する。
【００８０】
次に、Ｓ１３０７では、開発用端末１０１のＣＰＵ２０１が、予め設定されているソースコードのテンプレート読み込む。そして、Ｓ１３０８では、開発用端末１０１のＣＰＵ２０１が、Ｗｅｂアプリケーションコード生成部４２２・ＳＱＬ実行コード生成部４３２・データ加工コード生成部４３３・グラフ集計コード生成部４３４・グラフ画像化コード生成部４３５として機能し、Ｓ１３０６でメモリ上に保存した定義データをソースコードテンプレートに埋め込んだ、ソースコードファイル、すなわちグラフと一覧画面がＷｅｂ画面上に表示可能なＷｅｂアプリケーションを生成する。
【００８１】
以上のように、予め定義した要件定義とソースコードを用いることにより、Ｗｅｂアプリケーションが自動生成される。開発者は、このように生成したＷｅｂアプリケーションを、サーバ１０２に保存して業務アプリケーションの開発作業を終了する。
【００８２】
次に図１４及び図１５を用いて、生成されたＷｅｂアプリケーションで表示されるＷｅｂ画面の一例を示す。図１４は、データベース４５２に記憶されるデータの一例である。図１５は、図１４のデータの場合に表示されるＷｅｂ画面の一例であり、図８及び図９（ａ）で示す入出力定義等に基づき、データの一覧画面１５００及びグラフ１５１０が表示されている様子を示している。データベース４５２上のデータが更新されると、Ｗｅｂ画面で表示されるデータも更新されることになる。
【００８３】
図１５の一覧画面１５００の店舗ＩＤ１５０１、店舗名１５０２、締日１５０３、年月（テキスト）１５０４、年月１５０５、売上１５０６、イベント回数１５０７は、図８（ｂ）の入出力項目一覧に定義されている名前８１２に対応するものが表示される。実際に反映されるデータは、図１４のデータであり、データベース上に登録されているＳＴＯＲＥ＿ＩＤ１４０１のデータが店舗ＩＤ１５０１のデータとして表示され、ＳＴＯＲＥ＿ＮＡＭＥ１４０２のデータが店舗名１５０２として表示され、ＣＬＯＳＩＮＧ＿ＤＡＴＥ１４０３のデータが締日１５０３のデータとして表示され、ＰＲＯＣＥＥＤＳ１４０４のデータが売上１５０６のデータとして表示され、ＥＶＥＮＴ１４０５のデータがイベント回数１５０７のデータとして表示される。年月（テキスト）１５０４と年月１５０５は、加工式８１５で設定された加工条件に基づいて、他のデータを加工した項目を表示している。
【００８４】
さらに、グラフ１５１０の系列１５１１（店舗名）、項目１５１２（年月）、値１５１３（売上）は、図９（ａ）の入出力項目プロパティ９００でグラフ表示条件（グラフの系列・グラフの項目・グラフの値）とした設定に基づいている。
【００８５】
つまり、本実施形態では、開発者が一覧画面を生成するために用意し、管理してある入出力定義を流用してグラフの表示条件を設定することができるため、簡便にグラフを表示できるＷｅｂアプリケーションを生成することができる。さらに、このようにグラフの表示条件を設定することで、途中で一覧画面を生成するための入出力定義の設定や加工式等に変更が生じた場合でも、グラフを表示させるための再プログラミング作業を行わなくとも、流用先の入出力定義等を確認するだけで対応することができる。
【００８６】
なお、図９（ａ）のグラフを表示する際に必要となる全ての入出力項目プロパティ９００に、図１６のようにグラフ出力に用いたデータ自体も表示させる「ｇｒａｐｈＳｈｏｗＤａｔａ  グラフデータ表示」９１５の項目を追加してもよい。この場合のＷｅｂ画面上で表示されるグラフの一例を図１７に示す。この例ではＷｅｂ画面を閲覧しているユーザにより、データ表示を指示するボタン１５２０が選択されたり、ポインタでハングオーバーされたりすると、グラフ表示に用いたデータだけが一覧画面１５３０で表示される。ここではグラフの系列１５１１が一覧画面１５３０の縦項目１５２１、グラフの項目１５１２が一覧画面１５３０の横項目１５２２、グラフの値１５１３が一覧画面１５３０の値１５２３として表示される。
【００８７】
これにより、Ｗｅｂ画面を閲覧しているユーザは、一覧画面１５００でグラフを生成しているデータを探さなくとも、簡便にグラフを生成しているデータが何であるかを確認することができる。
【００８８】
なお、本実施形態では、一覧画面１５００とグラフ１５１０とが同時に表示される例を用いて説明したが、グラフ１５１０のみが表示されるＷｅｂ画面を表示できるＷｅｂアプリケーション生成の場合にも本実施形態を適用することは可能である。
【００８９】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００９０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置の情報処理装置が前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９１】
したがって、本発明の機能処理を情報処理装置で実現する（実行可能とする）ために、前記情報処理装置にインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理を情報処理装置で実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行して情報処理装置にインストールさせて実現することも可能である。
【００９７】
また、情報処理装置が、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、情報処理装置上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９８】
さらに、記録媒体から読み出されたプログラムが、情報処理装置に挿入された機能拡張ボードや情報処理装置に接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００９９】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１００】
１０１  開発用端末
１０２  サーバ
１０３  利用者用端末
４５１  Ｗｅｂアプリケーション
【図１】
2018005445.tif 000003
【図２】
2018005445.tif 000004
【図３】
2018005445.tif 000005
【図４】
2018005445.tif 000006
【図５】
2018005445.tif 000007
【図６】
2018005445.tif 000008
【図７】
2018005445.tif 000009
【図８】
2018005445.tif 000010
【図９】
2018005445.tif 000011
【図１０】
2018005445.tif 000012
【図１１】
2018005445.tif 000013
【図１２】
2018005445.tif 000014
【図１３】
2018005445.tif 000015
【図１４】
2018005445.tif 000016
【図１５】
2018005445.tif 000017
【図１６】
2018005445.tif 000018
【図１７】
2018005445.tif 000019