(57)【要約】      （修正有）【課題】開発者が処理フローを作成等する際の負担を低減できる情報処理システムを提供する。【解決手段】情報処理装置３０とサービス提供システム１０とがネットワークを介して通信する情報処理システム１であって、情報処理装置は、サービス提供システムが実行する複数の処理の実行順を定義する処理フローの設定を受け付ける画面を表示装置に表示する表示処理手段３１３と、表示処理手段が表示した画面において、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けた設定を受け付ける設定受付手段３１２と、を有する。表示処理手段は、画面において実行順に複数の処理を表示し、設定受付手段が第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けて受け付けた旨を表示装置に表示する。【選択図】図５
2020052701.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置とサービス提供システムとがネットワークを介して通信する情報処理システムであって、
前記情報処理装置は、
前記サービス提供システムが実行する複数の処理の実行順を定義する処理フローの設定を受け付ける画面を表示装置に表示する表示処理手段と、
前記表示処理手段が表示した前記画面において第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けた設定を受け付ける設定受付手段と、を有し、
前記表示処理手段は、前記画面において前記実行順に複数の前記処理を表示し、前記設定受付手段が前記第１の外部サービスに関する所定処理と前記第２の外部サービスに関する所定処理とを関連付けて受け付けた旨を表示装置に表示し、
前記サービス提供システムは、
前記情報処理装置から送信された前記処理フローに含まれる複数の処理を定義されている実行順に実行する処理フロー実行手段を、を有することを特徴とする情報処理システム。
【請求項２】
前記設定受付手段は、複数の前記所定処理の設定を前記処理フローの同じ実行順において受け付けることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記表示処理手段は、複数の前記処理を前記実行順に横方向に並べて表示し、
同じ順番に実行される複数の前記所定処理を縦方向に並べて表示することで前記第１の外部サービスに関する所定処理と前記第２の外部サービスに関する所定処理とが関連付けて設定された旨を表示することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記表示処理手段は、複数の前記処理を前記実行順に横方向に並べて表示し、
前記第１の外部サービスに関する所定処理と前記第２の外部サービスに関する所定処理とを縦方向に並べて表示し、更に、縦方向に並べて表示した複数の前記所定処理を枠で囲んで表示することで、複数の前記所定処理を受け付けた旨を表示することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記表示処理手段は、横方向に並んだ区画に複数の前記処理を前記実行順にそれぞれ配置して表示し、
前記第１の外部サービスに関する所定処理と前記第２の外部サービスに関する所定処理とを１つの前記区画に配置することで、複数の前記所定処理を受け付けた旨を表示することを特徴とする請求項２に記載の情報処理システム。
【請求項６】
前記設定受付手段は、前記処理フローに設定され得る第一の処理の選択を受け付けた後、すでに配置されている第二の処理の選択を受け付けた場合、
前記処理フローにおける前記第一の処理と同じ実行順において前記第二の処理の設定を受け付けることを特徴とする請求項１〜５のいずれか１項に記載の情報処理システム。
【請求項７】
前記設定受付手段は、前記処理フローに設定され得る第一の処理の選択を受け付けた後、すでに配置されている第二の処理の選択を受け付けた場合、
前記第一の処理と前記第二の処理の処理内容が類似している場合に、前記処理フローにおける前記第一の処理と同じ実行順において前記第二の処理の設定を受け付けることを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記設定受付手段は、前記処理フローを用いたアプリケーションの設定を受け付け、
前記アプリケーションに用いられた前記処理フローに含まれる複数の前記所定処理のうち、前記処理フローで実行される前記所定処理の設定を受け付けることを特徴とする請求項１〜７のいずれか１項に記載の情報処理システム。
【請求項９】
前記情報処理装置は、
前記設定受付手段が受け付けた前記処理フローで実行される前記所定処理に関する情報を前記サービス提供システムに送信する送信手段を有し、
前記処理フロー実行手段は、
ネットワークを介して機器から前記アプリケーションの実行要求を受信した場合、前記処理フローを実行順に実行し、
前記処理フローで実行されることが設定されている前記所定処理を実行し、前記処理フローで実行されることが設定されていない前記所定処理を実行しないことを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記アプリケーションは複数のユーザにより使用される共有アプリと、個人のユーザにより使用される個人用アプリとに区別され、
前記設定受付手段が前記共有アプリについて前記処理フローで実行される前記所定処理の設定を受け付ける場合、前記表示処理手段は、前記処理フローで実行される前記所定処理を使用するユーザのアカウント情報の設定欄を表示し、
前記設定受付手段は、前記アカウント情報の設定を受け付けることを特徴とする請求項８又は９に記載の情報処理システム。
【請求項１１】
前記設定受付手段は、前記アプリケーションに用いられた前記処理フローに含まれる複数の前記所定処理のうち、前記処理フローで実行される前記所定処理の設定を受け付けた場合、
前記表示処理手段は、設定を受け付けた前記所定処理で設定が可能な項目を表示し、
前記設定受付手段は前記項目の設定を受け付けることを特徴とする請求項８〜１０のいずれか１項に記載の情報処理システム。
【請求項１２】
前記ネットワークを介して通信する機器を有し、
前記機器は、
前記アプリケーションに関する情報を受信する受信手段と、
前記アプリケーションに用いられた前記処理フローに含まれる複数の前記所定処理のうち、前記処理フローで実行される前記所定処理の設定を受け付ける設定受付手段と、
前記設定受付手段が受け付けた前記処理フローで実行される前記所定処理に関する情報及びアプリケーションの実行要求を前記サービス提供システムに送信する送信手段と、
を有することを特徴とする請求項８〜１１のいずれか１項に記載の情報処理システム。
【請求項１３】
情報処理装置とネットワークを介して通信するサービス提供システムであって、
前記情報処理装置が、前記サービス提供システムが実行する複数の処理の実行順を定義する処理フローの設定において、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けた設定を受け付け、
前記実行順に複数の前記処理を表示し、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けて受け付けた旨を表示装置に表示するための画面情報を前記情報処理装置に送信する画面情報送信手段と、
前記情報処理装置から送信された前記処理フローに含まれる複数の処理を定義されている実行順に実行する処理フロー実行手段と、を有することを特徴とするサービス提供システム。
【請求項１４】
情報処理装置とサービス提供システムとがネットワークを介して通信する情報処理システムが行うフロー設定方法であって、
前記情報処理装置は、
前記サービス提供システムが実行する複数の処理の実行順を定義する処理フローの設定を受け付ける画面を表示装置に表示するステップと、
前記表示するステップで表示された前記画面において、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けた設定を受け付けるステップと、を有し、
前記画面において前記実行順に複数の前記処理を表示し、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けて受け付けた旨を表示装置に表示するステップと、
前記サービス提供システムが、
前記情報処理装置から送信された前記処理フローに含まれる複数の処理を定義されている実行順に実行するステップを有することを特徴とするフロー設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、サービス提供システム、及び、フロー設定方法に関する。
【背景技術】
【０００２】
複数の処理（例えば、スキャン、プリント、又はメール配信等）を組み合わせて提供するサービス等が知られている。例えば、スキャンにより生成された電子ファイル（画像ファイル）に情報処理装置が所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する１以上の処理が一連の処理として実行されることにより実現され、ワークフローサービスと呼ばれることがある。
【０００３】
このようなワークフローサービスにおいて、開発者が処理フローを開発する作業を支援する技術が知られている（例えば、特許文献１参照。）。特許文献１には、複数の処理フローを組み合わせて実行することができるシステムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、開発者が処理フローを作成等する際の負担が増大するという問題があった。
【０００５】
例えば、「Scan to Storage ＆ E−mail」という処理フローを作成する場合がある（原稿をスキャンしてファイルアップロードし、更にメールで送信する）。画像ファイルはストレージサービスに送信されるが、利用可能なストレージサービスが複数種類ある場合がある。例えば、ストレージサービスには「dropbox（登録商標）/box（登録商標）/onedrive（登録商標）」など多数の種類がある。なお、以下では、これら異なる外部ストレージサービスを「外部ストレージサービス＋アルファベット」で表す。図では外部ストレージサービスをアルファベットの大文字「Ａ」〜「Ｆ」等で表す。
【０００６】
この場合、開発者はこれら処理内容が類似しているストレージサービスごとに１つ１つ処理フローを作成する必要がある。
Ａ．「Scan to Storage（dropbox）＆ E−mail」
Ｂ．「Scan to Storage（box）＆ E−mail」
このように複数の処理フローを作成すること自体、開発者の負担増になるだけでなく、保守の負担も倍増してしまう。例えば、開発者が「E−mail」の宛先を編集する場合、処理フローごとに宛先を編集する必要が生じてしまう。
【０００７】
本発明は、上記課題に鑑み、開発者が処理フローを作成等する際の負担を低減できる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み、本発明は、情報処理装置とサービス提供システムとがネットワークを介して通信する情報処理システムであって、
前記情報処理装置は、前記サービス提供システムが実行する複数の処理の実行順を定義する処理フローの設定を受け付ける画面を表示装置に表示する表示処理手段と、前記表示処理手段が表示した前記画面において、第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けた設定を受け付ける設定受付手段と、を有し、前記表示処理手段は、前記画面に前記実行順に複数の前記処理を表示し、前記設定受付手段が第１の外部サービスに関する所定処理と第２の外部サービスに関する所定処理とを関連付けて受け付けた旨を表示装置に表示し、
前記サービス提供システムは、前記情報処理装置から送信された前記処理フローに含まれる複数の処理を定義されている実行順に実行する処理フロー実行手段を、を有することを特徴とする情報処理システムを提供する。
【発明の効果】
【０００９】
開発者が処理フローを作成等する際の負担を低減できる情報処理システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】開発者が操作するＰＣ端末等が表示する処理フロー設定画面の一例を示す図である。
【図２】情報処理システムの一例のシステム構成を示す図である。
【図３】サービス提供システム及びＰＣ端末の一例のハードウェア構成を示す図である。
【図４】機器の一例のハードウェア構成を示す図である。
【図５】情報処理システムの一例の機能構成を示す図である。
【図６】ロジック処理部の一例の機能構成を示す図である。
【図７】型変換情報テーブルの一例を示す図である。
【図８】処理フロー情報の一例を示す図である。
【図９】アプリケーションの登録処理の一例を示すシーケンス図である。
【図１０】ポータルトップ画面の一例を示す図である。
【図１１】アプリケーション登録画面（１／５）を示す図である。
【図１２】アプリケーション登録画面（２／５）を示す図である。
【図１３】アプリケーション登録画面（３／５）を示す図である。
【図１４】アプリケーション登録画面（４／５）を示す図である。
【図１５】アプリケーション登録画面（５／５）を示す図である。
【図１６】アプリ設定情報の一例を示す図である。
【図１７】ＰＣ端末のブラウザの表示制御部が表示する処理フロー設定画面の一例を示す図である。
【図１８】コンポーネントが有する属性を説明する図の一例である。
【図１９】ＰＣ端末のブラウザが処理フローの配置を受け付ける手順を示すフローチャート図の一例である。
【図２０】ＰＣ端末のブラウザが表示する処理フロー設定画面の一例を示す図である。
【図２１】コンポーネントグループを含む処理フローの処理フロー情報の一例である。
【図２２】エンドユーザがアプリ情報記憶部に登録されているアプリケーションに対して行う設定の手順を示す一例のシーケンス図である。
【図２３】ログイン画面の一例を示す図である。
【図２４】メイン画面の一例を示す図である。
【図２５】ＰＣ端末のブラウザが表示する個人用アプリ設定画面の一例を示す図である。
【図２６】ＰＣ端末のブラウザが表示する管理者用アプリ設定画面の一例を示す図である。
【図２７】外部ストレージサービスＡが選択された場合の管理者用アプリ設定画面を示す図の一例である。
【図２８】外部ストレージサービスＢが選択された場合の管理者用アプリ設定画面を示す図の一例である。
【図２９】ＰＣ端末のブラウザが追加の項目を表示する手順を説明するフローチャート図の一例である。
【図３０】アプリ関連情報の一部を抜粋して示す図の一例である。
【図３１】スキャン翻訳サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【図３２】スキャン翻訳アプリケーションのアプリ画面の一例を示す図である。
【図３３】スキャン翻訳サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【図３４】コンポーネントグループが設定されている場合に機器がアプリケーションを実行する手順の一例を示すシーケンス図である。
【図３５】アプリケーションの実行時の全体処理の一例を示すシーケンス図である。
【図３６】機器のブラウザが表示するコンポーネントの選択を受け付けるコンポーネント選択画面の一例を示す図である。
【図３７】処理フロー設定画面における処理フローの設定方法の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態の一例として、情報処理システムと情報処理システムが行うフロー設定方法について図面を参照しながら説明する。
【００１２】
＜処理フローの設定の概略＞
本実施形態では、処理内容が類似している複数の処理がある場合に複数の処理フローを作成するのではなく、処理内容が類似している複数の処理を含む１つの処理フローを作成できる情報処理システムについて説明する。これにより、１つの処理フロー内で処理内容が類似している複数の処理を開発者が設定できるため、開発者の作業負担を減らすことができる。なお、この「処理」は後述するコンポーネントに相当する。処理フローとは一連の処理をいう。
【００１３】
図１を用いて、開発者が行う処理フローの設定作業の概略を説明する。図１は、開発者が操作するＰＣ（パーソナルコンピュータ）端末等が表示する処理フロー設定画面Ｇ８００の一例である。ＰＣ端末はＷｅｂアプリを実行している。図１（ａ）では横方向に並んだ３つのアイコンにより以下の処理フローが登録されている。１つのアイコンは１つの処理に対応し、上記のコンポーネントに相当する。
ＯＣＲ→ファイルアップロード（外部ストレージサービスＡ）→メール送信
開発者が「外部ストレージサービスＡ（第１の外部サービスの一例）」とは別のストレージサービスを処理フローに追加したい場合を考える。図１（ｂ）に示すように、開発者は処理のリストから、「外部ストレージサービスＢ（第２の外部サービスの一例）」というストレージサービスのアイコンをマウスやタッチパネルなどのポインティングデバイス３２０で選択する。そして、次に、「外部ストレージサービスＡ」というストレージサービスをポインティングデバイス３２０で選択する。この２回のポインティングデバイス３２０の操作が、２つの処理（ストレージサービスに対するファイルアップロード）をまとめて１つの処理フローに設定する操作に対応する。
【００１４】
ＰＣ端末はこの操作を受け付けて、「外部ストレージサービスＡ」と「外部ストレージサービスＢ」のストレージサービスを１つにまとめる。図１（ｃ）はＰＣ端末が２つのストレージサービスをまとめた状態の画面例である。「外部ストレージサービスＡ」と「外部ストレージサービスＢ」のファイルアップロードサービスが枠３３０で囲まれている。この枠３３０は、
(i) ＯＣＲ
(ii) ファイルアップロード（外部ストレージサービスＡ）  及び/又は  ファイルアップロード（外部ストレージサービスＢ）
(iii) メール送信
という処理フローをエンドユーザが選択的に実行できることを意味している。後述するように、エンドユーザは処理フローでどちらのストレージサービスを使用するか（又は両方）を選択することができる。ストレージサービスとして「外部ストレージサービスＡ」を選択した場合は、処理フローの実行時に「外部ストレージサービスＡ」に電子ファイルがアップロードされ、ストレージサービスとして「外部ストレージサービスＢ」を選択した場合は「外部ストレージサービスＢ」に電子ファイルがアップロードされる。
【００１５】
このように、本実施形態の情報処理システムは１つの処理フローに、処理内容が類似している複数のサービスをまとめることができ、開発者の負担を低減できる。
【００１６】
＜用語について＞
サービス提供システムとは複数の処理が組み合わせられた処理フローを実行する１つ以上の情報処理装置である。クラウド上で処理を実行するクラウドサービスでも、ローカルネットワークで処理を実行するオンプレミスサービスでもよい。また、両者が組み合わされてもよい。
【００１７】
処理内容が類似している複数の所定処理とは、異なる提供元が同種のサービスとして提供する処理をいう。類似している処理には同じ処理が含まれていてもよい。エンドユーザから見て目的のサービスを得られる処理であれば類似している所定処理に相当する場合がある。処理内容が類似している複数の所定処理は、例えば後述するオペレーションが同じコンポーネントをいう。
【００１８】
本実施形態では、エンドユーザとは日常業務で処理フローを実行する者をいう。開発者とは主にエンドユーザが機器を円滑に使用できるように保守等を行う者であり、例えばカスタマーエンジニアやソリューションセールスなどをいう。エンドユーザが行う作業は機器を操作したりＷｅｂページからアプリケーションを簡単にカスタマイズしたりするなどの作業でよい。開発者が行う作業もＷｅｂページを介して処理フロー及びアプリケーションを登録する作業でよく、プログラム言語の知識は不要である。
【００１９】
複数の所定処理を受け付けた旨を表示するとは２つの処理が１つの処理フローにまとめられたことを視覚的に明らかにすることをいう。例えば、上記の枠３３０で囲む方法がある。
【００２０】
＜システム構成＞
本実施形態に係る情報処理システム１のシステム構成について、図２を参照しながら説明する。図２は、本実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００２１】
図２に示す情報処理システム１は、サービス提供システム１０と、機器２０と、ＰＣ端末３０とを含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００２２】
サービス提供システム１０は、一台以上の情報処理装置で実現され、ネットワークＮ１を介して、種々の機能をそれぞれ実現する複数の処理のうちの１以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。
【００２３】
ここで、機能とは、文書ファイルや画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、ＯＣＲ（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）、又はアプリ情報１０００のＵＲＬに含まれる識別情報等である。
【００８０】
ここで、アプリ情報１０００には、処理フロー情報１１００と、アプリ設定情報１２００と、アプリ関連情報１３００とが含まれる。例えば、スキャン翻訳サービスを提供するアプリ情報１０００には、当該サービスを実現する一連の処理が定義された処理フロー情報１１００と、当該アプリ情報１０００の各種設定が定義されたアプリ設定情報１２００とが含まれる。更に、コンポーネントグループを有する処理フローを実行するアプリケーションのアプリ情報１０００にはアプリ関連情報１３００が含まれる。
【００８１】
以降では、スキャン翻訳サービスを提供するアプリ情報１０００を「スキャン翻訳アプリケーション」とも表す。
【００８２】
なお、アプリ情報１０００には、２以上の処理フロー情報１１００と、２以上のアプリ設定情報１２００と、２つ以上のアプリ関連情報１３００が含まれていても良い。
【００８３】
処理フロー情報１１００は、上述したように、アプリ情報１０００により提供されるサービスを実現する一連の処理（処理フロー）が定義された情報である。なお、処理フロー情報１１００の詳細については後述する。
【００８４】
また、アプリ設定情報１２００は、上述したように、アプリケーション（アプリ情報１０００）の各種設定が定義された情報である。なお、アプリ設定情報１２００の詳細については後述する。
【００８５】
アプリ関連情報１３００は、アプリケーションで実行される処理フローに定義されたコンポーネントグループのうちどのコンポーネントが実行されるかが設定された情報である。なお、アプリ関連情報１３００の詳細については後述する。
【００８６】
アプリ画面情報記憶部１６０は、アプリ画面情報２０００を記憶する。アプリ画面情報２０００は、アプリＩＤと関連付けてアプリ画面情報記憶部１６０に記憶されている。
【００８７】
ポータル画面情報記憶部１７０は、ポータル画面情報３０００を記憶する。ポータル画面情報３０００は、ポータルトップ画面やアプリケーション登録画面、管理者用アプリ設定画面、個人用アプリ設定画面（ログイン画面やメイン画面も含む）等のＵＲＬと関連付けてポータル画面情報記憶部１７０に記憶されている。
【００８８】
なお、入出力サービス処理部１１０、Ｗｅｂサービス処理部１２０、ドキュメントサービス部１３０、及びポータルサービス部１４０等は、それぞれが異なる情報処理装置により実現されていても良い。
【００８９】
ここで、ロジック処理部１１２の詳細な機能構成について、図６を参照しながら説明する。図６は、本実施形態に係るロジック処理部１１２の一例の機能構成を示す図である。
【００９０】
図６に示すロジック処理部１１２は、フロー実行部３０１と、コンポーネント管理部３０２と、コンポーネント群３０３と、型変換管理部３０４と、型変換群３０５とを有する。また、ロジック処理部１１２は、型変換情報テーブル４０００を有する。
【００９１】
フロー実行部３０１は、アプリ実行部１２２からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報１１００をアプリ管理部１１１から取得する。そして、フロー実行部３０１は、アプリ管理部１１１から取得した処理フロー情報１１００に基づく一連の処理（処理フロー）を実行する。
【００９２】
ここで、処理フロー情報１１００に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
【００９３】
コンポーネント管理部３０２は、コンポーネントを管理する。コンポーネント管理部３０２は、フロー実行部３０１からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部３０１に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ（例えばＲＡＭ１４）上に展開することである。
【００９４】
コンポーネント群３０３は、コンポーネントの集合である。コンポーネント群３０３には、ＯＣＲコンポーネント１５０１と、翻訳コンポーネント１５０２と、メール配信コンポーネント１５０３と、ファイルアップロード（外部ストレージサービスＡ）コンポーネント１５０４と、ファイルアップロード（外部ストレージサービスＢ）コンポーネント１５０５が含まれる。
【００９５】
ＯＣＲコンポーネント１５０１は、電子ファイル（画像ファイル）をＯＣＲ処理するためのコンポーネントである。ＯＣＲコンポーネント１５０１は、ドキュメントサービス部１３０のＯＣＲ処理部１３１にＯＣＲ処理を要求することにより、電子ファイルのＯＣＲ処理を行う。
【００９６】
翻訳コンポーネント１５０２は、テキストファイル等の電子ファイルにおいて、所定の言語で記載されている文書を他の言語に翻訳するためのコンポーネントである。メール配信コンポーネント１５０３は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。メール配信コンポーネント１５０３は、ドキュメントサービス部１３０のメール配信部１３２もメール配信処理を要求することにより、指定されたメールアドレス宛にメールを配信する。
【００９７】
ファイルアップロード（外部ストレージサービスＡ）コンポーネント１５０４は「外部ストレージサービスＡ」に電子ファイルをアップロードするコンポーネントであり、ファイルアップロード（外部ストレージサービスＢ）コンポーネント１５０５は「外部ストレージサービスＢ」に電子ファイルをアップロードするコンポーネントである。
【００９８】
このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群３０３には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化や復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント、電子ファイルをアップロードするファイルアップロードコンポーネント等の各種のコンポーネントが含まれる。
【００９９】
また、コンポーネント群３０３に含まれる各コンポーネントは、コンポーネント共通Ｉ／Ｆ１５００を有する。コンポーネント共通Ｉ／Ｆ１５００は、各コンポーネントに対して共通に定義されたＡＰＩ（Application Programming Interface）であり、コンポーネントを生成するためのＡＰＩと、コンポーネントの処理を実行するためのＡＰＩとが含まれる。
【０１００】
このように、各コンポーネントがコンポーネント共通Ｉ／Ｆ１５００を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部３０１やコンポーネント管理部３０２等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、所定の機能の追加等（すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等）に伴う開発工数を削減することができる。
【０１０１】
型変換管理部３０４は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部３０４は、コンポーネントからの要求に応じて、例えば図６に示す型変換情報テーブル４０００を参照して、型変換群３０５に含まれる型変換を生成する。
【０１０２】
そして、型変換管理部３０４は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ（例えばＲＡＭ１４上）に展開することである。
【０１０３】
なお、データ型には、例えば、ストリームデータを示すデータ型「ＩｎｐｕｔＳｔｒｅａｍ」、記憶装置等に格納されている電子ファイルのパス（アドレス）を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」、及び電子ファイルの実体を示す「Ｆｉｌｅ」等が挙げられる。
【０１０４】
ここで、型変換情報テーブル４０００について、図７を参照しながら説明する。図７は、型変換情報テーブル４０００の一例を示す図である。
【０１０５】
図７に示す型変換情報テーブル４０００は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル４０００に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
【０１０６】
型変換群３０５は、型変換の集合である。型変換群３０５には、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための第１の型変換１４１０が含まれる。なお、型変換群３０５には、これ以外にも、例えば、データ型「ＬｏｃａｌＦｉｌｅＰａｔｈ」を「Ｆｉｌｅ」に変換するための第２の型変換等が含まれる。
【０１０７】
また、型変換群３０５に含まれる各型変換は、型変換共通Ｉ／Ｆ１４００を有する。型変換共通Ｉ／Ｆ１４００は、各型変換に対して共通に定義されたＡＰＩであり、型変換を生成するためのＡＰＩと、型変換の型変換処理を実行するためのＡＰＩとが含まれる。
【０１０８】
このように、各型変換が型変換共通Ｉ／Ｆ１４００を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部３０４等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム１０では、型変換の追加等に伴う開発工数を削減することができる。
【０１０９】
次に、スキャン翻訳サービスを提供するアプリ情報１０００に含まれる処理フロー情報１１００について、図８を参照しながら説明する。図８は、処理フロー情報１１００の一例を示す図である。
【０１１０】
図８に示す処理フロー情報１１００は、スキャン翻訳サービスを実現する一連の処理（処理フロー）が定義された情報である。
【０１１１】
図８に示す処理フロー情報１１００には、処理フロー情報１１００を識別するフロー名１１０１と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細１１０２とが含まれる。
【０１１２】
フロー詳細１１０２には、処理フローに含まれる各処理をそれぞれ定義した詳細処理定義１１１０と、詳細処理定義１１２０と、詳細処理定義１１３０とが含まれる。詳細処理定義１１１０〜詳細処理定義１１３０には、詳細処理定義を識別する詳細処理名を示す「"ｄｅｔａｉｌＮａｍｅ"」と、処理を実行するためのコンポーネントのコンポーネント名を示す「"ｃｏｍｐｏｎｅｎｔ"」と、当該コンポーネントに対するパラメータ情報が定義される「"ｐａｒａｍｅｔｅｒｓ"」とが含まれる。
【０１１３】
具体的には、詳細処理定義１１１０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉｌ０"」が定義されている。また、詳細処理定義１１１０の「"ｃｏｍｐｏｎｅｎｔ"」には、ＯＣＲコンポーネント１５０１のコンポーネント名「"ｏｃｒ"」が定義されている。更に、詳細処理定義１１１０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報等が定義されている。
【０１１４】
パラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報は、ＯＣＲ処理の言語（例えば、「"Ｊａｐａｎｅｓｅ"」や「"Ｅｎｇｌｉｓｈ"」等）をパラメータ値として設定するパラメータ情報である。
【０１１５】
同様に、詳細処理定義１１２０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉｌ１"」が定義されている。また、詳細処理定義１１２０の「"ｃｏｍｐｏｎｅｎｔ"」には、翻訳コンポーネント１５０２のコンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」が定義されている。更に、詳細処理定義１１１０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ｆｒｏｍ"」のパラメータ情報、及びパラメータ名「"ｔｏ"」のパラメータ情報等が定義されている。
【０１１６】
パラメータ名「"ｆｒｏｍ"」のパラメータ情報は、翻訳元の言語（例えば、「"Ｅｎｇｌｉｓｈ"」）をパラメータ値として設定するパラメータ情報である。また、パラメータ名「"ｔｏ"」のパラメータ情報は、翻訳先の言語（例えば、「"Ｊａｐａｎｅｓｅ"」）をパラメータ値として設定するパラメータ情報である。
【０１１７】
また、同様に、詳細処理定義１１３０の「"ｄｅｔａｉｌＮａｍｅ"」には、「"ｄｅｔａｉ２１"」が定義されている。また、詳細処理定義１１３０の「"ｃｏｍｐｏｎｅｎｔ"」には、メール配信コンポーネント１５０３のコンポーネント名「"ｍａｉｌ"」が定義されている。更に、詳細処理定義１１３０の「"ｐａｒａｍｅｔｅｒｓ"」には、パラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ情報等が定義されている。
【０１１８】
パラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ情報は、メール送信先のメールアドレスをパラメータ値として設定するパラメータ情報である。
【０１１９】
なお、各詳細処理定義に定義された処理の実行順は、フロー詳細１１０２において、上から順に定義される。すなわち、図８に示す処理フロー情報１１００に基づく一連の処理（処理フロー）では、詳細処理定義１１１０に定義された処理、詳細処理定義１１２０に定義された処理、詳細処理定義１１３０に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報１１００には、例えば、各詳細処理定義に定義された処理の実行順を示す情報が定義されていても良い。
【０１２０】
また、図８に示す例では、各パラメータ情報のパラメータ値は設定されていないが、これに限られず、デフォルトとなるパラメータ値が設定されていても良い。
【０１２１】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。開発者がＰＣ端末３０を操作して、スキャン翻訳アプリケーションをサービス提供システム１０に登録する処理について、図９を参照しながら説明する。図９は、アプリケーションの登録処理の一例を示すシーケンス図である。
【０１２２】
まず、ＰＣ端末３０のブラウザ３１０の操作受付部３１２は、ポータルトップ画面を表示させるための操作（ポータルトップ画面の表示操作）を受け付ける（ステップＳ８０１）。なお、ＰＣ端末３０のユーザは、例えば、ポータルトップ画面のＵＲＬをブラウザ３１０のアドレスバーに入力することで、ポータルトップ画面の表示操作を行うことができる。
【０１２３】
ＰＣ端末３０のブラウザ３１０の操作受付部３１２がポータルトップ画面の表示操作を受け付けると、通信部３１１がポータルトップ画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ８０２）。
【０１２４】
ポータルサービス部１４０のＵＩ提供部１４１は、ポータルトップ画面の取得要求を受信すると、ポータルトップ画面のポータル画面情報をポータル画面情報記憶部１７０から取得する（ステップＳ８０３）。そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報をブラウザ３１０に返信する。
【０１２５】
ＰＣ端末３０のブラウザ３１０の表示制御部３１３は、ポータルトップ画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図１０に示すポータルトップ画面Ｇ１００を表示する（ステップＳ８０４）。
【０１２６】
図１０に示すポータルトップ画面Ｇ１００は、ポータルのトップ画面であり、アプリケーションの登録を行うための「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０が含まれる。以降では、開発者が、図１０に示すポータルトップ画面Ｇ１００において、「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０を選択する操作（アプリ登録の選択操作）を行ったものとする。
【０１２７】
なお、図１０に示すポータルトップ画面Ｇ１００には、処理フロー情報１１００の作成等を行うための「Ｆｌｏｗ」ボタンＧ１２０、コンポーネントの登録等を行うための「Ｃｏｍｐｏｎｅｎｔ」ボタンＧ１３０等も含まれる。このように、ポータルトップ画面Ｇ１００では、アプリケーションの登録以外にも、処理フローの作成・実行、コンポーネントの登録・更新等を行うことができる。
【０１２８】
「Ｆｌｏｗ」ボタンＧ１２０の押下により図１又は後述する図１７に示す処理フロー設定画面Ｇ８００が表示される。しかし、フロー処理の登録は図１０に示した「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０の押下により、アプリケーションの登録作業の中でも可能であるため、本実施形態では「Ａｐｐｌｉｃａｔｉｏｎ」ボタンＧ１１０が押下されたものとする。
【０１２９】
ＰＣ端末３０のブラウザ３１０の操作受付部３１２は、開発者により行われたアプリ登録の選択操作を受け付ける（ステップＳ８０５）。
【０１３０】
ＰＣ端末３０のブラウザ３１０の操作受付部３１２がアプリ登録の選択操作を受け付けると、通信部３１１はアプリケーション登録画面の表示要求を、ポータルサービス部１４０のＵＩ提供部１４１に送信する（ステップＳ８０６）。
【０１３１】
ポータルサービス部１４０のＵＩ提供部１４１は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報をポータル画面情報記憶部１７０から取得する（ステップＳ８０７）。そして、ＵＩ提供部１４１は、ポータル画面情報記憶部１７０から取得したポータル画面情報をブラウザ３１０に返信する。
【０１３２】
ＰＣ端末３０のブラウザ３１０の通信部３１１は、アプリケーション登録画面のポータル画面情報を受信すると、表示制御部３１３が当該ポータル画面情報に基づいて、例えば図１１に示すアプリケーション登録画面Ｇ２００を表示する（ステップＳ８０８）。
【０１３３】
ここで、以降では、図１１〜図１５を参照しながら、開発者がアプリケーションの登録操作を行う場合について説明する。
【０１３４】
まず、図１１に示すアプリケーション登録画面Ｇ２００は、開発者が登録するアプリケーションのタイプを選択するための画面である。
【０１３５】
図１１に示すアプリケーション登録画面Ｇ２００には、プリントタイプのアプリケーションを登録するための「プリント」ボタンＧ２１０と、スキャンタイプのアプリケーションを登録するための「スキャン」ボタンＧ２２０とが含まれる。なお、図１１に示すアプリケーション登録画面Ｇ２００には、例えば、ＦＡＸタイプのアプリケーションを登録するための「ＦＡＸ」ボタン、メール受信タイプのアプリケーションを登録するための「メール受信」ボタン等が含まれていても良い。
【０１３６】
また、図１１に示すアプリケーション登録画面Ｇ２００には、次の画面に遷移するための「次へ」ボタンＧ２４０等が含まれる。
【０１３７】
図１１に示すアプリケーション登録画面Ｇ２００では、開発者が「プリント」ボタンＧ２１０又は「スキャン」ボタンＧ２２０のいずれかを選択すると、それぞれプリントタイプの説明又はスキャンタイプの説明が説明欄Ｇ２３０に表示される。
【０１３８】
なお、プリントタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。一方、スキャンタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
【０１３９】
また、例えば、ＦＡＸタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等でＦＡＸ送信させるタイプのアプリケーションである。更に、メール受信タイプとは、画像形成装置等が受信したメールに添付されている電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。
【０１４０】
以降では、開発者が、図１１に示すアプリケーション登録画面Ｇ２００において、「スキャン」ボタンＧ２２０を選択した上で、「次へ」ボタンＧ２４０を押下する操作を行ったものとする。すると、ブラウザ３１０の表示制御部３１３は、当該操作を受け付けて、例えば図１２に示すアプリケーション登録画面Ｇ３００を表示する。
【０１４１】
図１２に示すアプリケーション登録画面Ｇ３００は、開発者がアプリケーションの基本情報を設定するための画面である。
【０１４２】
図１２に示すアプリケーション登録画面Ｇ３００には、アプリケーションの名称を設定するための「アプリ名」入力設定欄Ｇ３１０と、アプリ画面の画面形式を選択するための「デザインテンプレート」選択欄Ｇ３２０とが含まれる。また、図１２に示すアプリケーション登録画面Ｇ３００には、アプリケーションを利用する際の認証を選択するための「認証」選択欄Ｇ３３０と、アプリ画面の表示言語を選択するための「表示言語」選択欄Ｇ３４０とが含まれる。更に、図１２に示すアプリケーション登録画面Ｇ３００には、次の画面に遷移するための「次へ」ボタンＧ３５０等が含まれる。
【０１４３】
なお、「デザインテンプレート」選択欄Ｇ３２０では、例えば、アプリ画面が一画面で表示される「一画面形式」、アプリ画面を対話形式で表示する「ウィザード形式」等を選択することができる。また、「認証」選択欄Ｇ３３０では、認証を用いないことを示す「なし」、認証を用いることを示す「ユーザ認証」等を選択することができる。
【０１４４】
以降では、開発者が、図１２に示すアプリケーション登録画面Ｇ３００のように、アプリケーション名の入力や各種選択を行った上で、「次へ」ボタンＧ３５０を押下する操作を行ったものとする。すると、ブラウザ３１０の操作受付部３１２は当該操作を受け付けて、表示制御部３１３は例えば図１３に示すアプリケーション登録画面Ｇ４００を表示する。
【０１４５】
図１３に示すアプリケーション登録画面Ｇ４００は、開発者がアプリケーションの詳細情報として、登録するアプリケーションに対して一連の処理（処理フロー）を設定するための画面である。
【０１４６】
図１３に示すアプリケーション登録画面Ｇ４００には、アプリ情報記憶部１５０に記憶されている処理フロー情報１１００のフロー名を検索するための検索欄Ｇ４１０と、フロー名を選択するためのフロー選択欄Ｇ４２０とが含まれる。ユーザは、所望のフローの名称等を検索欄Ｇ４１０に入力した上で、フロー選択欄Ｇ４２０から所望のフロー名を選択することができる。
【０１４７】
また、図１３に示すアプリケーション登録画面Ｇ４００には、フロー選択欄Ｇ４２０で選択されたフロー名の処理フロー情報１１００に基づく一連の処理の概要を表示する概要表示欄Ｇ４３０と、次の画面に遷移するための「次へ」ボタンＧ２４０とが含まれる。
【０１４８】
更に、図１３に示すアプリケーション登録画面Ｇ４００には、フロー選択欄Ｇ４２０で選択されたフロー名の処理フロー情報１１００の編集及び更新を行うための「更新」ボタンＧ４２１と、新規に処理フロー情報１１００を作成するための「新規」ボタンＧ４２２とが含まれる。ユーザは、「更新」ボタンＧ４２１を押下することで、フロー選択欄Ｇ４２０で選択したフロー名の処理フロー情報１１００の編集及び更新を行うことができる。また、ユーザは、「新規」ボタンＧ４２２を押下することで、処理フロー情報１１００を作成した上で、作成した処理フロー情報１１００のフロー名をフロー選択欄Ｇ４２０で選択することができる。このようにアプリケーションの設定の中で処理フローが選択されるので、アプリケーションと処理フローが対応付けられる。アプリケーションは処理フローのフロー名１１０１で識別する。すなわち、アプリＩＤとフロー名１１０１とが対応付けられる。フロー名１１０１ではなく処理フローＩＤと対応付けられてもよい。
【０１４９】
「更新」ボタンＧ４２１又は「新規」ボタンＧ４２２が押下された場合、図１又は図１７に示す処理フロー設定画面Ｇ８００が表示される。フロー処理の設定については図１７等で説明する。
【０１５０】
以降では、開発者が、フロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」をフロー選択欄Ｇ４２０で選択した上で、「次へ」ボタンＧ４４０を押下する操作を行ったものとする。すると、ブラウザ３１０の操作受付部３１２は当該操作を受け付けて、表示制御部３１３が例えば図１４に示すアプリケーション登録画面Ｇ５００を表示する。
【０１５１】
図１４に示すアプリケーション登録画面Ｇ５００は、開発者がアプリケーションの詳細情報として、図１３に示すアプリケーション登録画面Ｇ４００で設定された一連の処理（処理フロー）のパラメータ情報を設定するための画面である。
【０１５２】
図１４に示すアプリケーション登録画面Ｇ５００には、一連の処理に含まれる各処理を実行するコンポーネントを選択するための「コンポーネント」選択欄Ｇ５１０が含まれる。また、図１４に示すアプリケーション登録画面Ｇ５００には、「コンポーネント」選択欄Ｇ５１０で選択されたコンポーネントのパラメータ情報を設定するための「パラメータ情報」設定欄Ｇ５２０と、次の画面に遷移するための「次へ」ボタンＧ５３０とが含まれる。
【０１５３】
開発者は、「コンポーネント」選択欄Ｇ５１０から所望のコンポーネントを選択した上で、「パラメータ情報」設定欄Ｇ５２０にてパラメータ情報の各種設定を行うことができる。例えば、開発者が「コンポーネント」選択欄Ｇ５１０から翻訳コンポーネント１５０２を選択した場合、「パラメータ情報」設定欄Ｇ５２０では、翻訳コンポーネント１５０２が用いるパラメータ情報の各種設定を行うことができる。
【０１５４】
具体的には、パラメータ情報の各種設定には、「ｓｅｌｅｃｔ」、「ｄｉｓｐｌａｙｎａｍｅ」、「ｎａｍｅ」、「ｔｙｐｅ」、「ｄｅｆａｕｌｔ」、及び「ｉｎｐｕｔ  ｔｙｐｅ」等の設定項目がある。設定項目「ｎａｍｅ」には、パラメータ情報のパラメータ名が設定される。設定項目「ｔｙｐｅ」には、パラメータ値として設定することができるデータ形式が設定される。設定項目「ｄｅｆａｕｌｔ」には、デフォルトとして設定されるパラメータ値が設定される。
【０１５５】
また、設定項目「ｓｅｌｅｃｔ」には、パラメータ情報のパラメータ値をエンドユーザ（サービスの利用者）に入力させるか否かが設定される。設定項目「ｓｅｌｅｃｔ」にチェックが入れられたパラメータ情報は、アプリ画面においてエンドユーザ（サービスの利用者）がパラメータ値を入力することができる。一方で、設定項目「ｓｅｌｅｃｔ」にチェックが入れられていないパラメータ情報は、アプリ画面において開発者がパラメータ値を入力することができず、設定項目「ｄｅｆａｕｌｔ」に設定されたパラメータ値が用いられる。
【０１５６】
また、設定項目「ｉｎｐｕｔ  ｔｙｐｅ」には、設定項目「ｓｅｌｅｃｔ」にチェックが入れられたパラメータ情報について、アプリ画面における入力方法が設定される。設定項目「ｉｎｐｕｔ  ｔｙｐｅ」では、例えば、パラメータ値の一覧から所望のパラメータ値を選択する入力方法「ｌｉｓｔ−ｒａｄｉｏ−ｂｕｔｔｏｎ」、パラメータ値を直接入力する入力方法「ｔｅｘｔ」等を設定することができる。なお、設定項目「ｉｎｐｕｔ  ｔｙｐｅ」には、これら以外にも、例えば、画面上の座標を入力する入力方法、所望のフォルダやファイルを選択するための入力方法等を選択することができても良い。
【０１５７】
更に、設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、アプリ画面に表示される入力項目（パラメータ値を入力させるための項目）の表示名が設定される。設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、図１２に示すアプリケーション登録画面Ｇ３００の「表示言語」選択欄Ｇ３４０で選択した言語の表示名を設定することができる。すなわち、例えば、「表示言語」選択欄Ｇ３４０で「Ｊａｐａｎｅｓｅ」及び「Ｅｎｇｌｉｓｈ」が選択された場合、設定項目「ｄｉｓｐｌａｙｎａｍｅ」には、例えば、日本語の表示名「翻訳元」と、英語の表示名「Ｓｏｕｒｃｅ  Ｌａｎｇｕａｇｅ」とを設定することができる。
【０１５８】
これにより、開発者は、各コンポーネントが用いるパラメータ情報について、パラメータ情報のパラメータ値をサービスの利用者に入力させるか否か、その入力方法等を設定することができる。
【０１５９】
以降では、開発者が、各コンポーネントが用いるパラメータ情報を設定した上で、「次へ」ボタンＧ５３０を押下する操作を行ったものとする。すると、ブラウザ３１０の操作受付部３１２は当該操作を受け付けて、表示制御部３１３は例えば図１５に示すアプリケーション登録画面Ｇ６００を表示する。
【０１６０】
図１５に示すアプリケーション登録画面Ｇ６００は、図１１〜図１４で設定された各種情報（アプリ設定情報）を開発者が確認するための画面である。
【０１６１】
図１５に示すアプリケーション登録画面Ｇ６００には、「アプリ設定情報」表示欄Ｇ６１０と、「登録」ボタンＧ６２０とが含まれる。開発者は、「アプリ設定情報」表示欄Ｇ６１０において、図１１〜図１４で設定した各種情報を確認することができる。
【０１６２】
ここで、開発者は、「アプリ設定情報」表示欄Ｇ６１０でアプリ設定情報を確認した上で、「登録」ボタンＧ６２０を押下する操作（アプリケーションの登録操作）を行ったものとする。すると、ブラウザ３１０の操作受付部３１２は、アプリケーションの登録操作を受け付ける（ステップＳ８０９）。
【０１６３】
ブラウザ３１０の操作受付部３１２がアプリケーションの登録操作を受け付けると、ブラウザ３１０が実行するＷｅｂアプリが例えば図１６に示すアプリ設定情報１２００を作成する（ステップＳ８１０）。
【０１６４】
アプリ設定情報１２００について、図１６を参照しながら説明する。図１６は、アプリ設定情報１２００の一例を示す図である。
【０１６５】
図１６に示すアプリ設定情報１２００には、アプリタイプ１２０１、アプリ名１２０２、アプリＩＤ１２０２−２、アプリ表示名１２０３、認証タイプ１２０４、及びフロー名１２０５が含まれる。また、図１６に示すアプリ設定情報１２００には、デザインテンプレートタイプ１２０６、デフォルトパラメータ１２０７、及びユーザ入力パラメータ１２０８等が含まれる。
【０１６６】
アプリタイプ１２０１は、図１１に示すアプリケーション登録画面Ｇ２００で選択されたアプリケーションのタイプである。図１６に示す例では、アプリケーションのタイプがスキャンタイプであることを示す「"ａｐｐ＿ｔｙｐｅ"："ｓｃａｎ"」が定義されている。
【０１６７】
アプリ名１２０２は、図１２に示すアプリケーション登録画面Ｇ３００の「アプリ名」入力設定欄Ｇ３１０に入力されたアプリ名である。図１６に示す例では、アプリ名が「スキャン翻訳アプリケーション」であることを示す「"ａｐｐＮａｍｅ"："スキャン翻訳アプリケーション"」が定義されている。アプリＩＤ１２０２−２は、このアプリケーションの付与されたアプリＩＤである。
【０１６８】
アプリ表示名１２０３は、アプリ画面に表示されるアプリケーション名称（タイトル）である。日本語では「スキャン翻訳」、英語では「Ｔｒａｎｓｌａｔｉｏｎ  Ａｐｐ」と表示されることが定義される。
【０１６９】
認証タイプ１２０４は、図１２に示すアプリケーション登録画面Ｇ３００の「認証」選択欄Ｇ３３０で選択された認証である。図１６に示す例では、認証しないことを示す「"ｌｏｇｉｎＴｙｐｅ"："ｎｏｎｅ"」が定義されている。
【０１７０】
フロー名１２０５は、図１３に示すアプリケーション登録画面Ｇ４００のフロー選択欄Ｇ４２０で選択されたフロー名である。図１６に示す例では、フロー名が「"ｔｒａｎｓｌａｔｅ−ｍａｉｌ"」であることを示す「"ｆｌｏｗＮａｍｅ"："ｔｒａｎｓｌａｔｅ−ｍａｉｌ"」が定義されている。
【０１７１】
デザインテンプレートタイプ１２０６は、図１２に示すアプリケーション登録画面Ｇ３００の「デザインテンプレート」選択欄Ｇ３２０で選択された表示形式である。図１６に示す例では、一画面形式でアプリ画面を表示することを示す「"ｖｉｅｗＴｅｍｐｌａｔｅ"："一画面形式"」が定義されている。
【０１７２】
デフォルトパラメータ１２０７は、アプリ画面において開発者がパラメータ値を入力しないパラメータ情報が定義されている。すなわち、デフォルトパラメータ１２０７には、図１４に示すアプリケーション登録画面Ｇ５００の「パラメータ情報」設定欄Ｇ５２０において、設定項目「ｓｅｌｅｃｔ」のチェックを入れなかったパラメータ情報が定義される。図１６に示す例では、詳細処理名「ｄｅｔａｉｌ０」（すなわち、図８における詳細処理定義１１１０）に定義されたパラメータ名「"ｌａｎｇｕａｇｅ"」のパラメータ情報は、デフォルトのパラメータ値として、「"Ｅｎｇｌｉｓｈ"」が設定されることが定義されている。
【０１７３】
このように、デフォルトパラメータ１２０７には、デフォルトでパラメータ値が設定されるパラメータ情報が定義されている。換言すれば、デフォルトパラメータ１２０７には、開発者がパラメータ値を設定しないパラメータ情報が定義されている。
【０１７４】
ユーザ入力パラメータ１２０８は、アプリ画面において開発者によりパラメータ値が入力されるパラメータ情報が定義されている。すなわち、ユーザ入力パラメータ１２０８には、図１４に示すアプリケーション登録画面Ｇ５００の「パラメータ情報」設定欄Ｇ５２０において、設定項目「ｓｅｌｅｃｔ」のチェックを入れたパラメータ情報が定義される。
【０１７５】
図１６に示す例では、詳細処理名「ｄｅｔａｉｌ１」（すなわち、図８における詳細処理定義１１２０）に定義されたパラメータ名「"ｆｒｏｍ"」のパラメータ値が開発者に入力されることを示す入力定義１２１８が定義されている。同様に、詳細処理名「ｄｅｔａｉｌ１」（すなわち、図８における詳細処理定義１１２０）に定義されたパラメータ名「"ｔｏ"」のパラメータ値が開発者に入力されることを示す入力定義１２２８が定義されている。
【０１７６】
また、同様に、詳細処理名「ｄｅｔａｉｌ２」（すなわち、図８における詳細処理定義１１３０）に定義されたパラメータ名「"ａｄｄｒｅｓｓ"」のパラメータ値が開発者に入力されることを示す入力定義１２３８が定義されている。
【０１７７】
このように、ユーザ入力パラメータ１２０８には、アプリ画面において開発者がパラメータ値を入力するパラメータ情報が定義されている。
【０１７８】
以上のように、アプリ設定情報１２００には、アプリ画面に表示される表示情報（例えば、タイトル）やアプリ画面の入力項目（パラメータ値を入力又は選択する項目）、当該入力項目における入力方法等が定義されている。また、アプリ設定情報１２００には、パラメータ値がデフォルトで設定されるパラメータ情報（すなわち、アプリ画面でパラメータ値が入力又は選択されないパラメータ情報）等が定義されている。
【０１７９】
ブラウザ３１０のＷｅｂアプリがアプリ設定情報１２００を作成すると、通信部３１１がアプリケーションの登録要求を、ポータルサービス部１４０のアプリ登録部１４２に送信する（ステップＳ８１１）。なお、アプリケーションの登録要求には、ステップＳ８１０で作成されたアプリ設定情報１２００が含まれる。
【０１８０】
ポータルサービス部１４０のアプリ登録部１４２は、アプリケーションの登録要求を受信すると、当該登録要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ８１２）。
【０１８１】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリケーションの登録要求を受信すると、アプリケーションを登録する（ステップＳ８１３）。そして、アプリ管理部１１１は、登録結果をブラウザ３１０に返信する。
【０１８２】
すなわち、アプリ管理部１１１は、アプリケーションの登録要求に含まれるアプリ設定情報１２００をアプリＩＤと関連付けてアプリ情報記憶部１５０に記憶する。これにより、当該アプリ設定情報１２００と、当該アプリ設定情報１２００のフロー名１２０５に定義されたフロー名の処理フロー情報１１００とを含むアプリ情報１０００がサービス提供システム１０に登録される。
【０１８３】
以上により、本実施形態に係る情報処理システム１では、開発者がＰＣ端末３０を用いて、サービス提供システム１０にアプリケーションを登録することができる。しかも、本実施形態に係る情報処理システム１では、開発者がＰＣ端末３０を用いて、例えば、フロー名や各コンポーネントのパラメータ情報等を設定することで、容易にアプリケーション（アプリ情報１０００）を登録することができる。
【０１８４】
したがって、本実施形態に係る情報処理システム１によれば、例えば、プログラミング言語等の専門的な知識や経験を有しないエンドユーザの管理者（例えば、企画担当者等）であっても、各種サービスを提供するアプリケーション（アプリ情報１０００）を登録することができる。
【０１８５】
＜フロー登録＞
続いて、図１７を用いてフロー登録時の画面と開発者の操作について説明する。図１７は、ＰＣ端末３０のブラウザ３１０の表示制御部３１３が表示する処理フロー設定画面Ｇ８００の一例を示す。処理フロー設定画面Ｇ８００は、主に、フロー処理名入力欄４０１、出力タイプ欄４０２、コンポーネントリスト欄４０３、及び、コンポーネント設定欄４０４を有している。
【０１８６】
フロー処理名入力欄４０１には、フロー処理の名称が入力及び表示される。開発者が新規にフロー処理を作成する場合、開発者が適宜、フロー処理の名称を入力する。開発者がすでに作成済みのフロー処理を編集する場合、作成時に登録されたフロー処理の名称が表示される。出力タイプ欄４０２には処理フローが出力するデータのタイプ（バイナリ、テキストなど）が一覧表示され、開発者が選択できるようになっている。
【０１８７】
コンポーネントリスト欄４０３には、フロー処理に設定され得るコンポーネントのリストが表示される。つまり、コンポーネントリスト欄４０３の各コンポーネントは開発者の選択により処理フローに設定される。コンポーネントリスト欄４０３にはコンポーネントのアイコンと名称が表示される。各コンポーネントはタブ４０３ａにより「Service」「Document」「System」「Dev」等のカテゴリーに区分されている。「Service」はメール送信やファイルアップロードなどの外部サービスを利用するコンポーネントを、「Document」はＰＤＦ変換やＯＣＲなど文書を処理するコンポーネントを、「System」はシステム系のコンポーネントをそれぞれ意味している。「All」はカテゴリーを分類せずにコンポーネントを一覧表示するタブである。
【０１８８】
コンポーネント設定欄４０４は、開発者がコンポーネントのアイコン３４０ａ〜３４０ｄを配置する欄である。アイコン３４０ａは「外部ストレージサービスＡ」というストレージサービスのコンポーネントを表し、アイコン３４０ｂは「外部ストレージサービスＢ」というストレージサービスのコンポーネントを表す。アイコン３４０ｃはＰＤＦへ変換するサービスのコンポーネントを表し、アイコン３４０ｄはベイツスタンプ（ベイツ番号を設定する）というサービスのコンポーネントを表す。
【０１８９】
コンポーネント設定欄４０４は格子状に区切られており、１つの区画３５０に１つのコンポーネントを表示する。行方向の複数の区画３５０に設定されたコンポーネントが１つの処理フローである。横方向に並んだ複数の処理を有する処理フローは左から右の順に実行されるので、１行の区画３５０において左から右に配置されたコンポーネントの順番が各コンポーネントの実行順を示す。
【０１９０】
ＰＣ端末３０のブラウザ３１０（Ｗｅｂアプリ）がコンポーネントを配置する規則は以下のようになる。開発者がポインティングデバイス３２０でコンポーネントリスト欄４０３のコンポーネントを選択し（クリック又はタップ）、コンポーネント設定欄４０４の区画３５０をポインティングデバイス３２０で選択（クリック又はタップ）することが、コンポーネントの配置操作である。
【０１９１】
(i) 表示制御部３１３は各行のコンポーネントは左詰めに配置する。
【０１９２】
(ii) まだコンポーネントが配置されていない区画３５０に開発者がコンポーネントを配置した場合は、表示制御部３１３は該区画３５０にコンポーネントを配置する（表示する）。
【０１９３】
(iii) すでにコンポーネントが配置されている区画３５０に開発者がコンポーネントを配置した場合は、すでに配置されているコンポーネントと、同じ区画３５０に配置しようとされたコンポーネントのオペレーション（後述する）が同じ場合、表示制御部３１３は該区画３５０の下に隣接した区画３５０に、配置しようとされたコンポーネントを配置する。これにより、２つのコンポーネントがグループ化される。上下に隣接した２つの区画３５０に配置された２つのコンポーネントをコンポーネントグループという。コンポーネントグループに含まれる各コンポーネントの実行順は同じである。厳密にはどちらかのみが実行されるか、両方が実行される場合はどちらかが先に実行される（例えば、上側のコンポーネントが先に実行される）。しかし、処理フロー内での実行順は同じとして扱われる。
【０１９４】
すでに配置されているコンポーネントと、このコンポーネントが配置されている区画３５０に配置しようとされたコンポーネントのオペレーションが異なる場合、表示制御部３１３は同じ区画３５０に配置しようとされたコンポーネントをどの区画にも配置しない。ただし、グループ化せずに下方の区画３５０に配置してもよい。また、何らかのエラーメッセージを出力してもよい。
【０１９５】
(iv) コンポーネントグループが設定された場合、ＰＣ端末３０の表示制御部３１３はコンポーネントグループである旨を表示する。すなわち、複数のコンポーネントが同じ順番に設定された旨を表示する。例えば、２つの区画３５０を枠３３０で囲んで表示する。この他、区画３５０を同じ背景色で着色してもよいし、２つの区画のコンポーネントの近くにコンポーネントグループである旨の同じマークを添付してもよい。枠３３０は、複数の外部サービスのアイコン同士を関連付けて表示する。コンポーネントのオペレーションが同じ場合には、ＰＣ端末３０は、枠３３０を用いてアイコン同士をまとめて表示したり、１つの区画３５０内にアイコン同士を合わせて表示したりすることで、枠３３０が複数の外部サービスのアイコン同士を関連付けていることをユーザが把握可能とする。
【０１９６】
以上のように、開発者がポインティングデバイス３２０でコンポーネントリスト欄４０３の「外部ストレージサービスＢ」のコンポーネント（第一の処理の一例）を選択し（クリック又はタップ）、コンポーネント設定欄４０４の「外部ストレージサービスＡ」のコンポーネント（第二の処理の一例）をポインティングデバイス３２０で選択（クリック又はタップ）すると、図１７に示すように、「外部ストレージサービスＢ」と「外部ストレージサービスＡ」のコンポーネントグループが作成される。
【０１９７】
図１７の処理フローは以下のように実行される。
(i) ファイルダウンロード（外部ストレージサービスＡ）又はファイルダウンロード（外部ストレージサービスＢ）
(ii) ＰＤＦ変換
(iii) ベイツ番号の設定
このように、ＰＤＦ変換とベイツ番号の設定は共通だが、ファイルダウンロードを行うストレージサービスが異なる場合、開発者は異なる部分のコンポーネントだけを追加すればよいので、開発者の負担を低減できる。どちらのストレージサービスを利用するかはエンドユーザが設定できる。
【０１９８】
なお、コンポーネントグループの作成時には、開発者がコンポーネントリスト欄４０３のコンポーネントを、コンポーネント設定欄４０４の区画３５０（すでにコンポーネントが配置されている）にドラッグ＆ドロップしてもよい。
【０１９９】
また、図１７では区画３５０が表示されているが、区画３５０は開発者の操作を支援するためのものなので区画３５０はなくてもよい。また区画３５０は矩形でなく円形や多角形でもよい。
【０２００】
続いて、図１８に基づいてオペレーションについて説明する。図１８はコンポーネントが有する属性を説明する図の一例である。図１８は各コンポーネントが有する属性の一部を示す。属性としては、例えばコンポーネントＩＤ、コンポーネント名、オペレーション、及び、カテゴリーがあるが、この他、コンポーネントの作成日時、アイコンなどを有している。
【０２０１】
コンポーネントＩＤは各コンポーネントを識別又は特定するための識別情報である。コンポーネント名はコンポーネントリスト欄４０３に表示されるコンポーネントの名称である。オペレーションは、コンポーネントの処理内容である。例えば、postFileは電子ファイルのアップロードという処理内容を、convertは変換という処理内容を、sendは送信という処理内容を、それぞれ意味している。カテゴリーについては図１７に説明した。
【０２０２】
図１８のオペレーションが同じコンポーネントは、同じ処理内容をそれぞれが実行する。したがって、開発者が望む場合、ＰＣ端末３０のブラウザ３１０はコンポーネントグループとすることができる。なお、各コンポーネントの属性はポータル画面情報３０００に記憶されており、ＵＩ提供部１４１からＰＣ端末３０のブラウザ３１０に送信されている。
【０２０３】
図１９は、ＰＣ端末３０のブラウザ３１０が処理フローの配置を受け付ける手順を示すフローチャート図の一例である。図１９の処理は図１３に示すアプリケーション登録画面Ｇ４００で「更新」ボタンＧ４２１又は「新規」ボタンＧ４２２が押下され、図１７の処理フロー設定画面Ｇ８００が表示された場合に実行される。
【０２０４】
ＰＣ端末３０のブラウザ３１０の操作受付部３１２はコンポーネントリスト欄４０３からコンポーネントの選択を受け付ける（Ｓ１９０１）。
【０２０５】
次に、操作受付部３１２は区画３５０が選択されたか否かを判断する（ステップＳ１９０２）。コンポーネントリスト欄４０３でコンポーネントが選択された後、コンポーネント設定欄４０４で区画３５０が選択されたか否かを判断する。
【０２０６】
ステップＳ１９０２の判断がＹｅｓとなると、ＰＣ端末３０の判断部３１４は、選択された区画３５０にすでにコンポーネントが配置されているか否かを判断する（ステップＳ１９０３）。
【０２０７】
ステップＳ１９０３の判断がＹｅｓの場合、ＰＣ端末３０の判断部３１４は、コンポーネントリスト欄４０３で選択されたコンポーネントと、選択された区画３５０にすでに配置されているコンポーネントのオペレーションが同じか否かを判断する（ステップＳ１９０４）。
【０２０８】
ステップＳ１９０４の判断がＹｅｓの場合、ＰＣ端末３０のフロー作成部３１５はコンポーネントグループを作成する（ステップＳ１９０５）。つまり、この処理フローは１行目だけでなく２行目のコンポーネントも含むと判断し、上下に並んだ２つのコンポーネントを同じ順番に設定する。ただし、処理フロー情報１１００の記述上は順番があってよい。また、表示制御部３１３は上下に隣接した区画３５０を枠３３０で囲む。
【０２０９】
ステップＳ１９０３又はＳ１９０４でＮｏと判断された場合、ＰＣ端末３０の表示制御部３１３は、開発者が区画３５０に配置しようとしたコンポーネントを配置しない（ステップＳ１９０６）。いずれの区画３５０にもコンポーネントを配置しなくてもよいし、ステップＳ１９０１で開発者が選択した区画３５０の下側の区画に配置してもよい。ただし、コンポーネントグループは作成されないので、枠３３０が表示されることはない。この場合、ＰＣ端末３０の表示制御部３１３はエラーメッセージを表示してもよい。また、選択した区画３５０にすでに配置されているコンポーネントと同じ処理内容のコンポーネントのリストを表示してもよい。
【０２１０】
このように、ＰＣ端末３０のブラウザ３１０は同じオペレーションのコンポーネントであるかを判断するので、開発者が誤って動作が異なる２つのコンポーネントでコンポーネントグループを作成しようとしても誤操作を受け付けることがない。
【０２１１】
次に、図２０を用いて処理フロー設定画面Ｇ８００においてコンポーネントグループの別の例を説明する。図２０は、ＰＣ端末３０のブラウザ３１０が表示する処理フロー設定画面Ｇ８００の一例である。図２０（ａ）では、左から１つめの区画３５０には「ＯＣＲ」のコンポーネントのアイコン３４０ｅが配置され、２つめの区画３５０にはコンポーネントグループの２つのストレージサービスのコンポーネント（アイコン３４０ａ、３４０ｂ）が縮小されて水平に格納されている。３つめの区画３５０には「メール送信」のコンポーネントのアイコン３４０ｆが配置されている。
【０２１２】
すなわち、１つの区画３５０に複数のコンポーネントが表示されることで開発者はコンポーネントグループが作成されたことを確認できる。なお、１つの区画３５０の複数のコンポーネントは上下に格納されてもよい。
【０２１３】
図２０（ｂ）は３つ以上のコンポーネントがグループ化された場合の表示例を示す。図２０（ｂ）では３つのコンポーネントが縦方向に並び、枠３３０で囲まれている。すなわち、左から２つめの区画３５０の一番下にはファイルアップロードのコンポーネントのアイコン３４０ｇが配置されている。ファイルアップロードの３つのコンポーネント（アイコン３４０ａ、３４０ｂ、３４０ｇ）が１つのコンポーネントグループである。
【０２１４】
３つ以上のコンポーネントのグループ化の方法は、上記と同様であるが、開発者はすでに区画３５０に配置されている２つのコンポーネントのどちらかをポインティングデバイス３２０で選択すればよい。
【０２１５】
３つ以上のコンポーネントを含むコンポーネントグループにおいても、図２０（ａ）のように１つの区画３５０に縮小されたコンポーネントを配置することができる。この場合、１つのコンポーネントのアイコンが小さくなるので、表示制御部３１３は１つの区画３５０のコンポーネントの数が所定以上の場合、自動的に図２０（ｂ）の縦方向に並べる形態に切り替えて表示してもよい。また、開発者の操作（例えば、区画３５０のクリック又はタップ）に応じて、表示制御部３１３が図２０（ａ）の表示と図２０（ｂ）の表示を切り替えてもよい。
【０２１６】
図２１はコンポーネントグループを含む処理フローの処理フロー情報１１００の一例である。図２１では、図１のように作成されたコンポーネントグループ含む処理フローの処理フロー情報を示す。図８の処理フロー情報と変数名は同様である。図１では４つのコンポーネントが含まれているため、detail0（１５１０）〜detail3（１５１３）の４つのコンポーネントに関する情報を含んでいる。
【０２１７】
このうち、detail1（１５１１）がグループ化されたファイルアップロード（外部ストレージサービスＡ）のコンポーネントに対応し、detail2（１５１２）がファイルアップロード（外部ストレージサービスＢ）のコンポーネントに対応する。
【０２１８】
このように、処理フローの一部のコンポーネントがグループ化されていても処理フロー情報は処理の実行順に記述されていればよい。コンポーネントグループの処理はどちらが先に実行されてもよいため、どちらのコンポーネントが先に記述されていてもよい。後述するように、エンドユーザにより選択されなかったコンポーネントは実行されないだけである。
【０２１９】
＜エンドユーザ側の操作＞
続いて、エンドユーザが行う操作について説明する。エンドユーザは開発者が登録したアプリケーションを日常業務で実際に実行する。ここで、アプリケーションには、共有アプリと個人用アプリの二種類がある。情報処理システム１が提供するワークフローサービスのようなクラウドサービスではテナントという概念があり、テナントごとにクラウドサービスを契約する。テナントとはクラウドサービスの顧客である。企業単位でテナントになる場合だけでなく、部署、グループ等の種々の粒度の組織でテナントとなる場合がある。
【０２２０】
このテナントに所属するエンドユーザが共通に使用するアプリケーションが共有アプリであり、テナントに所属するエンドユーザが個別に使用するアプリケーションが個別アプリである。
【０２２１】
アプリケーションには認証が必要なサービス（コンポーネント）を利用するものがある。例えば、ファイルアップロード又はファイルダウンロードを行うためのストレージサービスなどである。このため、共有アプリと個別アプリでエンドユーザが設定すべき情報が異なっている。
【０２２２】
個別アプリはエンドユーザが個人で使用するためストレージサービスを使用するエンドユーザは一意に定まる。共有アプリの場合、テナントに所属するエンドユーザのうちどのエンドユーザのアカウントでストレージサービスを使用するかをエンドユーザが設定する必要がある。
【０２２３】
また、共有アプリか個人用アプリかに関わらず、本実施形態のようにファイルアップロード又はファイルダウンロードでコンポーネントグループが作成された場合、エンドユーザがどちらのコンポーネント（ストレージサービス）を使用するかを設定する。
【０２２４】
以上のような設定を、エンドユーザはアプリ情報記憶部１５０に登録されているアプリケーションに対して行う。なお、共有アプリか個人用アプリかはアプリ設定情報１２００に設定されている。また、図１１〜図１５のいずれかの画面で開発者が設定できる。
【０２２５】
図２２は、エンドユーザがアプリ情報記憶部１５０に登録されているアプリケーションに対して行う設定の手順を示す一例のシーケンス図である。
【０２２６】
まず、ＰＣ端末３０のブラウザ３１０の操作受付部３１２はログイン画面を表示させるための操作をエンドユーザから受け付け、通信部３１１はＵＩ提供部１４１に対しログイン画面を要求する。この要求に対し、ＵＩ提供部１４１はログイン画面の画面情報をＰＣ端末３０のブラウザ３１０に送信する（ステップＳ２２０１）。なお、エンドユーザは、ログイン画面のＵＲＬをブラウザ３１０のアドレスバーに入力することで、ログイン画面の表示操作を行うことができる。
【０２２７】
ＰＣ端末３０の通信部３１１はログイン画面の画面情報を受信し、表示制御部３１３は、ログイン画面の画面情報に基づいて、例えば図２３に示すログイン画面を表示する。
【０２２８】
図２３はログイン画面の一例を示す図である。ログイン画面Ｇ９００は、テナントログイン欄４１１とユーザアカウントログイン欄４１２を有している。テナントログイン欄４１１はサービス提供システム１０のアカウントでエンドユーザがログインするための欄であり、ユーザアカウントログイン欄４１２はＯＡＵＴＨ認証を利用してエンドユーザがログインするための欄である。
【０２２９】
テナントログイン欄４１１は更にテナントＩＤ入力欄４１３、ユーザＩＤ入力欄４１４、パスワード入力欄４１５、及び、ログインボタン４１６を有する。エンドユーザは、テナントＩＤ入力欄４１３にエンドユーザが所属するテナントの識別情報を入力し、ユーザＩＤ入力欄４１４にはエンドユーザのユーザＩＤを入力し、パスワード入力欄４１５にはエンドユーザのパスワードを入力する。
【０２３０】
ユーザアカウントログイン欄４１２は、認証サービスを提供するサーバ（認可サーバ）にユーザの認証を要求するためのログインボタン４１７を有している。
【０２３１】
図２２に戻って説明する。エンドユーザがログイン画面にログイン情報を入力するので、ＰＣ端末３０の操作受付部３１２はログイン情報の入力を受け付ける。ＰＣ端末３０の通信部３１１はログイン情報と共にログイン要求をポータルサービス部１４０に送信する（ステップＳ２２０３）。ＯＡＵＴＨ認証の場合は所定の認可サーバと通信する。図２２の説明ではログインが成功したものとして説明する。
【０２３２】
ログインに成功したため、ＵＩ提供部１４１はメイン画面の画面情報をＰＣ端末３０のブラウザ３１０に送信する（ステップＳ２２０４）。
【０２３３】
ＰＣ端末３０の通信部３１１はメイン画面の画面情報を受信して、表示制御部３１３がメイン画面の画面情報に基づいて、例えば図２４に示すメイン画面を表示する。
【０２３４】
図２４はメイン画面の一例を示す図である。メイン画面Ｇ１０００は、エンドユーザの管理者メニュー４２１と一般ユーザメニュー４２２を表示する。エンドユーザの管理者メニュー４２１はエンドユーザ側の管理者が使用するメニューである。エンドユーザ側の管理者とはエンドユーザがサービス提供システム１０を使用できるように各種の設定を行う者をいう。エンドユーザ側の管理者は共有アプリに関する設定も行う。一般ユーザとは管理者以外のエンドユーザ又は日常的に機器２０を使用する者をいう。
【０２３５】
管理者メニュー４２１は、ユーザ管理アイコン４２３、テナント管理アイコン４２４、アプリ管理アイコン４２５、及び、機器管理アイコン４２６を有している。ユーザ管理アイコン４２３は、エンドユーザに関する情報（氏名、メールアドレス、ユーザＩＤ、パスワードなど）の追加、削除、及び編集をＰＣ端末３０のブラウザ３１０が受け付けるためのアイコンである。テナント管理アイコン４２４はテナントに関する情報（テナント名、テナントＩＤ、管理者、テナントのパスワード、契約内容など）の追加、削除、及び編集をＰＣ端末３０のブラウザ３１０が受け付けるためのアイコンである。アプリ管理アイコン４２５はアプリケーションに関する情報（アプリケーション設定情報）の追加、削除、及び編集をＰＣ端末３０のブラウザ３１０が受け付けるためのアイコンである。機器管理アイコン４２６は機器に関する情報（機器でどのアプリケーションが何回、誰によって利用されたかなど）の表示をＰＣ端末３０のブラウザ３１０が受け付けるためのアイコンである。共有アプリに関する設定を行う場合、管理者はアプリ管理アイコン４２５を押下する。
【０２３６】
一般ユーザメニュー４２２はアプリ一覧アイコン４２７を有している。アプリ一覧アイコン４２７は、ログインしたエンドユーザの個人用アプリの一覧をＰＣ端末３０のブラウザ３１０が表示するためのアイコンである。個人用アプリに関する設定を行う場合、一般ユーザはアプリ一覧アイコン４２７を押下する。
【０２３７】
図２２に戻って説明する。管理者はメイン画面に対しアプリ管理アイコンを押下し、一般ユーザはアプリ管理アイコンを押下する（ステップＳ２２０５）。ＰＣ端末３０の操作受付部３１２はこれらの押下を受け付ける。これにより、ＰＣ端末３０の通信部３１１は、一般ユーザ又は管理者それぞれが使用できるアプリケーションのリストを受信するので、表示制御部３１３はアプリケーションのリストを表示する。一般ユーザ又は管理者はコンポーネントグループを有するアプリケーションの設定を行うため、このアプリケーションを選択する。ＰＣ端末３０の操作受付部３１２はアプリケーションの選択の操作を受け付ける。
【０２３８】
ＰＣ端末３０の通信部３１１は、エンドユーザの操作に応じて、選択されたアプリＩＤを指定して、共有アプリ又は個人用アプリのアプリ設定画面の画面情報を要求する（ステップＳ２２０６）。
【０２３９】
ＵＩ提供部１４１はアプリ設定画面の画面情報の要求を受信する。ＵＩ提供部１４１は、アプリＩＤで特定したアプリケーションが共有アプリか個人用アプリかに応じて画面情報を生成する（ステップＳ２２０７）。具体的には、処理フローに含まれるコンポーネントによってエンドユーザが設定できる項目が異なるため、ＵＩ提供部１４１は共有アプリ及び個人用アプリのいずれの場合も処理フローに含まれるコンポーネントに応じた画面情報を生成する。また、図２５，図２６に示すように、ストレージアカウント欄がある画面情報とない画面情報を生成する。
【０２４０】
ＵＩ提供部１４１は、共有アプリ又は個人用アプリのアプリ設定画面の画面情報をＰＣ端末３０のブラウザ３１０に送信する（ステップＳ２２０８）。  ＰＣ端末３０の通信部３１１はアプリ設定画面の画面情報を受信する。一般ユーザが個人用アプリに関するアプリ設定を行う場合、ステップＳ２２０９が実行され、管理者が共有アプリに関するアプリ設定を行う場合、ステップＳ２２１０、Ｓ２２１１が実行される。
【０２４１】
ステップＳ２２０９において、ＰＣ端末３０の通信部３１１はアプリ設定画面の画面情報を受信して、表示制御部３１３はアプリ設定画面の画面情報に基づいて、例えば図２５に示す個人用アプリ設定画面を表示する。一般ユーザは処理フローで使用するストレージサービスを選択するため、ＰＣ端末３０の操作受付部３１２はストレージサービスの選択を受け付ける（ステップＳ２２０９）。
【０２４２】
図２５は、ＰＣ端末３０のブラウザ３１０が表示する個人用アプリ設定画面Ｇ１１００の一例を示す。個人用アプリ設定画面Ｇ１１００は、共通設定欄４３１、シングルアプリケーション設定欄４３２、及び、デフォルトスキャン設定欄４３３等を有している。共通設定欄４３１は更にフォルダブラウズのデフォルト画面設定欄４３１ａとフォルダブラウズのデフォルトレイアウト設定欄４３１ｂを有している。フォルダブラウズのデフォルト画面設定欄４３１ａでは、フォルダを一覧表示する一覧画面と、フォルダをファイルパスと共に表示する階層表示などが設定される。フォルダブラウズのデフォルトレイアウト設定欄４３１ｂでは、フォルダのレイアウトが設定（２列又は３列など）される。
【０２４３】
シングルアプリケーション設定欄４３２はコンポーネントグループのどちらのコンポーネント（ストレージサービス）を使用するかをエンドユーザが設定する欄である。シングルアプリケーション設定欄４３２はストレージ選択欄４３２ａ及びフォルダＩＤ設定欄４３２ｂを有している。ストレージ選択欄４３２ａにより一般ユーザはコンポーネントグループの２つのストレージサービスのうち、どちらかのストレージサービスを選択する。フォルダＩＤ設定欄４３２ｂは「外部ストレージサービスＡ」のストレージサービスが選択された場合に表示される入力欄である。一般ユーザは電子データを保存するフォルダを指定できる。
【０２４４】
デフォルトスキャン設定欄４３３は、処理フローにスキャンが含まれている場合に、スキャンの初期設定である。カラーモード欄４３３ａ、及び、原画像欄４３３ｂを有している。カラーモード欄４３３ａにはカラー又はモノクロ等が設定され、原画像欄４３３ｂには読み取り面を片面とするか両面とするかが設定される。
【０２４５】
図２２に戻って説明する。ステップＳ２２１０において、ＰＣ端末３０の通信部３１１はアプリ設定画面の画面情報を受信して、表示制御部３１３はアプリ設定画面の画面情報に基づいて、例えば図２６に示す管理者用アプリ設定画面を表示する。管理者は処理フローで使用するストレージサービスを選択するため、ＰＣ端末３０の操作受付部３１２はストレージサービスの選択を受け付ける（ステップＳ２２１０）。
【０２４６】
また、管理者はストレージサービスの利用にどのエンドユーザのアカウントを使用するかを設定する。ＰＣ端末３０の操作受付部３１２はストレージサービスで使用されるアカウントを受け付ける（ステップＳ２２１１）。
【０２４７】
図２６は、ＰＣ端末３０のブラウザ３１０が表示する管理者用アプリ設定画面Ｇ１２００の一例を示す。なお、図２６の説明では主に図２５との相違を説明する。図２６の管理者用アプリ設定画面Ｇ１２００では、シングルアプリケーション設定欄４３２がストレージアカウント欄４３２ｃを有する。共有アプリであっても、ストレージサービス側は１人のエンドユーザのアカウント（メールアドレス等。アカウント情報の一例）でユーザを識別するため共有アプリの設定では、ストレージアカウント欄４３２ｃの設定が必要になる。個人用アプリの場合、エンドユーザはサービス提供システム１０にログインして個人用アプリを実行するので個人が特定されており、ストレージサービスを使用するエンドユーザも一意に定まる。
【０２４８】
管理者は適切なエンドユーザのユーザＩＤをストレージアカウント欄に設定する。このユーザＩＤはストレージサービスがエンドユーザを識別するための識別情報である。
【０２４９】
図２２に戻って説明する。ＰＣ端末３０の通信部３１１は図２５又は図２６のアプリ設定画面で設定されたアプリ関連情報１３００の登録要求をアプリＩＤと共にアプリ登録部１４２に送信する（ステップＳ２２１２）。
【０２５０】
アプリ登録部１４２はアプリ関連情報１３００の登録要求を受信すると、アプリ関連情報１３００の登録要求をアプリ管理部１１１に送信する（ステップＳ２２１３）。
【０２５１】
アプリ管理部１１１はアプリＩＤに基づいてアプリ関連情報１３００をアプリケーションに対応付けてアプリ情報記憶部１５０に記憶させる（ステップＳ２２１４）。
【０２５２】
＜＜ストレージサービスに応じたアプリ設定画面＞＞
図２５，図２６では個人用アプリか共有アプリかによって異なるアプリ設定画面について説明したが、アプリ設定画面はストレージサービスに応じた項目を表示することができる。ＰＣ端末３０の表示制御部３１３はアプリ設定画面で設定されたストレージサービスに応じて、適切な項目を表示する。図２７，図２８を用いて説明する。
【０２５３】
図２７は、「外部ストレージサービスＡ」というストレージサービスが選択された場合の管理者用アプリ設定画面Ｇ１２００を示し、図２８は、「外部ストレージサービスＢ」というストレージサービスが選択された場合の管理者用アプリ設定画面Ｇ１２００を示す。なお、図２７，図２８のいずれもアプリケーションは共有アプリであるとする。
【０２５４】
図２７に示すようにストレージサービスとして「外部ストレージサービスＡ」が選択された場合、ＰＣ端末３０の表示制御部３１３は追加の項目を表示しない。これは、「外部ストレージサービスＡ」の場合、エンドユーザが設定できるオプションがないためである。ストレージサービスのオプションとは、例えばフォルダやファイル名である。
【０２５５】
これに対し、図２８に示すようにストレージサービスとして「外部ストレージサービスＢ」が選択された場合、ＰＣ端末３０の表示制御部３１３は追加の項目を表示しない。図２８では、親フォルダーパス設定欄４３２ｄ、及び、ファイル名設定欄４３２ｅが新たに表示されている。つまり、ＰＣ端末３０の表示制御部３１３は、ストレージサービスとして「外部ストレージサービスＢ」が選択されたことを検出すると、親フォルダーパス設定欄４３２ｄ、及び、ファイル名設定欄４３２ｅを表示する。これは、「外部ストレージサービスＢ」の場合、エンドユーザがこれらのオプションを設定できるためである。親フォルダーパス設定欄４３２ｄには電子ファイルのフォルダが設定され、ファイル名設定欄４３２ｅには電子ファイルのファイル名が設定される。
【０２５６】
このように、選択されたストレージサービスに応じて動的に項目が表示されるので、エンドユーザは過不足なくアプリ関連情報を設定できる。
【０２５７】
図２９は、ＰＣ端末３０のブラウザ３１０が追加の項目を表示する手順を説明するフローチャート図の一例である。図２９の処理は図２５〜図２８のアプリ設定画面が表示されると実行される。
【０２５８】
まず、ＰＣ端末３０の操作受付部３１２はストレージサービスの選択を受け付ける（ステップＳ２９０１）。
【０２５９】
ＰＣ端末３０の表示制御部３１３は選択されたストレージサービスについて設定可能なオプションがあるか否かを判断する（ステップＳ２９０２）。
【０２６０】
ステップＳ２９０２の判断がＹｅｓの場合、ＰＣ端末３０の表示制御部３１３はオプションの設定欄（図２８の例では親フォルダーパス設定欄４３２ｄ、ファイル名設定欄４３２ｅ）を表示する（ステップＳ２９０３）。
【０２６１】
なお、このような表示の制御はアプリ設定画面の画面情報に含まれるスクリプト言語により記述されている。
【０２６２】
図３０は、図２５〜図２８により設定されたアプリ関連情報１３００の一部を抜粋して示す。図３０（ａ）は個人用アプリで「外部ストレージサービスＡ」というストレージサービスが選択された場合のアプリ関連情報であり、図３０（ｂ）は共有アプリで「外部ストレージサービスＡ」というストレージサービスが選択された場合のアプリ関連情報である。
【０２６３】
まず、アプリタイプ１３０１、アプリ名１３０２、アプリＩＤ１３０３については図１６のアプリ設定情報と同様である。アプリ名１３０２により又はアプリＩＤ１３０３によりアプリ関連情報１３００とアプリ設定情報とが対応付けられる。あるいは、アプリ関連情報１３００をアプリ設定情報１２００に組み入れてもよい。個人共通区別１３０４はアプリ関連情報１３００が個人用アプリ又は共有アプリのどちらについて設定されているかを示す。
【０２６４】
図３０（ａ）（ｂ）の共通設定１３０５には、図２５又は図２６の共通設定欄４３１で設定された情報が記述されている。図３０（ａ）（ｂ）のシングルアプリケーション設定１３０６には図２５又は図２６のシングルアプリケーション設定欄４３２で設定された情報が記述されている。図３０（ａ）（ｂ）では一例としてストレージ設定１３０７に「外部ストレージサービスＡ」と「folderID」が設定されている。「外部ストレージサービスＡ」は図２５のストレージ選択欄４３２ａで設定されたストレージサービスである。「folderID」は図２５のフォルダＩＤ設定欄４３２ｂで設定されたフォルダを示す。ロジック処理部１１２（より正確にはストレージサービスのコンポーネント）はストレージ設定１３０７を参照してストレージサービスを実行するか判断し、実行する場合は指定されたフォルダに保存する。
【０２６５】
また、図３０（ｂ）に示すように共有アプリはストレージアカウント設定１３０９を有し、「taro@sample.co.jp"」というエンドユーザのアカウントが設定されている。ストレージサービスのコンポーネントはストレージアカウント設定１３０９を参照して、このエンドユーザのアカウントでストレージに電子ファイルを保存する。
【０２６６】
図３０（ｃ）は共有アプリで「外部ストレージサービスＢ」というストレージサービスが選択された場合のアプリ関連情報である。共通設定１３０５とシングルアプリケーション設定１３０６のうちストレージアカウント設定１３０９までは図３０（ａ）（ｂ）と同様である。図３０（ｃ）は「外部ストレージサービスＢ」というストレージサービスで設定可能なオプション設定１３１２を有しており、図２８の親フォルダーパス設定欄４３２ｄに設定されている親フォルダーパス設定１３１０、及び、ファイル名設定欄４３２ｅに設定されているファイル名設定１３１１が含まれている。ストレージサービスのコンポーネントはオプション設定１３１２に基づいて、ストレージに電子ファイルを保存する。
【０２６７】
＜機器からのアプリケーションの実行＞
続いて、機器２０のエンドユーザがスキャン翻訳サービスを利用する場合について、図３１を参照しながら説明する。図３１は、スキャン翻訳サービスを利用する場合の全体処理の一例を示すシーケンス図である。
【０２６８】
まず、機器２０の操作受付部２１２は、スキャン翻訳サービスのアプリ画面を表示させるための操作（表示操作）を受け付ける（ステップＳ３１０１）。なお、機器２０のユーザは、例えば、スキャン翻訳サービスのアプリ画面のＵＲＬをブラウザ３１０のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
【０２６９】
機器２０の操作受付部２１２は、スキャン翻訳サービスのアプリ画面の表示操作を受け付けると、通信部２１１がスキャン翻訳サービスのアプリ画面の表示要求を、Ｗｅｂサービス処理部１２０の画面構成部１２１に送信する（ステップＳ３１０２）。なお、スキャン翻訳サービスのアプリ画面の表示要求には、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０２７０】
Ｗｅｂサービス処理部１２０の画面構成部１２１は、スキャン翻訳サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部１１０のアプリ管理部１１１に送信する（ステップＳ３１０３）。なお、アプリ設定の取得要求には、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤが含まれる。
【０２７１】
入出力サービス処理部１１０のアプリ管理部１１１は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリＩＤに関連付けて記憶されているアプリ設定情報１２００及びアプリ関連情報１３００をアプリ情報記憶部１５０から取得する（ステップＳ３１０４）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得したアプリ設定情報１２００及びアプリ関連情報１３００を画面構成部１２１に返信する。
【０２７２】
次に、Ｗｅｂサービス処理部１２０の画面構成部１２１は、スキャン翻訳サービスを提供するアプリ情報１０００のアプリＩＤと関連付けて記憶されているアプリ画面情報２０００をアプリ画面情報記憶部１６０から取得する（ステップＳ３１０５）。そして、画面構成部１２１は、アプリ画面情報記憶部１６０から取得したアプリ画面情報２０００と、上記のステップＳ３１０４で返信されたアプリ設定情報１２００及びアプリ関連情報１３００とをブラウザ２１０に返信する。
【０２７３】
機器２０の表示制御部２１３は、画面構成部１２１から受信したアプリ画面情報２０００とアプリ設定情報１２００とに基づいて、例えば図３２に示すアプリ画面Ｇ７００を表示する（ステップＳ３１０６）。
【０２７４】
ここで、図３２に示すアプリ画面Ｇ７００は、機器２０のエンドユーザがスキャン翻訳サービスを利用するための画面である。
【０２７５】
図３２に示すアプリ画面Ｇ７００には、アプリ名Ｇ７１０と、パラメータ入力エリアＧ７２０と、「スタート」ボタンＧ７４０とが含まれる。また、パラメータ入力エリアＧ７２０には、翻訳元言語入力欄Ｇ７２１と、翻訳先言語入力欄Ｇ７２２と、メール送信先入力欄Ｇ７２３とが含まれる。
【０２７６】
アプリ名Ｇ７１０は、図１６に示すアプリ設定情報１２００のアプリ表示名１２０３に基づいて表示される。なお、アプリ表示名１２０３に複数の言語のアプリケーション名称（タイトル）が定義されている場合、ブラウザ２１０の言語設定に対応する言語のアプリケーション名称がアプリ名Ｇ７１０に表示される。
【０２７７】
また、翻訳元言語入力欄Ｇ７２１、翻訳先言語入力欄Ｇ７２２、及びメール送信先入力欄Ｇ７２３は、図１６に示すアプリ設定情報１２００のユーザ入力パラメータ１２０８に基づいて表示される。
【０２７８】
すなわち、翻訳元言語入力欄Ｇ７２１は、ユーザ入力パラメータ１２０８の入力定義１２１８に基づいて表示される。同様に、翻訳先言語入力欄Ｇ７２２は、ユーザ入力パラメータ１２０８の入力定義１２２８に基づいて表示される。また、同様に、メール送信先入力欄Ｇ７２３は、ユーザ入力パラメータ１２０８の入力定義１２３８に基づいて表示される。
【０２７９】
このように、機器２０のエンドユーザがサービスを利用するためのアプリ画面には、アプリ設定情報１２００に定義されている情報に基づいて、アプリ名やパラメータ入力エリアが表示される。
【０２８０】
ここで、図３２に示すアプリ画面Ｇ７００において、ユーザは、翻訳元言語入力欄Ｇ７２１に「Ｅｎｇｌｉｓｈ」、翻訳先言語入力欄Ｇ７２２に「Ｊａｐａｎｅｓｅ」、及びメール送信先入力欄Ｇ７２３に「ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ」を入力したものとする。そして、図３２に示すアプリ画面Ｇ７００において、ユーザは、「スタート」ボタンＧ７４０を押下する操作（実行操作）を行ったものとする。
【０２８１】
すると、機器２０の操作受付部２１２は、実行操作を受け付ける（ステップＳ３１０７）。そして、機器２０のブラウザ２１０は、スキャナ２６を制御して、原稿を読み取ることで、電子ファイル（画像ファイル）を生成する（ステップＳ３１０８）。
【０２８２】
機器２０の通信部２１１は、電子ファイル（画像ファイル）が生成されると、アプリケーションの実行要求を、Ｗｅｂサービス処理部１２０のアプリ実行部１２２に送信する（ステップＳ３１０９）。なお、アプリケーションの実行要求には、アプリ設定情報１２００のフロー名１２０５に定義されたフロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」と、上記のステップＳ１６０８で生成された電子ファイルと、パラメータ設定情報とが含まれる。
【０２８３】
ここで、パラメータ設定情報とは、アプリ設定情報１２００のデフォルトパラメータ１２０７に定義されているパラメータ情報、開発者によりアプリ画面Ｇ７００でパラメータ値が設定されたパラメータ情報、及び、アプリ関連情報１３００に設定された情報である。
【０２８４】
具体的には、デフォルトパラメータ１２０７に定義されているパラメータ情報は、「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」である。また、開発者によりアプリ画面Ｇ７００でパラメータ値が設定されたパラメータ情報は、「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」、「"ｔｏ"："Ｊａｐａｎｅｓｅ"」、及び「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」である。
【０２８５】
Ｗｅｂサービス処理部１２０のアプリ実行部１２２は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部１１０のロジック処理部１１２に送信する（ステップＳ３１１０）。
【０２８６】
次に、入出力サービス処理部１１０のロジック処理部１１２は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う（ステップＳ３１１１）。すなわち、ロジック処理部１１２は、当該要求に含まれるフロー名の処理フロー情報１１００に基づく一連の処理を実行する。なお、処理フローの実行処理の詳細については後述する。
【０２８７】
そして、ロジック処理部１１２は、処理フローの実行処理の処理結果を、Ｗｅｂサービス処理部１２０を介して、ブラウザ２１０に返信する。これにより、本実施形態に係るサービス提供システム１０は、スキャン翻訳サービスを提供することができる。
【０２８８】
以降では、処理フローの実行処理（図３１のステップＳ３１１１の処理）の詳細について、図３３を参照しながら説明する。図３３は、スキャン翻訳サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。
【０２８９】
まず、フロー実行部３０１は、アプリ実行部１２２からアプリケーションの実行要求を受信すると、処理フローの取得要求をアプリ管理部１１１に送信する（ステップＳ３３０１）。なお、当該取得要求には、フロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」が含まれる。
【０２９０】
アプリ管理部１１１は、処理フローの取得要求を受信すると、当該取得要求に含まれるフロー名「ｔｒａｎｓｌａｔｅ−ｍａｉｌ」の処理フロー情報１１００をアプリ情報記憶部１５０から取得する（ステップＳ３３０２）。そして、アプリ管理部１１１は、アプリ情報記憶部１５０から取得した処理フロー情報１１００をフロー実行部３０１に返信する。
【０２９１】
ここで、以降では、アプリ管理部１１１は、図８に示す処理フロー情報１１００をフロー実行部３０１に返信したものとして説明する。
【０２９２】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ３３０３）。
【０２９３】
すなわち、フロー実行部３０１は、図８に示す処理フロー情報１１００の詳細処理定義１１１０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｏｃｒ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０２９４】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｏｃｒ"」のコンポーネント（すなわち、ＯＣＲコンポーネント１５０１）を生成する（ステップＳ３３０４）。なお、ＯＣＲコンポーネント１５０１の生成は、コンポーネント共通Ｉ／Ｆ１５００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０２９５】
そして、コンポーネント管理部３０２は、生成したＯＣＲコンポーネント１５０１をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、ＯＣＲコンポーネント１５０１が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０２９６】
次に、フロー実行部３０１は、コンポーネント実行要求をＯＣＲコンポーネント１５０１に送信する（ステップＳ３３０５）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０２９７】
ここで、データは、データ型「ＩｎｐｕｔＳｔｒｅａｍ」として、ブラウザ２１０から受信した電子ファイルである。すなわち、フロー実行部３０１は、ブラウザ２１０から受信した電子ファイルを、単に「データ」として（データ型を意識することなく）、ＯＣＲコンポーネント１５０１に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない電子ファイル等の各種の情報を、単に「データ」と表す。
【０２９８】
また、パラメータ情報は、図８に示す処理フロー情報１１００の詳細処理定義１１１０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」等である。
【０２９９】
ＯＣＲコンポーネント１５０１は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ３３０６）。なお、当該型変換要求には、データと、ＯＣＲコンポーネント１５０１が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０３００】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ３３０７）。
【０３０１】
ここで、型変換要求に含まれるデータのデータ型は「ＩｎｐｕｔＳｔｒｅａｍ」である一方、指定されたデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
【０３０２】
すると、型変換管理部３０４は、型変換情報テーブル４０００を参照して、データ型「ＩｎｐｕｔＳｔｒｅａｍ」を「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換するための型変換を特定する（ここでは、第１の型変換１４１０が特定される。）。そして、型変換管理部３０４は、特定した第１の型変換１４１０を生成する（ステップＳ３３０８）。なお、第１の型変換１４１０の生成は、型変換共通Ｉ／Ｆ１４００を用いて行うことができる。
【０３０３】
次に、型変換管理部３０４は、型変換処理の実行要求を第１の型変換１４１０に送信する（ステップＳ３３０９）。なお、当該実行要求には、データが含まれる。
【０３０４】
第１の型変換１４１０は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「ＩｎｐｕｔＳｔｒｅａｍ」から「ＬｏｃａｌＦｉｌｅＰａｔｈ」に変換する型変換処理を行う（ステップＳ３３１０）。そして、第１の型変換１４１０は、データ型が変換されたデータを型変換管理部３０４に返信する。
【０３０５】
そして、型変換管理部３０４は、第１の型変換１４１０からデータを受信すると、当該データをＯＣＲコンポーネント１５０１に送信する（ステップＳ３３１１）。
【０３０６】
ＯＣＲコンポーネント１５０１は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ３３１２）。
【０３０７】
すなわち、ＯＣＲコンポーネント１５０１は、ＯＣＲ処理部１３１により、パラメータ情報「"ｌａｎｇｕａｇｅ"："Ｅｎｇｌｉｓｈ"」を用いて、データにより示される電子ファイルに対して、英語でＯＣＲ処理を行う。
【０３０８】
そして、ＯＣＲコンポーネント１５０１は、ＯＣＲ処理後の電子ファイル（すなわち、テキストファイル）を示すデータをフロー実行部３０１に返信する。
【０３０９】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ３３１３）。
【０３１０】
すなわち、フロー実行部３０１は、図８に示す処理フロー情報１１００の詳細処理定義１１２０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０３１１】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｔｒａｎｓｌａｔｉｏｎ"」のコンポーネント（すなわち、翻訳コンポーネント１５０２）を生成する（ステップＳ３３１４）。なお、翻訳コンポーネント１５０２の生成は、コンポーネント共通Ｉ／Ｆ１５００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０３１２】
そして、コンポーネント管理部３０２は、生成した翻訳コンポーネント１５０２をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、翻訳コンポーネント１５０２が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０３１３】
次に、フロー実行部３０１は、コンポーネント実行要求を翻訳コンポーネント１５０２に送信する（ステップＳ３３１５）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０３１４】
ここで、データは、ＯＣＲコンポーネント１５０１から返信されたデータ（すなわち、ＯＣＲ処理後の電子ファイルを示すパス）である。
【０３１５】
また、パラメータ情報は、図８に示す処理フロー情報１１００の詳細処理定義１１２０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」、及び「"ｔｏ"："Ｊａｐａｎｅｓｅ"」等である。
【０３１６】
翻訳コンポーネント１５０２は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ３３１６）。なお、当該型変換要求には、データと、翻訳コンポーネント１５０２が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０３１７】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ３３１７）。
【０３１８】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０３１９】
すると、型変換管理部３０４は、型変換要求に含まれるデータを翻訳コンポーネント１５０２に送信する（ステップＳ３３１８）。このように、データ型のチェック（ステップＳ３３１７の処理）において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部３０４は、型変換の生成を行わない。
【０３２０】
翻訳コンポーネント１５０２は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ３３１９）。すなわち、翻訳コンポーネント１５０２は、パラメータ情報「"ｆｒｏｍ"："Ｅｎｇｌｉｓｈ"」及び「"ｔｏ"："Ｊａｐａｎｅｓｅ"」を用いて、データにより示される電子ファイルを英語から日本語に翻訳する処理を行う。
【０３２１】
そして、翻訳コンポーネント１５０２は、翻訳処理後の電子ファイルを示すデータをフロー実行部３０１に返信する。
【０３２２】
なお、翻訳コンポーネント１５０２は、例えば、サービス提供システム１０とネットワークを介して接続される翻訳サーバ等に翻訳処理を要求することにより、電子ファイルの翻訳を行っても良い。
【０３２３】
次に、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ３３２０）。
【０３２４】
すなわち、フロー実行部３０１は、図８に示す処理フロー情報１１００の詳細処理定義１１３０に含まれる「"ｃｏｍｐｏｎｅｎｔ"」に定義されているコンポーネント名「"ｍａｉｌ"」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０３２５】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「"ｍａｉｌ"」のコンポーネント（すなわち、メール配信コンポーネント１５０３）を生成する（ステップＳ３３２１）。なお、メール配信コンポーネント１５０３の生成は、コンポーネント共通Ｉ／Ｆ１５００に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。
【０３２６】
そして、コンポーネント管理部３０２は、生成したメール配信コンポーネント１５０３をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、メール配信コンポーネント１５０３が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０３２７】
次に、フロー実行部３０１は、コンポーネント実行要求をメール配信コンポーネント１５０３に送信する（ステップＳ３３２２）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０３２８】
ここで、データは、翻訳コンポーネント１５０２から返信されたデータ（すなわち、翻訳後の電子ファイルを示すパス）である。
【０３２９】
また、パラメータ情報は、図８に示す処理フロー情報１１００の詳細処理定義１１３０に含まれる「"ｐａｒａｍｅｔｅｒｓ"」に定義されている各パラメータ情報のパラメータ値に、パラメータ設定情報の各パラメータ値を設定したものである。すなわち、パラメータ情報は、「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」等である。
【０３３０】
メール配信コンポーネント１５０３は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部３０４に送信する（ステップＳ３３２３）。なお、当該型変換要求には、データと、メール配信コンポーネント１５０３が扱うことができるデータ型を示す「ＬｏｃａｌＦｉｌｅＰａｔｈ」の指定とが含まれる。
【０３３１】
型変換管理部３０４は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする（ステップＳ３３２４）。
【０３３２】
ここで、型変換要求に含まれるデータのデータ型は「ＬｏｃａｌＦｉｌｅＰａｔｈ」であり、指定されたデータ型も「ＬｏｃａｌＦｉｌｅＰａｔｈ」である。したがって、型変換管理部３０４は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
【０３３３】
すると、型変換管理部３０４は、型変換要求に含まれるデータをメール配信コンポーネント１５０３に送信する（ステップＳ３３２５）。このように、データ型のチェック（ステップＳ１８２４の処理）において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部３０４は、型変換の生成を行わない。
【０３３４】
メール配信コンポーネント１５０３は、型変換管理部３０４からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する（ステップＳ３３２６）。
【０３３５】
すなわち、メール配信コンポーネント１５０３は、メール配信部１３２により、データにより示される電子ファイルを添付したメールを作成する。次に、メール配信コンポーネント１５０３は、パラメータ情報「"ａｄｄｒｅｓｓ"："ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ"」を用いて、メール配信部１３２により、当該メールを「ａｂｃ＠ａｂｃ．ｃｏ．ｊｐ」宛に送信する。
【０３３６】
そして、メール配信コンポーネント１５０３は、メールの送信結果を示すデータをフロー実行部３０１に返信する。
【０３３７】
以上により、図８に示す処理フロー情報１１００に基づく一連の処理（処理フロー）の実行が完了する。これにより、本実施形態に係るサービス提供システム１０は、機器２０に対して、スキャン翻訳サービスを提供することができる。
【０３３８】
＜＜アプリケーションが実行する処理フローにコンポーネントグループが設定されている場合＞＞
続いて、アプリケーションが実行する処理フローにコンポーネントグループが設定されている場合に機器がアプリケーションを実行する手順を説明する。ここでは図１に示したように、「外部ストレージサービスＡ」と「外部ストレージサービスＢ」のストレージサービスがコンポーネントグループとして設定されている場合を例に説明する。
(i) ＯＣＲ
(ii) ファイルアップロード（外部ストレージサービスＡ）又はファイルアップロード（外部ストレージサービスＢ）
(iii) メール送信
コンポーネントグループが設定されている場合、ロジック処理部１１２はコンポーネントグループの複数のコンポーネントのいずれか又は両方を実行する。生成されたコンポーネントはアプリ関連情報１３００で自分が選択（指定）されている場合にだけ、ファイルアップロードを行う。
【０３３９】
図３４は、コンポーネントグループが設定されている場合に機器がアプリケーションを実行する手順の一例を示すシーケンス図である。なお、図３４では図３３との相違を主に説明する。ＯＣＲコンポーネント１５０１とメール配信のコンポーネントの実行に関しては図３３と同様になるため図３４では一部の処理が省略されている。
【０３４０】
まず、図３４のステップＳ３４０１〜Ｓ３４０４など、ＯＣＲコンポーネントに関する処理は図３３と同様になる。
【０３４１】
次に、フロー実行部３０１は、図２１に示す処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ３４１１）。
【０３４２】
すなわち、フロー実行部３０１は、処理フロー情報１１００に定義されているコンポーネント名「fileupload(外部ストレージサービスＡ)」のコンポーネントの取得要求をコンポーネント管理部３０２に送信する。
【０３４３】
コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「fileupload(外部ストレージサービスＡ)」のコンポーネント（ファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４を生成する（ステップＳ３４１２）。
【０３４４】
そして、コンポーネント管理部３０２は、生成したファイルアップロード（外部ストレージサービスＡ）１５０４をフロー実行部３０１に返信する。すなわち、コンポーネント管理部３０２は、例えば、ファイルアップロード（外部ストレージサービスＡ）コンポーネント１５０４が展開されたメモリ（例えばＲＡＭ１４）上のアドレスをフロー実行部３０１に返信する。
【０３４５】
次に、フロー実行部３０１は、コンポーネント実行要求をファイルアップロード（外部ストレージサービスＡ）コンポーネント１５０４に送信する（ステップＳ３４１３）。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
【０３４６】
ここで、データは、ＯＣＲコンポーネント１５０１から返信されたデータ（すなわち、ＯＣＲ処理後の電子ファイルを示すパス）である。また、パラメータ情報は、処理フロー情報１１００に定義されている情報に加え、アプリ関連情報１３００である。
【０３４７】
ファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４はこのパラメータ情報に基づいて、要求された処理を実行するか否かを判断する。ファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４は、アプリ関連情報１３００のストレージ設定１３０７に「外部ストレージサービスＡ」が設定されている場合に実行すると判断し、それ以外の場合は実行しないと判断する。
【０３４８】
実行しないと判断した場合、ファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４はファイルアップロードを実行しない旨をフロー実行部３０１に送出して処理を終える。
【０３４９】
実行すると判断した場合、以降のステップＳ３４１５〜Ｓ３４１８が実行される。ファイルアップロードでは一般に型変換は不要であるが、図３３のステップＳ３３１７と同様に処理する。
【０３５０】
ステップＳ３４１８でファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４はデータをストレージサービスに記憶させる。すなわち、実行しているアプリケーションが個人用アプリの場合は、ログイン時に特定されているエンドユーザのアカウントを指定してストレージサービスにフォルダＩＤを指定してデータを送信する。実行しているアプリケーションが共有アプリの場合は、アプリ関連情報のストレージアカウント設定１３０９に設定されているエンドユーザのアカウントを指定してストレージサービスにデータを送信する。ファイルアップロード(外部ストレージサービスＡ)コンポーネント１５０４は、図３０に示した個人共通区別１３０４を参照して個人用アプリか共有アプリかを判断してよい。実行しているアプリケーションが個人用アプリか否かを判断することなく、アプリ関連情報１３００にストレージアカウント設定１３０９が設定されている場合はこれをログインしているエンドユーザのアカウントよりも優先して使用してもよい。
【０３５１】
続いて、フロー実行部３０１は、処理フロー情報１１００に基づくコンポーネントの取得要求をコンポーネント管理部３０２に送信する（ステップＳ３４１９）。すなわち、ステップＳ３４１９〜Ｓ３４２５では、コンポーネントグループに定義された次のコンポーネントについて、ステップＳ３４１１〜Ｓ３４１８と同様の処理が行われる。相違点を説明する。
【０３５２】
ステップＳ３４２０において、コンポーネント管理部３０２は、コンポーネントの取得要求を受信すると、コンポーネント名「fileupload(外部ストレージサービスＢ)」のコンポーネント（すなわち、ファイルアップロード（外部ストレージサービスＢ）コンポーネント１５０５を生成する（ステップＳ３４２０）。
【０３５３】
ステップＳ３４２１の実行判断についてはステップＳ３４１４と同様である。アプリ関連情報１３００で「外部ストレージサービスＡ」と「外部ストレージサービスＢ」のどちらかが設定されるという前提では、ステップＳ３４２１又はステップＳ３４１４のどちらかでファイルアップロードが行われる。アプリ関連情報１３００で「外部ストレージサービスＡ」と「外部ストレージサービスＢ」の両方が設定される場合、ステップＳ３４２１及びステップＳ３４１４の両方でファイルアップロードが行われてもよい。
【０３５４】
ステップＳ３４２１において、ファイルアップロード（外部ストレージサービスＢ）コンポーネント１５０５はデータをストレージサービスに記憶させる。すなわち、実行しているアプリケーションが個人用アプリの場合は、ログイン時に特定されているエンドユーザのアカウントを指定し、更に、アプリ関連情報１３００にオプション設定されている親フォルダーパス設定１３１０、及び、ファイル名設定１３１１を指定して、ストレージサービスにデータを送信する。実行しているアプリケーションが共有アプリの場合は、アプリ関連情報１３００のストレージアカウント設定１３０９に設定されているエンドユーザのアカウントを指定し、更に、アプリ関連情報にオプション設定されている親フォルダーパス設定１３１０、及び、ファイル名設定１３１１を指定して、ストレージサービスにデータを送信する。
【０３５５】
ステップＳ３４２６以降の処理は図３３のステップＳ３３２０〜Ｓ３３２６で説明されたメール配信と同様になる。
【０３５６】
このように、コンポーネントグループが設定されていても、サービス提供システム１０はコンポーネントグループが設定されていない場合とほぼ同様の手順で処理フローを実行できる。
【０３５７】
＜機器によるアプリケーションの実行時のストレージサービスの選択＞
図２５、図２６においてエンドユーザがアプリケーションの実行前にアプリケーションで使用するストレージサービスを選択できると説明したが、ストレージサービスの選択をアプリケーションの実行時にできれば使い勝手が向上する。以下では、エンドユーザがストレージサービスをアプリケーションの実行時に選択する方法を説明する。
【０３５８】
図３５は、アプリケーションの実行時の全体処理の一例を示すシーケンス図である。なお、図３５では主に図３１との相違を説明する。
【０３５９】
ステップＳ３１０５において、Ｗｅｂサービス処理部１２０の画面構成部１２１は、実行するアプリケーションを提供するアプリ情報１０００のアプリＩＤと関連付けて記憶されているアプリ画面情報２０００をアプリ画面情報記憶部１６０から取得する（ステップＳ３１０５）。処理フローにコンポーネントグループが含まれている場合は、コンポーネントグループに含まれる複数のコンポーネントを選択する画面情報がアプリ画面情報２０００に含まれる。
【０３６０】
ステップＳ３１０６でアプリ画面が表示されると、エンドユーザはストレージサービスを選択する画面を表示させる。機器２０の操作受付部２１２はこの操作を受け付けて、表示制御部２１３は複数のコンポーネントを選択する画面情報に基づいてストレージサービスを選択する画面を表示する。
【０３６１】
そして、エンドユーザがストレージサービスを選択すると、操作受付部２１２は機器２０のブラウザ２１０はストレージサービスの選択を受け付ける（ステップＳ３１０６−２）。
【０３６２】
エンドユーザによるストレージサービスの選択結果はステップＳ３１１０でロジック処理部１１２に送信されるので、図３４で説明したように、エンドユーザが選択したストレージサービスにデータが記憶される。
【０３６３】
図３６は、機器２０のブラウザ２１０が表示するコンポーネントの選択を受け付けるコンポーネント選択画面Ｇ１３００の一例である。図３６（ａ）のコンポーネント選択画面Ｇ１３００は、アプリケーション名欄４４１、及び、コンポーネント選択欄４４２を有している。アプリケーション名欄４４１はエンドユーザが実行するアプリケーションの名称が表示される欄である。コンポーネント選択欄４４２には、コンポーネントグループの複数のコンポーネントがプルダウン形式で表示される。図３６（ａ）では「外部ストレージサービスＢ」が選択された状態である。
【０３６４】
機器２０の操作受付部２１２は「外部ストレージサービスＢ」の選択を受け付けた場合、表示制御部２１３はコンポーネントを選択する画面情報に基づいて、親フォルダーパス設定欄４４３、及び、ファイル名設定欄４４４を表示する。したがって、エンドユーザは「外部ストレージサービスＢ」というストレージサービスで設定可能な親フォルダとファイル名を設定できる。
【０３６５】
図３６（ｂ）のコンポーネント選択欄４４２では「外部ストレージサービスＡ」が選択された状態である。このため、機器２０の表示制御部２１３は「外部ストレージサービスＡ」で設定可能な親フォルダＩＤ設定欄４４５を表示する。
【０３６６】
このように、本実施形態のサービス提供システム１０では、アプリケーションの実行時にエンドユーザがストレージサービスを選択できる。
【０３６７】
＜まとめ＞
以上説明したように、本実施形態のサービス提供システム１０は、１つの処理フローに、処理内容が類似している複数のサービスをまとめることができ、開発者の負担を低減できる。エンドユーザは自分が使用するストレージサービスをアプリケーションの実行前及び実行時に選択できる。
【０３６８】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０３６９】
＜＜ユーザが枠を先に設定して後からコンポーネントを区画に配置する方法＞＞
例えば、図３７に示すように、ユーザが枠３３０を先に設定して後からコンポーネントを区画３５０に配置してもよい。図３７は処理フロー設定画面Ｇ８００における処理フローの設定方法の一例を示す。図３７（ａ）に示すように、ユーザは実行される順番が同じ縦方向の複数の区画を囲むようにポインティングデバイス３２０をドラッグして枠３３０を指定する。この段階では枠３３０内の区画３５０にはコンポーネントのアイコンが配置されていない。ＰＣ端末３０の操作受付部３１２はこの操作を受けつけ、表示制御部３１３が枠３３０を表示する。
【０３７０】
次に、ユーザはコンポーネントリスト欄４０３からコンポーネントを選択する。ＰＣ端末３０の操作受付部３１２はこの操作を受けつけ、図３７（ｂ）に示すように、表示制御部３１３が選択されたコンポーネントのアイコン３４０ｈを枠３３０の一番上の区画３５０に配置する。
【０３７１】
次に、ユーザがコンポーネントリスト欄４０３からコンポーネントグループに所属するコンポーネントを選択する。ＰＣ端末３０の操作受付部３１２はこの操作を受けつけ、図３７（ｃ）に示すように、表示制御部３１３が選択されたコンポーネントのアイコン３４０ｂを枠３３０の上から２番目の区画３５０に配置する。
【０３７２】
枠３３０の大きさはユーザが後から任意に大きくできるため、３つ以上のコンポーネントをグループ化することもできる。
【０３７３】
＜＜その他＞＞
本実施形態では、「外部ストレージサービスＡ」と「外部ストレージサービスＢ」というストレージサービスを説明に使用したが、「Google Drive（登録商標）」、「Sharepoint Online（登録商標）」、「Onedrive（登録商標） for business」など、他のストレージサービスが処理フローに設定されてもよい。
【０３７４】
また、本実施形態では機器２０として主に画像形成装置を説明に使用したが、アプリケーションを実行する機器は画像形成装置に限られない。例えば、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）等であってもよい。
【０３７５】
また、図５、図６などの構成例は、サービス提供システム１０による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。サービス提供システム１０の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０３７６】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（Digital Signal Processor）、FPGA（Field Programmable Gate Array）や従来の回路モジュール等のデバイスを含むものとする。
【０３７７】
なお、ＵＩ提供部１４１は画面情報送信手段の一例であり、操作受付部３１２は設定受付手段の一例であり、表示制御部３１３は表示処理手段の一例であり、ロジック処理部１１２は処理フロー実行手段の一例であり、通信部２１１は受信手段の一例であり、通信部３１１は送信手段の一例である。
【符号の説明】
【０３７８】
１…情報処理システム、１０…サービス提供システム、２０…機器、２１０、３１０…ブラウザ
【先行技術文献】
【特許文献】
【０３７９】
【特許文献１】特開2015−139076号公報
【図１】
2020052701.tif 000003
【図２】
2020052701.tif 000004
【図３】
2020052701.tif 000005
【図４】
2020052701.tif 000006
【図５】
2020052701.tif 000007
【図６】
2020052701.tif 000008
【図７】
2020052701.tif 000009
【図８】
2020052701.tif 000010
【図９】
2020052701.tif 000011
【図１０】
2020052701.tif 000012
【図１１】
2020052701.tif 000013
【図１２】
2020052701.tif 000014
【図１３】
2020052701.tif 000015
【図１４】
2020052701.tif 000016
【図１５】
2020052701.tif 000017
【図１６】
2020052701.tif 000018
【図１７】
2020052701.tif 000019
【図１８】
2020052701.tif 000020
【図１９】
2020052701.tif 000021
【図２０】
2020052701.tif 000022
【図２１】
2020052701.tif 000023
【図２２】
2020052701.tif 000024
【図２３】
2020052701.tif 000025
【図２４】
2020052701.tif 000026
【図２５】
2020052701.tif 000027
【図２６】
2020052701.tif 000028
【図２７】
2020052701.tif 000029
【図２８】
2020052701.tif 000030
【図２９】
2020052701.tif 000031
【図３０】
2020052701.tif 000032
【図３１】
2020052701.tif 000033
【図３２】
2020052701.tif 000034
【図３３】
2020052701.tif 000035
【図３４】
2020052701.tif 000036
【図３５】
2020052701.tif 000037
【図３６】
2020052701.tif 000038
【図３７】
2020052701.tif 000039