(57)【特許請求の範囲】
【請求項１】
ネットワークを介して連携する複数の各サービスと通信を行うと共に、該各サービスに対応する個別の処理を行う前記各サービスに対応して設けられた複数の個別処理手段と、
ユーザ操作に応答して前記複数のサービスの中から選択されたサービスに対応する個別処理手段を前記複数の個別処理手段から特定する特定手段と、
前記複数の個別処理手段から共通に利用されるモジュールであり、かつ前記特定手段で特定された個別処理手段により管理される情報を基に前記個別処理手段に対応する画面情報を生成する生成手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記特定手段で特定された個別処理手段は、該個別処理手段に対応するサービスから該サービスで管理されるデータの情報を取得し、取得した前記情報を管理し、
前記生成手段は、前記個別処理手段により管理される前記情報を基に、前記サービスで管理されるデータを示す画面情報を生成することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記個別処理手段により管理される情報には、印刷できるデータの情報が含まれ、
前記生成手段は、前記サービスで管理されるデータの情報と前記印刷できるデータの情報とを基に、前記サービスで管理されるデータのうち印刷できるデータを印刷の対象として選択可能な画面情報を生成し、
前記個別処理手段は、前記画面情報の画面を介して選択された印刷の対象のデータを前記サービスから取得することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記個別処理手段により管理される情報には、データ形式の変換が必要であるデータを識別する識別情報が更に含まれ、
前記個別処理手段は、前記サービスで管理されるデータの情報と前記識別情報とを基に、前記印刷の対象のデータがデータ形式の変換が必要であるデータであると判断した場合、前記印刷の対象のデータのデータ形式の変換を前記サービスに要求し、変換された後のデータを前記サービスから取得することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記個別処理手段により管理される情報には、前記印刷の対象のデータのプレビューに用いられるプレビュー用のデータを前記サービスから取得できるか否かを示すプレビューの情報が更に含まれ、
前記生成手段は、前記印刷の対象のデータのプレビューを指示可能な画面情報を生成し、
前記個別処理手段は、前記サービスで管理されるデータの情報と前記プレビューの情報とを基に、前記印刷の対象のデータに対応するプレビュー用のデータを前記サービスから取得できると判断した場合、前記プレビュー用のデータを前記サービスから取得することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
原稿をスキャン処理して得られる画像データのデータ形式を変換する変換手段を更に有し、
前記特定手段で特定された個別処理手段により管理される情報には、前記個別処理手段に対応するサービスで処理できるデータ形式の情報が含まれ、
前記生成手段は、前記サービスで処理できるデータ形式の情報を基に、前記サービスで処理できるデータ形式を選択可能な画面情報を生成し、
前記変換手段は、前記画像データを、前記画面情報の画面を介して選択されたデータ形式に変換し、
前記個別処理手段は、前記変換手段で変換された後のデータを前記サービスに送信することを特徴とする請求項１乃至５の何れか１項に記載の画像形成装置。
【請求項７】
前記複数の個別処理手段の各々により管理される情報は、スキャンに関する設定の情報、及び印刷に関する設定の情報の内、少なくとも１つを含む情報であって、前記複数の各サービスに対応して記憶装置に記憶されている情報であることを特徴とする請求項１に記載の画像形成装置。
【請求項８】
ネットワークを介して連携する複数の各サービスと通信を行うと共に、該各サービスに対応する個別の処理を行う前記各サービスに対応して設けられた複数の個別処理手段から、ユーザ操作に応答して前記複数のサービスの中から選択されたサービスに対応する個別処理手段を特定する特定工程と、
前記複数の個別処理手段から共通に利用されるモジュールの工程であり、かつ前記特定工程で特定された個別処理手段により管理される情報を基に前記個別処理手段に対応する画面情報を生成する生成工程と、
を有することを特徴とするサービス連携方法。
【請求項９】
コンピュータを、
ネットワークを介して連携する複数の各サービスと通信を行うと共に、該各サービスに対応する個別の処理を行う前記各サービスに対応して設けられた複数の個別処理手段と、
ユーザ操作に応答して前記複数のサービスの中から選択されたサービスに対応する個別処理手段を前記複数の個別処理手段から特定する特定手段と、
前記複数の個別処理手段から共通に利用されるモジュールであり、かつ前記特定手段で特定された個別処理手段により管理される情報を基に前記個別処理手段に対応する画面情報を生成する生成手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、サービス連携方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像処理装置においては、リアルタイム・オペレーティングシステム（リアルタイムＯＳ）上に、さらに別の組み込みシステム向けの実行環境（Ｊａｖａ（登録商標）などの実行環境）を構築している。組み込みシステム向けの実行環境により、画像処理装置を制御するアプリケーションを外部からインストールして搭載することが可能となっている。また、組み込みシステム向けの実行環境により、開発者は、画像処理装置に対するアプリケーションを共通の開発言語、共通の開発環境で開発することが可能となっている。
また、画像処理装置の高機能化、多機能化が進み、スキャン機能、プリント機能に関しても多種多様な画像処理装置が開発されている。近年では、スキャン機能、プリント機能といった紙文書の電子化や印刷といった基本的な機能だけではなく、ネットワーク・インターフェース（ネットワークＩ／Ｆ）を搭載した画像処理装置が開発されている。ネットワークＩ／Ｆを搭載した画像処理装置は、ネットワークで接続された外部システム、外部サービスと連携し、様々なソリューションを提供している。例えば、特許文献１では、文書管理システムと連携し、文書管理ポリシーにあったスキャンデータのみをアップロードできる画像処理装置が提案されている。
【０００３】
一方、画像処理装置を取り巻くネットワーク環境に関しては、近年、クラウドコンピューティング環境等、インターネットをベースとしたコンピュータの利用形態が注目されている。クラウドコンピューティング環境では、ユーザは、コンピュータの処理をネットワーク経由でサービスとして利用する。特に、インターネット上では、サービスを提供する提供装置より様々なサービスが提供されており、ユーザは、業務などの各自の利用形態に合わせてサービスを選択することが可能となっている。
したがって、画像処理装置においても、様々なサービスと連携してユーザの業務の効率を向上させるソリューションを提供することが重要となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−５６７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クラウドコンピューティング環境においては、サービスを提供する提供装置の提供者と画像処理装置の提供者が必ずしも協力体制にあるわけではない。よって、提供装置において、画像処理装置がサービスを利用できるかの問い合わせを行うためのインターフェースが必ずしも用意されているとは限らない。すなわち、従来の画像処理装置では、サービスに合わせてユーザインターフェース（ＵＩ）、スキャン処理、及び印刷処理を実装する必要があるので、連携するサービスが多くなると、実装コードが膨大になるという問題が生じる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、連携するサービスの増加に伴う対応をより適切に行うことを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明に係る画像形成装置は、ネットワークを介して連携する複数の各サービスと通信を行うと共に、該各サービスに対応する個別の処理を行う前記各サービスに対応して設けられた複数の個別処理手段と、ユーザ操作に応答して前記複数のサービスの中から選択されたサービスに対応する個別処理手段を前記複数の個別処理手段から特定する特定手段と、前記複数の個別処理手段から共通に利用されるモジュールであり、かつ前記特定手段で特定された個別処理手段により管理される情報を基に前記個別処理手段に対応する画面情報を生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、連携するサービスの増加に伴う対応をより適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置の基本的なソフトウェア構成の一例を示す図である。
【図２】アプリケーションの機能構成の一例を示す図である。
【図３】アプリケーションの機能構成の一例を示す図である。
【図４】画像処理システムの構成の一例を示す図である。
【図５】画像処理装置のハードウェア構成の一例を示す図である。
【図６】外部サーバのハードウェア構成の一例を示す図である。
【図７】アプリケーションの機能構成の一例を示す図である。
【図８】初期画面の一例を示す図である。
【図９】スキャン設定用の画面の一例を示す図である。
【図１０】スキャン／プリント設定ＤＢの構成の一例を示す図である。
【図１１】メイン処理に係るフローチャートの一例を示す図である。
【図１２】初期画面表示処理に係るフローチャートの一例を示す図である。
【図１３】スキャン処理に係るフローチャートの一例を示す図である。
【図１４】プリント処理に係るフローチャートの一例を示す図である。
【図１５】プリント処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１１】
＜第１の実施形態＞
図１は、画像処理装置の基本的なソフトウェア構成の一例を示す図である。ＯＳ１０１は、第１の実行環境の一例であり、画像処理装置１０全体を制御する。ＯＳ１０１は、画像処理装置１０の各種の機能をリアルタイムに制御するリアルタイムＯＳの各モジュール（或いはＣＰＵ）に命令して、画像処理装置１０に接続されたオプション装置、拡張カードを含む各機能を制御するライブラリ群を有する。また、ＯＳ１０１は、ＯＳ１０１の上位で動作するアプリケーションに対してインターフェース・コマンドを提供するモジュール群を有する。
【００１２】
コントローラ制御部１０２は、ＯＳ１０１上で動作し、後述のスキャナ５２１、プリンタ５２０などを制御するモジュールを含んで構成される。ＡＰＩ（アプリケーション・プログラミング・インターフェース）１０３は、アプリケーションからの命令の入力の命令列に応答して、コントローラ制御部１０２にアクセスする。また、ＡＰＩ１０３は、後述のネットワークＩ／Ｆ５１８を介してネットワークに接続された機器等に制御コマンドを送信する。アプリケーション１０４は、ＯＳ１０１上で動作し、ＡＰＩ１０３を介してコントローラ制御部１０２に各種の処理を依頼する。
【００１３】
仮想マシン１０５は、特定のアプリケーションを実行するために最適な第２の実行環境であり、例えば、Ｊａｖａ（登録商標）の仮想マシンなどにより実現される。仮想マシンＡＰＩ１０６は、仮想マシン１０５上のアプリケーションがＯＳ１０１上で動作するコントローラ制御部１０２にアクセスするＡＰＩであり、本実施形態においてはＡＰＩ１０３を呼び出すための変換モジュールの機能を有する。
フレームワーク（Framework）１０７は、仮想マシン１０５上のアプリケーションを統括的に制御する機能を有するモジュールである。アプリケーション管理アプリケーション１０８は、仮想マシン１０５上の他のアプリケーションを管理するアプリケーションであり、フレームワーク１０７と協調し、アプリケーション１０９、１１０のダウンロード、アップロード、消去、無効化などを行う。アプリケーション１０９、１１０は、仮想マシン１０５上で動作するアプリケーションであり、仮想マシンＡＰＩ１０６を介してコントローラ制御部１０２に各種の処理を依頼する。
【００１４】
リソース管理部１１１は、仮想マシン１０５が使用する資源（リソース）を管理し、ＯＳ１０１上で動作する。リソース管理部１１１は、仮想マシン１０５、仮想マシンＡＰＩ１０６、フレームワーク１０７、或いはＯＳ１０１上の全てのアプリケーションがメモリ等の資源を使用する際、予め決められた以上の資源が使用できないように制限する。例えば、リソース管理部１１１は、ＵＩを表示するアプリケーションにおいて、予め決められた上限のＵＩの表示数を超えた場合には、アプリケーションがＵＩの表示を行うことができないように制御する。
なお、以下では、アプリケーションとしては、第２の実行環境で動作するアプリケーション（アプリケーション１０９等）を想定して説明するが、第１の実行環境で動作するアプリケーション（アプリケーション１０４等）を採用してもよい。
【００１５】
ここで、クラウドコンピューティング環境において、画像処理装置が様々なサービス（画像処理装置でスキャンされたデータを保持するサービス等）と連携してユーザの業務の効率を向上させるサービス連携方法について説明する。
従来では、画像処理装置が原稿をスキャンしたデータを外部サービスに送信する場合、画像処理装置が生成可能な任意のデータフォーマット（以下では、ファイル形式、データ形式と適宜称する。）のデータを外部サービスに送信していた。通常、企業内のＬＡＮなどのネットワーク環境下においては、画像処理装置から送信されるデータフォーマットのデータは、送信先であるサービスを提供する外部サーバで全て受信可能であるものが多い。外部サーバは、ＦＴＰサーバ、ＳＭＢサーバ、ＷｅｂＤＡＶサーバなど、データフォーマットに関わらずバイナリデータを受信可能な汎用的なサーバであるので、画像処理装置は、任意のデータフォーマットのデータを送信する場合がほとんどである。
【００１６】
また、送信先の外部サーバで受信できないデータフォーマットが存在する場合、画像処理装置が受信できないデータフォーマットを問い合わせることによって、画像処理装置から送信できるデータの種類を制御していた（例えば特許文献１を参照のこと。）。
一方、様々なサービスが提供されているクラウドコンピューティング環境下においては、サービス毎に受信（保管）できるデータフォーマットが異なる。また、サービス毎に保管しているデータフォーマットが異なるので、画像処理装置がデータをダウンロードして印刷する場合、データの種類によっては印刷できないことがある。
【００１７】
このようなクラウドコンピューティング環境におけるサービスに対して画像処理装置からデータを送信する、或いはサービスからデータをダウンロードして印刷するような場合、外部サーバに適切なデータフォーマットを問い合わせる必要がある。つまり、受信できるデータフォーマットが何であるか、或いは印刷できるデータフォーマットのデータを保持しているかを画像処理装置が外部サーバに問い合わせを行い、問い合わせの結果に従って処理を行う必要がある。
【００１８】
しかしながら、クラウドコンピューティング環境においては、外部サーバの提供者と画像処理装置の提供者とが必ずしも協力体制にあるわけではない。よって、外部サーバにおいて画像処理装置が問い合わせを行うためのインターフェースが必ずしも用意されているとは限らない。
このような理由により、クラウドコンピューティング環境におけるサービスを享受するためには、画像処理装置でそれぞれのサービスに合わせてユーザインターフェース、スキャン処理、印刷処理を実装する必要がある。よって、連携するサービスが多くなるほど、実装コードが膨大になってしまう。
【００１９】
以下では、図２及び図３を参照して、上述した内容をより具体的に説明する。図２は、企業内のＬＡＮなどのネットワーク環境下において汎用的なサーバとデータの送受信を行う画像処理装置２０が有するアプリケーション２００の機能構成の一例を示す図である。ここで、サーバは、任意のデータフォーマットのデータを受信できるので、アプリケーション２００は、画像処理装置２０が処理できるデータのみを考慮して実装されている。
より詳細に説明すると、ＵＩ２０１におけるスキャン設定ＵＩ２０２は、画像処理装置２０が生成できるデータについての設定を行うためのＵＩを表示する。ＵＩ２０１における印刷設定ＵＩ２０３は、画像処理装置２０が印刷できるデータの取得についての設定を行うためのＵＩを表示する。スキャン処理制御部２０４は、スキャン設定ＵＩ２０２での設定内容（設定値）に従って、設定内容が画像処理装置２０の処理能力と整合性があっているかのみを考慮した処理を行う。印刷処理制御部２０５は、印刷設定ＵＩ２０３での設定内容に従って、設定内容が画像処理装置２０の処理能力と整合性があっているかのみを考慮した処理を行う。サービス通信部２０６は、ＦＴＰ、ＳＭＢ、ＷｅｂＤＡＶ等に従ってファイル（ドキュメント）の送受信を行う。
【００２０】
次に、クラウドコンピューティング環境下において様々なサービスとデータの送受信を行う画像処理装置の一例（画像処理装置３０）について説明する。図３は、画像処理装置３０が有するアプリケーション３００の機能構成の一例を示す図である。アプリケーション３００は、サービス（外部サーバ）で処理できるデータも考慮して実装される必要があり、サービス毎にユーザインターフェース、スキャン処理、印刷処理が実装されている。
ここでは説明の便宜上、アプリケーション３００は、サービスＡ及びサービスＢの２つのサービスとデータを送受信することを想定している。ＵＩ３０１において、サービスＡ用スキャン設定ＵＩ３１１は、画像処理装置３０が生成できるデータであり、かつ、サービスＡが受信できるデータについての設定を行うためのＵＩを表示する。また、同様に、サービスＡ用印刷設定ＵＩ３１２は、サービスＡが保管できるデータであり、かつ、画像処理装置３０が印刷できるデータの取得についての設定を行うためのＵＩを表示する。
【００２１】
サービスＡ用スキャン処理制御部３１３は、サービスＡ用スキャン設定ＵＩ３１１での設定内容に従って、設定内容が画像処理装置３０の処理能力だけでなくサービスＡでのデータの保管能力と整合性があっているかを考慮した処理を行う。サービスＡ用印刷処理制御部３１４は、サービスＡ用印刷設定ＵＩ３１２での設定内容に従って、設定内容が画像処理装置３０の処理能力だけでなくサービスＡでのデータの保管能力と整合性があっているかを考慮した処理を行う。サービスＡ用サービス通信部３１５は、サービスＡが提供する通信プロトコル及び通信インターフェースに従ってファイルの送受信を行う。
同様に、サービスＢ用スキャン設定ＵＩ３２１、サービスＢ用印刷設定ＵＩ３２２、サービスＢ用スキャン処理制御部３２３、サービスＢ用印刷処理制御部３２４、サービスＢ用サービス通信部３２５もサービスＢで処理できるデータを考慮して実装する必要がある。
【００２２】
したがって、画像処理装置３０とデータを送受信するサービスが増加するほど、実装コードが膨大になる。
そこで、以下では、サービスに合わせたＵＩの表示、スキャン処理、プリント処理を行うことができる画像処理装置３０とは異なる画像処理装置について説明する。
【００２３】
図４は、本実施形態に係る画像処理システムの構成の一例を示す図である。コンピュータの一例である画像処理装置１００は、プリンタ、複合機（ＭＦＰ）などの画像形成装置であり、ＬＡＮ４００を介してインターネット４１０に接続されている。また、外部サーバ４２０は、コンピュータの一例であり、ＬＡＮ４２１を介してインターネット４１０に接続され、クラウドコンピューティング環境でサービスを提供する。よって、画像処理装置１００は、外部サーバ４２０と通信を行い、外部サーバ４２０が提供するサービス（ファイル管理サービス等）と連携することができる。
なお、ここでは、外部サーバ４２０が１台設けられ、外部サーバ４２０がファイル管理サービスを提供する例を示した。しかしながら、外部サーバ４２０の他の形態としては、外部サーバ４２０が複数のサーバによって構成され、複数のサーバにおいて複数のヴァーチャルマシンを起動して分散処理を行うようにしてもよい。この場合、所定の条件に応じてヴァーチャルマシンを増加させるスケールアウトと呼ばれる技術（クラウドコンピューティング技術）が用いられる。
【００２４】
図５は、画像処理装置１００のハードウェア構成の一例を示す図である。制御部５１０は、画像処理装置１００全体の動作を制御する。ＣＰＵ５１１は、ＲＯＭ５１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種の制御を行う。制御プログラムが実行されることで、コントローラ制御部１０２等の機能が実現される。ＲＡＭ５１３は、ＣＰＵ５１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
ＨＤＤ５１４は、画像データや各種のプログラム、各種のテーブルを記憶する。操作部Ｉ／Ｆ５１５は、操作部５１９と制御部５１０とを接続する。操作部５１９には、タッチパネルの機能を有する液晶表示部やキーボードなどが備えられている。なお、画像処理装置１００のアプリケーションは、処理に応じて仮想マシンＡＰＩ１０６（或いはＡＰＩ１０３）を呼び出し、コントローラ制御部１０２に処理を依頼することによって各種の画面を操作部５１９の液晶表示部に表示する。
【００２５】
プリンタＩ／Ｆ５１６は、プリンタ５２０と制御部５１０とを接続する。プリンタ５２０で印刷すべきデータ（画像データ等）は、プリンタＩ／Ｆ５１６を介して制御部５１０から転送され、プリンタ５２０において記録媒体上に印刷される。なお、画像処理装置１００のアプリケーションは、処理に応じて仮想マシンＡＰＩ１０６（或いはＡＰＩ１０３）を呼び出し、コントローラ制御部１０２に処理を依頼することによってプリント処理を実行する。
スキャナＩ／Ｆ５１７は、スキャナ５２１と制御部５１０とを接続する。スキャナ５２１は、原稿を読み取って画像データを生成し、スキャナＩ／Ｆ５１７を介して制御部５１０に入力する。なお、画像処理装置１００のアプリケーションは、処理に応じて仮想マシンＡＰＩ１０６（或いはＡＰＩ１０３）を呼び出す。そして、画像処理装置１００のアプリケーションは、コントローラ制御部１０２に処理を依頼することによってスキャン処理を実行し、外部サーバ４２０に画像データ（後述のスキャンデータ）を送信する。
ネットワークＩ／Ｆ５１８は、制御部５１０（画像処理装置１００）をＬＡＮ４００に接続する。ネットワークＩ／Ｆ５１８は、ＬＡＮ４００を介して接続される外部サーバ４２０に各種の情報を送信し、ＬＡＮ４００を介して接続される外部サーバ４２０から各種の情報を受信する。
【００２６】
図６は、外部サーバ４２０のハードウェア構成の一例を示す図である。制御部６１０は、外部サーバ４２０全体の動作を制御する。ＣＰＵ６１１は、ＲＯＭ６１２に記憶された制御プログラムを読み出して各種の制御処理を実行する。ＲＡＭ６１３は、ＣＰＵ６１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ６１４は、画像データや各種のプログラム、各種の情報を記憶する。ネットワークＩ／Ｆ６１５は、制御部６１０（外部サーバ４２０）をＬＡＮ４２１に接続する。ネットワークＩ／Ｆ６１５は、ＬＡＮ４２１を介して接続される他の装置との間で各種の情報を送受信する。
本実施形態では、ＣＰＵ６１１が、ＲＯＭ６１２に格納された制御プログラムの手順に従って処理を行うことによって、外部サーバ４２０における機能及び後述する各種の処理が実現される。
【００２７】
図７は、アプリケーション７００の機能構成の一例を示す図である。図７に示す各機能部は、画像処理装置１００のＣＰＵ５１１が制御プログラムを実行することにより実現される。なお、図１に示す構成と同一の構成には同一の符号を付して説明を省略する。
本実施形態では、アプリケーション７００は、アプリケーション１０９、１１０と同様に仮想マシン１０５上で動作することを想定して説明する。なお、アプリケーション７００は、アプリケーション１０４と同様にＯＳ１０１上で動作するアプリケーションであってもよい。
【００２８】
サービスＡ用起動処理部７０１は、仮想マシン１０５からの指示によりサービスＡ用の処理を行うための初期化処理を行う。サービスＡ用起動処理部７０１は、初期化処理としてサービスＡ用のサービス通信部を特定する特定依頼をサービス通信ルータ７０８に送信する。また、サービスＡ用起動処理部７０１は、サービス通信ルータ７０８で特定されたサービスＡ用サービス通信部７０９に依頼して、サービスＡから画面生成情報（初期画面表示用データ等）を取得する。サービスＡ用起動処理部７０１は、初期化処理を終了すると、初期画面表示用データを初期画面の表示依頼に含め、ＵＩ制御部７０３に初期画面の表示依頼を送信する。サービスＢ用起動処理部７０２は、サービスＡ用起動処理部７０１と同様に、サービスＢ用の処理を行うための初期化処理を行う。なお、画像処理装置１００は、画面を表示するためにサービスから画面生成情報を取得し、取得した画面生成情報を基に画面（換言するならば、画面の生成の用に供する画面情報）を生成する構成を示したが、この構成に限られるものではない。画像処理装置１００は、サービスから画面生成情報を取得せずに画像処理装置１００内の画面生成情報を基に画面を生成してもよく、例えば、画像処理装置１００内の画面生成情報を基に生成した別の画面を初期画面として表示してもよい。
【００２９】
ＵＩ制御部７０３は、スキャン設定ＵＩ７０４、及び印刷設定ＵＩ７０５を有する。また、ＵＩ制御部７０３は、操作部５１９にＵＩを表示する処理を行う。より詳細に説明すると、ＵＩ制御部７０３は、サービスＡ用起動処理部７０１若しくはサービスＢ用起動処理部７０２からの初期画面の表示依頼を受信して、例えば図８に示す初期画面を表示する。
また、ＵＩ制御部７０３は、スキャンに関するスキャン設定情報を取得する取得依頼をサービス通信ルータ７０８に送信し、サービス通信ルータ７０８から受信したスキャン設定情報をスキャン設定ＵＩ７０４に送信する。同様に、ＵＩ制御部７０３は、印刷に関するプリント設定情報を取得する取得依頼をサービス通信ルータ７０８に送信し、サービス通信ルータ７０８から受信したプリント設定情報を印刷設定ＵＩ７０５に送信する。
スキャン設定ＵＩ７０４は、ＵＩ制御部７０３から受信したスキャン設定情報に従って、例えば図９に示すスキャン設定用の画面の画面情報を生成し、スキャン設定用の画面を操作部５１９に表示する。また、スキャン設定ＵＩ７０４は、スキャン設定用の画面に対するスキャン開始ボタンが押下されたタイミングで、ユーザにより入力された入力値をスキャン処理制御部７０６に送信する。
【００３０】
印刷設定ＵＩ７０５は、ＵＩ制御部７０３から受信したプリント設定情報に従って、例えば図８に示す初期画面８００の画面情報を生成し、初期画面８００を操作部５１９に表示し、初期画面８００における動作を制御する。印刷設定ＵＩ７０５は、ファイル名・フォルダ名のリスト８０１の中で印刷ができないファイルをユーザが印刷を指示できないように制御する。
より具体的には、リスト８０１の中で印刷ができないファイルをユーザ操作により選択された場合には、印刷ボタン８０３を押下できないよう印刷ボタン８０３を無効（Ｄｉｓａｂｌｅ状態）にする。他方、印刷ボタン８０３が押下されると、印刷設定ＵＩ７０５は、リスト８０１の中で選択されたファイルのファイル名（ファイルの識別子であってもよい。）と印刷依頼とを印刷処理制御部７０７に送信する。
【００３１】
スキャン処理制御部７０６は、スキャン設定ＵＩ７０４から送信されたスキャン設定用の画面における入力値を受信して、スキャン処理を実行し、スキャン処理した結果から画像データを取得する。スキャン処理制御部７０６は、画像データを、入力値に従ってサービスＡで処理できるファイル形式のスキャンデータに変換し、スキャンデータとサービスＡへのスキャンデータの送信依頼とをサービス通信ルータ７０８に送信する。
【００３２】
印刷処理制御部７０７は、印刷設定ＵＩ７０５から送信されるファイル名と印刷依頼とを受信して、ファイル名とファイルの取得依頼とをサービス通信ルータ７０８に送信する。また、印刷処理制御部７０７は、サービス通信ルータ７０８からファイルの取得依頼に対する応答と取得結果のファイルとを受信して、プリント処理を実行する。
【００３３】
サービス通信ルータ７０８は、サービスＡ用起動処理部７０１若しくはサービスＢ用起動処理部７０２からのサービス通信部の特定依頼を受信すると、それぞれのサービスとの通信に適したサービス通信部を特定する。また、サービス通信ルータ７０８は、ＵＩ制御部７０３からの取得依頼に応答して、特定したサービス通信部を介してスキャン設定情報又はプリント設定情報を取得し、ＵＩ制御部７０３に送信する。
また、サービス通信ルータ７０８は、スキャン処理制御部７０６からのスキャンデータとスキャンデータの送信依頼とを受信すると、特定したサービス通信部に対してスキャンデータとスキャンデータの送信依頼とを送信する。また、サービス通信ルータ７０８は、印刷処理制御部７０７からのファイル名と印刷依頼とを受信すると、特定したサービス通信部に対してファイル名と印刷依頼とを送信する。
【００３４】
サービスＡ用サービス通信部７０９は、主にサービスＡに対する通信処理を行う。サービスＡ用サービス通信部７０９は、サービス通信ルータ７０８からの取得依頼により、スキャン／プリント設定データベース（スキャン／プリント設定ＤＢ）７１１からスキャン設定情報又はプリント設定情報を取得し、サービス通信ルータ７０８に送信する。また、サービスＡ用サービス通信部７０９は、サービス通信ルータ７０８から受信したスキャンデータとスキャンデータの送信依頼とに基づいてサービスＡに対して受信したスキャンデータを送信する。また、サービスＡ用サービス通信部７０９は、サービス通信ルータ７０８から受信したファイル名と印刷依頼とに基づいて印刷用ファイル取得部７１０を呼び出す。付言するならば、サービス通信部は、個別処理手段の一例であり、各サービスと通信を行うと共に、各サービスに個別の処理を行う。
なお、サービスＡ用サービス通信部７０９は、サービス毎に異なるアプリケーション層での通信処理を制御することを想定する。例えば、サービスＡ用サービス通信部７０９は、通信プロトコルであるＨＴＴＰ等を利用して実現されるＳＯＡＰ、ＲＥＳＴ等のＷｅｂサービスによってサービスとの通信処理を行うことを想定する。
【００３５】
印刷用ファイル取得部７１０は、サービスＡ用サービス通信部７０９からの呼び出しによって、ファイル名をもとにサービスＡから印刷用のファイルを取得する。このとき、印刷用ファイル取得部７１０は、ファイル名により、画像処理装置１００で印刷できるか否かを判断する。印刷ができないファイル形式のファイルである場合でも、サービスＡにおいて印刷ができるファイル形式にファイルを変換できると判断した場合、サービスＡ用サービス通信部７０９は、当該ファイルを印刷ができるファイルに変換するようサービスＡに依頼する。この場合、印刷用ファイル取得部７１０は、変換が終了した後のファイルをサービスＡから取得する。
【００３６】
スキャン／プリント設定ＤＢ７１１は、サービスＡに送信できるスキャンデータのファイル形式、スキャン処理に関する設定ができる項目、サービスＡから取得される画像処理装置１００で印刷ができるファイル（印刷の対象となるデータ）等の情報を管理する。
サービスＢ用サービス通信部７１２は、基本的には、サービスＡ用サービス通信部７０９と同様に処理を行う。ただし、サービスＢ用サービス通信部７１２が通信処理を行う相手先はサービスＢである。印刷用ファイル取得部７１３、スキャン／プリント設定ＤＢ７１４も、基本的には、印刷用ファイル取得部７１０、スキャン／プリント設定ＤＢ７１１と同様である。ただし、印刷用ファイル取得部７１３、スキャン／プリント設定ＤＢ７１４の処理の対象となるサービスは、サービスＢである。
【００３７】
図８は、サービスＡにアクセスした際の初期画面の一例を示す図である。初期画面は、画像処理装置１００のＣＰＵ５１１が制御プログラムを実行することにより、操作部５１９に表示される。なお、図８では、サービスＡにアクセスした際の初期画面の例を示しているが、サービスＢにアクセスした際の初期画面も同様の画面となる。
初期画面８００は、サービスＡにアクセスした際の初期画面の一例であり、アプリケーション７００のサービスＡ用起動処理部７０１が初期化処理を終了した後、ＵＩ制御部７０３により表示される。ファイル名・フォルダ名のリスト８０１は、サービスＡで保管（管理）されているファイルの名称（名前）及びフォルダの名称を示す。図８では、サービスＡ用起動処理部７０１により取得された初期画面表示用データがＵＩ制御部７０３によって操作部５１９に表示されている状態が示されている。
ここで、スキャンした画像データをサービスＡに送信したい場合、ユーザは、タッチパネルの機能を有する液晶表示部を操作（ユーザ操作）して、ファイル名・フォルダ名のリスト８０１の任意のフォルダを指定し、送信ボタン８０２を押下する。送信ボタン８０２を押下するユーザ操作が行われると、例えば図９に示すスキャン設定用の画面９００が操作部５１９に表示される。
【００３８】
また、サービスＡに保管されているファイルを印刷したい場合、ユーザは、ファイル名・フォルダ名のリスト８０１の任意のファイルを指定し、印刷ボタン８０３を押下する。また、ユーザが印刷ボタン８０３を押下すると、アプリケーション７００により、指定されたファイルがサービスＡから取得されて印刷が実行される。
また、ユーザがキャンセルボタン８０４を押下すると、画像処理装置１００は、画像処理装置１００のメニュー画面を操作部５１９に表示する。メニュー画面では、コピー、スキャンなどの画像処理装置１００の基本機能やサービスＡ、サービスＢへのアクセスなどの機能の中から、ユーザは自分自身が利用したい機能を指定することができる。
【００３９】
図９は、サービスＡにアクセスした際のスキャン設定用の画面の一例を示す図である。スキャン設定用の画面は、画像処理装置１００のＣＰＵ５１１が制御プログラムを実行することにより、操作部５１９に表示される。なお、図９では、サービスＡにアクセスした際のスキャン設定用の画面の例を示しているが、サービスＢにアクセスした際の画面も同様である。しかしながら、サービスＢでは、図９に示す選択項目が全て表示されるとは限らない。サービスＢは、サービスＡと異なるデータ形式のデータを処理する可能性があるからである。
スキャン設定用の画面９００は、原稿をスキャンして生成する画像データを変換するファイルのファイル形式の指定を受け付ける。本画面は、初期画面８００において送信ボタン８０２を押下するユーザ操作が行われると、アプリケーション７００により操作部５１９に表示される。
【００４０】
ファイル形式選択設定９０１は、左部に表示されたファイル形式を選択するためのファイル形式ボタン（ＰＤＦファイル形式ボタン９０２等）の押下に対応して、詳細設定９０３の表示を切り替える。図９では、ＰＤＦファイル形式ボタン９０２が押下された状態を示している。
詳細設定９０３は、ファイル形式ボタンで押下（選択）されたファイル形式毎にスキャン処理に対して設定できる項目を示す。本実施形態では、ＰＤＦファイル形式ボタン９０２が選択された状態における詳細設定９０３の設定項目が示されている。高圧縮指定ボタン９０４は、ＰＤＦファイルが生成されるときに高圧縮形式のＰＤＦファイルを生成するか否かを指定するためのボタンである。図９では、高圧縮指定ボタン９０４が押下された状態を示し、「高圧縮形式のＰＤＦファイルを生成する」設定が行われている。
【００４１】
Ｒｅａｄｅｒ  Ｅｘｔｅｎｓｉｏｎｓ指定ボタン９０５は、ＰＤＦファイルが生成されるときにＲｅａｄｅｒ  Ｅｘｔｅｎｓｉｏｎ形式のＰＤＦファイルを生成するか否かを指定するためのボタンである。ＯＣＲ指定ボタン９０６は、原稿をスキャンした画像データに対してＯＣＲ（文字認識）処理を実行し、実行した結果をＰＤＦファイルに埋め込むか否かを指定するためのボタンである。
ＰＤＦファイル暗号化指定ボタン９０７は、ＰＤＦファイルが生成されるときに、ＰＤＦファイルを開く際にパスワードを入力しないと開くことができないファイルにするか否かを指定するためのボタンである。パスワード入力エリア９０８は、ＰＤＦファイルを開く際のパスワードを入力するための入力エリアである。パスワード入力エリア９０８は、ＰＤＦファイル暗号化指定ボタン９０７が押下された状態であるときにのみ入力ができる状態となる。
スキャン設定用の画面９００においてファイル形式を選択するユーザ操作が行われ、スキャン開始ボタン９０９を押下するユーザ操作が行われると、アプリケーション７００は、スキャン処理を実行する。また、キャンセルボタン９１０を押下するユーザ操作が行われると、アプリケーション７００は、スキャン設定用の画面９００から初期画面８００に画面を遷移する。
【００４２】
図１０は、スキャン／プリント設定ＤＢの構成の一例を示す図である。スキャン／プリント設定ＤＢは、画像処理装置１００のＲＯＭ５１２、ＲＡＭ５１３、ＨＤＤ５１４などの記憶装置に格納されている。
スキャン／プリント設定情報１０００は、スキャン／プリント設定ＤＢ７１１に格納されている情報の一例であり、カテゴリ１００１、設定項目１００２、設定可能値１００３の情報を含んで構成される。カテゴリ１００１は、処理に関する設定（スキャンに関する設定、或いは印刷に関する設定など）の種別を示す。設定項目１００２は、ファイル形式（データを送信可能なファイル形式、データを印刷可能なファイル形式など）、サービス変換、プレビュー表示などの項目を示す。本実施形態では、設定項目として、データを送信可能なファイル形式、データを印刷可能なファイル形式等を示しているが、その他の設定項目についても扱うことができる。これらの情報は、利用するサービスが処理可能なデータに関する情報である。設定可能値１００３は、設定項目１００２で用いられる値を示す。
【００４３】
図１１は、アプリケーション７００におけるメイン処理に係るフローチャートの一例を示す図である。図１１のフローチャートに示す各動作（ステップ）は、画像処理装置１００のＣＰＵ５１１がＨＤＤ５１４に記憶された制御プログラムを実行することにより実現される。また、メイン処理は、画像処理装置１００（仮想マシン１０５）が、画像処理装置１００のメニュー画面でのサービスを指定するユーザ操作（入力値）に応じて、起動処理部を実行することにより、開始される。
なお、以下では、サービスＡ用起動処理部７０１が実行された場合を例に挙げて説明するが、メニュー画面での入力値によっては、サービスＡ用起動処理部７０１とは異なるサービスＢ用起動処理部７０２が実行される場合もある。
【００４４】
まず、サービスＡ用起動処理部７０１は、サービス通信部を特定する特定依頼をサービス通信ルータ７０８に送信する（Ｓ１１０１）。サービス通信部の特定依頼を受信したサービス通信ルータ７０８は、サービス通信部の特定依頼を送信したサービスＡ用起動処理部７０１に対応するサービス通信部を特定する。ここでは、サービス通信ルータ７０８は、サービスＡ用起動処理部７０１に対応するサービス通信部として設けられているサービスＡ用サービス通信部７０９を特定する。
Ｓ１１０２では、サービス通信ルータ７０８は、サービスＡ用サービス通信部７０９が存在するか否かをチェックする。チェックした結果、サービス通信ルータ７０８は、サービスＡ用サービス通信部７０９が存在しないと判断した場合、Ｓ１１０３の処理を行い、他方、サービスＡ用サービス通信部７０９が存在すると判断した場合、Ｓ１１０４の処理を行う。なお、サービス通信ルータ７０８がサービス通信部の有無をチェックする方法は、適宜の方法を採用できる。例えば、サービス通信ルータ７０８は、画像処理装置１００に設けられているサービス通信部を記したファイルを参照して、サービス通信部の有無をチェックする。
【００４５】
Ｓ１１０３では、サービス通信ルータ７０８は、サービスＡ用サービス通信部７０９が存在しない旨を特定依頼に対する応答（特定依頼応答）としてサービスＡ用起動処理部７０１に返信する。特定依頼応答を受信したサービスＡ用起動処理部７０１は、指定されたサービスにアクセスできない旨のエラーメッセージを表示する表示依頼をＵＩ制御部７０３に送信し、処理を終了する。
【００４６】
Ｓ１１０４では、サービス通信ルータ７０８は、サービスＡ用サービス通信部７０９をロードして、呼び出し可能状態にする。そして、サービス通信ルータ７０８は、サービスＡとの通信の準備を完了した旨を特定依頼に対する応答（特定依頼応答）としてサービスＡ用起動処理部７０１に返信する。
Ｓ１１０５では、アプリケーション７００は、初期画面表示処理を行い、例えば初期画面８００を操作部５１９に表示する。初期画面表示処理の詳細については図１２を参照して説明する。
【００４７】
Ｓ１１０６では、印刷設定ＵＩ７０５は、操作部５１９に表示される例えば初期画面８００においてユーザ操作（ユーザ指示）を受け付ける。ユーザは、スキャンした画像データを送信したい場合には、ファイル名・フォルダ名のリスト８０１から格納先のフォルダを指定し、送信ボタン８０２を押下する。また、ユーザは、サービスＡに保管されているファイルを印刷したい場合には、ファイル名・フォルダ名のリスト８０１から印刷したいファイルを指定し、印刷ボタン８０３を押下する。
【００４８】
Ｓ１１０７では、ＵＩ制御部７０３は、Ｓ１１０６で受け付けられたユーザ操作が、スキャン指示であったか、プリント指示であったかを判断する。ＵＩ制御部７０３は、例えば初期画面８００において、押下されたボタンが送信ボタン８０２であった場合はスキャン指示と判断する。また、ＵＩ制御部７０３は、例えば初期画面８００において、押下されたボタンが印刷ボタン８０３であった場合はプリント指示と判断する。ユーザ操作がスキャン指示であったと判断された場合、Ｓ１１０８の処理が行われ、ユーザ操作がプリント指示であったと判断された場合、Ｓ１１０９の処理が行われる。
Ｓ１１０８では、アプリケーション７００は、スキャン処理を実行する。スキャン処理の詳細については図１３を参照して説明する。Ｓ１１０９では、アプリケーション７００は、プリント処理を実行する。プリント処理の詳細については図１４を参照して説明する。
【００４９】
図１２は、初期画面表示処理に係るフローチャートの一例を示す図である。図１２のフローチャートに示す各動作（ステップ）は、画像処理装置１００のＣＰＵ５１１がＨＤＤ５１４に記憶された制御プログラムを実行することにより実現される。
Ｓ１２０１では、サービスＡ用起動処理部７０１は、プリント設定情報の取得依頼をサービス通信ルータ７０８に送信する。サービス通信ルータ７０８は、受信した取得依頼をサービスＡ用サービス通信部７０９に送信する。サービスＡ用サービス通信部７０９は、受信した取得依頼に従ってスキャン／プリント設定ＤＢ７１１からプリント設定情報を取得する。そして、サービスＡ用サービス通信部７０９は、取得依頼に対する応答としてプリント設定情報をサービス通信ルータ７０８に返信する。また、サービス通信ルータ７０８は、取得依頼に対する応答としてプリント設定情報をサービスＡ用起動処理部７０１に返信する。
【００５０】
Ｓ１２０２では、サービスＡ用起動処理部７０１は、初期画面表示用データの取得依頼をサービス通信ルータ７０８に送信する。サービス通信ルータ７０８は、受信した取得依頼をサービスＡ用サービス通信部７０９に送信する。サービスＡ用サービス通信部７０９は、受信した取得依頼に従ってサービスＡと通信を行い、初期画面表示用データを取得する。そして、サービスＡ用サービス通信部７０９は、取得依頼に対する応答として初期画面表示用データをサービス通信ルータ７０８に返信する。また、サービス通信ルータ７０８は、取得依頼に対する応答として初期画面表示用データをサービスＡ用起動処理部７０１に返信する。なお、初期画面表示用データには、サービスＡで管理されているファイルの情報及びフォルダの情報が含まれている。
【００５１】
Ｓ１２０３では、初期画面表示用データとプリント設定情報とを受信したサービスＡ用起動処理部７０１は、初期画面表示用データ及びプリント設定情報と共に初期画面の表示依頼をＵＩ制御部７０３に送信する。ＵＩ制御部７０３は、表示依頼を受信すると、印刷設定ＵＩ７０５にＵＩ生成・表示を依頼し、印刷設定ＵＩ７０５は、表示依頼に含まれる初期画面表示用データを参照し、ＵＩ生成を行い、例えば初期画面８００を操作部５１９に表示し、処理を終了する。
ここで、印刷設定ＵＩ７０５は、ファイル名・フォルダ名のリスト８０１上でユーザが印刷可能なファイル形式でないファイルを指定した際、印刷ボタン８０３を押下できないように制御する。より具体的には、印刷設定ＵＩ７０５は、初期画面の表示依頼に含まれるプリント設定情報から印刷可能なファイル形式を特定する。すなわち、印刷設定ＵＩ７０５は、サービスで管理されるデータのうち印刷できるデータを印刷の対象として選択可能な画面情報を生成する。そして、印刷設定ＵＩ７０５は、ファイル名・フォルダ名のリスト８０１上で印刷可能なファイル形式でないファイルが選択された際、印刷ボタン８０３をＤｉｓａｂｌｅ状態にする制御を行う。
【００５２】
図１３は、スキャン処理に係るフローチャートの一例を示す図である。図１３のフローチャートに示す各動作（ステップ）は、画像処理装置１００のＣＰＵ５１１がＨＤＤ５１４に記憶された制御プログラムを実行することにより実現される。
Ｓ１３０１では、ＵＩ制御部７０３は、スキャン設定情報の取得依頼をサービス通信ルータ７０８に送信する。サービス通信ルータ７０８は、受信した取得依頼をサービスＡ用サービス通信部７０９に送信する。サービスＡ用サービス通信部７０９は、受信した取得依頼に従ってスキャン／プリント設定ＤＢ７１１からスキャン設定情報を取得する。そして、サービスＡ用サービス通信部７０９は、取得依頼に対する応答としてスキャン設定情報をサービス通信ルータ７０８に返信する。また、サービス通信ルータ７０８は、取得依頼に対する応答としてスキャン設定情報をＵＩ制御部７０３に返信する。
【００５３】
Ｓ１３０２では、ＵＩ制御部７０３は、スキャン設定ＵＩ７０４にＵＩ生成・表示を依頼する。スキャン設定ＵＩ７０４は、例えばスキャン設定用の画面９００を操作部５１９に表示する。その際、スキャン設定ＵＩ７０４は、スキャン設定情報を参照し、設定項目などを切り替える。例えば、設定項目「ファイル形式」が設定可能値「ＰＤＦ」と「ＴＩＦＦ」とであった場合、スキャン設定ＵＩ７０４は、ファイル形式選択設定９０１の左部のファイル形式ボタンとして表示するボタンを「ＰＤＦ」及び「ＴＩＦＦ」のみにする制御を行う。すなわち、スキャン設定ＵＩ７０４は、サービスで処理できるデータ形式の情報から、該サービスで処理できるデータ形式を選択可能な画面情報を生成する。また、例えば、スキャン／プリント設定ＤＢ７１１に示すように、設定項目「ＰＤＦ」の設定可能値として「高圧縮」、「ＯＣＲ」などが存在する場合、詳細設定９０３において高圧縮指定ボタン９０４、ＯＣＲ指定ボタン９０６を表示する制御を行う。
【００５４】
Ｓ１３０３では、スキャン開始ボタン９０９を押下するユーザ操作が行われると、スキャン設定ＵＩ７０４は、スキャン設定用の画面９００にて設定された入力値（設定値）をスキャン処理の実行要求に含め、スキャン処理制御部７０６に送信する。スキャン処理制御部７０６は、受信した実行要求に基づいて、スキャン処理を実行する。
Ｓ１３０４では、スキャン処理制御部７０６は、スキャン処理を実行した結果から得られた画像データを、スキャン設定用の画面９００を介して設定された入力値に従い、例えば、指定されたファイル形式に変換する。続いて、スキャン処理制御部７０６は、変換して得られたファイル形式のスキャンデータが含まれるスキャンデータの送信依頼をサービス通信ルータ７０８に送信し（Ｓ１３０５）、処理を終了する。サービス通信ルータ７０８は、受信した送信依頼をサービスＡ用サービス通信部７０９に送信する。サービスＡ用サービス通信部７０９は、受信した送信依頼に従ってサービスＡにスキャンデータを送信する。
【００５５】
図１４は、プリント処理に係るフローチャートの一例を示す図である。図１４のフローチャートに示す各動作（ステップ）は、画像処理装置１００のＣＰＵ５１１がＨＤＤ５１４に記憶された制御プログラムを実行することにより実現される。
Ｓ１４０１では、ＵＩ制御部７０３は、ユーザ操作により選択されたファイルのファイル名と印刷依頼とを印刷設定ＵＩ７０５に送信する。ファイル名と印刷依頼とを受信した印刷設定ＵＩ７０５は、サービス通信ルータ７０８にファイル名とこのファイル名のファイルの取得依頼とを送信する。サービス通信ルータ７０８は、ファイル名と取得依頼とをサービスＡ用サービス通信部７０９に送信する。
【００５６】
Ｓ１４０２では、サービスＡ用サービス通信部７０９は、印刷用ファイル取得部７１０を呼び出し、印刷用ファイル取得部７１０は、ユーザ操作により選択されたファイルのファイル形式の変換が必要であるか（サービスＡで変換可能であるか）否かを判断する。換言するならば、印刷用ファイル取得部７１０は、識別情報の一例であるスキャン／プリント設定情報１０００を参照し、サービスＡでのファイル形式の変換が必要であるデータを識別する。例えば、印刷用ファイル取得部７１０は、スキャン設定／プリント設定ＤＢ７１１を参照し、設定項目「サービス変換」の設定可能値「××ドキュメント」とファイル名とが適合すると判断した場合、サービスＡでの変換が必要であると判断する。印刷用ファイル取得部７１０は、変換が必要であると判断した場合、Ｓ１４０３の処理を行い、他方、変換が不要であると判断した場合、Ｓ１４０４の処理を行う。
【００５７】
Ｓ１４０３では、印刷用ファイル取得部７１０は、ユーザ操作により選択された「××ドキュメント」のファイルに対して、印刷可能なファイル形式（この例では、ＰＤＦ形式）にファイルを変換するようサービスＡに対してファイルの変換要求を送信する。なお、サービスＡは、変換要求を受信すると、ユーザ操作により選択された「××ドキュメント」のファイルをＰＤＦ形式のファイルに変換する。
Ｓ１４０４では、印刷用ファイル取得部７１０は、ファイル名のファイルそのもの、或いはＳ１４０３におけるファイル変換の結果を取得するようサービスＡに対してファイルの取得要求を送信する。取得要求を受信したサービスＡにより、指定されたファイル名のファイルデータが取得され、印刷用ファイル取得部７１０に応答として返信されるので、印刷用ファイル取得部７１０は、取得要求に対するサービスＡからの応答に含まれるファイルデータを取得する。
【００５８】
印刷用ファイル取得部７１０は、取得したファイルデータをサービスＡ用サービス通信部７０９に送信し、サービスＡ用サービス通信部７０９は、印刷依頼の応答としてファイルデータをサービス通信ルータ７０８に返信する。ファイルデータを受信したサービス通信ルータ７０８は、印刷依頼の応答としてファイルデータを印刷設定ＵＩ７０５に返信する。ファイルデータを受信した印刷設定ＵＩ７０５は、受信したファイルデータを印刷処理制御部７０７に送信する。
Ｓ１４０５では、ファイルデータを受信した印刷処理制御部７０７は、受信したファイルデータをプリント処理し、処理を終了する。
【００５９】
以上のように、本実施形態によれば、ネットワークで接続された外部サービスと連携する画像処理装置において、画像処理装置とデータを送受信する外部サービスが増加しても外部サービスに依存する処理のみの実装コードを追加することで対応可能となる。より具体的には、追加する外部サービスに応じたサービスＡ用起動処理部７０１及びサービスＡ用サービス通信部７０９の実装コードを追加することで画像処理装置が新しい外部サービスに対応可能となる。そして、外部サービスに依存する処理部は、共通利用可能な機能を実装した処理部（モジュール）を共通に利用する。この構成によれば、例えば、外部サービスの増加による実装コードの肥大化を抑えることができる。
【００６０】
また、本実施形態によれば、通信の相手先となる外部サーバが提供する外部サービス（クラウドサービス）に合わせて画像処理装置の機能を制限することができる。また、本実施形態によれば、画像処理装置を新たなクラウドサービスに対応させる場合、画像処理装置の基本的な機能に対応する実装コードを修正することなしに対応させることができるようになる。
【００６１】
＜第２の実施形態＞
第１の実施形態では、ユーザがファイル名・フォルダ名のリスト８０１から印刷したいファイルを指定して、印刷が実行される例について説明した。しかしながら、印刷の実行の際、ユーザは、これから印刷するファイルの内容を確認して、印刷すべきファイルであるか否かを確認したい場合がある。ユーザは、印刷すべきファイルであるか否かを確認することによって、間違ったファイルを印刷してしまう事態を回避することができる。
一方、ネットワークで接続されたサービスから印刷するファイルを取得して印刷するような場合、ファイルを取得しないと印刷するファイルの内容が確認できないとも考えられる。ファイルを取得する構成では、印刷するファイルのファイルサイズが大きい場合、ファイルの取得に時間を要し、ユーザの利便性がよくない。
そこで、本実施形態では、サービスに依存する処理においてファイルの内容を確認するためのプレビュー用のサムネイル（サムネイル画像）を取得して表示する構成を採用する。
【００６２】
図１５は、本実施形態のプリント処理に係るフローチャートの一例を示す図である。図１５のフローチャートに示す各動作（ステップ）は、画像処理装置１００のＣＰＵ５１１がＨＤＤ５１４に記憶された制御プログラムを実行することにより実現される。なお、図１５は、第１の実施形態における図１１のＳ１１０９における処理の一例であり、図１５におけるＳ１４０１〜Ｓ１４０５に関しては図１４と同じ処理であるので説明を省略する。
【００６３】
Ｓ１５０１では、ＵＩ制御部７０３は、印刷のプレビューを表示するか否かを確認するための確認画面を表示する。より具体的には、ＵＩ制御部７０３は、「プレビューを表示しますか？」を示すメッセージと確認ボタン（「はい」ボタン、「いいえ」ボタン）とを表示する画面を操作部５１９に表示する。換言するならば、ＵＩ制御部７０３は、印刷できるデータが選択可能な画面（初期画面８００等）においてデータが選択されているとき、選択されているデータ（印刷の対象のデータ）のプレビューを行うことを指示可能な画面の画面情報を生成する。
Ｓ１５０２では、ＵＩ制御部７０３は、確認画面において、ユーザが「はい」ボタンを押下した場合、プレビュー表示指示であると判断し、「いいえ」ボタンを押下した場合、プリント指示であると判断する。ＵＩ制御部７０３は、プレビュー表示指示であると判断した場合、Ｓ１５０３の処理を行い、他方、プリント指示であると判断した場合、Ｓ１４０１の処理を行う。
【００６４】
Ｓ１５０３では、ＵＩ制御部７０３は、ファイル名とサムネイル画像の取得依頼とをサービス通信ルータ７０８に送信する。サービス通信ルータ７０８は、ファイル名と取得依頼とをサービスＡ用サービス通信部７０９に送信する。サービスＡ用サービス通信部７０９は、ファイル名を参照し、サービスＡでサムネイル画像の取得が可能であるか否かを判断する。例えば、サービスＡ用サービス通信部７０９は、スキャン設定／プリント設定ＤＢ７１１を参照する。そして、サービスＡ用サービス通信部７０９は、設定項目「プレビュー表示」の設定可能値「××ドキュメント」とファイル名とが適合すると判断した場合、サービスＡがサムネイル画像を取得できると判断する。
このとき、サムネイル画像を取得できると判断した場合、Ｓ１５０５の処理が行われ、他方、サムネイル画像を取得できないと判断した場合、Ｓ１５０４の処理が行われる。
【００６５】
Ｓ１５０４では、サービスＡ用サービス通信部７０９は、サムネイル画像を取得できない旨を取得依頼の応答としてサービス通信ルータ７０８に返信する。サービス通信ルータ７０８は、サムネイル画像を取得できない旨を取得依頼の応答としてＵＩ制御部７０３に返信する。取得依頼の応答を受信したＵＩ制御部７０３は、サムネイル画像を取得できない旨のメッセージを操作部５１９へ表示し、ユーザ操作に応答して画面を初期画面に遷移する。
【００６６】
Ｓ１５０５では、サービスＡ用サービス通信部７０９は、ファイル名のファイルを、ＪＰＥＧ等のプレビュー表示形式のファイル（サムネイル画像）に変換する旨のファイルの変換要求をサービスＡに送信する。なお、サービスＡは、変換要求を受信すると、ユーザ操作により指定されたファイル名のファイルをプレビュー表示形式のファイルに変換する。
続いて、サービスＡ用サービス通信部７０９は、Ｓ１５０５におけるファイル変換の結果を取得する旨のファイルの取得要求をサービスＡに送信する（Ｓ１５０６）。取得要求を受信したサービスＡにより変換後のファイルデータが取得され、サービスＡ用サービス通信部７０９に応答として返信されるので、サービスＡ用サービス通信部７０９は、取得要求に対するサービスＡからの応答に含まれるファイルデータを取得する。
【００６７】
Ｓ１５０７では、サービスＡ用サービス通信部７０９は、サムネイル画像の取得依頼の応答として取得したファイルデータをサービス通信ルータ７０８に返信する。ファイルデータを受信したサービス通信ルータ７０８は、取得依頼の応答として取得したファイルデータを印刷設定ＵＩ７０５に返信する。そして、印刷設定ＵＩ７０５は、受信したファイルデータを操作部５１９に表示する。
また、ユーザ操作により、プレビューの表示が終了すると、ＵＩ制御部７０３は、初期画面を表示する。上述した構成によれば、ユーザは、プレビューよりファイルデータを確認した後、再度、印刷を指示するユーザ操作を行うことによって所望のファイルデータを印刷することができる。
【００６８】
以上のように、本実施形態によれば、外部サービスに依存する処理において出力先（記録媒体、液晶表示部）に応じて処理を切り替えることができるようになる。このように、外部サービスに依存する処理において、それぞれの外部サービスに合わせて実装を変えることで、それぞれの外部サービスに対応することができると共に、画像処理装置１００全体の実装コードの増加を抑えることも可能となる。
【００６９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７０】
上述した実施形態の構成によれば、連携するサービスの増加に伴う対応をより適切に行うことができる。
【００７１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005665423.tif 000002
【図２】
0005665423.tif 000003
【図３】
0005665423.tif 000004
【図４】
0005665423.tif 000005
【図５】
0005665423.tif 000006
【図６】
0005665423.tif 000007
【図７】
0005665423.tif 000008
【図８】
0005665423.tif 000009
【図９】
0005665423.tif 000010
【図１０】
0005665423.tif 000011
【図１１】
0005665423.tif 000012
【図１２】
0005665423.tif 000013
【図１３】
0005665423.tif 000014
【図１４】
0005665423.tif 000015
【図１５】
0005665423.tif 000016