以下、図面を参照して、本発明の一実施形態について説明する。なお、以降の説明において、「アプリケーション」を「アプリ」と省略して示す場合がある。
(画像形成システム10のシステム構成)
図1は、本発明の一実施形態に係る画像形成システム10のシステム構成を示す図である。図1に示すように、画像形成システム10は、固定操作部20、画像形成装置30、および情報処理装置100を備えている。各装置は、ネットワーク12に接続されている。ネットワーク12としては、例えば、LAN(Local Area Network)、VPN(Virtual Private Network)、インターネット等が挙げられる。
画像形成装置30は、固定操作部20および情報処理装置100に対して、特定の機能を提供する装置である。画像形成装置30としては、例えば、MFP(Multifunction Peripheral)が挙げられる。MFPは、コピー機能、スキャン機能、FAX機能、プリンタ機能等の、複数の画像処理機能を有する装置である。すなわち、画像形成装置30は、プロッタやスキャナなどを備える画像エンジン36を有している。
なお、画像形成装置30によって提供される特定の機能は、如何なる機能であってもよいが、例えば、ワークフローのジョブ実行機能が挙げられる。ワークフローは、予め定められた複数の処理を所定の処理順序で連続的に実行する機能である。ワークフローとしては、例えば、スキャン機能によって画像データを生成する処理を行った後、当該画像データを当該ワークフローの実行要求元の装置へ送信する処理を行うもの等が挙げられる。
固定操作部20は、ユーザによって使用される端末装置である。固定操作部20は、ユーザによって操作される入力装置、および、各種情報を表示する表示装置を備えている。固定操作部20は、直接的且つ固定的に、画像形成装置30と通信接続される。これにより、固定操作部20は、画像形成装置30によって提供される特定の機能(例えば、ワークフロー機能)を実行することができる。また、画像形成装置30が上記したMFPである場合、固定操作部20は、当該MFPが備える複数の画像処理機能の各々を実行することができる。なお、固定操作部20は画像形成装置30に対して取り外し可能に設けられても良い。
情報処理装置100は、ユーザによって使用される端末装置である。情報処理装置100は、複数のアプリがインストールされることで、当該複数のアプリによって提供される複数の機能を利用することが可能となる。また、情報処理装置100は、直接的に、または、ネットワーク12を介して、画像形成装置30と通信接続することが可能である。これにより、情報処理装置100は、画像形成装置30によって提供される特定の機能(例えば、ワークフロー機能)を実行することができる。情報処理装置100としては、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン、携帯電話、PDA(Personal Digital Assistant)等が挙げられる。
(情報処理装置100のハードウェア構成)
図2は、本発明の一実施形態に係る情報処理装置100のハードウェア構成を示す図である。図2に示すように、情報処理装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、補助記憶装置104、入力装置105、表示装置106、および通信I/F(Inter Face)107を備えている。各ハードウェアは、バス108を介して相互に接続されている。
CPU101は、ROM102または補助記憶装置104に記憶されている各種プログラムを実行する。ROM102は、不揮発性メモリである。例えば、ROM102は、CPU101により実行される各種プログラム、CPU101が各種プログラムを実行するために必要なデータ等を記憶する。RAM103は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の主記憶装置である。例えば、RAM103は、CPU101が各種プログラムを実行する際に利用する作業領域として機能する。補助記憶装置104は、不揮発性の補助記憶装置であり、例えばフラッシュメモリである。例えば、補助記憶装置104は、CPU101により実行される各種プログラム、CPU101が各種プログラムを実行するために必要なデータ等を記憶する。
入力装置105は、ユーザによって操作されることにより、各種情報を入力する。入力装置105としては、例えば、マウス、キーボード、タッチパネル等が用いられる。表示装置106は、各種情報を表示する。表示装置106としては、例えば、液晶ディスプレイ、有機ELディスプレイ等が用いられる。通信I/F107は、ネットワーク12を介して、外部の情報処理装置(例えば、画像形成装置30)との通信を行うためのインタフェースである。通信I/F107が用いる通信方式としては、例えば、Ethernet(登録商標)、無線LAN、Bluetooth(登録商標)等が挙げられる。
(情報処理装置100および固定操作部20の機能構成)
図3は、本発明の一実施形態に係る情報処理装置100および固定操作部20の機能構成を示す図である。
図3(a)に示すように、情報処理装置100は、各種のソフトウェアに対してハードウェアの機能のインタフェースを提供するオペレーティングシステムであって例えばAndroid(登録商標)などのOS126、第1接続アプリ124、機能提供アプリ122、汎用アプリ121を備えている。また、OS126は一機能としてWebAPI接続クラス125を備える。ただし、WebAPI接続クラス125は、OS126とは異なるソフトウェアによって実現されても良い。なお、OS126としては、システムの動作に必要な各種のアプリケーションを含んでいても良い。
汎用アプリ121は、情報処理装置100で利用できる汎用的なアプリケーションである。汎用アプリ121としては、例えば、画像加工アプリ、メールアプリ等が挙げられる。なお、情報処理装置100において、複数の汎用アプリ121をインストールすることができ、汎用アプリ121は、それぞれ異なる機能を有していても良い。また、汎用アプリ121の一つとして、ホームアプリ127を有していても良い。
ホームアプリ127は、情報処理装置100の表示装置106及び固定操作部20の表示装置上にメイン画面を表示する。ホームアプリ127は、ユーザがメイン画面のアイコンを押下することによっていずれかの機能提供アプリ122及び汎用アプリ121を選択する操作をした場合に、押下されたアイコンに対応する機能提供アプリ122及び汎用アプリ121を起動する。例えば、ホームアプリ127は、機能提供アプリ122及び汎用アプリ121に対して、起動を指示する指示信号を送信することによって、機能提供アプリ122を起動する。
なお、ユーザがホームアプリ127を介さず、所望の機能提供アプリ122及び汎用アプリ121を起動しても良いし、他の機能提供アプリ122及び汎用アプリ121から所望の機能提供アプリ122を起動しても良い。また、ホームアプリ127は、機能提供アプリ122のみメイン画面に表示するものとしても良い。また、ホームアプリ127を設けることに代えて、ホームアプリ127が有する機能を第1接続アプリ124や機能提供アプリ122など、他のアプリが有するものとしても良い。
機能提供アプリ122は、固定操作部20および情報処理装置100の双方で動作するように作成されたアプリである。固定操作部20及び情報処理装置100には、複数の機能提供アプリ122をインストールすることができる。機能提供アプリ122は、それぞれ異なる機能を有していても良い。機能提供アプリ122としては、例えば情報処理装置100が接続される通信対象が画像形成装置(MFP)30である場合、画像形成装置(MFP)30で実行するコピー、スキャン、プリント、FAXなどの種々の機能に関して、設定及び実行指示を行うためのユーザインタフェース画面を提供するアプリケーションが挙げられる。例えば、プリントアプリはプリント機能に関して、ファックスアプリはファックス機能に関して、それぞれ設定及び実行指示を行うためのユーザインタフェース画面を提供できる。
機能提供アプリ122は、WebAPIWrapper123を有する。WebAPIWrapper123は、機能提供アプリ122が動作環境を意識せずに画像形成装置30と通信接続できるようにするための、WebAPI接続クラス125をラップしたクラスを提供するライブラリである。これにより、機能提供アプリ122は、WebAPIWrapper123のインスタンスを生成することで、第1接続アプリ124から、現在接続されている画像形成装置30との通信接続に関する通信接続情報(例えば、接続先のホスト名、接続先のポート番号等)を取得することができ、当該通信接続情報を用いて、画像形成装置30に対する機能の実行要求を送信することができる。
第1取得部401a、第2取得部401b、判断部402、設定部403、実行要求部404は、機能提供アプリ122が実現する機能であるが、設定部403及び実行要求部404は、WebAPIWrapper123によって実現される。
また、機能提供アプリ122は、当該機能提供アプリ122が実装されている端末装置に応じて、画像形成装置30に対する機能の実行要求に、ユーザ認証を行うための認証情報(例えば、ユーザIDおよびパスワード)を含めることができる。また、機能提供アプリ122は、当該機能提供アプリ122が実装されている端末装置に応じて、画像形成装置30に対する機能の実行要求を行う際に用いるプロトコルを、HTTPとHTTPSとで選択的に切り替えて用いることができる。なお、WebAPI接続クラス125は、機能提供アプリ122が有するものであってもよい。また、WebAPI接続クラス125は、Android(登録商標)などに搭載された機能を利用しても良い。
第1接続アプリ124は、少なくとも情報処理装置100にインストールされて動作するように作成されたアプリであり、画像形成装置30との通信接続を行う。また、第1接続アプリ124は、WebAPIWrapper123に対し、画像形成装置30との通信接続に関する通信接続情報を提供する。
また、第1接続アプリ124は、情報処理装置100にインストールされた機能提供アプリ122のアイコンを一覧表示するホーム画面を生成する機能や、情報処理装置100が接続する画像形成装置30を選択する画面や選択した画像形成装置30に対してログインするために必要な認証情報を受け付ける画面を表示する機能を有していても良い。
一方、図3(b)に示すように、画像形成システム10は、固定操作部20と画像形成装置30を有するシステムである。ただし、固定操作部20は、画像形成装置30に対して着脱可能に設けられても良い。また、固定操作部20は、画像形成装置30と信号線によって通信可能に接続されていることに加えて、無線通信で別の画像形成装置と通信できても良い。固定操作部20は、各種のソフトウェアに対してハードウェアの機能のインタフェースを提供するオペレーティングシステムであって例えばAndroid(登録商標)などのOS24、第2接続アプリ22、機能提供アプリ122、固定操作部アプリ21、ホームアプリ25を備えている。また、OS24は、一機能としてWebAPI接続クラス23を備える。ただし、WebAPI接続クラス23は、OS24とは異なるソフトウェアによって実現されても良い。なお、OS24は、固定操作部20で動作させるためにカスタマイズされたOSであっても良く、システムの動作に必要な各種のアプリケーションを含んでいても良い。
固定操作部アプリ21は、固定操作部20のみで利用できる専用的なアプリケーションである。例えば、固定操作部20が接続される通信対象が画像形成装置(MFP)30である場合、画像形成装置(MFP)30で実行するコピー、スキャン、プリント、FAXなどの種々の機能に関して、設定及び実行指示を行うためのユーザインタフェース画面を提供するアプリケーションが挙げられる。なお、固定操作部20は、固定操作部アプリ21を実行するために固定操作部プラットフォームを備えていても良い。この場合、固定操作部プラットフォームは、第2接続アプリ22が有する機能の一部または全部を含んでも良いし、第2接続アプリ22とは別に設けられても良い。
固定操作部20が備える機能提供アプリ122,WebAPIWrapper123は、情報処理装置100が備える機能提供アプリ122,WebAPIWrapper123と同一のものである。
また、固定操作部20が備える第2接続アプリ22,WebAPI接続クラス23は、情報処理装置100が備える第1接続アプリ124,WebAPI接続クラス125と同一のものではないが、同様の機能を提供するものである。但し、第2接続アプリ22,WebAPI接続クラス23は、固定操作部20に固有の処理を含み、第1接続アプリ124,WebAPI接続クラス125は、情報処理装置100に固有の処理を含む。つまり、第2接続アプリ22は、少なくとも固定操作部20にインストールされて動作するように作成されたアプリである。なお、以下では、第1接続アプリ124と第2接続アプリ22とを区別する必要がない場合は、接続アプリと記載する。
なお、図3に示すように、画像形成装置30は、情報処理装置100及び固定操作部20とは異なる独立したOS31、ECS(Engine Control Service)33、NCS(Network Control Service)32、SCS(System Control Service)34、CCS(Certification Control Service)35を備える。
ECS33は、プロッタやスキャナなどを備える画像エンジン36のハードの管理・調停などを行う。
NCS32は、画像形成装置30が有するネットワークI/Fのハードの管理・調停などを行い、WebAPI接続クラス125,23からのWebAPIリクエスト(例えば、HTTPリクエスト、HTTPSリクエスト等)を受け付ける。
SCS34は、画像形成装置30や固定操作部20の省エネ復帰の管理やジョブの管理などシステム全般に関わる動作管理やカウンタ/画面/設定等の制御を行う。
CCS35は、画像形成装置30や固定操作部20のユーザ認証/認証状態/利用制限の管理を行う。
ECS33,NCS32,SCS34,CCS35,OS31,画像エンジン36は、所定の機能を実行する機能部を構成する一例である。また、機能部は、上記以外にも、コピー、スキャン、プリント、FAXなどの種々の機能を提供するためのソフトウェア及びハードウェアを含んでも良い。
なお、画像形成装置30は通信対象の一例であり、通信対象は情報処理装置100又は固定操作部20と通信を行う。なお、通信対象は画像形成装置30に限定されず、電子黒板やプロジェクタを含むオフィス機器など、各種の電子機器であっても良い。
図3に示す情報処理装置100および固定操作部20において、機能提供アプリ122と第1接続アプリ124,第2接続アプリ22とが別々に設けられている理由は、以下の通りである。機能提供アプリ122は、画像形成装置30などのデバイスを製造するメーカとは異なるサードパーティである場合も多い。そこで、画像形成装置30との接続については、機能提供アプリ122とは別に設けられた第1接続アプリ124,第2接続アプリ22が実現することによって、機能提供アプリ122を容易に作成することができる。また、画像形成装置30との接続に関し、各デバイス(固定操作部20および情報処理装置100)に固有の処理を、第1接続アプリ124,第2接続アプリ22に設けることができ、これにより、機能提供アプリ122には、各デバイスに共通の処理を設けることができる。すなわち、デバイス毎に機能提供アプリ122を作成する必要がなくなるため、機能提供アプリ122を容易に作成することができる。
なお、上記した情報処理装置100の各機能は、例えば、情報処理装置100において、ROM12またはHDD104に記憶されたプログラムを、CPU101が実行することにより実現される。CPU101が実行するプログラムは、予め情報処理装置100に導入された状態で提供されてもよく、外部から提供されて情報処理装置100に導入されるようにしてもよい。後者の場合、このプログラムは、外部記憶媒体(例えば、USBメモリ、メモリカード、CD-ROM等)によって提供されてもよく、ネットワーク(例えば、インターネット等)上のサーバ等からダウンロードすることによって提供されるようにしてもよい。
図4は、機能提供アプリ122および接続アプリ(第1接続アプリ124,第2接続アプリ22)が有する機能を示す図である。図4に示すように、機能提供アプリ122は、取得部401、判断部402、設定部403、および実行要求部404を備える。また、第1接続アプリ124,第2接続アプリ22は、応答部411および接続制御部412を備える。なお、WebAPIWrapper123が有する機能の一部又は全部について、機能提供アプリ122が有する機能として説明する。
取得部401は、応答部411に対して問い合わせを行うことで、応答部411から種々の情報を取得する。例えば、取得部401は、応答部411から機能提供アプリ122がインストールされているデバイスの動作環境を示す環境情報、現在接続されている画像形成装置30との通信接続に関する通信接続情報を取得する。なお、取得部401は、判断部402が通信接続情報を取得する必要があると判断した場合に応答部411から通信接続情報を取得し、判断部402が通信接続情報を取得する必要はないと判断した場合には通信接続情報を取得しない。また、環境情報に含まれる動作環境としては、情報処理装置100のように無線通信によって画像形成装置30と接続される、つまり複数の画像形成装置30と接続される可能性のある第1動作環境と、固定操作部20のように画像形成装置30と優先通信によって画像形成装置30と接続される、つまり一つの画像形成装置30と直接的且つ固定的に接続される第2動作環境がある。また、通信接続情報には、画像形成装置30に対応する接続ホスト名、接続ポート番号、認証情報が含まれる。なお、取得部401は、第1取得部401a及び第2取得部401bを有する。
判断部402は、取得部401が応答部411から取得した環境情報に基づいて、通信接続情報を取得部401から取得する必要があるか否かを判断する。例えば、機能提供アプリ122が動作する環境が情報処理装置100である場合には、判断部402は、通信接続情報を取得する必要があると判断し、取得部401に対して通信接続情報を問い合わせるように指示する。一方、機能提供アプリ122が動作する環境が固定操作部20である場合には、判断部402は、通信接続情報を取得する必要はないと判断する。
設定部403は、取得部401が取得した種々の情報に基づいて、画像形成装置30に対して送信する実行要求のパラメータを設定する。ここで、設定部403が設定可能なパラメータとしては、接続ホスト名、接続ポート番号を含む。また、設定部403は、取得部401から取得した情報に基づいて、HTTPリクエスト、HTTPSリクエストのどちらか一方を生成しても良い。つまり、設定部403は、WebAPIリクエストに含まれるパラメータの設定又はWebAPIリクエストを変換又は生成することで、実行要求を生成できる。
実行要求部404は、取得部401が取得した種々の情報、及び設定部403が設定したパラメータ又は生成したWebAPIリクエストを実行要求として、画像形成装置30に対して送信する。なお、実行要求部404は、実行要求を、WebAPI接続クラス125,23を介して画像形成装置30へ送信することができるが、これに限定されず他のプログラムなどを介して画像形成装置30へ送信しても良い。
応答部411は、取得部401からの問い合わせに対して種々の情報を送信する。例えば、応答部411は、取得部401に対して動作環境、接続ホスト名、接続ポート番号、認証情報を送信する。
接続制御部412は、画像形成装置30との接続を制御する。例えば、第1接続アプリ124,第2接続アプリ22が起動した場合に、ホスト名/IPアドレスの入力を受け付ける画面を表示させ、取得したホスト名/IPアドレスなどの機器情報に基づいて画像形成装置30に接続する制御を実行する。また、接続制御部412は、画像形成装置30との接続が確立した場合、ユーザから入力された情報、画像形成装置30から取得した情報を保持する。例えば、接続制御部412は、接続ホスト名、ポート番号、認証情報を保持することができる。
なお、上述した機能提供アプリ122が有する機能、及び第1接続アプリ124,第2接続アプリ22が有する機能は、情報処理装置100及び固定操作部20が有していれば良いため、機能を実行する主体は限定されず、機能を実行するための処理の一部、又は機能の一部はOSなどの別のソフトウェア及びアプリケーションによって実行されても良い。また、機能提供アプリ122が有する機能の一部を第1接続アプリ124,第2接続アプリ22で実行しても良く、第1接続アプリ124,第2接続アプリ22の機能の一部を機能提供アプリ122が実行しても良い。
(画像形成システム10による処理の手順(第1例))
図5は、本発明の一実施形態に係る画像形成システム10による処理の手順の第1例を示すシーケンス図である。この第1例では、画像形成システム10により、情報処理装置100が備える汎用アプリ121からの要求に応じて、スキャンジョブを実行する例を説明する。
まず、情報処理装置100において、汎用アプリ121から、OS126に対して、連携するアプリケーションの呼び出しを行う(ステップS1)。ここで、汎用アプリ121は、インテントに呼び出したいアプリケーションの条件を指定して、OS126に依頼をかけることができる。また、OS126は、インテントフィルタという、インテントで呼び出すための条件を予め設定しておくことができる。
次に、OS126は、汎用アプリ121から指定された条件に合うインテントフィルタを持つアプリケーションがあるか否かを判断する。ここで、条件に合うインテントフィルタを持つアプリケーションが複数ある場合、OS126は、アプリ選択画面を表示装置上に表示することでユーザの選択を受け付ける(ステップS2)。
ユーザが一つのアプリ選択画面上のアプリケーションを選択すると、OS126は選択されたアプリケーションを起動させる(ステップS3)。ここでは、スキャンジョブを実行させるアプリケーションとして、機能提供アプリ122を起動するものとする。
次に、機能提供アプリ122が、WebAPI接続クラス125のインスタンスを生成する(ステップS4)。そして、機能提供アプリ122は、生成されたWebAPI接続クラス125のインスタンスに対して、WebAPIリクエストを送信する(ステップS5)。ここでは、WebAPIリクエストとして、スキャンジョブの実行要求を送信するものとする。
WebAPI接続クラス125は、機能提供アプリ122から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS6)。
画像形成装置30は、WebAPI接続クラス125から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行する(ステップS7)。ここでは、スキャンジョブの実行要求に基づいて、原稿の読み取り処理を実行する。
その後、NCS32が、WebAPI接続クラス125を介して機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS8)。ここでは、スキャンジョブの実行結果として、スキャン機能によって原稿を読み取ることにより生成された画像データを、機能提供アプリ122へ送信する。
より詳細には、NCS32は、画像データとともに、スキャンジョブの成功/失敗を含むジョブ情報を機能提供アプリ122に対して送信する。更に、NCS32から情報処理装置100の補助記憶装置104へ送信された画像データ、又は画像形成装置30に記憶された画像データ、又は画像形成装置30と接続された外部サーバへ送信された画像データについて、該画像データの記憶領域に関する情報(アドレス等の情報)等を機能提供アプリ122に対して送信しても良い。そして、機能提供アプリ122は、NCS32から受信した各種情報(画像データ、ジョブ情報、画像データの記憶領域に関する情報等)のいずれか又は全部を、汎用アプリ121へ返す。
このとき、機能提供アプリ122は、インテントに呼び出したいアプリケーションとして汎用アプリ121を指定し、汎用アプリ121において画像データの表示に必要な各種情報を指定して、OS126に依頼をかけることができる(ステップS9)。
OS126は、機能提供アプリ122によって指定された汎用アプリケーションを起動させるとともに、汎用アプリ121に対して画像データの表示に必要な各種情報を送信する(ステップS10)。
汎用アプリ121は、OS126から取得した各種情報に基づいて画像データを画面上に表示させる制御を行う(ステップS11)。なお、汎用アプリ121は、該汎用アプリ121の有する機能に応じて、画像データの表示に代えて、所定のサーバへ画像データの送信、画像データの加工など、種々の処理を行うことができる。
なお、ステップS4~ステップS7の詳細については、後述する。
なお、汎用アプリ121からの要求により実行可能なジョブは、スキャンジョブに限らない。例えば、汎用アプリ121からの要求により実行可能なジョブとして、コピーおよびプリント等の各種画像処理、各種記憶装置(例えば、画像形成装置30が有するHDD、画像形成装置30とネットワーク12を介して接続されたクラウドサーバが有するHDD等)からのデータの読出しおよび編集等を含むことができる。
また、図5に示す例では、例えば、汎用アプリ121が提供する画面をユーザが操作することで、汎用アプリ121が各種ジョブの実行指示を受け付け、これに応じて、汎用アプリ121が、各種ジョブの実行要求を、機能提供アプリ122へ送信する。但し、これに限らず、例えば、機能提供アプリ122が提供する画面をユーザが操作することで、機能提供アプリ122が各種ジョブの実行指示を受け付け、これに応じて、機能提供アプリ122が、各種ジョブの実行要求を、機能提供アプリ122へ送信するようにしてもよい。
また、図5では、機能提供アプリ122に、WebAPIWrapper123およびWebAPI接続クラス125を含めている。但し、以降の図では、機能提供アプリ122とは別に、WebAPIWrapper123およびWebAPI接続クラス125を図示する場合がある。
(画像形成システム10による処理の手順(第2例))
図6は、本発明の一実施形態に係る画像形成システム10による処理の手順の第2例を示すシーケンス図である。この第2例では、画像形成システム10により、固定操作部20が備える固定操作部アプリ21からの要求に応じて、接続先ホスト名の名前解決を行いつつ、画像形成装置30の機能を実行する例を説明する。但し、この第2例では、機能提供アプリ122を介さずに、画像形成装置30の機能を実行する例を説明する。
まず、固定操作部20において、固定操作部アプリ21が、WebAPI接続クラス23のインスタンスを生成する(ステップS21)。そして、固定操作部アプリ21は、生成されたWebAPI接続クラス23のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS22)。WebAPI接続クラス23は、固定操作部アプリ21から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS23)。画像形成装置30は、WebAPI接続クラス23から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、固定操作部アプリ21に対して、WebAPIレスポンスを返す(ステップS24)。
(画像形成システム10による処理の手順(第3例))
図7は、本発明の一実施形態に係る画像形成システム10による処理の手順の第3例を示すシーケンス図である。この第3例では、画像形成システム10により、固定操作部20が備える機能提供アプリ122からの要求に応じて、接続先ホスト名の名前解決を行いつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第3例では、固定操作部20から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、固定操作部20において、機能提供アプリ122が、WebAPI接続クラス23を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS31)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS32)。ここで、機能提供アプリ122は、固定操作部20の接続先のホスト名を予め保持しておく。例えば、機能提供アプリ122のプログラム中に固定操作部20の接続先のホスト名を記述しておいてもよい。ただし、これに限定されず、ユーザが入力装置を介して、機能提供アプリ122毎にホスト名を予め設定しても良い。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第2接続アプリ22から、動作環境情報を取得する(ステップS33)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が固定である(すなわち、当該処理の実行がなされているデバイスが、固定操作部20である)と判断する。ここで、第2接続アプリ22は、デバイスが固定操作部20であるか情報処理装置100であるかを示す情報を予め保持しておく。例えば、第2接続アプリ22は固定操作部20専用のアプリケーションであり、プログラム中にデバイスが固定操作部20であることを示す情報を記述しておいてもよい。ただし、これに限定されず、ユーザが入力装置を介して、デバイスごとに該デバイスが固定操作部20であるか情報処理装置100であるかを予め設定しても良い。
この判断結果に応じて、WebAPIWrapper123は、固定操作部20の接続先のホスト名をパラメータに含めて、WebAPI接続クラス23のインスタンスを生成する(ステップS34)。そして、WebAPIWrapper123は、生成されたWebAPI接続クラス23のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS35)。WebAPI接続クラス23は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS36)。画像形成装置30は、WebAPI接続クラス23から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS37)。
既に説明したとおり、機能提供アプリ122は、固定操作部20および情報処理装置100で共有のアプリである。固定操作部20は、画像形成装置30に直接的且つ固定的に接続されるデバイスであるため、接続先のホスト名は、画像形成装置30のホスト名に固定されている。そこで、図7に示す例では、固定的なホスト名(すなわち、固定操作部20の接続先のホスト名)をパラメータに含んだ、WebAPIリクエストを画像形成装置30へ送信するようにしている。
(画像形成システム10による処理の手順(第4例))
図8は、本発明の一実施形態に係る画像形成システム10による処理の手順の第4例を示すシーケンス図である。この第4例では、画像形成システム10により、情報処理装置100が備える機能提供アプリ122からの要求に応じて、接続先ホスト名の名前解決を行いつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第3例では、情報処理装置100から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、情報処理装置100において、機能提供アプリ122が、WebAPI接続クラス125を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS41)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS42)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第1接続アプリ124から、動作環境情報を取得する(ステップS43)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が可変である(すなわち、当該処理の実行がなされているデバイスが、情報処理装置100である)と判断する。ここで、第1接続アプリ124は、デバイスが固定操作部20であるか情報処理装置100であるかを示す情報を予め保持しておく。例えば、第2接続アプリ22は情報処理装置100専用のアプリケーションであり、プログラム中にデバイスが情報処理装置100であることを示す情報を記述しておいてもよい。ただし、これに限定されず、ユーザが入力装置を介して、デバイスごとに該デバイスが固定操作部20であるか情報処理装置100であるかを予め設定しても良い。
この判断結果に応じて、WebAPIWrapper123は、第1接続アプリ124から、現在接続されている接続先の画像形成装置30のホスト名を取得する(ステップS44)。そして、WebAPIWrapper123は、第1接続アプリ124から取得した現在の接続先のホスト名をパラメータに含めて、WebAPI接続クラス125のインスタンスを生成する(ステップS45)。さらに、WebAPIWrapper123は、生成されたWebAPI接続クラス125のインスタンスに対して、第1接続アプリ124から取得した現在の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS46)。WebAPI接続クラス125は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS47)。画像形成装置30は、WebAPI接続クラス125から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS48)。
既に説明したとおり、機能提供アプリ122は、固定操作部20および情報処理装置100で共有のアプリである。情報処理装置100は、画像形成装置30に非固定的に接続されるデバイスであるため、接続先のホスト名は、画像形成装置30のホスト名に固定されず可変的である。そこで、図8に示す例では、現在の接続先のホスト名(すなわち、可変的なホスト名)を取得し、当該現在の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを画像形成装置30へ送信するようにしている。なお、現在の接続先のホスト名は、第1接続アプリ124が起動し、画像形成装置30との通信接続が確立された時点で、情報処理装置100内に保持される情報である。第1接続アプリ124が起動すると、第1接続アプリ124は、ホスト名/IPアドレスの入力を受け付ける画面を表示させ、該画面においてホスト名/IPアドレスなどの機器情報をユーザが入力することで、当該機器情報に対応する画像形成装置30に接続することができる。後述するが、通信接続確立後は、認証処理を行っても良い。この場合、第1接続アプリ124は、ユーザID/パスワードの入力を受け付ける画面を表示させ、該画面においてユーザID/パスワードなどの認証情報をユーザが入力することで、当該認証情報に基づいて画像形成装置30にログインすることができる。
(画像形成システム10による処理の手順(第5例))
図9は、本発明の一実施形態に係る画像形成システム10による処理の手順の第5例を示すシーケンス図である。この第5例では、画像形成システム10により、固定操作部20が備える機能提供アプリ122からの要求に応じて、接続先ポート番号の変更を行いつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第5例では、固定操作部20から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、固定操作部20において、機能提供アプリ122が、WebAPI接続クラス23を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS51)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のポート番号をパラメータに含んだ、WebAPIリクエストを送信する(ステップS52)。ここで、機能提供アプリ122は、固定操作部20の接続先のポート番号を予め保持しておく。例えば、機能提供アプリ122のプログラム中に固定操作部20の接続先のポート番号を記述しておいてもよい。ただし、これに限定されず、ユーザが入力装置を介して、機能提供アプリ122毎にポート番号を予め設定しても良い。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第2接続アプリ22から、動作環境情報を取得する(ステップS53)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のポート番号が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のポート番号が固定である(すなわち、当該処理の実行がなされているデバイスが、固定操作部20である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、固定操作部20の接続先のポート番号をパラメータに含めて、WebAPI接続クラス23のインスタンスを生成する(ステップS54)。そして、WebAPIWrapper123は、生成されたWebAPI接続クラス23のインスタンスに対して、固定操作部20の接続先のポート番号をパラメータに含んだ、WebAPIリクエストを送信する(ステップS55)。WebAPI接続クラス23は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS56)。画像形成装置30は、WebAPI接続クラス23から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS57)。
固定操作部20は、画像形成装置30に直接的且つ固定的に接続されるデバイスであるため、接続先のホスト名は、画像形成装置30の予め定められたポート番号に固定されている。そこで、図9に示す例では、固定的なポート番号(すなわち、固定操作部20の接続先のポート番号)をパラメータに含んだ、WebAPIリクエストを画像形成装置30へ送信するようにしている。
(画像形成システム10による処理の手順(第6例))
図10は、本発明の一実施形態に係る画像形成システム10による処理の手順の第6例を示すシーケンス図である。この第6例では、画像形成システム10により、情報処理装置100が備える機能提供アプリ122からの要求に応じて、接続先ポート番号の変更を行いつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第6例では、情報処理装置100から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、情報処理装置100において、機能提供アプリ122が、WebAPI接続クラス125を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS61)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のポート番号をパラメータに含んだ、WebAPIリクエストを送信する(ステップS62)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第1接続アプリ124から、動作環境情報を取得する(ステップS63)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のポート番号が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のポート番号が可変である(すなわち、当該処理の実行がなされているデバイスが、情報処理装置100である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、第1接続アプリ124から、現在接続されている接続先の画像形成装置30のポート番号を取得する(ステップS64)。そして、WebAPIWrapper123は、第1接続アプリ124から取得した現在の接続先のポート番号をパラメータに含めて、WebAPI接続クラス125のインスタンスを生成する(ステップS65)。さらに、WebAPIWrapper123は、生成されたWebAPI接続クラス125のインスタンスに対して、第1接続アプリ124から取得した現在の接続先のポート番号をパラメータに含んだ、WebAPIリクエストを送信する(ステップS66)。WebAPI接続クラス125は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS67)。画像形成装置30は、WebAPI接続クラス125から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS68)。
情報処理装置100は、画像形成装置30に非固定的に接続されるデバイスであるため、接続先のポート番号は、画像形成装置30の予め定められたポート番号に固定されず可変的である。そこで、図10に示す例では、現在の接続先のポート番号(すなわち、可変的なポート番号)を取得し、当該現在の接続先のポート番号をパラメータに含んだ、WebAPIリクエストを画像形成装置30へ送信するようにしている。なお、現在のポート番号は、第1接続アプリ124が起動し、画像形成装置30との通信接続が確立された時点で、情報処理装置100内に保持される情報である。
(画像形成システム10による処理の手順(第7例))
図11は、本発明の一実施形態に係る画像形成システム10による処理の手順の第7例を示すシーケンス図である。この第7例では、画像形成システム10により、固定操作部20が備える機能提供アプリ122からの要求に応じて、SSL(Secure Sockets Layer)通信の自動変換を行いつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第7例では、固定操作部20から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、固定操作部20において、機能提供アプリ122が、WebAPI接続クラス23を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS71)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS72)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第2接続アプリ22から、動作環境情報を取得する(ステップS73)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が固定である(すなわち、当該処理の実行がなされているデバイスが、固定操作部20である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、固定操作部20の接続先のホスト名をパラメータに含めて、WebAPI接続クラス23のインスタンスを生成する(ステップS74)。そして、WebAPIWrapper123は、生成されたWebAPI接続クラス23のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、HTTPによるWebAPIリクエストを送信する(ステップS75)。WebAPI接続クラス23は、WebAPIWrapper123から送信されたHTTPによるWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS76)。画像形成装置30は、WebAPI接続クラス23から送信されたHTTPによるWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS77)。
(画像形成システム10による処理の手順(第8例))
図12は、本発明の一実施形態に係る画像形成システム10による処理の手順の第8例を示すシーケンス図である。この第8例では、画像形成システム10により、情報処理装置100が備える機能提供アプリ122からの要求に応じて、SSL通信の自動変換を行いつつ、すなわち、この第8例では、情報処理装置100から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、情報処理装置100において、機能提供アプリ122が、WebAPI接続クラス125を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS81)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS82)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第1接続アプリ124から、動作環境情報を取得する(ステップS83)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が可変である(すなわち、当該処理の実行がなされているデバイスが、情報処理装置100である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、第1接続アプリ124から、現在接続されている接続先の画像形成装置30のホスト名を取得する(ステップS84)。そして、WebAPIWrapper123は、第1接続アプリ124から取得した現在の接続先のホスト名をパラメータに含めて、WebAPI接続クラス125のインスタンスを生成する(ステップS85)。さらに、WebAPIWrapper123は、生成されたWebAPI接続クラス125のインスタンスに対して、第1接続アプリ124から取得した現在の接続先のホスト名をパラメータに含んだ、HTTPS(Hypertext Transfer Protocol Secure)によるWebAPIリクエストを送信する(ステップS86)。WebAPI接続クラス125は、WebAPIWrapper123から送信されたHTTPSによるWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS87)。画像形成装置30は、WebAPI接続クラス125から送信されたHTTPSによるWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS88)。
固定操作部20は、画像形成装置30に対し、通信ケーブル等により、直接的且つ固定的に接続されるデバイスである。このため、固定操作部20からの画像形成装置30に対する通信は、セキュリティ上の問題の発生する可能性が比較的小さい。そこで、図11に示す例では、固定操作部20から、HTTPによるWebAPIリクエストを、画像形成装置30へ送信するようにしている。一方、情報処理装置100は、画像形成装置30に対し、ネットワーク12を介して、非固定的に接続されるデバイスである。このため、情報処理装置100からの画像形成装置30に対する通信は、セキュリティ上の問題の発生する可能性が比較的大きい。そこで、図12に示す例では、情報処理装置100から、HTTPSによるWebAPIリクエストを、画像形成装置30へ送信するようにしている。これにより、SSLによる通信の暗号化を行い、当該通信のセキュリティ機能を高めているのである。
(画像形成システム10による処理の手順(第9例))
図13は、本発明の一実施形態に係る画像形成システム10による処理の手順の第9例を示すシーケンス図である。この第9例では、画像形成システム10により、固定操作部20が備える機能提供アプリ122からの要求に応じて、認証情報を自動的に付加しつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第3例では、固定操作部20から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、固定操作部20において、機能提供アプリ122が、WebAPI接続クラス23を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS91)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS92)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第2接続アプリ22から、動作環境情報を取得する(ステップS93)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が固定である(すなわち、当該処理の実行がなされているデバイスが、固定操作部20である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、固定操作部20の接続先のホスト名をパラメータに含めて、WebAPI接続クラス23のインスタンスを生成する(ステップS94)。そして、WebAPIWrapper123は、生成されたWebAPI接続クラス23のインスタンスに対して、認証情報をパラメータに含まず、且つ、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS95)。WebAPI接続クラス23は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS96)。画像形成装置30は、WebAPI接続クラス23から送信されたWebAPIリクエストをNCS32によって受信すると、当該WebAPIリクエストに応じた機能を実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS97)。
(画像形成システム10による処理の手順(第10例))
図14は、本発明の一実施形態に係る画像形成システム10による処理の手順の第10例を示すシーケンス図である。この第10例では、画像形成システム10により、情報処理装置100が備える機能提供アプリ122からの要求に応じて、認証情報を自動的に付加しつつ、画像形成装置30の機能を実行する例を説明する。すなわち、この第3例では、情報処理装置100から、機能提供アプリ122を介して、画像形成装置30の機能を実行する例を説明する。
まず、情報処理装置100において、機能提供アプリ122が、WebAPI接続クラス125を利用するために、WebAPIWrapper123のインスタンスを生成する(ステップS101)。そして、機能提供アプリ122は、生成されたWebAPIWrapper123のインスタンスに対して、固定操作部20の接続先のホスト名をパラメータに含んだ、WebAPIリクエストを送信する(ステップS102)。
WebAPIWrapper123は、機能提供アプリ122から送信されたWebAPIリクエストを受信すると、第1接続アプリ124から、動作環境情報を取得する(ステップS103)。そして、WebAPIWrapper123は、当該動作環境情報に基づいて、接続先のホスト名が固定であるか可変であるか(すなわち、当該処理の実行がなされているデバイスが、固定操作部20であるか情報処理装置100であるか)を判断する。ここでは、WebAPIWrapper123は、接続先のホスト名が可変である(すなわち、当該処理の実行がなされているデバイスが、情報処理装置100である)と判断する。
この判断結果に応じて、WebAPIWrapper123は、第1接続アプリ124から、現在接続されている接続先の画像形成装置30のホスト名を取得する(ステップS104)。また、WebAPIWrapper123は、第1接続アプリ124から、現在接続されている画像形成装置30との接続に用いた認証情報を取得する(ステップS105)。例えば、認証情報は、ユーザIDおよびパスワードを含む。なお、ユーザIDおよびパスワードは、第1接続アプリ124が起動し、画像形成装置30との通信接続が確立した後、ユーザ認証を行った時点で、情報処理装置100内に保持される情報である。画像形成装置30との通信接続が確立すると、ユーザIDおよびパスワードをユーザが入力し、当該ユーザIDおよびパスワードを含む認証情報を画像形成装置30へ送信することで、当該認証情報を用いたユーザ認証を、画像形成装置30に行わせることができる。画像形成装置30によるユーザ認証に成功すると、情報処理装置100は、画像形成装置30の機能を利用可能になる。
そして、WebAPIWrapper123は、第1接続アプリ124から取得した現在の接続先のホスト名をパラメータに含めて、WebAPI接続クラス125のインスタンスを生成する(ステップS106)。さらに、WebAPIWrapper123は、生成されたWebAPI接続クラス125のインスタンスに対して、第1接続アプリ124から取得した現在の接続先のホスト名および認証情報をパラメータに含んだ、WebAPIリクエストを送信する(ステップS107)。WebAPI接続クラス125は、WebAPIWrapper123から送信されたWebAPIリクエストを、画像形成装置30のNCS32へ送信する(ステップS108)。画像形成装置30は、WebAPI接続クラス125から送信されたWebAPIリクエストをNCS32によって受信すると、認証情報によるユーザ認証と、当該WebAPIリクエストに応じた機能とを実行した後、NCS32が、機能提供アプリ122に対して、WebAPIレスポンスを返す(ステップS109)。
固定操作部20は、画像形成装置30に対し、通信ケーブル等により、直接的且つ固定的に接続されるデバイスである。このため、固定操作部20からの画像形成装置30に対する通信は、不正ユーザからのアクセスが発生する可能性が比較的小さい。そこで、図13に示す例では、固定操作部20から、認証情報を含めないWebAPIリクエストを、画像形成装置30へ送信するようにしている。一方、情報処理装置100は、画像形成装置30に対し、ネットワーク12を介して、非固定的に接続されるデバイスである。このため、情報処理装置100からの画像形成装置30に対する通信は、不正ユーザからのアクセスが発生する可能性が比較的大きい。そこで、図14に示す例では、情報処理装置100から、認証情報を含めたWebAPIリクエストを、画像形成装置30へ送信するようにしている。これにより、画像形成装置30において認証情報による認証を行い、不正ユーザからのアクセスを防いでいるのである。
以上説明したように、本発明の一実施形態に係る情報処理装置100は、画像形成装置30と通信接続する第1接続アプリ124とは別に、機能提供アプリ122を備え、機能提供アプリ122により、第1接続アプリ124から、現在接続されている画像形成装置30との通信接続に関する通信接続情報を取得し、取得された通信接続情報を用いて、画像形成装置30に対する機能の実行要求を送信する構成を採用している。これにより、本発明の一実施形態に係る情報処理装置100は、他の端末装置と画像形成装置30に対する動作環境が異なる場合であっても、当該通信接続処理を機能提供アプリ122は動作環境に応じて、適切に画像形成装置30の機能を実行することができる。また、機能提供アプリ122は、画像形成装置30に対する機能の実行要求を行う際に必要な通信接続情報を、第1接続アプリ124から取得することができる。このため、本発明の一実施形態に係る情報処理装置100は、機能提供アプリ122を、他の端末装置と共通的に使用することができる。したがって、本発明の一実施形態に係る情報処理装置100によれば、画像形成装置30との連携を行うための連携アプリケーションの汎用性を高めることができ、よって、当該連携アプリケーションを容易に作成することができる。
特に、本発明の一実施形態に係る情報処理装置100は、固定操作部20が備える機能提供アプリケーションと共通の機能提供アプリ122を備えることにより、当該情報処理装置100専用の機能提供アプリケーションを作成する必要なく、固定操作部20との相違点(例えば、通信接続情報が固定的であるか可変的であるかの相違点)を機能提供アプリ122で吸収し、固定操作部20と同様に画像形成装置30の機能を利用することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。