(57)【特許請求の範囲】
【請求項１】
画像形成装置のアプリケーションを作成する際に用いられるアプリケーション開発支援プログラムであって、
前記アプリケーション開発支援プログラムを実行することにより、コンピューターを開発ツール部と、ビルド用資産保持部と、ビルド部として機能させ、
前記開発ツール部は、（１）前記アプリケーションの開発環境を提供するためのソフトウェアツールであって、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）によって、少なくとも前記アプリケーションの設計、コーディング、デバッグ、及びテストを支援するための統合環境を提供し、（２）作成するアプリケーションの開発環境をプロジェクトと呼ばれる単位で管理し、前記アプリケーションを作成する際に前記開発ツール部が使用され前記プロジェクトが定義されるとともに、定義された前記プロジェクトにおいてソースコードの編集が行なわれ、
前記ビルド用資産保持部は、前記プロジェクトにおいて作成される前記アプリケーションをビルドする際に必要とされるファイル及びライブラリを保持し、
前記ビルド部は、ビルド実行部と、ファイル抽出部と、インターフェイス照会部と、マニュフェストファイル作成部とを備え、前記ビルド用資産保持部に保持されている前記ファイル及び前記ライブラリを用いてビルドを行って前記アプリケーションを作成し、
前記ビルド実行部は、前記アプリケーションをビルドするためのプログラムツールであり、
前記ファイル抽出部は、（１）アプリケーションの動作ターゲットとなるプラットフォームが複数バージョン有る場合に、前記ビルド用資産保持部から、それら全てのバージョンの前記プラットフォームに共通に必要とされ固定的に定められているファイル及びライブラリを抽出し、（２）前記ビルド用資産保持部において抽出されず残っているファイル又はライブラリがあるか否かを確認し、（３）抽出されずに残っている前記ファイル又は前記ライブラリがある場合、全てのバージョンの前記プラットフォームに共通でないが必要とされるファイルを、ファイルとライブラリを区別する拡張子に基づき抽出し、
前記インターフェイス照会部は、前記ビルド用資産保持部において抽出されず残っている、全てのバージョンの前記プラットフォームに共通でないが必要とされるライブラリを特定し、ビルド対象の前記アプリケーションが特定された前記ライブラリ上で利用できるＡｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＡＰＩ）を探し出すための公開インターフェイスを問い合わせる処理を行い、
前記公開インターフェイスを問い合わせる処理は、ビルド対象の前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかを決定するために宣言されるものであり、前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかの情報を記載したファイルはマニュフェストファイルと呼ばれ、
前記マニュフェストファイル作成部は、前記インターフェイス照会部によって探し出された前記公開インターフェイスについて、差分の前記マニュフェストファイルを動的に作成し、既存の前記マニュフェストファイルに結合し、
前記ビルド実行部は、前記マニュフェストファイルと、前記ファイル抽出部により抽出された前記ファイル及び前記ライブラリを用いてビルドを実行し、前記アプリケーションが作成される
ことを特徴とするアプリケーション開発支援プログラム。
【請求項２】
画像形成装置のアプリケーションを作成する際に用いられるアプリケーション開発支援システムであって、
前記アプリケーション開発支援システムは、開発ツール部と、ビルド用資産保持部と、ビルド部とを備え、
前記開発ツール部は、（１）前記アプリケーションの開発環境を提供するためのソフトウェアツールであって、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）によって、少なくとも前記アプリケーションの設計、コーディング、デバッグ、及びテストを支援するための統合環境を提供し、（２）作成するアプリケーションの開発環境をプロジェクトと呼ばれる単位で管理し、前記アプリケーションを作成する際に前記開発ツール部が使用され前記プロジェクトが定義されるとともに、定義された前記プロジェクトにおいてソースコードの編集が行なわれ、
前記ビルド用資産保持部は、前記プロジェクトにおいて作成される前記アプリケーションをビルドする際に必要とされるファイル及びライブラリを保持し、
前記ビルド部は、ビルド実行部と、ファイル抽出部と、インターフェイス照会部と、マニュフェストファイル作成部とを備え、前記ビルド用資産保持部に保持されている前記ファイル及び前記ライブラリを用いてビルドを行って前記アプリケーションを作成し、
前記ビルド実行部は、前記アプリケーションをビルドするためのプログラムツールであり、
前記ファイル抽出部は、（１）アプリケーションの動作ターゲットとなるプラットフォームが複数バージョン有る場合に、前記ビルド用資産保持部から、それら全てのバージョンの前記プラットフォームに共通に必要とされ固定的に定められているファイル及びライブラリを抽出し、（２）前記ビルド用資産保持部において抽出されず残っているファイル又はライブラリがあるか否かを確認し、（３）抽出されずに残っている前記ファイル又は前記ライブラリがある場合、全てのバージョンの前記プラットフォームに共通でないが必要とされるファイルを、ファイルとライブラリを区別する拡張子に基づき抽出し、
前記インターフェイス照会部は、前記ビルド用資産保持部において抽出されず残っている、全てのバージョンの前記プラットフォームに共通でないが必要とされるライブラリを特定し、ビルド対象の前記アプリケーションが特定された前記ライブラリ上で利用できるＡｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＡＰＩ）を探し出すための公開インターフェイスを問い合わせる処理を行い、
前記公開インターフェイスを問い合わせる処理は、ビルド対象の前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかを決定するために宣言されるものであり、前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかの情報を記載したファイルはマニュフェストファイルと呼ばれ、
前記マニュフェストファイル作成部は、前記インターフェイス照会部によって探し出された前記公開インターフェイスについて、差分の前記マニュフェストファイルを動的に作成し、既存の前記マニュフェストファイルに結合し、
前記ビルド実行部は、前記マニュフェストファイルと、前記ファイル抽出部により抽出された前記ファイル及び前記ライブラリを用いてビルドを実行し、前記アプリケーションが作成される
ことを特徴とするアプリケーション開発支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発支援プログラム及びアプリケーション開発支援システムに係り、例えば、複数のバージョンのプラットフォームに適用するアプリケーションを作成するためのアプリケーション開発支援プログラム及びアプリケーション開発支援システムに関する。
【背景技術】
【０００２】
一般的にアプリケーションを作成するためには開発環境が必要であり、この開発環境を利用してターゲットとなるアプリケーション（ソフトウェア）を作成する。ターゲットとなるアプリケーションには、そのアプリケーションが動作対象となるバージョンによって特定されるプラットフォームが存在している。このプラットフォームの代表例はオペレーティングシステムである。開発環境はこの複数バージョンのプラットフォームをサポートすることが多い。アプリケーションに必要とされるファイル、ライブラリ等はプラットフォームのバージョン毎に異なる。通常の開発環境はアプリケーションのビルド時か自身のインストール時に指定されたプラットフォームに、どのファイル、ライブラリ等が必要であるかを決定する必要がある。
【０００３】
そのような開発環境の技術として、ユーザーの利便性を向上させる各種の技術が提供されている。例えば、ソフトウェアの開発環境及び実行環境におけるライブラリ管理方法に関して、特にライブラリ構成に関する規則を追加・変更・削除することができるライブラリ管理方法の技術がある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２６９０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に開示の技術では、管理表を利用しており更新が頻繁に行われる環境向きではなく、更新に関わる工数も大きいことから別の技術が求められていた。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、上記課題を解決できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、画像形成装置のアプリケーションを作成する際に用いられるアプリケーション開発支援プログラムであって、前記アプリケーション開発支援プログラムを実行することにより、コンピューターを開発ツール部と、ビルド用資産保持部と、ビルド部として機能させ、前記開発ツール部は、（１）前記アプリケーションの開発環境を提供するためのソフトウェアツールであって、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）によって、少なくとも前記アプリケーションの設計、コーディング、デバッグ、及びテストを支援するための統合環境を提供し、（２）作成するアプリケーションの開発環境をプロジェクトと呼ばれる単位で管理し、前記アプリケーションを作成する際に前記開発ツール部が使用され前記プロジェクトが定義されるとともに、定義された前記プロジェクトにおいてソースコードの編集が行なわれ、前記ビルド用資産保持部は、前記プロジェクトにおいて作成される前記アプリケーションをビルドする際に必要とされるファイル及びライブラリを保持し、前記ビルド部は、ビルド実行部と、ファイル抽出部と、インターフェイス照会部と、マニュフェストファイル作成部とを備え、前記ビルド用資産保持部に保持されている前記ファイル及び前記ライブラリを用いてビルドを行って前記アプリケーションを作成し、前記ビルド実行部は、前記アプリケーションをビルドするためのプログラムツールであり、前記ファイル抽出部は、（１）アプリケーションの動作ターゲットとなるプラットフォームが複数バージョン有る場合に、前記ビルド用資産保持部から、それら全てのバージョンの前記プラットフォームに共通に必要とされ固定的に定められているファイル及びライブラリを抽出し、（２）前記ビルド用資産保持部において抽出されず残っているファイル又はライブラリがあるか否かを確認し、（３）抽出されずに残っている前記ファイル又は前記ライブラリがある場合、全てのバージョンの前記プラットフォームに共通でないが必要とされるファイルを、ファイルとライブラリを区別する拡張子に基づき抽出し、前記インターフェイス照会部は、前記ビルド用資産保持部において抽出されず残っている、全てのバージョンの前記プラットフォームに共通でないが必要とされるライブラリを特定し、ビルド対象の前記アプリケーションが特定された前記ライブラリ上で利用できるＡｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＡＰＩ）を探し出すための公開インターフェイスを問い合わせる処理を行い、前記公開インターフェイスを問い合わせる処理は、ビルド対象の前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかを決定するために宣言されるものであり、前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかの情報を記載したファイルはマニュフェストファイルと呼ばれ、前記マニュフェストファイル作成部は、前記インターフェイス照会部によって探し出された前記公開インターフェイスについて、差分の前記マニュフェストファイルを動的に作成し、既存の前記マニュフェストファイルに結合し、前記ビルド実行部は、前記マニュフェストファイルと、前記ファイル抽出部により抽出された前記ファイル及び前記ライ���ラリを用いてビルドを実行し、前記アプリケーションが作成される。
本発明は、画像形成装置のアプリケーションを作成する際に用いられるアプリケーション開発支援システムであって、前記アプリケーション開発支援システムは、開発ツール部と、ビルド用資産保持部と、ビルド部とを備え、前記開発ツール部は、（１）前記アプリケーションの開発環境を提供するためのソフトウェアツールであって、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）によって、少なくとも前記アプリケーションの設計、コーディング、デバッグ、及びテストを支援するための統合環境を提供し、（２）作成するアプリケーションの開発環境をプロジェクトと呼ばれる単位で管理し、前記アプリケーションを作成する際に前記開発ツール部が使用され前記プロジェクトが定義されるとともに、定義された前記プロジェクトにおいてソースコードの編集が行なわれ、前記ビルド用資産保持部は、前記プロジェクトにおいて作成される前記アプリケーションをビルドする際に必要とされるファイル及びライブラリを保持し、前記ビルド部は、ビルド実行部と、ファイル抽出部と、インターフェイス照会部と、マニュフェストファイル作成部とを備え、前記ビルド用資産保持部に保持されている前記ファイル及び前記ライブラリを用いてビルドを行って前記アプリケーションを作成し、前記ビルド実行部は、前記アプリケーションをビルドするためのプログラムツールであり、前記ファイル抽出部は、（１）アプリケーションの動作ターゲットとなるプラットフォームが複数バージョン有る場合に、前記ビルド用資産保持部から、それら全てのバージョンの前記プラットフォームに共通に必要とされ固定的に定められているファイル及びライブラリを抽出し、（２）前記ビルド用資産保持部において抽出されず残っているファイル又はライブラリがあるか否かを確認し、（３）抽出されずに残っている前記ファイル又は前記ライブラリがある場合、全てのバージョンの前記プラットフォームに共通でないが必要とされるファイルを、ファイルとライブラリを区別する拡張子に基づき抽出し、前記インターフェイス照会部は、前記ビルド用資産保持部において抽出されず残っているライブラリに関して、全てのバージョンの前記プラットフォームに共通でないが必要とされるライブラリを特定し、ビルド対象の前記アプリケーションが特定された前記ライブラリ上で利用できるＡＰＩを探し出すための公開インターフェイスを問い合わせる処理を行い、前記公開インターフェイスを問い合わせる処理は、ビルド対象の前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかを決定するために宣言されるものであり、前記アプリケーションがどの前記ＡＰＩを利用するか利用しないかの情報を記載したファイルはマニュフェストファイルと呼ばれ、前記マニュフェストファイル作成部は、前記インターフェイス照会部によって探し出された前記公開インターフェイスについて、差分の前記マニュフェストファイルを動的に作成し、既存の前記マニュフェストファイルに結合し、前記ビルド実行部は、前記マニュフェストファイルと、前記ファイル抽出部により抽出された前記ファイル及び前記ライブラリを用いてビルドを実行し、前記アプリケーションが作成される。
【発明の効果】
【０００８】
本発明によると、アプリケーション開発環境において、ターゲットのプラットフォームのバージョンを関連付けるテーブルが不要となる技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る、アプリケーション開発支援システムを示す機能ブロック図である。
【図２】本発明の実施形態に係る、アプリケーション開発支援システムを用いたビルド処理を示すフローチャートである。
【図３】本発明の実施形態に係る、アプリケーション開発支援システムのバージョン切替処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態（以下、「実施形態」という）を、図面を参照して説明する。
【００１１】
図１は、本実施形態に係るアプリケーション開発支援システム１０（アプリケーション開発環境）の概略構成を示す機能ブロック図である。アプリケーション開発支援システム１０は、ソフトウェア的には所定の演算装置や記憶装置を有するコンピュータにより実行されるプログラムとして、ハードウェア的にはそのプログラムを実行するコンピュータ及びその周辺機器（表示装置、入出力装置等）により実現される。
【００１２】
アプリケーション開発支援システム１０は、開発ツール部２０と、ビルド用資産保持部３０と、ビルド部４０とを有する。
【００１３】
開発ツール部２０は、アプリケーション（ソフトウェア）の開発環境を提供するためのソフトウェアツールであって、いわゆるＧＵＩ（Graphical User Interface）によって、アプリケーションの設計、コーディング、デバッグ、及びテスト等を支援するための統合環境を提供する。ここでは、開発ツール部２０は、作成するアプリケーションの開発環境を「プロジェクト」と呼ばれる単位で管理する。具体的には、ユーザーは、アプリケーションを作成する際に開発ツール部２０を使用しプロジェクトを定義するととともに、定義したプロジェクトにおいてソースコード等の編集を行う。
【００１４】
ビルド用資産保持部３０は、プロジェクトにおいて作成されるアプリケーションをビルドする際に必要とされる各種のファイルやライブラリ等を保持する。
【００１５】
ビルド部４０は、ビルド用資産保持部３０に保持されているファイルやライブラリ等を用いてビルドを行い、所望のアプリケーションを作成する。ここで、ビルドとは、ビルド用資産保持部３０のファイル等に基づいてアプリケーションの実行コードを生成することである。一般的にはコンパイル及びリンク等の過程を含む処理をいう。
【００１６】
ビルド部４０は、ビルド実行部４２と、ファイル抽出部４４と、インターフェイス照会部４６と、マニュフェストファイル作成部４８とを備える。
【００１７】
ビルド実行部４２は、ビルド用資産保持部３０に基づいてアプリケーションを実際にビルドするためのコンパイラ等のプログラムツールである。
【００１８】
ファイル抽出部４４は、オペレーションシステム等のプラットフォームが複数バージョン有る場合に、それら全てのプラットフォームに共通に必要とされるライブラリを抽出する。ここで、抽出するとは、実際に検索してプロジェクトにおける必要な場所に配置することである。これはビルド時のリンクのためのパスが通っていれば配置場所は特に限定しない。また、共通というのは全てのバージョンで共通なファイルとなる。この共通ファイルは固定である。
【００１９】
さらに、ファイル抽出部４４は、共通に必要とされるライブラリの抽出処理につづき、ターゲットとなるプラットフォームに必要とされるファイルを探索する処理を行う。探索するためにはファイルとライブラリを区別する必要があるが、区別に拡張子を利用してもよい。この処理により、ファイル抽出部４４は、共通でないが必要とされるライブラリを特定する。
【００２０】
インターフェイス照会部４６は、抽出されず残っているライブラリに関して公開インターフェイスを問い合わせる処理を行う。インターフェイスへの問い合わせについては、全てのバージョンのプラットフォームに共通でないが必要とされるライブラリに関して、ビルド対象のアプリケーションがそのライブラリ上で利用できるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を探し出すためのものである。この処理はビルド対象のアプリケーションがどのＡＰＩを利用するかまた利用しないかを決定するために宣言されるものであって、動的に生成される。この情報を記載したファイルはマニュフェストファイルと呼ばれこともあり、多くの開発環境においてビルド時に必要となる。
【００２１】
マニュフェストファイル作成部４８は、インターフェイス照会部４６によって探し出された差分のマニュフェストファイルを作成し、既存のマニュフェストファイルに結合する。
【００２２】
以上の構成による処理を説明する。図２は、アプリケーション開発支援システム１０によるビルド処理を示すフローチャートである。
【００２３】
ユーザーは、開発ツール部２０を操作し表示装置に開発用のＧＵＩを表示させ、アプリケーション作成処理を開始する。まず、ファイル抽出部４４は、ビルド用資産保持部３０を参照して全プラットフォームに共通するライブラリやファイルを抽出する（Ｓ１０）。
【００２４】
つぎに、ファイル抽出部４４は、ビルド用資産保持部３０に抽出されずに残っているファイルやライブラリがあるか否かを確認する（Ｓ１２）。残っていない場合（Ｓ１２のＮ）、ビルド実行部４２は、マニュフェストファイルと抽出したファイル及びライブラリを用いてビルドを実行し（Ｓ１４）、アプリケーションが作成される（Ｓ１６）。
【００２５】
残っている場合（Ｓ１２のＹ）、ファイル抽出部４４は、ターゲットとなるプラットフォームに必要とされるファイルを探索し抽出する（Ｓ１８）。
【００２６】
つぎに、インターフェイス照会部４６は、抽出されず残っているライブラリに関して公開インターフェイスを問い合わせる処理を行う（Ｓ２０）。
【００２７】
さらに、マニュフェストファイル作成部４８は、インターフェイス照会部４６によって探し出された差分のマニュフェストファイルを作成し（Ｓ２２）、既存のマニュフェストファイルと結合する（Ｓ２４）。その後、上述したビルド実行部４２によるビルドの実行（Ｓ１４）で、アプリケーションが作成される（Ｓ１６）。
【００２８】
図３は、アプリケーション開発環境のバージョン切替処理を示すフローチャートである。ターゲットのプラットフォームのバージョンを切り替えるためには、不要なファイルをアンインストールして、必要なファイルをインストールする必要がある。
【００２９】
そこで、開発ツール部２０は、ターゲットのプラットフォームのバージョンをインストールする場合に、新規インストールか否かを確認する（Ｓ３０）。新規インストールで無い場合（Ｓ３０のＮ）、開発ツール部２０は、一旦ライブラリファイルをアンインストールし（Ｓ３２）、インストールするライブラリファイルを選択し（Ｓ３４）、インストールを行う（Ｓ３６）。新規インストールの場合（Ｓ３０のＹ）、開発ツール部２０は、アンインストールの処理を行わず、所望のライブラリファイルを選択し（Ｓ３４）、インストールを行う（Ｓ３６）。
【００３０】
以上、本実施形態では、必要とされるファイル、ライブラリ、マニュフェストファイル等がビルド用資産保持部３０に保持され、それらは開発環境のインストール時に導入される。その結果で、プラットフォームバージョンを関連付けるテーブル、表といったものが不要となる。従来技術ではすべてのファイルを保持しているため、これらの管理表を更新し、必要なファイル、ライブラリ、マニュフェストファイルを準備するする必要があるため開発環境のインストールサイズも大きくなる傾向が強かったが、本実施の形態ではインストールサイズを大きくすること無く、導入先のハードウェア資源のキャパシティを効果的に活用することができる。
【００３１】
また、従来では、バージョンが増える毎に、そのバージョンに適用させるために開発環境自身をアップデートしなければならないという不便さがあった。しかし、本実施形態では、バージョンの切替はインストール時に行われ、必要なファイルをその都度選択する方式である。その結果、管理表の更新は不要であり、またプラットフォームバージョンの追加は必要なファイルをインストールパッケージとして追加するだけでよい。
【００３２】
特に、Android（登録商標）やLinux（登録商標）のようなオープンソースのオペレーテンングシステムではバージョンが頻繁に更新されるため、上述のような方式を用いることは非常に効果的である。また、特別のリソースや処理能力は不要であり、他の既存機能にほとんど影響しないという利点もある。また、このような開発環境（アプリケーション開発支援システム１０）は、例えばプリンターや複合機といった画像形成装置に関するアプリケーションの作成に有効である。すわなち、プリンターや複合機は、現実的な処理の観点から寿命が長いものもあり、特に多くのオペレーティングシステム（プラットフォーム）に対応する必要がある。一方、パーソナルコンピュータでは、ハードウェアの処理能力等の観点から、使用可能なオペレーティングシステムは数世代（数バージョン）に限られることが多い。この点で、画像形成装置のアプリケーションに関して、本実施形態の機能を利用することで、多様なプラットフォームに対応したアプリケーション作成環境の利便性を向上させることができる。
【００３３】
以上、本発明を実施形態をもとに説明した。この実施形態は例示であり、それらの各構成要素の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００３４】
１０  アプリケーション開発支援システム
２０  開発ツール部
３０  ビルド用資産保持部
４０  ビルド部
４２  ビルド実行部
４４  ファイル抽出部
４６  インターフェイス照会部
４８  マニュフェストファイル作成部
【図１】
0006013315.tif 000002
【図２】
0006013315.tif 000003
【図３】
0006013315.tif 000004