(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】情報処理システム、その制御方法およびプログラム
(51)【国際特許分類】
G06F 8/34 20180101AFI20231220BHJP
【FI】
G06F8/34
(21)【出願番号】P 2021007667
(22)【出願日】2021-01-21
【審査請求日】2022-08-01
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】清野 光広
(72)【発明者】
【氏名】高塚 剛
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2015-210639(JP,A)
【文献】特開2015-075783(JP,A)
【文献】特開2017-220221(JP,A)
【文献】特開2004-355282(JP,A)
【文献】国際公開第2016/113914(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/77
(57)【特許請求の範囲】
【請求項1】
入出力項目に予め値が入力されているデモンストレーション用のアプリケーションのコンテンツ画面である所定の画面において、複数のロールにそれぞれ対応する複数の表示アイテムを表示するように制御する第1の制御と、
前記複数の表示アイテムのうち選択された表示アイテムのロールに応じた画面の表示を行う第2の制御と、
を行うように制御
し、ユーザによって設定された情報である、入力項目定義情報と出力項目定義情報を含む画面定義情報に基づいて前記アプリケーションを生成する生成手段
を有し、
前記画面定義情報に含まれる情報として、前記入力項目定義情報と前記出力項目定義情報の少なくとも一方についてのロール毎の表示の可否情報が定義されており、
前記生成手段はさらに、前記可否情報に基づいて前記アプリケーションを生成することを特徴とする情報処理システム。
【請求項2】
前記アプリケーションはシングルページアプリケーションであり、サーバ装置からクライアント装置にダウンロードされるアプリケーションであることを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記アプリケーションはクライアント装置にダウンロードされ、前記第1及び第2の制御は前記アプリケーションがダウンロードされた前記クライアント装置において行われることを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記アプリケーションは、プロトタイプアプリケーションであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。
【請求項5】
前記第2の制御で表示される画面は、プロダクトアプリケーションで表示される画面を確認するためのプロトタイプアプリケーションの画面であり、前記プロトタイプアプリケーションは、該プロダクトアプリケーションのプロトタイプアプリケーションであることを特徴とする請求項4に記載の情報処理システム。
【請求項6】
前記画面定義情報と、データベースを検索して得られる値ではなく、開発者によって予め設定された値であるプロトタイプデータと、に基づいて前記プロトタイプアプリケーションを生成することを特徴とする請求項5に記載の情報処理システム。
【請求項7】
前記所定の画面とともに、前記第2の制御で表示される画面が表示されることを特徴とする請求項1乃至
6のいずれか1項に記載の情報処理システム。
【請求項8】
前記所定の画面は、前記第2の制御で表示される画面の上層に重畳して表示されることを特徴とする請求項
7に記載の情報処理システム。
【請求項9】
前記所定の画面には、複数のデバイスの種別にそれぞれ対応する複数の表示アイテムがさらに表示され、
前記生成手段が生成する前記アプリケーションは、さらに、
複数のデバイスの種別にそれぞれ対応する複数の表示アイテムから選択された表示アイテムに応じて、前記第2の制御で表示される画面を該表示アイテムに対応するデバイスの種別に対応する表示レイアウトで表示するように制御する第3の制御 を行うように制御することを特徴とする請求項1乃至
8のいずれか1項に記載の情報処理システム。
【請求項10】
入出力項目に予め値が入力されているデモンストレーション用のアプリケーションのコンテンツ画面である所定の画面において、複数のロールにそれぞれ対応する複数の表示アイテムを表示するように制御する第1の制御と、
前記複数の表示アイテムのうち選択された表示アイテムのロールに応じた画面の表示を行う第2の制御と、
を行うように制御
し、ユーザによって設定された情報である、入力項目定義情報と出力項目定義情報を含む画面定義情報に基づいて前記アプリケーションを生成する生成ステップ
を有し、
前記画面定義情報に含まれる情報として、前記入力項目定義情報と前記出力項目定義情報の少なくとも一方についてのロール毎の表示の可否情報が定義されており、
前記生成ステップはさらに、前記可否情報に基づいて前記アプリケーションを生成することを特徴とする情報処理システムの制御方法。
【請求項11】
少なくとも1つのコンピュータを、請求項1乃至
9のいずれか1項に記載の情報処理システムの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションを生成する情報処理システム、その制御方法およびプログラムに関する。
【背景技術】
【0002】
顧客の為にアプリケーションを作成する際に、まず顧客の要望を汲み取ってアプリケーションを作成すると、手戻りを減らして開発効率を上げることができる。
【0003】
特に、画面や操作手順などは内部ロジックと異なり、ユーザの要望通りに動くことが、顧客満足度を高めることに起因する。
【0004】
特許文献1は、ユーザの要望を聞きながら、要望に沿った要件を確定すると同時に、その場で実機用となりうるアプリケーションプログラムのソースコードを生成し、完成させることで上記課題を解決している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1は、アプリケーションのモックアップ用ファイルの生成とモックアップ用画面遷移を実現するモックアップ用アプリケーションのソースコードを生成することが記載されているが、業務で考えられる、役割(役職や管轄)の違いによる画面遷移の制御については、考慮されていない。
【0007】
本発明の目的は、ユーザの役割に依存して画面変更を行うプロトタイプ(試作)のアプリケーションを作成することである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、
入出力項目に予め値が入力されているデモンストレーション用のアプリケーションのコンテンツ画面である所定の画面において、複数のロールにそれぞれ対応する複数の表示アイテムを表示するように制御する第1の制御と、
前記複数の表示アイテムのうち選択された表示アイテムのロールに応じた画面の表示を行う第2の制御と、
を行うように制御し、ユーザによって設定された情報である、入力項目定義情報と出力項目定義情報を含む画面定義情報に基づいて前記アプリケーションを生成する生成手段を有し、
前記画面定義情報に含まれる情報として、前記入力項目定義情報と前記出力項目定義情報の少なくとも一方についてのロール毎の表示の可否情報が定義されており、
前記生成手段はさらに、前記可否情報に基づいて前記アプリケーションを生成することを特徴とする。
【発明の効果】
【0009】
本発明によれば、ユーザの役割に依存して画面遷移を行うプロトタイプのアプリケーションを作成することができる効果を有する。
【図面の簡単な説明】
【0010】
【
図1】本発明に係るプログラム開発装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントの構成の一例を示すシステム構成図である。
【
図2】本発明に係るプログラム開発装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【
図3】本発明の実施の形態に係るソフトウェア構成の一例を示すブロック図である。
【
図4】本発明の実施の形態に係る第一のプログラム開発装置の機能構成の一例を示す図である。
【
図5】本発明の実施形態に係るプロトタイプアプリケーション生成のフローチャートの一例を示す図である。
【
図6】本発明の実施形態に係る画面定義入力受付処理のフローチャートの一例を示す図である。
【
図7】本発明の実施形態に係るプロトタイプデータ入力受付処理のフローチャートの一例を示す図である。
【
図8】本発明の実施形態に係るプロトタイプアプリケーションソースコード生成処理のフローチャートの一例を示す図である。
【
図9】本発明の実施形態に係るプロトタイプアプリケーション実行時の処理のフローチャートの一例を示す図である。
【
図10】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図11】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図12】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図13】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図14】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図15】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図16】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図17】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図18】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図19】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図20】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図21】本発明の実施形態に係る画面定義402の一例を示す図である。
【
図22】本発明の実施形態に係る画面定義402の一例を示す図である。
【
図23】本願発明に係るプロトタイプアプリケーション442の画面サイズの制御の一例を示す図である。
【
図24】本願発明に係るプロトタイプアプリケーション442の画面表示の一例を示す図である。
【
図25】本発明の実施形態に係るプロトタイプアプリケーション画面とプロトタイプ操作パネルとの関係を説明する図である。
【
図26】本発明の実施形態に係るプロトタイプ画面表示アプリケーション実行時のフローチャートの一例を示す図である。
【
図27】本発明の実施形態に係るプロトタイプ画面表示アプリケーション実行時のフローチャートの一例を示す図である。
【
図28】本発明の実施形態に係るプロトタイプ画面表示アプリケーション実行時のフローチャートの一例を示す図である。
【
図29】本発明の実施形態に係るプロトタイプ画面表示アプリケーション実行時のフローチャートの一例を示す図である。
【
図30】本発明の実施形態に係るブラウザで表示できるデバイスの一例を示す図である。
【
図31】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図32】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図33】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図34】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図35】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図36】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図37】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図38】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図39】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図40】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図41】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図42】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図43】本発明の実施形態に係る出力部210に表示される画面イメージの一例を示す図である。
【
図44】本実施形態に係るプロトタイプアプリケーションソースコードの一部の例を示す図である。
【
図45】本実施形態に係るプロトタイプアプリケーションソースコードの一部の例を示す図である。
【
図46】本実施形態に係るプロトタイプアプリケーションソースコードの一部の例を示す図である。
【
図47】本実施形態に係るプロトタイプアプリケーションソースコードの一部の例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を詳細に説明する。
<第一実施形態>
図1は、本発明に係わるプログラム開発装置(開発者がWebアプリケーション生成のために操作する情報処理装置)、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントの構成の一例を示すシステム(情報処理システム)構成図である。
【0012】
プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101は、プログラム生成、アプリケーション生成を行う。
【0013】
なお、この実施形態においては、プログラム開発装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。
【0014】
アプリケーションサーバ102は、プログラム開発装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。
【0015】
データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
【0016】
アプリケーションクライアント104(情報処理装置)は、アプリケーションサーバ102と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよいこととする。
【0017】
なお、プログラム開発装置101、アプリケーションサーバ102、データベースサーバ103、および、アプリケーションクライアント104の何れかを、クラウドなどのインターネット上に配置してもよいし、いくつかの情報処理装置を一つの筐体としてもよい。
【0018】
図2は、本発明に係わるプログラム開発装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0019】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0020】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0021】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0022】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【0023】
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0024】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0025】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【0026】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0027】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等での開発者指示を可能とする。
【0028】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0029】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0030】
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【0031】
プログラム開発装置101は、以下の機能部を備える。
【0032】
定義部301は、アプリケーションに表示される画面やアイテム(入出力項目)の配置などの画面定義情報と、アプリケーションの画面が次の画面に遷移する手順を定義する画面遷移定義情報と、を開発者から受け付ける機能部であり、具体的には
図6のフローチャートや
図10~
図14の説明図が該当する。
【0033】
動作制御ファイル生成部302は、定義部301で定義された画面と、画面を遷移する手順を再現するためのプロトタイプアプリケーション(動作制御ファイル)を生成する機能部であり、具体的には
図8のフローチャートの処理が該当する。
【0034】
記憶部303は、アプリケーションクライアント104にプロトタイプアプリケーションを表示する際の画面サイズを記憶した機能部であり、具体的には
図23の2310などが該当する。
【0035】
データ取得部304は、ユーザからプロトタイプアプリケーション上のアイテム(入出力項目)に表示するデータを取得する機能部であり、具体的には
図7のステップS706や
図15、
図18の説明図が該当する。
【0036】
操作パネル生成部305は、プロトタイプアプリケーションの画面環境や遷移方法などを制御するプロトタイプ操作パネルを生成する機能部であり、具体的には
図8の810、生成されるプロトタイプ操作パネルは
図31の3102などである。
【0037】
図4は、プログラム開発装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。
【0038】
プログラム開発装置101は、リポジトリ定義部400、プロトタイプアプリケーション生成部410、リポジトリ定義エディタ部420を備える。なお、本発明のプロトタイプアプリケーションとは、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするアプリケーションとは異なり、予め設定された値や予め作図された図などを表示し、画面遷移や表示変更などを実際のアプリケーションのように模倣するモックアップとしてのアプリケーションである。
【0039】
アプリケーションサーバ102は、
図4ではアプリケーションサーバ部430に該当し、アプリケーションクライアント104は、アプリケーションクライアント部435を備える。
【0040】
プログラム開発装置101は、プロトタイプ生成部410によりプロトタイプ表示画面(親画面)440を生成する。本発明での開発者とは、アプリケーションの受託開発者に限らず、ビジネスユーザや営業担当者などの広くプログラム開発装置101を使用する者を指す。
【0041】
リポジトリ定義部400には、アプリケーション定義401、画面定義402、画面部品定義403、画面遷移定義404、画面部品定義402に紐づくアクション405、アクション405に紐づくプロトタイプデータ406が記憶されている。プロトタイプデータとは、プロトタイプアプリケーションを実行する際にアプリケーション画面に表示されるデータを指し、本番環境のようにデータベースからデータを検索したり、算出したデータ結果から作図をしたりするものではなく、開発者により予め設定されている値や図を指す。これら401~406の定義は、アプリケーション開発ツールを介して、開発者によって入力設定または配置される。
【0042】
アプリケーション定義401は、開発者が開発するアプリケーション全体の設定を保持する。
【0043】
画面定義402は、アプリケーションに含まれる各画面に配置される各種画面部品定義403及び画面遷移定義404の情報を保持する。画面定義402は、各種部品に設定されるアクション405及びアクション405に紐づくプロトタイプデータ406の情報を含む。
【0044】
プロトタイプアプリケーション生成部410は、開発者により設定されたリポジトリ定義部400を解析し、プロトタイプ表示画面(親画面)440を生成する。また、プロトタイプアプリケーション生成後にプロトタイプ表示画面(親画面)440をアプリケーションサーバ部430にデプロイする。
【0045】
リポジトリ定義解析部411は、開発者により設定されたリポジトリ定義部400を解析する。
【0046】
プロトタイプコード生成部412は、リポジトリ定義解析部411の解析結果に応じたプロトタイプアプリケーションのソースコードを生成する。
【0047】
ソースコードコンパイル部413は、プロトタイプコード生成部412の生成したソースコードをコンパイルし、コンパイル済Java(登録商標)コード及びHTML/JSP/JavaScript(登録商標)を含むプロトタイプ表示画面(親画面)440をアプリケーションサーバ部430にデプロイする。
【0048】
リポジトリ定義エディタ部420は、ユーザがリポジトリ定義400を設定するための手順の一例である。リポジトリ定義エディタ部420は、画面定義エディタ部421、画面遷移定義エディタ部422、部品パレット部423、アクション選択部424、プロトタイプデータ入力部425を含む。
【0049】
画面定義エディタ部421は、開発者が所望の画面レイアウトを直観的に作成するためのグラフィカルエディタである。
【0050】
画面遷移定義エディタ部422は、開発者が配置した各画面部品に対するプロパティを設定するエディタである。
【0051】
レスポンシブ部品制御部423は、開発者がクライアントの画面幅毎に画面部品の表示形式(画面の配置や部品幅)を制御させる機能部である。
【0052】
レスポンシブ部品制御部423の例を
図23、
図24を参照して説明する。
【0053】
図23は、本願発明におけるプロトタイプアプリケーション442の画面サイズの制御を説明する模式図である。
【0054】
たとえば、
図23の2300のように、アプリケーション生成画面にパーソナルコンピュータ画面ボタン2301、タブレット画面ボタン2302,スマートフォン画面ボタン2303のように複数の種類のクライアントの表示画面を切り替えるボタンを表示する。
【0055】
2300の切り替えるボタンを押下した際に、アプリケーションクライアント104に表示される画面サイズを記憶したデータが2310である(記憶部)。たとえば、パーソナルコンピュータ画面ボタン2301が押下されると、表示される画面サイズは1920×1080(2311)であり、タブレット画面ボタン2302が押下されると、表示される画面サイズは1023×1366(2312)、スマートフォン画面ボタン2303が押下されると、表示される画面サイズは414×896となる。それぞれのボタンを押下した画面の例を
図24を参照して説明する。
【0056】
図24は、本願発明におけるプロトタイプアプリケーション442の画面表示の一例を示す模式図である。
【0057】
たとえば
図24の2402は、パーソナルコンピュータ画面の表示イメージ、2403はタブレット画面の表示イメージ、2404はスマートフォン画面の表示イメージである。それぞれの部品サイズ、たとえば、パーソナルコンピュータ画面2402の部品2422は、タブレット画面2403では2423であり、スマートフォン画面2404では2424である。レスポンシブ部品制御部423は、同じ部品である2422、2423、2424を、
図24のようにそれぞれ画面全体(2402、2403、2404)の横幅の所定の割合で表示されるように制御する。すなわち、パーソナルコンピュータ画面では2422は2402(画面全体)の2/12、タブレット画面では2423は2403(画面全体)の3/12、スマートフォン画面画面では2424は2404(画面全体)の6/12の割合で2402の部品は表示されるように制御されている。
図4の構成図の説明に戻る。
【0058】
アクション選択部424は、開発者がプロトタイプデータ406を設定する対象のアクションを選択するためのアクション(アクションイベント)を選択する機能部である。
【0059】
プロトタイプデータ入力部425は、特定のアクション405に紐づくプロトタイプデータ406を直観的に設定するためのグラフィカルエディタである。
【0060】
アプリケーションサーバ部430(102)は、プロトタイプアプリケーション生成部410が生成したプロトタイプ表示画面(親画面)440を記憶し、アプリケーションクライアント104に送信する機能部である。
【0061】
プロトタイプ表示画面(親画面)440は、プロトタイプアプリケーション生成部410が生成したアプリケーションである。プロトタイプ表示画面(親画面)440は、ビジネスユーザ(顧客の意思決定者)や顧客に提案を行う営業担当者などがアプリケーション開発時に、プログラム開発装置101が生成するアプリケーションの表示内容や動作等を制御して表示させるためのアプリケーションである。プロトタイプ表示画面(親画面)440は、プロトタイプ操作パネル441、プロトタイプアプリケーション442を含む。
【0062】
プロトタイプ操作パネル441は、プロトタイプ表示画面(親画面)440のうちユーザインタフェースの機能を持つモジュールであり、アプリケーションクライアント104の画面サイズでの再現やユーザ権限毎の表示イメージの再現、サーバでの処理待ち時間の再現、サーバでのエラー時の表示画面再現などの設定を開発者から受け付けるパネル(画面)である。
【0063】
プロトタイプアプリケーション442は、ビジネスユーザ(顧客の意思決定者)や顧客に提案を行う営業担当者などがアプリケーション開発時に、プログラム開発装置101の生成するアプリケーションの表示内容や動作等を再現するためのモックアップアプリケーションである。
【0064】
アプリケーションクライアント部435は、アプリケーションサーバ部430からプロトタイプ表示画面(親画面)440をダウンロードし、Webブラウザ450において、プロトタイプ表示画面(親画面)440はSPA(シングルページアプリケーション)で構成されるプロトタイプ表示画面(親画面)440を起動する。
【0065】
また、図示はしないが、プロトタイプアプリケーションではなく、実際に動作するアプリケーションコード生成部も有している。アプリケーションコード生成部は、リポジトリ定義解析部411により、リポジトリ定義部400から、アプリケーション定義401、画面定義402、別に定義されたデータベース定義、データモデル定義、ビジネスプロセス定義、を読み込み解析する。Webアプリケーションコード生成部は、外部メモリ211に記憶されているコード生成ルールと、リポジトリ定義解析部411によって解析された内容とを用いて、ソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード及びHTML/JSP/JavaScript(登録商標)を含むWebアプリケーションモジュールを生成する。
【0066】
図5は、Webアプリケーションのプロトタイプアプリケーション生成のフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。
【0067】
図5のフローチャートは、開発者がプロトタイプアプリケーションを生成しようとする際にプログラム開発装置101で開始される処理の流れである。なお、ステップS501~S506の処理は、プロトタイプアプリケーション442を生成するための情報取得処理である。ステップS507の処理は、プロトタイプ操作パネル441のための情報取得ならびにプロトタイプ表示画面440を含むプロトタイプアプリケーションのソースコードの生成を行う処理である。具体的に各ステップの処理を以下で説明する。
【0068】
まず、ステップS501において、プログラム開発装置101は、画面定義入力を受付ける。ステップS501の処理の詳細は
図6を参照して後述する。
【0069】
次に、ステップS502において、プログラム開発装置101は、プロトタイプデータ443の入力要求があったかを判定する。具体的には、アクション選択部424の一例である
図12の1201及び1202、もしくは1203及び
図13の1301が押下されたかを判定する。
【0070】
アクション制御モジュール442は、開発者によって設定された複数のプロトタイプデータのうち、プロトタイプ表示画面(親画面)440実行時のどのタイミングでどのデータを表示するかを制御する。また、アクション制御モジュール442は、画面に配置された部品が持つ各アクションに紐づいた動作を制御する。すなわち、プロトタイプデータはアクション(アクションイベント)に紐づく。
【0071】
プログラム開発装置101は、開発者がこれから入力するプロトタイプデータが、どのアクションに紐づくものかを指定させるために、該押下を受付ける。
【0072】
ステップS502において、プロトタイプデータ入力要求があったと判定した場合には、ステップS503に遷移する。
【0073】
一方、ステップS502において、プロトタイプデータ入力要求がなかった場合には、ステップS504に遷移する。
【0074】
なお、1201が押下された場合の、アクション選択部の一例を1202に示す。また、1203が押下された場合の、アクション選択部の一例を1301に示す。1301の例では、表示中の画面定義に含まれるアクション一覧を表示しているが、アプリケーション定義に含まれるアクション一覧を表示してもよい。
【0075】
ステップS503に遷移すると、プログラム開発装置101は、開発者からのプロトタイプデータの入力を受付ける。ステップS503の処理の詳細は
図7を参照して後述する。その後、ステップS504へと処理を遷移する。
【0076】
ステップS504において、プログラム開発装置101は、画面定義保存要求があったかを判定する。画面定義保存要求があったと判定した場合には、ステップS505に遷移し、画面定義保存要求がなかった場合には、ステップS506へと遷移する。
【0077】
ステップS505に遷移すると、プログラム開発装置101は、画面定義をリポジトリ定義部400に保存する。その後、ステップS506へと処理を遷移する。
【0078】
ステップS506に遷移すると、プログラム開発装置101は、プロトタイプ生成要求があったかを判定する。プロトタイプ生成要求があったと判定した場合には、ステップS507に遷移する。一方、プロトタイプ生成要求がなかった場合には、ステップS501に遷移する。
【0079】
ステップS507へと遷移すると、プログラム開発装置101は、プロトタイプアプリケーションのソースコードを生成する。ステップS507の処理の詳細は
図7を参照して後述する。
【0080】
次に、ステップS508において、プログラム開発装置101は、ステップS507において生成したソースコードのコンパイルを行う。
【0081】
ステップS509において、プログラム開発装置101は、ステップS508においてコンパイルしたプロトタイプアプリケーションをアプリケーションサーバ102(430)にデプロイする。
【0082】
以降は、プログラム開発装置101と、アプリケーションサーバ102、アプリケーションクライアント104が同じ情報処理装置で実施されている例で説明するが、それぞれが別の情報処理装置の場合は、それぞれの情報処理装置が、各アプリケーション(プロトタイプアプリケーションやWebブラウザなど)を起動して処理を実行する。
【0083】
ステップS510において、プログラム開発装置101は、アプリケーションサーバ102(430)にデプロイされたプロトタイプアプリケーションを起動する。
【0084】
ステップS511において、プログラム開発装置101は、Webブラウザを起動し、プロトタイプアプリケーションのURLアクセスを開始する。なお。ステップS510やS511の処理は、プログラム開発装置101が、アプリケーションサーバ102とアプリケーションクライアント104とを併用している場合の例であり、それぞれ別の筐体の場合は、ステップS510の処理はアプリケーションサーバ102が実行し、ステップS511の処理はアプリケーションクライアント104が実行する処理となる。
【0085】
以上で、
図5の説明を終了する。以降の処理は
図9を参照して後述する。なお、
図9以降の説明では、プロトタイプアプリケーションは、プログラム開発装置101ではなく、Webブラウザを起動したアプリケーションクライアント104で実行されるとして説明するが、アプリケーションクライアント104と同様にWebブラウザを起動したプログラム開発装置101で実行されても良い。
【0086】
次に、ステップS501の処理の詳細を
図6を参照して説明する。
【0087】
図6は、Webアプリケーションの画面定義の入力を受け付けるフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。
【0088】
図6のフローチャートは、
図5のフローチャートにおいて、ステップS501へと処理が遷移した際に開始される処理の流れである。
【0089】
まず、ステップS601において、プログラム開発装置101は、開発者による画面部品の配置を受付ける。具体的には、部品パレット部423の一例である
図10の1001から、画面定義エディタ部421の一例である1002へのドラッグ&ドロップ1003による部品の配置を受付ける。
図10は、部品パレット部からボタン部品を画面定義エディタ部にドラッグ&ドロップした例を示している。画面部品の配置方法は、部品パレット部423から画面定義エディタ部421へのドラッグ&ドロップに限らず、既に配置した部品を移動する方法や、既に配置した部品をコピー&ペーストにより複製する方法であってもよい。また、一度配置した部品を削除できてもよい。
【0090】
図10の場合は、1004のように、2つのテキスト入力欄(ID入力欄と名前入力欄)と、IDと名前を登録する登録ボタンを設けた画面イメージが作成されているイメージである。
【0091】
次に、ステップS602において、プログラム開発装置101は、アクションイベントを含む部品が配置されたかを判定する。アクションイベントを含む部品が配置されたと判定した場合には、ステップS603に遷移し、アクションイベントを含む部品が配置されていない場合には、ステップS604に遷移する。
【0092】
ステップS603に遷移すると、プログラム開発装置101は、アクションイベントを含む部品に設定されたアクションを登録する。具体的には、部品のソースコードにonClickというアクションを持つ部品の場合にアクションを登録する。画面定義402の一例である
図21の2100には、本番環境に対応した“actions”の定義2102と、プロトタイプアプリケーションに対応した“examples”の定義2103を書き出す。なお、
図21の例では、実施手段の一例としてデータ保持の形式をjsonファイルとしているが、データ保持の形式は他形式ファイルであってもデータベースであってもよい。その後、ステップS604へと遷移する。
【0093】
次に、ステップS604において、プログラム開発装置101は、プロパティ入力要求のあったかを判定する。具体的には、選択された部品のプロパティ入力要求ボタンの一例である
図11の1101が押下されたかを判定する。
【0094】
プロパティ入力要求のあったと判定した場合、ステップS605に遷移し、プロパティ入力要求のなかった場合、画面定義入力受付処理を終了する。
【0095】
ステップS605へと遷移すると、プログラム開発装置101は、開発者による画面部品に対するプロパティの入力を受付ける。具体的には、画面プロパティエディタの一例である
図11の1102を表示し、該画面部品が持つプロパティへの設定の入力を受付ける。
図11の例では、開発者による直観的な操作を実現するために画面プロパティエディタを該部品付近に表示しているが、画面内の特定の領域を画面プロパティエディタとして確保してもよい。また、画面プロパティエディタをモーダルダイアログで表示してもよい。
【0096】
【0097】
次に、ステップS503の処理の詳細を
図7を参照して説明する。
【0098】
図7は、Webアプリケーションのプロトタイプアプリケーションを生成する際に画面に表示するプロトタイプデータの入力を受け付けるフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。
【0099】
図7のフローチャートは、
図5のフローチャートにおいて、ステップS503へと処理が遷移した際に開始される処理の流れである。
【0100】
まず、ステップS701において、プログラム開発装置101は、
図5ステップS502において開発者が指定したアクションアイテムの設定を読込む。具体的には、次の二つを実施する。まず、開発者が選択した画面部品の画面部品定義403の一例である
図10の1004の例である
図21の2101を読込む。2101のデータは、
図6のフローチャートのステップS605で、
図11の1102から入力されたものとする。次に、開発者に選択された画面部品の本番環境に対応した“actions”の定義2102と、プロトタイプアプリケーションに対応した“examples”の定義2103を読込む。
【0101】
次に、ステップS702において、プログラム開発装置101は、ステップS701で読込んだアクションアイテムの設定が画面遷移を伴うかを判定する。具体的には、画面部品定義403の一例である2101の画面遷移定義404の一例である”nextUi”プロパティ(1102内の次画面プロパティ)に値が設定されているかを判定する。本実施例では、プログラム開発装置101は、画面遷移定義404を画面部品定義403に保持しているが、アクション定義405に保持してもよい。
【0102】
ステップS701で読込んだアクションアイテムの設定が画面遷移を伴うと判定した場合には、ステップS703に遷移し、ステップS701で読込んだアクションアイテムの設定が画面遷移を伴わない場合には、ステップS704に遷移する。
【0103】
ステップS703へと遷移すると、プログラム開発装置101は、ステップS701で読込んだアクションアイテムの設定に伴う画面遷移の遷移先画面を表示する。具体的には、2101の”nextUi”に設定された画面である
図13の1300を表示する。なお、
図13の遷移先画面1302も、開発者の操作(ステップS601)により事前に設定されているものとする。なお、1302のような画面は、現在表示されている画面定義エディタ部421を書き換える表示方法であっても、新たな画面定義エディタ部421を起動する表示方法であってもよい。
【0104】
画面定義エディタ部421に表示される画面イメージ(遷移先画面)の初期表示アクションを読込み、これを開発者が指定したアクションとする。この処理後、ステップS704へと処理を遷移する。
【0105】
ステップS704において、プログラム開発装置101は、S701で読込んだアクション、もしくはS703で読込んだアクションに既に設定されているプロトタイプデータ(たとえば、
図22の2201のようなデータが既に設定されている場合はそのデータ)を画面上に表示する。
【0106】
次に、ステップS705において、プログラム開発装置101は、開発者による、プロトタイプデータ表示部品の選択を受け付ける。ここでプロトタイプデータ表示部品とは、プロトタイプアプリケーションを動作させる際に予めデータ(プロトタイプデータ)を表示させておく部品のことを示す。具体的には、画面定義エディタ部421に表示された
図13の1302のような一覧表の中にプロトタイプデータを表示する例である。同じ図である
図14のプロトタイプデータ表示部品1402において、たとえば「Name」欄で図示しないマウスを右クリックし、1403の編集ボタンが押下されることで、プロトタイプデータ表示部品の選択を受け付けることができる。また、
図17の1701のように一覧全体を選択後、表入力ボタン1702が押下されると、プロトタイプデータ表示部品の選択として、1701の一覧全体を選択することができる。
【0107】
次のステップS706において、プログラム開発装置101は、開発者によるプロトタイプデータの入力を受付ける。具体的には、プロトタイプデータ入力部425の一例である
図15のプロトタイプデータ入力ダイアログ1501を表示する。1501は、
図14の1401において、「Name」欄で編集ボタンが押下された際に表示するプロトタイプデータ入力ダイアログである。1501の場合、開発者から「Name」欄に「谷川 則之」というプロトタイプデータが入力されている例である。開発者からの値の入力後、1501内の「OK」ボタンの押下により、ステップS707の入力確定か否かの判断を行う。
【0108】
また、ステップS706の別の例として、プロトタイプデータ入力部425の一例を
図18を参照して説明する。
【0109】
図18のプロトタイプデータ入力ダイアログ1801は、
図17において表入力ボタン1702が押下されると表示される画面イメージである。1801のテキスト入力欄には、1701に表示する一覧表に表示されるデータ群の入力を受け付ける。1801の場合は、1行目に「(空欄)」、「谷川 則之」、「(空欄)」、2行目に「1001」、「堀 亜衣」、「2019/10/10」、3行目に「1002」、山村 るり子」、「2019/09/18」というデータが入力されている。これらのデータ入力はファイル選択ボタン1802の押下により表示される図示しないファイル選択画面からCSVファイルや表計算ファイルが選択されることにより、そのファイルの内容を適応させても良い。
【0110】
開発者からテキスト入力欄への値の入力、もしくはファイル選択後のデータ反映後、1803の「OK」ボタンの押下により、ステップS707の入力確定か否かの判断を行う。
【0111】
ステップS706では、言語によって表示するプロトタイプデータを切り替えるために、ロケールの指定を受付けてもよい。また、プロトタイプデータ入力受付方法として、モーダルダイアログを表示する方法を示しているが、該入力受付方法は、S705で開発者が選択した表示部品に対して直接入力を受付ける方法であってもよいし、外部ファイルによる一括入力であってもよい。
【0112】
次のステップS707において、プログラム開発装置101は、開発者によるプロトタイプデータ入力が確定したかを判定する。具体的には、
図15のプロトタイプデータ入力ダイアログ1501内の「OK」ボタンや
図18の「OK」ボタン1803が押下されたかを判定する。なお、ステップS706の入力受付方法において、部品に対する直接入力を受付けた場合は、該部品からフォーカスが外れたかにより判定する。
【0113】
プロトタイプデータ入力が確定したと判定された(「OK」ボタンが押下された)場合は、ステップS708に遷移し、プロトタイプデータ入力が確定していないと判定した場合は、ステップS706に遷移する。
【0114】
ステップS708において、プログラム開発装置101は、開発者によって入力されたプロトタイプデータを画面定義402に書き出す。具体的には、画面定義402のアクション405に紐づくプロトタイプデータ406の一例である2201に書き出す。
【0115】
なお、この方法では、実行するアクションによる遷移後画面で表示するデータの変更ができない。プロトタイプデータを遷移後画面の初期表示アクションに保持しているためであるが、遷移後画面で表示するプロトタイプデータを、実行するアクション側で保持することで、実行するアクションによる遷移後画面で表示するデータの変更を可能としてもよい。具体的には、2201の“onLoad”以下のオブジェクトを2103の“onClick”以下に保持することにより、画面を遷移する元のボタン(たとえば、
図10の1000に配置された「登録」ボタン1003)に遷移後画面で表示するデータを持たせてもよい。
【0116】
このように、プロトタイプデータを表示させた画面イメージをアクションイベントごとに画面を遷移させてプロトタイプアプリケーション上で表示することにより、実際に動作するアプリケーション(たとえばデータベースから検索したり、取り出したデータから作図したりする)を作る前に、モックアップとしてどのような動作をするのかのイメージを掴むことができる
以上で、
図7の説明を終了する。
【0117】
次に、ステップS507の処理の詳細を
図8を参照して説明する。
【0118】
図8は、Webアプリケーションのプロトタイプアプリケーションのソースコードを生成する処理の流れを説明するフローチャートの一例である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。
【0119】
図8のフローチャートは、
図5のフローチャートにおいて、ステップS507へと処理が遷移した際に開始される処理の流れである。
【0120】
まず、ステップS801において、プログラム開発装置101は、リポジトリ定義部400から開発者が指定したアプリケーション定義401を読み込む。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。
【0121】
ステップS802において、プログラム開発装置101は、リポジトリ定義部400からステップS801で読込んだアプリケーション定義401に含まれる画面定義402を読み込む。
【0122】
ステップS802において、画面定義を読み込む際に、画面表示項目(アイテム)のそれぞれ定義されている表示権限の情報も取得する。
図35の例を参照して説明する。
図35において、ユーザの権限により表示項目(アイテム)を変える行を2行目(3501)と定義している場合、ユーザの権限名821と、それに対する入出力表示許可項目822とを紐付ける情報などを取得する。
図8の820の場合、
図35に描かれているユーザ権限として「User(ユーザ)」、「Admin(管理者)」、「Guest(ゲスト)」の権限名を持ち、入出力表示許可項目として、
図35の「出欠確認」項目が定義されている。なお、この表示項目定義情報は、入出力表示許可を定義したものでも良いし、入出力表示禁止項目を定義していても良く、また、表示項目はまとめて表示権限を定義されていても良いし、820のように個別に定義されていても良い。
【0123】
ステップS803において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれる画面部品定義403を読込む。
【0124】
ステップS804において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれる画面遷移定義404を読込む。
【0125】
ステップS805において、プログラム開発装置101は、ステップS802で取得した表示項目に紐付けられた権限(役割・ロール)を収集する。
【0126】
ステップS806において、プログラム開発装置101は、リポジトリ定義部400からステップS802で読込んだ画面定義402に含まれるプロトタイプデータ406を読込む。ここで読み込む画面定義402内のデータは、プロトタイプデータに対応した
図21や
図22の「examples」のデータであり、「actions」すなわち本番環境用のデータは使用しない。この2つのデータを持つことで、プロトタイプデータの画面定義と本番環境の画面定義を共通で作成可能になり、モックアップ用に作成したアプリケーション画面をそのままアプリケーションの画面として定義することができる。
【0127】
ステップS807において、プログラム開発装置101は、ステップS801~ステップS806で読込んだ情報を元に、プロトタイプコード生成部412でプロトタイプアプリケーションのソースコードを生成する。生成するソースコードには、プロトタイプアプリケーションを起動時に表示するプロトタイプ操作パネル(
図31の3102など)のソースコードも含む。
【0128】
図31は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0129】
図31を参照して、プロトタイプ操作パネルについて説明する。プロトタイプ操作パネルとは、プロトタイプ(試作)画面を表示する際、あるいはプロトタイプ(試作)画面を遷移させて表示する際の、表示設定や遷移時の設定の指示を開発者から受け付けるパネル画面である。プロトタイプ操作パネルは、表示デバイス(パーソナルコンピュータやタブレット、スマートフォンなど)や表示デバイスの画面の向きを再現させたり、ユーザのアクセス権(Admin権限(管理者権限)やUser権限(一般ユーザ権限)など)別の画面表示の再現、サーバでの処理時間の表示の再現、エラーが生じた場合の表示の再現などを設定することができる。表示デバイスの設定は3102の3111、ユーザ権限の設定は3102の3121、処理待ち時間の設定は、3102の3131,エラー表示の設定は3102の3141でそれぞれ設定することができる。
【0130】
プロトタイプ操作パネル3102を開いている場合のプロトタイプアプリケーション画面とプロトタイプ操作パネル3102との関係を
図25と
図31を参照して説明する。
【0131】
図25は、プロトタイプアプリケーション画面とプロトタイプ操作パネルとの関係を説明する図である。
【0132】
親画面としてベースとなるプロトタイプ表示画面2501がブラウザ上に表示される親画面であり、親画面の中にiFrameでプロトタイプアプリケーション画面2502を表示している。更にプロトタイプアプリケーション画面2502の上に、プロトタイプ操作パネル2503を表示し、プロトタイプアプリケーション2502の一部とプロトタイプ操作パネル2503が同時に確認できるように親画面2501に表示している。
【0133】
図31のようなプロトタイプ操作パネル3102に開発者から設定を受け付け、開発者からたとえば3103のようなプロトタイプ操作パネル3102(2503)を縮小するような操作を受け付けると、
図32のようなプロトタイプアプリケーション画面3201(2522)を表示する(2521の表示イメージ)。プロトタイプアプリケーション画面3201(2522)から、プロトタイプ操作パネル3102(2503)を表示している画面に戻る場合は、プロトタイプ操作パネル表示ボタンである3202(2523)を押下して、プロトタイプ操作パネル3102が表示されている
図31の画面イメージ3101に遷移する。
図8のフローチャートの説明に戻る。
【0134】
ステップS807において、生成されるソースコードの例を
図44に示す。
図44は、プロトタイプ操作パネルが操作され、操作が記憶されたブラウザの記憶領域(Web StorageやCookieの情報)が変更されると開始されるTypeScriptのソースコードの例である。
【0135】
次に、ステップS808において、プログラム開発装置101は、ユーザの権限毎に画面表示を変更させるためのソースコードを生成する。生成されるソースコードの例を
図45に示す。
図45は、たとえば、
図35のプロトタイプ操作パネル3521や
図37のプロトタイプ操作パネル3721のようにユーザ権限を変更された際に実行されるソースコードの例である。
図45のソースコードは、ユーザ権限が変更された際に
図45の前半のソースコードでユーザ権限の判定を行い、後半のソースコードでユーザ権限が適用された画面部品の表示・非表示を制御している。すなわち、ステップS808は、ユーザ権限を設定した場合のプロトタイプ(試作)画面を表示するためのプログラムを生成するしょりである。
【0136】
ステップS809において、プログラム開発装置101は、サーバと接続する際に生じる画面表示を再現するためのソースコードを生成する。生成されるソースコードの例を
図46に示す。
図46は、たとえば、プロトタイプ操作パネル3102のオプション設定欄3131や3141に
図39の3931のように、処理時間(処理待ち時間)の値が入力された場合、もしくは
図42の4241のようにエラー設定がオンに変更された場合に実行されるソースコードの例であり、ブラウザの記憶領域から取得する疑似サーバの処理設定を反映したプロトタイプ(試作)画面を表示している。すなわち、ステップS809は、サーバと通信する際の疑似的な通信やサーバの状況を再現するためのプログラムを生成する処理である。
【0137】
ステップS810において、プログラム開発装置101は、プロトタイプ操作パネル画面2503の描画後、配下のプロトタイプアプリケーション(iFrame)画面2502の画面の設定をプロトタイプ操作パネル2503(3102)の設定に反映させるためのプログラムを生成する。生成されるソースコードの例を
図47に示す。
図47は、たとえば、プロトタイプ操作パネル3102のデバイス設定欄3111をPC(パーソナルコンピュータ設定)のイメージで設定するボタン3112に設定するか、
図33の3311のイメージのようにスマートフォンの設定にするかなどにより、プロトタイプ(試作)画面の表示を再現するTypeScriptのソースコードである。
【0138】
以上のソースコードを生成して、
図8のフローチャートの処理を終える。なお、プロトタイプ操作パネル画面3102やプロトタイプ操作パネル画面操作後の処理を実行するソースコード(
図44~
図47)はTypeScriptを例としているが、他の言語のソースコードでもよく、JavaScriptなどで書かれたソースコードであっても良い。
【0139】
【0140】
次に、
図5のステップS509でデプロイされたプロトタイプアプリケーションを実行し、アプリケーションクライアント104のWebブラウザ(450)と通信を開始する際の処理の流れを
図9を参照して説明する。なお、
図5のようにプログラム開発装置101のステップS511で起動されたWebブラウザがデプロイされたプロトタイプ表示画面アプリケーションと通信を開始しても良いし、
図9のようにアプリケーションクライアント104において起動されたWebブラウザが、デプロイされたアプリケーションサーバ102と通信を開始するとしても良い。
【0141】
図9は、
図5ステップS509でデプロイされたプロトタイプ表示画面(親画面)440がアプリケーションクライアント104にダウンロードされて実行される動作の一例を示すフローチャートである。なお、以下のフローチャートの各ステップは、アプリケーションクライアント104のCPU201が実行する。
【0142】
図9のフローチャートは、プロトタイプ表示画面(親画面)440がアプリケーションサーバ102(430)にデプロイされ、アプリケーションクライアント104のWebブラウザ450から開発者のアクセスがあった際に開始される処理の流れである。
【0143】
ステップS901において、アプリケーションクライアント104は、まずブラウザのロケール情報を読込む。このロケール情報により、プロトタイプデータの表示言語を切り替えることができる。
【0144】
ステップS902において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から、プロトタイプ表示画面(
図8のステップS807~S810で生成したアプリケーション)が動作するSPA(シングルページアプリケーション)をダウンロードする。なお、本発明の実施形態では、プロトタイプ表示画面(親画面)440はSPAとして説明するが、必ずしもSPAである必要はなく、画面遷移命令によりアプリケーションサーバ102と通信をする仕様でも良く、その場合はプロトタイプアプリケーションの初期画面情報をダウンロードする。
【0145】
また、ステップS902において、アプリケーションクライアント104は、プロトタイプアプリケーションでのユーザ権限情報を取得する。
【0146】
更に、ステップS902において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から取得したプログラムからプロトタイプ表示画面2501(プロトタイプアプリケーションの親画面)を起動する。すなわち、ステップS902は、
図31の3101のような画面イメージのプロトタイプアプリケーションを表示するためのプログラムをダウンロードし、起動する処理を行うステップである。
【0147】
次のステップS903において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプアプリケーション(iFrame)2502を起動する。起動している画面イメージは
図32の3201であるが、次のステップS904以降で表示されるプロトタイプ操作パネル3102が上層に表示(
図25の2502と2503のような関係)されているため、起動当初は、
図31の3101のような表示画面となる。
【0148】
次のステップS904において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプ操作パネル(iFrame)2503を起動する。起動している画面イメージは
図31の3102のイメージである。このプロトタイプ操作パネルに表示されている設定を変更することにより、プロトタイプ(試作)アプリケーションの表示設定や画面の遷移設定を制御することができる。
【0149】
次のステップS905において、アプリケーションクライアント104は、プロトタイプ操作パネル3102に入力されたそれぞれの設定によって、プロトタイプアプリケーション3201(442)の表示画面を変更もしくは遷移画面を変更する表示を行う。それぞれの設定によるプロトタイプアプリケーション440の画面表示もしくは遷移画面表示の処理はそれぞれ
図26~
図29において後述する。
【0150】
次にステップS906において、アプリケーションクライアント104は、プロトタイプアプリケーションによるアプリケーションの再現を終了するか開発者の指示を待ち、アプリケーションの再現を終了する場合は、このフローチャートを終了し、もう一度再現する指示を受け付けた場合は、ステップS902へと処理を戻す。
【0151】
次に、ステップS905において、プロトタイプ操作パネル3102に入力されたそれぞれの設定によって、プロトタイプアプリケーション3201(442)の表示画面を変更もしくは遷移画面を変更する表示する処理の流れを
図26~
図29を参照して説明する。なお、それぞれの設定とは、表示デバイスの切り替え、ユーザ権限の変更、サーバとの処理時間の再現、ならびにエラー発生時の再現である。
【0152】
図26は、表示デバイスを切り替える際の処理の流れを示すフローチャートである。なお、以下のフローチャートの各ステップは、アプリケーションクライアント104のCPU201が実行する。
【0153】
図26のフローチャートは、アプリケーションクライアント104のWebブラウザ450から開発者のアクセスがあり、プロトタイプ表示画面(親画面)440のSPAがWebブラウザ450にダウンロードされた際に開始されるフローチャートである。なお、
図26~
図29の一部の説明は
図9の説明と一部重なっている。
【0154】
まず、ステップS2601において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から、プロトタイプ表示画面(
図8のステップS807~S810で生成したアプリケーション)が動作するSPAをダウンロードする。
【0155】
また、ステップS2601において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から取得したプログラムからプロトタイプ表示画面2501を起動する。すなわち、ステップS2601は、
図31の3101のような画面イメージのプロトタイプアプリケーションを表示するためのプログラムをダウンロードし、起動する処理を行うステップである。
【0156】
次のステップS2602において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプアプリケーション(iFrame)2502を起動する。起動している画面イメージは
図32の3201であるが、次のステップS2603以降で表示されるプロトタイプ操作パネル3102が上層に表示(
図25の2502と2503のような関係)されているため、起動当初は、
図31の3101のような表示画面となる。
【0157】
次のステップS2603において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプ操作パネル(iFrame)2503を起動する。起動している画面イメージは
図31の3102のイメージである。このプロトタイプ操作パネルに表示されている設定を変更することにより、プロトタイプ(試作)アプリケーションの表示設定や画面の遷移設定を制御することができる。
【0158】
プロトタイプ操作パネル3102が表示されている状態で、開発者からデバイス入力欄3111が変更された場合に、次のステップS2604の処理へと遷移する。開発者によりデバイス入力欄3111が変更された場合の画面イメージを
図33を参照して説明する。なお、デバイス入力欄3111は、各端末(パーソナルコンピュータ、タブレット、スマートフォン)の画面サイズが予め設定されているものであり、タブレットやスマートフォンに関しては、縦向きと横向きで表示形態を変えることができる入力欄である。縦向きと横向きの表示形態を表示するのは、タブレットやスマートフォンが縦向きでも横向きでも表示制御可能であるためである。
【0159】
図33は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0160】
図33のプロトタイプ操作パネル3302のデバイス選択欄3311は、
図31のプロトタイプ操作パネル3102と異なり、スマートフォン画面ボタン3312が押下されている例である。
【0161】
図26のフローチャートの説明に戻って、次のステップS2604へと処理を遷移すると、アプリケーションクライアント104は、プロトタイプ操作パネル3302において変更されたデバイスの画面サイズに変更する指示を受け付ける。
図31の3101を表示後にのステップS2603とS2604の処理を実行するソースコードの例を
図47に示す。
【0162】
次のステップS2605において、アプリケーションクライアント104は、プロトタイプアプリケーション2502をステップS2604で受け付けたデバイスのサイズにiFrame部を合わせて表示する。
図33のプロトタイプ操作パネル3302のような設定を受け付けた場合のプロトタイプアプリケーション画面のイメージを
図34を参照して説明する。
【0163】
図34は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0164】
図34のプロトタイプアプリケーション画面3401はスマートフォンサイズである3402のサイズとして表示される。スマートフォンサイズで表示された画面であっても、試作としてのプロトタイプアプリケーションの処理は実行され、たとえば、所定のボタンが押下されると、そのアクションに応じたプロトタイプデータを反映した遷移先の画面を表示することができる。
【0165】
なお、
図33のプロトタイプ操作パネル3302が前面に表示されているプロトタイプ表示画面3301(
図25の2501)から、
図34のようなプロトタイプアプリケーション画面3401が前面に出ている画面(
図25の2521)への遷移は、たとえば、
図31の下矢印ボタン3103の押下などでも良いし、他のボタンによる遷移でもよい。また、
図34のようなプロトタイプアプリケーション画面3401が前面に出ている画面(
図25の2521)から、
図33のプロトタイプ操作パネル3302が前面に表示されているプロトタイプ表示画面3301(
図25の2501)への遷移(すなわち、プロトタイプ操作パネル3302の画面に戻る)は、たとえば、
図32の右下にある半透明なボタン3202の押下などで実行されても良い。
【0166】
以上の処理により、デバイス毎に表示形態を変えたプロトタイプのアプリケーションを容易に作成することができる。
【0167】
次に、
図27を参照して、ユーザ権限を変更した際に画面表示を変更する処理の流れを説明する。
【0168】
図27は、ユーザ権限を切り替えた際の処理の流れを示すフローチャートである。なお、以下のフローチャートの各ステップは、アプリケーションクライアント104のCPU201が実行する。
【0169】
図27のフローチャートは、アプリケーションクライアント104のWebブラウザ450から開発者のアクセスがあり、プロトタイプ表示画面(親画面)440のSPAがWebブラウザ450にダウンロードされた際に開始されるフローチャートである。
【0170】
まず、ステップS2701において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から、プロトタイプ表示画面(
図8のステップS807~S810で生成したアプリケーション)が動作するSPAをダウンロードする。
【0171】
また、ステップS2701において、アプリケーションクライアント104は、プロトタイプアプリケーションでのユーザ権限情報を取得する。取得するデータの例が、たとえば2710のようなデータである。このデータはプロトタイプ表示画面アプリケーション生成時のステップS805において取得したデータ830と一緒である。
【0172】
更に、ステップS2701において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から取得したプログラムからプロトタイプ表示画面2501を起動する。すなわち、ステップS2701は、
図31の3101のような画面イメージのプロトタイプアプリケーションを表示するためのプログラムをダウンロードし、起動する処理を行うステップである。
【0173】
次のステップS2702において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプアプリケーション(iFrame)2502を起動する。起動している画面イメージは当初は
図32の3201であるが、次のステップS2703以降で表示されるプロトタイプ操作パネル3102が上層に表示(
図25の2502と2503のような関係)されているため、起動当初は、
図31の3101のような表示画面となる。
【0174】
次のステップS2703において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプ操作パネル(iFrame)2503を起動する。起動している画面イメージは
図31の3102のイメージである。このプロトタイプ操作パネルに表示されている設定を変更することにより、プロトタイプ(試作)アプリケーションの表示設定や画面の遷移設定を制御することができる。
図31のユーザ権限設定欄3121のように、ユーザ権限設定のチェックボックスは、ステップS805で取得したユーザ権限のデータ830から生成されている。
【0175】
プロトタイプ操作パネル3102が表示されている状態で、ユーザ権限設定欄3121が開発者から変更された場合に、次のステップS2704の処理へと遷移する。開発者によりユーザ権限設定欄3121が変更された場合の画面イメージを
図35を参照して説明する。
【0176】
図35は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0177】
図35のプロトタイプ操作パネル3502のユーザ権限設定欄3521は、
図31のプロトタイプ操作パネル3102と異なり、ユーザ権限設定欄3521の「guest」ではなく、「user」にチェックが入っている例である。
【0178】
図27のフローチャートの説明に戻って、次のステップS2704へと処理を遷移すると、アプリケーションクライアント104は、プロトタイプ操作パネル3502において変更されたユーザ権限設定欄3521の値をブラウザのローカルストレージに記憶する。
図31の3101を表示後にユーザ権限設定欄が変更された場合のステップS2704とS2705の処理を実行するソースコードの例を
図44と
図45に示す。
【0179】
次のステップS2705において、アプリケーションクライアント104は、プロトタイプアプリケーション2502をステップS2704で記憶したユーザ権限設定で表示する。
図35のプロトタイプ操作パネル3502のユーザ権限設定欄3521を受け付けた場合のプロトタイプアプリケーション画面のイメージを
図36を参照して説明する。
【0180】
図36は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0181】
図36のプロトタイプアプリケーション画面3601は、
図32のプロトタイプアプリケーション画面3201とは異なり、下線部分3602の部分に新たに出欠確認(User)が追加表示されている。これは、プロトタイプ表示画面生成時に、ステップS802で取得したユーザ権限毎の入出力許可項目のデータ820を反映したイメージ図である。すなわち、ユーザ権限設定欄3521が「user」に設定変更されているため、830の「user」に対応する権限名(Name)が「User」であり、「User」権限で入出力許可項目は、「出欠確認(User)」と「備考」である。そのため、
図36のプロトタイプアプリケーション画面3601は、下線部分3602のように、出欠確認(User)欄と備考欄とが表示されている。
【0182】
別の例も説明する。
【0183】
図37は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0184】
図37のプロトタイプ操作パネル3702のユーザ権限設定欄3721は、
図31のプロトタイプ操作パネル3102と異なり、ユーザ権限設定欄3722のように「guest」も「user」も「admin」にもチェックが入っている例である。この場合、
図8のユーザ権限毎の入出力許可項目のデータ820とユーザ権限データ830によると、「備考」欄、出欠確認(User)欄、出欠確認(Admin)欄、更新ボタンが入出力許可項目である。
【0185】
図38は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図であり、
図37のプロトタイプ操作パネル3702のユーザ権限設定を受けて表示される画面イメージである。
【0186】
図38のプロトタイプアプリケーション画面3801は、
図32のプロトタイプアプリケーション画面3201とは異なり、下線部分3802の部分に新たに出欠確認(Admin)と出欠確認(User)3803が追加表示されており、更に画面右の更新ボタン3804も追加で表示されている。
【0187】
以上の処理により、ユーザの役割に依存して画面遷移を行うプロトタイプのアプリケーションを作成することができる効果を有する。すなわち、通常の画面遷移だけをさせる試作型プアプリケーションを生成すると、ユーザ権限など関係なく、所定の画面表示や所定の画面遷移しかできないパターンとなるが、本願発明では、ユーザ権限を切り替えるプロトタイプ操作パネルの設定を有しており、ユーザ権限の切り替えにより、表示される画面イメージがユーザ権限毎に切り替わることを再現するができる。また、プロトタイプ操作パネルを有することにより、プロトタイプアプリケーションを実行中でもユーザ権限を変更し他画面イメージの確認が可能となる。
【0188】
次に、
図28を参照して、サーバでの処理時間の再現を表示する処理の流れを説明する。
【0189】
図28は、仮想のサーバでの処理時間を変更した際の処理の流れを示すフローチャートである。なお、以下のフローチャートの各ステップは、アプリケーションクライアント104のCPU201が実行する。
【0190】
図28のフローチャートは、アプリケーションクライアント104のWebブラウザ450から開発者のアクセスがあり、プロトタイプ表示画面(親画面)440のSPAがWebブラウザ450にダウンロードされた際に開始されるフローチャートである。
【0191】
まず、ステップS2801において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から、プロトタイプ表示画面(
図8のステップS807~S810で生成したアプリケーション)が動作するSPAをダウンロードする。
【0192】
また、ステップS2801において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から取得したプログラムからプロトタイプ表示画面2501を起動する。すなわち、ステップS2801は、
図39の3901のような画面イメージのプロトタイプアプリケーションを表示するためのプログラムをダウンロードし、起動する処理を行うステップである。サーバの処理時間の再現を表示する画面例として、
図39~
図41、
図32を参照して説明する。
【0193】
図39は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0194】
図39は、プロトタイプ表示画面起動後の画面イメージであり、ステップS2803に遷移した際に表示される画面例である。ステップS2801では、この画面のプロトタイプ表示画面の親画面(2501)を起動する。
【0195】
次のステップS2802において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプアプリケーション(iFrame)2502を起動する。
図40を参照して説明する。
【0196】
図40は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0197】
ステップS2802では、ステップS2801で起動された親画面の上に、プロトタイプアプリケーション画面4001が起動されるが、次のステップS2803以降で表示されるプロトタイプ操作パネル3902が上層に表示(
図25の2502と2503のような関係)されるため、起動当初は、
図39の3901のような表示画面となる。
【0198】
次のステップS2803において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプ操作パネル(iFrame)2503を起動する。起動している画面イメージは
図39の3902のイメージである。このプロトタイプ操作パネルに表示されている設定を変更することにより、プロトタイプ(試作)アプリケーションの表示設定や画面の遷移設定を制御することができる。
図39のプロトタイプ操作パネル3902には、処理時間設定欄3931のように、サーバでの処理時間を考慮してプロトタイプアプリケーション2502の画面遷移の表示を再現する設定欄を有する。
【0199】
プロトタイプ操作パネル3902が表示されている状態で、処理時間設定欄3931が開発者から変更された場合に、次のステップS2804の処理へと遷移する。
【0200】
処理時間設定欄3931は、起動時当初は、
図31の処理時間設定欄3131のように「0.2秒」であるが、処理時間設定欄3931では「2秒」に変更されている例である。
【0201】
次のステップS2804へと処理を遷移すると、アプリケーションクライアント104は、プロトタイプ操作パネル3902において変更されたサーバの処理時間設定欄3931の値をブラウザのローカルストレージに記憶する。
図39の3901を表示後に処理時間設定欄が変更された場合のステップS2804の処理で実行するソースコードの例を
図44に示す。
【0202】
次のステップS2805において、アプリケーションクライアント104は、プロトタイプアプリケーション2502をステップS2804で記憶した処理時間分待つ設定に変えて、次の画面に遷移するように再現するプロトタイプアプリケーションに変更する。
図46は、ステップS2805で実行されるソースコードの一部である。変更した後のプロトタイプアプリケーションの動きを
図41を参照して説明する。
【0203】
図41は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0204】
たとえば、
図39のプロトタイプ表示画面3901のように、プロトタイプ操作パネル3902において、処理時間設定欄3931が「2秒」と設定されている場合、たとえば3903のプロトタイプアプリケーション画面への遷移ボタンを押下すると、
図40の4001のような画面を表示する。次にユーザが動作を再現するため、検索ボタン4002を押下すると、
図41の画面イメージのように中央にさもサーバで処理中であるかのような表示画面4102を表示する。この処理中であるかを表示している時間が処理時間設定欄3931で設定された時間である。設定時間だけ表示画面4102を表示した後、次の画面遷移である
図32などを表示する。
【0205】
以上の処理により、画面遷移時の待ち時間を再現するプロトタイプのアプリケーションを作成することができる効果を有する。すなわち、本番環境のプアプリケーション(プロダクトアプリケーション)を生成時にサーバ側で生じる処理時間を再現することができる。たとえば、ビジネスユーザや営業担当者が一般ユーザにプロトタイプアプリケーションをデモンストレーションする際に、実際に処理時間がかかるであろうサーバとの処理の時間を再現し、サーバとの処理時間にはどういう画面が表示されるのかを再現することができる。このプロトタイプ表示画面アプリケーションはSPAで構成されているため、実際のサーバとの通信は必要ない。そのため、プロトタイプアプリケーションを実行(画面遷移)するだけであれば、処理時間はかからず、次々とプロトタイプアプリケーションは画面遷移する。本番環境のアプリケーション(プロダクトアプリケーション)の動作でサーバでの処理時間が考慮されていないため、サーバでの処理時間が考慮されていないデモンストレーションのみを見て納得している一般ユーザは、開発納品物の性能に関する食い違いが感じる可能性がある。本願発明のデモンストレーションであれば、サーバの処理時間を自由に設定できるので、開発納品物の性能に関する齟齬などが発生するリスクも少なくなる。
【0206】
次に、
図29を参照して、サーバでのエラーや通信エラーなどの発生時の再現を表示する処理の流れを説明する。
【0207】
図29は、仮想のサーバでエラーが生じた場合の処理の流れを示すフローチャートである。なお、以下のフローチャートの各ステップは、アプリケーションクライアント104のCPU201が実行する。
【0208】
図29のフローチャートは、アプリケーションクライアント104のWebブラウザ450から開発者のアクセスがあり、プロトタイプ表示画面(親画面)440のSPAがWebブラウザ450にダウンロードされた際に開始されるフローチャートである。
【0209】
まず、ステップS2901において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から、プロトタイプ表示画面(
図8のステップS807~S810で生成したアプリケーション)が動作するSPAをダウンロードする。
【0210】
また、ステップS2901において、アプリケーションクライアント104は、アプリケーションサーバ102(430)から取得したプログラムからプロトタイプ表示画面2501を起動する。すなわち、ステップS2901は、
図42の4201のような画面イメージのプロトタイプアプリケーションを表示するためのプログラムをダウンロードし、起動する処理を行うステップである。サーバでエラーが生じた場合の再現を表示する画面例として、
図40、
図42、
図43を参照して説明する。
【0211】
図42は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0212】
図42は、プロトタイプ表示画面起動後の画面イメージであり、ステップS2903に遷移した際に表示される画面例である。ステップS2901では、この画面のプロトタイプ表示画面の親画面(2501)を起動する。
【0213】
次のステップS2902において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプアプリケーション(iFrame)2502を起動する。起動されるプロトタイプアプリケーション画面の例が
図40である。
【0214】
ステップS2902では、ステップS2901で起動された親画面の上に、プロトタイプアプリケーション画面4001が起動されるが、次のステップS2903以降で表示されるプロトタイプ操作パネル4202が上層に表示(
図25の2502と2503のような関係)されるため、起動当初は、
図42の4201のような表示画面となる。
【0215】
次のステップS2903において、アプリケーションクライアント104は、プロトタイプ表示画面2501のiFrame部のプロトタイプ操作パネル(iFrame)2503を起動する。起動している画面イメージは
図42の4202のイメージである。このプロトタイプ操作パネルに表示されている設定を変更することにより、プロトタイプ(試作)アプリケーションの表示設定や画面の遷移設定を制御することができる。
図42のプロトタイプ操作パネル3902には、サーバとの通信時に仮想のエラーを生じさせるかのエラー発生トグルボタン4241を有しており、サーバにおけるエラー発生時を考慮してプロトタイプアプリケーション2502の画面遷移の表示を再現する設定欄を有する。
【0216】
プロトタイプ操作パネル4202が表示されている状態で、エラー発生トグルボタン4241が開発者により「オン」にされた場合に、次のステップS2904の処理へと遷移する。
【0217】
エラー発生トグルボタン4241は、起動時当初は、
図31のエラー発生トグルボタン3141のように「オフ」であるが、エラー発生トグルボタン4241では「オン」に変更されている例である。
【0218】
次のステップS2904へと処理を遷移すると、アプリケーションクライアント104は、プロトタイプ操作パネル4202において変更されたサーバのエラー発生トグルボタン4241の「オン」値をエラー設定状態として、ブラウザのローカルストレージに記憶する。
図42の4201を表示後にエラー設定状態が変更された場合のステップS2904の処理で実行するソースコードの例を
図44に示す。
【0219】
次のステップS2905以降は、ユーザによって
図42のプロトタイプアプリケーションへの遷移ボタン4203などが押下された後の処理である。遷移ボタン4203が押下された後の画面イメージは
図40の4001である。
【0220】
ステップS2905において、アプリケーションクライアント104は、プロトタイプアプリケーション2502をステップS2904で記憶したエラー設定状態を取得する。
図46は、ステップS2905以降で実行されるソースコードの一部である。
【0221】
次に、ユーザからたとえば、
図40からの画面遷移指示を受け付ける。
図40の場合、画面遷移指示である検索ボタン4002などが押下される。画面遷移指示を受け付けると、次のステップS2806へと処理を遷移する。
【0222】
次のステップS2906において、アプリケーションクライアント104は、取得したエラー設定状態がオン(有効)かオフ(無効)かによって処理を分ける。エラー設定状態がオンであった場合は、ステップS2907へと処理を遷移し、エラー設定状態がオフであった場合は、ステップS2908へと処理を遷移する。ステップS2908へと処理を遷移すると、エラー設定状態はオフであったため、アプリケーションクライアント104は、プロトタイプアプリケーションの通常の遷移画面である
図32に遷移する。
【0223】
一方、ステップS2907へと処理を遷移すると、アプリケーションクライアント104は、プロトタイプアプリケーションでエラーが生じたと仮定して処理をすすめる。具体的には、たとえば
図43の画面のようなイメージの画面を表示させても良い。
【0224】
図43は、本実施形態におけるプロトタイプ表示画面の一例を説明する模式図である。
【0225】
図43では、具体的に、検索ボタン4002による処理でエラーが発生した場合のエラー表示として4302のようなエラー表示項目が表示されている。
【0226】
以上の処理により、画面遷移に失敗した場合のエラー画面を再現することができるプロトタイプのアプリケーションを作成することができる。すなわち、本番環境のプアプリケーション(プロダクトアプリケーション)を生成時にサーバ側や通信時に生じるエラーを再現することができる。このプロトタイプ表示画面アプリケーションはSPAで構成されているため、実際のサーバとの通信は必要ない。そのため、プロトタイプアプリケーションを実行(画面遷移)するだけであれば、サーバでのエラーや通信エラーは発生しない。エラーが生じた際の、表示画面を再現したい開発者や一般ユーザの需要をSPAで実施することができる。また、エラー表示をより現実的に再現させる方法として、
図28でサーバでの仮想的な処理時間の再現と組み合わせても良い。
【0227】
以上のようなプロトタイプ表示画面は、各種端末のブラウザ内で起動可能なSPAで構成されているため、
図30の2501のように生成されたプロトタイプ表示画面アプリケーションをパーソナルコンピュータ(PC)やタブレットにダウンロードさせれば、それぞれの端末でプロトタイプアプリケーション2502を再現することができる。たとえば、タブレット3001にプロトタイプ表示画面アプリケーションをダウンロードさせると、タブレット上でプロトタイプ操作パネル2503やプロトタイプアプリケーション2502を操作することができる。営業担当者がパーソナルコンピュータ(PC)を持っていかなくても、タブレットでプロトタイプ表示画面アプリケーションを動作させることができる。タブレット上でもサーバでの処理時間を再現するプロトタイプアプリケーションを動作させたり、タブレットでの表示(3002)で、スマートフォンサイズの表示(3003)を再現させることができるため、顧客へのデモンストレーション時も1台の端末を持参すればあらゆる端末で表示させる画面や、画面遷移のパターンを再現することができる。
【0228】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0229】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0230】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0231】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0232】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0233】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0234】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0235】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0236】
101 プログラム開発装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク