JP6702015B2 - Information processing system, information processing apparatus, and information processing method - Google Patents

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

Info

Publication number
JP6702015B2
JP6702015B2 JP2016122327A JP2016122327A JP6702015B2 JP 6702015 B2 JP6702015 B2 JP 6702015B2 JP 2016122327 A JP2016122327 A JP 2016122327A JP 2016122327 A JP2016122327 A JP 2016122327A JP 6702015 B2 JP6702015 B2 JP 6702015B2
Authority
JP
Japan
Prior art keywords
information
parameter
flow
component
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
JP2016122327A
Other languages
Japanese (ja)
Other versions
JP2017228013A (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 JP2016122327A priority Critical patent/JP6702015B2/en
Publication of JP2017228013A publication Critical patent/JP2017228013A/en
Application granted granted Critical
Publication of JP6702015B2 publication Critical patent/JP6702015B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。   The present invention relates to an information processing system, an information processing device, and an information processing method.

近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば、ユーザにより指定された電子データを外部のストレージに保管する外部サービス等が知られている。   In recent years, various external services have come to be provided by cloud computing and the like. For example, an external service or the like is known in which electronic data designated by a user is stored in an external storage.

また、予め定義された事務フローモデルに基づき、各種処理を実行するコンポーネントを制御するための事務フローを生成する技術が知られている(例えば特許文献1参照)。このような技術では、生成された事務フローによりコンポーネントが組み合わされて、事務処理を実現する一連の処理が実行される。   Further, there is known a technique of generating a business flow for controlling a component that executes various processes based on a pre-defined business flow model (for example, see Patent Document 1). In such a technique, components are combined by the generated work flow, and a series of processes for realizing the work process is executed.

しかしながら、上記の従来技術では、一連の処理において、1以上の処理の繰り返し(反復)が含まれる場合には、当該一連の処理を実行することができない場合があった。例えば、あるコンポーネントの処理結果に応じて、当該1以上の処理の繰り返し回数が動的に異なるようにすることはできなかった。   However, in the above-mentioned conventional technique, if one or more processes are repeated (repeated) in a series of processes, the series of processes may not be able to be executed. For example, it was not possible to dynamically change the number of times of repeating the one or more processes depending on the processing result of a certain component.

本発明の実施の形態は、上記の点に鑑みてなされたもので、反復が含まれる一連の処理を実行することを目的とする。   The embodiment of the present invention has been made in view of the above points, and has an object to execute a series of processes including repetition.

上記目的を達成するため、本発明の実施の形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、フロー識別情報とを受信する受信手段と、前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて前記記憶手段に記憶されているフロー情報を取得する取得手段と、前記取得手段により取得された前記フロー情報に定義されている第1のプログラム識別情報により識別される第1のプログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記フロー情報に定義されている第1のパラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、前記実行手段は、繰り返し実行させる他の一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第2のプログラム識別情報と、該第2のプログラム識別情報により識別される第2のプログラムそれぞれの実行に用いられる第2のパラメータと、前記第2のプログラムの実行順とが前記第1のパラメータに含まれる場合であって、前記第2のパラメータに、該第2のパラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のプログラムそれぞれを、前記実行順に従って、前記置換後の第2のパラメータを用いて繰り返し実行する。   In order to achieve the above object, an embodiment of the present invention is an information processing system including one or more information processing devices and having a plurality of programs that respectively execute predetermined processes, and a series of electronic data is used. For each process, program identification information that identifies one or more programs that execute each process of the series of processes, parameters used to execute each of the one or more programs, and an execution order of the one or more programs Storage means for storing the flow information in which is defined in association with the flow identification information for identifying the flow information; and one of the one or more devices connected to the information processing system, which relates to electronic data. A reception unit that receives information and flow identification information; and a flow stored in the storage unit in association with the flow identification information received by the reception unit, of the flow information stored in the storage unit. The execution unit defined in the flow information includes the acquisition unit configured to acquire information and the first program identified by the first program identification information defined in the flow information acquired by the acquisition unit. Execution of executing the series of processes using electronic data based on the information about the electronic data received by the receiving unit by executing the first parameter defined in the flow information in order. And a second program identification information for identifying one or more programs for executing respective processes of another series of processes to be repeatedly executed, and the second program identification information. When the second parameter used for execution of each of the second programs identified by and the execution order of the second program are included in the first parameter, the second parameter includes: When a replacement specification for replacing a parameter value included in the second parameter with another data value is included, the parameter value included in the second parameter is replaced with the other data value, and Each of the second programs is repeatedly executed in the execution order using the second parameter after the replacement.

本発明の実施の形態によれば、反復が含まれる一連の処理を実行することができる。   According to the embodiment of the present invention, it is possible to execute a series of processing including repetition.

本実施形態に係る情報処理システムの一例のシステム構成を示す図である。It is a figure which shows the system configuration of an example of the information processing system which concerns on this embodiment. 本実施形態に係るサービス提供システムの一例のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of an example of the service provision system which concerns on this embodiment. 本実施形態に係る機器の一例のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of an example of the apparatus which concerns on this embodiment. 本実施形態に係る情報処理システムの一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the information processing system which concerns on this embodiment. 共通I/F及び固有I/Fの一例を説明するための図である。It is a figure for explaining an example of common I/F and peculiar I/F. 本実施形態に係るロジック処理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the logic processing part which concerns on this embodiment. 型変換情報テーブルの一例を示す図である。It is a figure which shows an example of a type conversion information table. 処理フロー情報の一例を示す図である。It is a figure which shows an example of process flow information. 「OCR配信」サービスを実現する処理フローの一例を説明するための図である。It is a figure for explaining an example of a processing flow which realizes an "OCR delivery" service. 本実施形態に係るサービス利用の全体処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the whole process of service utilization which concerns on this embodiment. サービス一覧画面からサービス画面への画面遷移の一例を示す図である。It is a figure which shows an example of the screen transition from a service list screen to a service screen. 本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the parent flow which concerns on this embodiment. 本実施形態に係るリスト取得コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram showing an example of execution processing of a list acquisition component concerning this embodiment. リスト取得コンポーネントの処理結果が保存されたリソース管理情報の一例を示す図である。It is a figure which shows an example of the resource management information in which the process result of the list acquisition component was preserve|saved. 本実施形態に係るメール配信コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the mail delivery component which concerns on this embodiment. 本実施形態に係る反復コンポーネントの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the repetition component which concerns on this embodiment. 子フローの処理結果が保存されたリソース管理情報の一例を示す図である。It is a figure which shows an example of the resource management information in which the processing result of a child flow was preserve|saved. 本実施形態に係る子フローの実行処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the execution process of the child flow which concerns on this embodiment. 「OCR配信」サービスを実現する処理フローの他の例を説明するための図である。It is a figure for demonstrating the other example of the processing flow which implement|achieves an "OCR delivery" service. 処理フロー情報の他の例を示す図(その1)である。It is a figure (the 1) which shows the other example of processing flow information. 本実施形態に係る反復コンポーネントの実行処理の他の例を示すシーケンス図(その1)である。It is a sequence diagram (the 1) which shows the other example of the execution process of the repetitive component which concerns on this embodiment. 処理フロー情報の他の例を示す図(その2)である。It is a figure (2) which shows the other example of process flow information. 本実施形態に係る反復コンポーネントの実行処理の他の例を示すシーケンス図(その2)である。It is a sequence diagram (the 2) which shows the other example of the execution processing of the repetitive component concerning this embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
<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 an 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を介して、クラウドサービス等の外部サービスと連携した各種のサービスを提供する。本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。   The service providing system 10 is realized by one or more information processing devices, and provides various services in cooperation with external services such as cloud services via the network N1. Specific examples of services provided by the service providing system 10 according to the present embodiment will be described later.

なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ASP(Application Service Provider)によって提供されるサービスやWebサービス等のネットワークを介して提供される各種の外部サービスに関して適用されても良い。   In the present embodiment, a cloud service will be described as a specific example of the external service, but the present invention is not limited to this. The present embodiment may be applied to various external services provided via a network such as services provided by ASP (Application Service Provider) and Web services, for example.

機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。   The device 20 is various electronic devices used by a user. That is, the device 20 is, for example, an image forming apparatus such as an MFP (Multifunction Peripheral), a PC (personal computer), a projector, an electronic blackboard, or a digital camera. The user can use various services provided by the service providing system 10 by using the device 20.

なお、以降では、複数の機器20について、各々を区別するときは、「機器20」、「機器20」等と添え字を用いて記載する。 In addition, hereinafter, when distinguishing each of the plurality of devices 20, they are described with subscripts such as “device 20 1 ”and “device 20 2 ”.

外部ストレージシステム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 the network N1. The storage service is a service for lending a storage area of the storage of the external storage system 30.

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

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

また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。   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 perform at least one of input and output of 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 illustrated in FIG. 2 includes an input device 11, a display device 12, an external I/F 13, and a RAM (Random Access Memory) 14. The service providing system 10 also 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. The respective pieces of hardware are connected by a bus B.

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

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

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) that is basic software that controls the entire service providing system 10 and application software that provides various functions on the OS.

なお、サービス提供システム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 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 that can retain 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) executed when the service providing system 10 is started, OS settings, and network settings. 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 device that realizes control and functions of the entire service providing system 10 by reading programs and data from a storage device such as the ROM 15 and the HDD 18 onto the RAM 14 and executing processing.

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

次に、本実施形態に係る情報処理システム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 illustrated 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. The controller 21 also includes 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 device that realizes control and functions of the entire device 20 by reading programs, data, setting information and the like from the ROM 33, NVRAM 34, HDD 35 and the like 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 that receives an input from the user and a display unit that displays. The external I/F 23 is an interface with an external device. The external device includes a recording medium 23a and the like. Accordingly, the device 20 can read and/or write the recording medium 23a via the external I/F 23. The recording medium 23a may be, for example, an IC card, a flexible disk, a CD, a DVD, an SD memory card, a USB memory or the like.

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

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

<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。
<Services provided by the service providing system>
Here, the services provided by the service providing system 10 according to the present embodiment will be described.

本実施形態に係るサービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルをOCR(Optical Character Recognition)処理して、メール配信するサービスを提供する。   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 (Optical Character Recognition) processing on the acquired electronic files based on the list to deliver the mail. Provide the service to do.

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

ただし、サービス提供システム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 (for example, adds or deletes predetermined information) the electronic files acquired based on the list. , You may provide the service of delivering mail.

また、例えば、サービス提供システム10は、外部ストレージシステム30における電子ファイルの格納先リストを取得した上で、当該リストに基づいて取得した電子ファイルを圧縮して、メール配信するサービスを提供しても良い。   In addition, 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 electronic files acquired based on the list, and delivering a mail. good.

<機能構成>
次に、本実施形態に係る情報処理システム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, the 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 only needs to include the browser 210.

図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、外部サービス連携部140とを有する。これら各部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。   The service providing system 10 illustrated in FIG. 4 includes 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 units is realized by a process that causes 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 illustrated in FIG. 4 includes 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 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 relating to services provided by the service providing system 10. Here, the input/output service processing unit 110 has 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により提供されるサービスを実現する一連の処理(以降では、一連の処理を「処理フロー」とも表す。)が定義された情報である。   The application management unit 111 also returns the process flow information 1100 included in the application information 1000 in response to a request from the logic processing unit 112. The process 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 “process flow”) is defined.

ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ管理部111から処理フロー情報1100を取得する。そして、ロジック処理部112は、取得した処理フロー情報1100に基づいて、サービスを実現する処理フローを実行する。これにより、本実施形態に係る情報処理システム1では、サービス提供システム10により各種のサービスが提供される。なお、ロジック処理部112の詳細については後述する。   The logic processing unit 112 acquires the process 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 this embodiment, the service providing system 10 provides various services. 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 obtain a file list indicating a list of storage destinations of electronic files (that is, a storage destination list of electronic files).

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 the request from the browser 210. The screen information 2000 is information defining 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が提供するサービスを選択するためのサービス一覧画面や、サービスを利用するためのサービス画面等が表示される。   Accordingly, on the operation panel 22 of the device 20, the browser 210 displays a service list screen for selecting a service provided by the service providing system 10, a service screen for using the service, and the like.

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

ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる処理を実行する。ここで、ドキュメントサービス部130は、メール配信部131と、OCR処理部132とを有する。   The document service unit 130 executes a process included in a series of processes (process flow) based on the process flow information 1100. Here, the document service unit 130 has a mail delivery 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 specified mail address. The OCR processing unit 132 performs OCR processing on the electronic file.

なお、ドキュメントサービス部130は、例えば、電子ファイルのデータ形式を所定のデータに変換するデータ変換部、電子ファイルを圧縮又は解凍する圧縮・解凍部等を有していても良い。   The document service unit 130 may include, 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, for each external storage system 30, an external service cooperation unit 140 corresponding to the external storage system 30. That is, the service providing system 10 according to the present embodiment includes an external service coordinating unit 140 1 for making various requests to the external storage system 30 1 and an external service coordinating unit for making various requests to the external storage system 30 2. 140 2 etc.

このように、本実施形態に係るサービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム30毎に、それぞれ対応する外部サービス連携部140を有する。なお、以降では、複数の外部サービス連携部140について、各々を区別するときは、上記のように、「外部サービス連携部140」、「外部サービス連携部140」等と添え字を用いて記載する。 As described above, the service providing system 10 according to the present embodiment has the external service cooperation unit 140 corresponding to each external storage system 30 that performs processing in cooperation with the service providing system 10. In addition, hereinafter, 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. Enter.

ここで、外部サービス連携部140は、ロジック処理部112からの要求を受信するファイル処理部141と、データI/F部113からの要求を受信するデータ処理部142とを有する。   Here, the external service cooperation unit 140 includes 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 includes 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, storage, editing, etc.) on an electronic file stored in the external storage system 30 is defined. /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 by a plurality of external storage systems 30, and examples thereof include the API shown in FIG. That is, the common I/F 1411 of the file processing unit 141 is an API group for using functions related to file operations that can be used by all the external storage systems 30 (for example, acquisition and storage of electronic files).

一方、固有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 a specific external storage system 30, and examples thereof include the API shown in FIG. 5B. That is, the unique I/F 1412 of the file processing unit 141 is an API group for using a function related to file operation that can be used in a specific external storage system 30 (for example, editing an electronic file).

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

また、データ処理部142は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧やフォルダ一覧等)を取得等するためのAPIが定義された共通I/F1421及び固有I/F1422を有する。   In addition, the data processing unit 142 has a common I/O that defines an API for acquiring metadata such as bibliographic information of electronic files stored in the external storage system 30 (for example, a file list and a folder list). It has an F1421 and a 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 by a plurality of external storage systems 30, and examples thereof include the API shown in FIG. 5C. That is, the common I/F 1421 of the data processing unit 142 is an API group for using functions such as acquisition of metadata (for example, acquisition of file list and folder list) that can be used in all 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 a specific external storage system 30, and examples thereof include the API shown in FIG. That is, the unique I/F 1422 of the data processing unit 142 is an API group for using functions (for example, acquisition of a list of image files) such as metadata acquisition that can be used in a 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 the external service cooperation units 140. On the other hand, the unique I/F 1422 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/F 1422 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 that is the cooperation destination of the service providing system 10 is added or deleted (hereinafter referred to as “addition, etc.”), the external service cooperation unit corresponding to this external storage system 30. 140 may be added.

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

このため、本実施形態に係るサービス提供システム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 that is the cooperation destination of the service providing system 10 is added. The external service cooperation unit 140 can be added by using an SDK (Software Development Kit).

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

したがって、本実施形態に係るサービス提供システム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 adding the external storage system 30 that is the cooperation destination of the service providing system 10, the common I/F 1411 included in another external service cooperation unit 140 is re-created. Can be used. In other words, when adding the external storage system 30 as the cooperation destination, only the unique I/F 1412 needs to be developed. As a result, in the service providing system 10 according to the present embodiment, it is possible to further reduce the development man-hour when adding the external storage system 30 that is the cooperation destination. The same applies to the common I/F 1421 and the unique I/F 1422.

アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000(アプリケーション)を一意に識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。   The application information storage unit 150 stores 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配信」サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理(処理フロー)が定義された処理フロー情報1100が含まれる。なお、アプリ情報1000には、2以上の処理フロー情報1100が含まれていても良い。   Here, the application information 1000 includes process flow information 1100. For example, the application information 1000 that provides the “OCR delivery” service includes processing flow information 1100 that defines a series of processing (processing flow) that realizes the service. The application information 1000 may include two or more pieces of processing flow information 1100.

処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。   As described above, the processing flow information 1100 is information defining a series of processing (processing flow) for realizing the service provided by the application information 1000. 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 the screen information 2000. The screen information 2000 is information defining the screen displayed on the browser 210, as described above. 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 resource management information 170D that manages the processing result of each processing included in a 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, a 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と、パラメータ置換部307とを有する。また、ロジック処理部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, a resource management unit 306, and a parameter replacement unit 307. Have and. Further, the logic processing unit 112 has a type conversion information table 3000.

フロー実行部301は、Webサービス処理部120を介して、ブラウザ210から処理実行要求を受信すると、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。   When receiving the process execution request from the browser 210 via the Web service processing unit 120, the flow execution unit 301 acquires the process 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 processes (process flow) based on the acquired process 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. The 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 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. It should be noted 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, the 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 distribution component 403, a file acquisition component 404, and an OCR component 405.

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

このとき、反復コンポーネント401は、当該反復コンポーネント401に対するパラメータ情報に置換指定が含まれるか否かを判定する。そして、反復コンポーネント401は、パラメータ情報に置換指定が含まれると判定した場合、パラメータ情報の置換をパラメータ置換部307に要求する。なお、置換指定とは、パラメータ情報に含まれるパラメータ値を、例えば、他のコンポーネントの処理結果等を示すリソースに置換するための指定である。   At this time, the iterative component 401 determines whether the replacement information is included in the parameter information for the iterative component 401. Then, when iterative component 401 determines that the replacement designation is included in the parameter information, it requests the parameter replacement unit 307 to replace the parameter information. The replacement designation is a designation for replacing the parameter value included in the parameter information with, for example, a resource indicating the processing result of another component.

リスト取得コンポーネント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 a 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 components, the component group 303 includes various components such as a compression component for compressing an electronic file and a component for converting the data format of the 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 the processing of the component.

このように、各コンポーネントがコンポーネント共通I/F400を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。   As described above, since each component has the component common I/F 400, it is possible to localize the effect of adding a component or the like. That is, for example, it is possible to add components 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 addition of a predetermined function or the like (that is, addition of a component for executing processing for realizing the function).

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

型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、例えば図7に示す型変換情報テーブル3000を参照して、型変換群305に含まれる型変換を生成する。   The type conversion management unit 304 manages the type conversion of data types. 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 a request from the component.

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

なお、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、及び電子ファイルの実体を示す「File」等が挙げられる。   The data type is, for example, a data type “InputStream” indicating stream data, “LocalFilePath” indicating a path (address) of an electronic file stored in a storage device, and “File” indicating the substance of the electronic file. Etc.

ここで、型変換情報テーブル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 illustrated in FIG. 7 has, as data items, a data type before conversion, a data type after conversion, and a type conversion to be generated. That is, the type conversion information stored in the type conversion information table 3000 is for converting 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. This is the information associated with the 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” into “LocalFilePath”. The type conversion group 305 includes, for example, a second type conversion for converting the data type “LocalFilePath” into “File” in addition to this.

また、型変換群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/F 500 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 type conversion common I/F 500, it is possible to localize the influence caused by the addition of the type conversion. That is, for example, type conversion can be added without affecting the type conversion management unit 304 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 type conversion.

リソース管理部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 a request from each component.

パラメータ置換部307は、各コンポーネントに対するパラメータ情報を置換する。すなわち、パラメータ置換部307は、反復コンポーネント401からの要求に応じて、パラメータ情報に含まれるパラメータ値を、当該パラメータ値として定義されている置換指定に対応するリソースに置換する。   The parameter replacement unit 307 replaces the parameter information for each component. That is, the parameter replacement unit 307 replaces the parameter value included in the parameter information with the resource corresponding to the replacement designation defined as the parameter value in response to the request from the iterative component 401.

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

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

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

フロー詳細1102には、処理フローに含まれる各処理をそれぞれ定義した処理定義1111〜1113が含まれる。各処理定義1111〜1113には、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」と、当該コンポーネントに対するパラメータ情報が定義される「"parameters"」とが含まれる。   The flow details 1102 include process definitions 1111 to 1113 that define each process included in the process flow. Each of the process definitions 1111 to 1113 includes ""component"" indicating the component name of the component for executing the process, and ""parameters"" defining the parameter information for the component.

具体的には、処理定義1111の「"component"」には、リスト取得コンポーネント402のコンポーネント名「"getFileList"」が定義されている。また、「"parameters"」には、リスト取得コンポーネント402に対するパラメータ情報として、パラメータ名「"storage"」と、パラメータ値「null」とが定義されておいる。なお、パラメータ名「"storage"」のパラメータ情報には、電子ファイルの格納先リストを取得する外部ストレージシステム30の識別情報がパラメータ値として定義される。   Specifically, the component name ““getFileList”” of the list acquisition component 402 is defined in ““component”” of the process definition 1111. Further, in ““parameters””, a parameter name ““storage”” and a parameter value “null” are defined as parameter information for the list acquisition component 402. In the parameter information of the parameter name ""storage"", the identification information of the external storage system 30 that acquires the storage destination list of the electronic file is defined as the parameter value.

同様に、処理定義1113の「"component"」には、メール配信コンポーネント403のコンポーネント名「"sendMail"」が定義されている。また、「"parameters"」には、メール配信コンポーネント403に対するパラメータ情報として、パラメータ名「"to"」と、パラメータ値「null」とが定義されている。なお、パラメータ名「"to"」のパラメータ情報には、メールの配信先となるメールアドレスがパラメータ値として定義される。   Similarly, the component name ““sendMail”” of the mail delivery component 403 is defined in ““component”” of the process definition 1113. Further, in ““parameters””, a parameter name ““to”” and a parameter value “null” are defined as parameter information for the mail delivery component 403. In the parameter information of the parameter name ""to"", a mail address to which the mail is delivered is defined as a parameter value.

同様に、処理定義1112の「"component"」には、反復コンポーネント401のコンポーネント名「"iterate"」が定義されている。また、「"parameters"」には、反復コンポーネント401に対するパラメータ情報1121〜パラメータ情報1123が定義されている。   Similarly, the component name ““iterate”” of the repeating component 401 is defined in ““component”” of the process definition 1112. Further, in ““parameters””, parameter information 1121 to parameter information 1123 for the repeating component 401 is defined.

ここで、パラメータ情報1121は、パラメータ名「"flowid"」のパラメータ情報であり、パラメータ値として、反復コンポーネント401が繰り返し実行させる他の処理フローのフローIDが定義される。   Here, the parameter information 1121 is the parameter information of the parameter name ““flowid””, and the flow ID of another processing flow to be repeatedly executed by the iterative component 401 is defined as the parameter value.

また、パラメータ情報1122は、パラメータ名「"flowDetails"」のパラメータ情報であり、パラメータ値として、当該他の処理フローのフロー詳細が定義される。すなわち、パラメータ情報1122のパラメータ値には、当該他の処理フローに含まれる各処理をそれぞれ定義した処理定義1131及び処理定義1132が定義されている。   Further, the parameter information 1122 is the parameter information of the parameter name ““flowDetails””, and the flow details of the other processing flow are defined as the parameter value. That is, in the parameter value of the parameter information 1122, a process definition 1131 and a process definition 1132 that define each process included in the other process flow are defined.

さらに、パラメータ情報1123は、パラメータ名「"numberOfIterations"」のパラメータ情報であり、パラメータ値として、当該他の処理フローを繰り返し実行させる回数(反復回数)が定義される。   Further, the parameter information 1123 is the parameter information of the parameter name ““numberOfIterations””, and the number of times (the number of times of repetition) to repeatedly execute the other processing flow is defined as the parameter value.

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

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

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

図9に示すように、「OCR配信」サービスを実現する処理フローでは、まず、リスト取得コンポーネント402により、外部ストレージシステム30に格納されている電子ファイルの格納先リストが取得される。   As shown in FIG. 9, in the processing flow for realizing the “OCR delivery” service, first, the list acquisition component 402 acquires the storage destination list of the 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 acquisition (download) and the OCR processing of the electronic file are 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 process by mail.

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

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

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

ユーザ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 a service list screen acquisition request to the Web service processing unit 120 of the service providing system 10 (step S1002).

Webサービス処理部120は、サービス一覧画面の取得要求を受信すると、当該サービス一覧画面の画面情報2000を画面情報記憶部160から取得する(ステップS1003)。そして、Webサービス処理部120は、サービス一覧画面の画面情報2000をブラウザ210に返信する。   Upon receiving the service list screen acquisition request, 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, for each service, the application ID of the application information 1000 that provides the service and the flow ID of the process flow information 1100 included in the application information 1000.

機器20のブラウザ210は、サービス一覧画面の画面情報2000を受信すると、当該画面情報2000に基づいて、例えば図11(a)に示すサービス一覧画面4100を操作パネル22に表示させる(ステップS1004)。   Upon receiving the screen information 2000 of the service list screen, the browser 210 of the device 20 displays the service list screen 4100 shown in FIG. 11A 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から、所望のサービスを選択する操作を行う(ステップS1005)。ここで、以降では、サービス一覧画面4100のサービス名一覧4101から「OCR配信」が選択されたものとして説明する。   Next, the user U performs an operation of selecting a desired service from the service name list 4101 on the service list screen 4100 (step S1005). Here, in the following description, it is assumed that “OCR delivery” is selected from the service name list 4101 on the service list screen 4100.

機器20のブラウザ210は、サービスの選択操作を受け付けると、サービス画面の取得要求をWebサービス処理部120に送信する(ステップS1006)。なお、当該取得要求には、ユーザUにより選択された「OCR配信」サービスを提供するアプリ情報1000のアプリIDが含まれる。   Upon accepting the service selection operation, the browser 210 of the device 20 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 delivery” service selected by the user U.

Webサービス処理部120は、サービス画面の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて画面情報記憶部160に記憶されている画面情報2000(サービス画面の画面情報2000)を取得する(ステップS1007)。そして、Webサービス処理部120は、取得した画面情報2000をブラウザ210に返信する。   Upon receiving the service screen acquisition request, the Web service processing unit 120 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. Yes (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)。   Upon receiving the screen information 2000 of the service screen, the browser 210 of the device 20 displays the service screen 4200 shown in FIG. 11B on the operation panel 22 based on the screen information 2000 (step S1008).

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

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

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

ここで、以降では、ユーザUにより、ストレージ指定欄4201に「ストレージA」が指定されると共に、メールアドレス指定欄4202にメールアドレス「hoge@fuga.com」が指定された上で、実行ボタン4203が押下されたものとして説明する。   Here, hereinafter, the user U designates “storage A” in the storage designation column 4201 and designates the email address “hoge@fuga.com” in the email address designation column 4202, and then executes button 4203. It is assumed that is pressed.

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

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

Webサービス処理部120は、処理フローの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1011)。   Upon receiving the processing flow execution request, the Web service processing unit 120 sends 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 process flow execution request, a series of processes (that is, a parent flow) based on the process 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 processes to the browser 210 of the device 20 via the Web service processing unit 120.

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

ここで、上記のステップS1012の処理フローの実行処理(親フローの実行処理)の詳細について、図12を参照しながら説明する。図12は、本実施形態に係る親フローの実行処理の一例を示すシーケンス図である。   Details of the processing flow execution processing (parent flow execution processing) in step S1012 will be described with reference to FIG. FIG. 12 is a sequence diagram showing an example of parent flow execution processing according to the present embodiment.

フロー実行部301は、処理フローの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS1201)。なお、当該取得要求には、Webサービス処理部120から受信した処理フローの実行要求に含まれるアプリIDと、フローIDとが含まれる。   Upon receiving the process flow execution request, the flow execution unit 301 transmits a process flow information acquisition request to the application management unit 111 (step S1201). The acquisition request includes the application ID and the flow ID included in the processing flow execution request received from the Web service processing unit 120.

アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるアプリID及びフローIDに対応する処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS1202)。そして、アプリ管理部111は、取得した処理フロー情報1100をフロー実行部301に返信する。これにより、フロー実行部301には、図8に示す処理フロー情報1100が返信される。   Upon receiving the process flow information acquisition request, the application management unit 111 acquires the process 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)。   Upon receiving 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"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。   That is, the flow execution unit 301 issues an acquisition request for the component with the component name ““getFileList”” defined in ““component”” included in the process definition 1111 of the process flow information 1100 illustrated in FIG. Send to.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"getFileList"」のコンポーネント(すなわち、リスト取得コンポーネント402)を生成する(ステップS1204)。なお、リスト取得コンポーネント402の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the component acquisition request, the component management unit 302 generates a component with the component name ""getFileList"" (that is, the list acquisition component 402) (step S1204). The list acquisition component 402 can be generated 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, the 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 sends a 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 input information (that is, storage service name “storage A”) received from the browser 210 as a data type “InputStream”. That is, the flow execution unit 301 uses the storage service name included in the input information passed as the data type “InputStream” from the browser 210 as the “data” (without being aware of the data type), and sends it to the list acquisition component 402. Pass to request execution of processing. In the present embodiment, various types of information (for example, input information, electronic files, etc.) that are not aware 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 process definition 1111 of the process flow information 1100 illustrated in FIG. 8.

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

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

型変換管理部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 designated 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, identifies the first type conversion 501 for converting “InputStream” into “LocalFilePath”, and identifies the specified first type conversion. 501 is generated (step S1303). The generation of the first type conversion 501 can be performed using the API defined in the type conversion common I/F 500.

次に、型変換管理部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 the type conversion, the list acquisition component 402 executes the process using the parameter information (step S1306). That is, the list acquisition component 402 executes the list acquisition process by specifying "storage A" included in the data as the parameter value of the parameter name ""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) /Data/files" to obtain the file list. As a result, the list acquisition component 402 acquires the storage destination list of the electronic file 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 indicating the result of the process of the list acquisition component 402 (that is, a storage destination list of electronic files).

リソース管理部306は、処理結果の保存要求を受信すると、当該保存要求に含まれるデータに基づいて、リソース管理情報記憶部170に記憶されているリソース管理情報170Dに処理結果を保存する(ステップS1308)。そして、リソース管理部306は、保存結果をリスト取得コンポーネント402に返信する。   Upon receiving 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 storage result to the list acquisition component 402.

ここで、リソース管理情報170Dに保存されたリスト取得コンポーネント402の処理結果について、図14を参照しながら説明する。図14は、リソース管理情報の一例を示す図である。   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.

図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 resource management information 170D stores a processing result 171 of the list acquisition component 402. That is, in the processing result 171, ““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, "Number of storage URLs" and ""size"" are included. In other words, the processing result 171 includes the arrays ""url[0]"" to ""url[N-1]" in which the storage URLs of the electronic files are stored, respectively, and the number ""size of the arrays. "" is included.

このように、リソース管理情報170Dには、一連の処理に含まれる各処理を実行するためのコンポーネントの処理結果が保存される。   In this way, the resource management information 170D stores the processing result of the component for executing each processing included in the series of processing.

図12に戻る。フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1207)。   Returning to FIG. When receiving 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"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。   That is, the flow execution unit 301 issues an acquisition request for the component having the component name ““iterate”” defined in the ““component”” included in the process definition 1112 of the process flow information 1100 illustrated in FIG. Send to.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"iterate"」のコンポーネント(すなわち、反復コンポーネント401)を生成する(ステップS1208)。なお、反復コンポーネント401の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the component acquisition request, the component management unit 302 generates a component with the component name ""iterate"" (that is, the iterative component 401) (step S1208). Note that the iterative component 401 can be generated 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, the RAM 14) in which the repeated component 401 is expanded to the flow execution unit 301.

次に、フロー実行部301は、コンポーネント実行要求を反復コンポーネント401に送信する(ステップS1209)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。   Next, the flow execution unit 301 transmits a 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 parameter information 1121 to the parameter information 1123 defined in ““parameters”” included in the process definition 1112 of the process flow information 1100 illustrated in FIG. 8.

反復コンポーネント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 data indicating the processing result of the execution processing 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, the electronic files are respectively acquired by the execution processing of the iterative component 401 based on ""url[0]"" to ""url[N-1]" indicating the storage destination URL of the electronic file. , OCR processing is performed.

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

フロー実行部301は、コンポーネントの実行処理の処理結果を示すデータを受信すると、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1211)。   Upon receiving 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"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。   That is, the flow execution unit 301 issues an acquisition request for the component with the component name ““sendMail”” defined in ““component”” included in the process definition 1113 of the process flow information 1100 illustrated in FIG. Send to.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"sendMail"」のコンポーネント(すなわち、メール配信コンポーネント403)を生成する(ステップS1212)。なお、メール配信コンポーネント403の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the component acquisition request, the component management unit 302 generates a component with the component name ""sendMail"" (that is, the mail delivery component 403) (step S1212). The mail delivery component 403 can be generated 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, the 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 sends a 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 mail address “hoge@fuga.com” included in the input information.

また、パラメータ情報は、図8に示す処理フロー情報1100の処理定義1113に含まれる「"parameters"」に定義されている「"to":null」である。   The parameter information is ““to”:null” defined in ““parameters”” included in the process definition 1113 of the process flow information 1100 illustrated in FIG. 8.

メール配信コンポーネント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 data indicating the processing result of the execution processing 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 this embodiment.

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

型変換管理部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 that the data types match in the data type check, the type conversion management unit 304 does not generate the type conversion.

メール配信コンポーネント403は、データを受信すると、パラメータ情報を用いて処理を実行する(ステップS1503)。すなわち、メール配信コンポーネント403は、まず、パラメータ情報に含まれるパラメータ名「"to"」のパラメータ値に、データに含まれるメールアドレス「hoge@fuga.com」を指定する。そして、メール配信コンポーネント403は、データに含まれる電子ファイルを添付したメールを作成した上で、指定されたメールアドレス宛にメールを送信する。なお、メール配信コンポーネント403は、ドキュメントサービス部130のメール配信部131により、メールの作成及び送信処理を実行する。   Upon receiving 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 as the parameter value of the parameter name ““to”” included in the parameter information. Then, the mail delivery component 403 creates a mail to which the electronic file included in the data is attached, and then sends the mail to the specified 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は、本実施形態に係る反復コンポーネントの実行処理の一例を示すシーケンス図である。   Here, the execution process of the iterative component 401 in step S1210 described above will be described with reference to FIG. FIG. 16 is a sequence diagram showing an example of the execution process of the repetitive component according to this embodiment.

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

型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1602)。   Upon receiving the type conversion request, the type conversion management unit 304 checks whether 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 that the data types match in the data type check, the type conversion management unit 304 does not generate the type conversion.

反復コンポーネント401は、データを受信すると、子フローを実行させた回数(実行済回数)を示す変数「index」を「0」に設定する(ステップS1603)。なお、変数「index」は、例えば、予約語として、反復コンポーネント401に定義されている。   Upon receiving the data, the iterative component 401 sets a variable “index” indicating the number of times the child flow has been executed (execution count) to “0” (step S1603). The variable “index” is defined in the iterative component 401 as a reserved word, for example.

次に、反復コンポーネント401は、パラメータ情報1123を評価する(ステップS1604)。すなわち、反復コンポーネント401は、パラメータ情報1123に置換指定が含まれるか否かを判定する。換言すれば、反復コンポーネント401は、他の処理フローの反復回数を示すパラメータ名(すなわち、「"numberOfIterations"」)のパラメータ値に置換指定が定義されているか否かを判定する。   Next, the iterative component 401 evaluates the parameter information 1123 (step S1604). That is, the iterative component 401 determines whether the parameter information 1123 includes a replacement designation. In other words, the iterative component 401 determines whether the replacement designation is defined in the parameter value of the parameter name (that is, ““numberOfIterations””) indicating the number of iterations of another processing flow.

ここで、パラメータ情報1123には、パラメータ名「"numberOfIterations"」のパラメータ値に置換指定「"#{result.getFileList.size}"」が定義されている。したがって、本実施形態では、反復コンポーネント401は、パラメータ情報1123に置換指定が含まれると判定する。   Here, in the parameter information 1123, replacement designation ““#{result.getFileList.size}”” is defined for the parameter value of the parameter name ““numberOfIterations””. Therefore, in this embodiment, the iterative component 401 determines that the parameter information 1123 includes a replacement designation.

ステップS1604において、パラメータ情報1123に置換指定が含まれると判定された場合、反復コンポーネント401は、パラメータ情報の置換要求をパラメータ置換部307に送信する(ステップS1605)。なお、当該置換要求には、パラメータ情報1123(すなわち、「"numberOfIterations":"#{result.getFileList.size}"」)が含まれる。   When it is determined in step S1604 that the parameter information 1123 includes the replacement designation, the iterative component 401 transmits a parameter information replacement request to the parameter replacement unit 307 (step S1605). The replacement request includes the parameter information 1123 (that is, ""numberOfIterations":"#{result.getFileList.size}"").

次に、パラメータ置換部307は、パラメータ情報の置換要求を受信すると、リソースの取得要求をリソース管理部306に送信する(ステップS1606)。なお、当該取得要求には、置換指定「"#{result.getFileList.size}"」が含まれる。   Next, upon receiving the parameter information replacement request, the parameter replacement unit 307 transmits a resource acquisition request to the resource management unit 306 (step S1606). The acquisition request includes the replacement designation ““#{result.getFileList.size}””.

リソース管理部306は、リソースの取得要求を受信すると、当該取得要求に含まれる置換指定に対応するリソースを、リソース管理情報記憶部170に記憶されているリソース管理情報170Dから取得する(ステップS1607)。そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。   Upon receiving the resource acquisition request, the resource management unit 306 acquires the resource corresponding to the replacement designation included in the acquisition request from the resource management information 170D stored in the resource management information storage unit 170 (step S1607). . Then, the resource management unit 306 returns the acquired resource to the parameter replacement unit 307.

すなわち、リソース管理部306は、図14に示すリソース管理情報170Dに保存されている処理結果171に含まれる「"size"」に対応するリソース(すなわち、「"N"」)を取得する。そして、リソース管理部306は、リソース「"N"」をパラメータ置換部307に返信する。   That is, the resource management unit 306 acquires the resource (that is, ““N””) corresponding to ““size”” included in the processing result 171 stored in the resource management information 170D illustrated in FIG. Then, the resource management unit 306 returns the resource ““N”” to the parameter replacement unit 307.

次に、パラメータ置換部307は、リソース管理部306からリソースが返信されると、パラメータ情報1123に含まれるパラメータ値に定義されている置換指定を、当該リソースで置換する(ステップS1608)。   Next, when the resource is returned from the resource management unit 306, the parameter replacement unit 307 replaces the replacement designation defined in the parameter value included in the parameter information 1123 with the resource (step S1608).

すなわち、パラメータ置換部307は、パラメータ情報1123の置換指定「"#{result.getFileList.size}"」を、リソース「"N"」で置換する。そして、パラメータ置換部307は、置換後のパラメータ情報1123(すなわち、パラメータ情報「"numberOfIterations":"N"」)を反復コンポーネント401に返信する。   That is, the parameter replacement unit 307 replaces the replacement designation ““#{result.getFileList.size}”” of the parameter information 1123 with the resource ““N””. Then, the parameter replacing unit 307 returns the replaced parameter information 1123 (that is, the parameter information ““numberOfIterations”: “N””) to the repeating component 401.

ここで、反復コンポーネント401は、実行済回数を示す変数「index」の値が、パラメータ名「"numberOfIterations"」のパラメータ値より小さい間、以降のステップS1609〜ステップS1618の処理を実行する。本実施形態では、上述したように、パラメータ名「"numberOfIterations"」のパラメータ値は、パラメータ置換部307により置換された結果、「"N"」である。したがって、本実施形態では、反復コンポーネント401は、変数「index」の値が、「"N"」より小さい間、以降のステップS1609〜ステップS1618の処理を実行する。   Here, while the value of the variable “index” indicating the number of executions is smaller than the parameter value of the parameter name ““numberOfIterations””, the iterative component 401 executes the processes of the following steps S1609 to S1618. In the present embodiment, as described above, the parameter value of the parameter name ““numberOfIterations”” is ““N”” as a result of being replaced by the parameter replacing unit 307. Therefore, in the present embodiment, the iterative component 401 executes the processes of subsequent steps S1609 to S1618 while the value of the variable “index” is smaller than “N”.

反復コンポーネント401は、パラメータ情報1122を評価する(ステップS1609)。すなわち、反復コンポーネント401は、パラメータ情報1122に置換指定が含まれるか否かを判定する。換言すれば、反復コンポーネント401は、子フローのフロー詳細を示すパラメータ情報1122に置換指定が含まれるか否かを判定する。   The iterative component 401 evaluates the parameter information 1122 (step S1609). That is, the iterative component 401 determines whether or not the parameter information 1122 includes a replacement designation. In other words, the iterative component 401 determines whether or not the replacement information is included in the parameter information 1122 indicating the flow details of the child flow.

ここで、パラメータ情報1122には、パラメータ名「"location"」のパラメータ情報に、置換指定「"#{result.getFileList.url[index]}"」がパラメータ値として定義されている。したがって、本実施形態では、反復コンポーネント401は、パラメータ情報1122に置換指定が含まれると判定する。   Here, in the parameter information 1122, the replacement designation ““#{result.getFileList.url[index]}”” is defined as a parameter value in the parameter information of the parameter name ““location””. Therefore, in this embodiment, the iterative component 401 determines that the parameter information 1122 includes a replacement designation.

ステップS1609において、パラメータ情報1122に置換指定が含まれると判定された場合、反復コンポーネント401は、パラメータ情報の置換要求をパラメータ置換部307に送信する(ステップS1610)。なお、当該置換要求には、置換指定が含まれるパラメータ情報「"location":"#{result.getFileList.url[index]}"」が含まれる。   When it is determined in step S1609 that the parameter information 1122 includes the replacement designation, the iterative component 401 transmits a parameter information replacement request to the parameter replacement unit 307 (step S1610). The replacement request includes the parameter information ""location":"#{result.getFileList.url[index]}"" including the replacement designation.

次に、パラメータ置換部307は、パラメータ情報の置換要求を受信すると、リソースの取得要求をリソース管理部306に送信する(ステップS1611)。なお、当該取得要求には、置換指定「"#{result.getFileList.url[index]}"」が含まれる。   Next, upon receiving the parameter information replacement request, the parameter replacement unit 307 transmits a resource acquisition request to the resource management unit 306 (step S1611). The acquisition request includes the replacement designation ““#{result.getFileList.url[index]}””.

リソース管理部306は、リソースの取得要求を受信すると、当該取得要求に含まれる置換指定に対応するリソースを、リソース管理情報記憶部170に記憶されているリソース管理情報170Dから取得する(ステップS1612)。そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。   Upon receiving the resource acquisition request, the resource management unit 306 acquires the resource corresponding to the replacement designation included in the acquisition request from the resource management information 170D stored in the resource management information storage unit 170 (step S1612). .. Then, the resource management unit 306 returns the acquired resource to the parameter replacement unit 307.

すなわち、リソース管理部306は、図14に示すリソース管理情報170Dに保存されている処理結果171に含まれる「"url[0]"」〜「"url[N−1]"」のうち、変数「index」の値に対応するリソースを取得する。例えば、変数「index」の値が「1」である場合、リソース管理部306は、「"url[1]"」に対応するリソース(すなわち、「"http://service_a.com/user1/file1.jpg"」)を取得する。同様に、例えば、変数「index」の値が「2」である場合、リソース管理部306は、「"url[2]"」に対応するリソース(すなわち、「"http://service_a.com/user1/file2.jpg"」)を取得する。   That is, the resource management unit 306 sets a variable among ““url[0]” to ““url[N−1]”” included in the processing result 171 stored in the resource management information 170D illustrated in FIG. Obtain the resource corresponding to the value of "index". For example, when the value of the variable “index” is “1”, the resource management unit 306 determines that the resource corresponding to ““url[1]”” (that is, ““http://service_a.com/user1/file1”). .jpg""). Similarly, for example, when the value of the variable “index” is “2”, the resource management unit 306 determines that the resource corresponding to ““url[2]”” (that is, ““http://service_a.com/”). user1/file2.jpg"").

そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。   Then, the resource management unit 306 returns the acquired resource to the parameter replacement unit 307.

次に、パラメータ置換部307は、リソース管理部306からリソースが返信されると、パラメータ情報に含まれるパラメータ値に定義されている置換指定を、当該リソースで置換する(ステップS1613)。   Next, when the resource is returned from the resource management unit 306, the parameter replacement unit 307 replaces the replacement designation defined in the parameter value included in the parameter information with the resource (step S1613).

すなわち、パラメータ置換部307は、例えば、変数「index」の値が「1」である場合、パラメータ情報「"location":"#{result.getFileList.url[index]}"」に含まれる置換指定を、リソース「"http://service_a.com/user1/file1.jpg"」で置換する。同様に、パラメータ置換部307は、例えば、変数「index」の値が「2」である場合、パラメータ情報「"location":"#{result.getFileList.url[index]}"」に含まれる置換指定を、リソース「"http://service_a.com/user1/file2.jpg"」で置換する。   That is, for example, when the value of the variable "index" is "1", the parameter replacement unit 307 specifies the replacement included in the parameter information ""location":"#{result.getFileList.url[index]}"". Is replaced with the resource ""http://service_a.com/user1/file1.jpg"". Similarly, for example, when the value of the variable “index” is “2”, the parameter replacement unit 307 includes the replacement included in the parameter information ““location”:“#{result.getFileList.url[index]}””. Replace the designation with the resource ""http://service_a.com/user1/file2.jpg"".

そして、パラメータ置換部307は、置換後のパラメータ情報を反復コンポーネント401に返信する。   Then, the parameter replacing unit 307 returns the replaced parameter information to the iterative component 401.

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

ここで、置換後のパラメータ情報1122は、パラメータ置換部307により置換指定が置換された後のパラメータ情報1122である。ただし、上記のステップS1609において、パラメータ情報1122に置換指定が含まれないと判定された場合、反復コンポーネント401は、当該パラメータ情報122を、処理フローの実行要求に含めれば良い。   Here, the replaced parameter information 1122 is the parameter information 1122 after the replacement designation is replaced by the parameter replacement unit 307. However, when it is determined in step S1609 described above that the parameter information 1122 does not include the replacement designation, the iterative component 401 may include the parameter information 122 in the process flow execution request.

このように、反復コンポーネント401は、子フローのフロー詳細を示すパラメータ情報に含まれるパラメータ値に置換指定が定義されている場合には、当該置換指定に対応するリソースに置換した上で、置換後のパラメータ情報をフロー実行部301に送信する。   As described above, when the replacement designation is defined in the parameter value included in the parameter information indicating the flow details of the child flow, the iterative component 401 substitutes the resource corresponding to the replacement designation and then performs the replacement. The parameter information of is transmitted to the flow execution unit 301.

次に、フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれるパラメータ情報1122により示されるフロー詳細に基づく一連の処理(すなわち、子フロー)を実行する(ステップS1615)。そして、フロー実行部301は、当該一連の処理の処理結果を示すデータを反復コンポーネント401に返信する。   Next, upon receiving the process flow execution request, the flow execution unit 301 executes a series of processes (that is, child flows) based on the flow details indicated by the parameter information 1122 included in the execution request (step S1615). .. Then, the flow execution unit 301 returns data indicating the processing result of the series of processings to the iterative component 401.

次に、反復コンポーネント401は、一連の処理(子フロー)の処理結果を示すデータをフロー実行部301から受信すると、処理結果の保存要求をリソース管理部306に送信する(ステップS1616)。なお、当該保存要求には、一連の処理結果を示すデータが含まれる。   Next, when the iterative component 401 receives data indicating the processing result of a series of processing (child flows) from the flow execution unit 301, it transmits a processing result storage request to the resource management unit 306 (step S1616). The save request includes data indicating a series of processing results.

リソース管理部306は、処理結果の保存要求を受信すると、当該保存要求に含まれるデータに基づいて、リソース管理情報記憶部170に記憶されているリソース管理情報170Dに処理結果を保存する(ステップS1617)。そして、リソース管理部306は、保存結果を反復コンポーネント401に返信する。   Upon receiving 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 S1617). ). Then, the resource management unit 306 returns the storage result to the iterative component 401.

ここで、リソース管理情報170Dに保存された子フローの処理結果について、図17を参照しながら説明する。図17は、子フローの処理結果が保存されたリソース管理情報の一例を示す図である。   Here, the processing result of the child flow stored in the resource management information 170D will be described with reference to FIG. FIG. 17 is a diagram showing an example of the resource management information in which the processing result of the child flow is stored.

図17に示すように、リソース管理情報170Dには、子フローの処理結果172が保存されている。すなわち、処理結果172には、1回目(変数「index」の値が「0」のとき)に実行された子フローの処理結果を示す「"self[0]"」が含まれる。同様に、2回目(変数「index」の値が「1」のとき)の子フローが実行された場合、処理結果172には、2回目に実行された子フローの処理結果を示す「"self[1]"」が含まれる。以降も同様に、N回目(変数「index」の値が「N−1」のとき)の子フローが実行された場合、処理結果172には、2回目に実行された子フローの処理結果を示す「"self[N−1]"」が含まれる。   As shown in FIG. 17, the processing result 172 of the child flow is stored in the resource management information 170D. That is, the processing result 172 includes ““self[0]”” indicating the processing result of the child flow executed the first time (when the value of the variable “index” is “0”). Similarly, when the child flow of the second time (when the value of the variable "index" is "1") is executed, the processing result 172 shows ""self indicating the processing result of the child flow executed the second time. [1]"" is included. Similarly thereafter, when the Nth child flow (when the value of the variable "index" is "N-1") is executed, the processing result 172 includes the processing result of the second child flow. ""Self[N-1]"" shown is included.

このように、処理結果172には、反復実行された子フローの処理結果が格納される配列「"self"」が含まれる。したがって、本実施形態に係るサービス提供システム10は、例えば、「"self"」を用いてパラメータ情報を定義することで、各コンポーネントは、子フローの処理結果を用いた処理を実行することができるようになる。   As described above, the processing result 172 includes the array ““self”” in which the processing result of the iteratively executed child flow is stored. Therefore, in the service providing system 10 according to the present embodiment, each component can execute the process using the process result of the child flow by defining the parameter information using ““self””, for example. Like

図16に戻る。反復コンポーネント401は、子フローの処理結果を示すデータをフロー実行部301から受信すると、実行済回数を示す変数「index」の値に「1」を加算する(ステップS1618)。   Returning to FIG. Upon receiving the data indicating the processing result of the child flow from the flow execution unit 301, the iterative component 401 adds “1” to the value of the variable “index” indicating the number of executions (step S1618).

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

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

フロー実行部301は、処理フローの実行要求を受信すると、当該実行要求に含まれる置換後のパラメータ情報1122に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS1801)。   Upon receiving the processing flow execution request, the flow execution unit 301 transmits a component acquisition request based on the replaced parameter information 1122 included in the execution request to the component management unit 302 (step S1801).

すなわち、フロー実行部301は、置換後のパラメータ情報1122の処理定義1131に含まれる「"component"」に定義されているコンポーネント名「"getFile"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。   That is, the flow execution unit 301 transmits to the component management unit 302 a request to acquire the component with the component name ““getFile”” defined in the ““component”” included in the process definition 1131 of the replaced parameter information 1122. To do.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"getFile"」のコンポーネント(すなわち、ファイル取得コンポーネント404)を生成する(ステップS1802)。なお、ファイル取得コンポーネント404の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the component acquisition request, the component management unit 302 generates a component with the component name ""getFile"" (that is, the file acquisition component 404) (step S1802). The file acquisition component 404 can be generated using an API for generating a 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, the RAM 14) in which the file acquisition component 404 is expanded to the flow execution unit 301.

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

ここで、パラメータ情報は、置換後のパラメータ情報1122の処理定義1131に含まれる「"parameters"」に定義されているパラメータ名「"location"」のパラメータ情報である。   Here, the parameter information is the parameter information of the parameter name “location” defined in the “parameters” included in the process definition 1131 of the replaced parameter information 1122.

すなわち、例えば、変数「index」の値が「0」である場合、当該パラメータ情報は、「"location":"http://service_a.com/user1/file1.jpg"」である。同様に、例えば、変数「index」の値が「1」である場合、当該パラメータ情報は、「"location":"http://service_a.com/user1/file2.jpg"」である。同様に、例えば、変数「index」の値が「N−1」である場合、当該パラメータ情報は、「"location":"http://service_a.com/ user1/fileN−1.jpg"」である。   That is, for example, when the value of the variable “index” is “0”, the parameter information is ““location”:“http://service_a.com/user1/file1.jpg””. Similarly, for example, when the value of the variable "index" is "1", the parameter information is ""location":"http://service_a.com/user1/file2.jpg". Similarly, for example, when the value of the variable "index" is "N-1", the parameter information is ""location":"http://service_a.com/user1/fileN-1.jpg"". is there.

ファイル取得コンポーネント404は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1804)。すなわち、ファイル取得コンポーネント404は、当該実行要求に含まれるパラメータ情報のパラメータ値により示される格納先URLから電子ファイルを取得(ダウンロード)する。   Upon receiving the component execution request, the file acquisition component 404 executes the component execution process (step S1804). That is, the file acquisition component 404 acquires (downloads) the electronic file from the storage destination URL indicated by the parameter value of the parameter information included in the execution request.

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

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

すなわち、フロー実行部301は、置換後のパラメータ情報1122の処理定義1132に含まれる「"component"」に定義されているコンポーネント名「"ocr"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。   That is, the flow execution unit 301 sends to the component management unit 302 a request for acquisition of the component with the component name ““ocr”” defined in ““component”” included in the process definition 1132 of the post-replacement parameter information 1122. To do.

コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"ocr"」のコンポーネント(すなわち、OCRコンポーネント405)を生成する(ステップS1806)。なお、OCRコンポーネント405の生成は、コンポーネント共通I/F400に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the component acquisition request, the component management unit 302 generates the component with the component name ““ocr”” (that is, the OCR component 405) (step S1806). Note that the OCR component 405 can be generated 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, the RAM 14) in which the OCR component 405 is expanded to the flow execution unit 301.

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

ここで、パラメータ情報は、置換後のパラメータ情報1122の処理定義1132に含まれる「"parameters"」に定義されているパラメータ名「"language"」のパラメータ情報(すなわち、「"language": "English"」)である。   Here, the parameter information is the parameter information of the parameter name ""language"" defined in ""parameters"" included in the processing definition 1132 of the replaced parameter information 1122 (that is, ""language":"English"). "").

OCRコンポーネント405は、コンポーネント実行要求を受信すると、コンポーネントの実行処理を行う(ステップS1808)。すなわち、OCRコンポーネント405は、パラメータ情報を用いて、データに含まれる電子ファイルにOCR処理を行う。なお、OCRコンポーネント405は、ドキュメントサービス部130のOCR処理部132により、電子ファイルにOCR処理を実行する。   Upon receiving the component execution request, the OCR component 405 executes the component execution process (step S1808). That is, the OCR component 405 uses the parameter information to perform the OCR process on the electronic file included in the data. The OCR component 405 executes the 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 data indicating the processing result of the execution processing to the flow execution unit 301. The data returned here includes the electronic file after the OCR process.

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

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

また、本実施形態に係るサービス提供システム10は、子フローが用いるパラメータ情報のパラメータ値を、処理フローに含まれる処理の処理結果等を示すリソースに置換することで、当該処理結果に応じて、子フローの処理内容を動的に制御することができる。   Further, the service providing system 10 according to the present exemplary embodiment replaces the parameter value of the parameter information used by the child flow with the resource indicating the processing result of the processing included in the processing flow, and the like, according to the processing result. The processing contents of the child flow can be dynamically controlled.

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

図19に示す処理フローは、反復コンポーネント401により子フローを実行させる毎に、異なるパラメータ情報を用いるものである。すなわち、図19に示す処理フローでは、反復コンポーネント401は、1回目に子フローを実行させるときには、「パラメータ情報1」を用いる一方、2回目に子フローを実行させるときには、「パラメータ情報2」を用いる。   The processing flow shown in FIG. 19 uses different parameter information every time the iterative component 401 executes a child flow. That is, in the processing flow shown in FIG. 19, 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. To use.

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

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

図20に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、パラメータリスト1124が定義されている。また、パラメータリスト1124には、実行済回数(変数「index」の値)が「0」であるときに用いるパラメータ情報1125と、実行済回数(変数「index」の値)が「1」であるときに用いるパラメータ情報1126とが定義されている。   As shown in FIG. 20, a parameter list 1124 is defined in ““parameters”” included in the process definition 1112 of the iterative component 401. Further, in the parameter list 1124, the parameter information 1125 used when the executed count (the value of the variable “index”) is “0” and the executed count (the value of the variable “index”) is “1”. Parameter information 1126 used at this time is defined.

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

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

なお、図20に示す処理フロー情報1100には、処理定義1112に子フローに用いるデータを指定するパラメータ情報1127が定義されている。パラメータ情報1127のパラメータ値が「"true"」である場合には、図16に示す反復コンポーネントの実行処理で説明したように、反復コンポーネント401は、リスト取得コンポーネント402の実行処理の処理結果を示すデータを用いて、子フローを実行させる。   In the process flow information 1100 shown in FIG. 20, the process definition 1112 defines the parameter information 1127 that specifies the data used for the child flow. When the parameter value of the parameter information 1127 is ““true””, the iterative component 401 indicates the processing result of the execution processing of the list acquisition component 402 as described in the iterative component execution processing shown in FIG. Run the child flow using the data.

一方、パラメータ情報1127のパラメータ値が「"false"」である場合には、反復コンポーネント401は、実行済回数が1以上のときに、1つ前に実行された子フローの実行処理の処理結果を示すデータを用いて、次の子フローを実行させる。すなわち、この場合、子フローは、データとして、「"self[index−1]"」により示される処理結果を用いて処理を実行する。   On the other hand, when the parameter value of the parameter information 1127 is ""false"", the iterative component 401, when the number of executed times is 1 or more, the processing result of the execution processing of the child flow executed immediately before. The next child flow is executed by using the data indicating. That is, in this case, the child flow executes the processing by using the processing result indicated by ""self[index-1]"" as the data.

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

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

ステップS1602に続いて、反復コンポーネント401は、パラメータリスト1124に含まれるパラメータ情報1125及びパラメータ情報1126を評価する(ステップS2101)。すなわち、反復コンポーネント401は、パラメータ情報1125及びパラメータ情報1126の少なくとも一方に置換指定が含まれるか否かを判定する。   Following step S1602, the iterative component 401 evaluates the parameter information 1125 and the parameter information 1126 included in the parameter list 1124 (step S2101). That is, the iterative component 401 determines whether at least one of the parameter information 1125 and the parameter information 1126 includes a replacement designation.

ここで、パラメータ情報1125には、パラメータ名「"location"」のパラメータ情報に、置換指定「"#{result.getFileList.url[0]}"」がパラメータ値として定義されている。同様に、パラメータ情報1126には、パラメータ名「"location"」のパラメータ情報に、置換指定「"#{result.getFileList.url[1]}"」がパラメータ値として定義されている。したがって、本実施形態では、反復コンポーネント401は、パラメータ情報1125及びパラメータ情報1126に置換指定が含まれると判定する。   Here, in the parameter information 1125, the replacement designation ““#{result.getFileList.url[0]}”” is defined as the parameter value in the parameter information of the parameter name ““location””. Similarly, in the parameter information 1126, the replacement designation ““#{result.getFileList.url[1]}”” is defined as the parameter value in the parameter information of the parameter name “location”. Therefore, in this embodiment, the iterative component 401 determines that the parameter information 1125 and the parameter information 1126 include the replacement designation.

ステップS2102において、パラメータ情報1125及びパラメータ情報1126の少なくとも一方に置換指定が含まれると判定された場合、反復コンポーネント401は、パラメータ情報の置換要求をパラメータ置換部307に送信する(ステップS2102)。なお、当該置換要求には、置換指定が含まれるパラメータ情報「"location":"#{result.getFileList.url[0]}"」及び「"location":"#{result.getFileList.url[1]}"」が含まれる。   When it is determined in step S2102 that at least one of the parameter information 1125 and the parameter information 1126 includes a replacement designation, the iterative component 401 transmits a parameter information replacement request to the parameter replacement unit 307 (step S2102). Note that the replacement request includes parameter information ““location”:”#{result. getFileList. url[0]}"" and ""location":"#{result. getFileList. url[1]}"" is included.

次に、パラメータ置換部307は、パラメータ情報の置換要求を受信すると、リソースの取得要求をリソース管理部306に送信する(ステップS2103)。なお、当該取得要求には、置換指定「"#{result.getFileList.url[0]}"」及び「"#{result.getFileList.url[1]}"」が含まれる。   Next, upon receiving the parameter information replacement request, the parameter replacement unit 307 transmits a resource acquisition request to the resource management unit 306 (step S2103). In addition, in the acquisition request, the replacement designation ""#{result. getFileList. url[0]}"" and ""#{result. getFileList. url[1]}"" is included.

リソース管理部306は、リソースの取得要求を受信すると、当該取得要求に含まれる置換指定に対応するリソースを、リソース管理情報記憶部170に記憶されているリソース管理情報170Dから取得する(ステップS2104)。そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。   Upon receiving the resource acquisition request, the resource management unit 306 acquires the resource corresponding to the replacement designation included in the acquisition request from the resource management information 170D stored in the resource management information storage unit 170 (step S2104). .. Then, the resource management unit 306 returns the acquired resource to the parameter replacement unit 307.

すなわち、リソース管理部306は、図14に示すリソース管理情報170Dに保存されている処理結果171に含まれる「"url[0]"」〜「"url[N−1]"」のうち、「url[0]」及び「url[1]」のリソースを取得する。そして、リソース管理部306は、取得したリソースをパラメータ置換部307に返信する。   That is, the resource management unit 306 determines that “of the “url[0]” to ““url[N−1]”” included in the processing result 171 stored in the resource management information 170D illustrated in FIG. Acquire the resources of "url[0]" and "url[1]". Then, the resource management unit 306 returns the acquired resource to the parameter replacement unit 307.

次に、パラメータ置換部307は、リソース管理部306からリソースが返信されると、パラメータ情報に含まれるパラメータ値に定義されている置換指定を、当該リソースで置換する(ステップS2105)。   Next, when the resource is returned from the resource management unit 306, the parameter replacement unit 307 replaces the replacement designation defined in the parameter value included in the parameter information with the resource (step S2105).

すなわち、パラメータ置換部307は、置換指定「"#{result.getFileList.url[0]}"」をリソース「"http://service_a.com/user1/file1.jpg"」で置換する。同様に、パラメータ置換部307は、置換指定「"#{result.getFileList.url[1]}"」をリソース「"http://service_a.com/user1/file2.jpg"」で置換する。   That is, the parameter substitution unit 307 determines that the substitution designation ““#{result. getFileList. url[0]}"" with the resource ""http://service_a.com/user1/file1.jpg"". Similarly, the parameter replacement unit 307 determines that the replacement designation ““#{result. getFileList. url[1]}"" with the resource ""http://service_a.com/user1/file2.jpg"".

そして、パラメータ置換部307は、置換後のパラメータ情報を反復コンポーネント401に返信する。   Then, the parameter replacing unit 307 returns the replaced parameter information to the iterative component 401.

次に、反復コンポーネント401は、処理フローの実行要求をフロー実行部301に送信する(ステップS2106)。なお、当該実行要求には、パラメータ情報1121のパラメータ値として定義されたフローIDと、データと、パラメータ情報1とが含まれる。   Next, the iterative component 401 transmits a process flow execution request to the flow execution unit 301 (step S2106). The execution request includes a flow ID defined as a parameter value of the parameter information 1121, data, and parameter information 1.

ここで、パラメータ情報1は、パラメータ置換部307より返信された置換後のパラメータ情報1125である。   Here, the parameter information 1 is the replaced parameter information 1125 returned from the parameter replacement unit 307.

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

また、反復コンポーネント401は、1回目の処理フロー(子フロー)の実行処理の処理結果を示すデータを受信すると、2回目の処理フロー(子フロー)の実行要求をフロー実行部301に送信する(ステップS2106)。なお、当該実行要求には、パラメータ情報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 S2106). The execution request includes the flow ID defined as the parameter value of the parameter information 1121, the data, and the parameter information 2.

ここで、パラメータ情報1は、パラメータ置換部307より返信された置換後のパラメータ情報1126である。   Here, the parameter information 1 is the replaced parameter information 1126 returned from the parameter replacement unit 307.

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

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

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

図22に示すように、反復コンポーネント401の処理定義1112に含まれる「"parameters"」には、次の子フローの実行をスキップさせる否かを判定するためのパラメータ情報1128が定義されている。パラメータ情報1128には、次の子フローを実行させるための「"(条件式)"」(例えば、論理式)が定義されている。   As shown in FIG. 22, ““parameters”” included in the process definition 1112 of the iterative component 401 defines parameter information 1128 for determining whether to skip execution of the next child flow. In the parameter information 1128, ""(conditional expression)"" (for example, logical expression) for executing the next child flow is defined.

これにより、反復コンポーネント401は、「"(条件式)"」を満たす場合に次の子フローを実行させる一方で、「"(条件式)"」を満たさない場合には次の子フローの実行をスキップさせることができる。   Thereby, 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に定義された「"(条件式)"」を満たす場合に、子フローの繰り返し実行を中止させることができる。   In the parameter information 1128, for example, ""breakCondition": "(conditional expression)"" indicating whether or not to repeat execution of the child flow may be defined. In this case, a conditional expression for stopping the repeated execution of the child flow is defined in "" (conditional expression)". Thereby, the iterative component 401 can stop the repetitive execution of the child flow when ““(conditional expression)”” defined in the parameter information 1128 is satisfied.

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

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

ステップS2301において、「"(条件式)"」を満たすと判定した場合、反復コンポーネント401は、ステップS1609〜ステップS1617の処理を実行させる。   When it is determined in step S2301 that ““(conditional expression)”” is satisfied, the iterative component 401 causes the processes of steps S1609 to S1617 to be executed.

一方で、ステップS2301において、「"(条件式)"」を満たさないと判定した場合、反復コンポーネント401は、ステップS609〜ステップS1617の処理を実行させない。すなわち、反復コンポーネント401は、子フローを実行させずに、実行済回数を示す変数「index」に「1」を加算する。   On the other hand, when it is determined in step S2301 that ““(conditional expression)”” is not satisfied, the iterative component 401 does not execute the processes of steps S609 to S1617. That is, the iterative component 401 adds "1" to the variable "index" that indicates the number of times execution has been performed, without executing the child flow.

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

以上のように、本実施形態に係るサービス提供システム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 a service.

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

さらに、本実施形態に係るサービス提供システム10は、子フローが用いるパラメータ情報のパラメータ値を、処理フローに含まれる処理の処理結果等を示すリソースに置換することで、当該処理結果に応じて、子フローの処理内容を動的に制御することができる。   Furthermore, the service providing system 10 according to the present exemplary embodiment replaces the parameter value of the parameter information used by the child flow with a resource indicating the processing result of the processing included in the processing flow, and the like, according to the processing result. The processing contents of the child flow can be dynamically controlled.

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

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the above specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

1 情報処理システム
10 サービス提供システム
20 機器
30 外部ストレージシステム
110 入出力サービス処理部
111 アプリ管理部
112 ロジック処理部
113 データI/F部
120 Webサービス処理部
130 ドキュメントサービス部
131 メール配信部
132 OCR処理部
140 外部サービス連携部
141 ファイル処理部
142 データ処理部
150 アプリ情報記憶部
160 画面情報記憶部
170 リソース管理情報記憶部
210 ブラウザ
301 フロー実行部
302 コンポーネント管理部
303 コンポーネント群
304 型変換管理部
305 型変換群
306 リソース管理部
307 パラメータ置換部
1000 アプリ情報
1100 処理フロー情報
2000 画面情報
3000 型変換情報テーブル
1 Information Processing System 10 Service Providing System 20 Equipment 30 External Storage System 110 Input/Output Service Processing Section 111 Application Management Section 112 Logic Processing Section 113 Data I/F Section 120 Web Service Processing Section 130 Document Service Section 131 Mail Delivery Section 132 OCR Processing Part 140 External service cooperation part 141 File processing part 142 Data processing part 150 Application information storage part 160 Screen information storage part 170 Resource management information storage part 210 Browser 301 Flow execution part 302 Component management part 303 Component group 304 Type conversion management part 305 type Conversion group 306 Resource management unit 307 Parameter replacement unit 1000 Application information 1100 Processing flow information 2000 Screen information 3000 Type conversion information table

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

Claims (10)

1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、フロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて前記記憶手段に記憶されているフロー情報を取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている第1のプログラム識別情報により識別される第1のプログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記フロー情報に定義されている第1のパラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
前記実行手段は、
繰り返し実行させる他の一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第2のプログラム識別情報と、該第2のプログラム識別情報により識別される第2のプログラムそれぞれの実行に用いられる第2のパラメータと、前記第2のプログラムの実行順とが前記第1のパラメータに含まれる場合であって、前記第2のパラメータに、該第2のパラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のプログラムそれぞれを、前記実行順に従って、前記置換後の第2のパラメータを用いて繰り返し実行する、情報処理システム。
An information processing system including a plurality of programs, each of which includes one or more information processing devices and executes a predetermined process,
For each series of processes using electronic data, program identification information for identifying one or more programs for executing each process of the series of processes, parameters used for executing each of the one or more programs, and 1 Storage means for storing the flow information in which the execution order of the program is defined in association with the flow identification information for identifying the flow information;
Receiving means for receiving information about electronic data and 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 unit, an acquisition unit that acquires the flow information stored in the storage unit in association with the flow identification information received by the reception unit,
Each of the first programs identified by the first program identification information defined in the flow information acquired by the acquisition means is defined in the flow information according to the execution order defined in the flow information. The execution means for executing the series of processes using the electronic data based on the information regarding the electronic data received by the receiving means, by executing using the first parameter that is set,
The execution means is
Second program identification information for identifying one or more programs for executing respective processes of other series of processes to be repeatedly executed, and execution of each of the second programs identified by the second program identification information. In the case where the second parameter used and the execution order of the second program are included in the first parameter, the second parameter may include the parameter value included in the second parameter. When the replacement specification for replacing the data value of the second program is included, the parameter value included in the second parameter is replaced with the other data value, and each of the second programs is executed according to the execution order. An information processing system, which is repeatedly executed using the second parameter after the replacement.
前記実行手段は、
前記他の一連の処理を繰り返し実行させる処理に係る前記所定の処理を実行する反復プログラムを識別するプログラム識別情報が前記第1のパラメータに定義されている場合、前記反復プログラムが、前記第2のパラメータに前記置換指定が含まれるか否かを判定する、請求項1に記載の情報処理システム。
The execution means is
When program identification information for identifying an iterative program that executes the predetermined process related to the process of repeatedly executing the other series of processes is defined in the first parameter, the iterative program is set to the second parameter. The information processing system according to claim 1, wherein it is determined whether a parameter includes the replacement designation.
前記他の一連の処理の繰り返し実行が終了すると、前記フロー情報に定義されている前記プログラム識別情報により識別される前記第1のプログラムのうち、未実行の第1のプログラムそれぞれを前記実行順に従って、前記第1のパラメータを用いて実行させることで、前記一連の処理に含まれる前記繰り返し実行させる処理の次の処理以降の処理を実行する、請求項2に記載の情報処理システム。   When the repeated execution of the other series of processing is completed, among the first programs identified by the program identification information defined in the flow information, the unexecuted first programs are respectively executed according to the execution order. The information processing system according to claim 2, wherein the processing subsequent to the processing to be repeatedly executed included in the series of processing is executed by executing the processing using the first parameter. 前記実行手段により実行された前記プログラムの処理結果を示すデータ値を記憶する結果記憶手段と、
前記第2のパラメータに前記置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を、前記置換指定に応じて、前記記憶手段に記憶されている前記データ値に置換する置換手段と、を有し、
前記実行手段は、
繰り返し実行させる他の一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第2のプログラム識別情報と、該第2のプログラム識別情報により識別される第2のプログラムそれぞれの実行に用いられる第2のパラメータと、前記第2のプログラムの実行順とが前記第1のパラメータに含まれる場合であって、前記第2のパラメータに前記置換指定が含まれる場合、前記置換手段により前記パラメータ値を前記他のデータ値に置換して、前記第2のプログラムそれぞれを、前記実行順に従って、前記置換後の第2のパラメータを用いて繰り返し実行する、請求項1乃至3の何れか一項に記載の情報処理システム。
Result storage means for storing a data value indicating a processing result of the program executed by the execution means;
When the second parameter includes the replacement designation, a replacement unit that replaces the parameter value included in the second parameter with the data value stored in the storage unit according to the replacement designation. And have
The execution means is
Second program identification information for identifying one or more programs for executing respective processes of other series of processes to be repeatedly executed, and execution of each second program identified by the second program identification information. In the case where the second parameter used and the execution order of the second program are included in the first parameter, and the second parameter includes the replacement designation, the replacement means sets the 4. The parameter value is replaced with the other data value, and each of the second programs is repeatedly executed according to the execution order using the second parameter after the replacement. The information processing system described in the item.
前記置換指定は、前記結果記憶手段における前記データ値の保存先を示す保存先情報が指定された情報であり、
前記置換手段は、
前記第2のパラメータに前記置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を、前記結果記憶手段に記憶されている前記データ値のうち、前記置換指定が指定する前記保存先情報により示されるデータ値に置換する、請求項4に記載の情報処理システム。
The replacement designation is information in which storage destination information indicating a storage destination of the data value in the result storage means is designated,
The replacement means is
When the replacement specification is included in the second parameter, the saving in which the replacement specification specifies the parameter value included in the second parameter among the data values stored in the result storage unit. The information processing system according to claim 4, wherein the information value is replaced with a data value indicated by the destination information.
前記実行手段は、
電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記電子データのデータ型を、前記型変換手段により前記プログラムが処理可能なデータ型に変換した後、前記プログラムに処理を実行させることにより、前記電子データを用いた前記一連の処理を実行する、請求項1乃至5の何れか一項に記載の情報処理システム。
The execution means is
The electronic data has one or more type conversion means for converting the data type of the electronic data into a predetermined data type,
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, by causing the program to execute processing, the series of processing using the electronic data is executed, The information processing system according to any one of claims 1 to 5.
前記プログラムには、外部サービス毎に、外部サービスに関する処理を実行する外部サービスプログラムを含み、
前記外部サービスプログラムは、
外部サービスに格納されている電子データの格納先アドレスを取得する処理を実行するプログラムを少なくとも含む、請求項1乃至6の何れか1項に記載の情報処理システム。
The program includes an external service program that executes a process related to the external service for each external service,
The external service program is
The information processing system according to any one of claims 1 to 6, further comprising at least a program that executes a process of acquiring a storage destination address of electronic data stored in an external service.
前記実行順は、前記フロー情報において前記プログラム識別情報が定義されている順である、請求項1乃至7の何れか1項に記載の情報処理システム。   The information processing system according to any one of claims 1 to 7, wherein the execution order is an order in which the program identification information is defined in the flow information. 所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から、電子データに関する情報と、フロー識別情報とを受信する受信手段と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手段により受信された前記フロー識別情報と関連付けて前記記憶手段に記憶されているフロー情報を取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている第1のプログラム識別情報により識別される第1のプログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記フロー情報に定義されている第1のパラメータを用いて実行させることで、前記受信手段により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手段と、を有し、
前記実行手段は、
繰り返し実行させる他の一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第2のプログラム識別情報と、該第2のプログラム識別情報により識別される第2のプログラムそれぞれの実行に用いられる第2のパラメータと、前記第2のプログラムの実行順とが前記第1のパラメータに含まれる場合であって、前記第2のパラメータに、該第2のパラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のプログラムそれぞれを、前記実行順に従って、前記置換後の第2のパラメータを用いて繰り返し実行する、情報処理装置。
An information processing apparatus having a plurality of programs that respectively execute predetermined processes,
For each series of processes using electronic data, program identification information for identifying one or more programs for executing each process of the series of processes, parameters used for executing each of the one or more programs, and 1 Storage means for storing the flow information in which the execution order of the program is defined in association with the flow identification information for identifying the flow information;
Receiving means for receiving information about electronic data and flow identification information from one of the one or more devices connected to the information processing device,
Of the flow information stored in the storage unit, an acquisition unit that acquires the flow information stored in the storage unit in association with the flow identification information received by the reception unit,
Each of the first programs identified by the first program identification information defined in the flow information acquired by the acquisition means is defined in the flow information according to the execution order defined in the flow information. The execution means for executing the series of processes using the electronic data based on the information regarding the electronic data received by the receiving means, by executing using the first parameter that is set,
The execution means is
Second program identification information for identifying one or more programs for executing respective processes of other series of processes to be repeatedly executed, and execution of each of the second programs identified by the second program identification information. In the case where the second parameter used and the execution order of the second program are included in the first parameter, the second parameter may include the parameter value included in the second parameter. When the replacement specification for replacing the data value of the second program is included, the parameter value included in the second parameter is replaced with the other data value, and each of the second programs is executed according to the execution order. An information processing apparatus that repeatedly executes using the second parameter after the replacement.
1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムそれぞれの実行に用いられるパラメータと、1以上の前記プログラムの実行順とが定義されたフロー情報を、該フロー情報を識別するフロー識別情報と関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法であって、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、電子データに関する情報と、フロー識別情報とを受信する受信手順と、
前記記憶手段に記憶されているフロー情報のうち、前記受信手順により受信された前記フロー識別情報と関連付けて前記記憶手段に記憶されているフロー情報を取得する取得手順と、
前記取得手順により取得された前記フロー情報に定義されている第1のプログラム識別情報により識別される第1のプログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記フロー情報に定義されている第1のパラメータを用いて実行させることで、前記受信手順により受信された前記電子データに関する情報に基づく電子データを用いた前記一連の処理を実行する実行手順と、を有し、
前記実行手順は、
繰り返し実行させる他の一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別する第2のプログラム識別情報と、該第2のプログラム識別情報により識別される第2のプログラムそれぞれの実行に用いられる第2のパラメータと、前記第2のプログラムの実行順とが前記第1のパラメータに含まれる場合であって、前記第2のパラメータに、該第2のパラメータに含まれるパラメータ値を他のデータ値に置換するための置換指定が含まれる場合、前記第2のパラメータに含まれる前記パラメータ値を前記他のデータ値に置換して、前記第2のプログラムそれぞれを、前記実行順に従って、前記置換後の第2のパラメータを用いて繰り返し実行する、情報処理方法。
An information processing system including a plurality of programs each including one or more information processing devices, each of which executes a predetermined process, and executes each process of the series of processes for each series of processes using electronic data. The flow information defining the program identification information that identifies one or more programs, the parameters used to execute each of the one or more programs, and the execution order of the one or more programs is identified. An information processing method used in an information processing system having a storage unit for storing the flow identification information in association with the flow identification information,
A reception procedure for receiving information about electronic data and 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 of acquiring the flow information stored in the storage means in association with the flow identification information received by the reception procedure,
Each of the first programs identified by the first program identification information defined in the flow information acquired by the acquisition procedure is defined in the flow information according to the execution order defined in the flow information. By executing using the first parameter is performed, the 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 execution procedure is
Second program identification information for identifying one or more programs for executing respective processes of other series of processes to be repeatedly executed, and execution of each second program identified by the second program identification information. In the case where the second parameter used and the execution order of the second program are included in the first parameter, the second parameter may include the parameter value included in the second parameter. When the replacement specification for replacing the data value of the second program is included, the parameter value included in the second parameter is replaced with the other data value, and each of the second programs is executed according to the execution order. An information processing method, which is repeatedly executed using the second parameter after the replacement.
JP2016122327A 2016-06-21 2016-06-21 Information processing system, information processing apparatus, and information processing method Active JP6702015B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016122327A JP6702015B2 (en) 2016-06-21 2016-06-21 Information processing system, information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016122327A JP6702015B2 (en) 2016-06-21 2016-06-21 Information processing system, information processing apparatus, and information processing method

Publications (2)

Publication Number Publication Date
JP2017228013A JP2017228013A (en) 2017-12-28
JP6702015B2 true JP6702015B2 (en) 2020-05-27

Family

ID=60891766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016122327A Active JP6702015B2 (en) 2016-06-21 2016-06-21 Information processing system, information processing apparatus, and information processing method

Country Status (1)

Country Link
JP (1) JP6702015B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7089780B2 (en) 2019-09-30 2022-06-23 Rpaホールディングス株式会社 Information processing equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216153B2 (en) * 2014-05-15 2022-01-04 Sony Corporation Information processing device, display control method, and program
JP6507514B2 (en) * 2014-07-31 2019-05-08 株式会社リコー INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM

Also Published As

Publication number Publication date
JP2017228013A (en) 2017-12-28

Similar Documents

Publication Publication Date Title
JP6855939B2 (en) Information processing system, information processing device and information processing method
JP6439370B2 (en) Information processing system, information processing method, information processing apparatus, and program
JP6859620B2 (en) Information processing system, information processing device, information processing method, and information processing program
US10372485B2 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
JP6701961B2 (en) Information processing system, information processing apparatus, information processing method, and program
JP7110636B2 (en) Information processing system, information processing device, and information processing method
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
JP2018037746A (en) Information processing system, information processor, and information processing method
EP3012753A1 (en) Acquisition of folder information from external services
JP6756270B2 (en) Information processing system, information processing device, information processing method, and program
JP6477092B2 (en) Information processing system, information processing apparatus, and information processing method
JP6772578B2 (en) Information processing system, information processing device, and information processing method
JP6413686B2 (en) Information processing system, information processing apparatus, and information processing method
JP6702015B2 (en) Information processing system, information processing apparatus, and information processing method
JP6673047B2 (en) Information processing system, information processing apparatus, and information processing method
JP6794686B2 (en) Information processing system, information processing device, and information processing method
JP6780364B2 (en) Information processing system, information processing device, and information processing method
JP6885056B2 (en) Information processing system, information processing device, and information processing method
JP7444208B2 (en) Information processing system, information processing device, information processing method, and program
JP6753489B2 (en) Information processing system, information processing device, information processing method, and program
JP6919219B2 (en) Information processing system, information processing device, and information processing method
JP6536308B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP2017079030A (en) Information processing system, information processing unit and information processing method
JP2017130189A (en) Information processing system, information processing device, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R151 Written notification of patent or utility model registration

Ref document number: 6702015

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151