(57)【要約】【課題】アプリケーション開発等をさらに効率良く行う。【解決手段】ＪＡＶＡ（登録商標）プラットフォーム３００のリフレクション機能部３２０により、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行し、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０により、外部端末から呼出対象のＡＰＩ情報を含むＨｔｔｐリクエストを受け取ると、ＡＰＩ情報が示すＡＰＩをリフレクション機能部３２０から呼び出し、ＪＡＶＡ（登録商標）アプリケーションの手順に従い、ＡＰＩの処理を実行する。また、ＪＡＶＡ（登録商標）ＶＭ３１０は、ＡＰＩの実行結果をＨｔｔｐリクエストを送信した外部端末に返す。【選択図】図２
2019207595.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア資源を備えた画像形成装置を制御するコンピューターにより実行されるＡＰＩ呼出プログラムであって、
機器制御プラットフォームにより、オペレーティングシステム上でハードウェア資源を管理する工程と、
標準アプリケーション実行部により、前記機器制御プラットフォームで管理される前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、
ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）アプリケーション管理部により、ＪＡＶＡ（登録商標）アプリケーションを管理する工程と、
前記ＪＡＶＡ（登録商標）プラットフォームのリフレクション機能部により、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行する工程と、
前記ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）ＶＭにより、外部端末から呼出対象のＡＰＩ情報を含むＨｔｔｐリクエストを受け取ると、前記ＡＰＩ情報が示すＡＰＩを前記リフレクション機能部から呼び出し、前記ＪＡＶＡ（登録商標）アプリケーションの手順に従い、前記ＡＰＩの処理を実行する工程とを有し、
前記ＪＡＶＡ（登録商標）ＶＭは、前記ＡＰＩの実行結果を前記Ｈｔｔｐリクエストを送信した前記外部端末に返す
ことを特徴とするＡＰＩ呼出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＰＩ(Application Programming Interface)を用いてのアプリケーションの開発等における動作確認に適したＡＰＩ呼出プログラムに関する。
【背景技術】
【０００２】
例えば、多機能プリンターや、ＭＦＰ(Multifunction Peripheral)等の画像形成装置においては、印刷機能、コピー機能、ＦＡＸ機能、スキャナー機能、ネットワーク経由でのデータ送受信機能等の様々な機能が搭載されている機種がある。ところで、このような画像形成装置においては、例えば既存の機能を拡張させたアプリケーションの開発等が行われることがある。この場合、ＡＰＩを用いることにより、既存のアプリケーションの利用等が可能となり、アプリケーション開発等を効率良く行うことができる。
【０００３】
このようなＡＰＩを用いたものとして、特許文献１で提案されているソフトウェア開発支援装置が知られている。このソフトウェア開発支援装置は、開発支援装置に、所定の処理を実行する単位オブジェクトを生成するためのクラスを記憶するクラス記憶手段と、クラスを読み込んで単位オブジェクトを生成する手段と、クラスに対応する拡張機能オブジェクトを実行する拡張機能実行手段とを有するオブジェクト管理手段と、クラスに含まれる注釈情報を解析する注釈解析手段とを備え、オブジェクト生成手段が、拡張機能を実行するための注釈情報が存在する場合、注釈情報の解析結果にもとづき拡張機能オブジェクトを生成し、単位オブジェクトが所定のアプリケーションから呼び出されて実行されると、拡張機能実行手段が拡張機能オブジェクトを実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５０３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１のソフトウェア開発支援装置では、ソフトウェア開発支援装置に、監視・管理に関連するＭＢｅａｎ(Managed Bean)等の単位オブジェクトに対するコンテナ機能を組み込んで、専用の注釈情報をＭＢｅａｎ等に付与可能にし、これを解析することで、拡張機能オブジェクトやＭＢｅａｎＩｎｆｏ等を生成している。これにより、ＪＭＸ(JAVA（登録商標）Management Extensions)等に関連するコーディングの簡略化を図ることが可能となり、ソフトウェア開発を効率良く行える。
【０００６】
ところで、このソフトウェア開発支援装置は、ＪＭＸ仕様のＡＰＩを用いている。ここで、ＪＭＸ仕様のＡＰＩは、所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶させておき、クラスを呼び出すためのルールを前もって決めておく必要がある。このようなことから、ＡＰＩの処理を実行するに先立ちこれらの準備作業が必要となり、アプリケーション開発等をさらに効率良く行うことができないという問題がある。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、上記問題点を解消することができるＡＰＩ呼出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のＡＰＩ呼出プログラムは、ハードウェア資源を備えた画像形成装置を制御するコンピューターにより実行されるＡＰＩ呼出プログラムであって、機器制御プラットフォームにより、オペレーティングシステム上でハードウェア資源を管理する工程と、標準アプリケーション実行部により、前記機器制御プラットフォームで管理される前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）アプリケーション管理部により、ＪＡＶＡ（登録商標）アプリケーションを管理する工程と、前記ＪＡＶＡ（登録商標）プラットフォームのリフレクション機能部により、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行する工程と、前記ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）ＶＭにより、外部端末から呼出対象のＡＰＩ情報を含むＨｔｔｐリクエストを受け取ると、前記ＡＰＩ情報が示すＡＰＩを前記リフレクション機能部から呼び出し、前記ＪＡＶＡ（登録商標）アプリケーションの手順に従い、前記ＡＰＩの処理を実行する工程とを有し、前記ＪＡＶＡ（登録商標）ＶＭは、前記ＡＰＩの実行結果を前記Ｈｔｔｐリクエストを送信した前記外部端末に返すことを特徴とする。
本発明のＡＰＩ呼出プログラムでは、機器制御プラットフォームにより、オペレーティングシステム上でハードウェア資源を管理し、標準アプリケーション実行部により、機器制御プラットフォームで管理されるハードウェア資源を利用する標準アプリケーションを実行し、ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）アプリケーション管理部により、ＪＡＶＡ（登録商標）アプリケーションを管理し、ＪＡＶＡ（登録商標）プラットフォームのリフレクション機能部により、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行し、ＪＡＶＡ（登録商標）プラットフォームのＪＡＶＡ（登録商標）ＶＭにより、外部端末から呼出対象のＡＰＩ情報を含むＨｔｔｐリクエストを受け取ると、ＡＰＩ情報が示すＡＰＩをリフレクション機能部から呼び出し、ＪＡＶＡ（登録商標）アプリケーションの手順に従い、ＡＰＩの処理を実行する。また、ＪＡＶＡ（登録商標）ＶＭは、ＡＰＩの実行結果をＨｔｔｐリクエストを送信した外部端末に返す。
これにより、ＪＡＶＡ（登録商標）プラットフォームは、外部端末から受け取ったＨｔｔｐリクエストの呼出対象のＡＰＩ情報を元に、ＡＰＩ情報が示すＡＰＩをリフレクション機能部から呼び出すことで、ＡＰＩの処理を実行できることから、 ＡＰＩの処理を実行するに先立ち、従来のように、所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶させたり、クラスを呼び出すためのルールを前もって決めておいたりする準備作業が不要となる。
【発明の効果】
【０００９】
本発明のＡＰＩ呼出プログラムによれば、ＡＰＩの処理を実行するに先立ち、ＡＰＩの処理の実行に係わる準備作業が不要となるので、アプリケーション開発等をさらに効率良く行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明のＡＰＩ呼出プログラムを搭載した画像形成装置の一実施形態を説明するための図である。
【図２】図１の画像形成装置の制御構成を説明するための図である。
【図３】図１の画像形成装置でのＡＰＩ処理を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の画像形成装置の一実施形態を、図１〜図３を参照しながら説明する。まず、図１に示すように、画像形成装置１は、画像処理部１１、原稿読取部１２、原稿給送部１３、搬送部１４、ネットワーク送受信部１５、操作パネル部１６、画像形成部１７、ＦＡＸ(Facsimile)送受信部１８、記憶部１９、及び拡張デバイス２０等が、制御部１０に接続されている。各部は、制御部１０によって動作制御される。
【００１２】
制御部１０は、ＧＰＰ(General Purpose Processor)、ＣＰＵ(Central Processing Unit、中央処理装置)、ＭＰＵ(Micro Processing Unit)、ＤＳＰ(Digital Signal Processor)、ＧＰＵ(Graphics Processing Unit)、ＡＳＩＣ(Application Specific Processor、特定用途向けプロセッサー)等の情報処理部である。制御部１０は、記憶部１９のＥＥＰＲＯＭ(electrically erasable and programmable read-only memory)、又はＨＤＤ(Hard Disk Drive)に記憶されている制御プログラムを読み出し、この制御プログラムをＲＡＭ(Random Access Memory)に展開させて実行する。また、制御部１０は、詳細については後述するが、ネットワーク送受信部１５を介し、ＰＣ(Personal Computer)等の外部端末から受け取った呼出対象のＡＰＩ(Application Programming Interface)情報を含むＨｔｔｐ（HyperText Markup Language）リクエストに基づき、後述の図２のＪＡＶＡ（登録商標）アプリ４００の手順に従い、ＡＰＩを実行する。
【００１３】
画像処理部１１は、ＤＳＰ(Digital Signal Processor)やＧＰＵ(Graphics Processing Unit)等の制御演算部である。画像処理部１１は、各種の画像データに対して特定の画像処理を実行する。画像処理部１１は、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。画像処理部１１は、原稿読取部１２で読み取られた画像を、記憶部１９に印刷データとして記憶する。この際、画像処理部１１は、印刷データをＰＤＦやＴＩＦＦ等のフォーマットのファイル単位に変換することも可能である。
【００１４】
原稿読取部１２は、セットされた原稿を読み取る（スキャン）。原稿給送部１３は、原稿読取部１２で読み取られる原稿を搬送する。搬送部１４は、給紙カセットから記録紙を搬送し、画像形成部１７で画像形成させ、その後にスタックトレイへ搬送する。画像形成部１７は、ユーザーの出力指示により、記憶部１９に記憶され、原稿読取部１２で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる。
【００１５】
ネットワーク送受信部１５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続部である。ネットワーク送受信部１５は、データ通信用の回線ではＰＣ(Personal Computer)等の外部端末との間でデータを送受信し、音声電話回線では音声信号を送受信する。ネットワーク送受信部１５は、ネットワークを介して、図示しないスマートフォンやＰＤＡ（Personal Data Assistant）や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【００１６】
操作パネル部１６は、ＬＣＤ等の表示部と、テンキー、スタート、キャンセル、コピー（複写）、ＦＡＸ送信、スキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷、送信、保存、記録等に関するジョブの実行に係る指示を行うためのボタン若しくはタッチパネル等の入力部とを備えている。操作パネル部１６は、ユーザーの指示を取得する。このユーザーの指示は、後述の図２のＪＡＶＡ（登録商標）アプリ４００（ＪＡＶＡ（登録商標）アプリケーション）のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。このため、操作パネル部１６は、専用の制御部とＲＯＭやＲＡＭ等の記憶媒体を備えて、制御部１０と連携してＧＵＩ(Graphical User Interface)の制御を行ってもよい。また、操作パネル部１６には、ＵＳＢメモリーやフラッシュメモリーカードの記憶媒体や記憶媒体を内蔵した外部機器を接続するための接続部が備えられていてもよい。
【００１７】
ＦＡＸ送受信部１８は、ファクシミリの送受信を行うＦＡＸボード等である。ＦＡＸ送受信部１８は、原稿読取部１２で読み取られた画像データやネットワーク送受信部１５から受信したファイル等を描画してファクシミリ送信する。また、ＦＡＸ送受信部１８は、記憶部１９に記憶され、ファクシミリ受信された画像データを画像形成部１７で画像形成させ、ネットワーク送受信部１５から外部の端末へ送信する。
【００１８】
記憶部１９は、ＥＥＰＲＯＭ(electrically erasable and programmable read-only memory)、ＲＡＭ(Random Access Memory)、フラッシュメモリー等の半導体メモリーやＨＤＤ(Hard Disk Drive)等の記憶媒体と、このコントローラー等を含む。記憶部１９のＲＯＭやフラッシュメモリーやＨＤＤには、画像形成装置１の動作制御を行うための制御プログラム及びデータが記憶されている。これらの制御プログラム及びデータは、ファームウェアのような形式で提供されていてもよい。また、このファームウェアは、画像形成装置１の既存の構成における各種制御プログラムとデータがセットになった標準ファームウェアを含んでいてもよい。また、これらの制御プログラムとデータとは、実行時にＲＡＭ等に展開されて、制御部１０により実行される。また、記憶部１９は、各種ジョブデータ、原稿読取部１２でスキャンされた画像データ、画像処理部１１で画像処理された画像データ、他の端末（図示せず）から送信された印刷文書等のファイル、接続された記憶媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。また、記憶部１９は、ユーザーのアカウント設定も記憶してもよい。また、記憶部１９には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【００１９】
拡張デバイス２０は、画像形成装置１の標準の構成では含まれていなかったり後付けされたりする機器である。拡張デバイス２０は、例えば、記録紙の出力後の後処理を行うフィニッシャー、独自のユーザー認証を行うユーザー認証部、周囲環境の監視を行う監視カメラ等、ユーザーの環境に対応したオプション機器であってもよい。拡張デバイス２０は、原稿読取部１２とは異なる外付けのスキャナー、コンビニエンスストア等の店舗用端末、特別なフォーマットに対応した用紙を印刷するための紙送り装置、複数管理用の管理端末、工場検査用の検査機器等のユーザー環境用機器であってもよい。
【００２０】
なお、画像形成装置１において、制御部１０及び画像処理部１１は、ＧＰＵ内蔵ＣＰＵ等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。また、制御部１０及び画像処理部１１は、ＲＡＭやＲＯＭやフラッシュメモリー等を内蔵していてもよい。また、以下では、画像形成装置１の拡張デバイス２０以外の制御部１０〜記憶部１９のハードウェア資源を「標準ハードウェア」と呼ぶ。また、拡張デバイス２０等により、画像形成装置１に追加されるハードウェア資源を「追加ハードウェア」と呼ぶ。
【００２１】
次に、図２を参照し、画像形成装置１の制御構成について説明する。画像形成装置１は、三つの階層的なブロック構造として、標準アプリ実行部１００（標準アプリケーション実行部）、機器制御プラットフォーム２００、及びＪＡＶＡ（登録商標）プラットフォーム３００（ＪＡＶＡ（登録商標）プラットフォーム）を備えている。なお、符号４００は、ＡＰＩを実行する手順を示すＪＡＶＡ（登録商標）アプリ（ＪＡＶＡ（登録商標）アプリケーション）を示している。
【００２２】
そして、制御部１０が制御プログラムを実行することにより、標準アプリ実行部１００、機器制御プラットフォーム２００、及びＪＡＶＡ（登録商標）プラットフォーム３００が実現される。また、制御部１０は、三つの階層的なブロック構造の制御構成に基づいて、ＪＡＶＡ（登録商標）アプリ４００、標準アプリ１２０、汎用ＯＳ２３０等を実行することができる。
【００２３】
標準アプリ実行部１００は、機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリ１２０を実行する。標準アプリ実行部１００は、機器制御プラットフォーム２００上にインストールされた標準アプリ１２０と、この標準アプリ１２０に対応するサービスを備えている。
【００２４】
機器制御プラットフォーム２００は、汎用ＯＳ２３０（Operating System、オペレーティングシステム）上で、画像形成装置１全体のハードウェア資源を管理し、機能単位で各部を制御する。機器制御プラットフォーム２００は、標準アプリ１２０の実行基盤となるＡＰＩ（Application Programming Interface）やミドルウェアやランタイムやリンカー等（以下、「ＡＰＩ等」という。）、汎用ＯＳ２３０上のサービス（Service、Daemon、以下「サービス等」という。）、スクリプト言語や中間言語の翻訳や実行を行うインタプリター（Interpreter）やＪＩＴ（Just In Time compiler）やバーチャルマシン等（以下、「バーチャルマシン等」という。）を含むプログラムやデータである。また、ＪＡＶＡ（登録商標）プラットフォーム３００自体も、汎用ＯＳ２３０上で動作する。
【００２５】
ＪＡＶＡ（登録商標）プラットフォーム３００は、ＰＣ等の外部端末から受け取った呼出対象のＡＰＩ情報を解析し、ＡＰＩの処理を実行する。ＪＡＶＡ（登録商標）プラットフォーム３００は、ＪＡＶＡ（登録商標）ＶＭ（Virtual Machine）３１０、リフレクション機能部３２０、ＪＡＶＡ（登録商標）アプリ管理部３３０を含むプログラムやデータである。ＪＡＶＡ（登録商標）ＶＭ３１０は、ＰＣ等の外部端末から受け取った呼出対象のＡＰＩ情報が示すＡＰＩをリフレクション機能部３２０から呼び出し、ＪＡＶＡ（登録商標）アプリ４００の手順に従い処理を実行する。また、ＪＡＶＡ（登録商標）ＶＭ３１０は、ＡＰＩの処理を実行し、実行結果をＨｔｔｐリクエストを受け取ったＰＣ等の外部端末に返す。なお、ＡＰＩの一例としては、例えばコピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４のそれぞれに新たな機能を付加することができるアプリを開発できるような内容としてもよい。
【００２６】
リフレクション機能部３２０は、ＪＡＶＡ（登録商標）の標準的なｌｉｂｒａｒｙであって、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行する。ＪＡＶＡ（登録商標）アプリ管理部３３０は、ＪＡＶＡ（登録商標）アプリ４００のインストール、画像形成装置１から使用可能な状態とするアクティベーション、実行、実行終了、アンインストール等をＪＡＶＡ（登録商標）プラットフォーム３００のＡＰＩにより管理する。なお、ＪＡＶＡ（登録商標）プラットフォーム３００は、標準アプリケーション実行部１００により実行される各種アプリの機能を利用させる各種機能サービスを呼び出し可能な機能サービス管理部を含んでもよい。なお、ＡＰＩの実行後においては、ＪＡＶＡ（登録商標）アプリ４００をアンインストールしてもよい。
【００２７】
また、上述した標準アプリ実行部１００は、標準アプリ１２０、及び標準アプリサービスＩＦ部１１０（標準アプリケーションサービスインターフェイス部）を備えている。標準アプリ１２０は、機器制御プラットフォーム２００上で各種処理を行うアプリのプログラム及びデータである。標準アプリ１２０は、ユーザーの指示を取得し、このユーザーの指示により画像形成装置の各種機能を利用する。また、標準アプリ１２０は、例えば、ＪＡＶＡ（登録商標）等の中間言語のアプリや、各種スクリプト言語等で記載されていてもよい。
【００２８】
標準アプリ１２０は、例えば、コピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４等が、工場出荷状態で既にインストールされていてもよい。コピーアプリ１２１は、操作パネル部１６からのユーザーによるコピーの指示を取得すると、原稿読取部１２から原稿を読み取って、画像形成部１７により画像形成させる。プリンターアプリ１２２は、外部の端末（図示せず）からの指示等により、ネットワーク送受信部１５で受信したＰＤＬ（Page Description Language）等のファイルを描画して、画像形成部１７により画像形成させる。また、プリンターアプリ１２２は、操作パネル部１６によるユーザーの指示により、記憶部１９の文書ボックス内のファイル等を描画して、画像形成部１７により画像形成させてもよい。ＦＡＸアプリ１２３は、ユーザーの操作パネル部１６からのファクシミリ送信の指示を取得すると、原稿読取部１２から原稿を読み取って、ＦＡＸ送受信部１８によりファクシミリ送信する。また、ＦＡＸアプリ１２３は、外部の端末から受信したファイル等を描画して、ＦＡＸ送受信部１８により送信してもよい。また、ＦＡＸアプリ１２３は、ＦＡＸ送受信部１８により受信されたファクシミリの画像データを、画像形成部１７により画像形成させる。また、ＦＡＸアプリ１２３は、受信されたファクシミリの画像データを記憶部１９の文書ボックスに記憶してもよい。なお、画像形成装置１の使用開始後に標準アプリ１２０がインストールされてもよい。つまり、例えば、ＦＡＸ送受信部のＦＡＸボードが取り付けられた際に、ＦＡＸアプリ１２３がインストールされる等の処理が行われてもよい。また、ハードウェアの構成に関わらず、独自の標準アプリ１２０をユーザーがインストールすることも可能である。各種標準アプリ１２４は、送信アプリ等である。
【００２９】
標準アプリサービスＩＦ部１１０は、アプリ実行部の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する。標準アプリサービスＩＦ部１１０は、例えば、ＪＡＶＡ（登録商標）等のクラス、ＪＡＶＡ（登録商標）言語上のインターフェイス、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０毎に異なるインターフェイスを提供していてもよい。また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０の実行、インストール、設定の変更、削除等を行うことも可能である。
【００３０】
機器制御プラットフォーム２００は、プラットフォームサービスＩＦ部２１０（プラットフォームサービスインターフェイス部）、各部制御用サービス２２０、及び汎用ＯＳ２３０を備えている。プラットフォームサービスＩＦ部２１０は、機器制御プラットフォーム２００の外部からハードウェア資源を利用するためのインターフェイスを提供する。プラットフォームサービスＩＦ部２１０は、各部制御用サービス２２０を呼び出して、画像形成装置１の各部のハードウェア資源を利用させる。プラットフォームサービスＩＦ部２１０は、例えば、ＡＰＩ等、又は汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、Ｃ言語の構造体、Ｃ＋＋言語のクラス、その他のオブジェクト、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等（以下、「クラス等」という。）として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、例えば、ＪＡＶＡ（登録商標）等の中間言語で提供されていてもよい。
【００３１】
各部制御用サービス２２０は、画像形成装置１の機能に対応する各部を適切な方式で制御するサービス等である。各部制御用サービス２２０は、例えば、プラットフォームサービスＩＦ部２１０からの呼び出しに対応して、画像処理部１１、操作パネル部１６、ネットワーク送受信部１５等を操作する。また、各部制御用サービス２２０は、コピー機能、ネットワークスキャン機能、文書ボックス機能等を呼び出すことができる。また、各部制御用サービス２２０は、製品系列別に、異なるサービス等、ＡＰＩ等、クラス等を組み合わせたものがファームウェアに含まれていてもよい。
【００３２】
各部制御用サービス２２０は、画像処理サービス２２１、デバイス操作サービス２２２、ネットワーク通信サービス２２３等を含んでいる。画像処理サービス２２１は、画像処理のデータの作成や変換や出力に関するサービスを提供する。画像処理サービス２２１は、例えば、原稿読取部１２で解像度や色等を設定して原稿読取した画像データを記憶部１９に記憶させ、画像処理部１１に記憶部１９の画像データや文書データ（図示せず）を画像処理させる。また、画像処理サービス２２１は、ファイル等から、画像形成部１７で画像形成する画像データを描画する。
【００３３】
デバイス操作サービス２２２は、各部のデバイスを制御するためのサービス等を提供する。デバイス操作サービス２２２は、例えば、原稿読取部１２から取得した画像データを記憶部１９に記憶し、操作パネル部１６の表示部に表示されるブラウザー上に画像を描画し、描画された画像データを画像形成部１７に送信して画像形成させ、記憶部１９に記憶された画像データをＦＡＸ送受信部１８でファクシミリ送信させる。また、デバイス操作サービス２２２は、例えば搬送部のモーターの一つを駆動させるといった、より機器のハードウェアの構成に近い制御を行ってもよい。ネットワーク通信サービス２２３は、ネットワークの送受信に関するサービス等を提供する。
【００３４】
汎用ＯＳ２３０は、画像形成装置１の各部を制御する。汎用ＯＳ２３０としては、例えば、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳ、組み込み（Embedded）向けのＯＳ、リアルタイムＯＳ等を使用することができる。また、汎用ＯＳ２３０のカーネルやコア等のスケジュール管理や基本ハードウェアを管理するプログラムやデータ等はファームウェアに含まれていてもよい。
【００３５】
次に、図３を参照し、図１の画像形成装置１でのＡＰＩ処理について説明する。なお、以下では、ＪＡＶＡ（登録商標）アプリ４００が記憶部１９のＨＤＤに記憶されているものとする。
【００３６】
（ステップＳ１０１）
制御部１０が起動を開始する。
この場合、操作パネル部１６を介し、例えば電源OFFモードから電源ONモードへの移行が指示されると、制御部１０が起動を開始する。
【００３７】
（ステップＳ１０２）
ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）アプリ管理部３３０がＪＡＶＡ（登録商標）アプリ４００を起動させる。
この場合、ＪＡＶＡ（登録商標）アプリ管理部３３０がＨＤＤに記憶されているＪＡＶＡ（登録商標）アプリ４００を読み出して起動させる。
【００３８】
（ステップＳ１０３）
ＪＡＶＡ（登録商標）プラットフォーム３００がＰＣ等の外部端末からのＨｔｔｐリクエストを受け取ったかどうかを判断する。
この場合、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０が汎用ＯＳ２３０を介して外部端末からのＨｔｔｐリクエストを受け取っていなければ、Ｈｔｔｐリクエストを受け取っていないと判断する（ステップＳ１０３：Ｎｏ）。
これに対し、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０が汎用ＯＳ２３０を介して外部端末からのＨｔｔｐリクエストを受け取っていれば、Ｈｔｔｐリクエストを受け取ったと判断し（ステップＳ１０３：Ｙｅｓ）、ステップＳ１０４に移行する。
【００３９】
（ステップＳ１０４）
ＪＡＶＡ（登録商標）プラットフォーム３００がＡＰＩを呼び出す。
この場合、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０は、ＰＣ等の外部端末から受け取った呼出対象のＡＰＩ情報が示すＡＰＩをリフレクション機能部３２０から呼び出す。
【００４０】
（ステップＳ１０５）
ＪＡＶＡ（登録商標）プラットフォーム３００がＡＰＩの処理を実行する。
この場合、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０がリフレクション機能部３２０から呼び出したＡＰＩの処理をＪＡＶＡ（登録商標）アプリ４００の手順に従い実行する。
【００４１】
（ステップＳ１０６）
ＪＡＶＡ（登録商標）プラットフォーム３００がＡＰＩの処理の実行結果を送信する。
この場合、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０が実行結果をＨｔｔｐリクエストを送信したＰＣ等の外部端末に返す。
【００４２】
このように、本実施形態では、機器制御プラットフォーム２００により、汎用ＯＳ２３０（オペレーティングシステム）上でハードウェア資源を管理し、標準アプリケーション実行部１００により、機器制御プラットフォーム２００で管理されるハードウェア資源を利用する標準アプリケーションを実行し、ＪＡＶＡ（登録商標）プラットフォーム００のＪＡＶＡ（登録商標）アプリケーション管理部３３０により、ＪＡＶＡ（登録商標）アプリケーション４００を管理し、ＪＡＶＡ（登録商標）プラットフォーム３００のリフレクション機能部３２０により、ＪＡＶＡ（登録商標）に標準で搭載されているＡＰＩを保持するとともに、クラス名やメソッド名を指定しクラスを動的に実行し、ＪＡＶＡ（登録商標）プラットフォーム３００のＪＡＶＡ（登録商標）ＶＭ３１０により、外部端末から呼出対象のＡＰＩ情報を含むＨｔｔｐリクエストを受け取ると、ＡＰＩ情報が示すＡＰＩをリフレクション機能部３２０から呼び出し、ＪＡＶＡ（登録商標）アプリケーションの手順に従い、ＡＰＩの処理を実行する。また、ＪＡＶＡ（登録商標）ＶＭ３１０は、ＡＰＩの実行結果をＨｔｔｐリクエストを送信した外部端末に返す。
【００４３】
これにより、ＪＡＶＡ（登録商標）プラットフォーム３００は、外部端末から受け取ったＨｔｔｐリクエストの呼出対象のＡＰＩ情報を元に、ＡＰＩ情報が示すＡＰＩをリフレクション機能部３２０から呼び出すことで、ＡＰＩの処理を実行できる。このことから、ＡＰＩの処理を実行するに先立ち、従来のように、所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶させたり、クラスを呼び出すためのルールを前もって決めておいたりする準備作業が不要となり、アプリケーション開発等をさらに効率良く行うことができる。また、Ｈｔｔｐリクエストの呼出対象のＡＰＩ情報を変えることで、アプリケーション開発等の内容の変更に対応させることができ、汎用性を高めることができる。
【符号の説明】
【００４４】
１  画像形成装置
１０  制御部
１１  画像処理部
１２  原稿読取部
１３  原稿給送部
１４  搬送部
１５  ネットワーク送受信部
１６  操作パネル部
１７  画像形成部
１８  ＦＡＸ送受信部
１９  記憶部
２０  拡張デバイス
１００  標準アプリ実行部
１１０  標準アプリサービスＩＦ部
１２０  標準アプリ
１２１  コピーアプリ
１２２  プリンターアプリ
１２３  ＦＡＸアプリ
１２４  各種標準アプリ
２００  機器制御プラットフォーム
２１０  プラットフォームサービスＩＦ部
２２０  各部制御用サービス
２２１  画像処理サービス
２２２  デバイス操作サービス
２２３  ネットワーク通信サービス
２３０  汎用ＯＳ
３００  ＪＡＶＡ（登録商標）プラットフォーム
３１０  ＪＡＶＡ（登録商標）ＶＭ
３２０  リフレクション機能部
３３０  ＪＡＶＡ（登録商標）アプリ管理部
４００  ＪＡＶＡ（登録商標）アプリ
【図１】
2019207595.tif 000003
【図２】
2019207595.tif 000004
【図３】
2019207595.tif 000005