JP7173106B2 - Information processing system, information processing device, information processing method, and program - Google Patents

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

Info

Publication number
JP7173106B2
JP7173106B2 JP2020139071A JP2020139071A JP7173106B2 JP 7173106 B2 JP7173106 B2 JP 7173106B2 JP 2020139071 A JP2020139071 A JP 2020139071A JP 2020139071 A JP2020139071 A JP 2020139071A JP 7173106 B2 JP7173106 B2 JP 7173106B2
Authority
JP
Japan
Prior art keywords
component
information
series
processes
processing
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
JP2020139071A
Other languages
Japanese (ja)
Other versions
JP2020205068A (en
JP2020205068A5 (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 JP2020139071A priority Critical patent/JP7173106B2/en
Publication of JP2020205068A publication Critical patent/JP2020205068A/en
Publication of JP2020205068A5 publication Critical patent/JP2020205068A5/ja
Priority to JP2022128816A priority patent/JP7444208B2/en
Application granted granted Critical
Publication of JP7173106B2 publication Critical patent/JP7173106B2/en
Priority to JP2024025216A priority patent/JP2024056998A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

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

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

また、例えば、画像形成装置で原稿をスキャンして取得した画像データを外部ストレージに保管する技術が知られている(例えば特許文献1参照)。このように、画像形成装置と外部サービスとが連携して処理を行う技術が従来から知られている。 Further, for example, a technique is known in which image data obtained by scanning a document with an image forming apparatus is stored in an external storage (see, for example, Japanese Unexamined Patent Application Publication No. 2002-100001). As described above, there has been conventionally known a technique of performing processing in cooperation with an image forming apparatus and an external service.

しかしながら、上記の従来技術においては、外部サービスと連携して処理を行うためには画像形成装置に搭載されるアプリケーションの開発が必要となる。また、ある外部サービスが固有の機能(他の外部サービスが提供していない機能)を提供するようになった場合には、当該固有の機能を利用するためのモジュールやプラグイン等を開発する必要がある。したがって、画像形成装置に搭載されるアプリケーションの追加や修正等の開発に要する工数が大きくなる場合があった。 However, in the conventional technology described above, it is necessary to develop an application installed in the image forming apparatus in order to perform processing in cooperation with an external service. In addition, when a certain external service provides unique functions (functions not provided by other external services), it is necessary to develop modules, plug-ins, etc. to use such unique functions. There is Therefore, in some cases, the number of man-hours required for development such as addition or correction of applications installed in the image forming apparatus becomes large.

本発明の一実施形態は、上記の点に鑑みてなされたもので、外部サービスと連携した処理を行うためのアプリケーションの開発を支援することを目的とする。 An embodiment of the present invention has been made in view of the above points, and aims to support the development of applications for performing processing in cooperation with external services.

上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置が含まれる情報処理システムであって、電子データを用いた一連の処理を、該一連の処理それぞれを実行するコンポーネントを組み合わせて実行するアプリケーション毎に、前記一連の処理に関する情報を記憶制御する第1の記憶手段と、ユーザにより登録された第1のコンポーネントと、前記情報処理システムに予め組み込まれている第2のコンポーネントとに関する情報を含むコンポーネント情報を記憶制御する第2の記憶手段と、前記第1のコンポーネントの登録を受け付け、前記第2の記憶手段に、該受け付けた第1のコンポーネントに関する情報を前記コンポーネント情報として記憶させるコンポーネント登録手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記アプリケーションを識別する情報と電子データに関する情報とを受け付けると、該アプリケーションを識別する情報によって識別されるアプリケーションに対応する前記一連の処理に関する情報に基づく一連の処理を、前記電子データに関する情報により指定される電子データを用いて実行する処理実行手段とを有し、前記処理実行手段は、前記アプリケーションに対応する前記一連の処理に関する情報と前記コンポーネント情報とに基づき前記第1のコンポーネントと前記第2のコンポーネントとを組み合わせて、前記電子データを用いた前記一連の処理を実行する。
In order to achieve the above object, one embodiment of the present invention provides an information processing system including one or more information processing devices, comprising: a first storage means for storing and controlling information related to the series of processes, a first component registered by a user, and a second pre-installed in the information processing system for each application executed in combination with a second storage means for controlling storage of component information including information relating to a component ; receiving registration of the first component and storing the received information relating to the first component in the second storage means as the component information; and information identifying the application when information identifying the application and information regarding electronic data are received from one of the one or more devices connected to the information processing system. a process execution means for executing a series of processes based on the information on the series of processes corresponding to the application identified by using the electronic data specified by the information on the electronic data, wherein the process execution means is and executing the series of processes using the electronic data by combining the first component and the second component based on the information on the series of processes corresponding to the application and the component information.

本発明の一実施形態によれば、外部サービスと連携した処理を行うためのアプリケーションの開発を支援することができる。 According to one embodiment of the present invention, it is possible to support the development of applications for performing processing in cooperation with external services.

第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。It is a figure which shows the system configuration|structure of an example of the information processing system which concerns on 1st embodiment. 第一の実施形態に係るサービス提供システム及びPC端末の一例のハードウェア構成を示す図である。1 is a diagram showing an example hardware configuration of a service providing system and a PC terminal according to a first embodiment; FIG. 第一の実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。1 is a diagram illustrating an example hardware configuration of an image forming apparatus according to a first embodiment; FIG. 第一の実施形態に係る情報処理システムの一例の処理ブロックを示す図である。It is a figure which shows the processing block of an example of the information processing system which concerns on 1st embodiment. 共通I/F及び固有I/Fの一例を示す図である。FIG. 3 is a diagram showing an example of common I/F and specific I/F; データ定義の一例を示す図である。It is a figure which shows an example of a data definition. レイアウト情報の一例を示す図である。It is a figure which shows an example of layout information. 処理内容の一例を示す図である。It is a figure which shows an example of the content of a process. 第一の実施形態に係るスキャン配信サービスの全体処理の一例を示すシーケンス図である。FIG. 4 is a sequence diagram showing an example of overall processing of the scan delivery service according to the first embodiment; スキャン配信サービスを利用するためのアプリ画面の一例を示す図である。FIG. 10 is a diagram showing an example of an application screen for using the scan delivery service; 第一の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。FIG. 4 is a diagram showing processing blocks of an example of a logic processing unit according to the first embodiment; 第一の実施形態に係るコンポーネント情報テーブルの一例を示す図である。It is a figure which shows an example of the component information table which concerns on 1st embodiment. 型変換テーブルの一例を示す図である。It is a figure which shows an example of a type|mold conversion table. 第一の実施形態に係るフロー実行処理の一例を示すシーケンス図である。4 is a sequence diagram showing an example of flow execution processing according to the first embodiment; FIG. 第一の実施形態に係るコンポーネントの追加、更新、及び削除処理の一例を示すシーケンス図である。FIG. 7 is a sequence diagram showing an example of component addition, update, and deletion processing according to the first embodiment; コンポーネント編集画面、コンポーネント追加画面、及びコンポーネント更新画面の一例を示す図である。FIG. 10 is a diagram showing an example of a component editing screen, a component adding screen, and a component updating screen; 第二の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。It is a figure which shows an example of a processing block of the logic processing part which concerns on 2nd embodiment. 第二の実施形態に係るコンポーネント情報テーブルの一例を示す図である。It is a figure which shows an example of the component information table which concerns on 2nd embodiment. 第二の実施形態に係るフロー実行処理の一例を示すシーケンス図である。FIG. 11 is a sequence diagram showing an example of flow execution processing according to the second embodiment; 第三の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。It is a figure which shows an example of a processing block of the logic processing part which concerns on 3rd embodiment. 第三の実施形態に係るコンポーネント情報テーブルの一例を示す図である。It is a figure which shows an example of the component information table which concerns on 3rd embodiment. 第三の実施形態に係るフロー実行処理の一例を示すシーケンス図である。FIG. 12 is a sequence diagram showing an example of flow execution processing according to the third embodiment;

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

[第一の実施形態]
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。
[First embodiment]
<System configuration>
First, the system configuration of an information processing system 1 according to this 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 according to the first embodiment.

図1に示す情報処理システム1は、サービス提供環境E1、ユーザ環境E2、及び外部ストレージシステム40を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。 The information processing system 1 shown in FIG. 1 includes a service providing environment E1, a user environment E2, and an external storage system 40, which are communicably connected via a wide area network N1 such as the Internet.

サービス提供環境E1は、ネットワークN1を介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供されるサービスに関して本実施形態が適用されても良い。 The service providing environment E1 is a system environment that provides external services such as cloud services via the network N1. In this embodiment, a cloud service is used as a specific example of an external service. Morphology may be applied.

サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークN1を介して所定のサービスを提供する。例えば、サービス提供システム10は、ユーザ環境E2の画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、外部ストレージシステム40に保存するサービス(スキャン配信サービス)を提供する。本実施形態に係るサービス提供システム10は、このようなスキャン配信サービスを提供する。 The service providing environment E1 has a service providing system 10 realized by one or more information processing devices. The service providing system 10 provides predetermined services via the network N1. For example, the service providing system 10 performs an OCR (Optical Character Reader) process on an electronic file generated by scanning a document in the image forming apparatus 20 in the user environment E2, and saves it in the external storage system 40 (scan delivery service). services). The service providing system 10 according to this embodiment provides such a scan distribution service.

ただし、サービス提供システム10により提供されるサービスは、これに限られない。サービス提供システム10は、例えば、外部ストレージシステム40に保存されている電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供しても良い。 However, the services provided by the service providing system 10 are not limited to this. The service providing system 10 may provide, for example, a service (cloud print service) for printing electronic files stored in the external storage system 40 with the image forming apparatus 20 in the user environment E2.

また、サービス提供システム10は、例えば、外部ストレージシステム40に保存されている電子ファイルを、ユーザ環境E2のプロジェクタで投影するサービスを提供しても良い。さらに、サービス提供システム10は、画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば、英語から日本語に翻訳)して、外部ストレージシステム40に保存するサービスを提供しても良い。このように、本実施形態に係るサービス提供システム10は、外部ストレージシステム40と連携した一連の処理により実現される各種のサービスを提供する。 Further, the service providing system 10 may provide a service of projecting an electronic file stored in the external storage system 40 with a projector in the user environment E2, for example. Furthermore, the service providing system 10 translates an electronic file generated by scanning a document in the image forming apparatus 20 into a predetermined language (for example, translating from English into Japanese) after OCR processing, and stores it in an external storage. A service of storing in the system 40 may be provided. As described above, the service providing system 10 according to this embodiment provides various services realized by a series of processes in cooperation with the external storage system 40 .

なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていても良い。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部は、ユーザ環境E2に包含されていても良い。 All or part of the service providing system 10 may be installed in the user environment E2. That is, all or part of the information processing devices that constitute the service providing system 10 may be included in the user environment E2.

ユーザ環境E2は、例えば、画像形成装置20を使用するユーザである企業等におけるシステム環境である。ユーザ環境E2は、一台以上の画像形成装置20、及び一台以上のPC端末30を含み、例えばLAN(Local Area Network)等のネットワークを介して接続されている。 The user environment E2 is, for example, the system environment of a company or the like, which is the user who uses the image forming apparatus 20 . The user environment E2 includes one or more image forming apparatuses 20 and one or more PC terminals 30, which are connected via a network such as a LAN (Local Area Network).

本実施形態に係る画像形成装置20は、スキャン機能を有するMFP(Multifunction Peripheral)等の複合機である。なお、画像形成装置20は、スキャン機能以外に、プリント機能やコピー機能、ファクス(FAX)通信機能等を有していても良い。 The image forming apparatus 20 according to the present embodiment is a multifunction device such as an MFP (Multifunction Peripheral) having a scanning function. Note that the image forming apparatus 20 may have a print function, a copy function, a facsimile (FAX) communication function, etc., in addition to the scan function.

また、本実施形態に係るPC端末30は、サービス提供システム10が各種のサービスを提供するためのプログラムの開発等に用いられる情報処理装置である。ユーザは、PC端末30を用いて、所定の処理を実行するプログラムやモジュール等をサービス提供システム10に追加等することができる。 Also, the PC terminal 30 according to the present embodiment is an information processing device used for developing programs for the service providing system 10 to provide various services. The user can use the PC terminal 30 to add, for example, a program or module that executes a predetermined process to the service providing system 10 .

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

ストレージサービスとは、外部ストレージシステム40のストレージの記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム40によって貸し出される記憶領域に、OCR処理された電子ファイルを保存(アップロード)する。 A storage service is a service that lends out a storage area of the external storage system 40 . In this embodiment, in the scan distribution service, an OCR-processed electronic file is stored (uploaded) in a storage area rented by the external storage system 40 .

なお、以降では、複数の外部ストレージシステム40について、各々を区別するときは、「外部ストレージシステム40」、「外部ストレージシステム40」等と添え字を用いて記載する。また、外部ストレージシステム40によって提供されるサービスの名称を「ストレージサービスA」、外部ストレージシステム40によって提供されるサービスの名称を「ストレージサービスB」等とする。 In the following description, when differentiating a plurality of external storage systems 40, they are described using suffixes such as “external storage system 40 1 ” and “external storage system 40 2 ”. The name of the service provided by the external storage system 40-1 is "storage service A ", and the name of the service provided by the external storage system 40-2 is "storage service B".

外部ストレージシステム40は、複数台の情報処理装置によって実現されるシステムであっても良い。また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、ユーザ環境E2は、画像形成装置20に加えて又は画像形成装置20に代えて、プロジェクタ、電子黒板等の各種機器を有していても良い。 The external storage system 40 may be a system implemented by multiple information processing devices. Also, the configuration of the information processing system 1 shown in FIG. 1 is an example, and other configurations may be used. For example, the user environment E2 may have various devices such as a projector and an electronic blackboard in addition to the image forming apparatus 20 or instead of the image forming apparatus 20 .

<ハードウェア構成>
≪サービス提供システム、PC端末≫
サービス提供システム10及びPC端末30のハードウェア構成について、図2を参照しながら説明する。図2は、第一の実施形態に係るサービス提供システム及びPC端末の一例のハードウェア構成を示す図である。なお、サービス提供システム10及びPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
<Hardware configuration>
≪Service provision system, PC terminal≫
Hardware configurations of the service providing system 10 and the PC terminal 30 will be described with reference to FIG. FIG. 2 is a diagram showing an example hardware configuration of a service providing system and a PC terminal according to the first embodiment. Since the service providing system 10 and the PC terminal 30 have similar hardware configurations, the hardware configuration of the service providing system 10 will be mainly described below.

サービス提供システム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 has 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 has a ROM (Read Only Memory) 15 , a CPU (Central Processing Unit) 16 , a communication I/F 17 and an HDD (Hard Disk Drive) 18 . Each of these pieces of hardware are connected by a bus B, respectively.

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

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

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

なお、サービス提供システム10は、HDD18に代えて又はHDD18に加えて、フラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用しても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。 Note that the service providing system 10 may use a drive device using flash memory (for example, solid state drive: SSD) instead of or in addition to the HDD 18 . In addition, the HDD 18 manages stored programs and data using 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. Thereby, the service providing system 10 can read and/or write to the recording medium 13a via the external I/F 13. FIG. The recording medium 13a includes a flexible disk, CD, DVD, SD memory card, 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 power is turned off. The ROM 15 stores programs and data such as BIOS (Basic Input/Output System), OS settings, network settings, etc., which are executed when the service providing system 10 is started. The RAM 14 is a volatile semiconductor memory that temporarily holds programs and data.

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

本実施形態に係るサービス提供システム10及びPC端末30は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。 The service providing system 10 and the PC terminal 30 according to the present embodiment have the hardware configuration described above, so that they can implement various processes described later.

≪画像形成装置≫
画像形成装置20のハードウェア構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
<<Image forming apparatus>>
A hardware configuration of the image forming apparatus 20 will be described with reference to FIG. FIG. 3 is a diagram showing an example hardware configuration of the image forming apparatus according to the first embodiment.

画像形成装置20は、コントローラ21、操作パネル22、外部I/F23、通信I/F24、プリンタ25、及びスキャナ26を有する。また、コントローラ21は、CPU211、RAM212、ROM213、NVRAM214、及びHDD215を有する。 The image forming apparatus 20 has a controller 21 , an operation panel 22 , an external I/F 23 , a communication I/F 24 , a printer 25 and a scanner 26 . Moreover, the controller 21 has CPU211, RAM212, ROM213, NVRAM214, and HDD215.

ROM213は、各種プログラムやデータを格納する。RAM212は、プログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は、各種プログラムやデータを格納する。 The ROM 213 stores various programs and data. A RAM 212 temporarily holds programs and data. The NVRAM 214 stores, for example, setting information. The HDD 215 also stores various programs and data.

CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する。 The CPU 211 reads out programs, data, setting information, and the like from the ROM 213, the NVRAM 214, the HDD 215, and the like onto the RAM 212 and executes processing, thereby realizing control and functions of the image forming apparatus 20 as a whole.

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

通信I/F24は、画像形成装置20をネットワークN1に接続するインタフェースである。これにより、画像形成装置20は通信I/F24を介してデータ通信を行うことができる。プリンタ25は、印刷データを印刷するための印刷装置である。スキャナ26は原稿を読み取り画像ファイル(電子ファイル)を生成するための読取装置である。 Communication I/F 24 is an interface that connects image forming apparatus 20 to network N1. Thereby, the image forming apparatus 20 can perform data communication via the communication I/F 24 . The printer 25 is a printing device for printing print data. The scanner 26 is a reading device for reading an original and generating an image file (electronic file).

本実施形態に係る画像形成装置20は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。 The image forming apparatus 20 according to the present embodiment has the hardware configuration described above, so that it can implement various types of processing described later.

<ソフトウェア構成>
次に、本実施形態に係る情報処理システム1の処理ブロックについて、図4を参照しながら説明する。図4は、第一の実施形態に係る情報処理システムの一例の処理ブロックを示す図である。
<Software configuration>
Next, processing blocks of the information processing system 1 according to this embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating processing blocks of an example of the information processing system according to the first embodiment.

図4に示す画像形成装置20は、例えばCPU211等により実行されるブラウザ210を有する。画像形成装置20のユーザは、ブラウザ210を介して、サービス提供システム10により提供されるサービスを利用することができる。このように、本実施形態に係る画像形成装置20では、ブラウザ210が搭載(インストール)されていれば良く、サービスを利用するための専用のアプリケーションが搭載されている必要がない。 The image forming apparatus 20 shown in FIG. 4 has a browser 210 executed by, for example, a CPU 211 or the like. A user of the image forming apparatus 20 can use services provided by the service providing system 10 via the browser 210 . As described above, in the image forming apparatus 20 according to the present embodiment, it is sufficient that the browser 210 is installed (installed), and there is no need to install a dedicated application for using the service.

図4に示すPC端末30は、例えばCPU16等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を介して、所定の処理を実行するプログラムやモジュール等(すなわち、後述する「コンポーネント」)をサービス提供システム10に追加することができる。これにより、本実施形態に係るサービス提供システム10では、PC端末30から追加されたコンポーネントにより実現されるサービスを追加することができる。 The PC terminal 30 shown in FIG. 4 has a browser 310 executed by the CPU 16 or the like, for example. The user of the PC terminal 30 can add programs, modules, etc. (that is, “components” to be described later) for executing predetermined processes to the service providing system 10 via the browser 310 . As a result, in the service providing system 10 according to the present embodiment, it is possible to add services realized by components added from the PC terminal 30 .

ここで、コンポーネントとは、サービス提供システム10により提供されるサービスを実現するための一連の処理に含まれる一の処理を実行するためのモジュール等である。 Here, a component is a module or the like for executing one process included in a series of processes for realizing a service provided by the service providing system 10 .

図4に示すサービス提供システム10は、サービス処理部110、ドキュメントサービス部150、及びストレージサービス連携部160を有する。これら各部は、サービス提供システム10に搭載された1以上のプログラムが、CPU16に実行させる処理により実現される。 The service providing system 10 shown in FIG. 4 has a service processing section 110 , a document service section 150 and a storage service linking section 160 . Each of these units is implemented by processing that one or more programs installed in the service providing system 10 cause the CPU 16 to execute.

また、サービス提供システム10は、アプリ情報記憶部190を有する。アプリ情報記憶部190は、HDD18により実現可能である。なお、アプリ情報記憶部190は、サービス提供システム10とネットワークN1を介して接続される記憶装置等により実現されても良い。 The service providing system 10 also has an application information storage unit 190 . The application information storage unit 190 can be implemented by the HDD 18 . Note that the application information storage unit 190 may be realized by a storage device or the like connected to the service providing system 10 via the network N1.

サービス処理部110は、画像形成装置20のブラウザ210からの要求に応じて、各種のサービスに関する処理を実行する。サービス処理部110は、アプリ管理部120、ロジック処理部130、及びデータI/F部140を有する。 The service processing unit 110 executes processing related to various services in response to requests from the browser 210 of the image forming apparatus 20 . The service processing unit 110 has an application management unit 120 , a logic processing unit 130 and a data I/F unit 140 .

アプリ管理部120は、アプリ情報記憶部190に記憶されているアプリ情報1000を管理する。アプリ管理部120は、画像形成装置20のブラウザ210からの要求に応じて、アプリ情報1000に含まれる画面定義に基づくアプリ画面を返信する。これにより、画像形成装置20の操作パネル22には、ブラウザ210により、サービス提供システム10により提供されるサービスを利用するためのアプリ画面が表示される。 Application management unit 120 manages application information 1000 stored in application information storage unit 190 . The application management unit 120 returns an application screen based on the screen definition included in the application information 1000 in response to a request from the browser 210 of the image forming apparatus 20 . Accordingly, an application screen for using the service provided by the service providing system 10 is displayed on the operation panel 22 of the image forming apparatus 20 by the browser 210 .

ここで、アプリ情報1000には、アプリ画面を画像形成装置20に表示させるための画面定義と、アプリ画面から利用されるサービスを実現するための処理内容とが含まれる。なお、アプリ情報1000には、複数の画面定義と、複数の処理内容とが含まれていても良い。 Here, the application information 1000 includes a screen definition for displaying an application screen on the image forming apparatus 20 and processing contents for realizing a service used from the application screen. Note that the application information 1000 may include a plurality of screen definitions and a plurality of processing contents.

また、アプリ管理部120は、ロジック処理部130からの要求に応じて、アプリ情報1000に含まれる処理内容を返信する。処理内容は、サービス提供システム10により提供されるサービスを実現するための一連の処理(一連の処理は「処理フロー」とも称される。)の内容が記述されている。 Also, the application management unit 120 returns the processing content included in the application information 1000 in response to a request from the logic processing unit 130 . The processing content describes the content of a series of processing (a series of processing is also referred to as a “processing flow”) for realizing the service provided by the service providing system 10 .

ロジック処理部130は、画像形成装置20のブラウザ210からの要求に応じて、アプリ管理部120を介して処理内容を取得する。そして、ロジック処理部130は、取得した処理内容に基づく一連の処理を実行する。 Logic processing unit 130 acquires processing content via application management unit 120 in response to a request from browser 210 of image forming apparatus 20 . Then, the logic processing unit 130 executes a series of processes based on the acquired process content.

すなわち、ロジック処理部130は、ドキュメントサービス部150又は/及びストレージサービス連携部160のファイル処理部170に対して、処理内容に従った処理の実行を要求することで、当該処理内容に基づく一連の処理を実行する。これにより、本実施形態に係るサービス提供システム10は、画像形成装置20に対して各種のサービスを提供することができる。なお、ロジック処理部130の詳細な処理ブロックについては、後述する。 That is, the logic processing unit 130 requests the document service unit 150 and/or the file processing unit 170 of the storage service cooperation unit 160 to execute processing according to the processing content, thereby performing a series of operations based on the processing content. Execute the process. Accordingly, the service providing system 10 according to this embodiment can provide various services to the image forming apparatus 20 . Detailed processing blocks of the logic processing unit 130 will be described later.

データI/F部140は、画像形成装置20のブラウザ210からの要求に応じて、ストレージサービス連携部160のデータ処理部180に対して、所定の要求(例えば、フォルダ一覧の取得要求等)を行う。 In response to a request from the browser 210 of the image forming apparatus 20, the data I/F unit 140 sends a predetermined request (for example, a request to obtain a list of folders, etc.) to the data processing unit 180 of the storage service cooperation unit 160. conduct.

ドキュメントサービス部150は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部150には、電子ファイルに対してOCR処理を行うOCR処理151が含まれる。なお、ドキュメントサービス部150には、例えば、所定の言語で記載されている文書ファイル(電子ファイル)を他の所定の言語に翻訳する翻訳処理プログラム等の各種プログラムが含まれても良い。 The document service unit 150 is a group of programs (modules) for implementing services provided by the service providing system 10 . The document service section 150 includes an OCR processor 151 that performs OCR processing on electronic files. Note that the document service unit 150 may include various programs such as a translation processing program for translating a document file (electronic file) written in a predetermined language into another predetermined language.

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

ここで、本実施形態に係るサービス提供システム10は、外部ストレージシステム40毎に、ストレージサービス連携部160を有する。すなわち、サービス提供システム10は、外部ストレージシステム40に対して処理の実行を要求するためのストレージサービスA連携部160、外部ストレージシステム40に対して処理の実行を要求するためのストレージサービスB連携部160等を有する。このように、サービス提供システム10は、当該サービス提供システム10と連携して処理を行う外部ストレージシステム40毎に、それぞれの外部ストレージシステム40に対応するストレージサービス連携部160を有する。 Here, the service providing system 10 according to this embodiment has a storage service cooperation unit 160 for each external storage system 40 . That is, the service providing system 10 includes a storage service A cooperation unit 160 1 for requesting the execution of processing from the external storage system 40 1 , and a storage service A linking unit 160 1 for requesting the execution of processing from the external storage system 40 2 . It has a B cooperation unit 160 2 and the like. In this way, the service providing system 10 has a storage service cooperation unit 160 corresponding to each external storage system 40 that performs processing in cooperation with the service providing system 10 .

なお、以降では、複数のストレージサービス連携部160について、各々を区別するときは、「ストレージサービスA連携部160」、「ストレージサービスB連携部160」等と記載する。 In addition, hereinafter, when distinguishing between a plurality of storage service cooperation units 160, they are described as “storage service A cooperation unit 160 1 ”, “storage service B cooperation unit 160 2 ”, and the like.

ストレージサービス連携部160は、上述したように、ロジック処理部130からの要求を受け取るファイル処理部170、及びデータI/F部140からの要求を受け取るデータ処理部180を有する。 The storage service cooperation unit 160 has the file processing unit 170 that receives requests from the logic processing unit 130 and the data processing unit 180 that receives requests from the data I/F unit 140, as described above.

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

共通I/F171は、複数の外部ストレージシステム40間で共通に利用できるAPIであり、例えば図5(a)に示すAPIが挙げられる。換言すれば、ファイル処理部170の共通I/F171は、すべての外部ストレージシステム40が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。 The common I/F 171 is an API that can be used in common among a plurality of external storage systems 40, such as the API shown in FIG. 5(a). In other words, the common I/F 171 of the file processing unit 170 is an API group for using functions related to file operations that can be used by all external storage systems 40 (for example, file acquisition, storage, etc.).

一方、固有I/F172は、特定の外部ストレージシステム40において利用できるAPIであり、例えば図5(b)に示すAPIが挙げられる。換言すれば、ファイル処理部170の固有I/F172は、特定の外部ストレージシステム40において利用できるファイル操作に関する機能(例えば、ファイルの編集等)を利用するためのAPI群である。 On the other hand, the unique I/F 172 is an API that can be used in a specific external storage system 40, such as the API shown in FIG. 5(b). In other words, the unique I/F 172 of the file processing unit 170 is an API group for using functions related to file operations (for example, file editing, etc.) that can be used in a specific external storage system 40 .

したがって、共通I/F171は、すべてのストレージサービス連携部160に対して同様に定義される。一方で、固有I/F172は、当該固有I/F172で定義されるAPIが利用可能な特定の外部ストレージシステム40に対応するストレージサービス連携部160に対して個別に定義される。 Therefore, the common I/F 171 is similarly defined for all storage service cooperation units 160 . On the other hand, the unique I/F 172 is individually defined for the storage service cooperation unit 160 corresponding to the specific external storage system 40 that can use the API defined by the unique I/F 172 .

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

共通I/F181は、複数の外部ストレージシステム40間で共通に利用できるAPIであり、例えば図5(c)に示すAPIが挙げられる。換言すれば、データ処理部180の共通I/F181は、すべての外部ストレージシステム40で利用できるメタデータ取得等の機能を利用するためのAPI群である。 The common I/F 181 is an API that can be used in common among a plurality of external storage systems 40, such as the API shown in FIG. 5(c). In other words, the common I/F 181 of the data processing unit 180 is an API group for using functions such as metadata acquisition that can be used by all external storage systems 40 .

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

したがって、共通I/F181は、すべてのストレージサービス連携部160に対して同様に定義される。一方で、固有I/F182は、当該固有I/F182で定義されるAPIが利用可能な特定の外部ストレージシステム40に対応するストレージサービス連携部160に対して個別に定義される。 Therefore, the common I/F 181 is similarly defined for all storage service cooperation units 160 . On the other hand, the unique I/F 182 is individually defined for the storage service cooperation unit 160 corresponding to the specific external storage system 40 that can use the API defined by the unique I/F 182 .

以上のように、本実施形態に係るサービス提供システム10は、連携して処理を行う外部ストレージシステム40毎に、それぞれの外部ストレージシステム40に対応するストレージサービス連携部160を有する。このため、本実施形態に係る情報処理システム1では、連携先となる外部ストレージシステム40を追加等する場合には、当該外部ストレージシステム40に対応するストレージサービス連携部160をサービス提供システム10に追加等すれば良い。 As described above, the service providing system 10 according to the present embodiment has the storage service linking unit 160 corresponding to each external storage system 40 that performs processing in cooperation with each external storage system 40 . Therefore, in the information processing system 1 according to this embodiment, when adding an external storage system 40 to be a cooperation destination, the storage service cooperation unit 160 corresponding to the external storage system 40 is added to the service providing system 10. should be equal.

したがって、本実施形態に係るサービス提供システム10は、連携先となる外部ストレージシステム40の追加等に伴う影響を局所化することができる。換言すれば、他の処理ブロック(サービス処理部110やドキュメントサービス部150等)に影響を与えることなく(すなわち、他の処理ブロックを修正等する必要なく)、連携先となる外部ストレージシステム40の追加等を行うことができる。 Therefore, the service providing system 10 according to the present embodiment can localize the impact caused by the addition of the external storage system 40 as a cooperation destination. In other words, without affecting other processing blocks (service processing unit 110, document service unit 150, etc.) (that is, without the need to modify other processing blocks), the Additions, etc. can be performed.

これにより、本実施形態に係るサービス提供システム10では、連携先の外部ストレージシステム40の追加等の開発に要する工数を削減することができる。なお、ストレージサービス連携部160の追加等は、SDK(Software Development Kit)を用いて行うことができる。 As a result, in the service providing system 10 according to this embodiment, it is possible to reduce man-hours required for development such as addition of the external storage system 40 to be linked. Note that the addition of the storage service cooperation unit 160 can be performed using an SDK (Software Development Kit).

また、ストレージサービス連携部160では、共通I/F171及び固有I/F172がそれぞれ異なるモジュール等で実現される。さらに、共通I/F171及び固有I/F172で定義されるAPIは、「ストレージサービス名」(外部サービス名)を指定することで利用することができる(すなわち、「ストレージサービス名」(外部サービス名)が可変部分となっている)。 Also, in the storage service linking unit 160, the common I/F 171 and the specific I/F 172 are implemented by different modules or the like. Furthermore, the APIs defined by the common I/F 171 and the unique I/F 172 can be used by specifying the "storage service name" (external service name) (that is, the "storage service name" (external service name ) is a variable part).

したがって、連携先の外部ストレージシステム40を追加する場合には、他のストレージサービス連携部160に定義されている共通I/F171を再利用することができる。換言すれば、連携先の外部ストレージシステム40を追加する場合には、当該追加する外部ストレージシステム40の固有I/F172のみを開発すれば良い。これにより、本実施形態に係るサービス提供システム10では、連携先の外部ストレージシステム40の追加等の開発に要する工数をさらに削減することができる。なお、このことは、データ処理部180の共通I/F181及び固有I/F182に関しても同様である。 Therefore, when adding a cooperation destination external storage system 40, the common I/F 171 defined in another storage service cooperation unit 160 can be reused. In other words, when adding a cooperation destination external storage system 40, only the unique I/F 172 of the external storage system 40 to be added needs to be developed. As a result, the service providing system 10 according to the present embodiment can further reduce man-hours required for development such as addition of the external storage system 40 to be linked. Note that this is the same for the common I/F 181 and unique I/F 182 of the data processing unit 180 .

アプリ情報記憶部190は、各種のサービスを提供するためのアプリ情報1000を記憶する。アプリ情報1000は、アプリ画面を画像形成装置20に表示させるための画面定義と、アプリ画面から利用されるサービスを実現するための一連の処理の内容が記述された処理内容とを含む。また、アプリ情報1000には、当該アプリ情報1000を一意に識別するためのアプリIDが付与されている。なお、以降では、ストレージサービスAと連携したスキャン配信サービスを提供するためのアプリ情報1000のアプリIDを「app001」とする。 The application information storage unit 190 stores application information 1000 for providing various services. The application information 1000 includes a screen definition for displaying an application screen on the image forming apparatus 20, and processing details describing a series of processes for realizing a service used from the application screen. An application ID for uniquely identifying the application information 1000 is assigned to the application information 1000 . Note that the application ID of the application information 1000 for providing the scan distribution service in cooperation with the storage service A is hereinafter referred to as "app001".

ここで、ストレージサービスAと連携したスキャン配信サービスを提供するためのアプリ情報1000の画面定義に含まれるデータ定義について、図6を参照しながら説明する。図6は、データ定義の一例を示す図である。 Data definitions included in the screen definition of the application information 1000 for providing the scan delivery service in cooperation with the storage service A will now be described with reference to FIG. FIG. 6 is a diagram showing an example of data definition.

図6に示すデータ定義1100は、画像形成装置20のブラウザ210により操作パネル22等に表示されるアプリ画面の入力欄(入力ボックス)や選択欄(選択ボックス)等を構成するための情報が記述されている。 A data definition 1100 shown in FIG. 6 describes information for configuring an input field (input box), a selection field (selection box), etc. of an application screen displayed on the operation panel 22 or the like by the browser 210 of the image forming apparatus 20 . It is

具体的には、図6に示すデータ定義1100に含まれるデータ定義部1101には、スキャンにより生成される電子ファイルのファイル名を入力するための入力欄を構成するための情報が記述されている。また、図6に示すデータ定義に含まれるデータ定義部1102には、ストレージサービスAにおける保存先フォルダを選択するための選択欄を構成するための情報が記述されている。 Specifically, in the data definition section 1101 included in the data definition 1100 shown in FIG. 6, information for constructing an input field for inputting the file name of the electronic file generated by scanning is described. . Also, in the data definition part 1102 included in the data definition shown in FIG.

なお、データ定義部1102の「data_source」には、選択欄の各選択要素(ここでは、保存先候補のフォルダ名及びフォルダID)の取得先のURL(Uniform Resource Locator)が記述されている。 Note that “data_source” in the data definition section 1102 describes the URL (Uniform Resource Locator) of the acquisition destination of each selection element (here, the folder name and folder ID of the storage destination candidate) in the selection column.

次に、ストレージサービスAと連携したスキャン配信サービスを提供するためのアプリ情報1000の画面定義に含まれるレイアウト情報について、図7を参照しながら説明する。図7は、レイアウト情報の一例を示す図である。 Next, the layout information included in the screen definition of the application information 1000 for providing the scan delivery service linked with the storage service A will be described with reference to FIG. FIG. 7 is a diagram showing an example of layout information.

図7に示すレイアウト情報1200は、画像形成装置20のブラウザ210により操作パネル22等に表示されるアプリ画面における文字(入力欄の表示名称等)や入力欄、選択欄等の表示位置や表示名称等の情報が記述されている。 Layout information 1200 shown in FIG. 7 is the display position and display name of characters (display names of input fields, etc.), input fields, selection fields, etc. on an application screen displayed on the operation panel 22 or the like by the browser 210 of the image forming apparatus 20. etc. is described.

具体的には、図7に示すレイアウト情報1200に含まれるレイアウト定義部1201には、データ定義1100における「"data_id":1」(すなわち、データ定義部1101)の表示位置及び表示名称の情報が記述されている。これにより、アプリ画面には、表示名称が「ファイル名」である入力欄が、1番目の位置に表示される。また、レイアウト情報1200に含まれるレイアウト定義部1202では、データ定義1100における「"data_id":2」(すなわち、データ定義部1102)の表示位置及び表示名称の情報が記述されている。これにより、アプリ画面には、表示名称が「保存先フォルダ選択」である選択欄が、2番目の位置に表示される。 Specifically, the layout definition section 1201 included in the layout information 1200 shown in FIG. is described. As a result, an input field whose display name is "file name" is displayed at the first position on the application screen. In addition, in the layout definition section 1202 included in the layout information 1200, information on the display position and display name of ““data_id”:2” (that is, the data definition section 1102) in the data definition 1100 is described. As a result, a selection field whose display name is "save destination folder selection" is displayed at the second position on the application screen.

次に、ストレージサービスAと連携したスキャン配信サービスを提供するためのアプリ情報1000の処理内容について、図8を参照しながら説明する。図8は、処理内容の一例を示す図である。 Next, the processing contents of the application information 1000 for providing the scan distribution service linked with the storage service A will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of processing contents.

図8に示す処理内容1300は、ストレージサービスAと連携したスキャン配信サービスを実現するための一連の処理の内容が記述されている。 The processing content 1300 shown in FIG. 8 describes the content of a series of processing for realizing the scan distribution service in cooperation with the storage service A. FIG.

具体的には、図8に示す処理内容1300に含まれるフローID定義部1301には、当該処理内容1300を一意に識別するための識別情報であるフローID「flow001」が記述されている。また、図8に示す処理定義部1302及び処理定義部1303には、ストレージサービスAと連携したスキャン配信サービスを実現するための一連の処理の内容が定義されている。 Specifically, in the flow ID definition section 1301 included in the processing content 1300 shown in FIG. 8, a flow ID “flow001”, which is identification information for uniquely identifying the processing content 1300, is described. Further, in the process definition part 1302 and the process definition part 1303 shown in FIG. 8, the details of a series of processes for realizing the scan delivery service in cooperation with the storage service A are defined.

すなわち、処理定義部1302には、スキャンして生成された電子ファイルをOCR処理するための処理の内容が記述されている。また、処理定義部1303には、OCR処理後の電子ファイルをストレージサービスAに配信するための処理の内容が記述されている。このように、アプリ情報1000に含まれる処理内容には、外部ストレージシステム40と連携した一連の処理を構成する一以上の処理の内容が記述されている。 That is, the process definition section 1302 describes the details of the process for OCR processing an electronic file generated by scanning. Further, in the processing definition section 1303, the details of the processing for delivering the electronic file after the OCR processing to the storage service A are described. In this way, the processing content included in the application information 1000 describes the content of one or more processes that constitute a series of processes in cooperation with the external storage system 40 .

以上のように、本実施形態に係るサービス提供システム10は、画像形成装置20にアプリ画面を表示させるための画面定義と、サービスを実現するための一連の処理(処理フロー)の内容が記述された処理内容とが含まれるアプリ情報1000を有する。そして、本実施形態に係るサービス提供システム10は、画像形成装置20に対して、アプリ情報1000を利用して各種のサービスを提供する。このため、サービス提供システム10により提供されるサービスを追加等する場合には、アプリ情報記憶部190にアプリ情報1000を追加等すれば良い。 As described above, the service providing system 10 according to the present embodiment describes a screen definition for displaying an application screen on the image forming apparatus 20 and a series of processes (processing flow) for realizing a service. It has application information 1000 including the processing content. The service providing system 10 according to this embodiment provides various services to the image forming apparatus 20 using the application information 1000 . Therefore, when adding a service provided by the service providing system 10 , the application information 1000 may be added to the application information storage unit 190 .

また、本実施形態に係るサービス提供システム10にアプリ情報1000を追加するには、画面定義及び処理内容を記述すれば良いため、簡易に開発することができる。したがって、本実施形態に係るサービス提供システム10では、サービスの追加・変更等に伴う開発工数を削減させることができるとともに、例えばサードベンダー等によるサービスの追加・変更等を容易に行うことができる。 Moreover, in order to add the application information 1000 to the service providing system 10 according to the present embodiment, it is sufficient to describe the screen definition and the processing content, so development can be easily performed. Therefore, in the service providing system 10 according to the present embodiment, it is possible to reduce the number of development man-hours associated with addition/change of services, and for example, it is possible to easily add/change services by a third vendor or the like.

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

≪スキャン配信サービスの全体処理≫
本実施形態に係るスキャン配信サービスを画像形成装置20のユーザが利用する場合の全体的な処理について、図9を参照しながら説明する。図9は、第一の実施形態に係るスキャン配信サービスの全体処理の一例を示すシーケンス図である。
≪Overall Processing of Scan Delivery Service≫
Overall processing when the user of the image forming apparatus 20 uses the scan delivery service according to the present embodiment will be described with reference to FIG. FIG. 9 is a sequence diagram showing an example of overall processing of the scan distribution service according to the first embodiment.

まず、画像形成装置20のユーザは、ブラウザ210を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置20は、サービスの一覧の取得要求をサービス提供システム10のサービス処理部110に送信する(ステップS901)。サービス処理部110のアプリ管理部120は、当該取得要求を受け取ると、サービス提供システム10により提供されるサービスの一覧を画像形成装置20に送信する。これにより、画像形成装置20の操作パネル22には、ブラウザ210により、サービス提供システム10により提供されるサービスの一覧が表示される。 First, the user of the image forming apparatus 20 performs an operation for obtaining a list of services provided by the service providing system 10 using the browser 210 . Then, the image forming apparatus 20 transmits a service list acquisition request to the service processing unit 110 of the service providing system 10 (step S901). Upon receiving the acquisition request, the application management unit 120 of the service processing unit 110 transmits a list of services provided by the service providing system 10 to the image forming apparatus 20 . Accordingly, a list of services provided by the service providing system 10 is displayed by the browser 210 on the operation panel 22 of the image forming apparatus 20 .

なお、サービスの一覧には、例えば、サービス提供システム10により提供されるサービスのサービス名と、当該サービスを提供するためのアプリ情報1000のアプリIDと、当該サービスを実現するための処理内容のフローIDとが含まれる。 Note that the service list includes, for example, the service name of the service provided by the service providing system 10, the application ID of the application information 1000 for providing the service, and the flow of processing content for realizing the service. ID.

ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ210は、ユーザにより選択されたサービスに対応するアプリ情報1000のアプリIDと、処理内容のフローIDとをアプリ管理部120に送信する(ステップS902)。 The user selects a desired service from a list of services displayed on the operation panel 22 of the image forming apparatus 20 . The browser 210 then transmits the application ID of the application information 1000 corresponding to the service selected by the user and the flow ID of the processing content to the application management unit 120 (step S902).

ここで、本実施形態では、ユーザにより「ストレージサービスAと連携したスキャン配信サービス」の利用が選択されたものとする。したがって、ブラウザ210は、アプリID「app001」と、フローID「flow001」とをアプリ管理部120に送信する。 Here, in the present embodiment, it is assumed that the user has selected to use the "scan delivery service in cooperation with storage service A". Therefore, the browser 210 transmits the application ID “app001” and the flow ID “flow001” to the application management unit 120 .

そして、アプリ管理部120は、ブラウザ210から受け取ったアプリID「app001」のアプリ情報1000に含まれる画面定義に基づいてHTML(HyperText Markup Language)形式のアプリ画面を生成し、ブラウザ210に返信する。 Then, the application management unit 120 generates an application screen in HTML (HyperText Markup Language) format based on the screen definition included in the application information 1000 of the application ID “app001” received from the browser 210 and returns it to the browser 210 .

画像形成装置20のブラウザ210は、アプリ管理部120からアプリ画面を受け取ると、表示用情報の取得をデータI/F部140に要求する(ステップS903)。 Upon receiving the application screen from the application management unit 120, the browser 210 of the image forming apparatus 20 requests the data I/F unit 140 to acquire display information (step S903).

ここで、表示用情報とは、例えばアプリ画面の選択欄の各選択要素のことである。すなわち、本実施形態では、ブラウザ210は、スキャン配信サービスの配信先(保存先)となるストレージサービスAのフォルダの一覧の取得を、データI/F部140に要求する。 Here, the display information is, for example, each selection element in the selection column of the application screen. That is, in the present embodiment, the browser 210 requests the data I/F unit 140 to acquire a list of folders of the storage service A, which is the delivery destination (storage destination) of the scan delivery service.

表示用情報の取得要求は、図6のデータ定義部1102に記述されている「"data_source"」に定義されているURL「http://sample.xxx.co.jp/service-a/data/folders」にHTTPリクエストを送信することで行うことができる。 The display information acquisition request is the URL "http://sample.xxx.co.jp/service-a/data/ folders" by sending an HTTP request.

なお、当該URLのうち、「http://sample.xxx.co.jp」の部分がサービス提供システム10のホスト名、「/service-a/data/folders」の部分がストレージサービス連携部160におけるAPI(すなわち、図5に示すAPI)の指定となる。 In the URL, "http://sample.xxx.co.jp" is the host name of the service providing system 10, and "/service-a/data/folders" is the API (that is, the API shown in FIG. 5) is specified.

次に、データI/F部140は、ブラウザ210から表示用情報の取得要求を受け取ると、当該要求を、対応するストレージサービス連携部160のデータ処理部180に送信する(ステップS904)。すなわち、データI/F部140は、上記のURLに含まれる「service-a」(ストレージサービス名)に基づき、当該要求を、ストレージサービスA連携部160のデータ処理部180に送信する。 Next, when the data I/F unit 140 receives a display information acquisition request from the browser 210, the data I/F unit 140 transmits the request to the corresponding data processing unit 180 of the storage service cooperation unit 160 (step S904). That is, the data I /F unit 140 transmits the request to the data processing unit 180-1 of the storage service A cooperation unit 160-1 based on "service-a" (storage service name) included in the above URL.

データ処理部180は、データI/F部140から表示用情報の取得要求を受け取ると、当該取得要求に含まれるURLに基づく処理要求を外部ストレージシステム40に送信する(ステップS905)。すなわち、データ処理部180は、データI/F部140から受け取った取得要求に含まれるURLに基づき、共通I/F181又は固有I/F182に定義されているAPIを利用して、該当の外部ストレージシステム40に処理を要求する。 When receiving the display information acquisition request from the data I/F unit 140, the data processing unit 180 transmits a processing request based on the URL included in the acquisition request to the external storage system 40 (step S905). That is, based on the URL included in the acquisition request received from the data I/F unit 140, the data processing unit 180 uses the API defined in the common I/F 181 or the unique I/F 182 to access the corresponding external storage. Request the system 40 to process.

より具体的には、上記のURLに含まれる「/service-a/data/folders」に基づき、データ処理部180は、共通I/F181に定義されているAPIを用いて、外部ストレージシステム40にフォルダ一覧の取得を要求する。すると、画像形成装置20のブラウザ210は、ストレージサービスA連携部160を介して、フォルダ一覧を取得する。フォルダ一覧は、本実施形態に係るスキャン配信サービスにおいて、電子ファイルの保存先の候補となるストレージサービスAのフォルダ名及びフォルダID等の情報である。 More specifically, based on "/service-a/data/folders" included in the above URL, the data processing unit 180-1 uses the API defined in the common I / F 181-1 to access the external storage system 40 1 is requested to obtain a folder list. Then, the browser 210 of the image forming apparatus 20 acquires the folder list via the storage service A linking unit 1601 . The folder list is information such as folder names and folder IDs of the storage service A that are candidates for saving destinations of electronic files in the scan delivery service according to the present embodiment.

次に、ブラウザ210は、アプリ管理部120から受け取ったアプリ画面と、外部ストレージシステム40から受け取ったフォルダ一覧とに基づき、例えば図10(a)に示すようなアプリ画面2000を、操作パネル22に表示させる(ステップS906)。 Next, based on the application screen received from the application management unit 120 and the folder list received from the external storage system 40, the browser 210 displays, for example, an application screen 2000 as shown in FIG. display (step S906).

ここで、図10(a)で示すスキャン配信サービスを利用するためのアプリ画面2000は、ファイル名入力欄2001、保存先フォルダ選択欄2002、及びスキャン実行ボタン2003を含む。このうち、ファイル名入力欄2001及び保存先フォルダ選択欄2002は、図10(b)に示すように、それぞれHTMLソースコード2101及び2102で記述されている。このようなHTMLソースコード2101及び2102は、アプリ管理部120により、図6に示すデータ定義部1101及び1102と、図7に示すレイアウト定義部1201及び1202とに基づいて生成される。 Here, the application screen 2000 for using the scan distribution service shown in FIG. Among them, the file name input field 2001 and the save destination folder selection field 2002 are described in HTML source code 2101 and 2102, respectively, as shown in FIG. 10(b). Such HTML source codes 2101 and 2102 are generated by the application management section 120 based on the data definition sections 1101 and 1102 shown in FIG. 6 and the layout definition sections 1201 and 1202 shown in FIG.

ただし、HTMLソースコード2102に指定されている「option」の設定値は、外部ストレージシステム40から取得したフォルダ一覧に基づき、ブラウザ210で設定される。このように、アプリ画面2000は、アプリ情報1000に含まれる画面定義に基づきアプリ管理部120で生成されたHTMLに対して、外部ストレージシステム40から取得したフォルダ一覧の情報を設定することで生成される。 However, the setting value of "option" specified in the HTML source code 2102 is set by the browser 210 based on the folder list obtained from the external storage system 40. FIG. As described above, the application screen 2000 is generated by setting the folder list information acquired from the external storage system 40 to the HTML generated by the application management unit 120 based on the screen definition included in the application information 1000. be.

次に、ユーザは、図10(a)のアプリ画面2000において、ファイル名入力欄2001に所望のファイル名を入力して、保存先フォルダ選択欄2002から所望の保存先フォルダを選択する。そして、画像形成装置20のスキャナ26に原稿をセットして、スキャン実行ボタン2003を押下する。すると、画像形成装置20のブラウザ210は、これらの操作を受け付ける(ステップS907)。 Next, the user enters a desired file name in the file name input field 2001 on the application screen 2000 of FIG. Then, the document is set on the scanner 26 of the image forming apparatus 20, and the scan execution button 2003 is pressed. The browser 210 of the image forming apparatus 20 then accepts these operations (step S907).

ここで、ユーザは、ファイル名入力欄2001にファイル名「test」を入力し、保存先フォルダ選択欄2002から「FolderB」を選択して、スキャン実行ボタン2003を押下したものとする。すると、画像形成装置20のスキャナ26により原稿が読み取られ、ファイル名「test」の電子ファイルが生成される(ステップS908)。 Here, it is assumed that the user has entered the file name “test” in the file name input field 2001 , selected “FolderB” from the destination folder selection field 2002 , and pressed the scan execution button 2003 . Then, the document is read by the scanner 26 of the image forming apparatus 20, and an electronic file with the file name "test" is generated (step S908).

続いて、画像形成装置20のブラウザ210は、スキャン配信サービスの処理実行要求をロジック処理部130に送信する(ステップS909)。ここで、当該実行要求には、アプリID「app001」と、当該アプリIDのアプリ情報1000に含まれる処理内容1300のフローID「flow001」と、生成された電子ファイルと、選択された保存先フォルダ「FolderB」のフォルダID「folder_id_b」とが含まれる。 Subsequently, the browser 210 of the image forming apparatus 20 transmits a processing execution request of the scan distribution service to the logic processing unit 130 (step S909). Here, the execution request includes the application ID "app001", the flow ID "flow001" of the process content 1300 included in the application information 1000 of the application ID, the generated electronic file, and the selected storage destination folder. The folder ID "folder_id_b" of "FolderB" is included.

ロジック処理部130は、ブラウザ210から処理実行要求を受け取ると、当該処理実行要求に含まれるアプリID及びフローIDに対応する処理内容に基づく一連の処理を実行するフロー実行処理を行う(ステップS910)。これにより、ストレージサービスAと連携したスキャン配信サービスが実現される。なお、フロー実行処理の詳細については後述する。 Upon receiving a process execution request from the browser 210, the logic processing unit 130 performs a flow execution process of executing a series of processes based on the process content corresponding to the application ID and flow ID included in the process execution request (step S910). . As a result, a scan distribution service in cooperation with the storage service A is realized. Details of the flow execution process will be described later.

そして、ロジック処理部130は、フロー実行処理の処理結果を、画像形成装置20のブラウザ210に送信する(ステップS911)。これにより、本実施形態に係るスキャン配信サービスが完了する。 Then, the logic processing unit 130 transmits the processing result of the flow execution processing to the browser 210 of the image forming apparatus 20 (step S911). This completes the scan delivery service according to the present embodiment.

≪フロー実行処理≫
次に、図9のステップS910のフロー実行処理の詳細について説明する。フロー実行処理は、主に、ロジック処理部130により実行される。したがって、フロー実行処理の詳細について説明する前に、ロジック処理部130の詳細な処理ブロックについて、図11を参照しながら説明する。図11は、第一の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。
≪Flow execution processing≫
Next, details of the flow execution process in step S910 of FIG. 9 will be described. Flow execution processing is mainly executed by the logic processing unit 130 . Therefore, before describing details of the flow execution process, detailed processing blocks of the logic processing unit 130 will be described with reference to FIG. 11 . FIG. 11 is a diagram illustrating an example of processing blocks of a logic processing unit according to the first embodiment;

ロジック処理部130は、フロー実行部131、コンポーネント管理部132、コンポーネント群133、型変換管理部134、及び型変換群135を有する。また、ロジック処理部130は、コンポーネント情報テーブル3000、及び型変換テーブル4000を利用する。 The logic processing unit 130 has a flow execution unit 131 , a component management unit 132 , a component group 133 , a type conversion management unit 134 and a type conversion group 135 . Also, the logic processing unit 130 uses the component information table 3000 and the type conversion table 4000 .

フロー実行部131は、画像形成装置20のブラウザ210から処理実行要求を受け取ると、アプリ管理部120を介して、アプリ情報1000から処理内容を取得する。そして、フロー実行部131は、取得した処理内容に記述された一連の処理の内容に従って、当該一連の処理に含まれる一の処理を実行するコンポーネントの取得を要求する。また、フロー実行部131は、取得したコンポーネントに対して処理の実行を要求する。 Upon receiving a processing execution request from the browser 210 of the image forming apparatus 20 , the flow execution unit 131 acquires the processing content from the application information 1000 via the application management unit 120 . Then, the flow execution unit 131 requests acquisition of a component that executes one process included in the series of processes according to the contents of the series of processes described in the acquired process contents. Further, the flow execution unit 131 requests the acquired component to execute processing.

コンポーネント管理部132は、フロー実行部131からのコンポーネントの取得要求に応じて、コンポーネントの生成を行う。なお、コンポーネントの生成とは、例えばクラスで定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することを意味する。 The component management unit 132 generates a component in response to a component acquisition request from the flow execution unit 131 . Note that generating a component means, for example, developing a component defined by a class on a memory (for example, RAM 14).

コンポーネント管理部132は、コンポーネント判別部1321、既存コンポーネント生成部1322、追加コンポーネント生成部1323、及びコンポーネント登録部1324を有する。 The component management unit 132 has a component determination unit 1321 , an existing component generation unit 1322 , an additional component generation unit 1323 and a component registration unit 1324 .

コンポーネント判別部1321は、フロー実行部131からのコンポーネントの取得要求に応じて、コンポーネント情報テーブル3000を参照し、当該取得要求に係るコンポーネントが、既存コンポーネント又は追加コンポーネントのいずれであるかを判別する。 The component determination unit 1321 refers to the component information table 3000 in response to a component acquisition request from the flow execution unit 131, and determines whether the component related to the acquisition request is an existing component or an additional component.

ここで、既存コンポーネントとは、サービス提供システム10に予め組み込まれているコンポーネントのことを言う。一方、追加コンポーネントとは、ユーザがPC端末30を介して、コンポーネント情報テーブル3000に登録されたコンポーネントのことを言う。換言すれば、追加コンポーネントとは、ユーザにより開発等され、サービス提供システム10に追加されたコンポーネントのことである。 Here, the existing component refers to a component pre-installed in the service providing system 10 . On the other hand, an additional component is a component registered in the component information table 3000 via the PC terminal 30 by the user. In other words, the additional component is a component developed by the user and added to the service providing system 10 .

このように、本実施形態に係るサービス提供システム10では、ユーザにより開発等されたコンポーネントを追加することができる。このため、ユーザは、追加コンポーネントを用いて実現される一連の処理を処理内容として記述することができるため、様々なサービスを提供するアプリ情報1000を開発することができるようになる。 As described above, in the service providing system 10 according to the present embodiment, it is possible to add a component developed by a user. Therefore, the user can describe a series of processes realized using the additional component as the process content, and thus can develop the application information 1000 that provides various services.

既存コンポーネント生成部1322は、コンポーネント判別部1321によりコンポーネントの取得要求に係るコンポーネントが既存コンポーネントであると判別された場合、当該取得要求に係る既存コンポーネントを生成する。 When the component determination unit 1321 determines that the component related to the component acquisition request is an existing component, the existing component generation unit 1322 generates the existing component related to the acquisition request.

追加コンポーネント生成部1323は、コンポーネント判別部1321によりコンポーネントの取得要求に係るコンポーネントが追加コンポーネントであると判別された場合、当該取得要求に係る追加コンポーネントを生成する。 When the component determination unit 1321 determines that the component related to the component acquisition request is the additional component, the additional component generation unit 1323 generates the additional component related to the acquisition request.

コンポーネント登録部1324は、PC端末30のブラウザ310からの要求に応じて、追加コンポーネントをコンポーネント情報テーブル3000に登録する。また、コンポーネント登録部1324は、PC端末30のブラウザ310からの要求に応じて、コンポーネント情報テーブル3000に登録されている追加コンポーネントの更新や削除を行う。 The component registration unit 1324 registers additional components in the component information table 3000 in response to requests from the browser 310 of the PC terminal 30 . The component registration unit 1324 also updates or deletes additional components registered in the component information table 3000 in response to requests from the browser 310 of the PC terminal 30 .

ここで、コンポーネント情報テーブル3000について、図12を参照しながら説明する。図12は、第一の実施形態に係るコンポーネント情報の一例を示す図である。 Here, the component information table 3000 will be explained with reference to FIG. FIG. 12 is a diagram showing an example of component information according to the first embodiment.

図12に示すコンポーネント情報テーブル3000は、コンポーネント毎に、コンポーネントに関する情報(コンポーネント情報)を管理する。コンポーネント情報は、データ項目として、コンポーネント名、バージョン、パラメータ、及びファイルを有する。 A component information table 3000 shown in FIG. 12 manages information on components (component information) for each component. Component information has component name, version, parameter, and file as data items.

コンポーネント名は、コンポーネントの情報である。バージョンは、コンポーネントのバージョンである。各コンポーネントは、コンポーネント名及びバージョンにより一意に識別される。 The component name is component information. Version is the version of the component. Each component is uniquely identified by a component name and version.

パラメータは、コンポーネントに対する入力パラメータである。例えば、外部ストレージシステム40に電子ファイルを配信するためのコンポーネント(後述する配信コンポーネント)のパラメータは、当該外部ストレージシステム40における保存先のフォルダのフォルダID等である。 A parameter is an input parameter to a component. For example, the parameters of a component (distribution component described later) for distributing an electronic file to the external storage system 40 are the folder ID of the destination folder in the external storage system 40 and the like.

ファイルは、コンポーネントを生成するための電子ファイル(以降では、この電子ファイルを「生成ファイル」と表す。)が、例えばJAR(Java Archive)等のデータ形式で格納される。したがって、本実施形態では、追加コンポーネントのコンポーネント情報のデータ項目「ファイル」には、当該追加コンポーネントの生成ファイルが格納される。一方で、既存コンポーネントのコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されない。 A file stores an electronic file for generating a component (hereinafter, this electronic file is referred to as a "generated file") in a data format such as JAR (Java Archive). Therefore, in this embodiment, the data item "file" of the component information of the additional component stores the generated file of the additional component. On the other hand, the generated file is not stored in the data item "file" of the component information of the existing component.

より具体的には、図12に示すコンポーネント情報テーブル3000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されていない。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「ファイル」には、コンポーネントの生成ファイルが格納されている。 More specifically, in the component information table 3000 shown in FIG. 12, the generated file is not stored in the data item "file" of the component information with the component name "ocrA" and version "v1". On the other hand, the data item "file" of the component information with the component name "ocrB" and version "v2" stores the generated file of the component.

したがって、図12に示すコンポーネント情報テーブル3000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報は、既存コンポーネントのコンポーネント情報である。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報は、追加コンポーネントのコンポーネント情報である。 Therefore, in the component information table 3000 shown in FIG. 12, the component information of the component name "ocrA" and the version "v1" is the component information of the existing component. On the other hand, the component information of the component name "ocrB" and the version "v2" is the component information of the additional component.

コンポーネント群133は、既存コンポーネントや追加コンポーネントの集合である。コンポーネント群133には、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報に対応するOCRAコンポーネント1331が含まれる。また、コンポーネント群133には、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報に対応するOCRBコンポーネント1332が含まれる。 A component group 133 is a set of existing components and additional components. The component group 133 includes an OCRA component 1331 corresponding to component information with the component name "ocrA" and version "v1". The component group 133 also includes an OCRB component 1332 corresponding to component information with a component name of "ocrB" and a version of "v2".

同様に、コンポーネント群133には、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報に対応する配信Aコンポーネント1333が含まれる。また、コンポーネント群133には、コンポーネント名「uploadB」、バージョン「v1」のコンポーネント情報に対応する配信Bコンポーネント1334が含まれる。 Similarly, the component group 133 includes a delivery A component 1333 corresponding to component information with a component name of "uploadA" and a version of "v1". The component group 133 also includes a distribution B component 1334 corresponding to component information with a component name of "uploadB" and a version of "v1".

このように、コンポーネント群133は、コンポーネント情報テーブル3000で管理されているコンポーネント情報に対応するコンポーネントの集合である。 Thus, the component group 133 is a set of components corresponding to the component information managed by the component information table 3000. FIG.

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

このように、各コンポーネントがコンポーネント共通I/F1330を有することで、コンポーネントの追加等に伴う影響を局所化することができる。換言すれば、フロー実行部131やコンポーネント管理部132、他のコンポーネント等に影響を与えることなく、コンポーネントの追加等を行うことができる。このため、コンポーネントの追加等の開発に要する工数を削減することができる。 In this way, each component has the component-common I/F 1330, so that it is possible to localize the influence caused by the addition of a component or the like. In other words, components can be added without affecting the flow execution unit 131, the component management unit 132, other components, and the like. Therefore, it is possible to reduce man-hours required for development such as addition of components.

型変換管理部134は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め定められている。したがって、型変換管理部134は、コンポーネントからの要求に応じて、型変換テーブル4000を参照して、当該要求に応じた型変換を生成する。 The type conversion management unit 134 manages type conversion of data types. Here, each component has a predetermined data type that it can handle. Therefore, the type conversion management unit 134 refers to the type conversion table 4000 in response to a request from a component and generates type conversion according to the request.

ここで、型変換テーブル4000について、図13を参照しながら説明する。図13は、型変換テーブルの一例を示す図である。 Here, the type conversion table 4000 will be described with reference to FIG. FIG. 13 is a diagram showing an example of a type conversion table.

図13に示す型変換テーブル4000は、型変換に関する情報(型変換情報)を管理する。型変換情報は、データ項目として、変換前のデータ型、変換後のデータ型、及び生成する型変換を有する。これにより、例えば、コンポーネントから「InputStream」のデータ型を「LocalFilePath」のデータ型に変換する要求を受け取った場合、型変換管理部134は、後述する第1の型変換1351を生成する。 The type conversion table 4000 shown in FIG. 13 manages information on type conversion (type conversion information). The type conversion information has, as data items, a data type before conversion, a data type after conversion, and a type conversion to be generated. As a result, for example, when receiving a request to convert the data type of "InputStream" to the data type of "LocalFilePath" from the component, the type conversion management unit 134 generates the first type conversion 1351 described later.

そして、型変換管理部134は、生成された型変換に対して型変換処理の実行を要求する。ここで、型変換とは、データ型の型変換処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。 Then, the type conversion management unit 134 requests execution of type conversion processing for the generated type conversion. Here, the type conversion is a module or the like for executing data type type conversion processing, and is defined by, for example, a class or a function.

なお、型変換の生成とは、例えばクラスで定義された型変換を、メモリ(例えばRAM14)上に展開することを意味する。また、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、電子ファイルの実体を示す「File」等が挙げられる。 Note that generating a type conversion means, for example, developing a type conversion defined in a class on a memory (for example, the RAM 14). The data types include, for example, the data type "InputStream" indicating stream data, "LocalFilePath" indicating the path (address) of an electronic file stored in a storage device, etc., and "File" indicating the substance of an electronic file. is mentioned.

型変換群135は、型変換の集合である。型変換群135には、データ型「InputStream」を「LocalFilePath」に変換する第1の型変換1351が含まれる。型変換群135には、第1の型変換1351以外にも、例えば、「LocalFilePath」を「File」に変換する第2の型変換等が含まれる。 A type conversion group 135 is a set of type conversions. The type conversion group 135 includes a first type conversion 1351 that converts the data type "InputStream" to "LocalFilePath". In addition to the first type conversion 1351, the type conversion group 135 includes, for example, a second type conversion for converting "LocalFilePath" to "File".

さらに、これらの各型変換は、型変換共通I/F1350を有する。型変換共通I/F1350は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換に対して処理の実行を要求するためのAPIとが含まれる。このように、各型変換が型変換共通I/F1350を有するようにすることで、型変換の追加等に伴う影響を局所化することができる。換言すれば、型変換管理部134に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、型変換の追加等の開発に要する工数を削減することができる。 Furthermore, each of these type conversions has a type conversion common I/F 1350 . The type conversion common I/F 1350 is an API commonly defined for each type conversion, and includes an API for generating type conversion and an API for requesting execution of processing for type conversion. be In this way, each type conversion has the type conversion common I/F 1350, thereby localizing the influence caused by the addition of type conversion or the like. In other words, addition of components can be performed without affecting the type conversion management unit 134 . As a result, man-hours required for development such as addition of type conversion can be reduced.

続いて、図9のステップS910のフロー実行処理の詳細について、図14を参照しながら説明する。図14は、第一の実施形態に係るフロー実行処理の一例を示すシーケンス図である。 Next, details of the flow execution process in step S910 of FIG. 9 will be described with reference to FIG. FIG. 14 is a sequence diagram illustrating an example of flow execution processing according to the first embodiment.

まず、フロー実行部131は、ブラウザ210からスキャン配信サービスの処理実行要求を受け付けると、アプリ管理部120に処理内容の取得を要求する(ステップS1401)。ここで、当該処理内容の取得要求には、アプリID「app001」と、フローID「flow001」とが含まれる。 First, when the flow execution unit 131 receives a processing execution request of the scan delivery service from the browser 210, it requests the application management unit 120 to acquire the processing content (step S1401). Here, the acquisition request for the processing content includes the application ID "app001" and the flow ID "flow001".

そして、フロー実行部131は、アプリ管理部120からアプリID「app001」に対応するアプリ情報1000に含まれるフローID「flow001」処理内容を取得する。すなわち、フロー実行部131は、図8に示す処理内容1300を取得する。 Then, the flow execution unit 131 acquires from the application management unit 120 the process content of the flow ID “flow001” included in the application information 1000 corresponding to the application ID “app001”. That is, the flow execution unit 131 acquires the processing content 1300 shown in FIG.

フロー実行部131は、取得した処理内容1300に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1402)。より具体的には、フロー実行部131は、図8に示す処理内容1300の処理定義部1302に記述に基づいて、コンポーネント名「ocrB」、バージョン「v2」のコンポーネントの取得を、コンポーネント管理部132に要求する。 The flow execution unit 131 requests the component management unit 132 to acquire the component according to the acquired process content 1300 (step S1402). More specifically, based on the description in the process definition part 1302 of the process content 1300 shown in FIG. request to.

コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、コンポーネント判別部1321により、当該取得要求に係るコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを判別する(ステップS1403)。すなわち、コンポーネント判別部1321は、コンポーネント情報テーブル3000を参照し、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されているか否かを判別する。 When the component management unit 132 receives the component acquisition request, the component determination unit 1321 determines whether the component related to the acquisition request is an existing component or an additional component (step S1403). That is, the component determination unit 1321 refers to the component information table 3000 and determines whether or not the generated file of the component is stored in the data item "file" of the component information with the component name "ocrB" and version "v2". do.

コンポーネント判別部1321は、コンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されている場合、取得要求に係るコンポーネントは追加コンポーネントであると判別する。一方、コンポーネント判別部1321は、コンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されていない場合、取得要求に係るコンポーネントは既存コンポーネントであると判別する。 The component determination unit 1321 determines that the component related to the acquisition request is an additional component when the generated file of the component is stored in the data item "file" of the component information. On the other hand, the component determination unit 1321 determines that the component related to the acquisition request is an existing component when the generated file of the component is not stored in the data item "file" of the component information.

本実施形態では、コンポーネント情報テーブル3000において、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報には、データ項目「ファイル」に、コンポーネントの生成ファイルが格納されている。したがって、コンポーネント判別部1321は、取得要求に係るコンポーネントが追加コンポーネントであると判別する。 In this embodiment, in the component information table 3000, the generated file of the component is stored in the data item "file" in the component information with the component name "ocrB" and version "v2". Therefore, the component determination unit 1321 determines that the component related to the acquisition request is the additional component.

コンポーネント判別部1321は、取得要求に係るコンポーネントが追加コンポーネントであると判別した場合、当該取得要求を追加コンポーネント生成部1323に送信する(ステップS1404)。 When the component determination unit 1321 determines that the component related to the acquisition request is the additional component, the component determination unit 1321 transmits the acquisition request to the additional component generation unit 1323 (step S1404).

次に、追加コンポーネント生成部1323は、当該取得要求を受け取ると、コンポーネント名「ocrB」、バージョン「v2」に基づき、コンポーネント情報テーブル3000からコンポーネントの生成ファイルを取得する(ステップS1405)。すなわち、追加コンポーネント生成部1323は、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「ファイル」に格納されている生成ファイルを取得する。 Next, upon receiving the acquisition request, the additional component generation unit 1323 acquires the generated file of the component from the component information table 3000 based on the component name "ocrB" and version "v2" (step S1405). That is, the additional component generation unit 1323 acquires the generated file stored in the data item “file” of the component information with the component name “ocrB” and version “v2”.

続いて、追加コンポーネント生成部1323は、取得した生成ファイルに基づいて追加コンポーネントを生成する(ステップS1406)。すなわち、追加コンポーネント生成部1323は、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報から取得した生成ファイルに基づいて、OCRBコンポーネント1332を生成する。なお、OCRBコンポーネント1332の生成は、例えば、JAR形式の生成ファイルを実行して、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Subsequently, the additional component generation unit 1323 generates additional components based on the acquired generation file (step S1406). That is, the additional component generation unit 1323 generates the OCRB component 1332 based on the generated file obtained from the component information of the component name “ocrB” and version “v2”. Note that the OCRB component 1332 can be generated, for example, by executing a JAR format generated file and using an API for generating a component defined in the component common I/F 1330 .

そして、追加コンポーネント生成部1323は、OCRBコンポーネント1332が生成されると、OCRBコンポーネント1332をフロー実行部131に返信する。これは、例えば、追加コンポーネント生成部1323は、OCRBコンポーネント1332が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返信すれば良い。 After generating the OCRB component 1332 , the additional component generation unit 1323 returns the OCRB component 1332 to the flow execution unit 131 . For this, for example, the additional component generation unit 1323 may return to the flow execution unit 131 the address on the memory (for example, the RAM 14) where the OCRB component 1332 is expanded.

次に、フロー実行部131は、データを指定して、生成されたOCRBコンポーネント1332に処理の実行を要求する(ステップS1407)。なお、ここで指定されるデータは、データ型が「InputStream」としてブラウザ210から渡される電子ファイルである。 Next, the flow execution unit 131 designates data and requests the generated OCRB component 1332 to execute processing (step S1407). The data specified here is an electronic file passed from the browser 210 with a data type of "InputStream".

すなわち、フロー実行部131は、ブラウザ210からデータ型「InputStream」として渡される電子ファイルを、単に「データ」として(データ型を意識することなく)、OCRBコンポーネント1332に渡して処理の実行を要求する。図14では、このようにデータ型を意識することなく渡される電子ファイル等を、単に「データ」と表す。 That is, the flow execution unit 131 simply passes the electronic file passed from the browser 210 as data type "InputStream" as "data" (without being aware of the data type) to the OCRB component 1332 and requests execution of processing. . In FIG. 14, an electronic file or the like that is passed without being aware of the data type is simply referred to as "data".

次に、OCRBコンポーネント1332は、データが指定された処理の実行要求を受け取ると、データ型の型変換を型変換管理部134に要求する(ステップS1408)。ここで、当該型変換要求には、データと、OCRBコンポーネント1332が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 Next, when the OCRB component 1332 receives a request to execute a process in which data is specified, the OCRB component 1332 requests the type conversion management unit 134 to convert the data type (step S1408). Here, the type conversion request includes the data and the specification of "LocalFilePath" indicating the data type that the OCRB component 1332 can handle.

型変換管理部134は、型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1409)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」であるから、一致しないものと判断される。 Upon receiving the type conversion request, the type conversion management unit 134 checks whether the data type of the data included in the type conversion request matches the specified data type (step S1409). Here, the data type of the data included in the received type conversion request is "InputStream", while the specified data type is "LocalFilePath", so it is determined that they do not match.

すると、型変換管理部134は、型変換テーブル4000を参照し、「InputStream」を「LocalFilePath」に変換するための型変換を特定して(ここでは、第1の型変換1351が特定される)、当該特定された型変換を生成する(ステップS1410)。 Then, the type conversion management unit 134 refers to the type conversion table 4000 and identifies the type conversion for converting "InputStream" to "LocalFilePath" (here, the first type conversion 1351 is identified). , generates the identified type conversion (step S1410).

次に、型変換管理部134は、生成された第1の型変換1351に対して、データを指定して型変換処理の実行を要求する(ステップS1411)。すると、第1の型変換1351は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS1412)、当該変換後のデータを型変換管理部134に返信する。そして、型変換管理部134は、型変換後のデータをOCRBコンポーネント1332に返信する(ステップS1413)。 Next, the type conversion management unit 134 designates data and requests the generated first type conversion 1351 to execute type conversion processing (step S1411). Then, the first type conversion 1351 converts the data type of the specified data from “InputStream” to “LocalFilePath” (step S 1412 ), and returns the converted data to the type conversion management unit 134 . Then, the type conversion management unit 134 returns the type-converted data to the OCRB component 1332 (step S1413).

OCRBコンポーネント1332は、型変換後のデータを受け取ると、処理を実行する(ステップS1414)。すなわち、データ型「LocalFilePath」のデータ(つまり、パス又はアドレス)により示される電子ファイルに対して、OCR処理を実行する。より具体的には、OCRBコンポーネント1332は、ドキュメントサービス部150のOCR処理151に処理を要求し、OCR処理151が当該電子ファイルに対して処理を実行する。 When the OCRB component 1332 receives the type-converted data, it performs processing (step S1414). That is, the OCR process is performed on the electronic file indicated by the data of the data type "LocalFilePath" (that is, path or address). More specifically, the OCRB component 1332 requests processing from the OCR processing 151 of the document service section 150, and the OCR processing 151 executes processing on the electronic file.

そして、OCRBコンポーネント1332は、処理の実行が完了すると、データをフロー実行部131に返信する。なお、ここで返信されるデータは、OCR処理後の電子ファイルを示すパス又はアドレスである(すなわち、返信されるデータのデータ型は「LocalFilePath」である。)。 Then, the OCRB component 1332 returns the data to the flow execution unit 131 when execution of the process is completed. The data returned here is a path or address indicating the electronic file after OCR processing (that is, the data type of the returned data is "LocalFilePath").

次に、フロー実行部131は、取得した処理内容1300に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1415)。より具体的には、フロー実行部131は、図8に示す処理内容1300の処理定義部1302の次の処理定義部1303の記述に基づいて、コンポーネント名「uploadA」、バージョン「v1」のコンポーネントの取得を、コンポーネント管理部132に要求する。 Next, the flow execution unit 131 requests the component management unit 132 to acquire the component according to the acquired process content 1300 (step S1415). More specifically, the flow execution unit 131 creates a component with the component name “uploadA” and the version “v1” based on the description in the process definition part 1303 following the process definition part 1302 of the process content 1300 shown in FIG. It requests the component management unit 132 to acquire it.

コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、コンポーネント判別部1321により、当該取得要求に係るコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを判別する(ステップS1416)。すなわち、コンポーネント判別部1321は、コンポーネント情報テーブル3000を参照し、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されているか否かを判別する。 When the component acquisition request is received, the component management unit 132 determines, by the component determination unit 1321, whether the component related to the acquisition request is an existing component or an additional component (step S1416). That is, the component determination unit 1321 refers to the component information table 3000 and determines whether or not the generated file of the component is stored in the data item "file" of the component information with the component name "uploadA" and version "v1". do.

コンポーネント判別部1321は、コンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されている場合、取得要求に係るコンポーネントは追加コンポーネントであると判別する。一方、コンポーネント判別部1321は、コンポーネント情報のデータ項目「ファイル」に、コンポーネントの生成ファイルが格納されていない場合、取得要求に係るコンポーネントは既存コンポーネントであると判別する。 The component determination unit 1321 determines that the component related to the acquisition request is an additional component when the generated file of the component is stored in the data item "file" of the component information. On the other hand, the component determination unit 1321 determines that the component related to the acquisition request is an existing component when the generated file of the component is not stored in the data item "file" of the component information.

本実施形態では、コンポーネント情報テーブル3000において、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報には、データ項目「ファイル」に、コンポーネントの生成ファイルが格納されていない。したがって、コンポーネント判別部1321は、取得要求に係るコンポーネントが既存コンポーネントであると判別する。 In this embodiment, in the component information table 3000, the generated file of the component is not stored in the data item "file" in the component information with the component name "uploadA" and version "v1". Therefore, the component determination unit 1321 determines that the component related to the acquisition request is an existing component.

コンポーネント判別部1321は、取得要求に係るコンポーネントが既存コンポーネントであると判別した場合、当該取得要求を既存コンポーネント生成部1322に送信する(ステップS1417)。 When the component determination unit 1321 determines that the component related to the acquisition request is an existing component, the component determination unit 1321 transmits the acquisition request to the existing component generation unit 1322 (step S1417).

次に、既存コンポーネント生成部1322は、コンポーネントの取得要求を受け取ると、当該取得要求に係る既存コンポーネントを生成する(ステップS1418)。すなわち、既存コンポーネント生成部1322は、コンポーネント名「uploadA」、バージョン「v1」に基づいて、配信Aコンポーネント1333を生成する。なお、配信Aコンポーネント1333の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Next, upon receiving the component acquisition request, the existing component generation unit 1322 generates an existing component related to the acquisition request (step S1418). That is, the existing component generation unit 1322 generates the distribution A component 1333 based on the component name "uploadA" and version "v1". Generation of the distribution A component 1333 can be performed using an API for generating a component defined in the component common I/F 1330 .

そして、既存コンポーネント生成部1322は、配信Aコンポーネント1333が生成されると、配信Aコンポーネント1333をフロー実行部131に返信する。これは、例えば、既存コンポーネント生成部1322は、配信Aコンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返信すれば良い。 Then, when the distribution A component 1333 is generated, the existing component generation unit 1322 returns the distribution A component 1333 to the flow execution unit 131 . For example, the existing component generation unit 1322 may return the address on the memory (for example, the RAM 14) where the distribution A component 1333 is expanded to the flow execution unit 131. FIG.

次に、フロー実行部131は、データを指定して、生成された配信Aコンポーネント1333に処理の実行を要求する(ステップS1419)。なお、ここで指定されるデータは、データ型が「LocalFilePath」としてOCRBコンポーネント1332から返信されたOCR処理後の電子ファイルである。 Next, the flow execution unit 131 designates data and requests the generated distribution A component 1333 to execute processing (step S1419). The data specified here is the electronic file after the OCR process returned from the OCRB component 1332 with the data type of "LocalFilePath".

次に、配信Aコンポーネント1333は、データが指定された処理の実行要求を受け取ると、データ型の型変換を型変換管理部134に要求する(ステップS1420)。ここで、当該型変換要求には、データと、配信Aコンポーネント1333が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。 Next, when the distribution A component 1333 receives a request to execute a process in which data is specified, it requests the type conversion management unit 134 to convert the data type (step S1420). Here, the type conversion request includes data and specification of "LocalFilePath" indicating the data type that the delivery A component 1333 can handle.

型変換管理部134は、型変換要求を受け取ると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1421)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」であるから、一致するものと判断される。 Upon receiving the type conversion request, the type conversion management unit 134 checks whether the data type of the data included in the type conversion request matches the specified data type (step S1421). Here, since the data type of the data included in the received type conversion request is "LocalFilePath" and the specified data type is also "LocalFilePath", it is determined that they match.

そして、型変換管理部134は、型変換要求に含まれていたデータを、そのまま配信Aコンポーネント1333に送信する(ステップS1422)。このように、データ型チェック(ステップS1421の処理)で両者のデータ型が一致する場合には、型変換管理部134は型変換の生成を行わない。 Then, the type conversion management unit 134 transmits the data included in the type conversion request to the distribution A component 1333 as it is (step S1422). In this way, when the data types of both match in the data type check (processing of step S1421), the type conversion management unit 134 does not generate type conversion.

配信Aコンポーネント1333は、型変換管理部134からデータを受け取ると、処理を実行する(ステップS1423)。 When the distribution A component 1333 receives data from the type conversion management unit 134, it executes processing (step S1423).

すなわち、配信Aコンポーネント1333は、ストレージサービスA連携部160のファイル処理部170に対して、共通I/F171として定義されているファイル保存のAPIを用いて、データの配信実行を要求する。より具体的には、配信Aコンポーネント1333は、ストレージサービスA連携部160のファイル処理部170に対して、図5(a)に示すAPIとして「service-a/process/folder」を用いてデータの配信実行を要求する。これにより、ストレージサービスAのフォルダ「FolderB」に、ファイル名「test」の電子ファイル(スキャンにより生成された電子ファイルに対してOCR処理した電子ファイル)が保存される。 That is, the distribution A component 1333 requests the file processing unit 170 1 of the storage service A cooperation unit 160 1 to execute data distribution using the file storage API defined as the common I/F 171 1 . . More specifically, the distribution A component 1333 uses the API "service - a/process/folder" shown in FIG. Requests delivery execution of data. As a result, the electronic file with the file name "test" (an electronic file obtained by OCR processing the electronic file generated by scanning) is saved in the folder "FolderB" of the storage service A.

そして、配信Aコンポーネント1333は、処理の実行が完了すると、データをフロー実行部131に返信する。なお、ここで返信されるデータは、例えば、ストレージサービスAに対して電子ファイルの配信が正常に行われたことを示す処理結果である。これにより、本実施形態に係るサービス提供システム10において、処理内容1300に基づく、ストレージサービスAと連携した一連の処理の実行が完了する。 Then, the delivery A component 1333 returns the data to the flow execution unit 131 after completing the execution of the process. The data returned here is, for example, a processing result indicating that the electronic file has been successfully delivered to the storage service A. As a result, in the service providing system 10 according to this embodiment, execution of a series of processes in cooperation with the storage service A based on the process content 1300 is completed.

以上のように、本実施形態に係るサービス提供システム10では、サービスを実現するための一連の処理に含まれる一の処理を実行するコンポーネントが、既存コンポーネント又は追加コンポーネントのいずれであるかを判別する。そして、本実施形態に係るサービス提供システム10では、判別結果に応じて、既存コンポーネント又は追加コンポーネントを生成する。 As described above, the service providing system 10 according to the present embodiment determines whether a component that executes one process included in a series of processes for realizing a service is an existing component or an additional component. . Then, in the service providing system 10 according to this embodiment, an existing component or an additional component is generated according to the determination result.

このように、本実施形態に係るサービス提供システム10では、例えばJAR形式等で開発や配布等される様々なコンポーネントを利用することができる。このため、例えば、アプリ情報1000の開発者等は、追加コンポーネントも含めた様々なコンポーネントにより実行される処理で構成される一連の処理の内容を処理内容として記述することができる。したがって、本実施形態に係るサービス提供システム10では、追加コンポーネントにより実行される処理を含む一連の処理で実現される多様なサービスを提供することができるようになる。 As described above, in the service providing system 10 according to the present embodiment, various components developed and distributed in the JAR format, for example, can be used. Therefore, for example, the developer or the like of the application information 1000 can describe the details of a series of processes including processes executed by various components including additional components as the process details. Therefore, the service providing system 10 according to the present embodiment can provide various services realized by a series of processes including processes executed by additional components.

≪コンポーネントの追加、更新、及び削除処理≫
次に、本実施形態に係るサービス提供システム10に対して追加コンポーネントを追加する場合や追加コンポーネントを更新する場合、追加コンポーネントを削除する場合の処理について、図15を参照しながら説明する。図15は、第一の実施形態に係るコンポーネントの追加、更新、及び削除処理の一例を示すシーケンス図である。
<<Adding, updating, and deleting components>>
Next, processing for adding an additional component to the service providing system 10 according to the present embodiment, updating the additional component, and deleting the additional component will be described with reference to FIG. 15 . FIG. 15 is a sequence diagram illustrating an example of component addition, update, and deletion processing according to the first embodiment.

まず、コンポーネントの開発者等のユーザは、PC端末30のブラウザ310により、コンポーネント編集画面の表示操作を行う。すると、ブラウザ310は、当該表示操作を受け付けて、例えば図16(a)に示すコンポーネント編集画面5000を、表示装置12に表示させる(ステップS1501)。 First, a user, such as a developer of a component, uses the browser 310 of the PC terminal 30 to display a component editing screen. Then, the browser 310 accepts the display operation and causes the display device 12 to display, for example, the component edit screen 5000 shown in FIG. 16A (step S1501).

図16(a)に示すコンポーネント編集画面5000は、追加コンポーネントの追加(登録)、更新、及び削除を行うための画面である。コンポーネント編集画面5000には、新たなコンポーネントをコンポーネント情報テーブル3000に登録するための追加ボタン5010、登録されている追加コンポーネントを更新するための更新ボタン5020、削除するための削除ボタン5030が含まれる。 A component edit screen 5000 shown in FIG. 16A is a screen for adding (registering), updating, and deleting additional components. The component edit screen 5000 includes an add button 5010 for registering a new component in the component information table 3000, an update button 5020 for updating the registered additional component, and a delete button 5030 for deleting.

コンポーネント編集画面5000において、ユーザにより追加ボタン5010が選択された場合、ブラウザ310は、当該操作を受け付けて、例えば図16(b)に示すコンポーネント追加画面5100を表示させる(ステップS1502)。 When the user selects the add button 5010 on the component edit screen 5000, the browser 310 accepts the operation and displays the component add screen 5100 shown in FIG. 16B, for example (step S1502).

図16(b)に示すコンポーネント追加画面5100は、コンポーネントを追加(登録)するための画面であり、コンポーネント名欄5110、ファイル欄5120、参照ボタン5130、及び登録ボタン5140が含まれる。 A component addition screen 5100 shown in FIG. 16B is a screen for adding (registering) a component, and includes a component name column 5110, a file column 5120, a reference button 5130, and a register button 5140.

ユーザは、コンポーネント名欄5110に登録する追加コンポーネントのコンポーネント名を入力し、ファイル欄5120に追加コンポーネントの生成ファイルを指定した上で、登録ボタン5140を押下して、追加コンポーネントの登録操作を行う。すると、ブラウザ310は、当該登録操作を受け付ける(ステップS1503)。なお、ユーザは、参照ボタン5130を押下して生成ファイルの格納先の一覧を表示した上で、当該一覧から所望の生成ファイルを選択することで、ファイル欄5120に生成ファイルを指定しても良い。 The user inputs the component name of the additional component to be registered in the component name column 5110, designates the generated file of the additional component in the file column 5120, and presses the registration button 5140 to register the additional component. The browser 310 then accepts the registration operation (step S1503). Note that the user may specify a generated file in the file field 5120 by pressing the reference button 5130 to display a list of generated file storage locations and then selecting a desired generated file from the list. .

ブラウザ310は、追加コンポーネントの登録操作を受け付けると、コンポーネントの登録を、コンポーネント管理部132に要求する(ステップS1504)。なお、コンポーネントの登録要求には、コンポーネント名欄5110に指定されたコンポーネント名と、ファイル欄5120に指定された生成ファイルとが含まれる。 The browser 310, upon receiving the registration operation of the additional component, requests the component management unit 132 to register the component (step S1504). Note that the component registration request includes the component name specified in the component name field 5110 and the generated file specified in the file field 5120 .

コンポーネント管理部132は、コンポーネントの登録要求を受け取ると、コンポーネント登録部1324により、当該登録要求に含まれるコンポーネント名及び生成ファイルに基づきコンポーネント情報を作成する。そして、コンポーネント登録部1324は、作成したコンポーネント情報をコンポーネント情報テーブル3000に登録する(ステップS1504)。これにより、本実施形態に係るサービス提供システム10に追加コンポーネントが登録される。 Upon receiving the component registration request, the component management unit 132 causes the component registration unit 1324 to create component information based on the component name and generated file included in the registration request. Then, the component registration unit 1324 registers the created component information in the component information table 3000 (step S1504). As a result, the additional component is registered in the service providing system 10 according to this embodiment.

なお、コンポーネント登録部1324は、当該登録要求に含まれるコンポーネント名と同一のコンポーネント名がコンポーネント情報テーブル3000に存在しない場合、データ項目「バージョン」に「v1」を設定してコンポーネント情報を作成する。一方、コンポーネント登録部1324は、当該登録要求に含まれるコンポーネント名と同一のコンポーネント名がコンポーネント情報テーブル3000に存在する場合、データ項目「バージョン」に最新のバージョンを付与してコンポーネント情報を作成する。 If the component name identical to the component name included in the registration request does not exist in the component information table 3000, the component registration unit 1324 sets "v1" in the data item "version" to create component information. On the other hand, when a component name identical to the component name included in the registration request exists in the component information table 3000, the component registration unit 1324 creates component information by assigning the latest version to the data item "version".

また、コンポーネント登録部1324は、当該登録要求に含まれる生成ファイルから追加コンポーネントの入力パラメータに関する情報を取得して、当該入力パラメータに関する情報を、データ項目「パラメータ」に設定してコンポーネント情報を作成する。なお、コンポーネント登録部1324は、例えばデータ形式が異なる等により、生成ファイルから入力パラメータに関する情報を取得することができない場合は、ユーザに入力パラメータに関する情報を指定させるための画面をPC端末30に表示させても良い。 In addition, the component registration unit 1324 acquires information about the input parameters of the additional component from the generated file included in the registration request, sets the information about the input parameters in the data item "parameter", and creates component information. . If the component registration unit 1324 cannot acquire the information about the input parameters from the generated file due to, for example, a different data format, the component registration unit 1324 displays on the PC terminal 30 a screen for allowing the user to specify the information about the input parameters. You can let me.

コンポーネント編集画面5000において、ユーザにより、更新を所望する追加コンポーネントのコンポーネント名及びバージョンが対応付けられた更新ボタン5020が選択された場合、ブラウザ310は、当該操作を受け付ける。そして、ブラウザ310は、例えば図16(c)に示すコンポーネント更新画面5200を表示させる(ステップS1506)。 When the user selects an update button 5020 associated with the component name and version of the additional component desired to be updated on the component edit screen 5000, the browser 310 accepts the operation. The browser 310 then displays, for example, the component update screen 5200 shown in FIG. 16C (step S1506).

図16(c)に示すコンポーネント更新画面5200は、追加コンポーネントを更新するための画面であり、ファイル欄5210、参照ボタン5220、及び更新ボタン5230が含まれる。 A component update screen 5200 shown in FIG. 16C is a screen for updating additional components, and includes a file column 5210, a reference button 5220, and an update button 5230. FIG.

ユーザは、ファイル欄5210に生成ファイルを指定した上で、更新ボタン5230を押下して、追加コンポーネントの更新操作を行う。すると、ブラウザ310は、当該更新操作を受け付ける(ステップS1507)。なお、ユーザは、参照ボタン5220を押下して、生成ファイルの格納先の一覧を表示した上で、当該一覧から所望の生成ファイルを選択することで、ファイル欄5210に生成ファイルを指定しても良い。 The user designates a generated file in the file column 5210 and presses an update button 5230 to update the additional component. The browser 310 then accepts the update operation (step S1507). Note that the user can specify a generated file in the file column 5210 by pressing the reference button 5220 to display a list of generated file storage locations and then selecting a desired generated file from the list. good.

ブラウザ310は、追加コンポーネントの更新操作を受け付けると、コンポーネントの更新を、コンポーネント管理部132に要求する(ステップS1508)。なお、コンポーネントの更新要求には、ユーザにより選択された更新ボタン5020に対応付けられたコンポーネント名及びバージョンと、ファイル欄5210に指定された生成ファイルとが含まれる。 The browser 310, upon receiving the operation to update the additional component, requests the component management unit 132 to update the component (step S1508). Note that the component update request includes the component name and version associated with the update button 5020 selected by the user, and the generated file specified in the file column 5210 .

コンポーネント管理部132は、コンポーネントの更新要求を受け取ると、コンポーネント登録部1324により、コンポーネント情報テーブル3000に登録されているコンポーネント情報を更新する(ステップS1509)。すなわち、コンポーネント登録部1324は、当該登録要求に含まれるコンポーネント名及びバージョンに対応するコンポーネント情報のデータ項目「ファイル」を、当該登録要求に含まれる生成ファイルで上書きして更新する。これにより、本実施形態に係るサービス提供システム10に登録されている追加コンポーネントが更新される。 Upon receiving the component update request, the component management unit 132 updates the component information registered in the component information table 3000 by the component registration unit 1324 (step S1509). That is, the component registration unit 1324 overwrites and updates the data item "file" of the component information corresponding to the component name and version included in the registration request with the generated file included in the registration request. As a result, the additional component registered in the service providing system 10 according to this embodiment is updated.

なお、本実施形態に係るサービス提供システム10は、追加コンポーネントの更新により、アプリ情報1000に含まれる処理内容に基づく一連の処理が正常に実行することができなくなる場合、当該更新を行わないようにしても良い。又は、この場合、更新前のコンポーネント情報を残しつつ、更新後のコンポーネント情報をコンポーネント情報テーブル3000に登録するようにしても良い。 Note that the service providing system 10 according to the present embodiment does not perform the update when the update of the additional component makes it impossible to normally execute a series of processes based on the processing content included in the application information 1000. can be Alternatively, in this case, updated component information may be registered in the component information table 3000 while pre-update component information remains.

また、本実施形態に係るサービス提供システム10は、更新対象の追加コンポーネントを利用した一連の処理が実行中である場合、当該一連の処理の実行が完了した後、更新対象の追加コンポーネントを更新すれば良い。 Further, when a series of processes using an additional component to be updated is being executed, the service providing system 10 according to the present embodiment updates the additional component to be updated after the execution of the series of processes is completed. Good luck.

コンポーネント編集画面5000において、ユーザにより、削除を所望する追加コンポーネントのコンポーネント名及びバージョンに対応付けられた削除ボタン5030が選択された場合、ブラウザ310は、当該操作を受け付ける(ステップS1510)。 When the user selects the delete button 5030 associated with the component name and version of the additional component desired to be deleted on the component edit screen 5000, the browser 310 accepts the operation (step S1510).

ブラウザ310は、追加コンポーネントの削除操作を受け付けると、コンポーネントの削除を、コンポーネント管理部132に要求する(ステップS1511)。なお、コンポーネントの削除要求には、ユーザにより選択された削除ボタン5030に対応付けられたコンポーネント名及びバージョンが含まれる。 The browser 310, upon receiving the deletion operation of the additional component, requests the component management unit 132 to delete the component (step S1511). Note that the component deletion request includes the component name and version associated with the delete button 5030 selected by the user.

コンポーネント管理部132は、コンポーネントの削除要求を受け取ると、コンポーネント登録部1324により、コンポーネント情報テーブル3000に登録されているコンポーネント情報を削除する(ステップS1512)。すなわち、コンポーネント登録部1324は、当該削除要求に含まれるコンポーネント名及びバージョンに対応するコンポーネント情報を、コンポーネント情報テーブル3000から削除する。これにより、本実施形態に係るサービス提供システム10に登録されている追加コンポーネントが削除される。 Upon receiving the component deletion request, the component management unit 132 causes the component registration unit 1324 to delete the component information registered in the component information table 3000 (step S1512). That is, the component registration unit 1324 deletes from the component information table 3000 the component information corresponding to the component name and version included in the deletion request. As a result, the additional component registered in the service providing system 10 according to this embodiment is deleted.

以上のように、本実施形態に係るサービス提供システム10では、PC端末30等から追加コンポーネントの登録を行うことができる。このため、アプリ情報1000の開発者等のユーザは、自身が開発するアプリ情報1000が利用する追加コンポーネントをサービス提供システム10に登録することができる。したがって、本実施形態に係るサービス提供システム10では、様々なサービスを提供することができるようになる。 As described above, in the service providing system 10 according to the present embodiment, it is possible to register an additional component from the PC terminal 30 or the like. Therefore, a user such as a developer of the application information 1000 can register in the service providing system 10 an additional component to be used by the application information 1000 developed by the user. Therefore, the service providing system 10 according to this embodiment can provide various services.

また、本実施形態に係るサービス提供システム10では、登録されている追加コンポーネントを、PC端末30等から更新や削除を行うことができる。このため、アプリ情報1000の開発者等のユーザは、例えば、アプリ情報1000が利用する追加コンポーネントの更新を行うことができ、柔軟にアプリ情報1000を開発することができるようになる。 Further, in the service providing system 10 according to this embodiment, the registered additional component can be updated or deleted from the PC terminal 30 or the like. Therefore, a user such as a developer of the application information 1000 can, for example, update additional components used by the application information 1000, and can develop the application information 1000 flexibly.

さらに、本実施形態に係るサービス提供システム10では、例えばJAR形式等で開発や配布等される生成ファイルを登録することで、追加コンポーネントを利用することができるようになる。このため、本実施形態に係るサービス提供システム10では、既存コンポーネントに影響を与えることなく、追加コンポーネントの登録、更新、削除を行うことができる。すなわち、本実施形態に係るサービス提供システム10では、当該サービス提供システム10を停止等させる必要なく、動的に追加コンポーネントの登録、更新、削除を行うことができる。 Furthermore, in the service providing system 10 according to the present embodiment, additional components can be used by registering generated files developed and distributed in the JAR format, for example. Therefore, in the service providing system 10 according to this embodiment, additional components can be registered, updated, and deleted without affecting existing components. That is, in the service providing system 10 according to this embodiment, it is possible to dynamically register, update, and delete additional components without having to stop the service providing system 10 .

[第二の実施形態]
次に、第二の実施形態に係る情報処理システム1について説明する。第二の実施形態では、フロー実行処理において、実行されるコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを、第一の実施形態と異なる方法で判別する。なお、以降では、第一の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第一の実施形態と同一の符号を用いて、その説明を省略する。
[Second embodiment]
Next, an information processing system 1 according to a second embodiment will be described. In the second embodiment, in the flow execution process, it is determined whether the component to be executed is an existing component or an additional component by a method different from that of the first embodiment. In the following description, portions having substantially the same functions and portions performing the same processing as those of the first embodiment are denoted by the same reference numerals as those of the first embodiment, and description thereof will be omitted.

<ソフトウェア構成>
本実施形態に係る情報処理システム1に含まれるサービス提供システム10のロジック処理部130の処理ブロックについて、図17を参照しながら説明する。図17は、第二の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。
<Software configuration>
Processing blocks of the logic processing unit 130 of the service providing system 10 included in the information processing system 1 according to this embodiment will be described with reference to FIG. 17 . FIG. 17 is a diagram illustrating processing blocks of an example of a logic processing unit according to the second embodiment;

本実施形態に係るロジック処理部130のコンポーネント管理部132は、コンポーネント判別部1321Aを有する。また、本実施形態に係るロジック処理部130は、コンポーネント情報テーブル3000Aを利用する。 The component management unit 132 of the logic processing unit 130 according to this embodiment has a component determination unit 1321A. Also, the logic processing unit 130 according to this embodiment uses the component information table 3000A.

コンポーネント判別部1321Aは、コンポーネントの取得要求に応じて、コンポーネント情報テーブル3000Aを参照し、当該取得要求に係るコンポーネントが、既存コンポーネント又は追加コンポーネントのいずれであるかを判別する。 In response to a component acquisition request, the component determination unit 1321A refers to the component information table 3000A and determines whether the component related to the acquisition request is an existing component or an additional component.

ここで、コンポーネント情報テーブル3000Aについて、図18を参照しながら説明する。図18は、第二の実施形態に係るコンポーネント情報テーブルの一例を示す図である。 Here, component information table 3000A will be described with reference to FIG. FIG. 18 is a diagram showing an example of a component information table according to the second embodiment.

図18に示すコンポーネント情報テーブル3000Aは、データ項目として、さらに、コンポーネント区分を有する。コンポーネント区分は、コンポーネント情報が、既存コンポーネントのコンポーネント情報又は追加コンポーネントのコンポーネント情報のいずれであるかを示す区分である。したがって、本実施形態に係るコンポーネント判別部1321Aは、コンポーネント情報のコンポーネント区分を参照することで、コンポーネントの取得要求に係るコンポーネントが、既存コンポーネント又は追加コンポーネントのいずれであるかを判別することができる。 The component information table 3000A shown in FIG. 18 further has component categories as data items. The component classification is a classification indicating whether the component information is the component information of the existing component or the component information of the additional component. Therefore, the component determination unit 1321A according to this embodiment can determine whether the component related to the component acquisition request is an existing component or an additional component by referring to the component classification of the component information.

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

≪フロー実行処理≫
以降では、本実施形態に係るフロー実行処理について、図19を参照しながら説明する。図19は、第二の実施形態に係るフロー実行処理の一例を示すシーケンス図である。なお、第一の実施形態に係るフロー実行処理と同様の処理を行う箇所については、その説明を省略する。
≪Flow execution processing≫
Hereinafter, flow execution processing according to this embodiment will be described with reference to FIG. 19 . FIG. 19 is a sequence diagram showing an example of flow execution processing according to the second embodiment. It should be noted that the description of the parts that perform the same processing as the flow execution processing according to the first embodiment will be omitted.

コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、コンポーネント判別部1321Aにより、当該取得要求に係るコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを判別する(ステップS1901)。すなわち、コンポーネント判別部1321Aは、コンポーネント情報テーブル3000Aを参照し、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「コンポーネント区分」が、「既存」又は「追加」のいずれであるかを判別する。 When the component management unit 132 receives the component acquisition request, the component determination unit 1321A determines whether the component related to the acquisition request is an existing component or an additional component (step S1901). That is, the component determination unit 1321A refers to the component information table 3000A and determines whether the data item "component classification" of the component information of the component name "ocrB" and version "v2" is "existing" or "additional". determine.

コンポーネント判別部1321Aは、コンポーネント情報のデータ項目「コンポーネント区分」が「追加」である場合、取得要求に係るコンポーネントは追加コンポーネントであると判別する。一方、コンポーネント判別部1321Aは、コンポーネント情報のデータ項目「コンポーネント区分」が「既存」である場合、取得要求に係るコンポーネントは既存コンポーネントであると判別する。 When the data item “component classification” of the component information is “additional”, the component determination unit 1321A determines that the component related to the acquisition request is an additional component. On the other hand, when the data item "component classification" of the component information is "existing", the component determination unit 1321A determines that the component related to the acquisition request is an existing component.

本実施形態では、コンポーネント情報テーブル3000Aにおいて、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報は、データ項目「コンポーネント区分」が「追加」である。したがって、コンポーネント判別部1321Aは、取得要求に係るコンポーネントが追加コンポーネントであると判別する。 In this embodiment, in the component information table 3000A, the data item "component classification" of the component information with the component name "ocrB" and the version "v2" is "added". Therefore, the component determination unit 1321A determines that the component related to the acquisition request is the additional component.

コンポーネント管理部132は、コンポーネントの取得要求を受け取ると、コンポーネント判別部1321Aにより、当該取得要求に係るコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを判別する(ステップS1902)。すなわち、コンポーネント判別部1321Aは、コンポーネント情報テーブル3000Aを参照し、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報のデータ項目「コンポーネント区分」が、「既存」又は「追加」のいずれであるかを判別する。 When the component acquisition request is received, the component management unit 132 uses the component determination unit 1321A to determine whether the component related to the acquisition request is an existing component or an additional component (step S1902). That is, the component determination unit 1321A refers to the component information table 3000A and determines whether the data item "component classification" of the component information of the component name "uploadA" and version "v1" is "existing" or "additional". determine.

本実施形態では、コンポーネント情報テーブル3000Aにおいて、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報は、データ項目「コンポーネント区分」が「既存」である。したがって、コンポーネント判別部1321Aは、取得要求に係るコンポーネントが既存コンポーネントであると判別する。 In this embodiment, in the component information table 3000A, the data item "component classification" of the component information with the component name "uploadA" and version "v1" is "existing". Therefore, the component determination unit 1321A determines that the component related to the acquisition request is the existing component.

以上のように、本実施形態に係るサービス提供システム10では、コンポーネント情報のデータ項目「コンポーネント区分」を参照することで、取得要求に係るコンポーネントが既存コンポーネント又は追加コンポーネントのいずれであるかを判別する。これにより、本実施形態に係るサービス提供システム10では、既存コンポーネント又は追加コンポーネントのいずれであるかの判別を、より簡易に行うことができる。 As described above, in the service providing system 10 according to the present embodiment, by referring to the data item "component classification" of the component information, it is determined whether the component related to the acquisition request is an existing component or an additional component. . Accordingly, in the service providing system 10 according to this embodiment, it is possible to more easily determine whether the component is an existing component or an additional component.

[第三の実施形態]
次に、第三の実施形態に係る情報処理システム1について説明する。第三の実施形態では、フロー実行処理において、既存コンポーネントも生成ファイルに基づいて生成する。なお、以降では、第二の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第二の実施形態と同一の符号を用いて、その説明を省略する。
[Third embodiment]
Next, an information processing system 1 according to a third embodiment will be described. In the third embodiment, the existing component is also generated based on the generated file in the flow execution process. In the following description, portions having substantially the same functions and portions performing the same processing as those of the second embodiment are denoted by the same reference numerals as those of the second embodiment, and description thereof will be omitted.

<ソフトウェア構成>
本実施形態に係る情報処理システム1に含まれるサービス提供システム10のロジック処理部130の処理ブロックについて、図20を参照しながら説明する。図20は、第三の実施形態に係るロジック処理部の一例の処理ブロックを示す図である。
<Software configuration>
Processing blocks of the logic processing unit 130 of the service providing system 10 included in the information processing system 1 according to this embodiment will be described with reference to FIG. 20 . FIG. 20 is a diagram showing an example of processing blocks of a logic processing unit according to the third embodiment.

本実施形態に係るロジック処理部130のコンポーネント管理部132は、既存コンポーネント生成部1322Aを有する。また、本実施形態に係るロジック処理部130は、コンポーネント情報テーブル3000Bを利用する。 The component management unit 132 of the logic processing unit 130 according to this embodiment has an existing component generation unit 1322A. Also, the logic processing unit 130 according to this embodiment uses the component information table 3000B.

既存コンポーネント生成部1322Aは、コンポーネント判別部1321Aによりコンポーネントの取得要求に係るコンポーネントが既存コンポーネントであると判別された場合、当該取得要求に係る既存コンポーネントを生成する。このとき、既存コンポーネント生成部1322Aは、コンポーネント情報テーブル3000Bから既存コンポーネントの生成ファイルを取得し、当該取得した生成ファイルに基づいて既存コンポーネントを生成する。 When the component determination unit 1321A determines that the component related to the component acquisition request is an existing component, the existing component generation unit 1322A generates the existing component related to the acquisition request. At this time, the existing component generation unit 1322A acquires the generated file of the existing component from the component information table 3000B, and generates the existing component based on the acquired generated file.

ここで、コンポーネント情報テーブル3000Bについて、図21を参照しながら説明する。図21は、第三の実施形態に係るコンポーネント情報テーブルの一例を示す図である。 Here, component information table 3000B will be described with reference to FIG. FIG. 21 is a diagram showing an example of a component information table according to the third embodiment.

図21に示すコンポーネント情報テーブル3000Bは、既存コンポーネントのコンポーネント情報のデータ項目「ファイル」に、生成ファイルが格納されている。このように、本実施形態に係るコンポーネント情報テーブル3000Bは、既存コンポーネントの生成ファイルも管理している。 In the component information table 3000B shown in FIG. 21, the generated file is stored in the data item "file" of the component information of the existing component. Thus, the component information table 3000B according to this embodiment also manages generated files of existing components.

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

≪フロー実行処理≫
以降では、本実施形態に係るフロー実行処理について、図22を参照しながら説明する。図22は、第三の実施形態に係るフロー実行処理の一例を示すシーケンス図である。なお、第二の実施形態に係るフロー実行処理と同様の処理を行う箇所については、その説明を省略する。
≪Flow execution processing≫
Hereinafter, flow execution processing according to this embodiment will be described with reference to FIG. 22 . FIG. 22 is a sequence diagram showing an example of flow execution processing according to the third embodiment. It should be noted that descriptions of portions where processing similar to the flow execution processing according to the second embodiment is performed will be omitted.

既存コンポーネント生成部1322Aは、コンポーネントの取得要求を受け取ると、コンポーネント名「uploadA」、バージョン「v1」に基づき、コンポーネント情報テーブル3000Bからコンポーネントの生成ファイルを取得する(ステップS2201)。すなわち、既存コンポーネント生成部1322Aは、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報のデータ項目「ファイル」に格納されている生成ファイルを取得する。 Upon receiving the component acquisition request, the existing component generation unit 1322A acquires the component generation file from the component information table 3000B based on the component name "uploadA" and version "v1" (step S2201). That is, the existing component generation unit 1322A acquires the generation file stored in the data item "file" of the component information with the component name "uploadA" and version "v1".

次に、既存コンポーネント生成部1322Aは、取得した生成ファイルに基づいて既存コンポーネントを生成する(ステップS2202)。すなわち、既存コンポーネント生成部1322Aは、コンポーネント名「uploadA」、バージョン「v1」のコンポーネント情報から取得した生成ファイルに基づいて、配信Aコンポーネント1333を生成する。なお、配信Aコンポーネント1333の生成は、例えば、JAR形式の生成ファイルを実行して、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。 Next, the existing component generation unit 1322A generates an existing component based on the acquired generation file (step S2202). That is, the existing component generation unit 1322A generates the distribution A component 1333 based on the generated file acquired from the component information of the component name "uploadA" and version "v1". Note that the distribution A component 1333 can be generated using, for example, an API for executing a JAR format generation file and generating a component defined in the component common I/F 1330 .

そして、既存コンポーネント生成部1322Aは、配信Aコンポーネント1333が生成されると、配信Aコンポーネント1333をフロー実行部131に返信する。これは、例えば、既存コンポーネント生成部1322Aは、配信Aコンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返信すれば良い。 Then, when the distribution A component 1333 is generated, the existing component generation unit 1322A returns the distribution A component 1333 to the flow execution unit 131 . For example, the existing component generation unit 1322A may return to the flow execution unit 131 the address on the memory (for example, the RAM 14) where the distribution A component 1333 is developed.

以上のように、本実施形態に係るサービス提供システム10では、コンポーネント情報テーブル3000Bに格納された生成ファイルに基づいて、既存コンポーネントの生成を行う。これにより、本実施形態に係るサービス提供システム10では、既存コンポーネントと追加コンポーネントを同様に管理することができる。 As described above, in the service providing system 10 according to this embodiment, existing components are generated based on the generated files stored in the component information table 3000B. As a result, the service providing system 10 according to this embodiment can manage existing components and additional components in the same manner.

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

1 情報処理システム
10 サービス提供システム
20 画像形成装置
30 PC端末
40 外部ストレージシステム
110 サービス処理部
120 アプリ管理部
130 ロジック処理部
131 フロー実行部
132 コンポーネント管理部
133 コンポーネント群
134 型変換管理部
135 型変換群
140 データI/F部
150 ドキュメントサービス部
151 OCR処理
160 ストレージサービス連携部
170 ファイル処理部
180 データ処理部
190 アプリ情報記憶部
1000 アプリ情報
1321 コンポーネント判別部
1322 既存コンポーネント生成部
1323 追加コンポーネント生成部
1324 コンポーネント登録部
3000 コンポーネント情報テーブル
4000 型変換テーブル
1 information processing system 10 service providing system 20 image forming apparatus 30 PC terminal 40 external storage system 110 service processing unit 120 application management unit 130 logic processing unit 131 flow execution unit 132 component management unit 133 component group 134 type conversion management unit 135 type conversion Group 140 data I/F unit 150 document service unit 151 OCR processing 160 storage service cooperation unit 170 file processing unit 180 data processing unit 190 application information storage unit 1000 application information 1321 component determination unit 1322 existing component generation unit 1323 additional component generation unit 1324 Component registration unit 3000 Component information table 4000 Type conversion table

特開2014-032659号公報JP 2014-032659 A

Claims (13)

1以上の情報処理装置が含まれる情報処理システムであって、
電子データを用いた一連の処理を、該一連の処理それぞれを実行するコンポーネントを組み合わせて実行するアプリケーション毎に、前記一連の処理に関する情報を記憶制御する第1の記憶手段と、
ユーザにより登録された第1のコンポーネントと、前記情報処理システムに予め組み込まれている第2のコンポーネントとに関する情報を含むコンポーネント情報を記憶制御する第2の記憶手段と、
前記ユーザの端末で表示される追加画面からの追加要求に応じて、新たな第1のコンポーネントの登録要求を受け付け、前記第2の記憶手段に、該受け付けた第1のコンポーネントに関する情報に基づいて前記第1のコンポーネントを生成するための前記コンポーネント情報を作成し、該作成したコンポーネント情報を前記第1のコンポーネントとして記憶させるコンポーネント登録手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記アプリケーションを識別する情報と電子データに関する情報とを受け付けると、該アプリケーションを識別する情報によって識別されるアプリケーションに対応する前記一連の処理に関する情報に基づく一連の処理を、前記電子データに関する情報により指定される電子データを用いて実行する処理実行手段と
を有し、
前記処理実行手段は、前記アプリケーションに対応する前記一連の処理に関する情報と前記コンポーネント情報とに基づき、前記第1のコンポーネントと前記第2のコンポーネントとを組み合わせて、前記電子データを用いた前記一連の処理を実行する、情報処理システム。
An information processing system including one or more information processing devices,
a first storage means for storing and controlling information on a series of processes using electronic data for each application that executes a series of processes by combining components that execute the series of processes;
a second storage means for controlling storage of component information including information relating to a first component registered by a user and a second component pre-installed in the information processing system;
receiving a registration request for a new first component in response to an addition request from an addition screen displayed on the user's terminal, and storing the information on the received first component in the second storage means component registration means for creating the component information for generating the first component and storing the created component information as the first component ;
When the information identifying the application and the information about the electronic data are received from one device among the one or more devices connected to the information processing system, the information processing apparatus 100 responds to the application identified by the information identifying the application. a process execution means for executing a series of processes based on the information on the series of processes using electronic data specified by the information on the electronic data;
The processing execution means combines the first component and the second component based on information about the series of processing corresponding to the application and the component information to perform the series of processing using the electronic data. An information processing system that executes processing.
前記処理実行手段は、
前記一連の処理のそれぞれの処理毎に、該一連の処理に関する情報と前記コンポーネントに関する情報と基づき、前記第1のコンポーネント又は前記第2のコンポーネントのいずれを用いるかを判別する判別手段を有し、
前記判別手段による判別結果に応じて第1のコンポーネント又は第2のコンポーネントを組み合わせて、前記電子データを用いた前記一連の処理を実行する、請求項1に記載の情報処理システム。
The processing execution means is
determining means for determining whether to use the first component or the second component for each process of the series of processes based on information about the series of processes and information about the component;
2. The information processing system according to claim 1, wherein said series of processes using said electronic data is executed by combining a first component or a second component according to a determination result by said determining means.
前記判別手段は、
前記コンポーネント情報に、該コンポーネントを生成するための生成ファイルが含まれる場合、前記第1のコンポーネントを生成すると判別する、請求項2に記載の情報処理システム。
The determination means is
3. The information processing system according to claim 2, wherein when said component information includes a generation file for generating said component, said first component is determined to be generated.
前記処理実行手段は、
前記第1のコンポーネントを生成する第1の生成手段と、
前記第2のコンポーネントを生成する第2の生成手段と、を有し、
前記判別手段により前記第1のコンポーネントを用いると判別された場合、前記第1の生成手段により前記第1のコンポーネントを生成し、
前記判別手段により前記第2のコンポーネントを用いると判別された場合、前記第2の生成手段により前記第2のコンポーネントを生成する、請求項3記載の情報処理システム。
The processing execution means is
a first generating means for generating the first component;
a second generating means for generating the second component;
generating the first component by the first generating means when the determining means determines to use the first component;
4. The information processing system according to claim 3, wherein said second generating means generates said second component when said determining means determines to use said second component.
前記第1の生成手段は、前記コンポーネント情報に含まれる前記生成ファイルに基づいて、前記第1のコンポーネントを生成する、請求項4に記載の情報処理システム。 5. The information processing system according to claim 4, wherein said first generating means generates said first component based on said generated file included in said component information. 前記コンポーネント登録手段は、
前記情報処理システムに接続される1以上の機器のうちのいずれかの機器に表示された画面を介してユーザにより指定された生成ファイルを含む要求を受け付けると、該生成ファイルを含む前記第1のコンポーネントに関する情報を前記コンポーネント情報として前記第2の記憶手段に記憶させて、該生成ファイルにより生成される第1のコンポーネントを登録する、請求項5に記載の情報処理システム。
The component registration means is
When receiving a request including a generated file specified by a user through a screen displayed on one of the one or more devices connected to the information processing system, the first device including the generated file is received. 6. The information processing system according to claim 5, wherein information about a component is stored in said second storage means as said component information, and said first component generated by said generation file is registered.
前記処理実行手段は、
電子データに対して、該電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記電子データのデータ型を前記型変換手段により該コンポーネントが処理可能なデータ型に変換した後、前記コンポーネントの処理を実行することにより、前記電子データを用いた前記一連の処理を実行する、請求項1ないし6のいずれか1項に記載の情報処理システム。
The processing execution means is
having one or more type conversion means for converting the data type of 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 component by the type conversion means, executing the processing of the component, thereby executing the series of processing using the electronic data. Item 7. The information processing system according to any one of Items 1 to 6.
前記コンポーネントは、外部サービスに関する処理を実行するコンポーネントを含み、
前記外部サービスに関する処理を実行するコンポーネントは、
外部サービスに対して電子データをアップロードする処理を実行するコンポーネントを少なくとも含む、請求項1ないし7のいずれか1項に記載の情報処理システム。
The components include components that perform processing related to external services,
A component that performs processing related to the external service,
8. The information processing system according to any one of claims 1 to 7, comprising at least a component that executes processing for uploading electronic data to an external service.
前記第1の記憶手段と前記第2の記憶手段は同一の記憶装置により実現される、請求項1ないし8のいずれか1項に記載の情報処理システム。 9. The information processing system according to claim 1, wherein said first storage means and said second storage means are realized by the same storage device. 前記情報処理装置は複数のストレージサービスと通信可能に接続され、複数の前記ストレージサービスそれぞれに対応し、対応する前記ストレージサービスに処理の実行を要求する複数の連携手段をさらに有し、
前記一連の処理は、電子データをいずれかの前記ストレージサービスに送信する処理を含む、請求項1ないし9のいずれか1項に記載の情報処理システム。
The information processing device is communicably connected to a plurality of storage services, further comprises a plurality of cooperation means corresponding to each of the plurality of storage services, and requesting the corresponding storage service to execute processing,
10. The information processing system according to any one of claims 1 to 9, wherein said series of processes includes a process of transmitting electronic data to one of said storage services.
情報処理装置であって、
電子データを用いた一連の処理を、該一連の処理それぞれを実行するコンポーネントを組み合わせて実行するアプリケーション毎に、前記一連の処理に関する情報を記憶制御する第1の記憶手段と、
ユーザにより登録された第1のコンポーネントと、前記情報処理装置に予め組み込まれている第2のコンポーネントとに関する情報を含むコンポーネント情報を記憶制御する第2の記憶手段と、
前記ユーザの端末で表示される追加画面からの追加要求に応じて、新たな第1のコンポーネントの登録要求を受け付け、前記第2の記憶手段に、該受け付けた第1のコンポーネントに関する情報に基づいて前記第1のコンポーネントを生成するための前記コンポーネント情報を作成し、該作成したコンポーネント情報を前記第1のコンポーネントとして記憶させるコンポーネント登録手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から、前記アプリケーションを識別する情報と電子データに関する情報とを受け付けると、該アプリケーションを識別する情報によって識別されるアプリケーションに対応する前記一連の処理に関する情報に基づく一連の処理を、前記電子データに関する情報により指定される電子データを用いて実行する処理実行手段と
を有し、
前記処理実行手段は、前記アプリケーションに対応する前記一連の処理に関する情報と前記コンポーネント情報とに基づき、前記第1のコンポーネントと前記第2のコンポーネントとを組み合わせて、前記電子データを用いた前記一連の処理を実行する、情報処理装置。
An information processing device,
a first storage means for storing and controlling information on a series of processes using electronic data for each application that executes a series of processes by combining components that execute the series of processes;
a second storage means for controlling storage of component information including information relating to a first component registered by a user and a second component pre-installed in the information processing apparatus;
receiving a registration request for a new first component in response to an addition request from an addition screen displayed on the user's terminal, and storing the information on the received first component in the second storage means component registration means for creating the component information for generating the first component and storing the created component information as the first component ;
When the information identifying the application and the information about the electronic data are received from one of the one or more devices connected to the information processing device, the application identified by the information identifying the application is identified. a process execution means for executing a series of processes based on the information on the series of processes using electronic data specified by the information on the electronic data;
The processing execution means combines the first component and the second component based on information about the series of processing corresponding to the application and the component information to perform the series of processing using the electronic data. An information processing device that executes processing.
1以上の情報処理装置が含まれる情報処理システムが、
電子データを用いた一連の処理を、該一連の処理それぞれを実行するコンポーネントを組み合わせて実行するアプリケーション毎に、前記一連の処理に関する情報を第1の記憶手段に記憶制御する第1の記憶手順と、
ユーザにより登録された第1のコンポーネントと、前記情報処理システムに予め組み込まれている第2のコンポーネントとに関する情報を含むコンポーネント情報を第2の記憶手段に記憶制御する第2の記憶手順と、
前記ユーザの端末で表示される追加画面からの追加要求に応じて、新たな第1のコンポーネントの登録要求を受け付け、前記第2の記憶手段に、該受け付けた第1のコンポーネントに関する情報に基づいて前記第1のコンポーネントを生成するための前記コンポーネント情報を作成し、該作成したコンポーネント情報を前記第1のコンポーネントとして記憶させるコンポーネント登録手順と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記アプリケーションを識別する情報と電子データに関する情報とを受け付けると、該アプリケーションを識別する情報によって識別されるアプリケーションに対応する前記一連の処理に関する情報に基づく一連の処理を、前記電子データに関する情報により指定される電子データを用いて実行する処理実行手順と
を実行し、
前記処理実行手順は、前記アプリケーションに対応する前記一連の処理に関する情報と前記コンポーネント情報とに基づき、前記第1のコンポーネントと前記第2のコンポーネントとを組み合わせて、前記電子データを用いた前記一連の処理を実行する、情報処理方法。
An information processing system including one or more information processing devices,
a first storage procedure for controlling storage of information about the series of processes in a first storage means for each application that executes a series of processes using electronic data by combining components that execute the series of processes; ,
a second storage procedure for controlling storage of component information including information relating to a first component registered by a user and a second component pre-installed in the information processing system in a second storage means;
receiving a registration request for a new first component in response to an addition request from an addition screen displayed on the user's terminal, and storing the information on the received first component in the second storage means a component registration procedure for creating the component information for generating the first component and storing the created component information as the first component ;
When the information identifying the application and the information about the electronic data are received from one device among the one or more devices connected to the information processing system, the information processing apparatus 100 responds to the application identified by the information identifying the application. a process execution procedure for executing a series of processes based on the information on the series of processes using electronic data specified by the information on the electronic data;
The process execution procedure combines the first component and the second component based on information about the series of processes corresponding to the application and the component information to perform the series of processes using the electronic data. An information processing method that performs processing.
1以上の情報処理装置が含まれる情報処理システムに、
電子データを用いた一連の処理を、該一連の処理それぞれを実行するコンポーネントを組み合わせて実行するアプリケーション毎に、前記一連の処理に関する情報を第1の記憶手段に記憶制御する第1の記憶手順と、
ユーザにより登録された第1のコンポーネントと、前記情報処理システムに予め組み込まれている第2のコンポーネントとに関する情報を含むコンポーネント情報を第2の記憶手段に記憶制御する第2の記憶手順と、
前記ユーザの端末で表示される追加画面からの追加要求に応じて、新たな第1のコンポーネントの登録要求を受け付け、前記第2の記憶手段に、該受け付けた第1のコンポーネントに関する情報に基づいて前記第1のコンポーネントを生成するための前記コンポーネント情報を作成し、該作成したコンポーネント情報を前記第1のコンポーネントとして記憶させるコンポーネント登録手順と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から、前記アプリケーションを識別する情報と電子データに関する情報とを受け付けると、該アプリケーションを識別する情報によって識別されるアプリケーションに対応する前記一連の処理に関する情報に基づく一連の処理を、前記電子データに関する情報により指定される電子データを用いて実行する処理実行手順と
を実行させ、
前記処理実行手順は、前記アプリケーションに対応する前記一連の処理に関する情報と前記コンポーネント情報とに基づき、前記第1のコンポーネントと前記第2のコンポーネントとを組み合わせて、前記電子データを用いた前記一連の処理を実行する、プログラム。
An information processing system including one or more information processing devices,
a first storage procedure for controlling storage of information about the series of processes in a first storage means for each application that executes a series of processes using electronic data by combining components that execute the series of processes; ,
a second storage procedure for controlling storage of component information including information relating to a first component registered by a user and a second component pre-installed in the information processing system in a second storage means;
receiving a registration request for a new first component in response to an addition request from an addition screen displayed on the user's terminal, and storing the information on the received first component in the second storage means a component registration procedure for creating the component information for generating the first component and storing the created component information as the first component ;
When the information identifying the application and the information about the electronic data are received from one device among the one or more devices connected to the information processing system, the information processing apparatus 100 responds to the application identified by the information identifying the application. a process execution procedure for executing a series of processes based on the information on the series of processes using electronic data specified by the information on the electronic data;
The process execution procedure combines the first component and the second component based on information about the series of processes corresponding to the application and the component information to perform the series of processes using the electronic data. A program that performs an action.
JP2020139071A 2020-08-20 2020-08-20 Information processing system, information processing device, information processing method, and program Active JP7173106B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020139071A JP7173106B2 (en) 2020-08-20 2020-08-20 Information processing system, information processing device, information processing method, and program
JP2022128816A JP7444208B2 (en) 2020-08-20 2022-08-12 Information processing system, information processing device, information processing method, and program
JP2024025216A JP2024056998A (en) 2020-08-20 2024-02-22 Information processing system, information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020139071A JP7173106B2 (en) 2020-08-20 2020-08-20 Information processing system, information processing device, information processing method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019106077A Division JP6753489B2 (en) 2019-06-06 2019-06-06 Information processing system, information processing device, information processing method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022128816A Division JP7444208B2 (en) 2020-08-20 2022-08-12 Information processing system, information processing device, information processing method, and program

Publications (3)

Publication Number Publication Date
JP2020205068A JP2020205068A (en) 2020-12-24
JP2020205068A5 JP2020205068A5 (en) 2021-07-26
JP7173106B2 true JP7173106B2 (en) 2022-11-16

Family

ID=73838484

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020139071A Active JP7173106B2 (en) 2020-08-20 2020-08-20 Information processing system, information processing device, information processing method, and program
JP2022128816A Active JP7444208B2 (en) 2020-08-20 2022-08-12 Information processing system, information processing device, information processing method, and program
JP2024025216A Pending JP2024056998A (en) 2020-08-20 2024-02-22 Information processing system, information processing device, information processing method, and program

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022128816A Active JP7444208B2 (en) 2020-08-20 2022-08-12 Information processing system, information processing device, information processing method, and program
JP2024025216A Pending JP2024056998A (en) 2020-08-20 2024-02-22 Information processing system, information processing device, information processing method, and program

Country Status (1)

Country Link
JP (3) JP7173106B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134695A (en) 2007-11-07 2009-06-18 Ricoh Co Ltd Information processor, image processor, application execution method and application execution program
JP2014095986A (en) 2012-11-08 2014-05-22 Ricoh Co Ltd Information processing apparatus, information processing system, information processing method, and program
JP2014127066A (en) 2012-12-27 2014-07-07 Ricoh Co Ltd Information processor, information processing system, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001169065A (en) 1999-12-10 2001-06-22 Murata Mach Ltd Communication terminal device
JP5845107B2 (en) * 2012-02-21 2016-01-20 キヤノン株式会社 Image forming apparatus, control method thereof, and program
JP2014170525A (en) * 2013-02-06 2014-09-18 Ricoh Co Ltd Information process system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134695A (en) 2007-11-07 2009-06-18 Ricoh Co Ltd Information processor, image processor, application execution method and application execution program
JP2014095986A (en) 2012-11-08 2014-05-22 Ricoh Co Ltd Information processing apparatus, information processing system, information processing method, and program
JP2014127066A (en) 2012-12-27 2014-07-07 Ricoh Co Ltd Information processor, information processing system, and program

Also Published As

Publication number Publication date
JP2020205068A (en) 2020-12-24
JP2022160695A (en) 2022-10-19
JP2024056998A (en) 2024-04-23
JP7444208B2 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
US10372485B2 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
JP6859620B2 (en) Information processing system, information processing device, information processing method, and information processing program
US9794447B2 (en) Service providing system, cooperation processing method, and information processing system
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
US11112958B2 (en) Information processing system, service providing system, and flow setting method
US10768975B2 (en) Information processing system, information processing apparatus, and information processing method
CN101288051A (en) Cooperative job flow creating apparatus, cooperative job flow creating method, service processing apparatus, service processing method, management server, flow conversion method, job flow execution me
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
US20180060131A1 (en) Information processing system, information processing apparatus, and information processing method
US10778862B2 (en) Information processing system, information processing method, and computer-readable recording medium
US9904499B2 (en) Information processing system for dynamically adding a process to a sequence of processes and information processing method using same
JP6756270B2 (en) Information processing system, information processing device, information processing method, and program
US11310372B2 (en) Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system
US10348926B2 (en) Information processing system, information processing apparatus, and information processing method
US20200125903A1 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
US10425549B2 (en) Information processing apparatus, method of controlling information processing apparatus, and program
JP7173106B2 (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
US11748173B2 (en) Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP6536308B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
US10567613B2 (en) Information processing system, program, and requesting method
JP2017033218A (en) Information processing system, information processing device, and information processing method
JP7215114B2 (en) Information processing system, information processing device, information processing method, information processing program
US20220300269A1 (en) Information processing apparatus, information processing system, 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: 20200923

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220812

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220812

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220822

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R151 Written notification of patent or utility model registration

Ref document number: 7173106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151