(57)【特許請求の範囲】
【請求項１】
１台以上の情報処理装置と１台以上の入出力デバイスとを含み、電子データを用いた一連の処理を実行する情報処理システムであって、
外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段と、
前記入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを前記入出力デバイスに提供するメタデータ提供手段と、
前記メタデータ提供手段から取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成手段と、
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエスト手段と、
を有する情報処理システム。
【請求項２】
ユーザから前記メタデータの登録を受け付けるメタデータ登録処理手段と、
登録を受け付けた前記メタデータを記憶するメタデータ記憶手段と、
を更に有し、
前記メタデータ登録処理手段は、前記メタデータとして、
前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、の登録を受け付けること
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記リクエストデータ生成手段は、
前記外部ストレージサービスを提供するコンピュータシステムに前記入出力デバイスが入力した画像データをアップロードするためのリクエストデータを生成すること
を特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
前記リクエストデータ生成手段は、
前記外部ストレージサービスを提供するコンピュータシステムから前記入出力デバイスが出力する出力データをダウンロードするためのリクエストデータを生成すること
を特徴とする請求項１又は２記載の情報処理システム。
【請求項５】
前記メタデータ登録処理手段は、前記メタデータとして、
前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、の登録を、複数の前記外部ストレージサービスを提供するコンピュータシステムについて定義できること
を特徴とする請求項２記載の情報処理システム。
【請求項６】
前記入出力デバイスにコンテンツを提供するコンテンツ提供手段、
を更に有し、
前記入出力デバイスは、前記コンテンツ提供手段から提供された前記コンテンツに含まれるプログラムを実行し、前記リクエストデータ生成手段として機能すること
を特徴とする請求項１乃至５何れか一項記載の情報処理システム。
【請求項７】
前記入出力デバイスは、前記コンテンツに含まれるスクリプトを閲覧ソフトで実行することにより、前記リクエストデータ生成手段を実現すること
を特徴とする請求項６記載の情報処理システム。
【請求項８】
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理は、前記外部ストレージサービスを提供するコンピュータシステムに前記入出力デバイスが入力した画像データをアップロードする処理であること
を特徴とする請求項１又は２記載の情報処理システム。
【請求項９】
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理は、前記外部ストレージサービスを提供するコンピュータシステムから前記入出力デバイスが出力する出力データをダウンロードする処理であること
を特徴とする請求項１又は２記載の情報処理システム。
【請求項１０】
１台以上の情報処理装置と連携して電子データを用いた一連の処理を実行する入出力デバイスを、
外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを取得するメタデータ取得手段、
取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成手段、
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエスト手段、
として機能させるためのプログラム。
【請求項１１】
１台以上の情報処理装置と連携して電子データを用いた一連の処理を実行する入出力デバイスにおいて実行されるリクエスト方法であって、
外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを取得するメタデータ取得ステップと、
取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成ステップと、
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエストステップと、
を有するリクエスト方法。
【請求項１２】
１台以上の情報処理装置と１台以上の入出力デバイスとを含み、電子データを用いた一連の処理を実行する情報処理システムにおいて実行されるリクエスト方法であって、
外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを前記入出力デバイスに提供するメタデータ提供ステップと、
取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成ステップと、
前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエストステップと、
を有するリクエスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、プログラム及びリクエスト方法に関する。
【背景技術】
【０００２】
複合機のようなドキュメントの入出力デバイスと、ネットワークを介してストレージの記憶領域を貸し出す外部ストレージサービスを提供するコンピュータシステムとを連携するサービス（以下、機器連携サービスと呼ぶ）が従来から知られている。例えば機器連携サービスの一例としては、複合機のアプリケーションが複合機においてスキャンした画像データを、予め設定された外部ストレージサービスに配信する「スキャンｔｏストレージサービス」が挙げられる。
【０００３】
例えばスキャンされた画像データを、設定された送信先に送信するといった機能を実現するアプリケーションをインストール可能な画像形成装置がある。また、インターネット等のネットワーク上において、オンラインストレージやその他のクラウドサービス等、画像データを受け付けて、当該画像データに対して所定の処理を実行するサービスが提供されている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、機器連携サービスを実現するためには複合機のような入出力デバイスに搭載されるアプリケーションの開発が必要となり、難易度が高かった。また、機器連携サービスを実現するアプリケーションに新たな外部ストレージサービスを対応させる場合は、安定して動作しているアプリケーションのソースコードを改変するため、バグの混入により動作が不安定になる可能性があった。
【０００５】
本発明の一実施形態は、入出力デバイスと連携する外部ストレージサービスの設定を容易化できる情報処理システム、プログラム及びリクエスト方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、１台以上の情報処理装置と１台以上の入出力デバイスとを含み、電子データを用いた一連の処理を実行する情報処理システムであって、外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段と、前記入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを前記入出力デバイスに提供するメタデータ提供手段と、前記メタデータ提供手段から取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成手段と、前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエスト手段と、を有することを特徴とする。
また、本発明の一実施形態は、１台以上の情報処理装置と連携して電子データを用いた一連の処理を実行する入出力デバイスを、外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを取得するメタデータ取得手段、取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成手段、前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエスト手段、として機能させるためのプログラムであることを特徴とする。
また、本発明の一実施形態は、１台以上の情報処理装置と連携して電子データを用いた一連の処理を実行する入出力デバイスにおいて実行されるリクエスト方法であって、外部ストレージサービスを提供するコンピュータシステムと前記入出力デバイスとを連携させる処理を行う入出力サービス提供手段へのリクエストデータを生成するための前記入出力サービス提供手段が行う処理の識別情報と、前記識別情報により識別される処理の前記入出力サービス提供手段へのリクエストデータに必要な項目及びその項目の値の在り処と、が登録されたメタデータを取得するメタデータ取得ステップと、取得した前記メタデータをもとに、前記入出力サービス提供手段へのリクエストデータを生成するリクエストデータ生成ステップと、前記リクエストデータを利用して前記入出力サービス提供手段に前記入出力デバイスと前記外部ストレージサービスを提供するコンピュータシステムとを連携させる処理をリクエストするリクエストステップと、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば、入出力デバイスと連携する外部ストレージサービスの設定を容易化できる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態に係る情報処理システムの一例のシステム構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係るＭＦＰの一例のハードウェア構成図である。
【図４】本実施形態に係る入出力サービス装置の一例の機能構成図である。
【図５】本実施形態に係るＭＦＰの一例の機能構成図である。
【図６】本実施形態に係るメタデータ生成サービス装置の一例の機能構成図である。
【図７】登録フェーズの一例のシーケンス図である。
【図８】メタデータ生成サービス画面の一例のイメージ図である。
【図９】入出力サービス装置へのリクエストデータを生成するためのメタデータの一例の構成図である。
【図１０】利用フェーズの一例のシーケンス図である。
【図１１】ＭＦＰアプリケーションの一例の画面遷移図である。
【図１２】メタデータからリクエストデータを生成する処理の一例のフローチャートである。
【図１３】リクエストデータの一例の構成図である。
【図１４】本実施形態に係るＭＦＰの他の例の機能構成図である。
【図１５】入出力サービス装置へのリクエストデータ（ダウンロードオプション）を生成するためのメタデータの一例の構成図である。
【図１６】メタデータに含まれる項目の一例の説明図である。
【図１７】リクエストデータ（ダウンロードオプション）の一例の構成図である。
【図１８】リクエストデータに含まれる項目の一例の説明図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る情報処理システムの一例のシステム構成図である。
【００１１】
図１に示す情報処理システム１は、サービス提供環境Ｅ１と、ユーザ環境Ｅ２と、外部ストレージシステム３０とを含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１２】
サービス提供環境Ｅ１は、ネットワークＮ１を介して、外部ストレージシステム３０などと連携したクラウドサービス等の各種のサービスを提供する組織におけるシステム環境である。なお、本実施形態は、例えばＡＳＰ（Application Service Provider）によって提供されるサービスやＷｅｂサービス等、ネットワークを介して提供される各種のサービスに適用されてもよい。
【００１３】
サービス提供環境Ｅ１は、一台以上の情報処理装置で実現される。図１のサービス提供環境Ｅ１は、入出力サービス装置１０、メタデータ生成サービス装置１２及びコンテンツ提供サービス装置１４を有する。ユーザ環境Ｅ２は、入出力デバイスの一例であるＭＦＰ２０のユーザ企業などの組織におけるシステム環境である。ユーザ環境Ｅ２は、一台以上のＭＦＰ２０を有する。
【００１４】
外部ストレージシステム３０は、ネットワークＮ１を介してオンラインストレージと呼ばれる外部ストレージサービスを提供するコンピュータシステムである。外部ストレージサービスとは、ネットワークＮ１を介して、ストレージの記憶領域を貸し出すサービスである。本実施形態において外部ストレージシステム３０が貸し出す記憶領域は画像データの配信先候補となる。
【００１５】
図１の情報処理システム１ではサービス提供環境Ｅ１の入出力サービス装置１０、メタデータ生成サービス装置１２及びコンテンツ提供サービス装置１４がＬＡＮなどを介してネットワークＮ１に接続されている。ユーザ環境Ｅ２のＭＦＰ２０もＬＡＮなどを介してネットワークＮ１に接続されている。
【００１６】
入出力サービス装置１０は、１つ以上の外部ストレージシステム３０の固有機能（書誌情報を付加できるなど）の差分を吸収する機能、ＯＣＲ処理の機能、ファイル変換の機能などを有するサービス（以下、入出力サービスと呼ぶ）を提供する。入出力サービス装置１０はユーザ環境Ｅ２のＭＦＰ２０と入出力サービス装置１０のアプリケーションとを連携させることにより実現される入出力サービスを提供する。なお、入出力デバイスの一例であるＭＦＰ２０と外部ストレージシステム３０とを連携するサービス（以下、機器連携サービスという）の開発は入出力サービスを利用することで容易になる。
【００１７】
メタデータ生成サービス装置１２は、入出力サービス装置１０へのリクエストデータを生成するためのメタデータを定義できるサービスを提供する。ＭＦＰ２０に搭載する機器連携サービスのためのアプリケーション（以下、ＭＦＰアプリケーションと呼ぶ）の開発者はメタデータ生成サービス装置１２にメタデータを定義する。なお、本実施形態ではリクエストデータを生成するためのデータをメタデータと呼んでいる。
【００１８】
本実施形態においてＭＦＰアプリケーションはＭＦＰ２０が搭載しているＷｅｂブラウザで動作するＷｅｂアプリケーションである。例えばＭＦＰアプリケーションは、ＨＴＭＬ（Hypertext Markup Language）と、ＣＳＳ（Cascading Style Sheets）と、ＪａｖａＳｃｒｉｐｔ（登録商標）とで記述されている。コンテンツ提供サービス装置１４は、ＭＦＰアプリケーションをＭＦＰ２０に提供する。例えばコンテンツ提供サービス装置１４はＭＦＰアプリケーションを提供するサービスプログラムと、そのサービスプログラムが動作する情報処理装置とにより実現される。
【００１９】
例えば入出力サービス装置１０は、ＭＦＰ２０においてスキャンした画像データを外部ストレージシステム３０に配信するスキャン配信サービスを提供する。入出力サービス装置１０は、外部ストレージシステム３０から取得した印刷データをＭＦＰ２０に印刷させるダウンロード印刷サービスを提供することもできる。なお、本実施形態ではスキャン配信サービスを一例として説明する。
【００２０】
ただし、入出力サービス装置１０が提供するサービスはスキャン配信サービスやダウンロード印刷サービスに限定されない。また、情報処理システム１は図１の構成に限定されるものではなく、サービス提供環境Ｅ１の全部又は一部が、ユーザ環境Ｅ２に設置されていてもよい。すなわち、サービス提供環境Ｅ１を実現する情報処理装置の全部又は一部はユーザ環境Ｅ２に包含されていてもよい。また、ユーザ環境Ｅ２には、ＭＦＰ２０以外のスキャナ、プリンタ、ファクシミリ、電子黒板やプロジェクタ等の各種機器が含まれていてもよい。
【００２１】
また、以降の説明では、複数の外部ストレージシステム３０について、各々を区別する場合に「外部ストレージシステム３０−１」や「外部ストレージシステム３０−２」などと記載する。
【００２２】
＜ハードウェア構成＞
《コンピュータ》
入出力サービス装置１０、メタデータ生成サービス装置１２、コンテンツ提供サービス装置１４及び外部ストレージシステム３０は、例えば図２に示すハードウェア構成のコンピュータにより実現される。図２は本実施形態に係るコンピュータの一例のハードウェア構成図である。
【００２３】
図２のコンピュータ５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００２４】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００２５】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００２６】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア（以下、単にアプリケーションと呼ぶ）などがある。なお、コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２７】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００２８】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２９】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００３０】
入出力サービス装置１０、メタデータ生成サービス装置１２、コンテンツ提供サービス装置１４及び外部ストレージシステム３０は、例えば図２に示したコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。
【００３１】
《ＭＦＰ》
図１のＭＦＰ２０は、例えば図３に示すようなハードウェア構成のコンピュータにより実現される。図３は本実施形態に係るＭＦＰの一例のハードウェア構成図である。図３のＭＦＰ２０は、コントローラ６０１、操作パネル６０２、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。
【００３２】
コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００３３】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、ＭＦＰ２０全体の制御や機能を実現する。
【００３４】
操作パネル６０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ６０３は外部装置とのインタフェースである。外部装置には、記録媒体６０３ａなどがある。これにより、ＭＦＰ２０は外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３５】
通信Ｉ／Ｆ６０４は、ＭＦＰ２０をネットワークＮ１に接続させる為のインタフェースである。これにより、ＭＦＰ２０は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。プリンタ６０５は印刷データを用紙に印刷するための印刷装置である。スキャナ６０６は原稿から画像データ（電子データ）を読み取るための読取装置である。
【００３６】
＜機能構成＞
次に、本実施形態に係る情報処理システム１の機能構成について説明する。
【００３７】
《入出力サービス装置》
図４は、本実施形態に係る入出力サービス装置の一例の機能構成図である。図４では入出力サービス装置１０に加えて、ＭＦＰ２０と外部ストレージシステム３０とを図示している。ＭＦＰ２０にはブラウザ２１０が搭載されている。ＭＦＰ２０のユーザはブラウザ２１０を介して入出力サービス装置１０が提供する入出力サービスを利用できる。このように本実施形態に係るＭＦＰ２０などの機器はブラウザ２１０が搭載されている。
【００３８】
本実施形態に係る入出力サービス装置１０は、入出力サービス処理部１１０と、Ｗｅｂサービス処理部１２０と、ドキュメントサービス部１３０と、外部サービス連携部１４０とを有する。これら各部は、入出力サービス装置１０にインストールされた１つ以上のプログラムが、ＣＰＵ５０６に実行させる処理により実現される。
【００３９】
また、本実施形態に係る入出力サービス装置１０は、アプリ情報記憶部１５０を有している。アプリ情報記憶部１５０はＨＤＤ５０８により実現できる。なお、アプリ情報記憶部１５０は入出力サービス装置１０とネットワークを介して接続される記憶装置等により実現されていてもよい。
【００４０】
入出力サービス処理部１１０は、入出力サービスに関する処理を行う。ここで、入出力サービス処理部１１０はアプリ管理部１１１と、ロジック処理部１１２と、データＩ／Ｆ部１１３とを有する。
【００４１】
アプリ管理部１１１は、アプリ情報記憶部１５０に記憶されているアプリ情報１０００を管理する。アプリ情報１０００とは、入出力サービス装置１０が各種の入出力サービスを提供するためのアプリケーションである。すなわち、入出力サービス装置１０が提供する各種の入出力サービスは、アプリ情報１０００により提供される。
【００４２】
また、アプリ管理部１１１は、ロジック処理部１１２からの要求に応じて、アプリ情報１０００に含まれる処理フロー情報１１００を返信する。なお、処理フロー情報１１００には、アプリ情報１０００により提供される入出力サービスを実現する一連の処理（処理フロー）が定義されている。
【００４３】
ロジック処理部１１２は、Ｗｅｂサービス処理部１２０からの要求に応じて、アプリ管理部１１１から処理フロー情報１１００を取得する。ロジック処理部１１２は取得した処理フロー情報１１００に基づき、入出力サービスを実現する処理フローを実行する。これにより本実施形態に係る情報処理システム１では、入出力サービス装置１０により各種の入出力サービスが提供される。
【００４４】
データＩ／Ｆ部１１３はＷｅｂサービス処理部１２０からの要求に応じて外部サービス連携部１４０のデータ処理部１４２に各種の要求を行う。例えば、データＩ／Ｆ部１１３は外部サービス連携部１４０のデータ処理部１４２にフォルダ一覧の取得要求を行う。
【００４５】
また、Ｗｅｂサービス処理部１２０は、ブラウザ２１０からの要求に応じて、入出力サービス処理部１１０に各種の要求を行う。例えば、Ｗｅｂサービス処理部１２０は、ブラウザ２１０からの要求に応じて、スキャン配信サービスの処理実行要求を入出力サービス処理部１１０のロジック処理部１１２に行う。
【００４６】
ドキュメントサービス部１３０は、処理フロー情報１１００に基づく一連の処理（処理フロー）に含まれる処理を実行するためのプログラム（モジュール）群である。ドキュメントサービス部１３０には、電子ファイルのデータ形式をＰＤＦ形式に変換するＰＤＦ変換部１３１が一例として含まれている。
【００４７】
なお、ドキュメントサービス部１３０には、例えば電子ファイルをＭＦＰ２０で印刷可能なデータ形式（印刷データ）に変換する印刷変換部、電子ファイルを圧縮又は解凍する圧縮／解凍処理部等の各種のプログラムが含まれていてもよい。
【００４８】
外部サービス連携部１４０は、ロジック処理部１１２やデータＩ／Ｆ部１１３からの要求に応じて、外部ストレージシステム３０に各種の要求を行う。本実施形態に係る入出力サービス装置１０は、外部ストレージシステム３０毎に、当該外部ストレージシステム３０に対応する外部サービス連携部１４０を有する。
【００４９】
ここで、外部サービス連携部１４０は、ロジック処理部１１２からの要求を受信するファイル処理部１４１と、データＩ／Ｆ部１１３からの要求を受信するデータ処理部１４２とを有する。
【００５０】
ファイル処理部１４１は、外部ストレージシステム３０に保存されている電子ファイルに対する操作を行うためのＡＰＩ（Application Programming Interface）が定義された共通Ｉ／Ｆ１４１１及び固有Ｉ／Ｆ１４１２を有する。電子ファイルに対する操作は例えば取得、保存、編集等である。
【００５１】
共通Ｉ／Ｆ１４１１は複数の外部ストレージシステム３０間で共通に利用できるＡＰＩである。すなわち、ファイル処理部１４１の共通Ｉ／Ｆ１４１１は全ての外部ストレージシステム３０が利用できるファイル操作に関する機能（例えば、電子ファイルの取得、保存等）を利用するためのＡＰＩ群である。
【００５２】
一方、固有Ｉ／Ｆ１４１２は、特定の外部ストレージシステム３０において利用できるＡＰＩである。すなわち、ファイル処理部１４１の固有Ｉ／Ｆ１４１２は特定の外部ストレージシステム３０において利用できるファイル操作に関する機能（例えば、電子ファイルの編集等）を利用するためのＡＰＩ群である。
【００５３】
したがって、共通Ｉ／Ｆ１４１１は、全ての外部サービス連携部１４０に対して同様に定義される。一方で、固有Ｉ／Ｆ１４１２は、当該固有Ｉ／Ｆ１４１２で定義されるＡＰＩが利用可能な特定の外部ストレージシステム３０に対応する外部サービス連携部１４０に対して定義される。
【００５４】
また、データ処理部１４２は外部ストレージシステム３０に保存されている電子ファイルの書誌情報等のメタデータ（例えば、ファイル一覧やフォルダ一覧等）を取得等するためのＡＰＩが定義された共通Ｉ／Ｆ１４２１及び固有Ｉ／Ｆ１４２２を有する。
【００５５】
共通Ｉ／Ｆ１４２１は、複数の外部ストレージシステム３０間で共通に利用できるＡＰＩである。すなわち、データ処理部１４２の共通Ｉ／Ｆ１４２１は全ての外部ストレージシステム３０で利用できるメタデータ取得等の機能（例えば、ファイル一覧やフォルダ一覧の取得等）を利用するためのＡＰＩ群である。
【００５６】
一方、固有Ｉ／Ｆ１４２２は、特定の外部ストレージシステム３０において利用できるＡＰＩである。すなわち、データ処理部１４２の固有Ｉ／Ｆ１４２２は、特定の外部ストレージシステム３０において利用できるメタデータ取得等の機能（例えば、画像ファイル一覧の取得等）を利用するためのＡＰＩ群である。
【００５７】
したがって、共通Ｉ／Ｆ１４２１は、全ての外部サービス連携部１４０に対して同様に定義される。一方で、固有Ｉ／Ｆ１４２２は、当該固有Ｉ／Ｆ１４２２で定義されるＡＰＩが利用可能な特定の外部ストレージシステム３０に対応する外部サービス連携部１４０に対して定義される。
【００５８】
なお、入出力サービス装置１０の連携先となる外部ストレージシステム３０を追加や削除（以降、追加等と表す。）する場合には、外部ストレージシステム３０に対応する外部サービス連携部１４０を追加等すればよい。
【００５９】
本実施形態に係る入出力サービス装置１０は、連携先となる外部ストレージシステム３０の追加等に伴う影響を局所化できる。換言すれば、本実施形態に係る入出力サービス装置１０は、他の機能構成（例えば、入出力サービス処理部１１０やＷｅｂサービス処理部１２０等）に影響を与えることなく、連携先となる外部ストレージシステム３０の追加等を行うことができる。なお、外部サービス連携部１４０の追加等は、ＳＤＫ（Software Development Kit）を用いて行うことができる。
【００６０】
アプリ情報記憶部１５０は、アプリＩＤなどと関連付けてアプリ情報１０００を記憶している。アプリ情報１０００には、１以上の処理フロー情報１１００が含まれる。処理フロー情報１１００は、上述したように、アプリ情報１０００により提供されるサービスを実現する一連の処理（処理フロー）が定義された情報である。
【００６１】
《ＭＦＰ》
図５は本実施形態に係るＭＦＰの一例の機能構成図である。なお、図５のＭＦＰ２０の機能構成図は本実施形態の説明に不要な機能を省略している。図５のＭＦＰ２０は、操作受付部２２０、画面描画部２２２、スキャン実行部２２４、アップロード要求部２２６を有する。また、ＭＦＰ２０はアプリケーション取得部２２８、アプリケーション実行部２３０、メタデータ取得部２３２、配信先リスト取得部２３４、リクエストデータ生成部２３６及び設定反映部２３８を有する。
【００６２】
例えば図５に示した各部はＭＦＰ２０に搭載されたブラウザ２１０においてＭＦＰアプリケーションが実行される処理により実現される。なお、メタデータ取得部２３２、配信先リスト取得部２３４、リクエストデータ生成部２３６及び設定反映部２３８は、例えばＭＦＰアプリケーションに含まれるスクリプトにより実現される。
【００６３】
操作受付部２２０は利用者から配信先フォルダの選択、スキャン条件の変更、ジョブの実行などの操作を受け付ける。画面描画部２２２は操作パネル６０２にアプリケーション画面を描画する。また、スキャン実行部２２４は、スキャナ６０６にスキャンの実行を要求し、スキャナ６０６にスキャンを実行させる。アップロード要求部２２６はスキャンした画像データ（スキャン結果）の外部ストレージシステム３０へのアップロードを入出力サービス装置１０に要求する。
【００６４】
アプリケーション取得部２２８はＭＦＰアプリケーションをコンテンツ提供サービス装置１４から取得する。コンテンツ提供サービス装置１４は例えばＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔで記述されたＭＦＰアプリケーションをＭＦＰ２０に提供する。アプリケーション実行部２３０はＭＦＰアプリケーションを実行する。
【００６５】
メタデータ取得部２３２は入出力サービス装置１０へのリクエストデータを生成するためのメタデータをメタデータ生成サービス装置１２から取得する。また、配信先リスト取得部２３４は外部ストレージシステム３０の配信先フォルダ候補を表示するため、外部ストレージシステム３０からフォルダリストを取得する。
【００６６】
リクエストデータ生成部２３６は取得したメタデータをもとに、入出力サービス装置１０へのリクエストデータ（アップロードオプション）を生成する。なお、メタデータをもとにリクエストデータを生成する処理についての詳細は後述する。設定反映部２３８は利用者が選択した配信先フォルダやスキャン条件を設定に反映させる。
【００６７】
《メタデータ生成サービス装置》
図６は本実施形態に係るメタデータ生成サービス装置の一例の機能構成図である。図６のメタデータ生成サービス装置１２は、メタデータ登録処理部２４０及びメタデータ提供部２４２を有する。これら各部は、メタデータ生成サービス装置１２にインストールされた１つ以上のプログラムが、ＣＰＵ５０６に実行させる処理により実現される。
【００６８】
また、本実施形態に係るメタデータ生成サービス装置１２は、メタデータ記憶部２４４を有している。メタデータ記憶部２４４はＨＤＤ５０８により実現できる。メタデータ記憶部２４４はメタデータ生成サービス装置１２とネットワークを介して接続される記憶装置等により実現されていてもよい。
【００６９】
メタデータ登録処理部２４０はＭＦＰアプリケーションの開発者から入出力サービス装置１０へのリクエストデータのメタデータの登録を受け付け、メタデータ記憶部２４４に登録する。また、メタデータ提供部２４２はＭＦＰ２０からメタデータ取得の要求を受け付け、ＭＦＰ２０にメタデータを提供する。
【００７０】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００７１】
《登録フェーズ》
図７は登録フェーズの一例のシーケンス図である。なお、図７のシーケンス図ではＭＦＰアプリケーションの開発者が入出力サービス装置１０又はメタデータ生成サービス装置１２を直接操作しているように記載しているが、これに限定されない。例えば開発者は入出力サービス装置１０又はメタデータ生成サービス装置１２にネットワーク経由で接続された端末装置などから操作できる。
【００７２】
ステップＳ１１において、開発者は開発者ＩＤを指定して入出力サービス装置１０にスキャン配信サービスの処理フローの登録を要求する。入出力サービス装置１０はステップＳ１２において、スキャン配信サービスの処理フローを処理フロー情報１１００として登録する。そして、ステップＳ１３において、入出力サービス装置１０は入出力サービス装置１０へのアクセス認証キーを開発者に発行する。
【００７３】
ステップＳ１４に進み、開発者は開発者ＩＤを指定してメタデータの生成をメタデータ生成サービス装置１２に要求する。例えば開発者は図８のメタデータ生成サービス画面からメタデータの生成を要求する。図８はメタデータ生成サービス画面の一例のイメージ図である。
【００７４】
図８においてメタデータ生成サービス画面はタグにより外部ストレージシステム３０毎に設けられたメタデータ登録領域を切り替えて表示できる。なお、タグ「＋」は新しく外部ストレージシステム３０を追加するときに利用するものである。タグ「＋」を押下することにより開発者は、新しく追加したい外部ストレージシステム３０のメタデータ登録領域に表示を切り替えられる。開発者は切り替え表示されたメタデータ登録領域から、新しく追加したい外部ストレージシステム３０のメタデータを容易に登録できる。
【００７５】
図８のメタデータ登録領域は、入出力サービス装置１０へのリクエストＵＲＬとリクエストボディのメタデータとを登録する例を示している。リクエストＵＲＬは処理フローの識別情報である。リクエストＵＲＬは処理フローの識別が可能であれば、ＩＤ、文字列や記号などに置き換えてもよい。
【００７６】
また、図８の「ｐａｒａｍＫｅｙ」はリクエストボディのキーである。「ｒｅｓｏｕｒｃｅＴｙｐｅ」は値「ｂａｓｅＡｐｐＭｏｄｅｌ」を使用するのか、値「ａｐｐＳｅｔｔｉｎｇ」を使用するのか、を設定するものである。「ｂａｓｅＡｐｐＭｏｄｅｌ」はＭＦＰアプリケーション内部に保存された値を示す。また、「ａｐｐＳｅｔｔｉｎｇ」はＭＦＰアプリケーションとは別のＷｅｂサービスから取得した値を示す。また、「ｒｅｓｏｕｒｃｅ」は「ｒｅｓｏｕｒｃｅＴｙｐｅ」で指定した値の在り処（キー）を設定するものである。最終的に、メタデータは図９に示すようなＪＳＯＮ形式で出力される。
【００７７】
図９は入出力サービス装置へのリクエストデータを生成するためのメタデータの一例の構成図である。図９のメタデータ３０００は図８から登録されたリクエストＵＲＬが「ｆｌｏｗＵｒｌ」３０１０として登録され、リクエストボディのメタデータが「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０として登録されている。このように、開発者は図８のメタデータ生成サービス画面から容易にメタデータの登録を行うことができる。
【００７８】
図７に戻り、メタデータ生成サービス装置１２はステップＳ１５において、図８のメタデータ生成サービス画面から生成を要求されたメタデータをメタデータ記憶部２４４に登録する。ステップＳ１６に進み、メタデータ生成サービス装置１２はステップＳ１５で登録したメタデータ３０００を開発者に返す。
【００７９】
なお、本実施形態に係る情報処理システム１はステップＳ１６の後、ステップＳ１５で登録したメタデータ３０００を、ＭＦＰアプリケーションが使用できるか検証する機能を設けてもよい。ＭＦＰアプリケーションは後述するように、ＪＳＯＮ形式のメタデータ３０００を解析することで、入出力サービス装置１０へのリクエストデータ（アップロードオプション）を生成できる。
【００８０】
《利用フェーズ》
図１０は利用フェーズの一例のシーケンス図である。図１０のシーケンス図は利用者がスキャン配信サービスを利用する処理を一例として示している。ステップＳ２１において利用者はＭＦＰ２０を操作し、ＭＦＰアプリケーションの画面表示を要求する。
【００８１】
ステップＳ２２に進み、ＭＦＰ２０のアプリケーション取得部２２８は利用者に指定されたＭＦＰアプリケーションのＨＴＭＬデータを取得する。ステップＳ２３に進み、アプリケーション取得部２２８は利用者に指定されたＭＦＰアプリケーションのＣＳＳデータ及びＪａｖａＳｃｒｉｐｔデータを取得する。
【００８２】
ＭＦＰ２０は取得したＭＦＰアプリケーションのＣＳＳデータ及びＪａｖａＳｃｒｉｐｔデータを実行することで、メタデータ取得部２３２、配信先リスト取得部２３４、リクエストデータ生成部２３６及び設定反映部２３８を利用できるようになる。
【００８３】
ステップＳ２４に進み、ＭＦＰ２０のメタデータ取得部２３２はメタデータＩＤなどのメタデータを一意に識別できる識別情報を指定してメタデータ生成サービス装置１２からメタデータを取得する。なお、ＭＦＰ２０はメタデータを入出力サービス装置１０経由で取得してもよい。
【００８４】
ステップＳ２５に進み、アプリケーション実行部２３０は画面描画部２２２にＭＦＰアプリケーションの画面生成を行わせる。また、ステップＳ２６に進み、配信先リスト取得部２３４はルートフォルダＩＤを指定して外部ストレージシステム３０からフォルダリストの取得を要求する。なお、ステップＳ２７において、ＭＦＰ２０の画面描画部２２２はＭＦＰアプリケーションの画面生成が終了すると、ＭＦＰアプリケーションの画面を表示する。
【００８５】
ステップＳ２８において、ＭＦＰ２０は外部ストレージシステム３０からフォルダリストを取得する。ＭＦＰ２０の画面描画部２２２は図１１に示すようなフォルダ選択画面に外部ストレージシステム３０から取得したフォルダリストを表示する。
【００８６】
図１１はＭＦＰアプリケーションの一例の画面遷移図である。図１１のフォルダ選択画面には設定変更ボタンが設けられている。設定変更ボタンが押下されると、ＭＦＰ２０はフォルダ選択画面からジョブ設定画面に遷移する。ジョブ設定画面は利用者にジョブ設定を確認させる画面である。また、ＭＦＰ２０はジョブ設定画面からジョブ設定が選択されるとジョブ設定選択画面を表示する。ジョブ設定選択画面は利用者からジョブ設定の変更を受け付ける画面である。
【００８７】
また、フォルダ選択画面、ジョブ設定画面及びジョブ設定選択画面にはスタートボタンが設けられている。スタートボタンが押下されると、ＭＦＰ２０はジョブ実行画面を表示してジョブを開始する。
【００８８】
図１０のステップＳ２９に戻り、利用者はフォルダ選択画面から配信先フォルダの選択を受け付ける。ステップＳ３０に進み、ＭＦＰ２０の画面描画部２２２は利用者に選択された配信先フォルダを選択状態にする。なお、配信先フォルダは、予め設定しておいてもよい。ステップＳ３１に進み、ＭＦＰ２０はフォルダ選択画面において、利用者に選択された配信先フォルダの表示を選択状態に変化させる。
【００８９】
ステップＳ３２に進み、利用者はスタートボタンを押下してＭＦＰ２０にスキャンの開始を要求する。ＭＦＰ２０のスキャン実行部２２４はスキャナ６０６にスキャンを実行させる。また、ステップＳ３３に進み、ＭＦＰ２０のリクエストデータ生成部２３６はメタデータをもとに、例えば図１２に示す手順により入出力サービス装置１０へのリクエストデータ（アップロードオプション）を生成する。
【００９０】
図１２は、メタデータからリクエストデータを生成する処理の一例のフローチャートである。ステップＳ５０において、リクエストデータ生成部２３６はステップＳ２４でメタデータ生成サービス装置１２から取得したメタデータを入力される。また、ステップＳ５１においてリクエストデータ生成部２３６は利用者に選択された配信先フォルダの外部ストレージシステム３０の名前「ｓｅｒｖｉｃｅ」を入力される。
【００９１】
ステップＳ５２においてリクエストデータ生成部２３６はメタデータの「ｔｈｉｒｄＰａｒｔｙＳｔｏｒａｇｅ」が「ｓｅｒｖｉｃｅ」であるメタデータを探索する。例えば利用者に選択された配信先フォルダの外部ストレージシステム３０の名前が「ｂｂｂ」である場合、リクエストデータ生成部２３６は図９のようなメタデータを探索できる。
【００９２】
ステップＳ５３に進み、リクエストデータ生成部２３６はステップＳ５２で探索したメタデータに「ｆｌｏｗＵｒｌ」３０１０が正しく定義されているか判定する。正しく定義されていると判定すると、リクエストデータ生成部２３６はリクエストデータの「ｆｌｏｗＵｒｌ」にステップＳ５２で探索したメタデータの「ｆｌｏｗＵｒｌ」３０１０を設定する。
【００９３】
ステップＳ５５に進み、リクエストデータ生成部２３６はステップＳ５２で探索したメタデータに「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０が正しく定義されているか判定する。
【００９４】
正しく定義されていると判定すると、リクエストデータ生成部２３６はステップＳ５６において「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０を解析する。ステップＳ５７に進み、リクエストデータ生成部２３６は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の「ｐａｒａｍＫｅｙ」の値を読み出し、リクエストデータの「ｆｌｏｗＰａｒａｍｓ」のキーとして設定する。
【００９５】
例えば図９のメタデータの場合、リクエストデータ生成部２３６は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の「ｐａｒａｍＫｅｙ」の値であるｔｅｎａｎｔＩｄ、ｕｐｌｏａｄＦｏｌｄｅｒＩｄ、ｆｉｌｅＮａｍｅ及びｏｃｒを読み出す。
【００９６】
そして、リクエストデータ生成部２３６は読み出したｔｅｎａｎｔＩｄ、ｕｐｌｏａｄＦｏｌｄｅｒＩｄ、ｆｉｌｅＮａｍｅ及びｏｃｒを、リクエストデータの「ｆｌｏｗＰａｒａｍｓ」のキーとして設定する。
【００９７】
ステップＳ５８に進み、リクエストデータ生成部２３６は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の「ｒｅｓｏｕｒｃｅＴｙｐｅ」の値が「ｂａｓｅＡｐｐＭｏｄｅｌ」であるか判定する。
【００９８】
「ｂａｓｅＡｐｐＭｏｄｅｌ」であればステップＳ５９に進み、リクエストデータ生成部２３６は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の「ｒｅｓｏｕｒｃｅ」に設定されている値の在り処（キー）を取得する。そして、リクエストデータ生成部２３６は取得したキーの値をブラウザ２１０のキャッシュから取得する。
【００９９】
ステップＳ６０に進み、リクエストデータ生成部２３６はステップＳ５９で取得した値をリクエストデータの「ｆｌｏｗＰａｒａｍｓ」のキーの値として設定する。ステップＳ５６〜Ｓ６０の処理は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の解析が終了するまで繰り返される。また、ステップＳ５２〜Ｓ６０の処理はメタデータの「ｔｈｉｒｄＰａｒｔｙＳｔｏｒａｇｅ」が「ｓｅｒｖｉｃｅ」であるメタデータの探索が終了するまで繰り返される。
【０１００】
「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０の解析と「ｔｈｉｒｄＰａｒｔｙＳｔｏｒａｇｅ」が「ｓｅｒｖｉｃｅ」であるメタデータの探索とが終了すると、リクエストデータ生成部２３６は図１３に示すリクエストデータを出力できる。図１３のリクエストデータには「ｆｌｏｗＵｒｌ」と「ｆｌｏｗＰａｒａｍｓ」とが設定されている。図１３はリクエストデータの一例の構成図である。
【０１０１】
なお、図１２のフローチャートのステップＳ５２において、リクエストデータ生成部２３６はメタデータを探索できなかった場合、ステップＳ６４に進み、利用者にエラーを通知する。これは、利用者に選択された配信先フォルダの外部ストレージシステム３０のメタデータが正しく定義されていなかったためである。
【０１０２】
ステップＳ５３において、リクエストデータ生成部２３６は「ｆｌｏｗＵｒｌ」３０１０が正しく定義されていなかった場合にも、ステップＳ６４に進み、利用者にエラーを通知する。ステップＳ５５において、リクエストデータ生成部２３６は「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」３０２０が正しく定義されていなかった場合にも、ステップＳ６４に進み、利用者にエラーを通知する。ステップＳ５８において、リクエストデータ生成部２３６は「ｂａｓｅＡｐｐＭｏｄｅｌ」でなかった場合にもステップＳ６４に進み、利用者にエラーを通知する。
【０１０３】
図１０のステップＳ３４に戻り、ＭＦＰ２０のアップロード要求部２２６はスキャナ６０６がスキャンした画像データ（スキャン結果）のアップロードを入出力サービス装置１０に要求する。なお、ステップＳ３４の要求は、ステップＳ３３で作成された例えば図１３に示したリクエストデータ（アップロードオプション）が利用される。
【０１０４】
ステップＳ３５に進み、入出力サービス装置１０はＭＦＰ２０からのリクエストデータに基づき、スキャン結果である画像データ（スキャン画像）を外部ストレージシステム３０に保存する。外部ストレージシステム３０へのスキャン画像の保存が完了すると、入出力サービス装置１０はＭＦＰ２０にアップロード完了を通知する。なお、ステップＳ３４のスキャン結果のアップロードの要求は非同期処理であってもよい。
【０１０５】
＜まとめ＞
本実施形態によれば、ＭＦＰアプリケーションとは別のメタデータ生成サービス装置１２で定義されたメタデータをもとに、ＭＦＰアプリケーションが入出力サービスへのリクエストデータを生成できる。
【０１０６】
したがって、複数の外部ストレージシステム３０へ配信を行える機器連携サービスであるＭＦＰアプリケーションの開発において、外部ストレージシステム３０の追加や切替を行うための設定を容易化できる。
【０１０７】
［第二の実施形態］
第一の実施形態はスキャン配信サービスを提供するＭＦＰアプリケーションを一例として説明した。第二の実施形態のＭＦＰアプリケーションはダウンロード印刷サービスを提供するものである。なお、第二の実施形態は、一部を除いて第一の実施形態と同様であるため、同一部分についての説明を適宜省略する。
【０１０８】
図１４は本実施形態に係るＭＦＰの他の例の機能構成図である。図１４のＭＦＰ２０は図５のＭＦＰ２０のスキャン実行部２２４及びアップロード要求部２２６が、印刷実行部２５０及びダウンロード要求部２５２に置き換えられたものである。印刷実行部２５０はプリンタ６０５に印刷データを印刷させる。ダウンロード要求部２５２は外部ストレージシステム３０からの印刷データのダウンロードを入出力サービス装置１０に要求する。
【０１０９】
図１５は入出力サービス装置へのリクエストデータ（ダウンロードオプション）を生成するためのメタデータの一例の構成図である。例えば図１５に示すメタデータ４０００はリクエストＵＲＬが「ｆｌｏｗＵｒｌ」４０１０として登録され、リクエストボディのメタデータが「ｆｌｏｗＰａｒａｍＭａｐｐｉｎｇｓ」４０２０として登録されている。図１５のメタデータ４０００には例えば図１６に示すような項目が含まれている。
【０１１０】
図１７はリクエストデータ（ダウンロードオプション）の一例の構成図である。図１７のリクエストデータには例えば図１８に示すような項目が含まれている。ＭＦＰ２０のリクエストデータ生成部２３６は図１５のメタデータをもとに、例えば図１２に示す手順により図１７に示すリクエストデータ（ダウンロードオプション）を生成する。
【０１１１】
＜まとめ＞
本実施形態によれば、ＭＦＰアプリケーションとは別のメタデータ生成サービス装置１２で定義されたメタデータをもとに、ＭＦＰアプリケーションが入出力サービスへのリクエストデータを生成できる。
【０１１２】
したがって、複数の外部ストレージシステム３０から印刷データのダウンロードを行える機器連携サービスであるＭＦＰアプリケーションの開発において、外部ストレージシステム３０の追加や切替を行うための設定を容易化できる。
【０１１３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば入出力サービス装置１０は特許請求の範囲に記載した入出力サービス提供手段の一例である。メタデータ提供部２４２はメタデータ提供手段の一例である。リクエストデータ生成部２３６はリクエストデータ生成手段の一例である。アプリケーション実行部２３０はリクエスト手段の一例である。メタデータ登録処理部２４０はメタデータ登録処理手段の一例である。
【０１１４】
メタデータ記憶部２４４はメタデータ記憶手段の一例である。ブラウザ２１０は閲覧ソフトの一例である。ＭＦＰ２０は入出力デバイスの一例である。メタデータ取得部２３２はメタデータ取得手段の一例である。画像データ及び印刷データは、電子データの一例である。
【符号の説明】
【０１１５】
１    情報処理システム
１０    入出力サービス装置
１２    メタデータ生成サービス装置
１４    コンテンツ提供サービス装置
２０      ＭＦＰ（機器）
３０      外部ストレージシステム
１１０    入出力サービス処理部
１１１    アプリ管理部
１１２    ロジック処理部
１１３    データＩ／Ｆ部
１２０    Ｗｅｂサービス処理部
１３０    ドキュメントサービス部
１３１    ＰＤＦ変換部
１４０    外部サービス連携部
１４１    ファイル処理部
１４２    データ処理部
１５０    アプリ情報記憶部
２１０    ブラウザ
２２０    操作受付部
２２２    画面描画部
２２４    スキャン実行部
２２６    アップロード要求部
２２８    アプリケーション取得部
２３０    アプリケーション実行部
２３２    メタデータ取得部
２３４    配信先リスト取得部
２３６    リクエストデータ生成部
２３８    設定反映部
２４０    メタデータ登録処理部
２４２    メタデータ提供部
２４４    メタデータ記憶部
２５０    印刷実行部
２５２    ダウンロード要求部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
６０１    コントローラ
６０２    操作パネル
６０３    外部Ｉ／Ｆ
６０３ａ    記録媒体
６０４    通信Ｉ／Ｆ
６０５    プリンタ
６０６    スキャナ
６１１    ＣＰＵ
６１２    ＲＡＭ
６１３    ＲＯＭ
６１４    ＮＶＲＡＭ
６１５    ＨＤＤ
１０００    アプリ情報
１１００    処理フロー情報
１４１１    共通Ｉ／Ｆ
１４１２    固有Ｉ／Ｆ
１４２１    共通Ｉ／Ｆ
１４２２    固有Ｉ／Ｆ
３０００、４０００    メタデータ
Ｅ１    サービス提供環境
Ｅ２    ユーザ環境
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【０１１６】
【特許文献１】特開２０１４−１３０５７０号公報
【図１】
0006658110.tif 000002
【図２】
0006658110.tif 000003
【図３】
0006658110.tif 000004
【図４】
0006658110.tif 000005
【図５】
0006658110.tif 000006
【図６】
0006658110.tif 000007
【図７】
0006658110.tif 000008
【図８】
0006658110.tif 000009
【図９】
0006658110.tif 000010
【図１０】
0006658110.tif 000011
【図１１】
0006658110.tif 000012
【図１２】
0006658110.tif 000013
【図１３】
0006658110.tif 000014
【図１４】
0006658110.tif 000015
【図１５】
0006658110.tif 000016
【図１６】
0006658110.tif 000017
【図１７】
0006658110.tif 000018
【図１８】
0006658110.tif 000019