JP6885056B2 - Information processing system, information processing device, and information processing method - Google Patents

Information processing system, information processing device, and information processing method Download PDF

Info

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
Application number
JP2016250774A
Other languages
Japanese (ja)
Other versions
JP2017168082A (en
Inventor
東哲 張
東哲 張
雄一郎 林
雄一郎 林
龍太郎 坂梨
龍太郎 坂梨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US15/439,290 priority Critical patent/US10516791B2/en
Publication of JP2017168082A publication Critical patent/JP2017168082A/en
Application granted granted Critical
Publication of JP6885056B2 publication Critical patent/JP6885056B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。It is a figure which shows the system configuration of an example of the information processing system which concerns on 1st Embodiment. 第一の実施形態に係るサービス提供システムの一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of the service providing system which concerns on 1st Embodiment. 第一の実施形態に係る機器の一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of the apparatus which concerns on 1st Embodiment. 第一の実施形態に係る情報処理システムの一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the information processing system which concerns on 1st Embodiment. 共通I/F及び固有I/Fの一例を説明するための図である。It is a figure for demonstrating an example of a common I / F and a unique I / F. 第一の実施形態に係るロジック処理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the logic processing part which concerns on 1st Embodiment. 型変換情報テーブルの一例を示す図である。It is a figure which shows an example of the type conversion information table. 「OCR配信1」サービスを実現する処理フローが定義された処理フロー情報の一例を示す図である。It is a figure which shows an example of the processing flow information which defined the processing flow which realizes "OCR delivery 1" service. 「OCR配信1」サービスを実現する処理フローの一例を説明するための図である。It is a figure for demonstrating an example of the processing flow which realizes "OCR delivery 1" service. 第一の実施形態に係る「OCR配信1」サービスを利用する場合の全体処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the whole process at the time of using the "OCR delivery 1" service which concerns on 1st Embodiment. サービス一覧画面から、「OCR配信1」サービスのサービス画面への画面遷移の一例を示す図である。It is a figure which shows an example of the screen transition from the service list screen to the service screen of the "OCR delivery 1" service. 第一の実施形態に係る親フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution processing of the parent flow which concerns on 1st Embodiment. 第一の実施形態に係るリスト取得コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the list acquisition component which concerns on 1st Embodiment. リソース管理情報の一例を示す図である。It is a figure which shows an example of the resource management information. 第一の実施形態に係るメール配信コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the mail delivery component which concerns on 1st Embodiment. 第一の実施形態に係る反復コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the iterative component which concerns on 1st Embodiment. 第一の実施形態に係る子フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the child flow which concerns on 1st Embodiment. 「OCR配信1」サービスを実現する処理フローの他の例を説明するための図である。It is a figure for demonstrating another example of the processing flow which realizes "OCR delivery 1" service. 「OCR配信1」サービスを実現する処理フローが定義された処理フロー情報の他の例を示す図(その1)である。It is a figure (the 1) which shows another example of the processing flow information which defined the processing flow which realizes "OCR delivery 1" service. 第一の実施形態に係る反復コンポーネントの実行処理の他の例を示すシーケンス図(その1)である。It is a sequence diagram (the 1) which shows another example of the execution process of the iterative component which concerns on 1st Embodiment. 「OCR配信1」サービスを実現する処理フローが定義された処理フロー情報の他の例を示す図(その2)である。FIG. 2 is a diagram (No. 2) showing another example of processing flow information in which a processing flow for realizing the “OCR distribution 1” service is defined. 第一の実施形態に係る反復コンポーネントの実行処理の他の例を示すシーケンス図(その2)である。It is a sequence diagram (No. 2) which shows another example of the execution process of the iterative component which concerns on 1st Embodiment. 第二の実施形態に係るロジック処理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the logic processing part which concerns on 2nd Embodiment. 「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報の一例を示す図である。It is a figure which shows an example of the processing flow information which defined the processing flow (parent flow) which realizes "OCR delivery 2" service. 「OCR配信2」サービスを実現する処理フロー(子フロー)が定義された処理フロー情報の一例を示す図である。It is a figure which shows an example of the processing flow information which defined the processing flow (child flow) which realizes "OCR delivery 2" service. 「OCR配信2」サービスを実現する処理フローの一例を説明するための図である。It is a figure for demonstrating an example of the processing flow which realizes "OCR delivery 2" service. 第二の実施形態に係る「OCR配信2」サービスを利用する場合の全体処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the whole process at the time of using the "OCR delivery 2" service which concerns on 2nd Embodiment. 「OCR配信2」サービスのサービス画面の一例を示す図である。It is a figure which shows an example of the service screen of the "OCR delivery 2" service. 第二の実施形態に係る親フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the parent flow which concerns on 2nd Embodiment. 第二の実施形態に係るフロー実行コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the flow execution component which concerns on 2nd Embodiment. 第二の実施形態に係る子フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the child flow which concerns on 2nd Embodiment. 「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報の他の例を示す図である。It is a figure which shows another example of the processing flow information which defined the processing flow (parent flow) which realizes "OCR delivery 2" service. 第二の実施形態に係るフロー実行コンポーネントの実行処理の他の例を示すシーケンス図である。It is a sequence diagram which shows the other example of the execution process of the flow execution component which concerns on 2nd Embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 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 information processing system 1 according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram showing a system configuration of an example of the information processing system 1 according to the present embodiment.

図1に示す情報処理システム1は、サービス提供システム10と、機器20と、外部ストレージシステム30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。 The information processing system 1 shown in FIG. 1 includes a service providing system 10, a device 20, and an external storage system 30, and is communicably connected via a wide area network N1 such as the Internet.

サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスと連携した一連の処理により実現される各種のサービスを提供する。 The service providing system 10 is realized by one or more information processing devices, and provides various services realized by a series of processes linked with an external service such as a cloud service via a network N1.

本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。 A specific example of the service provided by the service providing system 10 according to the present embodiment will be described later. Hereinafter, a series of processes will also be referred to as a "processing flow".

なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、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 device 20 is various electronic devices used by the user. That is, the device 20 is, for example, an image forming device such as an MFP (Multifunction Peripheral), a PC (personal computer), a projector, an electronic whiteboard, a digital camera, or the like. The user can use various services provided by the service providing system 10 by using the device 20.

なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。 In the following, a plurality of devices 20, when distinguishing the each "device 20 1", describes using a subscript as "device 20 2" and the like.

外部ストレージシステム30は、ネットワークN1を介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30のストレージの記憶領域を貸し出すサービスである。 The external storage system 30 is a computer system that provides a cloud service called a storage service (or online storage) via a network N1. The storage service is a service that rents out the storage area of the storage of the external storage system 30.

なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム30」、「外部ストレージシステム30」等と添え字を用いて記載する。また、外部ストレージシステム30により提供されるストレージサービスの名称を「ストレージA」、外部ストレージシステム30により提供されるストレージサービスの名称を「ストレージB」等とする。 In the following, when distinguishing each of the plurality of external storage systems 30, they will be described by using subscripts such as “external storage system 30 1 ” and “external storage system 30 2”. Further, "Storage A" the name of the storage service provided by the external storage system 30 1, the name of the storage service provided by the external storage system 30 1 and "storage B" or the like.

なお、外部ストレージシステム30は、複数台の情報処理装置によって実現されるシステムであっても良い。 The external storage system 30 may be a system realized by a plurality of information processing devices.

また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。 Further, the configuration of the information processing system 1 shown in FIG. 1 is an example, and other configurations may be used. For example, the information processing system 1 according to the present embodiment includes various devices that input and output electronic data, and even if these devices use various services provided by the service providing system 10. good.

<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係るサービス提供システム10の一例のハードウェア構成を示す図である。
<Hardware configuration>
Next, the hardware configuration of the service providing system 10 included in the information processing system 1 according to the present embodiment will be described with reference to FIG. FIG. 2 is a diagram showing a hardware configuration of an example of the service providing system 10 according to the present embodiment.

図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 service providing system 10 shown in FIG. 2 includes an input device 11, a display device 12, an external I / F 13, and a RAM (Random Access Memory) 14. Further, the service providing system 10 includes a ROM (Read Only Memory) 15, a CPU (Central Processing Unit) 16, a communication I / F 17, and an HDD (Hard Disk Drive) 18. Each of these hardware is connected by a bus B.

入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であっても良い。 The input device 11 includes a keyboard, a mouse, a touch panel, and the like, and is used for the user to input each operation signal. The display device 12 includes a display and the like, and displays the processing result by the service providing system 10. At least one of the input device 11 and the display device 12 may be used by connecting to the service providing system 10 when necessary.

通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介して通信を行うことができる。 The communication I / F 17 is an interface for connecting the service providing system 10 to the network N1. As a result, the service providing system 10 can perform communication via the communication I / F17.

HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。 The HDD 18 is a non-volatile storage device that stores programs and data. The programs and data stored in the HDD 18 include an OS (Operating System), which is basic software that controls the entire service providing system 10, application software that provides various functions on the OS, and the like.

なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。 The service providing system 10 may use a drive device (for example, a solid state drive: SSD) that uses a flash memory as a storage medium instead of the HDD 18. Further, the HDD 18 manages the stored programs and data by a predetermined file system and / or DB.

外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取りや書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。 The external I / F 13 is an interface with an external device. The external device includes a recording medium 13a and the like. As a result, the service providing system 10 can read and write the recording medium 13a via the external I / F 13. The recording medium 13a includes a flexible disk, a CD, a DVD, an SD memory card, a USB memory, and the like.

ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。 The ROM 15 is a non-volatile semiconductor memory capable of holding programs and data even when the power is turned off. The ROM 15 stores programs and data such as a BIOS (Basic Input / Output System), an OS setting, and a network setting that are executed when the service providing system 10 is started. The RAM 14 is a volatile semiconductor memory that temporarily holds programs and data.

CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。 The CPU 16 is an arithmetic unit that realizes control and functions of the entire service providing system 10 by reading a program or data from a storage device such as the ROM 15 or the HDD 18 onto the RAM 14 and executing processing.

本実施形態に係るサービス提供システム10は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 By having the hardware configuration shown in FIG. 2, the service providing system 10 according to the present embodiment can realize various processes as described later.

次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、図3を参照しながら説明する。図3は、本実施形態に係る機器20の一例のハードウェア構成を示す図である。 Next, a hardware configuration when the device 20 included in the information processing system 1 according to the present embodiment is an image forming apparatus will be described with reference to FIG. FIG. 3 is a diagram showing a hardware configuration of an example of the device 20 according to the present embodiment.

図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。 The device 20 shown in FIG. 3 includes a controller 21, an operation panel 22, an external I / F 23, a communication I / F 24, a printer 25, and a scanner 26. Further, the controller 21 has a CPU 31, a RAM 32, a ROM 33, an NVRAM 34, and an HDD 35.

ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。 The ROM 33 is a non-volatile semiconductor memory that stores various programs and data. The RAM 32 is a volatile semiconductor memory that temporarily holds programs and data. The NVRAM 34 stores, for example, setting information and the like. The HDD 35 is a non-volatile storage device that stores various programs and data.

CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。 The CPU 31 is an arithmetic unit that realizes control and functions of the entire device 20 by reading programs, data, setting information, etc. from the ROM 33, NVRAM 34, HDD 35, etc. onto the RAM 32 and executing processing.

操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。 The operation panel 22 includes an input unit for receiving input from the user and a display unit for displaying. The external I / F 23 is an interface with an external device. The external device includes a recording medium 23a and the like. As a result, the device 20 can read and / or write to the recording medium 23a via the external I / F 23. The recording medium 23a includes, for example, an IC card, a flexible disk, a CD, a DVD, an SD memory card, a USB memory, and the like.

通信I/F24は、機器20をネットワークに接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。 The communication I / F 24 is an interface for connecting the device 20 to the network. As a result, the device 20 can communicate via the communication I / F 24. The printer 25 is a printing device that prints print data. The scanner 26 is a scanning device that reads a document and generates an electronic file (image file).

本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。 The device 20 according to the present embodiment can realize various processes as described later by having the hardware configuration shown in FIG.

<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
<Services provided by the service provision system>
Here, the service provided by the service providing system 10 according to the present embodiment will be described. Hereinafter, the device 20 will be described as an image forming apparatus.

本実施形態に係るサービス提供システム10は、例えば、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルをOCR(Optical Character Recognition)処理して、メール配信するサービスを提供する。 The service providing system 10 according to the present embodiment acquires, for example, a storage destination list of electronic files in the external storage system 30, and then performs OCR (Optical Character Recognition) processing on the acquired electronic files based on the list. Provide a service to deliver mail.

本実施形態に係るサービス提供システム10は、上述したサービス(以降では、「OCR配信1」サービス、又は、単に「OCR配信1」とも表す。)を提供するものとして説明する。 The service providing system 10 according to the present embodiment will be described as providing the above-mentioned service (hereinafter, also referred to as “OCR distribution 1” service or simply “OCR distribution 1”).

ただし、サービス提供システム10により提供されるサービスは、これに限られない。例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルを編集(例えば、所定の情報の追加や削除等)して、メール配信するサービスを提供しても良い。 However, the service provided by the service providing system 10 is not limited to this. For example, the service providing system 10 acquires a storage destination list of electronic files in the external storage system 30 and then edits the acquired electronic files based on the list (for example, addition or deletion of predetermined information). , You may provide a service to deliver mail.

また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルを圧縮して、メール配信するサービスを提供しても良い。 Further, for example, the service providing system 10 may provide a service of acquiring a storage destination list of electronic files in the external storage system 30, compressing the acquired electronic files based on the list, and delivering the mail. good.

このように、本実施形態に係るサービス提供システム10は、外部ストレージシステム30と連携した各種のサービスを提供する。 As described above, the service providing system 10 according to the present embodiment provides various services linked with the external storage system 30.

<機能構成>
次に、本実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。図4は、本実施形態に係る情報処理システム1の一例の機能構成を示す図である。
<Functional configuration>
Next, the functional configuration of the information processing system 1 according to the present embodiment will be described with reference to FIG. FIG. 4 is a diagram showing a functional configuration of an example of the information processing system 1 according to the present embodiment.

図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を介して、サービス提供システム10が提供するサービスを利用することができる。このように、本実施形態に係る機器20は、ブラウザ210が搭載されていれば良い。 The device 20 shown in FIG. 4 has a browser 210 executed by, for example, a CPU 31 or the like. The user of the device 20 can use the service provided by the service providing system 10 via the browser 210. As described above, the device 20 according to the present embodiment may be equipped with the browser 210.

図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、外部サービス連携部140とを有する。これら各部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。 The service providing system 10 shown in FIG. 4 has an input / output service processing unit 110, a Web service processing unit 120, a document service unit 130, and an external service cooperation unit 140. Each of these parts is realized by a process of causing the CPU 16 to execute one or more programs installed in the service providing system 10.

また、図4に示すサービス提供システム10は、アプリ情報記憶部150と、画面情報記憶部160と、リソース管理情報記憶部170とを有する。これら各記憶部は、HDD18により実現可能である。なお、アプリ情報記憶部150、画面情報記憶部160、及びリソース管理情報記憶部170の少なくとも1つの記憶部が、サービス提供システム10とネットワークN1を介して接続される記憶装置等により実現されていても良い。 Further, the service providing system 10 shown in FIG. 4 has an application information storage unit 150, a screen information storage unit 160, and a resource management information storage unit 170. Each of these storage units can be realized by the HDD 18. At least one storage unit of the application information storage unit 150, the screen information storage unit 160, and the resource management information storage unit 170 is realized by a storage device or the like connected to the service providing system 10 via the network N1. Is also good.

入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。ここで、入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112と、データI/F部113とを有する。 The input / output service processing unit 110 performs processing related to the service provided by the service providing system 10. Here, the input / output service processing unit 110 includes an application management unit 111, a logic processing unit 112, and a data I / F unit 113.

アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、各種のサービスを提供するアプリケーションである。すなわち、サービス提供システム10が提供する各種のサービスは、アプリ情報1000により提供される。 The application management unit 111 manages the application information 1000 stored in the application information storage unit 150. The application information 1000 is an application that provides various services. That is, various services provided by the service providing system 10 are provided by the application information 1000.

また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。なお、処理フロー情報1100は、アプリ情報1000により提供されるサービスを実現する一連の処理(以降では、一連の処理を「処理フロー」とも表す。)が定義された情報である。 Further, the application management unit 111 returns the processing flow information 1100 included in the application information 1000 in response to the request from the logic processing unit 112. The processing flow information 1100 is information in which a series of processes for realizing the service provided by the application information 1000 (hereinafter, the series of processes is also referred to as a "processing flow") are defined.

ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ管理部111から処理フロー情報1100を取得する。そして、ロジック処理部112は、取得した処理フロー情報1100に基づいて、サービスを実現する処理フローを実行する。これにより、本実施形態に係る情報処理システム1では、サービス提供システム10により各種のサービスが提供される。なお、ロジック処理部112の詳細については後述する。 The logic processing unit 112 acquires the processing flow information 1100 from the application management unit 111 in response to the request from the Web service processing unit 120. Then, the logic processing unit 112 executes the processing flow for realizing the service based on the acquired processing flow information 1100. As a result, in the information processing system 1 according to the present embodiment, various services are provided by the service providing system 10. The details of the logic processing unit 112 will be described later.

データI/F部113は、Webサービス処理部120やロジック処理部112からの要求に応じて、外部サービス連携部140のデータ処理部142に各種の要求を行う。例えば、データI/F部113は、外部サービス連携部140のデータ処理部142に、電子ファイルの格納先の一覧(すなわち、電子ファイルの格納先リスト)を示すファイル一覧の取得要求を行う。 The data I / F unit 113 makes various requests to the data processing unit 142 of the external service cooperation unit 140 in response to requests from the Web service processing unit 120 and the logic processing unit 112. For example, the data I / F unit 113 requests the data processing unit 142 of the external service cooperation unit 140 to acquire a file list indicating a list of electronic file storage destinations (that is, a list of electronic file storage destinations).

Webサービス処理部120は、ブラウザ210からの要求に応じて、画面情報記憶部160に記憶されている画面情報2000を返信する。なお、画面情報2000は、ブラウザ210に表示される画面を定義した情報であり、例えばHTML(HyperText Markup Language)やCSS(Cascading Style Sheets)等の形式で定義されている。 The Web service processing unit 120 returns the screen information 2000 stored in the screen information storage unit 160 in response to a request from the browser 210. The screen information 2000 is information that defines a screen displayed on the browser 210, and is defined in a format such as HTML (HyperText Markup Language) or CSS (Cascading Style Sheets).

これにより、機器20の操作パネル22には、ブラウザ210により、サービス提供システム10が提供するサービスを選択するためのサービス一覧画面や、サービスを利用するためのサービス画面等が表示される。 As a result, the operation panel 22 of the device 20 displays a service list screen for selecting the service provided by the service providing system 10, a service screen for using the service, and the like by the browser 210.

また、Webサービス処理部120は、ブラウザ210からの要求に応じて、入出力サービス処理部110に各種の要求を行う。例えば、Webサービス処理部120は、ブラウザ210からの要求に応じて、「OCR配信1」サービスを実現する処理フローの実行要求を、入出力サービス処理部110のロジック処理部112に行う。 Further, the Web service processing unit 120 makes various requests to the input / output service processing unit 110 in response to the request from the browser 210. For example, the Web service processing unit 120 makes a processing flow execution request for realizing the "OCR distribution 1" service to the logic processing unit 112 of the input / output service processing unit 110 in response to the request from the browser 210.

ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる処理を実行する。ここで、ドキュメントサービス部130は、メール配信部131と、OCR処理部132とを有する。 The document service unit 130 executes the processing included in the series of processing (processing flow) based on the processing flow information 1100. Here, the document service unit 130 has a mail distribution unit 131 and an OCR processing unit 132.

メール配信部131は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。OCR処理部132は、電子ファイルをOCR処理する。 The mail delivery unit 131 creates a mail with an electronic file attached and delivers the mail to a designated mail address. The OCR processing unit 132 performs OCR processing on the electronic file.

なお、ドキュメントサービス部130は、例えば、電子ファイルのデータ形式を所定のデータに変換するデータ変換部、電子ファイルを圧縮又は解凍する圧縮・解凍部等を有していても良い。 The document service unit 130 may have, for example, a data conversion unit that converts the data format of the electronic file into predetermined data, a compression / decompression unit that compresses or decompresses the electronic file, and the like.

このように、ドキュメントサービス部130には、一連の処理(処理フロー)に含まれる処理を実行する種々の機能部が含まれる。したがって、ドキュメントサービス部130は、これら種々の機能を提供するプログラム(モジュール)群により実現される。 As described above, the document service unit 130 includes various functional units that execute the processes included in the series of processes (process flow). Therefore, the document service unit 130 is realized by a group of programs (modules) that provide these various functions.

外部サービス連携部140は、ロジック処理部112やデータI/F部113からの要求に応じて、外部ストレージシステム30に各種の要求を行う。 The external service cooperation unit 140 makes various requests to the external storage system 30 in response to requests from the logic processing unit 112 and the data I / F unit 113.

本実施形態に係るサービス提供システム10は、外部ストレージシステム30毎に、当該外部ストレージシステム30に対応する外部サービス連携部140を有する。すなわち、本実施形態に係るサービス提供システム10は、外部ストレージシステム30に各種の要求を行うための外部サービス連携部140、外部ストレージシステム30に各種の要求を行うための外部サービス連携部140等を有する。 The service providing system 10 according to the present embodiment has an external service cooperation unit 140 corresponding to the external storage system 30 for each external storage system 30. That is, the service providing system 10 according to the present embodiment is an external service cooperation unit 140 1 for making various requests to the external storage system 30 1 and an external service cooperation unit 140 1 for making various requests to the external storage system 30 2. It has 140 2 and the like.

このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれ対応する外部サービス連携部140を有する。なお、以降では、複数の外部サービス連携部140について、各々を区別するときは、上記のように、「外部サービス連携部140」、「外部サービス連携部140」等と添え字を用いて記載する。 As described above, the service providing system 10 according to the present embodiment has an external service cooperation unit 140 corresponding to each external storage system 30 that performs processing in cooperation with the service providing system 10. In the following, when distinguishing each of the plurality of external service cooperation units 140, the subscripts such as "external service cooperation unit 140 1 " and "external service cooperation unit 140 2 " are used as described above. Describe.

ここで、外部サービス連携部140は、ロジック処理部112からの要求を受信するファイル処理部141と、データI/F部113からの要求を受信するデータ処理部142とを有する。 Here, the external service cooperation unit 140 has a file processing unit 141 that receives a request from the logic processing unit 112, and a data processing unit 142 that receives a request from the data I / F unit 113.

ファイル処理部141は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F1411及び固有I/F1412を有する。 The file processing unit 141 has a common I / F 1411 and a unique I / F 1411 in which an API (Application Programming Interface) for performing an operation (for example, acquisition, saving, editing, etc.) on an electronic file stored in the external storage system 30 is defined. It has / F1412.

共通I/F1411は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すAPIが挙げられる。すなわち、ファイル処理部141の共通I/F1411は、全ての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、電子ファイルの取得、保存等)を利用するためのAPI群である。 The common I / F 1411 is an API that can be commonly used among a plurality of external storage systems 30, and examples thereof include the API shown in FIG. 5 (a). That is, the common I / F 1411 of the file processing unit 141 is an API group for using functions related to file operations (for example, acquisition and storage of electronic files) that can be used by all external storage systems 30.

一方、固有I/F1412は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すAPIが挙げられる。すなわち、ファイル処理部141の固有I/F1412は、特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、電子ファイルの編集等)を利用するためのAPI群である。 On the other hand, the unique I / F 1412 is an API that can be used in the specific external storage system 30, and examples thereof include the API shown in FIG. 5 (b). That is, the unique I / F 1412 of the file processing unit 141 is an API group for using a function related to file operations (for example, editing an electronic file) that can be used in the specific external storage system 30.

したがって、共通I/F1411は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1412は、当該固有I/F1412で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。 Therefore, the common I / F 1411 is similarly defined for all external service linkage units 140. On the other hand, the unique I / F 1412 is defined for the external service linkage unit 140 corresponding to the specific external storage system 30 in which the API defined by the unique I / F 1412 can be used.

また、データ処理部142は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧やフォルダ一覧等)を取得等するためのAPIが定義された共通I/F1421及び固有I/F1422を有する。 Further, the data processing unit 142 has a common I / in which an API for acquiring metadata (for example, a file list, a folder list, etc.) such as bibliographic information of an electronic file stored in the external storage system 30 is defined. It has F1421 and unique I / F1422.

共通I/F1421は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すAPIが挙げられる。すなわち、データ処理部142の共通I/F1421は、全ての外部ストレージシステム30で利用できるメタデータ取得等の機能(例えば、ファイル一覧やフォルダ一覧の取得等)を利用するためのAPI群である。 The common I / F 1421 is an API that can be commonly used among a plurality of external storage systems 30, and examples thereof include the API shown in FIG. 5 (c). That is, the common I / F 1421 of the data processing unit 142 is an API group for using a function such as metadata acquisition (for example, acquisition of a file list or a folder list) that can be used in all the external storage systems 30.

一方、固有I/F1422は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すAPIが挙げられる。すなわち、データ処理部142の固有I/F1422は、特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。 On the other hand, the unique I / F 1422 is an API that can be used in the specific external storage system 30, and examples thereof include the API shown in FIG. 5 (d). That is, the unique I / F 1422 of the data processing unit 142 is an API group for using a function such as metadata acquisition (for example, acquisition of an image file list) that can be used in the specific external storage system 30.

したがって、共通I/F1421は、全ての外部サービス連携部140に対して同様に定義される。一方で、固有I/F1422は、当該固有I/F1422で定義されるAPIが利用可能な特定の外部ストレージシステム30に対応する外部サービス連携部140に対して定義される。 Therefore, the common I / F 1421 is similarly defined for all external service linkage units 140. On the other hand, the unique I / F1422 is defined for the external service cooperation unit 140 corresponding to the specific external storage system 30 in which the API defined by the unique I / F1422 can be used.

このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれの外部ストレージシステム30に対応する外部サービス連携部140を有する。このため、例えば、サービス提供システム10の連携先となる外部ストレージシステム30を追加や削除(以降、「追加等)と表す。)する場合には、この外部ストレージシステム30に対応する外部サービス連携部140を追加等すれば良い。 As described above, the service providing system 10 according to the present embodiment has an external service cooperation unit 140 corresponding to each external storage system 30 for each external storage system 30 that performs processing in cooperation with the service providing system 10. .. Therefore, for example, when the external storage system 30 to be linked with the service providing system 10 is added or deleted (hereinafter referred to as "addition or the like"), the external service linking unit corresponding to the external storage system 30 is added or deleted. 140 may be added or the like.

したがって、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30の追加等に伴う影響を局所化することができる。換言すれば、本実施形態に係るサービス提供システム10では、他の機能構成(例えば、入出力サービス処理部110やWebサービス処理部120等)に影響を与えることなく、連携先となる外部ストレージシステム30の追加等を行うことができる。 Therefore, in the service providing system 10 according to the present embodiment, the influence of the addition of the external storage system 30 as a cooperation destination can be localized. In other words, in the service providing system 10 according to the present embodiment, the external storage system to be linked without affecting other functional configurations (for example, the input / output service processing unit 110, the Web service processing unit 120, etc.). 30 can be added and the like can be added.

このため、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加等した場合における開発工数を削減することができる。なお、外部サービス連携部140の追加等は、SDK(Software Development Kit)を用いて行うことができる。 Therefore, in the service providing system 10 according to the present embodiment, it is possible to reduce the development man-hours when the external storage system 30 to be linked with the service providing system 10 is added or the like. The external service cooperation unit 140 can be added by using the SDK (Software Development Kit).

また、外部サービス連携部140は、共通I/F1411と固有I/F1412とを異なるモジュール等により実現している。また、共通I/F1411と固有I/F1412で定義されるAPIは、外部サービス名(ストレージサービス名)を指定することで利用することができる(すなわち、「外部サービス名」が可変部分となっている。)。 Further, the external service cooperation unit 140 realizes the common I / F 1411 and the unique I / F 1412 by different modules or the like. Further, the API defined by the common I / F 1411 and the unique I / F 1412 can be used by specifying the external service name (storage service name) (that is, the "external service name" becomes a variable part. There is.).

したがって、本実施形態に係るサービス提供システム10では、当該サービス提供システム10の連携先となる外部ストレージシステム30を追加する場合には、他の外部サービス連携部140に含まれる共通I/F1411を再利用することができる。換言すれば、連携先となる外部ストレージシステム30を追加する場合には、固有I/F1412のみ開発すれば良い。これにより、本実施形態に係るサービス提供システム10では、連携先となる外部ストレージシステム30を追加する場合における開発工数をさらに削減することができる。なお、このことは共通I/F1421と固有I/F1422に関しても同様である。 Therefore, in the service providing system 10 according to the present embodiment, when the external storage system 30 to be linked with the service providing system 10 is added, the common I / F 1411 included in the other external service linking unit 140 is re-used. It can be used. In other words, when adding the external storage system 30 to be linked, only the unique I / F 1412 needs to be developed. As a result, in the service providing system 10 according to the present embodiment, the development man-hours when adding the external storage system 30 as a cooperation destination can be further reduced. This also applies to the common I / F1421 and the unique I / F1422.

アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000(アプリケーション)を一意に識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。 The application information storage unit 150 stores the application information 1000. The application information 1000 is stored in the application information storage unit 150 in association with an application ID that uniquely identifies the application information 1000 (application).

ここで、アプリ情報1000には、処理フロー情報1100が含まれる。例えば、「OCR配信1」サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理(処理フロー)が定義された処理フロー情報1100が含まれる。なお、アプリ情報1000には、2以上の処理フロー情報1100が含まれていても良い。 Here, the application information 1000 includes the processing flow information 1100. For example, the application information 1000 that provides the "OCR distribution 1" service includes the processing flow information 1100 in which a series of processes (processing flows) for realizing the service are defined. The application information 1000 may include two or more processing flow information 1100.

処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。 As described above, the processing flow information 1100 is information in which a series of processes (processing flows) for realizing the service provided by the application information 1000 are defined. The details of the processing flow information 1100 will be described later.

画面情報記憶部160は、画面情報2000を記憶する。画面情報2000は、上述したように、ブラウザ210に表示される画面を定義した情報である。なお、アプリ情報1000により提供されるサービスを利用するためのサービス画面の画面情報2000は、当該アプリ情報1000のアプリIDと関連付けて画面情報記憶部160に記憶されている。 The screen information storage unit 160 stores screen information 2000. As described above, the screen information 2000 is information that defines a screen displayed on the browser 210. The screen information 2000 of the service screen for using the service provided by the application information 1000 is stored in the screen information storage unit 160 in association with the application ID of the application information 1000.

リソース管理情報記憶部170は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる各処理の処理結果等を管理するリソース管理情報170Dを記憶する。なお、リソース管理情報170Dの詳細については後述する。 The resource management information storage unit 170 stores the resource management information 170D that manages the processing results and the like of each processing included in the series of processing (processing flow) based on the processing flow information 1100. The details of the resource management information 170D will be described later.

ここで、ロジック処理部112の詳細な機能構成について、図6を参照しながら説明する。図6は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。 Here, the detailed functional configuration of the logic processing unit 112 will be described with reference to FIG. FIG. 6 is a diagram showing a functional configuration of an example of the logic processing unit 112 according to the present embodiment.

図6に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305と、リソース管理部306とを有する。また、ロジック処理部112は、型変換情報テーブル3000を有する。 The logic processing unit 112 shown in FIG. 6 includes a flow execution unit 301, a component management unit 302, a component group 303, a type conversion management unit 304, a type conversion group 305, and a resource management unit 306. Further, the logic processing unit 112 has a type conversion information table 3000.

フロー実行部301は、Webサービス処理部120を介して、ブラウザ210から処理実行要求を受信すると、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。 When the flow execution unit 301 receives the processing execution request from the browser 210 via the Web service processing unit 120, the flow execution unit 301 acquires the processing flow information 1100 included in the application information 1000 from the application management unit 111. Then, the flow execution unit 301 executes a series of processing (processing flow) based on the acquired processing flow information 1100.

ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を提供するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。 Here, a series of processes based on the process flow information 1100 is executed by combining components for executing each process included in the series of processes. A component is realized by a program or module that provides a predetermined function, and is defined by, for example, a class or a function.

コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することである。 The component management unit 302 manages the components. The component management unit 302 generates a component in response to a request from the flow execution unit 301, and returns the generated component to the flow execution unit 301. Note that the generation of a component means, for example, expanding a component defined by a class, a function, or the like on a memory (for example, RAM 14).

コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、反復コンポーネント401と、リスト取得コンポーネント402と、メール配信コンポーネント403と、ファイル取得コンポーネント404と、OCRコンポーネント405とが含まれる。 The component group 303 is a set of components. The component group 303 includes an iterative component 401, a list acquisition component 402, a mail delivery component 403, a file acquisition component 404, and an OCR component 405.

反復コンポーネント401は、1以上の処理の反復を実現するためのコンポーネントである。すなわち、反復コンポーネント401は、1以上の処理を含む他の処理フローを繰り返し実行させることで、当該1以上の処理の反復を実現する。 The iteration component 401 is a component for realizing the iteration of one or more processes. That is, the iterative component 401 repeatedly executes another processing flow including one or more processes, thereby realizing the repetition of the one or more processes.

リスト取得コンポーネント402は、指定された外部ストレージシステム30から電子ファイルの格納先リストを取得するためのコンポーネントである。メール配信コンポーネント403は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。 The list acquisition component 402 is a component for acquiring a storage destination list of electronic files from the designated external storage system 30. The mail delivery component 403 is a component for delivering mail to a designated mail address.

ファイル取得コンポーネント404は、外部ストレージシステム30から電子ファイルを取得(ダウンロード)するためのコンポーネントである。OCRコンポーネント405は、電子ファイルをOCR処理するためのコンポーネントである。 The file acquisition component 404 is a component for acquiring (downloading) an electronic file from the external storage system 30. The OCR component 405 is a component for OCR processing an electronic file.

なお、コンポーネント群303には、これら以外にも、例えば、電子ファイルの圧縮するための圧縮コンポーネント、電子ファイルのデータ形式を変換するためのコンポーネント等の各種のコンポーネントが含まれる。 In addition to these, the component group 303 includes various components such as a compression component for compressing an electronic file and a component for converting a data format of an electronic file.

また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F400を有する。コンポーネント共通I/F400は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。 Further, each component included in the component group 303 has a component common I / F 400. The component common I / F 400 is an API commonly defined for each component, and includes an API for generating a component and an API for executing processing of the component.

このように、各コンポーネントがコンポーネント共通I/F400を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。 In this way, since each component has a component common I / F 400, it is possible to localize the influence of the addition of components and the like. That is, for example, components can be added without affecting the flow execution unit 301, the component management unit 302, and the like. As a result, in the service providing system 10 according to the present embodiment, it is possible to reduce the development man-hours associated with the addition of a predetermined function (that is, the addition of a component for executing the process for realizing the function, etc.).

なお、コンポーネント管理部302は、例えば、サービス提供システム10の起動時に、コンポーネント共通I/F400により、コンポーネント群303に含まれる各コンポーネントを生成しても良い。 The component management unit 302 may generate each component included in the component group 303 by the component common I / F 400, for example, when the service providing system 10 is started.

型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば図7に示す型変換情報テーブル3000を参照して、型変換群305に含まれる型変換を生成する。 The type conversion management unit 304 manages the type conversion of the data type. Here, each component has a predetermined data type that it can handle. Therefore, the type conversion management unit 304 generates the type conversion included in the type conversion group 305 by referring to the type conversion information table 3000 shown in FIG. 7, for example, in response to the request from the component.

そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM14上)に展開することである。 Then, the type conversion management unit 304 requests the generated type conversion to execute the type conversion process. Note that type conversion is realized by a program or module that executes data type type conversion processing, and is defined by, for example, a class or function. Further, the generation of type conversion means, for example, expanding the type conversion defined by a class, a function, or the like into a memory (for example, on the RAM 14).

なお、データ型には、例えば、ストリームデータを示すデータ型「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 type conversion group 305 is a set of type conversions. The type conversion group 305 includes a first type conversion 501 for converting the data type "InputStream" to "LocalFilePath". In addition to this, the type conversion group 305 includes, for example, a second type conversion for converting the data type "LocalFilePath" to "File".

また、型変換群305に含まれる各型変換は、型変換共通I/F500を有する。型変換共通I/F500は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。 Further, each type conversion included in the type conversion group 305 has a type conversion common I / F 500. The type conversion common I / F500 is an API commonly defined for each type conversion, and includes an API for generating a type conversion and an API for executing a type conversion process of the type conversion.

このように、各型変換が型変換共通I/F500を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。 As described above, since each type conversion has the common I / F 500 for type conversion, the influence of the addition of type conversion and the like can be localized. That is, for example, type conversion can be added without affecting the type conversion management unit 304 or the like. As a result, in the service providing system 10 according to the present embodiment, it is possible to reduce the development man-hours associated with the addition of type conversion and the like.

リソース管理部306は、リソース管理情報記憶部170に記憶されたリソース管理情報170Dを管理する。すなわち、リソース管理部306は、各コンポーネントからの要求に応じて、当該コンポーネントの処理結果を、リソース管理情報170Dとしてリソース管理情報記憶部170に記憶させる。 The resource management unit 306 manages the resource management information 170D stored in the resource management information storage unit 170. That is, the resource management unit 306 stores the processing result of the component in the resource management information storage unit 170 as the resource management information 170D in response to the request from each component.

ここで、「OCR配信1」サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図8を参照しながら説明する。図8は、「OCR配信1」サービスを実現する処理フローが定義された処理フロー情報1100の一例を示す図である。 Here, the processing flow information 1100 included in the application information 1000 that provides the "OCR distribution 1" service will be described with reference to FIG. FIG. 8 is a diagram showing an example of processing flow information 1100 in which a processing flow for realizing the “OCR distribution 1” service is defined.

図8に示す処理フロー情報1100は、「OCR配信1」サービスを実現する一連の処理(処理フロー)が定義された情報である。 The processing flow information 1100 shown in FIG. 8 is information in which a series of processing (processing flow) for realizing the “OCR distribution 1” service is defined.

図8に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とが含まれる。 The processing flow information 1100 shown in FIG. 8 includes a flow ID 1101 indicating identification information that uniquely identifies the processing flow information 1100, and a flow detail 1102 in which the processing content of each processing included in the processing flow is defined.

フロー詳細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 list acquisition component 402 is defined. Further, in "" parameters "", the parameter "" storage "" for the list acquisition component 402 is defined. The parameter "" storage "" is a parameter that defines the identification information of the external storage system 30 that acquires the storage destination list of the electronic file.

同様に、処理定義1113の「"component"」には、メール配信コンポーネント403により処理を実行することを示す「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ「"to"」が定義されている。なお、パラメータ「"to"」は、メールの配信先となるメールアドレスが定義されるパラメータである。 Similarly, in the "" component "" of the process definition 1113, "" sendMail "" indicating that the process is executed by the mail delivery component 403 is defined. Further, in "" parameters "", a parameter "" to "" for the mail delivery component 403 is defined. The parameter "" to "" is a parameter that defines the e-mail address to which the e-mail is delivered.

同様に、処理定義1112の「"component"」には、反復コンポーネント401により処理を実行することを示す「"iterate"」が定義されている。また、「"parameters"」には、反復コンポーネント401に対するパラメータ1121〜パラメータ1123が定義されている。 Similarly, in the "" component "" of the process definition 1112, "" iterate "" indicating that the process is executed by the iterative component 401 is defined. Further, in "" parameters "", parameters 1121 to 1123 for the iterative component 401 are defined.

ここで、パラメータ1121は、反復コンポーネント401が繰り返し実行させる他の処理フローのフローIDが定義されたパラメータである。また、パラメータ1122は、当該他の処理フローに含まれる各処理をそれぞれ定義した処理定義1131及び1132を含むフロー詳細が定義されたパラメータである。さらに、パラメータ1123は、当該他の処理フローを繰り返し実行させる回数(反復回数)が定義されたパラメータである。 Here, the parameter 1121 is a parameter in which the flow ID of another processing flow to be repeatedly executed by the iterative component 401 is defined. Further, the parameter 1122 is a parameter in which the flow details including the process definitions 1131 and 1132 that define each process included in the other process flow are defined. Further, the parameter 1123 is a parameter in which the number of times the other processing flow is repeatedly executed (the number of repetitions) is defined.

このように、反復コンポーネント401による処理を定義した処理定義1112には、繰り返し実行させる他の処理フローのフロー詳細と、当該他の処理フローを繰り返し実行させる回数とが定義されている。これにより、後述するように、反復コンポーネント401により、他の処理フローが繰り返し実行され、1以上の処理の反復を実現することができる。 As described above, in the process definition 1112 that defines the process by the iterative component 401, the flow details of the other process flow to be repeatedly executed and the number of times the other process flow is repeatedly executed are defined. As a result, as will be described later, the iterative component 401 repeatedly executes other processing flows, and can realize one or more processing iterations.

なお、図8に示す処理フロー情報1100に定義された各処理の実行順は、上から順に実行される。すなわち、図8に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、処理定義1111に定義された処理、処理定義1112に定義された処理、及び処理定義1113に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1100には、例えば、各処理の実行順を示す情報が定義されていても良い。 The execution order of each process defined in the process flow information 1100 shown in FIG. 8 is executed in order from the top. That is, in the series of processes (process flow) based on the process flow information 1100 shown in FIG. 8, the order of the processes defined in the process definition 1111, the processes defined in the process definition 1112, and the processes defined in the process definition 1113. Is executed by. However, the present invention is not limited to this, and the processing flow information 1100 may define, for example, information indicating the execution order of each processing.

ここで、図8に示す処理フロー情報1100に基づく処理フロー(すなわち、「OCR配信1」サービスを実現する処理フロー)を、図9に示す。図9は、「OCR配信1」サービスを実現する処理フローの一例を説明するための図である。なお、以降では、処理フロー情報1100に基づく処理フローを「親フロー」、反復コンポーネント401により繰り返し実行させる他の処理フローを「子フロー」とも表す。 Here, a processing flow based on the processing flow information 1100 shown in FIG. 8 (that is, a processing flow for realizing the “OCR distribution 1” service) is shown in FIG. FIG. 9 is a diagram for explaining an example of a processing flow that realizes the “OCR distribution 1” service. Hereinafter, the processing flow based on the processing flow information 1100 will be referred to as a “parent flow”, and the other processing flow to be repeatedly executed by the iterative component 401 will be referred to as a “child flow”.

図9に示すように、「OCR配信1」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。 As shown in FIG. 9, in the processing flow for realizing the “OCR distribution 1” service, first, the list acquisition component 402 acquires a storage destination list of electronic files stored in the external storage system 30.

次に、反復コンポーネント401により、格納先リストに含まれる格納先毎に、ファイル取得コンポーネント404による処理と、OCRコンポーネント405による処理とを繰り返し実行させる。これにより、格納先リストに含まれる格納先毎に、電子ファイルの取得(ダウンロード)及び当該電子ファイルのOCR処理が行われる。 Next, the iterative component 401 repeatedly executes the process by the file acquisition component 404 and the process by the OCR component 405 for each storage destination included in the storage destination list. As a result, the electronic file is acquired (downloaded) and the OCR process of the electronic file is performed for each storage destination included in the storage destination list.

最後に、メール配信コンポーネント403により、OCR処理後の電子ファイルがメール配信される。 Finally, the mail delivery component 403 delivers the electronic file after the OCR processing by mail.

このように、「OCR配信1」サービスでは、親フローの反復コンポーネント401が子フロー(他の処理フロー)を繰り返し実行させることで、1以上の処理の反復を実現している。なお、子フローに反復コンポーネント401が含まれる場合には、他の処理フロー(孫フロー)を繰り返し実行させれば良い。 As described above, in the "OCR distribution 1" service, the iterative component 401 of the parent flow repeatedly executes the child flow (other processing flow) to realize the repetition of one or more processes. When the child flow includes the iterative component 401, another processing flow (grandchild flow) may be repeatedly executed.

<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Next, the details of the processing of the information processing system 1 according to the present embodiment will be described.

以降では、機器20のユーザUが、ブラウザ210を用いて、サービス提供システム10により提供される「OCR配信1」サービスを利用する場合の処理について、図10を参照しながら説明する。図10は、本実施形態に係る「OCR配信1」サービスを利用する場合の全体処理の一例を示すシーケンス図である。 Hereinafter, the processing when the user U of the device 20 uses the “OCR distribution 1” service provided by the service providing system 10 by using the browser 210 will be described with reference to FIG. FIG. 10 is a sequence diagram showing an example of overall processing when the “OCR distribution 1” service according to the present embodiment is used.

ユーザUは、機器20のブラウザ210を用いて、アプリ情報1000により提供されるサービスの一覧を表示させるための表示操作を行う(ステップS1001)。 The user U uses the browser 210 of the device 20 to perform a display operation for displaying a list of services provided by the application information 1000 (step S1001).

機器20のブラウザ210は、サービスの一覧を表示させるための表示操作を受け付けると、サービス一覧画面の取得要求を、サービス提供システム10のWebサービス処理部120に送信する(ステップS1002)。 When the browser 210 of the device 20 receives the display operation for displaying the list of services, the browser 210 transmits the acquisition request of the service list screen to the Web service processing unit 120 of the service providing system 10 (step S1002).

Webサービス処理部120は、サービス一覧画面の取得要求を受信すると、当該サービス一覧画面の画面情報2000を画面情報記憶部160から取得する(ステップS1003)。そして、Webサービス処理部120は、サービス一覧画面の画面情報2000をブラウザ210に返信する。 When the Web service processing unit 120 receives the acquisition request of the service list screen, the Web service processing unit 120 acquires the screen information 2000 of the service list screen from the screen information storage unit 160 (step S1003). Then, the Web service processing unit 120 returns the screen information 2000 of the service list screen to the browser 210.

なお、サービス一覧画面の画面情報2000には、サービス毎に、当該サービスを提供するアプリ情報1000のアプリIDと、当該アプリ情報1000に含まれる処理フロー情報1100のフローIDとが含まれる。 The screen information 2000 of the service list screen includes the application ID of the application information 1000 that provides the service and the flow ID of the processing flow information 1100 included in the application information 1000 for each service.

機器20のブラウザ210は、サービス一覧画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図11(a)に示すサービス一覧画面4100を操作パネル22に表示させる(ステップS1004)。 When the browser 210 of the device 20 receives the screen information 2000 of the service list screen, for example, the service list screen 4100 shown in FIG. 11A is displayed on the operation panel 22 based on the screen information 2000 (step S1004).

図11(a)に示すサービス一覧画面4100には、サービス提供システム10により提供されるサービス名の一覧であるサービス名一覧4101が含まれる。 The service list screen 4100 shown in FIG. 11A includes a service name list 4101 which is a list of service names provided by the service providing system 10.

次に、ユーザUは、サービス一覧画面4100のサービス名一覧4101から「OCR配信1」を選択して、サービスの選択操作を行う(ステップS1005)。 Next, the user U selects "OCR distribution 1" from the service name list 4101 on the service list screen 4100, and performs a service selection operation (step S1005).

機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS1006)。なお、当該取得要求には、ユーザUにより選択された「OCR配信1」サービスを提供するアプリ情報1000のアプリIDが含まれる。 When the browser 210 of the device 20 receives the service selection operation, it transmits a service screen acquisition request to the Web service processing unit 120 (step S1006). The acquisition request includes the application ID of the application information 1000 that provides the "OCR distribution 1" service selected by the user U.

Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS1007)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。 When the Web service processing unit 120 receives the service screen acquisition request, it acquires the screen information 2000 (service screen screen information 2000) stored in the screen information storage unit 160 in association with the application ID included in the acquisition request. (Step S1007). Then, the Web service processing unit 120 returns the acquired screen information 2000 to the browser 210.

機器20のブラウザ210は、サービス画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図11(b)に示すサービス画面4200を操作パネル22に表示させる(ステップS1008)。 When the browser 210 of the device 20 receives the screen information 2000 of the service screen, for example, the service screen 4200 shown in FIG. 11B is displayed on the operation panel 22 based on the screen information 2000 (step S1008).

図11(b)に示すサービス画面4200は、ユーザUにより選択された「OCR配信1」サービスを利用するための画面である。図11(b)に示すサービス画面4200には、ストレージ指定欄4201と、メールアドレス指定欄4202と、実行ボタン4203とが含まれる。 The service screen 4200 shown in FIG. 11B is a screen for using the “OCR distribution 1” service selected by the user U. The service screen 4200 shown in FIG. 11B includes a storage designation field 4201, an email address designation field 4202, and an execution button 4203.

ここで、ストレージ指定欄4201は、電子ファイルの格納先リストを取得する外部ストレージシステム30のストレージサービス名を指定する欄である。メールアドレス指定欄4202は、OCR処理された電子ファイルをメール送信する宛先(メールアドレス)を指定する欄である。なお、サービス画面4200には、例えば、OCR処理された電子ファイルをCCやBCCでメール送信する宛先を指定するためのCC指定欄やBCC指定欄等が含まれていても良い。 Here, the storage designation field 4201 is a field for designating the storage service name of the external storage system 30 for acquiring the storage destination list of the electronic file. The e-mail address designation field 4202 is a field for designating a destination (e-mail address) for transmitting an OCR-processed electronic file by e-mail. The service screen 4200 may include, for example, a CC designation field, a BCC designation field, and the like for designating a destination for transmitting an OCR-processed electronic file by e-mail by CC or BCC.

次に、ユーザUは、サービス画面4200において、ストレージ指定欄4201に所望のストレージサービス名を指定すると共に、メールアドレス指定欄4202に所望のメールアドレスを指定した上で、実行ボタン4203を押下する(ステップS1009)。 Next, on the service screen 4200, the user U specifies a desired storage service name in the storage designation field 4201, specifies a desired mail address in the mail address designation field 4202, and then presses the execute button 4203 (). Step S1009).

ここで、以降では、ユーザUにより、ストレージ指定欄4201に「ストレージA」が指定されると共に、メールアドレス指定欄4202にメールアドレス「hoge@fuga.com」が指定された上で、実行ボタン4203が押下されたものとして説明する。 Here, thereafter, the user U specifies "storage A" in the storage designation field 4201 and the mail address "hoge@fuga.com" in the mail address designation field 4202, and then the execute button 4203. Will be described as if was pressed.

機器20のブラウザ210は、実行ボタン4203の押下操作を受け付けると、「OCR配信1」サービスを実現する処理フローの実行要求をWebサービス処理部120に送信する(ステップS1010)。 When the browser 210 of the device 20 receives the operation of pressing the execution button 4203, it transmits an execution request of the processing flow for realizing the "OCR distribution 1" service to the Web service processing unit 120 (step S1010).

なお、当該実行要求には、「OCR配信1」サービスを提供するアプリ情報1000のアプリIDと、当該サービスを実現するための処理フロー情報1100のフローIDとが含まれる。また、当該実行要求には、サービス画面4200においてユーザUにより入力された入力情報(すなわち、ストレージサービス名及びメールアドレス)が含まれる。 The execution request includes an application ID of application information 1000 that provides the "OCR distribution 1" service and a flow ID of processing flow information 1100 for realizing the service. Further, the execution request includes input information (that is, a storage service name and an e-mail address) input by the user U on the service screen 4200.

Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1011)。 When the Web service processing unit 120 receives the execution request of the processing flow, the Web service processing unit 120 transmits the execution request to the logic processing unit 112 of the input / output service processing unit 110 (step S1011).

入出力サービス処理部110のロジック処理部112は、処理フローの実行要求を受信すると、当該実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100に基づく一連の処理(すなわち、親フロー)を実行する(ステップS1012)。 When the logic processing unit 112 of the input / output service processing unit 110 receives the execution request of the processing flow, the logic processing unit 112 receives a series of processing (that is, the parent flow) based on the processing flow information 1100 corresponding to the application ID and the flow ID included in the execution request. ) Is executed (step S1012).

そして、ロジック処理部112は、当該一連の処理の処理結果を、Webサービス処理部120を介して、機器20のブラウザ210に返信する。 Then, the logic processing unit 112 returns the processing result of the series of processing to the browser 210 of the device 20 via the Web service processing unit 120.

これにより、本実施形態に係るサービス提供システム10において、「OCR配信1」サービスを実現する一連の処理が実行され、機器20に対して当該サービスが提供される。 As a result, in the service providing system 10 according to the present embodiment, a series of processes for realizing the "OCR distribution 1" service is executed, and the service is provided to the device 20.

ここで、上記のステップ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 flow execution unit 301 receives the execution request of the processing flow, the flow execution unit 301 transmits the acquisition request of the processing flow information to the application management unit 111 (step S1201). The acquisition request includes an application ID included in the execution request of the processing flow received from the Web service processing unit 120 and a flow ID.

アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1202)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図8に示す処理フロー情報1100が返信される。 When the application management unit 111 receives the acquisition request for the processing flow information, the application management unit 111 acquires the processing flow information 1100 corresponding to the application ID and the flow ID included in the acquisition request from the application information storage unit 150 (step S1202). Then, the application management unit 111 returns the acquired processing flow information 1100 to the flow execution unit 301. As a result, the processing flow information 1100 shown in FIG. 8 is returned to the flow execution unit 301.

フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1203)。 When the flow execution unit 301 receives the processing flow information 1100 from the application management unit 111, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S1203).

すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"component"」に定義されている「"getFileList"」に対応するリスト取得コンポーネント402の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests the acquisition of the list acquisition component 402 corresponding to the "getFileList" defined in the "" component "" included in the processing definition 1111 of the processing flow information 1100 shown in FIG. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、リスト取得コンポーネント402を生成する(ステップS1204)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the list acquisition component 402 (step S1204). The list acquisition component 402 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したリスト取得コンポーネント402をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、リスト取得コンポーネント402が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated list acquisition component 402 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the list acquisition component 402 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をリスト取得コンポーネント402に送信する(ステップS1205)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the list acquisition component 402 (step S1205). The execution request includes data and parameter information.

ここで、データは、データ型「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 browser 210 as the data type "InputStream". That is, the flow execution unit 301 simply sets the storage service name included in the input information passed from the browser 210 as the data type "InputStream" to the list acquisition component 402 as "data" (without being aware of the data type). Pass and request execution of processing. In the present embodiment, various types of information (for example, input information, electronic files, etc.) that are not conscious of the data type are simply referred to as "data".

また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1111に含まれる「"parameters"」に定義されている「"storage":null」である。 Further, the parameter information is "" storage ": null" defined in "" parameters "" included in the processing definition 1111 of the processing flow information 1100 shown in FIG.

リスト取得コンポーネント402は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1206)。そして、リスト取得コンポーネント402は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。 Upon receiving the component execution request, the list acquisition component 402 performs the component execution process (step S1206). Then, the list acquisition component 402 returns the data indicating the processing result of the execution process to the flow execution unit 301.

なお、ここで返信されるデータには、例えば、リスト取得コンポーネント402の実行処理が正常に終了したことを示す情報が含まれる。 The data returned here includes, for example, information indicating that the execution process of the list acquisition component 402 has been completed normally.

ここで、リスト取得コンポーネント402の実行処理について、図13を参照しながら説明する。図13は、本実施形態に係るリスト取得コンポーネント402の実行処理の一例を示すシーケンス図である。 Here, the execution process of the list acquisition component 402 will be described with reference to FIG. FIG. 13 is a sequence diagram showing an example of execution processing of the list acquisition component 402 according to the present embodiment.

まず、リスト取得コンポーネント402は、型変換要求を型変換管理部304に送信する(ステップS1301)。なお、当該型変換要求には、データと、リスト取得コンポーネント402が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 First, the list acquisition component 402 transmits the type conversion request to the type conversion management unit 304 (step S1301). The type conversion request includes data and a designation of "LocalFilePath" indicating a data type that can be handled by the list acquisition component 402.

型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1302)。 Upon receiving the type conversion request, the type conversion management unit 304 checks whether or not the data type of the data included in the type conversion request matches the designated data type (step S1302).

ここで、受信した型変換要求に含まれるデータのデータ型は「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 conversion management unit 304 determines that the data type of the data included in the type conversion request does not match the designated data type.

すると、型変換管理部304は、型変換情報テーブル3000を参照して、「InputStream」を「LocalFilePath」に変換するための第1の型変換501を特定して、当該特定した第1の型変換501を生成する(ステップS1303)。なお、第1の型変換501の生成は、型変換共通I/F500に定義されたAPIを用いて行うことができる。 Then, the type conversion management unit 304 refers to the type conversion information table 3000, specifies the first type conversion 501 for converting "InputStream" to "LocalFilePath", and specifies the specified first type conversion. 501 is generated (step S1303). The first type conversion 501 can be generated by using the API defined in the type conversion common I / F500.

次に、型変換管理部304は、生成された第1の型変換501に対して、型変換要求を送信する(ステップS1304)。なお、当該型変換要求には、データが含まれる。 Next, the type conversion management unit 304 transmits a type conversion request to the generated first type conversion 501 (step S1304). The type conversion request includes data.

第1の型変換501は、型変換要求を受信すると、当該要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する(ステップS1305)。そして、第1の型変換501は、当該変換後のデータを、型変換管理部304を介して、リスト取得コンポーネント402に返信する。 Upon receiving the type conversion request, the first type conversion 501 converts the data type of the data included in the request from "InputStream" to "LocalFilePath" (step S1305). Then, the first type conversion 501 returns the converted data to the list acquisition component 402 via the type conversion management unit 304.

リスト取得コンポーネント402は、型変換後のデータを受信すると、パラメータ情報を用いて処理を実行する(ステップS1306)。すなわち、リスト取得コンポーネント402は、パラメータ情報に含まれるパラメータ「"storage"」に、データに含まれる「ストレージA」を指定して、リスト取得処理を実行する。 When the list acquisition component 402 receives the data after type conversion, it executes a process using the parameter information (step S1306). That is, the list acquisition component 402 executes the list acquisition process by designating the "storage A" included in the data in the parameter "" storage "" included in the parameter information.

より具体的には、リスト取得コンポーネント402は、データI/F部113を介して、外部サービス連携部140のデータ処理部142に対して、図5(c)に示すAPI「/外部サービス名/data/files」を用いて、ファイル一覧を取得する。これにより、リスト取得コンポーネント402により、ストレージAにおける電子ファイルの格納先リストが取得される。 More specifically, list acquisition component 402 through the data I / F unit 113, the external service linkage unit 140 1 of the data processing unit 142, API "/ external service name shown in FIG. 5 (c) Use "/ data / files" to get a list of files. As a result, the list acquisition component 402 acquires the storage destination list of the electronic files in the storage A.

次に、リスト取得コンポーネント402は、処理を実行すると、処理結果の保存要求をリソース管理部306に送信する(ステップS1307)。なお、当該保存要求には、リスト取得コンポーネント402の処理の結果を示すデータ(すなわち、電子ファイルの格納先リスト)が含まれる。 Next, when the list acquisition component 402 executes the process, the list acquisition component 402 transmits a process result storage request to the resource management unit 306 (step S1307). The save request includes data (that is, a list of storage destinations of electronic files) indicating the result of processing of the list acquisition component 402.

リソース管理部306は、処理結果の保存要求を受信すると、当該保存要求に含まれるデータに基づいて、リソース管理情報記憶部170に記憶されているリソース管理情報170Dに処理結果を保存する(ステップS1308)。そして、リソース管理部306は、保存結果をリスト取得コンポーネント402に返信する。 When the resource management unit 306 receives the processing result storage request, the resource management unit 306 stores the processing result in the resource management information 170D stored in the resource management information storage unit 170 based on the data included in the storage request (step S1308). ). Then, the resource management unit 306 returns the saved result to the list acquisition component 402.

ここで、リソース管理情報170Dに保存されたリスト取得コンポーネント402の処理結果について、図14を参照しながら説明する。図14は、リソース管理情報170Dの一例を示す図である。 Here, the processing result of the list acquisition component 402 stored in the resource management information 170D will be described with reference to FIG. FIG. 14 is a diagram showing an example of the resource management information 170D.

図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 processing result 171 of the list acquisition component 402 is stored in the resource management information 170D. That is, the processing result 171 includes "" url [0] "" to "" url [N-1] "" indicating the storage destination URL (Uniform Resource Locator) of the electronic file and the size of the storage destination list (that is, that is). "" Size "" indicating the number of storage destination URLs) is included. In other words, in the processing result 171, the arrays "" url [0] "" to "" url [N-1] "" in which the storage destination URLs of the electronic files are stored, and the number of the arrays "" size " "" Is included.

また、配列「"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 resource management information 170D stores the processing results of the components for executing each processing included in the series of processing.

図12に戻る。フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1207)。 Return to FIG. When the flow execution unit 301 receives the data indicating the processing result of the component execution processing, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S1207).

すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"component"」に定義されている「"iterate"」に対応する反復コンポーネント401の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 manages the acquisition request of the iterative component 401 corresponding to the "iterate" defined in the "" component "" included in the processing definition 1112 of the processing flow information 1100 shown in FIG. It is transmitted to the unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、反復コンポーネント401を生成する(ステップS1208)。なお、反復コンポーネント401の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the iterative component 401 (step S1208). The iterative component 401 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成した反復コンポーネント401をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、反復コンポーネント401が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated iterative component 401 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the iterative component 401 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求を反復コンポーネント401に送信する(ステップS1209)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the iterative component 401 (step S1209). The execution request includes data and parameter information.

ここで、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1112に含まれる「"parameters"」に定義されているパラメータ1121〜パラメータ1123である。 Here, the parameter information is the parameters 1121 to 1123 defined in "" parameters "" included in the processing definition 1112 of the processing flow information 1100 shown in FIG.

反復コンポーネント401は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1210)。そして、反復コンポーネント401は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、反復コンポーネント401の実行処理の詳細については後述する。 Upon receiving the component execution request, the iterative component 401 executes the component execution process (step S1210). Then, the iterative component 401 returns the data indicating the processing result of the execution process to the flow execution unit 301. The details of the execution process of the iterative component 401 will be described later.

以降では、反復コンポーネント401の実行処理により、電子ファイルの格納先URLを示す「"url[0]"」〜「"url[N-1]"」に基づいて、それぞれ、電子ファイルが取得されて、OCR処理が行われたものとして説明する。 After that, by the execution process of the iterative component 401, the electronic files are acquired based on "" url [0] "" to "" url [N-1] "" indicating the URL where the electronic file is stored. , OCR processing will be described.

なお、ここで返信されるデータには、例えば、反復コンポーネント401の実行処理が正常に終了したことを示す情報と、OCR処理後のN個(Nは、格納先リストのサイズ)の電子ファイルとが含まれる。 The data returned here includes, for example, information indicating that the execution processing of the iterative component 401 has been completed normally, and N electronic files (N is the size of the storage destination list) after the OCR processing. Is included.

フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1211)。 When the flow execution unit 301 receives the data indicating the processing result of the component execution processing, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S1211).

すなわち、フロー実行部301は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"component"」に定義されている「"sendMail"」に対応するメール配信コンポーネント403の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests the acquisition of the mail delivery component 403 corresponding to the "" sendMail "" defined in the "" component "" included in the processing definition 1113 of the processing flow information 1100 shown in FIG. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、メール配信コンポーネント403を生成する(ステップS1212)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the mail delivery component 403 (step S1212). The mail delivery component 403 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したメール配信コンポーネント403をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント403が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated mail delivery component 403 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the mail delivery component 403 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント403に送信する(ステップS1213)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the mail delivery component 403 (step S1213). The execution request includes data and parameter information.

ここで、データには、入力情報に含まれるメールアドレス「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 processing definition 1113 of the processing flow information 1100 shown in FIG.

メール配信コンポーネント403は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1214)。そして、メール配信コンポーネント403は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。 Upon receiving the component execution request, the mail delivery component 403 executes the component execution process (step S1214). Then, the mail delivery component 403 returns the data indicating the processing result of the execution process to the flow execution unit 301.

なお、ここで返信されるデータには、例えば、メール配信コンポーネント403の実行処理が正常に終了したことを示す情報が含まれる。 The data returned here includes, for example, information indicating that the execution process of the mail delivery component 403 has been completed normally.

ここで、メール配信コンポーネント403の実行処理について、図15を参照しながら説明する。図15は、本実施形態に係るメール配信コンポーネント403の実行処理の一例を示すシーケンス図である。 Here, the execution process of the mail delivery component 403 will be described with reference to FIG. FIG. 15 is a sequence diagram showing an example of execution processing of the mail delivery component 403 according to the present embodiment.

まず、メール配信コンポーネント403は、型変換要求を型変換管理部304に送信する(ステップS1501)。なお、当該型変換要求には、データと、メール配信コンポーネント403が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 First, the mail delivery component 403 transmits the type conversion request to the type conversion management unit 304 (step S1501). The type conversion request includes data and a designation of "LocalFilePath" indicating a data type that can be handled by the mail delivery component 403.

型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1502)。 Upon receiving the type conversion request, the type conversion management unit 304 checks whether or not the data type of the data included in the type conversion request matches the designated data type (step S1502).

ここで、受信した型変換要求に含まれるデータのデータ型は「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 conversion management unit 304 determines that the data type of the data included in the type conversion request matches the designated data type.

すると、型変換管理部304は、型変換要求に含まれるデータを、メール配信コンポーネント403に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。 Then, the type conversion management unit 304 returns the data included in the type conversion request to the mail delivery component 403. In this way, when it is determined in the data type check that the data types match, the type conversion management unit 304 does not generate the type conversion.

メール配信コンポーネント403は、データを受信すると、パラメータ情報を用いて処理を実行する(ステップS1503)。すなわち、メール配信コンポーネント403は、まず、パラメータ情報に含まれるパラメータ「"to"」に、データに含まれるメールアドレス「hoge@fuga.com」を指定する。そして、メール配信コンポーネント403は、データに含まれる電子ファイルを添付したメールを作成した上で、指定されたメールアドレス宛にメールを送信する。なお、メール配信コンポーネント403は、ドキュメントサービス部130のメール配信部131により、メールの作成及び送信処理を実行する。 When the mail delivery component 403 receives the data, the mail delivery component 403 executes the process using the parameter information (step S1503). That is, the mail delivery component 403 first specifies the mail address "hoge@fuga.com" included in the data in the parameter "to" included in the parameter information. Then, the mail delivery component 403 creates a mail with the electronic file included in the data attached, and then sends the mail to the designated mail address. The mail delivery component 403 executes mail creation and transmission processing by the mail delivery unit 131 of the document service unit 130.

ここで、上記のステップS1210における反復コンポーネント401の実行処理について、図16を参照しながら説明する。図16は、本実施形態に係る反復コンポーネント401の実行処理の一例を示すシーケンス図である。 Here, the execution process of the iterative component 401 in step S1210 will be described with reference to FIG. FIG. 16 is a sequence diagram showing an example of execution processing of the iterative component 401 according to the present embodiment.

まず、反復コンポーネント401は、型変換要求を型変換管理部304に送信する(ステップS1601)。なお、当該型変換要求には、データと、反復コンポーネント401が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 First, the iterative component 401 transmits a type conversion request to the type conversion management unit 304 (step S1601). The type conversion request includes data and a designation of "LocalFilePath" indicating a data type that can be handled by the iterative component 401.

型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1602)。 Upon receiving the type conversion request, the type conversion management unit 304 checks whether or not the data type of the data included in the type conversion request matches the designated data type (step S1602).

ここで、受信した型変換要求に含まれるデータのデータ型は「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 conversion management unit 304 determines that the data type of the data included in the type conversion request matches the designated data type.

すると、型変換管理部304は、型変換要求に含まれるデータを、反復コンポーネント401に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。 Then, the type conversion management unit 304 returns the data included in the type conversion request to the iterative component 401. In this way, when it is determined in the data type check that the data types match, the type conversion management unit 304 does not generate the type conversion.

反復コンポーネント401は、データを受信すると、子フローを実行させた回数(実行済回数)を示す変数「index」を「0」に設定する(ステップS1603)。 When the iterative component 401 receives the data, it sets the variable "index" indicating the number of times the child flow is executed (the number of times it has been executed) to "0" (step S1603).

次に、反復コンポーネント401は、実行済回数を示す変数「index」が、パラメータ情報に含まれるパラメータ1123に定義された反復回数「"numberOfIterations"」より小さい間、ステップS1604〜ステップS1606の処理を実行する。なお、本実施形態では、「"numberOfIterations"」には、リスト取得コンポーネント402の処理結果171に含まれる格納先リストのサイズ(すなわち、「"result.getFileList.size"」)を参照することが定義されている。したがって、この場合、反復回数(numberOfIterations)は「N」である。 Next, the iteration component 401 executes the processes of steps S1604 to S1606 while the variable "index" indicating the number of executions is smaller than the number of iterations "" numberOfIterations "" defined in the parameter 1123 included in the parameter information. To do. In this embodiment, it is defined that "" numberOfIterations "" refers to the size of the storage destination list included in the processing result 171 of the list acquisition component 402 (that is, "" result.getFileList.size ""). Has been done. Therefore, in this case, the number of iterations (numberOfIterations) is "N".

すなわち、反復コンポーネント401は、まず、処理フローの実行要求をフロー実行部301に送信する(ステップS1604)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、型変換管理部304から受信したデータと、パラメータ情報とが含まれる。 That is, the iterative component 401 first transmits an execution request for the processing flow to the flow execution unit 301 (step S1604). The execution request includes the flow ID defined in the parameter 1121, the data received from the type conversion management unit 304, and the parameter information.

ここで、パラメータ情報は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータ1122である。すなわち、反復コンポーネント401は、子フローのフロー詳細が定義されたパラメータ1122を、パラメータ情報として、フロー実行部301に送信する。 Here, the parameter information is the parameter 1122 included in the parameter information for the iterative component 401. That is, the iterative component 401 transmits the parameter 1122 in which the flow details of the child flow are defined to the flow execution unit 301 as parameter information.

次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるフロー詳細に基づく一連の処理(すなわち、子フロー)を実行する(ステップS1605)。 Next, when the flow execution unit 301 receives the execution request of the processing flow, it executes a series of processing (that is, child flow) based on the flow details included in the execution request (step S1605).

そして、フロー実行部301は、当該一連の処理の処理結果を示すデータを反復コンポーネント401に返信する。 Then, the flow execution unit 301 returns the data indicating the processing result of the series of processing to the iterative component 401.

その後、反復コンポーネント401は、子フローの処理結果を示すデータをフロー実行部301から受信すると、実行済回数を変数「index」に「1」を加算する(ステップS1604)。 After that, when the iterative component 401 receives the data indicating the processing result of the child flow from the flow execution unit 301, the iterative component 401 adds "1" to the variable "index" for the number of executions (step S1604).

このように、反復コンポーネント401は、処理フロー(子フロー)の実行要求を繰り返しフロー実行部301に送信することで、当該子フローを繰り返し実行させる。これにより、本実施形態に係るサービス提供システム10では、反復コンポーネント401により、処理フローに含まれる1以上の処理の反復を実現することができる。 In this way, the iterative component 401 repeatedly executes the child flow by transmitting the execution request of the processing flow (child flow) to the iterative flow execution unit 301. As a result, in the service providing system 10 according to the present embodiment, the iteration of one or more processes included in the processing flow can be realized by the iteration component 401.

ここで、上記のステップ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 flow execution unit 301 receives the execution request of the processing flow, the flow execution unit 301 transmits a component acquisition request based on the parameter information included in the execution request to the component management unit 302 (step S1701).

すなわち、フロー実行部301は、パラメータ1122の処理定義1131に含まれる「"component"」に定義されている「"getFile"」に対応するファイル取得コンポーネント404の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 transmits the acquisition request of the file acquisition component 404 corresponding to the "" getFile "" defined in the "" component "" included in the processing definition 1131 of the parameter 1122 to the component management unit 302. ..

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、ファイル取得コンポーネント404を生成する(ステップS1702)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the file acquisition component 404 (step S1702). The file acquisition component 404 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したファイル取得コンポーネント404をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、ファイル取得コンポーネント404が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated file acquisition component 404 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the file acquisition component 404 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をファイル取得コンポーネント404に送信する(ステップS1703)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the file acquisition component 404 (step S1703). The execution request includes data and parameter information.

ここで、パラメータ情報は、パラメータ1122の処理定義1131に含まれる「"parameters"」に定義されている「"location":${result.getFileList.url[index]}」である。 Here, the parameter information is "" location ": $ {result.getFileList.url [index]}" defined in "" parameters "" included in the processing definition 1131 of the parameter 1122.

ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1704)。すなわち、ファイル取得コンポーネント404は、リソース管理部306を介して、リソース管理情報170Dに保存されている処理結果171に含まれる配列「"url[index]"」から格納先URLを取得する。そして、ファイル取得コンポーネント404は、パラメータ情報に含まれるパラメータ「"location"」に、当該格納先URLを指定して、電子ファイルを取得(ダウンロード)する。なお、「index」は、上述したように、実行済回数を示す変数である。 Upon receiving the component execution request, the file acquisition component 404 executes the component execution process (step S1704). That is, the file acquisition component 404 acquires the storage destination URL from the array "" url [index] "" included in the processing result 171 stored in the resource management information 170D via the resource management unit 306. Then, the file acquisition component 404 acquires (downloads) the electronic file by designating the storage destination URL in the parameter "" location "" included in the parameter information. As described above, "index" is a variable indicating the number of executions.

そして、ファイル取得コンポーネント404は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、パラメータ「"location"」に指定された格納先URLから取得(ダウンロード)された電子ファイルが含まれる。 Then, the file acquisition component 404 returns the data indicating the processing result of the execution process to the flow execution unit 301. The data returned here includes an electronic file acquired (downloaded) from the storage destination URL specified in the parameter "" location "".

次に、フロー実行部301は、当該データを受信すると、反復コンポーネント401から受信した処理フローの実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1705)。 Next, when the flow execution unit 301 receives the data, it transmits a component acquisition request based on the parameter information included in the processing flow execution request received from the iterative component 401 to the component management unit 302 (step S1705).

すなわち、フロー実行部301は、パラメータ1122の処理定義1132に含まれる「"component"」に定義されている「"ocr"」に対応するOCRコンポーネント405の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 transmits the acquisition request of the OCR component 405 corresponding to the "ocr" defined in the "" component "" included in the processing definition 1132 of the parameter 1122 to the component management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、OCRコンポーネント405を生成する(ステップS1706)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the OCR component 405 (step S1706). The OCR component 405 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したOCRコンポーネント405をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント405が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated OCR component 405 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the OCR component 405 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント405に送信する(ステップS1707)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the OCR component 405 (step S1707). The execution request includes data and parameter information.

ここで、パラメータ情報は、パラメータ1122の処理定義1132に含まれる「"parameters"」に定義されている「"location":"English"」である。 Here, the parameter information is "" location ":" English "" defined in "" parameters "" included in the processing definition 1132 of parameter 1122.

OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1705)。すなわち、OCRコンポーネント405は、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。 Upon receiving the component execution request, the OCR component 405 performs component execution processing (step S1705). That is, the OCR component 405 performs OCR processing on the electronic file included in the data. The OCR component 405 executes OCR processing on the electronic file by the OCR processing unit 132 of the document service unit 130.

そして、OCRコンポーネント405は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、OCR処理後の電子ファイルが含まれる。 Then, the OCR component 405 returns the data indicating the processing result of the execution process to the flow execution unit 301. The data returned here includes an electronic file after OCR processing.

以上のように、本実施形態に係るサービス提供システム10では、反復コンポーネント401により、他の処理フロー(子フロー)を繰り返し実行させる。これにより、本実施形態に係るサービス提供システム10では、1以上の処理の反復を実現することができる。 As described above, in the service providing system 10 according to the present embodiment, another processing flow (child flow) is repeatedly executed by the iterative component 401. As a result, in the service providing system 10 according to the present embodiment, one or more processing iterations can be realized.

しかも、本実施形態に係るサービス提供システム10は、処理フローに含まれる処理の処理結果(すなわち、他のコンポーネントの処理結果)に応じて、反復コンポーネント401が他の処理フローを繰り返し実行させる回数を動的に制御することができる。 Moreover, the service providing system 10 according to the present embodiment determines the number of times that the iterative component 401 repeatedly executes the other processing flow according to the processing result of the processing included in the processing flow (that is, the processing result of the other component). It can be controlled dynamically.

ここで、「OCR配信1」サービスを実現する処理フローの他の例について、図18を参照しながら説明する。図18は、「OCR配信1」サービスを実現する処理フローの他の例を説明するための図である。 Here, another example of the processing flow for realizing the "OCR distribution 1" service will be described with reference to FIG. FIG. 18 is a diagram for explaining another example of the processing flow that realizes the “OCR distribution 1” service.

図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 iterative component 401. That is, in the processing flow shown in FIG. 18, the iterative component 401 uses "parameter information 1" when executing the child flow for the first time, and uses "parameter information 2" when executing the child flow for the second time. Use.

このように、図18に示す処理フローでは、反復コンポーネント401は、実行済回数に応じたパラメータ情報を用いて子フローを実行させる。 As described above, in the processing flow shown in FIG. 18, the iterative component 401 executes the child flow using the parameter information according to the number of executions.

ここで、図18に示す処理フローの処理フロー情報1100について、図19を参照しながら説明する。図19は、処理フロー情報1100の他の例を示す図(その1)である。 Here, the processing flow information 1100 of the processing flow shown in FIG. 18 will be described with reference to FIG. FIG. 19 is a diagram (No. 1) showing another example of the processing flow information 1100.

図19に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、パラメータリスト1124が定義されている。また、パラメータリスト1124には、実行済回数が「0」であるときに用いるパラメータ1125と、実行済回数が「1」であるときに用いるパラメータ1126とが定義されている。 As shown in FIG. 19, the parameter list 1124 is defined in the "" parameters "" included in the processing definition 1112 of the iterative component 401. Further, in the parameter list 1124, a parameter 1125 used when the number of executions is "0" and a parameter 1126 used when the number of executions is "1" are defined.

すなわち、パラメータリスト1124に含まれるパラメータ1125及びパラメータ1126は、それぞれ1回目に子フロー実行させるときに用いるパラメータ及び2回目に子フローを実行させるときに用いるパラメータである。 That is, the parameter 1125 and the parameter 1126 included in the parameter list 1124 are a parameter used when the child flow is executed for the first time and a parameter used when the child flow is executed for the second time, respectively.

このように、パラメータリスト1124には、子フローの実行済回数毎に、パラメータが定義されている。これにより、反復コンポーネント401は、子フローの実行済回数毎に、異なるパラメータ情報を用いて子フローを実行させることができる。 As described above, in the parameter list 1124, parameters are defined for each execution number of child flows. As a result, the iterative component 401 can execute the child flow by using different parameter information for each execution number of the child flow.

なお、図19に示す処理フロー情報1100には、処理定義1112に子フローに用いるデータを指定するパラメータ1127が定義されている。パラメータ1127の「"useOriginalFile"」が「"true"」である場合には、図16に示す反復コンポーネントの実行処理で説明したように、反復コンポーネント401は、リスト取得コンポーネント402の実行処理の処理結果を示すデータを用いて、子フローを実行させる。一方、パラメータ1127の「"useOriginalFile"」が「"false"」である場合には、反復コンポーネント401は、実行済回数が1以上のときに、1つ前に実行された子フローの実行処理の処理結果を示すデータを用いて、次の子フローを実行させる。 In the processing flow information 1100 shown in FIG. 19, a parameter 1127 that specifies data to be used for the child flow is defined in the processing definition 1112. When the "" useOriginalFile "" of the parameter 1127 is "" true "", as described in the execution process of the iterative component shown in FIG. 16, the iterative component 401 is the processing result of the execution process of the list acquisition component 402. The child flow is executed using the data indicating. On the other hand, when the parameter 1127 "" useOriginalFile "" is "" false "", the iterative component 401 executes the execution process of the child flow that was executed immediately before when the number of executions is 1 or more. The next child flow is executed using the data showing the processing result.

このように、反復コンポーネント401は、実行済回数が1以上である場合において、1つ前の子フローの実行処理の処理結果を示すデータを用いて、次の子フローの実行処理を行うようにすることができる。 In this way, when the number of executions is 1 or more, the iterative component 401 performs the execution processing of the next child flow by using the data indicating the processing result of the execution processing of the previous child flow. can do.

ここで、図18に示す処理フローにおける反復コンポーネント401の実行処理について、図20を参照しながら説明する。図20は、本実施形態に係る反復コンポーネント401の実行処理の他の例を示すシーケンス図(その1)である。以降では、反復コンポーネント401が子フローを実行させる回数(反復回数)は「2」であるものとして説明する。なお、ステップS1601、ステップS1602、及びステップS1605の処理は、図16と同様であるため、その説明を省略する。 Here, the execution processing of the iterative component 401 in the processing flow shown in FIG. 18 will be described with reference to FIG. FIG. 20 is a sequence diagram (No. 1) showing another example of the execution process of the iterative component 401 according to the present embodiment. Hereinafter, the number of times the iterative component 401 executes the child flow (the number of iterations) will be described as “2”. Since the processes of step S1601, step S1602, and step S1605 are the same as those in FIG. 16, the description thereof will be omitted.

反復コンポーネント401は、型変換管理部304からデータを受信すると、処理フローの実行要求をフロー実行部301に送信する(ステップS2001)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、当該データと、パラメータ情報1とが含まれる。 When the iterative component 401 receives data from the type conversion management unit 304, it transmits a processing flow execution request to the flow execution unit 301 (step S2001). The execution request includes the flow ID defined in the parameter 1121, the data, and the parameter information 1.

ここで、パラメータ情報1は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータリスト1124のうちのパラメータ1125である。すなわち、反復コンポーネント401は、実行済回数が「0」であるときに用いるパラメータ1125を、パラメータ情報1として、フロー実行部301に送信する。 Here, the parameter information 1 is the parameter 1125 in the parameter list 1124 included in the parameter information for the iterative component 401. That is, the iterative component 401 transmits the parameter 1125 used when the number of executions is "0" to the flow execution unit 301 as the parameter information 1.

これにより、フロー実行部301により、パラメータ情報1(パラメータ1125として定義されたフロー詳細)に基づく一連の処理が実行される。 As a result, the flow execution unit 301 executes a series of processes based on the parameter information 1 (flow details defined as the parameter 1125).

また、反復コンポーネント401は、1回目の処理フロー(子フロー)の実行処理の処理結果を示すデータを受信すると、2回目の処理フロー(子フロー)の実行要求をフロー実行部301に送信する(ステップS2002)。なお、当該実行要求には、パラメータ1121に定義されたフローIDと、当該データと、パラメータ情報2とが含まれる。 Further, when the iterative component 401 receives the data indicating the processing result of the execution processing of the first processing flow (child flow), it transmits the execution request of the second processing flow (child flow) to the flow execution unit 301 ( Step S2002). The execution request includes the flow ID defined in the parameter 1121, the data, and the parameter information 2.

ここで、パラメータ情報1は、反復コンポーネント401に対するパラメータ情報に含まれていたパラメータリスト1124のうちのパラメータ1126である。すなわち、反復コンポーネント401は、実行済回数が「1」であるときに用いるパラメータ1126を、パラメータ情報2として、フロー実行部301に送信する。 Here, the parameter information 1 is the parameter 1126 in the parameter list 1124 included in the parameter information for the iterative component 401. That is, the iterative component 401 transmits the parameter 1126 used when the number of executions is "1" to the flow execution unit 301 as the parameter information 2.

これにより、フロー実行部301により、パラメータ情報2(パラメータ1126として定義されたフロー詳細)に基づく一連の処理が実行される。 As a result, the flow execution unit 301 executes a series of processes based on the parameter information 2 (flow details defined as the parameter 1126).

このように、反復コンポーネント401は、実行済回数毎に、異なるパラメータ情報を指定した子フローの実行要求をフロー実行部301に送信することができる。 In this way, the iterative component 401 can send the execution request of the child flow in which different parameter information is specified to the flow execution unit 301 for each execution count.

ここで、「OCR配信1」サービスを実現する処理フローの処理フロー情報1100の他の例について、図21を参照しながら説明する。図21は、処理フロー情報1100の他の例を示す図(その2)である。 Here, another example of the processing flow information 1100 of the processing flow that realizes the "OCR distribution 1" service will be described with reference to FIG. FIG. 21 is a diagram (No. 2) showing another example of the processing flow information 1100.

図21に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、次の子フローをスキップさせる否かを判定するためのパラメータ1128が定義されている。パラメータ1128には、次の子フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。これにより、反復コンポーネント401は、「"(条件式)"」を満たす場合に次の子フローを実行させる一方で、「"(条件式)"」を満たさない場合には次の子フローの実行をスキップさせることができる。 As shown in FIG. 21, “parameters” included in the processing definition 1112 of the iterative component 401 defines parameters 1128 for determining whether or not to skip the next child flow. Parameter 1128 defines "" (conditional expression) "" (for example, a logical expression) for executing the next child flow. As a result, the iterative component 401 executes the next child flow when "" (conditional expression) "" is satisfied, while executing the next child flow when "" (conditional expression) "" is not satisfied. Can be skipped.

なお、パラメータ1128には、例えば、子フローの繰り返し実行を中止させるか否かを示す「"breakCondition":"(条件式)"」が定義されていても良い。この場合、「"(条件式)"」には、子フローの繰り返し実行を中止させるための条件式が定義される。これにより、反復コンポーネント401は、パラメータ1128に定義された「"(条件式)"」を満たす場合に、子フローの繰り返し実行を中止させることができる。 Note that parameter 1128 may define, for example, "" breakCondition ":" (conditional expression) "" indicating whether or not to stop the repeated execution of the child flow. In this case, the conditional expression for stopping the repeated execution of the child flow is defined in "" (conditional expression) "". As a result, the iterative component 401 can stop the iterative execution of the child flow when the "" (conditional expression) "" defined in the parameter 1128 is satisfied.

ここで、図21に示す処理フロー情報1100における反復コンポーネント401の実行処理について、図22を参照しながら説明する。図22は、本実施形態に係る反復コンポーネント401の実行処理の他の例を示すシーケンス図(その2)である。なお、ステップS1601〜ステップS1603、ステップS1605〜ステップS1606の処理は、図16と同様であるため、その説明を省略する。 Here, the execution processing of the iterative component 401 in the processing flow information 1100 shown in FIG. 21 will be described with reference to FIG. 22. FIG. 22 is a sequence diagram (No. 2) showing another example of the execution process of the iterative component 401 according to the present embodiment. Since the processes of steps S1601 to S1603 and steps S1605 to S1606 are the same as those in FIG. 16, the description thereof will be omitted.

ステップS1603に続いて、反復コンポーネント401は、パラメータ1128に定義された「"(条件式)"」を満たすか否かを判定する(ステップS2201)。 Following step S1603, the iterative component 401 determines whether or not the "" (conditional expression) "" defined in parameter 1128 is satisfied (step S2201).

ステップS2201において、反復コンポーネント401は、「"(条件式)"」を満たすと判定した場合、ステップS1604及びステップS1605の処理を実行する。 If it is determined in step S2201 that the iterative component 401 satisfies "" (conditional expression) "", the process of step S1604 and step S1605 is executed.

一方で、ステップS2201において、反復コンポーネント401は、「"(条件式)"」を満たさないと判定した場合、ステップS1606の処理を実行する。すなわち、反復コンポーネント401は、子フローを実行させずに、実行済回数を示す変数「index」に「1」を加算する。 On the other hand, if it is determined in step S2201 that the iterative component 401 does not satisfy "" (conditional expression) "", the process of step S1606 is executed. That is, the iterative component 401 adds "1" to the variable "index" indicating the number of executions without executing the child flow.

これにより、反復コンポーネント401は、例えば、実行済回数を示す変数「index」が「n」である場合において、「"(条件式)"」を満たさないときは、n+1回目の子フローの実行をスキップすることができる。 As a result, the iterative component 401 executes the n + 1th child flow when the variable "index" indicating the number of executions is "n" and does not satisfy "" (conditional expression) "". You can skip it.

以上のように、本実施形態に係るサービス提供システム10は、サービスを実現する一連の処理において、1以上の処理を反復実行することができる。 As described above, the service providing system 10 according to the present embodiment can repeatedly execute one or more processes in a series of processes for realizing the service.

しかも、本実施形態に係るサービス提供システム10では、当該1以上の処理を反復実行させる回数を、他の処理の処理結果に応じて動的に異なるようにすることができる。また、本実施形態に係るサービス提供システム10では、当該1以上の処理に用いるデータやパラメータ等を、当該1以上の処理の実行回数に応じて動的に決定することができる。 Moreover, in the service providing system 10 according to the present embodiment, the number of times the one or more processes are repeatedly executed can be dynamically changed according to the processing results of the other processes. Further, in the service providing system 10 according to the present embodiment, data, parameters, and the like used for the one or more processes can be dynamically determined according to the number of executions of the one or more processes.

これにより、本実施形態に係るサービス提供システム10では、1以上の処理の反復により実現される種々のサービスを提供することができるようになる。 As a result, the service providing system 10 according to the present embodiment can provide various services realized by iterating one or more processes.

[第二の実施形態]
次に、第二の実施形態について説明する。従来技術では、一連の処理において、他の一連の処理を呼び出して実行することができなかった。したがって、当該一連の処理の各処理を実行するコンポーネントは、他の一連の処理が実行された際の処理結果を利用することができなかった。そこで、第二の実施形態では、他の一連の処理の呼び出しが含まれる一連の処理を実行することを目的とするものである。
[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 service providing system 10 according to the present embodiment will be described.

本実施形態に係るサービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルをOCR処理して、メール配信するサービスを提供する。 The service providing system 10 according to the present embodiment acquires a storage destination list of electronic files in the external storage system 30, and then performs OCR processing on the latest electronic file acquired based on the list to deliver an e-mail. provide.

本実施形態に係るサービス提供システム10は、上述したサービス(以降では、「OCR配信2」サービス、又は、単に「OCR配信2」とも表す。)を提供するものとして説明する。 The service providing system 10 according to the present embodiment will be described as providing the above-mentioned service (hereinafter, also referred to as “OCR distribution 2” service or simply “OCR distribution 2”).

ただし、サービス提供システム10により提供されるサービスは、これに限られない。例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを編集(例えば、所定の情報の追加等)して、メール配信するサービスを提供しても良い。 However, the service provided by the service providing system 10 is not limited to this. For example, the service providing system 10 acquires a storage destination list of electronic files in the external storage system 30, and then edits the latest electronic file acquired based on the list (for example, adding predetermined information). , You may provide a service to deliver mail.

また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した最新の電子ファイルを圧縮して、メール配信するサービスを提供しても良い。 Further, for example, the service providing system 10 provides a service of acquiring a storage destination list of electronic files in the external storage system 30, compressing the latest electronic file acquired based on the list, and delivering the mail. You may.

このように、本実施形態に係るサービス提供システム10は、外部ストレージシステム30と連携した各種のサービスを提供する。 As described above, the service providing system 10 according to the present embodiment provides various services linked with the external storage system 30.

<機能構成>
次に、ロジック処理部112の詳細な機能構成について、図23を参照しながら説明する。図23は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。
<Functional configuration>
Next, the detailed functional configuration of the logic processing unit 112 will be described with reference to FIG. 23. FIG. 23 is a diagram showing a functional configuration of an example of the logic processing unit 112 according to the present embodiment.

図23に示すロジック処理部112のコンポーネント群303には、フロー実行コンポーネント406が含まれる。フロー実行コンポーネント406は、他の処理フローを実行するためのコンポーネントである。 The component group 303 of the logic processing unit 112 shown in FIG. 23 includes a flow execution component 406. The flow execution component 406 is a component for executing another processing flow.

ここで、「OCR配信2」サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図24を参照しながら説明する。図24は、「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報1100の一例を示す図である。なお、以降では、図24に示す処理フロー情報1100に基づく処理フローを「親フロー」、親フローから呼び出されることにより実行される他の処理フローを「子フロー」とも表す。 Here, the processing flow information 1100 included in the application information 1000 that provides the "OCR distribution 2" service will be described with reference to FIG. 24. FIG. 24 is a diagram showing an example of processing flow information 1100 in which a processing flow (parent flow) for realizing the “OCR distribution 2” service is defined. Hereinafter, the processing flow based on the processing flow information 1100 shown in FIG. 24 is also referred to as a “parent flow”, and the other processing flow executed by being called from the parent flow is also referred to as a “child flow”.

図24に示す処理フロー情報1100は、「OCR配信2」サービスを実現する一連の処理(処理フロー)が定義された情報である。 The processing flow information 1100 shown in FIG. 24 is information in which a series of processing (processing flow) for realizing the “OCR distribution 2” service is defined.

図24に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1201と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1202とが含まれる。 The processing flow information 1100 shown in FIG. 24 includes a flow ID 1201 indicating identification information that uniquely identifies the processing flow information 1100, and a flow detail 1202 in which the processing content of each processing included in the processing flow is defined.

フロー詳細1202には、処理フローに含まれる各処理をそれぞれ定義した処理定義1211〜1213が含まれる。 The flow details 1202 includes process definitions 1211 to 1213 that define each process included in the process flow.

処理定義1211の「"component"」には、リスト取得コンポーネント402により処理を実行することを示す「"getFileList"」が定義されている。また、「"parameters"」には、リスト取得コンポーネント402に対するパラメータ「"storage"」が定義されておいる。 In the "" component "" of the process definition 1211, a "" getFileList "" indicating that the process is executed by the list acquisition component 402 is defined. Further, in "" parameters "", the parameter "" storage "" for the list acquisition component 402 is defined.

同様に、処理定義1213の「"component"」には、メール配信コンポーネント403により処理を実行することを示す「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ「"to"」が定義されている。 Similarly, in the "" component "" of the process definition 1213, "" sendMail "" indicating that the process is executed by the mail delivery component 403 is defined. Further, in "" parameters "", a parameter "" to "" for the mail delivery component 403 is defined.

同様に、処理定義1212の「"component"」には、フロー実行コンポーネント406により処理を実行することを示す「"execute"」が定義されている。また、「"parameters"」には、フロー実行コンポーネント406に対するパラメータ1221が定義されている。 Similarly, in the "" component "" of the process definition 1212, "" execute "" indicating that the process is executed by the flow execution component 406 is defined. Further, in "" parameters "", parameters 1221 for the flow execution component 406 are defined.

ここで、パラメータ1221は、フロー実行コンポーネント406が実行させる他の処理フローのフローIDが定義されたパラメータである。このように、フロー実行コンポーネント406による処理を定義した処理定義1212には、当該フロー実行コンポーネント406が実行させる他の処理フローのフローIDが定義されている。これにより、後述するように、フロー実行コンポーネント406により、他の処理フローを実行させることができる。 Here, the parameter 1221 is a parameter in which the flow ID of another processing flow to be executed by the flow execution component 406 is defined. As described above, in the process definition 1212 that defines the process by the flow execution component 406, the flow IDs of other process flows to be executed by the flow execution component 406 are defined. As a result, as will be described later, the flow execution component 406 can execute another processing flow.

ここで、図24に示す処理フロー情報1100に定義されたフロー実行コンポーネント406が実行させる他の処理フロー(子フロー)の処理フロー情報1100について、図25を参照しながら説明する。図25は、「OCR配信2」サービスを実現する処理フロー(子フロー)が定義された処理フロー情報1100の一例を示す図である。 Here, the processing flow information 1100 of another processing flow (child flow) executed by the flow execution component 406 defined in the processing flow information 1100 shown in FIG. 24 will be described with reference to FIG. 25. FIG. 25 is a diagram showing an example of processing flow information 1100 in which a processing flow (child flow) for realizing the “OCR distribution 2” service is defined.

図25に示す処理フロー情報1100は、図24に示す処理フロー情報1100に基づく一連の処理から呼び出される他の処理フローを実行するための処理フロー情報1100である。 The processing flow information 1100 shown in FIG. 25 is processing flow information 1100 for executing another processing flow called from a series of processing based on the processing flow information 1100 shown in FIG. 24.

図25に示す処理フロー情報1100には、処理フロー情報1100を一意に識別する識別情報を示すフローID1301と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1302とが含まれる。 The processing flow information 1100 shown in FIG. 25 includes a flow ID 1301 indicating identification information that uniquely identifies the processing flow information 1100, and a flow detail 1302 in which the processing content of each processing included in the processing flow is defined.

フロー詳細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 process definition 1312, "" getFile "" indicating that the process is executed by the file acquisition component 404 is defined. Further, in "" parameters "", a parameter "" location "" for the file acquisition component 404 is defined. The parameter "" location "" is a parameter in which information indicating a storage destination list of electronic files is defined.

同様に、処理定義1322の「"component"」には、OCRコンポーネント405により処理を実行することを示す「"ocr"」が定義されている。また、「"parameters"」には、OCRコンポーネント405に対するパラメータ「"language"」が定義されている。 Similarly, in the "" component "" of the process definition 1322, "" ocr "" indicating that the process is executed by the OCR component 405 is defined. Further, in "" parameters "", a parameter "" language "" for the OCR component 405 is defined.

ここで、図24に示す処理フロー情報1100に基づく処理フロー(すなわち、「OCR配信2」サービスを実現する処理フロー)を、図26に示す。図26は、「OCR配信2」サービスを実現する処理フローの一例を説明するための図である。 Here, FIG. 26 shows a processing flow based on the processing flow information 1100 shown in FIG. 24 (that is, a processing flow for realizing the “OCR distribution 2” service). FIG. 26 is a diagram for explaining an example of a processing flow that realizes the “OCR distribution 2” service.

図26に示すように、「OCR配信2」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。 As shown in FIG. 26, in the processing flow for realizing the “OCR distribution 2” service, first, the list acquisition component 402 acquires a storage destination list of electronic files stored in the external storage system 30.

次に、フロー実行コンポーネント406により、図25に示す処理フロー情報1100に基づく処理フローである子フローが実行される。すなわち、フロー実行コンポーネント406は、ファイル取得コンポーネント404による処理と、OCRコンポーネント405による処理とを実行させる。これにより、格納先リストに含まれる格納先のうち、最新の電子ファイルの格納先に基づいて、当該最新の電子ファイルが取得(ダウンロード)され、OCR処理が行われる。 Next, the flow execution component 406 executes a child flow, which is a processing flow based on the processing flow information 1100 shown in FIG. That is, the flow execution component 406 executes the process by the file acquisition component 404 and the process by the OCR component 405. As a result, among the storage destinations included in the storage destination list, the latest electronic file is acquired (downloaded) based on the storage destination of the latest electronic file, and OCR processing is performed.

最後に、メール配信コンポーネント403により、OCR処理後の電子ファイルがメール配信される。 Finally, the mail delivery component 403 delivers the electronic file after the OCR processing by mail.

このように、「OCR配信2」サービスでは、親フローのフロー実行コンポーネント406が子フロー(他の処理フロー)を実行させることで、処理フローにおいて他の処理フローの呼び出しを実現している。なお、子フローにフロー実行コンポーネント406が含まれる場合には、他の処理フロー(孫フロー)を実行させれば良い。 As described above, in the "OCR distribution 2" service, the flow execution component 406 of the parent flow executes the child flow (other processing flow) to realize the call of another processing flow in the processing flow. If the child flow includes the flow execution component 406, another processing flow (grandchild flow) may be executed.

<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Next, the details of the processing of the information processing system 1 according to the present embodiment will be described.

以降では、機器20のユーザUが、ブラウザ210を用いて、サービス提供システム10により提供される「OCR配信2」サービスを利用する場合の処理について、図27を参照しながら説明する。図27は、本実施形態に係る「OCR配信2」サービスを利用する場合の全体処理の一例を示すシーケンス図である。なお、図27のステップS1001〜ステップS1004は、図10と同様であるため、その説明を省略する。 Hereinafter, the processing when the user U of the device 20 uses the “OCR distribution 2” service provided by the service providing system 10 by using the browser 210 will be described with reference to FIG. 27. FIG. 27 is a sequence diagram showing an example of overall processing when the “OCR distribution 2” service according to the present embodiment is used. Since steps S1001 to S1004 in FIG. 27 are the same as those in FIG. 10, the description thereof will be omitted.

ステップS1004に続いて、ユーザUは、サービス一覧画面4100のサービス名一覧4101から「OCR配信2」を選択して、サービスの選択操作を行う(ステップS2701)。 Following step S1004, the user U selects "OCR distribution 2" from the service name list 4101 on the service list screen 4100, and performs a service selection operation (step S2701).

機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS2702)。なお、当該取得要求には、ユーザUにより選択された「OCR配信2」サービスを提供するアプリ情報1000のアプリIDが含まれる。 When the browser 210 of the device 20 receives the service selection operation, it transmits a service screen acquisition request to the Web service processing unit 120 (step S2702). The acquisition request includes the application ID of the application information 1000 that provides the "OCR distribution 2" service selected by the user U.

Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS2703)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。 When the Web service processing unit 120 receives the service screen acquisition request, it acquires the screen information 2000 (service screen screen information 2000) stored in the screen information storage unit 160 in association with the application ID included in the acquisition request. (Step S2703). Then, the Web service processing unit 120 returns the acquired screen information 2000 to the browser 210.

機器20のブラウザ210は、サービス画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図28に示すサービス画面4300を操作パネル22に表示させる(ステップS2704)。 When the browser 210 of the device 20 receives the screen information 2000 of the service screen, for example, the service screen 4300 shown in FIG. 28 is displayed on the operation panel 22 based on the screen information 2000 (step S2704).

図28に示すサービス画面4300は、ユーザUにより選択された「OCR配信2」サービスを利用するための画面である。図28に示すサービス画面4300には、ストレージ指定欄4301と、メールアドレス指定欄4302と、実行ボタン4303とが含まれる。 The service screen 4300 shown in FIG. 28 is a screen for using the “OCR distribution 2” service selected by the user U. The service screen 4300 shown in FIG. 28 includes a storage designation field 4301, an email address designation field 4302, and an execution button 4303.

ここで、ストレージ指定欄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 external storage system 30 for acquiring the storage destination list of the electronic file. The e-mail address designation field 4302 is a field for designating a destination (e-mail address) for transmitting an OCR-processed electronic file by e-mail. The service screen 4300 may include, for example, a CC designation field, a BCC designation field, or the like for designating a destination for transmitting an OCR-processed electronic file by e-mail by CC or BCC.

次に、ユーザUは、サービス画面4300において、ストレージ指定欄4301に所望のストレージサービス名を指定すると共に、メールアドレス指定欄4302に所望のメールアドレスを指定した上で、実行ボタン4303を押下する(ステップS2705)。 Next, on the service screen 4300, the user U specifies a desired storage service name in the storage designation field 4301, specifies a desired mail address in the mail address designation field 4302, and then presses the execute button 4303 (. Step S2705).

ここで、以降では、ユーザ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 address designation field 4302, the execute button 4303 Will be described as if was pressed.

機器20のブラウザ210は、実行ボタン4303の押下操作を受け付けると、「OCR配信2」サービスを実現する処理フローの実行要求をWebサービス処理部120に送信する(ステップS2706)。 When the browser 210 of the device 20 receives the operation of pressing the execution button 4303, it transmits an execution request of the processing flow for realizing the "OCR distribution 2" service to the Web service processing unit 120 (step S2706).

なお、当該実行要求には、「OCR配信2」サービスを提供するアプリ情報1000のアプリIDと、当該サービスを実現するための処理フロー情報1100のフローIDが含まれる。また、当該実行要求には、サービス画面4300においてユーザUにより入力された入力情報(すなわち、ストレージサービス名及びメールアドレス)が含まれる。 The execution request includes an application ID of application information 1000 that provides the "OCR distribution 2" service and a flow ID of processing flow information 1100 for realizing the service. Further, the execution request includes input information (that is, a storage service name and an e-mail address) input by the user U on the service screen 4300.

Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS2707)。 When the Web service processing unit 120 receives the execution request of the processing flow, the Web service processing unit 120 transmits the execution request to the logic processing unit 112 of the input / output service processing unit 110 (step S2707).

入出力サービス処理部110のロジック処理部112は、処理フローの実行要求を受信すると、当該実行要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100に基づく一連の処理(すなわち、親フロー)を実行する(ステップS2708)。 When the logic processing unit 112 of the input / output service processing unit 110 receives the execution request of the processing flow, the logic processing unit 112 of the input / output service processing unit 110 receives a series of processing (that is, a parent flow) based on the processing flow information 1100 corresponding to the application ID and the flow ID included in the execution request. ) Is executed (step S2708).

そして、ロジック処理部112は、当該一連の処理の処理結果を、Webサービス処理部120を介して、機器20のブラウザ210に返信する。 Then, the logic processing unit 112 returns the processing result of the series of processing to the browser 210 of the device 20 via the Web service processing unit 120.

これにより、本実施形態に係るサービス提供システム10において、「OCR配信2」サービスを実現する一連の処理が実行され、機器20に対して当該サービスが提供される。 As a result, in the service providing system 10 according to the present embodiment, a series of processes for realizing the "OCR distribution 2" service is executed, and the service is provided to the device 20.

ここで、上記のステップ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 flow execution unit 301 receives the execution request of the processing flow, the flow execution unit 301 transmits the acquisition request of the processing flow information to the application management unit 111 (step S2901). The acquisition request includes an application ID included in the execution request of the processing flow received from the Web service processing unit 120 and a flow ID.

アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS2902)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図24に示す処理フロー情報1100が返信される。 When the application management unit 111 receives the acquisition request for the processing flow information, the application management unit 111 acquires the processing flow information 1100 corresponding to the application ID and the flow ID included in the acquisition request from the application information storage unit 150 (step S2902). Then, the application management unit 111 returns the acquired processing flow information 1100 to the flow execution unit 301. As a result, the processing flow information 1100 shown in FIG. 24 is returned to the flow execution unit 301.

フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2903)。 When the flow execution unit 301 receives the processing flow information 1100 from the application management unit 111, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S2903).

すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1211に含まれる「"component"」に定義されている「"getFileList"」に対応するリスト取得コンポーネント402の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests the acquisition of the list acquisition component 402 corresponding to the "getFileList" defined in the "" component "" included in the processing definition 1211 of the processing flow information 1100 shown in FIG. 24. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、リスト取得コンポーネント402を生成する(ステップS2904)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the list acquisition component 402 (step S2904). The list acquisition component 402 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したリスト取得コンポーネント402をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、リスト取得コンポーネント402が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated list acquisition component 402 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the list acquisition component 402 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をリスト取得コンポーネント402に送信する(ステップS2905)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the list acquisition component 402 (step S2905). The execution request includes data and parameter information.

ここで、データは、データ型「InputStream」として、ブラウザ210から受信した入力情報(すなわち、ストレージサービス名「ストレージA」)である。 Here, the data is the input information (that is, the storage service name "storage A") received from the browser 210 as the data type "InputStream".

また、パラメータ情報は、図24に示す処理フロー情報1100の処理定義1211に含まれる「"parameters"」に定義されている「"storage":null」である。 Further, the parameter information is "" storage ": null" defined in "" parameters "" included in the processing definition 1211 of the processing flow information 1100 shown in FIG. 24.

リスト取得コンポーネント402は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2906)。そして、リスト取得コンポーネント402は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。 Upon receiving the component execution request, the list acquisition component 402 performs the component execution process (step S2906). Then, the list acquisition component 402 returns the data indicating the processing result of the execution process to the flow execution unit 301.

なお、ここで返信されるデータには、例えば、リスト取得コンポーネント402の実行処理が正常に終了したことを示す情報が含まれる。リスト取得コンポーネント402の実行処理は、図13を参照しながら説明した処理と同様である。 The data returned here includes, for example, information indicating that the execution process of the list acquisition component 402 has been completed normally. The execution process of the list acquisition component 402 is the same as the process described with reference to FIG.

次に、フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2907)。 Next, when the flow execution unit 301 receives the data indicating the processing result of the component execution processing, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S2907).

すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1212に含まれる「"component"」に定義されている「"execute"」に対応するフロー実行コンポーネント406の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests acquisition of the flow execution component 406 corresponding to the "execute" defined in the "" component "" included in the processing definition 1212 of the processing flow information 1100 shown in FIG. 24. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、フロー実行コンポーネント406を生成する(ステップS2908)。なお、フロー実行コンポーネント406の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the flow execution component 406 (step S2908). The flow execution component 406 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したフロー実行コンポーネント406をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、フロー実行コンポーネント406が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated flow execution component 406 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the flow execution component 406 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をフロー実行コンポーネント406に送信する(ステップS2909)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the flow execution component 406 (step S2909). The execution request includes data and parameter information.

ここで、パラメータ情報は、図24に示す処理フロー情報1100の処理定義1212に含まれる「"parameters"」に定義されているパラメータ1221である。 Here, the parameter information is the parameter 1221 defined in "" parameters "" included in the processing definition 1212 of the processing flow information 1100 shown in FIG. 24.

フロー実行コンポーネント406は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2910)。そして、フロー実行コンポーネント406は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、フロー実行コンポーネント406の実行処理の詳細については後述する。 Upon receiving the component execution request, the flow execution component 406 executes the component execution process (step S2910). Then, the flow execution component 406 returns data indicating the processing result of the execution process to the flow execution unit 301. The details of the execution process of the flow execution component 406 will be described later.

以降では、フロー実行コンポーネント406の実行処理により、子フローが実行され、電子ファイルの格納先URLを示す「"url[0]"」に基づいて、最新の電子ファイルが取得されて、当該電子ファイルに対してOCR処理が行われたものとして説明する。 After that, the child flow is executed by the execution process of the flow execution component 406, and the latest electronic file is acquired based on the "url [0]" "indicating the URL where the electronic file is stored, and the electronic file is obtained. It will be described as if the OCR process was performed on the file.

なお、ここで返信されるデータには、例えば、フロー実行コンポーネント406の実行処理が正常に終了したことを示す情報と、OCR処理後の電子ファイルとが含まれる。 The data returned here includes, for example, information indicating that the execution process of the flow execution component 406 has been completed normally, and an electronic file after the OCR process.

フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2911)。 When the flow execution unit 301 receives the data indicating the processing result of the component execution processing, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S2911).

すなわち、フロー実行部301は、図24に示す処理フロー情報1100の処理定義1213に含まれる「"component"」に定義されている「"sendMail"」に対応するメール配信コンポーネント403の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests the acquisition of the mail delivery component 403 corresponding to the "" sendMail "" defined in the "" component "" included in the processing definition 1213 of the processing flow information 1100 shown in FIG. 24. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、メール配信コンポーネント403を生成する(ステップS2912)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the mail delivery component 403 (step S2912). The mail delivery component 403 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したメール配信コンポーネント403をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、メール配信コンポーネント403が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated mail delivery component 403 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the mail delivery component 403 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をメール配信コンポーネント403に送信する(ステップS2913)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the mail delivery component 403 (step S2913). The execution request includes data and parameter information.

ここで、データには、入力情報に含まれるメールアドレス「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 processing definition 1213 of the processing flow information 1100 shown in FIG. 24.

メール配信コンポーネント403は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS2914)。そして、メール配信コンポーネント403は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。 Upon receiving the component execution request, the mail delivery component 403 executes the component execution process (step S2914). Then, the mail delivery component 403 returns the data indicating the processing result of the execution process to the flow execution unit 301.

なお、ここで返信されるデータには、例えば、メール配信コンポーネント403の実行処理が正常に終了したことを示す情報が含まれる。メール配信コンポーネント403の実行処理は、図15を参照しながら説明した処理と同様である。 The data returned here includes, for example, information indicating that the execution process of the mail delivery component 403 has been completed normally. The execution process of the mail delivery component 403 is the same as the process described with reference to FIG.

ここで、上記のステップS2910におけるフロー実行コンポーネント406の実行処理について、図30を参照しながら説明する。図30は、本実施形態に係るフロー実行コンポーネント406の実行処理の一例を示すシーケンス図である。 Here, the execution process of the flow execution component 406 in step S2910 will be described with reference to FIG. FIG. 30 is a sequence diagram showing an example of execution processing of the flow execution component 406 according to the present embodiment.

まず、フロー実行コンポーネント406は、型変換要求を型変換管理部304に送信する(ステップS3001)。なお、当該型変換要求には、データと、フロー実行コンポーネント406が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 First, the flow execution component 406 transmits a type conversion request to the type conversion management unit 304 (step S3001). The type conversion request includes data and a designation of "LocalFilePath" indicating a data type that can be handled by the flow execution component 406.

型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS3002)。 Upon receiving the type conversion request, the type conversion management unit 304 checks whether or not the data type of the data included in the type conversion request matches the designated data type (step S3002).

ここで、受信した型変換要求に含まれるデータのデータ型は「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 conversion management unit 304 determines that the data type of the data included in the type conversion request matches the designated data type.

すると、型変換管理部304は、型変換要求に含まれるデータを、フロー実行コンポーネント406に返信する。このように、データ型のチェックにおいてデータ型が一致するものと判断された場合、型変換管理部304は、型変換の生成を行わない。 Then, the type conversion management unit 304 returns the data included in the type conversion request to the flow execution component 406. In this way, when it is determined in the data type check that the data types match, the type conversion management unit 304 does not generate the type conversion.

フロー実行コンポーネント406は、データを受信すると、処理フローの実行要求をフロー実行部301に送信する(ステップS3003)。なお、当該実行要求には、型変換管理部304から受信したデータと、パラメータ情報とが含まれる。ここで、パラメータ情報は、パラメータ1221に定義されたフローIDである。 Upon receiving the data, the flow execution component 406 transmits a processing flow execution request to the flow execution unit 301 (step S3003). The execution request includes data received from the type conversion management unit 304 and parameter information. Here, the parameter information is the flow ID defined in the parameter 1221.

次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるフローIDの処理フロー情報1100に基づく一連の処理(すなわち、子フロー)を実行する(ステップS3004)。 Next, when the flow execution unit 301 receives the execution request of the processing flow, it executes a series of processing (that is, a child flow) based on the processing flow information 1100 of the flow ID included in the execution request (step S3004).

そして、フロー実行部301は、当該一連の処理の処理結果を示すデータをフロー実行コンポーネント406に返信する。 Then, the flow execution unit 301 returns the data indicating the processing result of the series of processing to the flow execution component 406.

このように、フロー実行コンポーネント406は、他の処理フロー(子フロー)の実行要求をフロー実行部301に送信することで、当該子フローを実行させる。これにより、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント406により、他の処理フローの呼び出しを実現することができる。 In this way, the flow execution component 406 executes the child flow by transmitting the execution request of another processing flow (child flow) to the flow execution unit 301. As a result, in the service providing system 10 according to the present embodiment, the flow execution component 406 can realize the call of another processing flow.

ここで、上記のステップ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 flow execution unit 301 receives the execution request of the processing flow, the flow execution unit 301 transmits the acquisition request of the processing flow information to the application management unit 111 (step S3101). The acquisition request includes the flow ID indicated by the parameter information included in the execution request of the processing flow received from the flow execution component 406.

アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS3102)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図25に示す処理フロー情報1100が返信される。 When the application management unit 111 receives the acquisition request for the processing flow information, the application management unit 111 acquires the processing flow information 1100 corresponding to the flow ID included in the acquisition request from the application information storage unit 150 (step S3102). Then, the application management unit 111 returns the acquired processing flow information 1100 to the flow execution unit 301. As a result, the processing flow information 1100 shown in FIG. 25 is returned to the flow execution unit 301.

フロー実行部301は、アプリ管理部111から処理フロー情報1100を受信すると、当該処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS3103)。 When the flow execution unit 301 receives the processing flow information 1100 from the application management unit 111, the flow execution unit 301 transmits a component acquisition request based on the processing flow information 1100 to the component management unit 302 (step S3103).

すなわち、フロー実行部301は、図25に示す処理フロー情報1100の処理定義1312に含まれる「"component"」に定義されている「"getFile"」に対応するファイル取得コンポーネント404の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 requests the acquisition of the file acquisition component 404 corresponding to the "" getFile "" defined in the "" component "" included in the processing definition 1312 of the processing flow information 1100 shown in FIG. It is transmitted to the management unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、ファイル取得コンポーネント404を生成する(ステップS3104)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the file acquisition component 404 (step S3104). The file acquisition component 404 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したファイル取得コンポーネント404をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、ファイル取得コンポーネント404が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated file acquisition component 404 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the file acquisition component 404 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をファイル取得コンポーネント404に送信する(ステップS3105)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the file acquisition component 404 (step S3105). The execution request includes data and parameter information.

ここで、パラメータ情報は、図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 processing definition 1212 of the processing flow information 1100 shown in FIG. is there.

ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS3106)。すなわち、ファイル取得コンポーネント404は、リソース管理部306を介して、リソース管理情報170Dに保存されている処理結果171に含まれる配列「"url[0]"」から格納先URLを取得する。そして、ファイル取得コンポーネント404は、パラメータ情報に含まれるパラメータ「"location"」に、当該格納先URLを指定して、電子ファイルを取得(ダウンロード)する。 Upon receiving the component execution request, the file acquisition component 404 executes the component execution process (step S3106). That is, the file acquisition component 404 acquires the storage destination URL from the array "" url [0] "" included in the processing result 171 stored in the resource management information 170D via the resource management unit 306. Then, the file acquisition component 404 acquires (downloads) the electronic file by designating the storage destination URL in the parameter "" location "" included in the parameter information.

そして、ファイル取得コンポーネント404は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、パラメータ「"location"」に指定された格納先URLから取得(ダウンロード)された電子ファイルが含まれる。 Then, the file acquisition component 404 returns the data indicating the processing result of the execution process to the flow execution unit 301. The data returned here includes an electronic file acquired (downloaded) from the storage destination URL specified in the parameter "" location "".

これにより、ファイル取得コンポーネント404により、配列「"url[0]"」が示す電子ファイル(すなわち、最新の電子ファイル)が取得される。 As a result, the file acquisition component 404 acquires the electronic file (that is, the latest electronic file) indicated by the array "url [0]".

なお、上記では、ファイル取得コンポーネント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 file acquisition component 404 has been described, but the present invention is not limited to this. For example, by defining "" location ": $ {result.getFileList.url [N-1]}" in "" parameters "" included in the process definition 1312, the array "" url [" is used by the file acquisition component 404. It is also possible to acquire the electronic file (that is, the oldest electronic file) indicated by N-1] "".

次に、フロー実行部301は、当該データを受信すると、フロー実行コンポーネント406から受信した処理フローの実行要求に含まれるパラメータ情報に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS3107)。 Next, when the flow execution unit 301 receives the data, it transmits a component acquisition request based on the parameter information included in the processing flow execution request received from the flow execution component 406 to the component management unit 302 (step S3107). ..

すなわち、フロー実行部301は、図25に示す処理フロー情報1100の処理定義1322に含まれる「"component"」に定義されている「"ocr"」に対応するOCRコンポーネント405の取得要求をコンポーネント管理部302に送信する。 That is, the flow execution unit 301 manages the acquisition request of the OCR component 405 corresponding to the "ocr" defined in the "" component "" included in the processing definition 1322 of the processing flow information 1100 shown in FIG. 25. It is transmitted to the unit 302.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、OCRコンポーネント405を生成する(ステップS3108)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Upon receiving the component acquisition request, the component management unit 302 generates the OCR component 405 (step S3108). The OCR component 405 can be generated by using the API for generating the component defined in the component common I / F 400.

そして、コンポーネント管理部302は、生成したOCRコンポーネント405をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント405が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。 Then, the component management unit 302 returns the generated OCR component 405 to the flow execution unit 301. That is, the component management unit 302 returns, for example, the address on the memory (for example, RAM 14) in which the OCR component 405 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント405に送信する(ステップS3109)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。 Next, the flow execution unit 301 transmits the component execution request to the OCR component 405 (step S3109). The execution request includes data and parameter information.

ここで、パラメータ情報は、図25に示す処理フロー情報1100の処理定義1322に含まれる「"parameters"」に定義されている「"location":"English"」である。 Here, the parameter information is "" location ":" English "" defined in "" parameters "" included in the processing definition 1322 of the processing flow information 1100 shown in FIG. 25.

OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS3110)。すなわち、OCRコンポーネント405は、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。 Upon receiving the component execution request, the OCR component 405 performs component execution processing (step S3110). That is, the OCR component 405 performs OCR processing on the electronic file included in the data. The OCR component 405 executes OCR processing on the electronic file by the OCR processing unit 132 of the document service unit 130.

そして、OCRコンポーネント405は、当該実行処理の処理結果を示すデータをフロー実行部301に返信する。なお、ここで返信されるデータには、OCR処理後の電子ファイルが含まれる。 Then, the OCR component 405 returns the data indicating the processing result of the execution process to the flow execution unit 301. The data returned here includes an electronic file after OCR processing.

以上のように、本実施形態に係るサービス提供システム10では、フロー実行コンポーネント406により、他の処理フロー(子フロー)を実行させる。これにより、本実施形態に係るサービス提供システム10では、他の処理フローの呼び出しを実現することができる。 As described above, in the service providing system 10 according to the present embodiment, another processing flow (child flow) is executed by the flow execution component 406. As a result, the service providing system 10 according to the present embodiment can call another processing flow.

このため、本実施形態に係るサービス提供システム10では、処理フローにおいて、他の処理フローの処理結果を利用することができるようになる。 Therefore, in the service providing system 10 according to the present embodiment, the processing results of other processing flows can be used in the processing flow.

ここで、「OCR配信2」サービスを実現する処理フローの処理フロー情報1100の他の例について、図32を参照しながら説明する。図32は、「OCR配信2」サービスを実現する処理フロー(親フロー)が定義された処理フロー情報1100の他の例を示す図である。 Here, another example of the processing flow information 1100 of the processing flow that realizes the "OCR distribution 2" service will be described with reference to FIG. 32. FIG. 32 is a diagram showing another example of the processing flow information 1100 in which the processing flow (parent flow) for realizing the “OCR distribution 2” service is defined.

図32に示すように、処理定義1212に含まれる「"parameters"」には、他の処理フローを実行させるか否かを判定するためのパラメータ1222が定義されている。パラメータ1222には、他の処理フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。これにより、フロー実行コンポーネント406は、「"(条件式)"」を満たす場合に他の処理フローを実行させる一方で、「"(条件式)"」を満たさない場合には他の処理フローを実行させないようにすることができる。 As shown in FIG. 32, in the "" parameters "" included in the processing definition 1212, parameters 1222 for determining whether or not to execute another processing flow are defined. Parameter 1222 defines "" (conditional expression) "" (for example, a logical expression) for executing another processing flow. As a result, the flow execution component 406 executes another processing flow when "" (conditional expression) "" is satisfied, and executes another processing flow when "" (conditional expression) "" is not satisfied. You can prevent it from running.

ここで、図32に示す処理フロー情報1100におけるフロー実行コンポーネント406の実行処理について、図33を参照しながら説明する。図33は、本実施形態に係るフロー実行コンポーネント406の実行処理の他の例を示すシーケンス図である。なお、ステップS3001〜ステップS3004の処理は、図30と同様であるため、その説明を省略する。 Here, the execution processing of the flow execution component 406 in the processing flow information 1100 shown in FIG. 32 will be described with reference to FIG. 33. FIG. 33 is a sequence diagram showing another example of the execution process of the flow execution component 406 according to the present embodiment. Since the processes of steps S3001 to S3004 are the same as those in FIG. 30, the description thereof will be omitted.

ステップS3002に続いて、フロー実行コンポーネント406は、パラメータ1223に定義された「"(条件式)"」を満たすか否かを判定する(ステップS3301)。 Following step S3002, the flow execution component 406 determines whether or not the "" (conditional expression) "" defined in parameter 1223 is satisfied (step S3301).

ステップS3301において、フロー実行コンポーネント406は、「"(条件式)"」を満たすと判定した場合、ステップS3003の処理を実行する。 If it is determined in step S3301 that the flow execution component 406 satisfies "" (conditional expression) "", the flow execution component 406 executes the process of step S3003.

一方で、ステップS3301において、フロー実行コンポーネント406は、「"(条件式)"」を満たさないと判定した場合、処理を終了させる。 On the other hand, if it is determined in step S3301 that the flow execution component 406 does not satisfy "" (conditional expression) "", the process is terminated.

これにより、フロー実行コンポーネント406は、「"(条件式)"」を満たさない場合は、子フローを実行させないようにすることができる。 As a result, the flow execution component 406 can prevent the child flow from being executed if it does not satisfy "" (conditional expression) "".

以上のように、本実施形態に係るサービス提供システム10は、サービスを実現する一連の処理において、他の一連の処理を実行することができる。このため、本実施形態に係るサービス提供システム10では、一連の処理において、他の一連の処理の処理結果を用いることができる。 As described above, the service providing system 10 according to the present embodiment can execute another series of processes in the series of processes for realizing the service. Therefore, in the service providing system 10 according to the present embodiment, the processing result of another series of processing can be used in the series of processing.

これにより、本実施形態に係るサービス提供システム10では、他の一連の処理を呼び出して、当該他の一連の処理の処理結果を用いる一連の処理により実現される種々のサービスを提供することができるようになる。 As a result, the service providing system 10 according to the present embodiment can call another series of processes and provide various services realized by a series of processes using the processing results of the other series of processes. Will be.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 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 1, which acquires the flow information of.
(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 1 or 2.
(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 Supplementary note 1 to 3, which includes at least a program that executes a process of acquiring a storage destination address of electronic data stored in an external service.
(Appendix 5)
The information processing system according to any one of claims 1 to 4, wherein the execution order is the order in which the program identification information is defined in the flow information.
(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 claims 1 to 5, wherein the parameters used for executing the flow execution program include the second flow identification information.
(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 claims 1 to 6, which executes the processing after the processing to be called, which is included in the series of processing.
(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 Information processing system 10 Service provision system 20 Equipment 30 External storage system 110 Input / output service processing unit 111 Application management department 112 Logic processing department 113 Data I / F department 120 Web service processing department 130 Document service department 131 Mail distribution department 132 OCR processing Department 140 External service cooperation unit 141 File processing unit 142 Data processing unit 150 Application information storage unit 160 Screen information storage unit 170 Resource management information storage unit 210 Browser 301 Flow execution unit 302 Component management unit 303 Component group 304 type conversion management unit 305 type Conversion group 306 Resource management unit 1000 Application information 1100 Processing flow information 2000 Screen information 3000 type conversion information table

特許第5112085号公報Japanese Patent No. 5112085

Claims (7)

1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する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以上の機器のうちの一の機器から、前記一連の処理に用いられる電子データに関する情報と、前記フロー識別情報とを受信する受信手順と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手順により受信された前記フロー識別情報と関連付けて記憶されているフロー情報を取得する取得手順と、
前記取得手順により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って実行させることで、前記電子データに関する情報に基づく電子データを用いた一連の処理を実行する実行手順とを有し、
前記実行手順は、
前記一連の処理に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.
JP2016250774A 2016-03-04 2016-12-26 Information processing system, information processing device, and information processing method Active JP6885056B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040066836A (en) * 2001-11-22 2004-07-27 가부시끼가이샤 도시바 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

Also Published As

Publication number Publication date
JP2017168082A (en) 2017-09-21

Similar Documents

Publication Publication Date Title
CN106980504B (en) Application program development method and tool and equipment thereof
JP6797290B2 (en) Content management capabilities for messaging services
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
US20160241724A1 (en) Information processing system, information processing apparatus, and information processing method
JP7314491B2 (en) Information processing system, service providing system, flow setting method
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
JP6859620B2 (en) Information processing system, information processing device, information processing method, and information processing program
EP3156903A1 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
US11070697B2 (en) Information processing system, information processing apparatus, and information processing method
US20170255495A1 (en) Information processing system, information processing apparatus, and information processing method
KR20060101803A (en) Creating and active viewing method for an electronic document
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
US7904570B1 (en) Configurable file placement
CN102236614B (en) Signal conditioning package and control method
JP6885056B2 (en) Information processing system, information processing device, and information processing method
JP6702015B2 (en) Information processing system, information processing apparatus, and information processing method
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
JP4856370B2 (en) Website editing method, editing system, editing program
JP2004362343A (en) Source code conversion apparatus, source code conversion method, and program
JP2006018492A (en) System, method, and program for processing document

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