(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023003560
(43)【公開日】2023-01-17
(54)【発明の名称】サービス提供システム、情報処理システム、設定方法、プログラム
(51)【国際特許分類】
G06F 9/44 20180101AFI20230110BHJP
G06Q 50/10 20120101ALI20230110BHJP
【FI】
G06F9/44
G06Q50/10
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021104702
(22)【出願日】2021-06-24
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】柏原 弘
【テーマコード(参考)】
5B376
5L049
【Fターム(参考)】
5B376AC03
5B376AE44
5B376FA15
5B376FA17
5L049CC11
(57)【要約】
【課題】アプリケーションの設定画面に、外部サービスシステムに保存されるデータのデータ形式を表示すること。
【解決手段】情報処理システム10で動作する第二のアプリケーションが外部サービスシステム40で動作する第一のアプリケーションに関するデータを前記外部サービスシステムに保存するサービス提供システム100であって、前記情報処理システムは、前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供する設定受付部と、前記データが前記フィールドに保存される際のデータ形式を端末装置に送信する第一通信部と、を有し、前記端末装置は、前記データが前記フィールドで保存される際のデータ形式を前記設定画面に表示する表示制御部を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理システムで動作する第二のアプリケーションが外部サービスシステムで動作する第一のアプリケーションに関するデータを前記外部サービスシステムに保存するサービス提供システムであって、
前記情報処理システムは、
前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供する設定受付部と、
前記データが前記フィールドに保存される際のデータ形式を端末装置に送信する第一通信部と、を有し
前記端末装置は、
前記データが前記フィールドで保存される際のデータ形式を前記設定画面に表示する表示制御部を有するサービス提供システム。
【請求項2】
前記第一のアプリケーションは複数のフィールドを有し、
前記表示制御部は、前記第一のアプリケーションに関するデータの前記フィールドごとに、前記外部サービスシステムで保存される際のデータ形式のリストを前記設定画面に表示する請求項1に記載のサービス提供システム。
【請求項3】
前記情報処理システムは、前記第一のアプリケーションに関するデータのデータ形式を前記外部サービスシステムから取得する外部サービス処理部を有し、
前記第一通信部は、前記外部サービスシステムから取得した前記第一のアプリケーションに関するデータのデータ形式を、前記データが前記外部サービスシステムで保存される際のデータ形式のリストとして前記端末装置に送信する請求項1又は2に記載のサービス提供システム。
【請求項4】
前記表示制御部は、前記データ形式を前記設定画面に表示させるための呼び出しボタンを表示し、
前記呼び出しボタンが押下された場合、前記データ形式を前記設定画面に表示する請求項1~3のいずれか1項に記載のサービス提供システム。
【請求項5】
前記第一通信部は、前記データ形式のリストと共に、前記第一のアプリケーションに関するデータのフィールドの識別情報を前記端末装置に送信し、
前記端末装置は、
表示した前記データ形式の選択を受け付ける操作受付部と、
前記操作受付部が選択を受け付けた前記データ形式に対応する前記フィールドの識別情報を前記情報処理システムに送信する第二通信部と、をし、
前記情報処理システムは、前記フィールドと前記フィールドの識別情報を対応付けて保持する請求項1~4のいずれか1項に記載のサービス提供システム。
【請求項6】
前記情報処理システムは、
前記第一のアプリケーションに関するデータが前記外部サービスシステムで保存される際の第一のデータ形式を予め保持しており、
前記端末装置が表示する前記設定画面で表示され、ユーザから選択を受け付けた第二のデータ形式と前記第一のデータ形式が一致するか否かを判断する判断部を有し、
前記判断部が前記第一のデータ形式と前記第二のデータ形式が一致しないと判断した場合、前記第一通信部は前記第一のデータ形式と前記第二のデータ形式が一致しない旨を前記端末装置に送信し、
前記表示制御部は、前記第一のデータ形式と前記第二のデータ形式が一致しない旨を表示する請求項5に記載のサービス提供システム。
【請求項7】
前記表示制御部は、ユーザから選択を受け付けた前記第二のデータ形式を修正するか否かを受け付けるボタンを表示し、
前記第二のデータ形式を修正しないボタンが押下された場合、前記情報処理システムは、前記情報処理システムで前記フィールドと前記フィールドの識別情報を対応付けて保持する請求項6に記載のサービス提供システム。
【請求項8】
前記表示制御部は、前記第一のデータ形式を前記フィールドに対応付けて前記設定画面に表示する請求項6又は7に記載のサービス提供システム。
【請求項9】
前記第一のアプリケーションは電子メールを保存するデータベースであり、前記フィールドは電子メールの項目に対応しており、
前記情報処理システムは、
予め定められた宛先のメールアドレスを有する電子メールに応じて前記第二のアプリケーションを実行し、
前記第二のアプリケーションは、前記フィールドの識別情報を指定して電子メールの各項目を保存することを前記第一のアプリケーションに要求する請求項5に記載のサービス提供システム。
【請求項10】
情報処理システムで動作する第二のアプリケーションが外部サービスシステムで動作する第一のアプリケーションに関するデータを前記外部サービスシステムに保存する情報処理システムであって、
前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供する設定受付部と、
前記データが前記フィールドに保存される際のデータ形式を端末装置に送信する第一通信部と、を有する情報処理システム。
【請求項11】
情報処理システムで動作する第二のアプリケーションが外部サービスシステムで動作する第一のアプリケーションに関するデータを前記外部サービスシステムに保存するサービス提供システムが行う設定方法であって、
前記情報処理システムは、
前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供するステップと、
前記データが前記フィールドに保存される際のデータ形式を端末装置に送信するステップと、を有し
前記端末装置は、
前記データが前記フィールドで保存される際のデータ形式を前記設定画面に表示するステップと有する設定方法。
【請求項12】
情報処理システムで動作する第二のアプリケーションが外部サービスシステムで動作する第一のアプリケーションに関するデータを前記外部サービスシステムに保存する情報処理システムを、
前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供する設定受付部と、
前記データが前記フィールドに保存される際のデータ形式を端末装置に送信する第一通信部、として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス提供システム、情報処理システム、設定方法、及び、プログラムに関する。
【背景技術】
【0002】
ネットワーク上で提供されるサービスを端末装置がWebブラウザ等で利用するWebアプリケーションと呼ばれる技術が知られている。管理者等は端末装置が表示する設定画面から、Webアプリケーションに必要な設定を行うことができる。Webアプリケーションは各種のデータを外部サービスシステムに保存したり、処理を要求したりすることができる。
【0003】
このようなサービス提供システムでは、ユーザが機器からサービスを利用する際の負担を低減するため、機器の利用に関して予めユーザが設定しておくことができる(例えば、特許文献1参照。)。特許文献1には、アプリケーション設定画面に対しユーザが設定した印刷設定のデフォルト値等を情報処理システムが受け付ける技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術は、アプリケーションの設定画面において、外部サービスシステムに保存されるデータのデータ形式を表示しないという問題があった。
【0005】
本発明は、上記課題に鑑み、アプリケーションの設定画面に、外部サービスシステムに保存されるデータのデータ形式を表示するサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、情報処理システムで動作する第二のアプリケーションを外部サービスシステムで動作する第一のアプリケーションと連携させ、前記第一のアプリケーションに関するデータを外部サービスシステムに保存する情報処理システムであって、前記情報処理システムは、前記第一のアプリケーションのフィールドに保存するデータの設定を受け付ける設定画面を端末装置に提供する設定受付部と、前記データが前記フィールドに保存される際のデータ形式を端末装置に送信する第一通信部と、を有し、前記端末装置は、前記データが前記フィールドで保存される際のデータ形式を前記設定画面に表示する表示制御部を有する。
【発明の効果】
【0007】
アプリケーションの設定画面に、外部サービスシステムに保存されるデータのデータ形式を表示することができる。
【図面の簡単な説明】
【0008】
【
図1】サービス提供システムの全体的な動作を説明する図である。
【
図2】サービス提供システムの一例のシステム構成を示す図である。
【
図3】情報処理システム及び端末装置の一例のハードウェア構成を示す図である。
【
図4】サービス提供システムの一例の機能構成を示す図である。
【
図5】外部サービスシステムの一例の機能構成を示す図である。
【
図6】アプリ処理情報記憶部に記憶されているアプリ処理情報の一例を示す図である。
【
図7】端末装置が表示する連携先アプリ登録画面(その1)の一例を示す図である。
【
図8】端末装置が表示する連携先アプリ登録画面(その2)の一例を示す図である。
【
図9】作業項目が表示された端末装置が表示する連携先アプリ登録画面(その3)の一例を示す図である。
【
図10】メール件名というフォームの詳細が設定される詳細ポップアップ画面の一例を示す図である。
【
図11】端末装置が表示する連携先アプリ一覧画面の一例を示す図である。
【
図12】端末装置が表示する初期画面の一例を示す図である。
【
図13】端末装置が表示するサービス選択画面の一例を示す図である。
【
図14】端末装置が表示する連携元アプリ選択画面の一例を示す図である。
【
図15】「メール受信登録」の連携元アプリが選択された場合に端末装置が表示する連携元アプリ設定画面(その1)の一例を示す図である。
【
図16】「メール受信登録」の連携元アプリが選択された場合に端末装置が表示する連携元アプリ設定画面(その1)の一例を示す図である。
【
図17】連携元アプリ設定画面(その2)が有する各項目と各項目と属性情報の一例を示す図である。
【
図18A】管理者が連携元アプリ設定画面(その1)、連携元アプリ設定画面(その2)から連携元アプリの項目名とフィールドコードと対応付ける手順を示すシーケンス図の一例である。
【
図18B】管理者が連携元アプリ設定画面(その1)、連携元アプリ設定画面(その2)から連携元アプリの項目名とフィールドコードと対応付ける手順を示すシーケンス図の一例である。
【
図19】端末装置が表示する連携先アプリのアプリIDのリストの一例を示す図である。
【
図20】端末装置が表示するアプリ情報のイメージ図の一例を示す図である。
【
図21】端末装置が表示する問い合わせダイアログの一例を示す図である。
【
図22】各項目の属性情報を表示する連携元アプリ設定画面(その2)の一例を示す図である。
【
図23】受信メール登録という連携元アプリが、受信した電子メールを連携先アプリに保存する手順を示すシーケンス図の一例である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、サービス提供システムとサービス提供システムが実行する設定方法について図面を参照しながら詳細に説明する。
【0010】
<比較技術の補足>
Webアプリケーションには、受信した電子メールを連携先の外部サービスシステムに保存するものがある。例えば、発注を電子メールで受け付ける企業では電子メールが紛失等しないようにデータベース化する場合がある。このような企業は本実施形態のWebアプリケーションを利用して、顧客にある決まったメールアドレスを宛先に電子メールで発注してもらう。Webアプリケーションは決まったメールアドレスの電子メールを受信すると、外部サービスシステムに電子メールを保存する。このような処理により、企業としては電子メールをデータベース化できるので、受注以降の進捗なども管理しやすくなる。
【0011】
ところで、電子メールには、テキストメールとHTMLメールの2種類があり、メールソフトは、通常、両方を受信できる。テキストメールは、テキストデータのみを有する電子メールであり、HTMLメールは、リッチテキストデータと画像部分を有している。
【0012】
一方、外部サービスシステムの入力項目(以下、フィールドという)には、テキストデータ(以下、単にテキストという)のみ登録できるフィールドとリッチテキストが保管できるフィールドがある。Webアプリケーションが電子メールを外部サービスシステムのフィールドに保存する際、例えば、HTMLメールの画像を外部サービスシステムのテキストのみ登録できるフィールドに保管すると、文字化け等が発生する場合がある。ユーザが後で電子メールを表示させると解読できない情報として表示される。同様のことは、フィールドが対応する各種のデータ形式と、外部サービスシステムに保存されるデータのデータ形式の齟齬によって生じうる。
【0013】
なお、メールソフトで受信した元の電子メールは、データ容量を低減するべく、削除されるので、再度、ユーザが電子メールを外部サービスシステムのフィールドに保存し直すことができない。このため、Webアプリケーションが外部サービスシステムに保存する際に、適正なデータ形式で保存することが好ましい。
【0014】
<本実施形態の概略>
そこで、本実施形態では、外部サービスシステムと連携するWebアプリケーションの設定画面(アプリケーション設定サイト)において、端末装置が、外部サービスから取得された、外部サービスシステムの各入力項目のデータ形式(後述する各フィールドの属性情報)を表示する。
【0015】
図1は、サービス提供システム100の全体的な動作を説明する図である。
図1(a)はサービス提供システム100を利用するための連携元アプリケーション(第二のアプリケーションの一例。以下、連携元アプリという)及び連携先アプリケーション(第一のアプリケーションの一例。以下、連携先アプリという)の設定を管理者等が行う準備段階の動作を示しており、
図1(b)は連携元アプリをユーザが実行し連携元アプリが連携先アプリと連携する実行段階の動作を示している。
【0016】
なお、以下では、「ユーザ」という場合、一般ユーザを意味し、管理者という場合、テナントの管理者をいう。テナントとは、サービスの提供者(本実施形態では情報処理システム)からサービスを受けることを契約した企業や組織等である。ユーザは一例としてテナントに所属しているが、ユーザ個人でサービスに加入してもよい。個人でサービスに加入した場合、ユーザ自身が連携元アプリ設定画面から連携元アプリと連携先アプリを対応付ける設定の入力を行う。
【0017】
管理者が行う処理については、サービス提供システム100が提供するアプリケーションの販売を行うベンダーやディーラー等の担当者が一部の処理を行うこともできる。また、管理者が行う処理をユーザが行うことが可能な場合もある。
【0018】
(1) 管理者は端末装置30を外部サービスシステム40と通信させ、外部サービスシステム40が提供する連携先アプリ登録画面を表示する。外部サービスシステム40はWebアプリケーション(以下、Webアプリという)の形態で利用されるサービスを提供する。このサービスが提供する機能の全体的な内容は決まっているが、管理者はサービスをカスタマイズすることで所望の連携先アプリとして利用できる。つまりサービスの機能の一部(又は全体)が連携先アプリとなる。
【0019】
(2) 管理者は外部サービスシステム40が用意するフォーム(機能を部品化したもの)を組み合わせて、テナントの業務に適した連携先アプリを登録する。管理者がフォームを組み合わせ必要な設定を行うと、端末装置30が外部サービスシステム40に連携先アプリを登録する。
【0020】
(3) 外部サービスシステム40は連携先アプリを識別する連携先アプリID(第二のアプリケーションの識別情報の一例)を連携先アプリに付与し、端末装置30に送信する。端末装置30は連携先アプリIDを表示するので、管理者は連携先アプリIDを把握することができる。なお、後述する実施例では、管理者は情報処理システム10を経由して端末装置30に連携先アプリIDを表示させることができる。また、この時点で連携先アプリのフィールドコードが設定される。フィールドコードは連携先アプリがデータベースを操作するアプリケーションの場合のフィールドを識別する識別情報である。
【0021】
(4) 次に、管理者は端末装置30を操作して、端末装置30を情報処理システム10と通信させ、端末装置30は情報処理システム10が提供する連携元アプリ設定画面を表示する。連携元アプリ設定画面では、各フィールドのデータ形式が表示される。情報処理システム10は各種の連携元アプリの登録や実行を受け付けるサーバである。情報処理システム10は、外部サービスシステム40の連携先アプリと連携してユーザにサービスを提供する。情報処理システム10は様々な外部サービスシステム40と連携でき、更に、ある外部サービスシステム40が提供する種々の連携先アプリと連携することで、ユーザに多様なサービスを提供できるようになる。
図1(b)で説明するように、情報処理システム10のサービスは画像形成装置などの機器や端末装置30から連携元アプリとして利用される。
【0022】
(5) 管理者は連携元アプリ設定画面で連携先アプリIDを含む連携情報を設定する。連携情報は、情報処理システム10が、外部サービスシステム40に登録された連携先アプリと連携するための情報である。連携先アプリIDの他、フィールドコードと連携元アプリの各項目のラベルとの対応も設定される。
【0023】
情報処理システム10は、外部サービスシステムの各フィールドのデータ形式を外部サービスシステム40から取得して、連携元アプリ設定画面に入力可能なデータ形式を表示する。例えば、電子メールが保存される連携元アプリでは、HTML、リッチテキスト、又は、テキスト等のデータ形式が表示される。これにより、管理者は、連携元アプリが外部サービスシステムに送信する電子データが、外部サービスシステム40において適切なデータ形式のフィールドに保存されるように設定できる。
【0024】
端末装置30は連携情報を情報処理システム10に送信する。これにより情報処理システム10では連携先アプリと連携する連携元アプリが対応付けられる。
【0025】
(6) 以上の処理で、情報処理システム10は連携先アプリIDで特定される外部サービスシステム40の連携先アプリと連携できる状態となる。また、情報処理システム10はフィールドコードにより外部サービスシステム40の連携先アプリの特定のフィールドにデータを保存できる。
【0026】
(7) メールサーバ20に電子メールが到達する。情報処理システム10はメールサーバ20から電子メールを取得する。
【0027】
(8) 宛先のメールアドレスは連携元アプリと対応付けられており、この連携元アプリが電子メールの各項目とフィールドコードを対応付けて、外部サービスシステム40に送信する。
【0028】
(9) 外部サービスシステム40は、アプリIDで特定される連携先アプリの各フィールドをフィールドコードで特定して電子メールの各項目のデータを保存する。
【0029】
このように、本実施形態のサービス提供システムは、外部サービスシステムの各フィールドのデータ形式を外部サービスシステム40から取得して、連携元アプリ設定画面に入力可能なデータ形式を表示する。これにより、管理者は、連携元アプリが外部サービスシステム40に送信する電子データが、外部サービスシステム40において適切なデータ形式のフィールドに保存されるように設定できる。
【0030】
<用語について>
連携とは、二者以上が協力して処理を実行することをいう。本実施形態では、情報処理システム10の連携元アプリが外部サービスシステム40の連携先アプリと協働して、情報処理システム10がサービスを提供することをいう。
【0031】
連携情報は、情報処理システム10が外部サービスシステム40と連携するための情報である。本実施形態では外部サービスシステム40が提供するサービスを利用するための連携先アプリIDを例にする。連携情報には、更にフィールドコード(フィールドの識別情報)、又は、レコードID(レコードの識別情報)が含まれる場合がある。なお、フィールドコードはデータベースのカラムを指定するカラムIDということもできる。
【0032】
フィールドとは連携先アプリが保持する表形式のデータの列を示すもので、
図7の表の各列を示す。
【0033】
レコードとは連携先アプリが保持する表形式のデータの行を示すもので、
図7の表の各行を示す。
【0034】
連携元アプリは、情報処理システム10がサービスを提供するためのアプリケーションである。連携元アプリはWebアプリに限られず、ネイティブアプリとして提供されてもよい。
【0035】
情報処理システム10はサービスを提供するが、サービスを提供する手段の1つが連携元アプリの実行である。連携元アプリの実行において外部サービスシステム40が提供する連携先アプリと連携する場合がある(しない場合もある)。連携元アプリによるサービスは一連の処理を順番に実行する形態により実現されるため、連携元アプリには一連の処理の内容と順番が定義される。
【0036】
外部サービスシステム40もサービスを提供するが、サービスを提供する手段の1つが連携先アプリの実行である。外部サービスシステム40は情報処理システム10と連携しなくてもユーザにサービスを提供できるが、この場合、外部サービスシステム40が提供する連携先アプリはサーバとクライアントが通信して提供されるWebアプリである。本実施形態のサービス提供システム100は、電子メールを受信した情報処理システム10を経由して電子メールに対応する外部サービスシステム40の連携先アプリを、ユーザが利用することを可能にする。
【0037】
外部サービスシステム40のサービスは連携先アプリ(アプリケーション)と呼ばれる他、プログラム、ソフトウェア、又は、サイト等と呼ばれてもよい。すなわち、連携先アプリはアプリケーションと呼ばれていなくても外部サービスシステム40のサービスに関するものであればよい。
【0038】
データベースとは、整理された情報のあつまりである。情報の蓄積、検索、更新などが可能になっている。データベースにはリレーショナル型データベース、階層型データベース、又は、ネットワーク型データベースの種類があるが、項目に値が格納されるデータベースであればよい。本実施形態では項目をフィールドという用語で説明する。データが保存される項目に関する設定とは、データが保存されるフィールドが設定されることをいう。
【0039】
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、
図2を参照しながら説明する。
図2は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
【0040】
図2に示すサービス提供システム100は情報処理システム10を含み、情報処理システム10がインターネット等の広域的なネットワークN1と通信可能に接続されている。サービス提供システム100は外部システムである外部サービスシステム40と通信する。なお、本実施形態では、画像形成装置などの機器は使用されないが、Webアプリケーションによっては機器が使用されるものがある。
【0041】
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つの連携元アプリにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
【0042】
端末装置30は、Webブラウザが動作する情報処理装置である。端末装置30は、例えば、管理者又はユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。端末装置30はネットワークN2に接続されている。管理者又はユーザは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、連携先アプリ又は連携元アプリの設定を行うことができる。
【0043】
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置301」、「端末装置302」等と添え字を用いて記載する。
【0044】
外部サービスシステム40は、ネットワークN1を介して連携先アプリの実行によるサービスを提供する一台以上の情報処理装置である。連携先アプリの実行によりデータの管理又は処理が行われ、データそのものや処理結果がサービスとなる。
【0045】
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。本実施形態ではサービスの一例として表形式のデータベースについて説明する。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
【0046】
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム401」を外部サービスシステムA、「外部サービスシステム402」を外部サービスシステムB等と、記載する。
【0047】
<ハードウェア構成例>
図3を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
【0048】
<<情報処理システム及び端末装置>>
図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を備えている。
【0049】
これらのうち、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等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0050】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWは、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0051】
<機能について>
次に、本実施形態に係るサービス提供システム100の機能構成について、
図4を参照しながら説明する。
図4は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
【0052】
<<端末装置>>
端末装置30は、第二通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザでもよいし、専用のソフトウェア(ネイティブアプリ)でもよい。
【0053】
第二通信部31は、情報処理システム10又は外部サービスシステム40との間で各種の情報を送受信する。本実施形態では各種の画面情報等を情報処理システム10又は外部サービスシステム40から受信し、管理者又はユーザが設定した情報を情報処理システム10又は外部サービスシステム40に送信する。
【0054】
表示制御部32は各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面におけるユーザの各種操作を受け付ける。
【0055】
<<情報処理システム>>
情報処理システム10は、アプリデータサービス部11、設定受付部12、認証サービス部14、Webサービス処理部15、入出力サービス部16、コンポーネント18、及び、通信部19を有する。これら各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0056】
通信部19は、端末装置30との間で各種の情報を送受信する(第一通信部の一例)。設定受付部12は、端末装置30に設定サイトを提供し、設定サイトに対する設定を受け付ける。サイトとは、WebページやWebアプリ(例えば、連携元アプリ設定画面)をいう場合もあるし、端末装置30にWebページやWebアプリを提供するサーバ側のシステムをいう場合もある。
【0057】
設定受付部12は端末画面提供部42を有しており、端末画面提供部42は連携元アプリの実行に必要な情報を管理者に設定させる連携元アプリ設定画面等を提供する。なお、端末画面提供部42は、端末装置30からのHTTPリクエストに対しHTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により記述された画面情報を生成し、画面情報をHTTPレスポンスとして端末装置30に送信する。
【0058】
アプリデータサービス部11はアプリデータ管理部41を有している。アプリデータ管理部41は、購入された連携元アプリのアプリデータ43をテナントごとに管理する。アプリデータ43は、上記の連携情報など、主に連携先アプリと対応付けるためのデータである。なお、アプリデータ43はアプリデータ記憶部13に記憶される。
【0059】
Webサービス処理部15は機器に対し画面情報を提供したり、機器から連携元アプリの実行を受け付けたりする。本実施形態では機器は省略されている。Webサービス処理部15は連携元アプリ実行部46と機器画面提供部47を有している。連携元アプリ実行部46は端末装置30や機器からの連携元アプリの実行を受け付け、アプリ処理情報53に基づいて、入出力処理部48に対し連携元アプリの処理を要求する。機器画面提供部47は画面情報54を使って、連携元アプリ一覧画面等の画面情報を端末装置30に提供する。
【0060】
入出力サービス部16は認証サービス部14やコンポーネント18を使用してデータの入出力を行う。入出力サービス部16は入出力処理部48、アプリ管理部49及び判断部50を有する。入出力処理部48は連携元アプリ実行部46から要求された連携元アプリを実行する。入出力処理部48は、連携元アプリの実行時に、アプリ処理情報53を参照し連携元アプリに含まれる各処理をコンポーネント18に要求する。
【0061】
アプリ管理部49は、アプリ処理情報記憶部17に記憶されている、連携元アプリのアプリ処理情報53や画面情報54を管理する。アプリ処理情報53には連携元アプリがどの処理をどの順番で行うか(例えば、OCRの後に外部サービスシステム40に処理要求する等)が設定されている。画面情報54は連携元アプリ一覧画面、各アプリの設定画面など、端末装置30が表示する画面の情報である。アプリ処理情報記憶部17には連携元アプリごとにアプリ処理情報53及び画面情報54が記憶されている。判断部50は各種の判断を行う。
【0062】
認証サービス部14はユーザ(管理者を含む)、及び、機器の認証に関する処理を行う。認証サービス部14はユーザ管理部44とデバイス管理部45を有している。ユーザ管理部44はユーザに関する情報を管理する。ユーザ管理部44は、例えば、ユーザ名やパスワード等の認証情報を保持する。また、認証情報には情報処理システム10のものと外部サービスシステム40のものとがある。デバイス管理部45は、テナントに対応付けられている画像形成装置などの機器を管理する。
【0063】
コンポーネント18は各処理を実際に行う個別の機能の総称である。コンポーネント18内の1つのブロックが1つの処理に対応する。コンポーネント18は例えば、認証処理部51、外部サービス処理部52、及びメール受信部55を有している。認証処理部51は認証サービス部14に対して認証に関する処理を依頼するコンポーネント18である。外部サービス処理部52は、外部サービスシステム40に対して処理要求を依頼するコンポーネント18である。つまり、外部サービス処理部52は外部サービスシステム40と連携するための機能である。外部サービス処理部52は外部サービスシステム40の種類ごとに用意される。メール受信部55はメールサーバ20に送信された電子メールを受信する。なお、コンポーネント18は図示する以外に、OCR、翻訳等のコンポーネントを有していてよい。
【0064】
【表1】
表1は、アプリ処理情報記憶部17が保持する情報の一例を示す。アプリ処理情報記憶部17は外部サービスシステム40に対応付けられており、連携元アプリID(第一のアプリケーションの識別情報の一例)、アプリ名、画面情報、アプリ処理情報、及び、共有アプリの各項目を有している。連携元アプリIDは連携元アプリを識別する識別情報である。アプリ名は管理者が付与した連携元アプリの名称である。また、連携元アプリのアイコンや設定画面を端末装置30や機器が表示する際に使用される画面情報54(HTML等で記述された)が連携元アプリに対応付けられる。連携元アプリには一連の処理の内容と順番(処理フロー)が定義されるので、各連携元アプリにはアプリ処理情報53が対応付けられる。共有アプリとは、一般の連携元アプリがユーザごとに利用権限が与えられるのに対し、共有アプリはテナントのユーザが共通に使えるアプリであることを示す。表1ではメール受信登録とFAX受信登録が共有アプリである。これらは各ユーザが利用するためである。
【0065】
アプリ管理部49は、端末装置30から例えば「外部サービスシステムA」を指定されるとアプリ処理情報記憶部17から「外部サービスシステムA」に対応付けられている連携元アプリの一覧を端末装置30に提供する。また、連携元アプリの一覧から連携元アプリが指定されると、連携元アプリに対応付けられている画面情報とアプリ処理情報を特定する。
【0066】
【表2】
表2はユーザ管理部44が管理するユーザに関する情報の一例を示す。まず、表2(a)は、テナントとアプリの関係を説明している。すなわち、テナントは任意にアプリを購入でき、表2(a)ではテナントが有するアプリに「○」が表示されている。各テナント内では管理者がテナント内のユーザにライセンスを付与する。このライセンスはユーザが連携元アプリ又は連携先アプリを使用する権限を表す(契約状況)。
【0067】
表2(b)は、あるテナントのユーザの認証情報及びユーザがライセンスを有する連携元アプリを示す。ユーザに関する情報として、表2(b)は、情報処理システム10におけるユーザID、ユーザ名、メールアドレス、パスワード、利用できるアプリ、外部サービスシステムの認証情報、及び、連携設定の各項目を有している。このユーザには管理者も含まれる。
【0068】
・ユーザID、ユーザ名又はメールアドレスの少なくとも1つと、パスワードは、ユーザが情報処理システム10にログインするための認証情報である。
【0069】
・利用できるアプリはこのユーザにライセンスが与えられているアプリである。このアプリには連携元アプリが含まれる。利用できるアプリには個人アプリと共有アプリがある。個人アプリも共有アプリも複数のユーザにより使用されるが、個人アプリは個人のユーザが登録した外部サービスの認証情報を使用し、共有アプリは複数のユーザが共有で外部サービスの認証情報を使用する。表2では、app112が共有アプリである。その他は個人アプリである。個人アプリの場合、ユーザごとに外部サービスシステム40の認証情報の登録が必要である。
【0070】
・外部サービスシステム40の認証情報は、ユーザが外部サービスシステム40にログインするための認証情報である。外部サービスシステム40ごとに認証情報が異なっている場合がある。このように、サービス提供システム100の各ユーザと、外部サービスシステム40のユーザとが一対一で関連付けられている。なお、必ずしも一対一で紐付けている必要はなく、同じ外部サービスシステム40を利用する連携元アプリが複数存在する場合、アプリごとに異なる外部サービスシステム40のユーザを対応付けても良い。したがって、情報処理システム10は、端末装置30又は機器から取得した情報処理システム10のユーザID、パスワード等のユーザ情報に応じて、連携先の外部サービスシステム40のユーザ(ユーザ識別情報等)を特定する。
【0071】
・連携設定の項目は、ユーザが外部サービスシステム40との連携を希望し、外部サービスシステム40の認証情報でログインできることが確認できた場合に「済み」となる。連携設定は、ユーザが外部サービスシステム40のアプリを実行できるかどうかの判断に使用される。なお、外部サービスシステム40の認証情報と連携設定の項目は、連携元アプリが外部サービスシステム40のアプリを連携先としない場合は設定が不要になる。
【0072】
また、認証情報は外部サービスシステム40の認証情報、又は、外部サービスシステムと連携するために必要な認証情報であればよい。認証情報はユーザIDやパスワード以外に、外部サービスシステム40との連携設定時に外部サービスシステム40から取得したトークン等でも良い。
【0073】
【表3】
表3は、アプリデータ記憶部13に記憶されているアプリデータの一例を示す。アプリデータは、外部サービスシステム40に対応付けて、連携元アプリID、連携先アプリID、スペースID、及び、連携元アプリ設定画面の各項目を有している。つまり、アプリデータは連携元アプリと連携先アプリを対応付ける。連携元アプリ設定画面の項目は連携元アプリが設定される上記の連携元アプリ設定画面の画面情報を指定する情報である。
【0074】
【表4】
表4は、連携元アプリの各項目のフィールドコード情報を示す。フィールドコード情報は表3のアプリデータに紐付いている。連携元アプリは、連携先アプリが項目別に保存する項目名と、項目の値又はフィールドコードと、を有している。これらは、管理者が連携元アプリ設定画面から設定できる。このフィールドコードは、連携先アプリに登録済みであり、連携元アプリ設定画面で管理者がフィールドコードを呼び出すと設定できる。
【0075】
また、表4は受信メール登録アプリなので、メール受信登録専用アドレスが登録されている。メール受信登録専用アドレスにより表4の連携元アプリが特定される。
【0076】
<<外部サービスシステム>>
図5は、外部サービスシステム40の一例の機能構成を示す図である。外部サービスシステム40は第四通信部61、アプリ決定部62、データ処理部63、及び、アプリ登録受付部64を有している。これら各機能部は、外部サービスシステム40にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
【0077】
第四通信部61は、情報処理システム10又は端末装置30との間で各種の情報を送受信する。本実施形態では、第四通信部61は、端末装置30から連携先アプリの登録に関する情報を受信し、情報処理システム10から電子メールと共に連携先アプリに対する処理要求を受信する。また、第四通信部61は、連携先アプリが処理するデータ(スペース一覧、連携先アプリ一覧、フィールド/フィールドコード一覧、レコード一覧、送信されたデータ等)などを情報処理システム10に送信することもできる。なお、第四通信部61が情報処理システム10と通信する場合は外部サービスシステム40のAPI(Application Interface)が利用される。
【0078】
アプリ登録受付部64は、連携先アプリ登録画面を端末装置30に提供し、連携先アプリ登録画面に管理者が設定した連携先アプリの登録や編集を受け付ける。管理者は情報処理システム10が提供するサービスをカスタマイズするだけで連携先アプリを登録できる。アプリ登録受付部64は重複しない連携先アプリIDを採番して連携先アプリに付与する。アプリ登録受付部64は、登録された連携先アプリに関する情報をアプリ情報記憶部65に保存する。
【0079】
アプリ決定部62は、情報処理システム10から送信された連携先アプリIDに基づいて、処理要求の対象である電子メール等を処理する連携先アプリを決定する。データ処理部63はアプリ決定部62が決定した連携先アプリが行う処理であり、連携先アプリに特有の処理内容でデータを処理する。メール受信登録アプリの場合は、連携先アプリIDとフィールドコードで特定されるフィールドに電子メールの各項目のデータを保存する。この他、例えば、連携先アプリが処理するデータ形式に変換すること、電子メールに何らかの属性を付与して管理した状態で格納すること、電子メールの添付ファイルに画像処理を行うこと、外部への転送、要求に対する提供などを行う。以下の実施形態では、表形式のデータベースを提供する連携先アプリについて説明する。データ形式の変換、管理、又は提供などが行われてよい。
【0080】
【表5】
表5は、外部サービスシステム40のアプリ情報記憶部65に保存されるアプリ情報の一例である。表5のアプリ情報はデータベース形式の連携先アプリに関するものなのでフィールド名のリストである。アプリ情報はスペースID、連携先アプリID及び連携先アプリ名に対応付けられている。スペースとはいくつかの連携先アプリをグループ化したものであり、スペースIDはその識別情報(グループの識別情報の一例)である。外部サービスシステム40によってはスペースIDがない場合がある。
【0081】
連携先アプリと連携元アプリのアプリ名は異なっていてもよいが、説明の便宜上、本実施形態では同じにした。
【0082】
表5では、フィールド名が、「送信元メールアドレスを登録するフィールドコード」、「受信日時を登録するフィールドコード」、「送信日時を登録するフィールドコード」、「メール件名を登録するフィールドコード」、「メール本文(HTML)を登録するフィールドコード」、「メール本文(テキスト)を登録するフィールドコード」、「添付ファイルを登録するフィールドコード」、「固定の文字列」となっているが、これらは管理者が登録したものであり、一例に過ぎない。
【0083】
各フィールドはフィールドコードを有する。フィールドコードはフィールドを識別する識別情報である。なお、フィールドコードがないフィールドがあってもよいが、この場合、フィールドを指定しての連携が困難になる。後述するようにフィールド名とフィールドコードは管理者が任意に設定できる。フィールドコードは外部サービスシステム40が採番してもよい。
【0084】
属性情報は、各フィールドのデータ形式である。後述する連携元アプリ設定画面でこの属性情報が表示され、管理者は属性情報を確認して、電子メールの各項目に適切なフィールドを選択できる。
【0085】
<アプリ処理情報>
次に、
図6を用いて、アプリ処理情報の詳細について説明する。
図6は、アプリ処理情報記憶部17に記憶されているアプリ処理情報の一例を示す図である。
【0086】
図6に示すアプリ処理情報53Aは、電子メールを「外部サービスシステムA」に処理要求する連携元アプリに関する情報である。
【0087】
アプリ処理情報53Aには、当該アプリ処理情報53Aの識別情報を示すフローID1201Aと、当該アプリ処理情報53Aの名称を示すフロー名1202Aと、一連の処理の処理内容を示すフロー詳細1203Aとが含まれる。フロー名1202Aは連携元アプリの名称を兼ねている。
【0088】
また、フロー詳細1203Aには、「外部サービスシステムA」に処理要求することを示す処理内容1223Aが含まれる。
【0089】
処理内容1223Aでは、「外部サービスシステムA」と連携した処理を実行するコンポーネント18のコンポーネントID「ExService_A」、処理要求を示すオペレーションID「processFile」、及びパラメータ「AppId」「FieldCode」「Value」が指定されている。「AppId」には連携先アプリIDが格納され、「FieldCode」にはフィールドコードが格納され、「Value」にはフィールドの値が格納される。なお、図示したパラメータは一部であって、アプリ処理情報はより多くのパラメータを含みうる。
【0090】
このように、本実施形態に係る情報処理システム10は、アプリ処理情報のパラメータで連携情報などを外部サービスシステム40に送信して、連携先アプリと連携できる。
【0091】
<外部サービスシステムへの連携先アプリの登録における画面例>
以下では、ユーザが外部サービスシステム40に連携先アプリを登録する際に外部サービスシステム40から取得した画面情報で端末装置30が表示する画面例を説明する。外部サービスシステム40へのアプリ登録は、
図1で説明した準備段階の1つのフェーズである。
【0092】
管理者が新たに連携先アプリを登録する場合、端末装置30を外部サービスシステム40に接続させ、連携先アプリ登録画面を表示させる。以下の
図7~
図11の画面は端末装置30がHTTPリクエストを外部サービスシステム40に送信し、外部サービスシステム40がHTTPレスポンスで送信した画面情報を端末装置30が表示したものである。
【0093】
図7は、端末装置30が表示する連携先アプリ登録画面(その1)200の一例である。
図7の列の1番上にフィールドを識別するための、フィールド名が記載されている。例えば
図7の「送信元メールアドレス」等をフィールド名と呼ぶ。
【0094】
図7では、説明の便宜上、すでに情報処理システム10に登録されている連携先アプリのフィールド名が表示されている。新規に設定する場合はフィールド名が表示されないが、
図8以降の連携先アプリの登録方法は同じである。
【0095】
本実施形態ではアプリID212がURLに表示される。
https://company.ExService_A.com/2575/
この「2575」がアプリID212である。
【0096】
連携先アプリ登録画面(その1)200は、レコード番号201に対応付けて、表5のアプリ情報に示したフィールド名(「送信元メールアドレスを登録するフィールドコード」202、「受信日時を登録するフィールドコード」203、「送信日時を登録するフィールドコード」204、「メール件名を登録するフィールドコード」205、「メール本文(HTML)を登録するフィールドコード」206、「メール本文(テキスト)を登録するフィールドコード」207、「添付ファイルを登録するフィールドコード」208、「固定の文字列」209の各フィールドを表示し、フィールドごとに値が設定されている。1行をレコード(保存場所の一例)といいレコード番号が付されている。ユーザは連携先アプリ登録画面(その1)200によりフィールドの値を表示したり、編集したりすることができる。
【0097】
補足すると、各レコードには、権限を持つユーザを設定することが可能である。また、権限の種類には例えば閲覧権限、編集権限、及び、削除権限などがある。編集権限があれば、レコードやフィールドに対しユーザが画像コードや文字列を登録したり、置き換えたりすることが可能である。権限情報214には閲覧権限、編集権限及び削除権限に対応づけてこの権限を有するユーザ名(識別情報)が登録されている。
図7では権限情報214は連携先アプリのレコードごとに登録可能であるが、フィールドごとに権限情報の設定が可能でもよい。
【0098】
連携先アプリ登録画面(その1)200は設定ボタン211を有する。管理者が設定ボタン211を押下することで、端末装置30は連携先アプリ登録画面(その2)210を表示し、管理者はフィールド名の編集が可能になる。
【0099】
図8は、端末装置30が表示する連携先アプリ登録画面(その2)210の一例である。連携先アプリ登録画面(その2)210はアプリ名欄229、フォーム欄222及び作業エリア223を有している。管理者はアプリ名欄229にアプリ名を設定でき、このアプリ名欄229のアプリ名は表5の連携先アプリ名となる。フォーム欄222には、外部サービスシステム40が提供するサービスで利用可能な機能がフォームとして表示されている。例えば、ラベル欄222A、文字入力欄222B、リッチエディタ222C、文字列欄222D、数値欄222E、電子計算機222F、ラジオボタン222G、チェックボックス222H、複数選択欄222I、ドロップダウン欄222J、日付欄222K、時刻欄222L、日時欄222M、添付ファイル欄222N、リンク欄222O,ユーザ選択欄222P等のフォームがある。ユーザはフォーム欄222から所望のフォームを作業エリア223にドラッグして、フォームを配置できる。このフォームがフィールドとなる。各フォームはデータ形式が決まっているので、管理者がフォームを選択するとデータ形式も自動で定まる。
【0100】
例えば、添付ファイル欄222Nは電子メールに添付された画像データが登録される欄である。
図8では、作業エリア223に表5の各フィールド名とその値の欄(現在は空欄)が表示されている。すなわち、作業エリア223は、送信メールアドレス欄223A、受信日時欄223B、送信日時欄223C、メール件名欄223D、メール本文(HTML)欄223E、メール本文(テキスト)欄223F、添付ファイル欄223G、及び、固定の文字列欄223Hを有する。ユーザはフィールドを編集したり、複製したり、削除したり、新たにフィールドを設定したりすることができる。例えば、ユーザがマウスポインタをフィールドの右上に移動させると、可能な作業項目221が表示される。
【0101】
図9は、作業項目221が表示された端末装置30が表示する連携先アプリ登録画面(その3)220の一例である。
図9では作業項目221として、編集ボタン221A、複製ボタン221B、及び、削除ボタン221Cが表示されている。ユーザが編集ボタン221Aを押下したものとする。これにより、フォームの編集が可能な詳細ポップアップ画面が表示される。
【0102】
図10はメール件名というフォームの詳細が設定される詳細ポップアップ画面230の一例である。詳細ポップアップ画面230は、フィールド名欄231、「フィールド名を表示しない」に対応付いたチェックボックス232、「必須項目にする」に対応付いたチェックボックス233、及び、フィールドコード欄235を有している。
【0103】
フィールド名欄231は、フィールド名である。
「フィールド名を表示しない」に対応付いたチェックボックス232は、チェックされるとフィールド名が表示されない。
「必須項目にする」に対応付いたチェックボックス233は、チェックされるとフィールド名が必須項目になる。
フィールドコード欄235は、このフォーム(「メール件名」)のフィールドコードを管理者が表示及び編集するための欄である。ユーザがペンマーク235Aにマウスポインタを移動するとフィールドコードの入力欄が表示され、任意のフィールドコードを入力できる。
【0104】
図10では、「text2」が「メール件名」のフィールドのフィールドコードになっている。また、外部サービスシステム40のアプリ登録受付部64がフィールドに任意の重複しないフィールドコードを設定してもよい。アプリ内で重複しなければ、ユーザが文字、数字、アルファベットなど又はその組み合わせでフィールドコードを適宜、設定できる。フィールドコードは、連携先アプリでフィールドを一意に識別するために設定される。
【0105】
図11は、端末装置30が表示する連携先アプリ一覧画面249の一例を示す図である。管理者は例えばスペースIDを指定して連携先アプリの一覧を表示させる。連携先アプリ一覧画面249は、アプリID249A、アプリ名249B等の項目を有している。アプリID249Aが連携先アプリIDを意味している。管理者はこのような画面からも連携先アプリIDを確認できる。アプリ名を管理者が選択すれば、
図8のような連携先アプリ登録画面(その2)210が表示される。
【0106】
<外部サービスシステムと連携するための情報処理システムの連携元アプリの設定>
続いて、情報処理システム10が外部サービスシステム40の連携先アプリと連携するための、情報処理システム10の連携元アプリの設定について説明する。このフェーズは
図1で説明した準備段階の1つのフェーズである。また、このフェーズは共有アプリについては顧客側の管理者、個人の連携元アプリについては各ユーザが行う。
【0107】
管理者は各ユーザが外部サービスシステム40の連携先アプリと連携できるように、連携元アプリに連携情報を設定する。管理者又はユーザはすでに、外部サービスシステム40の連携先アプリと連携する「メール受信登録」のアプリ処理情報53と画面情報54を情報処理システム10に登録済みである。「メール受信登録」の連携先アプリとは
図11に示される連携先アプリにおいて、電子メールの各項目を新たなレコードとして追加する連携元アプリのことである。
【0108】
管理者又はユーザは端末装置30を情報処理システム10に接続させ、初期画面を表示させる。以下の
図12~
図16の画面は端末装置30がHTTPリクエストを情報処理システム10に送信し、情報処理システム10がHTTPレスポンスで送信した画面情報を端末装置30が表示したものである。
【0109】
図12は、端末装置30が表示する初期画面300の一例を示す。初期画面300は管理者メニューと一般ユーザメニューを有しているので、以下では管理者メニューを説明する。初期画面300は、ユーザ管理アイコン301、テナント情報アイコン302、アプリ管理アイコン303、及び、機器管理アイコン304を有している。ユーザ管理アイコン301は、管理者がユーザの追加、削除、編集などを行うためのアイコンである。テナント情報アイコン302はこの顧客が連携元アプリの提供についてどのような契約をしているかなどを確認及び変更するためのアイコンである。アプリ管理アイコン303は連携元アプリ(すなわちアプリ処理情報)の追加、削除、編集等を行うためのアイコンである。機器管理アイコン304は機器がどのように利用されているかを管理するためのアイコンである。管理者は連携元アプリの編集を行うためアプリ管理アイコン303を押下する。これにより、サービス選択画面が表示される。
【0110】
図13は、端末装置30が表示するサービス選択画面310の一例を示す。サービス選択画面310は、情報処理システム10が連携可能な外部サービスシステム40の名称の一覧を表示する。外部サービスシステム40と連携するにはテナントがライセンスを購入する必要があるが、ライセンスの有無に関係なく外部サービスシステム40の名称の一覧が表示される。
【0111】
管理者が一覧から「外部サービスシステムA」311を選択すると、「外部サービスシステムA」に対応付けられた連携元アプリのアプリ名等を情報処理システム10が端末装置30に送信する。すなわち、アプリデータ管理部41は、「外部サービスシステムA」に対応付けられた連携元アプリをアプリデータから特定し、この連携元アプリのアプリ名をアプリ管理部49から取得する。
【0112】
図14は、端末装置30が表示する連携元アプリ選択画面320の一例である。
図13で管理者が一覧から「外部サービスシステムA」を選択したため、連携元アプリ選択画面320は「外部サービスシステムA」の連携先アプリと連携する連携元アプリの一覧を表示する。
図14では6つの連携元アプリのアイコン321~326が表示されているが、連携元アプリの数は管理者が登録したアプリ処理情報の数に依存する。少なくとも1つあればよいが、連携元アプリの登録前はゼロの場合もある。
【0113】
6つの連携元アプリはいずれも「外部サービスシステムA」の連携先アプリと連携することができるが、「外部サービスシステムA」の連携先アプリは同じ場合も異なる場合もある。つまり、同じ連携元アプリに異なる連携先アプリが対応付いていてもよいし、異なる連携元アプリに同じ連携先アプリが対応付いていても、異なる連携元アプリに異なる連携先アプリが対応付いていてもよい。また、複数の連携元アプリの連携先アプリが同じ場合でも、フィールドコードが同じ場合と異なる場合がある。以下では、「メール受信登録」の連携元アプリが選択されたものとして説明する。
【0114】
図15は、「メール受信登録」の連携元アプリが選択された場合に端末装置30が表示する連携元アプリ設定画面(その1)330の一例であり、
図16は、連携元アプリ設定画面(その2)340の一例である。
図15、
図16は作図の都合上、一画面が2つに分けられている。
【0115】
連携元アプリ設定画面(その1)330が有する項目について説明する。
【0116】
外部サービス名331は、
図13の「外部サービスシステムA」311で選択された外部サービスシステム40の名称である。
【0117】
マニュアル欄332は、当該連携元アプリのマニュアルが掲載されているURLである。
【0118】
メール受信登録専用アドレス欄333は、連携元アプリが電子メールを受信する宛先のメールアドレスである。すなわち、メール受信登録専用アドレス欄333を宛先とする電子メールが、
図15で設定中の連携元アプリにより外部サービスシステム40の連携先アプリに登録される。
【0119】
アプリID設定欄の呼び出しボタン334は、当該連携元アプリが外部サービスシステム40のどの連携先アプリと連携するかを、連携先アプリIDで設定するためのボタンである。管理者が呼び出しボタン334を押下すると連携先アプリIDのリストが表示される。なお、管理者が手動で入力することも可能である。
【0120】
連携元アプリ設定画面(その1)330で設定されたメール受信登録専用アドレスと、連携先アプリIDと、連携元アプリIDとは、表4のフィールドコード情報に対応付けて登録される。
【0121】
続いて、連携元アプリ設定画面(その2)340が有する各項目について説明する。
【0122】
スペースID欄の呼び出しボタン335は、複数の連携元アプリをグループ化して管理するスペースの識別情報を、情報処理システム10が外部サービスシステム40から取得するためのボタンである。
【0123】
件名ホワイトリスト欄336には、処理対象のメール件名のメールをフィルタリングするための件名が設定される。プラスマーク336bの押下により件名ホワイトリスト欄336が追加で表示される。
【0124】
送信元メールアドレスを登録するフィールドコード欄以下の項目は、それぞれ呼び出しボタンを有している。それぞれの呼び出しボタン337~343は、連携先アプリが有するフィールドのフィールドコードを、情報処理システム10が外部サービスシステム40から取得するためのボタンである。管理者が呼び出しボタン337~343を押下すると、表5のようなフィールドコードと属性情報が表示される(
図20参照)。管理者は属性情報を確認しながら、連携元アプリにフィールドコードを設定できる。これにより表4のようなフィールドコード情報が生成される。
【0125】
なお、連携元アプリ設定画面(その2)340が有する各項目には予めその属性情報が対応付けられている。
【0126】
図17は、連携元アプリ設定画面(その2)340が有する各項目と各項目と属性情報の一例を示す。
図17のような情報は、Webアプリの開発者が連携元アプリ設定画面(その2)340の作成時等に登録しておく。開発者にとって連携先アプリの属性情報は既知である。したがって、情報処理システム10は、各フィールドに適切な属性情報を保持している。連携元アプリ設定画面(その2)340が各フィールドに適切な属性情報を保持していてもよい。この場合、端末装置30側で、後述する属性情報が一致するかどうかの判断が可能になる。
【0127】
<フィールドコードの登録手順>
図18A,
図18Bは、管理者が連携元アプリ設定画面(その1)330、連携元アプリ設定画面(その2)340から連携元アプリの項目名とフィールドコードと対応付ける手順を示すシーケンス図の一例である。なお、
図18A,
図18Bでは、端末装置30の第二通信部31と情報処理システム10の通信部19が通信するが、説明の便宜上、これらの通信については説明を省略する場合がある。
【0128】
S1:管理者は端末装置30を情報処理システム10に接続させ、端末装置30が連携元アプリ設定画面(その1)330、連携元アプリ設定画面(その2)340を表示する。
【0129】
S2:管理者がアプリIDの呼び出しボタンを押下すると操作受付部33が受け付ける。
【0130】
S3:第二通信部31が連携先アプリのアプリIDのリストを情報処理システム10に要求する。
【0131】
S4:通信部19は連携先アプリのアプリIDのリスト要求を受信し、設定受付部12が外部サービス処理部52に連携先アプリのアプリIDのリストを要求する。外部サービスシステム40は連携元アプリの選択時に特定されている。
【0132】
S5:外部サービス処理部52は連携先アプリのアプリIDのリストを外部サービスシステム40に要求する。
【0133】
S6:外部サービスシステム40はアプリ情報記憶部65に登録されている連携先アプリのアプリIDのリストを取得し、外部サービス処理部52に送信する。
【0134】
S7:外部サービス処理部52は、入出力サービス部16を経由して設定受付部12にアプリIDのリストを送信する。
【0135】
S8:通信部19はアプリIDのリストを端末装置30に送信する。
【0136】
S9:第二通信部31はアプリIDのリストを受信し、表示制御部32が連携先アプリのアプリIDのリストを表示する。
【0137】
図19は、端末装置30が表示する連携先アプリのアプリIDのリストの一例である。
図19では、外部サービスシステム40に登録されている連携先アプリのアプリIDのリストが表示されている。
【0138】
S10:
図18Aに戻り、管理者はアプリIDのリストからフィールドコードを設定したいアプリIDを選択する。操作受付部33が選択を受け付ける。
【0139】
S11:第二通信部31は選択されたアプリIDを情報処理システム10に送信する。
【0140】
S12:通信部19は連携先アプリのアプリIDを受信し、設定受付部12が外部サービス処理部52に連携先アプリのアプリIDを指定してフィールド名等を要求する。
【0141】
S13:外部サービス処理部52は連携先アプリのアプリIDを指定してフィールド名等を外部サービスシステム40に要求する。
【0142】
S14:外部サービスシステム40はアプリ情報記憶部65に登録されている表5のようなアプリ情報(フィールド名、フィールドコード、属性情報)を取得し、外部サービス処理部52に送信する。
【0143】
S15:外部サービス処理部52は、アプリ情報を保存しておく。
【0144】
S16:管理者は連携元アプリ設定画面(その2)340の例えば「メール本文(HTML)を登録するフィールドコード」の呼び出しボタン341を選択する。操作受付部33が選択を受け付ける。
【0145】
S17:第二通信部31はフィールドコード一覧要求を情報処理システム10に送信する。
【0146】
S18:通信部19はステップS11で選択された連携先アプリのフィールドコード一覧要求を受信し、設定受付部12が外部サービス処理部52に連携先アプリのアプリIDを指定してフィールドコード一覧を要求する。
【0147】
S19:外部サービス処理部52は、保存しておいたアプリ情報を、入出力サービス部16を経由して設定受付部12に送信する。
【0148】
S20:通信部19はアプリ情報を端末装置30に送信する。
【0149】
S21:第二通信部31はアプリ情報を受信し、表示制御部32がアプリ情報を表示する。
【0150】
図20は、端末装置30が表示するアプリ情報のイメージ
図360である。
図20では、連携元アプリ設定画面(その2)340に、アプリ情報のフィールドコードと属性情報がポップアップ表示されている。管理者は属性情報を見て、メール本文(HTML)を登録するために適切なデータ形式のフィールドを選択できる。なお、
図20のアプリ情報のイメージ
図360は、本来、表5のアプリ情報の全体を表示可能であるが、煩雑になるため一部のフィールドコードと属性情報を表示した。また、アプリ情報のイメージ
図360はフィールド名を表示してもよい。
【0151】
S22:
図18Bに戻り、管理者はポップアップされたアプリ情報からフィールドコードを選択する。操作受付部33が選択を受け付ける。
【0152】
S23:第二通信部31は選択されたフィールドコードを情報処理システム10に送信する。
【0153】
S24:通信部19はフィールドコードを受信し、設定受付部12が外部サービス処理部52に、このフィールドコードに対応する属性情報を要求する。
【0154】
S25:外部サービス処理部52は、管理者が選択したフィールドコードに対応する属性情報を、入出力サービス部16を経由して設定受付部12に送信する。
【0155】
S26:また、設定受付部12は、
図17に示した、連携元アプリ設定画面(その2)340が有する各項目(「メール本文(HTML)を登録するフィールドコード」)に予め対応付けられた属性情報(第一のデータ形式の一例)を取得する。Webサービス処理部15は判断部50を呼び出し、外部サービスシステム40に設定されている属性情報(
図17)と外部サービスシステム40が保持している属性情報(第二のデータ形式の一例。表5参照。)が一致するか否かの判断を要求する。
【0156】
なお、判断部50の機能を端末装置30が実行してもよい。この場合、端末装置30には、連携元アプリ設定画面(その2)340が有する各項目(「メール本文(HTML)を登録するフィールドコード」)に予め対応付けられた属性情報が送信される。端末装置30にはアプリ情報(属性情報を含む)が送信されているので、端末装置30が属性情報の一致又は不一致を判断できる。
【0157】
S27:一致していない場合、Webサービス処理部15は属性情報が不一致した旨と修正の有無を問い合わせる問い合わせダイアログ350を端末装置30に送信する。
【0158】
図21は、端末装置30が表示する問い合わせダイアログ350の一例である。問い合わせダイアログ350は「属性が一致しません」というメッセージ351と共に、修正要ボタン352と不要ボタン353を有する。修正要ボタン352が押下されると、情報処理システム10は表4の項目名に対応づけてフィールドコードを登録しない。不要ボタン353が押下されると、情報処理システム10は表4のフィールドコード情報の項目名に対応づけてフィールドコードを登録する。
【0159】
このように、外部サービスシステム40に設定されている属性情報と外部サービスシステム40が保持している属性情報が一致するか否か判断されるので、仮に管理者がメール本文(HTML)の保存先のフィールドとして、メール本文(テキスト)を選択しても属性情報が一致しないと判断される。したがって、管理者が各項目に適切なフィールドコードを設定できる。
【0160】
なお、属性情報が表示されるのであれば、属性情報の一致は判断されなくてもよい。属性情報の一致の判断は必須でない。
【0161】
また、
図22に示すように、連携元アプリ設定画面(その2)340が、
図17の情報(各項目の属性情報)を表示するとよい。
図22の連携元アプリ設定画面(その2)340では、項目名の下に属性情報が表示されている。管理者は各項目の属性情報とポップアップ表示されたアプリ情報の属性情報とを比較して、適切なフィールドコードを選択できる。
【0162】
S28:
図18Bに戻り、管理者は修正要ボタン352を選択する。操作受付部33が選択を受け付ける。
【0163】
S29:第二通信部31は修正要ボタン352が押下された旨を情報処理システム10に送信する。この場合、処理はステップS21に戻る。
【0164】
S30:管理者が不要ボタン353を選択した場合を説明する。操作受付部33が選択を受け付ける。
【0165】
S31:第二通信部31は不要ボタン353が押下された旨を情報処理システム10に送信する。
【0166】
S32:通信部19は不要ボタン353が押下された旨を受信し、入出力処理部48が「メール本文(HTML)を登録するフィールドコード」の項目名に対応付けて、管理者が選択したフィールドコードを表4のフィールドコード情報に登録する。
【0167】
管理者は、フィールドコードを設定したい項目について同様の操作を繰り返す。情報処理システム10は管理者が呼び出しボタンを押下した項目について同様の処理を繰り返す。
【0168】
<メール受信時の処理>
次に、
図23を参照して、受信メール登録という連携元アプリによる電子メールの処理について説明する。
図23は、受信メール登録という連携元アプリが受信した電子メールを連携先アプリに保存する手順を示すシーケンス図の一例である。
【0169】
S41:情報処理システム10のメール受信部55は、定期的にメールサーバ20と通信し、情報処理システム10宛の電子メール(決まったドメインの電子メール)を受信する。
【0170】
S42:メール受信部55が電子メールを受信した場合、メール受信部55は宛先のメールアドレスに基づいて表4のフィールドコード情報を参照し、連携元アプリを特定する。次に、メール受信部55は表3のアプリデータを参照し、連携元アプリに対応する連携先アプリを特定する。メール受信部55は表4のフィールドコード情報を参照し、電子メールの各項目に対応するフィールドコードを決定する。なお、メール受信部55は、メール件名にフィールドコード情報の件名ホワイトリストが含まれない場合、電子メールを破棄するか、又は、その旨を電子メールに記録する。
【0171】
S43:メール受信部55は外部サービス処理部52に、連携先アプリのアプリID、フィールドコード、及び、電子メールの各項目の値を送信し、連携先アプリによる処理を要求する。
【0172】
S44:外部サービス処理部52は、連携先アプリのアプリID、フィールドコード、及び、電子メールの各項目の値を送信し、連携先アプリによる処理を外部サービスシステム40に要求する。
【0173】
S45:外部サービスシステム40の第四通信部61がこれらを受信し、連携先アプリとしてのデータ処理部63が、アプリIDで特定される連携先アプリの、フィールドコードで特定されるフィールドに項目の値を保存する。
【0174】
以上の処理で、
図7に示したように、1つの電子メールが1つのレコードとして連携先アプリに登録される。
【0175】
<主な効果>
以上説明したように、本実施形態のサービス提供システムは、外部サービスシステム40の各フィールドのデータ形式を外部サービスシステム40から取得して、連携元アプリ設定画面に入力可能なデータ形式を表示する。これにより、管理者は、連携元アプリが外部サービスシステム40に送信する電子データが、外部サービスシステム40において適切なデータ形式のフィールドに保存されるように設定できる。
【0176】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0177】
例えば、本実施形態では、外部サービスシステムが受信メールを保存する際のデータ形式の設定について説明した。しかし、外部サービスシステムが保存するデータは任意でよい。例えば、画像形成装置が情報処理システムに送信する画像データの形式(PDF、JPEG等)を管理者が設定しておくこともできる。
【0178】
例えば、
図4などの構成例は、端末装置30、及び情報処理システム10による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置30、及び情報処理システム10の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0179】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0180】
更に、情報処理システム10は、本実施形態で開示された処理ステップ、例えば
図18、
図23等を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、情報処理システム10が有する複数の情報処理装置によって実行され得る。また、情報処理システム10は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
【0181】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0182】
10 情報処理システム
30 端末装置
100 サービス提供システム
【先行技術文献】
【特許文献】
【0183】