JP2021005349A - Information processing system, service providing system, method, and program - Google Patents

Information processing system, service providing system, method, and program Download PDF

Info

Publication number
JP2021005349A
JP2021005349A JP2019120428A JP2019120428A JP2021005349A JP 2021005349 A JP2021005349 A JP 2021005349A JP 2019120428 A JP2019120428 A JP 2019120428A JP 2019120428 A JP2019120428 A JP 2019120428A JP 2021005349 A JP2021005349 A JP 2021005349A
Authority
JP
Japan
Prior art keywords
application
component
information
unit
service providing
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.)
Withdrawn
Application number
JP2019120428A
Other languages
Japanese (ja)
Inventor
東哲 張
Totetsu Cho
東哲 張
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 JP2019120428A priority Critical patent/JP2021005349A/en
Publication of JP2021005349A publication Critical patent/JP2021005349A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

To provide an information processing system, a service providing system, a method, and a program for supporting the development of an application.SOLUTION: An information processing system includes a service providing system that has an application for executing a series of processing, and a PC terminal that requires the update of a component for executing pieces of processing included in the series of processing. The service providing system has an application management unit including a determination unit that, when acquiring a request for demanding the update of the component from the PC terminal, determines whether application setting information on the application should be corrected, and an automatic correction unit that, when the application setting information should be corrected, corrects the application setting information to update the application.SELECTED DRAWING: Figure 4

Description

本発明は、情報処理システム、サービス提供システム、方法、およびプログラムに関する。 The present invention relates to information processing systems, service providing systems, methods, and programs.

近年、複数の機能(例えば、スキャンやプリント、メール配信等)を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル(画像ファイル)に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する1以上の処理が一連の処理として実行されることにより実現される。 In recent years, services that provide functions that combine a plurality of functions (for example, scanning, printing, mail delivery, etc.) have become known. For example, there is known a service in which an electronic file (image file) generated by scanning is subjected to predetermined processing and then delivered by e-mail. Such a service is realized by executing one or more processes that realize each function as a series of processes.

このような一連の処理を実行させるためのアプリケーションの開発を支援するためのシステム等が開示されている(例えば特許文献1参照)。 A system and the like for supporting the development of an application for executing such a series of processes are disclosed (see, for example, Patent Document 1).

しかしながら、上記の従来技術では、アプリケーションの開発者がアプリ設定をアップデートするたびに既存の設定値が上書きされるため、過去に作成したアプリ設定に簡単に戻ることはできない。また、アプリケーションが利用しているコンポーネント(具体的には、一連の処理に含まれる各処理を実行するためのプログラムやモジュール等)のバージョンが、アプリ設定として記録されていない。 However, in the above-mentioned conventional technology, the existing setting value is overwritten every time the application developer updates the application setting, so that it is not possible to easily return to the application setting created in the past. In addition, the version of the component used by the application (specifically, the program or module for executing each process included in the series of processes) is not recorded as the application setting.

アプリケーションは最新バージョンのコンポーネントを利用しているため、開発者がコンポーネントをバージョンアップすると、コンポーネントのバージョンアップによる予期せぬエラーがアプリケーションに起こってしまう可能性がある。 Since the application uses the latest version of the component, when the developer upgrades the component, an unexpected error due to the component version upgrade may occur in the application.

本発明の一実施形態は、上記の点に鑑みてなされたもので、アプリケーションの開発を支援することを目的とする。 One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to support the development of an application.

上記目的を達成するため、本発明の一実施形態は、一連の処理を実行させるためのアプリケーションを有するサービス提供システムと、前記一連の処理に含まれる各処理を実行するためのコンポーネントの更新を要求する端末と、を含み、前記端末から前記コンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と、を備える。 In order to achieve the above object, one embodiment of the present invention requires an update of a service providing system having an application for executing a series of processes and a component for executing each process included in the series of processes. When a request for updating the component is acquired from the terminal including the terminal to be used, the determination unit and the application setting information for determining whether or not the application setting information of the application should be modified are modified. If it should be done, it includes an automatic correction unit that corrects the application setting information and updates the application.

本発明の一実施形態によれば、アプリケーションの開発を支援することができる。 According to one embodiment of the present invention, it is possible to support the development of an application.

本発明の一実施形態に係る情報処理システムの一例のシステム構成を示す図である。It is a figure which shows the system structure of an example of the information processing system which concerns on one Embodiment of this invention. 本発明の一実施形態に係るサービス提供システム及びPC端末の一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of the service providing system and the PC terminal which concerns on one Embodiment of this invention. 本発明の一実施形態に係る機器の一例のハードウェア構成を示す図である。It is a figure which shows the hardware configuration of an example of the apparatus which concerns on one Embodiment of this invention. 本発明の一実施形態に係る情報処理システムの一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the information processing system which concerns on one Embodiment of this invention. 本発明の一実施形態に係るロジック処理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the logic processing part which concerns on one Embodiment of this invention. 本発明の一実施形態に係るコンポーネント管理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the component management part which concerns on one Embodiment of this invention. 本発明の一実施形態に係るコンポーネント情報テーブルの一例を示す図である。It is a figure which shows an example of the component information table which concerns on one Embodiment of this invention. 本発明の一実施形態に係るアプリ管理部の一例の機能構成を示す図である。It is a figure which shows the functional structure of an example of the application management part which concerns on one Embodiment of this invention. 本発明の一実施形態に係るメール情報テーブルの一例を示す図である。It is a figure which shows an example of the mail information table which concerns on one Embodiment of this invention. 本発明の一実施形態に係るアプリ設定の自動修正処理のシーケンス図である。It is a sequence diagram of the automatic correction processing of the application setting which concerns on one Embodiment of this invention. 本発明の一実施形態に係るコンポーネントのインタフェース定義例である。It is an interface definition example of the component which concerns on one Embodiment of this invention. 本発明の一実施形態に係るアプリ設定の自動修正を説明するための図である。It is a figure for demonstrating the automatic correction of the application setting which concerns on one Embodiment of this invention.

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

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

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

サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、種々の機能をそれぞれ実現する複数の処理のうちの1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。 The service providing system 10 is realized by one or more information processing devices, and is realized by a series of processes in which one or more of a plurality of processes that realize various functions are combined via the network N1. Provide various services.

ここで、機能とは、文書ファイルや画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR(Optical character recognition)処理、加工や圧縮・解凍、リポジトリへの格納等が挙げられる。 Here, the function is a function related to an electronic file such as a document file or an image file. Functions include, for example, printing, scanning, facsimile transmission, data format conversion, mail delivery, OCR (Optical character recognition) processing, processing, compression / decompression, and storage in a repository.

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

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

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

PC端末30は、例えば、ユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。ユーザは、PC端末30を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。 The PC terminal 30 is, for example, a desktop PC, a notebook PC, a smartphone, a tablet terminal, or the like used by a user. The user can use various services provided by the service providing system 10 by using the PC terminal 30.

なお、以降では、複数のPC端末30について、各々を区別するときは、「PC端末30」、「PC端末30」等と添え字を用いて記載する。 In the following, when distinguishing each of the plurality of PC terminals 30, the subscripts such as "PC terminal 30 1 " and "PC terminal 30 2 " will be used.

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

<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10及びPC端末30のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の一実施形態に係るサービス提供システム10及びPC端末30の一例のハードウェア構成を示す図である。なお、サービス提供システム10及びPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
<Hardware configuration>
Next, the hardware configurations of the service providing system 10 and the PC terminal 30 included in the information processing system 1 according to the present embodiment will be described with reference to FIG. FIG. 2 is a diagram showing a hardware configuration of an example of a service providing system 10 and a PC terminal 30 according to an embodiment of the present invention. Since the service providing system 10 and the PC terminal 30 have the same hardware configuration, the hardware configuration of the service providing system 10 will be mainly described below.

図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。 The service providing system 10 shown in FIG. 2 includes an input device 11, a display device 12, an external I / F 13, and a RAM (Random Access Memory) 14. Further, the service providing system 10 includes a ROM (Read Only Memory) 15, a CPU (Central Processing Unit) 16, a communication I / F 17, and an HDD (Hard Disk Drive) 18. Each of these hardware is connected by bus B.

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

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

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

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

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

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

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

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

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

図3は、MFPのハードウェア構成図である。図3に示されているように、MFP(Multifunction Peripheral/Product/Printer)20は、コントローラ21、近距離通信回路22、エンジン制御部23、操作パネル24、ネットワークI/F25を備えている。 FIG. 3 is a hardware configuration diagram of the MFP. As shown in FIG. 3, the MFP (Multifunction Peripheral / Product / Printer) 20 includes a controller 21, a short-range communication circuit 22, an engine control unit 23, an operation panel 24, and a network I / F 25.

これらのうち、コントローラ21は、コンピュータの主要部であるCPU31、システムメモリ(MEM−P)32、ノースブリッジ(NB)33、サウスブリッジ(SB)34、ASIC(Application Specific Integrated Circuit)36、記憶部であるローカルメモリ(MEM−C)37、HDDコントローラ38、及び、記憶部であるHD39を有し、NB33とASIC36との間をAGP(Accelerated Graphics Port)バス41で接続した構成となっている。 Of these, the controller 21 is a CPU 31, a system memory (MEM-P) 32, a north bridge (NB) 33, a south bridge (SB) 34, an ASIC (Application Specific Integrated Circuit) 36, and a storage unit, which are the main parts of a computer. It has a local memory (MEM-C) 37, an HDD controller 38, and a storage unit HD39, and has a configuration in which the NB 33 and the ASIC 36 are connected by an AGP (Accelerated Graphics Port) bus 41.

これらのうち、CPU31は、MFP20の全体制御を行う制御部である。NB33は、CPU31と、MEM−P32、SB34、及びAGPバス41とを接続するためのブリッジであり、MEM−P32に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。 Of these, the CPU 31 is a control unit that controls the entire MFP 20. The NB 33 is a bridge for connecting the CPU 31 to the MEM-P32, SB34, and the AGP bus 41, and includes a memory controller that controls reading and writing to the MEM-P32, a PCI (Peripheral Component Interconnect) master, and an AGP target. Has.

MEM−P32は、コントローラ21の各機能を実現させるプログラムやデータの格納用メモリであるROM32a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM32bとからなる。なお、RAM32bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。 The MEM-P32 includes a ROM 32a that is a memory for storing programs and data that realizes each function of the controller 21, and a RAM 32b that is used as a memory for developing programs and data and a memory for drawing at the time of memory printing. The program stored in the RAM 32b is configured to be provided by recording a file in an installable format or an executable format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD. You may.

SB34は、NB33とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC36は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス41、PCIバス42、HDD38およびMEM−C37をそれぞれ接続するブリッジの役割を有する。このASIC36は、PCIターゲットおよびAGPマスタ、ASIC36の中核をなすアービタ(ARB)、MEM−C37を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部51及びプリンタ部52との間でPCIバス42を介したデータ転送を行うPCIユニットとからなる。なお、ASIC36には、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。 The SB34 is a bridge for connecting the NB33 to a PCI device and peripheral devices. The ASIC 36 is an IC (Integrated Circuit) for image processing applications having hardware elements for image processing, and has a role of a bridge connecting the AGP bus 41, the PCI bus 42, the HDD 38, and the MEM-C37, respectively. The ASIC 36 is a PCI target and an AGP master, an arbiter (ARB) that forms the core of the ASIC 36, a memory controller that controls the MEM-C37, and a plurality of DMACs (Direct Memory Access Controllers) that rotate image data by hardware logic and the like. , And a PCI unit that transfers data between the scanner unit 51 and the printer unit 52 via the PCI bus 42. A USB (Universal Serial Bus) interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers 1394) interface may be connected to the ASIC 36.

MEM−C37は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD39は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD39は、CPU31の制御にしたがってHD39に対するデータの読出又は書込を制御する。AGPバス41は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM−P32に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。 The MEM-C37 is a local memory used as a copy image buffer and a code buffer. The HD39 is a storage for accumulating image data, accumulating font data used at the time of printing, and accumulating forms. The HD 39 controls reading or writing of data to the HD 39 according to the control of the CPU 31. The AGP bus 41 is a bus interface for a graphics accelerator card proposed for speeding up graphic processing, and the graphics accelerator card can be speeded up by directly accessing the MEM-P32 with high throughput. ..

また、近距離通信回路22には、近距離通信回路22aが備わっている。近距離通信回路22は、NFC、Bluetooth(登録商標)等の通信回路である。 Further, the short-range communication circuit 22 is provided with a short-range communication circuit 22a. The short-range communication circuit 22 is a communication circuit such as NFC or Bluetooth (registered trademark).

更に、エンジン制御部23は、スキャナ部51及びプリンタ部52によって構成されている。また、操作パネル24は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部24a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作パネル24bを備えている。コントローラ21は、MFP20全体の制御を行い、例えば、描画、通信、操作パネル24からの入力等を制御する。スキャナ部51又はプリンタ部52には、誤差拡散やガンマ変換などの画像処理部分が含まれている。 Further, the engine control unit 23 is composed of a scanner unit 51 and a printer unit 52. Further, the operation panel 24 displays the current setting value, the selection screen, and the like, and displays the panel display unit 24a such as a touch panel that accepts the input from the operator, and the setting value of the condition related to image formation such as the density setting condition. It is provided with an operation panel 24b including a numeric keypad for receiving and a start key for receiving a copy start instruction. The controller 21 controls the entire MFP 20, for example, drawing, communication, input from the operation panel 24, and the like. The scanner unit 51 or the printer unit 52 includes an image processing portion such as error diffusion and gamma conversion.

なお、MFP20は、操作パネル24のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。 The MFP 20 can sequentially switch and select the document box function, the copy function, the printer function, and the facsimile function by the application switching key on the operation panel 24. When the document box function is selected, the document box mode is set, when the copy function is selected, the copy mode is set, when the printer function is selected, the printer mode is set, and when the facsimile mode is selected, the facsimile mode is set.

また、ネットワークI/F25は、通信ネットワークN1を利用してデータ通信をするためのインターフェースである。近距離通信回路22及びネットワークI/F25は、PCIバス42を介して、ASIC36に電気的に接続されている。 Further, the network I / F25 is an interface for performing data communication using the communication network N1. The short-range communication circuit 22 and the network I / F 25 are electrically connected to the ASIC 36 via the PCI bus 42.

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

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

本実施形態では、機器20において原稿をスキャンすることにより生成された電子ファイル(画像ファイル)にOCR処理を行った上で、所定の言語に翻訳して、メール配信するサービスを「スキャン翻訳サービス」と表す。そして、本実施形態では、サービス提供システム10がスキャン翻訳サービスを提供する場合について説明する。 In the present embodiment, a service in which an electronic file (image file) generated by scanning a document in the device 20 is subjected to OCR processing, translated into a predetermined language, and delivered by mail is a "scan translation service". It is expressed as. Then, in this embodiment, the case where the service providing system 10 provides the scan translation service will be described.

ここで、サービス提供システム10がスキャン翻訳サービスを提供するには、機器20がスキャン翻訳サービスを利用するためのアプリケーション(後述するアプリ情報1000)をサービス提供システム10に登録する必要がある。 Here, in order for the service providing system 10 to provide the scan translation service, it is necessary for the device 20 to register an application (application information 1000 described later) for using the scan translation service in the service providing system 10.

したがって、本実施形態では、スキャン翻訳サービスを利用するためのアプリケーションをPC端末30が登録する場合と、当該アプリケーションを用いてスキャン翻訳サービスを機器20が利用する場合とについて説明する。 Therefore, in the present embodiment, a case where the PC terminal 30 registers an application for using the scan translation service and a case where the device 20 uses the scan translation service using the application will be described.

ただし、サービス提供システム10により提供されるサービスは、これらに限られない。サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルを暗号化した上で、メール配信するサービスを提供するサービスを提供しても良い。 However, the services provided by the service providing system 10 are not limited to these. The service providing system 10 may provide, for example, a service that provides a service of delivering an e-mail after encrypting an electronic file generated by scanning a document in the device 20.

同様に、サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルに所定の情報を付加した上で、FAX送信するサービスを提供しても良い。 Similarly, the service providing system 10 may provide a service of fax transmission after adding predetermined information to an electronic file generated by scanning a document in, for example, the device 20.

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

図4に示すPC端末30は、例えばCPU16等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「スキャン翻訳サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10に登録することができる。 The PC terminal 30 shown in FIG. 4 has a browser 310 executed by, for example, a CPU 16. The user of the PC terminal 30 can use the browser 310 to register an application for using various services such as the "scan translation service" in the service providing system 10.

図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「スキャン翻訳サービス」等の各種サービスを利用することができる。すなわち、機器20は、ブラウザ210を有していれば良く、例えば、サービス提供システム10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。 The device 20 shown in FIG. 4 has a browser 210 executed by, for example, a CPU 31 or the like. The user of the device 20 can use various services such as a "scan translation service" by using the browser 210. That is, the device 20 may have a browser 210, and does not need to have, for example, a dedicated application program for using various services provided by the service providing system 10.

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

また、サービス提供システム10は、アプリ情報記憶部150と、アプリ画面情報記憶部160と、ポータル画面情報記憶部170とを有する。これら各記憶部は、HDD18を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つの記憶部が、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。 Further, the service providing system 10 includes an application information storage unit 150, an application screen information storage unit 160, and a portal screen information storage unit 170. Each of these storage units can be realized by using the HDD 18. It should be noted that at least one of these storage units may be realized by using a storage device or the like connected to the service providing system 10 via a network.

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

アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、サービス提供システム10が提供する各種サービスは、アプリ情報1000により提供される。 The application management unit 111 manages the application information 1000 stored in the application information storage unit 150. The application information 1000 is an application for using a service realized by a series of processes. In other words, the various services provided by the service providing system 10 are provided by the application information 1000.

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

更に、アプリ管理部111は、ポータルサービス部140からの要求に応じて、アプリ情報1000をアプリ情報記憶部150に記憶させる。これにより、サービスを提供するアプリ情報1000(アプリケーション)がサービス提供システム10に登録される。 Further, the application management unit 111 stores the application information 1000 in the application information storage unit 150 in response to a request from the portal service unit 140. As a result, the application information 1000 (application) that provides the service is registered in the service providing system 10.

ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、ロジック処理部112は、アプリ管理部111から取得した処理フロー情報1100に基づいて、当該アプリ情報1000が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システムは、「スキャン翻訳サービス」等の各種サービスを提供することができる。なお、ロジック処理部112の詳細については後述する。 The logic processing unit 112 acquires the processing flow information 1100 included in the application information 1000 from the application management unit 111 in response to a request from the Web service processing unit 120. Then, the logic processing unit 112 executes a series of processes (processing flow) for realizing the service provided by the application information 1000 based on the processing flow information 1100 acquired from the application management unit 111. As a result, the service providing system according to the present embodiment can provide various services such as "scan translation service". The details of the logic processing unit 112 will be described later.

Webサービス処理部120は、ユーザが機器20のブラウザ210を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部120は、ブラウザ210に対してWebアプリケーション(アプリ情報1000)を提供するアプリケーションサーバとして機能する。ここで、Webサービス処理部120は、画面構成部121と、アプリ実行部122とを有する。 The Web service processing unit 120 performs processing for the user to use various services using the browser 210 of the device 20. That is, the Web service processing unit 120 functions as an application server that provides a Web application (application information 1000) to the browser 210. Here, the Web service processing unit 120 has a screen configuration unit 121 and an application execution unit 122.

画面構成部121は、ブラウザ210からの要求に応じて、アプリ画面情報記憶部160に記憶されているアプリ画面情報2000と、アプリ情報記憶部150に記憶されているアプリ情報1000に含まれるアプリ設定情報1200とを返信する。 In response to a request from the browser 210, the screen configuration unit 121 sets the application screen information 2000 stored in the application screen information storage unit 160 and the application settings included in the application information 1000 stored in the application information storage unit 150. Information 1200 is returned.

なお、アプリ画面情報2000とは、アプリ情報1000により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報2000は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)等でアプリ画面の雛形が定義された情報である。 The application screen information 2000 is information in which a template of a screen (application screen) for using the service provided by the application information 1000 is defined. The application screen information 2000 is information in which a template of the application screen is defined by, for example, HTML (HyperText Markup Language), XHTML (Extensible HyperText Markup Language), CSS (Cascading Style Sheets), Javascript (registered trademark), and the like.

また、アプリ設定情報1200は、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。例えば、アプリ設定情報1200には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報やデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報1200には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目やアプリ画面における表示情報(例えば、アプリケーション名)等が定義されている。アプリ設定情報1200は、例えば、JSON(JavaScript Object Notation)等でアプリケーションの各種設定が定義された情報である。 Further, the application setting information 1200 is information in which various settings of the application (application information 1000) are defined. For example, the application setting information 1200 defines parameter information input by the user, parameter information set by default, and the like among the parameter information used for executing a series of processes. Further, for example, in the application setting information 1200, input items for the user to input parameter information on the application screen, display information on the application screen (for example, application name), and the like are defined. The application setting information 1200 is information in which various settings of the application are defined by, for example, JSON (JavaScript Object Notation) or the like.

これにより、機器20には、ブラウザ210により、サービス提供システム10が提供するサービスを利用するためのアプリ画面が表示される。 As a result, the device 20 displays the application screen for using the service provided by the service providing system 10 by the browser 210.

アプリ実行部122は、ブラウザ210からの要求に応じて、入出力サービス処理部110に対して、アプリケーション(アプリ情報1000)の実行要求を送信する。 The application execution unit 122 transmits an execution request of the application (application information 1000) to the input / output service processing unit 110 in response to the request from the browser 210.

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

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

なお、ドキュメントサービス部130には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていても良い。 In addition to these, the document service unit 130 has various functions such as a compression / decompression processing unit for compressing or decompressing an electronic file, a data format conversion unit for converting the data format of an electronic file, and the like. The part may be included.

ポータルサービス部140は、ユーザがPC端末30のブラウザ310を用いてアプリケーションの登録等を行うための処理を行う。ここで、ポータルサービス部140は、UI提供部141と、アプリ登録部142とを有する。 The portal service unit 140 performs processing for the user to register an application or the like using the browser 310 of the PC terminal 30. Here, the portal service unit 140 has a UI providing unit 141 and an application registration unit 142.

UI提供部141は、ブラウザ310からの要求に応じて、ポータル画面情報記憶部170に記憶されているポータル画面情報3000を返信する。ここで、ポータルとは、ブラウザ310を用いて、アプリケーションの登録等を行うことができるWebサイトである。 The UI providing unit 141 returns the portal screen information 3000 stored in the portal screen information storage unit 170 in response to the request from the browser 310. Here, the portal is a website on which applications can be registered using the browser 310.

なお、ポータル画面情報3000とは、ポータルのトップ画面(ポータルトップ画面)やアプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報3000は、例えば、HTML、XML、CSS、JavaScript等のブラウザ210で各種画面が定義された情報である。 The portal screen information 3000 is information in which various screens such as a portal top screen (portal top screen) and an application registration screen are defined. The portal screen information 3000 is information in which various screens are defined by a browser 210 such as HTML, XML, CSS, and Javascript.

これにより、PC端末30には、ブラウザ310により、ポータルトップ画面やアプリケーション登録画面が表示される。したがって、PC端末30のユーザは、アプリケーション登録画面において、アプリケーション(アプリ情報1000)の登録操作を行うことができる。 As a result, the portal top screen and the application registration screen are displayed on the PC terminal 30 by the browser 310. Therefore, the user of the PC terminal 30 can perform the registration operation of the application (application information 1000) on the application registration screen.

アプリ登録部142は、UI提供部141からの要求に応じて、アプリケーション(アプリ情報1000)の登録をアプリ管理部111に要求する。すなわち、アプリ登録部142は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部111に要求する。 The application registration unit 142 requests the application management unit 111 to register the application (application information 1000) in response to the request from the UI providing unit 141. That is, when the application registration operation is performed on the application registration screen, the application registration unit 142 requests the application management unit 111 to register the application.

アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000を識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。なお、アプリIDは、例えば、アプリ情報1000のURL(Uniform Resource Locator)、又はアプリ情報1000のURLに含まれる識別情報等である。 The application information storage unit 150 stores the application information 1000. The application information 1000 is stored in the application information storage unit 150 in association with the application ID that identifies the application information 1000. The application ID is, for example, the URL (Uniform Resource Locator) of the application information 1000, the identification information included in the URL of the application information 1000, or the like.

ここで、アプリ情報1000には、処理フロー情報1100と、アプリ設定情報1200とが含まれる。例えば、スキャン翻訳サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理が定義された処理フロー情報1100と、当該アプリ情報1000の各種設定が定義されたアプリ設定情報1200とが含まれる。以降では、スキャン翻訳サービスを提供するアプリ情報1000を「スキャン翻訳アプリケーション」とも表す。 Here, the application information 1000 includes processing flow information 1100 and application setting information 1200. For example, the application information 1000 that provides the scan translation service includes processing flow information 1100 that defines a series of processes that realize the service, and application setting information 1200 that defines various settings of the application information 1000. Is done. Hereinafter, the application information 1000 that provides the scan translation service is also referred to as a “scan translation application”.

なお、アプリ情報1000には、2以上の処理フロー情報1100と、2以上のアプリ設定情報1200とが含まれていても良い。 The application information 1000 may include two or more processing flow information 1100 and two or more application setting information 1200.

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

また、アプリ設定情報1200は、上述したように、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。なお、アプリ設定情報1200の詳細については後述する。 Further, the application setting information 1200 is information in which various settings of the application (application information 1000) are defined as described above. The details of the application setting information 1200 will be described later.

アプリ画面情報記憶部160は、アプリ画面情報2000を記憶する。アプリ画面情報2000は、アプリIDと関連付けてアプリ画面情報記憶部160に記憶されている。 The application screen information storage unit 160 stores the application screen information 2000. The application screen information 2000 is stored in the application screen information storage unit 160 in association with the application ID.

ポータル画面情報記憶部170は、ポータル画面情報3000を記憶する。ポータル画面情報3000は、ポータルトップ画面やアプリケーション登録画面等のURLと関連付けてポータル画面情報記憶部170に記憶されている。 The portal screen information storage unit 170 stores the portal screen information 3000. The portal screen information 3000 is stored in the portal screen information storage unit 170 in association with a URL such as a portal top screen or an application registration screen.

なお、入出力サービス処理部110、Webサービス処理部120、ドキュメントサービス部130、及びポータルサービス部140等は、それぞれが異なる情報処理装置により実現されていても良い。 The input / output service processing unit 110, the Web service processing unit 120, the document service unit 130, the portal service unit 140, and the like may be realized by different information processing devices.

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

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

フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、アプリ管理部111から取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。 When the flow execution unit 301 receives the application execution request from the application execution unit 122, the flow execution unit 301 acquires the processing flow information 1100 corresponding to the execution request from the application management unit 111. Then, the flow execution unit 301 executes a series of processing (processing flow) based on the processing flow information 1100 acquired from the application management unit 111.

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

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

コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、OCRコンポーネント1310と、翻訳コンポーネント1320と、メール配信コンポーネント1330と、コードコンポーネント1340と、スタンプコンポーネント1350とが含まれる。 The component group 303 is a set of components. The component group 303 includes an OCR component 1310, a translation component 1320, a mail delivery component 1330, a code component 1340, and a stamp component 1350.

OCRコンポーネント1310は、電子ファイル(画像ファイル)をOCR処理するためのコンポーネントである。OCRコンポーネント1310は、ドキュメントサービス部130のOCR処理部131にOCR処理を要求することにより、電子ファイルのOCR処理を行う。 The OCR component 1310 is a component for OCR processing an electronic file (image file). The OCR component 1310 performs the OCR processing of the electronic file by requesting the OCR processing unit 131 of the document service unit 130 for the OCR processing.

翻訳コンポーネント1320は、テキストファイル等の電子ファイルにおいて、所定の言語で記載されている文書を他の言語に翻訳するためのコンポーネントである。 The translation component 1320 is a component for translating a document described in a predetermined language into another language in an electronic file such as a text file.

メール配信コンポーネント1330は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。メール配信コンポーネント1330は、ドキュメントサービス部130のメール配信部132にメール配信処理を要求することにより、指定されたメールアドレス宛にメールを配信する。 The mail delivery component 1330 is a component for delivering mail to a designated mail address. The mail delivery component 1330 delivers the mail to the designated mail address by requesting the mail delivery process 132 of the document service unit 130.

コードコンポーネント1340は、パラメータとして指定された情報(例えば文字列)が埋め込まれたQRコード(登録商標)を作成するためのコンポーネントである。なお、コードコンポーネント1340は、QRコードに限られず、例えば、バーコード等の種々のコードを作成しても良い。 The code component 1340 is a component for creating a QR code (registered trademark) in which information (for example, a character string) specified as a parameter is embedded. The code component 1340 is not limited to the QR code, and various codes such as a bar code may be created.

スタンプコンポーネント1350は、例えば画像ファイルやPDF(Portable Document Format)ファイル等の電子ファイルに対して、例えばQRコード等のコードを重畳させるためのコンポーネントである。 The stamp component 1350 is a component for superimposing a code such as a QR code on an electronic file such as an image file or a PDF (Portable Document Format) file.

このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群303には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化や復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。 In this way, each component executes a process that realizes a predetermined function. In addition to the above components, the component group 303 includes various components such as an encryption / decryption component for encrypting and decrypting an electronic file and a compression component for compressing an electronic file. Is done.

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

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

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

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

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

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

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

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

図6は、本発明の一実施形態に係るコンポーネント管理部302の一例の機能構成を示す図である。 FIG. 6 is a diagram showing a functional configuration of an example of the component management unit 302 according to the embodiment of the present invention.

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

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

ここで、既存コンポーネントとは、サービス提供システム10に予め組み込まれているコンポーネントのことを言う。一方、追加コンポーネントとは、ユーザがPC端末30を介して、コンポーネント情報テーブル5000に登録されたコンポーネントのことを言う。換言すれば、追加コンポーネントとは、ユーザにより開発等され、サービス提供システム10に追加されたコンポーネントのことである。 Here, the existing component refers to a component that is preliminarily incorporated in the service providing system 10. On the other hand, the additional component means a component registered in the component information table 5000 by the user via the PC terminal 30. 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, components developed by the user can be added. Therefore, since the user can describe a series of processes realized by using the additional component as the process content, the user 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 an additional component, the additional component generation unit 1323 generates the additional component related to the acquisition request.

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

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

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

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

ファイルは、コンポーネントを生成するための電子ファイル(以降では、この電子ファイルを「生成ファイル」と表す。)が、例えばJAR(Java Archive)等のデータ形式で
格納される。したがって、本実施形態では、追加コンポーネントのコンポーネント情報のデータ項目「ファイル」には、当該追加コンポーネントの生成ファイルが格納される。一方で、既存コンポーネントのコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されない。
The file is an electronic file for generating a component (hereinafter, this electronic file is referred to as a "generated file"), and is stored in a data format such as JAR (Java Archive). Therefore, in the present embodiment, the generated file of the additional component is stored in the data item "file" of the component information 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に示すコンポーネント情報テーブル5000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されていない。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「ファイル」には、コンポーネントの生成ファイルが格納されている。 More specifically, in the component information table 5000 shown in FIG. 12, the generated file is not stored in the data item "file" of the component information of the component name "ocrA" and the version "v1". On the other hand, the component generation file is stored in the data item "file" of the component information of the component name "ocrB" and the version "v2".

したがって、図12に示すコンポーネント情報テーブル5000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報は、既存コンポーネントのコンポーネント情報である。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報は、追加コンポーネントのコンポーネント情報である。 Therefore, in the component information table 5000 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.

このように、本発明の一実施形態では、コンポーネントがバージョンごとに記録されて保存されるため、ロールバックできるようになる。 As described above, in one embodiment of the present invention, the components are recorded and stored for each version, so that they can be rolled back.

図6の説明に戻る。判断部1325は、コンポーネントの更新(バージョンアップ)時にコンポーネント登録部1324からの要求に応じて、コンポーネントのインプットやアウトプットにおける破壊的なインタフェース変更があるか否かを判断する。インタフェース変更がある場合、判断部1325は、アプリケーションのアプリ設定情報1200を修正するようアプリ管理部111に要求する。 Returning to the description of FIG. The determination unit 1325 determines whether or not there is a destructive interface change in the input or output of the component in response to the request from the component registration unit 1324 at the time of updating (version upgrade) of the component. When there is an interface change, the determination unit 1325 requests the application management unit 111 to correct the application setting information 1200 of the application.

このように、本発明の一実施形態では、開発者がコンポーネントを更新(バージョンアップ)したとき、コンポーネントのインプットやアウトプットにおける破壊的なインタフェース変更があるか否かがチェックされる。 As described above, in one embodiment of the present invention, when the developer updates (upgrades) the component, it is checked whether or not there is a destructive interface change in the input or output of the component.

図8は、本発明の一実施形態に係るアプリ管理部111の一例の機能構成を示す図である。 FIG. 8 is a diagram showing a functional configuration of an example of the application management unit 111 according to the embodiment of the present invention.

アプリ管理部111は、判別部1401、アプリ生成部1402、アプリ更新部1403、及び自動修正部1404、アプリ設定情報テーブル6000を有する。 The application management unit 111 includes a determination unit 1401, an application generation unit 1402, an application update unit 1403, an automatic correction unit 1404, and an application setting information table 6000.

それぞれについて説明する前に、アプリ情報1000内のアプリ設定情報1200について説明する。本発明の一実施形態では、アプリ情報1000内のアプリ設定情報1200は、アプリケーションが利用しているコンポーネントのバージョンの情報を含んでいる。 Before explaining each of them, the application setting information 1200 in the application information 1000 will be described. In one embodiment of the present invention, the application setting information 1200 in the application information 1000 includes information on the version of the component used by the application.

判別部1401は、アプリ登録部142からの要求に応じて、当該要求がアプリケーションの生成(つまり、新規のアプリケーションの登録)又はアプリケーションの更新(つまり、既存のアプリケーションの更新)のいずれであるかを判別する。 In response to a request from the application registration unit 142, the determination unit 1401 determines whether the request is an application generation (that is, registration of a new application) or an application update (that is, an update of an existing application). Determine.

アプリ生成部1402は、判別部1401により当該要求がアプリケーションの生成であると判別された場合、生成するアプリケーションのアプリ情報1000をアプリ情報記憶部150に登録する。アプリ生成部1402は、生成したアプリケーションのアプリ設定情報1200(上述のとおり、アプリケーションが利用しているコンポーネントのバージョンを含む)の更新履歴をアプリ設定情報テーブル6000に登録する。 When the determination unit 1401 determines that the request is the generation of the application, the application generation unit 1402 registers the application information 1000 of the application to be generated in the application information storage unit 150. The application generation unit 1402 registers the update history of the application setting information 1200 of the generated application (including the version of the component used by the application as described above) in the application setting information table 6000.

アプリ更新部1403は、判別部1401により当該要求がアプリケーションの更新であると判別された場合、更新するアプリケーションのアプリ情報1000をアプリ情報記憶部150に登録する。また、アプリ更新部1403は、自動修正部1404からの要求に応じて、当該要求に係るアプリケーションを更新する(詳細は後述する)。アプリ更新部1403は、更新したアプリケーションのアプリ設定情報1200(上述のとおり、アプリケーションが利用しているコンポーネントのバージョンを含む)の更新履歴をアプリ設定情報テーブル6000に登録する。 When the determination unit 1401 determines that the request is an application update, the application update unit 1403 registers the application information 1000 of the application to be updated in the application information storage unit 150. In addition, the application update unit 1403 updates the application related to the request in response to the request from the automatic correction unit 1404 (details will be described later). The application update unit 1403 registers the update history of the application setting information 1200 of the updated application (including the version of the component used by the application as described above) in the application setting information table 6000.

自動修正部1404は、ロジック処理部112からの要求に応じて、アプリケーションのアプリ設定情報1200を修正する。具体的には、自動修正部1404は、更新(バージョンアップ)されたコンポーネントを利用しているアプリケーションのアプリ設定情報1200を修正する。また、自動修正部1404は、修正したアプリ設定情報1200を用いてアプリケーションを更新するようアプリ更新部1403に要求する。 The automatic correction unit 1404 corrects the application setting information 1200 of the application in response to the request from the logic processing unit 112. Specifically, the automatic correction unit 1404 corrects the application setting information 1200 of the application using the updated (version-up) component. Further, the automatic correction unit 1404 requests the application update unit 1403 to update the application using the corrected application setting information 1200.

このように、本発明の一実施形態では、開発者がコンポーネントを更新(バージョンアップ)したときに破壊的なインタフェース変更があった際、アプリケーションが動作できるようにアプリ設定の自動修正が行われる。 As described above, in one embodiment of the present invention, when a developer updates (upgrades) a component and there is a destructive interface change, the application setting is automatically modified so that the application can operate.

アプリ設定保管部1405には、アプリケーションのアプリ設定情報1200の更新履歴が登録されている。 The update history of the application setting information 1200 of the application is registered in the application setting storage unit 1405.

このように、本発明の一実施形態では、アプリ設定(アプリケーションが利用しているコンポーネントのバージョンを含む)の履歴が記録されて保存されるため、ロールバックできるようになる。 As described above, in one embodiment of the present invention, the history of application settings (including the version of the component used by the application) is recorded and saved, so that it can be rolled back.

<処理の詳細>
図10は、本発明の一実施形態に係るアプリ設定の自動修正処理のシーケンス図である。
<Details of processing>
FIG. 10 is a sequence diagram of an automatic correction process of application settings according to an embodiment of the present invention.

ステップ1(S1)において、PC端末30は、新規コンポーネント(つまり、更新(バージョンアップ)するコンポーネント)の入力を受け付ける。そして、PC端末30は、新規コンポーネントのファイルをコンポーネント管理部302のコンポーネント登録部1324へ送信する。 In step 1 (S1), the PC terminal 30 receives an input of a new component (that is, a component to be updated (version upgraded)). Then, the PC terminal 30 transmits the file of the new component to the component registration unit 1324 of the component management unit 302.

ステップ2(S2)において、コンポーネント登録部1324は、S1の新規コンポーネントを判断し、コンポーネント情報(例えば、図11のようなインタフェース定義)を取得する。 In step 2 (S2), the component registration unit 1324 determines the new component of S1 and acquires the component information (for example, the interface definition as shown in FIG. 11).

ステップ3(S3)において、コンポーネント登録部1324は、S1の新規コンポーネントをチェックするよう判断部1325に要求する。この際、コンポーネント登録部1324は、新規コンポーネントのコンポーネント情報を判断部1325に渡す。 In step 3 (S3), the component registration unit 1324 requests the determination unit 1325 to check the new component of S1. At this time, the component registration unit 1324 passes the component information of the new component to the determination unit 1325.

ステップ4(S4)において、判断部1325は、S3の要求に応じて、コンポーネント情報テーブル5000を参照して、既存コンポーネント(つまり、更新される前のコンポーネント)のコンポーネント情報を取得する。 In step 4 (S4), the determination unit 1325 refers to the component information table 5000 and acquires the component information of the existing component (that is, the component before being updated) in response to the request of S3.

ステップ5(S5)において、判断部1325は、S3で取得した新規コンポーネントのコンポーネント情報とS4で取得した既存コンポーネントのコンポーネント情報とに基づいて、アプリ設定情報1200が修正されるべきであるか否かを判断する。また、判断部1325は、どのアプリ設定情報1200がどのように修正されるべきであるかを判断する。 In step 5 (S5), the determination unit 1325 determines whether or not the application setting information 1200 should be modified based on the component information of the new component acquired in S3 and the component information of the existing component acquired in S4. To judge. In addition, the determination unit 1325 determines which application setting information 1200 should be modified and how.

ステップ6(S6)において、S5でアプリ設定情報1200が修正されるべきであると判断された場合、判断部1325は、アプリ設定情報1200を修正するよう自動修正部1404に要求する。 If it is determined in step 6 (S6) that the application setting information 1200 should be corrected in S5, the determination unit 1325 requests the automatic correction unit 1404 to correct the application setting information 1200.

ステップ7(S7)において、自動修正部1404は、S6の要求に基づいて、アプリ情報記憶部150から修正されるべきアプリ設定情報1200を取得する。 In step 7 (S7), the automatic correction unit 1404 acquires the application setting information 1200 to be corrected from the application information storage unit 150 based on the request of S6.

ステップ8(S8)において、自動修正部1404は、S6の要求に基づいて、S7で取得したアプリ設定情報1200を修正する。 In step 8 (S8), the automatic correction unit 1404 corrects the application setting information 1200 acquired in S7 based on the request of S6.

ステップ9(S9)において、自動修正部1404は、S9で修正したアプリ設定情報1200を用いてアプリケーションを更新するようアプリ更新部1403に要求する。 In step 9 (S9), the automatic correction unit 1404 requests the application update unit 1403 to update the application using the application setting information 1200 corrected in S9.

その後、アプリ更新部1403は、自動修正部1404が修正したアプリ設定情報1200をアプリ情報記憶部150に登録し、アプリ設定情報1200の更新履歴をアプリ設定情報テーブル6000に登録する。 After that, the application update unit 1403 registers the application setting information 1200 corrected by the automatic correction unit 1404 in the application information storage unit 150, and registers the update history of the application setting information 1200 in the application setting information table 6000.

なお、ステップ10(S10)等の任意のタイミングで、コンポーネント登録部1324は、新規コンポーネントの情報(コンポーネントに関する情報やファイル)をコンポーネント情報テーブル5000に登録する。 At an arbitrary timing such as step 10 (S10), the component registration unit 1324 registers new component information (information and files related to the component) in the component information table 5000.

図11は、本発明の一実施形態に係るコンポーネントのインタフェース定義例である。図11では、メールを配信するコンポーネントのインタフェース定義の一例が記述されている。例えば、図11の定義ファイルでは、「to」パラメータの「type」は、「array[string]」である。 FIG. 11 is an example of interface definition of the component according to the embodiment of the present invention. In FIG. 11, an example of the interface definition of the component that delivers the mail is described. For example, in the definition file of FIG. 11, the “type” of the “to” parameter is “array [string]”.

図12は、本発明の一実施形態に係るアプリ設定の自動修正を説明するための図である。例えば、コンポーネントが更新(バージョンアップ)されることによって、図11の定義ファイルの「to」パラメータの「type」が「array[string]」から「string」へ変更になったとする。そうすると、判断部1325は、コンポーネントの更新(バージョンアップ)により、破壊的なインタフェース変更があると判断して、アプリ設定情報1200を図12のように自動修正する。具体的には、「入力タイプ」を"複数テキストボックス"から"テキストボックス"へ変更する。 FIG. 12 is a diagram for explaining automatic modification of application settings according to an embodiment of the present invention. For example, suppose that the "type" of the "to" parameter in the definition file of FIG. 11 is changed from "array [string]" to "string" due to the update (version upgrade) of the component. Then, the determination unit 1325 determines that there is a destructive interface change due to the update (version upgrade) of the component, and automatically corrects the application setting information 1200 as shown in FIG. Specifically, change the "input type" from "multiple text boxes" to "text boxes".

[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、スキャン&プリントタイプのアプリケーションついて説明する。スキャン&プリントタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させて、当該実行結果を印刷させるタイプのアプリケーションである。スキャン&プリントタイプのアプリケーションには、例えば、スキャンにより生成された電子ファイルにQRコードを付与した後、当該QRコードが付与された電子ファイルを印刷するアプリケーション(QRコード印刷アプリケーション)が挙げられる。本実施形態では、QRコード印刷アプリケーションを用いて利用されるサービスを「QRコード印刷サービス」と表す。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, a scan & print type application will be described. The scan & print type is an application of a type in which an image forming apparatus or the like executes a series of processes in which an electronic file generated by scanning is input and prints the execution result. Examples of the scan & print type application include an application (QR code printing application) in which a QR code is attached to an electronic file generated by scanning and then the electronic file to which the QR code is attached is printed. In the present embodiment, the service used by using the QR code printing application is referred to as "QR code printing service".

これにより、本実施形態に係るサービス提供システム10は、QRコードが重畳された電子ファイルを機器20に送信することができる。そして、機器20で当該電子ファイルを印刷することで、QRコード印刷サービスをユーザ提供することができる。 As a result, the service providing system 10 according to the present embodiment can transmit the electronic file on which the QR code is superimposed to the device 20. Then, the QR code printing service can be provided to the user by printing the electronic file on the device 20.

[第三の実施形態]
次に、第三の実施形態について説明する。第三の実施形態では、メール受信タイプのアプリケーションについて説明する。メール受信タイプとは、所定のメールアドレス宛のメールを受信した場合に、一連の処理を実行させるタイプのアプリケーションである。言い換えれば、メール受信タイプのアプリケーションとは、メール受信をトリガとして一連の処理を実行させるアプリケーションである。
[Third Embodiment]
Next, the third embodiment will be described. In the third embodiment, a mail reception type application will be described. The mail reception type is an application of a type that executes a series of processes when a mail addressed to a predetermined mail address is received. In other words, an email reception type application is an application that executes a series of processes triggered by email reception.

なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the third embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.

<機能構成>
まず、第三の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the information processing system 1 according to the third embodiment will be described with reference to FIG.

サービス提供システム10は、更に、メールサービス部180を有する。メールサービス部180は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。 The service providing system 10 further includes a mail service unit 180. The mail service unit 180 is realized by a process of causing the CPU 16 to execute one or more programs installed in the service providing system 10.

メールサービス部180は、メール受信及び処理フローの実行に関する処理を行う。メールサービス部180は、メール受信部181と、処理実行部182とを有する。メール受信部181は、メールを受信する。そして、メール受信部181は、所定の記憶領域に記憶されているメール情報テーブル183を参照して、受信したメールの送信先メールアドレスに対応するフロー名の処理フローの実行を処理実行部182に要求する。 The mail service unit 180 performs processing related to mail reception and execution of the processing flow. The mail service unit 180 has a mail receiving unit 181 and a processing execution unit 182. The mail receiving unit 181 receives the mail. Then, the mail receiving unit 181 refers to the mail information table 183 stored in the predetermined storage area, and causes the processing execution unit 182 to execute the processing flow of the flow name corresponding to the destination mail address of the received mail. Request.

処理実行部182は、メール受信部181からの要求に応じて、ロジック処理部112にアプリケーションの実行を要求する。 The processing execution unit 182 requests the logic processing unit 112 to execute the application in response to the request from the mail receiving unit 181.

ここで、メール情報テーブル183について、図9を参照しながら説明する。図9は、メール情報テーブル183の一例を示す図である。 Here, the mail information table 183 will be described with reference to FIG. FIG. 9 is a diagram showing an example of the mail information table 183.

図9に示すように、メール情報テーブル183は、メールアドレスと、フロー名とが対応付けられている。これにより、メール受信部181は、受信したメールの送信先メールアドレスに対応するフロー名をメール情報テーブル183から取得することができる。 As shown in FIG. 9, in the mail information table 183, the mail address and the flow name are associated with each other. As a result, the mail receiving unit 181 can acquire the flow name corresponding to the destination mail address of the received mail from the mail information table 183.

以上により、本実施形態に係るサービス提供システム10は、予め登録されたメールアドレス宛のメールを受信した場合、当該メールアドレスに対応付けられたフロー名の処理フローにより実現されるサービスを提供することができる。 As described above, when the service providing system 10 according to the present embodiment receives an e-mail addressed to a pre-registered e-mail address, the service providing system 10 provides a service realized by a processing flow of a flow name associated with the e-mail address. Can be done.

[第四の実施形態]
次に、第四の実施形態について説明する。第四の実施形態では、コンポーネント又は処理フローに対して、1以上のパラメータが含まれるパラメータグループを設定する場合について説明する。コンポーネント又は処理フローに対してパラメータグループが設定されることで、ユーザは、アプリケーションの登録の際に、パラメータグループを選択するだけで、適切なパラメータを設定することができるようになる。
[Fourth Embodiment]
Next, a fourth embodiment will be described. In the fourth embodiment, a case where a parameter group including one or more parameters is set for the component or the processing flow will be described. By setting a parameter group for a component or a processing flow, the user can set an appropriate parameter simply by selecting the parameter group when registering the application.

これにより、パラメータの使用を正確に理解していなくもアプリケーションの開発を行うことができるようになる。すなわち、例えば、どのパラメータを、どの程度の値に設定すれば所望の結果を得ることができるのかをユーザが正確に理解していない場合であっても、アプリケーションを開発することができるようになる。 This allows you to develop applications without an accurate understanding of the use of parameters. That is, for example, an application can be developed even if the user does not accurately understand which parameter should be set to what value to obtain the desired result. ..

すなわち、本実施形態は、個々のパラメータの仕様を正確に理解していないユーザであっても、パラメータグループを選択することで、容易にアプリケーションの開発を行えるようにするものである。 That is, in the present embodiment, even a user who does not accurately understand the specifications of individual parameters can easily develop an application by selecting a parameter group.

なお、第四の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the fourth embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.

<機能構成>
まず、第四の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the information processing system 1 according to the fourth embodiment will be described with reference to FIG.

サービス提供システム10の入出力サービス処理部110は、更に、パラメータグループ管理部113を有する。また、サービス提供システム10は、パラメータグループ情報記憶部190を有する。パラメータグループ情報記憶部190は、HDD18を用いて実現可能である。なお、パラメータグループ情報記憶部190は、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。 The input / output service processing unit 110 of the service providing system 10 further has a parameter group management unit 113. Further, the service providing system 10 has a parameter group information storage unit 190. The parameter group information storage unit 190 can be realized by using the HDD 18. The parameter group information storage unit 190 may be realized by using a storage device or the like connected to the service providing system 10 via a network.

パラメータグループ管理部113は、アプリ登録部142からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部190に記憶させる。また、パラメータグループ管理部113は、アプリ登録部142からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部190から取得する。 The parameter group management unit 113 stores the parameter group information in the parameter group information storage unit 190 in response to a request from the application registration unit 142. Further, the parameter group management unit 113 acquires the parameter group information from the parameter group information storage unit 190 in response to the request from the application registration unit 142.

パラメータグループ情報記憶部190は、パラメータグループ情報を記憶する。パラメータグループ情報は、コンポーネント又は処理フローと、パラメータグループとが対応付けられた情報である。 The parameter group information storage unit 190 stores the parameter group information. The parameter group information is information in which a component or processing flow is associated with a parameter group.

以上により、本実施形態に係る情報処理システム1では、ユーザは、コンポーネントや処理フローに対してパラメータグループを登録することができる。また、本実施形態に係る情報処理システム1では、ユーザは、予め登録されたパラメータグループを利用して、アプリケーションの登録を行うことができる。このとき、ユーザは、予め登録されたパラメータグループの中から、所望のパラメータグループを選択するだけで、容易にアプリケーションのパラメータを設定することができる。 As described above, in the information processing system 1 according to the present embodiment, the user can register the parameter group for the component and the processing flow. Further, in the information processing system 1 according to the present embodiment, the user can register the application by using the parameter group registered in advance. At this time, the user can easily set the parameters of the application simply by selecting a desired parameter group from the parameter groups registered in advance.

[第五の実施形態]
次に、第五の実施形態について説明する。第五の実施形態では、アプリケーションのパラメータの設定値が入力される際のバリデーションを登録する場合について説明する。これにより、例えば、アプリケーションの利用時にパラメータの設定値を入力する際に、当該パラメータの設定値として使用不可能な値等が設定されてしまう事態を防止することができる。
[Fifth Embodiment]
Next, the fifth embodiment will be described. In the fifth embodiment, the case of registering the validation when the setting value of the parameter of the application is input will be described. As a result, for example, when a parameter setting value is input when the application is used, it is possible to prevent a situation in which an unusable value or the like is set as the parameter setting value.

以上により、本実施形態に係る情報処理システム1では、サービス提供システム10に登録されているバリデーション情報を利用して、アプリケーションに対してバリデーションを設定したり、バリデーション情報の編集等を行ったりすることができる。 As described above, in the information processing system 1 according to the present embodiment, the validation information registered in the service providing system 10 is used to set the validation for the application, edit the validation information, and the like. Can be done.

[第六の実施形態]
次に、第六の実施形態について説明する。第六の実施形態では、フォルダブラウズの処理フローを自動的に作成する場合について説明する。
[Sixth Embodiment]
Next, the sixth embodiment will be described. In the sixth embodiment, a case where a folder browsing process flow is automatically created will be described.

ファイルのダウンロードやアップロード等を行うアプリケーションでは、ファイルストレージサービス上のファイル又はフォルダのID等をパラメータとして入力する必要がある。このようなID等は、例えば、ファイルやフォルダをブラウジングしながら指定することができる。しかしながら、例えばアプリケーション開発の経験が少ないユーザは、このようなブラウジング用の処理フローを作成することが困難である場合がある。そこで、本実施形態では、ユーザがアプリケーションの登録時にパラメータの入力方法を指定するだけで、ファイル一覧やフォルダ一覧を取得するようなブラウズ用の処理フローを自動的に作成するものである。これにより、フォルダブラウズを行うアプリケーションを容易に開発することができるようになる。 In an application that downloads or uploads a file, it is necessary to input the ID of the file or folder on the file storage service as a parameter. Such IDs and the like can be specified, for example, while browsing files and folders. However, for example, a user who has little experience in application development may find it difficult to create such a processing flow for browsing. Therefore, in the present embodiment, the user simply specifies the parameter input method when registering the application, and the processing flow for browsing that acquires the file list or the folder list is automatically created. This makes it possible to easily develop an application that browses folders.

なお、第六の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the sixth embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.

<機能構成>
まず、第六の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the information processing system 1 according to the sixth embodiment will be described with reference to FIG.

サービス提供システム10の入出力サービス処理部110は、更に、フロー自動生成部114を有する。フロー自動生成部114は、アプリケーション登録時に、アプリ管理部111からの要求に応じて、パラメータの入力方法に対応する処理フロー情報1100を、処理フローテンプレートから生成する。処理フローテンプレートとは、処理フロー情報1100を作成するためのテンプレート(雛形)である。 The input / output service processing unit 110 of the service providing system 10 further includes an automatic flow generation unit 114. At the time of application registration, the flow automatic generation unit 114 generates the processing flow information 1100 corresponding to the parameter input method from the processing flow template in response to the request from the application management unit 111. The processing flow template is a template (template) for creating the processing flow information 1100.

以上により、本実施形態に係る情報処理システム1では、パラメータの入力方法を指定するだけで、フォルダブラウズを行う処理フローを自動で生成することができる。これにより、ユーザは、フォルダブラウズによりパラメータの設定値を設定するアプリケーションを容易に作成することができるようになる。 As described above, in the information processing system 1 according to the present embodiment, a processing flow for browsing folders can be automatically generated only by specifying a parameter input method. As a result, the user can easily create an application for setting parameter setting values by browsing folders.

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

上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。 Each function of the embodiment described above can be realized by one or more processing circuits. Here, the "processing circuit" in the present specification is a processor programmed to execute each function by software such as a processor implemented by an electronic circuit, or a processor designed to execute each function described above. It shall include devices such as ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules.

実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、サービス提供システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。 The device group described in the examples is only one of a plurality of computing environments for implementing the embodiments disclosed herein. In certain embodiments, the service providing system 10 includes a plurality of computing devices such as server clusters. The plurality of computing devices are configured to communicate with each other via any type of communication link, including networks, shared memory, and the like, and perform the processes disclosed herein.

1 情報処理システム
10 サービス提供システム
20 機器
30 PC端末
110 入出力サービス処理部
111 アプリ管理部
112 ロジック処理部
120 Webサービス処理部
121 画面構成部
122 アプリ実行部
130 ドキュメントサービス部
131 OCR処理部
132 メール配信部
140 ポータルサービス部
141 UI提供部
142 アプリ登録部
150 アプリ情報記憶部
160 アプリ画面情報記憶部
170 ポータル画面情報記憶部
210 ブラウザ
310 ブラウザ
301 フロー実行部
302 コンポーネント管理部
303 コンポーネント群
304 型変換管理部
305 型変換群
1000 アプリ情報
1100 処理フロー情報
1200 アプリ設定情報
2000 アプリ画面情報
3000 ポータル画面情報
4000 型変換情報テーブル
1321 コンポーネント判別部
1322 既存コンポーネント生成部
1323 追加コンポーネント生成部
1324 コンポーネント登録部
1325 判断部
5000 コンポーネント情報テーブル
1401 判別部
1402 アプリ生成部
1403 アプリ更新部
1404 自動修正部
6000 アプリ設定情報テーブル
1 Information processing system 10 Service provision system 20 Equipment 30 PC terminal 110 Input / output service processing unit 111 Application management unit 112 Logic processing unit 120 Web service processing unit 121 Screen configuration unit 122 Application execution unit 130 Document service unit 131 OCR processing unit 132 Mail Distribution department 140 Portal service department 141 UI provision department 142 App registration department 150 App information storage unit 160 App screen information storage unit 170 Portal screen information storage unit 210 Browser 310 Browser 301 Flow execution department 302 Component management department 303 Component group 304 type conversion management Part 305 Type conversion group 1000 App information 1100 Processing flow information 1200 App setting information 2000 App screen information 3000 Portal screen information 4000 Type conversion information table 1321 Component discrimination unit 1322 Existing component generation unit 1323 Additional component generation unit 1324 Component registration unit 1325 Judgment unit 5000 Component information table 1401 Discrimination part 1402 App generation part 1403 App update part 1404 Automatic correction part 6000 App setting information table

特開第2018−14079号公報Japanese Unexamined Patent Publication No. 2018-14079

Claims (7)

一連の処理を実行させるためのアプリケーションを有するサービス提供システムと、前記一連の処理に含まれる各処理を実行するためのコンポーネントの更新を要求する端末と、を含み、
前記端末から前記コンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と
を備えた情報処理システム。
A service providing system having an application for executing a series of processes, and a terminal requesting an update of a component for executing each process included in the series of processes are included.
When a request for updating the component is acquired from the terminal, a determination unit that determines whether or not the application setting information of the application should be modified, and a determination unit.
An information processing system including an automatic correction unit that corrects the application setting information and updates the application when the application setting information should be corrected.
前記アプリケーションが利用している前記コンポーネントのバージョン情報を含む前記アプリ設定情報が記憶されたアプリ情報記憶部、をさらに備えた請求項1に記載の情報処理システム。 The information processing system according to claim 1, further comprising an application information storage unit that stores the application setting information including version information of the component used by the application. 前記アプリ設定情報の更新履歴が記憶されたアプリ設定情報テーブルをさらに備えた、請求項1または2に記載の情報処理システム。 The information processing system according to claim 1 or 2, further comprising an application setting information table in which an update history of the application setting information is stored. 前記コンポーネントのバージョン情報が記憶されたコンポーネント情報テーブルをさらに備えた、請求項1から3のいずれか一項に記載の情報処理システム。 The information processing system according to any one of claims 1 to 3, further comprising a component information table in which version information of the component is stored. 一連の処理を実行させるためのアプリケーションを有するサービス提供システムであって、
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と
を備えたサービス提供システム。
A service providing system that has an application for executing a series of processes.
When a request for updating a component for executing each process included in the series of processes is acquired, a determination unit that determines whether or not the application setting information of the application should be modified, and a determination unit.
A service providing system including an automatic correction unit that corrects the application setting information and updates the application when the application setting information should be corrected.
一連の処理を実行させるためのアプリケーションを有するサービス提供システムが実行する方法であって、
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断するステップと、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させるステップと
を含む方法。
It is a method executed by a service providing system having an application for executing a series of processes.
Upon obtaining a request to update the component for executing each process included in the series of processes, a step of determining whether or not the application setting information of the application should be modified, and
A method including a step of modifying the application setting information to update the application when the application setting information should be modified.
一連の処理を実行させるためのアプリケーションを有するサービス提供システムを、
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部
として機能させるためのプログラム。
A service providing system that has an application for executing a series of processes,
When a request for updating a component for executing each process included in the series of processes is acquired, a determination unit that determines whether or not the application setting information of the application should be modified.
A program for modifying the application setting information and updating the application to function as an automatic correction unit when the application setting information should be modified.
JP2019120428A 2019-06-27 2019-06-27 Information processing system, service providing system, method, and program Withdrawn JP2021005349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019120428A JP2021005349A (en) 2019-06-27 2019-06-27 Information processing system, service providing system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019120428A JP2021005349A (en) 2019-06-27 2019-06-27 Information processing system, service providing system, method, and program

Publications (1)

Publication Number Publication Date
JP2021005349A true JP2021005349A (en) 2021-01-14

Family

ID=74098220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019120428A Withdrawn JP2021005349A (en) 2019-06-27 2019-06-27 Information processing system, service providing system, method, and program

Country Status (1)

Country Link
JP (1) JP2021005349A (en)

Similar Documents

Publication Publication Date Title
US10750044B2 (en) Information processing system, information processing apparatus, and method for processing information
US10356266B2 (en) Information processing system, information processing apparatus, and method for processing information
US10122870B2 (en) Information processing system, information processing apparatus, and information processing method
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
US10757286B2 (en) Information processing system for performing a series of processes on electronic data
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
US10372485B2 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
US9794447B2 (en) Service providing system, cooperation processing method, and information processing system
US20190303194A1 (en) Information processing system, information processing apparatus, method for processing information, and recording medium
US10778862B2 (en) Information processing system, information processing method, and computer-readable recording medium
US10530943B2 (en) Information processing system configured to maintain application state information associated with an application, information processing apparatus, and information processing method
US10992831B2 (en) Information processing system for setting dependency relationships for input items on a screen related to a process flow
US20140019859A1 (en) System, information processing apparatus, and method of controlling display
US20180024787A1 (en) Information processing system and information processing method
US20190289157A1 (en) Information processing system, information processing method and non-transitory computer-readable storage medium
US20160072967A1 (en) Information processor creating communication application, and computer-readable non-transitory recording medium storing application creation program for creating communication application
US11436299B2 (en) Information processing system, server apparatus, and information processing method
US20220053050A1 (en) Information processing system, process executing system, process executing method, and recording medium
US11748173B2 (en) Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP7196600B2 (en) Information processing system, server device, information processing method, and program
JP2021005349A (en) Information processing system, service providing system, method, and program
US10567613B2 (en) Information processing system, program, and requesting method
US20220300269A1 (en) Information processing apparatus, information processing system, and information processing method
US20210168130A1 (en) Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium
JP6852591B2 (en) I / O devices, programs and information processing systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220414

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20220804