(57)【要約】【課題】アプリケーションを変更することなく、アプリケーション実行画面について、利用者の操作に応じたレイアウトの項目間の連動や複雑なレイアウト定義を可能にする。【解決手段】アプリケーションの実行画面を表示するクライアント端末１００と、アプリケーションの実行画面を構成するためのレイアウト情報及び制御情報を格納したデータベースを有するデータベースサーバ１４０とを備える。クライアント端末１００は、レイアウト関連情報及び制御フロー関連情報を保持し、アプリケーションを実行する際に、保持したレイアウト関連情報に基づいて、データベースより取得したレイアウト情報に修正を施して、実行画面を生成する。さらに、クライアント端末１００は、データベースより取得した制御情報に対して、制御フロー関連情報に基づいて実行画面中の制御フローの条件判断を修正する。【選択図】図１
2017116978.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、アプリケーションプログラムの実行画面を表示するクライアント端末と、前記ネットワークに接続され、前記クライアント端末での前記アプリケーションプログラムの実行に必要な情報を格納したデータベースを有するデータベースサーバとを備えたアプリケーション実行画面生成システムであり、
前記クライアント端末は、
前記アプリケーションプログラムの実行画面の修正を指示するレイアウト関連情報を記憶するレイアウト関連情報記憶部と、
前記アプリケーションプログラムの制御フローの修正を指示する制御フロー関連情報を記憶する制御フロー関連情報記憶部と、
前記レイアウト関連情報記憶部が記憶した前記レイアウト関連情報により修正された前記アプリケーションプログラムにより前記実行画面を生成するレイアウト生成部と、
前記制御フロー関連情報記憶部が記憶した前記制御フロー関連情報により修正された前記アプリケーションプログラムにより前記実行画面に制御フローを配置する制御フロー生成部と、
前記制御フロー生成部により生成された制御フローで示された手順を実行する制御フロー実行部とを備えた
アプリケーション実行画面生成システム。
【請求項２】
前記レイアウト関連情報及び前記制御フロー関連情報は、前記クライアント端末での管理者権限を有する管理者の操作により生成されるようした
請求項１に記載のアプリケーション実行画面生成システム。
【請求項３】
前記データベースサーバは、前記クライアント端末から受信した前記レイアウト関連情報及び前記制御フロー関連情報を記憶し、
前記データベースサーバが記憶した前記レイアウト関連情報及び前記制御フロー関連情報を前記クライアント端末に送るようにした
請求項２に記載のアプリケーション実行画面生成システム。
【請求項４】
ネットワークに接続され、アプリケーションプログラムの実行画面を表示するクライアント端末と、前記ネットワークに接続され、前記クライアント端末での前記アプリケーションプログラムの実行に必要な情報を格納したデータベースを有するデータベースサーバとを含むシステムに適用されるアプリケーション実行画面生成方法であり、
前記アプリケーションプログラムの実行画面の修正を指示するレイアウト関連情報を記憶するレイアウト関連情報記憶工程と、
前記アプリケーションプログラムの制御フローの修正を指示する制御フロー関連情報を記憶する制御フロー関連情報記憶工程と、
前記レイアウト関連情報記憶工程により記憶した前記レイアウト関連情報により修正された前記アプリケーションプログラムにより前記実行画面を生成するレイアウト生成工程と、
前記制御フロー関連情報記憶工程により記憶した前記制御フロー関連情報により修正された前記アプリケーションプログラムにより前記実行画面に制御フローを配置する制御フロー生成工程と、
前記制御フロー生成工程により生成された制御フローで示された手順を実行する制御フロー実行工程とを含む
アプリケーション実行画面生成方法。
【請求項５】
前記レイアウト関連情報及び前記制御フロー関連情報は、前記クライアント端末での管理者権限を有する管理者の操作により生成されるようした
請求項４に記載のアプリケーション実行画面生成方法。
【請求項６】
前記データベースサーバは、前記クライアント端末から受信した前記レイアウト関連情報及び前記制御フロー関連情報を記憶し、
前記データベースサーバが記憶した前記レイアウト関連情報及び前記制御フロー関連情報を前記クライアント端末に送るようにした
請求項５に記載のアプリケーション実行画面生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行画面生成システム及びアプリケーション実行画面生成方法に関する。
【背景技術】
【０００２】
産業用として製造管理などに使用されるアプリケーションプログラムの実行画面は、通常、アプリケーションプログラムで規定された内容の画面であり、利用者は画面の表示内容を簡単に変更することができない。
【０００３】
これに対して、例えば特許文献１に記載されるように、システム構成を変更することなく検索項目などを変更可能にするために、画面の表示項目を定義する機能を持たせることが知られている。特許文献１に記載の技術では、実行画面のレイアウトを変更する場合には、画面の表示項目を設定するための情報をデータベースに登録する。そして、アプリケーションプログラムの実行画面表示時に、端末がデータベースの設定内容を読み込み、設定内容に基づいてレイアウトを自動生成する。この特許文献１に記載の技術を用いることにより、レイアウトを自由に変更することが可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１９５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載される方法で、実行画面のレイアウトを生成するだけでは、例えば単票形式における表示項目間のレイアウトの連動や、帳票形式における各項目の表示レイアウトを定義するなどの複雑な処理ができないという問題がある。
また、従来の実行画面のレイアウト変更処理では、予め決められた運用パターンに対してパラメータを設定して制御するため、複雑な条件判定式を新たに構築することが困難であり、複雑な画面変更はプログラムの修正が必要になるという問題があった。
【０００６】
本発明はこれらの点に鑑みてなされたものであり、アプリケーションプログラムを変更することなく、アプリケーション実行画面について、利用者の操作に応じたレイアウトの項目間の連動や複雑なレイアウト定義を可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならは、ネットワークに接続され、アプリケーションプログラムの実行画面を表示するクライアント端末と、ネットワークに接続され、クライアント端末でのアプリケーションプログラムの実行に必要な情報を格納したデータベースを有するデータベースサーバとを備えたアプリケーション実行画面生成システムに適用される。
クライアント端末は、アプリケーションプログラムの実行画面の修正を指示するレイアウト関連情報を記憶するレイアウト関連情報記憶部と、アプリケーションプログラムの制御フローの修正を指示する制御フロー関連情報を記憶する制御フロー関連情報記憶部と、レイアウト関連情報記憶部が記憶したレイアウト関連情報により修正されたアプリケーションプログラムにより実行画面を生成するレイアウト生成部と、制御フロー関連情報保持部が記憶した制御フロー関連情報により修正されたアプリケーションプログラムにより実行画面に制御フローを配置する制御フロー生成部と、制御フロー生成部により生成された制御フローで示された手順を実行する制御フロー実行部とを備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データベースが保持したアプリケーションプログラムのシステム構成及び運用パターンを変更することなく、クライアント端末での変更操作のみで、アプリケーションプログラムを適切に修正できるようになる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態例によるシステム全体を示す構成図である。
【図２】本発明の一実施の形態例による画面のレイアウト構成の概念図である。
【図３】本発明の一実施の形態例によるプログラム構造のデータベースへの登録例を示す構造図である。
【図４】本発明の一実施の形態例によるレイアウトを自動生成する制御フローの例を示すフローチャートである。
【図５】本発明の一実施の形態例による制御フロー関連情報を示す構成図である。
【図６】本発明の一実施の形態例による制御フロー関連情報定義におけるテーブル関連の構成図である。
【図７】本発明の一実施の形態例による制御コンポーネントの定義例を示す構成図である。
【図８】本発明の一実施の形態例によるデータ変換における型変換一覧及びデータ変換における引数の一覧の例を示す構成図である。
【図９】本発明の一実施の形態例による制御コンポーネントのうちの条件分岐に関するコンポーネントの定義内容と定義例を示す構成図である。
【図１０】本発明の一実施の形態例による制御コンポーネントのうちのプロンプトに関する定義内容と定義例を示す構成図である。
【図１１】本発明の一実施の形態例による制御コンポーネントのうちのデータベース操作コンポーネントの定義内容を示す構成図である。
【図１２】本発明の一実施の形態例によるデータベース操作コンポーネントに関する実装例を示す構成図である。
【図１３】本発明の一実施の形態例による制御コンポーネントのうちの繰り返しコンポーネントの定義内容の例を示す構成図である。
【図１４】本発明の一実施の形態例による制御コンポーネントのうちの繰り返しコンポーネントの定義状態の例を示す構成図である。
【図１５】本発明の一実施の形態例による制御コンポーネントのうち、画面遷移コンポーネントの定義内容の例を示す構成図である。
【図１６】本発明の一実施の形態例によるレイアウト情報の編集時の画面の例を示す説明図である。
【図１７】本発明の一実施の形態例によるエリア分割定義情報の選択画面の例を示す説明図である。
【図１８】本発明の一実施の形態例によるレイアウトコンポーネント定義情報の選択画面の例を示す説明図である。
【図１９】本発明の一実施の形態例によるレイアウトコンポーネント属性の選択画面の例を示す説明図である。
【図２０】本発明の一実施の形態例による属性定義情報の例を示す説明図である。
【図２１】本発明の一実施の形態例による定義画面の遷移手順の例を示すフローチャートである。
【図２２】本発明の一実施の形態例による処理手順情報の表示例を示す説明図である。
【図２３】本発明の一実施の形態例による分岐条件設定画面の例を示す説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態の例（以下、「本例」と称する。）を、図１〜図２３を参照して説明する。
［１．システム構成］
図１は、本例のシステム構成の全体を示す構成図である。
本例のシステムは、産業用として製造管理などに使用されるデータベースアプリケーションシステムであり、アプリケーションプログラムを実行するクライアント端末１００と、そのクライアント端末１００がアクセス可能なデータベースサーバ１４０とを備える。クライアント端末１００とデータベースサーバ１４０とは、所定のネットワークを介して接続され、相互にデータ転送が可能である。
【００１１】
クライアント端末１００とデータベースサーバ１４０は、それぞれコンピュータ装置として構成され、クライアント端末１００又はデータベースサーバ１４０として作動させるためのプログラムとそのプログラムを実行する処理部がそれぞれの機器に実装されている。
【００１２】
クライアント端末１００は、ＣＰＵ（Central Processing Unit）１１０、メモリ１３０、及び入出力インターフェース１２０を備える。メモリ１３０としては、半導体素子で構成されたメモリの他、ハードディスクドライブなどの各種記憶部が適用可能である。
メモリ１３０は、アプリケーションプログラムに関連した情報が記憶される記憶部１３１〜１３３（詳細は後述する）を備えると共に、このクライアント端末１００が実行するアプリケーションプログラムであるシステムプログラムが記憶されるシステムプログラム記憶部１３４を備える。
ＣＰＵ１１０は、メモリ１３０に記憶された各情報を読み出して、制御処理やアプリケーションの実行画面の生成処理を行うための処理部（制御部，生成部，実行部）１１１〜１１５を備える。
【００１３】
入出力インターフェース１２０には、管理者操作部１８０と作業者操作部１９０とが接続されている。管理者操作部１８０と作業者操作部１９０は、キーボードなどの入力装置と表示装置（いずれも不図示）で構成され、それぞれ表示を確認しながら管理者又は作業者が操作を行う。
管理者操作部１８０は管理者権限を有する者が操作する操作部であり、レイアウト情報編集部１８１と制御情報編集部１８２とを備える。
作業者操作部１９０は作業者権限を有する者が操作する操作部であり、画面表示部１９１と処理実行部１９２とを備える。
なお、図１では管理者操作部１８０と作業者操作部１９０は個別の操作部として示すが、共通の操作部であってもよい。また、管理者操作部１８０及び作業者操作部１９０は、図１ではクライアント端末１００に接続した構成としたが、クライアント端末１００そのものが管理者操作部１８０や作業者操作部１９０を内蔵してもよい。
【００１４】
クライアント端末１００のＣＰＵ１１０は、メモリ１３０に格納された定義情報に従って処理を実行し、例えば、処理要求を生成し、その処理要求をデータベースサーバ１４０に送る。処理要求を受信したデータベースサーバ１４０は、格納されたデータベースの情報をクライアント端末１００に送る。
【００１５】
データベースサーバ１４０は、このデータベースアプリケーションシステムを構成するための情報を格納する記憶装置として構成され、データベース入出力エンジン１４１とデータベース１４２とを備える。データベース入出力エンジン１４１は、クライアント端末１００からの指示で、データベース１４２が格納した情報を読み出してクライアント端末１００に送る処理を行う。
データベース１４２には、クライアント端末１００が実行するアプリケーションに関連する情報がアプリケーション情報記憶部１４２ｃに格納される。アプリケーション情報記憶部１４２ｃには、例えば顧客情報などのアプリケーションの実行時に必要な顧客情報などの業務情報が格納される。
また、データベース１４２には、そのアプリケーションプログラムを実行する際のレイアウト関連情報がレイアウト関連情報記憶部１４２ａに記憶される。さらに、アプリケーションプログラムを実行する際の制御フローに関連した情報が、制御フロー関連情報記憶部１４２ｂに記憶される。これらのレイアウト関連情報や制御フロー関連情報は、クライアント端末１００から送られる情報である。
【００１６】
次に、図１のシステム構成にて、管理者及び作業者がクライアント端末１００の管理者操作部１８０又は作業者操作部１９０を使用して行う、アプリケーションプログラムについての操作について説明する。
レイアウト情報編集部１８１での管理者によるレイアウト情報の編集操作があると、ＣＰＵ１１０のレイアウト関連情報制御部１１１は、データベース１４２内のレイアウト関連情報記憶部１４２ａに記憶された情報を編集し、データベース１４２に反映する。
また、制御情報編集部１８２での管理者による制御情報の編集操作があると、ＣＰＵ１１０の制御フロー関連情報制御部１１２は、データベース１４２内の制御フロー関連情報記憶部１４２ｂに記憶された情報を編集し、データベース１４２に反映する。
【００１７】
これらのデータベースサーバ１４０のデータベース１４２に記憶された情報は、クライアント端末１００がアプリケーションプログラムを実行する際（又はアプリケーションプログラムを実装する際）に、メモリ１３０に読み出される。すなわち、データベース１４２から読み出したレイアウト関連情報が、メモリ１３０のレイアウト関連情報記憶部１３１に記憶され、データベース１４２から読み出した制御フロー関連情報が、制御フロー関連情報記憶部１３２に記憶される。また、メモリ１３０のアプリケーション情報記憶部１３３には、データベース１４２から読み出したアプリケーション関連情報が記憶される。
【００１８】
そして、レイアウト生成部１１３が、レイアウト関連情報記憶部１３１に記憶された情報を参照して修正又は更新しながら、システムプログラム情報記憶部１３４に記憶されたアプリケーションプログラムを使って、実行画面のレイアウトを自動生成する。このようにして生成された実行画面が、作業者操作部１９０の画面表示部１９１に表示される。
【００１９】
また、クライアント端末１００が実行画面を自動生成する際には、ＣＰＵ１１０の制御フロー生成部１１４が、メモリ１３０の制御フロー関連情報記憶部１３２に記憶される制御フロー関連情報を使って、制御フローを修正又は更新する。そして、制御フロー生成部１１４は、修正又は更新された制御フローを、制御フロー実行部１１５に実行させる。
【００２０】
［２．レイアウト情報の構成例］
次に、クライアント端末１００に接続されている管理者操作部１８０からの指示に基づいて、アプリケーションプログラムの実行画面を修正する処理について説明する。
図２は、アプリケーションの実行画面のレイアウト構成の概念を示す。
図２に示すように、表示される実行画面のレイアウト２０１は、垂直方向と水平方向に分割されている。図２では、水平方向の分割範囲２０２ａ，２０２ｂ，２０２ｃと、水平方向の分割範囲２０３ａ，２０３ｂ，２０３ｃを示す。
【００２１】
これらの水平の分割範囲２０２ａ〜２０２ｃ及び垂直の分割範囲２０３ａ〜２０３ｃで区切られる各エリア（以下、「セル」と称する。）２０４は、さらに分割することができる。例えば、図２に示すように、セル（エリア）２０４を、複数のセルに分割することができる。
また、セルの中に表示項目のコンポーネント、例えばボタン２０５などが配置される。このようなセルを配置する構造は、一般的にスライス構造と呼ばれ、スライス構造を多重に定義することで複雑なレイアウトの構築が可能になる。
【００２２】
本例のアプリケーションプログラムは、セル構造化されたレイアウト情報を、表形式でデータベースに登録する。以下の説明では、データベースに登録された表形式をテーブルと称する。
図３は、レイアウト情報をデータベースに登録するためのテーブルの構成を示す。
図３に示す各テーブルの項目（以下、「フィールド」と称する）のうち、［ｋ］を付与したフィールドはキーフィールドであり、１つのテーブルに複数のキーフィールドが有る場合は、全てのキーフィールドで一意となる。
【００２３】
レイアウト情報テーブル３１１には、実行画面のサイズや初期化処理の紐付けなどの情報が格納される。画面表示時の読込処理は、初期化処理ＩＤ３１１ａを定義して実行する。エリア分割情報テーブル３１３には、レイアウトの分割方法に関する情報が格納され、エリア情報テーブル３１２には、分割したセルに対するエリアの定義情報が格納される。また、レイアウトコンポーネント情報テーブル３１４には、表示項目のコンポーネントの情報が格納される。
【００２４】
ここでは、エリア情報テーブル３１２は、定義対象のエリアＮｏ．３１２ａに対する親エリアＮｏ．３１２ｂを持つことで、多重スライス構造を表現することができる。エリア分割情報テーブル３１３の分割方法３１３ａについては、分割した幅もしくは高さを固定とするか、又は可変とするかの分割方法の定義の情報を持つ。この場合、分割方法を可変とする場合は、さらに分割方法の定義として、内部に保有するエリアもしくはコンポーネントのサイズに依存させるか、又は他分割領域との比率を維持するかの定義の情報を持つ。
【００２５】
さらに、エリア情報テーブル３１２は、分割したセルに対するエリアもしくはコンポーネントの配置位置とセルの結合サイズを、エリア情報テーブル３１２の配置セル位置３１２ｃとセル結合サイズ３１２ｄを持つことで、細かいレイアウト定義が可能となる。同様に、レイアウトコンポーネント情報テーブル３１４についても、配置セル位置３１４ａとセル結合サイズ３１４ｂを持つことで、細かいレイアウト定義が可能となる。各コンポーネントの属性情報は、レイアウトコンポーネント属性情報テーブル３１５に格納される。コンポーネントの特定の属性、例えばボタン押下を判定する属性などに関しては、操作に対応する処理を処理ＩＤ３１５ａとして定義する。
【００２６】
図４は、クライアント端末１００の制御フロー生成部１１４が、レイアウト情報テーブル３１１を使って、アプリケーションの実行画面のレイアウトを自動生成する処理を示すフローチャートである。
【００２７】
制御フロー生成部１１４は、各画面で一意のレイアウトＩＤを基に、レイアウト情報テーブル３１１、エリア情報テーブル３１２、エリア分割情報テーブル３１３、及びレイアウトコンポーネント情報テーブル３１４からデータを取得する。そして、制御フロー生成部１１４は、取得したデータ（レイアウト情報）から、サイズ関連情報を設定する（ステップＳ１１）。このときには、制御フロー生成部１１４は、画面全体を初期エリア（エリアＮｏ．＝０）として（ステップＳ１２）、以下の処理を実行する。
【００２８】
まず、制御フロー生成部１１４は、エリア分割情報から現エリアの分割方法を設定する（ステップＳ１３）。ここで、現エリアに対して、コンポーネント情報が定義されている場合、制御フロー生成部１１４は、コンポーネントを追加して（ステップＳ１４）、その追加されたコンポーネントに対してさらに現エリアの分割方法を設定する処理を実行する（ステップＲ１１）。
そして、現エリアに対して、更にエリアが定義してある場合（例えばエリア情報テーブル３１２の親エリアＮｏ．が現エリアのエリアＮｏ．のデータがある場合）、制御フロー生成部１１４は、更にエリアを追加する（ステップＳ１５）。エリアを追加したとき、制御フロー生成部１１４は、その追加したエリアに対して、ステップＳ１３からの処理を繰り返す。ステップＳ１５でのエリアの追加処理は、エリア数だけ繰り返し実行される（ステップＲ１２）。
【００２９】
［３．制御フロー情報の構成例］
図５は、制御フロー生成部１１４が制御フローを生成する際に使用する、制御フロー関連情報の全体構成を示す。
図５に示すように、特定の処理５０１は、少なくとも１つ以上の手順（ここでは手順５０２ａ，５０２ｂ）を保持し、各手順５０２ａ，５０２ｂは制御コンポーネント５０４の内の１つに属する。制御コンポーネント５０４は、データの定義、変換等を管理するコンポーネント５０４ａ、条件の判定や手順の分岐を管理するコンポーネント５０４ｂ、メッセージの表示や、問合せメッセージによる分岐を管理するコンポーネント５０４ｃを備える。また、制御コンポーネント５０４は、データベースとの情報の授受を管理するコンポーネント５０４ｄ、特定の条件の繰り返し処理を管理するコンポーネント５０４ｅ、他画面への遷移を管理するコンポーネント５０４ｆを備える。
また、各手順５０２ａ，５０２ｂは、少なくとも１つ以上の内部処理を保持する。例えば、Ｎｏ．１の手順５０２ａは、処理順１の条件５０３ａと、処理順２の条件５０３ｂとを含む。また、Ｎｏ．２の手順５０２ｂは、処理順１の条件５０３ｃと、処理順２の条件５０３ｄとを含む。
【００３０】
図６は、制御関連情報定義をデータベースに登録するためのテーブルの構成を示す。ここで定義される各処理は、制御ユニット情報テーブル６１３により、処理ＩＤをキー情報として管理される。処理ＩＤは、レイアウト情報テーブル６１１の初期化処理ＩＤ６１１ａ及びレイアウトコンポーネント属性情報テーブル６１２の処理ＩＤ６１２ａから呼び出される。初期化処理ＩＤ６１１ａは、画面表示時に初回のみ呼び出され、レイアウトコンポーネント属性に対する処理ＩＤ６１２ａは、対象の属性が処理を呼び出すトリガーの場合、例えばボタンのクリック判定などの場合に呼び出される。
【００３１】
処理手順情報テーブル６１４は、各処理ＩＤに対する処理の手順を管理する。
処理手順情報テーブル６１４内の各手順では、制御コンポーネント６１４ａを定義するか、あるいは呼び出し処理ＩＤ６１４ｂとして、他の処理ＩＤの呼び出しを定義する。処理の各手順の詳細の定義情報は、処理手順定義情報テーブル６１５で管理される。処理手順定義情報テーブル６１５の定義名６１５ａは、制御コンポーネント毎に設定可能また設定必須な定義名が定義されている。
【００３２】
各処理で定義され、一連の処理で保持される一時的なデータは、一連の処理における全てのコンポーネントで参照可能である。但し、内部構成非公開フラグ６１３ａを「非公開」としたコンポーネントでは、外部のデータを直接編集することはできず、また、内部で作成したデータは、外部で参照することもできないように制御される。内部構成が非公開のコンポーネントと呼び出し側コンポーネントの間におけるデータの授受に関する情報は、コンポーネント入出力情報６１６で定義される。内部構成非公開コンポーネントを呼び出す場合は、コンポーネント呼出情報テーブル６１７で授受に関する入出力データが管理される。
【００３３】
次に、各制御コンポーネントの処理手順定義情報について説明する。
図７は、制御コンポーネントのうち、データ定義／変換コンポーネントに関する定義情報とその例を示す。
データ定義／変換コンポーネントでは、データの定義、演算・変換、代入等を実施する。
図７Ａに示すように、格納先データ名７０１ａは、定義値や変換結果を格納する先のデータ名称を表す。この格納する先のデータ名称は、図７Ｂに示す実装例７０２ａ，７０２ｂ，７０２ｃで示す定義式の左辺に相当する。
【００３４】
ソースデータ名７０１ｂは、計算済みのデータを代入する場合に参照するデータ名称を表す。このソースデータ名７０１ｂは、図７Ｂに示す実装例７０２ｅの定義式の右辺に相当する。
定義データ型７０１ｃは、データを新規に定義する際のデータの型を表す。図７Ｂに示す実装例７０２ａは、この定義データ型７０１ｃの定義式の例を示す。
データ値７０１ｄは、文字列や数値等の定数値を表す。参照データ名７０１ｅは、定義済みデータを参照する場合のデータの名称を表す。変換区分７０１ｆは、参照データに対する変換の区分を表す。
これらのデータが、図７Ｃに示すように処理順及び定義順に格納される。変換区分７０３ｂに基づき参照データ名７０３ａを変換する場合、図８Ａに示す型変換一覧８１１が参照される。
【００３５】
図８は、データ変換における型変換一覧（図８Ａ）と、データ変換における引数の一覧（図８Ｂ）を示す。
図７に示す変換区分７０３ｂに基づき参照データ７０３ａを変換する場合、制御フロー生成部１１４は、図８Ａに示す型変換一覧８１１から、変換コード８１１ａ、変換位置８１１ｂ、引数有無８１１ｃ、及び戻り値有無８１１ｄを取得する。そして、制御フロー生成部１１４は、変換コード８１１ａに基づき、変換処理を呼び出す。
変換位置８１１ｂが“前方”の変換は、システムとして予め組み込まれている汎用処理であり、変換位置８１１ｂが“後方”の変換は、型に応じて動的に処理を呼び出すため、システム構築後に任意に追加することができる処理である。引数有無８１１ｃが“有”の場合は、図８Ｂに示す引数の一覧８１２のデータ型及び変換コードから、引数の数８１２ａ及び引数の型８１２ｂを取得し、引数の数に応じて、参照する定義順を増加させる。戻り値８１１ｄが“有”の場合は、算出結果を保持し、次の変換に移行する。戻り値８１１ｄが“無”の場合は、処理を実行して、次の処理順へ移行する。
【００３６】
図９は、制御コンポーネントの内で、条件分岐に関するコンポーネントの定義内容（図９Ａ）、実装例（図９Ｂ）、及び定義例（図９Ｃ）を示す。条件分岐コンポーネントでは、条件判定を実施し、指定した手順への分岐を実行する。
図９Ａに示すように、条件判定した結果分岐する先の手順名を分岐先手順名９０１として定義する。また、条件評価式で判定するデータの名称を示す被判定データ名９０２と判定基準値を、判定値９０３もしくは他データ参照を行う判定データ名９０４として定義する。さらに、判定における値比較方法９０５と評価値の演算方法を定義する。演算方法は、二値の評価値（真／偽）によるブール演算を前提とすると、全ての評価式は、図９Ｂに示すように、積和形式もしくは和積形式の評価式９１０で表現することができる。積和形式及び和積形式を表現するために、評価式９１０の演算方法は、前方積和区分又は後方積和区分として定義する。
これらのデータが、図９Ｃに示すように処理順及び定義順に格納される。
【００３７】
図１０は、制御コンポーネントの内で、プロンプトに関する定義内容（図１０Ａ）と定義例（図１０Ｂ）を示す。プロンプロコンポーネントでは、メッセージ／エラーメッセージの表示及びユーザへ分岐の選択を要求する。プロンプトで表示するメッセージ内容１００１、メッセージのモード１００２（警告、問合せ等）、及び問合せ時の操作ボタンのモード１００３（ＯＫボタン、はい／いいえボタン等）を定義する。さらに、操作ボタンによる分岐先を、肯定分岐先手順名１００４、否定分岐先手順名１００５、取消分岐先手順名１００６として定義する。
図１０Ｂは、定義例を示す。図１０Ａに示す各定義内容１００１，１００２，・・・，１００６が、処理順及び定義順に格納される。
【００３８】
図１１は、制御コンポーネントのうちのデータベース操作コンポーネントの定義内容である。
データベース操作コンポーネントでは、データベース１０５からデータを取得し、また取得し編集したデータのデータベース１０５への反映を管理する。
図１１Ａに示すように、データベース１０５から取得したデータを表形式で保存する格納先のデータ名称１１０１、もしくはデータベース１０５に反映するための表形式のデータを保持した更新元データ名称１１０２を定義する。また、データを取得する際は、取得するための問い合わせデータ（ＳＱＬ：Structured Query Language）を定義したＳＱＬＩＤ１１０３を指定する。ＳＱＬを定義してデータを取得する際は、必要なパラメータの名称１１０４、設定データ名称１１０５、及び設定値１１０６を定義する。
【００３９】
ＳＱＬの定義は、基本情報１１１０（図１１Ｂ）、選択項目１１２０（図１１Ｃ）、結合項目１１３０（図１１Ｄ）、条件項目１１４０（図１１Ｅ）で構成される。
基本情報１１１０（図１１Ｂ）では、情報を取得するテーブルの名称１１１１及びグルーピングの有無１１１２が設定される。
選択項目１１２０（図１１Ｃ）では、選択するフィールドのテーブル名称１１２１とフィールド名称１１２２をキー情報として、必要に応じて、最大値や最小値等の演算区分１１２３及びエイリアス１１２４が設定される。
結合項目１１３０（図１１Ｄ）では、複数テーブルの結合における結合元と結合先のフィールド情報１１３１〜１１３４及び内部結合／外部結合等の結合方法１１３５が定義される。
【００４０】
条件項目１１４０（図１１Ｅ）では、条件を設定する対象のフィールドのテーブル名称１１４１及びフィールド名称１１４２が定義され、評価するための値をパラメータとする場合はパラメータ名称１１４３を設定し、固定値とする場合は条件値１１４４を設定する。また、条件の判定における値の比較方法１１４５を設定し、複数の条件を設定する際は、前方積和区分１１４６及び後方積和区分１１４７を設定する。前方積和区分１１４６及び後方積和区分１１４７は、条件分岐コンポーネントの定義と同様の概念に基づく。
ソート情報１１５０（図１１Ｆ）では、ソートするフィールド名称１１５１及び昇順／降順のソート方法１１５２が定義される。
【００４１】
図１２は、データベース操作コンポーネントに関する実装例である。制御ロジック１２１１（図１２Ａ）に対しては、手順定義１２２１（図１２Ｂ）とＳＱＬ定義１２３１（図１２Ｃ）に関する定義、具体的には図１２Ｄ、図１２Ｅ、図１２Ｆ、及び図１２Ｇに示す定義１２４１、１２５１、１２６１、１２７１を設定する。
【００４２】
図１３及び図１４は、それぞれ制御コンポーネントのうちの繰り返しコンポーネントの定義内容と定義例である。
繰り返しコンポーネントの定義内容としては、図１３に示すように、ループ条件を構成するカウンタデータ名１３０１、ループ初期値１３０２、カウンタのステップ数１３０３、及びカウンタの継続判定の基準値のデータ名称１３０４を定義する。さらに、繰り返しコンポーネントの定義内容として、継続判定方法１３０５、継続判定基準値１３０６、継続判定基準データ名１３０７、継続判定タイミング１３０８、及び実行する処理の処理ＩＤ１３０９を定義する。
【００４３】
図１４Ａ，図１４Ｂ，図１４Ｃに示す実装例１（１４０１〜１４０３）の場合、ループ条件を構成するカウンタデータ名１３０１、ループ初期値１３０２、カウンタのステップ数１３０３、及びカウンタの継続判定の基準値のデータ名称１３０７を定義し、実行する処理の処理ＩＤ１３０９を定義する。
図１４Ｄ，図１４Ｅ，図１４Ｆに示す実装例２（１４０４〜１４０６）の場合、ループ条件を構成する継続判定のデータ名称１３０４、継続判定基準値（固定値）１３０６もしくは継続判定基準データ名１３０７、不等号などの継続判定方法１３０５を定義し、実行する処理の処理ＩＤ１３０９を定義する。さらに、継続可否を判定するタイミング１３０８（実行前／実行後）を定義する。
【００４４】
図１５は、制御コンポーネントのうち、画面遷移コンポーネントの定義内容である。画面遷移コンポーネントでは、遷移先画面のレイアウトＩＤ１５０１、遷移先画面の初期化処理で必要な引数データ名１５０２、及び引数に設定する参照データ１５０３が定義される。レイアウト情報からレイアウトＩＤ１５０１を基に初期化処理ＩＤ６１１ａ（図６）を取得して、コンポーネント入出力情報６１６（図６）から設定が必要なデータ名を取得する。
【００４５】
［４．実行画面のレイアウト，制御フローの変更例］
次に、図１６〜図２３を参照して、アプリケーションプログラムの実行画面のレイアウトの変更、及び制御フローの変更を行う際における、具体的な操作画面例について説明する。この操作画面は、例えば図１に示す管理者操作部１８０のレイアウト情報編集部１８１又は制御情報編集部１８２で管理者が編集を行う際に、管理者操作部１８０が備える表示部（不図示）に表示される。
【００４６】
図１６〜図２０は、管理者操作部１８０のレイアウト情報編集部１８１を使用して実行画面のレイアウト編集を行う際の管理画面の例である。
表示エリアの設定を行う際には、図１６に示すように、設定されるエリアに対応した枠状のエリアを画面中に表示し、管理者による画面上でのユーザインターフェース操作（ＵＩ操作）によって、そのエリアの追加、削除、定義などの編集作業が行われる。
【００４７】
例えば、画面上の垂直方向に配置したボタン１６０１ａ〜１６０１ｃの押下で指定箇所に行情報が追加され、画面上の水平方向に配置したボタン１６０２ａ〜１６０２ｃの押下で指定箇所に列情報が追加される。
また、ボタン１６０３ａ〜１６０３ｂの押下で指定の行情報が削除され、ボタン１６０４ａ〜１６０４ｂの押下で指定の列情報が削除される。
また、ボタン１６０５ａ〜１６０５ｂの押下で指定の行情報が編集され、ボタン１６０６ａ〜１６０６ｂの押下で指定の列情報が編集される。
【００４８】
行及び列の追加／編集が指示された際には、図１７に示すエリア分割定義画面が作業画面に表示される。この図１７に示すエリア分割定義画面では、編集行／列によるエリアの分割モードが固定値モード１７０１ａ、比率設定モード１７０１ｂ、コンテンツに合わせたモード１７０１ｃのいずれかが選択される。このとき、分割値の限界値１７０２ａ〜１７０２ｂを必要に応じて設定する。
【００４９】
また、図１６に示す編集画面で、各エリアを指示するボタン１６０７ａ〜１６０７ｄの押下で、それぞれのエリアに対してレイアウトコンポーネントが追加される。レイアウトコンポーネントは、図１６に示すように、一覧１６０８ａとして編集画面に表示され、各コンポーネントを編集する場合は、管理者が一覧１６０８ａ内のボタン１６０８ｂ〜１６０８ｄを押下する。ボタン１６０７ａ〜１６０７ｄの押下によりコンポーネントを追加する場合、及びボタン１６０８ｂの押下によりコンポーネントを編集する場合は、レイアウトコンポーネント定義画面（図１８）が編集画面に表示される。
【００５０】
図１８に示すレイアウトコンポーネント定義画面では、レイアウトコンポーネントの配置情報（行及び列の位置１８０１ａ〜１８０１ｂ、行及び列の結合数１８０２ａ〜１８０２ｂ）、コンポーネントの種別１８０３ａと名称１８０３ｂが設定される。こられのレイアウトコンポーネント定義画面により、レイアウトコンポーネント情報テーブル３１４（図３）が管理される。なお、図１６のコンポーネント一覧中のボタン１６０８ｃは、コンポーネントの削除を指示するボタンである。また、コンポーネントの種別が“エリア”の場合には、コンポーネント一覧中のボタン１６０８ｄの押下で、新しいレイアウト定義画面（図１７）においてエリア分割が定義される。コンポーネントの種別が“エリア”でない場合には、ボタン１６０８ｄの押下で、レイアウトコンポーネント属性選択画面（図１９）が編集画面に表示され、コンポーネントごとに定義する属性を選択する操作に移る。
【００５１】
図１９に示すレイアウトコンポーネント属性選択画面では、予めシステムに登録されたコンポーネント属性一覧テーブルを基に、非選択属性一覧１９０１及び選択属性一覧１９０３を表示する。この非選択属性一覧１９０１及び選択属性一覧１９０３で示される選択可能な属性は、コンポーネントの種別１８０３ａ（図１８）で定義可能な属性である。
そして、レイアウトコンポーネント属性選択画面により属性を選択した状態でボタン１９０２が押下されることで、編集画面は、属性情報を定義するレイアウトコンポーネント属性定義画面（図２０）の表示に遷移する。
【００５２】
図２０に示すレイアウトコンポーネント属性定義画面では、属性の定義方法の種別２００１ａ〜２００１ｄが表示される。すなわち、定義値として固定値２００１ａ、他コンポーネントの属性にリンク２００１ｂ、画面制御属性にリンク２００１ｃ、及び親コンポーネントにリンク２００１ｄの４つの種別が表示され、いずれかの定義方法が選択される。
この定義方法の選択時には、各定義方法に応じて、必要な定義を行うボタン２００２ａ又は一覧表示２００２ｂ〜２００２ｆを使った詳細定義の設定が行われる。属性の型情報は予めシステムに登録されている。
他コンポーネントの属性にリンク２００１ｂ、画面制御属性にリンク２００１ｃ、及び親コンポーネントにリンク２００１ｄの３つが選ぶ場合には、リンク値変換器の一覧表示２００３を使って、リンク先属性からリンク元属性への型変換を行うことが可能である。
【００５３】
図２１は、ここまで説明したレイアウト定義画面の遷移例を示すフローチャートである。
レイアウト情報編集部１８１を使用して実行画面のレイアウト編集を行う際には、最初にレイアウト定義画面（図１６）が表示される（ステップＳ２１）。そして、これらのレイアウト定義画面での管理者操作部１８０での操作に基づいて、図１７、図１８、図１９に示す各定義画面表示に移る。すなわち、管理者操作部１８０での操作に基づいて、エリア分割定義画面（図１７）の表示（ステップＳ２２）、レイアウトコンポーネント定義画面（図１８）の表示（ステップＳ２３）、レイアウト属性選択画面（図１９）の表示（ステップＳ２４）のいずれかに遷移する。
また、レイアウト属性選択画面を表示した状態では、さらにレイアウトコンポーネント属性定義画面（図２０）の表示（ステップＳ２５）に遷移する。なお、図１７〜図２０の各定義画面での選択が終了すると、図１６のレイアウト定義画面の表示に戻る。
【００５４】
このようにして、アプリケーションプログラムの実行画面のレイアウトの編集作業を行うことができる。すなわち、レイアウト関連情報を生成させて、そのレイアウト関連情報をデータベースに記憶させるレイアウト関連情報記憶工程が行われ、記憶されたレイアウト関連情報に基づいてレイアウト生成工程が行われ、実行画面のレイアウトを適切に修正できるようになる。
【００５５】
図１６〜図２０は、管理者操作部１８０の制御情報編集部１８２を使用して実行画面の制御フロー編集を行う際の画面の例である。このときには、画面上での制御フローの編集に連動して、アプリケーションプログラムが実行する制御手順の定義についても対応して変化する。
図２２は、制御フローの制御手順を定義する画面の例であり、図２３は、処理手順の分岐条件を設定する画面の例である。制御フローの各処理の手順は、図２２の処理手順情報の画面で、図形化されたフローチャート２２０１として表示し、制御コンポーネントの追加ボタン２２０２及びグループ化した処理の追加ボタン２２０３を設ける。
これらの追加ボタン２２０２又は２２０３の押下により追加が指示されたとき、制御コンポーネントの追加の処理が行われる。ここで追加される制御コンポーネントは、図５などで既に説明した制御コンポーネントである。
【００５６】
表示されたフローチャート２２０１内の修正箇所に表示されたボタン２２０４の押下により、各手順のコンポーネントの詳細を定義する画面に遷移する。
図２３は、条件分岐コンポーネントの定義画面例である。分岐条件設定画面では、条件一覧２３０１とその詳細条件２３０４、各詳細条件の評価式２３０５ａ〜２３０５ｄ等を表示する。条件一覧２３０１としては、処理順ごとの条件と分岐先を表示し、選択した条件の詳細情報２３０４と分岐先の手順２３０２を表示する。分岐先手順２３０２は、現在定義中の手順と同じ深さ、もしくはそれより浅い手順を選択することができる。手順の深さは、別の処理ＩＤを呼び出すごとに深くなる。
【００５７】
条件の詳細設定では、条件の表現形式２３０３を積和形式／和積形式から選択する。積和形式を選択した場合、条件詳細２３０４の評価／項を基に評価式は、｛（項１の評価１）且つ（項１の評価２）且つ・・・｝もしくは｛（項２の評価１）且つ（項２の評価２）且つ・・・｝もしくは・・・となる。和積形式を選択した場合、評価式は、｛（項１の評価１）もしくは（項１の評価２）もしくは・・・｝且つ｛（項２の評価１）もしくは（項２の評価２）もしくは・・・｝且つ・・・となる。
各項各評価の定義では、被判定データ名９０２（図９）をリスト２３０５ａから選択し、値比較方法９０５（図９）をリスト２３０５ｂから選択する。値判定方法のリスト２３０５ｂは、予めシステムに登録しておく。判定値９０３を定義する場合は、定数値２３０５ｄを設定し、判定データ名を定義する場合はリスト２３０５ｃから選択する。被判定データ名のリスト２３０５ａ及び判定データ名のリスト２３０５ｃは、現在定義中の手順と同じ深さもしくはそれより浅い処理のうち、先に処理される手順で定義されたデータを抽出したものである。
【００５８】
このようにして、アプリケーションプログラムの実行画面に表示される制御フローの編集作業を行うことができる。すなわち、制御フロー関連情報を生成させて、その制御フロー関連情報をデータベースに記憶させる制御フロー関連情報記憶工程が行われ、記憶された制御フロー関連情報に基づいて制御フロー生成工程が行われ、制御フローを適切に修正できるようになる。このように実行画面に表示される制御フローの編集が行われることで、実際にアプリケーションプログラムが実行される際の処理手順についても、対応した手順に変更される。
【００５９】
以上説明したように、本例のシステムでは、クライアント端末１００に接続された管理者操作部１８０を使って、アプリケーションプログラムの実行画面の編集操作を行うことが可能になる。編集した情報は、データベース１４２にレイアウト関連情報記憶１４２ａとして記憶され、アプリケーションプログラムの実行時には、クライアント端末１００のメモリ１３０のレイアウト関連情報記憶部１３１に読み出され、反映した実行画面が生成される。したがって、アプリケーションプログラムを全く修正することなく、個々の利用者の利用形態に合わせた実行画面とすることができるようになる。
【００６０】
また、クライアント端末１００に接続された管理者操作部１８０を使って、アプリケーションプログラムの処理手順を示す制御フローについても編集操作を行うことが可能になる。編集した情報は、データベース１４２に制御フロー情報記憶１４２ｂとして記憶され、アプリケーションプログラムの実行時には、クライアント端末１００のメモリ１３０の制御フロー関連情報記憶部１３２に読み出され、反映した制御フローが生成される。したがって、制御フローについても、アプリケーションプログラムを全く修正することなく、個々の利用者の利用形態に合わせた手順とすることができるようになる。
【００６１】
また、本例のシステムの場合には、データベースサーバ１４０が持つデータベース１４２が、レイアウト関連情報や制御フロー関連情報を記憶するようにしたため、同じアプリケーションプログラムを他のクライアント端末１００に適用することも可能になる。例えば、同じ製造ラインを管理するクライアント端末１００が多数存在する場合に、１台のクライアント端末１００でレイアウトや制御フローなどの修正を行えば、他のクライアント端末１００に対して同じ修正を施すことが容易にできるようになる。
【００６２】
［変形例］
なお、上述した実施の形態例では、クライアント端末１００の管理者操作部１８０を使用して、実行画面や制御フローを修正して、そのクライアント端末１００が使用する利用者の利用形態に合わせたものとするようにした。これに対して、クライアント端末１００でアプリケーションプログラムを実行させる運用を開始した後に、利用者などからの要望で、管理者操作部１８０を使用して、実行画面や制御フローの更新を、同様の処理で行うようにしてもよい。
【００６３】
また、図１に示す構成では、データベースサーバ１４０がレイアウト関連情報や制御フロー関連情報を記憶するようにしたが、クライアント端末１００だけがレイアウト関連情報や制御フロー関連情報を記憶するようにしてもよい。
【００６４】
また、本発明は上記した実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００６５】
１００…クライアント端末、１１０…ＣＰＵ、１１１…レイアウト関連情報制御部、１１２…制御フロー関連情報制御部、１１３…レイアウト生成部、１１４…制御フロー生成部、１１５…制御フロー実行部、１２０…入出力インターフェース、１３０…メモリ、１３１…レイアウト関連情報記憶部、１３２…制御フロー関連情報記憶部、１３３…アプリケーション情報記憶部、１３４…システムプログラム情報記憶部、１４０…データベースサーバ、１４１…データベース入出力エンジン、１４２…データベース、１４２ａ…レイアウト関連情報、１４２ｂ…制御フロー関連情報、１４２ｃ…アプリケーション情報、１８０…管理者操作部、１８１…レイアウト情報編集部、１８２…制御情報編集部、１９０…作業者操作部、１９１…画面表示部、１９２…処理実行部
【図１】
2017116978.tif 000003
【図２】
2017116978.tif 000004
【図３】
2017116978.tif 000005
【図４】
2017116978.tif 000006
【図５】
2017116978.tif 000007
【図６】
2017116978.tif 000008
【図７】
2017116978.tif 000009
【図８】
2017116978.tif 000010
【図９】
2017116978.tif 000011
【図１０】
2017116978.tif 000012
【図１１】
2017116978.tif 000013
【図１２】
2017116978.tif 000014
【図１３】
2017116978.tif 000015
【図１４】
2017116978.tif 000016
【図１５】
2017116978.tif 000017
【図１６】
2017116978.tif 000018
【図１７】
2017116978.tif 000019
【図１８】
2017116978.tif 000020
【図１９】
2017116978.tif 000021
【図２０】
2017116978.tif 000022
【図２１】
2017116978.tif 000023
【図２２】
2017116978.tif 000024
【図２３】
2017116978.tif 000025