(57)【要約】【課題】  ＳＤＫ配布パッケージの生成時に開発者以外の者がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。【解決手段】  画像形成装置のメーカ１０１が、ＳＤＫのソースコードを開発し、使用期限などのライセンス条件を設定せずに、そのソースコードを含むＳＤＫソースファイルを画像形成装置の販売会社１０２へ提供する。販売会社１０２の端末装置１は、ＳＤＫソースファイル２１を記憶する記憶装置１４と、入力されたライセンス条件をＳＤＫソースファイルに適用してＳＤＫバイナリ３０１を生成するバイナリ生成部３２と、ＳＤＫバイナリ３０１を含むＳＤＫ配布パッケージを生成するパッケージ生成部３３とを備える。そして、販売会社１０２のオペレータが端末装置１を使用してＳＤＫ配布パッケージを生成する。【選択図】  図１
2011150430.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置のアプリケーションプログラムを生成するためのＳＤＫのＳＤＫ配布パッケージを生成するＳＤＫ配布パッケージ生成装置において、
ＳＤＫソースファイルを記憶する記憶装置と、
入力されたライセンス条件を前記ＳＤＫソースファイルに適用し、そのＳＤＫソースファイルからＳＤＫバイナリを生成するバイナリ生成部と、
前記ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するパッケージ生成部と、
を備えることを特徴とするＳＤＫ配布パッケージ生成装置。
【請求項２】
画像形成装置のアプリケーションプログラムを生成するためのＳＤＫのＳＤＫ配布パッケージを生成するＳＤＫ配布パッケージ生成方法において、
入力されたライセンス条件を特定するステップと、
前記ライセンス条件をＳＤＫソースファイルに適用するステップと、
そのＳＤＫソースファイルからＳＤＫバイナリを生成するステップと、
前記ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するステップと、
を備えることを特徴とするＳＤＫ配布パッケージ生成方法。
【請求項３】
画像形成装置のアプリケーションプログラムを生成するためのＳＤＫのＳＤＫ配布パッケージを生成するためのＳＤＫ配布パッケージ生成プログラムにおいて、
コンピュータに、
入力されたライセンス条件を特定するステップと、
前記ライセンス条件をＳＤＫソースファイルに適用するステップと、
そのＳＤＫソースファイルからＳＤＫバイナリを生成するステップと、
前記ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するステップと、
を実行させることを特徴とするＳＤＫ配布パッケージ生成プログラム。
【請求項４】
前記ライセンス条件は、前記ＳＤＫバイナリの使用期限を含むことを特徴とする請求項３記載のＳＤＫ配布パッケージ生成プログラム。
【請求項５】
前記コンピュータに、
記憶装置内の１または複数のＳＤＫソースファイルのリストを表示装置に表示させるステップと、
入力装置に対する操作に応じて、前記リストから前記ＳＤＫ配布パッケージに含める１または複数のＳＤＫソースファイルを選択するステップとをさらに備え、
前記コンピュータに、
選択された前記１または複数のＳＤＫソースファイルに前記ライセンス条件をそれぞれ適用してそれぞれのＳＤＫバイナリを生成させ、
生成したすべての前記ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成させること、
を特徴とする請求項３記載のＳＤＫ配布パッケージ生成プログラム。
【請求項６】
前記ＳＤＫソースファイルは、ＪＡＶＡ（登録商標）で記述され、
前記ＳＤＫバイナリは、ＪＡＶＡ（登録商標）アプリケーションプログラムであり、
前記ＳＤＫ配布パッケージは、所定の形式のアーカイブファイルであること、
を特徴とする請求項５記載のＳＤＫ配布パッケージ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＫ配布パッケージ生成装置、ＳＤＫ配布パッケージ生成方法、およびＳＤＫ配布パッケージ生成プログラムに関するものである。
【背景技術】
【０００２】
複合機などの画像形成装置には、アプリケーションプログラムを追加インストール可能なものがある（例えば特許文献１参照）。近年、複合機などの画像形成装置と連携するソリューションが市場において増加しており、そのようなソリューションを実現するために、画像形成装置にアプリケーションプログラムがインストールされることがある。
【０００３】
そのようなアプリケーションプログラムは、画像形成装置のメーカや、販売会社と協業するサードパーティ（ソフトウェアベンダ）により作成される。サードパーティがアプリケーションプログラムを作成する場合、例えば、画像形成装置のメーカが、ソフトウェア開発キット（ＳＤＫ：Software Development Kit）をサードパーティへ提供し、サードパーティは、そのＳＤＫを使用してアプリケーションプログラムを作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１６０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
サードパーティにＳＤＫを配布する場合、そのＳＤＫのライセンス（使用許諾）をサードパーティに与えることになる。したがって、そのサードパーティに対するライセンスに応じて、パスワード、使用期限などのライセンス条件をＳＤＫに設定し、ライセンス条件を設定されたＳＤＫをそのサードパーティに提供する。
【０００６】
ライセンス条件は、サードパーティによって異なることが多いため、一律な設定とすることができず、ＳＤＫの提供先ごとに、メーカの開発者がＳＤＫにライセンス条件設定を行う必要がある。このため、ＳＤＫ開発時にメーカの開発者に、ライセンス条件設定のための作業負担が掛ってしまう。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができるＳＤＫ配布パッケージ生成装置、ＳＤＫ配布パッケージ生成方法、およびＳＤＫ配布パッケージ生成プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明では以下のようにした。
【０００９】
本発明に係るＳＤＫ配布パッケージ生成装置は、ＳＤＫソースファイルを記憶する記憶装置と、入力されたライセンス条件をＳＤＫソースファイルに適用し、そのＳＤＫソースファイルからＳＤＫバイナリを生成するバイナリ生成部と、ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するパッケージ生成部とを備える。
【００１０】
これにより、メーカでのＳＤＫソースファイルの開発完了後、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者（例えば、販売会社のオペレータ）がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。
【００１１】
本発明に係るＳＤＫ配布パッケージ生成方法は、入力されたライセンス条件を特定するステップと、ライセンス条件をＳＤＫソースファイルに適用するステップと、そのＳＤＫソースファイルからＳＤＫバイナリを生成するステップと、ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するステップとを備える。
【００１２】
これにより、メーカでのＳＤＫソースファイルの開発完了後、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者（例えば、販売会社のオペレータ）がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。
【００１３】
本発明に係るＳＤＫ配布パッケージ生成プログラムは、コンピュータに、入力されたライセンス条件を特定するステップと、ライセンス条件をＳＤＫソースファイルに適用するステップと、そのＳＤＫソースファイルからＳＤＫバイナリを生成するステップと、ＳＤＫバイナリを含むＳＤＫ配布パッケージを生成するステップとを実行させる。
【００１４】
これにより、メーカでのＳＤＫソースファイルの開発完了後、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者（例えば、販売会社のオペレータ）がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。
【００１５】
また、本発明に係るＳＤＫ配布パッケージ生成プログラムは、上記のＳＤＫ配布パッケージ生成プログラムに加え、次のようにしてもよい。この場合、ライセンス条件は、ＳＤＫバイナリの使用期限を含む。
【００１６】
また、本発明に係るＳＤＫ配布パッケージ生成プログラムは、上記のＳＤＫ配布パッケージ生成プログラムのいずれかに加え、次のようにしてもよい。この場合、ＳＤＫ配布パッケージ生成プログラムは、コンピュータに、記憶装置内の１または複数のＳＤＫソースファイルのリストを表示装置に表示させるステップと、入力装置に対する操作に応じて、リストからＳＤＫ配布パッケージに含める１または複数のＳＤＫソースファイルを選択するステップとをさらに備え、コンピュータに、選択された１または複数のＳＤＫソースファイルにライセンス条件をそれぞれ適用してそれぞれのＳＤＫバイナリを生成させ、生成したすべてのＳＤＫバイナリを含むＳＤＫ配布パッケージを生成させる
【００１７】
これにより、開発者以外の者（例えば、販売会社のオペレータ）が、ライセンス条件設定を行いつつ、ＳＤＫの提供先に応じたＳＤＫ配布パッケージの生成を簡単に行うことができる。
【００１８】
また、本発明に係るＳＤＫ配布パッケージ生成プログラムは、上記のＳＤＫ配布パッケージ生成プログラムのいずれかに加え、次のようにしてもよい。この場合、ＳＤＫソースファイルは、ＪＡＶＡ（登録商標）で記述され、ＳＤＫバイナリは、ＪＡＶＡ（登録商標）アプリケーションプログラムであり、ＳＤＫ配布パッケージは、所定の形式のアーカイブファイルである。
【発明の効果】
【００１９】
本発明によれば、メーカでのＳＤＫソースファイルの開発完了後、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者（例えば、販売会社のオペレータ）がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明の実施の形態により生成されるＳＤＫ配布パッケージに関連する、画像形成装置のメーカ、販売会社、サードパーティおよびエンドユーザの関係について説明するブロック図である。
【図２】図２は、本発明のＳＤＫ配布パッケージ生成装置の一実施の形態である端末装置の構成を示すブロック図である。
【図３】図３は、図２に示す端末装置の動作について説明するフローチャートである。
【図４】図４は、図２に示す端末装置において表示されるＳＤＫソースファイルのリストを含む操作画面の一例を示す図である。
【図５】図５は、図２に示す端末装置において表示される、ライセンス条件およびパスワードを入力するための操作画面の一例を示す図である。
【図６】図６は、図２に示す端末装置において表示される、ＳＤＫ配布パッケージの名称、保存先のパス、および同梱ファイルを指定するための操作画面の一例を示す図である。
【図７】図７は、図２に示す端末装置により生成されるＳＤＫバイナリの構成の一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図に基づいて本発明の実施の形態を説明する。
【００２２】
最初に、図１を参照して、本発明の実施の形態により生成されるＳＤＫ配布パッケージに関連する、画像形成装置のメーカ、販売会社、サードパーティおよびエンドユーザの関係について説明する。
【００２３】
本実施の形態では、画像形成装置のメーカ１０１が、画像形成装置のアプリケーション開発用ＳＤＫを開発し、使用期限などのライセンス条件を設定せずに、そのＳＤＫのソースコードを含むＳＤＫソースファイルを画像形成装置の販売会社１０２へ提供する。そして、販売会社１０２では、オペレータが端末装置１を使用してライセンス条件を入力すると、そのＳＤＫソースファイルから、そのライセンス条件が適用されたＳＤＫバイナリが生成され、そのＳＤＫバイナリを含むＳＤＫ配布パッケージが生成される。そして、販売会社１０２からサードパーティ１０３へ所定のライセンス条件の下でＳＤＫ配布パッケージが提供される。サードパーティ１０３では、そのＳＤＫ配布パッケージが図示せぬ開発用端末（パーソナルコンピュータ等）にインストールされ、ライセンス条件により許可された範囲内でそれに含まれるＳＤＫ（バイナリ）を使用して画像形成装置２のアプリケーションプログラムの作成が行われる。作成されたアプリケーションプログラムは、例えば販売会社１０２を介してエンドユーザ１０４に販売され、画像形成装置２にインストールされ使用される。
【００２４】
このようにして、各プログラム（ＳＤＫ、ＳＤＫ配布パッケージ、アプリケーションプログラムなど）が授受される。
【００２５】
次に、本発明のＳＤＫ配布パッケージ生成装置の一実施の形態である端末装置１について説明する。
【００２６】
図２は、本発明のＳＤＫ配布パッケージ生成装置の一実施の形態である端末装置１の構成を示すブロック図である。図２に示す端末装置１は、コンピュータを内蔵しており、各種プログラムを実行して演算や処理を実行する。端末装置１としては、例えばパーソナルコンピュータが使用される。
【００２７】
端末装置１において、表示装置１１は、操作画面などを表示する装置である。表示装置１１としては、例えば液晶ディスプレイが使用される。入力装置１２は、操作画面に対する操作を入力するための装置である。入力装置１２としては、例えばキーボードやマウスが使用される。より具体的には、図示せぬグラフィック回路が描画処理およびビデオ信号の出力を行い、表示装置１１は、そのビデオ信号に従って画面を表示する。また、図示せぬインタフェースが入力装置１２との間のデータの送受を行う。
【００２８】
また、インタフェース１３は、周辺装置またはネットワーク機器を接続され、データ通信を行う回路である。インタフェース１３としては、例えばＵＳＢ（Universal Serial Bus）といった周辺機器インタフェース、あるいはネットワークインタフェースが使用される。
【００２９】
記憶装置１４は、図示せぬオペレーティングシステム、各種プログラム、および各種データを格納する記録媒体を有する装置である。記憶装置１４としては、不揮発性半導体メモリ、ハードディスク駆動装置、ディスクアレイ装置などが使用される。
【００３０】
この実施の形態では、記憶装置１４には、１または複数のＳＤＫソースファイル２１、およびＳＤＫ配布パッケージプログラム２２が記憶されている。
【００３１】
ＳＤＫソースファイル２１は、ＳＤＫのソースコードを含むファイルであって、メーカ１０１により開発されたものである。この実施の形態では、ＳＤＫソースファイル２１は、ＪＡＶＡ（登録商標）で記述されている。なお、ＳＤＫソースファイル２１は、記録媒体に記録されてメーカ１０１から提供されるか、メーカ１０１のサーバからダウンロードされて、端末装置１へ格納される。
【００３２】
ＳＤＫ配布パッケージプログラム２２は、ＳＤＫソースファイル２１からＳＤＫ配布パッケージを生成するためのプログラムである。なお、ＳＤＫ配布パッケージプログラム２２を、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの可搬性のある記録媒体に記録し、その記録媒体をメーカ１０１から提供するようにしてもよい。その場合、その記録媒体から端末装置１へＳＤＫ配布パッケージプログラム２２がインストールされる。
【００３３】
また、ＣＰＵ（Central Processing Unit）１５は、プログラムに記述された処理を実行する演算処理装置である。また、ＲＯＭ（Read Only Memory）１６は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、ＲＡＭ（Random Access Memory）１７は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。ＣＰＵ１５、ＲＯＭ１６およびＲＡＭ１７は、バスやコントローラチップを介して互いに接続されており、さらに、バスやコントロールチップを介して記憶装置１４、インタフェース１３、表示装置１１のグラフィック回路、および入力装置１２のインタフェースに接続されている。
【００３４】
ＣＰＵ１５は、記憶装置１４またはＲＯＭ１６に格納されているプログラムをＲＡＭ１７にロードして実行する。これにより、プログラムに記述された処理を実行する処理部が実現される。
【００３５】
この実施の形態では、ＳＤＫ配布パッケージプログラム２２が実行されることにより、ＵＩ処理部３１、バイナリ生成部３２およびパッケージ生成部３３が実現される。
【００３６】
ＵＩ処理部３１は、表示装置１１における操作画面の表示、および入力装置１２に対する入力の検出を行う処理部である。ＵＩ処理部３１は、記憶装置１４内の１または複数のＳＤＫソースファイル２１のリストを表示装置１１に表示させ、入力装置１２に対する操作に応じて、そのリストから、ＳＤＫ配布パッケージに含める１または複数のＳＤＫソースファイルを選択する。
【００３７】
バイナリ生成部３２は、入力装置１２で入力されたライセンス条件をＳＤＫソースファイル２１に適用し、そのＳＤＫソースファイルからＳＤＫバイナリを生成する処理部である。より具体的には、バイナリ生成部３２は、上述のリストから選択された１または複数のＳＤＫソースファイルにライセンス条件をそれぞれ適用してそれぞれのＳＤＫバイナリを生成させる。なお、この実施の形態では、ライセンス条件として、ＳＤＫバイナリの使用期限が設定される。また、この実施の形態では、ＳＤＫバイナリは、ＪＡＶＡ（登録商標）アプリケーションプログラム（ＪＡＶＡバイトコード）である。
【００３８】
パッケージ生成部３３は、バイナリ生成部３２により生成された１または複数のＳＤＫバイナリを含むＳＤＫ配布パッケージを生成する処理部である。この実施の形態では、ＳＤＫ配布パッケージは、ＺＩＰ形式などの所定の形式のアーカイブファイルである。
【００３９】
次に、上記端末装置１の動作（つまり、ＳＤＫ配布パッケージの生成）について説明する。図３は、図２に示す端末装置１の動作について説明するフローチャートである。
【００４０】
ＳＤＫ配布パッケージプログラム２２がＣＰＵ１５で実行されると、まず、ＵＩ処理部３１が、記憶装置１４内の１または複数のＳＤＫソースファイル２１のリストを表示装置１１に表示させる（ステップＳ１）。
【００４１】
図４は、図２に示す端末装置１において表示されるＳＤＫソースファイルのリストを含む操作画面の一例を示す図である。図４に示す画面では、ＳＤＫソースファイルのリスト２０１、および、パッケージングすべきＳＤＫをオペレータが選択するためのチェックボックス２０２が表示される。また、図４に示す画面には、ＳＤＫを選択する入力を確定させ、操作画面を遷移させるための「次へ」ボタン２０３が表示される。
【００４２】
そして、ＵＩ処理部３１は、入力装置１２に対する操作に応じて、そのリストから、ＳＤＫ配布パッケージに含める１または複数のＳＤＫソースファイルを選択する（ステップＳ２）。
【００４３】
例えば、図４に示す画面において、１または複数のチェックボックス２０２がチェックされ、「次へ」ボタン２０３が押下されると、ＵＩ処理部３１は、入力装置１２に対するその操作を検出し、チェックボックス２０２がチェックされたＳＤＫに対応するＳＤＫソースファイルを選択する。
【００４４】
次に、ＵＩ処理部３１は、選択されたＳＤＫのライセンス条件を入力するための操作画面を表示装置１１に表示させ、その操作画面に対して入力されたライセンス条件を特定する（ステップＳ３）。ここでは、ライセンス条件として、ＳＤＫの使用期限が特定される。また、ＵＩ処理部３１は、ＳＤＫ配布パッケージ生成プログラム２２についてのユーザ認証パスワードを入力するための操作画面を表示装置１１に表示させ、その操作画面に対して入力されたパスワードを特定する（ステップＳ４）。なお、このパスワードは、ＳＤＫ配布パッケージ生成プログラム２２とともに正規ユーザに予め配布される。
【００４５】
図５は、図２に示す端末装置１において表示される、そのライセンス条件およびそのパスワードを入力するための操作画面の一例を示す図である。この操作画面は、図４に示す操作画面における「次へ」ボタン２０３が押下されると表示される。図５に示す画面では、使用期限の年月日および時分を入力するための入力フィールド（テキストボックス）２１１が表示されるとともに、パスワード入力のための入力フィールド２１２が表示される。また、図５に示す画面には、入力フィールド２１１，２１２への入力を確定させ、操作画面を遷移させるための「次へ」ボタン２１３が表示される。図５に示す画面において、オペレータにより使用期限の年月日および時分およびパスワードが入力され、「次へ」ボタン２１３が押下されると、ＵＩ処理部３１は、入力装置１２に対するその操作を検出し、その操作画面に対して入力されたライセンス条件としての使用期限を特定する。併せて、入力されたパスワードが特定される。
【００４６】
さらに、ＵＩ処理部３１は、ＳＤＫ配布パッケージの名称、保存先のパス、および同梱ファイル（ＳＤＫとともにパッケージに同梱すべきファイル）を指定するための操作画面を表示装置１１に表示させ、その操作画面に対して入力されたそれらの情報を特定する。例えば、ＲＥＡＤＭＥファイル、サンプルコードなどが同梱ファイルとされる。
【００４７】
図６は、図２に示す端末装置１において表示される、ＳＤＫ配布パッケージの名称、保存先のパス、および同梱ファイルを指定するための操作画面の一例を示す図である。この操作画面は、図５に示す操作画面における「次へ」ボタン２１３が押下されると表示される。図６に示す画面では、ＳＤＫ配布パッケージの名称を入力するための入力フィールド２２１、ＳＤＫ配布パッケージの保存先パスを入力するための入力フィールド２２２、および同梱ファイルのファイル名を入力するための入力フィールド２２３が表示される。なお、この実施の形態では、ＳＤＫ配布パッケージは、パスワード付きのＺＩＰ形式のアーカイブファイルとされるが、図６に示すように、プルダウンメニューなどでファイル形式を選択可能としてもよい。例えば、インストーラ形式のアーカイブファイルとされてもよい。また、図６に示す画面には、入力フィールド２２１〜２２３への入力を確定させ、ＳＤＫバイナリを含むＳＤＫ配布パッケージの生成を実行させるための「完了」ボタン２２４が表示される。図６に示す画面において、オペレータにより入力フィールド２２１〜２２３へそれぞれの情報が入力され、「完了」ボタン２２４が押下されると、ＵＩ処理部３１は、入力装置１２に対するその操作を検出し、その操作画面に対して入力された情報を特定する。
【００４８】
そして、所定の操作（例えば図６における「完了」ボタン２２４の押下）が検出されると、まず、ＵＩ処理部３１は、上述の入力されたパスワードが正しいものであるか否かを判定する（ステップＳ５）。
【００４９】
上述の入力されたパスワードが正しいものであると判定された場合、バイナリ生成部３２は、ステップＳ２で選択されたＳＤＫソースファイルを、ステップＳ３で特定されたライセンス条件に基づいて編集する（ステップＳ６）。これにより、そのＳＤＫソースファイルから生成されたＳＤＫバイナリは、そのライセンス条件で許可されている場合のみ使用可能（つまり、実行可能）となる。
【００５０】
図７は、図２に示す端末装置１により生成されるＳＤＫバイナリの構成の一例を示す図である。このＳＤＫバイナリ３０１は、コア機能パッケージ３１１と、機能拡張用のパッケージ３１２〜３１４とを含む。各パッケージ３１１〜３１４は、ＪＡＶＡバイトコードで記述されたクラスファイルを含むＪＡＲファイルとされる。なお、このＳＤＫバイナリ３０１は、例えば、それらのＪＡＲファイルを含む１つのアーカイブファイルとされる。
【００５１】
コア機能パッケージ３１１は、一般的なデータハンドリング（文字列、数値についての管理、演算など）、ファイル入出力、使用制限機能などの基本的な機能を実現するためのパッケージである。ＵＩ機能パッケージ３１２は、コア機能パッケージ３１１と連携して、ＳＤＫのユーザインタフェースを実現するためのパッケージである。ビルド機能パッケージ３１３は、コア機能パッケージ３１１と連携して、ＳＤＫでアプリケーションプログラムを生成するためのパッケージである。使用制限パッケージ３１４は、コア機能パッケージ３１１の使用制限機能を拡張し、使用制限パッケージ３１４内で設定されているライセンス条件に基づき使用制限を行うためのパッケージである。
【００５２】
例えば、使用制限機能のパラメータ（コア機能パッケージ３１１内のメンバ変数）に、コア機能パッケージ３１１が使用不可となる初期値が設定され、使用制限パッケージ３１４は、コア機能パッケージ３１１内の使用制限機能のクラスをオーバーライドするサブクラスを有し、そのサブクラスから、コア機能パッケージ３１１における上位クラスのメソッドを呼び出してそのパラメータの値を書き換えるコードを有する。
【００５３】
例えば、次のように、上位クラスのメソッドを呼び出すメソッドは、サブクラスに記述される。ＳＤＫソースファイル２１においては、次のメソッドは、テキストデータとして記述されている。このソースコードのように、ＳＤＫの開発者は、引数のない状態（あるいは仮の引数を記述した状態）のコードを作成すればよく、ＳＤＫの提供先に応じた個別的な作業を行わずに済む。
【００５４】
public void setTrial(int num){
super.setStartDate("");
super.setPeriod("");
}
【００５５】
したがって、ステップＳ６では、バイナリ生成部３２は、ステップＳ２で選択されたＳＤＫソースファイルにおける上述のサブクラスから呼び出す上位クラスのメソッドの引数を、ステップＳ３で特定されたライセンス条件に基づいて編集する。
【００５６】
上述の例では、使用許可期間の開始日（例えば現時点の年月日および時分）が、メソッド「setStartDate("")」の引数に設定され、その使用許可期間の開始日と入力された使用期限とから得られる使用許可期間の長さが、メソッド「setPeriod("")」の引数に設定される。そして、メソッド「setStartDate("")」により、使用許可期間の開始日が設定され、メソッド「setPeriod("")」により、使用許可期間の長さが設定される。そして、ＳＤＫバイナリ３０１の実行開始時には、そのときの年月日および時分がタイマ等から取得され、実行開始時が使用許可期間内であるか否かが判定される。
【００５７】
このようにすることで、ＳＤＫバイナリ３０１を実行するたびに、使用制限パッケージ３１４により、コア機能パッケージ３１１のインスタンス内の使用制限機能のパラメータの値が書き換えられ、その値に基づくライセンス条件が満たされていれば、そのまま、ＳＤＫバイナリ３０１が正常に動作する。一方、ライセンス条件が満たされていなければ、ＳＤＫバイナリ３０１が動作しない。また、ＳＤＫバイナリ３０１から不正に使用制限パッケージ３１４が取り除かれた状態では、上述のパラメータの値が書き換えられないため、コア機能パッケージ３１１ひいてはＳＤＫバイナリ３０１が使用できなくなるため、不正使用を防止できる。
【００５８】
このようにして、ステップＳ４においてＳＤＫソースファイル２１を編集した後、バイバリ生成部３２は、各ＳＤＫソースファイル２１をコンパイルして、各ＳＤＫのＳＤＫバイナリ３０１を生成する（ステップＳ７）。
【００５９】
そして、各ＳＤＫバイナリ３０１が生成されると、パッケージ生成部３３は、選択されたすべてのＳＤＫのＳＤＫバイナリ３０１を含むアーカイブファイルをＳＤＫ配布パッケージとして生成する（ステップＳ８）。このとき、生成されたアーカイブファイルのファイル名は、上述のようにして指定されたものとされ、生成されたアーカイブファイルは、上述の保存先に保存される。また、上述の同梱ファイルがある場合には同梱ファイルとして指定されたファイルを記憶装置１４等から読み出し、そのファイルを含めてアーカイブファイルが生成される。
【００６０】
ＳＤＫ配布パッケージが正常に生成されると、ＵＩ処理部３１は、その旨を示すメッセージを表示装置１１に表示させる（ステップＳ９）。
【００６１】
一方、ステップＳ５において、上述の入力されたパスワードが正しいものではないと判定した場合、ＵＩ処理部３１は、その旨を示すエラーメッセージを表示装置１１に表示させる（ステップＳ１０）。
【００６２】
このようにして生成されたＳＤＫ配布パッケージは、正規のサードパーティに提供され、パッケージ解凍後、ＳＤＫ配布パッケージに含まれるＳＤＫが、サードパーティの開発環境（ＪＡＶＡ（登録商標）アプリケーションの場合、例えばEclipse等）に追加される。
【００６３】
以上のように、上記実施の形態によれば、端末装置１は、ＳＤＫソースファイル２１を記憶する記憶装置１４と、入力されたライセンス条件をＳＤＫソースファイル２１に適用し、適用後のＳＤＫソースファイルからＳＤＫバイナリ３０１を生成するバイナリ生成部３２と、ＳＤＫバイナリ３０１を含むＳＤＫ配布パッケージを生成するパッケージ生成部３３とを備える。
【００６４】
これにより、ＳＤＫにライセンスを導入でき、ライセンス外での不正使用を防止することができる。さらに、ＳＤＫソースファイルの開発後、ＳＤＫ配布パッケージの生成時にＳＤＫ開発者以外の者（例えば、販売会社のオペレータ）がライセンス条件設定を簡単に行うことができ、ライセンス条件設定のための開発者の作業負担を軽減することができる。
【００６５】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６６】
例えば、上記実施の形態において、ＳＤＫバイナリを１つのファイル（ＪＡＲファイル）として、そのファイルを配布パッケージとしてもよい。
【００６７】
また、上記実施の形態において、ＳＤＫにより開発されるアプリケーションプログラムは、ＪＡＶＡ（登録商標）仮想マシン上で動作するＪＡＶＡ（登録商標）アプリケーションに限らず、ウェブサーバを内蔵する画像形成装置用のウェブアプリケーションであってもよい。
【００６８】
また、上記実施の形態において、端末装置１は、販売会社１０２ではなく、メーカ１０１が有していてもよい。
【００６９】
また、上記実施の形態においては、ライセンス条件を、使用期限のみとしているが、パスワードを設定するようにしてもよい。その場合、ＳＤＫ実行開始時にパスワードが要求され、正しいパスワードが入力された場合のみ、ＳＤＫバイナリ３０１が実行される。
【産業上の利用可能性】
【００７０】
本発明は、例えば、画像形成装置用のアプリケーションプログラムを作成するためのＳＤＫの提供に適用可能である。
【符号の説明】
【００７１】
１  端末装置（ＳＤＫ配布パッケージ生成装置の一例）
２  画像形成装置
１４  記憶装置
２１  ＳＤＫソースファイル
３２  バイナリ生成部
３３  パッケージ生成部
３０１  ＳＤＫバイナリ
【図１】
2011150430.tif 000003
【図２】
2011150430.tif 000004
【図３】
2011150430.tif 000005
【図４】
2011150430.tif 000006
【図５】
2011150430.tif 000007
【図６】
2011150430.tif 000008
【図７】
2011150430.tif 000009