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

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

Info

Publication number
JP6673047B2
JP6673047B2 JP2016122326A JP2016122326A JP6673047B2 JP 6673047 B2 JP6673047 B2 JP 6673047B2 JP 2016122326 A JP2016122326 A JP 2016122326A JP 2016122326 A JP2016122326 A JP 2016122326A JP 6673047 B2 JP6673047 B2 JP 6673047B2
Authority
JP
Japan
Prior art keywords
information
flow
processing
execution
parameter
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.)
Active
Application number
JP2016122326A
Other languages
English (en)
Other versions
JP2017228012A (ja
Inventor
東哲 張
東哲 張
雄一郎 林
雄一郎 林
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 JP2016122326A priority Critical patent/JP6673047B2/ja
Publication of JP2017228012A publication Critical patent/JP2017228012A/ja
Application granted granted Critical
Publication of JP6673047B2 publication Critical patent/JP6673047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)

Description

本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば、ユーザにより指定された電子データを外部のストレージに保管する外部サービス等が知られている。
また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネントを制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネントが組み合わされて、事務処理を実現する一連の処理が実行される。
しかしながら、上記の従来技術では、一連の処理において、他の一連の処理を呼び出して実行することができなかった。したがって、当該一連の処理の各処理を実行するコンポーネントは、他の一連の処理が実行された際の処理結果を利用することができなかった。
本発明の実施の形態は、上記の点に鑑みてなされたもので、他の一連の処理の呼び出しが含まれる一連の処理を実行することを目的とする。
上記目的を達成するため、本発明の実施の形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手段と、前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記第1のフロー識別情報と関連付けて前記記憶手段に記憶されている第1のフロー情報を取得する取得手段と、前記取得手段により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って、前記パラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、前記取得手段は、他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に定義された前記パラメータに含まれる第2のフロー識別情報と関連付けて前記記憶手段に記憶されている第2のフロー情報を取得し、前記実行手段は、前記取得手段により取得された前記第2のフロー情報に定義されている前記パラメータに、該パラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って、前記置換後のパラメータを用いて実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する。
本発明の実施の形態によれば、他の一連の処理の呼び出しが含まれる一連の処理を実行することができる。
本実施形態に係る情報処理システムの一例のシステム構成を示す図である。 本実施形態に係るサービス提供システムの一例のハードウェア構成を示す図である。 本実施形態に係る機器の一例のハードウェア構成を示す図である。 本実施形態に係る情報処理システムの一例の機能構成を示す図である。 共通I/F及び固有I/Fの一例を説明するための図である。 本実施形態に係るロジック処理部の一例の機能構成を示す図である。 型変換情報テーブルの一例を示す図である。 親フローの処理フロー情報の一例を示す図である。 子フローの処理フロー情報の一例を示す図である。 「OCR配信」サービスを実現する処理フローの一例を説明するための図である。 本実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。 サービス一覧画面からサービス画面への画面遷移の一例を示す図である。 本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。 本実施形態に係るリスト取得コンポーネントの実行処理の一例を示すシーケンス図である。 リソース管理情報の一例を示す図である。 本実施形態に係るメール配信コンポーネントの実行処理の一例を示すシーケンス図である。 本実施形態に係るフロー実行コンポーネントの実行処理の一例を示すシーケンス図である。 パラメータ情報が置換された後の子フローの処理フロー情報の一例を示す図である。 本実施形態に係る子フローの実行処理の一例を示すシーケンス図である。 処理フロー情報の他の例を示す図である。 本実施形態に係るフロー実行コンポーネントの実行処理の他の例を示すシーケンス図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、外部ストレージシステム30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスと連携した各種のサービスを提供する。本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。
なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ASP(Application Service Provider)によって提供されるサービスやWebサービス等のネットワークを介して提供される各種の外部サービスに関して適用されても良い。
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。
外部ストレージシステム30は、ネットワークN1を介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30のストレージの記憶領域を貸し出すサービスである。
なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム30」、「外部ストレージシステム30」等と添え字を用いて記載する。また、外部ストレージシステム30により提供されるストレージサービスの名称を「ストレージA」、外部ストレージシステム30により提供されるストレージサービスの名称を「ストレージB」等とする。
なお、外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであっても良い。
また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム10の一例のハードウェア構成を示す図である。
図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は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又は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は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る機器20の一例のハードウェア構成を示す図である。
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。
ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。
CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F24は、機器20をネットワークに接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。
本実施形態に係るサービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルをOCR(Optical Character Recognition)処理して、メール配信するサービスを提供する。
本実施形態に係るサービス提供システム10は、上述したサービス(以降では、「OCR配信」サービス、又は、単に「OCR配信」とも表す。)を提供するものとして説明する。
ただし、サービス提供システム10により提供されるサービスは、これに限られない。例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを編集(例えば、所定の情報の追加等)して、メール配信するサービスを提供しても良い。
また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを圧縮して、メール配信するサービスを提供しても良い。
<機能構成>
次に、本実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る情報処理システム1の一例の機能構成を示す図である。
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を介して、サービス提供システム10が提供するサービスを利用することができる。このように、本実施形態に係る機器20は、ブラウザ210が搭載されていれば良い。
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、外部サービス連携部140とを有する。これら各部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
また、図4に示すサービス提供システム10は、アプリ情報記憶部150と、画面情報記憶部160と、リソース管理情報記憶部170とを有する。これら各記憶部は、HDD18により実現可能である。なお、アプリ情報記憶部150、画面情報記憶部160、及びリソース管理情報記憶部170の少なくとも1つの記憶部が、サービス提供システム10とネットワークN1を介して接続される記憶装置等により実現されていても良い。
入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。ここで、入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112と、データI/F部113とを有する。
アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、各種のサービスを提供するアプリケーションである。すなわち、サービス提供システム10が提供する各種のサービスは、アプリ情報1000により提供される。
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。なお、処理フロー情報1100は、アプリ情報1000により提供されるサービスを実現する一連の処理(以降では、一連の処理を「処理フロー」とも表す。)が定義された情報である。
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ管理部111から処理フロー情報1100を取得する。そして、ロジック処理部112は、取得した処理フロー情報1100に基づいて、サービスを実現する処理フローを実行する。これにより、本実施形態に係る情報処理システム1では、サービス提供システム10により各種のサービスが提供される。なお、ロジック処理部112の詳細については後述する。
データI/F部113は、Webサービス処理部120やロジック処理部112からの要求に応じて、外部サービス連携部140のデータ処理部142に各種の要求を行う。例えば、データI/F部113は、外部サービス連携部140のデータ処理部142に、電子ファイルの格納先の一覧(すなわち、電子ファイルの格納先リスト)を示すファイル一覧の取得要求を行う。
Webサービス処理部120は、ブラウザ210からの要求に応じて、画面情報記憶部160に記憶されている画面情報2000を返信する。なお、画面情報2000は、ブラウザ210に表示される画面を定義した情報であり、例えばHTML(HyperText Markup Language)やCSS(Cascading Style Sheets)等の形式で定義されている。
これにより、機器20の操作パネル22には、ブラウザ210により、サービス提供システム10が提供するサービスを選択するためのサービス一覧画面や、サービスを利用するためのサービス画面等が表示される。
また、Webサービス処理部120は、ブラウザ210からの要求に応じて、入出力サービス処理部110に各種の要求を行う。例えば、Webサービス処理部120は、ブラウザ210からの要求に応じて、「OCR配信」サービスを実現する処理フローの実行要求を、入出力サービス処理部110のロジック処理部112に行う。
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる処理を実行する。ここで、ドキュメントサービス部130は、メール配信部131と、OCR処理部132とを有する。
メール配信部131は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。OCR処理部132は、電子ファイルをOCR処理する。
なお、ドキュメントサービス部130は、例えば、電子ファイルのデータ形式を所定のデータに変換するデータ変換部、電子ファイルを圧縮又は解凍する圧縮・解凍部等を有していても良い。
このように、ドキュメントサービス部130には、一連の処理(処理フロー)に含まれる処理を実行する種々の機能部が含まれる。したがって、ドキュメントサービス部130は、これら種々の機能を提供するプログラム(モジュール)群により実現される。
外部サービス連携部140は、ロジック処理部112やデータI/F部113からの要求に応じて、外部ストレージシステム30に各種の要求を行う。
本実施形態に係るサービス提供システム10は、外部ストレージシステム30毎に、当該外部ストレージシステム30に対応する外部サービス連携部140を有する。すなわち、本実施形態に係るサービス提供システム10は、外部ストレージシステム30に各種の要求を行うための外部サービス連携部140、外部ストレージシステム30に各種の要求を行うための外部サービス連携部140等を有する。
このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれ対応する外部サービス連携部140を有する。なお、以降では、複数の外部サービス連携部140について、各々を区別するときは、上記のように、「外部サービス連携部140」、「外部サービス連携部140」等と添え字を用いて記載する。
ここで、外部サービス連携部140は、ロジック処理部112からの要求を受信するファイル処理部141と、データI/F部113からの要求を受信するデータ処理部142とを有する。
ファイル処理部141は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F1411及び固有I/F1412を有する。
共通I/F1411は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すAPIが挙げられる。すなわち、ファイル処理部141の共通I/F1411は、全ての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、電子ファイルの取得、保存等)を利用するためのAPI群である。
一方、固有I/F1412は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すAPIが挙げられる。すなわち、ファイル処理部141の固有I/F1412は、特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、電子ファイルの編集等)を利用するためのAPI群である。
したがって、共通I/F1411は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1412は、当該固有I/F1412で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。
また、データ処理部142は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧やフォルダ一覧等)を取得等するためのAPIが定義された共通I/F1421及び固有I/F1422を有する。
共通I/F1421は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すAPIが挙げられる。すなわち、データ処理部142の共通I/F1421は、全ての外部ストレージシステム30で利用できるメタデータ取得等の機能(例えば、ファイル一覧やフォルダ一覧の取得等)を利用するためのAPI群である。
一方、固有I/F1422は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すAPIが挙げられる。すなわち、データ処理部142の固有I/F1422は、特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。
したがって、共通I/F1421は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1422は、当該固有I/F1422で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。
このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれの外部ストレージシステム30に対応する外部サービス連携部140を有する。このため、例えば、サービス提供システム10の連携先となる外部ストレージシステム30を追加や削除(以降、「追加等)と表す。)する場合には、この外部ストレージシステム30に対応する外部サービス連携部140を追加等すれば良い。
したがって、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30の追加等に伴う影響を局所化することができる。換言すれば、本実施形態に係るサービス提供システム10では、他の機能構成(例えば、入出力サービス処理部110やWebサービス処理部120等)に影響を与えることなく、連携先となる外部ストレージシステム30の追加等を行うことができる。
このため、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加等した場合における開発工数を削減することができる。なお、外部サービス連携部140の追加等は、SDK(Software Development Kit)を用いて行うことができる。
また、外部サービス連携部140は、共通I/F1411と固有I/F1412とを異なるモジュール等により実現している。また、共通I/F1411と固有I/F1412で定義されるAPIは、外部サービス名(ストレージサービス名)を指定することで利用することができる(すなわち、「外部サービス名」が可変部分となっている。)。
したがって、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加する場合には、他の外部サービス連携部140に含まれる共通I/F1411を再利用することができる。換言すれば、連携先となる外部ストレージシステム30を追加する場合には、固有I/F1412のみ開発すれば良い。これにより、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30を追加する場合における開発工数をさらに削減することができる。なお、このことは共通I/F1421と固有I/F1422に関しても同様である。
アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000(アプリケーション)を一意に識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。
ここで、アプリ情報1000には、処理フロー情報1100が含まれる。例えば、「OCR配信」サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理(処理フロー)が定義された処理フロー情報1100が含まれる。
なお、アプリ情報1000には、2以上の処理フロー情報1100が含まれていても良い。また、アプリ情報記憶部150には、アプリ情報1000に含まれない処理フロー情報1100が記憶されていても良い。
処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。
画面情報記憶部160は、画面情報2000を記憶する。画面情報2000は、上述したように、ブラウザ210に表示される画面を定義した情報である。なお、アプリ情報1000により提供されるサービスを利用するためのサービス画面の画面情報2000は、当該アプリ情報1000のアプリIDと関連付けて画面情報記憶部160に記憶されている。
リソース管理情報記憶部170は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる各処理の処理結果等を管理するリソース管理情報170Dを記憶する。なお、リソース管理情報170Dの詳細については後述する。
ここで、ロジック処理部112の詳細な機能構成について、図6を参照しながら説明する。図6は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。
図6に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305と、リソース管理部306と、パラメータ置換部307とを有する。また、ロジック処理部112は、型変換情報テーブル3000を有する。
フロー実行部301は、Webサービス処理部120を介して、ブラウザ210から処理実行要求を受信すると、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。
ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を提供するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することである。
コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、フロー実行コンポーネント401と、リスト取得コンポーネント402と、メール配信コンポーネント403と、ファイル取得コンポーネント404と、OCRコンポーネント405とが含まれる。
フロー実行コンポーネント401は、他の処理フローを実行するためのコンポーネントである。このとき、フロー実行コンポーネント401は、当該他の処理フローに含まれる各処理を実行するコンポーネントに対するパラメータ情報に、置換指定が含まれるか否かを判定する。そして、フロー実行コンポーネント401は、パラメータ情報に置換指定が含まれると判定した場合、パラメータ情報の置換をパラメータ置換部307に要求する。なお、置換指定とは、パラメータ情報に含まれるパラメータ値を、例えば、他のコンポーネントの処理結果等を示すリソースに置換するための指定である。
リスト取得コンポーネント402は、指定された外部ストレージシステム30から電子ファイルの格納先リストを取得するためのコンポーネントである。メール配信コンポーネント403は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。
ファイル取得コンポーネント404は、外部ストレージシステム30から電子ファイルを取得(ダウンロード)するためのコンポーネントである。OCRコンポーネント405は、電子ファイルをOCR処理するためのコンポーネントである。
なお、コンポーネント群303には、これら以外にも、例えば、電子ファイルの圧縮するための圧縮コンポーネント、電子ファイルのデータ形式を変換するためのコンポーネント等の各種のコンポーネントが含まれる。
また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F400を有する。コンポーネント共通I/F400は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。
このように、各コンポーネントがコンポーネント共通I/F400を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。
型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば図7に示す型変換情報テーブル3000を参照して、型変換群305に含まれる型変換を生成する。
そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM14上)に展開することである。
なお、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、及び電子ファイルの実体を示す「File」等が挙げられる。
ここで、型変換情報テーブル3000について、図7を参照しながら説明する。図7は、型変換情報テーブルの一例を示す図である。
図7に示す型変換情報テーブル3000は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル3000に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。
型変換群305は、型変換の集合である。型変換群305には、データ型「InputStream」を「LocalFilePath」に変換するための第1の型変換501が含まれる。なお、型変換群305には、これ以外にも、例えば、データ型「LocalFilePath」を「File」に変換するための第2の型変換等が含まれる。
また、型変換群305に含まれる各型変換は、型変換共通I/F500を有する。型変換共通I/F500は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。
このように、各型変換が型変換共通I/F500を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。
リソース管理部306は、リソース管理情報記憶部170に記憶されたリソース管理情報170Dを管理する。すなわち、リソース管理部306は、各コンポーネントからの要求に応じて、当該コンポーネントの処理結果を、リソース管理情報170Dとしてリソース管理情報記憶部170に記憶させる。
パラメータ置換部307は、各コンポーネントに対するパラメータ情報を置換する。すなわち、パラメータ置換部307は、フロー実行コンポーネント401からの要求に応じて、パラメータ情報に含まれるパラメータ値を、当該パラメータ値として定義されている置換指定に対応するリソースに置換する。
ここで、「OCR配信」サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図8を参照しながら説明する。図8は、親フローの処理フロー情報の一例を示す図である。なお、以降では、処理フロー情報1100に基づく処理フローを「親フロー」、親フローから呼び出されることにより実行される他の処理フローを「子フロー」とも表す。
図8に示す処理フロー情報1100は、「OCR配信」サービスを実現する一連の処理(処理フロー)が定義された情報である。
図8に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とが含まれる。
フロー詳細1102には、処理フローに含まれる各処理をそれぞれ定義した処理定義1111〜1113が含まれる。各処理定義1111〜1113には、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」と、当該コンポーネントに対するパラメータ情報が定義される「"parameters"」とが含まれる。
具体的には、処理定義1111の「"component"」には、リスト取得コンポーネント402のコンポーネント名「"getFileList"」が定義されている。また、「"parameters"」には、リスト取得コンポーネント402に対するパラメータ情報として、パラメータ名「"storage"」と、パラメータ値「null」とが定義されている。なお、パラメータ名「"storage"」のパラメータ情報には、電子ファイルの格納先リストを取得する外部ストレージシステム30の識別情報がパラメータ値として定義される。
同様に、処理定義1113の「"component"」には、メール配信コンポーネント403のコンポーネント名「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ情報として、パラメータ名「"to"」と、パラメータ値「null」とが定義されている。なお、パラメータ名「"to"」のパラメータ情報には、メールの配信先となるメールアドレスがパラメータ値として定義される。
同様に、処理定義1112の「"component"」には、フロー実行コンポーネント401のコンポーネント名「"execute"」が定義されている。また、「"parameters"」には、フロー実行コンポーネント401に対するパラメータ情報1121として、パラメータ名「"flowid"」と、パラメータ値「"flow101"」とが定義されている。なお、パラメータ名「"flowid"」のパラメータ情報1121には、フロー実行コンポーネント401が実行させる他の処理フローのフローIDがパラメータ値として定義される。
このように、フロー実行コンポーネント401による処理を定義した処理定義1112には、当該フロー実行コンポーネント401が実行させる他の処理フローのフローIDが定義されている。これにより、後述するように、フロー実行コンポーネント401により、他の処理フローを実行させることができる。
なお、各処理定義に定義された処理の実行順は、フロー詳細1102において、上から順に定義される。すなわち、図8に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、処理定義1111に定義された処理、処理定義1112に定義された処理、処理定義1113に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1100には、例えば、各処理定義に定義された処理の実行順を示す情報が定義されていても良い。
ここで、図8に示す処理フロー情報1100に定義されたフロー実行コンポーネント401が実行させる他の処理フロー(子フロー)の処理フロー情報1100について、図9を参照しながら説明する。図9は、子フローの処理フロー情報の一例を示す図である。
図9に示す処理フロー情報1100は、図8に示す処理フロー情報1100に基づく一連の処理から呼び出される他の処理フローを実行するための処理フロー情報1100である。
図9に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1201と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1202とが含まれる。
フロー詳細1202には、処理フローに含まれる各処理をそれぞれ定義した処理定義1212〜1222が含まれる。各処理定義1212〜1222には、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」と、当該コンポーネントに対するパラメータ情報が定義される「"parameters"」とが含まれる。
具体的には、処理定義1212の「"component"」には、ファイル取得コンポーネント404のコンポーネント名「"getFile"」が定義されている。また、「"parameters"」には、ファイル取得コンポーネント404に対するパラメータ情報として、パラメータ名「"location"」と、パラメータ値「"#{result.getFileList.url[0]}"」が定義されている。なお、パラメータ名「"location"」は、電子ファイルの格納先リストを示す情報がパラメータ値として定義される。
ここで、パラメータ値「"#{result.getFileList.url[0]}"」は置換指定である。置換指定「"#{result.getFileList.url[0]}"」は、当該パラメータ値を、後述するリソース管理情報170Dの「result.getFileList.url[0]」で識別されるリソースに置換するための指定である。
同様に、処理定義1222の「"component"」には、OCRコンポーネント405のコンポーネント名「"ocr"」が定義されている。また、「"parameters"」には、OCRコンポーネント405に対するパラメータ情報として、パラメータ名「"language"」と、パラメータ値「"English"」とが定義されている。なお、パラメータ名「"language"」には、OCR言語がパラメータ値として定義される。
ここで、図8に示す処理フロー情報1100に基づく処理フロー(すなわち、「OCR配信」サービスを実現する処理フロー)を、図10に示す。図10は、「OCR配信」サービスを実現する処理フローの一例を説明するための図である。
図10に示すように、「OCR配信」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。
次に、フロー実行コンポーネント401により、図9に示す処理フロー情報1100に基づく処理フローである子フローが実行される。すなわち、フロー実行コンポーネント401は、ファイル取得コンポーネント404による処理と、OCRコンポーネント405による処理とを実行させる。これにより、格納先リストに含まれる格納先のうち、最新の電子ファイルの格納先に基づいて、当該最新の電子ファイルが取得(ダウンロード)され、OCR処理が行われる。
最後に、メール配信コンポーネント403により、OCR処理後の電子ファイルがメール配信される。
このように、「OCR配信」サービスでは、親フローのフロー実行コンポーネント401が子フロー(他の処理フロー)を実行させることで、処理フローにおいて他の処理フローの呼び出しを実現している。なお、子フローにフロー実行コンポーネント401が含まれる場合には、他の処理フロー(孫フロー)を実行させれば良い。
次に、本実施形態に係る情報処理システムの処理の詳細について説明する。
以降では、機器20のユーザUが、ブラウザ210を用いて、サービス提供システム10により提供されるサービスを利用する場合の処理について、図11を参照しながら説明する。図11は、本実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。
ユーザUは、機器20のブラウザ210を用いて、アプリ情報1000により提供されるサービスの一覧を表示させるための表示操作を行う(ステップS1101)。
機器20のブラウザ210は、サービスの一覧を表示させるための表示操作を受け付けると、サービス一覧画面の取得要求を、サービス提供システム10のWebサービス処理部120に送信する(ステップS1102)。
Webサービス処理部120は、サービス一覧画面の取得要求を受信すると、当該サービス一覧画面の画面情報2000を画面情報記憶部160から取得する(ステップS1103)。そして、Webサービス処理部120は、サービス一覧画面の画面情報2000をブラウザ210に返信する。
なお、サービス一覧画面の画面情報2000には、サービス毎に、当該サービスを提供するアプリ情報1000のアプリIDと、当該アプリ情報1000に含まれる処理フロー情報1100のフローIDとが含まれる。
機器20のブラウザ210は、サービス一覧画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図12(a)に示すサービス一覧画面4100を操作パネル22に表示させる(ステップS1104)。
図12(a)に示すサービス一覧画面4100には、サービス提供システム10により提供されるサービス名の一覧であるサービス名一覧4101が含まれる。
次に、ユーザUは、サービス一覧画面4100のサービス名一覧4101から、所望のサービスを選択する操作を行う(ステップS1105)。ここで、以降では、サービス一覧画面4100のサービス名一覧4101から「OCR配信」が選択されたものとして説明する。
機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS1106)。なお、当該取得要求には、ユーザUにより選択された「OCR配信」サービスを提供するアプリ情報1000のアプリIDが含まれる。
Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS1107)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。
機器20のブラウザ210は、サービス画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図12(b)に示すサービス画面4200を操作パネル22に表示させる(ステップS1108)。
図12(b)に示すサービス画面4200は、ユーザUにより選択された「OCR配信」サービスを利用するための画面である。図12(b)に示すサービス画面4200には、ストレージ指定欄4201と、メールアドレス指定欄4202と、実行ボタン4203とが含まれる。
ここで、ストレージ指定欄4201は、電子ファイルの格納先リストを取得する外部ストレージシステム30のストレージサービス名を指定する欄である。メールアドレス指定欄4202は、OCR処理された電子ファイルをメール送信する宛先(メールアドレス)を指定する欄である。なお、サービス画面4200には、例えば、OCR処理された電子ファイルをCCやBCCでメール送信する宛先を指定するためのCC指定欄やBCC指定欄等が含まれていても良い。
次に、ユーザUは、サービス画面4200において、ストレージ指定欄4201に所望のストレージサービス名を指定すると共に、メールアドレス指定欄4202に所望のメールアドレスを指定した上で、実行ボタン4203を押下する(ステップS1109)。
ここで、以降では、ユーザUにより、ストレージ指定欄4201に「ストレージA」が指定されると共に、メールアドレス指定欄4202にメールアドレス「hoge@fuga.com」が指定された上で、実行ボタン4203が押下されたものとして説明する。
機器20のブラウザ210は、実行ボタン4203の押下操作を受け付けると、「OCR配信」サービスを実現する処理フローの実行要求をWebサービス処理部120に送信する(ステップS1110)。
なお、当該実行要求には、「OCR配信」サービスを提供するアプリ情報1000のアプリIDと、当該サービスを実現するための処理フロー情報1100のフローIDが含まれる。また、当該実行要求には、サービス画面4200においてユーザUにより入力された入力情報(すなわち、ストレージサービス名及びメールアドレス)が含まれる。
Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1111)。
入出力サービス処理部110のロジック処理部112は、処理フローの実行要求を受信すると、当該実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100に基づく一連の処理(すなわち、親フロー)を実行する(ステップS1112)。
そして、ロジック処理部112は、当該一連の処理の処理結果を、Webサービス処理部120を介して、機器20のブラウザ210に返信する。
これにより、本実施形態に係るサービス提供システム10において、「OCR配信」サービスを実現する一連の処理が実行され、機器20に対して当該サービスが提供される。
ここで、上記のステップS1112の処理フローの実行処理(親フローの実行処理)の詳細について、図13を参照しながら説明する。図13は、本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。
フロー実行部301は、処理フローの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS1301)。なお、当該取得要求には、Webサービス処理部120から受信した処理フローの実行要求に含まれるアプリIDと、フローIDとが含まれる。
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1302)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図8に示す処理フロー情報1100が返信される。
フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1303)。
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"component"」に定義されているコンポーネント名「"getFileList"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"getFileList"」のコンポーネント(すなわち、リスト取得コンポーネント402)を生成する(ステップS1304)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したリスト取得コンポーネント402をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、リスト取得コンポーネント402が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をリスト取得コンポーネント402に送信する(ステップS1305)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、データは、データ型「InputStream」として、ブラウザ210から受信した入力情報(すなわち、ストレージサービス名「ストレージA」)である。すなわち、フロー実行部301は、ブラウザ210からデータ型「InputStream」として渡された入力情報に含まれるストレージサービス名を、単に「データ」として(データ型を意識することなく)、リスト取得コンポーネント402に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない各種の情報(例えば、入力情報や電子ファイル等)を、単に「データ」と表す。
また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"parameters"」に定義されている「"storage":null」である。
リスト取得コンポーネント402は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1306)。そして、リスト取得コンポーネント402は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
なお、ここで返信されるデータには、例えば、リスト取得コンポーネント402の実行処理が正常に終了したことを示す情報が含まれる。
ここで、リスト取得コンポーネント402の実行処理について、図14を参照しながら説明する。図14は、本実施形態に係るリスト取得コンポーネント402の実行処理の一例を示すシーケンス図である。
まず、リスト取得コンポーネント402は、型変換要求を型変換管理部304に送信する(ステップS1401)。なお、当該型変換要求には、データと、リスト取得コンポーネント402が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1402)。
ここで、受信した型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
すると、型変換管理部304は、型変換情報テーブル3000を参照して、「InputStream」を「LocalFilePath」に変換するための第1の型変換501を特定して、当該特定した第1の型変換501を生成する(ステップS1403)。なお、第1の型変換501の生成は、型変換共通I/F500に定義されたAPIを用いて行うことができる。
次に、型変換管理部304は、生成された第1の型変換501に対して、型変換要求を送信する(ステップS1404)。なお、当該型変換要求には、データが含まれる。
第1の型変換501は、型変換要求を受信すると、当該要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する(ステップS1405)。そして、第1の型変換501は、当該変換後のデータを、型変換管理部304を介して、リスト取得コンポーネント402に返信する。
リスト取得コンポーネント402は、型変換後のデータを受信すると、パラメータ情報を用いて処理を実行する(ステップS1406)。すなわち、リスト取得コンポーネント402は、パラメータ情報に含まれるパラメータ名「"storage"」のパラメータ値に、データに含まれる「ストレージA」を指定して、リスト取得処理を実行する。
より具体的には、リスト取得コンポーネント402は、データI/F部113を介して、外部サービス連携部140のデータ処理部142に対して、図5(c)に示すAPI「/外部サービス名/data/files」を用いて、ファイル一覧を取得する。これにより、リスト取得コンポーネント402により、ストレージAにおける電子ファイルの格納先リストが取得される。
次に、リスト取得コンポーネント402は、処理を実行すると、処理結果の保存要求をリソース管理部306に送信する(ステップS1407)。なお、当該保存要求には、リスト取得コンポーネント402の処理の結果を示すデータ(すなわち、電子ファイルの格納先リスト)が含まれる。
リソース管理部306は、処理結果の保存要求を受信すると、当該保存要求に含まれるデータに基づいて、リソース管理情報記憶部170に記憶されているリソース管理情報170Dに処理結果を保存する(ステップS1408)。そして、リソース管理部306は、保存結果をリスト取得コンポーネント402に返信する。
ここで、リソース管理情報170Dに保存されたリスト取得コンポーネント402の処理結果について、図15を参照しながら説明する。図15は、リソース管理情報の一例を示す図である。
図15に示すように、リソース管理情報170Dには、リスト取得コンポーネント402の処理結果171が保存されている。すなわち、処理結果171には、電子ファイルの格納先URL(Uniform Resource Locator)を示す「"url[0]"」〜「"url[N-1]"」と、格納先リストのサイズ(すなわち、格納先URLの数)を示す「"size"」とが含まれる。換言すれば、処理結果171には、電子ファイルの格納先URLがそれぞれ格納された配列「"url[0]"」〜「"url[N−1]"」と、当該配列の個数「"size"」とが含まれる。
また、配列「"url[0]"」〜「"url[N−1]"」には、電子ファイルの作成日の降順に、これら電子ファイルの格納先URLが格納されている。これにより、配列「"url[0]"」には、最新の電子ファイルの格納先URLが格納されている一方で、配列「"url[N−1]"」には、最も古い電子ファイルの格納先URLが格納されている。
このように、リソース管理情報170Dには、一連の処理に含まれる各処理を実行するためのコンポーネントの処理結果が保存される。
図13に戻る。フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1307)。
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"component"」に定義されているコンポーネント名「"execute"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"execute"」のコンポーネント(すなわち、フロー実行コンポーネント401)を生成する(ステップS1308)。なお、フロー実行コンポーネント401の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したフロー実行コンポーネント401をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、フロー実行コンポーネント401が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をフロー実行コンポーネント401に送信する(ステップS1309)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"parameters"」に定義されているパラメータ情報1121(すなわち、「"flowid":"flow101"」)である。
フロー実行コンポーネント401は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1310)。そして、フロー実行コンポーネント401は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、フロー実行コンポーネント401の実行処理の詳細については後述する。
以降では、フロー実行コンポーネント401の実行処理により、子フローが実行され、電子ファイルの格納先URLを示す「"url[0]"」に基づいて、最新の電子ファイルが取得されて、当該電子ファイルに対してOCR処理が行われたものとして説明する。
なお、ここで返信されるデータには、例えば、フロー実行コンポーネント401の実行処理が正常に終了したことを示す情報と、OCR処理後の電子ファイルとが含まれる。
フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1311)。
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"component"」に定義されているコンポーネント名「"sendMail"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"sendMail"」のコンポーネント(すなわち、メール配信コンポーネント403)を生成する(ステップS1312)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したメール配信コンポーネント403をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント403が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント403に送信する(ステップS1313)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、データには、入力情報に含まれるメールアドレス「hoge@fuga.com」が含まれる。
また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"parameters"」に定義されている「"to":null」である。
メール配信コンポーネント403は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1314)。そして、メール配信コンポーネント403は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
なお、ここで返信されるデータには、例えば、メール配信コンポーネント403の実行処理が正常に終了したことを示す情報が含まれる。
ここで、メール配信コンポーネント403の実行処理について、図16を参照しながら説明する。図16は、本実施形態に係るメール配信コンポーネント403の実行処理の一例を示すシーケンス図である。
まず、メール配信コンポーネント403は、型変換要求を型変換管理部304に送信する(ステップS1601)。なお、当該型変換要求には、データと、メール配信コンポーネント403が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1602)。
ここで、受信した型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
すると、型変換管理部304は、型変換要求に含まれるデータを、メール配信コンポーネント403に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。
メール配信コンポーネント403は、データを受信すると、パラメータ情報を用いて処理を実行する(ステップS1603)。すなわち、メール配信コンポーネント403は、まず、パラメータ情報に含まれるパラメータ名「"to"」のパラメータ値に、データに含まれるメールアドレス「hoge@fuga.com」を指定する。そして、メール配信コンポーネント403は、データに含まれる電子ファイルを添付したメールを作成した上で、指定されたメールアドレス宛にメールを送信する。なお、メール配信コンポーネント403は、ドキュメントサービス部130のメール配信部131により、メールの作成及び送信処理を実行する。
ここで、上記のステップS1310におけるフロー実行コンポーネント401の実行処理について、図17を参照しながら説明する。図17は、本実施形態に係るフロー実行コンポーネントの実行処理の一例を示すシーケンス図である。
まず、フロー実行コンポーネント401は、型変換要求を型変換管理部304に送信する(ステップS1701)。なお、当該型変換要求には、データと、フロー実行コンポーネント401が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1702)。
ここで、受信した型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
すると、型変換管理部304は、型変換要求に含まれるデータを、フロー実行コンポーネント401に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。
フロー実行コンポーネント401は、データを受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS1703)。なお、当該取得要求には、フローIDとして、パラメータ情報1121に含まれるパラメータ名「"flowid"」のパラメータ値「"flow101"」が含まれる。
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1704)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行コンポーネント401に返信する。これにより、フロー実行コンポーネント401には、図9に示す処理フロー情報1100が返信される。
なお、パラメータ情報1121には、パラメータ名「"flowid"」及びパラメータ値「"flow101"」に代えて、例えば、図9に示す処理フロー情報1100に含まれるフロー詳細1201が定義されていても良い。この場合、上記のステップS1703において、フロー実行コンポーネント401は、処理フロー情報の取得要求をアプリ管理部111に送信しなくても良い。
次に、フロー実行コンポーネント401は、アプリ管理部111から返信された処理フロー情報1100に含まれるパラメータ情報を評価する(ステップS1705)。すなわち、フロー実行コンポーネント401は、図9に示す処理フロー情報1100の処理定義1212〜1222のパラメータ情報に置換指定が含まれるか否かを判定する。換言すれば、フロー実行コンポーネント401は、子フローの処理フロー情報1100のパラメータ情報に置換指定が含まれるか否かを判定する。
ここで、図9に示す処理フロー情報1100の処理定義1212のパラメータ情報には、パラメータ名「"location"」のパラメータ値に置換指定「"#{result.getFileList.url[0]}"」が定義されている。したがって、本実施形態では、フロー実行コンポーネント401は、パラメータ情報に置換指定が含まれると判定する。
ステップS1705において、子フローの処理フロー情報1100のパラメータ情報に置換指定が含まれると判定された場合、フロー実行コンポーネント401は、パラメータ情報の置換要求をパラメータ置換部307に送信する(ステップS1706)。なお、当該置換要求には、置換指定が含まれるパラメータ情報「"location":"#{result.getFileList.url[0]}"」が含まれる。
次に、パラメータ置換部307は、パラメータ情報の置換要求を受信すると、リソースの取得要求をリソース管理部306に送信する(ステップS1707)。なお、当該取得要求には、置換指定「"#{result.getFileList.url[0]}"」が含まれる。
リソース管理部306は、リソースの取得要求を受信すると、当該取得要求に含まれる置換指定に対応するリソースを、リソース管理情報記憶部170に記憶されているリソース管理情報170Dから取得する(ステップS1708)。そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。
すなわち、リソース管理部306は、図15に示すリソース管理情報170Dに保存されている処理結果171に含まれる配列「"url[0]"」に対応するリソース(すなわち、格納先URL「"http://service_a.com/user1/file20150228.jpg"」)を取得する。そして、リソース管理部306は、リソース「"http://service_a.com/user1/file20150228.jpg"」をパラメータ置換部307に返信する。
次に、パラメータ置換部307は、リソース管理部306からリソースが返信されると、パラメータ情報に含まれるパラメータ値に定義されている置換指定を、当該リソースで置換する(ステップS1709)。そして、パラメータ置換部307は、置換後のパラメータ情報をフロー実行コンポーネント401に返信する。
すなわち、パラメータ置換部307は、パラメータ情報「"location":"#{result.getFileList.url[0]}"」の置換指定「"#{result.getFileList.url[0]}」を、リソース「"http://service_a.com/user1/file20150228.jpg"」で置換する。そして、パラメータ置換部307は、置換後のパラメータ情報「"location":"http://service_a.com/user1/file20150228.jpg"」をフロー実行コンポーネント401に返信する。
次に、フロー実行コンポーネント401は、ステップS1704で取得された処理フロー情報1100に基づいて、置換後のパラメータ情報が定義された処理フロー情報1100を作成する(ステップS1710)。
すなわち、フロー実行コンポーネント401は、図9に示す処理フロー情報1100に基づいて、図18に示す処理フロー情報1100を作成する。図18に示す処理フロー情報1100では、処理定義1212において、置換後のパラメータ情報1301が定義されている。
このように、フロー実行コンポーネント401は、パラメータ情報に含まれるパラメータ値に置換指定が定義されている場合には、当該パラメータ値を、当該置換指定に対応するリソースに置換した処理フロー情報1100を作成する。
フロー実行コンポーネント401は、処理フローの実行要求をフロー実行部301に送信する(ステップS1711)。なお、当該実行要求には、データと、処理フロー情報1100が含まれる。
ここで、処理フローの実行要求に含まれる処理フロー情報1100は、上記のステップS1705で子フローの処理フロー情報1100のパラメータ情報に置換指定が含まれると判定された場合、置換後のパラメータ情報が定義された処理フロー情報1100である。一方、上記のステップS1705で子フローの処理フロー情報1100のパラメータ情報に置換指定が含まれないと判定された場合、上記のステップS1704で取得された処理フロー情報1100である。
次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれる処理フロー情報1100に基づく一連の処理(すなわち、子フロー)を実行する(ステップS1712)。
そして、フロー実行部301は、当該一連の処理の処理結果を示すデータをフロー実行コンポーネント401に返信する。
このように、フロー実行コンポーネント401は、他の処理フロー(子フロー)の実行要求をフロー実行部301に送信することで、当該子フローを実行させる。これにより、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント401により、他の処理フローの呼び出しを実現することができる。
ここで、上記のステップS1712における子フローの実行処理について、図19を参照しながら説明する。図19は、本実施形態に係る子フローの実行処理の一例を示すシーケンス図である。
フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれる処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1901)。
すなわち、フロー実行部301は、図18に示す処理フロー情報1100の処理定義1212に含まれる「"component"」に定義されているコンポーネント名「"getFile"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"getFile"」のコンポーネント(すなわち、ファイル取得コンポーネント404)を生成する(ステップS1902)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したファイル取得コンポーネント404をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、ファイル取得コンポーネント404が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をファイル取得コンポーネント404に送信する(ステップS1903)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、パラメータ情報は、図18に示す処理フロー情報1100の処理定義1212に含まれる「"parameters"」に定義されている置換後のパラメータ情報1301(すなわち、「"location":"http://service_a.com/user1/file20150228.jpg"」)である。
ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1904)。すなわち、ファイル取得コンポーネント404は、パラメータ名「"location"」のパラメータ値「"http://service_a.com/user1/file20150228.jpg"」により示される電子ファイルを取得(ダウンロード)する。
そして、ファイル取得コンポーネント404は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、ファイル取得コンポーネント404により取得(ダウンロード)された電子ファイルが含まれる。
これにより、ファイル取得コンポーネント404により、パラメータ名「"location"」により示される電子ファイル(すなわち、最新の電子ファイル)が取得される。
なお、上記では、ファイル取得コンポーネント404により、最新の電子ファイルが取得される場合について説明したが、これに限られない。例えば、処理定義1212に含まれる「"parameters"」のパラメータ情報「"location":#{result.getFileList.url[N−1]}」と定義することで、ファイル取得コンポーネント404により、配列「"url[N−1]"」が示す電子ファイル(すなわち、最も古い電子ファイル)を取得することもできる。
次に、フロー実行部301は、当該データを受信すると、フロー実行コンポーネント401から受信した処理フローの実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1905)。
すなわち、フロー実行部301は、図18に示す処理フロー情報1100の処理定義1222に含まれる「"component"」に定義されているコンポーネント名「"ocr"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"ocr"」のコンポーネント(すなわち、OCRコンポーネント405)を生成する(ステップS1906)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
そして、コンポーネント管理部302は、生成したOCRコンポーネント405をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント405が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント405に送信する(ステップS1907)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
ここで、パラメータ情報は、図18に示す処理フロー情報1100の処理定義1222に含まれる「"parameters"」に定義されている「"language":"English"」である。
OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1908)。すなわち、OCRコンポーネント405は、OCR言語を英語として、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。
そして、OCRコンポーネント405は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、OCR処理後の電子ファイルが含まれる。
以上のように、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント401により、他の処理フロー(子フロー)を実行させる。また、このとき、本実施形態に係るサービス提供システム10では、子フローの処理フロー情報1100に定義されたパラメータ情報に置換指定が含まれる場合には、当該パラメータ情報に含まれるパラメータ値を置換する。
これにより、本実施形態に係るサービス提供システム10では、他のコンポーネントの処理結果等をパラメータ値として定義したパラメータ情報を用いて、他の処理フローを実行させることができるようになる。このため、本実施形態に係るサービス提供システム10では、他の処理フローを実行させる際に、当該他の処理フローに対するパラメータ情報として様々なコンポーネントの処理結果等を用いることができるようになる。
ここで、「OCR配信」サービスを実現する処理フローの処理フロー情報1100の他の例について、図20を参照しながら説明する。図20は、処理フロー情報1100の他の例を示す図である。
図20に示すように、処理定義1112に含まれる「"parameters"」には、他の処理フローを実行させるか否かを判定するためのパラメータ情報1123が定義されている。パラメータ情報1123には、他の処理フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。これにより、フロー実行コンポーネント401は、「"(条件式)"」を満たす場合に他の処理フローを実行させる一方で、「"(条件式)"」を満たさない場合には他の処理フローを実行させないようにすることができる。
ここで、図20に示す処理フロー情報1100におけるフロー実行コンポーネント401の実行処理について、図21を参照しながら説明する。図21は、本実施形態に係るフロー実行コンポーネント401の実行処理の他の例を示すシーケンス図である。なお、ステップS1701〜ステップS1712の処理は、図17と同様であるため、その説明を省略する。
ステップS1702に続いて、フロー実行コンポーネント401は、パラメータ情報1123に定義された「"(条件式)"」を満たすか否かを判定する(ステップS2101)。
ステップS2101において、「"(条件式)"」を満たすと判定した場合、フロー実行コンポーネント401は、ステップS1703以降の処理を実行する。
一方で、ステップS2101において、「"(条件式)"」を満たさないと判定した場合、フロー実行コンポーネント401は、処理を終了させる。
これにより、フロー実行コンポーネント401は、「"(条件式)"」を満たさない場合は、子フローを実行させないようにすることができる。
以上のように、本実施形態に係るサービス提供システム10は、サービスを実現する一連の処理において、他の一連の処理を実行することができる。また、このとき、本実施形態に係るサービス提供システム10は、当該他の一連の処理に用いるパラメータ情報に、他のコンポーネントの処理結果等を用いることができる。
これにより、本実施形態に係るサービス提供システム10では、他の一連の処理を呼び出す一連の処理により実現される種々のサービスを提供することができるようになる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 情報処理システム
10 サービス提供システム
20 機器
30 外部ストレージシステム
110 入出力サービス処理部
111 アプリ管理部
112 ロジック処理部
113 データI/F部
120 Webサービス処理部
130 ドキュメントサービス部
131 メール配信部
132 OCR処理部
140 外部サービス連携部
141 ファイル処理部
142 データ処理部
150 アプリ情報記憶部
160 画面情報記憶部
170 リソース管理情報記憶部
210 ブラウザ
301 フロー実行部
302 コンポーネント管理部
303 コンポーネント群
304 型変換管理部
305 型変換群
306 リソース管理部
307 パラメータ置換部
1000 アプリ情報
1100 処理フロー情報
2000 画面情報
3000 型変換情報テーブル
特許第5112085号公報

Claims (10)

  1. 1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
    電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
    前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手段と、
    前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記第1のフロー識別情報と関連付けて前記記憶手段に記憶されている第1のフロー情報を取得する取得手段と、
    前記取得手段により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って、前記パラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
    前記取得手段は、
    他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に定義された前記パラメータに含まれる第2のフロー識別情報と関連付けて前記記憶手段に記憶されている第2のフロー情報を取得し、
    前記実行手段は、
    前記取得手段により取得された前記第2のフロー情報に定義されている前記パラメータに、該パラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って、前記置換後のパラメータを用いて実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理システム。
  2. 前記取得手段は、
    前記フロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記フロー実行プログラムの実行に応じて、前記記憶手段に記憶されているフロー情報のうち、前記第2のフロー情報を取得する、請求項1に記載の情報処理システム。
  3. 前記実行手段により実行された前記プログラムの処理結果を示すデータ値を記憶する結果記憶手段と、
    前記取得手段により取得された前記第2のフロー情報に定義されている前記パラメータに前記置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を、前記置換指定に応じて、前記記憶手段に記憶されている前記データ値に置換する置換手段と、を有し、
    前記実行手段は、
    前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って、前記置換手段により置換された前記パラメータを用いて実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、請求項1又は2に記載の情報処理システム。
  4. 前記置換指定は、前記結果記憶手段における前記データ値の保存先を示す保存先情報が指定された情報であり、
    前記置換手段は、
    前記取得手段により取得された前記第2のフロー情報に定義されている前記パラメータに前記置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を、前記結果記憶手段に記憶されている前記データ値のうち、前記置換指定が指定する前記保存先情報により示されるデータ値に置換する、請求項3に記載の情報処理システム。
  5. 前記実行手段は、
    電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
    前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムに処理を実行させることにより、前記電子データを用いた前記一連の処理を実行する、請求項1乃至4の何れか一項に記載の情報処理システム。
  6. 前記プログラムには、外部サービス毎に、外部サービスに関する処理を実行する外部サービスプログラムを含み、
    前記外部サービスプログラムは、
    外部サービスに格納されている電子データの格納先アドレスを取得する処理を実行するプログラムを少なくとも含む、請求項1乃至5の何れか1項に記載の情報処理システム。
  7. 前記実行順は、前記フロー情報において前記プログラム識別情報が定義されている順である、請求項1乃至6の何れか1項に記載の情報処理システム。
  8. 前記実行手段は、
    前記他の一連の処理を実行が終了すると、前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムのうち、未実行のプログラムそれぞれを前記実行順に従って、前記パラメータを用いて実行させることで、前記一連の処理に含まれる前記呼び出す処理の次の処理以降の処理を実行する、請求項1乃至7の何れか1項に記載の情報処理システム。
  9. 所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
    電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
    前記情報処理装置に接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手段と、
    前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記第1のフロー識別情報と関連付けて前記記憶手段に記憶されている第1のフロー情報を取得する取得手段と、
    前記取得手段により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って、前記パラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
    前記取得手段は、
    他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に定義された前記パラメータに含まれる第2のフロー識別情報と関連付けて前記記憶手段に記憶されている第2のフロー情報を取得し、
    前記実行手段は、
    前記取得手段により取得された前記第2のフロー情報に定義されている前記パラメータに、該パラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って、前記置換後のパラメータを用いて実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理装置。
  10. 1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法であって、
    前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手順と、
    前記記憶手段に記憶されているフロー情報のうち、前記受信手順により受信された前記第1のフロー識別情報と関連付けて前記記憶手段に記憶されている第1のフロー情報を取得する取得手順と、
    前記取得手順により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って、前記パラメータを用いて実行させることで、前記受信手順により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手順と、を有し、
    前記取得手順は、
    他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に定義された前記パラメータに含まれる第2のフロー識別情報と関連付けて前記記憶手段に記憶されている第2のフロー情報を取得し、
    前記実行手順は、
    前記取得手順により取得された前記第2のフロー情報に定義されている前記パラメータに、該パラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記パラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って、前記置換後のパラメータを用いて実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理方法。
JP2016122326A 2016-06-21 2016-06-21 情報処理システム、情報処理装置、及び情報処理方法 Active JP6673047B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016122326A JP6673047B2 (ja) 2016-06-21 2016-06-21 情報処理システム、情報処理装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016122326A JP6673047B2 (ja) 2016-06-21 2016-06-21 情報処理システム、情報処理装置、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2017228012A JP2017228012A (ja) 2017-12-28
JP6673047B2 true JP6673047B2 (ja) 2020-03-25

Family

ID=60891822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016122326A Active JP6673047B2 (ja) 2016-06-21 2016-06-21 情報処理システム、情報処理装置、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6673047B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190306227A1 (en) * 2018-03-30 2019-10-03 Ricoh Company, Ltd. Approach for Providing Access to Cloud Services on End-User Devices Using End-to-End Integration

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63198129A (ja) * 1987-02-13 1988-08-16 Fujitsu Ltd プロシジヤ中の入力デ−タ処理方式
JPH04344534A (ja) * 1991-05-21 1992-12-01 Nec Corp 手続き副プログラム展開方式
JP4042527B2 (ja) * 2002-10-29 2008-02-06 株式会社日立製作所 呼出規約変換処理の生成方法
JP6354178B2 (ja) * 2014-01-31 2018-07-11 オムロン株式会社 画像処理装置、管理システムおよび管理方法
JP2016015007A (ja) * 2014-07-02 2016-01-28 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2017228012A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
CN102200976B (zh) 桌面应用转换成网络应用的定制系统和方法
JP6859620B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
US10250771B2 (en) Information processing system, information processing apparatus, and information processing method
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
JP6390793B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、情報処理システム、および非一時的コンピュータ読取可能情報記録媒体
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
JP6772578B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6825465B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20180060131A1 (en) Information processing system, information processing apparatus, and information processing method
JP6525641B2 (ja) 情報処理システム、制御方法、およびコンピュータプログラム
JP6756270B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP6673047B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US20140347690A1 (en) System and control method
EP3288234B1 (en) Information processing apparatus, information processing system, information processing method, and carrier means
JP6794686B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6702015B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP7167541B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP6724630B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6686731B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US20230306189A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
JP6536308B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2017130189A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6919219B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP2017079030A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6885056B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200130

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: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200217

R151 Written notification of patent or utility model registration

Ref document number: 6673047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151