JP2016177613A - 情報処理システム、情報処理装置、及び情報処理方法 - Google Patents

情報処理システム、情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP2016177613A
JP2016177613A JP2015058021A JP2015058021A JP2016177613A JP 2016177613 A JP2016177613 A JP 2016177613A JP 2015058021 A JP2015058021 A JP 2015058021A JP 2015058021 A JP2015058021 A JP 2015058021A JP 2016177613 A JP2016177613 A JP 2016177613A
Authority
JP
Japan
Prior art keywords
information
information related
executed
unit
electronic data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015058021A
Other languages
English (en)
Other versions
JP6477092B2 (ja
Inventor
晃佑 波平
Kosuke Namihira
晃佑 波平
雄一郎 林
Yuichiro Hayashi
雄一郎 林
和徳 杉村
Kazunori Sugimura
和徳 杉村
東哲 張
Totetsu Cho
東哲 張
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015058021A priority Critical patent/JP6477092B2/ja
Priority to US15/066,000 priority patent/US9904499B2/en
Publication of JP2016177613A publication Critical patent/JP2016177613A/ja
Application granted granted Critical
Publication of JP6477092B2 publication Critical patent/JP6477092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/1271Job submission at the printing node, e.g. creating a job from a data stored locally or remotely
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)
  • Software Systems (AREA)

Abstract

【課題】外部サービスと連携した一連の処理に対して動的に処理を追加する。【解決手段】電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーションに関して、アプリ識別情報と第1の処理に関する情報とを関連付けて記憶手段に記憶しておく。アプリ識別情報と電子データに関する情報とを含む要求を受信し、そのアプリ識別情報に関連付けて記憶手段に記憶されている第1の処理に関する情報に基づいて、第1の処理を電子データに対して実行する。そのとき、第1の処理に含まれる一つの処理が実行される前に、その処理の前に実行させるべき処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、それに応じて、必要なら第2の処理に関する情報を生成して第2の処理を電子データに対して実行する。【選択図】図7

Description

本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになってきており、このような外部サービスと機器とが連携して処理を行う技術が知られている。例えば画像形成装置で原稿をスキャンして取得した画像データを外部ストレージサービスに保管する技術が知られている。
また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネント部品を制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネント部品が組み合わされて、事務フローを実現する一連の処理が実行される。
ここで、上記の従来技術においては、予め定義された事務フローモデルに基づき事務フローが生成される。したがって、事務フローを実現する一連の処理に対して、動的に処理を追加等することができなかった。このため、実行される一連の処理の途中で、特定の処理を行う必要が生じた場合、改めて当該特定の処理を含めた一連の処理を実行させる必要があった。
本発明の一実施形態は、上記の点に鑑みてなされたもので、外部サービスと連携した一連の処理に対して動的に処理を追加することを目的とする。
上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段とを有し、前記処理実行手段は、前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行することを特徴とする。
本発明の一実施形態によれば、外部サービスと連携した一連の処理に対して動的に処理を追加することができる。
第1の実施形態に係る情報処理システムの一例のシステム構成図である。 第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。 第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。 第1の実施形態に係る情報処理システムの一例の処理ブロック図である。 共通I/F及び固有I/Fの一例を示す図である。 処理内容の一例を示す図である。 第1の実施形態に係るロジック処理部の一例の処理ブロック図である。 第1の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。 スキャン配信サービスを利用するためのアプリ画面の一例を示す図である。 第1の実施形態に係る配信実行処理の一例のシーケンス図である。 変更ルール情報テーブルの一例を示す図である。 フロー経過情報テーブルの一例の説明するための図である。 変更処理内容の一例を示す図である。 第2の実施形態に係る配信実行処理の一例のシーケンス図である。 変更された処理内容を承認するための画面の一例を示す図である。
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
[第1の実施形態]
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を用いて説明する。図1は、第1の実施形態に係る情報処理システムの一例のシステム構成図である。図1に示される情報処理システム1は、サービス提供環境E1、ユーザ環境E2、及び外部ストレージシステム30を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
サービス提供環境E1は、ネットワークを介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供されるサービスに関して本実施の形態が適用されてもよい。
サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークを介して、外部サービスと連携した所定のサービスを提供する。例えば、サービス提供システム10は、ユーザ環境E2の画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、外部ストレージシステム30に保存するサービス(スキャン配信サービス)を提供する。本実施形態では、サービス提供システム10は、このようなスキャン配信サービスを提供するものとして説明する。
ただし、サービス提供システム10により提供されるサービスは、これに限られない。サービス提供システム10は、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供してもよい。また、サービス提供システム10は、例えば、画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば英語から日本語に翻訳)して、外部ストレージシステム30に保存するサービスを提供してもよい。さらに、サービス提供システム10は、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2のプロジェクタで投影するサービス等を提供してもよい。
なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていてもよい。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部は、ユーザ環境E2に包含されていてもよい。
ユーザ環境E2は、例えば画像形成装置20を使用するユーザである企業等におけるシステム環境である。ユーザ環境E2は、一台以上の画像形成装置20が例えばLAN(Local Area Network)等のネットワークを介して接続されている。
本実施形態に係る画像形成装置20は、スキャン機能を有する。ただし、画像形成装置20は、スキャン機能以外に、プリント機能やコピー機能、ファックス(FAX)通信機能等を備える複合機等でもよい。
外部ストレージシステム30は、ネットワークを介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30の記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム30によって貸し出される記憶領域に、電子ファイルを保存(アップロード)する。
なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム30」、「外部ストレージシステム30」等と添え字を用いて記載する。また、外部ストレージシステム30によって提供されるサービスの名称を「ストレージサービスA」、ストレージシステム30によって提供されるサービスの名称を「ストレージサービスB」等とする。
また、外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであってもよい。さらに、図1に示される情報処理システム1の構成は一例であって、他の構成であってもよい。例えば、ユーザ環境E2は、画像形成装置20に加えて又は画像形成装置20に代えて、プロジェクタ、電子黒板、携帯電話、スマートフォン等の各種機器を有していてもよい。
<ハードウェア構成>
次に、本実施形態に係るサービス提供システム10及び画像形成装置20のハードウェア構成について、それぞれ図2及び図3を用いて説明する。
≪サービス提供システム≫
図1に示されるサービス提供システム10は、例えば図2に示されるようなハードウェア構成を有する。図2は、第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12は、必要なときにサービス提供システム10に接続して利用する形態であってもよい。
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介してデータ通信を行うことができる。
HDD18は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。なお、サービス提供システム10は、HDD108に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。また、HDD108は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取り及び/又は書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
本実施形態に係るサービス提供システム10は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
≪画像形成装置≫
図1に示される画像形成装置20は、例えば図3に示されるようなハードウェア構成を有する。図3は、第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。図3に示す画像形成装置20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、スキャナ25とを有する。また、コントローラ21は、CPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを有する。ROM213は、各種プログラムやデータが格納されている。RAM212はプログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は各種プログラムやデータが格納されている。
CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する。
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、画像形成装置20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。記録媒体23aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F24は、画像形成装置20をネットワークN1に接続するインタフェースである。これにより、画像形成装置20は通信I/F24を介してデータ通信を行うことができる。スキャナ25は原稿を読み取り画像ファイル(電子ファイル)を生成するための読取装置である。
本実施形態に係る画像形成装置20は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
<ソフトウェア構成>
次に、本実施形態に係る情報処理システム1の処理ブロックについて、図4を用いて説明する。図4は、第1の実施形態に係る情報処理システムの一例の処理ブロック図である。
画像形成装置20は、例えばCPU211等により実現されるブラウザ210を有する。画像形成装置20のユーザは、ブラウザ210を介して、サービス提供システム10により提供されるサービスを利用することができる。このように、本実施形態に係る画像形成装置20では、ブラウザ210が搭載されていればよく、サービスを利用するための専用のアプリケーションを開発等する必要がない。
サービス提供システム10は、サービス処理部110と、ドキュメントサービス部150と、ストレージサービス連携部160とを有する。これら各部は、サービス提供システム10にインストール又はダウンロードされる1以上のプログラムが、CPU16等に実行させる処理により実現される。
また、サービス提供システム10は、アプリ情報記憶部190を有する。このアプリ情報記憶部190は、HDD18により実現される。なお、アプリ情報記憶部190は、サービス提供システム10とネットワークを介して接続される記憶装置等により実現されてもよい。
サービス処理部110は、アプリ管理部120と、ロジック処理部130と、データI/F部140とを有する。
アプリ管理部120は、アプリ情報記憶部190に記憶されているアプリ情報1000を管理する。アプリ管理部120は、ブラウザ210からの要求に応じて、アプリ情報1000に含まれる画面定義に基づくアプリ画面を返信する。これにより、画像形成装置20のブラウザ210には、サービス提供システム10により提供されるサービスを利用するためのアプリ画面が表示される。ここで、アプリ情報1000は、上述したアプリ画面を画像形成装置20に表示させるための画面定義と、当該アプリ情報1000により実現されるサービスの処理内容とが記述された情報である。
また、アプリ管理部120は、ロジック処理部130からの要求に応じて、アプリ情報1000に含まれる処理内容を返信する。処理内容には、詳細は後述するが、スキャン配信サービス等のサービス提供システム10により提供されるサービスを実現するための一連の処理が記述されている。
ロジック処理部130は、ブラウザ210からの要求に応じて、アプリ管理部120から処理内容を取得する。そして、ロジック処理部130は、取得した処理内容に基づきドキュメントサービス部150やストレージサービス連携部160のファイル処理部170に対して、処理の実行を要求する。これにより、サービス提供システム10による各種サービスが、画像形成装置20に提供される。なお、ロジック処理部130の詳細な処理ブロックについては、後述する。
データI/F部140は、ブラウザ210からの要求に応じて、ストレージサービス連携部160のデータ処理部180に対して、所定の要求(例えばフォルダ一覧の取得等の要求)を行う。
ドキュメントサービス部150は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部150には、例えば、電子ファイルに対してOCR処理を実行するOCR処理151、電子ファイルをパスワード付き電子ファイルに変換する機密変換処理152等が含まれる。なお、ドキュメントサービス部150は、例えば、電子ファイルを画像形成装置20が印刷可能な印刷データに変換するプログラム、電子ファイルの圧縮又は解凍するためのプログラム、言語の翻訳処理を行うためのプログラム等が含まれてもよい。
ストレージサービス連携部160は、ロジック処理部130及びデータI/F部140からの要求に応じて、外部ストレージシステム30に対して、各種処理の実行を要求する。ここで、サービス提供システム10は、外部ストレージシステム30毎に、ストレージサービス連携部160をそれぞれ有する。すなわち、サービス提供システム10は、外部ストレージシステム30に対して処理を要求するためのストレージサービスA連携部160、外部ストレージシステム30に対して処理を要求するためのストレージサービスB連携部160等を有する。このように、サービス提供システム10は、連携して処理を行う外部ストレージシステム30毎に、それぞれ対応するストレージサービス連携部160を有する。なお、以降では、複数のストレージサービス連携部160について、各々を区別するときは、上記のように「ストレージサービスA連携部160」、「ストレージサービスB連携部160」等と添え字を用いて記載する。
ストレージサービス連携部160は、上述したように、ロジック処理部130からの要求を受け付けるファイル処理部170と、データI/F部140からの要求を受け付けるデータ処理部180とを有する。
ファイル処理部170は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F171及び固有I/F172を有する。共通I/F171は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の共通I/F171は、すべての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。一方、固有I/F172は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の固有I/F172は、ある特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、ファイルの編集等)を利用するためのAPI群である。したがって、共通I/F171は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F171は、当該固有I/F171で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。
一方、データ処理部180は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧、フォルダ一覧等)を取得等するためのAPIが定義された共通I/F181及び固有I/F182を有する。共通I/F181は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すようなAPIが挙げられる。換言すれば、データ処理部180の共通I/F181は、すべての外部ストレージシステム30で利用できるメタデータ取得等の機能を利用するためのAPI群である。一方、固有I/F182は、ある特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すようなAPIが挙げられる。換言すれば、データ処理部180の固有I/F182は、ある特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。したがって、共通I/F181は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F181は、当該固有I/F181で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。なお、ストレージサービス連携部160の追加等は、SDK(Software Development Kit)を用いて行うことができる。
ここで、図5に示されるように共通I/F171及び固有I/F172で定義されるAPIは、「外部サービス名(ストレージサービス名)」を指定することで利用することができる(すなわち、「ストレージサービス名」が可変部分として定義されている)。
アプリ情報記憶部190は、アプリ情報1000を記憶する。アプリ情報1000は、アプリ画面を画像形成装置20に表示させるための画面定義と、サービス提供システム10により提供されるサービスを実現するため一連の処理を示す処理内容とが記述された情報である。アプリ情報1000は、アプリ情報1000を一意に識別するためのアプリID毎に、アプリ情報記憶部190に記憶されている。本実施形態では、ストレージサービスAと連携したスキャン配信サービスを実現するためのアプリ情報を「アプリ情報1000」とし、このアプリ情報1000のアプリIDを「app001」とする。
ここで、アプリ情報1000に含まれる処理内容を図6に示す。図6は、処理内容の一例を示す図である。図6に示す処理内容1100は、スキャンして生成された電子ファイルについて、OCR処理した後、ストレージサービスAの指定されたフォルダに配信する一連の処理を示している。図6に示す処理内容1100の「flowId」にはアプリ情報1000において処理内容を一意に識別するためのフローID「flow1」が定義されている。また、図6に示す処理内容1100の「flowDetails」には、処理内容を構成するオペレーション1101及び1101が定義されている。ここで、オペレーションとは、サービス提供システム10により提供されるサービスを実現するための一連の処理が定義された処理内容を構成する各処理のことである。すなわち、処理内容は、1以上のオペレーションが定義されることにより構成される。
図6に示す処理内容1100は、OCR処理を実行するオペレーション1101及びストレージサービスAへの配信(アップロード)処理を実行するオペレーション1102で構成されている。より具体的には、オペレーション1101は、英語でOCR処理を実行してPDF(Portable Document Format)形式で処理結果を出力する。また、オペレーション1102は、ストレージサービスAの指定されたフォルダIDのフォルダに電子ファイルを配信(アップロード)する。
なお、図6に示す処理内容1100は、スキャン配信サービスを実現するための一例である。スキャン配信サービスは、例えば、ドキュメントサービス部150に含まれるプログラムにより実現される各種処理を、さらに組み合わせた一連の処理により実現されてもよい。例えば、スキャン配信サービスは、「スキャンされた電子ファイルについて、OCR処理を行った後、英語を日本語に翻訳して、ストレージサービスAの指定されたフォルダに配信する」等であってもよい。
また、アプリ情報1000には、複数の処理内容が含まれてもよい。すなわち、アプリ情報1000には、フローIDが異なる複数の処理内容が含まれてもよい。
次に、本実施形態に係るロジック処理部130の詳細な処理ブロックについて、図7を用いて説明する。図7は、第1の実施形態に係るロジック処理部の一例の処理ブロック図である。ロジック処理部130は、フロー実行部131と、コンポーネント管理部132と、コンポーネント群133と、フロー経過管理部134と、フロー変更部135と、フロー経過情報記憶部136と、変更ルール情報記憶部137とを有する。
フロー実行部131は、ブラウザ210からスキャン配信サービスの処理の実行要求を受け付けると、アプリ管理部120を介して、アプリ情報1000から処理内容を取得する。そして、フロー実行部131は、アプリ情報1000から取得した処理内容に定義されたオペレーションに従ってコンポーネントに対して処理の実行を要求する。なお、ここで、コンポーネントとは、各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。
また、フロー実行部131は、コンポーネントから処理結果を受け取ると、フロー経過情報の更新をフロー経過管理部134に要求する。ここで、フロー経過情報とは、処理内容に定義されたオペレーションのうち実行済のオペレーションに関する情報である。
さらに、フロー実行部131は、処理内容に定義されたオペレーションに従ってコンポーネントに対して処理の実行を要求する前、又は処理を実行したコンポーネントから処理結果を受け取った後に、処理内容の変更要否の判定をフロー変更部135に要求する。このように、本実施形態に係るサービス提供システム10では、処理内容に定義されたオペレーションに従った処理の実行前又は実行後に、処理内容の変更要否を判定する。そして、後述するように、この判定結果に応じて、フロー変更部135により処理内容が変更される。このようにして、一連の処理を示す処理内容が動的に変更される。
コンポーネント管理部132は、フロー実行部131からの要求に応じて、コンポーネントの生成を行う。なお、コンポーネントの生成とは、例えばクラスで定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することを意味する。
コンポーネント群133は、コンポーネントの集合である。コンポーネント群133には、外部ストレージシステム30に電子ファイルを配信するための配信コンポーネント1331、電子ファイルにOCR処理を行うためのOCRコンポーネント1332が含まれる。また、コンポーネント群133には、電子ファイルをパスワード付き電子ファイルに変換するための機密変換コンポーネント1333が含まれる。なお、コンポーネント群133には、これら以外にも、例えば、外部ストレージシステム30から電子ファイルを取得するための取得コンポーネントや外部ストレージシステム30を利用するための認証情報を取得するための認証コンポーネント等が含まれてもよい。
このように、コンポーネント群133には、処理内容に定義されたオペレーションの処理を実行するコンポーネントが定義されている。したがって、フロー実行部131は、処理内容に定義されたオペレーションに従って、オペレーションに対応するコンポーネントに処理の実行を要求することで、サービス提供システム10により提供されるサービスを実現するための一連の処理が実行される。
さらに、これらの各コンポーネントは、コンポーネント共通I/F1330を有する。コンポーネント共通I/F1330は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。このように、各コンポーネントがコンポーネント共通I/F1330を有するようにすることで、コンポーネントの追加等に伴う影響を局所化することができる。これにより、コンポーネントの追加等の開発に要する工数を削減することができる。
フロー経過管理部134は、フロー実行部131からフロー経過情報を受け取った場合に、受け取ったフロー経過情報に含まれる情報をフロー経過情報記憶部136に記憶させる。
フロー変更部135は、フロー実行部131からの要求に応じて、変更ルール情報記憶部137に記憶されている変更ルール情報テーブル1371に基づき、処理内容の変更要否を判定する。そして、フロー変更部135は、判定結果に応じて処理内容を変更する。ここで、処理内容を変更するとは、処理内容に新たにオペレーションの定義を追加した処理内容を生成すること、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成することを意味する。
フロー経過情報記憶部136は、フロー経過情報テーブル1361を記憶する。フロー経過情報テーブル1361は、処理内容に定義されたオペレーションの実行状況が管理される。これにより、フロー経過管理部134は、一連の処理を示す処理内容に定義された各オペレーションについて、どこまでのオペレーションが実行済であるのかを管理することができる。なお、フロー経過情報テーブル1361の詳細については後述する。
変更ルール情報記憶部137は、変更ルール情報テーブル1371を記憶する。変更ルール情報テーブル1371は、処理内容を変更するためにフロー変更部135により参照される情報であり、処理内容を変更するための条件と当該条件を充足した際の変更内容とが管理されている。なお、変更ルール情報テーブル1371の詳細については後述する。
以上のように、本実施形態に係るサービス提供システム10は、一連の処理を示す処理内容に定義されたオペレーションに従った処理の実行前又は実行後に、変更ルール情報テーブル1371に基づき、処理内容の変更要否を判定する。そして、サービス提供システム10は、判定結果に応じて処理内容が変更される。これにより、サービス提供システム10により実行される処理内容が動的に変更される。
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
≪スキャン配信サービスの全体処理≫
まず、画像形成装置20のユーザが本実施形態に係るスキャン配信サービスを利用する場合の全体的な処理について、図8を用いて説明する。図8は、第1の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。
まず、画像形成装置20のユーザは、ブラウザ210を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置20は、サービスの一覧の取得要求をサービス提供システム10のサービス処理部110に送信する(ステップS801)。そして、サービス処理部110のアプリ管理部120は、当該取得要求を受信すると、サービス提供システム10により提供されるサービスの一覧を画像形成装置20に送信する。これにより、画像形成装置20のブラウザ210により、画像形成装置20の操作パネル22にサービス提供システム10により提供されるサービスの一覧が表示される。なお、サービスの一覧には、サービス提供システム10により提供されるサービスのサービス名と、このサービスを実現するためのアプリ情報1000のアプリIDと、このアプリ情報1000に含まれる処理内容のフローIDとが含まれる。
ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ210は、選択されたサービスを実現するためのアプリ情報1000のアプリIDをアプリ管理部120に送信する(ステップS802)。ここでは、ユーザによりストレージサービスAにスキャン配信するためのサービス「スキャン配信サービス」の利用が選択されたものとする。したがって、ブラウザ210は、アプリ情報1000のアプリID「app001」をアプリ管理部120に送信する。そして、アプリ管理部120は、ブラウザ210から受け取ったアプリID「app001」のアプリ情報1000に含まれる画面定義に基づきHTML(HyperText Markup Language)形式のアプリ画面を生成し、ブラウザ210に送信する。
ブラウザ210は、アプリ管理部120から受け取ったアプリ画面を受信すると、例えば図9に示すようなアプリ画面1500を、操作パネル22に表示させる(ステップS803)。図9は、ストレージサービスAにスキャン配信するスキャン配信サービスを利用するためのアプリ画面1500である。
次に、ユーザは、図9に示すアプリ画面1500において、ファイル名入力欄1502にスキャンにより生成される電子ファイルに付与する所望のファイル名を入力する。また、ユーザは、保存先フォルダID入力欄1503にスキャンにより生成される電子ファイルを保存するストレージサービスAのフォルダのフォルダIDを入力する。ここでは、ファイル名入力欄1502にファイル名「test」及び保存先フォルダID入力欄1503に保存先のフォルダのフォルダID「/folder1」が入力されたものとする。なお、図9に示すアプリ画面1500では、OCR言語選択欄1501には英語でOCR処理を行うことを示す「English」が選択されているが、ユーザが所望の言語をしてもよい。
また、図9に示すアプリ画面1500では、ストレージサービスAにおける保存先フォルダのフォルダIDをユーザが直接入力するものとしたが、保存先フォルダをフォルダ一覧からユーザが選択できるようにしてもよい。すなわち、例えばデータI/F140がデータ処理部180を介してストレージサービスAのフォルダ一覧を取得し、取得されたフォルダ一覧からユーザが保存先フォルダを選択できるようにしてもよい。
そして、ユーザは、画像形成装置20のスキャナ25に原稿をセットした上で、スキャン実行ボタン1504を押下する(ステップS804)。これにより、画像形成装置20のスキャナ25により原稿が読み取られ、ファイル名入力欄1502に入力されたファイル名の電子ファイルが生成される(ステップS805)。そして、画像形成装置20は、生成された電子ファイルをストレージサービスAに配信するための配信実行処理を行う(ステップS806)。この配信実行処理について、図10を用いて詳細に説明する。
ここで、図10に示す配信実行処理では、スキャンして生成した電子ファイルをOCR処理した後に、当該OCR処理後の電子ファイルをパスワード付き電子ファイルに変換する処理を動的に追加する場合について説明する。したがって、図10に示す配信実行処理では、このように動的に処理が追加された結果(処理内容が変更された結果)、当該追加された処理により変換されたパスワード付き電子ファイルがストレージサービスAに配信(アップロード)される。
≪配信実行処理≫
図10は、第1の実施形態に係る配信実行処理の一例のシーケンス図である。
まず、ブラウザ210は、スキャン配信サービスの処理の実行要求をフロー実行部131に送信する(ステップS1001)。ここで、当該実行要求には、アプリID「app001」、実行される処理内容のフローID「flow1」、スキャンにより生成された電子ファイル、保存先フォルダのフォルダID等が含まれる。そして、フロー実行部131は、処理の実行要求を受け付けると、アプリ管理部120を介して、当該処理の実行要求に含まれるアプリID「app001」のアプリ情報1000からフローID「flow1」の処理内容を取得する(ステップS1002)。すなわち、フロー実行部131は、図6に示す処理内容1100を取得する。
フロー実行部131は、処理内容に基づき実行されるジョブを一意に識別するためのジョブIDを発行する(ステップS1003)。ここでは、ジョブID「Job001」が発行されたものとする。
次に、フロー実行部131は、処理内容の変更要否の判定をフロー変更部135に要求する(ステップS1004)。ここで、当該判定要求には、ステップS1002で取得した処理内容1100、及びスキャンにより生成された電子ファイルを示すデータ等が含まれる。なお、電子ファイルには、例えば入力ストリームを示す「InputStream」や電子ファイルの保存先パスを示す「LocalFilePath」等の各種のデータ型が定義されているが、このようなデータ型を意識することなく扱われる電子ファイルを単に「データ」と表す。
そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する(ステップS1005)。
ここで、フロー変更部135は、例えば図11に示すような変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。より具体的には、フロー変更部135は、図11に示す変更ルール情報テーブル1371の「変更条件」を参照して、該当する変更条件が存在するか否かを判定する。換言すれば、フロー変更部135は、処理内容に新たにオペレーションの定義を追加した処理内容、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成するか否かを判定する。
そして、フロー変更部135は、該当する変更条件が存在する場合、処理内容の変更が必要であると判定する一方、該当する変更条件が存在しない場合、処理内容の変更は不要であると判定する。ここでは、フロー変更部135は、変更不要を示す判定結果を得たものとする。すると、フロー変更部135は、判定結果をフロー実行部131に送信する。
次に、フロー実行部131は、処理内容に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1006)。より具体的には、フロー実行部131は、図6に示す処理内容1100のオペレーション1101に基づき、OCRコンポーネント1332の取得をコンポーネント管理部132に要求する。
コンポーネント管理部132は、OCRコンポーネント1332の取得要求を受け付けると、OCRコンポーネント1332を生成する(ステップS1007)。OCRコンポーネント1332の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、OCRコンポーネント1332が生成されると、コンポーネント管理部132は、OCRコンポーネント1332をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、OCRコンポーネント1332が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。
フロー実行部131は、生成されたOCRコンポーネント1332に対して、データを指定して処理の実行を要求する(ステップS1008)。
OCRコンポーネント1332は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1009)。より具体的には、OCRコンポーネント1332は、ドキュメントサービス部150のOCR処理151に対して処理の実行を要求し、OCR処理151が指定されたデータ(すなわち、電子ファイル)に対してOCR処理を実行する。そして、OCRコンポーネント1332は、処理結果をフロー実行部131に返信する。なお、ここで、返信される処理結果は、スキャンにより生成された電子ファイルをOCR処理された後のデータ(より具体的には、PDF形式の電子ファイル)である。
次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1010)。ここで、フロー経過情報には、ステップS1003で発行されたジョブID「Job001」と、処理内容1100のフローID「flow1」と、実行されたOCRコンポーネント1332に対応するオペレーション1101のオペレーション名「ocr」とが含まれる。
続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1011)。より具体的には、図12(a)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」、オペレーション「ocr」のレコードを追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される処理内容1100に含まれるオペレーション1101が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。
次に、フロー実行部131は、処理内容の変更要否の判定をフロー変更部135に要求する(ステップS1012)。ここで、当該判定要求には、ステップS1002で取得した処理内容1100、及びステップS1009でOCR処理された後のデータ等が含まれる。
そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する(ステップS1013)。
ここで、フロー変更部135は、例えば図11に示すような変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。より具体的には、フロー変更部135は、図11に示す変更ルール情報テーブル1371の「変更条件」を参照して、該当する変更条件が存在するか否かを判定する。換言すれば、フロー変更部135は、処理内容に新たにオペレーションの定義を追加した処理内容、又は処理内容に定義されたオペレーションを削除若しくは変更した処理内容を生成するか否かを判定する。
そして、フロー変更部135は、該当する変更条件が存在する場合、処理内容の変更が必要であると判定する一方、該当する変更条件が存在しない場合、処理内容の変更は不要であると判定する。ここでは、データ(PDF形式の電子ファイル)に「パスワード」との文言が含まれていたことにより、フロー変更部135は、変更ルールID「1」の変更条件に該当すると判定したものとする。
すると、フロー変更部135は、ステップS1002で取得した処理内容を、上記のステップS1013で変更条件に該当すると判定された変更ルールIDの変更内容に基づき変更する(ステップS1014)。より具体的には、フロー変更部135は、ステップS1013で変更条件に該当すると判定された変更ルールID「1」の変更内容に基づき、処理内容1100を図13に示す変更処理内容2000に変更する。すなわち、フロー変更部135は、処理内容1100において実行済のオペレーション1101の次に、変更ルールID「1」の変更内容に基づき、PDF形式の電子ファイルをパスワード付きPDF形式の電子ファイルに変換するオペレーション2100を追加する。このようにして、本実施形態に係るサービス提供システム10では、フロー実行部131により実行される処理内容が動的に変更される。そして、フロー変更部135は、変更処理内容2000をフロー実行部131に送信する。
次に、フロー実行部131は、ステップS1014で変更された処理内容(すなわち、変更処理内容2000)に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1015)。より具体的には、フロー実行部131は、図13に示す変更処理内容2000のオペレーション1101の次に定義されたオペレーション2100に基づき、機密変換コンポーネント1333の取得をコンポーネント管理部132に要求する。
コンポーネント管理部132は、機密変換コンポーネント1333の取得要求を受け付けると、機密変換コンポーネント1333を生成する(ステップS1016)。機密変換コンポーネント1333の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、機密変換コンポーネント1333が生成されると、コンポーネント管理部132は、機密変換コンポーネント1333をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、機密変換コンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。
フロー実行部131は、生成された機密変換コンポーネント1333に対して、データを指定して処理の実行を要求する(ステップS1017)。ここで、指定されるデータは、具体的には、ステップS1009でOCRコンポーネント1332から処理結果として返信されたデータである。
機密変換コンポーネント1333は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1018)。より具体的には、機密変換コンポーネント1333は、ドキュメントサービス部150の機密変換処理152に対して処理の実行を要求し、機密変換処理152が指定されたデータに対してパスワードを付加する処理を行う。すなわち、機密変換処理152は、指定された電子ファイルを、パスワード付き電子ファイルに変換する。そして、機密変換コンポーネント1333は、処理結果をフロー実行部131に返信する。なお、ここで、返信される処理結果は、パスワードを付加したデータ(より具体的には、パスワード付きPDF形式の電子ファイル)である。
次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1019)。ここで、フロー経過情報には、ジョブID「Job001」と、変更処理内容2000のフローID「flow1」と、実行された機密変換コンポーネント1333に対応するオペレーション2100のオペレーション名「pdf2securepdf」とが含まれる。
続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容(変更処理内容)のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1020)。より具体的には、図12(b)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」で特定されるレコードに、オペレーション「pdf2securepdf」を追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される変更処理内容2000に含まれるオペレーション1101及び2100が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。
次に、フロー実行部131は、処理内容(変更処理内容)の変更要否の判定をフロー変更部135に要求する(ステップS1021)。ここで、当該判定要求には、変更処理内容2000、ステップS1018でパスワードが付加されたデータ等が含まれる。
そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容(変更処理内容)の変更要否を判定する(ステップS1022)。ここでは、ステップS1005と同様に、フロー変更部135は、変更不要を示す判定結果を得たものとする、すると、フロー変更部135は、判定結果をフロー実行部131に送信する。
次に、フロー実行部131は、変更処理内容2000に定義されたオペレーションに従って、コンポーネントの取得をコンポーネント管理部132に要求する(ステップS1023)。より具体的には、フロー実行部131は、図13に示す変更処理内容2000のオペレーション2100の次に定義されたオペレーション1102に基づき、配信コンポーネント1331の取得をコンポーネント管理部132に要求する。
コンポーネント管理部132は、配信コンポーネント1331の取得要求を受け付けると、配信コンポーネント1331を生成する(ステップS1024)。配信コンポーネント1331の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、配信コンポーネント1331が生成されると、コンポーネント管理部132は、配信コンポーネント1331をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、配信コンポーネント1331が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却すればよい。
フロー実行部131は、生成された配信コンポーネント1331に対して、データを指定して処理の実行を要求する(ステップS1025)。ここで、指定されるデータは、具体的には、ステップS1018で機密変換コンポーネント1333から処理結果として返信されたデータである。
配信コンポーネント1331は、フロー実行部131からデータを指定した処理の実行要求を受け取ると、指定されたデータに対して処理を実行する(ステップS1026)。より具体的には、配信コンポーネント1331は、ストレージサービスA連携部160のファイル処理部170に対して、共通I/F171として定義されているファイル保存のAPIを用いて、データの配信実行を要求する。すなわち、配信コンポーネント1331は、ストレージサービスA連携部160のファイル処理部170に対して、図5(a)に示すAPIとして「外部サービス名/process/folder」を用いて、例えば「service-a/process/folder?path=/floder1&name=test」と指定する。これにより、ストレージサービスAのフォルダパス「/folder1」のフォルダに、ファイル名「test」のデータ(具体的には、パスワード付きPDF形式の電子ファイル)が配信される。そして、配信コンポーネント1331は、データの配信処理の結果をフロー実行部131に送信する。
次に、フロー実行部131は、フロー経過情報の更新をフロー経過管理部134に要求する(ステップS1027)。ここで、フロー経過情報には、ジョブID「Job001」と、変更処理内容2000のフローID「flow1」と、実行された配信コンポーネント1331に対応するオペレーション1101のオペレーション名「uploadFile」とが含まれる。
続いて、フロー経過管理部134は、フロー経過情報に含まれるジョブIDと、処理内容(変更処理内容)のフローIDと、オペレーション名とに基づき、フロー経過情報記憶部136のフロー経過情報テーブル1361を更新する(ステップS1028)。より具体的には、図12(c)に示すように、フロー経過情報テーブル1361に、ジョブID「Job001」、アプリID「app001」、フローID「flow1」で特定されるレコードに、オペレーション「uploadFile」を追加する。これにより、ジョブID「Job001」のジョブにおいて、アプリID「app001」のフローID「flow1」で特定される変更処理内容2000に含まれるオペレーション1101、2100、及び1102が実行済であることが管理される。そして、フロー経過管理部134は、更新が完了したことを示す更新結果をフロー実行部131に送信する。
次に、フロー実行部131は、処理内容(変更処理内容)の変更要否の判定をフロー変更部135に要求する(ステップS1029)。ここで、当該判定要求には、変更処理内容2000、ステップS1026でストレージサービスAに配信(アップロード)されたデータ等が含まれる。
そして、フロー変更部135は、変更ルール情報テーブル1371を参照して、処理内容(変更処理内容)の変更要否を判定する(ステップS1030)。ここでは、ステップS1005及びステップS1022と同様に、フロー変更部135は、変更不要を示す判定結果を得たものとする、すると、フロー変更部135は、判定結果をフロー実行部131に送信する。最後に、フロー実行部131は、データの配信処理が完了したことを示す処理結果をブラウザ210に送信する。これにより、本実施形態に係る配信実行処理が完了する。
なお、本実施形態に係る配信実行処理では、上記のステップS1014において処理内容に対する変更内容として、実行済みのオペレーションの次に新たなオペレーションを追加する場合について説明したが、これに限られない。すなわち、処理内容に対する変更内容として、実行済みのオペレーションの次に定義されているオペレーションを削除又は変更してもよい。また、変更内容として追加するオペレーション、削除するオペレーション、及び変更するオペレーションは、1つに限られず、複数のオペレーションであってもよい。換言すれば、変更ルール情報テーブル1371の変更条件に合致した場合の変更内容は、例えば情報処理システム1の管理者等が任意に設定することができる。
このように、本実施形態に係るサービス提供システム10では、一連の処理を示す処理内容を実行する際に、この処理内容を動的に変更することができる。したがって、本実施形態に係るサービス提供システム10では、アプリ情報記憶部190で管理される処理内容の増大を抑制させることできる。例えば、アプリ情報記憶部190には利用頻度が高い基本的な処理内容を管理しておく一方で、データの特性等に応じて行われる固有の処理は動的に追加等されるような構成にすることで、アプリ情報記憶部190に管理される処理内容の数を抑制することができる。このため、サービス提供システム10の管理者に対しては処理内容の管理負担を軽減させることができるとともに、ユーザに対しては処理内容により実現されるサービスを選択する場合等の操作負担を軽減させることができる。
[第2の実施形態]
次に、第2の実施形態に係る情報処理システム1について説明する。第2の実施形態に係る情報処理システム1に含まれるサービス提供システム10は、フロー変更部135により処理内容が変更された場合、変更された処理内容で処理を続行させるか否かをユーザに選択させるものである。これにより、ユーザは、動的に変更された処理内容について、自身で変更内容を確認した上で、処理を続行させることができるようになる。なお、以降では、第1の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第1の実施形態と同一の符号を用いて、その説明を省略する。
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
≪配信実行処理≫
第2の実施形態に係る配信実行処理について、図14を用いて説明する。図14は、第2の実施形態に係る配信実行処理の一例のシーケンス図である。
フロー実行部131は、フロー変更部135から変更処理内容2000を受け取ると、変更処理内容2000をブラウザ210に送信する(ステップS1401)。また、このとき、フロー実行部131は、ブラウザ210に例えば図15に示すような承認画面3000を表示させるための画面定義をアプリ管理部120から取得し、取得した画面定義に基づき生成されるアプリ画面をブラウザ210に送信する。
ブラウザ210は、フロー実行部131から変更処理内容2000及びアプリ画面を受け取ると、変更処理内容2000及びアプリ画面に基づき図15に示すような承認画面3000を表示させる(ステップS1402)。ユーザは、図15に示す承認画面3000を確認することにより、処理内容が変更されたことを知ることができる。ユーザが承認画面3000において「はい」ボタン3001が選択されると、ブラウザ210は、ユーザにより処理内容の変更が承認されたことを示す情報をフロー実行部131に送信する。これにより、フロー実行部131により変更処理内容2000に従った処理が実行される。
一方、ユーザが承認画面3000において「いいえ」ボタン3002が選択されると、ブラウザ210は、ユーザにより処理内容の変更が拒否されたことを示す情報をフロー実行部131に送信する。このとき、フロー実行部131は、変更処理内容2000に従った処理を中止(すなわち、ジョブID「Job001」を中止)させる。ただし、フロー実行部131は、変更処理内容2000に従った処理を中止させるのではなく、変更前の処理内容1100に従った処理を行うようにしてもよい。
<まとめ>
以上のように、第1の実施形態に係るサービス提供システム10は、各コンポーネントに対して処理の実行を要求する前、又は処理を実行したコンポーネントから処理結果を受け取った後に、変更ルール情報テーブル1371を参照して、処理内容の変更要否を判定する。そして、サービス提供システム10は、変更ルール情報テーブル1371の変更条件に合致する場合、処理内容を、合致した変更条件に対応する変更内容に変更する。これにより、本実施形態に係るサービス提供システム10では、処理内容を動的に変更させることができる。したがって、本実施形態に係るサービス提供システム10では、アプリ情報記憶部190で管理される処理内容の増大を抑制させることできる。
また、第2の実施形態に係るサービス提供システム10は、処理内容が変更された場合に、ユーザに変更内容を確認させることができる。これにより、ユーザは、動的に変更された処理内容を確認した上で、変更された処理内容で処理を続行させるか否かを選択することができる。したがって、サービス提供システム10により動的に変更された処理内容がユーザの意図しないものであった場合等において、ユーザの意図しない処理が行われることを防止することができる。
なお、アプリ情報記憶部190は、第1の記憶手段の一例である。フロー実行部131は、受信手段及び処理実行手段の一例である。フロー変更部135は、処理変更手段の一例である。変更ルール情報記憶部137は、第2の記憶手段の一例である。
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 情報処理システム
10 サービス提供システム
20 画像形成装置
30 外部ストレージシステム
110 サービス処理部
120 アプリ管理部
130 ロジック処理部
131 フロー実行部
132 コンポーネント管理部
133 コンポーネント群
134 フロー経過管理部
135 フロー変更部
136 フロー経過情報記憶部
137 変更ルール情報記憶部
140 データI/F部
150 ドキュメントサービス部
151 OCR処理
152 機密変換処理
160 ストレージサービス連携部
170 ファイル処理部
180 データ処理部
190 アプリ情報記憶部
特許第5112085号公報

Claims (7)

  1. 1以上の情報処理装置により構成される情報処理システムであって、
    電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、
    前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、
    前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、
    前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段と
    を有し、
    前記処理実行手段は、
    前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理システム。
  2. 前記処理変更手段は、
    さらに、前記処理実行手段により前記第1の処理又は前記第2の処理が実行された後、該実行された前記第1の処理又は前記第2の処理の後に実行される処理に関する情報を追加した第3の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第3の処理に関する情報を生成する、請求項1記載の情報処理システム。
  3. 前記処理変更手段が前記第2の処理に関する情報を生成する条件に関する情報と、該条件を充足した場合に前記実行される一の処理の前に実行させる処理に関する情報とを関連付けて記憶する第2の記憶手段を有し、
    前記処理変更手段は、
    前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、前記第2の記憶手段に記憶されている前記条件に関する情報を参照して、該条件を充足するか否かを判定することにより前記第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて、前記条件を充足すると判定された前記条件に関する情報に関連付けて前記第2の記憶手段に記憶されている前記処理に関する情報を、前記実行される一の処理に関する情報の前に追加した第2の処理に関する情報を生成する、請求項1又は2記載の情報処理システム。
  4. 前記第2の記憶手段には、
    電子データに所定の文字列が含まれることを条件とする条件に関する情報と、該条件を充足した場合に実行させる前記電子データを所定のデータ形式に変換させる処理に関する情報とを含み、
    前記処理変更手段は、
    前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、前記第2の記憶手段に記憶されている前記条件に関する情報を参照して、該一の処理の処理対象となる電子データに所定の文字列が含まれるか否かを判定し、該判定結果に応じて前記実行される一の処理に関する情報の前に前記電子データを所定のデータ形式に変換させる処理に関する情報を追加した前記第2の処理に関する情報を生成する、請求項3記載の情報処理システム。
  5. 前記処理変更手段は、
    前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行される処理に関する情報を追加した、又は該実行される一の処理に関する情報を削除若しくは変更した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する、請求項1記載の情報処理システム。
  6. 情報処理装置であって、
    電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段と、
    前記情報処理装置に接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、
    前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手段と、
    前記処理実行手段により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手段と
    を有し、
    前記処理実行手段は、
    前記処理変更手段により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理装置。
  7. 1以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理で構成される第1の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該第1の処理に関する情報とを関連付けて記憶する第1の記憶手段を有する情報処理システムにおいて、
    前記情報処理システムに接続される1以上の機器のうちの一の機器から前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手順と、
    前記受信手順で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記第1の記憶手段に記憶されている前記第1の処理に関する情報に基づく前記第1の処理を、該要求に含まれる前記電子データに関する情報により指定される電子データに対して実行する処理実行手順と、
    前記処理実行手順により前記第1の処理に含まれる一の処理が実行される前に、該実行される一の処理の前に実行させる処理に関する情報を追加した第2の処理に関する情報を生成するか否かを判定し、該判定結果に応じて前記第2の処理に関する情報を生成する処理変更手順と
    を有し、
    前記処理実行手順は、
    前記処理変更手順により前記第2の処理に関する情報が生成された場合、該生成された前記第2の処理に関する情報に基づく第2の処理を、前記電子データに対して実行する、情報処理方法。
JP2015058021A 2015-03-20 2015-03-20 情報処理システム、情報処理装置、及び情報処理方法 Active JP6477092B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015058021A JP6477092B2 (ja) 2015-03-20 2015-03-20 情報処理システム、情報処理装置、及び情報処理方法
US15/066,000 US9904499B2 (en) 2015-03-20 2016-03-10 Information processing system for dynamically adding a process to a sequence of processes and information processing method using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058021A JP6477092B2 (ja) 2015-03-20 2015-03-20 情報処理システム、情報処理装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2016177613A true JP2016177613A (ja) 2016-10-06
JP6477092B2 JP6477092B2 (ja) 2019-03-06

Family

ID=56924745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058021A Active JP6477092B2 (ja) 2015-03-20 2015-03-20 情報処理システム、情報処理装置、及び情報処理方法

Country Status (2)

Country Link
US (1) US9904499B2 (ja)
JP (1) JP6477092B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10306080B2 (en) 2016-10-19 2019-05-28 Ricoh Company, Ltd. Information processing system, information processing apparatus, and program
US10715687B2 (en) * 2017-05-29 2020-07-14 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for testing a series of processes of one or more applications
JP6972838B2 (ja) * 2017-09-25 2021-11-24 株式会社リコー 情報処理システム、情報処理装置及び情報処理方法
JP7314491B2 (ja) 2018-09-26 2023-07-26 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
JP7006709B2 (ja) 2020-01-07 2022-01-24 株式会社リコー 情報処理システム、情報処理装置、データ転送方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323392A (ja) * 2006-06-01 2007-12-13 Ricoh Co Ltd データ処理装置、プログラムおよび記憶媒体
JP2014182411A (ja) * 2013-03-15 2014-09-29 Ricoh Co Ltd 情報処理装置、ネットワークシステム、処理実行方法及び処理実行プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7853464B2 (en) * 2006-04-06 2010-12-14 Dorado Network Systems Corporation Dynamic workflow architectures for loan processing
JP5112085B2 (ja) 2008-01-07 2013-01-09 株式会社日立製作所 事務フロー生成装置およびその方法
JP2012053511A (ja) 2010-08-31 2012-03-15 Canon Inc サーバ装置、情報処理装置、サービス処理装置、ネットワークシステム、ジョブ処理方法及びプログラム
US9483307B2 (en) * 2013-09-04 2016-11-01 Swiftpage Act! Llc Asynchronous, interactive task workflows

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323392A (ja) * 2006-06-01 2007-12-13 Ricoh Co Ltd データ処理装置、プログラムおよび記憶媒体
JP2014182411A (ja) * 2013-03-15 2014-09-29 Ricoh Co Ltd 情報処理装置、ネットワークシステム、処理実行方法及び処理実行プログラム

Also Published As

Publication number Publication date
US9904499B2 (en) 2018-02-27
US20160274945A1 (en) 2016-09-22
JP6477092B2 (ja) 2019-03-06

Similar Documents

Publication Publication Date Title
US10353999B2 (en) Information processing system, server apparatus, control method, and storage medium
US20180101371A1 (en) Deployment manager
US10122870B2 (en) Information processing system, information processing apparatus, and information processing method
JP6477092B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6859620B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
JP2016006624A (ja) 情報処理システム、情報処理方法、情報処理装置及びプログラム
US20140258334A1 (en) Information processing apparatus, information processing system and information processing method
US20160259933A1 (en) Information processing system, information processing apparatus, and information processing method
US8599408B2 (en) Publishing content to social network sites from applications
JP6303404B2 (ja) 出力システム、端末装置、プログラム及び出力方法
JP2016085609A (ja) 電子著作物のコンテンツの二次利用を支援する方法、並びに、電子著作物のコンテンツの二次利用を支援する為のサーバ・コンピュータ、及びそのサーバ・コンピュータ用プログラム
JP2018037746A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6756270B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2015156209A (ja) 情報処理システム
JP2018156129A (ja) 情報処理システム、情報処理装置及び情報処理方法
JP2018010434A (ja) 情報処理システム、情報処理装置、及び情報処理方法
US10348926B2 (en) Information processing system, information processing apparatus, and information processing method
JP2011233104A (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム、記録媒体
JP6780364B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP2019198080A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6536308B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2007280126A (ja) 電子申告データダウンロードシステム
JP7444208B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6658110B2 (ja) 情報処理システム、プログラム及びリクエスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R151 Written notification of patent or utility model registration

Ref document number: 6477092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151