(57)【要約】      （修正有）【課題】ビッグデータ等を蓄積するデータベースを利用したインタラクティブ報告書作成のためのＷｅｂレポーティングデザインシステムを提供する。【解決手段】Ｗｅｂデザインサーバ３０において、多数のコントロールオブジェクトを配置し、それらの属性を設定してＷｅｂレポーティングページ画面を編集する画面編集部３１と、コントロールオブジェクトにデータセットを接続するデータ接続部３２と、コントロールオブジェクトにイベント動作を設定する動作設定部３３と、編集結果を反映して、編集結果をＷｅｂレポーティング文書として生成する文書生成部３４とを含む。コントロールオブジェクトの画面配置、データセットの接続、イベント動作の設定などをすべてブランズウィック方式及びドラッグアンドドロップ方式で行うことにより、プログラミング言語を全く知らない非専門家でもインタラクティブＷｅｂレポーティングページを作成することができる。【選択図】図２
2020017277.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、
多数のコントロールオブジェクトを配置し、配置されたコントロールオブジェクトの属性を設定してＷｅｂレポーティングページの画面を編集する画面編集部と；
前記Ｗｅｂレポーティングページ内のコントロールオブジェクトにデータセットを接続するデータ接続部と；
前記Ｗｅｂレポーティングページ内のコントロールオブジェクトにイベント動作を設定する動作設定部と；
前記Ｗｅｂレポーティングページの編集結果を反映して、編集結果をＷｅｂレポーティング文書として作成して生成する文書生成部と；を含むことを特徴とするグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【請求項２】
前記動作設定部は、前記コントロールオブジェクトのイベントを選択し、選択された当該イベントに対するイベント動作を設定するが、前記イベント動作は、多数の単位動作の上下順序によって配置して作成され、単位動作が条件文である場合、各条件に応じた下位動作を下位階層として構成して作成されることを特徴とする請求項１に記載のグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【請求項３】
前記動作設定部では、前記下位動作は、上下順序によって配置される多数の単位動作で構成でき、前記下位動作は、条件文の単位動作を含み得、前記下位動作の条件文の単位動作は、各条件に応じた動作が下位階層として作成されることを特徴とする請求項２に記載のグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【請求項４】
前記動作設定部は、上下順序を有する配置及び階層構造のグラフィックにより、階層構造のイベント動作をウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で処理できるようにすることを特徴とする請求項２に記載のグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【請求項５】
前記動作設定部は、１つの単位動作には１つの実行関数を選択するようにし、選択された実行関数に対するオプションを設定するようにしたグラフィックインタフェースを提供することを特徴とする請求項２に記載のグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【請求項６】
前記動作設定部は、コントロールオブジェクトの種類またはイベントの種類に応じた適用可能実行関数のリストを保有し、実行関数をリストで表示し、リストの中から選択するようにして実行関数を決定することを特徴とする請求項５に記載のグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビッグデータなどの蓄積されたデータベースを利用してＷｅｂ上で提供する報告書を作成するが、特に、Ｗｅｂ上のインタラクティブ報告書のためにイベントハンドリング機能をグラフィックインタフェースでプログラミングするために提供する、グラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムに関する。
【背景技術】
【０００２】
一般に、ビジネスインテリジェンス（ＢＩ、Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）とは、企業の膨大なデータを、統計分析のような定型または非定型的な方法で多様に分析するか、分析された情報を理解しやすく、見栄えの良い報告書の形に加工することで、ビジネスをより合理的に進めるのに役に立つ一連のツールのことである。企業がビジネスしながら蓄積されるデータは限りなく多い。これらのデータは、ビジネス現場の鮮やかな内容を伝達するものであって、まともに分析したらその中からビジネスに必要な情報を取り出すことができる。
【０００３】
しかし、現場で蓄積された相当量のデータから意味のある分析結果を導出することは、それほど簡単な作業ではない。また、従来のビジネスインテリジェンス（ＢＩ）は、さまざまな分析ツールを有しているが、ユーザは、さまざまな分析ツールを扱うために熟練した知識を備えなければならいたので、特定の分析以外には普遍的に利用できるものではなかった。
【０００４】
かかる問題を解決するために、Ｗｅｂ環境においてデータベースを照会して分析するレポーティング技術が提案されている［特許文献１］。上記先行技術によれば、開発者は、データベースサーバのデータを利用してウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で報告書を設計し、Ｗｅｂサーバは、設計された報告書の登録を受け、報告書の設定内容に応じて、データベースサーバから必要なデータをインポートして報告書を生成し、ユーザは、Ｗｅｂブラウザ上で報告書を要請してみる。
【０００５】
また、Ｗｅｂサービスを利用して、複数の場所に分散されているデータにアクセスし統合して、報告書をリアルタイムで出力する技術も提案されている［特許文献２］。また、管理者は、データベースから受信したテーブル情報をＷｅｂ上で選択してマッピングテーブルを生成し、これを利用して様々な様式のＢＩレポートを生成し、ユーザは、生成されたさまざまな様式のＢＩレポートをＷｅｂ上で選択して確認する技術も提案されている［特許文献３］。
【０００６】
一般的に、Ｗｅｂページをデザイン開発するとき、Ｗｅｂページ上の画面構成と、インタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ）インタフェースのためのイベントハンドリング機能とを作成する必要がある。前述の先行技術と同様に、Ｗｅｂページ上の画面構成は、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式などで簡単でシンプルにデザインすることができる。
【０００７】
しかしながら、Ｗｅｂページ上でインタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ）インタフェースを構成するためには、特定の対象に対するクリック、ダブルクリックなどのジェスチャー（またはイベント）を入力すると、特定の行為が行われるように構成する必要がある。すなわち、Ｗｅｂページ上で特定のイベントが発生すると当該イベントに対応する作業が行われるように、イベント作業を事前に定義しておく必要がある。
【０００８】
一般的に、このようなイベント作業（またはイベントハンドリング）を、Ｗｅｂプログラミングにより作成する。例えば、ＪＳＰ（ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ）は、ＡＳＰ（Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）、ＰＨＰ（Ｈｙｐｅｒｔｅｘｔ  Ｐｒｅｐｒｏｃｅｓｓｏｒ）などのサーバ側Ｗｅｂプログラムを用いて、イベントハンドリングが定義されるか作成される。しかしながら、上記のようなＷｅｂプログラムは、専門家だけが作成可能である。すなわち、Ｗｅｂプログラミング言語を学び作成できる場合に限って、イベントハンドリングを定義するか作成することができる。
【０００９】
したがって、従来のＷｅｂレポーティング技術によれば、Ｗｅｂプログラムを学んでいない管理者は、ウィジウィグ（ＷＹＳＩＷＹＧ）などにより画面構成を行うことはできるが、イベントハンドリングを定義してより複雑なインタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ）Ｗｅｂインタフェースを作成することはできないという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】韓国登録特許第１０−０４９７８１１号（２００５．０６．１８．公告）
【特許文献２】韓国登録特許第１０−０６９７１５５号（２００７．０３．２１．公告）
【特許文献３】韓国公開特許第１０−２０１３−０１２６０１２号（２０１３．１１．２０．公開）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記問題を解決するためのものであり、その目的は、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式を用いて、コントロールオブジェクトを配置して画面を構成し、コントロールオブジェクトにデータセットを接続し、各コントロールオブジェクトのイベントにイベント動作を設定することにより、Ｗｅｂページを構成する、グラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムを提供することである。
【００１２】
また、本発明の他の目的は、コントロールオブジェクトのイベントに対するイベント動作をグラフィックインタフェースを介して作成するが、イベント動作を多数の単位動作の上下順序によって配置し、単位動作が条件文である場合、各条件に応じた動作を下位階層として有する階層構造を構成する、グラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムを提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムは、多数のコントロールオブジェクトを配置し、配置されたコントロールオブジェクトの属性を設定してＷｅｂレポーティングページの画面を編集する画面編集部と；前記Ｗｅｂレポーティングページ内のコントロールオブジェクトにデータセットを接続するデータ接続部と；前記Ｗｅｂレポーティングページ内のコントロールオブジェクトにイベント動作を設定する動作設定部と；前記Ｗｅｂレポーティングページの編集結果を反映して、編集結果をＷｅｂレポーティング文書として作成して生成する文書生成部と；を含むことを特徴とする。
【００１４】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、前記動作設定部は、前記コントロールオブジェクトのイベントを選択し、選択された当該イベントに対するイベント動作を設定するが、前記イベント動作は、多数の単位動作の上下順序によって配置して作成され、単位動作が条件文である場合、各条件に応じた下位動作を下位階層として構成して作成されることを特徴とする。
【００１５】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、前記動作設定部では、前記下位動作は、上下順序によって配置される多数の単位動作で構成でき、前記下位動作は、条件文の単位動作を含み得、前記下位動作の条件文の単位動作は、各条件に応じた動作が下位階層として作成されることを特徴とする。
【００１６】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、前記動作設定部は、上下順序を有する配置及び階層構造のグラフィックにより、階層構造のイベント動作をウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆  Ｄｒｏｐ）方式で処理できるようにすることを特徴とする。
【００１７】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、前記動作設定部は、１つの単位動作には１つの実行関数を選択するようにし、選択された実行関数に対するオプションを設定するようにしたグラフィックインタフェースを提供することを特徴とする。
【００１８】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムにおいて、前記動作設定部は、コントロールオブジェクトの種類またはイベントの種類に応じた適用可能実行関数のリストを保有し、実行関数をリストで表示し、リストの中から選択するようにして実行関数を決定することを特徴とする。
【発明の効果】
【００１９】
上述したように、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムによれば、コントロールオブジェクトの画面配置、データセットの接続、イベント動作の設定などをすべて前記ウィジウィグ方式及びドラッグアンドドロップ方式で行うことにより、プログラミング言語を全く知らない非専門家でもインタラクティブＷｅｂレポーティングページを作成することができるという効果が得られる。
【００２０】
また、本発明に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムによれば、上下順序のある配置及び階層構造を有するグラフィックインタフェースによってイベント動作をプログラミングすることにより、イベント動作のプログラミングを直感的に作成でき、このため、プログラミングの非専門家であっても簡単に動作のフローを制御することができるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本発明を実施するための全体システムの構成図である。
【図２】本発明の一実施形態に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムの構成に対するブロック図である。
【図３】本発明の一実施形態に係るＷｅｂレポーティングページの編集画面の例示図である。
【図４】本発明の一実施形態に係るデータセットをコントロールオブジェクトに接続する画面の例示図である。
【図５】本発明の一実施形態に係るコントロールオブジェクトの種類及びイベントを示す表である。
【図６】本発明の一実施形態に係る動作設定画面の例示図である。
【図７】本発明の一実施形態に係る動作設定画面の例示図である。
【図８】本発明の一実施形態に係る実行関数を登録する画面の例示図である。
【図９】本発明の一実施形態に係る単位動作の配置順序を変更する画面の例示図である。
【図１０】本発明の一実施形態に係る条件文の単位動作を設定する画面の例示図である。
【図１１】本発明の一実施形態に基づいて、イベントが発生する場合の設定された動作が行われる過程を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施のための具体的な内容を図面に基づいて説明する。
【００２３】
また、本発明を説明するに当たり、同一の部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２４】
まず、本発明を実施するための全体システムの構成について図１を参照して説明する。
【００２５】
図１に示すように、本発明を実施するための全体システムは、開発者端末１０にインストールされるクライアント２０と、クライアント２０とネットワークにより接続されるＷｅｂデザインサーバ３０と、データを保存して管理するデータベース４０と、で構成される。また、Ｗｅｂレポーティング資料をＷｅｂ上で閲覧するユーザ端末５０と、Ｗｅｂレポーティング資料をＷｅｂ上にＷｅｂページの形で提供するＷｅｂレポーティングサーバ６０と、をさらに含んで構成される。
【００２６】
クライアント２０は、開発者端末１０にインストールされるクライアント用のプログラムシステムであって、Ｗｅｂブラウザを介してユーザインタフェースを有する。すなわち、ユーザは、ＷｅｂブラウザまたはＷｅｂブラウザのような画面のインタフェースを介して、オンライン上でのＷｅｂレポーティングページ（またはＷｅｂページ）のデザイン作業を行う。このとき、開発者端末１０は、ユーザのコマンドなどの入力を受けて当該コマンドを実行し、処理結果を画面上またはＷｅｂブラウザ上に表示する。
【００２７】
一方、開発者端末１０は、開発者が使用する端末であり、パーソナルコンピュータ（ＰＣ）、ノートブック、タブレットＰＣ、ファブレット、ＰＤＡ、スマートフォンなどのコンピューティング機能を有するコンピュータ端末である。開発者端末１０とＷｅｂデザインサーバ３０とはネットワークにより接続され、開発者端末１０上のクライアント２０は、オンライン上でのＷｅｂページのデザイン作業を行うことができる。
【００２８】
また、クライアント２０は、オンライン上でＷｅｂレポーティングページ（またはＷｅｂページ）の画面を構成したり、構成されたＷｅｂページ内の構成要素のイベントを設定したり、当該イベントのイベントハンドリングの動作設定作業を行ったりする。
【００２９】
Ｗｅｂレポーティングページとは、データベース４０に保存されているデータまたはデータセットをフィルタリングして抽出したり、統計分析などの分析を行ったりして、その結果、データをさまざまな形で表示するＷｅｂページのことである。また、Ｗｅｂレポーティングページは、ユーザがＷｅｂページ上でクリック、ダブルクリックなどのジェスチャーを実行すると、抽出や分析を再実行して表示したり、結果のデータを他の形式で表示したりするなどのインタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ）機能を有する。
【００３０】
まず、クライアント２０は、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式でＷｅｂレポーティングページを作成する。このとき、Ｗｅｂレポーティングページは、ボタン、コンボボックス、表、チャートなどの多数のコントロールオブジェクトで構成される。したがって、クライアント２０がＷｅｂレポーティングページを作成するというのは、多数のコントロールオブジェクトをＷｅｂページの画面上に配置し、当該コントロールオブジェクトに属性を付与することをいう。
【００３１】
また、クライアント２０は、Ｗｅｂレポーティングページ内のコントロールオブジェクトにデータセット（データベースから抽出したデータ）を接続設定する。すなわち、Ｗｅｂレポーティングページが閲覧されたときに、コントロールオブジェクトは、接続されているデータセットをデータベース４０からインポートし、設定された形で当該データセットの抽出された結果や分析結果を表示する。
【００３２】
このとき、コントロールオブジェクトは、データセットと接続できるオブジェクトと、接続できないオブジェクトとに区別可能である。
【００３３】
また、クライアント２０は、Ｗｅｂレポーティングページ内のコントロールオブジェクトに、参照するデータセットを定義して接続する。
【００３４】
データセットとは、同じフィールドで構成されている多数のレコードで構成されているデータの集合を意味する。すなわち、１つのレコードは、多数のフィールド値で構成され、すべてのレコードのフィールド（カラム）は、同じフィールド（またはカラム）を有している。特に、データセットは、１つまたは複数のデータテーブル（またはデータベースのＤＢテーブル）からインポートしたデータである。このとき、データセットは、１つまたは複数のデータテーブルを参照するクエリ文によって抽出されたデータである。
【００３５】
好ましくは、クライアント２０は、データベース４０からデータセットを参照するクエリ文を作成するために、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式のクエリ文作成手段を提供する。すなわち、クライアント２０は、前記ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式でコントロールオブジェクトへのデータセットの接続を定義することができる。
【００３６】
また、クライアント２０は、コントロールオブジェクトにイベントを接続し、当該イベント動作（イベントハンドリング）を設定する。
【００３７】
イベントとは、Ｗｅｂレポーティングページ上で発生する動作や出来事であって、キーボードによるキー入力、マウスのクリックやダブルクリックなどのジェスチャー、タイマー機能の発生、コントロールオブジェクトの属性値変更などをいう。
【００３８】
コントロールオブジェクトにおける特定のイベントを接続し、当該イベントを処理する動作（またはイベント動作）を設定すると、当該イベントが発生した場合、当該イベント動作が行われる。このとき、イベントが発生すると、当該イベントを処理することをイベントハンドリングという。
【００３９】
クライアント２０は、イベント動作を、グラフィックインタフェースを用いて作成する。すなわち、イベント動作は、多数の単位動作の上下順序によって配置して作成され、単位動作が条件文である場合、各条件に応じた動作を下位階層として構成して作成される。また、各条件に応じた下位動作は、多数の単位動作の上下順位による配置により作成される。そして、イベント動作は、各単位動作が配置順序によって順次実行されるように制御される。また、条件文である単位動作は、条件に合った下位階層の動作が実行されるように制御される。
【００４０】
また、クライアント２０は、上下順序を有する配置及び階層構造のグラフィックにより、階層構造のイベント動作をウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で処理できるようにする。
【００４１】
また、クライアント２０は、単位動作を定義する場合、単位動作で実行される実行関数を選択し、必要に応じて実行関数の引数（ａｒｇｕｍｅｎｔ）を入力する。
【００４２】
次に、Ｗｅｂデザインサーバ３０は、クライアント２０がＷｅｂ上でのＷｅｂレポーティングページをデザインできるサービスを提供する。すなわち、Ｗｅｂデザインサーバ３０は、オンライン上でのＷｅｂレポーティングページ（またはＷｅｂページ）の画面を構成したり、構成されたＷｅｂページ内の構成要素のイベントを設定したり、当該イベントのイベントハンドリングの動作設定作業を行ったりするために、Ｗｅｂレポーティングページのデザインサービスを提供する。
【００４３】
まず、Ｗｅｂデザインサーバ３０は、クライアント２０でＷｅｂページの画面をデザインする際に使用できるコントロールオブジェクトの種類及び形状、当該コントロールオブジェクトで使用できる属性などを事前に定義しておく。
【００４４】
また、Ｗｅｂデザインサーバ３０は、データベース４０に接続し、ＤＢテーブルのリスト及び、当該ＤＢテーブルのフィールドの名称、タイプなどのＤＢテーブルのメタ情報をインポートし、クライアント２０でデータセットを定義するためのクエリ文の情報として提供する。また、Ｗｅｂデザインサーバ３０は、データセットを定義するために、すでにテンプレートから作成したクエリ文を提供することができる。
【００４５】
また、Ｗｅｂデザインサーバ３０は、クライアント２０で使用できる全体イベント、各コントロールオブジェクトで使用できるイベントなどを事前に設定しておき、クライアント２０でイベントを設定するとき、イベントのリストを提供する。
【００４６】
また、Ｗｅｂデザインサーバ３０は、クライアント２０で単位動作として使用できる実行関数を事前に定義して設定しておく。また、実行関数の名前及び、引数などの実行関数のメタ情報をクライアント２０に伝達することができる。このとき、実行関数は、Ｊａｖａ、ＶＢ（Ｖｉｓｕａｌ  Ｂａｓｉｃ）などのＷｅｂプログラミング言語または一般プログラミング言語で作成された関数であってもよい。
【００４７】
また、Ｗｅｂデザインサーバ３０は、クライアント２０における上下順序による配置及び階層構造で作成されたイベント動作を、Ｊａｖａ、ＶＢなどのＷｅｂプログラミング言語または一般プログラミング言語に変換して、スクリプトコードに変換する。
【００４８】
また、Ｗｅｂデザインサーバ３０は、クライアント２０がＷｅｂレポーティングページのデザイン編集を完了したら、Ｗｅｂレポーティングページで定義されたコントロールオブジェクト、イベント、イベント動作を、Ｗｅｂ標準言語によるＷｅｂページ及び、Ｗｅｂスクリプト言語などに変換して、最終的なＷｅｂレポーティングページを生成する。
【００４９】
また、他の実施形態において、Ｗｅｂデザインサーバ３０は、Ｗｅｂレポーティングページのデザイン編集が完了したら、Ｗｅｂレポーティングページで定義されたコントロールオブジェクト、イベント、イベント動作に対する編集情報を、ＸＭＬなどの規格化された形式で保存する。例えば、コントロールオブジェクトについての編集情報は、各コントロールオブジェクトの種類、属性、イベント、当該イベント動作情報などで構成される。これをＷｅｂレポーティング文書と呼ぶことにする。
【００５０】
そして、専用ビューアによって、当該規格化された形式のＷｅｂレポーティング文書を読み、Ｗｅｂレポーティングページを生成してＷｅｂ上で表示、動作することができる。
【００５１】
一方、前述したクライアント２０とＷｅｂデザインサーバ３０の機能は一例であり、サーバとクライアントの実現技術に基づいて多様に実現可能である。すなわち、クライアント２０とＷｅｂデザインサーバ３０は、１つのＷｅｂレポーティングデザインシステムであって、その機能が性能に応じて互いに分配されてもよい。例えば、クライアント２０は、単純にＷｅｂブラウザの機能だけを持っており、Ｗｅｂデザインサーバ３０がすべての機能を構築してもよい。すなわち、Ｗｅｂデザインサーバ３０は、Ｗｅｂ画面のデザイン、データセットの接続、イベント設定などの機能をすべて持つことができる。また他の例において、Ｗｅｂデザインサーバ３０は、データベース４０とのインタフェース機能や最終レポーティングページを登録する機能だけを持っており、クライアント２０は、Ｗｅｂ画面のデザイン、データセットの接続、イベント設定などの機能だけではなく、編集されたレポーティングページで最終Ｗｅｂレポーティングページを変換する機能をも備えていてもよい。すなわち、サーバ−クライアントの実現方式により様々な形で機能を分配することができる。
【００５２】
好ましくは、クライアント２０は、アプリケーション機能を有するＷｅｂ標準（例えば、ＨＴＭＬ５など）とＷｅｂスクリプト言語（例えば、Ｊａｖａなど）によって実現される。また、クライアント２０とＷｅｂデザインサーバ３０間のデータ送受信は、ＷｅｂブラウザとＷｅｂサーバ間の標準的な通信プロトコルによって行われる。例えば、ＷｅｂブラウザとＷｅｂサーバ間の非同期通信プロトコルであるＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａｓｃｒｉｐｔ  Ａｎｄ  Ｘｍｌ）を使用するか、Ｗｅｂサーバとのデータ交換形式であるＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）などを利用して、クライアント２０とＷｅｂデザインサーバ３０との間でデータを交換する。
【００５３】
すなわち、クライアント２０は、ＳＰＡ（Ｓｉｎｇｌｅ  Ｐａｇｅ  Ａｐｐｌｉｃａｔｉｏｎ）で構成される。ＳＰＡは、最初にＷｅｂアプリケーションに必要なリソースのダウンロードを受け、その後、データが変更されると、変更されたデータの伝達を受けてページを更新する。
【００５４】
特に、クライアント３０は、ＨＴＭＬ５及びＪａｖａスクリプトで実現され、コントロールオブジェクトなどの画面配置デザインは、ＨＴＭＬ５によって行われ、各コントロールオブジェクトのイベント及び属性（色、サイズなど）は、Ｊａｖａスクリプトで実現される。
【００５５】
また、編集状態のＷｅｂページ（編集用クライアント）または最終に実行するＷｅｂページ（ビューア用クライアント）では、動的なＷｅｂページ（Ｄｙｎａｍｉｃ  Ｗｅｂ  Ｐａｇｅ）を使用して、開発者またはユーザが、クライアントから所望の情報を要請すると、サーバは、データベース連動やクライアントの所望作業を代わりに処理し、その結果をクライアントに伝達する。このとき、作業要請や作業結果の送受信はＡＪＡＸまたはＪＳＯＮなどの標準データ交換方式を使用する。
【００５６】
次に、データベース４０は、データを保存するための通常のデータベース（ＤＢ）であって、データを管理するためのデータベース・マネジメント・システム（ＤＢＭＳ）を備え、データの保存、削除、検索などの作業を、クエリ（またはクエリ文）を介して行う。特に、データベース４０は、商用化されたデータベースであり、データセットを処理するための一般的なクエリ機能を用いてデータクエリサービスを行う。
【００５７】
特に、データベース４０は、ビッグデータを保存するデータベースである。また、好ましくは、データベース４０は、リレーショナルデータベース（ＲＤＢ）で構成される。
【００５８】
また、データベース４０は、Ｗｅｂデザインサーバ３０に直接接続されたデータベースとして実現されてもよく、インターネット上で独立したＤＢサーバとして実現されてもよい。
【００５９】
次に、Ｗｅｂレポーティングサーバ６０は、Ｗｅｂレポーティングサービスを提供する通常のＷｅｂサービスサーバである。すなわち、Ｗｅｂレポーティングサーバ６０は、Ｗｅｂデザインサーバ３０が完成したＷｅｂレポーティングページを登録し、ユーザ端末５０から要請されたとき、当該Ｗｅｂレポーティングページを提供するサービスを行う。
【００６０】
また、ユーザ端末５０は、ユーザが使用する端末であり、パーソナルコンピュータ（ＰＣ）、ノートブック、タブレットＰＣ、ファブレット、ＰＤＡ、スマートフォンなどのコンピューティング機能を有するコンピュータ端末である。ユーザ端末５０とＷｅｂレポーティングサーバ６０とは、ネットワークを介して接続され、ユーザ端末５０上のＷｅｂブラウザを介してＷｅｂレポーティングページを閲覧する。
【００６１】
ユーザ端末５０は、Ｗｅｂブラウザがインストールされて、Ｗｅｂ上でＷｅｂレポーティングページを閲覧することができる。
【００６２】
一実施形態によれば、Ｗｅｂレポーティング文書は、編集内容が規格化された形で保存される。そして、ユーザ端末５０のＷｅｂブラウザからＷｅｂレポーティングサーバ６０に接続すれば、Ｗｅｂブラウザは、Ｗｅｂレポーティング文書を閲覧できるＷｅｂレポーティングビューアをインポートする。そして、Ｗｅｂレポーティングビューアは、Ｗｅｂレポーティング文書の編集結果を解釈し、ＷｅｂレポーティングページまたはＷｅｂページを生成して表示する。
【００６３】
すなわち、ユーザは、Ｗｅｂブラウザを介してＷｅｂレポーティングビューアを使用してＷｅｂレポーティングページをオープンすることで、Ｗｅｂレポーティングページが提供するデータセットの抽出や分析結果を閲覧することができる。このとき、Ｗｅｂレポーティングページ上でのクリック、ダブルクリックなどのマウスのジェスチャーやキーボードの入力キーによって、インタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ）方式で抽出または分析結果を様々な形で閲覧することができる。
【００６４】
また、ユーザ端末５０が、Ｗｅｂレポーティングページにおけるデータセットを参照すると、Ｗｅｂレポーティングサーバ６０は、データベース４０を参照してデータセットをインポートして、当該データセットを当該Ｗｅｂレポーティングページに表示する。
【００６５】
次に、本発明の一実施形態に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステムについて、図２を参照して説明する。本発明に係るＷｅｂレポーティングデザインシステムは、前述したように、クライアント−サーバシステムで構築されてもよい。
【００６６】
図２に示すように、本発明の一実施形態に係るグラフィックインタフェース基盤のＷｅｂレポーティングデザインシステム３００は、Ｗｅｂレポーティングページの画面を編集する画面編集部３１と、画面のコントロールオブジェクトにデータセットを接続するデータ接続部３２と、コントロールオブジェクトのイベント動作を設定する動作設定部３３と、編集されたレポーティングページの編集内容を生成して保存する文書生成部３４と、で構成される。また、処理するデータを一時的に保存する保存部３８をさらに含んで構成される。
【００６７】
まず、画面編集部３１は、多数のコントロールオブジェクトを配置し、配置されたコントロールオブジェクトの属性を設定して、Ｗｅｂレポーティングページの画面を編集する。このとき、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式でＷｅｂレポーティングページを編集する。
【００６８】
コントロールオブジェクトは、ボタン、コンボボックス、図形、テキストボックス、表、チャートなどのＷｅｂ報告書を表現するためのオブジェクトである。特に、コントロールオブジェクトは、ボタン、コンボボックス、チェックボックス、入力ボックスなどの制御のための制御用オブジェクト、ラベル、イメージなどのレポーティングの内容や形式を表現するための表示型オブジェクト、チャート、ピボットグリッド、リスト型グリッドなどのデータセットと接続できるデータオブジェクトなどに区分可能である。
【００６９】
図５において、（ａ）はデータオブジェクトを、（ｂ）は制御用オブジェクトを、（ｃ）は表示型オブジェクトを其々示している。
【００７０】
コントロールオブジェクトは、１つのオブジェクトであって、多数の属性を持ち、属性値を設定することによりオブジェクトが設定される。また、好ましくは、コントロールオブジェクトは、基本的なデフォルト値により属性が設定され、開発者によってカスタマイズされる。オブジェクトの属性を設定する技術は、既知の技術であるので、具体的な説明は省略する。
【００７１】
また、コントロールオブジェクトは、多数のオブジェクトで構成されてもよい。例えば、チャートオブジェクトは、グラフ、ラベルなどで構成され、表（リスト型グリッド）やピボットグリッドオブジェクトは、多数のセル、タイトルなどで構成されてもよい。このとき、コントロールオブジェクトを構成するオブジェクトを所属オブジェクトと呼ぶことにする。
【００７２】
一方、画面編集部３１は、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式でＷｅｂレポーティングページを編集するために、編集画面を提供する。Ｗｅｂレポーティングページの画面を編集する例は、図３に示されている。
【００７３】
図３に示すように、コントロールオブジェクトを種類別に表示して選択できるように提供するオブジェクト窓(A)、編集対象であるＷｅｂレポーティングページを表示するページ編集窓(B)、ページのコントロールオブジェクトの属性を設定する属性窓(C)などで構成されている。
【００７４】
すなわち、開発者は、オブジェクト窓でコントロールオブジェクトを選択し、ページ編集窓で当該コントロールのオブジェクトを配置し、編集窓で位置や大きさなどをデザインし、編集窓でコントロールオブジェクトを選択した後、属性窓でコントロールオブジェクトの属性を設定する。
【００７５】
次に、データ接続部３２は、Ｗｅｂレポーティングページ内のコントロールオブジェクトにデータセットを接続して設定する。
【００７６】
前述したように、データセットとは、同じフィールドで構成されている多数のレコードで構成されているデータの集合であり、１つまたは多数のＤＢテーブルを参照するクエリ文によって抽出されるデータである。
【００７７】
一方、コントロールオブジェクトにデータセットを接続して設定するということは、実際に参照してインポートして接続するだけではなく、実際参照していないが、参照するデータセットと接続することも含む。したがって、コントロールオブジェクトへのデータセットの接続作業は、参照したデータセットを接続したり、参照するデータセットを定義したクエリ文をコントロールオブジェクトに接続することをいう。
【００７８】
また、データ接続部３２は、データベース４０においてデータセットを参照するクエリ文を作成するために、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式のクエリ文の作成手段を提供する。また、データ接続部３２は、データセットを定義するために、既にテンプレートから作成したクエリ文を提供することができる。
【００７９】
図４は、コントロールオブジェクトにデータセットを接続する例を示している。
【００８０】
図４に示すように、データ接続部３２は、既に作られたクエリ文のテンプレートを選択し、当該テンプレートからクエリ文を作成することができる。すなわち、ウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で簡単にクエリ文を作成することができる。
【００８１】
次に、動作設定部３３は、Ｗｅｂレポーティングページ内のコントロールオブジェクトにイベント動作を設定する。イベント動作は、イベントが発生した場合に実行される動作である。
【００８２】
イベントとは、Ｗｅｂレポーティングページ上で発生する動作や出来事であって、キーボードによるキー入力、マウスのクリックやダブルクリックなどジェスチャー、タイマー機能の発生、コントロールオブジェクトの属性値変更などをいう。また、コントロールオブジェクトが多数のオブジェクト（または所属オブジェクト）で構成されている場合には、所属オブジェクトのイベントもまたコントロールオブジェクトのイベントとして設定されてもよい。
【００８３】
また、イベントは、コントロールオブジェクトの種類に応じて異なってもよい。図５は、コントロールオブジェクトと、当該コントロールオブジェクトで使用できるイベントと、を示している。
【００８４】
図５に示すように、グリッドは、セルまたはヘッダをクリック（ダブルクリック）するイベントを有し、コンボボックスや入力ボックスは、値を変更するイベントを有することができる。すなわち、コントロールオブジェクトの種類に応じて、当該コントロールオブジェクトが有することができるイベントが異なってもよい。
【００８５】
動作設定部３３は、コントロールオブジェクトのイベント動作を設定するとき、当該コントロールオブジェクトのイベントを選択し、当該イベントに対する動作（イベント動作）を設定する。
【００８６】
前述したように、イベント動作は、多数の単位動作の上下順序によって配置して作成され、単位動作が条件文である場合、各条件に応じた動作を下位階層として構成して作成される。また、各条件に応じた下位動作は、多数の単位動作の上下順位による配置で作成される。また、各条件に応じた下位動作では、条件文の単位動作を含んでいてもよく、この場合にも、下位条件文の条件に応じた動作が下位階層として作成される。
【００８７】
そして、イベント動作は、各単位動作が配置順序によって順次行われるように制御される。また、条件文である単位動作は、条件に合った下位階層の動作（または下位動作）が行われるように制御される。
【００８８】
一方、動作設定部３３は、上下順序を有する配置及び階層構造のグラフィックにより、階層構造のイベント動作をウィジウィグ（ＷＹＳＩＷＹＧ）方式及びドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で処理できるようにする。
【００８９】
コントロールオブジェクトの動作を設定する例は、図６及び図７に示されている。
【００９０】
図６に示すように、特定のコントロールオブジェクトを選択して、当該コントロールオブジェクトの動作を設定することができる。このとき、動作設定をグラフィックを用いて行うために、動作設定画面を表示する。
【００９１】
図７に示すように、動作設定画面は、コントロールオブジェクトを表示するオブジェクト表示窓（１番窓）、当該オブジェクトのイベントを選択するイベントの選択窓（３番窓）、イベント動作をグラフィックで表示するイベント動作表示窓（４番窓）、単位動作の実行関数のオプション設定窓（５番窓）などで構成されている。
【００９２】
また、図７の２番窓に示すように、実行関数をモジュール化して、頻繁に使用する実行関数を事前にモジュールに登録し、当該モジュールに登録された実行関数を単位動作で設定することができる。
【００９３】
図７の４番窓に示すように、イベント動作は、上下順位を有する多数の単位動作で構成され、単位動作が条件文（例えば、ｉｆ文など）である場合は、階層構造を持ち、各条件に応じた動作を下位階層として構成して作成される。
【００９４】
また、動作設定部３３は、１つの単位動作には１つの実行関数を選択し、選択された実行関数の引数（ａｒｇｕｍｅｎｔ）（またはオプション、実行オプション）を設定する。
【００９５】
このとき、動作設定部３３は、コントロールオブジェクトの種類（またはイベントの種類）に応じた適用可能実行関数のリストを保有し、実行関数のリストを開発者に表示し、リストの中から実行関数を選択させて実行関数を決定する。
【００９６】
また、各実行関数は、事前に定義され、各実行関数のオプションも事前に定義される。したがって、特定の実行関数が選択されると、当該実行関数のオプションをオプション設定窓に表示する。実行関数のオプションは、実行関数の引数や環境変数などの詳細機能を設定するための変数である。
【００９７】
図８は、実行関数を追加する画面の一例を示したものである。
【００９８】
図８に示すように、動作設定部３３は、グラフィックインタフェースを介して各単位動作に実行関数を設定して登録することができる。
【００９９】
一方、前述したように、動作設定部３３は、イベント動作を、配置順序を持つ多数の単位動作で設定するが、このとき、上下配置順序によって各単位動作の実行順序が決定される。
【０１００】
図９は、イベント動作での単位動作が配置された順序によって実行順序を設定する例を示している。図９に示すように、イベント動作窓でドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式で各単位動作（または実行関数）の順序を変更することで、実行順序を変更することができる。
【０１０１】
また、図１０は、単位動作が条件（または条件文の実行関数）で構成されている場合を示している。
【０１０２】
図１０のように、条件文の実行関数（または条件文の単位動作）は、各条件に応じて行われる下位動作が階層構造で表示される。このとき、下位動作は、上下順序を有する多数の単位動作で構成されてもよい。
【０１０３】
また、図１０に示すように、条件を作成するための編集手段として、グラフィックインタフェースを介してウィジウィグ（ＷＹＳＩＷＹＧ）方式またはドラッグアンドドロップ（Ｄｒａｇ＆Ｄｒｏｐ）方式の編集手段を提供する。
【０１０４】
次に、文書生成部３４は、Ｗｅｂレポーティングページの編集結果をＷｅｂレポーティング文書に保存する。
【０１０５】
一実施形態において、Ｗｅｂレポーティング文書は、編集されたＷｅｂレポーティングページの編集内容を保存する。好ましくは、ＸＭＬなどのマークアップ言語で保存する。すなわち、Ｗｅｂレポーティング文書には、Ｗｅｂレポーティングページで定義されたコントロールオブジェクトと、イベント、イベント動作に対する編集情報とをＸＭＬなどの規格化された形で保存する。例えば、コントロールオブジェクトに対する編集情報は、各コントロールオブジェクトの種類、属性、イベント、当該イベント動作情報などで構成される。
【０１０６】
他の実施形態において、Ｗｅｂレポーティング文書は、編集されたＷｅｂレポーティングページの編集内容を反映して、実際Ｗｅｂページを作成して生成することができる。すなわち、Ｗｅｂレポーティングページ内の各コントロールオブジェクトは、Ｗｅｂ標準によるＷｅｂページとして生成され、各コントロールオブジェクトのイベント及びイベント動作は、Ｗｅｂ標準によるＷｅｂスクリプト言語によって作成される。このとき、作成されたＷｅｂスクリプトもＷｅｂページ内に含まれて生成される。
【０１０７】
すなわち、前述のＷｅｂレポーティングページを編集する構成要素、すなわち、画面編集部３１、データ接続部３２、及び動作設定部３３で設定した編集結果を反映して、Ｗｅｂ標準に基づくＷｅｂページを生成する。
【０１０８】
図１１は、イベントが発生した場合、設定された動作が行われる過程を示す。このような過程に応じて編集結果をＷｅｂ標準に基づくＷｅｂページとして生成する。
【０１０９】
以上、本発明者によって成された発明を、上記実施形態に基づいて詳細に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を外れない範囲で様々に変更可能なのは言うまでもない。
【０１１０】
［この発明をサポートした国家研究開発事業］
［課題固有番号］２０１５−０−００７６５(Ｒ０１１３−１６−０００５)
［部署名］科学技術情報通信部（韓国）
［研究管理専門機関］情報通信技術振興センター（韓国）
［研究事業名］ＳＷコンピューティング産業源泉技術開発事業
［研究課題名］大規模なトランザクション処理とリアルタイム複合分析を統合した一体型データエンジニアリング技術開発
［主管機関］韓国電子通信研究院
［研究期間］２０１５．１０．１．〜２０１９．９．３０．
【符号の説明】
【０１１１】
１０  開発者端末
２０  クライアント
３０  Ｗｅｂデザインサーバ
３１  画面編集部
３２  データ接続部
３３  動作設定部
３４  文書生成部
４０  データベース
５０  ユーザ端末
６０  Ｗｅｂレポーティングサーバ
８０  ネットワーク
【図１】
2020017277.tif 000003
【図２】
2020017277.tif 000004
【図３】
2020017277.tif 000005
【図４】
2020017277.tif 000006
【図５】
2020017277.tif 000007
【図６】
2020017277.tif 000008
【図７】
2020017277.tif 000009
【図８】
2020017277.tif 000010
【図９】
2020017277.tif 000011
【図１０】
2020017277.tif 000012
【図１１】
2020017277.tif 000013