(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-23
(45)【発行日】2024-05-02
(54)【発明の名称】情報処理装置、制御方法、プログラム
(51)【国際特許分類】
G06F 8/34 20180101AFI20240424BHJP
【FI】
G06F8/34
(21)【出願番号】P 2021005432
(22)【出願日】2021-01-18
【審査請求日】2022-06-15
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】湯木 太陽
(72)【発明者】
【氏名】柴本 文洋
(72)【発明者】
【氏名】高塚 剛
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2017-151530(JP,A)
【文献】特開2019-110514(JP,A)
【文献】特開2008-140194(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30
G06F 8/34
(57)【特許請求の範囲】
【請求項1】
複数の部品と複数のアクションに応じた処理により画面に情報を
表示するアプリケーションを生成する情報処理装置であって、
データの取得の処理ステップに係る第1設定情報を受け付ける第1の受付手段と、
前記第1設定情報に基づいて取得されたデータを用いて画面に表示する情報を作成するデータの出力の処理ステップに係る第2設定情報を受け付ける第2の受付手段と、
前記アプリケーションの画面に表示される複数の部品のうち指定された部品に対して設定された複数のアクションのうち、指定されたアクションに応じて実行される前記処理ステップの順序を受け付ける順序受付手段と、
前記部品に対するアクションに応じた処理が実行されるように、前記指定された部品に対して前記指定されたアクションに対応する前記受け付けた前記処理ステップの順序に従って、前記第1設定情報に基づいて前記データの取得の処理ステップによって前記データを取得し、前記第2設定情報に基づいて前記データの出力の処理ステップによって前記取得されたデータを用いて画面に表示する情報を作成し、前記作成される情報を画面に表示するアプリケーションを生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記順序受付手段は、既に受け付けた処理ステップに対する移動、複製、削除の操作により、前記処理ステップの順序の変更を受け付けることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記受け付けた前記処理ステップの順序を表示するよう制御する表示制御手段を備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記第1設定情報、および、前記第2設定情報は、それぞれ対応する処理ステップの属性情報として設定されることを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第1設定情報は、外部のデータの取得先に係る情報を含むことを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記第1設定情報はREST APIに係るURLを含むことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
複数の第1設定情報に基づき、前記生成されるアプリケーションは複数の取得先からデータを取得することを特徴とする請求項1~6に記載の情報処理装置。
【請求項8】
複数の部品と複数のアクションに応じた処理により画面に情報を
表示するアプリケーションを生成する情報処理装置の制御方法であって、
第1の受付手段が、データの取得の処理ステップに係る第1設定情報を受け付ける第1
の受付ステップと、
第2の受付手段が、前記第1設定情報に基づいて取得されたデータを用いて画面に表示
する情報を作成するデータの出力の処理ステップに係る第2設定情報を受け付ける第2の
受付ステップと、
順序受付手段が、
前記アプリケーションの画面に表示される複数の部品のうち指定された部品に対して設定された複数のアクションのうち、指定されたアクションに応じて実行される前記処理ステップの順序を受け付ける順序受付ステップと、
生成手段が、
前記部品に対するアクションに応じた処理が実行されるように、前記指定された部品に対して前記指定されたアクションに対応する前記受け付けた前記処理ステップの順序に従って、前記第1設定情報に基づいて前記データの取得の処理ステップによって前記データを取得し、前記第2設定情報に基づいて前記データの出力の処理ステップによって前記取得されたデータを用いて画面に表示する情報を作成し、前記作成される情報を画面に表示するアプリケーションを生成する生成ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項9】
複数の部品と複数のアクションに応じた処理により画面に情報を
表示するアプリケーションを生成する情報処理装置において実行可能なプログラムであって、
前記情報処理装置を、
データの取得の処理ステップに係る第1設定情報を受け付ける第1の受付手段と、
前記第1設定情報に基づいて取得されたデータを用いて画面に表示する情報を作成するデータの出力の処理ステップに係る第2設定情報を受け付ける第2の受付手段と、
前記アプリケーションの画面に表示される複数の部品のうち指定された部品に対して設定された複数のアクションのうち、指定されたアクションに応じて実行される前記処理ステップの順序を受け付ける順序受付手段と、
前記部品に対するアクションに応じた処理が実行されるように、前記指定された部品に対して前記指定されたアクションに対応する前記受け付けた前記処理ステップの順序に従って、前記第1設定情報に基づいて前記データの取得の処理ステップによって前記データを取得し、前記第2設定情報に基づいて前記データの出力の処理ステップによって前記取得されたデータを用いて画面に表示する情報を作成し、前記作成される情報を画面に表示するアプリケーションを生成する生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションを生成する情報処理装置に関する。
【背景技術】
【0002】
近年、企業内では、クライアント端末に特別なアプリケーションをインストールすることなく業務が行えるように、業務アプリケーションのWeb化が急速に進んでいる。そしてこのような業務アプリケーションの開発現場においては、開発スキル不足や要員不足を解決するために、Webアプリケーションをプログラミングレスで容易に作成できる開発ツールが用いられている。特許文献1には、コード生成器を使用してWebアプリケーションのコードを自動生成する仕組みが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、クラウドにあるデータを、自動収集デバイスを起動して収集するコードを生成することが可能となっている。
【0005】
しかしながら、現在では、クラウドデータの保管場所の変更や、データ形式の変更、クライアント画面の変更などのケースが発生する状態がある。このような場合、特許文献1のコード生成器だけでは対応できず、別途プログラミングや、別の開発ツールを用いる必要があった。
【0006】
そこで、本発明の目的は、アプリケーションを生成する情報処理装置において、画面に表示される部品に対するアクションに応じて、データを取得し当該取得したデータを用いて作成した情報を画面に出力するアプリケーションを効率的に生成することが可能な仕組みを提供することである。
【課題を解決するための手段】
【0007】
本発明は、複数の部品と複数のアクションに応じた処理により画面に情報を表示するアプリケーションを生成する情報処理装置であって、データの取得の処理ステップに係る第1設定情報を受け付ける第1の受付手段と、前記第1設定情報に基づいて取得されたデータを用いて画面に表示する情報を作成するデータの出力の処理ステップに係る第2設定情報を受け付ける第2の受付手段と、前記アプリケーションの画面に表示される複数の部品のうち指定された部品に対して設定された複数のアクションのうち、指定されたアクションに応じて実行される前記処理ステップの順序を受け付ける順序受付手段と、前記部品に対するアクションに応じた処理が実行されるように、前記指定された部品に対して前記指定されたアクションに対応する前記受け付けた前記処理ステップの順序に従って、前記第1設定情報に基づいて前記データの取得の処理ステップによって前記データを取得し、前記第2設定情報に基づいて前記データの出力の処理ステップによって前記取得されたデータを用いて画面に表示する情報を作成し、前記作成される情報を画面に表示するアプリケーションを生成する生成手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、アプリケーションを生成する情報処理装置において、画面に表示される部品に対するアクションに応じて、データを取得し当該取得したデータを用いて作成した情報を画面に出力するアプリケーションを効率的に生成することが可能な仕組みを提供することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明に係るシステムの構成図の一例である。
【
図2】情報処理装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【
図3】ソフトウェア構成を示すブロック図の一例である。
【
図5】アプリケーション生成処理の一例を示すフローチャートである。
【
図6】画面定義入力受付処理の一例を示すフローチャートである。
【
図7】アクション定義入力受付処理の一例を示すフローチャートである。
【
図8】アプリケーションソースコード生成処理の一例を示すフローチャートである。
【
図10】設定画面の一例を示す画面イメージである。
【
図11】設定画面の一例を示す画面イメージである。
【
図12】設定画面の一例を示す画面イメージである。
【
図13】設定画面の一例を示す画面イメージである。
【
図14】設定画面の一例を示す画面イメージである。
【
図15】生成されるソースコードの一例を示す図である。
【
図16】生成されるソースコードの一例を示す図である。
【
図17】生成されるソースコードの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【0011】
図1は、本発明に係る情報処理装置(アプリケーション開発者がアプリケーション開発のために操作するアプリケーション開発装置)、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントの構成の一例を示すシステム(情報処理システム)構成図である。なお、本実施形態においては、情報処理装置にて開発されたソフトウェアをアプリケーションと呼ぶが、アプリケーションに限定するものではなく、アプリケーション以外のソフトウェア(例:OS)であってもよい。
【0012】
情報処理装置101は、アプリケーション開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、プログラム生成、アプリケーション生成を行う。
【0013】
なお、本実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーション以外のアプリケーションであってもよい。
【0014】
また、本実施形態においては、情報処理装置101はアプリケーションのソースコード(プログラムコード)を生成するとしたが、この方法に限定するものではなく、ソースコードを生成することなく、アプリケーションサーバ102やクラウド環境等でアプリケーションが動作する様にデータやファイル等を生成することにより、アプリケーション(の動作環境)を構築する等であってもよい。
【0015】
アプリケーションサーバ102は、情報処理装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。
【0016】
データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、アプリケーション開発者が利用するためにデータベースサーバ103は、情報処理装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
【0017】
アプリケーションクライアント104(情報処理装置)は、アプリケーションサーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよいこととする。
【0018】
なお、情報処理装置101、アプリケーションサーバ102、データベースサーバ103、および、アプリケーションクライアント104の何れかを、クラウドなどのインターネット上に配置してもよい。
【0019】
【0020】
図2は、本発明に係わる情報処理装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。
【0021】
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
【0022】
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
【0023】
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
【0024】
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
【0025】
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0026】
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0027】
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
【0028】
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
【0029】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0030】
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0031】
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0032】
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【0033】
情報処理装置101は、以下の機能部を備える。
【0034】
画面定義設定部301は、レイアウトエディタにおいて、画面部品の選択を受け付け、当該画面部品の配置を設定する機能部である。
【0035】
処理フロー設定部302は、画面定義設定部301により配置された画面部品へのアクションに対して、必要な処理STEPを設定する機能部である。
【0036】
STEP設定部303は、設定された処理STEPに対して、STEPの種類に応じて処理の詳細を設定する機能部である。
【0037】
アプリケーション生成部304は、上記機能部により設定された内容に従ってプログラムコードを生成し実行可能な形式に変換することによりアプリケーションを生成する機能部である。
【0038】
【0039】
図4は、情報処理装置101、及びアプリケーションクライアント104の構成図である。
【0040】
情報処理装置101は、リポジトリ定義部400、アプリケーション生成部410、画面定義エディタ部420、アクションバインドエディタ部430、及びアプリケーション実行装置490を備える。
【0041】
情報処理装置101は、アプリケーション生成部410によりデータ表示アプリケーション491を生成する。開発者は、アプリケーションの受託開発者に限らず、広く情報処理装置101を使用する者を指す。
【0042】
リポジトリ定義部400には、アプリケーション定義401、画面定義402、画面部品定義403、アクションバインド定義404、画面部品定義403、アクションバインド定義404に紐づくアクション405が記憶されている。これら401~405の定義は、アプリケーション開発ツールを介して、開発者によって入力設定または配置される。
【0043】
アプリケーション定義401は、開発者が開発するアプリケーション全体の設定を保持する。
【0044】
画面定義402は、アプリケーションに含まれる各画面に配置される各種画面部品定義403の情報を保持する。画面定義402は、アクションバインド定義404及びアクション405の情報を含む。
【0045】
アプリケーション生成部410は、開発者により設定されたリポジトリ定義部400を解析し、アプリケーションを生成する。
【0046】
リポジトリ定義解析部411は、開発者により設定されたリポジトリ定義部400を解析する。
【0047】
アプリケーションコード生成部412は、リポジトリ定義解析部411の解析結果に応じたアプリケーションのソースコードを生成する。
【0048】
ソースコードコンパイル部413は、アプリケーションコード生成部412の生成したソースコードをコンパイルしアプリケーション実行装置490にデプロイする。
【0049】
画面定義エディタ部420は、開発者が画面部品定義403を設定するための要素である。画面定義エディタ部420は、レイアウトエディタ421、画面部品422、画面部品422に紐づく入力部品423、出力部品424、アクション部品425を含む。
【0050】
レイアウトエディタ421は、開発者が所望の画面レイアウトを直観的に作成するためのグラフィカルエディタである。
【0051】
画面部品422は、開発者が所望の画面部品をドラッグ&ドロップによって画面に配置するための部品一覧である。
【0052】
アクションバインドエディタ部430は、開発者がアクションバインド定義404を設定するための要素である。アクションバインド定義404は、STEP選択部431、アクション選択部432、フローエディタ部433、アクションデータ定義部460、バインドデータ定義部470、ロジックデータ定義部480を含む。
【0053】
STEP選択部431は、開発者が所望のSTEPをドラッグ&ドロップによって画面に配置するための部品一覧である。STEP選択部431は、アクションSTEP441、ロジックSTEP442、バインドSTEP443を含む。
【0054】
アクション選択部432は、開発者がアクション405を設定する対象のアクションを選択するためのアクション一覧である。
【0055】
フローエディタ部433は、開発者が所望のアクションをフローチャート形式に直観的に作成するためのグラフィカルエディタである。フローエディタ部433はアクションデータ451、ロジックデータ452、バインドデータ453、連結データ454、ターミネータデータ455を含む。
【0056】
アクションデータ定義部460は、アクションデータ434を設定するエディタである。アクションデータ定義部460は、ラベル定義部461、REST URL定義部462、RESTメソッド定義部463、RESTパラメータ定義部464、RESTパラメータ追加部465を含む。
【0057】
バインドデータ定義部470は、入力バインドデータ435、出力バインドデータ436を設定するエディタである。バインドデータ定義部470は、バインドデータ定義設定部471、バインドデータ定義472、変数473、画面部品ID474、レスポンスデータ475、ロジック476を含む。
【0058】
ロジックデータ定義部480は、ロジックデータ437を設定するエディタである。ロジックデータ定義部480は、ロジックステートメント記述部481、ロジックステートメント482、変数483、ロジック484を含む。
【0059】
アプリケーション実行装置490は。アプリケーション生成部410が生成したデータ表示アプリケーション491を実行するための装置である。
【0060】
データ表示アプリケーション491は、アプリケーション生成部410が生成したアプリケーションである。データ表示アプリケーション491は、画面モジュール492、アクションバインドモジュール493を含む。
【0061】
画面モジュール492は、データ表示アプリケーション491のうちユーザインタフェースの機能を持つモジュールである。
【0062】
アクションバインドモジュール493は、画面モジュール492とアクションを紐づけ、当該アクションを実行するモジュールである。
【0063】
外部サービス494は、REST API495を含むサービスであり、アクションバインドモジュール493によって呼び出されるデータである。
図5は、アプリケーション生成処理の一例を示す図である。
【0064】
ステップS501において、情報処理装置101は、画面定義入力を受け付ける。本処理については
図6で詳述する。
【0065】
ステップS502において、情報処理装置101は、アクション定義入力要求があったかを判定する。具体的には、1101のアクションタブが押下されたかを判定する。
【0066】
そして、情報処理装置101は、アクション定義入力要求があったと判定した場合には、ステップS503に遷移する。
【0067】
ステップS503において、情報処理装置101は、開発者からのアクション定義の入力を受け付ける。本処理については
図7で詳述する。
【0068】
ステップS504において、情報処理装置101は、画面定義保存要求があったかを判定する。
【0069】
そして、情報処理装置101は、画面定義保存要求があったと判定した場合には、ステップS505に遷移する。
【0070】
一方、情報処理装置101は、画面定義保存要求があったと判定しなかった場合には、ステップS506に遷移する。
【0071】
ステップS505において、情報処理装置101は、画面定義をリポジトリ定義部400に保存する。
【0072】
ステップS506において、情報処理装置101は、アプリケーション生成要求があったかを判定する。
【0073】
そして、情報処理装置101は、アプリケーション生成要求があったと判定した場合には、ステップS507に遷移する。
【0074】
一方、情報処理装置101は、アプリケーション生成要求があったと判定しなかった場合には、ステップS501に遷移する。
【0075】
ステップS507において、情報処理装置101は、アプリケーションのソースコードを生成する。本処理については
図8で詳述する。
【0076】
【0077】
図6は、
図5のステップS501から呼び出される画面定義入力受付処理の一例を示す図である。
【0078】
ステップS601において、情報処理装置101は、開発者による画面部品の配置を受け付ける。具体的には、画面部品422の一例である
図9の画面部品リスト901から、ドラッグ&ドロップによりレイアウトエディタ421(
図9の900)への部品の配置を受け付ける。902は配置された部品である。
【0079】
ステップS602において、情報処理装置101は、部品IDの入力要求があったかを判定する。
【0080】
そして、情報処理装置101は、部品IDの入力要求があったと判定した場合には、ステップS603に遷移する。
【0081】
一方、情報処理装置101は、部品IDの入力要求があったと判定しなかった場合には、ステップS604に遷移する。
【0082】
ステップS603において、情報処理装置101は、開発者による部品IDの入力を受け付ける。具体的には配置された部品902のプロパティである画面部品ID474の一例である911の入力を受け付ける。
【0083】
ステップS604において、情報処理装置101は、レイアウトエディタ421内で一意となる部品IDを設定する。
【0084】
ステップS605において、情報処理装置101は、アクションイベントを含む部品が配置されたかを判定する。アクションイベントを含むか否かについては、画面部品の種類ごとに定義されている。
【0085】
そして、情報処理装置101は、アクションイベントを含む部品が配置されたと判定した場合には、ステップS606に遷移する。
【0086】
一方、情報処理装置101は、アクションイベントを含む部品が配置されたと判定しなかった場合、画面定義入力受付処理を終了する。
【0087】
ステップS606において、情報処理装置101は、該部品に設定されたアクションを登録する。具体的にはクリックというアクションを持つボタン部品の場合、アクション選択部432の一例である1001内のアクション一覧に種別がボタン、操作がクリックのアクションを登録する。
【0088】
【0089】
図7は、
図5のステップS503から呼び出されるアクション定義入力受付処理の一例を示す図である。
【0090】
ステップS701において、情報処理装置101は、開発者によるアクションイベントの選択を受け付ける。具体的には、アクション選択部432の一例である選択メニュー1001を押下し、アクションイベントの一覧1002を開く。1002からユーザがアクションを作成したいアクションイベントを選択する。該例ではアクション選択部432はモーダルダイアログで表示しているが、アクション選択部432はドロップダウンリストでもよい。また、画面の特定の領域をアクション選択部432として確保してもよい。
【0091】
ステップS702において、情報処理装置101は、入力バインド設定の入力要求があったかを判定する。具体的には、バインドデータ定義部470の一例であるバインドデータ設定画面1200(
図14)に入力バインドデータ435の一例である1201の入力があったかを判定する。
【0092】
そして、情報処理装置101は、バインド設定の入力要求があったと判定した場合は、ステップS703に遷移する。
【0093】
一方、情報処理装置101は、バインド設定の入力要求があったと判定しなかった場合は、ステップS704に遷移する。
【0094】
ステップS703において、情報処理装置101は、開発者による入力バインド設定の入力を受け付ける。具体的には、バインドデータ定義部470の一例であるバインドデータ設定画面1200のバインドデータ定義設定部471にバインドデータ定義472を記述する。バインドデータ定義472では1201の項目コードと変数名を対応させることができる。項目コードには
図6ステップS603または、S604で設定した部品IDの一例である1221を設定する。変数名には変数473を設定する。このとき変数473は入力バインドデータ435内で一意の文字列である。ここで設定した変数473は
図7のステップS704及び、S709で使うことができる。
【0095】
ステップS704において、情報処理装置101は、フロー設定画面1100(
図11)を表示し、開発者によるSTEP部品の配置を受け付ける。具体的には、アクションエディタ画面1000(
図10)にてSTEP選択部431の一例であるSTEP部品リスト1102からフローエディタ部433の一例であるフローエディタ1103へのドラッグ&ドロップによるSTEP部品の配置を受け付ける。STEP部品の配置方法は、STEP選択部431からフローエディタ部433へのドラッグ&ドロップに限らず、既に配置したSTEP部品を移動する方法や、既に配置したSTEP部品をコピー&ペーストにより複製する方法であってもよい。また、一度配置した部品を削除できてもよい。
【0096】
ステップS705において、情報処理装置101は、STEP設定の入力受付があったかを判定する。
【0097】
そして、情報処理装置101は、STEP設定の入力受付があったと判定した場合には、ステップS704に遷移する。
【0098】
一方、情報処理装置101は、STEP設定の入力受付があったと判定しなかった場合には、ステップS705に遷移する。
【0099】
ステップS706において、情報処理装置101は、開発者によるSTEP設定の入力を受け付ける。ここでは、STEPの種類に応じた設定画面を表示して設定の入力を受け付ける。
【0100】
具体的には、例えばSTEPの種類が「RESTデータ処理」の場合、アクションデータ定義部460の一例であるRESTデータ処理STEP設定画面1110(
図12)にラベル定義部461の一例である1111、RESTメソッド定義部463の一例である1112、REST URL定義部の一例である1113、RESTパラメータ定義部の一例である1114の入力を行う。本例ではアクションデータ定義部460はフォーム形式で入力を行っているがアクションデータ定義部460はJson形式であっても他のデータ形式であってもよい。
【0101】
また、例えばSTEPの種類が「スクリプト」の場合、ロジックデータ定義部480の一例であるスクリプトSTEP設定画面1120(
図13)にロジックステートメント記述部481の一例である1121、変数483一例である1122の入力を行う。本例ではロジックデータ定義部480はフォーム形式で入力を行っているがロジックデータ定義部480はJson形式であっても他のデータ形式であってもよい。
【0102】
ステップS707において、情報処理装置101は、開発者によるSTEP部品入力が確定したかを判定する。
【0103】
そして、情報処理装置101は、開発者によるSTEP部品入力が確定したと判定した場合は、ステップS708に遷移する。
【0104】
一方、情報処理装置101は、開発者によるSTEP部品入力が確定したと判定しなかった場合は、ステップS704に遷移する。
【0105】
ステップS708において、情報処理装置101は、出力バインド設定の入力要求があったかを判定する。具体的には、バインドデータ定義部470の一例であるバインドデータ設定画面1200に出力バインドデータ436の一例である1202の入力があったかを判定する。
【0106】
そして、情報処理装置101は、バインド設定の入力要求があったと判定した場合は、ステップS709に遷移する。
【0107】
一方、情報処理装置101は、バインド設定の入力要求があったと判定しなかった場合は、アクション定義入力受付を終了する。
【0108】
ステップS709において、情報処理装置101は、開発者によるバインド設定の出力バインド設定の入力を受け付ける。具体的には、バインドデータ定義部470の一例であるバインドデータ設定画面1200のバインドデータ定義設定部471にバインドデータ定義472を記述する。バインドデータ定義472では1202の項目コードと値を対応させることができる。項目コードには
図6ステップS603または、S604で設定した部品IDの一例である1241を設定する。値には変数473、レスポンスデータ475、ロジック476を設定する。
【0109】
【0110】
図8は、
図5のステップS507から呼び出されるアプリケーションソースコード生成処理の一例を示す図である。
【0111】
ステップS801において、情報処理装置101は、開発者が指定したアプリケーション定義401を読込む。
【0112】
ステップS802において、情報処理装置101は、ステップS801で読込んだアプリケーションに含まれる画面定義402を読込む。
【0113】
ステップS803において、情報処理装置101は、ステップS802で読込んだ画面定義に含まれる画面部品定義403を読込む。
【0114】
ステップS804において、情報処理装置101は、ステップS802で読込んだ画面定義に含まれるアクション405を読込む。
【0115】
ステップS805において、情報処理装置101は、ステップS802で読込んだ画面定義に含まれるアクションバインド定義404を読込む。
【0116】
ステップS806において、情報処理装置101は、ステップS801~ステップS805で読込んだ情報を元に、アプリケーションのソースコードを生成する(
図15、
図16、
図17)。具体的には、アクションバインド定義404の一例である1201、1202と、画面部品ID474が1221で画面部品定義403の一例である1220を含む入力画面定義1210、画面部品ID474が1241で画面部品定義403の一例である1240によって定義される出力画面定義1230の情報を元に、データ表示アプリケーション491のバインド部分のソースコードの一例である1300、1310を自動生成する。また、フローエディタ1103のSTEP配置設定に基づいて、STEPの実行順序を制御するソースコードの一例である1320を生成する。また、アクションデータ434の一例であるRESTデータ処理STEP設定画面1110の情報を元に、データ表示アプリケーション491のソースコードの一例である1330を、ロジックデータ437の一例であるスクリプトSTEP設定画面1120の情報を元に、データ表示アプリケーション491のソースコードの一例である1340を自動生成する。該例では生成したソースコードはJavaで書かれているが、ソースコードは他のプログラミング言語であってもよい。
【0117】
【0118】
以上により、アプリケーション構築ツールにおいて、データの取得、変換に関する設定情報を統合的に管理することが可能な仕組みを提供することが可能となる。具体的には、各設定情報をフローチャート上の各ステップの属性情報として管理することができる。
【0119】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0120】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0121】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0122】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0123】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0124】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0125】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
【0126】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0127】
101 情報処理装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク