(57)【要約】【課題】  アプリケーションの開発の負担を従来より低減することができる画像形成装置を提供する。【解決手段】  インストールされたアプリケーション４０によってデバイスによる複数の機能を実現するＭＦＰ１０のアプリケーションプラットフォーム３０のＡＰＩ３１ａは、アプリケーション４０から呼び出された場合に、このＡＰＩ３１ａのサポート判断用情報３１ｂを機能サポートチェック２２ａに通知し、コントローラー２０の機能サポートチェック２２ａは、ＡＰＩ３１ａがＭＦＰ１０によってサポートされているか否かの判断を、ＡＰＩ３１ａから通知されたサポート判断用情報に基づいて実行し、機能サポートチェック２２ａは、ＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということを判断した場合に、その旨をこのＡＰＩ３１ａに通知し、更に、ＡＰＩ３１ａは、その旨をアプリケーション４０に通知することを特徴とする。【選択図】  図２
2014150320.tif 000002
【特許請求の範囲】
【請求項１】
印刷デバイスを含む複数のデバイスを備えており、インストールされたアプリケーションによって前記デバイスによる複数の機能を実現する画像形成装置であって、
前記デバイスを制御する処理である複数の実処理を実行するコントローラーと、前記実処理を呼び出すための複数のＡＰＩのセットを備えていて、前記ＡＰＩを前記アプリケーションに提供するアプリケーションプラットフォームとを備えており、
前記コントローラーは、前記ＡＰＩが前記画像形成装置によってサポートされているか否かの判断を、この判断用の情報であるサポート判断用情報に基づいて実行するサポート判断手段を備えており、
前記ＡＰＩは、前記アプリケーションから呼び出された場合に、このＡＰＩの前記サポート判断用情報を前記サポート判断手段に通知し、
前記サポート判断手段は、前記ＡＰＩから通知された前記サポート判断用情報に基づいて前記判断を実行し、
前記サポート判断手段は、前記ＡＰＩが前記画像形成装置によってサポートされていないということを判断した場合に、このＡＰＩが前記画像形成装置によってサポートされていないということをこのＡＰＩに通知し、
前記ＡＰＩは、このＡＰＩが前記画像形成装置によってサポートされていないということが前記サポート判断手段によって通知された場合に、このＡＰＩが前記画像形成装置によってサポートされていないということを前記アプリケーションに通知することを特徴とする画像形成装置。
【請求項２】
前記コントローラーは、前記ＡＰＩが前記画像形成装置によってサポートされているということが前記サポート判断手段によって判断された場合に、前記ＡＰＩに対応している前記実処理を呼び出す実処理呼出手段を備えていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記アプリケーションプラットフォームは、前記コントローラーとは独立してバージョンアップされることが可能であることを特徴とする請求項１または請求項２に記載の画像形成装置。
【請求項４】
前記サポート判断用情報は、このサポート判断用情報を前記サポート判断手段に通知する前記ＡＰＩの識別情報であり、
前記サポート判断手段は、前記画像形成装置によってサポートされている前記ＡＰＩの識別情報のリストに、前記ＡＰＩから通知された前記サポート判断用情報が含まれる場合に、このＡＰＩが前記画像形成装置によってサポートされているということを判断することを特徴とする請求項１から請求項３までの何れかに記載の画像形成装置。
【請求項５】
前記サポート判断用情報は、このサポート判断用情報を前記サポート判断手段に通知する前記ＡＰＩが前記セットに初めて追加された時点の前記セットのバージョンの番号であり、
前記サポート判断手段は、前記画像形成装置によってサポートされている前記セットのバージョンの番号が、前記ＡＰＩから通知された前記サポート判断用情報以降の番号である場合に、このＡＰＩが前記画像形成装置によってサポートされているということを判断することを特徴とする請求項１から請求項３までの何れかに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インストールされたアプリケーションによってデバイスによる複数の機能を実現する画像形成装置に関する。
【背景技術】
【０００２】
従来、インストールされたアプリケーションによってデバイスによる複数の機能を実現する画像形成装置として、デバイスを制御する処理である実処理を呼び出すための複数のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）のセットを備えているアプリケーションプラットフォームを備えている画像形成装置が知られている（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−８２８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の画像形成装置は、アプリケーションプラットフォームが画像形成装置のファームウェアの中に含まれているので、画像形成装置の機種が新たに開発される度にアプリケーションプラットフォームも新たに開発される必要がある。そして、新しい機種の画像形成装置によってサポートされているアプリケーションプラットフォームには、新たなＡＰＩが追加されている場合がある。
【０００５】
ここで、新たなアプリケーションプラットフォームに含まれているＡＰＩのうち古いアプリケーションプラットフォームに含まれていないＡＰＩを呼び出すアプリケーションは、新たなアプリケーションプラットフォームを備えている画像形成装置において正常に動作するが、古いアプリケーションプラットフォームを備えている画像形成装置においては例えば動作が中断したりして正常に動作しない。
【０００６】
したがって、アプリケーションの開発者は、何れの機種が何れのＡＰＩをサポートしているかということに注意を払いつつ、例えばアプリケーションが特定の機種で実行される場合には、この機種でサポートされていないＡＰＩを呼び出すＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）のボタンを画面上で予め非表示にするようにアプリケーションを開発するなどして、機種毎に不具合が生じないようにアプリケーションを開発する必要がある。すなわち、従来の画像形成装置は、アプリケーションの開発の負担が大きいという問題がある。
【０００７】
そこで、本発明は、アプリケーションの開発の負担を従来より低減することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像形成装置は、印刷デバイスを含む複数のデバイスを備えており、インストールされたアプリケーションによって前記デバイスによる複数の機能を実現する画像形成装置であって、前記デバイスを制御する処理である複数の実処理を実行するコントローラーと、前記実処理を呼び出すための複数のＡＰＩのセットを備えていて、前記ＡＰＩを前記アプリケーションに提供するアプリケーションプラットフォームとを備えており、前記コントローラーは、前記ＡＰＩが前記画像形成装置によってサポートされているか否かの判断を、この判断用の情報であるサポート判断用情報に基づいて実行するサポート判断手段を備えており、前記ＡＰＩは、前記アプリケーションから呼び出された場合に、このＡＰＩの前記サポート判断用情報を前記サポート判断手段に通知し、前記サポート判断手段は、前記ＡＰＩから通知された前記サポート判断用情報に基づいて前記判断を実行し、前記サポート判断手段は、前記ＡＰＩが前記画像形成装置によってサポートされていないということを判断した場合に、このＡＰＩが前記画像形成装置によってサポートされていないということをこのＡＰＩに通知し、前記ＡＰＩは、このＡＰＩが前記画像形成装置によってサポートされていないということが前記サポート判断手段によって通知された場合に、このＡＰＩが前記画像形成装置によってサポートされていないということを前記アプリケーションに通知することを特徴とする。
【０００９】
この構成により、本発明の画像形成装置は、サポートしていないＡＰＩをアプリケーションに通知するので、画像形成装置によってサポートされていないＡＰＩを使用しようとした場合の動作がアプリケーションの開発者によってアプリケーションに予め作り込まれることによって、アプリケーションを正常に動作させることができる。すなわち、本発明の画像形成装置は、画像形成装置の何れの機種が何れのＡＰＩをサポートしているかということにアプリケーションの開発者が注意を払う必要性を低減するので、アプリケーションの開発の負担を従来より低減することができる。また、本発明の画像形成装置は、サポートしていないＡＰＩをアプリケーションに通知するので、サポートしていないＡＰＩを備えているアプリケーションプラットフォームを備えていても良い。したがって、本発明の画像形成装置は、アプリケーションプラットフォームが機種毎に開発される必要性を低減することができる。
【００１０】
また、本発明の画像形成装置において、前記コントローラーは、前記ＡＰＩが前記画像形成装置によってサポートされているということが前記サポート判断手段によって判断された場合に、前記ＡＰＩに対応している前記実処理を呼び出す実処理呼出手段を備えていても良い。
【００１１】
この構成により、本発明の画像形成装置は、サポートしているＡＰＩがアプリケーションから呼び出された場合に、このＡＰＩに対応している実処理を呼び出すことができる。
【００１２】
また、本発明の画像形成装置において、前記アプリケーションプラットフォームは、前記コントローラーとは独立してバージョンアップされることが可能であっても良い。
【００１３】
この構成により、本発明の画像形成装置は、アプリケーションプラットフォームに含まれていないＡＰＩを呼び出すアプリケーションがインストールされたとしても、このアプリケーションプラットフォームがこのＡＰＩを含む新たなアプリケーションプラットフォームにバージョンアップされることによって、このアプリケーションを正常に動作させることができる。
【００１４】
また、本発明の画像形成装置において、前記サポート判断用情報は、このサポート判断用情報を前記サポート判断手段に通知する前記ＡＰＩの識別情報であり、前記サポート判断手段は、前記画像形成装置によってサポートされている前記ＡＰＩの識別情報のリストに、前記ＡＰＩから通知された前記サポート判断用情報が含まれる場合に、このＡＰＩが前記画像形成装置によってサポートされているということを判断しても良い。
【００１５】
この構成により、本発明の画像形成装置は、アプリケーションプラットフォームがＡＰＩのそれぞれの識別情報を記憶していれば良いので、ＡＰＩがＡＰＩのセットに初めて追加された時点のＡＰＩのセットのバージョンの番号をアプリケーションプラットフォームがＡＰＩのそれぞれについて記憶している構成と比較して、アプリケーションプラットフォームの開発の負担を従来より低減することができる。
【００１６】
また、本発明の画像形成装置において、前記サポート判断用情報は、このサポート判断用情報を前記サポート判断手段に通知する前記ＡＰＩが前記セットに初めて追加された時点の前記セットのバージョンの番号であり、前記サポート判断手段は、前記画像形成装置によってサポートされている前記セットのバージョンの番号が、前記ＡＰＩから通知された前記サポート判断用情報以降の番号である場合に、このＡＰＩが前記画像形成装置によってサポートされているということを判断しても良い。
【００１７】
この構成により、本発明の画像形成装置は、画像形成装置によってサポートされているＡＰＩのセットのバージョンの番号をコントローラーが記憶していれば良いので、画像形成装置によってサポートされているＡＰＩの識別情報のリストをコントローラーが記憶している構成と比較して、コントローラーの開発の負担を従来より低減することができる。
【発明の効果】
【００１８】
本発明の画像形成装置は、アプリケーションの開発の負担を従来より低減することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施の形態に係るＭＦＰのブロック図である。
【図２】図１に示すＭＦＰのシステムの構成を示すブロック図である。
【図３】アプリケーションがＡＰＩを呼び出した場合の図１に示すＭＦＰの動作のフローチャートである。
【図４】図１に示すＭＦＰによってサポートされているＡＰＩの名称のリストの一例を示す図である。
【図５】図１に示すＭＦＰによってサポートされているＡＰＩセットのバージョンの番号の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施の形態について、図面を用いて説明する。
【００２１】
まず、本実施の形態に係る画像形成装置としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１０の構成について説明する。
【００２２】
図１は、本実施の形態に係るＭＦＰ１０のブロック図である。
【００２３】
図１に示すように、ＭＦＰ１０は、利用者による種々の操作が入力されるボタンなどの入力デバイスである操作部１１と、種々の情報を表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示デバイスである表示部１２と、原稿から画像を読み取る読取デバイスであるスキャナー１３と、用紙などの記録媒体に印刷を実行する印刷デバイスであるプリンター１４と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部１５と、ネットワーク経由で外部の装置と通信を行うネットワーク通信デバイスであるネットワーク通信部１６と、各種のデータを記憶しているＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶デバイスである記憶部１７と、ＭＦＰ１０全体を制御する制御部１８とを備えている。操作部１１、表示部１２、スキャナー１３、プリンター１４、ファックス通信部１５、ネットワーク通信部１６および記憶部１７は、本発明のデバイスを構成している。
【００２４】
記憶部１７は、後述のコントローラー２０を実現するためのコントローラー用ファームウェア１７ａと、後述のアプリケーションプラットフォーム３０を実現するためのプラットフォーム用ファームウェア１７ｂと、後述のアプリケーション４０を実現するためのアプリケーション用プログラム１７ｃとを記憶している。コントローラー用ファームウェア１７ａ、プラットフォーム用ファームウェア１７ｂおよびアプリケーション用プログラム１７ｃは、ＭＦＰ１０の製造段階でＭＦＰ１０にインストールされていても良いし、ＳＤカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリーなどの記憶媒体からＭＦＰ１０に追加でインストールされても良いし、ネットワーク上からＭＦＰ１０に追加でインストールされても良い。
【００２５】
制御部１８は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムおよび各種のデータを予め記憶しているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＣＰＵの作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを備えている。ＣＰＵは、ＲＯＭまたは記憶部１７に記憶されているプログラムを実行するようになっている。
【００２６】
制御部１８は、記憶部１７に記憶されているコントローラー用ファームウェア１７ａを実行することによって、操作部１１、表示部１２、スキャナー１３、プリンター１４、ファックス通信部１５、ネットワーク通信部１６または記憶部１７を制御する処理である後述の実処理２１（図２参照。）を実行するコントローラー２０として機能する。
【００２７】
また、制御部１８は、記憶部１７に記憶されているプラットフォーム用ファームウェア１７ｂを実行することによって、後述のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）３１ａ（図２参照。）をアプリケーション４０に提供するアプリケーションプラットフォーム３０として機能する。
【００２８】
また、制御部１８は、記憶部１７に記憶されているアプリケーション用プログラム１７ｃを実行することによって、操作部１１、表示部１２、スキャナー１３、プリンター１４、ファックス通信部１５、ネットワーク通信部１６または記憶部１７による複数の機能を実現するアプリケーション４０として機能する。ＭＦＰ１０は、アプリケーション４０が追加でインストールされることによって、機能が拡張されることができる。ＭＦＰ１０には、複数のアプリケーション４０がインストールされることができる。
【００２９】
図２は、ＭＦＰ１０のシステムの構成を示すブロック図である。
【００３０】
図２に示すように、コントローラー２０は、スキャナー１３によって原稿から画像を読み取る機能、プリンター１４によって記録媒体に画像の印刷を実行する機能、ネットワーク通信部１６によってネットワーク経由で外部の装置と通信を行う機能、記憶部１７によって電子データを保存する機能など、操作部１１、表示部１２、スキャナー１３、プリンター１４、ファックス通信部１５、ネットワーク通信部１６または記憶部１７による機能を実現する複数の実処理２１と、後述のＡＰＩ３１ａおよび実処理２１を中継するアプリケーションプラットフォームＩ／Ｆ２２とを備えている。アプリケーションプラットフォームＩ／Ｆ２２は、ＡＰＩ３１ａがＭＦＰ１０によってサポートされているか否かの判断を、この判断用の情報であるサポート判断用情報３１ｂに基づいて実行するサポート判断手段としての機能サポートチェック２２ａと、ＡＰＩ３１ａがＭＦＰ１０によってサポートされているということが機能サポートチェック２２ａによって判断された場合に、ＡＰＩ３１ａに対応している実処理２１を呼び出す実処理呼出手段としてのＡＰＩ呼出Ｉ／Ｆ２２ｂとを備えている。ＡＰＩ呼出Ｉ／Ｆ２２ｂは、何れのＡＰＩ３１ａと、何れの実処理２１とが対応しているかを記憶している。
【００３１】
アプリケーションプラットフォーム３０は、実処理２１を呼び出すための複数のＡＰＩ３１ａのセットであるＡＰＩセット３１を備えている。例えば、アプリケーションプラットフォーム３０は、Ｊａｖａ（登録商標）  ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）である。アプリケーションプラットフォーム３０は、コントローラー２０とは独立してバージョンアップされることが可能である。
【００３２】
アプリケーション４０は、アプリケーションプラットフォーム３０が提供するＡＰＩ３１ａを呼び出すことによって、このＡＰＩ３１ａに対応している実処理２１をコントローラー２０に実行させることができる。ＭＦＰ１０の利用者は、自身の業務に必要な機能を実現するためのアプリケーション４０を、このアプリケーション４０の開発元などから購入し、ＭＦＰ１０に追加でインストールすることができる。また、ＭＦＰ１０の利用者は、特定の機能が不要になった場合には、この機能を停止したり、この機能を実現するためのアプリケーション４０をＭＦＰ１０からアンインストールしたりすることもできる。
【００３３】
次に、ＭＦＰ１０の動作について説明する。
【００３４】
ＭＦＰ１０は、アプリケーション４０が実行されることによってアプリケーション４０がＡＰＩ３１ａを呼び出すと、図３に示す動作を実行する。
【００３５】
図３は、アプリケーション４０がＡＰＩ３１ａを呼び出した場合のＭＦＰ１０の動作のフローチャートである。
【００３６】
図３に示すように、アプリケーション４０によって呼び出されたＡＰＩ３１ａは、このＡＰＩ３１ａのサポート判断用情報３１ｂを機能サポートチェック２２ａに通知する（Ｓ９１）。
【００３７】
次いで、機能サポートチェック２２ａは、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているか否かの判断を、Ｓ９１において通知されたサポート判断用情報３１ｂに基づいて実行する（Ｓ９２）。
【００３８】
ＡＰＩ呼出Ｉ／Ｆ２２ｂは、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているということがＳ９２において判断されると、このＡＰＩ３１ａに対応している実処理２１を呼び出して（Ｓ９３）、図３に示す動作を終了する。
【００３９】
機能サポートチェック２２ａは、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをＳ９２において判断すると、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをこのＡＰＩ３１ａに通知する（Ｓ９４）。
【００４０】
次いで、このＡＰＩ３１ａは、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをアプリケーション４０に通知して（Ｓ９５）、図３に示す動作を終了する。すなわち、アプリケーション４０は、呼び出したＡＰＩ３１ａがＭＦＰ１０によってサポートされていない場合、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないという情報が、このＡＰＩ３１ａから返される。
【００４１】
なお、Ｓ９１においてＡＰＩ３１ａから機能サポートチェック２２ａに通知されるサポート判断用情報３１ｂは、このサポート判断用情報３１ｂを機能サポートチェック２２ａに通知するＡＰＩ３１ａの識別情報としてのＡＰＩ３１ａの名称（クラス名、メソッド名）であっても良い。機能サポートチェック２２ａは、サポート判断用情報３１ｂがＡＰＩ３１ａの名称である構成の場合、ＭＦＰ１０によってサポートされているＡＰＩ３１ａの名称のリストを記憶している。
【００４２】
図４は、ＭＦＰ１０によってサポートされているＡＰＩ３１ａの名称のリストの一例を示す図である。なお、図４に示すリストには、例えば“API_03”が含まれていない。
【００４３】
機能サポートチェック２２ａは、図４に示すリストに、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩ３１ａの名称が含まれる場合に、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているということをＳ９２において判断する。例えば、機能サポートチェック２２ａは、図４に示すリストを記憶している場合、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩ３１ａの名称が“API_01”であるときに、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているということをＳ９２において判断するが、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩ３１ａの名称が“API_03”であるときに、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをＳ９２において判断する。
【００４４】
また、Ｓ９１においてＡＰＩ３１ａから機能サポートチェック２２ａに通知されるサポート判断用情報３１ｂは、このサポート判断用情報３１ｂを機能サポートチェック２２ａに通知するＡＰＩ３１ａがＡＰＩセット３１に初めて追加された時点のＡＰＩセット３１のバージョンの番号であっても良い。機能サポートチェック２２ａは、ＡＰＩ３１ａがＡＰＩセット３１に初めて追加された時点のＡＰＩセット３１のバージョンの番号がサポート判断用情報３１ｂである構成の場合、ＭＦＰ１０によってサポートされているＡＰＩセット３１のバージョンの番号を記憶している。
【００４５】
図５は、ＭＦＰ１０によってサポートされているＡＰＩセット３１のバージョンの番号の一例を示す図である。
【００４６】
機能サポートチェック２２ａは、図５に示すＡＰＩセット３１のバージョンの番号が、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩセット３１のバージョンの番号以降の番号である場合に、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているということをＳ９２において判断する。例えば、機能サポートチェック２２ａは、図５に示すＡＰＩセット３１のバージョンの番号を記憶している場合、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩセット３１のバージョンの番号が“04”であるときに、このＡＰＩ３１ａがＭＦＰ１０によってサポートされているということをＳ９２において判断するが、ＡＰＩ３１ａから通知されたサポート判断用情報３１ｂとしてのＡＰＩセット３１のバージョンの番号が“06”であるときに、このＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをＳ９２において判断する。すなわち、機能サポートチェック２２ａは、図５に示すＡＰＩセット３１のバージョンの番号を記憶している場合、バージョンの番号が“06”以降であるＡＰＩセット３１に初めて追加されたＡＰＩ３１ａがＭＦＰ１０によってサポートされていないということをＳ９２において判断する。
【００４７】
以上に説明したように、ＭＦＰ１０は、サポートしていないＡＰＩ３１ａをアプリケーション４０に通知する（Ｓ９５）ので、ＭＦＰ１０によってサポートされていないＡＰＩ３１ａを使用しようとした場合の動作がアプリケーション４０の開発者によってアプリケーション４０に予め作り込まれることによって、アプリケーション４０を正常に動作させることができる。すなわち、ＭＦＰ１０は、ＭＦＰ１０の何れの機種が何れのＡＰＩ３１ａをサポートしているかということにアプリケーション４０の開発者が注意を払う必要性を低減するので、アプリケーション４０の開発の負担を従来より低減することができる。
【００４８】
また、ＭＦＰ１０は、サポートしていないＡＰＩ３１ａをアプリケーション４０に通知する（Ｓ９５）ので、サポートしていないＡＰＩ３１ａを備えているアプリケーションプラットフォーム３０を備えていても良い。したがって、ＭＦＰ１０は、アプリケーションプラットフォーム３０が機種毎に開発される必要性を低減することができる。
【００４９】
また、ＭＦＰ１０は、サポートしているＡＰＩ３１ａがアプリケーション４０から呼び出された場合に（Ｓ９２でＹＥＳ）、このＡＰＩ３１ａに対応している実処理を呼び出すことができる（Ｓ９３）。
【００５０】
また、ＭＦＰ１０は、アプリケーションプラットフォーム３０に含まれていないＡＰＩ３１ａを呼び出すアプリケーション４０がインストールされたとしても、このアプリケーションプラットフォーム３０がこのＡＰＩ３１ａを含む新たなアプリケーションプラットフォーム３０にバージョンアップされることによって、このアプリケーション４０によって実現される機能に制限があるものの、このアプリケーション４０を正常に動作させることができる。すなわち、ＭＦＰ１０は、古い機種であっても、アプリケーションプラットフォーム３０がバージョンアップされることによって、新しい機種用のアプリケーション４０によって実現される機能に制限があるものの、このアプリケーション４０を正常に動作させることができる。
【００５１】
なお、アプリケーションプラットフォーム３０は、ＭＦＰの特定の機種用に開発される必要がない。すなわち、アプリケーションプラットフォーム３０は、ＭＦＰの複数の機種に共通のモジュールとして開発されることができる。したがって、ＭＦＰ１０は、アプリケーションプラットフォーム３０の開発者によるアプリケーションプラットフォーム３０の開発の負担を従来より低減することができる。
【００５２】
ＭＦＰ１０は、サポート判断用情報３１ｂがＡＰＩ３１ａの名称である構成の場合、アプリケーションプラットフォーム３０がＡＰＩ３１ａのそれぞれの名称を記憶していれば良いので、ＡＰＩ３１ａがＡＰＩセット３１に初めて追加された時点のＡＰＩセット３１のバージョンの番号をアプリケーションプラットフォーム３０がＡＰＩ３１ａのそれぞれについて記憶している構成と比較して、アプリケーションプラットフォーム３０の開発の負担を従来より低減することができる。
【００５３】
また、ＭＦＰ１０は、ＡＰＩ３１ａがＡＰＩセット３１に初めて追加された時点のＡＰＩセット３１のバージョンの番号がサポート判断用情報３１ｂである構成の場合、ＭＦＰ１０によってサポートされているＡＰＩセット３１のバージョンの番号をコントローラー２０が記憶していれば良いので、ＭＦＰ１０によってサポートされているＡＰＩ３１ａの名称のリストをコントローラー２０が記憶している構成と比較して、コントローラー２０の開発の負担を従来より低減することができる。
【００５４】
本発明の画像形成装置は、本実施の形態においてＭＦＰであるが、プリンター専用機、コピー専用機、ＦＡＸ専用機など、ＭＦＰ以外の画像形成装置であっても良い。
【符号の説明】
【００５５】
１０  ＭＦＰ（画像形成装置）
１１  操作部（デバイス）
１２  表示部（デバイス）
１３  スキャナー（デバイス）
１４  プリンター（デバイス、印刷デバイス）
１５  ファックス通信部（デバイス）
１６  ネットワーク通信部（デバイス）
１７  記憶部（デバイス）
２０  コントローラー
２１  実処理
２２ａ  機能サポートチェック（サポート判断手段）
２２ｂ  ＡＰＩ呼出Ｉ／Ｆ（実処理呼出手段）
３０  アプリケーションプラットフォーム
３１  ＡＰＩセット（ＡＰＩのセット）
３１ａ  ＡＰＩ
３１ｂ  サポート判断用情報
４０  アプリケーション
【図１】
2014150320.tif 000003
【図２】
2014150320.tif 000004
【図３】
2014150320.tif 000005
【図４】
2014150320.tif 000006
【図５】
2014150320.tif 000007