以下、本発明を実施するための形態の一例として、サービス提供システムとサービス提供システムが実行する情報処理方法について図面を参照しながら詳細に説明する。
<動作の概略>
まず、図1を用いて、サービス提供システム100が行う処理の概略を説明する。図1は、サービス提供システム100の全体的な動作を説明する図である。図1(a)はサービス提供システム100を利用するための連携元アプリケーション(第一のアプリケーションの一例。以下、連携元アプリという)及び連携先アプリケーション(第二のアプリケーションの一例。以下、連携先アプリという)の設定を管理者等が行う準備段階の動作を示しており、図1(b)は連携元アプリをユーザが実行し連携元アプリが連携先アプリと連携する実行段階の動作を示している。
なお、以下では、「ユーザ」という場合、一般ユーザを意味し、管理者という場合、テナントの管理者をいう。テナントとは、サービスの提供者(本実施形態では情報処理システム)からサービスを受けることを契約した企業や組織等である。ユーザは一例としてテナントに所属しているが、ユーザ個人でサービスに加入してもよい。個人でサービスに加入した場合、ユーザ自身が連携元アプリ設定画面から連携元アプリと連携先アプリを対応付ける設定の入力を行う。
管理者が行う処理については、テナントにサービス提供システム100が提供するサービスへの加入の促進や、サービス提供システム100が提供するアプリケーションの販売を行うベンダーやディーラー等の担当者が一部の処理を行うこともできる。また、管理者が行う処理をユーザが行うことが可能な場合もある。
(1) 管理者は端末装置30を外部サービスシステム40と通信させ、外部サービスシステム40が提供する連携先アプリ登録画面を表示する。外部サービスシステム40はWebアプリケーション(以下、Webアプリという)の形態で利用されるサービスを提供する。このサービスが提供する機能の全体的な内容は決まっているが、管理者はサービスをカスタマイズすることで所望の連携先アプリとして利用できる。つまりサービスの機能の一部(又は全体)が連携先アプリとなる。
(2) 管理者は外部サービスシステム40が用意するフォーム(機能を部品化したもの)を組み合わせて、テナントの業務に適した連携先アプリを登録する。管理者がフォームを組み合わせ必要な設定を行うと、端末装置30が外部サービスシステム40に連携先アプリを登録する。
(3) 外部サービスシステム40は連携先アプリを識別する連携先アプリIDを連携先アプリに付与し、端末装置30に送信する。端末装置30は連携先アプリIDを表示するので、管理者は連携先アプリIDを把握することができる。なお、後述する実施例では、管理者は情報処理システム10を経由して端末装置30に連携先アプリIDを表示させることができる。
(4) 次に、管理者は端末装置30を操作して、端末装置30を情報処理システム10と通信させ、端末装置30は情報処理システム10が提供する連携元アプリ設定画面を表示する。情報処理システム10は画像形成装置等の機器が実行する連携元アプリの登録や実行を受け付けるサーバである。情報処理システム10は、外部サービスシステム40の連携先アプリと連携してユーザにサービスを提供する。情報処理システム10は様々な外部サービスシステム40と連携でき、更に、ある外部サービスシステム40が提供する種々の連携先アプリと連携することで、ユーザに多様なサービスを提供できるようになる。図1(b)で説明するように、情報処理システム10のサービスは画像形成装置などの機器から連携元アプリとして利用される。
(5) 管理者は連携元アプリ設定画面で連携先アプリIDを含む連携情報を設定する。連携情報については後述されるが、情報処理システム10が、外部サービスシステム40に登録された連携先アプリと連携するための情報である。連携情報には連携先アプリIDの他、後述するフィールドコードも含まれる。端末装置30は連携情報を情報処理システム10に送信する。これにより情報処理システム10では連携先アプリと連携する連携元アプリが対応付けられる。
以上の処理で、情報処理システム10は連携先アプリIDで外部サービスシステム40の連携先アプリを特定できるため、連携元アプリと連携先アプリとが連携できる状態となる。
(6) 登録された連携先アプリをユーザが利用したいと考えたものとする。図1(b)に示すように、ユーザは画像形成装置などの機器20を操作して、連携元アプリ一覧画面を表示させる。ユーザは上記の連携先アプリを利用する連携元アプリを選択する。連携元アプリの選択により連携先アプリIDが特定される。例えば、連携元アプリが以下の処理を実行する場合を説明する。
(i) 原稿をスキャンして画像データを生成
(ii) 画像形成装置が画像データを情報処理システム10に送信
(iii) 情報処理システム10が連携先アプリを指定して画像データの処理要求を外部サービスシステム40に送信
(7) 画像形成装置などの機器20は原稿をスキャンして生成した画像データを連携先アプリIDと共に情報処理システム10に送信する。
(8) 情報処理システム10は連携先アプリIDを指定して、画像データの処理要求を外部サービスシステム40に送信する。これにより、連携元アプリが連携先アプリと連携できた。
(9) 外部サービスシステム40は画像データを連携先アプリIDで特定される連携先アプリの処理対象として受け付ける。画像データが連携先アプリの処理対象となることは、連携先アプリにより処理されることをいう。したがって、処理の内容は連携先アプリに応じて様々である。例えば、連携先アプリが処理するデータ形式に変換すること、画像データに何らかの属性を付与して画像データの種別等を管理した状態で格納すること、画像データに画像処理を行うこと、外部への転送、又は、要求に対する提供などが行われる。また、連携元アプリ、又はサービス提供システムのモジュールが、データ形式に変換すること、画像データに何らかの属性を付与して画像データの種別等を管理した状態で格納すること、画像データに画像処理を行うこと等の処理をした上で、連携先アプリに処理された画像データを転送してもよい。
このように、本実施形態のサービス提供システム100は、情報処理システム10が外部サービスシステム40と連携するための設定(連携情報)を連携元アプリ設定画面から受け付け、情報処理システム10が機器20から連携元アプリの実行要求を受け付けた場合、連携元アプリ設定画面で受け付けた設定に応じて、外部サービスシステム40の特定の連携先アプリと連携することができる。
<用語について>
対応に関する設定とは、連携元アプリと連携先アプリを対応させる設定である。連携元アプリと連携先アプリが管理するデータの格納場所を対応させてもよい。本実施形態では連携元アプリID(第一のアプリケーションの識別情報の一例)に連携先アプリID(第二のアプリケーションの識別情報の一例)が対応付けられる例を説明する。
連携とは、二者以上が協力して処理を実行することをいう。本実施形態では、情報処理システム10の連携元アプリが外部サービスシステム40の連携先アプリと協働して、情報処理システム10がサービスを提供することをいう。
連携情報は、情報処理システム10が外部サービスシステム40と連携するための情報である。本実施形態では外部サービスシステム40が提供するサービスを利用するための連携先アプリIDを例にする。連携情報には、更にフィールドコード(フィールドの識別情報)、又は、レコードID(レコードの識別情報)が含まれる場合がある。なお、フィールドコードはデータベースのカラムを指定するカラムIDということもできる。
フィールドとは連携先アプリが保持する表形式のデータの列を示すもので、図11の表の各列を示す。
レコードとは連携先アプリが保持する表形式のデータの行を示すもので、図11の表の各行を示す。
連携元アプリは、情報処理システム10がサービス提供システムに含まれる機器20に対してサービスを提供するためのアプリケーションである。ネットワーク上のサーバとクライアントが通信してデータ処理を行い、クライアントがその結果を利用することができる。このようなアプリケーションはWebアプリとして提供されることが可能である。また、サーバとは、クライアントからの要求に対して情報や処理結果を提供する機能を果たすコンピュータやソフトウェアである。クライアントがサーバから取得して表示する画面をWebページという場合がある。また、連携元アプリはWebアプリに限られず、ネイティブアプリとして提供されてもよく、情報処理システム10から機器20がネイティブアプリである連携元アプリケーションをダウンロードして、機器20が実行することで、機器20と情報処理システム10とが画像データ等のデータの送受信を行う。また、連携元アプリがネイティブアプリである場合、機器は、連携元アプリを情報処理システム10とは異なる装置やシステムから取得しても良い、例えば機器20は、アプリケーション提供サーバ等から連携元アプリを取得しても良い。
情報処理システム10はサービスを提供するが、サービスを提供する手段の1つが連携元アプリの実行である。連携元アプリの実行において外部サービスシステム40が提供する連携先アプリと連携する場合がある(しない場合もある)。連携元アプリによるサービスは一連の処理を順番に実行する形態により実現されるため、連携元アプリには一連の処理の内容と順番が定義される。
外部サービスシステム40もサービスを提供するが、サービスを提供する手段の1つが連携先アプリの実行である。外部サービスシステム40は情報処理システム10と連携しなくてもユーザにサービスを提供できるが、この場合、外部サービスシステム40が提供する連携先アプリはサーバとクライアントが通信して提供されるWebアプリである。本実施形態のサービス提供システム100は、端末装置30等からユーザが利用できる外部サービスシステム40の連携先アプリを、機器20から情報処理システム10を経由して利用することを可能にする。
外部サービスシステム40のサービスは連携先アプリ(アプリケーション)と呼ばれる他、プログラム、ソフトウェア、又は、サイト等と呼ばれてもよい。すなわち、連携先アプリはアプリケーションと呼ばれていなくても外部サービスシステム40のサービスに関するものであればよい。
データベースとは、整理された情報のあつまりである。情報の蓄積、検索、更新などが可能になっている。データベースにはリレーショナル型データベース、階層型データベース、又は、ネットワーク型データベースの種類があるが、項目に値が格納されるデータベースであればよい。本実施形態では項目をフィールドという用語で説明する。データが保存される項目に関する設定とは、データが保存されるフィールドが設定されることをいう。
データベースのデータの操作にはアプリケーションが使用されることが多い。本実施形態では連携先アプリがデータベースを操作する。操作とは情報の蓄積、検索、更新などをいう。
ユーザは、いわゆる顧客側のエンドユーザを意味し、連携元アプリを含め機器20を使用する者をいう。管理者は、ユーザが連携元アプリを使用できるように連携先アプリと連携元アプリを登録する者であり、主に顧客側(テナント側)の管理者である。ただし、ユーザと管理者とは明確に区別する必要はなく、本実施形態でも便宜的に使い分けているに過ぎない。
<システム構成>
まず、本実施形態に係るサービス提供システム100のシステム構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
図2に示すサービス提供システム100は、情報処理システム10と、機器20と、端末装置30と、を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。サービス提供システム100は外部システムである外部サービスシステム40と通信する。
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つの連携元アプリにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
機器20は、ユーザが使用する各種の電子機器である。機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、情報処理システム10又は外部サービスシステム40の少なくとも一方が提供する各種のサービスを利用することができる。
なお、以降では、複数の機器20について、各々を区別するときは、「機器201」、「機器202」等と添え字を用いて記載する。
端末装置30は、例えば、管理者又はユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。管理者又はユーザは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、連携先アプリ又は連携元アプリの設定を行うことができる。
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置301」、「端末装置302」等と添え字を用いて記載する。
外部サービスシステム40は、ネットワークN1を介して連携先アプリの実行によるサービスを提供する一台以上の情報処理装置である。連携先アプリの実行によりデータの管理又は処理が行われ、データそのものや処理結果がサービスとなる。
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。本実施形態ではサービスの一例として表形式のデータベースについて説明する。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム401」を外部サービスシステムA、「外部サービスシステム402」を外部サービスシステムB等と、記載する。
<ハードウェア構成例>
図3を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
<<情報処理システム及び端末装置>>
図3は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。図3に示されているように、情報処理システム10及び端末装置30はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
<<機器>>
図4は、機器20の一例である画像形成装置のハードウェア構成図である。図4に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906には、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、画像形成装置は、操作パネル940のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、通信ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
<機能について>
次に、本実施形態に係るサービス提供システム100の機能構成について、図5を参照しながら説明する。図5は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
<<機器>>
まず、機器20は、第二通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第二通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリケーション(ネイティブアプリ)により実現される。
第二通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では連携元アプリ一覧画面の画面情報等を情報処理システム10から受信し、画像データや連携情報等を情報処理システム10に送信する。
表示制御部22は各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザの各種操作を受け付ける。
画像データ生成部24は、操作受付部23が選択を受け付けた連携元アプリが画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられている連携元アプリの実行を情報処理システム10に要求する。なお、ファクシミリの送信元(FAX番号)に対応した連携元アプリを要求してもよい。
電子メール処理部26は電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられている連携元アプリの実行を情報処理システム10に要求する。なお、電子メールの送信元(メールアドレス)に対応した連携元アプリを要求してもよい。
<<端末装置>>
端末装置30は、第一通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェアでもよい。
第一通信部31は、情報処理システム10又は外部サービスシステム40との間で各種の情報を送受信する。本実施形態では各種の画面情報等を情報処理システム10又は外部サービスシステム40から受信し、管理者又はユーザが設定した情報を情報処理システム10又は外部サービスシステム40に送信する。
表示制御部32は各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面におけるユーザの各種操作を受け付ける。
<<情報処理システム>>
情報処理システム10は、アプリデータサービス部11、設定受付部12、認証サービス部14、Webサービス処理部15、入出力サービス部16、コンポーネント18、及び、通信部19を有する。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、図5に示す情報処理システム10が有する機能に関し「アプリ」とは情報処理システム10で実行される「連携元アプリ」に関する機能である。
通信部19は、端末装置30と機器20との間で各種の情報を送受信する。設定受付部12は、端末装置30に設定サイトを提供し、設定サイトに対する設定を受け付ける。サイトとは、WebページやWebアプリ(例えば、連携元アプリ設定画面)をいう場合もあるし、端末装置30にWebページやWebアプリを提供するサーバ側のシステムをいう場合もある。設定受付部12は端末画面提供部42を有しており、端末画面提供部42は連携元アプリの実行に必要な情報を管理者に設定させる連携元アプリ設定画面等を提供する。なお、端末画面提供部42は、端末装置30からのHTTPリクエストに対しHTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により記述された画面情報を生成し、画面情報をHTTPレスポンスとして端末装置30に送信する。
アプリデータサービス部11はアプリデータ管理部41を有している。アプリデータ管理部41は、購入された連携元アプリのアプリデータ43をテナントごとに管理する。アプリデータ43は、上記の連携情報など、主に連携先アプリと対応付けるためのデータである。なお、アプリデータ43はアプリデータ記憶部13に記憶される。
Webサービス処理部15は機器20に対し画面情報を提供したり、機器20から連携元アプリの実行を受け付けたりする。Webサービス処理部15は連携元アプリ実行部46と機器画面提供部47を有している。連携元アプリ実行部46は機器20からの連携元アプリの実行を受け付け、アプリ処理情報53に基づいて、入出力処理部48に対し連携元アプリの処理を要求する。機器画面提供部47は画面情報54を使って、連携元アプリ一覧画面等の画面情報を機器20に提供する。
入出力サービス部16は認証サービス部14やコンポーネント18を使用してデータの入出力を行う。入出力サービス部16は入出力処理部48とアプリ管理部49を有している。入出力処理部48は連携元アプリ実行部46から要求された連携元アプリを実行する。実行時にはアプリ処理情報53を参照し連携元アプリに含まれる各処理をコンポーネント18に要求する。アプリ管理部49は、アプリ処理情報記憶部17に記憶されている、連携元アプリのアプリ処理情報53や画面情報54を管理する。アプリ処理情報53には連携元アプリがどの処理をどの順番で行うか(例えば、OCRの後に外部サービスシステム40に処理要求する等)が設定されている。画面情報54は連携元アプリ一覧画面、各アプリの設定画面など、機器20が表示する画面の情報である。アプリ処理情報記憶部17には連携元アプリごとにアプリ処理情報53及び画面情報54が記憶されている。
認証サービス部14はユーザ(管理者を含む)、及び、機器20の認証に関する処理を行う。認証サービス部14はユーザ管理部44とデバイス管理部45を有している。ユーザ管理部44はユーザに関する情報を管理する。例えば、ユーザ名やパスワード等の認証情報を保持する。また、認証情報には情報処理システム10のものと外部サービスシステム40のものとがある。デバイス管理部45は、テナントに対応付けられている機器20を管理する。つまり、テナントの識別情報と機器20を対応付けて管理しており、機器20が特定されるとテナントも特定される。
コンポーネント18は各処理を実際に行う個別の機能の総称である。コンポーネント18内の1つのブロックが1つの処理に対応する。コンポーネント18は例えば、認証処理部51、外部サービス処理部52及び判断部55を有している。認証処理部51は認証サービス部14に対して認証に関する処理を依頼するコンポーネント18である。外部サービス処理部52は、外部サービスシステム40に対して処理要求を依頼するコンポーネント18である。つまり、外部サービス処理部52は外部サービスシステム40と連携するための機能である。外部サービス処理部52は外部サービスシステム40の種類ごとに用意される。判断部55は各種の判断を行い、処理フローの分岐を制御する。なお、図示する以外に、OCR、翻訳等のコンポーネントを有していてよい。
表1は、アプリ処理情報記憶部17が保持する情報の一例を示す。アプリ処理情報記憶部17は外部サービスシステム40に対応付けられており、連携元アプリID、アプリ名、画面情報、アプリ処理情報、及び、共有アプリの各項目を有している。連携元アプリIDは連携元アプリを識別する識別情報である。アプリ名は管理者が付与した連携元アプリの名称である。また、連携元アプリのアイコンや設定画面を機器20が表示する際に使用される画面情報54(HTML等で記述された)が連携元アプリに対応付けられる。連携元アプリには一連の処理の内容と順番(処理フロー)が定義されるので、各連携元アプリにはアプリ処理情報53が対応付けられる。共有アプリとは、一般の連携元アプリがユーザごとに利用権限が与えられるのに対し、共有アプリはテナントのユーザが共通に使えるアプリであることを示す。表1ではメール受信登録とFAX受信登録が共有アプリである。これらは各ユーザが利用するためである。
アプリ管理部49は、機器20から例えば「外部サービスシステムA」を指定されるとアプリ処理情報記憶部17から「外部サービスシステムA」に対応付けられている連携元アプリの一覧を機器20に提供する。また、連携元アプリの一覧から連携元アプリが指定されると、連携元アプリに対応付けられている画面情報とアプリ処理情報を特定する。
表2はユーザ管理部44が管理するユーザに関する情報の一例を示す。ユーザに関する情報として、情報処理システム10におけるユーザID、ユーザ名、メールアドレス、パスワード、及び、利用できる連携元アプリの各項目を有している。このユーザには管理者も含まれる。ユーザID、ユーザ名又はメールアドレスの少なくとも1つと、パスワードは、ユーザが情報処理システム10にログインするための認証情報である。利用できる連携元アプリはこのユーザに利用権限が与えられている連携元アプリである。利用できる連携元アプリに共有アプリは含まれない。
また、ユーザ管理部44は、ユーザに関する情報として、外部サービスシステム40におけるサブドメイン、ユーザ名及びパスワードを有している。サブドメインは外部サービスシステムにおいて顧客(企業)を特定する情報である。ユーザ名とパスワードは、ユーザが外部サービスシステム40にログインするための認証情報である。また、ユーザに関する情報として、連携設定の項目を有している。連携設定の項目は、ユーザが外部サービスシステム40との連携を希望し、外部サービスシステム40の認証情報でログインできることが確認できた場合に「済み」となる。連携設定は、ユーザが外部サービスシステム40のアプリを実行できるかどうかの判断に使用される。
表3は、アプリデータ記憶部13に記憶されているアプリデータの一例を示す。アプリデータは、外部サービスシステム40に対応付けて、連携元アプリID、連携先アプリID、スペースID、連携元アプリ設定画面、及び、n個(1つ以上)のフィールドコードの各項目を有している。つまり、アプリデータは連携元アプリと連携先アプリを対応付ける。連携元アプリ設定画面の項目は連携元アプリが設定される上記の連携元アプリ設定画面の画面情報を指定する情報である。各フィールドコードは、連携先アプリのどのフィールドにどのデータを保存するかを特定する情報である。例えば、スキャンした画像データはフィールドコード1のフィールドに格納することが登録されている。なお、フィールドとは項目であり、表形式のデータベースではカラムに相当する。
<<外部サービスシステム>>
図6は、外部サービスシステム40の一例の機能構成を示す図である。外部サービスシステム40は第四通信部61、アプリ決定部62、データ処理部63、及び、アプリ登録受付部64を有している。これら各機能部は、外部サービスシステム40にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
第四通信部61は、情報処理システム10又は端末装置30との間で各種の情報を送受信する。本実施形態では端末装置30から連携先アプリの登録に関する情報を受信し、情報処理システム10から画像データ及び連携情報と共に連携先アプリに対する処理要求を受信する。また、連携先アプリが処理するデータ(スペース一覧、連携先アプリ一覧、フィールド/フィールドコード一覧、レコード一覧、送信された画像データ等)などを情報処理システム10に送信する。なお、第四通信部61が情報処理システム10と通信する場合は外部サービスシステム40のAPI(Application Interface)が利用される。
アプリ登録受付部64は、連携先アプリ登録画面を端末装置30に提供し、連携先アプリ登録画面に管理者が設定した連携先アプリの登録や編集を受け付ける。管理者は情報処理システム10が提供するサービスをカスタマイズするだけで連携先アプリを登録できる。アプリ登録受付部64は重複しない連携先アプリIDを採番して連携先アプリに付与する。アプリ登録受付部64は、登録された連携先アプリに関する情報をアプリ情報記憶部65に保存する。
アプリ決定部62は、情報処理システム10から送信された連携先アプリIDに基づいて、処理要求の対象である画像データ等を処理する連携先アプリを決定する。データ処理部63はアプリ決定部62が決定した連携先アプリが行う処理であり、連携先アプリに特有の処理内容で画像データ等を処理する。新規のレコード登録の場合は、連携先アプリIDとフィールドコードで特定されるフィールドに画像データ等を保存する。既存のレコードへの登録の場合は、連携先アプリID、フィールドコード及びレコードIDで特定されるレコードのフィールドに画像データ等を保存する。この他、例えば、連携先アプリが処理するデータ形式に変換すること、画像データに何らかの属性を付与して画像データの種別等を管理した状態で格納すること、画像データに画像処理を行うこと、外部への転送、要求に対する提供などを行う。以下の実施形態では、表形式のデータベースを提供する連携先アプリについて説明する。この場合は、データ形式の変換、管理、提供などが行われる。
表4は、外部サービスシステム40のアプリ情報記憶部65に保存されるアプリ情報の一例である。表4のアプリ情報はデータベース形式の連携先アプリに関するものなのでフィールド名のリストである。アプリ情報はスペースID、連携先アプリID及び連携先アプリ名に対応付けられている。スペースとはいくつかの連携先アプリをグループ化したものであり、スペースIDはその識別情報(グループの識別情報の一例)である。外部サービスシステム40によってはスペースIDがない場合がある。
表4では、フィールド名が、レコード番号、お客様名、電話番号、案件状況、新規/追加、納期、デザイン希望、デザイン案、固定文字列、及び、数値となっているが、これらは管理者が登録したものであり、全くの一例に過ぎない。なお、「デザイン希望」が意図するのは専門家に画像データの色や形状を手直しして欲しいというものであり、このフィールド名は一例に過ぎない。同様に、「デザイン案」は専門家が手直しした案である。
各フィールドはフィールドコードを有する。フィールドコードはフィールドを識別する識別情報である。なお、フィールドコードがないフィールドがあってもよいが、この場合、フィールドを指定しての連携が困難になる。後述するようにフィールド名とフィールドコードは管理者が任意に設定できる。フィールドコードは外部サービスシステム40が採番してもよい。
各フィールドに対応する値には、機器20から値が設定されたり、端末装置30から値が設定されたりする。例えば、機器20が生成した画像データは「デザイン希望」というフィールドに設定される。これは、管理者が連携元アプリ設定画面において、画像データを設定するフィールドとして「デザイン希望」のフィールドコードを指定した場合である。
<アプリ処理情報>
次に、図7を用いて、アプリ処理情報の詳細について説明する。図7は、アプリ処理情報記憶部17に記憶されているアプリ処理情報の一例を示す図である。
図7に示すアプリ処理情報53Aは、機器20でスキャンして生成された画像データを「外部サービスシステムA」に処理要求するサービスを実現するための一連の処理に関する情報である。
アプリ処理情報53Aには、当該アプリ処理情報53Aの識別情報を示すフローID1201Aと、当該アプリ処理情報53Aの名称を示すフロー名1202Aと、一連の処理の処理内容を示すフロー詳細1203Aとが含まれる。フロー名1202Aは連携元アプリの名称を兼ねている。
また、フロー詳細1203Aには、「外部サービスシステムA」に処理要求することを示す処理内容1223Aが含まれる。
処理内容1223Aでは、「外部サービスシステムA」と連携した処理を実行するコンポーネント18のコンポーネントID「ExService_A」、処理要求を示すオペレーションID「processFile」、及びパラメータ「AppId」「FieldCode」「YouserName」が指定されている。「AppId」には連携先アプリIDが格納され、「FieldCode」にはフィールドコードが格納され、「YouserName」にはユーザ名(ユーザIDでもよい)が格納される。なお、図示したパラメータは一部であって、アプリ処理情報はより多くのパラメータを含みうる。例えばレコードIDもパラメータに設定される。
これにより、アプリ処理情報に基づく一連の処理では、スキャンされた画像データを「外部サービスシステムA」に処理要求することができる。このように、本実施形態に係る情報処理システム10では、アプリ処理情報のパラメータで連携情報などを外部サービスシステム40に送信して、連携先アプリと連携できる。
また、図8はアプリ処理情報の別の一例を示す図である。図8に示すアプリ処理情報は、機器20が受信したファクシミリの画像データにOCRを行い、画像データの処理要求を「外部サービスシステムA」に送信する一連の処理に関する情報である。
アプリ処理情報の識別情報を示すフローID1201Cと、当該アプリ処理情報53Cの名称を示すフロー名1202Cと、一連の処理の処理内容を示すフロー詳細1203Cとが含まれる。
また、フロー詳細1203Cには、OCR処理を示す処理内容1213Cと、「外部サービスシステムA」に配信(アップロード)することを示す処理内容1223Cが含まれる。処理内容1213Cには、OCR処理を実行するコンポーネント18のコンポーネントID「ocr」、オペレーションID「process」、及びパラメータ「language」、「outputType」が指定されている。処理内容1223Cでは、2つのパラメータ「FaxNumber」「FileCodeFax」が追加されている。「FaxNumber」は送信元のFAX番号、「FileCodeFax」はFAX番号が登録される連携先アプリのフィールドコードである。このように、情報処理システム10は複数のフィールドコードを、どのフィールドのものか指定して外部サービスシステム40に送信できる。
これにより、アプリ処理情報53に基づく一連の処理では、ファクシミリの画像データとFAX番号を「外部サービスシステムA」に保存することができる。
なお、各処理内容に定義された処理の実行順は、フロー詳細1203Cにおいて、上から順に実行される。すなわち、図8に示すアプリ処理情報53Cに基づく一連の処理(アプリ処理情報)では、処理内容1213Cに定義された処理、処理内容1223Cに定義された処理の順で実行される。ただし、これに限られず、アプリ処理情報には、例えば、各処理内容に定義された処理の実行順を示す情報が定義されていてもよい。
<処理の詳細>
続いて、本実施形態に係る情報処理システム10の処理の詳細について説明する。
まず、管理者が端末装置30を用いてアプリ処理情報を作成し、このアプリ処理情報をアプリ処理情報記憶部17に登録する場合の処理について、図9を参照しながら説明する。図9は、アプリ処理情報の登録処理の一例を示すシーケンス図である。
管理者は、端末装置30を用いて、アプリ処理情報の作成開始操作を行う。例えば、管理者は、端末装置30を用いて、情報処理システム10にログインした後、当該ログイン後に表示されるポータル画面等において、「アプリ処理情報作成」ボタン等を選択することにより、アプリ処理情報の作成開始操作を行うことができる。
S1、S2:端末装置30の操作受付部33がアプリ処理情報の作成開始操作を受け付けると、第一通信部31が情報処理システム10の端末画面提供部42に対して、アプリ一覧要求を送信する。端末画面提供部42はアプリ一覧要求を受信すると、アプリ管理部49にアプリ一覧要求を送信する。アプリ一覧とは、サービスを提供するための連携元アプリの一覧を表示するための情報である。この連携元アプリは連携元アプリのひな形であり、スキャンアプリ、プリントアプリなどである。管理者は連携元アプリのひな形を編集して連携元アプリを作成する。端末装置30の第一通信部31はアプリ一覧画面の画面情報を受信する。
S3~S5:次に、管理者は、アプリ一覧画面から、アプリ処理情報を作成する連携元アプリのひな形を選択する操作を行う。端末装置30の操作受付部33はひな形の選択操作を受け付けると、第一通信部31が情報処理システム10の端末画面提供部42に対して、アプリ処理情報作成画面の取得要求を送信する。取得要求には、管理者により選択された連携元アプリのひな型を識別するための情報が含まれる。端末画面提供部42はアプリ管理部49にアプリ処理情報作成画面の取得要求を送信する。これにより、端末装置30の第一通信部31はアプリ処理情報作成画面の画面情報を受信する。なお、アプリ処理情報作成画面の一例を図10に示す。
S6:管理者は、アプリ処理情報作成画面において、ひな形を編集し「レコード新規登録」等のアプリ名を付与したり、アプリ処理情報を作成したりすることができる。また、管理者は連携元アプリの実行時にユーザが設定すべき項目とそうでない項目を設定する。例えば、スキャンの読み取り設定は表示するが、保存先は表示しないなどを設定する。これがアプリ処理情報記憶部17に記憶される画面情報となる。
S7,S8:管理者がアプリ処理情報を作成すると、端末装置30の第一通信部31は情報処理システム10の端末画面提供部42に対して、アプリ名、アプリ処理情報及び画面情報の登録要求を送信する。端末画面提供部42はアプリ名、アプリ処理情報及び画面情報をアプリ管理部49に送信する。アプリ管理部49は連携元アプリIDを採番して連携元アプリIDに対応付けてアプリ名、アプリ処理情報及び画面情報をアプリ処理情報記憶部17に保存する。連携元アプリIDは端末装置30に送信される。
S9,S10:管理者がアプリをリリースする操作を行う。リリースとはユーザが連携元アプリを使用できるようにすることを言う。端末装置30の操作受付部33が操作を受け付けると、第一通信部31が連携元アプリIDを指定してアプリリリース要求を端末画面提供部42に送信する。端末画面提供部42は連携元アプリIDとアプリリリース要求をアプリデータ管理部41に送信する。アプリデータ管理部41は、連携元アプリIDと連携元アプリ設定画面とを対応付けてアプリデータ記憶部13に保存する。連携元アプリ設定画面の画面情報は外部サービスシステム40ごとに予め用意されている。したがって、表3のアプリデータでは、外部サービスシステム40、連携元アプリID、及び連携元アプリ設定画面が登録された状態となる。そして、後述の連携元アプリ設定画面からの設定によって、連携元アプリIDとn個のフィールドコードも表3のアプリデータに登録される。
また、端末装置30では管理者が、連携元アプリIDを端末装置30の機能と対応付ける。例えば、FAX受信のコンポーネントが使用された連携元アプリが作成されると、ファクシミリ処理部25にこの連携元アプリIDを登録する操作を行う。
こうすることで、ファクシミリ処理部25等から連携元アプリを特定できる。補足すると、ファクシミリ処理部25等から連携元アプリを実行する場合、実行したい連携元アプリを特定することができないので、連携元アプリをリリースするタイミングで固有のID(連携元アプリID)を端末装置30とアプリデータに設定することでファクシミリ処理部25が情報処理システム10に対し連携元アプリを指定できるようになる。
図10はアプリ処理情報作成画面の一例を示す図である。アプリ処理情報は処理の1つ1つを表すアイコン2001、2002を管理者がマス目に配置することで設定できる。このアイコン2001,2002はコンポーネント18内の1つの処理に対応する。処理は左から右方向に順番に実行され、実行順は矢印2003で示されている。図10は、機器がスキャンした画像データを情報処理システム10が外部サービスシステム40のレコードに登録後に、メールを送信するというアプリ処理情報を表している。
<外部サービスシステムへの連携先アプリの登録における画面例>
以下では、ユーザが外部サービスシステム40に連携先アプリを登録する際に外部サービスシステム40から取得した画面情報で端末装置30が表示する画面例を説明する。外部サービスシステム40へのアプリ登録は、図1で説明した準備段階の1つのフェーズである。
管理者が新たに連携先アプリを登録する場合、端末装置30を外部サービスシステム40に接続させ、連携先アプリ登録画面を表示させる。以下の図11~図17の画面は端末装置30がHTTPリクエストを外部サービスシステム40に送信し、外部サービスシステム40がHTTPレスポンスで送信した画面情報を端末装置30が表示したものである。
図11は、端末装置30が表示する連携先アプリ登録画面(その1)200の一例である。図11の列の1番上にフィールド識別するための、フィールド名が記載されている。例えば図11の「レコード番号」や「お客様名」や「電話番号」等をフィールド名と呼ぶ。なお、同じ名称のフィールド名が異なるフィールドに付与されることもありうる。そのため、フィールドそれぞれには連携先アプリにおけるフィールドを識別するフィールド識別情報が、連携先アプリにおいて各フィールドと対応付けて保持されている。
図11では、説明の便宜上、すでに情報処理システム10に登録されている連携先アプリのフィールド名が表示されている。新規に設定する場合はフィールド名が表示されないが、図12以降の連携先アプリの登録方法は同じである。
本実施形態ではアプリID212がURLに表示される。
https://company.ExService_A.com/2575/
この「2575」がアプリID212である。
連携先アプリ登録画面(その1)200は表4のアプリ情報に示したフィールド名(レコード番号201、お客様名202、電話番号203、案件状況204、新規/追加205、納期206、デザイン希望207、デザイン案208、固定文字列209、及び、数値210)を表示し、フィールドごとに値が設定されている。1行をレコードといいレコード番号が付されている。ユーザは連携先アプリ登録画面(その1)200によりフィールドの値を表示したり、編集したりすることができる。図11において空欄は値が設定されていない(又は表示する権限がない)フィールドである。
連携先アプリ登録画面(その1)200は設定ボタン211を有する。管理者が設定ボタン211を押下することで、端末装置30は連携先アプリ登録画面(その2)210を表示し、管理者はフィールド名の編集が可能になる。
図12は、端末装置30が表示する連携先アプリ登録画面(その2)210の一例である。連携先アプリ登録画面(その2)210はアプリ名欄229、フォーム欄222及び作業エリア223を有している。管理者はアプリ名欄229にアプリ名を設定でき、このアプリ名欄229のアプリ名は表4の連携先アプリ名となる。フォーム欄222には、外部サービスシステム40が提供するサービスで利用可能な機能がフォームとして表示されている。例えば、ラベル欄222A、文字入力欄222B、リッチエディタ222C、文字列欄222D、数値欄222E、電子計算機222F、ラジオボタン222G、チェックボックス222H、複数選択欄222I、ドロップダウン欄222J、日付欄222K、時刻欄222L、日時欄222M、添付ファイル欄222N、リンク欄222O,ユーザ選択欄222P等のフォームがある。ユーザはフォーム欄222から所望のフォームを作業エリアにドラッグして、フォームを配置できる。このフォームがフィールドとなる。
例えば、添付ファイル欄222Nはスキャンされた画像データが登録される欄である。本実施形態では、「デザイン希望」というフィールドに機器20が生成した画像データが設定されるが、「デザイン希望」というフィールドは添付ファイルというフォームで作成されている。つまり、画像データは連携先アプリに添付される添付ファイルという位置づけになる。「デザイン希望」のフィールドはこの他、例えば「画像」などのフォームがあればこのフォームで作成されてよい。
図12では、作業エリア223に表4の各フィールド名とその値の欄(現在は空欄)が表示されている。すなわち、お客様名欄223A、電話番号欄223B、数値欄223C、案件状況欄223D、新規/追加欄223E、納期欄223F、デザイン希望欄223G、及び、デザイン案欄223Hを有する。ユーザはフィールドを編集したり、複製したり、削除したり、新たにフィールドを設定したりすることができる。例えば、ユーザがマウスポインタをフィールドの右上に移動させると、可能な作業項目221が表示される。
図13は、作業項目221が表示された端末装置30が表示する連携先アプリ登録画面(その3)220の一例である。図13では作業項目221として、編集ボタン221A、複製ボタン221B、及び、削除ボタン221Cが表示されている。ユーザが編集ボタン221Aを押下したものとする。これにより、フォームの編集が可能な詳細ポップアップ画面が表示される。
図14は添付ファイルというフォーム(「デザイン希望」のフィールド)の詳細が設定される詳細ポップアップ画面230の一例である。詳細ポップアップ画面230は、フィールド名欄231、「フィールド名を表示しない」に対応付いたチェックボックス232、「必須項目にする」に対応付いたチェックボックス233、サムネイルの大きさの選択欄234、及び、フィールドコード欄235を有している。
フィールド名欄231…フィールド名である
「フィールド名を表示しない」に対応付いたチェックボックス232…チェックされるとフィールド名が表示されない。
「必須項目にする」に対応付いたチェックボックス233…チェックされるとフィールド名が必須項目になる。
サムネイルの大きさの選択欄234…添付ファイル(画像データ)のサムネイルの大きさがプルダウンで表示される。
フィールドコード欄235…このフォーム(「デザイン希望」)のフィールドコードが表示され、編集も可能である。ユーザがペンマーク235Aにマウスポインタを移動するとフィールドコードの入力欄が表示され、任意のフィールドコードを入力できる。
図14では、「7」が「デザイン希望」のフィールドのフィールドコードになっている。このように、フィールドコードはフィールド名と同じでもよい。また、外部サービスシステム40のアプリ登録受付部64がフィールド名と同じデフォルトのフィールドコードを設定してもよい。アプリ内で重複しなければ、ユーザが文字、数字、アルファベットなど又はその組み合わせでフィールドコードを適宜、設定できる。図14ではフィールドコードとして「7」が設定されている(図41参照)。フィールドコードは、異なるフィールドに同じフィールド名がつけられる可能性があるために、連携先アプリでフィールドを一意に識別するために設定される。
同様に、図15、図16を用いて、数値欄223Cのフィールドコードの編集について説明する。図15は作業項目が表示された端末装置30が表示する連携先アプリ登録画面(その4)220の一例である。図15ではマウスポインタが数値欄223Cの右上に移動した。このため、作業項目221が表示されている。ユーザは編集ボタン221Aを押下した。
図16は数値欄223Cというフォームの詳細が設定される詳細ポップアップ画面240の一例である。図16の詳細ポップアップ画面240は、値の制限欄241、初期値欄242、小数点以下の表示桁数欄243、単位記号欄244、及び、フィールドコード欄245を有している。
値の制限欄241…数値欄に入力可能な最大値、最小値が指定される。
初期値欄242…ユーザが値を入力しなくても表示される初期値が指定される。
小数点以下の表示桁数欄243…小数点がある場合、何桁まで表示するかが指定される。
単位記号欄244…数値の単位が指定される欄である。
フィールドコード欄245…図14と同様でよい。図16のフィールドコードは「数値」となっている。
図17は、端末装置30が表示する連携先アプリ一覧画面249の一例を示す図である。管理者は例えばスペースIDを指定して連携先アプリの一覧を表示させる。連携先アプリ一覧画面249は、アプリID249A、アプリ名249B等の項目を有している。アプリID249Aが連携先アプリIDを意味している。管理者はこのような画面からも連携先アプリIDを確認できる。アプリ名を管理者が選択すれば、図12のような連携先アプリ登録画面(その2)210が表示される。
<<設定の流れ>>
図18は管理者が外部サービスシステム40へアプリ登録する手順を説明するシーケンス図の一例である。
S11:管理者は端末装置30を外部サービスシステム40に接続させログインし、連携先アプリ登録画面(その1)200を表示させる。管理者は連携先アプリIDを確認する。
S12:管理者が設定ボタン211を押下すると、端末装置30の操作受付部33が押下を受け付け、設定ボタン211が押下された旨を第一通信部31が外部サービスシステム40に送信する。
S13:外部サービスシステム40の第四通信部61は設定ボタン211が押下された旨を受信し、アプリ登録受付部64が第四通信部61を介して連携先アプリ登録画面(その2)210の画面情報を端末装置30に送信する。
S14:端末装置30の第一通信部31は連携先アプリ登録画面(その2)210の画面情報を受信し、端末装置30の表示制御部32がディスプレイ506に表示する。管理者が適宜、フォームの編集を行うので、操作受付部33がフォームの編集を受け付ける。
S15:管理者がフィールドを編集するため編集ボタン221Aを押下すると、操作受付部33が編集ボタン221Aの押下を受け付ける。
S16:これにより、表示制御部32は詳細ポップアップ画面230をディスプレイ506に表示する。なお、外部サービスシステム40と通信しない画面の遷移にはJavaScript(登録商標)が利用される。
S17:次に、管理者がフィールドコードを設定すると、端末装置30の操作受付部33がフィールドコードを受け付ける。なお、ステップS14~S17は適宜、繰り返し実行される。
S18:管理者が連携先アプリの登録を終了し、所定のボタンを押下すると、管理者が設定した連携先アプリに関する設定内容を第一通信部31が外部サービスシステム40に送信する。外部サービスシステム40の第四通信部61は設定内容を受信し、アプリ登録受付部64がフィールド名やフィールドコード等をアプリ情報記憶部65に記憶させる。以上で外部サービスシステム40が提供するサービスがカスタマイズされた連携先アプリが登録された。
<外部サービスシステムと連携する情報処理システムへの認証情報の設定>
続いて、情報処理システム10が外部サービスシステム40の連携先アプリと連携するための、情報処理システム10への認証情報の設定について説明する。このフェーズは図1では説明していないが、準備段階の1つのフェーズである。また、このフェーズは管理者又はユーザが行うが、説明の便宜上、主に管理者が行うとして説明する。
各ユーザが機器20を操作した場合に外部サービスシステム40の連携先アプリと連携するには、情報処理システム10を通して外部サービスシステム40にユーザがログインできる必要がある。このため、管理者は以下のように外部サービスシステム40におけるユーザの認証情報等を情報処理システム10に登録する。管理者は端末装置30を情報処理システム10に接続させ、ユーザ情報登録画面を表示させる。以下の図19~図23の画面は端末装置30がHTTPリクエストを情報処理システム10に送信し、情報処理システム10がHTTPレスポンスで送信した画面情報を端末装置30が表示したものである。
図19は端末装置30が表示する初期画面250の一例を示す。すでに、管理者は情報処理システム10にログインしているので、ユーザ名欄251にユーザ名が表示されている。管理者がユーザ名欄251を押下すると、メニューが表示されるので、ユーザ情報を設定するマイページを表示させるマイページボタン252を押下する。マイページボタン252が押下されると初期画面250はマイページ画面に遷移する。
図20は、端末装置30が表示するマイページ画面(その1)260の一例を示す。マイページ画面260は、設定内容選択欄261と詳細表示欄262を有している。マイページ画面260の表示直後は、設定内容選択欄261の基本設定の内容が詳細表示欄262に表示される。情報処理システム10はユーザ管理部44が管理している情報を端末装置30に送信する。
図20の詳細表示欄262は、ユーザID268、メールアドレス263、姓欄264、名欄265、及び、メール返信用言語欄266を表示する。管理者は姓欄264と名欄265を編集し、メール返信用言語欄266でメール返信用言語を選択できる。ユーザIDとメールアドレスの編集は別のシステムへの接続が必要になる。管理者が設定内容選択欄261の外部サービス連携267を押下すると、マイページ画面(その2)に遷移する。
図21は、端末装置30が表示するマイページ画面(その2)270の一例を示す。マイページ画面(その2)270の詳細表示欄262は、外部サービスアカウントログイン設定欄271と、外部サービスファイル送受信設定欄272とを有している。
外部サービスアカウントログイン設定欄271はOAUTHなどの仕組みを利用していわゆるシングルサインオンを行うかどうかを管理者が設定する欄である。管理者が連携したい外部サービスシステム40の「連携する」ボタン271Aを押下すると、管理者は外部サービスアカウントログイン設定欄271に表示されている外部サービスシステム40のアカウント(ユーザIDとパスワード)で情報処理システム10にログインする。したがって、この場合、管理者は外部サービスシステム40の認証情報を登録しなくてよい。
本実施形態ではOAUTHを利用してもよいが、以下では外部サービスシステム40に登録されているパスワード等で認証する方法を説明する。外部サービスファイル送受信設定欄272は、外部サービス名273、連携欄274、共有欄275、「連携する」ボタン276、及び、「連携解除」ボタン277を有している。外部サービス名273は、この管理者が所属する企業(情報処理システム10からはテナントと呼ばれる)が購入可能なサービスの一覧である。実際に購入しているかどうかに関係なく表示される。企業が購入していない外部サービスシステム40との連携の設定を管理者が行った場合、連携元アプリの実行時にライセンスがないというエラーが出る。
連携欄274は連携設定が済みか否かが表示される欄である。連携設定は、情報処理システム10が外部サービスシステム40にユーザの認証情報でログインできた場合に「設定済み」と表示される。すなわち、表2のユーザ管理部44が管理する「連携設定」の値が表示される。
共有欄275には、外部サービスシステム40の連携先アプリを他のユーザと共有できるか否かが表示される。共有するかどうかは図22の画面で管理者が設定できる。
「連携する」ボタン276はユーザが外部サービスシステム40の連携先アプリとの連携に関する設定を行うためのボタンであり、「連携解除」ボタン277は連携を解除するためのボタンである。「連携する」ボタン276が押下されると、図22の認証情報設定ポップアップ画面が表示される。「連携解除」ボタン277は連携欄274が「設定済み」の場合にだけ押下可能となる。「連携解除」ボタン277が押下されると、ユーザ管理部44が管理する表2の「連携設定」の値が「済み」でなくなり、連携欄274から「設定済み」が消去される。
図22は、端末装置30が表示する認証情報設定ポップアップ画面280の一例を示す。認証情報設定ポップアップ画面280は、サブドメイン欄281、ユーザ名欄282、パスワード欄283、「連携サービスをテナント内共有アカウントとすることを許可する」というチェックボックス284、及び、確認ボタン285を有している。また、図22では説明のため、外部サービスシステム40のログイン画面286が表示されている。
外部サービスシステム40のログイン画面286は、ユーザが所属する企業などのグループごとに用意されており、ログイン画面のURLも特定の企業用になっている。このため、URL「https://company.ExService_A.com」は企業を特定できる情報を有している。「company」が企業を特定できる情報である。これをサブドメインという。このようにログイン画面が用意されるのは、外部サービスシステム40の設計に起因するものであり、サブドメインはなくてもよい。
管理者はサブドメイン欄281にサブドメインを、ユーザ名欄282に外部サービスシステム40にログインするためのユーザ名を、パスワード欄283に外部サービスシステム40にログインするためのパスワードをそれぞれ入力する。管理者が確認ボタン285を押下すると、端末装置30はサブドメイン、ユーザ名、及び、パスワードを情報処理システム10に送信する。情報処理システム10の認証処理部51はサブドメイン、ユーザ名、及び、パスワードで外部サービスシステム40へのログインを試みる。本実施形態ではログインできた場合を説明する。
なお、「連携サービスをテナント内共有アカウントとすることを許可する」というチェックボックス284は管理者が連携元アプリを共有アプリとして設定するためのチェックボックスである。チェックされると図21の共有欄275に「可」と設定される。
図23は情報処理システム10が外部サービスシステム40にログインできた場合に端末装置30が表示するマイページ画面(その3)290の一例である。図23のマイページ画面(その3)290は、「成功しました」というメッセージ291を表示する。つまり、ログインできたこと、及び、連携設定が完了したことが表示される。なお、ログインできた場合、表2に示すように、情報処理システム10の認証処理部51はユーザ管理部44にサブドメイン、ユーザ名、及び、パスワードを登録し、連携設定に「済み」を登録する。
<<情報処理システムへの認証情報の設定の動作手順>>
図24は管理者が情報処理システム10へ認証情報を登録する手順を説明するシーケンス図の一例である。なお、情報処理システム10で通信を行うのは通信部19であるが、以下のシーケンス図では説明の便宜上、通信部19を省略した。
S21:管理者は情報処理システム10のユーザ名とパスワードを使用して情報処理システム10にログインする。端末装置30の操作受付部33は入力を受け付け、第一通信部31がユーザ名とパスワードを指定してログイン要求を端末画面提供部42に送信する。
S22:端末画面提供部42はログイン要求を受信する。端末画面提供部42はユーザ名とパスワードを指定してログイン要求をユーザ管理部44に送信するので、ユーザ管理部44は送信されたユーザ名とパスワードが、管理しているユーザ情報に登録されているか否かに基づき管理者を認証する。本実施形態では認証が成功したものとする。
S23:認証が成功したので、端末装置30の第一通信部31は管理者の操作に応じて、初期画面250、マイページ画面(その1)260、マイページ画面(その2)270の画面情報を端末画面提供部42に要求する。
S24:端末装置30の第一通信部31は初期画面250、マイページ画面(その1)260、マイページ画面(その2)270の画面情報を受信し、端末装置30の表示制御部32がこれら画面を表示する。また、表示制御部32は管理者の操作に応じて認証情報設定ポップアップ画面280を表示する。
S25:管理者は認証情報設定ポップアップ画面280にサブドメイン、ユーザ名、及び、パスワードを入力する。端末装置30の操作受付部33がこれらを受け付け、第一通信部31がサブドメイン、ユーザ名、及び、パスワードを端末画面提供部42に送信する。
S26:端末画面提供部42はサブドメイン、ユーザ名、及び、パスワードを受信する。端末画面提供部42はサブドメイン、ユーザ名、及び、パスワードの保存を入出力処理部48に要求する。サブドメインは必須でない場合がある。
S27:入出力処理部48は外部サービス処理部52に対しサブドメイン、ユーザ名、及び、パスワードを指定して外部サービスシステム40の認証を要求する。
S28:外部サービス処理部52はサブドメイン、ユーザ名、及び、パスワードを用いた認証を外部サービスシステム40に要求する。本実施形態では認証が成功したものとする。
S29:認証が成功すると、入出力処理部48は外部サービスシステム40の認証情報(サブドメイン、ユーザ名、及び、パスワード)をユーザ管理部44に送信して、ユーザ管理部44が認証情報を保存する。以上で情報処理システム10に、外部サービスシステム40の認証情報が登録された。
なお、共有アプリでない連携元アプリの場合、ここで設定した認証情報が連携元アプリで使われるアカウントになる。共有アプリの場合、管理者が設定した認証情報を各ユーザが利用できる。
<外部サービスシステムと連携するための情報処理システムの連携元アプリの設定>
続いて、情報処理システム10が外部サービスシステム40の連携先アプリと連携するための、情報処理システム10の連携元アプリの設定について説明する。このフェーズは図1で説明した準備段階の1つのフェーズである。また、このフェーズは共有アプリについては顧客側の管理者、個人の連携元アプリについては各ユーザが行う。
管理者は各ユーザが外部サービスシステム40の連携先アプリと連携できるように、連携元アプリに連携情報を設定する。管理者又はユーザはすでに、図10で説明したようなアプリ処理情報作成画面で外部サービスシステム40の連携先アプリと連携する「新規レコード登録」のアプリ処理情報と画面情報を情報処理システム10に登録済みである。「新規レコード登録」のアプリとは図11に示される連携先アプリにおいて、機器20から送信するデータを新たなレコードとして追加する連携元アプリのことである。つまり、図11で示される連携先アプリが管理する表に、新たな行を追加して、データを保存するための連携元アプリである。また、「既存レコード登録」とは、図11に示される連携先アプリにおいて、機器20から送信するデータをすでに存在するレコードに保存する連携元アプリのことである、つまり、図11で示される連携先アプリが管理する表のうち、機器20で指定されたいずれかの行にデータを保存するためのアプリケーションである。
管理者又はユーザはこのアプリ処理情報に連携情報として、連携先アプリIDとフィールドコード等を設定する。また、画面情報に、画面の表示に関する情報を設定する。
管理者又はユーザは端末装置30を情報処理システム10に接続させ、初期画面を表示させる。以下の図25~図31の画面は端末装置30がHTTPリクエストを情報処理システム10に送信し、情報処理システム10がHTTPレスポンスで送信した画面情報を端末装置30が表示したものである。
図25は、端末装置30が表示する初期画面300の一例を示す。初期画面300は管理者メニューと一般ユーザメニューを有しているので、以下では管理者メニューを説明する。初期画面300は、ユーザ管理アイコン301、テナント情報アイコン302、アプリ管理アイコン303、及び、機器管理アイコン304を有している。ユーザ管理アイコン301は、管理者がユーザの追加、削除、編集などを行うためのアイコンである。テナント情報アイコン302はこの顧客が連携元アプリの提供についてどのような契約をしているかなどを確認及び変更するためのアイコンである。アプリ管理アイコン303は連携元アプリ(すなわちアプリ処理情報)の追加、削除、編集等を行うためのアイコンである。機器管理アイコン304は機器20がどのように利用されているかを管理するためのアイコンである。管理者は連携元アプリの編集を行うためアプリ管理アイコン303を押下する。これにより、サービス選択画面が表示される。
図26は端末装置30が表示するサービス選択画面310の一例を示す。サービス選択画面310は、情報処理システム10が連携可能な外部サービスシステム40の名称の一覧を表示する。外部サービスシステム40と連携するにはテナントがライセンスを購入する必要があるが、ライセンスの有無に関係なく外部サービスシステム40の名称の一覧が表示される。
管理者が一覧から「外部サービスシステムA」311を選択すると、「外部サービスシステムA」に対応付けられた連携元アプリのアプリ名等を情報処理システム10が端末装置30に送信する。すなわち、アプリデータ管理部41は、「外部サービスシステムA」に対応付けられた連携元アプリをアプリデータから特定し、この連携元アプリのアプリ名をアプリ管理部49から取得する。
図27は、端末装置30が表示する連携元アプリ選択画面320の一例である。図26で管理者が一覧から「外部サービスシステムA」を選択したため、連携元アプリ選択画面320は「外部サービスシステムA」の連携先アプリと連携する連携元アプリの一覧を表示する。図27では6つの連携元アプリのアイコン321~326が表示されているが、連携元アプリの数は管理者が登録したアプリ処理情報の数に依存する。少なくとも1つあればよいが、連携元アプリの登録前はゼロの場合もある。
6つの連携元アプリはいずれも「外部サービスシステムA」の連携先アプリと連携することができるが、「外部サービスシステムA」の連携先アプリは同じ場合も異なる場合もある。つまり、同じ連携元アプリに異なる連携先アプリが対応付いていてもよいし、異なる連携元アプリに同じ連携先アプリが対応付いていても、異なる連携元アプリに異なる連携先アプリが対応付いていてもよい。また、複数の連携元アプリの連携先アプリが同じ場合でも、フィールドコードが同じ場合と異なる場合がある。以下では、「新規レコードを登録」の連携元アプリが選択されたものとして説明する。
図28は、「新規レコードを登録」の連携元アプリが選択された場合に端末装置30が表示する連携元アプリ設定画面(その1)330の一例であり、図29は連携元アプリ設定画面(その2)340の一例であり、図30は連携元アプリ設定画面(その3)350の一例であり、図31は連携元アプリ設定画面(その4)360の一例である。図28、図29、図30及び図31は作図の都合上、一画面が4つに分けられている。
また、これらの画面では、上記した連携先アプリIDとフィールドコードという連携情報の設定(A)の他、連携元アプリのアイコンを機器20がどのように表示するかというアイコン表示設定(B)、連携元アプリの実行に関する設定(C)、及び、スキャン設定(D)も含まれる。なお、連携情報の設定(A)はアプリデータに設定され、連携元アプリの実行に関する設定(C)及びスキャン設定(D)はアプリ処理情報に設定され、アイコン表示設定(B)は画面情報に設定される。
連携元アプリ設定画面(その1)~(その4)は、外部サービス名331、ユーザ名選択欄332、アプリID設定欄333、スペースID欄334、文字列用フィールドコード欄335、文字列フィールドの入力欄336、画像データ用フィールドコード欄337、メールアドレス欄338、メール件名欄339、OCR言語選択欄340、出力フォーマット選択欄341、白紙除去設定欄342、ファイル名欄343、日付ラベル欄344、日付区切り文字欄345、日付フォーマット欄346、辞書ラベル欄347、辞書区切り文字欄348、辞書指定欄349、辞書の表示幅欄350、デフォルト印刷設定欄351(読み取りカラーモード欄、原稿面欄、原稿セット方向欄、読み取り解像度欄、原稿サイズ欄、手動濃度欄、読み取り方法欄、及び、プレビュー欄)、を有している。
・外部サービス名331…図26の「外部サービスシステムA」311で選択された外部サービスシステム40の名称である。
・ユーザ名選択欄332(C)…共有アプリを利用する場合にどの管理者の認証情報を使用するかが設定される。共有アプリの場合はユーザが特定されず、管理者も複数存在する場合があるためである。これによりユーザ管理部44の認証情報が特定される。
・アプリID設定欄333(A)…当該連携元アプリが外部サービスシステム40のどの連携先アプリと連携するか連携先アプリIDで設定される。連携先アプリIDは図11に示したように端末装置30に表示されている。
・スペースID欄334(A)…複数の連携元アプリをグループ化して管理するスペースの識別情報が設定される。
・文字列用フィールドコード欄335(A)…連携元アプリが有する文字列欄のフィールドコードが設定される欄である。フィールドコードは図14に示したように端末装置30に表示されている。また、情報処理システム10が端末装置30に表示させることもできる。
・文字列フィールドの入力欄336(B)…文字列フィールドの初期値が設定される。
・画像データ用フィールドコード欄337(A)…画像データが格納されるフィールドのフィールドコードが設定される。フィールドコードを管理者が手動で入力する他、プルダウンメニューなどから表示できるとよい。アプリID設定欄333に連携先アプリIDが入力されると連携先アプリIDを端末装置30が情報処理システム10に送信し、情報処理システム10が外部サービスシステム40から連携先アプリIDで特定される連携先アプリに設定された全てのフィールドコードを取得する。これにより、端末装置30がフィールドコードのリストを表示できる。
・メールアドレス欄338(C)…連携元アプリの実行中にエラーが発生した場合の連絡先のメールアドレスが設定される。
・メール件名欄339(C)…同じくメール件名が設定される。
・OCR言語選択欄340(C)…OCRで認識する言語が選択される。この設定がない場合は自動で言語が選択される。
・出力フォーマット選択欄341(C)…画像データの出力時のフォーマットが選択される。
・白紙除去設定欄342(C)…白紙除去をするか否かが選択される。
・ファイル名欄343(C)…画像データのファイル名が設定される。
・日付ラベル欄344(B)…日付欄の表示名が設定される(「作成日時」など)。
・日付区切り文字欄345(B)…日付の数字を区切る文字(YY-MM-DDの「-」等)が指定される。
・日付フォーマット欄346(B)…日付の表示形式(YY,MM,DDの順序)が選択される。
・辞書ラベル欄347(B)…辞書欄の表示名が設定される。辞書とは、機器20においてユーザの入力を支援する単語のリストである。辞書指定欄349(B)の単語が機器20に表示される。
・辞書区切り文字欄348(B)…辞書と辞書の区切り文字(「、」「:」等)が指定される。
・辞書指定欄349(B)…機器20が表示する単語のリストが指定される。「デザイン」、「見積書」、及び、「注文書」がそれぞれ単語の一例である。
・辞書の表示幅欄350(B)…辞書欄を機器20がどの位の大きさで表示するかが設定される。
・読み取りカラーモード欄351A(D)…原稿をカラー、モノクロ、又は自動判断のどのモードで読み取るかが設定される。
・原稿面欄351B(D)…読み取り面(片面、両面)が設定される。
・原稿セット方向欄351C(D)…原稿の読み取り方向が設定される。
・読み取り解像度欄351D(D)…読取時の解像度が設定される。
・原稿サイズ欄351E(D)…原稿のサイズが設定される。
・手動濃度欄351F(D)…読取時の濃度が設定される。
・読み取り方法欄351G(D)…大量スキャン、個別スキャン(通常)が設定される。
・プレビュー欄351H(D)…プレビューの表示の有無が設定される。
<<情報処理システムへの連携情報等の設定の動作手順>>
図32は管理者が情報処理システム10へ連携情報等を設定する手順を説明するシーケンス図の一例である。
S31~S33:管理者は端末装置30を情報処理システム10に接続させ、ログインする。ログイン方法は図24と同様でよい。
S34:端末装置30は上記の初期画面300及びサービス選択画面310を表示し、ユーザが外部サービスシステム40を指定して連携元アプリ選択画面320を表示する操作を行う。端末装置30の操作受付部33は操作を受け付け、第一通信部31が連携元アプリ選択画面320を端末画面提供部42に要求する。
S35:端末画面提供部42は連携元アプリ選択画面320の要求を受信する。端末画面提供部42は外部サービスシステム40の識別情報を指定して、連携元アプリの一覧をアプリデータ管理部41に要求する。アプリデータ管理部41は外部サービスシステム40に対応付けられたアプリの一覧(アプリ名はアプリ管理部49から取得できる)を端末画面提供部42に送信する。アプリ一覧には、外部サービスシステム40に対応付けられたアプリ以外に、他の外部サービスシステムと連携するアプリや他のシステムと連携しないアプリを含んでもよい。これにより、端末画面提供部42は連携元アプリ選択画面320の画面情報を生成する。なお、連携元アプリ選択画面320には連携元アプリIDが含まれている。また、端末画面提供部42は、ログインしている管理者又はユーザが利用する権限を有する連携元アプリ(管理者は個人アプリ、共有アプリの全て、ユーザは個人アプリのうち権限がある連携元アプリ)のみを連携元アプリ選択画面320に含める。権限については表2に示したように、ユーザ管理部44が管理している。
S36:管理者が連携元アプリを選択すると、端末装置30の操作受付部33が受け付ける。
S37:端末装置30の第一通信部31は選択された連携元アプリの連携元アプリIDを端末画面提供部42に送信する。
S38:端末画面提供部42は連携元アプリIDを受信する。端末画面提供部42は連携元アプリIDを指定して、アプリリリース時にアプリデータ管理部41に登録した連携元アプリ設定画面(その1)330~(その4)360の画面情報を取得する。連携元アプリ設定画面の画面情報が端末装置30に送信されるので、端末装置30は連携元アプリ設定画面(その1)330~(その4)360を表示する。
S39~S41は管理者が選択した連携元アプリが共有アプリの場合に実行される。
S39:共有アプリの場合、ログインする管理者を設定しておく必要があるため、第一通信部31はアカウント一覧を端末画面提供部42に要求する。この場合はログインしている管理者と同じテナント内の管理者の認証情報が要求される。
S40:端末画面提供部42はアカウント一覧を受信する。端末画面提供部42は認証情報一覧をユーザ管理部44に要求する。ユーザ管理部44はログインしている管理者と同じテナントに所属する管理者の認証情報を取得する。
S41:第一通信部31はアカウント一覧を受信し、端末装置30の表示制御部32がユーザ名選択欄332(C)で管理者のユーザ名等を選択可能に表示する。管理者は共有アプリで使用する管理者を設定する。個人用の連携元アプリの場合、各個人の認証情報が使用されるため、この設定は不要になる。
S42:管理者は連携元アプリ設定画面(その1)330~(その4)360に連携情報(A)、アイコン表示設定(B)、連携元アプリの実行に関する設定(C)、及び、スキャン設定(D)を入力する。端末装置30の操作受付部33は入力を受け付ける。
連携元アプリが「新規レコード登録」の場合は以上で設定が終了するが、連携元アプリが「既存レコード登録」の場合、ユーザが連携先アプリの表における既存のレコードに画像データを登録するので、どのレコードに登録するかという初期値の設定がステップS43~S50で行われる。
S43:管理者はレコード一覧を取得する操作を行い、端末装置30の操作受付部33が操作を受け付ける。第一通信部31は連携先アプリIDを指定してレコード一覧要求を端末画面提供部42に送信する。管理者の操作なしにレコード一覧が要求されてよい。
S44:端末画面提供部42はレコード一覧要求を受信する。端末画面提供部42は連携先アプリIDを指定してレコード一覧要求を入出力処理部48に送信する。
S45:入出力処理部48はログインしている管理者(又はユーザ)を指定して外部サービスシステム40の認証情報を認証処理部51に要求する。
S46:認証処理部51は、管理者に対応付けられている外部サービスシステム40の認証情報をユーザ管理部44から取得する。
S47:入出力処理部48は、外部サービスシステム40の認証情報と連携先アプリIDを指定して、外部サービス処理部52にレコード一覧の取得を要求する。
S48:外部サービス処理部52は認証情報(サブドメイン、ユーザ名、パスワード)と連携先アプリIDを指定して、レコード一覧を外部サービスシステム40から取得する。なお、管理者がステップS42で指定したフィールドコードが外部サービスシステム40に送信することが好ましく、この場合、フィールドコードで指定されるフィールドのレコード一覧を取得するとよい。
S49:レコード一覧は端末装置30に送信され、端末装置30の表示制御部32がレコード一覧を表示する。図33においてレコード一覧が表示される連携元アプリ設定画面を説明する。
S50:管理者はレコード一覧からスキャンした画像データをどのレコードに登録するかの初期値を設定する。端末装置30の操作受付部33は設定を受け付ける。
S50-2:管理者が連携元アプリ設定画面で設定した情報を保存する処理を行うと、操作受付部33が受け付け、第一通信部31が連携情報(A)、アイコン表示設定(B)、連携元アプリの実行に関する設定(C)、及び、スキャン設定(D)を端末画面提供部42に送信する。
S50-3:端末画面提供部42は連携情報(A)、アイコン表示設定(B)、連携元アプリの実行に関する設定(C)、及び、スキャン設定(D)を受信する。端末画面提供部42はこれらをアプリデータ管理部41又はアプリ管理部49に設定するので、アプリデータ管理部41はアプリデータにこれらを設定し、アプリ管理部49はアプリ処理情報や画面情報にこれらを設定する。以上により、情報処理システム10の連携元アプリと外部サービスシステム40の連携先アプリとが対応付けられた。
図33は、レコードの設定欄を有する連携元アプリ設定画面370の一例である。この連携元アプリ設定画面370はレコードID欄353を有している。管理者がレコードID欄353を押下することなどにより、連携元アプリ設定画面370はレコード一覧を表示する。図33ではフィールドコード欄352に「2」が指定されているので、レコードID欄353にレコード一覧としてお客様名の一覧が表示される。例えば図11の例では、「大阪梅子」「梅田太郎」等が表示される。管理者がレコードを選択すると、選択されたレコードに対応するレコードID欄353にレコードIDが表示される。設定されたレコードIDは「既存レコード登録」の画面情報に連携元アプリが取得したデータの保存先のデフォルトとして設定される。
なお、この設定により機器20では、レコードID欄353に設定されたレコードIDのレコードの「お客様名」(「大阪梅子」「梅田太郎」等)がデータ保存先の初期値として表示される。また、フィールドコード欄352では、連携先アプリから取得したフィールドコードとフィールド名を用いて、各フィールドコードをフィールド名と対応付けてフィールドコードの一覧を表示することが可能である。表示されたフィールドコードの一覧の中から、管理者からフィールドコードの指定を受け付ける。表示設定欄354はレコード一覧の表示方法を指定している。
なお、連携先アプリに連携元アプリが取得したデータ以外の付随情報を保存する場合、連携元アプリ設定画面370では、上記連携元アプリが取得したデータの保存先のフィールドの指定に加えて、付随情報を保存するフィールドの指定を受け付ける。付随情報とは連携元アプリが取得したスキャンデータ、FAXデータ、添付ファイルデータ等の画像データ以外のデータであって、例えば機器20からサービス提供システムにログインするユーザのユーザ名や、ログインユーザの所属情報、FAX番号、受信日時等の情報である。この場合、連携元アプリ設定画面370に各付随情報のフィールドコード欄352を表示し、管理者からフィールドコードの指定を受け付ければよい。
なお、「新規レコード登録」の連携元アプリにおいても、連携先アプリに対して付随情報を保存することも可能である。この場合、「新規レコード登録」の連携元アプリのアプリ設定画面にて各付随情報のフィールドコード欄352を表示し、管理者からフィールドコードの指定を受け付ければよい。
<機器の画面の表示例>
以上で、外部サービスシステム40への連携先アプリの登録と連携先アプリIDの取得、情報処理システム10への連携元アプリの設定が終了したので、ユーザが機器20を操作して連携元アプリを実行できる。続いて、ユーザが機器20を操作する際に機器20が表示するいくつかの画面について説明する。このフェーズは図1で説明した実行段階の1つのフェーズである。また、このフェーズは顧客側のユーザが行う。
ユーザは連携元アプリを選択したり、ファイル名などのいくつかの簡単な設定を行ったりすることができる。ユーザは機器20を操作して、連携元アプリ一覧画面を表示させる。以下の図34、図35、図37の画面は機器20がHTTPリクエストを情報処理システム10に送信し、情報処理システム10がHTTPレスポンスで送信した画面情報を機器20が表示したものである。
図34は機器20が表示する連携元アプリ一覧画面380の一例である。これまで説明したように、機器20は情報処理システム10を介して1つ以上の外部サービスシステム40と通信し、そのサービス(をカスタマイズした連携先アプリ)と連携できる。ユーザが1つの外部サービスシステム40を選択すると、外部サービスシステム40に対応付けられた連携元アプリを情報処理システム10のアプリ管理部49が取得し、機器20に各連携元アプリのアイコンが表示される連携元アプリ一覧画面380の画面情報を送信する。
図34の連携元アプリ一覧画面380は、6つの連携元アプリに対応した6つのアイコン381~386を有している。そのうちの一つが「新規レコード登録」のアイコン381である。ユーザが「新規レコード登録」のアイコン381を押下すると、その旨が情報処理システム10に送信され、情報処理システム10のアプリ管理部49が「新規レコード登録」の連携元アプリIDに対応付けられている画面情報54を取得して、機器画面提供部47が「新規レコード登録」の設定画面の画面情報を生成し、機器20に送信する。
図35は、機器20が表示する「新規レコード登録」の設定画面390の一例である。「新規レコード登録」の設定画面390はファイル名欄391、カレンダー欄392、辞書欄393、読み取り設定欄394、及び、スタートボタン395を有している。図35の連携元アプリは「新規レコード登録」なのでレコードをユーザが選択できない設定画面である。
・ファイル名欄391…図29のファイル名欄343で設定されたファイル名が自動的に表示される。図35では本日の日付である。
・カレンダー欄392…図29の日付ラベル欄344で設定された文字が表示される。カレンダー欄392は今日ボタンとカレンダーボタンを有し、今日ボタンは本日の日付をファイル名欄391に入力し、カレンダーボタンはカレンダーを表示する。
・辞書欄393…図30の辞書指定欄349で設定された辞書が表示される。各辞書が押下されるとその文字「デザイン」等がファイル名欄391に入力される。
・読み取り設定欄394…図31のスキャン設定(D)で設定された読み取り設定が表示される。ユーザは読み取り設定ボタン394Aを押下して、スキャン設定(D)で設定された内容を変更できる。
・スタートボタン395…連携元アプリ「新規レコード登録」の実行をユーザが開始するためのボタンである。
<<機器が連携元アプリを実行するまでの動作手順>>
図36はユーザが機器20を操作して機器20が連携元アプリ一覧画面380を表示し、ユーザが選択した連携元アプリを実行する手順を説明するシーケンス図の一例である。
S51:ユーザは、連携元アプリ一覧画面380から、所望の連携元アプリを選択する操作を行う。連携元アプリ一覧画面380から「既存レコード登録」382がユーザにより選択されたものとして説明する。
S52:機器20の操作受付部23が連携元アプリの選択操作を受け付けると、第二通信部21が情報処理システム10のアプリデータ管理部41に対して、アプリデータ(スペースID、連携先アプリID、フィールドコード等)の取得を要求する。スペースIDはなくてもよい。連携元アプリIDにより画像データ等をどの連携先アプリに保存するか特定される。フィールドコードにより画像データ等を連携先アプリのどのフィールドに保存するか特定される。
S53:第一通信部31はユーザが選択した連携元アプリの連携元アプリIDを指定して、「既存レコード登録」の設定画面を機器画面提供部47に要求する。
S54:機器画面提供部47は「既存レコード登録」の設定画面の要求を受信する。機器画面提供部47は連携元アプリIDを指定してこの連携元アプリの設定画面をアプリ管理部49に要求する。
S55:アプリ管理部49はアプリ処理情報記憶部17から連携元アプリIDで特定される画面情報を取得し、機器画面提供部47に送信する。これにより、機器画面提供部47は「既存レコード登録」の設定画面を生成できる。
S56:「既存レコード登録」なので、端末装置30はユーザがレコードを選択できるようにレコードに関する情報を情報処理システム10から取得する。第二通信部21は、スペースID、連携先アプリID、及び、フィールドコードを指定して、レコード一覧取得を連携元アプリ実行部46に送信する。スペースIDはなくてもよい。
S57:連携元アプリ実行部46はスペースID、連携先アプリID、及び、フィールドコードを指定して、レコード一覧取得を入出力処理部48に要求する。
S58:入出力処理部48はログインしているユーザ(ユーザ名が分かっている)の認証情報を認証処理部51に要求する。
S59:認証処理部51はこのユーザの認証情報(サブドメイン、ユーザ名、パスワード)をユーザ管理部44から取得する。
S60:入出力処理部48は認証情報、スペースID、連携元アプリID及びフィールドコードを指定して外部サービス処理部52にレコード一覧を要求する。スペースIDとフィールドコードはなくてもよい。フィールドコードがない場合、全てのフィールドが取得される。
S61:外部サービス処理部52は認証情報で認証を受け、連携先アプリIDとフィールドコードを指定して外部サービスシステム40からレコード一覧を要求する。
S62,S63:レコード一覧は機器20に送信され、ユーザは画像ファイルの登録先のレコードを選択できる。レコードの初期値は設定されているのでユーザが選択しなくてもよい。なお、表示されたレコード一覧を図37に示す。
S64:次に、ユーザはスタートボタン395を押下してスキャンを実行する。機器20の画像データ生成部24が原稿をスキャンして画像データを生成する。
S65:機器20の第二通信部21は連携元アプリ実行部46に画像データ、連携先アプリID、フィールドコード、及び、レコードIDを送信する。
S66:連携元アプリ実行部46は、画像データ、連携先アプリID、フィールドコード、及び、レコードIDを指定して入出力処理部48に連携元アプリの実行を要求する。
S67、S68:入出力処理部48は、認証処理部51を経由して、ログインしているユーザの認証情報を取得する。
S69:入出力処理部48はアプリ処理情報のパラメータに連携先アプリID、フィールドコード、レコードIDを設定し、認証情報と共に画像データを外部サービス処理部52に送信する。
S70:外部サービス処理部52は認証情報で認証を受け、アプリ処理情報のパラメータに設定された連携先アプリID、フィールドコード、及び、レコードID、並びに、画像データを外部サービスシステム40に送信する。これにより、データ処理部63は、連携先アプリIDで特定される連携先アプリのフィールドコードで特定されるフィールドの、レコードIDで特定されるレコードに画像データを登録できる。
なお、図36の処理では、連携元アプリのアプリデータを機器20が連携元アプリ実行部46経由で渡しているが、パラメータの変更がない場合(連携元アプリ設定画面で設定したものがそのまま外部サービスシステムに送信される場合)入出力処理部48が直接、アプリデータ管理部41から連携元アプリIDに対応付いているアプリデータを参照してもよい。シーケンス上は連携元アプリ実行部46が入出力処理部48に処理を依頼しているがアプリデータサービス部11経由で実行してもよい。
図37は機器20が表示するレコード一覧の一例である。図37は「既存レコード登録」の設定画面の一部である。図37ではフィールドコードに「お客様名」のフィールドが設定されている場合を示し、「お客様名」の一覧(レコードの一覧)が表示されている。図37では1画面に8人の「お客様名」が表示される。表示しきれない「お客様名」はページ切替ボタン371によりユーザがページを切り替えると表示される。現在は4ページのうち2ページ目が表示されている。フィールド名372には、連携元アプリ設定画面で設定されたフィールドコードに対応するフィールド名が表示される。
表示されない「お客様名」については(一覧が空欄になっている)、「お客様名」が外部サービスシステム40にまだ登録されていないためである。つまり、「新規レコード登録」の実行で画像データが登録され、レコード自体は存在しているが、「お客様名」が登録されていないレコードである。
ユーザはこのような一覧から画像データを保存するレコードを選択できる。したがって、連携元アプリを実行する機器20がレコードの設定画面を表示し、利用する外部サービスシステムに関する設定を行うことができる。
なお、機器20がレコード一覧を表示した直後は、図33のレコードID欄353で設定されたレコードが設定された状態になっている。
また、図37では、連携元アプリ設定画面で設定されたアプリデータのフィールドコードが指定されているため、あるフィールドのレコード一覧が表示されているが、全てのフィールドのフィールド一覧が表示されてもよい。また、このフィールド一覧からユーザがフィールドを選択し、該フィールドのレコードの一覧を機器20が情報処理システム10に要求してもよい。
<連携元アプリ設定画面におけるその他の設定>
図28等では連携元アプリ設定画面で連携先アプリID、フィールドコード又はレコードIDの設定を説明したが、続いて、連携元アプリ設定画面において管理者等が行うことができるその他の設定について説明する。
図38は端末装置30が外部サービスシステム40の連携先アプリの名称を表示するシーケンス図の一例である。なお、図38の処理は図28~図31の連携元アプリ設定画面に続いて又はその一部で行われる。本処理は、連携元アプリIDがどの連携先アプリのものかを管理者が確認したい場合等に有効である。
S81:管理者が外部サービスシステム40の連携先アプリのスペースID、及び、連携先アプリIDを入力する。端末装置30の操作受付部33は入力を受け付ける。なお、スペースIDはなくてもよい。
S82:端末装置30の第一通信部31は連携先アプリのスペースID、及び、連携先アプリIDを指定して、アプリ名を端末画面提供部42に要求する。
S83:端末画面提供部42はアプリ名の要求を受信する。端末画面提供部42は連携先アプリのスペースID、及び、連携先アプリIDを指定して入出力処理部48にアプリ名を要求する。
S84,S85:入出力処理部48は認証処理部51経由で、ユーザ管理部44からログインしている管理者の認証情報を取得する(サブドメイン、ユーザ名、パスワード)。
S86,S87:入出力処理部48は外部サービス処理部52を経由して、認証情報で認証を受け、指定された連携先アプリID(必要な場合はスペースID)を用いて、外部サービスシステム40から連携先アプリのアプリ名を取得する。
S88:アプリ名は端末装置30に送信される。端末装置30の表示制御部32は連携先アプリのアプリ名を表示する。
このように連携先アプリのアプリ名を端末装置30が表示できると、管理者は連携元アプリIDがどの連携先アプリのものかを確認できる。
<<管理者又はユーザが指定した連携先アプリの利用権限がユーザにあるかを表示>>
図39は、端末装置30が連携先アプリの利用権限がユーザにあるか否かを表示するシーケンス図の一例である。なお、図39の処理は図28~図31の連携元アプリ設定画面に続いて又はその一部で行われる。ユーザに利用権限がない連携先アプリと情報処理システム10が連携しても連携元アプリを実行できないため、このような確認が有効になる。
S91:管理者又はユーザは外部サービスシステム40の連携先アプリのスペースID、及び、連携先アプリIDを入力する。端末装置30の操作受付部33は入力を受け付ける。なお、スペースIDはなくてもよい。
S92:端末装置30の第一通信部31は連携先アプリのスペースID、及び、連携先アプリIDを指定して、権限チェックを端末画面提供部42に要求する。
S93:端末画面提供部42は権限チェックの要求を受信する。端末画面提供部42は連携先アプリのスペースID、及び、連携先アプリIDを指定して入出力処理部48に権限チェックを要求する。
S94、S95:入出力処理部48は認証処理部51経由で、ログインしている管理者又はユーザの認証情報をユーザ管理部44から取得する。したがって、外部サービスシステム40のユーザ名がわかる。
S96,S97:入出力処理部48は外部サービス処理部52を介して認証情報で認証を受け、連携先アプリID(必要な場合はスペースID)とユーザ名を指定して、外部サービスシステム40からログインしている管理者又はユーザが連携先アプリの権限があるかを取得する。権限の有無は端末装置30に送信される。
S98:権限がある場合、端末装置30の表示制御部32は連携先アプリの権限がある旨を表示する。
S99:また、端末装置30の第一通信部31は権限がある旨をアプリデータ管理部41に送信して、連携先アプリIDとユーザ名に対応付けて保存しておく。権限がある旨がないユーザは権限チェックされていないことが分かり、機器20からの連携元アプリの実行時にその旨を表示できる。
S100:権限がない場合、端末装置30の表示制御部32は連携先アプリの権限がない旨を表示する。
こうすることで、権限があることがアプリデータ管理部41に保存され、ユーザが連携先アプリと連携する連携元アプリを利用できることが分かる。なお、図39ではログインしている管理者又はユーザの権限をチェックしているが、任意のユーザの権限をチェックしてもよい。
<<連携先アプリIDからフィールドコードを取得して選択肢として表示>>
図40は、端末装置30が連携先アプリIDからフィールドコードを表示するシーケンス図の一例である。なお、図40の処理は図28~図31の連携元アプリ設定画面に続いて又はその一部に行われる。本処理は、管理者が画像データを保存したいフィールドコードを知らない場合にフィールドコードの一覧を表示する場合等に有効である。
S101:管理者は外部サービスシステム40の連携先アプリのスペースID及び連携先アプリIDを入力する。端末装置30の操作受付部33は入力を受け付ける。なお、スペースIDはなくてもよい。
S102:端末装置30の第一通信部31は連携先アプリのスペースID、及び、連携先アプリIDを指定して、フィールドコード一覧を端末画面提供部42に要求する。
S103:端末画面提供部42は、フィールドコード一覧の要求を受信する。端末画面提供部42は連携先アプリのスペースID、及び、連携先アプリIDを指定して入出力処理部48にフィールドコード一覧を要求する。
S104、S105:入出力処理部48は認証処理部51経由で、ユーザ管理部44からログインしているユーザの認証情報を取得する(サブドメイン、ユーザ名、パスワード)。
S106,S107:入出力処理部48は外部サービス処理部52を経由して、認証情報で認証を受け、指定された連携先アプリID(必要な場合はスペースID)を指定して、外部サービスシステム40から連携先アプリのフィールドコード一覧を取得する。フィールドコード一覧は端末装置30に送信される。フィールドコードだけではフィールド名が分からないのでフィールド名も送信されるとよい。
S108:端末装置30の表示制御部32はフィールドコード一覧を表示する。
S109:管理者はフィールドコード一覧からどのフィールドコードを画像データの登録先にするかなどを設定できる。
同様に、管理者はステップS110~S117でレコード一覧を表示できる。
S110~S117:図36のステップS56~S63と同じでよい。
図41は連携元アプリ設定画面に表示されたフィールドコード一覧の一例を示す。図41に示すようにフィールド名とフィールドコード一覧が表示される。フィールドコードは選択を受け付けられるようになっており、管理者は画像データ等を保存したいフィールドコードを選択できる。管理者はフィールドを指定して、選択したフィールドコードを例えば図29の画像データ用フィールドコード欄337に設定できる。その他のフィールドに対し設定することもできる。
<<連携先アプリ検索>>
図42は管理者が外部サービスシステム40の連携先アプリを検索する手順を示すシーケンス図の一例である。なお、図42の処理は図28~図31の連携元アプリ設定画面に続いて又はその一部に行われる。本処理は、管理者が連携先アプリを確認したい場合等に有効である。管理者は連携先アプリ等の一覧を表示させることができる。連携先アプリが表示されれば、フィールドコードの一覧やレコードの一覧も表示できる。
S121:管理者はスペース一覧を取得する操作を行う。端末装置30の操作受付部33が操作を受け付け、第一通信部31がスペース一覧取得を端末画面提供部42に送信する。
S122:端末画面提供部42はスペース一覧の要求を受信する。端末画面提供部42は入出力処理部48にスペース一覧取得を送信する。
S123、S124:入出力処理部48は認証処理部51経由でログインしているユーザの認証情報をユーザ管理部44から取得する(サブドメイン、ユーザ名、パスワード)。
S125、S126:入出力処理部48は認証情報を用いて認証を受け、外部サービスシステム40からスペース一覧を取得する。スペース一覧は端末装置30に送信される。
S127:端末装置30の表示制御部32はスペース一覧を表示する。
S128:管理者はスペース一覧から自分が一覧を見たい連携先アプリが所属するスペースを選択する。端末装置30の操作受付部33は選択を受け付ける。
S129~S134:端末装置30はユーザが選択したスペースのスペースIDを指定し、このスペースに所属するアプリ一覧を表示する。この処理はスペースIDが指定される以外はステップS121~S126と同じでよい。
S135:端末装置30の表示制御部32はアプリ一覧を表示する。この時表示するのは連携先アプリのアプリ名、連携先アプリID又は両方のいずれでもよい。管理者がアプリ一覧を取得する際にスペースIDを指定したので、スペース内のアプリ一覧が表示される。スペースを指定しない場合は全ての連携先アプリが表示される。
S136:管理者は表示されたアプリ一覧から連携先アプリを選択する。端末装置30の操作受付部33が受け付ける。例えば、管理者が設定する連携元アプリと連携させたい連携先アプリを選択する。
S137:第一通信部31はスペースIDと連携先アプリIDを指定して、フィールドコード一覧の取得を端末画面提供部42に送信する。
S138:端末画面提供部42はフィールドコード一覧の要求を受信する。端末画面提供部42はスペースIDと連携先アプリIDを指定して、フィールドコード一覧の取得を入出力処理部48に送信する。
S139、S140:入出力処理部48は認証処理部51を経由して、ログインしている管理者の認証情報をユーザ管理部44から取得する(サブドメイン、ユーザ名、パスワード)。
S141,S142:入出力処理部48は外部サービス処理部52を経由して、認証情報で認証を受け、スペースIDと連携先アプリIDを指定して、外部サービスシステム40から連携先アプリのフィールドコード一覧を取得する。フィールド名も取得するとよい。フィールドコード一覧は端末装置30に送信される。
S143:端末装置30の表示制御部32はフィールドコード一覧を表示する。表示するのはフィールドコード、フィールド名、又は両方でもよい。
S144:管理者は表示されたフィールドコード一覧から画像データを登録したいフィールドを選択する。端末装置30の操作受付部33は選択を受け付ける。図41に示したように選択されたフィールドコードは画像データ用フィールドコード欄337に設定される。
S145~S152:図36のステップS56~S63と同様に、端末装置30はレコード一覧を表示し、管理者はレコードの初期値を設定できる。
このように、管理者はスペース一覧、アプリ一覧、フィールドコード一覧、及び、レコード一覧を表示させ、連携元アプリに連携先アプリID、フィールドコード及びレコード等を設定できる。
<機器が連携元アプリを実行する場合にユーザ名なども外部サービスシステムに登録する手順>
続いて、図43を用いて機器20が連携元アプリを実行する処理の変形例を説明する。図43はユーザが機器20を操作して機器20が連携元アプリ一覧画面を表示し、ユーザが選択した連携元アプリを実行する手順を説明するシーケンス図の一例である。図43では、連携元アプリを実行する場合、連携元アプリを使用するためにサービス提供システムにログインしているユーザのユーザ名などの付随情報が自動的に外部サービスシステム40に送信される。なお、図43の説明では図36との相違を説明する。
S161:ユーザは、機器20を用いて、「外部サービスシステムA」と連携する連携元アプリの一覧を表示させるための表示操作を行う。機器20の操作受付部23は操作を受け付け、第二通信部21が情報処理システム10のアプリデータ管理部41に対して、「外部サービスシステムA」を指定して連携元アプリの一覧の取得要求を送信する。アプリデータ管理部41は、当該取得要求を受け取ると、アプリデータ記憶部13で「外部サービスシステムA」に対応付けられた連携元アプリの一覧を返信する。このアプリ一覧には「外部サービスシステムA」と対応付けられた連携元アプリ以外のサービス提供システムで提供されるアプリが含まれていてもよい。
S162:機器20の第二通信部21は、連携元アプリの一覧を受信し、表示制御部22がパネル表示部940aに連携元アプリ一覧画面を表示させる。連携元アプリ一覧画面には各連携元アプリと対応付けての連携元アプリIDが表示されてもよい。
S163~S167:図36のS51~S55と同様でよい。
続く、ステップS168~S175は「既存レコード登録」が選択された場合に実行される。
S168:ユーザは登録先のレコードとなるレコード一覧を表示する操作を行う。一例として図37のようなレコード一覧画面を表示する。機器20の操作受付部23は操作を受け付ける。
S169~S174:図36のS56~S61と同様でよい。
S175:レコード一覧は機器20に送信され、ユーザは画像ファイルの登録先のレコードを選択できる。なお、表示されたレコード一覧は図37と同様でよい。
S176:次に、ユーザはスタートボタンを押下してスキャンを実行する。機器20の画像データ生成部24が原稿をスキャンして画像データを生成する。
S177:第二通信部21は連携元アプリ実行部46に画像データ、及び、レコードID(「新規レコード登録」の場合はない)を送信する。すなわち、第二通信部21は外部サービスシステムへのデータ(画像データ)と付随情報(ユーザ名)の保存を要求する。また、連携元アプリがネイティブアプリの場合、機器20から直接、外部サービスシステム40にデータを転送してもよい。
S178:連携元アプリ実行部46は、画像データ、及び、レコードIDを指定して入出力処理部48に連携元アプリの実行を要求する。
S179、S180:入出力処理部48は、認証処理部51を経由して、ログインしているユーザのユーザ情報(ここではユーザ名などユーザを識別する情報でよい)を取得する。
S181:入出力処理部48はアプリ処理情報のパラメータにユーザ名を設定する。ユーザ名を設定するパラメータは予め決まっている。図7で説明した「YouserName」に設定する。
S182、S183:入出力処理部48は図36のステップS67,S68と同様に認証情報を取得する。
S184:入出力処理部48はアプリ処理情報に連携先アプリID、フィールドコード、レコードIDを設定し、認証情報と画像データを外部サービス処理部52に送信する。
S185:外部サービス処理部52は認証情報で認証を受け、パラメータに設定された連携先アプリID、スキャンデータを保存するフィールドコード、ユーザ名を保存するフィールドコード、ユーザ名、レコードID、及び、画像データを外部サービスシステム40に送信する。これにより、データ処理部63は、連携先アプリIDで特定される連携先アプリのフィールドコードで特定されるフィールドの、レコードIDで特定されるレコードに画像データを登録できる。「新規レコード登録」の場合はレコードIDが指定されないので、データ処理部63はレコードIDを採番して画像データを新規のレコードの指定されたフィールドに登録する。なお、上記スキャンデータを保存するフィールドコード及びユーザ名を保存するフィールドコードは連携元アプリ設定画面にて、各付随情報及びデータの保存先として設定されたフィールドコードである。
なお、図43は連携元アプリで取得するデータがスキャンの場合となっているが、連携元アプリで取得するデータがFAXの場合でも同様の処理で、FAXデータと付随情報とを連携先アプリに対して保存することが可能である。
<ファクシミリで受信した画像データの外部サービスシステムへの登録>
以下では、ファクシミリで受信した画像データや画像データ以外のデータの外部サービスシステム40への登録について説明する。
図44は、端末装置30が表示する「FAX受信登録」の連携元アプリの連携元アプリ設定画面410の一例である。なお、図44の説明では主に図28~図31との相違を説明する。図44の連携元アプリ設定画面410は、FAX番号を登録するフィールドコード491、画像データを登録するフィールドコード492、及び、受信日時を登録するフィールドコード493、を有している。
・FAX番号を登録するフィールドコード491…FAX番号が登録されるフィールドコードが指定される。
・画像データを登録するフィールドコード492…ファクシミリで受信した画像データが登録されるフィールドコードが指定される。
・受信日時を登録するフィールドコード493…受信日時が登録されるフィールドコードが指定される。
このように管理者は連携元アプリ設定画面490で画像データやFAX番号等のフィールドコードを設定できる。これにより、ファクシミリで受信した画像データだけでなく画像データ以外のデータを機器20が外部サービスシステム40に登録できる。
画像データ以外のデータとは、画像データと一体のメタデータなどは含まず、画像データから独立して扱われるデータである。どのようなデータが画像データ以外のデータとなるかは連携元アプリによって様々である。なお、メタデータとは、データの意味について記述したデータである。言い換えると、メタデータとはあるデータに関する情報を持ったデータのことである。データそのものではなく、データについてのデータであるため、メタ(上位の)のデータと呼ばれる。例えば、JPEG画像のEXIFで管理されるデータである。
次に、「メール受信登録」の連携元アプリ設定画面420を説明する。図45は、端末装置30が表示する「メール受信登録」の連携元アプリの連携元アプリ設定画面420の一例である。図45の連携元アプリ設定画面420は、件名を登録するフィールドコード421、本文を登録するフィールドコード422、受信日時を登録するフィールドコード423、送信元を登録するフィールドコード424、及び、添付ファイルを登録するフィールドコード425、を有している。
・件名を登録するフィールドコード421…電子メールの件名が登録されるフィールドコードが指定される。
・本文を登録するフィールドコード422…電子メールの本文が登録されるフィールドコードが指定される。
・受信日時を登録するフィールドコード423…電子メールの受信日時が登録されるフィールドコードが指定される。
・送信元を登録するフィールドコード424…電子メールの送信元が登録されるフィールドコードが指定される。
・添付ファイルを登録するフィールドコード425…電子メールに添付されたファイルが登録されるフィールドコードが指定される。
したがって、電子メールについても、電子メールで受信した画像データだけでなく、画像データ以外のデータを機器20が外部サービスシステム40に登録できる。
<<ファクシミリ処理部が受信した画像データに加えて、画像データ以外のデータ(送信元のFAX番号等)を管理者が連携元アプリ設定画面で設定することで、ファクシミリの受信時に機器が連携先アプリの特定のフィールドに保存する処理>>
図46は、機器20がファクシミリを受信し画像データと画像データ以外のデータを外部サービスシステム40のフィールドに登録する手順を示すシーケンス図の一例である。
S191:ファクシミリ処理部25はファクシミリ部933からファクシミリ受信通知を受け取る。
S192:ファクシミリ処理部25は、受信通知を受け取るとファクシミリ部933から受信した画像データを取得する。
S193:ファクシミリ処理部25は第二通信部21を介して、情報処理システム10のデバイス管理部45に対して、機器認証を要求し、認証チケットを取得する。なお、機器20は予めデバイス管理部45に登録されており、機器IDやUUID(Universally Unique Identifier)などを送信すると機器20の認証が成功する。
S194:ファクシミリ処理部25は、認証チケットと自分に設定されている連携元アプリID(連携元アプリのインストール時にファクシミリ処理部25に設定されている)を指定して、アプリデータ(スペースID、連携先アプリID、フィールドコード等)とアプリ処理情報53をアプリデータ管理部41から取得する。
S195:ファクシミリ処理部25は、図8に示したように、取得したアプリデータ(連携先アプリID,フィールドコード)と受信したファクシミリの送信元のFAX番号をアプリ処理情報のパラメータに対応付けて設定する。
S196:ファクシミリ処理部25は、機器20の第二通信部21を介して入出力処理部48に、ファクシミリで受信した画像データ、パラメータに設定された連携先アプリID,フィールドコード及びFAX番号を入出力処理部48に送信し、連携元アプリの実行を要求する。第二通信部21は外部サービスシステムへのデータ(画像データ)と付随情報(FAX番号)の保存を要求する。
S197、S198:入出力処理部48は認証処理部51を介して、連携元アプリ設定画面のユーザ名選択欄332に設定された管理者の認証情報をユーザ管理部44から取得する。管理者についてはアプリデータに設定されている。すなわち、共有アプリなので管理者の認証情報が使用される。
S199:入出力処理部48は外部サービス処理部52に画像データ、認証情報、パラメータに設定された連携先アプリID,フィールドコード及びFAX番号を送信する。
S200:外部サービス処理部52は、認証情報で外部サービスシステム40の認証を受け、アプリ処理情報のパラメータに設定された連携先アプリID、フィールドコード、FAX番号、及び、画像データを外部サービスシステム40に送信する。
このように、機器20は画像データとFAX番号を外部サービスシステムのフィールドに登録できる。
なお、図46では、ステップS194で機器20がアプリデータ(スペースID、連携先アプリID、フィールドコード等)を取得しているが、必ずしも取得しないでよい。この場合、ファクシミリの受信に関する連携元アプリの連携先アプリIDが情報処理システム10に送信されると、情報処理システム10がアプリデータに基づいて連携先アプリID等を特定できる。
<<特定のFAX番号からのみの画像データと画像データ以外のデータを機器が外部サービスシステムに送信する>>
特定の送信元のFAX番号や特定の電子メールの送信元からのみの画像データ等を外部サービスシステム40に登録する方法について説明する。
図47は端末装置30が表示する連携元アプリ設定画面430の一例である。この連携元アプリ設定画面430は機器20が外部サービスシステム40に登録するFAX番号のホワイトリスト(リストに登録されている送信元のデータを外部サービスシステムに登録する)である。ホワイトリストはアプリデータ記憶部13に保存される。
ファクシミリ処理部25は、ファクシミリを受信した場合、情報処理システム10からアプリデータを受信して、ホワイトリストの値であれば以降の処理を実行し、なければ登録しないという処理が可能になる。こうすることで、重要な送信元から受信される画像データのみを登録できる。
あるいは、ホワイトリストに登録されているFAX番号かどうかをコンポーネント18が判断してもよい。図48は、特定のFAX番号からのみの画像データ等を外部サービスシステム40に登録するアプリ処理情報を模式的に示す。判断用のコンポーネント18である判断部55がアプリ処理情報のパラメータを解析する。すなわち、ホワイトリストを参照して、アプリ処理情報のパラメータに設定されているFAX番号がホワイトリストに登録されているか否かを判断する。登録されている場合は、外部サービス処理部52が外部サービスシステム40に登録するが、登録されていない場合は、例えばメール送信コンポーネント432がメール送信を行い、登録はしない。
このように、FAXの送信元やメールの送信元に応じてアプリ処理情報を分岐させることができる。電子メールの送信元についても同様に処理できる。また、ファクシミリで受信した画像データのOCR結果に含まれる文字、又は、電子メールに含まれる文字(件名、本文)をホワイトリストと比較して同様に処理してもよい。
また、図48では単に画像データの保存の有無を切り替えているが、ファクシミリで受信した画像データのOCR結果に含まれる文字、又は、電子メールに含まれる文字に処理内容を対応付けておき、所定の処理を実行することもできる。また、ホワイトリストはブラックリスト(リストに登録されている送信元のデータを外部サービスシステムに登録しない)でもよい。
図49は、ホワイトリストに基づいて、機器20がファクシミリを受信し画像データと画像データ以外のデータを外部サービスシステム40のフィールドに登録する手順を示すシーケンス図の一例である。図49の説明では主に図46との相違を説明する。
S196:入出力処理部48にはアプリデータに含まれるホワイトリストが送信される。
S198-2:入出力処理部48は、FAX番号とホワイトリストを指定して、外部サービスシステム40に登録するか否かを判断部55に要求する。判断部55が登録すると判断した場合、ステップS200が実行される。
<主な効果>
以上説明したように、本実施形態のサービス提供システム100は、情報処理システム10が外部サービスシステム40と連携するための設定(連携情報)を連携元アプリ設定画面から受け付け、情報処理システム10が機器20から連携元アプリの実行要求を受け付けた場合、連携元アプリ設定画面で受け付けた設定に応じて、外部サービスシステム40の特定の連携先アプリと連携することができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、図5などの構成例は、端末装置30、機器20、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、機器20、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば図24等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。