IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特開2024-17895情報処理システム、情報処理方法及びプログラム
<>
  • 特開-情報処理システム、情報処理方法及びプログラム 図1
  • 特開-情報処理システム、情報処理方法及びプログラム 図2
  • 特開-情報処理システム、情報処理方法及びプログラム 図3
  • 特開-情報処理システム、情報処理方法及びプログラム 図4
  • 特開-情報処理システム、情報処理方法及びプログラム 図5
  • 特開-情報処理システム、情報処理方法及びプログラム 図6
  • 特開-情報処理システム、情報処理方法及びプログラム 図7A
  • 特開-情報処理システム、情報処理方法及びプログラム 図7B
  • 特開-情報処理システム、情報処理方法及びプログラム 図8
  • 特開-情報処理システム、情報処理方法及びプログラム 図9
  • 特開-情報処理システム、情報処理方法及びプログラム 図10
  • 特開-情報処理システム、情報処理方法及びプログラム 図11
  • 特開-情報処理システム、情報処理方法及びプログラム 図12
  • 特開-情報処理システム、情報処理方法及びプログラム 図13
  • 特開-情報処理システム、情報処理方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024017895
(43)【公開日】2024-02-08
(54)【発明の名称】情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240201BHJP
   G06Q 50/10 20120101ALI20240201BHJP
【FI】
G06F21/62 318
G06Q50/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022120840
(22)【出願日】2022-07-28
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】波平 晃佑
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC12
(57)【要約】
【課題】WFアプリ利用時に同一の外部サービスアカウントを利用することによって発生するエラーを未然に防止する。
【解決手段】実施形態の情報処理システムは、ワークフローアプリに連携される外部サービスの連携条件の設定を受け付ける第1受付部と、前記ワークフローアプリに連携される外部サービスの設定を含むアプリ設定を受け付ける第2受付部と、前記外部サービスの設定が、前記連携条件を満たすか否かを検証し、前記連携条件を満たす場合、前記外部サービスの設定を許可し、前記連携条件を満たさない場合、前記外部サービスの設定を許可しない検証部と、を備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
ワークフローアプリに連携される外部サービスの連携条件の設定を受け付ける第1受付部と、
前記ワークフローアプリに連携される外部サービスの設定を含むアプリ設定を受け付ける第2受付部と、
前記外部サービスの設定が、前記連携条件を満たすか否かを検証し、前記連携条件を満たす場合、前記外部サービスの設定を許可し、前記連携条件を満たさない場合、前記外部サービスの設定を許可しない検証部と、
を備える情報処理システム。
【請求項2】
前記連携条件は、前記ワークフローアプリの外部サービス連携を識別する外部サービス連携識別情報の重複上限を含み、
前記アプリ設定は、前記ワークフローアプリに連携される外部サービスの外部サービス連携識別情報を含み、
前記検証部は、前記アプリ設定によって、前記ワークフローアプリの外部サービス連携識別情報の重複数が、前記重複上限を超えるか否かを検証する、
請求項1に記載の情報処理システム。
【請求項3】
前記ワークフローアプリは、所定の処理を実行する複数のコンポーネントの組み合わせにより構成され、
前記ワークフローアプリを構成するコンポーネントと、前記ワークフローアプリを構成するコンポーネントの実行順序と、前記連携条件とを管理するアプリ管理部と、
前記複数のコンポーネントを管理し、前記ワークフローアプリから前記コンポーネントが呼び出されたときに、前記所定の処理を実行するコンポーネント管理部と、
を更に備える請求項1又は2に記載の情報処理システム。
【請求項4】
前記第1受付部は、前記ワークフローアプリが、前記外部サービスと連携するコンポーネントを使用している場合、前記連携条件の設定を受け付けるUIを表示する、
請求項3に記載の情報処理システム。
【請求項5】
サービスを受ける単位を示すテナントのユーザから、外部サービス連携の候補となる外部サービスの設定を受け付ける個人設定UI、
を更に備える請求項2に記載の情報処理システム。
【請求項6】
前記外部サービス連携識別情報と、前記テナントを識別するテナント識別情報と、前記ユーザを識別するユーザ識別情報と、前記外部サービスを識別する外部サービス識別情報とを含む外部サービス連携情報を管理する外部サービス連携管理部、
を更に備える請求項5に記載の情報処理システム。
【請求項7】
前記検証部は、前記第2受付部によって前記アプリ設定が受け付けられる前に、前記連携条件を満たす外部サービスを、連携可能外部サービスとして特定し、
前記第2受付部は、前記連携可能外部サービスを含むアプリ設定画面を表示する、
請求項1又は2に記載の情報処理システム。
【請求項8】
前記連携条件は、前記外部サービスのアカウント毎に設定された重複上限を含み、
前記検証部は、前記アプリ設定によって、前記情報処理システム内で動作するワークフローアプリに使用される外部サービスのアカウントの重複数が、前記重複上限を超えるか否かを検証する、
請求項1に記載の情報処理システム。
【請求項9】
情報処理システムが、ワークフローアプリに連携される外部サービスの連携条件の設定を受け付けるステップと、
前記情報処理システムが、前記ワークフローアプリに連携される外部サービスの設定を含むアプリ設定を受け付けるステップと、
前記情報処理システムが、前記外部サービスの設定が、前記連携条件を満たすか否かを検証し、前記連携条件を満たす場合、前記外部サービスの設定を許可し、前記連携条件を満たさない場合、前記外部サービスの設定を許可しないステップと、
を含む情報処理方法。
【請求項10】
コンピュータを、
ワークフローアプリに連携される外部サービスの連携条件の設定を受け付ける第1受付部と、
前記ワークフローアプリに連携される外部サービスの設定を含むアプリ設定を受け付ける第2受付部と、
前記外部サービスの設定が、前記連携条件を満たすか否かを検証し、前記連携条件を満たす場合、前記外部サービスの設定を許可し、前記連携条件を満たさない場合、前記外部サービスの設定を許可しない検証部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
例えばクラウドストレージ等の外部サービスと連携されるワークフローアプリケーション(以下、WFアプリ)では、テナント管理者がWFアプリ設定として、そのWFアプリで利用される外部サービスのアカウントを設定する外部サービス設定機能が、従来から知られている。
【0003】
特許文献1及び2には、自サービスのアカウントと外部サービスのアカウントとを連携し利用する目的で、外部サービスのアカウント連携を設定する構成が開示されている。具体的には、特許文献1には、クラウドサービスの認可トークン発行時にローカル認証情報を紐付けておくことで、認可トークン利用時に認可トークン情報からローカル認証情報を取得できるようにする技術が開示されている。特許文献2には、ユーザ環境の電子機器と連携したサービスのアプリケーションが、電子機器を操作するユーザにサービスを提供する情報処理装置であって、ユーザの認可処理に伴う負担を軽減できる情報処理装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、外部サービスアカウントに対するAPIリクエスト数の上限を超え、エラーが発生する問題があった。
【0005】
本発明は、上記に鑑みてなされたものであって、WFアプリ利用時に同一の外部サービスアカウントを利用することによって発生するエラーを未然に防止する情報処理システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、ワークフローアプリに連携される外部サービスの連携条件の設定を受け付ける第1受付部と、前記ワークフローアプリに連携される外部サービスの設定を含むアプリ設定を受け付ける第2受付部と、前記外部サービスの設定が、前記連携条件を満たすか否かを検証し、前記連携条件を満たす場合、前記外部サービスの設定を許可し、前記連携条件を満たさない場合、前記外部サービスの設定を許可しない検証部と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、WFアプリ利用時に同一の外部サービスアカウントを利用することによって発生するエラーを未然に防止することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態の情報処理システムの装置構成の例を示す図である。
図2図2は、実施形態の外部サービスサーバ装置及びクラウドシステムサーバ装置のハードウェア構成の例を示す図である。
図3図3は、実施形態の情報処理システムの機能構成の例を示す図である。
図4図4は、実施形態のコンポーネント一覧の例を示す図である。
図5図5は、実施形態のWFアプリの処理例を示す図である。
図6図6は、実施形態のWFアプリ設定画面の例を示す図である。
図7A図7Aは、実施形態のWFアプリ設定の例を示す図である。
図7B図7Bは、実施形態のアプリ一覧画面の例を示す図である。
図8図8は、実施形態の外部サービス連携の条件設定処理の例を示すシーケンス図である。
図9図9は、実施形態のWFアプリ設定画面の例を示す図である。
図10図10は、実施形態の外部サービスアカウントの紐付け処理の例を示すシーケンス図である。
図11図11は、実施形態の外部サービス連携画面の例を示す図である。
図12図12は、実施形態の外部サービス連携処理の例を示すシーケンス図である。
図13図13は、実施形態のアプリ設定処理の例を示すシーケンス図である。
図14図14は、実施形態の検証処理の例を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、情報処理システム、情報処理方法及びプログラムの実施形態を詳細に説明する。
【0010】
[装置構成の例]
図1は、実施形態の情報処理システム10の装置構成の例を示す図である。実施形態の情報処理システム10は、PC(Personal Computer)1、複合機(MFP:Multifunction Peripheral)2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4を備える。PC1及び複合機2は、イントラネット100に属する。外部サービスサーバ装置3及びクラウドシステムサーバ装置4は、インターネット等の外部ネットワーク200を介して、PC1及び複合機2と接続される。
【0011】
PC1及び複合機2は、ユーザが属するテナント側環境で使用される機器である。テナントは、サービスを受ける組織(例えば会社)等の単位を示す。
【0012】
外部サービスサーバ装置3は、例えばクラウドストレージ等の外部サービスを提供するサーバ装置である。
【0013】
クラウドシステムサーバ装置4は、WFアプリによるサービスを提供するサーバ装置である。
【0014】
外部サービスにはAPI(Application Programming Interface)リクエスト数の上限回数の制約がある。例えば、上限回数の制約は、1アカウントあたりのAPIリクエスト数の上限回数が1000リクエスト/分までなどである。外部サービスと連携するWFアプリはその上限以下で動作しなければならない。クラウドシステムサーバ装置4において、1つのテナントは、1つの外部サービスアカウントと連携する複数のWFアプリ(アプリ設定含む)をもつことができる。
【0015】
今までのWFアプリ設定では、テナント管理者がWFアプリで外部サービスアカウントと連携設定する際に、任意の外部サービスのアカウントを紐付けることができた。しかし、そのWFアプリ自体の利用回数が多いケースや、同じ外部サービスのアカウントが紐付いている異なるWFアプリが多い場合、同じ外部サービスアカウントに対してAPIリクエストを多く行ってしまう。そのため、APIリクエスト数の上限を超え、外部サービスへのファイル配信ができない等といったエラーが発生するという問題があった。以下、このような問題を解決する情報処理システム10の実施形態について説明する。
【0016】
[サーバ装置のハードウェア構成の例]
図2は、実施形態の外部サービスサーバ装置3及びクラウドシステムサーバ装置4のハードウェア構成の例を示す図である。
【0017】
図2に示されているように、外部サービスサーバ装置3及びクラウドシステムサーバ装置4は、コンピュータによって構築されており、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を備えている。
【0018】
これらのうち、CPU501は、外部サービスサーバ装置3及びクラウドシステムサーバ装置4全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、イントラネット100及び外部ネットワーク200を利用してデータ通信をするためのインターフェースである。バスライン510は、図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0019】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0020】
なお、図2の構成は一例であり、外部サービスサーバ装置3及びクラウドシステムサーバ装置4の構成は、適宜、変更されてもよい。例えば、外部サービスサーバ装置3及びクラウドシステムサーバ装置4は、一部の構成(例えば、ディスプレイ506、キーボード511、ポインティングデバイス512及びDVD-RWドライブ514等)を備えていなくてもよい。
【0021】
[機能構成の例]
図3は、実施形態の情報処理システム10の機能構成の例を示す図である。実施形態の外部サービスサーバ装置3は、外部サービスアカウント管理部31及び外部サービス32を備える。
【0022】
外部サービスアカウント管理部31は、外部サービスのアカウントを管理する。
【0023】
外部サービス32は、外部サービスサーバ装置3により提供される外部のサービスである。外部サービス32は、例えばクラウドストレージサービス(外部ストレージサービス)等である。
【0024】
クラウドシステムサーバ装置4は、アプリ開発UI(User Interface)部41、アプリ設定UI部42、個人設定UI部43、アプリ設定管理部44、検証部45、外部サービス連携管理部46、コンポーネント管理部47、アプリ管理部48及び記憶部49を備える。
【0025】
アプリ開発UI部41は、WFアプリ開発者に対して、外部サービスの連携条件を設定するUI(例えば表示情報)を提供する。アプリ開発UI部41は、第1受付部の一例である。また、アプリ開発UI部41は、WFアプリに外部サービス32と連携するコンポーネントが使用されている場合に、外部サービス連携条件設定を受け付けるUI(例えば表示情報)を提供する。アプリ開発UI部41は、第2受付部の一例である。
【0026】
図4は、実施形態のコンポーネント一覧の例を示す図である。コンポーネントは、機能(処理)単位に用意された機能パーツである。図4に示されるように、コンポーネントには、外部サービス32に対して各種の操作をする機能パーツ、及び、ドキュメントファイルに画像処理を行う機能パーツなど、多様な種類の機能パーツが含まれる。
【0027】
図5は、実施形態のWFアプリの処理例を示す図である。WFアプリは、複数のコンポーネントを組み合わせて作られるアプリケーションである。例えば、WFアプリAは、PDFページ結合、OCR(Optical Character Reader)処理、及び、Dropbox(登録商標)アップロードのコンポ―ネントを組み合わせて作られる。
【0028】
図3に戻り、アプリ設定UI部42は、テナント管理者が、WFアプリに対する条件の設定を行うためのWFアプリ設定画面を表示する。
【0029】
図6は、実施形態のWFアプリ設定画面の例を示す図である。WFアプリを契約(購入)したテナントは、そのWFアプリに対して処理上の設定を行う。例えば、テナント管理者は、WFアプリの設定として、そのWFアプリが利用する外部サービスアカウントの設定を行う。具体的には、WFアプリが外部サービス32と連携するコンポーネントをもつ場合には、配信先のアカウントやフォルダを指定する必要がある。図6の例は、WFアプリが、外部ストレージサービスと連携するコンポーネントをもつ場合に、配信先のストレージアカウントやフォルダを指定するWFアプリ設定画面の例を示す。
【0030】
図7Aは、実施形態のWFアプリ設定の例を示す図である。契約されたWFアプリに対して様々な種類のアプリ設定をすることができる。図7Aの例は、WFアプリAが外部サービス32と連携するコンポーネントとして、Dropbox(登録商標)アップロードをもつ場合を示す。図7Aの例では、WFアプリA:請求書保存用設定では、フォルダAが指定され、WFアプリA:契約書保存用設定では、フォルダBが指定されている。
【0031】
図7Bは、実施形態のアプリ一覧画面の例を示す図である。図7Bの例は、図7Aにおいてそれぞれ設定されたWFアプリAを含むアプリ一覧画面が、複合機(MFP)2の画面に表示される場合を示す。利用者は、利用目的に合わせてWFアプリA[請求書保存用設定]、又は、WFアプリA[契約書保存用設定]を選択し利用する。
【0032】
図3に戻り、個人設定UI部43は、サービスを受ける単位を示すテナントのユーザから、外部サービス連携の候補となる外部サービス32の設定を受け付ける。
【0033】
アプリ設定管理部44は、アプリ設定情報を管理する。なお、アプリ設定情報の例については、表7を参照して後述する。
【0034】
検証部45は、テナント管理者により行われるアプリ設定が、WFアプリの外部サービス32の連携条件を満たしているか否かを検証する。例えば、連携条件は、WFアプリの外部サービス連携を識別する外部サービス連携識別情報の重複上限を含む。アプリ設定は、WFアプリに連携される外部サービス32の外部サービス連携識別情報を含む。この場合、検証部45は、アプリ設定によって、WFアプリの外部サービス連携識別情報の重複数が、重複上限を超えるか否かを検証する。
【0035】
外部サービス連携管理部46は、外部サービス連携情報を管理する。なお、外部サービス連携情報の例については、表2を参照して後述する。
【0036】
WFアプリは、所定の処理を実行する複数のコンポーネントの組み合わせにより構成される。コンポーネント管理部47は、複数のコンポーネントを管理し、WFアプリからコンポーネントが呼び出されたときに、所定の処理を実行する。
【0037】
アプリ管理部48は、WFアプリを構成するコンポーネントと、WFアプリを構成するコンポーネントの実行順序と、上述の連携条件とを管理する。
【0038】
記憶部49は情報を記憶する。例えば、記憶部49は、ユーザ情報、外部サービス連携情報、コンポーネント情報、アプリ情報、アプリコンポーネント情報、外部サービス32の連携条件、及び、アプリ設定情報(表1~7参照)などを記憶する。
【0039】
表1は、実施形態のユーザ情報の例を示す。なお、表1の[PK]は、主キー(Primary Key)を示す。表2~7についても同様である。
【0040】
【表1】
【0041】
実施形態のユーザ情報は、テナントID(identifier)及びユーザIDを含む。テナントIDは、テナントを識別する識別情報である。ユーザIDは、ユーザを識別する識別情報である。
【0042】
表2は、実施形態の外部サービス連携情報の例を示す。
【0043】
【表2】
【0044】
実施形態の外部サービス連携情報は、外部サービス連携ID、テナントID、ユーザID及び外部サービス識別子を含む。テナントID及びユーザIDの説明は、表1と同じなので省略する。外部サービス連携IDは、外部サービス連携情報を識別する識別情報である。外部サービス識別子は、外部サービス32を識別する識別情報である。
【0045】
表3は、実施形態のコンポーネント情報の例を示す。
【0046】
【表3】
【0047】
実施形態のコンポーネント情報は、コンポーネントID及び外部サービス識別子を含む。コンポーネントIDは、コンポーネントを識別する識別情報である。外部サービス識別子の説明は、表2と同じなので省略する。
【0048】
表4は、実施形態のアプリ情報の例を示す。
【0049】
【表4】
【0050】
実施形態のアプリ情報は、アプリID及びアプリ名を含む。アプリIDは、アプリを識別する識別情報である。アプリ名は、アプリの名称である。
【0051】
表5は、実施形態のアプリコンポーネント情報の例を示す。
【0052】
【表5】
【0053】
実施形態のアプリコンポーネント情報は、アプリID及びコンポーネントIDを含む。アプリIDの説明は、表4と同じなので省略する。コンポーネントIDの説明は、表3と同じなので省略する。
【0054】
表6は、実施形態の外部サービス32の連携条件の例を示す。
【0055】
【表6】
【0056】
実施形態の外部サービス32の連携条件は、アプリID、及び、外部サービス連携IDの重複上限を含む。アプリIDの説明は、表4と同じなので省略する。外部サービス連携IDの重複上限は、外部サービス連携IDの重複上限を示す。例えば、外部サービス連携IDの重複上限が1に設定されている場合、このアプリIDのアプリでは、外部サービス連携IDの重複が禁止されていることを示す。
【0057】
表7は、実施形態のアプリ設定情報の例を示す。
【0058】
【表7】
【0059】
実施形態のアプリ設定情報は、アプリ設定ID、アプリID、テナントID、契約ID及び外部サービス連携IDを含む。アプリIDの説明は、表4と同じなので省略する。テナントIDの説明は、表1と同じなので省略する。アプリ設定IDは、アプリ設定を識別する識別情報である。契約IDは、契約を識別する識別情報である。外部サービス連携IDは、外部サービス連携情報を識別する識別情報である。
【0060】
なお、サービス設定連携条件として重複禁止の設定がされている場合、appsetting02の外部サービス連携IDの設定「B01」は、設定不可(エラー)となる。アプリID=app01のアプリ設定ID=appsetting01で、外部サービス連携情報=B01が既に登録されているためである。
【0061】
実施形態の情報処理システム10の処理の流れは以下である。
1.クラウドシステムサーバ装置4が、WFアプリ開発者からWFアプリの外部サービス32の連携条件の設定を受け付ける。
2.クラウドシステムサーバ装置4が、テナント内ユーザから外部サービス連携を行う操作を受け付ける。
3.クラウドシステムサーバ装置4が、テナント管理者からアプリ設定を受け付ける。
【0062】
以下、図8乃至14を参照して、それぞれの処理工程におけるシーケンスの詳細を順に示す。
【0063】
図8は、実施形態の外部サービス連携の条件設定処理の例を示すシーケンス図である。はじめに、PC1が、WFアプリ管理者(開発者)の操作入力に応じて、コンポーネント一覧を要求する(ステップS1)。図8の例では、アプリ開発UI部41によって、PC1のブラウザに表示されるUIを介して、ステップS1の要求処理が行われる。
【0064】
次に、アプリ開発UI部41は、コンポーネント一覧をコンポーネント管理部47に要求する(ステップS2)。次に、コンポーネント管理部47は、コンポーネント一覧と、各コンポーネントの設定項目とを含む応答をアプリ開発UI部41に返す(ステップS3)。次に、アプリ開発UI部41は、コンポーネント一覧と、各コンポーネントの設定項目とを含む応答をPC1に返す(ステップS4)。
【0065】
次に、PC1が、Fアプリ管理者の操作入力に応じて、ワークフロー(以下、単に「フロー」という。)を構築する(ステップS5)。次に、PC1が、ステップS5で構築されたフローの登録をアプリ開発UI部41に要求する(ステップS6)。フローを登録する要求には、フローに使用されるコンポーネントと、コンポーネントの順序とが含まれる。次に、アプリ開発UI部41が、フローの登録をアプリ管理部48に要求する(ステップS7)。次に、アプリ管理部48が、フローを保存する(ステップS8)。
【0066】
次に、PC1が、WFアプリ管理者の操作入力に応じて、WFアプリの設定を行う(ステップS9)。
【0067】
図9は、実施形態のWFアプリ設定画面の例を示す図である。フローで外部サービス連携コンポーネントが利用されている場合、同一外部サービスアカウントの重複上限数の選択肢が表示される。図9の例では、WFアプリ開発者によって、同一外部サービスアカウントの重複上限数に1が設定されている。この場合、外部サービス連携の条件は、同一外部サービスアカウントを、このWFアプリの複数のアプリ設定で使用を禁止することである。
【0068】
図8に戻り、PC1は、ステップS9で設定されたWFアプリ設定の登録をアプリ開発UI部41に要求する(ステップS10)。WFアプリ設定を登録する要求には、WFアプリの動作条件と、外部サービス連携の条件とが含まれる。WFアプリの動作条件は、例えば図9のWFアプリ設定画面のパラメータ設定により設定される。次に、アプリ開発UI部41が、WFアプリ設定の登録をアプリ管理部48に要求する(ステップS11)。次に、アプリ管理部48が、WFアプリ設定を保存する(ステップS12)。ステップS12の処理によって、上述の表4~7に示すアプリ情報、アプリコンポーネント情報、外部サービス32の連携条件、及び、アプリ設定情報が更新される。
【0069】
次に、テナント内ユーザから外部サービス連携を受け付ける処理(外部サービス32との連携がOAuth認可の場合)について説明する。WFアプリで外部サービス32を利用する場合には、テナントユーザ側で事前にユーザ情報と外部サービスアカウントとを紐付けておく必要がある。
【0070】
図10は、実施形態の外部サービスアカウントの紐付け処理の例を示すシーケンス図である。はじめに、PC1が、テナントユーザの操作入力に応じて、ブラウザで表示される外部サービス連携画面を、個人設定UI部43に要求する(ステップS21)。なお、テナントユーザは、既にクラウドシステムサーバ装置4にログインしているものとする。テナントユーザが、クラウドシステムサーバ装置4にログインしていない場合には、ログイン後にステップS21の処理を実行する。
【0071】
次に、個人設定UI部43は、外部サービス連携画面及び外部サービス一覧を含む応答をPC1に返す(ステップS22)
【0072】
図11は、実施形態の外部サービス連携画面の例を示す図である。図11の例は、外部サービス32により提供される外部ストレージとのファイル送受信を行う場合の外部サービス連携画面の例を示す。図11の外部サービス連携画面では、外部ストレージを提供する外部サービス32の一覧が表示されている。
【0073】
図10に戻り、PC1が、外部サービス連携を個人設定UI部43に要求する(ステップS23)。外部サービス連携の要求には、外部サービス32の種別が含まれる。次に、個人設定UI部43が、外部サービス連携を外部サービス連携管理部46に要求する(ステップS24)。次に、外部サービス連携管理部46が、認可画面URL及び利用者IDを含む応答をPC1に返す(ステップS25)。
【0074】
次に、PC1が、認可画面を外部サービス32に要求する(ステップS26)。なお、テナントユーザは、既に外部サービス32にログインしているものとする。テナントユーザが、外部サービス32にログインしていない場合には、ログイン後にステップS26の処理を実行する。
【0075】
次に、外部サービス32が、認可画面と認可可能操作種別一覧とを含む応答をPC1に返す(ステップS27)。次に、PC1が、テナントユーザの操作入力に応じて、外部サービス32の操作(外部サービス32との連携)を許可する(ステップS28)。
【0076】
次に、PC1が、認可依頼(認可操作種別)を外部サービス32に送信する(ステップS29)。次に、外部サービス32が、認可情報(外部サービスユーザID及び認可操作種別)を保存する(ステップS30)。ステップS30により保存された認可情報(外部サービスユーザID及び認可操作種別)は、外部サービスアカウント管理部31により管理される。
【0077】
次に、外部サービス32は、ユーザID(表1及び2におけるユーザIDに相当)と、外部サービス32へのアクセストークンとを含む応答を外部サービス連携管理部46に返す(ステップS31)。次に、外部サービス連携管理部46は、ユーザIDに関連付けてアクセストークンを保存する(ステップS32)。次に、外部サービス連携管理部46は、「外部サービス連携結果:成功」を個人設定UI部43に返す(ステップS33)。
【0078】
次に、個人設定UI部43は、「外部サービス連携結果:成功」が反映された外部サービス連携画面及び外部サービス一覧を含む応答をPC1に返す(ステップS34)。例えば、図11の外部サービス連携画面の例では、外部サービス連携が成功した外部サービス32(例えばDropBox(登録商標)等のクラウドストレージ)の連携の欄が、「設定済み」で表示される。
【0079】
次に、外部サービス32との連携が代理認証の場合について、テナント内ユーザから外部サービス連携を受け付ける処理について説明する。外部サービス32との連携は、図10のOAuth認可連携だけでなく、代理認証による連携を行う外部サービス32でも利用できる。
【0080】
図12は、実施形態の外部サービス連携処理の例を示すシーケンス図である。ステップS41~S44の説明は、図10のステップS21~24と同様なので省略する。外部サービス連携管理部46は、外部サービスアカウント情報入力画面をPC1に返す(ステップS45)。PC1は、テナントユーザから、外部サービス32のアカウントの入力を受け付ける(ステップS46)。次に、PC1は、ステップS46で入力された外部サービス32のアカウントを示す外部サービスアカウント情報の保存を外部サービス連携管理部46に依頼する(ステップS47)。次に、外部サービス連携管理部46が、テナントユーザのユーザIDに関連付けて外部サービスアカウント情報を保存する(ステップS48)。
【0081】
ステップS49及び50の説明は、図10のステップS33及び34と同様なので省略する。
【0082】
次に、テナント管理者が、WFアプリ設定にて外部サービス連携設定を行う場合に、事前に設定された外部サービス連携条件を満たしているか検証を行う処理について説明する。
【0083】
図13は、実施形態のアプリ設定処理の例を示すシーケンス図である。はじめに、PC1が、テナント管理者の操作入力に応じて、アプリ設定画面をアプリ設定UI部42に要求する(ステップS61)アプリ設定画面の要求は、アプリ設定対象のWFアプリを識別するアプリIDを含む。次に、アプリ設定UI部42が、アプリ設定情報をアプリ設定管理部44に要求する(ステップS62)。アプリ設定情報の要求は、アプリIDを含む。次に、アプリ設定管理部44が、アプリ設定項目をアプリ設定UI部42に返す(ステップS63)。次に、アプリ設定UI部42が、アプリ設定画面及びアプリ設定項目を含む応答をPC1に返す(ステップS64)。
【0084】
次に、PC1が、連携済み外部サービス連携情報を外部サービス連携管理部46に要求する(ステップS65)。次に、外部サービス連携管理部46は、連携済み外部サービス連携情報をPC1に返す(ステップS66)。
【0085】
次に、PC1が、テナント管理者の操作入力に応じて、外部サービス連携を選択する(ステップS67)。次に、PC1が、外部サービス連携の保存をアプリ設定管理部44に要求する(ステップS68)。外部サービス連携の保存の要求は、アプリ設定ID及び外部サービス連携IDを含む。次に、アプリ設定管理部44が、外部サービス連携の判断を検証部45に要求する(ステップS69)。外部サービス連携の判断の要求は、アプリ設定ID及び外部サービス連携IDを含む。
【0086】
次に、検証部45が、アプリ設定の外部サービス連携情報(表2)をアプリ設定管理部44に要求する(ステップS70)。外部サービス連携情報の要求は、アプリIDを含む。次に、アプリ設定管理部44が、アプリ設定の外部サービス連携情報を検証部45に返す(ステップS71)。次に、検証部45が、アプリID及び外部サービス連携IDに基づき、外部サービス連携が可能か否かを判断する(ステップS72)。なお、ステップS72の処理の詳細は、図14を参照して後述する。
【0087】
[外部サービス連携が可能だった場合]
次に、検証部45が、「判断結果:OK」をアプリ設定管理部44に返す(ステップS73)。アプリ設定管理部44は、検証部45の検証処理で使用されたアプリ設定ID及び外部サービス連携IDを含む外部サービス連携設定を保存する(ステップS74)。次に、アプリ設定管理部44は、「外部サービス連携設定結果:成功」をPC1に返す(ステップS75)。
【0088】
[外部サービス連携が不可能だった場合]
次に、検証部45が、「判断結果:NG」をアプリ設定管理部44に返す(ステップS76)。次に、アプリ設定管理部44は、「外部サービス連携設定結果:失敗」をPC1に返す(ステップS77)。外部サービス連携が不可能な場合は、例えば、外部サービス連携数の上限オーバーなどである。この場合、アプリ設定管理部44は、ステップS77の処理で、「連携可能数を超えています」などのエラーメッセージをPC1に返す。
【0089】
図14は、実施形態の検証処理(ステップS72)の例を示すフローチャートである。はじめに、検証部45は、検証部45に入力されたアプリ設定IDを持つアプリIDを、アプリ設定情報(表7)から取得する(ステップS81)。次に、検証部45は、外部サービス32の連携条件(表6)を参照して、アプリIDにサービス連携条件設定が設定されているか否かを判定する(ステップS82)。
【0090】
アプリIDにサービス連携条件設定が設定されていない場合(ステップS82,No)、検証部45は、外部サービス連携の登録が可能と判断する(ステップS86)。
【0091】
アプリIDにサービス連携条件設定が設定されている場合(ステップS82,Yes)、検証部45は、アプリ設定情報(表7)を参照して、ステップS81で取得されたアプリIDと同じアプリIDを持つアプリ設定の一覧を取得する(ステップS83)。次に、検証部45は、ステップS83で取得された全てのアプリ設定に紐づく外部サービス連携情報(アプリ設定に含まれる外部サービス連携IDから特定される外部サービス連携情報)の一覧を取得する(ステップS84)。
【0092】
次に、検証部45は、ステップS81で取得されたアプリIDに連携される同一の外部サービス連携IDの数が、サービス連携条件設定が示す上限数を超えているか否かを判定する(ステップS85)。
【0093】
上限数を超えていない場合(ステップS85、No)、検証部45は、外部サービス連携の登録が可能と判断する(ステップS86)。上限数を超えている場合(ステップS85、Yes)、検証部45は、外部サービス連携の登録が不可能と判断する(ステップS87)。
【0094】
以上、説明したように、実施形態の情報処理システム10では、アプリ開発UI部41が、ワークフローアプリ(WFアプリ)に連携される外部サービス32の連携条件の設定を受け付ける。アプリ設定UI部42が、ワークフローアプリに連携される外部サービス32の設定を含むアプリ設定を受け付ける。そして、検証部45が、外部サービス32の設定が、連携条件を満たすか否かを検証し、連携条件を満たす場合、外部サービス32の設定を許可し、連携条件を満たさない場合、外部サービス32の設定を許可しない。
【0095】
これにより実施形態の情報処理システム10によれば、WFアプリ利用時に同一の外部サービスアカウントを利用することによって発生するエラー(例えばAPI利用上限回数の超過など)を未然に防止することができる。
【0096】
具体的には、実施形態の情報処理システム10では、過去に実施されたWFアプリ設定は、アプリ設定情報(表7)に保存されている。そのWFアプリ設定には連携された外部サービスアカウント情報として、外部サービス連携IDが含まれている。そのため、実施形態の情報処理システム10では、新規にWFアプリ設定で外部サービスアカウントを設定する際には、その過去の外部サービスアカウント情報を参照することによって、外部サービスアカウントの重複などを検証することができる。
【0097】
例えば、アプリ開発UI部41は、WFアプリ開発者から、外部サービスアカウントの連携条件の設定を受け付ける。例えば、外部サービス32が外部ストレージサービスである場合、WFアプリ開発者は、外部ストレージサービスとの連携方法から想定される利用頻度などを考慮し、外部サービス32との連携の制約を回避する設定を行うことができる。例えば、外部サービス32と多くの通信を行うWFアプリでは、同じ外部サービスアカウントを使った複数のアプリ設定を禁止する設定を行うことができる。
【0098】
また例えば、検証部45は、テナント管理者により、アプリ設定にて外部サービスアカウントが設定される際に、外部サービス連携情報の連携条件の検証を行う。例えば、検証部45は、同一アプリや異なるアプリ間の外部サービスアカウントの利用重複上限(使いまわし禁止等)などを検証する。検証部45は、連携条件を満たした場合に、アプリ設定の保存を許可し、連携条件を満たしていない場合はエラー表示などによってアプリ設定の保存を拒絶し、テナント管理者へ設定変更を求める。
【0099】
なお、連携条件として、ユーザの状態(例えばストレージ残容量及び権限など)が考慮されてもよい。
【0100】
また、検証部45は、アプリ設定UI部42によってアプリ設定が受け付けられる前に、連携条件を満たす外部サービス32を、連携可能外部サービスとして特定してもよい。この場合、アプリ設定UI部42は、連携可能外部サービスを含むアプリ設定画面を表示する。テナント管理者が外部サービスアカウントを選択した時にエラーメッセージ表示などで選択できないことを伝えるのではなく、事前に選択できない外部サービスアカウントは選択肢として除外しておくことで、その再選択という手間をなくすことができる。
【0101】
また、連携条件は、外部サービス32のアカウント毎に設定された重複上限を含んでいてもよい。すなわち、WFアプリ単位での判定ではなく、外部サービス32(例えば外部ストレージ)毎の制約によってWFアプリに紐付かない形で検証が行われてもよい。この場合、検証部45は、アプリ設定によって、情報処理システム10内で動作するWFアプリに使用される外部サービス32のアカウントの重複数が、重複上限を超えるか否かを検証する。同一のWFアプリ設定内で同じ外部サービスアカウントを使われているかの検証を行うのではなく、外部サービス32ごとに検証することによって、同じ外部サービス32を利用する異なるWFアプリの設定の際にも、外部サービスアカウントの重複利用状況を検証することができる。
【0102】
本実施形態のPC1、複合機2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4で実行されるプログラムは、例えばインストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0103】
また例えば、本実施形態のPC1、複合機2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のPC1、複合機2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0104】
また例えば、本実施形態のPC1、複合機2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。また例えば、本実施形態のPC1、複合機2、外部サービスサーバ装置3及びクラウドシステムサーバ装置4で実行されるプログラムは、ROM等に予め組み込まれて提供されてもよい。
【符号の説明】
【0105】
1 PC
2 複合機
3 外部サービスサーバ装置
4 クラウドシステムサーバ装置
10 情報処理システム
31 外部サービスアカウント管理部
32 外部サービス
41 アプリ開発UI部
42 アプリ設定UI部
43 個人設定UI部
44 アプリ設定管理部
45 検証部
46 外部サービス連携管理部
47 コンポーネント管理部
48 アプリ管理部
49 記憶部
100 イントラネット
200 外部ネットワーク
【先行技術文献】
【特許文献】
【0106】
【特許文献1】特開2017-107343号公報
【特許文献2】特開2018-136909号公報
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14