(57)【要約】【課題】アプリケーションの開発を支援する。【解決手段】所定の処理を実行するプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリ毎に、プログラム識別情報と実行順とが定義されたフロー情報を、パラメータ設定情報とフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリを記憶するアプリ記憶手段と、利用画面情報を前記アプリ識別情報と関連付けて記憶する利用画面記憶手段と、機器から前記アプリ識別情報を受信する第１の受信手段と、前記利用画面情報と前記アプリ設定情報とを前記機器に送信する第１の送信手段と、前記パラメータと、電子データに関する情報と、前記フロー識別情報と受信する第２の受信手段と、前記フロー情報を取得する取得手段と、１以上の前記プログラムそれぞれを、前記実行順に従って、前記パラメータを用いて実行させることで、前記一連の処理を実行する実行手段とを有する。【選択図】図４
2018014079.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、１以上の前記プログラムそれぞれの実行に用いられるパラメータを設定するためのパラメータ設定情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、
前記アプリケーションを利用するための利用画面の雛形が定義された利用画面情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する利用画面記憶手段と、
前記情報処理システムに接続される１以上の電子機器のうちの第１の電子機器から、前記アプリ識別情報を含む第１の要求を受信する第１の受信手段と、
前記第１の受信手段により受信された前記第１の要求に含まれる前記アプリ識別情報に関連付けて前記利用画面記憶手段に記憶されている前記利用画面情報と、前記アプリ識別情報により識別される前記アプリケーションに関連付けて前記アプリ記憶手段に記憶されている前記アプリ設定情報とを、要求元の前記第１の電子機器に送信する第１の送信手段と、
前記第１の送信手段により送信された前記利用画面情報と、前記アプリ設定情報に定義された前記パラメータ設定情報とに基づき前記第１の電子機器に表示された前記利用画面において設定された前記パラメータと、前記利用画面において指定された電子データに関する情報と、前記パラメータ設定情報に定義されている前記フロー識別情報とを含む第２の要求を受信する第２の受信手段と、
前記第２の受信手段により受信した前記第２の要求に含まれる前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記第２の要求に含まれる前記パラメータを用いて実行させることで、前記第１の受信手段により受信した前記第２の要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、
を有する情報処理システム。
【請求項２】
前記情報処理システムに接続される１以上の電子機器のうちの第２の電子機器において作成された前記アプリ設定情報を含む第３の要求を受信する第３の受信手段と、
前記第３の受信手段により受信した前記第３の要求に含まれる前記アプリ設定情報を、該アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報に関連付けた前記アプリケーションを前記アプリ記憶手段に記憶させるアプリ登録手段と、
を有する、請求項１に記載の情報処理システム。
【請求項３】
前記第２の電子機器が前記アプリ設定情報を作成するための作成画面の作成画面情報を記憶する作成画面記憶手段と、
前記第２の電子機器からの要求に応じて、前記作成画面記憶手段に記憶されている前記作成画面情報を、要求元の前記第２の電子機器に送信する第２の送信手段と、
前記第３の受信手段は、
前記第２の送信手段により送信された前記作成画面情報に基づき前記第２の電子機器に表示された前記作成画面においてユーザにより作成された前記パラメータ設定情報と、前記フロー識別情報とが定義された前記アプリ識別情報を含む前記第３の要求を受信する、請求項２に記載の情報処理システム。
【請求項４】
パラメータ設定情報は、
前記第１の電子機器に表示された前記利用画面においてユーザにより値が設定される前記パラメータが定義された情報である、請求項１乃至３の何れか一項に記載の情報処理システム。
【請求項５】
前記パラメータ設定情報は、
前記パラメータの値が定義された情報である、請求項１乃至４の何れか一項に記載の情報処理システム。
【請求項６】
前記アプリ設定情報は、
更に、前記第１の電子機器に表示される前記利用画面の表示情報が定義されている、請求項１乃至５の何れか一項に記載の情報処理システム。
【請求項７】
前記実行順は、前記フロー情報において前記プログラム識別情報が定義されている順である、請求項１乃至６の何れか１項に記載の情報処理システム。
【請求項８】
前記実行手段は、
電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を１以上有し、
前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムを実行させることで、前記電子データを用いた一連の処理を実行する、請求項１乃至７の何れか一項に記載の情報処理システム。
【請求項９】
所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、１以上の前記プログラムそれぞれの実行に用いられるパラメータを設定するためのパラメータ設定情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、
前記アプリケーションを利用するための利用画面の雛形が定義された利用画面情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する利用画面記憶手段と、
前記情報処理装置に接続される１以上の電子機器のうちの第１の電子機器から、前記アプリ識別情報を含む第１の要求を受信する第１の受信手段と、
前記第１の受信手段により受信された前記第１の要求に含まれる前記アプリ識別情報に関連付けて前記利用画面記憶手段に記憶されている前記利用画面情報と、前記アプリ識別情報により識別される前記アプリケーションに関連付けて前記アプリ記憶手段に記憶されている前記アプリ設定情報とを、要求元の前記第１の電子機器に送信する第１の送信手段と、
前記第１の送信手段により送信された前記利用画面情報と、前記アプリ設定情報に定義された前記パラメータ設定情報とに基づき前記第１の電子機器に表示された前記利用画面において設定された前記パラメータと、前記利用画面において指定された電子データに関する情報と、前記パラメータ設定情報に定義されている前記フロー識別情報とを含む第２の要求を受信する第２の受信手段と、
前記第２の受信手段により受信した前記第２の要求に含まれる前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記第２の要求に含まれる前記パラメータを用いて実行させることで、前記第１の受信手段により受信した前記第２の要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、
を有する情報処理装置。
【請求項１０】
１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、１以上の前記プログラムそれぞれの実行に用いられるパラメータを設定するためのパラメータ設定情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、前記アプリケーションを利用するための利用画面の雛形が定義された利用画面情報を、前記アプリケーションを識別するアプリ識別情報と関連付けて記憶する利用画面記憶手段とを有する情報処理システムに用いられる情報処理方法であって、
前記情報処理システムに接続される１以上の電子機器のうちの第１の電子機器から、前記アプリ識別情報を含む第１の要求を受信する第１の受信手順と、
前記第１の受信手順により受信された前記第１の要求に含まれる前記アプリ識別情報に関連付けて前記利用画面記憶手段に記憶されている前記利用画面情報と、前記アプリ識別情報により識別される前記アプリケーションに関連付けて前記アプリ記憶手段に記憶されている前記アプリ設定情報とを、要求元の前記第１の電子機器に送信する第１の送信手順と、
前記第１の送信手順により送信された前記利用画面情報と、前記アプリ設定情報に定義された前記パラメータ設定情報とに基づき前記第１の電子機器に表示された前記利用画面において設定された前記パラメータと、前記利用画面において指定された電子データに関する情報と、前記パラメータ設定情報に定義されている前記フロー識別情報とを含む第２の要求を受信する第２の受信手順と、
前記第２の受信手順により受信した前記第２の要求に含まれる前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手順と、
前記取得手順により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記第２の要求に含まれる前記パラメータを用いて実行させることで、前記第１の受信手順により受信した前記第２の要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手順と、
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、複数の機能（例えば、スキャンやプリント、メール配信等）を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル（画像ファイル）に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する１以上の処理が一連の処理として実行されることにより実現される。
【０００３】
また、１以上の処理を一連の処理として表した処理情報等が含まれる指示書に基づいて、当該一連の処理を実行する画像形成装置が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、ユーザがサービスを利用するためには、例えば、一連の処理を実行させるためのアプリケーションの開発が必要であった。一方で、アプリケーションの開発には、例えば、プログラミング言語等に関する専門的な知識や経験を必要とする場合があった。
【０００５】
本発明の一実施形態は、上記の点に鑑みてなされたもので、アプリケーションの開発を支援することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の一実施形態は、１以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する１以上の前記プログラムを識別するプログラム識別情報と、１以上の前記プログラムの実行順とが定義されたフロー情報を、１以上の前記プログラムそれぞれの実行に用いられるパラメータを設定するためのパラメータ設定情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、前記アプリケーションを利用するための利用画面の雛形が定義された利用画面情報を、前記アプリ識別情報と関連付けて記憶する利用画面記憶手段と、前記情報処理システムに接続される１以上の電子機器のうちの第１の電子機器から、前記アプリ識別情報を含む第１の要求を受信する第１の受信手段と、前記第１の受信手段により受信された前記第１の要求に含まれる前記アプリ識別情報に関連付けて前記利用画面記憶手段に記憶されている前記利用画面情報と、前記アプリ識別情報により識別される前記アプリケーションに関連付けて前記アプリ記憶手段に記憶されている前記アプリ設定情報とを、要求元の前記第１の電子機器に送信する第１の送信手段と、前記第１の送信手段により送信された前記利用画面情報と、前記アプリ設定情報に定義された前記パラメータ設定情報とに基づき前記第１の電子機器に表示された前記利用画面において設定された前記パラメータと、前記利用画面において指定された電子データに関する情報と、前記パラメータ設定情報に定義されている前記フロー識別情報とを含む第２の要求を受信する第２の受信手段と、前記第２の受信手段により受信した前記第２の要求に含まれる前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される１以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記第２の要求に含まれる前記パラメータを用いて実行させることで、前記第１の受信手段により受信した前記第２の要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有する。
【発明の効果】
【０００７】
本発明の一実施形態によれば、アプリケーションの開発を支援することができる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】第一の実施形態に係るサービス提供システム及びＰＣ端末の一例のハードウェア構成を示す図である。
【図３】第一の実施形態に係る機器の一例のハードウェア構成を示す図である。
【図４】第一の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図５】第一の実施形態に係るロジック処理部の一例の機能構成を示す図である。
【図６】型変換情報テーブルの一例を示す図である。
【図７】第一の実施形態に係る処理フロー情報の一例を示す図である。
【図８】第一の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図９】ポータルトップ画面の一例を示す図である。
【図１０】第一の実施形態に係るアプリケーション登録画面（１／５）の一例を示す図である。
【図１１】第一の実施形態に係るアプリケーション登録画面（２／５）の一例を示す図である。
【図１２】第一の実施形態に係るアプリケーション登録画面（３／５）の一例を示す図である。
【図１３】第一の実施形態に係るアプリケーション登録画面（４／５）の一例を示す図である。
【図１４】第一の実施形態に係るアプリケーション登録画面（５／５）の一例を示す図である。
【図１５】第一の実施形態に係るアプリ設定情報の一例を示す図である。
【図１６】スキャン翻訳サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【図１７】スキャン翻訳アプリケーションのアプリ画面の一例を示す図である。
【図１８】スキャン翻訳サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【図１９】第二の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図２０】第二の実施形態に係るアプリケーション登録画面（１／３）の一例を示す図である。
【図２１】第二の実施形態に係るアプリケーション登録画面（２／３）の一例を示す図である。
【図２２】第二の実施形態に係るアプリケーション登録画面（３／３）の一例を示す図である。
【図２３】第二の実施形態に係るアプリ設定情報の一例を示す図である。
【図２４】ＱＲコード印刷サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【図２５】ＱＲコード印刷アプリケーションのアプリ画面の一例を示す図である。
【図２６】ＱＲコード印刷サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【図２７】第二の実施形態に係る処理フロー情報の一例を示す図である。
【図２８】第三の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図２９】メール情報テーブルの一例を示す図である。
【図３０】第三の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図３１】第三の実施形態に係るアプリケーション登録画面（１／２）の一例を示す図である。
【図３２】第三の実施形態に係るアプリケーション登録画面（２／２）の一例を示す図である。
【図３３】第三の実施形態に係るアプリ設定情報の一例を示す図である。
【図３４】メール受信により処理フローを実行する処理の一例を示すシーケンス図である。
【図３５】第四の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図３６】コンポーネント毎にパラメータグループを登録する処理の一例を示すシーケンス図である。
【図３７】コンポーネント登録・更新画面の一例を示す図である。
【図３８】パラメータグループの登録画面の一例を示す図である。
【図３９】パラメータグループの登録画面の他の例（その１）を示す図である。
【図４０】パラメータグループの登録画面の他の例（その２）を示す図である。
【図４１】コンポーネント毎に登録されたパラメータグループ情報の一例を示す図である。
【図４２】処理フロー毎にパラメータグループを登録する処理の一例を示すシーケンス図である。
【図４３】処理フロー毎に登録されたパラメータグループ情報の一例を示す図である。
【図４４】第四の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図４５】第四の実施形態に係るアプリケーション登録画面の一例を示す図である。
【図４６】第四の実施形態に係るアプリケーション登録画面の他の例を示す図である。
【図４７】第五の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図４８】第五の実施形態に係るアプリケーション登録画面（１／２）の一例を示す図である。
【図４９】第五の実施形態に係るアプリケーション登録画面（２／２）の一例を示す図である。
【図５０】正規表現により表されたバリデーション情報の一例を示す図である。
【図５１】バリデーション関数を読み込むバリデーション情報の一例を示す図である。
【図５２】バリデーションが設定されたアプリケーションにより提供されるサービスを利用する場合の全体処理の一例を示すシーケンス図である。
【図５３】第五の実施形態に係るアプリ設定情報の一例を示す図である。
【図５４】バリデーション結果が表示されるアプリ画面の一例を示す図である。
【図５５】バリデーション情報の登録処理の一例を示すシーケンス図である。
【図５６】バリデーション登録画面の一例を示す図である。
【図５７】バリデーション情報の登録処理の他の例を示すシーケンス図である。
【図５８】バリデーション利用画面の一例を示す図である。
【図５９】第六の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図６０】第六の実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
【図６１】アプリケーション登録画面の一例を示す図である。
【図６２】フォルダブラウズが指定された場合のパラメータのデータ構造の一例を示す図である。
【図６３】ストレージサービスコンポーネントのコンポーネント情報の一例を説明する図である。
【図６４】処理フローテンプレートの一例を示す図である。
【図６５】ストレージサービスコンポーネントのコンポーネント情報の他の例を説明する図である。
【図６６】処理フローテンプレートの他の例を示す図である。
【図６７】フォルダブラウズにより指定されたフォルダＩＤを利用するサービスの全体処理の一例を示すシーケンス図である。
【図６８】アクション情報の一例を示す図である。
【図６９】第六の実施形態に係るアプリ画面の一例を示す図である。
【図７０】フォルダブラウズ画面の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１０】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１１】
図１に示す情報処理システム１は、サービス提供システム１０と、機器２０と、ＰＣ端末３０とを含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１２】
サービス提供システム１０は、一台以上の情報処理装置で実現され、ネットワークＮ１を介して、種々の機能をそれぞれ実現する複数の処理のうちの１以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。
【００１３】
ここで、機能とは、文書ファイルや画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、ＯＣＲ（Optical character recognition）処理、加工や圧縮・解凍、リポジトリへの格納等が挙げられる。
【００１４】
本実施形態に係るサービス提供システム１０が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
【００１５】
機器２０は、ユーザが使用する各種の電子機器である。すなわち、機器２０は、例えば、ＭＦＰ（Multifunction Peripheral）等の画像形成装置、ＰＣ（パーソナルコンピュータ）、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器２０を用いて、サービス提供システム１０が提供する各種のサービスを利用することができる。
【００１６】
なお、以降では、複数の機器２０について、各々を区別するときは、「機器２０１」、「機器２０２」等と添え字を用いて記載する。
【００１７】
ＰＣ端末３０は、例えば、ユーザが使用するデスクトップＰＣ、ノート型ＰＣ、スマートフォン、タブレット端末等である。ユーザは、ＰＣ端末３０を用いて、サービス提供システム１０が提供する各種のサービスを利用することができる。
【００１８】
なお、以降では、複数のＰＣ端末３０について、各々を区別するときは、「ＰＣ端末３０１」、「ＰＣ端末３０２」等と添え字を用いて記載する。
【００１９】
また、図１に示す情報処理システム１の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム１には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム１０により提供される各種サービスを利用しても良い。
【００２０】
＜ハードウェア構成＞
次に、本実施形態に係る情報処理システム１に含まれるサービス提供システム１０及びＰＣ端末３０のハードウェア構成について、図２を参照しながら説明する。図２は、本実施形態に係るサービス提供システム１０及びＰＣ端末３０の一例のハードウェア構成を示す図である。なお、サービス提供システム１０及びＰＣ端末３０は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム１０のハードウェア構成について説明する。
【００２１】
図２に示すサービス提供システム１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４とを有する。また、サービス提供システム１０は、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、ＨＤＤ（Hard Disk Drive）１８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００２２】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、サービス提供システム１０による処理結果を表示する。なお、入力装置１１及び表示装置１２の少なくとも一方は、必要なときにサービス提供システム１０に接続して利用する形態であっても良い。
【００２３】
通信Ｉ／Ｆ１７は、サービス提供システム１０をネットワークＮ１に接続するインタフェースである。これにより、サービス提供システム１０は、通信Ｉ／Ｆ１７を介して通信を行うことができる。
【００２４】
ＨＤＤ１８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１８に格納されるプログラムやデータには、サービス提供システム１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２５】
なお、サービス提供システム１０は、ＨＤＤ１８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであっても良い。また、ＨＤＤ１８は、格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２６】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、サービス提供システム１０は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取りや書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２７】
ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、サービス提供システム１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【００２８】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、サービス提供システム１０全体の制御や機能を実現する演算装置である。
【００２９】
本実施形態に係るサービス提供システム１０及びＰＣ端末３０は、図２に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３０】
次に、本実施形態に係る情報処理システム１に含まれる機器２０が画像形成装置である場合のハードウェア構成について、図３を参照しながら説明する。図３は、本実施形態に係る機器２０の一例のハードウェア構成を示す図である。
【００３１】
図３に示す機器２０は、コントローラ２１と、操作パネル２２と、外部Ｉ／Ｆ２３と、通信Ｉ／Ｆ２４と、プリンタ２５と、スキャナ２６とを有する。また、コントローラ２１は、ＣＰＵ３１と、ＲＡＭ３２と、ＲＯＭ３３と、ＮＶＲＡＭ３４と、ＨＤＤ３５とを有する。
【００３２】
ＲＯＭ３３は、各種プログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ３２は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ３４は、例えば設定情報等を格納している。また、ＨＤＤ３５は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００３３】
ＣＰＵ３１は、ＲＯＭ３３やＮＶＲＡＭ３４、ＨＤＤ３５等からプログラムやデータ、設定情報等をＲＡＭ３２上に読み出し、処理を実行することで、機器２０全体の制御や機能を実現する演算装置である。
【００３４】
操作パネル２２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。これにより、機器２０は、外部Ｉ／Ｆ２３を介して記録媒体２３ａの読み取り及び／又は書き込みを行うことができる。なお、記録媒体２３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３５】
通信Ｉ／Ｆ２４は、機器２０をネットワークに接続するインタフェースである。これにより、機器２０は、通信Ｉ／Ｆ２４を介して通信を行うことができる。プリンタ２５は、印刷データを印刷する印刷装置である。スキャナ２６は、原稿を読み取って電子ファイル（画像ファイル）を生成する読取装置である。
【００３６】
本実施形態に係る機器２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３７】
＜サービス提供システムが提供するサービス＞
ここで、本実施形態に係るサービス提供システム１０が提供するサービスについて説明する。なお、以降では、機器２０が画像形成装置であるものとして説明する。
【００３８】
本実施形態では、機器２０において原稿をスキャンすることにより生成された電子ファイル（画像ファイル）にＯＣＲ処理を行った上で、所定の言語に翻訳して、メール配信するサービスを「スキャン翻訳サービス」と表す。そして、本実施形態では、サービス提供システム１０がスキャン翻訳サービスを提供する場合について説明する。
【００３９】
ここで、サービス提供システム１０がスキャン翻訳サービスを提供するには、機器２０がスキャン翻訳サービスを利用するためのアプリケーション（後述するアプリ情報１０００）をサービス提供システム１０に登録する必要がある。
【００４０】
したがって、本実施形態では、スキャン翻訳サービスを利用するためのアプリケーションをＰＣ端末３０が登録する場合と、当該アプリケーションを用いてスキャン翻訳サービスを機器２０が利用する場合とについて説明する。
【００４１】
ただし、サービス提供システム１０により提供されるサービスは、これらに限られない。サービス提供システム１０は、例えば、機器２０において原稿をスキャンすることにより生成された電子ファイルを暗号化した上で、メール配信するサービスを提供するサービスを提供しても良い。
【００４２】
同様に、サービス提供システム１０は、例えば、機器２０において原稿をスキャンすることにより生成された電子ファイルに所定の情報を付加した上で、ＦＡＸ送信するサービスを提供しても良い。
【００４３】
＜機能構成＞
次に、本実施形態に係る情報処理システム１の機能構成について、図４を参照しながら説明する。図４は、本実施形態に係る情報処理システムの一例の機能構成を示す図である。
【００４４】
図４に示すＰＣ端末３０は、例えばＣＰＵ１６等により実行されるブラウザ３１０を有する。ＰＣ端末３０のユーザは、ブラウザ３１０を用いて、「スキャン翻訳サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム１０に登録することができる。
【００４５】
図４に示す機器２０は、例えばＣＰＵ３１等により実行されるブラウザ２１０を有する。機器２０のユーザは、ブラウザ２１０を用いて、「スキャン翻訳サービス」等の各種サービスを利用することができる。すなわち、機器２０は、ブラウザ２１０を有していれば良く、例えば、サービス提供システム１０が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
【００４６】
図４に示すサービス提供システム１０は、入出力サービス処理部１１０と、Ｗｅｂサービス処理部１２０と、ドキュメントサービス部１３０と、ポータルサービス部１４０とを有する。これら各機能部は、サービス提供システム１０にインストールされた１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【００４７】
また、サービス提供システム１０は、アプリ情報記憶部１５０と、アプリ画面情報記憶部１６０と、ポータル画面情報記憶部１７０とを有する。これら各記憶部は、ＨＤＤ１８を用いて実現可能である。なお、これら各記憶部のうちの少なくとも１つの記憶部が、サービス提供システム１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００４８】
入出力サービス処理部１１０は、サービス提供システム１０が提供するサービスに関する処理を行う。ここで、入出力サービス処理部１１０は、アプリ管理部１１１と、ロジック処理部１１２とを有する。
【００４９】
アプリ管理部１１１は、アプリ情報記憶部１５０に記憶されているアプリ情報１０００を管理する。なお、アプリ情報１０００とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、サービス提供システム１０が提供する各種サービスは、アプリ情報１０００により提供される。
【００５０】
また、アプリ管理部１１１は、ロジック処理部１１２からの要求に応じて、アプリ情報１０００に含まれる処理フロー情報１１００を返信する。なお、処理フロー情報１１００とは、アプリ情報１０００により提供されるサービスを実現する一連の処理が定義された情報である。
【００５１】
更に、アプリ管理部１１１は、ポータルサービス部１４０からの要求に応じて、アプリ情報１０００をアプリ情報記憶部１５０に記憶させる。これにより、サービスを提供するアプリ情報１０００（アプリケーション）がサービス提供システム１０に登録される。
【００５２】
ロジック処理部１１２は、Ｗｅｂサービス処理部１２０からの要求に応じて、アプリ情報１０００に含まれる処理フロー情報１１００をアプリ管理部１１１から取得する。そして、ロジック処理部１１２は、アプリ管理部１１１から取得した処理フロー情報１１００に基づいて、当該アプリ情報１０００が提供するサービスを実現する一連の処理（処理フロー）を実行する。これにより、本実施形態に係るサービス提供システムは、「スキャン翻訳サービス」等の各種サービスを提供することができる。なお、ロジック処理部１１２の詳細については後述する。
【００５３】
Ｗｅｂサービス処理部１２０は、ユーザが機器２０のブラウザ２１０を用いて各種サービスを利用するための処理を行う。すなわち、Ｗｅｂサービス処理部１２０は、ブラウザ２１０に対してＷｅｂアプリケーション（アプリ情報１０００）を提供するアプリケーションサーバとして機能する。ここで、Ｗｅｂサービス処理部１２０は、画面構成部１２１と、アプリ実行部１２２とを有する。
【００５４】
画面構成部１２１は、ブラウザ２１０からの要求に応じて、アプリ画面情報記憶部１６０に記憶されているアプリ画面情報２０００と、アプリ情報記憶部１５０に記憶されているアプリ情報１０００に含まれるアプリ設定情報１２００とを返信する。
【００５５】
なお、アプリ画面情報２０００とは、アプリ情報１０００により提供されるサービスを利用するための画面（アプリ画面）の雛形が定義された情報である。アプリ画面情報２０００は、例えば、ＨＴＭＬ（HyperText Markup Language）、ＸＨＴＭＬ（Extensible HyperText Markup Language）、ＣＳＳ（Cascading Style Sheets）、ＪａｖａＳｃｒｉｐｔ（登録商標）等でアプリ画面の雛形が定義された情報である。
【００５６】
また、アプリ設定情報１２００は、アプリケーション（アプリ情報１０００）の各種設定が定義された情報である。例えば、アプリ設定情報１２００には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報やデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報１２００には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目やアプリ画面における表示情報（例えば、アプリケーション名）等が定義されている。アプリ設定情報１２００は、例えば、ＪＳＯＮ（JavaScript Object Notation）等でアプリケーションの各種設定が定義された情報である。
【００５７】
これにより、機器２０には、ブラウザ２１０により、サービス提供システム１０が提供するサービスを利用するためのアプリ画面が表示される。
【００５８】
アプリ実行部１２２は、ブラウザ２１０からの要求に応じて、入出力サービス処理部１１０に対して、アプリケーション（アプリ情報１０００）の実行要求を送信する。
【００５９】
ドキュメントサービス部１３０は、処理フロー情報１１００に基づく一連の処理（処理フロー）に含まれる所定の処理を実行する。ここで、ドキュメントサービス部１３０は、ＯＣＲ処理部１３１と、メール配信部１３２とを有する。
【００６０】
ＯＣＲ処理部１３１は、電子ファイルに対してＯＣＲ処理を行う。メール配信部１３２は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。
【００６１】
なお、ドキュメントサービス部１３０には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていても良い。
【００６２】
ポータルサービス部１４０は、ユーザがＰＣ端末３０のブラウザ３１０を用いてアプリケーションの登録等を行うための処理を行う。ここで、ポータルサービス部１４０は、ＵＩ提供部１４１と、アプリ登録部１４２とを有する。
【００６３】
ＵＩ提供部１４１は、ブラウザ３１０からの要求に応じて、ポータル画面情報記憶部１７０に記憶されているポータル画面情報３０００を返信する。ここで、ポータルとは、ブラウザ３１０を用いて、アプリケーションの登録等を行うことができるＷｅｂサイトである。
【００６４】
なお、ポータル画面情報３０００とは、ポータルのトップ画面（ポータルトップ画面）やアプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報３０００は、例えば、ＨＴＭＬ、ＸＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ等のブラウザ２１０で各種画面が定義された情報である。
【００６５】
これにより、ＰＣ端末３０には、ブラウザ３１０により、ポータルトップ画面やアプリケーション登録画面が表示される。したがって、ＰＣ端末３０のユーザは、アプリケーション登録画面において、アプリケーション（アプリ情報１０００）の登録操作を行うことができる。
【００６６】
アプリ登録部１４２は、ＵＩ提供部１４１からの要求に応じて、アプリケーション（アプリ情報１０００）の登録をアプリ管理部１１１に要求する。すなわち、アプリ登録部１４２は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部１１１に要求する。
【００６７】
アプリ情報記憶部１５０は、アプリ情報１０００を記憶する。アプリ情報１０００は、当該アプリ情報１０００を識別するアプリＩＤと関連付けてアプリ情報記憶部１５０に記憶されている。なお、アプリＩＤは、例えば、アプリ情報１０００のＵＲＬ（Uniform Resource Locator）、又はアプリ情報１０００のＵＲＬに含まれる識別情報等である。
【００６８】
ここで、アプリ情報１０００には、処理フロー情報１１００と、アプリ設定情報１２００とが含まれる。例えば、スキャン翻訳サービスを提供するアプリ情報１０００には、当該サービスを実現する一連の処理が定義された処理フロー情報１１００と、当該アプリ情報１０００の各種設定が定義されたアプリ設定情報１２００とが含まれる。以降では、スキャン翻訳サービスを提供するアプリ情報１０００を「スキャン翻訳アプリケーション」とも表す。
【００６９】
なお、アプリ情報１０００には、２以上の処理フロー情報１１００と、２以上のアプリ設定情報１２００とが含まれていても良い。
【００７０】
処理フロー情報１１００は、上述したように、アプリ情報１０００により提供されるサービスを実現する一連の処理（処理フロー）が定義された情報である。なお、処理フロー情報１１００の詳細については後述する。
【００７１】
また、アプリ設定情報１２００は、上述したように、アプリケーション（アプリ情報１０００）の各種設定が定義された情報である。なお、アプリ設定情報１２００の詳細については後述する。
【００７２】
アプリ画面情報記憶部１６０は、アプリ画面情報２０００を記憶する。アプリ画面情報２０００は、アプリＩＤと関連付けてアプリ画面情報記憶部１６０に記憶されている。
【００７３】
ポータル画面情報記憶部１７０は、ポータル画面情報３０００を記憶する。ポータル画面情報３０００は、ポータルトップ画面やアプリケーション登録画面等のＵＲＬと関連付けてポータル画面情報記憶部１７０に記憶されている。
【００７４】
なお、入出力サービス処理部１１０、Ｗｅｂサービス処理部１２０、ドキュメントサービス部１３０、及びポータルサービス部１４０等は、それぞれが異なる情報処理装置により実現されていても良い。
【００７５】
ここで、ロジック処理部１１２の詳細な機能構成について、図５を参照しながら説明する。図５は、本実施形態に係るロジック処理部１１２の一例の機能構成を示す図である。
【００７６】
図５に示すロジック処理部１１２は、フロー実行部３０１と、コンポーネント管理部３０２と、コンポーネント群３０３と、型変換管理部３０４と、型変換群３０５とを有する。また、ロジック処理部１１２は、型変換情報テーブル４０００を有する。
【００７７】
フロー実行部３０１は、アプリ実行部１２２からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報１１００をアプリ管理部１１１から取得する。そして、フロー実行部３０１は、アプリ管理部１１１から取得した処理フロー情報１１００に基づく一連の処理（処理フロー）を実行する。
【００７８】
ここで、処理フロー情報１１００に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
【００７９】
コンポーネント管理部３０２は、コンポーネントを管理する。コンポーネント管理部３０２は、フロー実行部３０１からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部３０１に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ（例えばＲＡＭ１４）上に展開することである。
【００８０】
コンポーネント群３０３は、コンポーネントの集合である。コンポーネント群３０３には、ＯＣＲコンポーネント１３１０と、翻訳コンポーネント１３２０と、メール配信コンポーネント１３３０と、コードコンポーネント１３４０と、スタンプコンポーネント１３５０とが含まれる。
【００８１】
ＯＣＲコンポーネント１３１０は、電子ファイル（画像ファイル）をＯＣＲ処理するためのコンポーネントである。ＯＣＲコンポーネント１３１０は、ドキュメントサービス部１３０のＯＣＲ処理部１３１にＯＣＲ処理を要求することにより、電子ファイルのＯＣＲ処理を行う。
【００８２】
翻訳コンポーネント１３２０は、テキストファイル等の電子ファイルにおいて、所定の言語で記載されている文書を他の言語に翻訳するためのコンポーネントである。メール配信コンポーネント１３３０は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。メール配信コンポーネント１３３０は、ドキュメントサービス部１３０のメール配信部１３２もメール配信処理を要求することにより、指定されたメールアドレス宛にメールを配信する。
【００８３】
コードコンポーネント１３４０は、パラメータとして指定された情報（例えば文字列）が埋め込まれたＱＲコード（登録商標）を作成するためのコンポーネントである。なお、コードコンポーネント１３４０は、ＱＲコードに限られず、例えば、バーコード等の種々のコードを作成しても良い。
【００８４】
スタンプコンポーネント１３５０は、例えば画像ファイルやＰＤＦ（Portable Document Format）ファイル等の電子ファイルに対して、例えばＱＲコード等のコードを重畳させるためのコンポーネントである。
【００８５】
このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群３０３には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化や復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。
【００８６】
また、コンポーネント群３０３に含まれる各コンポーネントは、コンポーネント共通Ｉ／Ｆ１３００を有する。コンポーネント共通Ｉ／Ｆ１３００は、各コンポーネントに対して共通に定義されたＡＰＩ（Application Programming Interface）であり、コンポーネントを生成するためのＡＰＩと、コンポーネントの処理を実行するためのＡＰＩとが含まれる。
【００８７】
このように、各コンポーネントがコンポーネント共通Ｉ／Ｆ１３００を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部３０１やコンポーネント管理部３０２等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、所定の機能の追加等（すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等）に伴う開発工数を削減することができる。
【００８８】
型変換管理部３０４は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部３０４は、コンポーネントからの要求に応じて、例えば図６に示す型変換情報テーブル４０００を参照して、型変換群３０５に含まれる型変換を生成する。
【００８９】
そして、型変換管理部３０４は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ（例えばＲＡＭ１４上）に展開することである。
【００９０】
なお、データ型には、例えば、ストリームデータを示すデータ型「ＩｎｐｕｔＳｔｒｅａｍ」、記憶装置等に格納されている電子ファイルのパス（アドレス）を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」、及び電子ファイルの実体を示す「Ｆｉｌｅ」等が挙げられる。
【００９１】
ここで、型変換情報テーブル４０００について、図６を参照しながら説明する。図６は、型変換情報テーブル４０００の一例を示す図である。
【００９２】
図６に示す型変換情報テーブル４０００は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル４０００に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
【００９３】
型変換群３０５は、型変換の集合である。型変換群３０５には、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための第１の型変換１４１０が含まれる。なお、型変換群３０５には、これ以外にも、例えば、データ型「ＬｏｃａｌＦｉｌｅＰａｔｈ」を「Ｆｉｌｅ」に変換するための第２の型変換等が含まれる。
【００９４】
また、型変換群３０５に含まれる各型変換は、型変換共通Ｉ／Ｆ１４００を有する。型変換共通Ｉ／Ｆ１４００は、各型変換に対して共通に定義されたＡＰＩであり、型変換を生成するためのＡＰＩと、型変換の型変換処理を実行するためのＡＰＩとが含まれる。
【００９５】
このように、各型変換が型変換共通Ｉ／Ｆ１４００を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部３０４等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、型変換の追加等に伴う開発工数を削減することができる。
【００９６】
ここで、スキャン翻訳サービスを提供するアプリ情報１０００に含まれる処理フロー情報１１００について、図７を参照しながら説明する。図７は、本実施形態に係る処理フロー情報１１００の一例を示す図である。
【００９７】
図７に示す処理フロー情報１１００は、スキャン翻訳サービスを実現する一連の処理（処理フロー）が定義された情報である。
【００９８】
図７に示す処理フロー情報１１００には、処理フロー情報１１００を識別するフロー名１１０１と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細１１０２とが含まれる。
【００９９】
フロー詳細１１０２には、処理フローに含まれる各処理をそれぞれ定義した詳細処理定義１１１０と、詳細処理定義１１２０と、詳細処理定義１１３０とが含まれる。詳細処理定義１１１０〜詳細処理定義１１３０には、詳細処理定義を識別する詳細処理名を示す「"ｄｅｔａｉｌＮａｍｅ"」と、処理を実行するためのコンポーネントのコンポーネント名を示す「"ｃｏｍｐｏｎｅｎｔ"」と、当該コンポーネントに対するパラメータ情報が定義される「"ｐａｒａｍｅｔｅｒｓ"」とが含まれる。
【０１００】
具体的には、詳細処理定義１１１０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉｌ０"」が定義されている。また、詳細処理定義１１１０の「"ｃｏｍｐｏｎｅｎｔ"」には、ＯＣＲコンポーネント１３１０のコンポーネント名「"ｏｃｒ"」が定義されている。更に、詳細処理定義１１１０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報等が定義されている。
【０１０１】
パラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報は、ＯＣＲ処理の言語（例えば、「"Ｊａｐａｎｅｓｅ"」や「"Ｅｎｇｌｉｓｈ"」等）をパラメータ値として設定するパラメータ情報である。
【０１０２】
同様に、詳細処理定義１１２０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉｌ１"」が定義されている。また、詳細処理定義１１２０の「"ｃｏｍｐｏｎｅｎｔ"」には、翻訳コンポーネント１３２０のコンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」が定義されている。更に、詳細処理定義１１１０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ｆｒｏｍ"」のパラメータ情報、及びパラメータ名「"ｔｏ"」のパラメータ情報等が定義されている。
【０１０３】
パラメータ名「"ｆｒｏｍ"」のパラメータ情報は、翻訳元の言語（例えば、「"Ｅｎｇｌｉｓｈ"」）をパラメータ値として設定するパラメータ情報である。また、パラメータ名「"ｔｏ"」のパラメータ情報は、翻訳先の言語（例えば、「"Ｊａｐａｎｅｓｅ"」）をパラメータ値として設定するパラメータ情報である。
【０１０４】
また、同様に、詳細処理定義１１３０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉ２１"」が定義されている。また、詳細処理定義１１３０の「"ｃｏｍｐｏｎｅｎｔ"」には、メール配信コンポーネント１３３０のコンポーネント名「"ｍａｉｌ"」が定義されている。更に、詳細処理定義１１３０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ情報等が定義されている。
【０１０５】
パラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ情報は、メール送信先のメールアドレスをパラメータ値として設定するパラメータ情報である。
【０１０６】
なお、各詳細処理定義に定義された処理の実行順は、フロー詳細１１０２において、上から順に定義される。すなわち、図７に示す処理フロー情報１１００に基づく一連の処理（処理フロー）では、詳細処理定義１１１０に定義された処理、詳細処理定義１１２０に定義された処理、詳細処理定義１１３０に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報１１００には、例えば、各詳細処理定義に定義された処理の実行順を示す情報が定義されていても良い。
【０１０７】
また、図７に示す例では、各パラメータ情報のパラメータ値は設定されていないが、これに限られず、デフォルトとなるパラメータ値が設定されていても良い。
【０１０８】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、ＰＣ端末３０のユーザが、スキャン翻訳アプリケーションをサービス提供システム１０に登録する処理について、図８を参照しながら説明する。図８は、アプリケーションの登録処理の一例を示すシーケンス図である。
【０１０９】
まず、ＰＣ端末３０のブラウザ３１０は、ポータルトップ画面を表示させるための操作（ポータルトップ画面の表示操作）を受け付ける（ステップＳ８０１）。なお、ＰＣ端末３０のユーザは、例えば、ポータルトップ画面のＵＲＬをブラウザ３１０のアドレスバーに入力することで、ポータルトップ画面の表示操作を行うことができる。
【０１１０】
ＰＣ端末３０のブラウザ３１０は、ポータルトップ画面の表示操作を受け付けると、ポータルトップ画面の表示要求を、ポータルサービス部４０のＵＩ提供部１４１に送信する（ステップＳ８０２）。
【０１１１】
ポータルサービス部１４０のＵＩ提供部１４１は、ポータルトップ画面の取得要求を受信すると、ポータルトップ画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ８０３）。そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０１１２】
ＰＣ端末３０のブラウザ３１０は、ポータルトップ画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図９に示すポータルトップ画面Ｇ１００を表示する（ステップＳ８０４）。
【０１１３】
図９に示すポータルトップ画面Ｇ１００は、ポータルのトップ画面であり、アプリケーションの登録を行うための「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０が含まれる。以降では、ユーザが、図９に示すポータルトップ画面Ｇ１００において、「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０を選択する操作（アプリ登録の選択操作）を行ったものとする。
【０１１４】
なお、図９に示すポータルトップ画面Ｇ１００には、処理フロー情報１１００の作成等を行うための「Ｆｌｏｗ」ボタンＧ１２０、コンポーネントの登録等を行うための「Ｃｏｍｐｏｎｅｎｔ」ボタンＧ１３０等も含まれる。このように、ポータルトップ画面Ｇ１００では、アプリケーションの登録以外にも、処理フローの作成・実行、コンポーネントの登録・更新等を行うことができる。
【０１１５】
ＰＣ端末３０のブラウザ３１０は、ユーザにより行われたアプリ登録の選択操作を受け付ける（ステップＳ８０５）。
【０１１６】
ＰＣ端末３０のブラウザ３１０は、アプリ登録の選択操作を受け付けると、アプリケーション登録画面の表示要求を、ポータルサービス部４０のＵＩ提供部１４１に送信する（ステップＳ８０６）。
【０１１７】
ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ８０７）。そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０１１８】
ＰＣ端末３０のブラウザ３１０は、アプリケーション登録画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図１０に示すアプリケーション登録画面Ｇ２００を表示する（ステップＳ８０８）。
【０１１９】
ここで、以降では、図１０〜図１４を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。
【０１２０】
まず、図１０に示すアプリケーション登録画面Ｇ２００は、ユーザが登録するアプリケーションのタイプを選択するための画面である。
【０１２１】
図１０に示すアプリケーション登録画面Ｇ２００には、プリントタイプのアプリケーションを登録するための「プリント」ボタンＧ２１０と、スキャンタイプのアプリケーションを登録するための「スキャン」ボタンＧ２２０とが含まれる。なお、図１０に示すアプリケーション登録画面Ｇ２００には、例えば、ＦＡＸタイプのアプリケーションを登録するための「ＦＡＸ」ボタン、メール受信タイプのアプリケーションを登録するための「メール受信」ボタン等が含まれていても良い。
【０１２２】
また、図１０に示すアプリケーション登録画面Ｇ２００には、次の画面に遷移するための「次へ」ボタンＧ２４０等が含まれる。
【０１２３】
図１０に示すアプリケーション登録画面Ｇ２００では、ユーザが「プリント」ボタンＧ２１０又は「スキャン」ボタンＧ２２０のいずれかを選択すると、それぞれプリントタイプの説明又はスキャンタイプの説明が説明欄Ｇ２３０に表示される。
【０１２４】
なお、プリントタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。一方、スキャンタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
【０１２５】
また、例えば、ＦＡＸタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等でＦＡＸ送信させるタイプのアプリケーションである。更に、メール受信タイプとは、画像形成装置等が受信したメールに添付されている電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
【０１２６】
以降では、ユーザが、図１０に示すアプリケーション登録画面Ｇ２００において、「スキャン」ボタンＧ２２０を選択した上で、「次へ」ボタンＧ２４０を押下する操作を行ったものとする。すると、ブラウザ３１０は、当該操作を受け付けて、例えば図１１に示すアプリケーション登録画面Ｇ３００を表示する。
【０１２７】
図１１に示すアプリケーション登録画面Ｇ３００は、ユーザがアプリケーションの基本情報を設定するための画面である。
【０１２８】
図１１に示すアプリケーション登録画面Ｇ３００には、アプリケーションの名称を設定するための「アプリ名」入力設定欄Ｇ３１０と、アプリ画面の画面形式を選択するための「デザインテンプレート」選択欄Ｇ３２０とが含まれる。また、図１１に示すアプリケーション登録画面Ｇ３００には、アプリケーションを利用する際の認証を選択するための「認証」選択欄Ｇ３３０と、アプリ画面の表示言語を選択するための「表示言語」選択欄Ｇ３４０とが含まれる。更に、図１１に示すアプリケーション登録画面Ｇ３００には、次の画面に遷移するための「次へ」ボタンＧ３５０等が含まれる。
【０１２９】
なお、「デザインテンプレート」選択欄Ｇ３２０では、例えば、アプリ画面が一画面で表示される「一画面形式」、アプリ画面を対話形式で表示する「ウィザード形式」等を選択することができる。また、「認証」選択欄Ｇ３３０では、認証を用いないことを示す「なし」、認証を用いることを示す「ユーザ認証」等を選択することができる。
【０１３０】
以降では、ユーザが、図１１に示すアプリケーション登録画面Ｇ３００のように、アプリケーション名の入力や各種選択を行った上で、「次へ」ボタンＧ３５０を押下する操作を行ったものとする。すると、ブラウザ３１０は、当該操作を受け付けて、例えば図１２に示すアプリケーション登録画面Ｇ４００を表示する。
【０１３１】
図１２に示すアプリケーション登録画面Ｇ４００は、ユーザがアプリケーションの詳細情報として、登録するアプリケーションに対して一連の処理（処理フロー）を設定するための画面である。
【０１３２】
図１２に示すアプリケーション登録画面Ｇ４００には、アプリ情報記憶部１５０に記憶されている処理フロー情報１１００のフロー名を検索するための検索欄Ｇ４１０と、フロー名を選択するためのフロー選択欄Ｇ４２０とが含まれる。ユーザは、所望のフローの名称等を検索欄Ｇ４１０に入力した上で、フロー選択欄Ｇ４２０から所望のフロー名を選択することができる。
【０１３３】
また、図１２に示すアプリケーション登録画面Ｇ４００には、フロー選択欄Ｇ４２０で選択されたフロー名の処理フロー情報１１００に基づく一連の処理の概要を表示する概要表示欄Ｇ４３０と、次の画面に遷移するための「次へ」ボタンＧ２４０とが含まれる。
【０１３４】
更に、図１２に示すアプリケーション登録画面Ｇ４００には、フロー選択欄Ｇ４２０で選択されたフロー名の処理フロー情報１１００の編集及び更新を行うための「更新」ボタンＧ４２１と、新規に処理フロー情報１１００を作成するための「新規」ボタンＧ４２２とが含まれる。ユーザは、「更新」ボタンＧ４２１を押下することで、フロー選択欄Ｇ４２０で選択したフロー名の処理フロー情報１１００の編集及び更新を行うことができる。また、ユーザは、「新規」ボタンＧ４２２を押下することで、処理フロー情報１１００を作成した上で、作成した処理フロー情報１１００のフロー名をフロー選択欄Ｇ４２０で選択することができる。
【０１３５】
以降では、ユーザが、フロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」をフロー選択欄Ｇ４２０で選択した上で、「次へ」ボタンＧ４４０を押下する操作を行ったものとする。すると、ブラウザ３１０は、当該操作を受け付けて、例えば図１３に示すアプリケーション登録画面Ｇ５００を表示する。
【０１３６】
図１３に示すアプリケーション登録画面Ｇ５００は、ユーザがアプリケーションの詳細情報として、図１２に示すアプリケーション登録画面Ｇ４００で設定された一連の処理（処理フロー）のパラメータ情報を設定するための画面である。
【０１３７】
図１３に示すアプリケーション登録画面Ｇ５００には、一連の処理に含まれる各処理を実行するコンポーネントを選択するための「コンポーネント」選択欄Ｇ５１０が含まれる。また、図１３に示すアプリケーション登録画面Ｇ５００には、「コンポーネント」選択欄Ｇ５１０で選択されたコンポーネントのパラメータ情報を設定するための「パラメータ情報」設定欄Ｇ５２０と、次の画面に遷移するための「次へ」ボタンＧ５３０とが含まれる。
【０１３８】
ユーザは、「コンポーネント」選択欄Ｇ５１０から所望のコンポーネントを選択した上で、「パラメータ情報」設定欄Ｇ５２０にてパラメータ情報の各種設定を行うことができる。例えば、ユーザが「コンポーネント」選択欄Ｇ５１０から翻訳コンポーネント１３２０を選択した場合、「パラメータ情報」設定欄Ｇ５２０では、翻訳コンポーネント１３２０が用いるパラメータ情報の各種設定を行うことができる。
【０１３９】
具体的には、パラメータ情報の各種設定には、「ｓｅｌｅｃｔ」、「ｄｉｓｐｌａｙｎａｍｅ」、「ｎａｍｅ」、「ｔｙｐｅ」、「ｄｅｆａｕｌｔ」、及び「ｉｎｐｕｔ  ｔｙｐｅ」等の設定項目がある。設定項目「ｎａｍｅ」には、パラメータ情報のパラメータ名が設定される。設定項目「ｔｙｐｅ」には、パラメータ値として設定することができるデータ形式が設定される。設定項目「ｄｅｆａｌｔ」には、デフォルトとして設定されるパラメータ値が設定される。
【０１４０】
また、設定項目「ｓｅｌｅｃｔ」には、パラメータ情報のパラメータ値をユーザ（サービスの利用者）に入力させるか否かが設定される。設定項目「ｓｅｌｅｃｔ」にチェックが入れられたパラメータ情報は、アプリ画面においてユーザ（サービスの利用者）がパラメータ値を入力することができる。一方で、設定項目「ｓｅｌｅｃｔ」にチェックが入れられていないパラメータ情報は、アプリ画面においてユーザがパラメータ値を入力することができず、設定項目「ｄｅｆａｕｌｔ」に設定されたパラメータ値が用いられる。
【０１４１】
また、設定項目「ｉｎｐｕｔ  ｔｙｐｅ」には、設定項目「ｓｅｌｅｃｔ」にチェックが入れられたパラメータ情報について、アプリ画面における入力方法が設定される。設定項目「ｉｐｕｔ  ｔｙｐｅ」では、例えば、パラメータ値の一覧から所望のパラメータ値を選択する入力方法「ｌｉｓｔ−ｒａｄｉｏ−ｂｕｔｔｏｎ」、パラメータ値を直接入力する入力方法「ｔｅｘｔ」等を設定することができる。なお、設定項目「ｉｎｐｕｔ  ｔｙｐｅ」には、これら以外にも、例えば、画面上の座標を入力する入力方法、所望のフォルダやファイルを選択するための入力方法等を選択することができても良い。
【０１４２】
更に、設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、アプリ画面に表示される入力項目（パラメータ値を入力させるための項目）の表示名が設定される。設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、図１１に示すアプリケーション登録画面Ｇ３００の「表示言語」選択欄Ｇ３４０で選択した言語の表示名を設定することができる。すなわち、例えば、「表示言語」選択欄Ｇ３４０で「Ｊａｐａｎｅｓｅ」及び「Ｅｎｇｌｉｓｈ」が選択された場合、設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、例えば、日本語の表示名「翻訳元」と、英語の表示名「Ｓｏｕｒｃｅ  Ｌａｎｇｕａｇｅ」とを設定することができる。
【０１４３】
これにより、ユーザは、各コンポーネントが用いるパラメータ情報について、パラメータ情報のパラメータ値をサービスの利用者に入力させるか否か、その入力方法等を設定することができる。
【０１４４】
以降では、ユーザが、各コンポーネントが用いるパラメータ情報を設定した上で、「次へ」ボタンＧ５３０を押下する操作を行ったものとする。すると、ブラウザ３１０は、当該操作を受け付けて、例えば図１４に示すアプリケーション登録画面Ｇ６００を表示する。
【０１４５】
図１４に示すアプリケーション登録画面Ｇ６００は、図１０〜図１３で設定された各種情報（アプリ設定情報）をユーザが確認するための画面である。
【０１４６】
図１４に示すアプリケーション登録画面Ｇ６００には、「アプリ設定情報」表示欄Ｇ６１０と、「登録」ボタンＧ６２０とが含まれる。ユーザは、「アプリ設定情報」表示欄Ｇ６１０において、図１０〜図１３で設定した各種情報を確認することができる。
【０１４７】
ここで、ユーザは、「アプリ設定情報」表示欄Ｇ６１０でアプリ設定情報を確認した上で、「登録」ボタンＧ６２０を押下する操作（アプリケーションの登録操作）を行ったものとする。すると、ブラウザ３１０は、アプリケーションの登録操作を受け付ける（ステップＳ８０９）。
【０１４８】
ブラウザ３１０は、アプリケーションの登録操作を受け付けると、例えば図１５に示すアプリ設定情報１２００を作成する（ステップＳ８１０）。
【０１４９】
ここで、アプリ設定情報１２００について、図１５を参照しながら説明する。図１５は、本実施形態に係るアプリ設定情報１２００の一例を示す図である。
【０１５０】
図１５に示すアプリ設定情報１２００には、アプリタイプ１２０１、アプリ名１２０２、アプリ表示名１２０３、認証タイプ１２０４、及びフロー名１２０５が含まれる。また、図１５に示すアプリ設定情報１２００には、デザインテンプレートタイプ１２０６、デフォルトパラメータ１２０７、及びユーザ入力パラメータ１２０８等が含まれる。
【０１５１】
アプリタイプ１２０１は、図１０に示すアプリケーション登録画面Ｇ２００で選択されたアプリケーションのタイプである。図１５に示す例では、アプリケーションのタイプがスキャンタイプであることを示す「"ａｐｐ＿ｔｙｐｅ"："ｓｃａｎ"」が定義されている。
【０１５２】
アプリ名１２０２は、図１１に示すアプリケーション登録画面Ｇ３００の「アプリ名」入力設定欄Ｇ３１０に入力されたアプリ名である。図１５に示す例では、アプリ名が「スキャン翻訳アプリケーション」であることを示す「"ａｐｐＮａｍｅ"："スキャン翻訳アプリケーション"」が定義されている。
【０１５３】
アプリ表示名１２０３は、アプリ画面に表示されるアプリケーション名称（タイトル）である。図１０に示す例では、日本語では「スキャン翻訳」、英語では「Ｔｒａｎｓｌａｔｉｏｎ  Ａｐｐ」と表示されることが定義される。
【０１５４】
認証タイプ１２０４は、図１１に示すアプリケーション登録画面Ｇ３００の「認証」選択欄Ｇ３３０で選択された認証である。図１５に示す例では、認証しないことを示す「"ｌｏｇｉｎＴｙｐｅ"："ｎｏｎｅ"」が定義されている。
【０１５５】
フロー名１２０５は、図１２に示すアプリケーション登録画面Ｇ４００のフロー選択欄Ｇ４２０で選択されたフロー名である。図１５に示す例では、フロー名が「"ｔｒａｎｓｌａｔｅ−ｍａｉｌ"」であることを示す「"ｆｌｏｗＮａｍｅ"："ｔｒａｎｓｌａｔｅ−ｍａｉｌ"」が定義されている。
【０１５６】
デザインテンプレートタイプ１２０６は、図１１に示すアプリケーション登録画面Ｇ３００の「デザインテンプレート」選択欄Ｇ３２０で選択された表示形式である。図１５に示す例では、一画面形式でアプリ画面を表示することを示す「"ｖｉｅｗＴｅｍｐｌａｔｅ"："一画面形式"」が定義されている。
【０１５７】
デフォルトパラメータ１２０７は、アプリ画面においてユーザがパラメータ値を入力しないパラメータ情報が定義されている。すなわち、デフォルトパラメータ１２０７には、図１３に示すアプリケーション登録画面Ｇ５００の「パラメータ情報」設定欄Ｇ５２０において、設定項目「ｓｅｌｅｃｔ」のチェックを入れなかったパラメータ情報が定義される。図１５に示す例では、詳細処理名「ｄｅｔａｉｌ０」（すなわち、図７における詳細処理定義１１１０）に定義されたパラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報は、デフォルトのパラメータ値として、「"Ｅｎｇｌｉｓｈ"」が設定されることが定義されている。
【０１５８】
このように、デフォルトパラメータ１２０７には、デフォルトでパラメータ値が設定されるパラメータ情報が定義されている。換言すれば、デフォルトパラメータ１２０７には、ユーザがパラメータ値を設定しないパラメータ情報が定義されている。
【０１５９】
ユーザ入力パラメータ１２０８は、アプリ画面においてユーザによりパラメータ値が入力されるパラメータ情報が定義されている。すなわち、ユーザ入力パラメータ１２０８には、図１３に示すアプリケーション登録画面Ｇ５００の「パラメータ情報」設定欄Ｇ５２０において、設定項目「ｓｅｌｅｃｔ」のチェックを入れたパラメータ情報が定義される。
【０１６０】
図１５に示す例では、詳細処理名「ｄｅｔａｉｌ１」（すなわち、図７における詳細処理定義１１２０）に定義されたパラメータ名「"ｆｒｏｍ"」のパラメータ値がユーザに入力されることを示す入力定義１２１８が定義されている。同様に、詳細処理名「ｄｅｔａｉｌ１」（すなわち、図７における詳細処理定義１１２０）に定義されたパラメータ名「"ｔｏ"」のパラメータ値がユーザに入力されることを示す入力定義１２２８が定義されている。
【０１６１】
また、同様に、詳細処理名「ｄｅｔａｉｌ２」（すなわち、図７における詳細処理定義１１３０）に定義されたパラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ値がユーザに入力されることを示す入力定義１２３８が定義されている。
【０１６２】
このように、ユーザ入力パラメータ１２０８には、アプリ画面においてユーザがパラメータ値を入力するパラメータ情報が定義されている。
【０１６３】
以上のように、アプリ設定情報１２００には、アプリ画面に表示される表示情報（例えば、タイトル）やアプリ画面の入力項目（パラメータ値を入力又は選択する項目）、当該入力項目における入力方法等が定義されている。また、アプリ設定情報１２００には、パラメータ値がデフォルトで設定されるパラメータ情報（すなわち、アプリ画面でパラメータ値が入力又は選択されないパラメータ情報）等が定義されている。
【０１６４】
ブラウザ３１０は、アプリ設定情報１２００を作成すると、アプリケーションの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ８１１）。なお、アプリケーションの登録要求には、ステップＳ８１０で作成されたアプリ設定情報１２００が含まれる。
【０１６５】
ポータルサービス部１４０のアプリ登録部１４２は、アプリケーションの登録要求を受信すると、当該登録要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ８１２）。
【０１６６】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリケーションの登録要求を受信すると、アプリケーションを登録する（ステップＳ８１３）。そして、アプリ管理部１１１は、登録結果をブラウザ３１０に返信する。
【０１６７】
すなわち、アプリ管理部１１１は、アプリケーションの登録要求に含まれるアプリ設定情報１２００をアプリＩＤと関連付けてアプリ情報記憶部１５０に記憶する。これにより、当該アプリ設定情報１２００と、当該アプリ設定情報１２００のフロー名１２０５に定義されたフロー名の処理フロー情報１１００とを含むアプリ情報１０００がサービス提供システム１０に登録される。
【０１６８】
以上により、本実施形態に係る情報処理システム１では、ユーザがＰＣ端末３０を用いて、サービス提供システム１０にアプリケーションを登録することができる。しかも、本実施形態に係る情報処理システム１では、ユーザがＰＣ端末３０を用いて、例えば、フロー名や各コンポーネントのパラメータ情報等を設定することで、容易にアプリケーション（アプリ情報１０００）を登録することができる。
【０１６９】
したがって、本実施形態に係る情報処理システム１によれば、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザ（例えば、企画担当者等）であっても、各種サービスを提供するアプリケーション（アプリ情報１０００）を登録することができる。
【０１７０】
次に、機器２０のユーザがスキャン翻訳サービスを利用する場合について、図１６を参照しながら説明する。図１６は、スキャン翻訳サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【０１７１】
まず、機器２０のブラウザ２１０は、スキャン翻訳サービスのアプリ画面を表示させるための操作（表示操作）を受け付ける（ステップＳ１６０１）。なお、機器２０のユーザは、例えば、スキャン翻訳サービスのアプリ画面のＵＲＬをブラウザ２１０のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
【０１７２】
機器２０のブラウザ２１０は、スキャン翻訳サービスのアプリ画面の表示操作を受け付けると、スキャン翻訳サービスのアプリ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ１６０２）。なお、スキャン翻訳サービスのアプリ画面の表示要求には、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０１７３】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、スキャン翻訳サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ１６０３）。なお、アプリ設定の取得要求には、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０１７４】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリＩＤに関連付けて記憶されているアプリ設定情報１２００をアプリ情報記憶部１５０から取得する（ステップＳ１６０４）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得したアプリ設定情報１２００を画面構成部１２１に返信する。
【０１７５】
次に、Ｗｅｂサービス処理部１２０の画面構成部１２１は、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤと関連付けて記憶されているアプリ画面情報２０００をアプリ画面情報記憶部１６０から取得する（ステップＳ１６０５）。そして、画面構成部１２１は、アプリ画面情報記憶部１６０から取得したアプリ画面情報２０００と、上記のステップＳ１６０４で返信されたアプリ設定情報１２００とをブラウザ２１０に返信する。
【０１７６】
機器２０のブラウザ２１０は、画面構成部１２１から受信したアプリ画面情報２０００とアプリ設定情報１２００とに基づいて、例えば図１７に示すアプリ画面Ｇ７００を表示する（ステップＳ１６０６）。
【０１７７】
ここで、図１７に示すアプリ画面Ｇ７００は、機器２０のユーザがスキャン翻訳サービスを利用するための画面である。
【０１７８】
図１７に示すアプリ画面Ｇ７００には、アプリ名Ｇ７１０と、パラメータ入力エリアＧ７２０と、「スタート」ボタンＧ７４０とが含まれる。また、パラメータ入力エリアＧ７２０には、翻訳元言語入力欄Ｇ７２１と、翻訳先言語入力欄Ｇ７２２と、メール送信先入力欄Ｇ７２３とが含まれる。
【０１７９】
アプリ名Ｇ７１０は、図１５に示すアプリ設定情報１２００のアプリ表示名１２０３に基づいて表示される。なお、アプリ表示名１２０３に複数の言語のアプリケーション名称（タイトル）が定義されている場合、ブラウザ２１０の言語設定に対応する言語のアプリケーション名称がアプリ名Ｇ７１０に表示される。
【０１８０】
また、翻訳元言語入力欄Ｇ７２１、翻訳先言語入力欄Ｇ７２２、及びメール送信先入力欄Ｇ７２３は、図１５に示すアプリ設定情報１２００のユーザ入力パラメータ１２０８に基づいて表示される。
【０１８１】
すなわち、翻訳元言語入力欄Ｇ７２１は、ユーザ入力パラメータ１２０８の入力定義１２１８に基づいて表示される。同様に、翻訳先言語入力欄Ｇ７２２は、ユーザ入力パラメータ１２０８の入力定義１２２８に基づいて表示される。また、同様に、メール送信先入力欄Ｇ７２３は、ユーザ入力パラメータ１２０８の入力定義１２３８に基づいて表示される。
【０１８２】
このように、機器２０のユーザがサービスを利用するためのアプリ画面には、アプリ設定情報１２００に定義されている情報に基づいて、アプリ名やパラメータ入力エリアが表示される。
【０１８３】
ここで、図１７に示すアプリ画面Ｇ７００において、ユーザは、翻訳元言語入力欄Ｇ７２１に「Ｅｎｇｌｉｓｈ」、翻訳先言語入力欄Ｇ７２２に「Ｊａｐａｎｅｓｅ」、及びメール送信先入力欄Ｇ７２３に「ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ」を入力したものとする。そして、図１７に示すアプリ画面Ｇ７００において、ユーザは、「スタート」ボタンＧ７４０を押下する操作（実行操作）を行ったものとする。
【０１８４】
すると、機器２０のブラウザ２１０は、実行操作を受け付ける（ステップＳ１６０７）。そして、機器２０のブラウザ２１０は、スキャナ２６を制御して、原稿を読み取ることで、電子ファイル（画像ファイル）を生成する（ステップＳ１６０８）。
【０１８５】
機器２０のブラウザ２１０は、電子ファイル（画像ファイル）が生成されると、アプリケーションの実行要求を、Ｗｅｂサービス処理部１２０のアプリ実行部１２２に送信する（ステップＳ１６０９）。なお、アプリケーションの実行要求には、アプリ設定情報１２００のフロー名１２０５に定義されたフロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」と、上記のステップＳ１６０８で生成された電子ファイルと、パラメータ設定情報とが含まれる。
【０１８６】
ここで、パラメータ設定情報とは、アプリ設定情報１２００のデフォルトパラメータ１２０７に定義されているパラメータ情報、及びユーザによりアプリ画面Ｇ７００でパラメータ値が設定されたパラメータ情報である。
【０１８７】
具体的には、デフォルトパラメータ１２０７に定義されているパラメータ情報は、「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」である。また、ユーザによりアプリ画面Ｇ７００でパラメータ値が設定されたパラメータ情報は、「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」、「"ｔｏ"："Ｊａｐａｎｅｓｅ"」、及び「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」である。
【０１８８】
Ｗｅｂサービス処理部１２０のアプリ実行部１２２は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部１１０のロジック処理部１１２に送信する（ステップＳ１６１０）。
【０１８９】
次に、入出力サービス処理部１１０のロジック処理部１１２は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う（ステップＳ１６１１）。すなわち、ロジック処理部１１２は、当該要求に含まれるフロー名の処理フロー情報１１００に基づく一連の処理を実行する。なお、処理フローの実行処理の詳細については後述する。
【０１９０】
そして、ロジック処理部１１２は、処理フローの実行処理の処理結果を、Ｗｅｂサービス処理部１２０を介して、ブラウザ２１０に返信する。これにより、本実施形態に係るサービス提供システム１０は、スキャン翻訳サービスを提供することができる。
【０１９１】
以降では、処理フローの実行処理（図１６のステップＳ１６１１の処理）の詳細について、図１８を参照しながら説明する。図１８は、スキャン翻訳サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【０１９２】
まず、フロー実行部３０１は、アプリ実行部１２２からアプリケーションの実行要求を受信すると、処理フローの取得要求をアプリ管理部１１１に送信する（ステップＳ１８０１）。なお、当該取得要求には、フロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」が含まれる。
【０１９３】
アプリ管理部１１１は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」の処理フロー情報１１００をアプリ情報記憶部１５０から取得する（ステップＳ１８０２）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得した処理フロー情報１１００をフロー実行部３０１に返信する。
【０１９４】
ここで、以降では、アプリ管理部１１１は、図７に示す処理フロー情報１１００をフロー実行部３０１に返信したものとして説明する。
【０１９５】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ１８０３）。
【０１９６】
すなわち、フロー実行部３０１は、図７に示す処理フロー情報１１００の詳細処理定義１１１０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｏｃｒ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０１９７】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｏｃｒ"」のコンポーネント（すなわち、ＯＣＲコンポーネント１３１０）を生成する（ステップＳ１８０４）。なお、ＯＣＲコンポーネント１３１０の生成は、コンポーネント共通Ｉ／Ｆ１３００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０１９８】
そして、コンポーネント管理部３０２は、生成したＯＣＲコンポーネント１３１０をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、ＯＣＲコンポーネント１３１０が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０１９９】
次に、フロー実行部３０１は、コンポーネント実行要求をＯＣＲコンポーネント１３１０に送信する（ステップＳ１８０５）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０２００】
ここで、データは、データ型「ＩｎｐｕｔＳｔｒｅａｍ」として、ブラウザ２１０から受信した電子ファイルである。すなわち、フロー実行部３０１は、ブラウザ２１０から受信した電子ファイルを、単に「データ」として（データ型を意識することなく）、ＯＣＲコンポーネント１３１０に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない電子ファイル等の各種の情報を、単に「データ」と表す。
【０２０１】
また、パラメータ情報は、図７に示す処理フロー情報１１００の詳細処理定義１１１０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」等である。
【０２０２】
ＯＣＲコンポーネント１３１０は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ１８０６）。なお、当該型変換要求には、データと、ＯＣＲコンポーネント１３１０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０２０３】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ１８０７）。
【０２０４】
ここで、型変換要求に含まれるデータのデータ型は「ＩｎｐｕｔＳｔｒｅａｍ」である一方、指定されたデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
【０２０５】
すると、型変換管理部３０４は、型変換情報テーブル４０００を参照して、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための型変換を特定する（ここでは、第１の型変換１４１０が特定される。）。そして、型変換管理部３０４は、特定した第１の型変換１４１０を生成する（ステップＳ１８０８）。なお、第１の型変換１４１０の生成は、型変換共通Ｉ／Ｆ１４００を用いて行うことができる。
【０２０６】
次に、型変換管理部３０４は、型変換処理の実行要求を第１の型変換１４１０に送信する（ステップＳ１８０９）。なお、当該実行要求には、データが含まれる。
【０２０７】
第１の型変換１４１０は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「ＩｎｐｕｔＳｔｒｅａｍ」から「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換する型変換処理を行う（ステップＳ１８１０）。そして、第１の型変換１４１０は、データ型が変換されたデータを型変換管理部３０４に返信する。
【０２０８】
そして、型変換管理部３０４は、第１の型変換１４１０からデータを受信すると、当該データをＯＣＲコンポーネント１３１０に送信する（ステップＳ１８１１）。
【０２０９】
ＯＣＲコンポーネント１３１０は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ１８１２）。
【０２１０】
すなわち、ＯＣＲコンポーネント１３１０は、ＯＣＲ処理部１３１により、パラメータ情報「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」を用いて、データにより示される電子ファイルに対して、英語でＯＣＲ処理を行う。
【０２１１】
そして、ＯＣＲコンポーネント１３１０は、ＯＣＲ処理後の電子ファイル（すなわち、テキストファイル）を示すデータをフロー実行部３０１に返信する。
【０２１２】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ１８１３）。
【０２１３】
すなわち、フロー実行部３０１は、図７に示す処理フロー情報１１００の詳細処理定義１１２０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０２１４】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」のコンポーネント（すなわち、翻訳コンポーネント１３２０）を生成する（ステップＳ１８１４）。なお、翻訳コンポーネント１３２０の生成は、コンポーネント共通Ｉ／Ｆ１３００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０２１５】
そして、コンポーネント管理部３０２は、生成した翻訳コンポーネント１３２０をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、翻訳コンポーネント１３２０が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０２１６】
次に、フロー実行部３０１は、コンポーネント実行要求を翻訳コンポーネント１３２０に送信する（ステップＳ１８１５）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０２１７】
ここで、データは、ＯＣＲコンポーネント１３１０から返信されたデータ（すなわち、ＯＣＲ処理後の電子ファイルを示すパス）である。
【０２１８】
また、パラメータ情報は、図７に示す処理フロー情報１１００の詳細処理定義１１２０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」、及び「"ｔｏ"："Ｊａｐａｎｅｓｅ"」等である。
【０２１９】
翻訳コンポーネント１３２０は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ１８１６）。なお、当該型変換要求には、データと、翻訳コンポーネント１３２０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０２２０】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ１８１７）。
【０２２１】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０２２２】
すると、型変換管理部３０４は、型変換要求に含まれるデータを翻訳コンポーネント１３２０に送信する（ステップＳ１８１８）。このように、データ型のチェック（ステップＳ１８１７の処理）において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部３０４は、型変換の生成を行わない。
【０２２３】
翻訳コンポーネント１３２０は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ１８１９）。すなわち、翻訳コンポーネント１３２０は、パラメータ情報「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」及び「"ｔｏ"："Ｊａｐａｎｅｓｅ"」を用いて、データにより示される電子ファイルを英語から日本語に翻訳する処理を行う。
【０２２４】
そして、翻訳コンポーネント１３２０は、翻訳処理後の電子ファイルを示すデータをフロー実行部３０１に返信する。
【０２２５】
なお、翻訳コンポーネント１３２０は、例えば、サービス提供システム１０とネットワークを介して接続される翻訳サーバ等に翻訳処理を要求することにより、電子ファイルの翻訳を行っても良い。
【０２２６】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ１８２０）。
【０２２７】
すなわち、フロー実行部３０１は、図７に示す処理フロー情報１１００の詳細処理定義１１３０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｍａｉｌ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０２２８】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｍａｉｌ"」のコンポーネント（すなわち、メール配信コンポーネント１３３０）を生成する（ステップＳ１８２１）。なお、メール配信コンポーネント１３３０の生成は、コンポーネント共通Ｉ／Ｆ１３００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０２２９】
そして、コンポーネント管理部３０２は、生成したメール配信コンポーネント１３３０をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、メール配信コンポーネント１３３０が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０２３０】
次に、フロー実行部３０１は、コンポーネント実行要求をメール配信コンポーネント１３３０に送信する（ステップＳ１８２２）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０２３１】
ここで、データは、翻訳コンポーネント１３２０から返信されたデータ（すなわち、翻訳後の電子ファイルを示すパス）である。
【０２３２】
また、パラメータ情報は、図７に示す処理フロー情報１１００の詳細処理定義１１３０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」等である。
【０２３３】
メール配信コンポーネント１３３０は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ１８２３）。なお、当該型変換要求には、データと、メール配信コンポーネント１３３０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０２３４】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ１８２４）。
【０２３５】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０２３６】
すると、型変換管理部３０４は、型変換要求に含まれるデータをメール配信コンポーネント１３３０に送信する（ステップＳ１８２５）。このように、データ型のチェック（ステップＳ１８２４の処理）において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部３０４は、型変換の生成を行わない。
【０２３７】
メール配信コンポーネント１３３０は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ１８２６）。
【０２３８】
すなわち、メール配信コンポーネント１３３０は、メール配信部１３２により、データにより示される電子ファイルを添付したメールを作成する。次に、メール配信コンポーネント１３３０は、パラメータ情報「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」を用いて、メール配信部１３２により、当該メールを「ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ」宛に送信する。
【０２３９】
そして、メール配信コンポーネント１３３０は、メールの送信結果を示すデータをフロー実行部３０１に返信する。
【０２４０】
以上により、図７に示す処理フロー情報１１００に基づく一連の処理（処理フロー）の実行が完了する。これにより、本実施形態に係るサービス提供システム１０は、機器２０に対して、スキャン翻訳サービスを提供することができる。
【０２４１】
以上のように、本実施形態に係る情報処理システム１では、ユーザがＰＣ端末３０を用いて、各種サービスを提供するアプリ情報１０００をサービス提供システム１０に登録することができる。しかも、本実施形態に係る情報処理システム１では、ユーザがＰＣ端末３０を用いて、フロー名を選択した上で、必要なパラメータ情報等を設定することで、容易にアプリ情報１０００を登録することができる。
【０２４２】
したがって、本実施形態に係る情報処理システム１では、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザであっても、容易にアプリケーション（アプリ情報１０００）の作成・登録を行うことができる。
【０２４３】
また、本実施形態に係る情報処理システム１では、ユーザが機器２０を用いて、サービス提供システム１０に登録されたアプリケーションにより提供される各種サービスを利用することができる。
【０２４４】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、スキャン＆プリントタイプのアプリケーションを登録する場合について説明する。スキャン＆プリントタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させて、当該実行結果を印刷させるタイプのアプリケーションである。スキャン＆プリントタイプのアプリケーションには、例えば、スキャンにより生成された電子ファイルにＱＲコードを付与した後、当該ＱＲコードが付与された電子ファイルを印刷するアプリケーション（ＱＲコード印刷アプリケーション）が挙げられる。本実施形態では、ＱＲコード印刷アプリケーションを用いて利用されるサービスを「ＱＲコード印刷サービス」と表す。
【０２４５】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。
【０２４６】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、ＰＣ端末３０のユーザが、ＱＲコード印刷アプリケーションをサービス提供システム１０に登録する処理について、図１９を参照しながら説明する。図１９は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。なお、図１９のステップＳ８０１〜ステップＳ８０６及びステップＳ８０９〜ステップＳ８１３は、図８と同様であるため、その説明を省略する。
【０２４７】
ステップＳ８０６に続いて、ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ１９０１）。すなわち、ＵＩ提供部１４１は、後述するアプリケーション登録画面Ｇ８００〜Ｇ１０００を表示するためのポータル画面情報３０００をポータル画面情報記憶部１７０から取得する。
【０２４８】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０２４９】
ＰＣ端末３０のブラウザ３１０は、アプリケーション登録画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図２０に示すアプリケーション登録画面Ｇ８００を表示する（ステップＳ１９０２）。
【０２５０】
ここで、以降では、図２０〜図２２を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。
【０２５１】
図２０に示すアプリケーション登録画面Ｇ８００には、スキャン＆プリントタイプのアプリケーションを登録するための「スキャン＆プリント」ボタンＧ８１０が含まれる。
【０２５２】
ユーザが、図２０に示すアプリケーション登録画面Ｇ８００において、「スキャン＆プリント」ボタンＧ８１０を選択した上で、「次へ」ボタンを押下する操作を行うと、スキャン＆プリントタイプのアプリケーションを登録するための各種画面に遷移する。このような各種画面には、図２１に示すアプリケーション登録画面Ｇ９００と、図２２に示すアプリケーション登録画面Ｇ１０００とが含まれる。
【０２５３】
図２１に示すアプリケーション登録画面Ｇ９００は、スキャン設定（例えば、「用紙向き」や「片面・両面」等）のデフォルト値を設定するための画面である。ユーザは、デフォルト値設定欄Ｇ９１０において、各スキャン設定のデフォルト値を設定することができる。
【０２５４】
また、ユーザは、設定可否欄Ｇ９２０において、アプリケーションの利用時にスキャン設定の変更を許可するか否かを設定することができる。設定可否欄Ｇ９２０がチェックされたスキャン設定は、アプリケーションの利用時に設定値を変更することができる。一方で、設定可否欄Ｇ９２０がチェックされていないスキャン設定は、アプリケーションの利用時に設定値を変更することができない。したがって、ユーザは、設定可否欄Ｇ９２０をチェックしないことで、当該チェックされていないスキャン設定に対して、アプリケーション固有の設定値をデフォルト値として指定することができるようになる。
【０２５５】
図２２に示すアプリケーション登録画面Ｇ１０００は、プリント設定（例えば、「印刷部数」や「印刷カラーモード」等）のデフォルト値を設定するための画面である。ユーザは、デフォルト値設定欄Ｇ１０１０において、各プリント設定のデフォルト値を設定することができる。
【０２５６】
また、ユーザは、設定可否欄Ｇ１０２０において、アプリケーションの利用時にプリント設定の変更を許可するか否かを設定することができる。設定可否欄Ｇ１０２０がチェックされたプリント設定は、アプリケーションの利用時に設定値を変更することができる。一方で、設定可否欄Ｇ１０２０がチェックされていないプリント設定は、アプリケーションの利用時に設定値を変更することができない。したがって、ユーザは、スキャン設定の場合と同様に、設定可否欄Ｇ１０２０をチェックしないことで、当該チェックされていないプリント設定に対して、アプリケーション固有の設定値をデフォルト値として指定することができるようになる。
【０２５７】
ここで、アプリケーションの登録操作がなされると、例えば図２３に示すような、スキャン＆プリントタイプのアプリ設定情報１２００が作成される。図２３は、本実施形態に係るアプリ設定情報１２００の一例を示す図である。
【０２５８】
図２３に示すアプリ設定情報１２００には、スキャン設定デフォルトパラメータ１２０９と、プリント設定デフォルトパラメータ１２１０とが含まれる。
【０２５９】
スキャン設定デフォルトパラメータ１２０９は、図２１に示すアプリケーション登録画面Ｇ９００において設定されたスキャン設定のデフォルト値を示すパラメータである。また、プリント設定デフォルトパラメータ１２１０は、図２２に示すアプリケーション登録画面Ｇ１０００において設定されたプリント設定のデフォルト値を示すパラメータである。これにより、ユーザにより登録されたアプリケーションは、スキャン設定デフォルトパラメータ１２０９及びプリント設定デフォルトパラメータ１２１０を、それぞれスキャン設定のデフォルト及びプリント設定のデフォルト値として用いることができる。
【０２６０】
以上により、本実施形態に係る情報処理システム１では、スキャン＆プリントタイプのアプリケーションがサービス提供システム１０に登録される。
【０２６１】
次に、機器２０のユーザが、スキャン＆プリントタイプのアプリケーションにより提供されるＱＲコード印刷サービスを利用する場合について、図２４を参照しながら説明する。図２４は、ＱＲコード印刷サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【０２６２】
まず、機器２０のブラウザ２１０は、ＱＲコード印刷サービスのアプリ画面を表示させるための操作（表示操作）を受け付ける（ステップＳ２４０１）。なお、機器２０のユーザは、例えば、ＱＲコード印刷サービスのアプリ画面のＵＲＬをブラウザ３１０のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
【０２６３】
機器２０のブラウザ２１０は、ＱＲコード印刷サービスのアプリ画面の表示操作を受け付けると、ＱＲコード印刷サービスのアプリ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ２４０２）。なお、ＱＲコード印刷サービスのアプリ画面の表示要求には、ＱＲコード印刷サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０２６４】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、ＱＲコード印刷サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ２４０３）。なお、アプリ設定の取得要求には、ＱＲコード印刷サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０２６５】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリＩＤに関連付けて記憶されているアプリ設定情報１２００をアプリ情報記憶部１５０から取得する（ステップＳ２４０４）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得したアプリ設定情報１２００を画面構成部１２１に返信する。
【０２６６】
次に、Ｗｅｂサービス処理部１２０の画面構成部１２１は、ＱＲコード印刷サービスを提供するアプリ情報１０００のアプリＩＤと関連付けて記憶されているアプリ画面情報２０００をアプリ画面情報記憶部１６０から取得する（ステップＳ２４０５）。そして、画面構成部１２１は、アプリ画面情報記憶部１６０から取得したアプリ画面情報２０００と、上記のステップＳ２４０４で返信されたアプリ設定情報１２００とをブラウザ２１０に返信する。
【０２６７】
機器２０のブラウザ２１０は、画面構成部１２１から受信したアプリ画面情報２０００とアプリ設定情報１２００とに基づいて、例えば図２５に示すアプリ画面Ｇ１１００を表示する（ステップＳ２４０６）。
【０２６８】
ここで、図２５に示すアプリ画面Ｇ１１００は、機器２０のユーザがＱＲコード印刷サービスを利用するための画面である。
【０２６９】
図２５に示すアプリ画面Ｇ１１００には、パラメータ入力エリアＧ１１１０と、「スタート」ボタンＧ１１２０とが含まれる。また、パラメータ入力エリアＧ１１１０には、埋め込み文字列入力欄Ｇ１１１１と、位置入力欄Ｇ１１１２とが含まれる。
【０２７０】
ユーザは、ＱＲコードに埋め込む文字列を埋め込み文字列入力欄Ｇ１１１１に入力すると共に、ＱＲコードを重畳させる電子ファイル上の位置を位置入力欄Ｇ１１１２に入力した上で、「スタート」ボタンＧ１１２０を押下する操作（実行操作）を行う。
【０２７１】
すると、機器２０のブラウザ２１０は、実行操作を受け付ける（ステップＳ２４０７）。そして、機器２０のブラウザ２１０は、スキャナ２６を制御して、原稿を読み取ることで、電子ファイル（画像ファイル）を生成する（ステップＳ２４０８）。
【０２７２】
機器２０のブラウザ２１０は、電子ファイル（画像ファイル）が生成されると、アプリケーションの実行要求を、Ｗｅｂサービス処理部１２０のアプリ実行部１２２に送信する（ステップＳ２４０９）。なお、アプリケーションの実行要求には、アプリ設定情報１２００に定義されたフロー名と、上記のステップＳ２４０８で生成された電子ファイルと、パラメータ設定情報とが含まれる。当該フロー名は、ＱＲコード印刷サービスを実現する一連の処理の処理フロー情報１１００を示す「ｃｏｄｅ−ｐｒｉｎｔ」であるものとする。
【０２７３】
パラメータ設定情報とは、アプリ設定情報１２００のスキャン設定デフォルトパラメータ１２０９及びプリント設定デフォルトパラメータ１２１０に定義されているパラメータ情報と、ユーザによりアプリ画面Ｇ１１００でパラメータ値が設定されたパラメータ情報である。
【０２７４】
Ｗｅｂサービス処理部１２０のアプリ実行部１２２は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部１１０のロジック処理部１１２に送信する（ステップＳ２４１０）。
【０２７５】
次に、入出力サービス処理部１１０のロジック処理部１１２は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う（ステップＳ２４１１）。すなわち、ロジック処理部１１２は、当該要求に含まれるフロー名の処理フロー情報１１００に基づく一連の処理を実行する。なお、処理フローの実行処理の詳細については後述する。
【０２７６】
そして、ロジック処理部１１２は、処理フローの実行処理の処理結果を、Ｗｅｂサービス処理部１２０を介して、ブラウザ２１０に返信する。ここでブラウザ２１０に返信される処理結果は、ＱＲコードが重畳された電子ファイルである。
【０２７７】
機器２０のブラウザ２１０は、処理結果が返信されると、プリンタ２５を制御して、ＱＲコードが重畳された電子ファイルを印刷する（ステップＳ２４１２）。これにより、本実施形態に係るサービス提供システム１０は、ＱＲコード印刷サービスを提供することができる。
【０２７８】
以降では、処理フローの実行処理（図２４のステップＳ２４１１の処理）の詳細について、図２６を参照しながら説明する。図２６は、ＱＲコード印刷サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【０２７９】
まず、フロー実行部３０１は、アプリ実行部１２２からアプリケーションの実行要求を受信すると、処理フローの取得要求をアプリ管理部１１１に送信する（ステップＳ２６０１）。なお、当該取得要求には、フロー名「ｃｏｄｅ−ｐｒｉｎｔ」が含まれる。
【０２８０】
アプリ管理部１１１は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「ｃｏｄｅ−ｐｒｉｎｔ」の処理フロー情報１１００をアプリ情報記憶部１５０から取得する（ステップＳ２６０２）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得した処理フロー情報１１００をフロー実行部３０１に返信する。
【０２８１】
ここで、以降では、アプリ管理部１１１は、図２７に示す処理フロー情報１１００をフロー実行部３０１に返信したものとして説明する。図２７に示す処理フロー情報１１００は、ＱＲコード印刷サービスを実現する一連の処理（処理フロー）が定義された情報である。
【０２８２】
図２７に示す処理フロー情報１１００のフロー名１１０１には、「ｃｏｄｅ−ｐｒｉｎｔ」が定義されている。また、図２７に示す処理フロー情報１１００のフロー詳細１１０２には、詳細処理定義１１１０と、詳細処理定義１１２０とが含まれている。
【０２８３】
詳細処理定義１１１０には、詳細処理名「ｄｅｔａｉｌ０」と、コードコンポーネント１３４０のコンポーネント名「ｃｏｄｅ」と、当該コンポーネントのパラメータ情報とが定義されている。また、詳細処理定義１１２０には、詳細処理名「ｄｅｔａｉｌ１」と、スタンプコンポーネント１３５０のコンポーネント名「ｓｔａｍｐ」と、当該コンポーネントのパラメータ情報とが定義されている。
【０２８４】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ２６０３）。
【０２８５】
すなわち、フロー実行部３０１は、図２７に示す処理フロー情報１１００の詳細処理定義１１１０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｃｏｄｅ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０２８６】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｃｏｄｅ"」のコンポーネント（すなわち、コードコンポーネント１３４０）を生成する（ステップＳ２６０４）。そして、コンポーネント管理部３０２は、生成したコードコンポーネント１３４０をフロー実行部３０１に返信する。
【０２８７】
次に、フロー実行部３０１は、コンポーネント実行要求をコードコンポーネント１３４０に送信する（ステップＳ２６０５）。なお、当該実行要求には、データ型「ＩｎｐｕｔＳｔｒｅａｍ」のデータと、パラメータ情報とが含まれる。
【０２８８】
コードコンポーネント１３４０は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ２６０６）。なお、当該型変換要求には、データと、コードコンポーネント１３４０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０２８９】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ２６０７）。
【０２９０】
ここで、型変換要求に含まれるデータのデータ型は「ＩｎｐｕｔＳｔｒｅａｍ」である一方、指定されたデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
【０２９１】
すると、型変換管理部３０４は、型変換情報テーブル４０００を参照して、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための型変換を特定する（ここでは、第１の型変換１４１０が特定される。）。そして、型変換管理部３０４は、特定した第１の型変換１４１０を生成する（ステップＳ２６０８）。
【０２９２】
次に、型変換管理部３０４は、型変換処理の実行要求を第１の型変換１４１０に送信する（ステップＳ２６０９）。第１の型変換１４１０は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「ＩｎｐｕｔＳｔｒｅａｍ」から「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換する型変換処理を行う（ステップＳ２６１０）。そして、第１の型変換１４１０は、データ型が変換されたデータを型変換管理部３０４に返信する。
【０２９３】
そして、型変換管理部３０４は、第１の型変換１４１０からデータを受信すると、当該データをコードコンポーネント１３４０に送信する（ステップＳ２６１１）。
【０２９４】
コードコンポーネント１３４０は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ２６１２）。すなわち、コードコンポーネント１３４０は、図２５に示すアプリ画面Ｇ１１００の埋め込み文字列入力欄Ｇ１１１１に入力された文字列が埋め込まれたＱＲコードを生成する。
【０２９５】
そして、コードコンポーネント１３４０は、処理結果（すなわち、ＱＲコード）と、電子ファイル（すなわち、ブラウザ２１０から受信した電子ファイル）とを示すデータをフロー実行部３０１に返信する。
【０２９６】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ２６１３）。
【０２９７】
すなわち、フロー実行部３０１は、図２７に示す処理フロー情報１１００の詳細処理定義１１２０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｓｔａｍｐ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０２９８】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｓｔａｍｐ"」のコンポーネント（すなわち、スタンプコンポーネント１３５０）を生成する（ステップＳ２６１４）。そして、コンポーネント管理部３０２は、生成したスタンプコンポーネント１３５０をフロー実行部３０１に返信する。
【０２９９】
次に、フロー実行部３０１は、コンポーネント実行要求をスタンプコンポーネント１３５０に送信する（ステップＳ２６１５）。なお、当該実行要求には、データ型「ＬｏｃａｌＦｉｌｅＰａｔｈ」のデータと、パラメータ情報とが含まれる。
【０３００】
スタンプコンポーネント１３５０は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ２６１６）。なお、当該型変換要求には、データと、スタンプコンポーネント１３５０が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０３０１】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ２６１７）。
【０３０２】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０３０３】
すると、型変換管理部３０４は、型変換要求に含まれるデータをスタンプコンポーネント１３５０に送信する（ステップＳ２６１８）。
【０３０４】
スタンプコンポーネント１３５０は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ２６１９）。すなわち、スタンプコンポーネント１３５０は、電子ファイルについて、図２５に示すアプリ画面Ｇ１１００の位置入力欄Ｇ１１１２に入力された位置にＱＲコードを重畳させる。これにより、指定された位置にＱＲコードが重畳された電子ファイルが作成される。
【０３０５】
そして、スタンプコンポーネント１３５０は、ＱＲコードが重畳された電子ファイルを示すデータをフロー実行部３０１に返信する。
【０３０６】
以上により、図２７に示す処理フロー情報１１００に基づく一連の処理（処理フロー）の実行が完了する。これにより、本実施形態に係るサービス提供システム１０は、ＱＲコードが重畳された電子ファイルを機器２０に送信することができる。そして、機器２０で当該電子ファイルを印刷することで、ＱＲコード印刷サービスをユーザ提供することができる。
【０３０７】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、メール受信タイプのアプリケーションを登録する場合について説明する。メール受信タイプとは、所定のメールアドレス宛のメールを受信した場合に、一連の処理を実行させるタイプのアプリケーションである。言い換えれば、メール受信タイプのアプリケーションとは、メール受信をトリガとして一連の処理を実行させるアプリケーションである。
【０３０８】
なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。
【０３０９】
＜機能構成＞
まず、第三の実施形態に係る情報処理システム１の機能構成について、図２８を参照しながら説明する。図２８は、本実施形態に係る情報処理システム１の一例の機能構成を示す図である。
【０３１０】
図２８に示すサービス提供システム１０は、更に、メールサービス部１８０を有する。メールサービス部１８０は、サービス提供システム１０にインストールされた１以上のプログラムが、ＣＰＵ１６に実行させる処理により実現される。
【０３１１】
メールサービス部１８０は、メール受信及び処理フローの実行に関する処理を行う。メールサービス部１８０は、メール受信部１８１と、処理実行部１８２とを有する。メール受信部１８１は、メールを受信する。そして、メール受信部１８１は、所定の記憶領域に記憶されているメール情報テーブル１８３を参照して、受信したメールの送信先メールアドレスに対応するフロー名の処理フローの実行を処理実行部１８２に要求する。
【０３１２】
処理実行部１８２は、メール受信部１８１からの要求に応じて、ロジック処理部１１２にアプリケーションの実行を要求する。
【０３１３】
ここで、メール情報テーブル１８３について、図２９を参照しながら説明する。図２９は、メール情報テーブル１８３の一例を示す図である。
【０３１４】
図２９に示すように、メール情報テーブル１８３は、メールアドレスと、フロー名とが対応付けられている。これにより、メール受信部１８１は、受信したメールの送信先メールアドレスに対応するフロー名をメール情報テーブル１８３から取得することができる。
【０３１５】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、ＰＣ端末３０のユーザが、メール受信タイプのアプリケーションをサービス提供システム１０に登録する処理について、図３０を参照しながら説明する。図３０は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。なお、図３０のステップＳ８０１〜ステップＳ８０６及びステップＳ８０９〜ステップＳ８１３は、図８と同様であるため、その説明を省略する。
【０３１６】
ステップＳ８０６に続いて、ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ３００１）。すなわち、ＵＩ提供部１４１は、後述するアプリケーション登録画面Ｇ１２００〜Ｇ１３００を表示するためのポータル画面情報３０００をポータル画面情報記憶部１７０から取得する。
【０３１７】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０３１８】
ＰＣ端末３０のブラウザ３１０は、アプリケーション登録画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図３１に示すアプリケーション登録画面Ｇ１２００を表示する（ステップＳ３００２）。
【０３１９】
ここで、以降では、図３１〜図３２を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。
【０３２０】
図３１に示すアプリケーション登録画面Ｇ１２００には、メール受信タイプのアプリケーションを登録するための「メール受信」ボタンＧ１２１０が含まれる。
【０３２１】
ユーザが、図３１に示すアプリケーション登録画面Ｇ１２００において、「メール受信」ボタンＧ１２１０を選択した上で、「次へ」ボタンを押下する操作を行うと、メール受信タイプのアプリケーションを登録するための各種画面に遷移する。このような各種画面には、図３２に示すアプリケーション登録画面Ｇ１３００が含まれる。
【０３２２】
図３２に示すアプリケーション登録画面Ｇ１３００は、メール受信タイプのアプリケーションに関するメール設定（例えば、メールアドレス、添付ファイルの利用可否等）をするための画面である。ユーザは、メール設定欄Ｇ１３１０において、メールアドレスや添付ファイル利用可否等を設定することができる。
【０３２３】
まｔ、ユーザは、設定可否欄Ｇ１３２０において、アプリケーションの利用時にメール受信タイプのアプリケーションに関する設定の変更を許可するか否かを設定することができる。設定可否欄Ｇ１３２０がチェックされた設定は、アプリケーションの利用時に設定値を変更することができる。一方で、設定可否欄Ｇ１３２０がチェックされていない設定は、アプリケーション利用時に設定値を変更することができない。したがって、ユーザは、設定可否欄Ｇ１３２０をチェックしないことで、当該チェックされていない設定に対して、アプリケーション固有の設定値をデフォルト値として指定することができるようになる。
【０３２４】
ここで、アプリケーションの登録操作がなされると、例えば図３３に示すような、メール受信タイプのアプリ設定情報１２００が作成される。図３３は、本実施形態に係るアプリ設定情報１２００の一例を示す図である。
【０３２５】
図３３に示すアプリ設定情報１２００には、メール設定パラメータ１２１１が含まれる。メール設定パラメータ１２１１は、図３２に示すアプリケーション登録画面Ｇ１３００において設定されたメール設定の設定値を示すパラメータである。これにより、ユーザにより登録されたアプリケーションは、メール設定パラメータ１２１１をメール設定のデフォルト値として用いることができる。
【０３２６】
図３０に戻る。ステップＳ８１１に続いて、アプリ登録部１４２は、メールの登録要求を、メールサービス部１８０のメール受信部１８１に送信する（ステップＳ３００３）。なお、メールの登録要求には、ステップＳ８１０で作成されたアプリ設定情報１２００に含まれるメールアドレス（すなわち、メール設定欄Ｇ１３１０で設定されたメールアドレス）と、当該アプリ設定情報１２００に含まれるフロー名とが含まれる。
【０３２７】
メールサービス部１８０のメール受信部１８１は、メールの登録要求を受信すると、当該登録要求に含まれるメールアドレスと、フロー名とを対応付けてメール情報テーブル１８３に格納する（ステップＳ３００４）。これにより、メールアドレスがフロー名と対応付けてサービス提供システム１０に登録される。
【０３２８】
以上により、本実施形態に係る情報処理システム１では、メール受信タイプのアプリケーションがサービス提供システム１０に登録される。
【０３２９】
次に、メール受信により処理フローを実行する処理について、図３４を参照しながら説明する。図３４は、メール受信により処理フローを実行する処理の一例を示すシーケンス図である。
【０３３０】
まず、メールサービス部１８０のメール受信部１８１は、メールを受信する（ステップＳ３４０１）。
【０３３１】
次に、メールサービス部１８０のメール受信部１８１は、メール情報テーブル１８３を参照して、受信したメールの送信先メールアドレスに対応付けられているフロー名を取得する。そして、メール受信部１８１は、フロー名とパラメータ設定情報とが含まれる処理実行要求を処理実行部１８２に送信する（ステップＳ３４０２）。ここで、パラメータ設定情報は、例えば、送信先メールアドレス等である。
【０３３２】
なお、メール受信部１８１は、添付ファイル利用可否が許可されている場合、受信したメールに添付されている電子ファイルも含まれる処理実行要求を処理実行部１８２に送信する。
【０３３３】
次に、処理実行部１８２は、処理実行要求を受信すると、アプリケーションの実行要求を、入出力サービス処理部１１０のロジック処理部１１２に送信する（ステップＳ３４０３）。
【０３３４】
次に、入出力サービス処理部１１０のロジック処理部１１２は、アプリケーション実行要求を受信すると、処理フローの実行処理を行う（ステップＳ３４０４）。すなわち、ロジック処理部１１２は、当該要求に含まれるフロー名の処理フロー情報１１００に基づく一連の処理を実行する。
【０３３５】
以上により、本実施形態に係るサービス提供システム１０は、予め登録されたメールアドレス宛のメールを受信した場合、当該メールアドレスに対応付けられたフロー名の処理フローにより実現されるサービスを提供することができる。
【０３３６】
［第四の実施形態］
次に、第四の実施形態について説明する。第四の実施形態では、コンポーネント又は処理フローに対して、１以上のパラメータが含まれるパラメータグループを設定する場合について説明する。コンポーネント又は処理フローに対してパラメータグループが設定されることで、ユーザは、アプリケーションの登録の際に、パラメータグループを選択するだけで、適切なパラメータを設定することができるようになる。
【０３３７】
これにより、パラメータの使用を正確に理解していなくもアプリケーションの開発を行うことができるようになる。すなわち、例えば、どのパラメータを、どの程度の値に設定すれば所望の結果を得ることができるのかをユーザが正確に理解していない場合であっても、アプリケーションを開発することができるようになる。
【０３３８】
すなわち、本実施形態は、個々のパラメータの仕様を正確に理解していないユーザであっても、パラメータグループを選択することで、容易にアプリケーションの開発を行えるようにするものである。
【０３３９】
なお、第四の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。
【０３４０】
＜機能構成＞
まず、第四の実施形態に係る情報処理システム１の機能構成について、図３５を参照しながら説明する。図３５は、本実施形態に係る情報処理システム１の一例の機能構成を示す図である。
【０３４１】
図３５に示すサービス提供システム１０の入出力サービス処理部１１０は、更に、パラメータグループ管理部１１３を有する。また、サービス提供システム１０は、パラメータグループ情報記憶部１９０を有する。パラメータグループ情報記憶部１９０は、ＨＤＤ１８を用いて実現可能である。なお、パラメータグループ情報記憶部１９０は、サービス提供システム１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【０３４２】
パラメータグループ管理部１１３は、アプリ登録部１４２からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部１９０に記憶させる。また、パラメータグループ管理部１１３は、アプリ登録部１４２からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部１９０から取得する。
【０３４３】
パラメータグループ情報記憶部１９０は、パラメータグループ情報を記憶する。パラメータグループ情報は、コンポーネント又は処理フローと、パラメータグループとが対応付けられた情報である。パラメータグループ情報の詳細については後述する。
【０３４４】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、コンポーネントに対してパラメータグループを登録する処理について、図３６を参照しながら説明する。図３６は、コンポーネント毎にパラメータグループを登録する処理の一例を示すシーケンス図である。
【０３４５】
まず、機器２０のブラウザ２１０は、ポータルトップ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ３６０１）。ブラウザ２１０は、例えば、ポータルトップ画面の表示操作がユーザ等によりなされた場合に、ポータルトップ画面の表示要求を画面構成部１２１に送信する。
【０３４６】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、ポータルトップ画面の表示要求を受信すると、ポータルトップ画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ３６０２）。そして、画面構成部１２１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ２１０に返信する。これにより、機器２０には、ブラウザ２１０により、例えば図９に示すポータルトップ画面Ｇ１００を表示される。
【０３４７】
次に、機器２０のブラウザ２１０は、コンポーネント画面の表示操作を受け付ける（ステップＳ３６０３）。ユーザは、例えば図９に示すポータルトップ画面Ｇ１００において、「Ｃｏｍｐｏｎｅｎｔ」ボタンＧ１３０を押下することで、コンポーネント画面の表示操作を行うことができる。コンポーネント画面の表示操作がなされると、機器２０には、ブラウザ２１０により、例えば図３７に示すコンポーネント登録・更新画面Ｇ１４００が表示される。
【０３４８】
図３７に示すコンポーネント登録・更新画面Ｇ１４００には、コンポーネントに対してパラメータグループを作成及び登録するためのパラメータグループ作成ボタンＧ１４１０が含まれる。また、各パラメータグループ作成ボタンＧ１４１０は、各コンポーネントに対応付けられている。
【０３４９】
パラメータグループ作成ボタンＧ１４１０がユーザにより押下されると、機器２０には、ブラウザ２１０により、例えば図３８に示すパラメータグループの登録画面Ｇ１５００が表示される。
【０３５０】
図３８に示すパラメータグループの登録画面Ｇ１５００は、パラメータグループの作成及び登録を行うための画面である。図３８に示すパラメータグループの登録画面Ｇ１５００には、パラメータグループ名入力欄Ｇ１５１０と、説明入力欄Ｇ１５２０と、パラメータ設定欄Ｇ１５３０と、登録ボタンＧ１５４０とが含まれる。
【０３５１】
パラメータグループ名入力欄Ｇ１５１０は、パラメータグループの名称を入力するための入力欄である。説明入力欄Ｇ１５２０は、パラメータグループの説明を入力するための入力欄である。パラメータ設定欄Ｇ１５３０は、パラメータグループに含まれる各パラメータの設定値を設定するための設定欄である。
【０３５２】
ユーザは、パラメータグループ名入力欄Ｇ１５１０及び説明入力欄Ｇ１５２０にそれぞれパラメータグループ名及びパラメータグループの説明を入力すると共に、パラメータ設定欄Ｇ１５３０に各パラメータの設定値を設定する。そして、ユーザは、登録ボタンＧ１５４０を押下して、パラメータグループの作成操作を行う。これにより、図３７に示すコンポーネント登録・更新画面Ｇ１４００で対応付けられているコンポーネントに対するパラメータグループが作成される。
【０３５３】
ここで、パラメータグループの作成及び登録を行うための画面の他の例を図３９及び図４０に示す。図３９及び図４０は、パラメータグループの登録画面の他の例を示す図である。
【０３５４】
図３９に示すパラメータグループの登録画面Ｇ１６００には、カスタマイズ可否設定欄Ｇ１６１０が含まれる。ユーザは、カスタマイズ可否設定欄Ｇ１６１０において、アプリケーション登録時に設定値の変更を許可するか否かを設定することができる。カスタマイズ可否設定欄Ｇ１６１０がチェックされたパラメータは、アプリケーションの登録時に、ユーザが設定値を変更することができる。一方で、カスタマイズ可否設定欄Ｇ１６１０がチェックされていないパラメータは、ユーザは設定値を変更することができないようになる。このように、パラメータグループに含まれるパラメータのうち、一部のパラメータの設定値を変更可能にすることで、似たようなパラメータグループが量産されてしまうような事態を防止することができる。
【０３５５】
また、図４０に示すパラメータグループの登録画面Ｇ１７００には、公開範囲設定欄Ｇ１７１０が含まれる。ユーザは、公開範囲設定欄Ｇ１７１０において、パラメータグループの公開範囲を設定することができる。パラメータグループの公開範囲には、例えば、「Ｐｕｂｌｉｃ」と、「Ｓｈａｒｅ」と、「Ｐｒｉｖａｔｅ」とがある。「Ｐｕｂｌｉｃ」は、全てのユーザに対してパラメータグループを公開する場合に設定される。「Ｓｈａｒｅ」は、特定のユーザに対してパラメータグループを公開する場合に設定される。「Ｐｒｉｖａｔｅ」は、他のユーザに対してパラメータグループを公開しない場合に設定される。
【０３５６】
図３６に戻る。機器２０のブラウザ２１０は、パラメータグループの作成操作を受け付ける（ステップＳ３６０４）。次に、機器２０のブラウザ２１０は、パラメータグループの作成操作を受け付けると、パラメータグループの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ３６０５）。なお、パラメータグループの登録要求には、例えば、図３８に示すパラメータグループの登録画面Ｇ１５００でユーザにより入力された各種情報（パラメータグループ名、パラメータグループの説明、各パラメータの設定値等）と、ユーザにより選択されたパラメータグループ作成ボタンＧ１４１０に対応するコンポーネントのコンポーネント名とが含まれる。
【０３５７】
次に、ポータルサービス部１４０のアプリ登録部１４２は、パラメータグループの登録要求を画面構成部１２１から受信すると、当該登録要求を、入出力サービス処理部１１０のパラメータグループ管理部１１３に送信する（ステップＳ３６０６）。
【０３５８】
次に、入出力サービス処理部１１０のパラメータグループ管理部１１３は、パラメータグループの登録要求を受信すると、パラメータグループを登録する（ステップＳ３６０７）。すなわち、パラメータグループ管理部１１３は、パラメータグループの登録要求に含まれる各種情報からパラメータグループ情報を作成して、パラメータグループ情報記憶部１９０に記憶させる。
【０３５９】
ここで、パラメータグループ情報記憶部１９０に記憶されているパラメータグループ情報（すなわち、コンポーネント毎に登録されたパラメータグループ情報）について、図４１を参照しながら説明する。図４１は、コンポーネント毎に登録されたパラメータグループ情報の一例を示す図である。
【０３６０】
図４１に示すように、コンポーネント毎に登録されたパラメータグループ情報は、データ項目として、パラメータグループＩＤと、コンポーネント名と、タイトルと、説明と、パラメータグループとが含まれる。
【０３６１】
パラメータグループＩＤは、パラメータグループ情報を識別する識別情報である。タイトルは、パラメータグループ名入力欄Ｇ１５１０に入力されたパラメータグループ名である。説明は、説明入力欄Ｇ１５２０に入力されたパラメータグループの説明である。パラメータグループは、パラメータ設定欄Ｇ１５３０で設定された各パラメータの設定値である。
【０３６２】
このように、パラメータグループＩＤと、コンポーネント名と、タイトルと、説明と、パラメータグループとが対応付けられたパラメータグループ情報がパラメータグループ情報記憶部１９０に記憶されることで、パラメータグループが登録される。
【０３６３】
次に、処理フローに対してパラメータグループを登録する処理について、図４２を参照しながら説明する。図４２は、処理フロー毎にパラメータグループを登録する処理の一例を示すシーケンス図である。
【０３６４】
まず、機器２０のブラウザ２１０は、ポータルトップ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ４２０１）。ブラウザ２１０は、例えば、ポータルトップ画面の表示操作がユーザ等によりなされた場合に、ポータルトップ画面の表示要求を画面構成部１２１に送信する。
【０３６５】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、ポータルトップ画面の表示要求を受信すると、ポータルトップ画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ４２０２）。そして、画面構成部１２１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ２１０に返信する。これにより、機器２０には、ブラウザ２１０により、例えば図９に示すポータルトップ画面Ｇ１００を表示される。
【０３６６】
次に、機器２０のブラウザ２１０は、フロー画面の表示操作を受け付ける（ステップＳ４２０３）。ユーザは、例えば図９に示すポータルトップ画面Ｇ１００において、「Ｆｌｏｗ」ボタンＧ１２０を押下することで、フロー画面の表示操作を行うことができる。フロー画面の表示操作がなされると、機器２０には、ブラウザ２１０により、処理フロー情報１１００を作成するための所定の画面が表示される。ユーザは、当該画面において、処理フロー情報１１００と共に、当該処理フロー情報１１００に基づく処理フローに対するパラメータグループの作成及び登録を行うことができる。パラメータグループの作成及び登録方法は、図３８〜図４０を用いて説明した通りである。
【０３６７】
なお、ユーザは、作成した処理フロー情報１１００に対するパラメータグループを作成するだけでなく、既に存在する処理フロー情報１１００に対するパラメータグループを作成することもできる。
【０３６８】
機器２０のブラウザ２１０は、パラメータグループの作成操作を受け付ける（ステップＳ４２０４）。次に、機器２０のブラウザ２１０は、パラメータグループの作成操作を受け付けると、パラメータグループの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ４２０５）。なお、パラメータグループの登録要求には、例えば、ユーザにより入力された各種情報（パラメータグループ名、パラメータグループの説明、各パラメータの設定値等）と、ユーザにより作成された処理フロー情報１１００のフロー名とが含まれる。
【０３６９】
次に、ポータルサービス部１４０のアプリ登録部１４２は、パラメータグループの登録要求を画面構成部１２１から受信すると、当該登録要求を、入出力サービス処理部１１０のパラメータグループ管理部１１３に送信する（ステップＳ４２０６）。
【０３７０】
次に、入出力サービス処理部１１０のパラメータグループ管理部１１３は、パラメータグループの登録要求を受信すると、パラメータグループを登録する（ステップＳ４６０７）。すなわち、パラメータグループ管理部１１３は、パラメータグループの登録要求に含まれる各種情報からパラメータグループ情報を作成して、パラメータグループ情報記憶部１９０に記憶させる。
【０３７１】
ここで、パラメータグループ情報記憶部１９０に記憶されているパラメータグループ情報（すなわち、処理フロー毎に登録されたパラメータグループ情報）について、図４３を参照しながら説明する。図４３は、処理フロー毎に登録されたパラメータグループ情報の一例を示す図である。
【０３７２】
図４３に示すように、処理フロー毎に登録されたパラメータグループ情報は、データ項目として、パラメータグループＩＤと、フロー名と、タイトルと、説明と、パラメータグループとが含まれる。
【０３７３】
このように、パラメータグループＩＤと、フロー名と、タイトルと、説明と、パラメータグループとが対応付けられたパラメータグループ情報がパラメータグループ情報記憶部１９０に記憶されることで、パラメータグループが登録される。
【０３７４】
次に、登録済のパラメータグループを利用してアプリケーションを登録する処理について、図４４を参照しながら説明する。図４４は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。なお、図４４のステップＳ８０１〜ステップＳ８０６及びステップＳ８０９〜ステップＳ８１３は、図８と同様であるため、その説明を省略する。
【０３７５】
ステップＳ８０６に続いて、ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ４４０１）。すなわち、ＵＩ提供部１４１は、後述するアプリケーション登録画面Ｇ１８００を表示するためのポータル画面情報３０００をポータル画面情報記憶部１７０から取得する。
【０３７６】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０３７７】
ＰＣ端末３０のブラウザ３１０は、アプリケーション登録画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図４５に示すアプリケーション登録画面Ｇ１８００を表示する（ステップＳ４４０２）。
【０３７８】
図４５に示すアプリケーション登録画面Ｇ１８００は、ユーザがアプリケーションを登録するための各種画面の１つであり、パラメータグループを選択するための画面である。図４５に示すアプリケーション登録画面Ｇ１８００には、パラメータグループ選択欄Ｇ１８１０と、拡張設定ボタンＧ１８２０とが含まれる。
【０３７９】
パラメータグループ選択欄Ｇ１８１０は、アプリケーションが実行する処理フロー又は当該処理フローの各処理を実行するコンポーネントに対するパラメータグループを選択する選択欄である。図４５に示す例では、スキャンにより生成された電子ファイルにスタンプ処理を行う処理フローに対するパラメータグループを選択する場合を示している。
【０３８０】
また、拡張設定ボタンＧ１８２０は、パラメータグループを利用しないでパラメータを設定したい場合に用いる。拡張設定ボタンＧ１８２０を押下することにより、パラメータグループを利用せずに、個々のパラメータの設定値を設定することができる。
【０３８１】
これにより、ユーザは、アプリケーションが実行される処理フローや当該処理フローの各処理を実行するコンポーネントに対するパラメータを、パラメータグループを選択するだけで設定することができるようになる。
【０３８２】
ここで、パラメータグループを選択するためのアプリケーション登録画面の他の例を図４６に示す。図４６に示すアプリケーション登録画面Ｇ１９００は、図３９に示すパラメータグループの登録画面Ｇ１６００においてカスタマイズ可否設定欄Ｇ１６１０がチェックされた場合である。図４６に示す例では、パラメータ「縦マージン」及び「横マージン」のカスタマイズ可否設定欄Ｇ１６１０がチェックされた場合であり、パラメータ「縦マージン」及び「横マージン」の設定値の変更欄Ｇ１９１０が含まれる。これにより、ユーザは、パラメータ「縦マージン」及び「横マージン」の設定値を変更することができる。
【０３８３】
図４４に戻る。ステップＳ８０９に続いて（すなわち、アプリケーションの登録操作を受け付けると）、ＰＣ端末３０のブラウザ３１０は、パラメータグループの取得要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ４４０３）。なお、パラメータグループの取得要求には、例えば、アプリケーション登録画面Ｇ１８００のパラメータグループ選択欄Ｇ１８１０で選択されたパラメータグループのパラメータグループＩＤが含まれる。
【０３８４】
次に、ポータルサービス部１４０のアプリ登録部１４２は、パラメータグループの取得要求を受信すると、当該取得要求を、入出力サービス処理部１１０のパラメータグループ管理部１１３に送信する（ステップＳ４４０４）。
【０３８５】
入出力サービス処理部１１０のパラメータグループ管理部１１３は、パラメータグループの取得要求を受信すると、当該取得要求に含まれるパラメータグループＩＤのパラメータグループ情報をパラメータグループ情報記憶部１９０から取得する（ステップＳ４４０５）。そして、パラメータグループ管理部１１３は、パラメータグループ情報記憶部１９０から取得したパラメータグループ情報を、アプリ登録部１４２を介して、ブラウザ３１０に返信する。
【０３８６】
次に、ＰＣ端末３０のブラウザ３１０は、パラメータグループ情報が返信されると、当該パラメータグループ情報に含まれるパラメータグループの各パラメータが定義されたアプリ設定情報１２００を作成する（ステップＳ４４０６）。これにより、パラメータグループに含まれる各パラメータの設定値が定義されたアプリ設定情報１２００が登録される。
【０３８７】
以上により、本実施形態に係る情報処理システム１では、ユーザは、コンポーネントや処理フローに対してパラメータグループを登録することができる。また、本実施形態に係る情報処理システム１では、ユーザは、予め登録されたパラメータグループを利用して、アプリケーションの登録を行うことができる。このとき、ユーザは、予め登録されたパラメータグループの中から、所望のパラメータグループを選択するだけで、容易にアプリケーションのパラメータを設定することができる。
【０３８８】
［第五の実施形態］
次に、第五の実施形態について説明する。第五の実施形態では、アプリケーションのパラメータの設定値が入力される際のバリデーションを登録する場合について説明する。これにより、例えば、アプリケーションの利用時にパラメータの設定値を入力する際に、当該パラメータの設定値として使用不可能な値等が設定されてしまう事態を防止することができる。
【０３８９】
なお、第五の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。
【０３９０】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、ＰＣ端末３０のユーザがアプリケーションを登録する際に、当該アプリケーションのパラメータのバリデーションを登録する場合の処理について、図４７を参照しながら説明する。図４７は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。なお、図４７のステップＳ８０１〜ステップＳ８０４及びステップＳ８０９は、図８と同様であるため、その説明を省略する。
【０３９１】
ステップＳ８０４に続いて、ＰＣ端末３０のブラウザ３１０は、バリデーション設定画面の表示操作を受け付ける（ステップＳ４７０１）。ユーザは、例えば図４８に示すアプリケーション登録画面Ｇ２０００において、バリデーションを設定したいパラメータに対応するバリデーション設定ボタンＧ２０１０を押下することで、バリデーション設定画面の表示操作を行うことができる。
【０３９２】
ＰＣ端末３０のブラウザ３１０は、バリデーション設定画面の表示操作を受け付けると、バリデーション設定画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ４７０２）。
【０３９３】
ポータルサービス部１４０のＵＩ提供部１４１は、バリデーション設定画面の表示要求を受信すると、バリデーション設定画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ４７０３）。
【０３９４】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。これにより、ＰＣ端末３０には、ブラウザ３１０により、例えば図４９に示すアプリケーション登録画面Ｇ２１００が表示される。
【０３９５】
図４９に示すアプリケーション登録画面Ｇ２１００は、ユーザにより押下されたバリデーション設定ボタンＧ２０１０に対応するパラメータのバリデーションを設定するための画面である。図４９に示すアプリケーション登録画面Ｇ２１００には、バリデーション設定欄Ｇ２１１０と、設定ボタンＧ２１２０とが含まれる。
【０３９６】
ユーザは、バリデーション設定欄Ｇ２１１０においてパラメータに対するバリデーションを設定した上で、設定ボタンＧ２１２０を押下することで、バリデーションの設定操作を行うことができる。図４９に示す例では、バリデーションとして、パラメータの設定値に対する文字チェックと文字数範囲とを設定する場合を示している。
【０３９７】
図４７に戻る。ＰＣ端末３０のブラウザ３１０は、バリデーション設定操作を受け付ける（ステップＳ４７０４）。
【０３９８】
ここで、文字チェック等のバリデーションでは、ポータルサービス部１４０で正規表現を生成する方法と、入出力サービス処理部１１０でバリデーション関数の読み込みを行う方法とがある。いずれの方法を用いるかは、例えば、サービス提供システム１０の管理者等により予め設定される。
【０３９９】
ポータルサービス部１４０で正規表現を生成する場合、ＰＣ端末３０のブラウザ３１０は、正規表現の生成要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ４７０５）。
【０４００】
次に、ポータルサービス部１４０のＵＩ提供部１４１は、正規表現の生成要求を受信すると、文字チェック等のバリデーションの正規表現を生成する（ステップＳ４７０６）。すなわち、ＵＩ提供部１４１は、バリデーションを正規表現で表したバリデーション情報を生成する。
【０４０１】
そして、ＵＩ提供部１４１は、生成したバリデーション正規表現（バリデーションを正規表現で表したバリデーション情報）をブラウザ３１０に返信する。
【０４０２】
ここで、正規表現により表されたバリデーション情報を図５０に示す。図５０は、正規表現により表されたバリデーション情報の一例を示す図である。図５０に示す例は、入力禁止文字が「＠」及び「；」、かつ、文字数が１０文字以上２０文字以下であるバリデーションが正規表現で表されたバリデーション情報である。
【０４０３】
また、正規表現で表されていないバリデーション情報（すなわち、入出力サービス処理部１１０でバリデーション関数の読み込みを行う場合のバリデーション情報）を図５１に示す。図５１は、バリデーション関数を読み込むバリデーション情報の一例を示す図である。図５１に示す例は、入力許可文字が実数のみであり、かつ、文字数が１０文字以上２０文字以下であるバリデーションを行う関数が定義されたバリデーション情報である。
【０４０４】
バリデーション関数には、バリデーションタイプを示す「ｔｙｐｅ」が含まれる。図５１に示す例では、バリデーションタイプは、入力許可文字が実数のみであることを示す「ｒｅａｌ」が設定されている。
【０４０５】
正規表現で表されたバリデーション情報が作成されない場合、例えばブラウザ３１０により、バリデーション関数を読み込むバリデーション情報が作成される。
【０４０６】
図４７に戻る。ステップＳ８０９に続いて、ＰＣ端末３０のブラウザ３１０は、アプリケーションの登録操作を受け付けると、バリデーション情報が含まれるアプリ設定情報１２００を作成する（ステップＳ４７０７）。
【０４０７】
次に、ＰＣ端末３０のブラウザ３１０は、アプリケーションの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ４７０８）。なお、アプリケーションの登録要求には、ステップＳ４７０７で作成されたアプリ設定情報１２００が含まれる。
【０４０８】
ポータルサービス部１４０のアプリ登録部１４２は、アプリケーションの登録要求を受信すると、当該要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ４７０９）。
【０４０９】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリケーションの登録要求を受信すると、アプリケーションを登録する（ステップＳ４７１０）。そして、アプリ管理部１１１は、登録結果をブラウザ３１０に返信する。これにより、バリデーションが設定されたアプリケーションが登録される。
【０４１０】
次に、機器２０のユーザが、バリデーションが設定されたアプリケーションにより提供されるサービスを利用する場合について、図５２を参照しながら説明する。図５２は、バリデーションが設定されたアプリケーションにより提供されるサービスを利用する場合の全体処理の一例を示すシーケンス図である。なお、図５２のステップＳ１６０７〜ステップＳ１６１１は、図１６と同様であるため、その説明を省略する。
【０４１１】
まず、機器２０のブラウザ２１０は、バリデーションが設定されたアプリケーションにより提供されるサービスのアプリ画面を表示させるための操作（表示操作）を受け付ける（ステップＳ５２０１）。なお、機器２０のユーザは、例えば、当該サービスのアプリ画面のＵＲＬをブラウザ２１０のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
【０４１２】
機器２０のブラウザ２１０は、当該サービスのアプリ画面の表示操作を受け付けると、当該サービスのアプリ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ５２０２）。なお、当該アプリ画面の表示要求には、当該サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０４１３】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、アプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ５２０３）。なお、アプリ設定の取得要求には、当該サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０４１４】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリＩＤに関連付けて記憶されているアプリ設定情報１２００をアプリ情報記憶部１５０から取得する（ステップＳ５２０４）。
【０４１５】
次に、入出力サービス処理部１１０のアプリ管理部１１１は、上記のステップＳ５２０４で取得したアプリ設定情報１２００にバリデーションタイプが含まれる場合、バリデーション関数を読み込む（ステップＳ５２０５）。
【０４１６】
そして、アプリ管理部１１１は、アプリ設定情報１２００を画面構成部１２１に返信する。なお、アプリ設定情報１２００にバリデーションタイプが含まれない場合、アプリ管理部１１１は、上記のステップＳ５２０４で取得したアプリ設定情報１２００を画面構成部１２１に返信する。アプリ設定情報１２００にバリデーションタイプが含まれない場合とは、アプリ設定情報１２００にバリデーションが含まれない場合又はアプリ設定情報１２００に正規表現によるバリデーションが含まれる場合である。
【０４１７】
ここで、バリデーション関数が読み込まれた後のアプリ設定情報１２００を図５３に示す。図５３は、第五の実施形態に係るアプリ設定情報１２００の一例を示す図である。
【０４１８】
図５３に示すアプリ設定情報１２００には、バリデーション関数を読み込むことで作成されたバリデーション１２１３が定義されている。
【０４１９】
図５２に戻る。ステップＳ５２０５に続いて、Ｗｅｂサービス処理部１２０の画面構成部１２１は、当該サービスを提供するアプリ情報１０００のアプリＩＤと関連付けて記憶されているアプリ画面情報２０００をアプリ画面情報記憶部１６０から取得する（ステップＳ５２０６）。そして、画面構成部１２１は、アプリ画面情報記憶部１６０から取得したアプリ画面情報２０００と、上記のステップＳ５２０５で返信されたアプリ設定情報１２００とをブラウザ２１０に返信する。
【０４２０】
機器２０のブラウザ２１０は、画面構成部１２１から受信したアプリ画面情報２０００とアプリ設定情報１２００とに基づいて、例えば図５４に示すアプリ画面Ｇ２２００を表示する（ステップＳ５２０７）。
【０４２１】
図５４に示すアプリ画面Ｇ２２００には、アプリケーションのパラメータを入力するためのパラメータ入力欄Ｇ２２１０が含まれる。図５４に示す例では、件名を示すパラメータと、本文を示すパラメータとが入力可能となっている。
【０４２２】
ユーザは、所望の設定値をパラメータ入力欄Ｇ２２１０に入力することで、パラメータ入力操作を行うことができる。
【０４２３】
次に、機器２０のブラウザ２１０は、パラメータ入力操作を受け付ける（ステップＳ５２０８）。
【０４２４】
機器２０のブラウザ２１０は、パラメータ入力操作を受け付けると、入力されたパラメータの設定値についてバリデーションチェックを行う（ステップＳ５２０９）。
【０４２５】
ここで、パラメータ入力操作により入力されたパラメータの設定値に、入力が禁止されている文字が含まれていたとする。この場合、機器２０のブラウザ２１０は、図５４に示すアプリ画面Ｇ２２００上に、バリデーション結果Ｇ２２２０を表示する（ステップＳ５２１０）。バリデーション結果Ｇ２２２０は、入力されたパラメータの設定値に禁止文字が入力されていることを示している。バリデーション結果Ｇ２２２０により、ユーザは、自身が入力したパラメータの設定値が適切でないことを知ることができ、パラメータの設定値を入力し直すことができる。
【０４２６】
なお、バリデーション結果Ｇ２２２０等のパラメータの設定値がエラーとなるような入力が行われた場合、アプリ画面Ｇ２２００は、スキャンを実行するための「Ｓｔａｒｔ」ボタンを押下することができないように表示する。
【０４２７】
以上のように、本実施形態では、ユーザにより入力されたパラメータの設定値に対してバリデーションチェックが行われる。これにより、例えば、パラメータの設定値について、入力が禁止されている文字が設定されてしまったり、予め定められた文字数を超えて設定されてしまったりするような事態を防止することができる。
【０４２８】
ここで、図４７では、アプリケーションを登録する際に、当該アプリケーションに対して設定するバリデーションのバリデーション情報を作成する場合について説明したが、作成されたバリデーション情報は登録されても良い。そして、登録されているバリデーション情報を利用して、アプリケーションに対してバリデーションを設定しても良い。
【０４２９】
以降では、バリデーション情報を作成及び登録する場合について、図５５を参照しながら説明する。図５５は、バリデーション情報の登録処理の一例を示すシーケンス図である。
【０４３０】
まず、ＰＣ端末３０のブラウザ３１０は、バリデーション設定画面の表示操作を受け付ける（ステップＳ５５０１）。ユーザは、例えば、バリデーション設定画面へのリンク等を押下することで、バリデーション設定画面の表示操作を行うことができる。
【０４３１】
ＰＣ端末３０のブラウザ３１０は、バリデーション設定画面の表示操作を受け付けると、バリデーション設定画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ５５０２）。
【０４３２】
ポータルサービス部１４０のＵＩ提供部１４１は、バリデーション設定画面の表示要求を受信すると、バリデーション設定画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ５５０３）。
【０４３３】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。これにより、ＰＣ端末３０には、ブラウザ３１０により、例えば図５６に示すバリデーション設定画面Ｇ２３００が表示される。
【０４３４】
図５６に示すバリデーション設定画面Ｇ２３００には、バリデーション設定欄Ｇ２３１０と、登録ボタンＧ２３２０と、利用ボタンＧ２３３０とが含まれる。
【０４３５】
ユーザは、バリデーション設定欄Ｇ２３１０においてパラメータに対するバリデーションを設定した上で、登録ボタンＧ２３２０を押下することで、バリデーション登録画面の表示操作を行うことができる。
【０４３６】
図５５に戻る。ＰＣ端末３０のブラウザ３１０は、バリデーション登録画面の表示操作を受け付ける（ステップＳ５５０４）。ＰＣ端末３０のブラウザ３１０は、バリデーション登録画面の表示操作を受け付けると、バリデーション登録画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ５５０５）。
【０４３７】
ポータルサービス部１４０のＵＩ提供部１４１は、バリデーション登録画面の表示要求を受信すると、バリデーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ５５０６）。
【０４３８】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。これにより、ＰＣ端末３０には、ブラウザ３１０により、例えば図５６に示すバリデーション登録画面Ｇ２４００が表示される。
【０４３９】
図５６に示すバリデーション登録画面Ｇ２４００には、バリデーション名入力欄Ｇ２４１０と、登録ボタンＧ２４２０とが含まれる。
【０４４０】
ユーザは、バリデーション名入力欄Ｇ２４１０においてバリデーションを識別する名称を入力した上で、登録ボタンＧ２４２０を押下することで、バリデーション登録操作を行うことができる。バリデーション登録操作が行われると、ブラウザ３１０により、バリデーション名入力欄Ｇ２４１０に入力されたバリデーション名と、バリデーション設定欄Ｇ２３１０に入力されたバリデーションとが含まれるバリデーション情報が作成される。
【０４４１】
図５５に戻る。ＰＣ端末３０のブラウザ３１０は、バリデーション登録操作を受け付ける（ステップＳ５５０７）。ＰＣ端末３０のブラウザ３１０は、バリデーション登録操作を受け付けると、バリデーション情報の登録要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ５５０８）。なお、バリデーション情報の登録要求には、バリデーション情報が含まれる。
【０４４２】
入出力サービス処理部１１０のアプリ管理部１１１は、バリデーション情報の登録要求を受信すると、当該登録要求に含まれるバリデーション情報を登録する（ステップＳ５５０９）。すなわち、アプリ管理部１１１は、当該バリデーション情報を所定の記憶領域（例えば、アプリ情報記憶部１５０等）に保存する。そして、アプリ管理部１１１は、バリデーション情報の登録結果をブラウザ３１０に返信する。
【０４４３】
以上により、本実施形態に係る情報処理システム１では、バリデーション情報がサービス提供システム１０に登録される。
【０４４４】
次に、登録済のバリデーション情報を利用する場合について、図５７を参照しながら説明する。図５７は、バリデーション情報の登録処理の他の例を示すシーケンス図である。なお、図５７のステップＳ５５０１〜ステップＳ５５０３は、図５５と同様であるため、その説明を省略する。
【０４４５】
ＰＣ端末３０のブラウザ３１０は、バリデーション利用画面の表示操作を受け付ける（ステップＳ５７０１）。ユーザは、図５６に示すバリデーション設定画面Ｇ２３００において利用ボタンＧ２３３０を押下することで、バリデーション利用画面の表示操作を行うことができる。
【０４４６】
ＰＣ端末３０のブラウザ３１０は、バリデーション利用画面の表示操作を受け付けると、バリデーション利用画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ５７０２）。
【０４４７】
ポータルサービス部１４０のＵＩ提供部１４１は、バリデーション利用画面の表示要求を受信すると、バリデーション一覧の取得要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ５７０３）。
【０４４８】
入出力サービス処理部１１０のアプリ管理部１１１は、バリデーション一覧の取得要求を受信すると、登録済のバリデーション情報の一覧（バリデーション一覧）を取得する（ステップＳ５７０４）。アプリ管理部１１１は、所定の記憶領域（例えば、アプリ情報記憶部１５０等）に保存されているバリデーション情報の一覧を取得する。なお、アプリ管理部１１１は、登録済のバリデーション情報に含まれるバリデーション名の一覧を取得しても良い。
【０４４９】
そして、アプリ管理部１１１は、取得したバリデーション一覧をＵＩ提供部１４１に返信する。
【０４５０】
ポータルサービス部１４０のＵＩ提供部１４１は、バリデーション一覧が返信されると、バリデーション利用画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ５７０５）。そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００と、バリデーション一覧とをブラウザ３１０に返信する。これにより、ＰＣ端末３０には、ブラウザ３１０により、例えば図５８に示すバリデーション利用画面Ｇ２５００が表示される。
【０４５１】
図５８に示すバリデーション利用画面Ｇ２５００には、バリデーション選択欄Ｇ２５１０と、利用ボタンＧ２５２０とが含まれる。ユーザは、所望のバリデーションをバリデーション選択欄Ｇ２５１０から選択した上で、利用ボタンＧ２５２０を押下することで、選択したバリデーションを利用することができる。このように選択されたバリデーション情報は、例えば、アプリケーションに対して設定することができる。また、選択されたバリデーション情報を編集した上で、再登録しても良い。
【０４５２】
以上により、本実施形態に係る情報処理システム１では、サービス提供システム１０に登録されているバリデーション情報を利用して、アプリケーションに対してバリデーションを設定したり、バリデーション情報の編集等を行ったりすることができる。
【０４５３】
［第六の実施形態］
次に、第六の実施形態について説明する。第六の実施形態では、フォルダブラウズの処理フローを自動的に作成する場合について説明する。
【０４５４】
ファイルのダウンロードやアップロード等を行うアプリケーションでは、ファイルストレージサービス上のファイル又はフォルダのＩＤ等をパラメータとして入力する必要がある。このようなＩＤ等は、例えば、ファイルやフォルダをブラウジングしながら指定することができる。しかしながら、例えばアプリケーション開発の経験が少ないユーザは、このようなブラウジング用の処理フローを作成することが困難である場合がある。そこで、本実施形態では、ユーザがアプリケーションの登録時にパラメータの入力方法を指定するだけで、ファイル一覧やフォルダ一覧を取得するようなブラウズ用の処理フローを自動的に作成するものである。これにより、フォルダブラウズを行うアプリケーションを容易に開発することができるようになる。
【０４５５】
なお、第六の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。
【０４５６】
＜機能構成＞
まず、第六の実施形態に係る情報処理システム１の機能構成について、図５９を参照しながら説明する。図５９は、本実施形態に係る情報処理システム１の一例の機能構成を示す図である。
【０４５７】
図５９に示すサービス提供システム１０の入出力サービス処理部１１０は、更に、フロー自動生成部１１４を有する。フロー自動生成部１１４は、アプリケーション登録時に、アプリ管理部１１１からの要求に応じて、パラメータの入力方法に対応する処理フロー情報１１００を、処理フローテンプレートから生成する。処理フローテンプレートとは、処理フロー情報１１００を作成するためのテンプレート（雛形）である。
【０４５８】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、ＰＣ端末３０のユーザが、例えばフォルダブラウズ等によりパラメータが入力されるアプリケーションを登録する場合について、図６０を参照しながら説明する。図６０は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。なお、図６０のステップＳ８０１〜ステップＳ８０５及びステップＳ８０９〜ステップＳ８１０は、図８と同様であるため、その説明を省略する。
【０４５９】
ステップＳ８０６に続いて、ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報３０００をポータル画面情報記憶部１７０から取得する（ステップＳ６００１）。すなわち、ＵＩ提供部１４１は、後述するアプリケーション登録画面Ｇ２６００を表示するためのポータル画面情報３０００をポータル画面情報記憶部１７０から取得する。
【０４６０】
そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報３０００をブラウザ３１０に返信する。
【０４６１】
ＰＣ端末３０のブラウザ３１０は、アプリケーション登録画面のポータル画面情報３０００を受信すると、当該ポータル画面情報３０００に基づいて、例えば図６１に示すアプリケーション登録画面Ｇ２６００を表示する（ステップＳ６００２）。
【０４６２】
図６１に示すアプリケーション登録画面Ｇ２６００は、ユーザがアプリケーションを登録するための各種画面の１つであり、コンポーネントが入力する各パラメータに対する入力方法を指定するための画面である。図６１に示すアプリケーション登録画面Ｇ２６００には。コンポーネントが入力する各パラメータの各種情報を設定するためのパラメータ設定欄Ｇ２６１０が含まれる。図６１に示す例では、ストレージサービスコンポーネントが入力するパラメータの各種情報を設定する場合を示している。
【０４６３】
パラメータ設定欄Ｇ２６１０では、パラメータの入力方法を設定することができる。パラメータの入力方法には、フォルダブラウズやテキストボックス、セレクトボックス等がある。ユーザは、パラメータ設定欄Ｇ２６１０において、コンポーネントが入力する各パラメータの入力方法等を設定することができる。
【０４６４】
ここで、上記のパラメータ設定欄Ｇ２６１０において、パラメータ名「フォルダＩＤ」の入力方法に「フォルダブラウズ」、パラメータ名「ファイル名」の入力方法に「テキストボックス」が設定された場合におけるパラメータのデータ構造を図６２に示す。図６２では、「ｎａｍｅ」がパラメータ名を、「ｉｎｐｕｔＴｙｐｅ」が入力方法を示している。
【０４６５】
図６０に戻る。ステップＳ８１０に続いて（すなわち、アプリ設定情報１２００が作成されると）、ＰＣ端末３０のブラウザ３１０は、アプリケーションの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ６００３）。なお、アプリケーションの登録要求には、ステップＳ８１０で作成されたアプリ設定情報１２００が含まれる。
【０４６６】
ポータルサービス部１４０のアプリ登録部１４２は、アプリケーションの登録要求を受信すると、当該登録要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ６００４）。
【０４６７】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリケーションの登録要求を受信すると、当該登録要求に含まれるアプリ設定情報１２００に入力方法「フォルダブラウズ」が含まれるか否かを確認する（ステップＳ６００５）。すなわち、アプリ管理部１１１は、入力方法が「フォルダブラウズ」であるパラメータ情報がアプリ設定情報１２００に含まれるか否かを確認する。以降では、入力方法が「フォルダブラウズ」であるパラメータ情報がアプリ設定情報１２００に含まれるものとする。
【０４６８】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリ設定情報１２００に入力方法「フォルダブラウズ」が含まれる場合、処理フロー生成要求をフロー自動生成部１１４に送信する（ステップＳ６００６）。なお、処理フロー生成要求には、入力方法が「フォルダブラウズ」であるパラメータ情報が１以上含まれる。パラメータ情報には、パラメータ名と、当該パラメータ情報に定義されたパラメータの入力方法と、当該パラメータが入力されるコンポーネントのコンポーネント名とが含まれる。以降のステップＳ６００７〜ステップＳ６０１０の処理は、処理フロー生成要求に含まれるパラメータ情報毎に実行される。
【０４６９】
入出力サービス処理部１１０のフロー自動生成部１１４は、処理フロー生成要求を受信すると、当該生成要求に含まれるパラメータ情報からコンポーネント名を取得する（ステップＳ６００７）。
【０４７０】
次に、入出力サービス処理部１１０のフロー自動生成部１１４は、上記のステップＳ６００７で取得したコンポーネント名のコンポーネント情報をロジック処理部１１２から取得する（ステップＳ６００８）。
【０４７１】
ここで、一例として、ストレージサービスコンポーネントのコンポーネント情報を図６３に示す。図６３に示すように、パラメータの入力方法としてフォルダブラウズが指定可能なコンポーネントは、フォルダブラウズに対応したオペレーション（図６２に示す例では「＿ｆｏｌｄｅｒＢｒｏｗｓｅ」）を持っている。なお、オペレーションとは、コンポーネントが実行可能な処理の単位のことである。
【０４７２】
次に、入出力サービス処理部１１０のフロー自動生成部１１４は、入力方法「フォルダブラウズ」に対応する処理フローテンプレートと、上記のステップＳ６００８で取得したコンポーネント情報とから処理フロー情報１１００を生成する（ステップＳ６００９）。そして、フロー自動生成部１１４は、生成した処理フロー情報１１００をアプリ管理部１１１に返信する。
【０４７３】
ここで、入力方法「フォルダブラウズ」に対応する処理フローテンプレートを図６４に示す。このような処理フローテンプレートは、所定の記憶領域に予め記憶されている。
【０４７４】
なお、上記のステップＳ６００８で取得したコンポーネント情報が、例えば図６５に示すように、代理認証を用いるコンポーネントのコンポーネント情報であった場合には、図６６に示すような処理フローテンプレートを用いて、処理フロー情報１１００を生成する。このように、処理フロー情報１１００の生成には、コンポーネントの認証方法等に応じて異なる処理フローテンプレートが用いられても良い。
【０４７５】
入出力サービス処理部１１０のアプリ管理部１１１は、処理フロー情報１１００を受信すると、アプリＩＤと関連付けてアプリ情報記憶部１５０に保存する（ステップＳ６０１０）。これにより、フォルダブラウザの処理フローが登録される。
【０４７６】
そして、入出力サービス処理部１１０のアプリ管理部１１１は、アプリケーションを登録する（ステップＳ６０１１）。そして、アプリ管理部１１１は、登録結果をブラウザ３１０に返信する。これにより、アプリケーションが登録される。
【０４７７】
次に、機器２０のユーザが、フォルダブラウズによりフォルダＩＤを指定して、サービスを利用する場合について説明する。図６７は、フォルダブラウズにより指定されたフォルダＩＤを利用するサービスの全体処理の一例を示すシーケンス図である。なお、図６７のステップＳ１６０１〜ステップＳ１６０５及びステップＳ１６０７〜ステップＳ１６１１は、図１６と同様であるため、その説明を省略する。
【０４７８】
ステップＳ１６０４に続いて、入出力サービス処理部１１０のアプリ管理部１１１は、ステップＳ１６０４で取得したアプリ設定情報１２００に含まれる入力方法と、フロー自動生成部１１４が生成した処理フロー情報１１００とからアクション情報を作成する（ステップＳ６７０１）。アクション情報とは、パラメータの入力方法と、フロー自動生成部１１４が生成した処理フロー情報１１００に基づく処理フローを実行するためのＵＲＬ及びリクエストボディとが含まれる情報である。
【０４７９】
アクション情報の一例を図６８に示す。図６８は、アクション情報の一例を示す図である。図６８に示すアクション情報には、パラメータの入力方法を示す「ｔｙｐｅ」と、アクション実行ＵＲＬを示す「ｕｒｌ」と、リクエストボディを示す「ｂｏｄｙ」とが含まれる。
【０４８０】
そして、アプリ管理部１１１は、作成したアクション情報を、Ｗｅｂサービス処理部１２０を介して、ブラウザ２１０に返信する。
【０４８１】
ステップＳ１６０５に続いて、機器２０のブラウザ２１０は、画面構成部１２１から受信したアプリ画面情報２０００と、アプリ設定情報１２００と、アクション情報とに基づいて、例えば図６９に示すアプリ画面Ｇ２７００を表示する（ステップＳ６７０２）。
【０４８２】
図６９に示すアプリ画面Ｇ２７００には、フォルダブラウズによりフォルダＩＤを選択するためのフォルダブラウズ選択欄Ｇ２７１０が含まれる。ユーザがフォルダブラウズ選択欄Ｇ２７１０を選択すると、ブラウザ３１０により、例えば図７０に示すフォルダブラウズ画面Ｇ２８００が表示される。
【０４８３】
図７０に示すフォルダブラウズ画面Ｇ２８００には、フォルダブラウズによりフォルダＩＤを選択するためのフォルダブラウズ欄Ｇ２８１０が含まれる。ユーザは、所望のフォルダのフォルダＩＤをフォルダブラウズ欄Ｇ２８１０から選択することができる。
【０４８４】
以上により、本実施形態に係る情報処理システム１では、パラメータの入力方法を指定するだけで、フォルダブラウズを行う処理フローを自動で生成することができる。これにより、ユーザは、フォルダブラウズによりパラメータの設定値を設定するアプリケーションを容易に作成することができるようになる。
【０４８５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０４８６】
１          情報処理システム
１０        サービス提供システム
２０        機器
１１０      入出力サービス処理部
１１１      アプリ管理部
１１２      ロジック処理部
１２０      Ｗｅｂサービス処理部
１２１      画面構成部
１２２      アプリ実行部
１３０      ドキュメントサービス部
１３１      ＯＣＲ処理部
１３２      メール配信部
１４０      ポータルサービス部
１４１      ＵＩ提供部
１４２      アプリ登録部
１５０      アプリ情報記憶部
１６０      アプリ画面情報記憶部
１７０      ポータル画面情報記憶部
２１０      ブラウザ
３１０      ブラウザ
３０１      フロー実行部
３０２      コンポーネント管理部
３０３      コンポーネント群
３０４      型変換管理部
３０５      型変換群
１０００    アプリ情報
１１００    処理フロー情報
１２００    アプリ設定情報
２０００    アプリ画面情報
３０００    ポータル画面情報
４０００    型変換情報テーブル
【先行技術文献】
【特許文献】
【０４８７】
【特許文献１】特許第４０３９１９１号公報
【図１】
2018014079.tif 000003
【図２】
2018014079.tif 000004
【図３】
2018014079.tif 000005
【図４】
2018014079.tif 000006
【図５】
2018014079.tif 000007
【図６】
2018014079.tif 000008
【図７】
2018014079.tif 000009
【図８】
2018014079.tif 000010
【図９】
2018014079.tif 000011
【図１０】
2018014079.tif 000012
【図１１】
2018014079.tif 000013
【図１２】
2018014079.tif 000014
【図１３】
2018014079.tif 000015
【図１４】
2018014079.tif 000016
【図１５】
2018014079.tif 000017
【図１６】
2018014079.tif 000018
【図１７】
2018014079.tif 000019
【図１８】
2018014079.tif 000020
【図１９】
2018014079.tif 000021
【図２０】
2018014079.tif 000022
【図２１】
2018014079.tif 000023
【図２２】
2018014079.tif 000024
【図２３】
2018014079.tif 000025
【図２４】
2018014079.tif 000026
【図２５】
2018014079.tif 000027
【図２６】
2018014079.tif 000028
【図２７】
2018014079.tif 000029
【図２８】
2018014079.tif 000030
【図２９】
2018014079.tif 000031
【図３０】
2018014079.tif 000032
【図３１】
2018014079.tif 000033
【図３２】
2018014079.tif 000034
【図３３】
2018014079.tif 000035
【図３４】
2018014079.tif 000036
【図３５】
2018014079.tif 000037
【図３６】
2018014079.tif 000038
【図３７】
2018014079.tif 000039
【図３８】
2018014079.tif 000040
【図３９】
2018014079.tif 000041
【図４０】
2018014079.tif 000042
【図４１】
2018014079.tif 000043
【図４２】
2018014079.tif 000044
【図４３】
2018014079.tif 000045
【図４４】
2018014079.tif 000046
【図４５】
2018014079.tif 000047
【図４６】
2018014079.tif 000048
【図４７】
2018014079.tif 000049
【図４８】
2018014079.tif 000050
【図４９】
2018014079.tif 000051
【図５０】
2018014079.tif 000052
【図５１】
2018014079.tif 000053
【図５２】
2018014079.tif 000054
【図５３】
2018014079.tif 000055
【図５４】
2018014079.tif 000056
【図５５】
2018014079.tif 000057
【図５６】
2018014079.tif 000058
【図５７】
2018014079.tif 000059
【図５８】
2018014079.tif 000060
【図５９】
2018014079.tif 000061
【図６０】
2018014079.tif 000062
【図６１】
2018014079.tif 000063
【図６２】
2018014079.tif 000064
【図６３】
2018014079.tif 000065
【図６４】
2018014079.tif 000066
【図６５】
2018014079.tif 000067
【図６６】
2018014079.tif 000068
【図６７】
2018014079.tif 000069
【図６８】
2018014079.tif 000070
【図６９】
2018014079.tif 000071
【図７０】
2018014079.tif 000072