JP6885056B2 - Information processing system, information processing device, and information processing method - Google Patents
Information processing system, information processing device, and information processing method Download PDFInfo
- Publication number
- JP6885056B2 JP6885056B2 JP2016250774A JP2016250774A JP6885056B2 JP 6885056 B2 JP6885056 B2 JP 6885056B2 JP 2016250774 A JP2016250774 A JP 2016250774A JP 2016250774 A JP2016250774 A JP 2016250774A JP 6885056 B2 JP6885056 B2 JP 6885056B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- information
- component
- processing
- execution
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。 The present invention relates to an information processing system, an information processing device, and an information processing method.
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば、ユーザにより指定された電子データを外部のストレージに保管する外部サービス等が知られている。 In recent years, a wide variety of external services have come to be provided by cloud computing and the like. For example, an external service that stores electronic data specified by a user in an external storage is known.
また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネントを制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネントが組み合わされて、事務処理を実現する一連の処理が実行される。 Further, there is known a technique for generating a business flow for controlling a component that executes various processes based on a predefined business flow model (see, for example, Patent Document 1). In such a technique, components are combined by a generated business flow to execute a series of processes for realizing paperwork.
しかしながら、上記の従来技術では、一連の処理において、1以上の処理の繰り返し(反復)が含まれる場合には、当該一連の処理を実行することができない場合があった。例えば、あるコンポーネントの処理結果に応じて、当該1以上の処理の繰り返し回数が動的に異なるようにすることはできなかった。 However, in the above-mentioned prior art, when a series of processes includes repetition (repetition) of one or more processes, the series of processes may not be executed. For example, it is not possible to dynamically change the number of repetitions of the one or more processes according to the processing result of a certain component.
本発明の一実施形態は、上記の点に鑑みてなされたもので、反復が含まれる一連の処理を実行することを目的とする。 One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to execute a series of processes including repetition.
上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第1のプログラム識別情報と、1以上の前記プログラムの第1の実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報とを関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記一連の処理に用いられる電子データに関する情報と、前記フロー識別情報とを受信する受信手段と、前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて記憶されているフロー情報を取得する取得手段と、前記取得手段により取得された前記フロー情報に定義されている前記第1のプログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記第1の実行順に従って実行させることで、前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する実行手段とを有し、前記実行手段は、前記一連の処理に1以上の処理の繰り返しが含まれる場合、該繰り返しの条件に応じて、前記1以上の処理を繰り返し実行する。 In order to achieve the above object, one embodiment of the present invention is an information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes, respectively, and is a series of information processing systems using electronic data. For each process, the flow information in which the first program identification information that identifies one or more programs that execute each process of the series of processes and the first execution order of one or more programs are defined. The electronic data used in the series of processes from the storage means for storing the flow identification information for identifying the flow information in association with the flow identification information and one of the one or more devices connected to the information processing system. Acquires the flow information stored in association with the flow identification information received by the receiving means among the receiving means for receiving the information and the flow identification information and the flow information stored in the storage means. The acquisition means to be processed and the program identified by the first program identification information defined in the flow information acquired by the acquisition means are respectively defined in the first execution order defined in the flow information. By executing according to the above, the execution means has an execution means for executing a series of processes using the electronic data based on the information about the electronic data, and the execution means includes the repetition of one or more processes in the series of processes. In the case, the above-mentioned one or more processes are repeatedly executed according to the repeating conditions.
本発明の実施の形態によれば、反復が含まれる一連の処理を実行することができる。 According to embodiments of the present invention, a series of processes including iterations can be performed.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[第一の実施形態]
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
[First Embodiment]
<System configuration>
First, the system configuration of the
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、外部ストレージシステム30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
The
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスと連携した一連の処理により実現される各種のサービスを提供する。
The
本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
A specific example of the service provided by the
なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ASP(Application Service Provider)によって提供されるサービスやWebサービス等のネットワークを介して提供される各種の外部サービスに関して適用されても良い。 In the present embodiment, a cloud service will be adopted as a specific example of the external service, but the description is not limited to this. This embodiment may be applied to, for example, various external services provided via a network such as a service provided by an ASP (Application Service Provider) or a Web service.
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
The
なお、以降では、複数の機器20について、各々を区別するときは、「機器201」、「機器202」等と添え字を用いて記載する。
In the following, a plurality of
外部ストレージシステム30は、ネットワークN1を介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30のストレージの記憶領域を貸し出すサービスである。
The
なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム301」、「外部ストレージシステム302」等と添え字を用いて記載する。また、外部ストレージシステム301により提供されるストレージサービスの名称を「ストレージA」、外部ストレージシステム301により提供されるストレージサービスの名称を「ストレージB」等とする。
In the following, when distinguishing each of the plurality of
なお、外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであっても良い。
The
また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。
Further, the configuration of the
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム10の一例のハードウェア構成を示す図である。
<Hardware configuration>
Next, the hardware configuration of the
図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で接続されている。
The
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であっても良い。
The
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介して通信を行うことができる。
The communication I /
HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
The
なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
The
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取りや書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The external I /
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。
The
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
The
本実施形態に係るサービス提供システム10は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
By having the hardware configuration shown in FIG. 2, the
次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る機器20の一例のハードウェア構成を示す図である。
Next, a hardware configuration when the
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。
The
ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。
The
CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
The
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The
通信I/F24は、機器20をネットワークに接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
The communication I /
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
The
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
<Services provided by the service provision system>
Here, the service provided by the
本実施形態に係るサービス提供システム10は、例えば、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルをOCR(Optical Character Recognition)処理して、メール配信するサービスを提供する。
The
本実施形態に係るサービス提供システム10は、上述したサービス(以降では、「OCR配信1」サービス、又は、単に「OCR配信1」とも表す。)を提供するものとして説明する。
The
ただし、サービス提供システム10により提供されるサービスは、これに限られない。例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルを編集(例えば、所定の情報の追加や削除等)して、メール配信するサービスを提供しても良い。
However, the service provided by the
また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルを圧縮して、メール配信するサービスを提供しても良い。
Further, for example, the
このように、本実施形態に係るサービス提供システム10は、外部ストレージシステム30と連携した各種のサービスを提供する。
As described above, the
<機能構成>
次に、本実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る情報処理システム1の一例の機能構成を示す図である。
<Functional configuration>
Next, the functional configuration of the
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を介して、サービス提供システム10が提供するサービスを利用することができる。このように、本実施形態に係る機器20は、ブラウザ210が搭載されていれば良い。
The
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、外部サービス連携部140とを有する。これら各部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
The
また、図4に示すサービス提供システム10は、アプリ情報記憶部150と、画面情報記憶部160と、リソース管理情報記憶部170とを有する。これら各記憶部は、HDD18により実現可能である。なお、アプリ情報記憶部150、画面情報記憶部160、及びリソース管理情報記憶部170の少なくとも1つの記憶部が、サービス提供システム10とネットワークN1を介して接続される記憶装置等により実現されていても良い。
Further, the
入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。ここで、入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112と、データI/F部113とを有する。
The input / output
アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、各種のサービスを提供するアプリケーションである。すなわち、サービス提供システム10が提供する各種のサービスは、アプリ情報1000により提供される。
The
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。なお、処理フロー情報1100は、アプリ情報1000により提供されるサービスを実現する一連の処理(以降では、一連の処理を「処理フロー」とも表す。)が定義された情報である。
Further, the
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ管理部111から処理フロー情報1100を取得する。そして、ロジック処理部112は、取得した処理フロー情報1100に基づいて、サービスを実現する処理フローを実行する。これにより、本実施形態に係る情報処理システム1では、サービス提供システム10により各種のサービスが提供される。なお、ロジック処理部112の詳細については後述する。
The
データI/F部113は、Webサービス処理部120やロジック処理部112からの要求に応じて、外部サービス連携部140のデータ処理部142に各種の要求を行う。例えば、データI/F部113は、外部サービス連携部140のデータ処理部142に、電子ファイルの格納先の一覧(すなわち、電子ファイルの格納先リスト)を示すファイル一覧の取得要求を行う。
The data I /
Webサービス処理部120は、ブラウザ210からの要求に応じて、画面情報記憶部160に記憶されている画面情報2000を返信する。なお、画面情報2000は、ブラウザ210に表示される画面を定義した情報であり、例えばHTML(HyperText Markup Language)やCSS(Cascading Style Sheets)等の形式で定義されている。
The Web
これにより、機器20の操作パネル22には、ブラウザ210により、サービス提供システム10が提供するサービスを選択するためのサービス一覧画面や、サービスを利用するためのサービス画面等が表示される。
As a result, the
また、Webサービス処理部120は、ブラウザ210からの要求に応じて、入出力サービス処理部110に各種の要求を行う。例えば、Webサービス処理部120は、ブラウザ210からの要求に応じて、「OCR配信1」サービスを実現する処理フローの実行要求を、入出力サービス処理部110のロジック処理部112に行う。
Further, the Web
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる処理を実行する。ここで、ドキュメントサービス部130は、メール配信部131と、OCR処理部132とを有する。
The
メール配信部131は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。OCR処理部132は、電子ファイルをOCR処理する。
The
なお、ドキュメントサービス部130は、例えば、電子ファイルのデータ形式を所定のデータに変換するデータ変換部、電子ファイルを圧縮又は解凍する圧縮・解凍部等を有していても良い。
The
このように、ドキュメントサービス部130には、一連の処理(処理フロー)に含まれる処理を実行する種々の機能部が含まれる。したがって、ドキュメントサービス部130は、これら種々の機能を提供するプログラム(モジュール)群により実現される。
As described above, the
外部サービス連携部140は、ロジック処理部112やデータI/F部113からの要求に応じて、外部ストレージシステム30に各種の要求を行う。
The external
本実施形態に係るサービス提供システム10は、外部ストレージシステム30毎に、当該外部ストレージシステム30に対応する外部サービス連携部140を有する。すなわち、本実施形態に係るサービス提供システム10は、外部ストレージシステム301に各種の要求を行うための外部サービス連携部1401、外部ストレージシステム302に各種の要求を行うための外部サービス連携部1402等を有する。
The
このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれ対応する外部サービス連携部140を有する。なお、以降では、複数の外部サービス連携部140について、各々を区別するときは、上記のように、「外部サービス連携部1401」、「外部サービス連携部1402」等と添え字を用いて記載する。
As described above, the
ここで、外部サービス連携部140は、ロジック処理部112からの要求を受信するファイル処理部141と、データI/F部113からの要求を受信するデータ処理部142とを有する。
Here, the external
ファイル処理部141は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F1411及び固有I/F1412を有する。
The
共通I/F1411は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すAPIが挙げられる。すなわち、ファイル処理部141の共通I/F1411は、全ての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、電子ファイルの取得、保存等)を利用するためのAPI群である。
The common I /
一方、固有I/F1412は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すAPIが挙げられる。すなわち、ファイル処理部141の固有I/F1412は、特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、電子ファイルの編集等)を利用するためのAPI群である。
On the other hand, the unique I /
したがって、共通I/F1411は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1412は、当該固有I/F1412で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。
Therefore, the common I /
また、データ処理部142は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧やフォルダ一覧等)を取得等するためのAPIが定義された共通I/F1421及び固有I/F1422を有する。
Further, the
共通I/F1421は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すAPIが挙げられる。すなわち、データ処理部142の共通I/F1421は、全ての外部ストレージシステム30で利用できるメタデータ取得等の機能(例えば、ファイル一覧やフォルダ一覧の取得等)を利用するためのAPI群である。
The common I /
一方、固有I/F1422は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すAPIが挙げられる。すなわち、データ処理部142の固有I/F1422は、特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。
On the other hand, the unique I /
したがって、共通I/F1421は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1422は、当該固有I/F1422で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。
Therefore, the common I /
このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれの外部ストレージシステム30に対応する外部サービス連携部140を有する。このため、例えば、サービス提供システム10の連携先となる外部ストレージシステム30を追加や削除(以降、「追加等)と表す。)する場合には、この外部ストレージシステム30に対応する外部サービス連携部140を追加等すれば良い。
As described above, the
したがって、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30の追加等に伴う影響を局所化することができる。換言すれば、本実施形態に係るサービス提供システム10では、他の機能構成(例えば、入出力サービス処理部110やWebサービス処理部120等)に影響を与えることなく、連携先となる外部ストレージシステム30の追加等を行うことができる。
Therefore, in the
このため、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加等した場合における開発工数を削減することができる。なお、外部サービス連携部140の追加等は、SDK(Software Development Kit)を用いて行うことができる。
Therefore, in the
また、外部サービス連携部140は、共通I/F1411と固有I/F1412とを異なるモジュール等により実現している。また、共通I/F1411と固有I/F1412で定義されるAPIは、外部サービス名(ストレージサービス名)を指定することで利用することができる(すなわち、「外部サービス名」が可変部分となっている。)。
Further, the external
したがって、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加する場合には、他の外部サービス連携部140に含まれる共通I/F1411を再利用することができる。換言すれば、連携先となる外部ストレージシステム30を追加する場合には、固有I/F1412のみ開発すれば良い。これにより、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30を追加する場合における開発工数をさらに削減することができる。なお、このことは共通I/F1421と固有I/F1422に関しても同様である。
Therefore, in the
アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000(アプリケーション)を一意に識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。
The application
ここで、アプリ情報1000には、処理フロー情報1100が含まれる。例えば、「OCR配信1」サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理(処理フロー)が定義された処理フロー情報1100が含まれる。なお、アプリ情報1000には、2以上の処理フロー情報1100が含まれていても良い。
Here, the
処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。
As described above, the
画面情報記憶部160は、画面情報2000を記憶する。画面情報2000は、上述したように、ブラウザ210に表示される画面を定義した情報である。なお、アプリ情報1000により提供されるサービスを利用するためのサービス画面の画面情報2000は、当該アプリ情報1000のアプリIDと関連付けて画面情報記憶部160に記憶されている。
The screen
リソース管理情報記憶部170は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる各処理の処理結果等を管理するリソース管理情報170Dを記憶する。なお、リソース管理情報170Dの詳細については後述する。
The resource management
ここで、ロジック処理部112の詳細な機能構成について、図6を参照しながら説明する。図6は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。
Here, the detailed functional configuration of the
図6に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305と、リソース管理部306とを有する。また、ロジック処理部112は、型変換情報テーブル3000を有する。
The
フロー実行部301は、Webサービス処理部120を介して、ブラウザ210から処理実行要求を受信すると、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。
When the
ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を提供するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
Here, a series of processes based on the
コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することである。
The
コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、反復コンポーネント401と、リスト取得コンポーネント402と、メール配信コンポーネント403と、ファイル取得コンポーネント404と、OCRコンポーネント405とが含まれる。
The
反復コンポーネント401は、1以上の処理の反復を実現するためのコンポーネントである。すなわち、反復コンポーネント401は、1以上の処理を含む他の処理フローを繰り返し実行させることで、当該1以上の処理の反復を実現する。
The
リスト取得コンポーネント402は、指定された外部ストレージシステム30から電子ファイルの格納先リストを取得するためのコンポーネントである。メール配信コンポーネント403は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。
The
ファイル取得コンポーネント404は、外部ストレージシステム30から電子ファイルを取得(ダウンロード)するためのコンポーネントである。OCRコンポーネント405は、電子ファイルをOCR処理するためのコンポーネントである。
The
なお、コンポーネント群303には、これら以外にも、例えば、電子ファイルの圧縮するための圧縮コンポーネント、電子ファイルのデータ形式を変換するためのコンポーネント等の各種のコンポーネントが含まれる。
In addition to these, the
また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F400を有する。コンポーネント共通I/F400は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。
Further, each component included in the
このように、各コンポーネントがコンポーネント共通I/F400を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。
In this way, since each component has a component common I /
なお、コンポーネント管理部302は、例えば、サービス提供システム10の起動時に、コンポーネント共通I/F400により、コンポーネント群303に含まれる各コンポーネントを生成しても良い。
The
型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば図7に示す型変換情報テーブル3000を参照して、型変換群305に含まれる型変換を生成する。
The type
そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM14上)に展開することである。
Then, the type
なお、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、及び電子ファイルの実体を示す「File」等が挙げられる。 The data types include, for example, the data type "InputStream" indicating stream data, "LocalFilePath" indicating the path (address) of an electronic file stored in a storage device, and "File" indicating the substance of the electronic file. And so on.
ここで、型変換情報テーブル3000について、図7を参照しながら説明する。図7は、型変換情報テーブルの一例を示す図である。 Here, the type conversion information table 3000 will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of the type conversion information table.
図7に示す型変換情報テーブル3000は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル3000に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。 The type conversion information table 3000 shown in FIG. 7 has a data type before conversion, a data type after conversion, and a type conversion to be generated as data items. That is, the type conversion information stored in the type conversion information table 3000 is used to convert the data type before conversion into the data type after conversion for each of the data type before conversion and the data type after conversion. Information associated with type conversion.
型変換群305は、型変換の集合である。型変換群305には、データ型「InputStream」を「LocalFilePath」に変換するための第1の型変換501が含まれる。なお、型変換群305には、これ以外にも、例えば、データ型「LocalFilePath」を「File」に変換するための第2の型変換等が含まれる。
The
また、型変換群305に含まれる各型変換は、型変換共通I/F500を有する。型変換共通I/F500は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。
Further, each type conversion included in the
このように、各型変換が型変換共通I/F500を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。
As described above, since each type conversion has the common I /
リソース管理部306は、リソース管理情報記憶部170に記憶されたリソース管理情報170Dを管理する。すなわち、リソース管理部306は、各コンポーネントからの要求に応じて、当該コンポーネントの処理結果を、リソース管理情報170Dとしてリソース管理情報記憶部170に記憶させる。
The
ここで、「OCR配信1」サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図8を参照しながら説明する。図8は、「OCR配信1」サービスを実現する処理フローが定義された処理フロー情報1100の一例を示す図である。
Here, the
図8に示す処理フロー情報1100は、「OCR配信1」サービスを実現する一連の処理(処理フロー)が定義された情報である。
The
図8に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とが含まれる。
The
フロー詳細1102には、処理フローに含まれる各処理をそれぞれ定義した処理定義1111〜1113が含まれる。各処理定義1111〜1113には、処理を実行するためのコンポーネントを示す「"component"」と、当該コンポーネントに対するパラメータを示す「"parameters"」とが含まれる。 The flow details 1102 includes process definitions 1111 to 1113 that define each process included in the process flow. Each process definition 1111-1113 includes "" component "" indicating a component for executing a process and "" parameters "" indicating a parameter for the component.
具体的には、処理定義1111の「"component"」には、リスト取得コンポーネント402により処理を実行することを示す「"getFileList"」が定義されている。また、「"parameters"」には、リスト取得コンポーネント402に対するパラメータ「"storage"」が定義されておいる。なお、パラメータ「"storage"」は、電子ファイルの格納先リストを取得する外部ストレージシステム30の識別情報が定義されるパラメータである。
Specifically, in the "" component "" of the process definition 1111, a "" getFileList "" indicating that the process is executed by the
同様に、処理定義1113の「"component"」には、メール配信コンポーネント403により処理を実行することを示す「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ「"to"」が定義されている。なお、パラメータ「"to"」は、メールの配信先となるメールアドレスが定義されるパラメータである。
Similarly, in the "" component "" of the
同様に、処理定義1112の「"component"」には、反復コンポーネント401により処理を実行することを示す「"iterate"」が定義されている。また、「"parameters"」には、反復コンポーネント401に対するパラメータ1121〜パラメータ1123が定義されている。
Similarly, in the "" component "" of the
ここで、パラメータ1121は、反復コンポーネント401が繰り返し実行させる他の処理フローのフローIDが定義されたパラメータである。また、パラメータ1122は、当該他の処理フローに含まれる各処理をそれぞれ定義した処理定義1131及び1132を含むフロー詳細が定義されたパラメータである。さらに、パラメータ1123は、当該他の処理フローを繰り返し実行させる回数(反復回数)が定義されたパラメータである。
Here, the
このように、反復コンポーネント401による処理を定義した処理定義1112には、繰り返し実行させる他の処理フローのフロー詳細と、当該他の処理フローを繰り返し実行させる回数とが定義されている。これにより、後述するように、反復コンポーネント401により、他の処理フローが繰り返し実行され、1以上の処理の反復を実現することができる。
As described above, in the
なお、図8に示す処理フロー情報1100に定義された各処理の実行順は、上から順に実行される。すなわち、図8に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、処理定義1111に定義された処理、処理定義1112に定義された処理、及び処理定義1113に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1100には、例えば、各処理の実行順を示す情報が定義されていても良い。
The execution order of each process defined in the
ここで、図8に示す処理フロー情報1100に基づく処理フロー(すなわち、「OCR配信1」サービスを実現する処理フロー)を、図9に示す。図9は、「OCR配信1」サービスを実現する処理フローの一例を説明するための図である。なお、以降では、処理フロー情報1100に基づく処理フローを「親フロー」、反復コンポーネント401により繰り返し実行させる他の処理フローを「子フロー」とも表す。
Here, a processing flow based on the
図9に示すように、「OCR配信1」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。
As shown in FIG. 9, in the processing flow for realizing the “
次に、反復コンポーネント401により、格納先リストに含まれる格納先毎に、ファイル取得コンポーネント404による処理と、OCRコンポーネント405による処理とを繰り返し実行させる。これにより、格納先リストに含まれる格納先毎に、電子ファイルの取得(ダウンロード)及び当該電子ファイルのOCR処理が行われる。
Next, the
最後に、メール配信コンポーネント403により、OCR処理後の電子ファイルがメール配信される。
Finally, the
このように、「OCR配信1」サービスでは、親フローの反復コンポーネント401が子フロー(他の処理フロー)を繰り返し実行させることで、1以上の処理の反復を実現している。なお、子フローに反復コンポーネント401が含まれる場合には、他の処理フロー(孫フロー)を繰り返し実行させれば良い。
As described above, in the "
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Next, the details of the processing of the
以降では、機器20のユーザUが、ブラウザ210を用いて、サービス提供システム10により提供される「OCR配信1」サービスを利用する場合の処理について、図10を参照しながら説明する。図10は、本実施形態に係る「OCR配信1」サービスを利用する場合の全体処理の一例を示すシーケンス図である。
Hereinafter, the processing when the user U of the
ユーザUは、機器20のブラウザ210を用いて、アプリ情報1000により提供されるサービスの一覧を表示させるための表示操作を行う(ステップS1001)。
The user U uses the
機器20のブラウザ210は、サービスの一覧を表示させるための表示操作を受け付けると、サービス一覧画面の取得要求を、サービス提供システム10のWebサービス処理部120に送信する(ステップS1002)。
When the
Webサービス処理部120は、サービス一覧画面の取得要求を受信すると、当該サービス一覧画面の画面情報2000を画面情報記憶部160から取得する(ステップS1003)。そして、Webサービス処理部120は、サービス一覧画面の画面情報2000をブラウザ210に返信する。
When the Web
なお、サービス一覧画面の画面情報2000には、サービス毎に、当該サービスを提供するアプリ情報1000のアプリIDと、当該アプリ情報1000に含まれる処理フロー情報1100のフローIDとが含まれる。
The
機器20のブラウザ210は、サービス一覧画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図11(a)に示すサービス一覧画面4100を操作パネル22に表示させる(ステップS1004)。
When the
図11(a)に示すサービス一覧画面4100には、サービス提供システム10により提供されるサービス名の一覧であるサービス名一覧4101が含まれる。
The
次に、ユーザUは、サービス一覧画面4100のサービス名一覧4101から「OCR配信1」を選択して、サービスの選択操作を行う(ステップS1005)。
Next, the user U selects "
機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS1006)。なお、当該取得要求には、ユーザUにより選択された「OCR配信1」サービスを提供するアプリ情報1000のアプリIDが含まれる。
When the
Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS1007)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。
When the Web
機器20のブラウザ210は、サービス画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図11(b)に示すサービス画面4200を操作パネル22に表示させる(ステップS1008)。
When the
図11(b)に示すサービス画面4200は、ユーザUにより選択された「OCR配信1」サービスを利用するための画面である。図11(b)に示すサービス画面4200には、ストレージ指定欄4201と、メールアドレス指定欄4202と、実行ボタン4203とが含まれる。
The
ここで、ストレージ指定欄4201は、電子ファイルの格納先リストを取得する外部ストレージシステム30のストレージサービス名を指定する欄である。メールアドレス指定欄4202は、OCR処理された電子ファイルをメール送信する宛先(メールアドレス)を指定する欄である。なお、サービス画面4200には、例えば、OCR処理された電子ファイルをCCやBCCでメール送信する宛先を指定するためのCC指定欄やBCC指定欄等が含まれていても良い。
Here, the
次に、ユーザUは、サービス画面4200において、ストレージ指定欄4201に所望のストレージサービス名を指定すると共に、メールアドレス指定欄4202に所望のメールアドレスを指定した上で、実行ボタン4203を押下する(ステップS1009)。
Next, on the
ここで、以降では、ユーザUにより、ストレージ指定欄4201に「ストレージA」が指定されると共に、メールアドレス指定欄4202にメールアドレス「hoge@fuga.com」が指定された上で、実行ボタン4203が押下されたものとして説明する。
Here, thereafter, the user U specifies "storage A" in the
機器20のブラウザ210は、実行ボタン4203の押下操作を受け付けると、「OCR配信1」サービスを実現する処理フローの実行要求をWebサービス処理部120に送信する(ステップS1010)。
When the
なお、当該実行要求には、「OCR配信1」サービスを提供するアプリ情報1000のアプリIDと、当該サービスを実現するための処理フロー情報1100のフローIDとが含まれる。また、当該実行要求には、サービス画面4200においてユーザUにより入力された入力情報(すなわち、ストレージサービス名及びメールアドレス)が含まれる。
The execution request includes an application ID of
Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1011)。
When the Web
入出力サービス処理部110のロジック処理部112は、処理フローの実行要求を受信すると、当該実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100に基づく一連の処理(すなわち、親フロー)を実行する(ステップS1012)。
When the
そして、ロジック処理部112は、当該一連の処理の処理結果を、Webサービス処理部120を介して、機器20のブラウザ210に返信する。
Then, the
これにより、本実施形態に係るサービス提供システム10において、「OCR配信1」サービスを実現する一連の処理が実行され、機器20に対して当該サービスが提供される。
As a result, in the
ここで、上記のステップS1012の処理フローの実行処理(親フローの実行処理)の詳細について、図12を参照しながら説明する。図12は、本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。 Here, the details of the execution process (execution process of the parent flow) of the process flow in step S1012 will be described with reference to FIG. FIG. 12 is a sequence diagram showing an example of execution processing of the parent flow according to the present embodiment.
フロー実行部301は、処理フローの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS1201)。なお、当該取得要求には、Webサービス処理部120から受信した処理フローの実行要求に含まれるアプリIDと、フローIDとが含まれる。
When the
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1202)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図8に示す処理フロー情報1100が返信される。
When the
フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1203)。
When the
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"component"」に定義されている「"getFileList"」に対応するリスト取得コンポーネント402の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、リスト取得コンポーネント402を生成する(ステップS1204)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したリスト取得コンポーネント402をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、リスト取得コンポーネント402が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をリスト取得コンポーネント402に送信する(ステップS1205)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データは、データ型「InputStream」として、ブラウザ210から受信した入力情報(すなわち、ストレージサービス名「ストレージA」)である。すなわち、フロー実行部301は、ブラウザ210からデータ型「InputStream」として渡された入力情報に含まれるストレージサービス名を、単に「データ」として(データ型を意識することなく)、リスト取得コンポーネント402に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない各種の情報(例えば、入力情報や電子ファイル等)を、単に「データ」と表す。
Here, the data is the input information (that is, the storage service name "storage A") received from the
また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"parameters"」に定義されている「"storage":null」である。
Further, the parameter information is "" storage ": null" defined in "" parameters "" included in the processing definition 1111 of the
リスト取得コンポーネント402は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1206)。そして、リスト取得コンポーネント402は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
Upon receiving the component execution request, the
なお、ここで返信されるデータには、例えば、リスト取得コンポーネント402の実行処理が正常に終了したことを示す情報が含まれる。
The data returned here includes, for example, information indicating that the execution process of the
ここで、リスト取得コンポーネント402の実行処理について、図13を参照しながら説明する。図13は、本実施形態に係るリスト取得コンポーネント402の実行処理の一例を示すシーケンス図である。
Here, the execution process of the
まず、リスト取得コンポーネント402は、型変換要求を型変換管理部304に送信する(ステップS1301)。なお、当該型変換要求には、データと、リスト取得コンポーネント402が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
First, the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1302)。
Upon receiving the type conversion request, the type
ここで、受信した型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
Here, the data type of the data included in the received type conversion request is "InputStream", while the specified data type is "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換情報テーブル3000を参照して、「InputStream」を「LocalFilePath」に変換するための第1の型変換501を特定して、当該特定した第1の型変換501を生成する(ステップS1303)。なお、第1の型変換501の生成は、型変換共通I/F500に定義されたAPIを用いて行うことができる。
Then, the type
次に、型変換管理部304は、生成された第1の型変換501に対して、型変換要求を送信する(ステップS1304)。なお、当該型変換要求には、データが含まれる。
Next, the type
第1の型変換501は、型変換要求を受信すると、当該要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する(ステップS1305)。そして、第1の型変換501は、当該変換後のデータを、型変換管理部304を介して、リスト取得コンポーネント402に返信する。
Upon receiving the type conversion request, the
リスト取得コンポーネント402は、型変換後のデータを受信すると、パラメータ情報を用いて処理を実行する(ステップS1306)。すなわち、リスト取得コンポーネント402は、パラメータ情報に含まれるパラメータ「"storage"」に、データに含まれる「ストレージA」を指定して、リスト取得処理を実行する。
When the
より具体的には、リスト取得コンポーネント402は、データI/F部113を介して、外部サービス連携部1401のデータ処理部142に対して、図5(c)に示すAPI「/外部サービス名/data/files」を用いて、ファイル一覧を取得する。これにより、リスト取得コンポーネント402により、ストレージAにおける電子ファイルの格納先リストが取得される。
More specifically,
次に、リスト取得コンポーネント402は、処理を実行すると、処理結果の保存要求をリソース管理部306に送信する(ステップS1307)。なお、当該保存要求には、リスト取得コンポーネント402の処理の結果を示すデータ(すなわち、電子ファイルの格納先リスト)が含まれる。
Next, when the
リソース管理部306は、処理結果の保存要求を受信すると、当該保存要求に含まれるデータに基づいて、リソース管理情報記憶部170に記憶されているリソース管理情報170Dに処理結果を保存する(ステップS1308)。そして、リソース管理部306は、保存結果をリスト取得コンポーネント402に返信する。
When the
ここで、リソース管理情報170Dに保存されたリスト取得コンポーネント402の処理結果について、図14を参照しながら説明する。図14は、リソース管理情報170Dの一例を示す図である。
Here, the processing result of the
図14に示すように、リソース管理情報170Dには、リスト取得コンポーネント402の処理結果171が保存されている。すなわち、処理結果171には、電子ファイルの格納先URL(Uniform Resource Locator)を示す「"url[0]"」〜「"url[N-1]"」と、格納先リストのサイズ(すなわち、格納先URLの数)を示す「"size"」とが含まれる。換言すれば、処理結果171には、電子ファイルの格納先URLがそれぞれ格納された配列「"url[0]"」〜「"url[N-1]"」と、当該配列の個数「"size"」とが含まれる。
As shown in FIG. 14, the
また、配列「"url[0]"」〜「"url[N-1]"」には、電子ファイルの作成日の降順に、これら電子ファイルの格納先URLが格納されている。これにより、配列「"url[0]"」には、最新の電子ファイルの格納先URLが格納されている一方で、配列「"url[N-1]"」には、最も古い電子ファイルの格納先URLが格納されている。 Further, in the arrays "" url [0] "" to "" url [N-1] "", the storage destination URLs of these electronic files are stored in descending order of the creation date of the electronic files. As a result, the array "" url [0] "" stores the URL where the latest electronic file is stored, while the array "" url [N-1] "" contains the oldest electronic file. The storage destination URL is stored.
このように、リソース管理情報170Dには、一連の処理に含まれる各処理を実行するためのコンポーネントの処理結果が保存される。
In this way, the
図12に戻る。フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1207)。
Return to FIG. When the
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"component"」に定義されている「"iterate"」に対応する反復コンポーネント401の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、反復コンポーネント401を生成する(ステップS1208)。なお、反復コンポーネント401の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成した反復コンポーネント401をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、反復コンポーネント401が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求を反復コンポーネント401に送信する(ステップS1209)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"parameters"」に定義されているパラメータ1121〜パラメータ1123である。
Here, the parameter information is the
反復コンポーネント401は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1210)。そして、反復コンポーネント401は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、反復コンポーネント401の実行処理の詳細については後述する。
Upon receiving the component execution request, the
以降では、反復コンポーネント401の実行処理により、電子ファイルの格納先URLを示す「"url[0]"」〜「"url[N-1]"」に基づいて、それぞれ、電子ファイルが取得されて、OCR処理が行われたものとして説明する。
After that, by the execution process of the
なお、ここで返信されるデータには、例えば、反復コンポーネント401の実行処理が正常に終了したことを示す情報と、OCR処理後のN個(Nは、格納先リストのサイズ)の電子ファイルとが含まれる。
The data returned here includes, for example, information indicating that the execution processing of the
フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1211)。
When the
すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"component"」に定義されている「"sendMail"」に対応するメール配信コンポーネント403の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、メール配信コンポーネント403を生成する(ステップS1212)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したメール配信コンポーネント403をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント403が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント403に送信する(ステップS1213)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データには、入力情報に含まれるメールアドレス「hoge@fuga.com」が含まれる。 Here, the data includes the e-mail address "hoge@fuga.com" included in the input information.
また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"parameters"」に定義されている「"to":null」である。
Further, the parameter information is "" to ": null" defined in "" parameters "" included in the
メール配信コンポーネント403は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1214)。そして、メール配信コンポーネント403は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
Upon receiving the component execution request, the
なお、ここで返信されるデータには、例えば、メール配信コンポーネント403の実行処理が正常に終了したことを示す情報が含まれる。
The data returned here includes, for example, information indicating that the execution process of the
ここで、メール配信コンポーネント403の実行処理について、図15を参照しながら説明する。図15は、本実施形態に係るメール配信コンポーネント403の実行処理の一例を示すシーケンス図である。
Here, the execution process of the
まず、メール配信コンポーネント403は、型変換要求を型変換管理部304に送信する(ステップS1501)。なお、当該型変換要求には、データと、メール配信コンポーネント403が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
First, the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1502)。
Upon receiving the type conversion request, the type
ここで、受信した型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
Here, the data type of the data included in the received type conversion request is "LocalFilePath", and the designated data type is also "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換要求に含まれるデータを、メール配信コンポーネント403に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。
Then, the type
メール配信コンポーネント403は、データを受信すると、パラメータ情報を用いて処理を実行する(ステップS1503)。すなわち、メール配信コンポーネント403は、まず、パラメータ情報に含まれるパラメータ「"to"」に、データに含まれるメールアドレス「hoge@fuga.com」を指定する。そして、メール配信コンポーネント403は、データに含まれる電子ファイルを添付したメールを作成した上で、指定されたメールアドレス宛にメールを送信する。なお、メール配信コンポーネント403は、ドキュメントサービス部130のメール配信部131により、メールの作成及び送信処理を実行する。
When the
ここで、上記のステップS1210における反復コンポーネント401の実行処理について、図16を参照しながら説明する。図16は、本実施形態に係る反復コンポーネント401の実行処理の一例を示すシーケンス図である。
Here, the execution process of the
まず、反復コンポーネント401は、型変換要求を型変換管理部304に送信する(ステップS1601)。なお、当該型変換要求には、データと、反復コンポーネント401が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
First, the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1602)。
Upon receiving the type conversion request, the type
ここで、受信した型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
Here, the data type of the data included in the received type conversion request is "LocalFilePath", and the designated data type is also "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換要求に含まれるデータを、反復コンポーネント401に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。
Then, the type
反復コンポーネント401は、データを受信すると、子フローを実行させた回数(実行済回数)を示す変数「index」を「0」に設定する(ステップS1603)。
When the
次に、反復コンポーネント401は、実行済回数を示す変数「index」が、パラメータ情報に含まれるパラメータ1123に定義された反復回数「"numberOfIterations"」より小さい間、ステップS1604〜ステップS1606の処理を実行する。なお、本実施形態では、「"numberOfIterations"」には、リスト取得コンポーネント402の処理結果171に含まれる格納先リストのサイズ(すなわち、「"result.getFileList.size"」)を参照することが定義されている。したがって、この場合、反復回数(numberOfIterations)は「N」である。
Next, the
すなわち、反復コンポーネント401は、まず、処理フローの実行要求をフロー実行部301に送信する(ステップS1604)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、型変換管理部304から受信したデータと、パラメータ情報とが含まれる。
That is, the
ここで、パラメータ情報は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータ1122である。すなわち、反復コンポーネント401は、子フローのフロー詳細が定義されたパラメータ1122を、パラメータ情報として、フロー実行部301に送信する。
Here, the parameter information is the
次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるフロー詳細に基づく一連の処理(すなわち、子フロー)を実行する(ステップS1605)。
Next, when the
そして、フロー実行部301は、当該一連の処理の処理結果を示すデータを反復コンポーネント401に返信する。
Then, the
その後、反復コンポーネント401は、子フローの処理結果を示すデータをフロー実行部301から受信すると、実行済回数を変数「index」に「1」を加算する(ステップS1604)。
After that, when the
このように、反復コンポーネント401は、処理フロー(子フロー)の実行要求を繰り返しフロー実行部301に送信することで、当該子フローを繰り返し実行させる。これにより、本実施形態に係るサービス提供システム10では、反復コンポーネント401により、処理フローに含まれる1以上の処理の反復を実現することができる。
In this way, the
ここで、上記のステップS1605における子フローの実行処理について、図17を参照しながら説明する。図17は、本実施形態に係る子フローの実行処理の一例を示すシーケンス図である。 Here, the execution process of the child flow in step S1605 will be described with reference to FIG. FIG. 17 is a sequence diagram showing an example of execution processing of the child flow according to the present embodiment.
フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1701)。
When the
すなわち、フロー実行部301は、パラメータ1122の処理定義1131に含まれる「"component"」に定義されている「"getFile"」に対応するファイル取得コンポーネント404の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、ファイル取得コンポーネント404を生成する(ステップS1702)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したファイル取得コンポーネント404をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、ファイル取得コンポーネント404が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をファイル取得コンポーネント404に送信する(ステップS1703)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、パラメータ1122の処理定義1131に含まれる「"parameters"」に定義されている「"location":${result.getFileList.url[index]}」である。
Here, the parameter information is "" location ": $ {result.getFileList.url [index]}" defined in "" parameters "" included in the
ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1704)。すなわち、ファイル取得コンポーネント404は、リソース管理部306を介して、リソース管理情報170Dに保存されている処理結果171に含まれる配列「"url[index]"」から格納先URLを取得する。そして、ファイル取得コンポーネント404は、パラメータ情報に含まれるパラメータ「"location"」に、当該格納先URLを指定して、電子ファイルを取得(ダウンロード)する。なお、「index」は、上述したように、実行済回数を示す変数である。
Upon receiving the component execution request, the
そして、ファイル取得コンポーネント404は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、パラメータ「"location"」に指定された格納先URLから取得(ダウンロード)された電子ファイルが含まれる。
Then, the
次に、フロー実行部301は、当該データを受信すると、反復コンポーネント401から受信した処理フローの実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1705)。
Next, when the
すなわち、フロー実行部301は、パラメータ1122の処理定義1132に含まれる「"component"」に定義されている「"ocr"」に対応するOCRコンポーネント405の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、OCRコンポーネント405を生成する(ステップS1706)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したOCRコンポーネント405をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント405が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント405に送信する(ステップS1707)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、パラメータ1122の処理定義1132に含まれる「"parameters"」に定義されている「"location":"English"」である。
Here, the parameter information is "" location ":" English "" defined in "" parameters "" included in the
OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1705)。すなわち、OCRコンポーネント405は、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。
Upon receiving the component execution request, the
そして、OCRコンポーネント405は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、OCR処理後の電子ファイルが含まれる。
Then, the
以上のように、本実施形態に係るサービス提供システム10では、反復コンポーネント401により、他の処理フロー(子フロー)を繰り返し実行させる。これにより、本実施形態に係るサービス提供システム10では、1以上の処理の反復を実現することができる。
As described above, in the
しかも、本実施形態に係るサービス提供システム10は、処理フローに含まれる処理の処理結果(すなわち、他のコンポーネントの処理結果)に応じて、反復コンポーネント401が他の処理フローを繰り返し実行させる回数を動的に制御することができる。
Moreover, the
ここで、「OCR配信1」サービスを実現する処理フローの他の例について、図18を参照しながら説明する。図18は、「OCR配信1」サービスを実現する処理フローの他の例を説明するための図である。
Here, another example of the processing flow for realizing the "
図18に示す処理フローは、反復コンポーネント401により子フローを実行させる毎に、異なるパラメータ情報を用いるものである。すなわち、図18に示す処理フローでは、反復コンポーネント401は、1回目に子フローを実行させるときには、「パラメータ情報1」を用いる一方、2回目に子フローを実行させるときには、「パラメータ情報2」を用いる。
The processing flow shown in FIG. 18 uses different parameter information each time the child flow is executed by the
このように、図18に示す処理フローでは、反復コンポーネント401は、実行済回数に応じたパラメータ情報を用いて子フローを実行させる。
As described above, in the processing flow shown in FIG. 18, the
ここで、図18に示す処理フローの処理フロー情報1100について、図19を参照しながら説明する。図19は、処理フロー情報1100の他の例を示す図(その1)である。
Here, the
図19に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、パラメータリスト1124が定義されている。また、パラメータリスト1124には、実行済回数が「0」であるときに用いるパラメータ1125と、実行済回数が「1」であるときに用いるパラメータ1126とが定義されている。
As shown in FIG. 19, the
すなわち、パラメータリスト1124に含まれるパラメータ1125及びパラメータ1126は、それぞれ1回目に子フロー実行させるときに用いるパラメータ及び2回目に子フローを実行させるときに用いるパラメータである。
That is, the
このように、パラメータリスト1124には、子フローの実行済回数毎に、パラメータが定義されている。これにより、反復コンポーネント401は、子フローの実行済回数毎に、異なるパラメータ情報を用いて子フローを実行させることができる。
As described above, in the
なお、図19に示す処理フロー情報1100には、処理定義1112に子フローに用いるデータを指定するパラメータ1127が定義されている。パラメータ1127の「"useOriginalFile"」が「"true"」である場合には、図16に示す反復コンポーネントの実行処理で説明したように、反復コンポーネント401は、リスト取得コンポーネント402の実行処理の処理結果を示すデータを用いて、子フローを実行させる。一方、パラメータ1127の「"useOriginalFile"」が「"false"」である場合には、反復コンポーネント401は、実行済回数が1以上のときに、1つ前に実行された子フローの実行処理の処理結果を示すデータを用いて、次の子フローを実行させる。
In the
このように、反復コンポーネント401は、実行済回数が1以上である場合において、1つ前の子フローの実行処理の処理結果を示すデータを用いて、次の子フローの実行処理を行うようにすることができる。
In this way, when the number of executions is 1 or more, the
ここで、図18に示す処理フローにおける反復コンポーネント401の実行処理について、図20を参照しながら説明する。図20は、本実施形態に係る反復コンポーネント401の実行処理の他の例を示すシーケンス図(その1)である。以降では、反復コンポーネント401が子フローを実行させる回数(反復回数)は「2」であるものとして説明する。なお、ステップS1601、ステップS1602、及びステップS1605の処理は、図16と同様であるため、その説明を省略する。
Here, the execution processing of the
反復コンポーネント401は、型変換管理部304からデータを受信すると、処理フローの実行要求をフロー実行部301に送信する(ステップS2001)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、当該データと、パラメータ情報1とが含まれる。
When the
ここで、パラメータ情報1は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータリスト1124のうちのパラメータ1125である。すなわち、反復コンポーネント401は、実行済回数が「0」であるときに用いるパラメータ1125を、パラメータ情報1として、フロー実行部301に送信する。
Here, the
これにより、フロー実行部301により、パラメータ情報1(パラメータ1125として定義されたフロー詳細)に基づく一連の処理が実行される。
As a result, the
また、反復コンポーネント401は、1回目の処理フロー(子フロー)の実行処理の処理結果を示すデータを受信すると、2回目の処理フロー(子フロー)の実行要求をフロー実行部301に送信する(ステップS2002)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、当該データと、パラメータ情報2とが含まれる。
Further, when the
ここで、パラメータ情報1は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータリスト1124のうちのパラメータ1126である。すなわち、反復コンポーネント401は、実行済回数が「1」であるときに用いるパラメータ1126を、パラメータ情報2として、フロー実行部301に送信する。
Here, the
これにより、フロー実行部301により、パラメータ情報2(パラメータ1126として定義されたフロー詳細)に基づく一連の処理が実行される。
As a result, the
このように、反復コンポーネント401は、実行済回数毎に、異なるパラメータ情報を指定した子フローの実行要求をフロー実行部301に送信することができる。
In this way, the
ここで、「OCR配信1」サービスを実現する処理フローの処理フロー情報1100の他の例について、図21を参照しながら説明する。図21は、処理フロー情報1100の他の例を示す図(その2)である。
Here, another example of the
図21に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、次の子フローをスキップさせる否かを判定するためのパラメータ1128が定義されている。パラメータ1128には、次の子フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。これにより、反復コンポーネント401は、「"(条件式)"」を満たす場合に次の子フローを実行させる一方で、「"(条件式)"」を満たさない場合には次の子フローの実行をスキップさせることができる。
As shown in FIG. 21, “parameters” included in the
なお、パラメータ1128には、例えば、子フローの繰り返し実行を中止させるか否かを示す「"breakCondition":"(条件式)"」が定義されていても良い。この場合、「"(条件式)"」には、子フローの繰り返し実行を中止させるための条件式が定義される。これにより、反復コンポーネント401は、パラメータ1128に定義された「"(条件式)"」を満たす場合に、子フローの繰り返し実行を中止させることができる。
Note that
ここで、図21に示す処理フロー情報1100における反復コンポーネント401の実行処理について、図22を参照しながら説明する。図22は、本実施形態に係る反復コンポーネント401の実行処理の他の例を示すシーケンス図(その2)である。なお、ステップS1601〜ステップS1603、ステップS1605〜ステップS1606の処理は、図16と同様であるため、その説明を省略する。
Here, the execution processing of the
ステップS1603に続いて、反復コンポーネント401は、パラメータ1128に定義された「"(条件式)"」を満たすか否かを判定する(ステップS2201)。
Following step S1603, the
ステップS2201において、反復コンポーネント401は、「"(条件式)"」を満たすと判定した場合、ステップS1604及びステップS1605の処理を実行する。
If it is determined in step S2201 that the
一方で、ステップS2201において、反復コンポーネント401は、「"(条件式)"」を満たさないと判定した場合、ステップS1606の処理を実行する。すなわち、反復コンポーネント401は、子フローを実行させずに、実行済回数を示す変数「index」に「1」を加算する。
On the other hand, if it is determined in step S2201 that the
これにより、反復コンポーネント401は、例えば、実行済回数を示す変数「index」が「n」である場合において、「"(条件式)"」を満たさないときは、n+1回目の子フローの実行をスキップすることができる。
As a result, the
以上のように、本実施形態に係るサービス提供システム10は、サービスを実現する一連の処理において、1以上の処理を反復実行することができる。
As described above, the
しかも、本実施形態に係るサービス提供システム10では、当該1以上の処理を反復実行させる回数を、他の処理の処理結果に応じて動的に異なるようにすることができる。また、本実施形態に係るサービス提供システム10では、当該1以上の処理に用いるデータやパラメータ等を、当該1以上の処理の実行回数に応じて動的に決定することができる。
Moreover, in the
これにより、本実施形態に係るサービス提供システム10では、1以上の処理の反復により実現される種々のサービスを提供することができるようになる。
As a result, the
[第二の実施形態]
次に、第二の実施形態について説明する。従来技術では、一連の処理において、他の一連の処理を呼び出して実行することができなかった。したがって、当該一連の処理の各処理を実行するコンポーネントは、他の一連の処理が実行された際の処理結果を利用することができなかった。そこで、第二の実施形態では、他の一連の処理の呼び出しが含まれる一連の処理を実行することを目的とするものである。
[Second Embodiment]
Next, the second embodiment will be described. In the prior art, in a series of processes, it was not possible to call and execute another series of processes. Therefore, the component that executes each process of the series of processes cannot utilize the process result when the other series of processes is executed. Therefore, in the second embodiment, it is an object to execute a series of processes including a call of another series of processes.
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の機能を有する箇所及び実質的に同一の処理を行う箇所については同一の符号を付与し、その説明を省略する。 In the second embodiment, the differences from the first embodiment will be mainly described, and a portion having substantially the same function as the first embodiment and a portion performing substantially the same processing will be described. The same reference numerals are given to the above, and the description thereof will be omitted.
<サービス提供システムが提供するサービス>
まず、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。
<Services provided by the service provision system>
First, the service provided by the
本実施形態に係るサービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルをOCR処理して、メール配信するサービスを提供する。
The
本実施形態に係るサービス提供システム10は、上述したサービス(以降では、「OCR配信2」サービス、又は、単に「OCR配信2」とも表す。)を提供するものとして説明する。
The
ただし、サービス提供システム10により提供されるサービスは、これに限られない。例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを編集(例えば、所定の情報の追加等)して、メール配信するサービスを提供しても良い。
However, the service provided by the
また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを圧縮して、メール配信するサービスを提供しても良い。
Further, for example, the
このように、本実施形態に係るサービス提供システム10は、外部ストレージシステム30と連携した各種のサービスを提供する。
As described above, the
<機能構成>
次に、ロジック処理部112の詳細な機能構成について、図23を参照しながら説明する。図23は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。
<Functional configuration>
Next, the detailed functional configuration of the
図23に示すロジック処理部112のコンポーネント群303には、フロー実行コンポーネント406が含まれる。フロー実行コンポーネント406は、他の処理フローを実行するためのコンポーネントである。
The
ここで、「OCR配信2」サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図24を参照しながら説明する。図24は、「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報1100の一例を示す図である。なお、以降では、図24に示す処理フロー情報1100に基づく処理フローを「親フロー」、親フローから呼び出されることにより実行される他の処理フローを「子フロー」とも表す。
Here, the
図24に示す処理フロー情報1100は、「OCR配信2」サービスを実現する一連の処理(処理フロー)が定義された情報である。
The
図24に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1201と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1202とが含まれる。
The
フロー詳細1202には、処理フローに含まれる各処理をそれぞれ定義した処理定義1211〜1213が含まれる。
The flow details 1202 includes
処理定義1211の「"component"」には、リスト取得コンポーネント402により処理を実行することを示す「"getFileList"」が定義されている。また、「"parameters"」には、リスト取得コンポーネント402に対するパラメータ「"storage"」が定義されておいる。
In the "" component "" of the
同様に、処理定義1213の「"component"」には、メール配信コンポーネント403により処理を実行することを示す「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ「"to"」が定義されている。
Similarly, in the "" component "" of the
同様に、処理定義1212の「"component"」には、フロー実行コンポーネント406により処理を実行することを示す「"execute"」が定義されている。また、「"parameters"」には、フロー実行コンポーネント406に対するパラメータ1221が定義されている。
Similarly, in the "" component "" of the
ここで、パラメータ1221は、フロー実行コンポーネント406が実行させる他の処理フローのフローIDが定義されたパラメータである。このように、フロー実行コンポーネント406による処理を定義した処理定義1212には、当該フロー実行コンポーネント406が実行させる他の処理フローのフローIDが定義されている。これにより、後述するように、フロー実行コンポーネント406により、他の処理フローを実行させることができる。
Here, the
ここで、図24に示す処理フロー情報1100に定義されたフロー実行コンポーネント406が実行させる他の処理フロー(子フロー)の処理フロー情報1100について、図25を参照しながら説明する。図25は、「OCR配信2」サービスを実現する処理フロー(子フロー)が定義された処理フロー情報1100の一例を示す図である。
Here, the
図25に示す処理フロー情報1100は、図24に示す処理フロー情報1100に基づく一連の処理から呼び出される他の処理フローを実行するための処理フロー情報1100である。
The
図25に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1301と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1302とが含まれる。
The
フロー詳細1302には、処理フローに含まれる各処理をそれぞれ定義した処理定義1312〜1322が含まれる。 The flow details 1302 includes process definitions 1312-1322 that define each process included in the process flow.
処理定義1312の「"component"」には、ファイル取得コンポーネント404により処理を実行することを示す「"getFile"」が定義されている。また、「"parameters"」には、ファイル取得コンポーネント404に対するパラメータ「"location"」が定義されておいる。なお、パラメータ「"location"」は、電子ファイルの格納先リストを示す情報が定義されるパラメータである。
In the "" component "" of the
同様に、処理定義1322の「"component"」には、OCRコンポーネント405により処理を実行することを示す「"ocr"」が定義されている。また、「"parameters"」には、OCRコンポーネント405に対するパラメータ「"language"」が定義されている。
Similarly, in the "" component "" of the
ここで、図24に示す処理フロー情報1100に基づく処理フロー(すなわち、「OCR配信2」サービスを実現する処理フロー)を、図26に示す。図26は、「OCR配信2」サービスを実現する処理フローの一例を説明するための図である。
Here, FIG. 26 shows a processing flow based on the
図26に示すように、「OCR配信2」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。
As shown in FIG. 26, in the processing flow for realizing the “OCR distribution 2” service, first, the
次に、フロー実行コンポーネント406により、図25に示す処理フロー情報1100に基づく処理フローである子フローが実行される。すなわち、フロー実行コンポーネント406は、ファイル取得コンポーネント404による処理と、OCRコンポーネント405による処理とを実行させる。これにより、格納先リストに含まれる格納先のうち、最新の電子ファイルの格納先に基づいて、当該最新の電子ファイルが取得(ダウンロード)され、OCR処理が行われる。
Next, the
最後に、メール配信コンポーネント403により、OCR処理後の電子ファイルがメール配信される。
Finally, the
このように、「OCR配信2」サービスでは、親フローのフロー実行コンポーネント406が子フロー(他の処理フロー)を実行させることで、処理フローにおいて他の処理フローの呼び出しを実現している。なお、子フローにフロー実行コンポーネント406が含まれる場合には、他の処理フロー(孫フロー)を実行させれば良い。
As described above, in the "OCR distribution 2" service, the
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Next, the details of the processing of the
以降では、機器20のユーザUが、ブラウザ210を用いて、サービス提供システム10により提供される「OCR配信2」サービスを利用する場合の処理について、図27を参照しながら説明する。図27は、本実施形態に係る「OCR配信2」サービスを利用する場合の全体処理の一例を示すシーケンス図である。なお、図27のステップS1001〜ステップS1004は、図10と同様であるため、その説明を省略する。
Hereinafter, the processing when the user U of the
ステップS1004に続いて、ユーザUは、サービス一覧画面4100のサービス名一覧4101から「OCR配信2」を選択して、サービスの選択操作を行う(ステップS2701)。
Following step S1004, the user U selects "OCR distribution 2" from the
機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS2702)。なお、当該取得要求には、ユーザUにより選択された「OCR配信2」サービスを提供するアプリ情報1000のアプリIDが含まれる。
When the
Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS2703)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。
When the Web
機器20のブラウザ210は、サービス画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図28に示すサービス画面4300を操作パネル22に表示させる(ステップS2704)。
When the
図28に示すサービス画面4300は、ユーザUにより選択された「OCR配信2」サービスを利用するための画面である。図28に示すサービス画面4300には、ストレージ指定欄4301と、メールアドレス指定欄4302と、実行ボタン4303とが含まれる。
The
ここで、ストレージ指定欄4301は、電子ファイルの格納先リストを取得する外部ストレージシステム30のストレージサービス名を指定する欄である。メールアドレス指定欄4302は、OCR処理された電子ファイルをメール送信する宛先(メールアドレス)を指定する欄である。なお、サービス画面4300には、例えば、OCR処理された電子ファイルをCCやBCCでメール送信する宛先を指定するためのCC指定欄やBCC指定欄等が含まれていても良い。
Here, the storage designation field 4301 is a field for designating the storage service name of the
次に、ユーザUは、サービス画面4300において、ストレージ指定欄4301に所望のストレージサービス名を指定すると共に、メールアドレス指定欄4302に所望のメールアドレスを指定した上で、実行ボタン4303を押下する(ステップS2705)。
Next, on the
ここで、以降では、ユーザUにより、ストレージ指定欄4301に「ストレージA」が指定されると共に、メールアドレス指定欄4302にメールアドレス「hoge@fuga.com」が指定された上で、実行ボタン4303が押下されたものとして説明する。
Here, thereafter, after the user U specifies "storage A" in the storage designation field 4301 and the mail address "hoge@fuga.com" in the mail
機器20のブラウザ210は、実行ボタン4303の押下操作を受け付けると、「OCR配信2」サービスを実現する処理フローの実行要求をWebサービス処理部120に送信する(ステップS2706)。
When the
なお、当該実行要求には、「OCR配信2」サービスを提供するアプリ情報1000のアプリIDと、当該サービスを実現するための処理フロー情報1100のフローIDが含まれる。また、当該実行要求には、サービス画面4300においてユーザUにより入力された入力情報(すなわち、ストレージサービス名及びメールアドレス)が含まれる。
The execution request includes an application ID of
Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS2707)。
When the Web
入出力サービス処理部110のロジック処理部112は、処理フローの実行要求を受信すると、当該実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100に基づく一連の処理(すなわち、親フロー)を実行する(ステップS2708)。
When the
そして、ロジック処理部112は、当該一連の処理の処理結果を、Webサービス処理部120を介して、機器20のブラウザ210に返信する。
Then, the
これにより、本実施形態に係るサービス提供システム10において、「OCR配信2」サービスを実現する一連の処理が実行され、機器20に対して当該サービスが提供される。
As a result, in the
ここで、上記のステップS2708の処理フローの実行処理(親フローの実行処理)の詳細について、図29を参照しながら説明する。図29は、本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。 Here, the details of the execution process (execution process of the parent flow) of the process flow in step S2708 will be described with reference to FIG. 29. FIG. 29 is a sequence diagram showing an example of execution processing of the parent flow according to the present embodiment.
フロー実行部301は、処理フローの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS2901)。なお、当該取得要求には、Webサービス処理部120から受信した処理フローの実行要求に含まれるアプリIDと、フローIDとが含まれる。
When the
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS2902)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図24に示す処理フロー情報1100が返信される。
When the
フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2903)。
When the
すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1211に含まれる「"component"」に定義されている「"getFileList"」に対応するリスト取得コンポーネント402の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、リスト取得コンポーネント402を生成する(ステップS2904)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したリスト取得コンポーネント402をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、リスト取得コンポーネント402が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をリスト取得コンポーネント402に送信する(ステップS2905)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データは、データ型「InputStream」として、ブラウザ210から受信した入力情報(すなわち、ストレージサービス名「ストレージA」)である。
Here, the data is the input information (that is, the storage service name "storage A") received from the
また、パラメータ情報は、図24に示す処理フロー情報1100の処理定義1211に含まれる「"parameters"」に定義されている「"storage":null」である。
Further, the parameter information is "" storage ": null" defined in "" parameters "" included in the
リスト取得コンポーネント402は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2906)。そして、リスト取得コンポーネント402は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
Upon receiving the component execution request, the
なお、ここで返信されるデータには、例えば、リスト取得コンポーネント402の実行処理が正常に終了したことを示す情報が含まれる。リスト取得コンポーネント402の実行処理は、図13を参照しながら説明した処理と同様である。
The data returned here includes, for example, information indicating that the execution process of the
次に、フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2907)。
Next, when the
すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1212に含まれる「"component"」に定義されている「"execute"」に対応するフロー実行コンポーネント406の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、フロー実行コンポーネント406を生成する(ステップS2908)。なお、フロー実行コンポーネント406の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したフロー実行コンポーネント406をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、フロー実行コンポーネント406が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をフロー実行コンポーネント406に送信する(ステップS2909)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、図24に示す処理フロー情報1100の処理定義1212に含まれる「"parameters"」に定義されているパラメータ1221である。
Here, the parameter information is the
フロー実行コンポーネント406は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2910)。そして、フロー実行コンポーネント406は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、フロー実行コンポーネント406の実行処理の詳細については後述する。
Upon receiving the component execution request, the
以降では、フロー実行コンポーネント406の実行処理により、子フローが実行され、電子ファイルの格納先URLを示す「"url[0]"」に基づいて、最新の電子ファイルが取得されて、当該電子ファイルに対してOCR処理が行われたものとして説明する。
After that, the child flow is executed by the execution process of the
なお、ここで返信されるデータには、例えば、フロー実行コンポーネント406の実行処理が正常に終了したことを示す情報と、OCR処理後の電子ファイルとが含まれる。
The data returned here includes, for example, information indicating that the execution process of the
フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2911)。
When the
すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1213に含まれる「"component"」に定義されている「"sendMail"」に対応するメール配信コンポーネント403の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、メール配信コンポーネント403を生成する(ステップS2912)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したメール配信コンポーネント403をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント403が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント403に送信する(ステップS2913)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データには、入力情報に含まれるメールアドレス「hoge@fuga.com」が含まれる。 Here, the data includes the e-mail address "hoge@fuga.com" included in the input information.
また、パラメータ情報は、図24に示す処理フロー情報1100の処理定義1213に含まれる「"parameters"」に定義されている「"to":null」である。
Further, the parameter information is "" to ": null" defined in "" parameters "" included in the
メール配信コンポーネント403は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2914)。そして、メール配信コンポーネント403は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。
Upon receiving the component execution request, the
なお、ここで返信されるデータには、例えば、メール配信コンポーネント403の実行処理が正常に終了したことを示す情報が含まれる。メール配信コンポーネント403の実行処理は、図15を参照しながら説明した処理と同様である。
The data returned here includes, for example, information indicating that the execution process of the
ここで、上記のステップS2910におけるフロー実行コンポーネント406の実行処理について、図30を参照しながら説明する。図30は、本実施形態に係るフロー実行コンポーネント406の実行処理の一例を示すシーケンス図である。
Here, the execution process of the
まず、フロー実行コンポーネント406は、型変換要求を型変換管理部304に送信する(ステップS3001)。なお、当該型変換要求には、データと、フロー実行コンポーネント406が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
First, the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS3002)。
Upon receiving the type conversion request, the type
ここで、受信した型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
Here, the data type of the data included in the received type conversion request is "LocalFilePath", and the designated data type is also "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換要求に含まれるデータを、フロー実行コンポーネント406に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。
Then, the type
フロー実行コンポーネント406は、データを受信すると、処理フローの実行要求をフロー実行部301に送信する(ステップS3003)。なお、当該実行要求には、型変換管理部304から受信したデータと、パラメータ情報とが含まれる。ここで、パラメータ情報は、パラメータ1221に定義されたフローIDである。
Upon receiving the data, the
次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるフローIDの処理フロー情報1100に基づく一連の処理(すなわち、子フロー)を実行する(ステップS3004)。
Next, when the
そして、フロー実行部301は、当該一連の処理の処理結果を示すデータをフロー実行コンポーネント406に返信する。
Then, the
このように、フロー実行コンポーネント406は、他の処理フロー(子フロー)の実行要求をフロー実行部301に送信することで、当該子フローを実行させる。これにより、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント406により、他の処理フローの呼び出しを実現することができる。
In this way, the
ここで、上記のステップS3004における子フローの実行処理について、図31を参照しながら説明する。図31は、本実施形態に係る子フローの実行処理の一例を示すシーケンス図である。 Here, the execution process of the child flow in step S3004 will be described with reference to FIG. 31. FIG. 31 is a sequence diagram showing an example of the execution process of the child flow according to the present embodiment.
フロー実行部301は、処理フローの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS3101)。なお、当該取得要求には、フロー実行コンポーネント406から受信した処理フローの実行要求に含まれるパラメータ情報が示すフローIDが含まれる。
When the
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS3102)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図25に示す処理フロー情報1100が返信される。
When the
フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS3103)。
When the
すなわち、フロー実行部301は、図25に示す処理フロー情報1100の処理定義1312に含まれる「"component"」に定義されている「"getFile"」に対応するファイル取得コンポーネント404の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、ファイル取得コンポーネント404を生成する(ステップS3104)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したファイル取得コンポーネント404をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、ファイル取得コンポーネント404が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をファイル取得コンポーネント404に送信する(ステップS3105)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、図25に示す処理フロー情報1100の処理定義1212に含まれる「"parameters"」に定義されている「"location" : ${result.getFileList.url[0]}」である。
Here, the parameter information is "" location ": $ {result.getFileList.url [0]}" defined in "" parameters "" included in the
ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS3106)。すなわち、ファイル取得コンポーネント404は、リソース管理部306を介して、リソース管理情報170Dに保存されている処理結果171に含まれる配列「"url[0]"」から格納先URLを取得する。そして、ファイル取得コンポーネント404は、パラメータ情報に含まれるパラメータ「"location"」に、当該格納先URLを指定して、電子ファイルを取得(ダウンロード)する。
Upon receiving the component execution request, the
そして、ファイル取得コンポーネント404は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、パラメータ「"location"」に指定された格納先URLから取得(ダウンロード)された電子ファイルが含まれる。
Then, the
これにより、ファイル取得コンポーネント404により、配列「"url[0]"」が示す電子ファイル(すなわち、最新の電子ファイル)が取得される。
As a result, the
なお、上記では、ファイル取得コンポーネント404により、最新の電子ファイルが取得される場合について説明したが、これに限られない。例えば、処理定義1312に含まれる「"parameters"」において「"location":${result.getFileList.url[N-1]}」と定義することで、ファイル取得コンポーネント404により、配列「"url[N-1]"」が示す電子ファイル(すなわち、最も古い電子ファイル)を取得することもできる。
In the above description, the case where the latest electronic file is acquired by the
次に、フロー実行部301は、当該データを受信すると、フロー実行コンポーネント406から受信した処理フローの実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS3107)。
Next, when the
すなわち、フロー実行部301は、図25に示す処理フロー情報1100の処理定義1322に含まれる「"component"」に定義されている「"ocr"」に対応するOCRコンポーネント405の取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、OCRコンポーネント405を生成する(ステップS3108)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したOCRコンポーネント405をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント405が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント405に送信する(ステップS3109)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、パラメータ情報は、図25に示す処理フロー情報1100の処理定義1322に含まれる「"parameters"」に定義されている「"location":"English"」である。
Here, the parameter information is "" location ":" English "" defined in "" parameters "" included in the
OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS3110)。すなわち、OCRコンポーネント405は、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。
Upon receiving the component execution request, the
そして、OCRコンポーネント405は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、OCR処理後の電子ファイルが含まれる。
Then, the
以上のように、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント406により、他の処理フロー(子フロー)を実行させる。これにより、本実施形態に係るサービス提供システム10では、他の処理フローの呼び出しを実現することができる。
As described above, in the
このため、本実施形態に係るサービス提供システム10では、処理フローにおいて、他の処理フローの処理結果を利用することができるようになる。
Therefore, in the
ここで、「OCR配信2」サービスを実現する処理フローの処理フロー情報1100の他の例について、図32を参照しながら説明する。図32は、「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報1100の他の例を示す図である。
Here, another example of the
図32に示すように、処理定義1212に含まれる「"parameters"」には、他の処理フローを実行させるか否かを判定するためのパラメータ1222が定義されている。パラメータ1222には、他の処理フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。これにより、フロー実行コンポーネント406は、「"(条件式)"」を満たす場合に他の処理フローを実行させる一方で、「"(条件式)"」を満たさない場合には他の処理フローを実行させないようにすることができる。
As shown in FIG. 32, in the "" parameters "" included in the
ここで、図32に示す処理フロー情報1100におけるフロー実行コンポーネント406の実行処理について、図33を参照しながら説明する。図33は、本実施形態に係るフロー実行コンポーネント406の実行処理の他の例を示すシーケンス図である。なお、ステップS3001〜ステップS3004の処理は、図30と同様であるため、その説明を省略する。
Here, the execution processing of the
ステップS3002に続いて、フロー実行コンポーネント406は、パラメータ1223に定義された「"(条件式)"」を満たすか否かを判定する(ステップS3301)。
Following step S3002, the
ステップS3301において、フロー実行コンポーネント406は、「"(条件式)"」を満たすと判定した場合、ステップS3003の処理を実行する。
If it is determined in step S3301 that the
一方で、ステップS3301において、フロー実行コンポーネント406は、「"(条件式)"」を満たさないと判定した場合、処理を終了させる。
On the other hand, if it is determined in step S3301 that the
これにより、フロー実行コンポーネント406は、「"(条件式)"」を満たさない場合は、子フローを実行させないようにすることができる。
As a result, the
以上のように、本実施形態に係るサービス提供システム10は、サービスを実現する一連の処理において、他の一連の処理を実行することができる。このため、本実施形態に係るサービス提供システム10では、一連の処理において、他の一連の処理の処理結果を用いることができる。
As described above, the
これにより、本実施形態に係るサービス提供システム10では、他の一連の処理を呼び出して、当該他の一連の処理の処理結果を用いる一連の処理により実現される種々のサービスを提供することができるようになる。
As a result, the
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above-described embodiment disclosed specifically, and various modifications and modifications can be made without departing from the scope of claims.
以上の説明に関し、更に以下の項を開示する。
(付記1)
1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記第1のフロー識別情報と関連付けて記憶されている第1のフロー情報を取得する取得手段と、
前記取得手段により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
前記取得手段は、
他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に含まれる第2のフロー識別情報と関連付けて記憶されている第2のフロー情報を取得し、
前記実行手段は、
前記取得手段により取得された前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理システム。
(付記2)
前記取得手段は、
前記フロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記フロー実行プログラムの実行に応じて、前記記憶手段に記憶されているフロー情報のうち、前記第2のフロー情報を取得する、付記1に記載の情報処理システム。
(付記3)
前記実行手段は、
電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムに処理を実行させることにより、前記電子データを用いた前記一連の処理を実行する、付記1又は2に記載の情報処理システム。
(付記4)
前記プログラムには、外部サービス毎に、外部サービスに関する処理を実行する外部サービスプログラムを含み、
前記外部サービスプログラムは、
外部サービスに格納されている電子データの格納先アドレスを取得する処理を実行するプログラムを少なくとも含む、付記1乃至3の何れか1項に記載の情報処理システム。
(付記5)
前記実行順は、前記フロー情報において前記プログラム識別情報が定義されている順である、請求項1乃至4の何れか1項に記載の情報処理システム。
(付記6)
前記フロー情報は、前記プログラム識別情報と、前記実行順と、前記プログラム識別情報により識別されるプログラムの実行に用いるパラメータとが定義され、
前記フロー実行プログラムの実行に用いるパラメータには、前記第2のフロー識別情報が含まれる、請求項1乃至5の何れか1項に記載の情報処理システム。
(付記7)
前記実行手段は、
前記他の一連の処理を実行が終了すると、前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムのうち、未実行のプログラムそれぞれを前記実行順に従って実行させることで、前記一連の処理に含まれる前記呼び出す処理の次の処理以降の処理を実行する、請求項1乃至6の何れか1項に記載の情報処理システム。
(付記8)
所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記第1のフロー識別情報と関連付けて記憶されている第1のフロー情報を取得する取得手段と、
前記取得手段により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
前記取得手段は、
他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に含まれる第2のフロー識別情報と関連付けて記憶されている第2のフロー情報を取得し、
前記実行手段は、
前記取得手段により取得された前記第2のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理装置。
(付記9)
1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法において、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、第1のフロー識別情報とを受信する受信手順と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手順により受信された前記第1のフロー識別情報と関連付けて記憶されている第1のフロー情報を取得する取得手順と、
前記取得手順により取得された前記第1のフロー情報に定義されている前記プログラム識別情報により識別されるプログラムそれぞれを、前記第1のフロー情報に定義されている前記実行順に従って実行させることで、前記受信手順により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手順と、を有し、
前記取得手順は、
他の一連の処理を呼び出す処理に係る前記所定の処理を実行するフロー実行プログラムを識別するプログラム識別情報が前記第1のフロー情報に定義されている場合、前記記憶手段に記憶されているフロー情報のうち、前記第1のフロー情報に含まれる第2のフロー識別情報と関連付けて記憶されている第2のフロー情報を取得し、
前記実行手順は、
前記取得手順により取得された前記第2のフロー情報に定義されている前記プログラム識別情報より識別されるプログラムそれぞれを、前記第2のフロー情報に定義されている前記実行順に従って実行させることで、前記一連の処理の実行中に、前記電子データを用いた前記他の一連の処理を呼び出して実行する、情報処理方法。
With respect to the above description, the following sections will be further disclosed.
(Appendix 1)
An information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes.
For each series of processes using electronic data, program identification information that identifies one or more programs that execute each process of the series of processes, and flow information that defines the execution order of one or more programs. With a storage means for storing the flow identification information in association with the flow identification information for identifying the flow information.
A receiving means for receiving information on electronic data and first flow identification information from one of one or more devices connected to the information processing system.
Of the flow information stored in the storage means, an acquisition means for acquiring the first flow information stored in association with the first flow identification information received by the receiving means, and
By executing each of the programs identified by the program identification information defined in the first flow information acquired by the acquisition means in accordance with the execution order defined in the first flow information. It has an execution means for executing the series of processes using the electronic data based on the information about the electronic data received by the receiving means.
The acquisition means
When the program identification information that identifies the flow execution program that executes the predetermined process related to the process of calling another series of processes is defined in the first flow information, the flow information stored in the storage means. Among them, the second flow information stored in association with the second flow identification information included in the first flow information is acquired, and the second flow information is acquired.
The execution means
By executing each of the programs identified by the program identification information defined in the second flow information acquired by the acquisition means in accordance with the execution order defined in the second flow information. An information processing system that calls and executes the other series of processes using the electronic data during the execution of the series of processes.
(Appendix 2)
The acquisition means
When the program identification information that identifies the flow execution program is defined in the first flow information, the second of the flow information stored in the storage means according to the execution of the flow execution program. The information processing system according to
(Appendix 3)
The execution means
It has one or more type conversion means for converting the data type of the electronic data into a predetermined data type for the electronic data.
After converting the data type of the electronic data into a data type that can be processed by the program by the type conversion means, the program is made to execute the process to execute the series of processes using the electronic data. The information processing system according to
(Appendix 4)
The program includes an external service program that executes processing related to the external service for each external service.
The external service program
The information processing system according to any one of
(Appendix 5)
The information processing system according to any one of
(Appendix 6)
The flow information defines the program identification information, the execution order, and parameters used for executing the program identified by the program identification information.
The information processing system according to any one of
(Appendix 7)
The execution means
When the execution of the other series of processes is completed, the unexecuted programs among the programs identified by the program identification information defined in the first flow information are executed in the execution order. The information processing system according to any one of
(Appendix 8)
An information processing device having a plurality of programs that execute predetermined processes.
For each series of processes using electronic data, program identification information that identifies one or more programs that execute each process of the series of processes, and flow information that defines the execution order of one or more programs. With a storage means for storing the flow identification information in association with the flow identification information for identifying the flow information.
A receiving means for receiving information on electronic data and first flow identification information from one of one or more devices connected to the information processing device.
Of the flow information stored in the storage means, an acquisition means for acquiring the first flow information stored in association with the first flow identification information received by the receiving means, and
By executing each of the programs identified by the program identification information defined in the first flow information acquired by the acquisition means in accordance with the execution order defined in the first flow information. It has an execution means for executing the series of processes using the electronic data based on the information about the electronic data received by the receiving means.
The acquisition means
When the program identification information that identifies the flow execution program that executes the predetermined process related to the process of calling another series of processes is defined in the first flow information, the flow information stored in the storage means. Among them, the second flow information stored in association with the second flow identification information included in the first flow information is acquired, and the second flow information is acquired.
The execution means
By executing each of the programs identified by the program identification information defined in the second flow information acquired by the acquisition means in accordance with the execution order defined in the second flow information. An information processing device that calls and executes the other series of processes using the electronic data during the execution of the series of processes.
(Appendix 9)
An information processing system including one or more information processing devices and having a plurality of programs for executing predetermined processes, and executing each process of the series of processes for each series of processes using electronic data. Information processing having a storage means for storing flow information in which one or more program identification information for identifying the program and one or more execution order of the program are defined in association with the flow identification information for identifying the flow information. In the information processing method used in the system
A receiving procedure for receiving information on electronic data and a first flow identification information from one of the one or more devices connected to the information processing system.
Of the flow information stored in the storage means, an acquisition procedure for acquiring the first flow information stored in association with the first flow identification information received by the reception procedure, and
By executing each of the programs identified by the program identification information defined in the first flow information acquired by the acquisition procedure in accordance with the execution order defined in the first flow information. It has an execution procedure for executing the series of processes using the electronic data based on the information about the electronic data received by the reception procedure.
The acquisition procedure is
When the program identification information that identifies the flow execution program that executes the predetermined process related to the process of calling another series of processes is defined in the first flow information, the flow information stored in the storage means. Among them, the second flow information stored in association with the second flow identification information included in the first flow information is acquired, and the second flow information is acquired.
The execution procedure is
By executing each program identified from the program identification information defined in the second flow information acquired by the acquisition procedure in accordance with the execution order defined in the second flow information. An information processing method for calling and executing the other series of processes using the electronic data during the execution of the series of processes.
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 リソース管理部
1000 アプリ情報
1100 処理フロー情報
2000 画面情報
3000 型変換情報テーブル
1
Claims (7)
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第1のプログラム識別情報と、1以上の前記プログラムの第1の実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記一連の処理に用いられる電子データに関する情報と、前記フロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて記憶されているフロー情報を取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記第1のプログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記第1の実行順に従って実行させることで、前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する実行手段とを有し、
前記実行手段は、
前記一連の処理に1以上の処理の繰り返しが含まれる場合、1以上の前記プログラムのうちの特定のプログラムの処理結果に応じて決定される繰り返し条件を満たしている間、前記1以上の処理を繰り返し実行する、情報処理システム。 An information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes.
For each series of processes using electronic data, the first program identification information that identifies one or more programs that execute each process of the series of processes, and the first execution order of one or more programs. A storage means that stores the flow information in which is defined in association with the flow identification information that identifies the flow information, and
A receiving means for receiving information on electronic data used in the series of processes and the flow identification information from one of one or more devices connected to the information processing system.
Of the flow information stored in the storage means, an acquisition means for acquiring the flow information stored in association with the flow identification information received by the receiving means, and
By executing each of the programs identified by the first program identification information defined in the flow information acquired by the acquisition means in accordance with the first execution order defined in the flow information. , Has an execution means for executing a series of processes using the electronic data based on the information about the electronic data.
The execution means
When the series of processes includes the repetition of one or more processes, the one or more processes are performed while the repetition conditions determined according to the processing result of a specific program among the one or more programs are satisfied. An information processing system that runs repeatedly.
前記1以上の処理をそれぞれ実行する前記プログラムを識別する第2のプログラム識別情報と、前記1以上の処理をそれぞれ実行する前記プログラムの第2の実行順と、前記繰り返しの条件とが前記フロー情報に定義されている場合、該繰り返しの条件を満たしている間、前記フロー情報に定義されている前記第2のプログラム識別情報により識別される前記プログラムそれぞれを、前記第2の実行順に従って実行させることで、前記1以上の処理を繰り返し実行する、請求項1に記載の情報処理システム。 The execution means
The flow information includes a second program identification information that identifies the program that executes each of the one or more processes, a second execution order of the program that executes each of the one or more processes, and the repetition condition. When defined in, each of the programs identified by the second program identification information defined in the flow information is executed according to the second execution order while the repetition condition is satisfied. The information processing system according to claim 1, wherein the above-mentioned one or more processes are repeatedly executed.
前記1以上の処理を繰り返し実行させる反復プログラムを含み、
前記実行手段は、
前記反復プログラムを識別する第1のプログラム識別情報が前記フロー情報に定義されている場合、前記反復プログラムが、前記繰り返しの条件を満たしている間、前記1以上の処理を繰り返し実行させる、請求項1又は2に記載の情報処理システム。 The program includes
Includes an iterative program that repeatedly executes one or more of the above processes.
The execution means
A claim that, when the first program identification information for identifying the iterative program is defined in the flow information, the iterative program repeatedly executes the one or more processes while satisfying the conditions for the iterative program. The information processing system according to 1 or 2.
電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムが処理を実行することにより、前記電子データを用いた前記一連の処理を実行する、請求項1乃至3の何れか1項に記載の情報処理システム。 The execution means
It has one or more type conversion means for converting the data type of the electronic data into a predetermined data type for the electronic data.
After converting the data type of the electronic data into a data type that can be processed by the program by the type conversion means, the program executes the process to execute the series of processes using the electronic data. The information processing system according to any one of claims 1 to 3.
前記外部サービスに関する処理を実行するプログラムには、
外部サービスに格納されている電子データの格納先アドレスを取得する処理を実行する前記特定のプログラムを少なくとも含み、
前記繰り返し条件は、前記1以上の処理の繰り返し回数が、前記特定のプログラムが実行した処理によって取得された格納先アドレスの数未満であることを示す条件である、請求項1乃至4の何れか1項に記載の情報処理システム。 The program includes a program that executes processing related to an external service.
The program that executes the processing related to the external service includes
At least including the specific program that executes the process of acquiring the storage destination address of the electronic data stored in the external service.
The repetition condition is any of claims 1 to 4, which indicates that the number of repetitions of the one or more processes is less than the number of storage destination addresses acquired by the processing executed by the specific program. The information processing system according to item 1.
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から、前記一連の処理に用いられる電子データに関する情報と、前記フロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて記憶されているフロー情報を取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する実行手段とを有し、
前記実行手段は、
前記一連の処理に1以上の処理の繰り返しが含まれる場合、1以上の前記プログラムのうちの特定のプログラムの処理結果に応じて決定される繰り返し条件を満たしている間、前記1以上の処理を繰り返し実行する、情報処理装置。 An information processing device having a plurality of programs that execute predetermined processes.
For each series of processes using electronic data, program identification information that identifies one or more programs that execute each process of the series of processes, and flow information that defines the execution order of one or more programs. With a storage means for storing the flow identification information in association with the flow identification information for identifying the flow information.
A receiving means for receiving information on electronic data used in the series of processes and flow identification information from one of one or more devices connected to the information processing device.
Of the flow information stored in the storage means, an acquisition means for acquiring the flow information stored in association with the flow identification information received by the receiving means, and
Information about the electronic data by executing each of the programs identified by the program identification information defined in the flow information acquired by the acquisition means in accordance with the execution order defined in the flow information. Has an execution means for executing a series of processes using electronic data based on
The execution means
When the series of processes includes the repetition of one or more processes, the one or more processes are performed while the repetition conditions determined according to the processing result of a specific program among the one or more programs are satisfied. An information processing device that is repeatedly executed.
前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記一連の処理に用いられる電子データに関する情報と、前記フロー識別情報とを受信する受信手順と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手順により受信された前記フロー識別情報と関連付けて記憶されているフロー情報を取得する取得手順と、
前記取得手順により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する実行手順とを有し、
前記実行手順は、
前記一連の処理に1以上の処理の繰り返しが含まれる場合、1以上の前記プログラムのうちの特定のプログラムの処理結果に応じて決定される繰り返し条件を満たしている間、前記1以上の処理を繰り返し実行する、情報処理方法。 An information processing system including one or more information processing devices and having a plurality of programs for executing predetermined processes, and executing each process of the series of processes for each series of processes using electronic data. information having a one or more program identification information for identifying the program, one or more flow information execution order and is defined in the program, a storage means for storing in association with the flow identification information for identifying the flow information In the information processing method used in the system
A reception procedure for receiving information on electronic data used in the series of processes and flow identification information from one of one or more devices connected to the information processing system.
Of the flow information stored in the storage means, an acquisition procedure for acquiring the flow information stored in association with the flow identification information received by the reception procedure, and an acquisition procedure.
Information about the electronic data by executing each of the programs identified by the program identification information defined in the flow information acquired by the acquisition procedure in accordance with the execution order defined in the flow information. Has an execution procedure to execute a series of processes using electronic data based on
The execution procedure is
When the series of processes includes the repetition of one or more processes, the one or more processes are performed while the repetition conditions determined according to the processing result of a specific program among the one or more programs are satisfied. An information processing method that is executed repeatedly.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/439,290 US10516791B2 (en) | 2016-03-04 | 2017-02-22 | Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016042843 | 2016-03-04 | ||
JP2016042843 | 2016-03-04 | ||
JP2016050598 | 2016-03-15 | ||
JP2016050598 | 2016-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017168082A JP2017168082A (en) | 2017-09-21 |
JP6885056B2 true JP6885056B2 (en) | 2021-06-09 |
Family
ID=59908980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016250774A Active JP6885056B2 (en) | 2016-03-04 | 2016-12-26 | Information processing system, information processing device, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6885056B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1454585B1 (en) * | 2001-11-22 | 2012-02-29 | Kabushiki Kaisha Toshiba | Ultrasonograph, work flow edition system, and ultrasonograph control method |
JP5160607B2 (en) * | 2010-09-22 | 2013-03-13 | シャープ株式会社 | Compound machine |
JP2016015007A (en) * | 2014-07-02 | 2016-01-28 | 株式会社リコー | Information processing apparatus, information processing system, information processing method, and program |
-
2016
- 2016-12-26 JP JP2016250774A patent/JP6885056B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017168082A (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6859620B2 (en) | Information processing system, information processing device, information processing method, and information processing program | |
US10516791B2 (en) | Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes | |
EP3156903A1 (en) | Information processing system, information processing apparatus, method for processing information, and recording medium | |
US20180101525A1 (en) | Information processing apparatus, document display method, document display system, and medium | |
CN107979632A (en) | The processing method of pushed information, apparatus and system | |
US10768975B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US11070697B2 (en) | Information processing system, information processing apparatus, and information processing method | |
JP2018037746A (en) | Information processing system, information processor, and information processing method | |
US20010002471A1 (en) | System and program for processing special characters used in dynamic documents | |
JP6756270B2 (en) | Information processing system, information processing device, information processing method, and program | |
US7827477B2 (en) | Editing a web site using a plurality of editing environments | |
CN102236614B (en) | Signal conditioning package and control method | |
JP6885056B2 (en) | Information processing system, information processing device, and information processing method | |
TWI834538B (en) | Interface generating system and interface generating method | |
JP6702015B2 (en) | Information processing system, information processing apparatus, and information processing method | |
CN115955408A (en) | Application arrangement service system and method based on Conductor framework | |
JP6780364B2 (en) | Information processing system, information processing device, and information processing method | |
US10348926B2 (en) | Information processing system, information processing apparatus, and information processing method | |
JP6673047B2 (en) | Information processing system, information processing apparatus, and information processing method | |
JP4825717B2 (en) | Document collection method, document collection program, and document collection apparatus | |
JP2004362343A (en) | Source code conversion apparatus, source code conversion method, and program | |
JP2006018492A (en) | System, method, and program for processing document | |
JP7444208B2 (en) | Information processing system, information processing device, information processing method, and program | |
JP6536308B2 (en) | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM | |
US12099827B2 (en) | Information processing system, information processing apparatus, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210112 |
|
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: 20210413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210426 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6885056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |