以下、図面を参照して本発明に係るアプリケーション生成支援システムに用いられるサーバ、通信端末、およびこれらを動作させるためのプログラムは、多くの異なる態様で実施することが可能であり、以下に示す実施の形態の記載内容に限定して解釈されるものではない。なお、本実施の形態で参照する図面において、同一部分または同様な機能を有する部分には同一の数字または同一の数字の後にアルファベットを追加した符号を付し、その繰り返しの説明は省略する。
〈第1実施形態〉
図1〜図15を用いて、本発明の第1実施形態に係るアプリケーション生成支援システム10、アプリケーション生成支援システム10に用いるサーバ100、第1通信端末200、および第2通信端末300、ならびにこれらを動作させるためのプログラムについて詳細に説明する。第1実施形態に示すアプリケーション生成支援システム10は、ネットワーク400を介してサーバ100に接続された第1通信端末200によって設定されたパラメータに基づいて、サーバ100がアプリケーションを生成するシステムである。生成されたアプリケーションは、ネットワーク400を介してサーバ100に接続された第2通信端末300によってダウンロードされる。
以下の説明において、第1通信端末200は、例えばデスクトップ型パソコン(PC)などのモバイル用ではない通信端末である。第2通信端末300は、例えばスマートフォンやタブレット端末などのモバイル用の通信端末である。ただし、上記の構成に限定されない。例えば、第1通信端末200がモバイル用の通信端末であってもよく、第2通信端末300がモバイル用ではない通信端末であってもよい。
[アプリケーション生成支援システム10の概要]
図1は、本発明の一実施形態に係るアプリケーション生成支援システムの概要を示す図である。図1に示すように、本発明に係るアプリケーション生成支援システム10は、サーバ100、第1通信端末200、および第2通信端末300を有する。サーバ100は情報処理装置である。第1通信端末200はモバイル用ではない通信端末である。第2通信端末300はモバイル用の通信端末である。サーバ100はデータベース102に接続されている。
サーバ100、第1通信端末200、および第2通信端末300はそれぞれネットワーク400に接続されている。本実施形態では、ネットワーク400は社内LANなどのローカルネットワークであるが、一般的なWorld Wide Web(WWW)であってもよい。第1通信端末200は、ネットワーク400を介してサーバ100と通信する。同様に、第2通信端末300は、ネットワーク400を介してサーバ100と通信する。
図1では、データベース102がサーバ100に直接接続された構成を例示したが、この構成に限定されない。例えば、データベース102が直接ネットワーク400に接続されていてもよい。
[サーバ100のハードウェア構成]
図2は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられるサーバのハードウェア構成を示す概略図である。図2に示すように、サーバ100は、サーバ制御部110、サーバ記録部120、およびサーバ通信部130を有する。
サーバ制御部110は、中央演算処理装置(CPU:Central Processing Unit)、レジスタやメモリなどの記憶装置を含む。サーバ制御部110は、メモリに一時的に記憶されたプログラムをCPUによって実行し、第1通信端末200および第2通信端末300からの命令信号に応じて演算処理を行う。
サーバ記録部120は大容量のデータを記録することができる記録装置であり、演算処理に必要なプログラムなどが記録されている。サーバ記録部120に記録されているプログラムはサーバ制御部110によって読み出しされてサーバ制御部110の記憶装置に一時的に記憶される。また、サーバ記録部120は第1通信端末200および第2通信端末300から送信された情報を記録する。サーバ記録部120はハードディスクであってもよく、揮発性または不揮発性のメモリであってもよい。なお、上記のサーバ記録部120に記録される情報は、サーバ記録部120の代わりにデータベース102に記録されてもよい。
サーバ通信部130は、外部機器に対してデータを送受信可能に接続することができる制御装置であり、ネットワーク400に対するデータの送受信を制御する。
[第1通信端末200のハードウェア構成]
図3は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられる第1ユーザの通信端末のハードウェア構成を示す概略図である。図3に示すように、第1通信端末200は、PC本体210、表示装置220、および入力装置230を有する。PC本体210は、端末記憶装置211、端末制御装置213、および端末通信部215を有する。図3では、第1通信端末200としてデスクトップ型PCを例示したが、この例に限定されない。第1通信端末200はネットワーク400を介してサーバ100に接続することができ、サーバ100から提供されたグラフィックユーザインターフェース(GUI)を表示することができ、GUIに対してパラメータを設定または入力することができればよく、スマートフォン、携帯電話、タブレットPC、PDA、ノートPC、PHSであってもよい。
端末記憶装置211は、第1通信端末200に特定の機能を実行させるためのプログラムおよび第1通信端末200を所有するユーザの端末情報等のデータを記録する。端末記憶装置211として、ハードディスク、フラッシュメモリ等の不揮発性メモリおよびSRAM、DRAM等の揮発性メモリが用いられる。プログラム等のデータは不揮発性メモリに記録され、プログラムを実行する際に不揮発性メモリから読み出されて揮発性メモリに一時的に記憶される。
端末制御装置213は、CPUなどの演算回路やメモリおよびレジスタなどの記憶回路を有する。端末制御装置213は、端末記憶装置211に記録されたプログラムをCPUによって実行し、第1通信端末200によって入力された命令信号に応じて、第1通信端末200の各種機能を実現する。
端末通信部215は、外部機器に対してデータを送受信可能に接続することができる制御装置であり、ネットワーク400に対するデータの送受信を制御する。
[第2通信端末300のハードウェア構成]
図4は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられる第2ユーザの通信端末のハードウェア構成を示す概略図である。図4に示すように、第2通信端末300は、端末記録部310、端末制御部320、端末通信部330、ディスプレイ340、カメラ350、操作ボタン360、スピーカ370、およびマイク380を有する。
端末記録部310は、第2通信端末300に特定の機能を実行させるためのプログラム、第2通信端末300にインストールされたアプリケーションプログラム、および第2通信端末300を所有するユーザの端末情報等のデータを記録する。端末記録部310として、フラッシュメモリ等の不揮発性メモリおよびSRAM、DRAM等の揮発性メモリが用いられる。プログラム等のデータは不揮発性メモリに記録され、プログラムを実行する際に不揮発性メモリから読み出されて揮発性メモリに一時的に記憶される。
端末制御部320は、CPUなどの演算回路やメモリおよびレジスタなどの記憶回路を有する。端末制御部320は、端末記録部310に記録されたプログラムをCPUによって実行し、第2通信端末300によって入力された命令信号に応じて、第2通信端末300の各種機能を実現する。
端末通信部330は、外部機器に対してデータを送受信可能に接続することができる制御装置であり、ネットワーク400に対するデータの送受信を制御する。また、端末通信部330は全地球測位システム(Global Positioning System;GPS)機能を有していてもよい。GPS機能は第2通信端末300のネイティブ機能の一つである。GPS機能を有効にするアプリケーションを起動すると、端末通信部330は上空の衛星からの信号を受信し、第2通信端末300の現在位置を知ることができる。
ディスプレイ340は、液晶ディスプレイ、有機ELディスプレイなどを使用することができる。また、ディスプレイ340はタッチセンサを有していてもよい。タッチセンサは、抵抗膜方式、静電容量方式、光学式のセンサなどを使用することができる。
カメラ350は、ディスプレイ340と反対側に設けられている。つまり、ディスプレイ340が設けられた側を表面とすると、カメラ350は裏面に設けられている。なお、カメラ350とは別個のカメラが表面に設けられていてもよい。カメラ350は、レンズユニットおよび撮像素子を有している。カメラ350の機能は第2通信端末300のネイティブ機能の一つである。カメラ350の機能を有効にするアプリケーションを起動すると、レンズユニットを介して撮像素子で検知される映像がディスプレイ340に表示される。この映像が撮像素子で検知されている間にユーザによって作動指示が入力されると、端末制御部320は、その作動指示に応じて撮像素子で検知された映像の静止画像を取得する。
図4では、第2通信端末300が操作ボタン360、スピーカ370、およびマイク380を有する構成を例示したが、この構成に限定されない。必要がなければ、操作ボタン360、スピーカ370、およびマイク380は省略されてもよい。
図4では、第2通信端末300の一例として、スマートフォンを示したが、アプリケーション生成支援システム10に用いる第2通信端末300はスマートフォンに限定されない。アプリケーション生成支援システム10に用いる第2通信端末300として、スマートフォン以外にも携帯電話、タブレットPC、PDA、ノートPC、PHSなどが用いられてもよい。
[サーバ100の機能構成]
図5は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられるサーバの機能構成を示すブロック図である。図5に示すように、サーバ100は、アプリケーション開発支援ツール140およびビルドシェル150を有する。アプリケーション開発支援ツール140は、GUI提供部141およびパラメータ受付部143を有する。ビルドシェル150は、パラメータ受信部151、パラメータチェック部153、ファイル設定部155、アプリケーションパッケージ生成部157、およびダウンロード(DL)情報提供部159を有する。上記の各機能部の機能は、サーバ100のサーバ制御部110がサーバ記録部120に記録されたプログラムをCPUによって実行することで実現される。なお、本実施形態では、1つのサーバ100にアプリケーション開発支援ツール140およびビルドシェル150が含まれる構成を例示したが、この構成に限定されない。例えば、アプリケーション開発支援ツール140およびビルドシェル150がそれぞれ異なるサーバに含まれており、これらのサーバが協働することで、アプリケーション生成支援システム10が実現されてもよい。
GUI提供部141は、第1通信端末200を操作する第1ユーザに対して、アプリケーションに搭載される機能を設定するためのパラメータを選択または入力するインターフェースを提供する。GUI提供部141によって提供されたインターフェースは第1通信端末200の表示装置220に表示される。
パラメータ受付部143は、GUI提供部141によって提供されたインターフェースに対して、第1通信端末200によって選択または入力されたパラメータを受け付ける。
アプリケーション開発支援ツール140には、アプリケーションを開発するために必要なツールが格納されている。つまり、アプリケーション開発支援ツール140には、アプリケーションの開発に必要な機能プログラムのテンプレートが複数登録されている。GUI提供部141は、複数のテンプレートを選択することができるインターフェースを第1ユーザに提供する。上記のテンプレートでは、アプリケーションがインストールされる第2通信端末300の基本的な動作が規定されている。
アプリケーション開発支援ツール140には、例えば、テキストエディタ、インターフェースビルダ、デバッガ、コンパイラ、およびOSシミュレータなどが格納されている。テキストエディタはプログラムを書くためのツールである。例えば、テキストエディタはプログラムの自動入力およびプログラム構文の強調(シンタックスハイライト)の機能を有する。インターフェースビルダは、アプリケーションのインターフェースを作るためのツールである。例えば、インターフェースビルダは、ボタンおよびスイッチなどの部品をドラッグ&ドロップによって配置することで、インターフェースを作成する。デバッガは、プログラムの動作に問題がないかチェックするために、プログラムの実行途中で動作を止めて中の状態を確認するツールである。コンパイラは、プログラムをコンピュータが理解できる形式に変換するツールである。OSシミュレータは、アプリケーションをダウンロードする通信端末のOSの動作に似た動作をする「シミュレータ」によって、アプリケーションの動作を確認するツールである。
第1ユーザが、GUI提供部141によって提供されたテンプレートから希望する機能プログラムを選択すると、パラメータ受付部143は、特定の機能プログラムが選択されたことをパラメータとして受け付ける。
なお、アプリケーション開発支援ツール140として、例えばXcode(登録商標)、JAVA(登録商標)のソフトウェア開発キット(Software Development Kit;SDK)、またはAndroid SDKを用いることができる。アプリケーション開発支援ツール140として、Xcodeが用いられる場合、Jenkins(登録商標)を用いてもよい。Jenkinsとは、JAVAで記述されたオープンソース継続的インテグレーションツールである。
パラメータ受信部151は、第1通信端末200を操作する第1ユーザによって設定されたパラメータを、ネットワーク400を介して受信する。詳細は後述するが、第1ユーザによって設定されるパラメータは、アプリケーションがインストールされる第2通信端末300の動作に関連するパラメータである。換言すると、当該パラメータは後述する設定ファイル(OS設定ファイルおよびアプリケーション設定ファイル)およびプラグインファイルに関連するパラメータを含むパラメータである。
パラメータチェック部153は、パラメータ受信部151が受信したパラメータの形式が規定の形式に適合しているか否かをチェックする。例えば、アプリケーション生成支援システム10によってハイブリッドアプリケーションが生成され、第2ユーザの第2通信端末300にインストールされる場合、第2通信端末300において当該アプリケーションを起動したときに、第2通信端末300が最初にアクセスするWebページの初期URLを設定する必要がある。URLは『http://』や『https://』のように形式が規定されているため、パラメータチェック部153は、初期URLの形式が上記の形式に適合しているか否かをチェックする。詳細は後述するが、パラメータチェック部153がパラメータの形式が規定の形式ではないと判断すると、エラーメッセージを通知する。パラメータチェック部153は上記の機能の他にも、アプリケーションを生成するために必要な設定ファイルの形式をチェックする。
ファイル設定部155は、パラメータ受信部151が受信し、パラメータチェック部153のチェックを通過したパラメータに応じてアプリケーションの動作を規定する設定ファイルを設定する。換言すると、ファイル設定部155は、第2通信端末300の動作に関連するパラメータに応じてアプリケーションの動作を規定する設定ファイルを設定する。
ここで、ファイル設定部155のさらに詳細な機能について、図6を用いて説明する。図6は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられるサーバの設定ファイル設定部の詳細を示すブロック図である。図6に示すように、ファイル設定部155は、パラメータ確認部1551、テンプレート関連付け部1553、およびプログラム更新部1555を有する。
パラメータ確認部1551は、第1ユーザによって設定されたパラメータを確認し、アプリケーションに組み込まれる機能を決定する。パラメータ確認部1551は、確認されたパラメータに基づき、アプリケーション開発支援ツール140に予め準備されている複数のテンプレートから、当該パラメータに関連するテンプレートを選択する。
テンプレート関連付け部1553は、パラメータ確認部1551によって選択されたテンプレートを互いに関連付ける。つまり、テンプレート関連付け部1553は、アプリケーションに組み込まれる機能の集合体を定義する。テンプレート関連付け部1553によって互いに関連付けられた機能が、最終的に生成されるアプリケーションが有する機能になる。
プログラム更新部1555は、テンプレート関連付け部1553によって互いに関連付けられたテンプレートによって規定された動作の各々が、第2通信端末300にインストールされたアプリケーション上で実現可能となるように、当該テンプレートの一部を更新する。上記のテンプレートでは、アプリケーションがインストールされる第2通信端末300の基本的な動作が規定されているが、更新前のテンプレートでは、第2通信端末300の動作に合わせてアプリケーションの表示を調整することができない場合がある。プログラム更新部1555は、第2通信端末300の動作に合わせてアプリケーションの表示が正常に調整されるように、テンプレートの一部を更新する。
例えば、第2通信端末300を右に90度回転させる動作が規定されたテンプレートを更新せずにアプリケーションに組み込んだ場合、第2通信端末300を右に90度回転させても、アプリケーションの表示が90度回転した第2通信端末300の画面に適した表示にならない場合がある。このような場合であっても、プログラム更新部1555によるテンプレートの更新によって、第2通信端末300の回転動作に応じてアプリケーションの表示が回転した第2通信端末300の状態に適した表示になる。
後述するように、テンプレートには、OS設定ファイル用のテンプレートおよびアプリケーション設定ファイル用のテンプレートがある。OS設定ファイル用のテンプレートは、異なる種類の第2通信端末300に共通する動作が規定されたテンプレートであり、第2通信端末300の動作に関連したアプリケーションの動作が規定されている。アプリケーション設定ファイル用のテンプレートは、第1ユーザによって入力されるパラメータを受け付けるブランクを含むテンプレートであり、第2通信端末300の動作に関連したアプリケーションの動作が規定されている。OS設定ファイルは、OS設定ファイル用のテンプレートの一部を第1通信端末200によって設定されたパラメータに置換することで得られる。一方、アプリケーション設定ファイルは、アプリケーション設定ファイル用のテンプレートの一部に対して第1通信端末200によって入力された情報を上書きすることで得られる。
以下、図5に戻ってビルドシェル150の残りの機能部について説明する。
アプリケーションパッケージ生成部157は、上記のようにファイル設定部155によって設定された設定ファイルに基づいてアプリケーションパッケージを生成する。具体的には、アプリケーションパッケージ生成部157は、上記の設定ファイルをコンパイルし、アプリケーションを第2通信端末300にインストール可能なアーカイブ形式のファイルを生成する。
DL情報提供部159は、アプリケーションパッケージ生成部157によって生成されたアプリケーションパッケージのダウンロード情報を第2通信端末300に提供する。例えば、DL情報提供部159は、当該アプリケーションパッケージが登録されたダウンロードページを生成し、生成されたダウンロードページのURLを第2通信端末300に提供してもよい。ダウンロードページのURLはアプリケーション開発支援ツール140によって提供されるインターフェースを介して第2通信端末300に表示されてもよい。
[アプリケーション生成支援システム10の動作フロー]
図7〜図15を用いて、図5および図6に示したアプリケーション生成支援システム10の各機能ブロックの動作について、フローチャートおよびユーザに表示されるインターフェースの一例を用いて詳しく説明する。
まず、図7〜図13を用いて、第1ユーザが設定したパラメータに基づいてアプリケーションを生成し、当該アプリケーションをダウンロード可能に提供する動作について説明する。図7は、本発明の一実施形態に係るアプリケーション生成支援システムのアプリケーション生成動作を示すフローチャートである。図7では、第1ユーザが第1通信端末200を用いてアプリケーションに必要な機能を設定し、その設定に基づいてビルドシェル150がアプリケーションパッケージを生成し、そのアプリケーションパッケージのダウンロード情報を提供する動作について説明する。
まず、第1ユーザの操作によって、第1通信端末200がネットワーク400を介してアプリケーション開発支援ツール140にHTTP接続する(ステップ501)。第1通信端末200によってアクセスされたアプリケーション開発支援ツール140は、第1通信端末200にパラメータ設定GUIを提供する(ステップ511)。提供されたパラメータ設定GUIは第1通信端末200の表示装置220によって第1ユーザに表示される。
第1通信端末200に表示されるパラメータ設定GUIの一例について、図8を用いて説明する。図8は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータ入力動作におけるインターフェースである。図8に示すように、インターフェース600には、プロジェクト名610、項目名620、入力欄630、およびアプリケーション生成ボタン(ビルドボタン)640が含まれる。
プロジェクト名610にはアプリケーションを生成するプロジェクトを識別するための名称が表示される。プロジェクト名610に表示される名称はユーザによって指定された名称であってもよく、サーバによって自動的に割り当てられた名称であってもよい。
項目名620にはアプリケーションによって実行される機能を示す名称が表示される。図8の項目名620に表示された項目の詳細は後述する。
入力欄630にはユーザによる入力または選択を受け付ける領域が設けられている。入力欄630の入力形式は項目名620によって異なる。例えば、「CFBUNDLE_DISPLAY_NAME」および「INFO_CFBUNDLE_VERSION」の入力欄630は、任意の文字列を受け付ける。これらの項目名620はアプリケーションを識別するための情報として用いられる。
「LANDSCAPE_LEFT」、「PORTRAIT_UPSIDE_DOWN」、および「LANDSCAPE_RIGHT」の入力欄630はチェックボックス形式の入力を受け付ける。つまり、ユーザは、これらの項目名に関連する機能をアプリケーションに搭載するか否かを選択によって決定することができる。
「APP_START_PAGE_URL」の入力欄630は規定の形式の文字列を受け付ける。この入力欄630には、ユーザがアプリケーションを起動したときに表示されるWebページのURLが入力される。つまり、この入力欄630には、『http://』や『https://』のように規定の形式の文字列が入力される。なお、この項目について、入力された文字列が規定の形式になっているか否かをテストする機能が設けられていてもよい。例えば、テストボタンが配置されており、テストボタンを選択すると一時的に入力されたURLが表示されてもよい。または、この項目の入力欄630の入力内容が更新される度に自動的にテストが行われ、入力されたURLに該当するページの存在の有無を確認し、入力されたURLの妥当性がインターフェース600上でユーザに通知してもよい。
「APPLICATION_PLIST」の入力欄630はアプリケーション設定ファイルを設定するためのファイルが格納された位置を示すアドレスを受け付ける。この入力欄630には、ユーザが直接アドレスを入力してもよく、ブランクボックスの右の「参照」をクリックすることで、参照するアドレスを指定してもよい。これらの項目名620はアプリケーションに搭載される機能である。
アプリケーションに搭載される機能に関連する項目名620のうち、「LANDSCAPE_LEFT」、「PORTRAIT_UPSIDE_DOWN」、および「LANDSCAPE_RIGHT」のように、予め機能が決まっている項目については、その機能をアプリケーションに搭載するか否かを決定するだけでユーザのパラメータ設定が完了する。
入力欄630に必要事項を入力した後にビルドボタン640を選択することで、ユーザの操作は完了し、入力欄630に入力された事項をユーザによって設定されたパラメータとしてサーバ100に送信する。
図9を用いて、図8に例示した項目名620および項目名に関連する機能について説明する。図9は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータの詳細を説明する図である。なお、図8および図9に示す項目名620は、アプリケーションの機能の一例を示すものであって、本発明のアプリケーションの機能を限定するものではない。
「CFBUNDLE_DISPLAY_NAME」は、アプリケーション名を指定する項目である。この項目では、アプリケーションのアイコンの表示文字を設定するための文字列が設定される。つまり、「CFBUNDLE_DISPLAY_NAME」は特定のアプリケーションを明確に識別するために用いられる。
「INFO_CFBUNDLE_VERSION」は、アプリケーションのバンドルバージョンを指定する項目である。この項目では、アプリケーションのバージョンを設定するための文字列が設定される。「INFO_CFBUNDLE_VERSION」は特定のアプリケーションのバージョンを識別するために用いられる。
「LANDSCAPE_LEFT」、「LANDSCAPE_RIGHT」は、第2通信端末300を左横、右横に回転した場合の画面制御を指定する項目である。これらの項目では、第2通信端末300の画面を左横、右横に回転したときに、第2通信端末300の画面上でアプリケーションを正面表示させるか否かをチェックの有無で設定される。
「PORTRAIT_UPSIDE_DOWN」は、第2通信端末300を上下逆さに回転した場合の画面制御を指定する項目である。この項目では、第2通信端末300の画面を上下逆さに回転したときに、第2通信端末300の画面上でアプリケーションを正面表示させるか否かをチェックの有無で設定される。
「APP_START_PAGE_URL」は、アプリケーションのスタートページとして指定されるWebページのURLを指定する項目である。この項目では、アプリケーションを起動したときに表示されるWebページのURLを設定するための文字列が設定される。この項目では、URLを表示するために、『http://』や『https://』などの規定の形式の文字列が設定される。
「APPLICATION_PLIST」は、アプリケーション設定ファイルを指定する項目である。この項目では、アプリケーションに搭載したいアプリケーション設定ファイルを設定し、当該設定ファイルをサーバ100にアップロードする。「APPLICATION_PLIST」において設定されるアプリケーション設定ファイルは、第1通信端末200を操作する第1ユーザによって作成された設定ファイルであってもよく、他の第3ユーザによって作成された設定ファイルであってもよい。
以降、図7に戻ってアプリケーション生成動作を示すフローチャートについて説明する。
第1通信端末200が、図8および図9に示された各項目に対して必要事項を入力または選択することで、アプリケーションに搭載される機能のオプションを設定する(ステップ503)。オプションの設定が完了したら、第1通信端末200は図8のビルドボタン640を選択し(ステップ505)、アプリケーション生成をアプリケーション開発支援ツール140に要請する。ステップ505のビルドボタン選択によって、図8のインターフェース600において設定された各種パラメータが、第1通信端末200からサーバ100のアプリケーション開発支援ツール140に送信される。
アプリケーション開発支援ツール140は、第1通信端末200から送信されたパラメータを受け付け、受け付けたパラメータをビルドシェル150に転送する(ステップ513)。
ビルドシェル150は、アプリケーション開発支援ツール140によって転送されたパラメータを受信する(ステップ521)。ビルドシェル150は、受信したパラメータをチェックする(ステップ523)。なお、ステップ523のパラメータチェックは、後述する設定ファイルが設定される前に行われる。ステップ523において、パラメータをチェックするシーケンスについて、図10を用いて説明する。
図10は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータチェックのシーケンスを説明する図である。図10に示すように、ステップ521で受信されたパラメータのチェックが行われる(ステップ5231)。ステップ5231では、例えば、設定されたパラメータの形式が規定の形式に適合しているか否か、およびアプリケーション設定ファイルの形式が規定の形式に適合しているか否かなどの設定状態がチェックされる。図8および図9に示した例では、「APP_START_PAGE_URL」に入力されたURLが『http://』または『https://』の形式になっているか否かがチェックされる。同様に、「APPLICATION_PLIST」でアプリケーション設定ファイルが規定のファイル形式になっているか否かがチェックされる。また、詳細は後述するが、アプリケーションに搭載される機能として第2通信端末300のネイティブ機能に関連するプラグインファイルが規定のファイル形式になっているか否かがチェックされる。
ステップ5231のパラメータチェックで、設定されたパラメータの形式が規定の形式に適合していれば(ステップ5231の「OK」)、パラメータチェックが完了したと判断され(ステップ5233)、処理が終了する。一方、設定されたパラメータの形式が規定の形式に適合していなければ(ステップ5231の「NG」)、エラーメッセージを通知し(ステップ5235)、処理が終了する。エラーメッセージの通知は、例えば図8のインターフェース600を介して第1通信端末200に表示される。
図11は、本発明の一実施形態に係るアプリケーション生成支援システムのエラーメッセージの一例を説明する図である。図11では、エラーメッセージ通知の一例として、「APP_START_PAGE_URL」、「APPLICATION_PLIST」、および「PLUGIN_FILES」の項目に関するエラーメッセージが挙げられている。「APP_START_PAGE_URL」について、『http://』または『https://』で始まる文字列以外の文字列が入力された場合に、「[INPUT EEROR]APP_START_PAGE_URLの入力値が不正です。」というエラーメッセージが表示される。「APPLICATION_PLIST」について、ファイル名が「application.plist」以外のファイルがアップロードされた場合に、「[INPUT EEROR]APPLICATION_PLISTの入力値が不正です。」というエラーメッセージが表示される。「PLUGIN_FILES」について、規定のファイル形式のファイル以外がアップロードされた場合に、「[INPUT EEROR]PLUGIN_FILESの入力値が不正です。」というエラーメッセージが表示される。
以降、図7に戻ってアプリケーション生成動作を示すフローチャートについて説明する。
ステップ523のパラメータチェックが終了すると、OS設定ファイルの置換処理が行われる(ステップ525)。続いて、アプリケーション設定ファイルの上書き処理が行われる(ステップ527)。これらの動作を併せて設定ファイルを更新するという場合がある。ここで、ステップ525およびステップ527において、設定ファイルを更新するシーケンスについて図12を用いて説明する。また、ステップ525およびステップ527で処理される設定ファイルについて、図13を用いて説明する。
図12は、本発明の一実施形態に係るアプリケーション生成支援システムの設定ファイルを設定するシーケンスを説明する図である。図12では、スタートページ指定URLおよびOS設定ファイルは必須の設定項目である場合について説明する。図12に示すように、まずスタートページ指定URLが設定される(ステップ5261)。続いて、OS設定ファイルが設定(置換処理)される(ステップ5263)。続いて、アプリケーション設定ファイルの設定の要否が確認される(ステップ5265)。ステップ5265では、ステップ521およびステップ523を通過したパラメータの設定状態を確認することで、アプリケーション設定ファイルの設定の要否が確認される。ステップ5265で、アプリケーション設定ファイルの設定が必要であることが確認されれば(ステップ5265の「OK」)、アプリケーション設定ファイルが設定(上書き処理)され(ステップ5267)、処理が終了する。一方、アプリケーション設定ファイルの設定が必要ではないことが確認されなければ(ステップ5265の「NG」)、アプリケーション設定ファイルの設定は行われずに処理が終了する。
図13は、本発明の一実施形態に係るアプリケーション生成支援システムの設定ファイルの一例を説明する図である。図13の「アイコン指定」、「アプリケーション名指定」、および「画面の回転制御指定」はOS設定ファイルに該当する。つまり、図8および図9の「CFBUNDLE_DISPLAY_NAME」、「INFO_CFBUNDLE_VERSION」、「LANDSCAPE_LEFT」、「PORTRAIT_UPSIDE_DOWN」、および「LANDSCAPE_RIGHT」はOS設定ファイルに該当する。これらのOS設定ファイルに係る動作は、複数の第2通信端末300に共通する動作である。図13の「アドレスバー表示」、「画面のコピー&ペースト制御」、「通信プロトコル制限」、「無操作タイムアウト指定」、「シングルサインオン設定」、および「バックボタンの利用制限」はアプリケーション設定ファイルに該当する。つまり、上記の項目は「APPLICATION_PLIST」の一例である。これらのアプリケーション設定ファイルに係る動作は、第1通信端末200によって入力された第2通信端末300の動作であり、複数の第2通信端末300に共通する動作であってもよく、特定の第2通信端末300に固有の動作であってもよい。
換言すると、本実施形態の設定ファイルは、OS設定ファイルおよびアプリケーション設定ファイルを含む。OS設定ファイルは、ビルドシェル150が受信したパラメータに関連し、複数の第2通信端末300の動作に共通するアプリケーションの動作を規定する設定ファイルである。アプリケーション設定ファイルは、ビルドシェル150が受信したパラメータに関連し、第1通信端末200を操作する第1ユーザによって入力された情報に基づくアプリケーションの動作を規定する設定ファイルである。なお、図13に示すOS設定ファイルおよびアプリケーション設定ファイルは一例であり、本発明の「APPLICATION_PLIST」を限定するものではない。
以降、図7に戻ってアプリケーション生成動作を示すフローチャートについて説明する。
ステップ525およびステップ527の設定ファイルの更新が終了すると、ステップ525で置換されたOS設定ファイルおよびステップ527で上書きされたアプリケーション設定ファイルを含むプロジェクトファイルが生成される(ステップ529)。ここで、プロジェクトファイルとは、アプリケーション開発支援ツール140においてアプリケーションを構築するために必要なファイルやリソース(構成要素)が格納されたファイルである。プロジェクトファイルは、アプリケーションの構築に必要な構成要素を一括して収容し、さらに構成要素間の関係も管理している。
ステップ529で生成されたプロジェクトファイルに対して、各ファイルのコンパイルを含むビルド処理を行うことで、アプリケーションパッケージが生成される(ステップ531)。アプリケーションパッケージとは、アプリケーションを第2通信端末300にインストールするためのインストーラとして機能するものである。アプリケーションパッケージは、アプリケーションの実行ファイルに加え、上記で設定された設定ファイルを含むアーカイブ形式のファイルである。
続いて、ステップ531で生成されたアプリケーションパッケージのダウンロード情報を生成する(ステップ533)。例えば、アプリケーションパッケージをあるダウンロードページにアップロードし、当該ダウンロードページのURLを生成する。そして、ステップ533で生成されたダウンロード情報は、ビルドシェル150からアプリケーション開発支援ツール140に提供される(ステップ535)。例えば、上記のダウンロードページのURLがアプリケーション開発支援ツール140に提供される。
アプリケーション開発支援ツール140は、ステップ535で提供されたダウンロード情報を受信し(ステップ515)、当該ダウンロード情報を、ダウンロード情報提供GUIを介して第1通信端末200および第2通信端末300に提供する(ステップ515)。
次に、図14および図15を用いて、生成されたアプリケーションをユーザがダウンロードする動作について説明する。図14は、本発明の一実施形態に係るアプリケーション生成支援システムのアプリケーション取得動作を示すフローチャートである。
まず、第2ユーザの操作によって、第2通信端末300がネットワーク400を介してアプリケーション開発支援ツール140にHTTP接続し(ステップ541)、アプリケーションパッケージを要求する(ステップ543)。第2通信端末300によってアクセスされたアプリケーション開発支援ツール140は、第2通信端末300にダウンロード情報GUIを提供する(ステップ551)。提供されたダウンロード情報GUIは第2通信端末300のディスプレイ340によって第2ユーザに表示される。
第2通信端末300に表示されるダウンロード情報GUIの一例について、図15を用いて説明する。図15は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータ取得動作におけるインターフェースである。図15に示すように、インターフェース650には、プロジェクト名660、項目名670、設定値680、およびダウンロードボタン690が含まれる。
プロジェクト名660には、図8のプロジェクト名610に対応するプロジェクト名が表示される。項目名670には、図8の項目名620のうちユーザによって設定された項目が表示される。なお、図15では、OS設定ファイルが「INFO_PLIST」にまとめられている。設定値680には、図8でユーザによって設定され、生成されたアプリケーションに搭載された機能が表示される。「CFBUNDLE_DISPLAY_NAME」、「INFO_CFBUNDLE_VERSION」、および「APP_START_PAGE_URL」の設定値680には、それぞれ図8で入力された文字列が表示されている。「INFO_PLIST」の設定値680には、図8でチェックされた項目が表示されている。上記の設定事項を確認した後にダウンロードボタン690を選択することで、第2通信端末300にアプリケーションパッケージがダウンロードされる。
以降、図14に戻ってアプリケーション取得動作を示すフローチャートについて説明する。
第2通信端末300は図15に示されたダウンロードボタン690を選択する(ステップ545)ことで、アプリケーションパッケージのダウンロードをアプリケーション開発支援ツール140に要請する。ステップ545に応じて、アプリケーション開発支援ツール140はアプリケーションパッケージを提供する(ステップ553)。そして、第2通信端末300は提供されたアプリケーションパッケージをダウンロードする(ステップ547)。
以上のように、第1実施形態にかかるアプリケーション生成支援システム10によると、第1通信端末200によってパラメータを設定するだけで、サーバ100のビルドシェル150がアプリケーションパッケージを自動的に生成し、ダウンロード可能に第2通信端末300に提供することができる。つまり、アプリケーション開発者への開発負担を軽減することができる。
〈第2実施形態〉
図16を用いて、本発明の第2実施形態に係るアプリケーション生成支援システム10A、ならびにアプリケーション生成支援システム10Aに用いるサーバ100A、第1通信端末200A、および第2通信端末300Aを動作させるためのプログラムについて詳細に説明する。なお、第2実施形態に係るアプリケーション生成支援システム10Aのサーバ100A、第1通信端末200A、および第2通信端末300Aの各々のハードウェア構成および機能構成について、第1実施形態に係るアプリケーション生成支援システム10と同様のハードウェア構成および機能構成は説明を省略し、アプリケーション生成支援システム10との相違点について説明する。
第2実施形態では、アプリケーション設定ファイル用のテンプレートが第1ユーザおよび第2ユーザとは異なる第3ユーザによってアップロードされる構成について説明する。図16は、本発明の一実施形態に係るアプリケーション生成支援システムのアプリケーション設定ファイル用のテンプレートの登録動作を示すフローチャートである。
まず、第3ユーザの操作によって、第3通信端末290Aがネットワーク400Aを介してアプリケーション開発支援ツール140AにHTTP接続し(ステップ561A)、アプリケーション設定ファイル用のテンプレートのアップロードを要求する(ステップ563A)。第3通信端末290Aによってアクセスされたアプリケーション開発支援ツール140Aは、第3通信端末290Aにアプリケーション設定ファイル用GUIを提供する(ステップ571A)。提供されたアプリケーション設定ファイル用GUIは第3通信端末290Aの表示装置によって第3ユーザに表示される。
第3通信端末290Aは、アプリケーション設定ファイル用のテンプレートを準備し(ステップ565A)、ステップ571Aで提供されたGUIを介して準備されたテンプレートをサーバ100Aのアプリケーション開発支援ツール140Aにアップロードする(ステップ567A)。ステップ565Aで準備されたテンプレートは第3通信端末290Aを操作する第3ユーザによって作成されたものであってもよく、その他のユーザによって作成されたものであってもよい。アップロードされたテンプレートはアプリケーション開発支援ツール140Aに登録される(ステップ573A)。ステップ573Aで登録されたアプリケーション設定ファイル用のテンプレートは、例えば、図7のステップ511のパラメータ設定GUIとして第1通信端末200に提供される。つまり、第2実施形態において第1通信端末200Aに提供されるアプリケーション設定ファイル用のテンプレートは、第3ユーザまたはその他のユーザによって作成され、アプリケーション開発支援ツール140Aにアップロードされたテンプレートである。
以上のように、第2実施形態にかかるアプリケーション生成支援システム10Aによると、アプリケーション生成支援システム10Aに準備されたアプリケーション設定ファイル用のテンプレートが、第3通信端末290Aによってアップロードされることで増加する。したがって、第1通信端末200Aは、パラメータ設定をする際に、多様なアプリケーション設定ファイル用のテンプレートを利用することができる。
〈第3実施形態〉
図17〜図21を用いて、本発明の第3実施形態に係るアプリケーション生成支援システム10B、ならびにアプリケーション生成支援システム10Bに用いるサーバ100B、第1通信端末200B、および第2通信端末300Bを動作させるためのプログラムについて詳細に説明する。なお、第3実施形態に係るアプリケーション生成支援システム10Bのサーバ100B、第1通信端末200B、および第2通信端末300Bの各々のハードウェア構成および機能構成について、第1実施形態に係るアプリケーション生成支援システム10と同様のハードウェア構成および機能構成は説明を省略し、アプリケーション生成支援システム10との相違点について説明する。
[サーバ100Bの機能構成]
本実施形態のアプリケーション生成支援システム10Bにおけるサーバ100Bの各機能の構成は、第1実施形態のサーバ100の各機能の構成と同じである。したがって、図5を参照してサーバ100Bの機能部について説明する。アプリケーション生成支援システム10Bのビルドシェル150Bに含まれるファイル設定部155Bは、OS設定ファイルおよびアプリケーション設定ファイルに加えて、第2通信端末300Bのネイティブ機能に関連するプラグインファイルを設定する点において、第1実施形態のファイル設定部155とは相違する。ファイル設定部155Bは、パラメータ受信部151Bが受信したパラメータにプラグインファイルに関連するパラメータが設定されている場合に、OS設定ファイルやアプリケーション設定ファイルと同様にプラグインファイルを設定する。
ファイル設定部155Bは、図6に示すように、パラメータ確認部1551B、テンプレート関連付け部1553B、およびプログラム更新部1555Bを有する。パラメータ確認部1551Bは、第1実施形態のパラメータ確認部1551と同様の機能を有する。テンプレート関連付け部1553Bは、第1実施形態のテンプレート関連付け部1553と同様の機能に加え、プラグインファイル用のテンプレートをパラメータ確認部1551Bによって選択された他のテンプレートに関連付ける。プログラム更新部1555Bは、第1実施形態のプログラム更新部1555と同様の機能に加え、プラグインファイル用のテンプレートによって規定された動作の各々が、第2通信端末300にインストールされたアプリケーション上で実現可能となるように、当該テンプレートの一部を更新する。
上記のように、プラグインファイルは、例えば、カメラ、GPS、マイク、加速度センサなど、第2通信端末300Bの機器に固有のネイティブ機能をアプリケーションによって第2通信端末300Bに実行させるための設定ファイルである。プラグインファイルは、OS設定ファイルおよびアプリケーション設定ファイルと同様に、ビルドシェル150Bが受信したパラメータに関連する設定ファイルである。
第1実施形態で説明したように、アプリケーション開発支援ツール140Bには、OS設定ファイル用のテンプレートおよびアプリケーション設定ファイル用のテンプレートが予め準備されている。これらと同様に、アプリケーション開発支援ツール140Bには、プラグインファイル用のテンプレートが準備されている。このプラグインファイル用のテンプレートから、ビルドシェル150Bが受信したパラメータに関連するテンプレートが選択され、当該テンプレートの一部が更新されることで、プラグインファイルが設定される。なお、プラグインファイル用のテンプレートは予めアプリケーション開発支援ツール140Bに準備されていたものであってもよく、後述するように、他の第3ユーザによって作成されたものであってもよい。
[アプリケーション生成支援システム10Bの動作フロー]
図17〜図21を用いて、本実施形態のアプリケーション生成支援システム10Bの各機能ブロックの動作について、フローチャートおよびユーザに表示されるインターフェースの一例を用いて詳しく説明する。
まず、図17〜図19を用いて、第1通信端末200Bによって設定されたパラメータに基づいてアプリケーションを生成し、当該アプリケーションをダウンロード可能に提供する動作について説明する。図17は、本発明の一実施形態に係るアプリケーション生成支援システムのアプリケーション生成動作を示すフローチャートである。図17のフローチャートは図7のフローチャートと類似しているが、図17のフローチャートでは、ステップ527Bとステップ529Bとの間にプラグインファイルを設定するステップ528Bが設けられている点において、図7のフローチャートとは相違する。また、ステップ528Bが設けられていることに伴い、ステップ511Bで第1通信端末200Bに提供されるインターフェース600Bが図8のインターフェース600とは相違する。以下の説明において、図7の動作フローと同じ動作については説明を省略し、図7の動作フローと異なる動作について説明する。
まず、図17のステップ511Bで第1通信端末200Bに提供されるパラメータ設定GUIについて説明する。図18は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータ入力動作におけるインターフェースである。図18に示すインターフェース600Bは図8のインターフェース600と類似しているが、図18のインターフェース600Bの項目名620Bでは「APPLICATION_PLIST」の下に「PLUGIN_FILES」が設けられている点において、図8のインターフェース600とは相違する。
「PLUGIN_FILES」の入力欄630Bはプラグインファイル用のテンプレートが格納された位置を示すアドレスを受け付ける。この入力欄630Bには、ユーザが直接アドレスを入力してもよく、ブランクボックスの右の「参照」をクリックすることで、参照するアドレスを指定してもよい。なお、プラグインファイル用のテンプレートは、指定されたアドレスに圧縮ファイル形式で格納されている。ただし、当該ファイルは圧縮ファイル形式以外の形式で格納されていてもよい。
入力欄630Bに必要事項を入力した後にビルドボタン640Bを選択することで、ユーザの操作は完了し、入力欄630Bに入力された事項をユーザによって設定されたパラメータとしてサーバ100Bに送信する。
上記のように、インターフェース600Bにプラグインファイルを設定するための項目が設けられている点、および第1通信端末200Bからアプリケーション開発支援ツール140Bを介してビルドシェル150Bに送信されるパラメータにインターフェース600Bで設定されたプラグインファイルに関連するパラメータが含まれる点以外は、図17のステップ527Bまでの動作は図7と同様なので説明を省略する。
図17に示すように、ステップ527Bのアプリケーション設定ファイルの上書き処理に続いて、プラグインファイルの設定が行われる(ステップ528B)。プラグインファイルの設定は、OS設定ファイルの置換およびアプリケーション設定ファイルの上書き処理と同様に、設定ファイルを更新するという場合がある。ここで、ステップ528Bにおいて、プラグインファイルの設定するシーケンスについて図19を用いて説明する。
図19は、本発明の一実施形態に係るアプリケーション生成支援システムの設定ファイルを設定するシーケンスを説明する図である。図19では、スタートページ指定URLおよびOS設定ファイルは必須の設定項目である場合について説明する。図19に示すように、まずスタートページ指定URLが設定される(ステップ5261B)。続いて、OS設定ファイルが設定(置換処理)される(ステップ5263B)。続いて、アプリケーション設定ファイルの設定の要否が確認される(ステップ5265B)。ステップ5265Bでは、ステップ521Bおよびステップ523Bを通過したパラメータの設定状態を確認することで、アプリケーション設定ファイルの設定の要否が確認される。ステップ5265Bで、アプリケーション設定ファイルの設定が必要であることが確認されれば(ステップ5265Bの「OK」)、アプリケーション設定ファイルが設定(上書き処理)される(ステップ5267B)。一方、アプリケーション設定ファイルの設定が必要ではないことが確認されなければ(ステップ5265Bの「NG」)、アプリケーション設定ファイルの設定は行われずに次のステップに進む。
上記のステップに続いて、プラグインファイルの設定の要否が確認される(ステップ5281B)。ステップ5281Bでは、ステップ521Bおよびステップ523Bを通過したパラメータの設定状態を確認することで、プラグインファイルの設定の要否が確認される。ステップ5281Bで、プラグインファイルの設定が必要であること確認されれば(ステップ5281Bの「OK」)、プラグインファイルが設定され(ステップ5283B)、処理が終了する。一方、プラグインファイルの設定が必要ではないことが確認されなければ(ステップ5281Bの「NG」)、プラグインファイルの設定は行われずに処理が終了する。
ステップ529B以降の図17の動作フローについて、ステップ529Bで生成されたプロジェクトファイルおよびステップ531Bで生成されたアプリケーションパッケージにプラグインファイルが含まれる点以外は、図7と同様なので説明を省略する。
生成されたアプリケーションをユーザがダウンロードする動作フローは、図14の動作フローと同様なので説明を省略する。ただし、アプリケーションパッケージにプラグインファイルが含まれていることに伴い、アプリケーションパッケージをダウンロードする第2通信端末300Bに提供されるインターフェース650Bが図15のインターフェース650とは相違する。
図20は、本発明の一実施形態に係るアプリケーション生成支援システムのパラメータ取得動作におけるインターフェースである。図20に示すインターフェース650Bは図15のインターフェース650と類似しているが、図20のインターフェース650Bの項目名670Bでは「APPLICATION_PLIST」の下に「PLUGIN_FILES」が設けられている点において、図15のインターフェース650とは相違する。なお、図20の「PLUGIN_FILES」の設定値680Bには、図18のインターフェース600Bで入力された「Browser_camera」が表示されている。「Browser_camera」は、ブラウザ上でアプリケーションがインストールされた通信端末のネイティブ機能であるカメラを起動し、撮影を行うプラグインファイルである。ただし、プラグインファイルの機能は上記の機能に限定されず、他にも多様な機能を有することができる。
本実施形態において、プラグインファイル用のテンプレートが第1ユーザおよび第2ユーザとは異なる第3ユーザによってアップロードされる構成について説明する。図21は、本発明の一実施形態に係るアプリケーション生成支援システムのプラグインファイルの登録動作を示すフローチャートである。
まず、第3ユーザの操作によって、第3通信端末290Bがネットワーク400Bを介してアプリケーション開発支援ツール140BにHTTP接続し(ステップ581B)、プラグインファイルに関連するテンプレートのアップロードを要求する(ステップ583B)。第3通信端末290Bによってアクセスされたアプリケーション開発支援ツール140Bは、第3通信端末290Bにプラグインファイル用GUIを提供する(ステップ591B)。提供されたアプリケーション設定ファイル用GUIは第3通信端末290Bの表示装置によって第3ユーザに表示される。
第3通信端末290Bは、プラグインファイル用のテンプレートを準備し(ステップ585B)、ステップ591Bで提供されたGUIを介して準備されたテンプレートをサーバ100Bのアプリケーション開発支援ツール140Bにアップロードする(ステップ587B)。ステップ585Bで準備されたテンプレートは第3通信端末290Bを操作する第3ユーザによって作成されたものであってもよく、その他のユーザによって作成されたものであってもよい。アップロードされたテンプレートはアプリケーション開発支援ツール140Bに登録される(ステップ593B)。ステップ593Bで登録されたプラグインファイルに関連するテンプレートは、例えば、図17のステップ511Bのパラメータ設定GUIで第1通信端末200Bに提供される。つまり、第3実施形態において第1通信端末200Bに提供されるプラグインファイル用のテンプレートは、第3ユーザまたはその他のユーザによって作成され、アプリケーション開発支援ツール140Bにアップロードされたテンプレートである。
以上のように、第3実施形態にかかるアプリケーション生成支援システム10Bによると、アプリケーションをインストールする第2通信端末300Bに固有のネイティブ機能を実現するプラグインファイルをアプリケーションに搭載することができる。アプリケーション生成支援システム10Bに準備されたプラグインファイルに関連するテンプレートは、第3通信端末290Bによってアップロードされることで増加する。したがって、第1通信端末200Bは、パラメータ設定をする際に、多様なプラグインファイルに関連するテンプレートを利用することができる。
〈第4実施形態〉
図22および図23を用いて、本発明の第4実施形態に係るアプリケーション生成支援システム10C、ならびにアプリケーション生成支援システム10Cに用いるサーバ100C、第1通信端末200C、および第2通信端末300Cを動作させるためのプログラムについて詳細に説明する。なお、第4実施形態に係るアプリケーション生成支援システム10Cのサーバ100C、第1通信端末200C、および第2通信端末300Cの各々のハードウェア構成および機能構成について、第1実施形態に係るアプリケーション生成支援システム10と同様のハードウェア構成および機能構成は説明を省略し、アプリケーション生成支援システム10との相違点について説明する。
[サーバ100Cの機能構成]
図22は、本発明の一実施形態に係るアプリケーション生成支援システムに用いられるサーバの機能構成を示すブロック図である。図22に示すように、第4実施形態のサーバ100Cの機能構成は、図5に示す第1実施形態のサーバ100の機能構成に類似しているが、サーバ100Cは、ビルドシェル150Cが電子証明管理部161Cを有している点において、サーバ100とは相違する。
電子証明管理部161Cは、アプリケーションパッケージ生成部157Cが生成したアプリケーションパッケージを識別する電子証明書を管理する。この電子証明書は、アプリケーションパッケージを識別するだけでなく、アプリケーションパッケージを生成するユーザが、OSを提供する提供者に対して、正当性を証明するための証明書である。電子証明管理部161Cは、アプリケーションパッケージ生成部157Cによって生成されるアプリケーションパッケージに上記の電子証明書を追加する。
[アプリケーション生成支援システム10Cの動作フロー]
本実施形態のアプリケーション生成支援システム10Cの動作フローは、第1実施形態のアプリケーション生成支援システム10の動作フローとほぼ同じである。したがって、図7を参照してアプリケーション生成支援システム10Cの動作フローについて説明する。アプリケーション生成支援システム10Cの動作フローでは、ステップ531Cのアプリケーションパッケージ生成の際に、電子証明書設定の要否を確認し、必要に応じてアプリケーションパッケージに電子証明書を追加する。ここで、ステップ531Cにおいて、電子証明書をアプリケーションパッケージに追加するシーケンスについて図23を用いて説明する。
図23は、本発明の一実施形態に係るアプリケーション生成支援システムの電子証明書をアプリケーションパッケージに追加するシーケンスを説明する図である。図23に示すシーケンスにおいて、ステップ5267Cまでのステップは、図12のステップ5267までのステップと同じなので、説明を省略する。図23に示すように、ステップ5267Cに続いて電子証明書設定の要否が確認される(ステップ5311C)。ステップ5311Cで、電子証明書の設定が必要であること確認されれば(ステップ5311Cの「OK」)、電子証明書が設定(電子証明書設定がアプリケーションパッケージに追加)され(ステップ5313C)、処理が終了する。一方、電子証明書の設定が必要ではないことが確認されなければ(ステップ5311Cの「NG」)、電子証明書設定の設定は行われずに処理が終了する。
以上のように、第4実施形態にかかるアプリケーション生成支援システム10Cによると、従来アプリケーションパッケージ作成者が自ら設定する必要があった電子証明書をサーバ100Cのビルドシェル150Cが自動的に生成し、ダウンロード可能に第2通信端末300Cに提供することができる。
なお、本発明は上記実施の形態に限られたものではなく、要旨を逸脱しない範囲で適宜変更することが可能である。