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

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

Info

Publication number
JP2016154000A
JP2016154000A JP2015222330A JP2015222330A JP2016154000A JP 2016154000 A JP2016154000 A JP 2016154000A JP 2015222330 A JP2015222330 A JP 2015222330A JP 2015222330 A JP2015222330 A JP 2015222330A JP 2016154000 A JP2016154000 A JP 2016154000A
Authority
JP
Japan
Prior art keywords
component
processing
unit
information
service
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.)
Granted
Application number
JP2015222330A
Other languages
Japanese (ja)
Other versions
JP6690196B2 (en
Inventor
和徳 杉村
Kazunori Sugimura
和徳 杉村
雄一郎 林
Yuichiro Hayashi
雄一郎 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US15/042,492 priority Critical patent/US10122870B2/en
Priority to EP16155705.3A priority patent/EP3057303B1/en
Priority to EP20170721.3A priority patent/EP3739862B1/en
Publication of JP2016154000A publication Critical patent/JP2016154000A/en
Application granted granted Critical
Publication of JP6690196B2 publication Critical patent/JP6690196B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing system configured to support development of an application for executing processing in cooperation with an external service, an information processing apparatus, and an information processing method.SOLUTION: An information processing system having a plurality of programs each executing predetermined processing includes: storage means which stores identification information of an application executing a series of processing using electronic data, in cooperation with an external service, in association with information on a series of processing for executing the above series of processing by combining the programs, for each application; receiving means for receiving a request including the identification information and information on electronic data to be used for the series of processing; and processing execution means which executes the series of processing using the electronic data, on the basis of the information on the series of processing associated with the identification information, by combining at least one of the programs.SELECTED DRAWING: Figure 4

Description

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

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

また、例えば画像形成装置で原稿をスキャンして取得した画像データを外部ストレージに保管する技術が知られている(例えば特許文献1参照)。このように、画像形成装置と外部サービスとが連携して処理を行う技術が従来より知られている。   For example, a technique for storing image data acquired by scanning an original with an image forming apparatus in an external storage is known (see, for example, Patent Document 1). As described above, a technique in which an image forming apparatus and an external service perform processing in cooperation is conventionally known.

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

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

上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別する識別情報と、該一連の処理を前記プログラムを組み合わせて実行するための一連の処理に関する情報とを関連付けて記憶する記憶手段と、前記情報処理システムに接続される1以上の機器のうちの一の機器から前記識別情報と、前記一連の処理に用いる電子データに関する情報とを含む要求を受け付ける受付手段と、前記受付手段により受け付けた前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を、前記要求に含まれる前記識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づいて、前記複数のプログラムのうちの1以上のプログラムを組み合わせて実行する処理実行手段とを有することを特徴とする。   In order to achieve the above object, an embodiment of the present invention is an information processing system that includes one or more information processing apparatuses and includes a plurality of programs that respectively execute predetermined processing, and a series of electronic data Storage means for associating and storing identification information for identifying each application and information related to a series of processes for executing the series of processes in combination with the program for each application that executes the processes in cooperation with an external service A receiving unit that receives a request including the identification information and information related to electronic data used for the series of processes from one of the one or more devices connected to the information processing system; and the receiving unit The series of processes using electronic data based on information on the electronic data included in the received request, Processing execution means for executing a combination of one or more of the plurality of programs based on information relating to the series of processing stored in the storage means in association with the identification information included in the request. It is characterized by that.

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

第1の実施形態に係る情報処理システムの一例の構成図である。It is a lineblock diagram of an example of an information processing system concerning a 1st embodiment. 第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。It is a hardware block diagram of an example of the service provision system which concerns on 1st Embodiment. 第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。1 is a hardware configuration diagram of an example of an image forming apparatus according to a first embodiment. 第1の実施形態に係る情報処理システムの一例の処理ブロック図である。It is a processing block diagram of an example of the information processing system concerning a 1st embodiment. 共通I/F及び固有I/Fの一例を説明するための図である。It is a figure for demonstrating an example of common I / F and intrinsic | native I / F. データ定義の一例を説明するための図である。It is a figure for demonstrating an example of a data definition. レイアウト情報の一例を説明するための図である。It is a figure for demonstrating an example of layout information. 処理内容の一例を説明するための図である。It is a figure for demonstrating an example of the processing content. 第1の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。It is a sequence diagram of an example of the entire process of the scan delivery service according to the first embodiment. スキャン配信サービスを利用するためのアプリ画面の一例を説明するための図である。It is a figure for demonstrating an example of the application screen for utilizing a scan delivery service. 第1の実施形態に係るロジック処理部の一例の処理ブロック図である。It is a processing block diagram of an example of a logic processing unit according to the first embodiment. 型変換テーブルの一例を説明するための図である。It is a figure for demonstrating an example of a type | mold conversion table. 第1の実施形態に係るOCRから配信実行までの処理の一例のシーケンス図である。It is a sequence diagram of an example of a process from OCR to distribution execution according to the first embodiment. 第1の実施形態に係るクラウドプリントサービスの全体処理の一例のシーケンス図である。It is a sequence diagram of an example of the entire process of the cloud print service according to the first embodiment. クラウドプリントサービスを利用するためのアプリ画面の一例を説明するための図である。It is a figure for demonstrating an example of the application screen for utilizing a cloud print service. 第1の実施形態に係るファイル取得実行から印刷変換までの処理の一例のシーケンス図である。It is a sequence diagram of an example of processing from file acquisition execution to print conversion according to the first embodiment. 第2の実施形態に係る情報処理システムの一例の処理ブロック図である。It is a processing block diagram of an example of an information processing system concerning a 2nd embodiment. 第2の実施形態に係るアプリ画面の表示処理の一例のシーケンス図である。It is a sequence diagram of an example of the display process of the application screen which concerns on 2nd Embodiment. 第3の実施形態に係る情報処理システムの一例の構成図である。It is a block diagram of an example of the information processing system which concerns on 3rd Embodiment. 第3の実施形態に係る情報処理システムの一例の処理ブロック図である。It is a processing block diagram of an example of an information processing system concerning a 3rd embodiment. 第3の実施形態に係るロジック処理部の一例の処理ブロック図である。It is a processing block diagram of an example of the logic processing part which concerns on 3rd Embodiment. コンポーネント管理テーブルの一例を説明するための図である。It is a figure for demonstrating an example of a component management table. 第3の実施形態に係る外部コンポーネント処理部の一例の処理ブロック図である。It is a processing block diagram of an example of an external component processing part concerning a 3rd embodiment. 型変換テーブルの一例を説明するための図である。It is a figure for demonstrating an example of a type | mold conversion table. 第3の実施形態に係るOCRから配信実行までの処理の一例のシーケンス図である。It is a sequence diagram of an example of a process from OCR which concerns on 3rd Embodiment to delivery execution. 処理内容の他の例を説明するための図である。It is a figure for demonstrating the other example of the processing content. 第3の実施形態に係る外部コンポーネント処理の一例のシーケンス図である。It is a sequence diagram of an example of the external component process which concerns on 3rd Embodiment. 第3の実施形態に係る処理内容の作成処理の一例のシーケンス図である。FIG. 10 is a sequence diagram illustrating an example of processing for creating processing content according to a third embodiment. 処理内容の作成の一例を説明するための図である。It is a figure for demonstrating an example of creation of the processing content.

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

[第1の実施形態]
<システム構成>
図1は、第1の実施形態に係る情報処理システムの一例の構成図である。図1に示される情報処理システム1は、サービス提供環境E1、ユーザ環境E2、及び外部ストレージシステム30を含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
[First Embodiment]
<System configuration>
FIG. 1 is a configuration diagram of an example of an information processing system according to the first embodiment. An information processing system 1 shown in FIG. 1 includes a service providing environment E1, a user environment E2, and an external storage system 30, and is communicably connected via a wide area network N1 such as the Internet.

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

サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークを介して所定のサービスを提供する。例えば、サービス提供システム10は、ユーザ環境E2の画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR(Optical Character Reader)処理して、外部ストレージシステム30に保存するサービス(スキャン配信サービス)を提供する。また、例えば、サービス提供システム10は、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2の画像形成装置20で印刷するサービス(クラウドプリントサービス)を提供する。本実施形態では、サービス提供システム10は、このようなスキャン配信サービス及びクラウドプリントサービスを提供するものとして説明する。   The service providing environment E1 includes a service providing system 10 that is realized by one or more information processing apparatuses. The service providing system 10 provides a predetermined service via a network. For example, the service providing system 10 performs an OCR (Optical Character Reader) process on an electronic file generated by scanning an original in the image forming apparatus 20 of the user environment E2 and stores it in the external storage system 30 (scan distribution). Service). For example, the service providing system 10 provides a service (cloud print service) for printing an electronic file stored in the external storage system 30 by the image forming apparatus 20 of the user environment E2. In the present embodiment, the service providing system 10 will be described as providing such a scan distribution service and a cloud print service.

ただし、サービス提供システム10により提供されるサービスは、これらに限られず、例えば、外部ストレージシステム30に保存されている電子ファイルを、ユーザ環境E2のプロジェクタで投影するサービス等であってもよい。また、画像形成装置20において原稿をスキャンして生成された電子ファイルを、OCR処理した後、所定の言語に翻訳(例えば、英語から日本語に翻訳)して、外部ストレージシステム30に保存するサービス等であってもよい。   However, the service provided by the service providing system 10 is not limited to these, and may be, for example, a service that projects an electronic file stored in the external storage system 30 with a projector in the user environment E2. In addition, an electronic file generated by scanning an original in the image forming apparatus 20 is subjected to OCR processing, translated into a predetermined language (for example, translated from English to Japanese), and stored in the external storage system 30 Etc.

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

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

本実施形態に係る画像形成装置20は、プリント機能及びスキャン機能を有する画像形成装置である。なお、画像形成装置20は、プリント機能及びスキャン機能以外に、コピー機能やファックス(FAX)通信機能等を備える複合機等でもよい。   The image forming apparatus 20 according to the present embodiment is an image forming apparatus having a print function and a scan function. Note that the image forming apparatus 20 may be a multifunction machine having a copy function, a fax (FAX) communication function, and the like in addition to the print function and the scan function.

外部ストレージシステム30は、ネットワークを介してストレージサービス(又はオンラインストレージ)と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム30のストレージの記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム30によって貸し出される記憶領域に、OCR処理された電子ファイルを保存(アップロード)する。また、本実施形態では、クラウドプリントサービスにおいて、外部ストレージシステム30によって貸し出される記憶領域から印刷対象となる電子ファイルを取得(ダウンロード)する。なお、以降では、複数の外部ストレージシステム30について、各々を区別するときは、「外部ストレージシステム30」、「外部ストレージシステム30」等と添え字を用いて記載する。また、外部ストレージシステム30によって提供されるサービスの名称を「ストレージサービスA」、ストレージシステム30によって提供されるサービスの名称を「ストレージサービスB」等とする。 The external storage system 30 is a computer system that provides a cloud service called a storage service (or online storage) via a network. The storage service is a service that lends the storage area of the storage of the external storage system 30. In the present embodiment, in the scan distribution service, the OCR-processed electronic file is stored (uploaded) in a storage area lent by the external storage system 30. In the present embodiment, in the cloud print service, an electronic file to be printed is acquired (downloaded) from a storage area lent by the external storage system 30. Hereinafter, when distinguishing each of the plurality of external storage systems 30, they are described using subscripts such as “external storage system 30 1 ” and “external storage system 30 2 ”. Further, "Storage Service A" the name of the service provided by the external storage system 30 1, and the like "storage service B" the name of the service provided by the storage system 30 2.

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

<ハードウェア構成>
≪サービス提供システム≫
図1に示されるサービス提供システム10は、例えば図2に示されるようなハードウェア構成を有する。図2は、第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。図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で接続されている。
<Hardware configuration>
≪Service provision system≫
The service providing system 10 shown in FIG. 1 has a hardware configuration as shown in FIG. 2, for example. FIG. 2 is a hardware configuration diagram of an example of a service providing system according to the first embodiment. A service providing system 10 illustrated in FIG. 2 includes an input device 11, a display device 12, an external I / F 13, and a RAM (Random Access Memory) 14. The service providing system 10 includes a ROM (Read Only Memory) 15, a CPU (Central Processing Unit) 16, a communication I / F 17, and an HDD (Hard Disk Drive) 18. Each of these hardware is connected by a bus B.

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

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

HDD18は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであってもよい。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。   The HDD 18 is an example of a nonvolatile storage device that stores programs and data. The stored programs and data include an OS (Operating System) that is basic software for controlling the entire service providing system 10 and application software that provides various functions on the OS. 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. The HDD 18 manages stored programs and data by a predetermined file system and / or DB.

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

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

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

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

≪画像形成装置≫
図1に示される画像形成装置20は、例えば図3に示されるようなハードウェア構成を有する。図3は、第1の実施形態に係る画像形成装置の一例のハードウェア構成図である。図3に示す画像形成装置20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを有する。ROM213は、各種プログラムやデータが格納されている。RAM212はプログラムやデータを一時保持する。NVRAM214は、例えば設定情報等が格納されている。また、HDD215は各種プログラムやデータが格納されている。
≪Image forming device≫
The image forming apparatus 20 shown in FIG. 1 has a hardware configuration as shown in FIG. 3, for example. FIG. 3 is a hardware configuration diagram of an example of the image forming apparatus according to the first embodiment. The image forming apparatus 20 illustrated in FIG. 3 includes a controller 21, an operation panel 22, an external I / F 23, a communication I / F 24, a printer 25, and a scanner 26. The controller 21 includes a CPU 211, a RAM 212, a ROM 213, an NVRAM 214, and an HDD 215. The ROM 213 stores various programs and data. The RAM 212 temporarily stores programs and data. The NVRAM 214 stores setting information, for example. The HDD 215 stores various programs and data.

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

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

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

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

<ソフトウェア構成>
第1の実施形態に係る情報処理システム1は、例えば図4に示されるような処理ブロックにより実現することができる。図4は、第1の実施形態に係る情報処理システムの一例の処理ブロック図である。
<Software configuration>
The information processing system 1 according to the first embodiment can be realized by a processing block as shown in FIG. 4, for example. FIG. 4 is a processing block diagram of an example of the information processing system according to the first embodiment.

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

サービス提供システム10は、サービス処理部110と、ドキュメントサービス部150と、ストレージサービス連携部160とを有する。これら各部は、例えばCPU16等により実現される。   The service providing system 10 includes a service processing unit 110, a document service unit 150, and a storage service cooperation unit 160. These units are realized by the CPU 16 or the like, for example.

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

サービス処理部110は、アプリ管理部120と、ロジック処理部130と、データI/F部140とを有する。   The service processing unit 110 includes an application management unit 120, a logic processing unit 130, and a data I / F unit 140.

アプリ管理部120は、アプリ情報記憶部190に記憶されているアプリ情報1000を管理する。アプリ管理部120は、ブラウザ210からの要求に応じて、アプリ情報1000に含まれる画面定義に基づくアプリ画面を返信する。これにより、画像形成装置20のブラウザ210には、サービス提供システム10により提供されるサービスを利用するためのアプリ画面が表示される。ここで、アプリ情報1000は、詳細は後述するが、上述したアプリ画面を画像形成装置20に表示させるための画面定義と、当該アプリ情報1000により実現されるサービスの処理内容とが記述された情報である。   The application management unit 120 manages the application information 1000 stored in the application information storage unit 190. In response to a request from the browser 210, the application management unit 120 returns an application screen based on the screen definition included in the application information 1000. As a result, an application screen for using the service provided by the service providing system 10 is displayed on the browser 210 of the image forming apparatus 20. Here, the application information 1000 will be described in detail later, but information describing the screen definition for displaying the above-described application screen on the image forming apparatus 20 and the processing contents of the service realized by the application information 1000 is described. It is.

また、アプリ管理部120は、ロジック処理部130からの要求に応じて、アプリ情報1000に含まれる処理内容を返信する。処理内容は、詳細は後述するが、スキャン配信サービスやクラウドプリントサービス等を実現するための一連の処理が記述されている。なお、一連の処理は、「処理フロー」又は「フロー」とも称される。   In addition, the application management unit 120 returns processing content included in the application information 1000 in response to a request from the logic processing unit 130. Although details of processing will be described later, a series of processes for realizing a scan distribution service, a cloud print service, and the like are described. The series of processing is also referred to as “processing flow” or “flow”.

ロジック処理部130は、ブラウザ210からの要求に応じて、アプリ管理部120から処理内容を取得する。そして、ロジック処理部130は、取得した処理内容に従ってドキュメントサービス部150又は/及びストレージサービス連携部160のファイル処理部170に対して、処理の実行を要求する。これにより、サービス提供システム10による各種サービスが、画像形成装置20に提供される。なお、ロジック処理部130の詳細な処理ブロックについては、後述の<処理の詳細>の中で説明する。   The logic processing unit 130 acquires processing contents from the application management unit 120 in response to a request from the browser 210. The logic processing unit 130 requests the document processing unit 150 and / or the file processing unit 170 of the storage service cooperation unit 160 to execute processing according to the acquired processing content. As a result, various services provided by the service providing system 10 are provided to the image forming apparatus 20. Detailed processing blocks of the logic processing unit 130 will be described in <Processing details> described later.

データI/F部140は、ブラウザ210からの要求に応じて、ストレージサービス連携部160のデータ処理部180に対して、例えばフォルダ一覧の取得等を要求する。   In response to a request from the browser 210, the data I / F unit 140 requests the data processing unit 180 of the storage service cooperation unit 160 to acquire a folder list, for example.

ドキュメントサービス部150は、サービス提供システム10により提供されるサービスを実現するためのプログラム(モジュール)群である。ドキュメントサービス部150には、例えば、電子ファイルに対してOCR処理を実行するOCR処理151や電子ファイルを画像形成装置20が印刷可能なデータ形式(印刷データ)に変換する印刷変換処理152等が含まれる。ドキュメントサービス部150には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するためのプログラム、電子ファイルのデータ形式を変換(例えばPDF形式に変換)するためのプログラム等、各種の処理を実行するプログラムが含まれていてもよい。   The document service unit 150 is a group of programs (modules) for realizing a service provided by the service providing system 10. The document service unit 150 includes, for example, an OCR process 151 that executes an OCR process on an electronic file, a print conversion process 152 that converts the electronic file into a data format (print data) that can be printed by the image forming apparatus 20, and the like. It is. In addition to these, the document service unit 150 executes various processes such as a program for compressing or decompressing an electronic file and a program for converting the data format of the electronic file (for example, converting to a PDF format). May be included.

ストレージサービス連携部160は、ロジック処理部130及びデータI/F部140からの要求に応じて、外部ストレージシステム30に対して、各種処理の実行を要求する。ここで、サービス提供システム10は、外部ストレージシステム30毎に、ストレージサービス連携部160をそれぞれ有する。すなわち、サービス提供システム10は、外部ストレージシステム30に対して処理を要求するためのストレージサービスA連携部160、外部ストレージシステム30に対して処理を要求するためのストレージサービスB連携部160等を有する。このように、サービス提供システム10は、連携して処理を行う外部ストレージシステム30毎に、それぞれ対応するストレージサービス連携部160を有する。なお、以降では、複数のストレージサービス連携部160について、各々を区別するときは、上記のように「ストレージサービスA連携部160」、「ストレージサービスB連携部160」等と添え字を用いて記載する。 The storage service cooperation unit 160 requests the external storage system 30 to execute various processes in response to requests from the logic processing unit 130 and the data I / F unit 140. Here, the service providing system 10 includes a storage service cooperation unit 160 for each external storage system 30. That is, the service providing system 10, the storage service A linkage unit 160 1 for requesting processing to the external storage system 30 1, a storage service B cooperation unit 160 for requesting the processing to the external storage system 30 2 2 etc. As described above, the service providing system 10 includes the corresponding storage service cooperation unit 160 for each external storage system 30 that performs processing in cooperation. Hereinafter, when distinguishing each of the plurality of storage service cooperation units 160, the subscripts “storage service A cooperation unit 160 1 ”, “storage service B cooperation unit 160 2 ”, etc. are used as described above. To describe.

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

ファイル処理部170は、外部ストレージシステム30に保存されている電子ファイルに対する操作(例えば、取得、保存、編集等)を行うためのAPI(Application Programming Interface)が定義された共通I/F171及び固有I/F172を有する。共通I/F171は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(a)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の共通I/F171は、すべての外部ストレージシステム30が利用できるファイル操作に関する機能(例えば、ファイルの取得、保存等)を利用するためのAPI群である。一方、固有I/F172は、特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(b)に示すようなAPIが挙げられる。換言すれば、ファイル処理部170の固有I/F172は、ある特定の外部ストレージシステム30において利用できるファイル操作に関する機能(例えば、ファイルの編集等)を利用するためのAPI群である。したがって、共通I/F171は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F172は、当該固有I/F172で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。   The file processing unit 170 includes a common I / F 171 and a unique I / F that define an API (Application Programming Interface) for performing operations (for example, acquisition, storage, editing, etc.) on electronic files stored in the external storage system 30. / F172. The common I / F 171 is an API that can be used in common among a plurality of external storage systems 30, and includes, for example, an API as shown in FIG. In other words, the common I / F 171 of the file processing unit 170 is an API group for using functions related to file operations that can be used by all external storage systems 30 (for example, file acquisition and storage). On the other hand, the unique I / F 172 is an API that can be used in a specific external storage system 30 and includes, for example, an API as shown in FIG. In other words, the unique I / F 172 of the file processing unit 170 is an API group for using a file operation function (for example, file editing) that can be used in a specific external storage system 30. Therefore, the common I / F 171 is similarly defined for all the storage service cooperation units 160, while the unique I / F 172 is a specific storage service cooperation that can use the API defined by the unique I / F 172. Defined for part 160.

一方、データ処理部180は、外部ストレージシステム30に保存されている電子ファイルの書誌情報等のメタデータ(例えば、ファイル一覧、フォルダ一覧等)を取得等するためのAPIが定義された共通I/F181及び固有I/F182を有する。共通I/F181は、複数の外部ストレージシステム30間で共通に利用できるAPIであり、例えば図5(c)に示すようなAPIが挙げられる。換言すれば、データ処理部180の共通I/F181は、すべての外部ストレージシステム30で利用できるメタデータ取得等の機能を利用するためのAPI群である。一方、固有I/F182は、ある特定の外部ストレージシステム30において利用できるAPIであり、例えば図5(d)に示すようなAPIが挙げられる。換言すれば、データ処理部180の固有I/F182は、ある特定の外部ストレージシステム30において利用できるメタデータ取得等の機能(例えば、画像ファイル一覧の取得等)を利用するためのAPI群である。したがって、共通I/F181は、すべてのストレージサービス連携部160に対して同様に定義される一方、固有I/F182は、当該固有I/F182で定義されるAPIが利用可能な特定のストレージサービス連携部160に対して定義される。   On the other hand, the data processing unit 180 has a common I / O that defines an API for acquiring metadata (for example, file list, folder list, etc.) such as bibliographic information of electronic files stored in the external storage system 30. F181 and unique I / F182. The common I / F 181 is an API that can be used in common among a plurality of external storage systems 30, and includes, for example, an API as shown in FIG. In other words, the common I / F 181 of the data processing unit 180 is an API group for using functions such as metadata acquisition that can be used in all the external storage systems 30. On the other hand, the unique I / F 182 is an API that can be used in a specific external storage system 30 and includes, for example, an API as shown in FIG. In other words, the unique I / F 182 of the data processing unit 180 is an API group for using a function such as metadata acquisition that can be used in a specific external storage system 30 (for example, acquisition of a list of image files). . Therefore, the common I / F 181 is similarly defined for all the storage service cooperation units 160, while the unique I / F 182 is a specific storage service cooperation that can use the API defined by the unique I / F 182. Defined for part 160.

以上のように、本実施形態に係るサービス提供システム10は、連携して処理を行う外部ストレージシステム30毎に、それぞれストレージサービス連携部160を有する。このため、連携先となる外部ストレージシステム30が追加等する場合には、対応するストレージサービス連携部160をサービス提供システム10に追加等すればよい。したがって、連携先となる外部ストレージシステム30の追加等に伴う影響を局所化することができる。換言すれば、他の処理ブロック(サービス処理部110やドキュメントサービス部150等)に影響を与えることなく(すなわち、他の処理ブロックを修正等する必要なく)、連携先となる外部ストレージシステム30の追加等を行うことができる。これにより、連携先の外部ストレージシステム30の追加等の開発に要する工数を削減することができる。なお、ストレージサービス連携部160の追加等は、SDK(Software Development Kit)を用いて行うことができる。   As described above, the service providing system 10 according to the present embodiment has the storage service cooperation unit 160 for each external storage system 30 that performs processing in cooperation. For this reason, when the external storage system 30 to be linked is added, the corresponding storage service linkage unit 160 may be added to the service providing system 10. Therefore, it is possible to localize the influence associated with the addition of the external storage system 30 as a cooperation destination. In other words, without affecting other processing blocks (the service processing unit 110, the document service unit 150, etc.) (that is, there is no need to modify other processing blocks), the external storage system 30 that is the cooperation destination Additions can be made. As a result, it is possible to reduce the number of man-hours required for development such as addition of the external storage system 30 as a cooperation destination. Note that the addition of the storage service cooperation unit 160 and the like can be performed using an SDK (Software Development Kit).

また、ストレージサービス連携部160は、共通I/F171と固有I/F172とを異なるモジュール等で定義している。また、共通I/F171及び固有I/F172で定義されるAPIは、「ストレージサービス名」を指定することで利用することができる(すなわち、「ストレージサービス名」が可変部分となっている)。したがって、連携先の外部ストレージシステム30を追加する場合には、他のストレージサービス連携部160に定義されている共通I/F171を再利用することができる。換言すれば、連携先の外部ストレージシステム30を追加する場合には、当該追加する外部ストレージシステム30の固有I/F172のみ開発すればよい。これにより、連携先の外部ストレージシステム30の追加等の開発に要する工数をさらに削減することができる。なお、このことは共通I/F181と固有I/F182に関しても同様である。   Further, the storage service cooperation unit 160 defines the common I / F 171 and the unique I / F 172 with different modules or the like. The API defined by the common I / F 171 and the unique I / F 172 can be used by specifying a “storage service name” (that is, the “storage service name” is a variable part). Therefore, when adding the external storage system 30 of the cooperation destination, the common I / F 171 defined in the other storage service cooperation unit 160 can be reused. In other words, when adding the external storage system 30 to be linked, only the unique I / F 172 of the external storage system 30 to be added needs to be developed. Thereby, the man-hour required for development, such as addition of the external storage system 30 of a cooperation destination, can further be reduced. This also applies to the common I / F 181 and the unique I / F 182.

アプリ情報記憶部190は、アプリ情報1000を記憶する。アプリ情報1000は、アプリ画面を画像形成装置20に表示させるための画面定義と、サービスを実現するため一連の処理を示す処理内容とが記述された情報であり、アプリ情報1000を一意に識別するためのアプリID毎に、アプリ情報記憶部190に記憶されている。本実施形態では、クラウドサービスAと連携したスキャン配信サービスを実現するためのアプリ情報を「アプリ情報1000」とし、このアプリ情報1000のアプリID「app001」とする。また、本実施形態では、クラウドサービスAと連携したクラウドプリントサービスを実現するためのアプリ情報を「アプリ情報1000」、このアプリ情報1000のアプリIDを「app002」とする。 The application information storage unit 190 stores application information 1000. The application information 1000 is information describing a screen definition for displaying an application screen on the image forming apparatus 20 and processing contents indicating a series of processes for realizing a service, and uniquely identifies the application information 1000. Each application ID is stored in the application information storage unit 190. In the present embodiment, the application information for realizing the scan distribution service in cooperation with the cloud service A is “application information 1000 1 ”, and the application ID “app001” of the application information 1000 1 is used. In the present embodiment, application information for realizing a cloud print service in cooperation with the cloud service A is “application information 1000 2 ”, and an application ID of the application information 1000 2 is “app002”.

ここで、アプリ情報1000の画面定義に含まれるデータ定義及びアプリ情報1000の画面定義に含まれるデータ定義を、それぞれ図6(a)及び図6(b)に示す。データ定義は、画像形成装置20のブラウザ210により操作パネル22等に表示されるアプリ画面の入力欄(入力ボックス)や選択欄(選択ボックス)等を構成するための情報が記述されている。例えば、図6(a)におけるデータ定義部1101では、ユーザがスキャンにより生成される電子ファイルのファイル名を入力するための入力欄を構成するための情報が記述されている。また、データ定義部1102では、ストレージサービスAにおける保存先フォルダを選択するための選択欄を構成するための情報が記述されている。なお、データ定義部1102の「data_source」には選択欄の各選択要素(ここでは、保存先候補のフォルダ名及びフォルダID)の取得先のURL(Uniform Resource Locator)が記述されている。 Here, the data definitions in the data definition and application information 1000 and second screen definition included in the screen definition of the application information 1000 1, in FIGS 6 (a) and 6 (b). The data definition describes information for configuring an input field (input box), a selection field (selection box), and the like of an application screen displayed on the operation panel 22 or the like by the browser 210 of the image forming apparatus 20. For example, in the data definition unit 1101 in FIG. 6A, information for configuring an input field for a user to input a file name of an electronic file generated by scanning is described. Further, the data definition unit 1102 describes information for configuring a selection field for selecting a storage destination folder in the storage service A. Note that “data_source” of the data definition unit 1102 describes the URL (Uniform Resource Locator) of the acquisition destination of each selection element (here, the storage destination candidate folder name and folder ID) in the selection field.

次に、アプリ情報1000の画面定義に含まれるレイアウト情報及びアプリ情報1000の画面定義に含まれるレイアウト情報を、それぞれ図7(a)及び図7(b)に示す。レイアウト情報は、画像形成装置20のブラウザ210により操作パネル22等に表示されるアプリ画面に表示される文字(入力欄の表示名称等)、入力欄や選択欄の表示位置等の情報が記述されている。例えば、図7(a)におけるレイアウト定義部1301では、データ定義における「"data_id":1」(すなわち、データ定義部1101)の表示位置及び表示名称の情報が記述されている。これにより、具体例は後に示すが、アプリ画面には、表示名称が「ファイル名」である入力欄が、1番目の位置に表示される。また、レイアウト定義部1302では、データ定義における「"data_id":2」(すなわち、データ定義部1102)の表示位置及び表示名称の情報が記述されている。これにより、具体例は後に示すが、アプリ画面には、表示名称が「保存先フォルダ選択」である選択欄が、2番目の位置に表示される。 Next, the layout information included in the screen definition of the layout information and the application information 1000 2 included in the screen definition of the application information 1000 1, in FIGS. 7 (a) and FIG. 7 (b). The layout information describes information such as characters (display name of the input field) displayed on the application screen displayed on the operation panel 22 or the like by the browser 210 of the image forming apparatus 20, the display position of the input field or the selection field, and the like. ing. For example, in the layout definition unit 1301 in FIG. 7A, information on the display position and display name of ““ data_id ”: 1” (that is, the data definition unit 1101) in the data definition is described. Thereby, although a specific example will be described later, an input field whose display name is “file name” is displayed at the first position on the application screen. The layout definition unit 1302 describes information on the display position and display name of ““ data_id ”: 2” (that is, the data definition unit 1102) in the data definition. Thereby, although a specific example will be described later, a selection column whose display name is “select storage folder” is displayed at the second position on the application screen.

次に、アプリ情報1000の処理内容及びアプリ情報1000の処理内容を、それぞれ図8(a)及び図8(b)に示す。処理内容は、サービス提供システム10により提供されるサービスを実現するために、ドキュメントサービス部150やストレージサービス連携部160に要求する一連の処理が記述されている。例えば、図8(a)に示す処理内容には、本実施形態に係るスキャン配信サービスを実現するための一連の処理(すなわち、スキャンされた電子ファイルをOCR処理した後、ストレージサービスAの指定されたフォルダに配信する一連の処理)が記述されている。また、図8(b)に示す処理内容には、本実施形態に係るクラウドプリントサービスを実現するための一連の処理(すなわち、ストレージサービスAから取得した電子ファイルを印刷データに変換した後、画像形成装置20に送信する一連の処理)が記述されている。これらの処理内容についての詳細については、後述する。 Next, the processing contents and processing content of the application information 1000 and second application information 1000 1, in FIGS 8 (a) and 8 (b). The processing contents describe a series of processings requested to the document service unit 150 and the storage service cooperation unit 160 in order to realize a service provided by the service providing system 10. For example, the processing content illustrated in FIG. 8A includes a series of processing for realizing the scan delivery service according to the present embodiment (that is, the storage service A is designated after OCR processing of the scanned electronic file). A series of processes to be distributed to a folder). 8B includes a series of processes for realizing the cloud print service according to the present embodiment (that is, after converting an electronic file acquired from the storage service A into print data, A series of processing to be transmitted to the forming apparatus 20) is described. Details of these processing contents will be described later.

以上のように、本実施形態に係るサービス提供システム10は、画像形成装置20にアプリ画面を表示させるための画面定義と、サービスを実現するための一連の処理内容とが記述されたアプリ情報1000を利用してサービスを提供する。このため、サービス提供システム10により提供されるサービスを追加等する場合には、アプリ情報記憶部190にアプリ情報1000を追加等すればよい。また、アプリ情報1000を追加するには、上述したように、画面定義と処理内容とを記述すればよいため、簡易に開発することができる。したがって、サービスの追加・変更等に伴う開発工数を削減させることができるとともに、例えばサードベンダー等によるサービスの追加・変更等を容易に行うことができる。   As described above, the service providing system 10 according to the present embodiment has the application information 1000 in which the screen definition for displaying the application screen on the image forming apparatus 20 and the series of processing contents for realizing the service are described. Use to provide services. For this reason, when adding a service provided by the service providing system 10, the application information 1000 may be added to the application information storage unit 190. Further, as described above, the application information 1000 can be added simply by describing the screen definition and the processing content as described above. Therefore, it is possible to reduce the development man-hour associated with the addition / change of the service, and it is possible to easily add / change the service by a third vendor, for example.

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

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

まず、画像形成装置20のユーザは、ブラウザ210を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置20は、サービスの一覧の取得要求をサービス提供システム10のサービス処理部110に送信する(ステップS901)。そして、サービス処理部110のアプリ管理部120は、当該取得要求を受信すると、サービス提供システム10により提供されるサービスの一覧を画像形成装置20に送信する。これにより、画像形成装置20のブラウザ210により、画像形成装置20の操作パネル22にサービス提供システム10により提供されるサービスの一覧が表示される。なお、サービスの一覧には、サービス提供システム10により提供されるサービスのサービス名と、このサービスを実現するためのアプリ情報1000のアプリIDとが含まれる。   First, the user of the image forming apparatus 20 uses the browser 210 to perform an operation for acquiring a list of services provided by the service providing system 10. Then, the image forming apparatus 20 transmits a service list acquisition request to the service processing unit 110 of the service providing system 10 (step S901). When receiving the acquisition request, the application management unit 120 of the service processing unit 110 transmits a list of services provided by the service providing system 10 to the image forming apparatus 20. As a result, the browser 210 of the image forming apparatus 20 displays a list of services provided by the service providing system 10 on the operation panel 22 of the image forming apparatus 20. The service list includes the service name of the service provided by the service providing system 10 and the application ID of the application information 1000 for realizing the service.

ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ210は、選択されたサービスを実現するためのアプリ情報1000のアプリIDをアプリ管理部120に送信する(ステップS902)。ここでは、ユーザによりサービス名「スキャン配信サービス」の利用が選択されたものとする。したがって、ブラウザ210は、アプリ情報1000のアプリID「app001」をアプリ管理部120に送信する。 The user selects a service that the user desires to use from a list of services displayed on the operation panel 22 of the image forming apparatus 20. Then, the browser 210 transmits the application ID of the application information 1000 for realizing the selected service to the application management unit 120 (step S902). Here, it is assumed that the use of the service name “scan delivery service” is selected by the user. Therefore, the browser 210 transmits the application ID of the application information 1000 1 "app001" to the application management unit 120.

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

ブラウザ210は、アプリ管理部120からアプリ画面を受け取ると、表示用情報の取得をデータI/F部140に要求する(ステップS903)。ここで表示用情報とは、例えばアプリ画面の選択欄の各選択要素のことである。すなわち、本実施形態では、ブラウザ210は、スキャン配信の配信先(保存先)となるストレージサービスAのフォルダの一覧の取得を、データI/F部140に要求する。このような要求は、図6(a)のデータ定義部1102に記述されている「"data_source"」に定義されているURL「http://sample.xxx.co.jp/service-a/data/folders」にHTTPリクエストを送信することで行うことができる。なお、当該URLのうち、「http://sample.xxx.co.jp」の部分がサービス提供システム10のホスト名、「/service-a/data/folders」の部分がストレージサービス連携部160におけるAPI(すなわち、図5に示すAPI)の指定となる。   Upon receiving the application screen from the application management unit 120, the browser 210 requests the data I / F unit 140 to acquire display information (step S903). Here, the display information is, for example, each selection element in the selection field of the application screen. In other words, in the present embodiment, the browser 210 requests the data I / F unit 140 to obtain a list of folders of the storage service A that is a delivery destination (storage destination) of scan delivery. Such a request is sent to the URL “http://sample.xxx.co.jp/service-a/data” defined in “data_source” described in the data definition unit 1102 in FIG. This can be done by sending an HTTP request to “/ folders”. In the URL, the “http://sample.xxx.co.jp” portion is the host name of the service providing system 10 and the “/ service-a / data / folders” portion is in the storage service cooperation unit 160. API (ie, the API shown in FIG. 5) is designated.

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

データ処理部180は、データI/F部140から要求を受け付けると、当該要求に含まれるURLに基づき、対応する処理要求を外部ストレージシステム30に送信する(ステップS905)。すなわち、データ処理部180は、データI/F部140から受け付けた要求に含まれるURLに基づき、共通I/F181又は固有I/F182に定義されているAPIを利用して、該当の外部ストレージシステム30に処理を要求する。本実施形態では、上記のURLに含まれる「/service-a/data/folders」に基づき、データ処理部180は、共通I/F181に定義されているAPIを用いて、ストレージサービスAにフォルダ一覧の取得を要求する。すると、ブラウザ210は、ストレージサービスA連携部160を介して、フォルダ一覧を受信する。フォルダ一覧は、本実施形態のスキャン配信サービスにおいて、電子ファイルの保存先の候補となるストレージサービスAのフォルダ名及びフォルダID等の情報である。 When receiving a request from the data I / F unit 140, the data processing unit 180 transmits a corresponding processing request to the external storage system 30 based on the URL included in the request (step S905). That is, the data processing unit 180 uses the API defined in the common I / F 181 or the specific I / F 182 based on the URL included in the request received from the data I / F unit 140, and the corresponding external storage system. 30 is requested for processing. In the present embodiment, based on “/ service-a / data / folders” included in the URL, the data processing unit 180 uses the API defined in the common I / F 181 to store a folder list in the storage service A. Request acquisition. Then, the browser 210 via the storage service A linkage unit 160 1, to receive the folder list. The folder list is information such as the folder name and folder ID of the storage service A that is a candidate for the storage destination of the electronic file in the scan distribution service of this embodiment.

次に、ブラウザ210は、ステップS902でアプリ管理部120から受け取ったアプリ画面及びフォルダ一覧に基づき、例えば図10(a)に示すようなアプリ画面2000を、操作パネル22に表示させる(ステップS906)。   Next, the browser 210 displays an application screen 2000 as shown in FIG. 10A on the operation panel 22 based on the application screen and folder list received from the application management unit 120 in step S902 (step S906). .

ここで、図10(a)で示すスキャン配信サービスを利用するためのアプリ画面2000は、ファイル名入力欄2001と、保存先フォルダ選択欄2002と、スキャン実行ボタン2003とから構成されている。このうち、ファイル名入力欄2001及び保存先フォルダ選択欄2002は、図10(b)に示すように、それぞれHTMLソースコード2101及び2102で記述されている。このようなHTMLソースコード2101及び2102は、アプリ管理部120により、図6(a)に示すデータ定義部1101及び1102並びに図7(b)に示すレイアウト定義部1301及び1302に基づいて生成される。ただし、HTMLソースコード2102に指定されている「option」の設定値は、外部ストレージシステム30から取得したフォルダ一覧に基づき、ブラウザ210で設定される。このように、アプリ画面2000は、アプリ情報1000の画面定義に基づきアプリ管理部120で生成されたHTMLに対して、外部ストレージシステム30から取得したフォルダ一覧の情報を設定することで生成される。 Here, the application screen 2000 for using the scan delivery service shown in FIG. 10A includes a file name input field 2001, a save destination folder selection field 2002, and a scan execution button 2003. Among these, the file name input field 2001 and the save destination folder selection field 2002 are described in HTML source codes 2101 and 2102 as shown in FIG. 10B. Such HTML source codes 2101 and 2102 are generated by the application management unit 120 based on the data definition units 1101 and 1102 shown in FIG. 6A and the layout definition units 1301 and 1302 shown in FIG. . However, the setting value of “option” specified in the HTML source code 2102 is set by the browser 210 based on the folder list acquired from the external storage system 30. Thus, the application window 2000, to the generated HTML in the application management unit 120 based on the screen definition of the application information 1000 1, is generated by setting the information of the folder list acquired from the external storage system 30 1 The

次に、ユーザは、図10(a)のアプリ画面2000において、ファイル名入力欄2001に所望のファイル名を入力して、保存先フォルダ選択欄2002から所望の保存先フォルダを選択する。そして、画像形成装置20のスキャナ26に原稿をセットして、スキャン実行ボタン2003を押下する(ステップS907)。ここで、ユーザはファイル名入力欄2001にファイル名「test」を入力し、保存先フォルダ選択欄2002から「FolderB」を選択して、スキャン実行ボタン2003を押下したものとする。これにより、画像形成装置20のスキャナ26により原稿が読み取られ、ファイル名「test」の電子ファイルが生成される(ステップS908)。   Next, the user inputs a desired file name in the file name input field 2001 on the application screen 2000 in FIG. 10A and selects a desired storage destination folder from the storage folder selection field 2002. Then, an original is set on the scanner 26 of the image forming apparatus 20, and the scan execution button 2003 is pressed (step S907). Here, it is assumed that the user inputs the file name “test” in the file name input field 2001, selects “FolderB” from the save destination folder selection field 2002, and presses the scan execution button 2003. As a result, the document is read by the scanner 26 of the image forming apparatus 20, and an electronic file with the file name “test” is generated (step S908).

すると、ブラウザ210は、スキャン配信サービスの処理の実行要求をロジック処理部130に送信する(ステップS909)。ここで、当該実行要求には、アプリID「app001」と、上記のステップS908で生成された電子ファイルと、選択された保存先フォルダ「FolderB」のフォルダID「folder_id_b」とが含まれる。   Then, the browser 210 transmits an execution request for processing of the scan delivery service to the logic processing unit 130 (step S909). Here, the execution request includes the application ID “app001”, the electronic file generated in step S908 described above, and the folder ID “folder_id_b” of the selected storage destination folder “FolderB”.

そして、ロジック処理部130は、処理の実行要求を受け付けると、アプリ管理部120を介して、当該処理の実行要求に含まれるアプリIDのアプリ情報1000から処理内容を取得し、当該処理内容に従って処理を実行する(ステップS910)。すなわち、本実施形態に係るスキャン配信サービスでは、当該処理の実行要求に含まれる電子ファイルに対してOCR処理を行った後、ストレージサービスAのフォルダ「FolderB」に対して当該OCR処理後の電子ファイルを配信(アップロード)する。このステップS910の処理の詳細については、後述する。ここでは、ロジック処理部130は、OCR処理後の電子ファイルと、フォルダ「FolderB」のフォルダID「folder_id_b」とを含む配信実行の要求を、ストレージサービスA連携部160のファイル処理部170に送信したものとして説明を続ける。 When the logic processing unit 130 receives the processing execution request, the logic processing unit 130 acquires the processing content from the application information 1000 of the application ID included in the processing execution request via the application management unit 120, and performs processing according to the processing content. Is executed (step S910). That is, in the scan delivery service according to the present embodiment, after performing the OCR process on the electronic file included in the execution request for the process, the electronic file after the OCR process is performed on the folder “FolderB” of the storage service A Is delivered (uploaded). Details of the processing in step S910 will be described later. Here, the logic processing unit 130, an electronic file after OCR process, a request for delivery execution and a folder "FolderB" folder ID "folder_id_b" of the file processing unit 170 1 of the Storage Service A linkage unit 160 1 The description will be continued as if it were sent.

ファイル処理部170は、ロジック処理部130から配信実行の要求を受け付けると、共通I/F171又は固有I/F172に定義されているAPIを利用して、該当の外部ストレージシステム30に処理を要求する(ステップS911)。具体的には、本実施形態では、ファイル処理部170の共通I/F171に定義されているストレージサービスAにファイルを保存するためのAPI「/service-a/process/folder」を用いて、当該電子ファイルをフォルダ「FolderB」に配信(アップロード)する。そして、電子ファイルのアップロードが完了すると、処理結果がブラウザ210に表示される。これにより、本実施形態に係るスキャン配信サービスが完了する。 Upon receiving a distribution execution request from the logic processing unit 130, the file processing unit 170 requests processing from the corresponding external storage system 30 using an API defined in the common I / F 171 or the specific I / F 172. (Step S911). Specifically, in the present embodiment, by using the API "/ service-a / process / folder" to save the file in the storage service A that is defined in a common I / F171 1 file processing unit 170 1 The electronic file is distributed (uploaded) to the folder “FolderB”. When the upload of the electronic file is completed, the processing result is displayed on the browser 210. Thereby, the scan delivery service according to the present embodiment is completed.

≪OCRから配信実行までの処理≫
次に、図9のステップS910の処理の詳細について説明する。この処理は、主に、ロジック処理部130により実行される。したがって、図9のステップS910の処理の詳細について説明するに前に、ロジック処理部130の詳細な処理ブロックについて説明する。図11は、第1の実施形態に係るロジック処理部の一例の処理ブロック図である。ロジック処理部130は、フロー実行部131と、コンポーネント管理部132と、コンポーネント群133と、型変換管理部134と、型変換群135とを有する。また、ロジック処理部130は、型変換テーブル3000を利用する。
≪Process from OCR to delivery execution≫
Next, details of the processing in step S910 in FIG. 9 will be described. This process is mainly executed by the logic processing unit 130. Therefore, before describing the details of the processing in step S910 of FIG. 9, the detailed processing blocks of the logic processing unit 130 will be described. FIG. 11 is a processing block diagram of an example of the logic processing unit according to the first embodiment. The logic processing unit 130 includes a flow execution unit 131, a component management unit 132, a component group 133, a type conversion management unit 134, and a type conversion group 135. The logic processing unit 130 uses the type conversion table 3000.

フロー実行部131は、ブラウザ210からスキャン配信サービスの処理の実行要求を受け付けると、アプリ管理部120を介して、アプリ情報1000から処理内容を取得する。そして、フロー実行部131は、取得した処理内容に従ってコンポーネントに対して処理の実行を要求する。なお、ここで、コンポーネントとは、各種処理を実行するためのプログラム(モジュール)であり、例えばクラスや関数等で定義される。   When the flow execution unit 131 receives a scan distribution service processing execution request from the browser 210, the flow execution unit 131 acquires processing content from the application information 1000 via the application management unit 120. And the flow execution part 131 requests | requires execution of a process with respect to a component according to the acquired process content. Here, the component is a program (module) for executing various processes, and is defined by, for example, a class or a function.

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

コンポーネント群133は、コンポーネントの集合である。コンポーネント群133には、外部ストレージシステム30に電子ファイルを配信するための配信コンポーネント1331、外部ストレージシステム30から電子ファイルを取得するための取得コンポーネント1332が含まれる。また、コンポーネント群133には、電子ファイルにOCR処理を行うためのOCRコンポーネント1333、電子ファイルを印刷データに変換するための印刷変換コンポーネント1334が含まれる。   The component group 133 is a set of components. The component group 133 includes a distribution component 1331 for distributing an electronic file to the external storage system 30 and an acquisition component 1332 for acquiring an electronic file from the external storage system 30. The component group 133 includes an OCR component 1333 for performing OCR processing on the electronic file, and a print conversion component 1334 for converting the electronic file into print data.

さらに、これらの各コンポーネントは、コンポーネント共通I/F1330を有する。コンポーネント共通I/F1330は、各コンポーネントに対して共通に定義されたAPIであり、コンポーネントを生成するためのAPIと、コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。このように、各コンポーネントがコンポーネント共通I/F1330を有するようにすることで、コンポーネントの追加等に伴う影響を局所化することができる。換言すれば、フロー実行部131及びコンポーネント管理部132に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、コンポーネントの追加等の開発に要する工数を削減することができる。   Further, each of these components has a component common I / F 1330. The component common I / F 1330 is an API commonly defined for each component, and includes an API for generating a component and an API for requesting the component to execute processing. As described above, by causing each component to have the component common I / F 1330, it is possible to localize the influence caused by the addition of the component. In other words, components can be added without affecting the flow execution unit 131 and the component management unit 132. Thereby, the man-hour required for development, such as addition of a component, can be reduced.

型変換管理部134は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め定まっている。したがって、型変換管理部134は、コンポーネントからの要求に応じて、図12に示すような型変換テーブル3000を参照して、型変換群135に定義されている型変換を生成する。そして、型変換管理部134は、生成された型変換に対して型変換処理の実行を要求する。ここで、型変換とは、データ型の型変換処理を実行するためのプログラム(モジュール)であり、例えばクラスや関数等で定義される。   The type conversion management unit 134 manages type conversion of data types. Here, the data type that each component can handle is determined in advance. Therefore, the type conversion management unit 134 generates a type conversion defined in the type conversion group 135 with reference to the type conversion table 3000 as illustrated in FIG. 12 in response to a request from the component. Then, the type conversion management unit 134 requests execution of the type conversion process for the generated type conversion. Here, the type conversion is a program (module) for executing a data type type conversion process, and is defined by, for example, a class or a function.

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

型変換群135は、型変換の集合である。型変換群135には、データ型「InputStream」を「LocalFilePath」に変換する第1の型変換1351、「LocalFilePath」を「File」に変換する第2の型変換1352等が含まれる。   The type conversion group 135 is a set of type conversions. The type conversion group 135 includes a first type conversion 1351 that converts the data type “InputStream” to “LocalFilePath”, a second type conversion 1352 that converts “LocalFilePath” to “File”, and the like.

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

続いて、図9のステップS910の処理の詳細について、図13を用いて説明する。図13は、第1の実施形態に係るOCRから配信実行までの処理の一例のシーケンス図である。   Next, details of the processing in step S910 in FIG. 9 will be described with reference to FIG. FIG. 13 is a sequence diagram illustrating an example of processing from OCR to distribution execution according to the first embodiment.

まず、フロー実行部131は、ブラウザ210からスキャン配信サービスの処理の実行要求を受け付ける(ステップS1301)。ここで、当該実行要求には、アプリID「app001」と、図9のステップS908で生成された電子ファイルと、選択された保存先フォルダ「FolderB」のフォルダID(保存先)とが含まれる。ここで、当該電子ファイルは、データ型が「InputStream」(すなわち、ストリームデータ)としてブラウザ210から渡されるものとする。   First, the flow execution unit 131 receives an execution request for processing of the scan distribution service from the browser 210 (step S1301). Here, the execution request includes the application ID “app001”, the electronic file generated in step S908 of FIG. 9, and the folder ID (save destination) of the selected save destination folder “FolderB”. Here, it is assumed that the electronic file is passed from the browser 210 as the data type “InputStream” (that is, stream data).

フロー実行部131は、当該実行要求を受け付けると、アプリ管理部120に処理内容の取得を要求する(ステップS1302)。ここで、当該処理内容の取得要求には、アプリID「app001」が含まれる。そして、フロー実行部131は、アプリ管理部120からアプリID「app001」に対応するアプリ情報1000に含まれる処理内容を取得する。すなわち、フロー実行部131は、図8(a)に示す処理内容を取得する。 When the flow execution unit 131 accepts the execution request, the flow execution unit 131 requests the application management unit 120 to acquire processing contents (step S1302). Here, the process ID acquisition request includes the application ID “app001”. The flow execution unit 131 acquires the processing contents included from the application management unit 120 to the application information 1000 1 corresponding to the application ID "app001". That is, the flow execution unit 131 acquires the processing content shown in FIG.

フロー実行部131は、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1303)。より具体的には、フロー実行部131は、図8(a)に示す処理内容の「From("file:input")」の次に指定されている「.to("process:ocr")」に基づき、OCRコンポーネント1333の取得を、コンポーネント管理部132に要求する。   The flow execution unit 131 requests the component management unit 132 to acquire a component according to the acquired processing content (step S1303). More specifically, the flow execution unit 131 specifies “.to (“ process: ocr ”)” specified after “From (“ file: input ”)” in the processing content illustrated in FIG. Based on the above, the component management unit 132 is requested to acquire the OCR component 1333.

コンポーネント管理部132は、OCRコンポーネント1333の取得要求を受け付けると、OCRコンポーネント1333を生成する(ステップS1304)。OCRコンポーネント1333の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、OCRコンポーネント1333が生成されると、コンポーネント管理部132は、OCRコンポーネント1333をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、OCRコンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却する。   Upon receiving the acquisition request for the OCR component 1333, the component management unit 132 generates the OCR component 1333 (step S1304). The generation of the OCR component 1333 can be performed using an API for generating a component defined in the component common I / F 1330. When the OCR component 1333 is generated, the component management unit 132 returns the OCR component 1333 to the flow execution unit 131. For example, the component management unit 132 returns the address on the memory (for example, the RAM 14) where the OCR component 1333 is expanded to the flow execution unit 131.

フロー実行部131は、生成されたOCRコンポーネント1333に対して、データを指定して処理の実行を要求する(ステップS1305)。なお、ここで指定されるデータは、データ型が「InputStream」としてブラウザ210から渡される電子ファイルである。すなわち、フロー実行部131は、ブラウザ210からデータ型「InputStream」として渡される電子ファイルを、単に「データ」として(データ型を意識することなく)、OCRコンポーネント1333に渡して処理の実行を要求する。図13では、このようにデータ型を意識することなく渡される電子ファイル等を、単に「データ」と表す。   The flow execution unit 131 requests the generated OCR component 1333 to execute processing by specifying data (step S1305). Note that the data specified here is an electronic file passed from the browser 210 with the data type “InputStream”. That is, the flow execution unit 131 simply passes the electronic file passed from the browser 210 as the data type “InputStream” as “data” (without being aware of the data type) to the OCR component 1333 to request execution of the process. . In FIG. 13, an electronic file or the like passed without being aware of the data type is simply represented as “data”.

OCRコンポーネント1333は、型変換管理部134に対して、型変換を要求する(ステップS1306)。ここで、当該型変換要求には、データと、OCRコンポーネント1333が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。   The OCR component 1333 requests type conversion from the type conversion management unit 134 (step S1306). Here, the type conversion request includes data and designation of “LocalFilePath” indicating a data type that can be handled by the OCR component 1333.

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

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

そして、型変換管理部134は、生成された第1の型変換1351に対して、データを指定して型変換処理の実行を要求する(ステップS1309)。そして、第1の型変換1351は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS1310)、当該変換後のデータを型変換管理部134に返信する。その後、型変換管理部134は、型変換後のデータをOCRコンポーネント1333に送信する(ステップS1311)。   Then, the type conversion management unit 134 requests the generated first type conversion 1351 to specify the data and execute the type conversion process (step S1309). Then, the first type conversion 1351 converts the data type of the designated data from “InputStream” to “LocalFilePath” (step S1310), and returns the converted data to the type conversion management unit 134. Thereafter, the type conversion management unit 134 transmits the data after the type conversion to the OCR component 1333 (step S1311).

OCRコンポーネント1333は、型変換後のデータを受け取ると、処理を実行する(ステップS1312)。すなわち、データ型「LocalFilePath」のデータ(すなわち、パス又はアドレス)により示される電子ファイルに対して、OCR処理を実行する。ここで、より具体的には、OCRコンポーネント1333は、ドキュメントサービス部150のOCR処理151に処理を要求し、OCR処理151が当該電子ファイルに対して処理を実行する。そして、OCRコンポーネント1333は、データをフロー実行部131に返信する。なお、ここで、返信されるデータは、OCR処理後の電子ファイルを示すパス又はアドレスである(すなわち、返信されるデータのデータ型は「LocalFilePath」である。)。   When receiving the data after the type conversion, the OCR component 1333 executes processing (step S1312). That is, the OCR process is executed on the electronic file indicated by the data type “LocalFilePath” (ie, path or address). More specifically, the OCR component 1333 requests processing from the OCR processing 151 of the document service unit 150, and the OCR processing 151 executes processing on the electronic file. Then, the OCR component 1333 returns data to the flow execution unit 131. Here, the returned data is a path or address indicating the electronic file after the OCR processing (that is, the data type of the returned data is “LocalFilePath”).

次に、フロー実行部131は、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1313)。より具体的には、フロー実行部131は、図8(a)に示す処理内容の「.to("process:ocr")」の次に指定されている「.to("storage:send_to_folder?type=service-a")」に基づき、配信コンポーネント1331の取得を、コンポーネント管理部132に要求する。なお、ここで、指定されている処理内容のうち「?type=service-a」の部分はオプションパラメータであり、配信コンポーネント1331の処理によるデータのアップロード先のストレージサービスが「ストレージサービスA」であることを示している。また、ここで、上記の指定されている処理内容に、上記のステップS1301の実行要求に含まれる保存先(保存先フォルダのフォルダID)をオプションパラメータとして付加して「.to("storage:send_to_folder? type=service-a&targetfolder=folder_id_b")」としてもよい。同様に、ファイル名をオプションパラメータとしてさらに付加して「.to("storage:send_to_folder? type=service-a&targetfolder=folder_id_b&filename=test.pdf")」としてもよい。   Next, the flow execution unit 131 requests the component management unit 132 to acquire a component according to the acquired processing content (step S1313). More specifically, the flow execution unit 131 executes “.to (“ storage: send_to_folder? Type ”specified after“ .to (“process: ocr”) ”in the processing content illustrated in FIG. = service-a ")", the component management unit 132 is requested to acquire the distribution component 1331. Here, the portion of “? Type = service-a” in the designated processing content is an optional parameter, and the storage service to which data is uploaded by the processing of the distribution component 1331 is “storage service A”. It is shown that. In addition, here, the storage destination (folder ID of the storage destination folder) included in the execution request of step S1301 is added as an optional parameter to the specified processing content, and “.to (” storage: send_to_folder type = service-a & targetfolder = folder_id_b ")". Similarly, a file name may be further added as an optional parameter to obtain “.to (“ storage: send_to_folder? Type = service-a & targetfolder = folder_id_b & filename = test.pdf ”)”.

コンポーネント管理部132は、配信コンポーネント1331の取得要求を受け付けると、配信コンポーネント1331を生成する(ステップS1314)。配信コンポーネント1331の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、配信コンポーネント1331が生成されると、コンポーネント管理部132は、配信コンポーネント1331をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、配信コンポーネント1331が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却する。   When the component management unit 132 receives the acquisition request for the distribution component 1331, the component management unit 132 generates the distribution component 1331 (step S1314). The distribution component 1331 can be generated using an API for generating a component defined in the component common I / F 1330. Then, when the distribution component 1331 is generated, the component management unit 132 returns the distribution component 1331 to the flow execution unit 131. For example, the component management unit 132 returns the address on the memory (for example, the RAM 14) where the distribution component 1331 is expanded to the flow execution unit 131.

フロー実行部131は、生成された配信コンポーネント1331に対して、データを指定して処理の実行を要求する(ステップS1315)。なお、ここで指定されたデータのデータ型は「LocalFilePath」である。   The flow execution unit 131 requests the generated distribution component 1331 to execute processing by designating data (step S1315). Note that the data type of the data specified here is “LocalFilePath”.

配信コンポーネント1331は、型変換管理部134に対して、型変換を要求する(ステップS1316)。ここで、当該型変換要求には、データと、配信コンポーネント1331が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。   The distribution component 1331 requests the type conversion management unit 134 for type conversion (step S1316). Here, the type conversion request includes data and designation of “LocalFilePath” indicating a data type that can be handled by the distribution component 1331.

型変換管理部134は、受け取った型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS1317)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」であるから、一致するものと判断される。そして、型変換管理部134は、型変換要求に含まれていたデータを、そのまま配信コンポーネント1331に送信する(ステップS1318)。このように、データ型チェック(ステップS1317の処理)で両者のデータ型が一致する場合には、型変換管理部134は型変換の生成を行わない。   The type conversion management unit 134 checks whether or not the data type of the data included in the received type conversion request matches the designated data type (step S1317). Here, since the data type of the data included in the received type conversion request is “LocalFilePath” and the specified data type is also “LocalFilePath”, it is determined that they match. Then, the type conversion management unit 134 transmits the data included in the type conversion request to the distribution component 1331 as it is (step S1318). As described above, when both data types match in the data type check (processing in step S1317), the type conversion management unit 134 does not generate a type conversion.

配信コンポーネント1331は、型変換管理部134からデータを受け取ると、処理を実行する(ステップS1319)。すなわち、本実施形態では、配信コンポーネント1331は、ストレージサービスA連携部160のファイル処理部170に対して、共通I/F171として定義されているファイル保存のAPIを用いて、データの配信実行を要求する。より具体的には、配信コンポーネント1331は、ストレージサービスA連携部160のファイル処理部170に対して、図5(a)に示されるようにAPIとして「service-a/process/folder」を用いてデータの配信実行を要求する。これにより、ストレージサービスAのフォルダ「FolderB」に、ファイル名「test」の電子ファイル(スキャンにより生成された電子ファイルに対してOCR処理した電子ファイル)が保存される。そして、処理結果がフロー実行部131を介して、ブラウザ210に送信される。 Upon receiving data from the type conversion management unit 134, the distribution component 1331 executes processing (step S1319). That is, in this embodiment, the distribution component 1331, the file processing unit 170 1 of the Storage Service A linkage unit 160 1, using the API of the file storage that is defined as a common I / F171 1, the distribution of the data Request execution. More specifically, the distribution component 1331 sends “service-a / process / folder” as an API to the file processing unit 170 1 of the storage service A cooperation unit 160 1 as shown in FIG. To request data distribution execution. As a result, the electronic file having the file name “test” (the electronic file obtained by performing the OCR process on the electronic file generated by the scan) is stored in the folder “FolderB” of the storage service A. Then, the processing result is transmitted to the browser 210 via the flow execution unit 131.

≪クラウドプリントサービスの全体処理≫
次に、画像形成装置20のユーザが本実施形態に係るクラウドプリントサービスを利用する場合の全体的な処理について説明する。図14は、第1の実施形態に係るクラウドプリントサービスの全体処理の一例のシーケンス図である。
≪Overall processing of cloud print service≫
Next, an overall process when the user of the image forming apparatus 20 uses the cloud print service according to the present embodiment will be described. FIG. 14 is a sequence diagram illustrating an example of overall processing of the cloud print service according to the first embodiment.

まず、画像形成装置20のユーザは、ブラウザ210を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置20は、サービスの一覧の取得要求をサービス提供システム10のサービス処理部110に送信する(ステップS1401)。そして、サービス処理部110のアプリ管理部120は、当該取得要求を受信すると、サービス提供システム10により提供されるサービスの一覧を画像形成装置20に送信する。   First, the user of the image forming apparatus 20 uses the browser 210 to perform an operation for acquiring a list of services provided by the service providing system 10. Then, the image forming apparatus 20 transmits a service list acquisition request to the service processing unit 110 of the service providing system 10 (step S1401). When receiving the acquisition request, the application management unit 120 of the service processing unit 110 transmits a list of services provided by the service providing system 10 to the image forming apparatus 20.

ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ210は、選択されたサービスを実現するためのアプリ情報1000のアプリIDをアプリ管理部120に送信する(ステップS1402)。ここでは、ユーザによりサービス名「クラウドプリントサービス」の利用が選択されたものとする。したがって、ブラウザ210は、アプリ情報1000のアプリID「app002」をアプリ管理部120に送信する。 The user selects a service that the user desires to use from a list of services displayed on the operation panel 22 of the image forming apparatus 20. Then, the browser 210 transmits the application ID of the application information 1000 for realizing the selected service to the application management unit 120 (step S1402). Here, it is assumed that the use of the service name “cloud print service” is selected by the user. Therefore, the browser 210 transmits the application ID of the application information 1000 2 "app002" to the application management unit 120.

そして、アプリ管理部120は、ブラウザ210から受け取ったアプリID「app002」のアプリ情報1000に含まれる画面定義に基づきHTML形式のアプリ画面を生成し、ブラウザ210に送信する。 The application management unit 120 generates the application screen in HTML format based on the screen definition included in the application information 1000 and second application ID "app002" received from the browser 210, sends to the browser 210.

ブラウザ210は、アプリ管理部120からアプリ画面を受け取ると、表示用情報の取得をデータI/F部140に要求する(ステップS1403)。本実施形態では、ブラウザ210は、クラウドプリントサービスを用いた印刷対象の候補となるストレージサービスAの電子ファイルの一覧の取得を、データI/F部140に要求する。このような要求は、図6(b)のデータ定義部1201に記述されている「"data_source"」に定義されているURL「http://sample.xxx.co.jp/service-a/data/files」にHTTPリクエストを送信することで行うことができる。   Upon receiving the application screen from the application management unit 120, the browser 210 requests the data I / F unit 140 to acquire display information (step S1403). In the present embodiment, the browser 210 requests the data I / F unit 140 to obtain a list of electronic files of the storage service A that is a candidate for printing using the cloud print service. Such a request is sent to the URL “http://sample.xxx.co.jp/service-a/data” defined in “data_source” described in the data definition unit 1201 in FIG. This can be done by sending an HTTP request to “/ files”.

次に、データI/F部140は、ブラウザ210から表示用情報の取得要求を受け付けると、当該要求を対応するストレージサービス連携部160のデータ処理部180に送信する(ステップS1404)。   Next, when receiving a display information acquisition request from the browser 210, the data I / F unit 140 transmits the request to the data processing unit 180 of the corresponding storage service cooperation unit 160 (step S1404).

データ処理部180は、データI/F部140から要求を受け付けると、当該要求に含まれるURLに基づき、対応する処理要求を外部ストレージシステム30に送信する(ステップS1405)。本実施形態では、データ処理部180は、上記のURLに含まれる「/service-a/data/files」に基づき、ストレージサービスAにファイル一覧の取得を要求する。すると、ブラウザ210は、ストレージサービスA連携部160を介して、ファイル一覧を受信する。ファイル一覧は、本実施形態のクラウドプリントサービスにおいて、印刷対象の候補となるストレージサービスAに保存されている電子ファイルのファイル名及びファイルID等の情報である。 When receiving a request from the data I / F unit 140, the data processing unit 180 transmits a corresponding processing request to the external storage system 30 based on the URL included in the request (step S1405). In the present embodiment, the data processing unit 180 requests the storage service A to obtain a file list based on “/ service-a / data / files” included in the URL. Then, the browser 210 via the storage service A linkage unit 160 1, receives the file list. The file list is information such as the file name and file ID of an electronic file stored in the storage service A that is a candidate for printing in the cloud print service of the present embodiment.

次に、ブラウザ210は、ステップS1402でアプリ管理部120から受け取ったアプリ画面及びファイル一覧に基づき、例えば図15(a)に示すようなアプリ画面4000を、操作パネル22に表示させる(ステップS1406)。   Next, the browser 210 displays an application screen 4000 as shown in FIG. 15A on the operation panel 22 based on the application screen and file list received from the application management unit 120 in step S1402 (step S1406). .

ここで、図15(a)で示すクラウドプリントサービスを利用するためのアプリ画面4000は、印刷対象のファイルを選択するためのファイル選択欄4001と、プリント実行ボタン4002とから構成されている。このうち、ファイル選択欄4001は、図15(b)に示すように、HTMLソースコード4101で記述されている。このようなHTMLソースコード4101は、アプリ管理部120により、図6(b)に示すデータ定義部1201及び図7(b)に示すレイアウト定義部1401に基づいて生成される。ただし、HTMLソースコード4101に指定されている「option」の設定値は、外部ストレージシステム30から取得したファイル一覧に基づき、ブラウザ210で設定される。   Here, the application screen 4000 for using the cloud print service shown in FIG. 15A includes a file selection field 4001 for selecting a file to be printed and a print execution button 4002. Among these, the file selection field 4001 is described in HTML source code 4101 as shown in FIG. Such HTML source code 4101 is generated by the application management unit 120 based on the data definition unit 1201 shown in FIG. 6B and the layout definition unit 1401 shown in FIG. However, the setting value of “option” specified in the HTML source code 4101 is set by the browser 210 based on the file list acquired from the external storage system 30.

次に、ユーザは、図15(a)のアプリ画面4000のファイル選択欄4001から所望のファイルを選択して、プリント実行ボタン4002を押下する(ステップS1407)。ここで、ユーザはファイル選択欄4001から「FileA」を選択して、プリント実行ボタン4002を押下したものとする。   Next, the user selects a desired file from the file selection field 4001 on the application screen 4000 in FIG. 15A and presses the print execution button 4002 (step S1407). Here, it is assumed that the user selects “FileA” from the file selection field 4001 and presses the print execution button 4002.

すると、ブラウザ210は、クラウドプリントサービスの処理の実行要求をロジック処理部130に送信する(ステップS1408)。ここで、当該実行要求には、アプリID「app002」と、ファイル選択欄4001から選択されたファイル「FileA」のファイルID「file_id_a」とが含まれる。   Then, the browser 210 transmits a cloud print service process execution request to the logic processing unit 130 (step S1408). Here, the execution request includes the application ID “app002” and the file ID “file_id_a” of the file “FileA” selected from the file selection field 4001.

そして、ロジック処理部130は、処理の実行要求を受け付けると、アプリ管理部120を介して、当該処理の実行要求に含まれるアプリIDのアプリ情報1000から処理内容を取得し、当該処理内容に従って処理を実行する(ステップS1409)。すなわち、本実施形態に係るクラウドプリントサービスでは、ストレージサービスAから印刷対象の電子ファイルを取得(ダウンロード)した後、当該電子ファイルを画像形成装置20が印刷可能な印刷データに変換(印刷変換)する。このステップS1409の処理の詳細については、後述する。ここでは、ロジック処理部130は、ファイル「FileA」のファイルID「file_id_a」を含むファイル取得実行の要求を、ストレージサービスA連携部160のファイル処理部170に送信したものとして説明を続ける。 When the logic processing unit 130 receives the processing execution request, the logic processing unit 130 acquires the processing content from the application information 1000 of the application ID included in the processing execution request via the application management unit 120, and performs processing according to the processing content. Is executed (step S1409). That is, in the cloud print service according to the present embodiment, after acquiring (downloading) an electronic file to be printed from the storage service A, the electronic file is converted into print data that can be printed by the image forming apparatus 20 (print conversion). . Details of the processing in step S1409 will be described later. Here, the logic processing unit 130, a request for file acquisition execution including the file ID "file_id_a" File "FileA", the description will be continued assuming that sent the file processing unit 170 1 of the Storage Service A linkage unit 160 1.

ファイル処理部170は、ロジック処理部130からファイル取得実行の要求を受け付けると、共通I/F171又は固有I/F172に定義されているAPIを利用して、該当の外部ストレージシステム30に処理を要求する(ステップS1410)。具体的には、本実施形態では、ファイル処理部170の共通I/F171に定義されているストレージサービスAにファイルを取得するためのAPI「/service-a/process/file」を用いて、ファイル「FileA」を取得(ダウンロード)する。そして、ロジック処理部130は、取得したファイル「FileA」を、画像形成装置20で印刷可能なデータ形式である印刷データに変換した後、画像形成装置20に送信する。 Upon receiving a file acquisition execution request from the logic processing unit 130, the file processing unit 170 requests processing from the corresponding external storage system 30 using the API defined in the common I / F 171 or the specific I / F 172. (Step S1410). Specifically, in the present embodiment, by using the API "/ service-a / process / file" for acquiring the file to the storage service A that is defined in a common I / F171 1 file processing unit 170 1 , Get (download) file "FileA". Then, the logic processing unit 130 converts the acquired file “FileA” into print data having a data format that can be printed by the image forming apparatus 20, and then transmits the print data to the image forming apparatus 20.

画像形成装置20のプリンタ25は、ロジック処理部130から印刷データを受け取ると、当該印刷データを印刷する(ステップS1411)。これにより、本実施形態に係るクラウドプリントサービスが完了する。   When receiving the print data from the logic processing unit 130, the printer 25 of the image forming apparatus 20 prints the print data (step S1411). Thereby, the cloud print service according to the present embodiment is completed.

≪ファイル取得実行から印刷変換までの処理≫
次に、図14のステップS1409の処理の詳細について説明する。図16は、第1の実施形態に係るファイル取得から印刷変換までの処理の一例のシーケンス図である。
≪Process from file acquisition execution to print conversion≫
Next, details of the processing in step S1409 of FIG. 14 will be described. FIG. 16 is a sequence diagram illustrating an example of processing from file acquisition to print conversion according to the first embodiment.

まず、フロー実行部131は、ブラウザ210からクラウドプリントサービスの処理の実行要求を受け付ける(ステップS1601)。ここで、当該実行要求には、アプリID「app002」と、選択された印刷対象のファイルのファイルID「file_id_a」とが含まれる。ここで、当該ファイルIDは、データ型が「InputStream」(すなわち、ストリームデータ)としてブラウザ210から渡されるものとする。   First, the flow execution unit 131 receives a request to execute a cloud print service process from the browser 210 (step S1601). Here, the execution request includes the application ID “app002” and the file ID “file_id_a” of the selected file to be printed. Here, it is assumed that the file ID is passed from the browser 210 as the data type “InputStream” (that is, stream data).

フロー実行部131は、当該実行要求を受け付けると、アプリ管理部120に処理内容の取得を要求する(ステップS1602)。ここで、当該処理内容の取得要求には、アプリID「app002」が含まれる。そして、フロー実行部131は、アプリ管理部120からアプリID「app002」に対応するアプリ情報1000に含まれる処理内容を取得する。すなわち、フロー実行部131は、図8(b)に示す処理内容を取得する。 When the flow execution unit 131 accepts the execution request, the flow execution unit 131 requests the application management unit 120 to acquire processing contents (step S1602). Here, the processing content acquisition request includes the application ID “app002”. The flow execution unit 131 acquires the processing content included in the application information 1000 2 corresponding the application management unit 120 to the application ID "app002". That is, the flow execution unit 131 acquires the processing content illustrated in FIG.

フロー実行部131は、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1603)。より具体的には、フロー実行部131は、図8(b)に示す処理内容の「From("file:input")」の次に指定されている「.to("storage:receive_file?type=service-a")」に基づき、取得コンポーネント1332の取得を、コンポーネント管理部132に要求する。なお、ここで、指定されている処理内容のうち「?type=service-a」の部分はオプションパラメータであり、取得コンポーネント1332の処理の電子ファイルの取得(ダウンロード)先ストレージサービスが「ストレージサービスA」であることを示している。また、ここで、上記の指定されている処理内容に、上記のステップS1601の実行要求に含まれる印刷対象のファイルである「FileA」のファイルIDをオプションパラメータとして付加して「.to("storage:receive_file?type=service-a&targetfile=file_id_a")」としてもよい。   The flow execution unit 131 requests the component management unit 132 to acquire a component according to the acquired processing content (step S1603). More specifically, the flow execution unit 131 executes “.to (“ storage: receive_file? Type = ”specified next to“ From (“file: input”) ”in the processing content illustrated in FIG. Based on service-a ")", the component management unit 132 is requested to acquire the acquisition component 1332. Here, the part of “? Type = service-a” in the designated processing content is an optional parameter, and the acquisition (download) destination storage service of the processing of the acquisition component 1332 is “storage service A”. ". Here, the file ID of “FileA”, which is the file to be printed included in the execution request of step S1601, is added as an optional parameter to the specified processing content, and “.to (“ storage ” : receive_file? type = service-a & targetfile = file_id_a ")".

コンポーネント管理部132は、取得コンポーネント1332の取得要求を受け付けると、取得コンポーネント1332を生成する(ステップS1604)。取得コンポーネント1332の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、取得コンポーネント1332が生成されると、コンポーネント管理部132は、取得コンポーネント1332をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、OCRコンポーネント1333が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却する。   When the component management unit 132 receives an acquisition request for the acquisition component 1332, the component management unit 132 generates the acquisition component 1332 (step S 1604). The acquisition component 1332 can be generated using an API for generating a component defined in the component common I / F 1330. When the acquisition component 1332 is generated, the component management unit 132 returns the acquisition component 1332 to the flow execution unit 131. For example, the component management unit 132 returns the address on the memory (for example, the RAM 14) where the OCR component 1333 is expanded to the flow execution unit 131.

フロー実行部131は、生成された取得コンポーネント1332に対して、データを指定して処理の実行を要求する(ステップS1605)。なお、ここで指定されるデータは、データ型が「InputStream」としてブラウザ210から渡された、印刷対象のファイルのファイルIDである。すなわち、フロー実行部131は、ブラウザ210からデータ型「InputStream」として渡されるファイルIDを、単に「データ」として(データ型を意識することなく)、取得コンポーネント1332に渡して処理の実行を要求する。図16では、このようにデータ型を意識することなく渡されるファイルIDや電子ファイル等を、単に「データ」と表す。   The flow execution unit 131 requests the generated acquisition component 1332 to execute processing by specifying data (step S1605). Note that the data specified here is the file ID of the file to be printed passed from the browser 210 with the data type “InputStream”. That is, the flow execution unit 131 simply passes the file ID passed from the browser 210 as the data type “InputStream” as “data” (without regard to the data type) to the acquisition component 1332 to request execution of the process. . In FIG. 16, a file ID, an electronic file, or the like passed without being aware of the data type is simply represented as “data”.

取得コンポーネント1332は、型変換管理部134に対して、型変換を要求する(ステップS1606)。ここで、当該型変換要求には、データと、取得コンポーネント1332が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。   The acquisition component 1332 requests the type conversion management unit 134 to perform type conversion (step S1606). Here, the type conversion request includes data and designation of “LocalFilePath” indicating a data type that can be handled by the acquisition component 1332.

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

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

そして、型変換管理部134は、生成された第1の型変換1351に対して、データを指定して型変換処理の実行を要求する(ステップS1609)。そして、第1の型変換1351は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS1610)、当該変換後のデータを型変換管理部134に返信する。その後、型変換管理部134は、型変換後のデータを取得コンポーネント1332に送信する(ステップS1611)。   Then, the type conversion management unit 134 requests the generated first type conversion 1351 to execute type conversion processing by specifying data (step S1609). Then, the first type conversion 1351 converts the data type of the designated data from “InputStream” to “LocalFilePath” (step S1610), and returns the converted data to the type conversion management unit 134. Thereafter, the type conversion management unit 134 transmits the data after the type conversion to the acquisition component 1332 (step S1611).

取得コンポーネント1332は、型変換後のデータを受け取ると、処理を実行する(ステップS1612)。すなわち、本実施形態では、取得コンポーネント1332は、ストレージサービスA連携部160のファイル処理部170に対して、共通I/F171として定義されているファイル取得のAPIを用いて、ファイル取得実行を要求する。より具体的には、取得コンポーネント1332は、ストレージサービスA連携部160のファイル処理部170に対して、図5(a)に示されるようにAPIとして「service-a/process/file」を用いてファイル取得の実行を要求する。これにより、ストレージサービスAからファイルID「file_id_a」の電子ファイルが取得(ダウンロード)される。取得コンポーネント1332により取得された電子ファイルは、データとしてフロー実行部131に送信される。 When the acquisition component 1332 receives the data after type conversion, the acquisition component 1332 executes processing (step S1612). That is, in this embodiment, the acquisition component 1332, the file processing unit 170 1 of the Storage Service A linkage unit 160 1, using the API of the file acquisition defined as a common I / F171 1, file acquisition run Request. More specifically, the acquisition component 1332 sends “service-a / process / file” as an API to the file processing unit 170 1 of the storage service A cooperation unit 160 1 as shown in FIG. To request execution of file acquisition. As a result, the electronic file having the file ID “file_id_a” is acquired (downloaded) from the storage service A. The electronic file acquired by the acquisition component 1332 is transmitted to the flow execution unit 131 as data.

次に、フロー実行部131は、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132に要求する(ステップS1613)。より具体的には、フロー実行部131は、図8(b)に示す処理内容の「.to("storage:receive_file? type=service-a")」の次に指定されている「.to("process:conv")」に基づき、印刷変換コンポーネント1334の取得を、コンポーネント管理部132に要求する。   Next, the flow execution unit 131 requests the component management unit 132 to acquire a component according to the acquired processing content (step S1613). More specifically, the flow execution unit 131 specifies “.to (” storage: receive_file? Type = service-a ”)” of the processing content shown in FIG. Based on “process: conv”), the component management unit 132 is requested to acquire the print conversion component 1334.

コンポーネント管理部132は、印刷変換コンポーネント1334の取得要求を受け付けると、印刷変換コンポーネント1334を生成する(ステップS1614)。印刷変換コンポーネント1334の生成は、コンポーネント共通I/F1330に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。そして、印刷変換コンポーネント1334が生成されると、コンポーネント管理部132は、印刷変換コンポーネント1334をフロー実行部131に返却する。これは、例えば、コンポーネント管理部132は、印刷変換コンポーネント1334が展開されたメモリ(例えばRAM14)上のアドレスを、フロー実行部131に返却する。   Upon receiving the print conversion component 1334 acquisition request, the component management unit 132 generates the print conversion component 1334 (step S1614). The print conversion component 1334 can be generated using an API for generating a component defined in the component common I / F 1330. When the print conversion component 1334 is generated, the component management unit 132 returns the print conversion component 1334 to the flow execution unit 131. For example, the component management unit 132 returns the address on the memory (for example, the RAM 14) where the print conversion component 1334 is expanded to the flow execution unit 131.

フロー実行部131は、生成された印刷変換コンポーネント1334に対して、データを指定して処理の実行を要求する(ステップS1615)。なお、ここで指定されたデータのデータ型は「LocalFilePath」である。   The flow execution unit 131 requests the generated print conversion component 1334 to execute processing by specifying data (step S1615). Note that the data type of the data specified here is “LocalFilePath”.

印刷変換コンポーネント1334は、型変換管理部134に対して、型変換を要求する(ステップS1616)。ここで、当該型変換要求には、データと、印刷変換コンポーネント1334が扱うことができるデータ型を示す「File」の指定とが含まれる。   The print conversion component 1334 requests the type conversion management unit 134 to perform type conversion (step S1616). Here, the type conversion request includes data and designation of “File” indicating a data type that can be handled by the print conversion component 1334.

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

すると、型変換管理部134は、型変換テーブル3000を参照して、「LocalFilePath」を「File」に変換するための型変換を特定して(ここでは、第2の型変換1352が特定される)、当該特定された型変換を生成する(ステップS1618)。   Then, the type conversion management unit 134 refers to the type conversion table 3000 and specifies type conversion for converting “LocalFilePath” to “File” (here, the second type conversion 1352 is specified). ), The specified type conversion is generated (step S1618).

そして、型変換管理部134は、生成された第2の型変換1352に対して、データを指定して型変換処理の実行を要求する(ステップS1619)。そして、第2の型変換1352は、指定されたデータのデータ型を「LocalFilePath」から「File」に変換して(ステップS1620)、当該変換後のデータを型変換管理部134に返信する。その後、型変換管理部134は、型変換後のデータを印刷変換コンポーネント1334に送信する(ステップS1621)。   Then, the type conversion management unit 134 requests the generated second type conversion 1352 to specify the data and execute the type conversion process (step S1619). Then, the second type conversion 1352 converts the data type of the designated data from “LocalFilePath” to “File” (step S1620), and returns the converted data to the type conversion management unit 134. Thereafter, the type conversion management unit 134 transmits the data after the type conversion to the print conversion component 1334 (step S1621).

印刷変換コンポーネント1334は、型変換後のデータを受け取ると、処理を実行する(ステップS1622)。すなわち、データ型「File」のデータ(すなわち、電子ファイル)を、画像形成装置20が印刷可能なデータ形式である印刷データに変換する処理を実行する。ここで、より具体的には、印刷変換コンポーネント1334は、ドキュメントサービス部150の印刷変換処理152に処理を要求し、印刷変換処理152がデータ(電子ファイル)に対して処理を実行する。そして、印刷変換コンポーネント1334は、フロー実行部131を介して、印刷データを画像形成装置20に返信する。   When the print conversion component 1334 receives the data after the type conversion, the print conversion component 1334 executes the process (step S1622). That is, a process of converting data of the data type “File” (that is, an electronic file) into print data that is a data format printable by the image forming apparatus 20 is executed. More specifically, the print conversion component 1334 requests the print conversion processing 152 of the document service unit 150 to perform processing, and the print conversion processing 152 executes processing on the data (electronic file). Then, the print conversion component 1334 returns print data to the image forming apparatus 20 via the flow execution unit 131.

[第2の実施形態]
次に、第2の実施形態に係る情報処理システム1について説明する。第2の実施形態に係る情報処理システム1に含まれるサービス提供システム10は、ブラウザ210が搭載されていない画像形成装置20からの要求も受け付ける点が第1の実施形態と異なる。なお、以降では、第1の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第1の実施形態と同一の符号を用いて、その説明を省略する。
[Second Embodiment]
Next, an information processing system 1 according to the second embodiment will be described. The service providing system 10 included in the information processing system 1 according to the second embodiment is different from the first embodiment in that it also receives a request from the image forming apparatus 20 in which the browser 210 is not installed. In the following description, the same reference numerals as those in the first embodiment are used for the portions having substantially the same functions as those in the first embodiment and the portions for performing the same processing, and the description thereof is omitted.

<ソフトウェア構成>
第2の実施形態に係る情報処理システム1は、例えば図17に示されるような処理ブロックにより実現することができる。図17は、第2の実施形態に係る情報処理システムの一例の処理ブロック図である。
<Software configuration>
The information processing system 1 according to the second embodiment can be realized by a processing block as shown in FIG. 17, for example. FIG. 17 is a processing block diagram of an example of an information processing system according to the second embodiment.

画像形成装置20は、例えばCPU211等により実現されるブラウザ210又はクライアントアプリケーション220を有する。ここで、ブラウザ210はHTMLを解釈できる一方で、クライアントアプリケーション220はHTMLを解釈することができないものとする。したがって、本実施形態に係るクライアントアプリケーション220は、サービス提供システム10から受け取ったデータ定義に基づきアプリ画面を生成して、表示させる。   The image forming apparatus 20 includes a browser 210 or a client application 220 realized by the CPU 211 or the like, for example. Here, it is assumed that the browser 210 can interpret HTML, while the client application 220 cannot interpret HTML. Therefore, the client application 220 according to the present embodiment generates and displays an application screen based on the data definition received from the service providing system 10.

サービス提供システム10は、アプリ管理部120Aの機能が異なる点、及び、さらに要求判断部121を有する点が第1の実施形態と異なる。   The service providing system 10 is different from the first embodiment in that the function of the application management unit 120A is different and that the request determination unit 121 is further included.

要求判断部121は、画像形成装置20から受け取った情報に基づき、送信元がブラウザ210か又はクライアントアプリケーション220かを判断する。   The request determination unit 121 determines whether the transmission source is the browser 210 or the client application 220 based on the information received from the image forming apparatus 20.

アプリ管理部120Aは、要求判断部121の判断結果に応じて、画像形成装置20に対してアプリ画面又はデータ定義を返信する。すなわち、アプリ管理部120Aは、要求判断部121により送信元がクライアントアプリケーション220であると判断された場合は、当該画像形成装置20に対して、データ定義を返信する。   The application management unit 120 </ b> A returns an application screen or data definition to the image forming apparatus 20 according to the determination result of the request determination unit 121. That is, the application management unit 120A returns a data definition to the image forming apparatus 20 when the request determination unit 121 determines that the transmission source is the client application 220.

<処理の詳細>
次に、第2の実施形態に係る情報処理システム1の処理の詳細について説明する。第2の実施形態では、図9を用いて説明したスキャン配信サービスの全体処理及び図14を用いて説明したクラウドプリントサービスの全体処理において、画像形成装置20にアプリ画面を表示させるまでの処理が異なる。したがって、第2の実施形態では、サービス一覧の取得からアプリ画面の表示までの処理について説明する。図18は、第2の実施形態に係るアプリ画面の表示処理の一例のシーケンス図である。
<Details of processing>
Next, details of processing of the information processing system 1 according to the second embodiment will be described. In the second embodiment, in the entire process of the scan delivery service described with reference to FIG. 9 and the entire process of the cloud print service described with reference to FIG. Different. Therefore, in the second embodiment, processing from acquisition of a service list to display of an application screen will be described. FIG. 18 is a sequence diagram illustrating an example of display processing of an application screen according to the second embodiment.

まず、画像形成装置20のユーザは、ブラウザ210又はクライアントアプリケーション220を用いて、サービス提供システム10により提供されるサービスの一覧を取得するための操作を行う(ステップS1801)。すると、サービス処理部110の要求判断部121は、サービス提供システム10により提供されるサービスの一覧を、アプリ管理部120Aから取得して(ステップS1802)、画像形成装置20に送信する。これにより、画像形成装置20の操作パネル22には、サービス提供システム10により提供されるサービスの一覧が表示される。   First, the user of the image forming apparatus 20 performs an operation for acquiring a list of services provided by the service providing system 10 using the browser 210 or the client application 220 (step S1801). Then, the request determination unit 121 of the service processing unit 110 acquires a list of services provided by the service providing system 10 from the application management unit 120A (step S1802) and transmits the list to the image forming apparatus 20. As a result, a list of services provided by the service providing system 10 is displayed on the operation panel 22 of the image forming apparatus 20.

ユーザは、画像形成装置20の操作パネル22に表示されたサービスの一覧から自身が利用を所望するサービスを選択する。すると、ブラウザ210又はクライアントアプリケーション220は、選択されたサービスを実現するためのアプリ情報1000のアプリIDを要求判断部121に送信する(ステップS1803)。   The user selects a service that the user desires to use from a list of services displayed on the operation panel 22 of the image forming apparatus 20. Then, the browser 210 or the client application 220 transmits the application ID of the application information 1000 for realizing the selected service to the request determination unit 121 (step S1803).

すると、要求判断部121は、送信元がブラウザ210か又はクライアントアプリケーション220かを判断する(ステップS1804)。これは、要求判断部121は、例えば、User Agentに基づき判断することができる。以降では、要求判断部121により送信元がブラウザ210であると判断された場合、ステップS1805の処理が実行される一方、送信元がクライアントアプリケーション220であると判断された場合、ステップS1806及びS1807の処理が実行される。   Then, the request determination unit 121 determines whether the transmission source is the browser 210 or the client application 220 (step S1804). The request determination unit 121 can determine this based on, for example, User Agent. Thereafter, when the request determination unit 121 determines that the transmission source is the browser 210, the process of step S1805 is executed. On the other hand, when the transmission source is determined to be the client application 220, the processing of steps S1806 and S1807 is performed. Processing is executed.

要求判断部121により送信元がブラウザ210であると判断された場合、要求判断部121は、アプリ管理部120Aに対してHTMLのアプリ画面の取得を要求する(ステップS1805)。なお、当該要求には、上記のステップS1803で選択されたサービスを実現するためのアプリ情報1000のアプリIDが含まれる。すると、アプリ管理部121Aは、当該要求に含まれるアプリIDのアプリ情報1000に含まれる画面定義に基づきHTML形式のアプリ画面を生成し、要求判断部121を介して、ブラウザ210に送信する。   When the request determination unit 121 determines that the transmission source is the browser 210, the request determination unit 121 requests the application management unit 120A to acquire an HTML application screen (step S1805). The request includes the application ID of the application information 1000 for realizing the service selected in step S1803. Then, the application management unit 121A generates an HTML-format application screen based on the screen definition included in the application information 1000 of the application ID included in the request, and transmits it to the browser 210 via the request determination unit 121.

一方、送信元がクライアントアプリケーション220であると判断された場合、要求判断部121は、アプリ管理部120Aに対してJSON(JavaScript Object Notation)形式等の汎用的なデータ形式でデータ定義の取得を要求する(ステップS1806)。なお、当該要求には、上記のステップS1803で選択されたサービスを実現するためのアプリ情報1000のアプリIDが含まれる。すると、アプリ管理部121Aは、当該要求に含まれるアプリIDのアプリ情報1000に含まれるデータ定義を、要求判断部121を介して、JSON形式でクライアントアプリケーション220に送信する。このように、画像形成装置20にHTMLを解釈することができないクライアントアプリケーション220が搭載されている場合、サービス提供システム10は、画面定義に含まれるデータ定義のみを返信する。そして、画像形成装置20のクライアントアプリケーション220は、受け取ったJSON形式のデータ定義に基づき、アプリ画面を生成する(ステップS1807)。   On the other hand, when it is determined that the transmission source is the client application 220, the request determination unit 121 requests the application management unit 120A to acquire a data definition in a general-purpose data format such as JSON (JavaScript Object Notation) format. (Step S1806). The request includes the application ID of the application information 1000 for realizing the service selected in step S1803. Then, the application management unit 121A transmits the data definition included in the application information 1000 of the application ID included in the request to the client application 220 in the JSON format via the request determination unit 121. As described above, when the client application 220 that cannot interpret HTML is installed in the image forming apparatus 20, the service providing system 10 returns only the data definition included in the screen definition. Then, the client application 220 of the image forming apparatus 20 generates an application screen based on the received JSON format data definition (step S1807).

そして、画像形成装置20は、操作パネル22にアプリ画面を表示させる(ステップS1808)。ここで、画像形成装置20にブラウザ210が搭載されている場合は、上記のステップS1805で受け取ったHTML形式のアプリ画面を表示させる。一方、画像形成装置20にクライアントアプリケーション220が搭載されている場合は、上記のステップS1807で生成したアプリ画面を表示させる。このようにすることで、画像形成装置20には必ずしもブラウザ210が搭載されている必要はなくなる。したがって、ユーザは、画像形成装置20に、サービス提供システム10により提供されるサービスを利用するための任意のクライアントアプリケーション220を搭載させることができる。   Then, the image forming apparatus 20 displays an application screen on the operation panel 22 (step S1808). If the browser 210 is installed in the image forming apparatus 20, the HTML application screen received in step S1805 is displayed. On the other hand, when the client application 220 is installed in the image forming apparatus 20, the application screen generated in step S1807 is displayed. By doing so, the browser 210 is not necessarily installed in the image forming apparatus 20. Therefore, the user can mount an arbitrary client application 220 for using the service provided by the service providing system 10 on the image forming apparatus 20.

[第3の実施形態]
次に、第3の実施形態に係る情報処理システム1について説明する。第3の実施形態に係る情報処理システム1は、サードベンダー等により開発されたコンポーネントを用いた処理内容により実現されるサービスを提供できる点が第1の実施形態と異なる。また、第3の実施形態に係る情報処理システム1は、画像形成装置20のブラウザ210を用いて、ユーザが処理内容を作成することができる点が第1の実施形態と異なる。
[Third Embodiment]
Next, an information processing system 1 according to the third embodiment will be described. The information processing system 1 according to the third embodiment is different from the first embodiment in that a service realized by processing contents using components developed by a third vendor or the like can be provided. The information processing system 1 according to the third embodiment is different from the first embodiment in that a user can create processing contents using the browser 210 of the image forming apparatus 20.

なお、以降では、サードベンダー等により開発されたコンポーネントを「外部コンポーネント」、サービス提供システム10に予め組み込まれているコンポーネント(すなわち、第1の実施形態及び第2の実施形態で説明したコンポーネント)を「内部コンポーネント」と表して区別する。さらに、内部コンポーネントと外部コンポーネントとを区別しないときは、単に、「コンポーネント」と表す。   Hereinafter, a component developed by a third vendor or the like is referred to as an “external component”, and a component that is incorporated in advance in the service providing system 10 (that is, the component described in the first embodiment and the second embodiment). Distinguish it as “internal component”. Furthermore, when the internal component and the external component are not distinguished, they are simply expressed as “component”.

また、以降では、第1の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第1の実施形態と同一の符号を用いて、その説明を省略する。   In the following description, the same reference numerals as those in the first embodiment are used for the portions having substantially the same functions as those in the first embodiment and the portions for performing the same processing, and the description thereof is omitted.

<システム構成>
図19は、第3の実施形態に係る情報処理システムの一例の構成図である。図19に示される情報処理システム1のサービス提供環境E1は、外部コンポーネント管理装置40を含む。
<System configuration>
FIG. 19 is a configuration diagram of an example of an information processing system according to the third embodiment. The service providing environment E1 of the information processing system 1 illustrated in FIG. 19 includes an external component management device 40.

外部コンポーネント管理装置40は、一台以上の情報処理装置で実現され、外部コンポーネントを管理する。このように、本実施形態に係る情報処理システム1では、サービス提供システム10とは異なる装置である外部コンポーネント管理装置40において外部コンポーネントを管理する。このため、例えば、外部コンポーネントが重大なバグを有していた場合等における影響を外部コンポーネント管理装置40に局所化させることができる。   The external component management device 40 is realized by one or more information processing devices and manages external components. As described above, in the information processing system 1 according to the present embodiment, the external component is managed by the external component management device 40 which is a device different from the service providing system 10. For this reason, for example, the influence when the external component has a serious bug can be localized in the external component management apparatus 40.

なお、図19では、サービス提供環境E1に一の外部コンポーネント管理装置40が含まれる例を示したが、これに限られない。サービス提供環境E1には、複数の外部コンポーネント管理装置40が含まれていてもよい。例えば、サービス提供環境E1には、A社が開発した外部コンポーネントを管理する外部コンポーネント管理装置40、B社が開発した外部コンポーネントを管理する外部コンポーネント管理装置40等が含まれていてもよい。 Although FIG. 19 shows an example in which one external component management device 40 is included in the service providing environment E1, the present invention is not limited to this. The service providing environment E1 may include a plurality of external component management devices 40. For example, the service to offer environment E1, A company may include external component management apparatus 40 2 and the like for managing the external components external component management device 40 1, B developed by the company that manages the external component developed .

<ソフトウェア構成>
第1の実施形態に係る情報処理システム1は、例えば図20に示されるような処理ブロックにより実現することができる。図20は、第3の実施形態に係る情報処理システムの一例の処理ブロック図である。
<Software configuration>
The information processing system 1 according to the first embodiment can be realized by a processing block as shown in FIG. 20, for example. FIG. 20 is a processing block diagram of an example of an information processing system according to the third embodiment.

サービス提供システム10のサービス処理部110は、アプリ管理部120Aと、ロジック処理部130Aと、処理内容作成部122とを有する。   The service processing unit 110 of the service providing system 10 includes an application management unit 120A, a logic processing unit 130A, and a processing content creation unit 122.

処理内容作成部122は、ブラウザ210からの要求に応じて、処理内容を作成するための画面(処理内容の作成画面)を作成する。   The processing content creation unit 122 creates a screen (processing content creation screen) for creating processing content in response to a request from the browser 210.

アプリ管理部120Aは、処理内容作成部122からの要求に応じて、処理内容の作成画面において作成された処理内容をアプリ情報記憶部190に記憶させる。これにより、ユーザが作成した処理内容により示される一連の処理で実現されるサービスが追加される。   In response to a request from the processing content creation unit 122, the application management unit 120A causes the application information storage unit 190 to store the processing content created on the processing content creation screen. Thereby, a service realized by a series of processes indicated by the process contents created by the user is added.

ロジック処理部130Aは、アプリ管理部120Aから取得した処理内容により示される一連の処理において、外部コンポーネントにより実行される処理がある場合、当該処理の実行を外部コンポーネント処理部410に要求する。なお、ロジック処理部130Aの詳細な処理ブロックについては後述する。   When there is a process executed by an external component in a series of processes indicated by the processing content acquired from the application management unit 120A, the logic processing unit 130A requests the external component processing unit 410 to execute the process. Detailed processing blocks of the logic processing unit 130A will be described later.

外部コンポーネント管理装置40は、外部コンポーネント処理部410を有する。外部コンポーネント処理部41は、例えば、外部コンポーネント管理装置40が備えるCPUにより実現される。   The external component management device 40 includes an external component processing unit 410. The external component processing unit 41 is realized by a CPU provided in the external component management device 40, for example.

外部コンポーネント処理部410は、ロジック処理部130Aからの要求に応じて、外部コンポーネントを実行する。なお、外部コンポーネント処理部410の詳細な処理ブロックについては後述する。   The external component processing unit 410 executes an external component in response to a request from the logic processing unit 130A. Detailed processing blocks of the external component processing unit 410 will be described later.

次に、本実施形態に係るロジック処理部130Aの詳細な処理ブロックについて説明する。図21は、第3の実施形態に係るロジック処理部の一例の処理ブロック図である。   Next, detailed processing blocks of the logic processing unit 130A according to the present embodiment will be described. FIG. 21 is a processing block diagram of an example of a logic processing unit according to the third embodiment.

本実施形態に係るロジック処理部130Aは、フロー実行部131Aと、コンポーネント管理部132Aとを有する。また、本実施形態に係るロジック処理部130Aのコンポーネント群133には、外部コンポ連携コンポーネント1335が含まれる。さらに、本実施形態に係るロジック処理部130Aは、コンポーネント管理テーブル5000を利用する。   The logic processing unit 130A according to the present embodiment includes a flow execution unit 131A and a component management unit 132A. In addition, the component group 133 of the logic processing unit 130A according to the present embodiment includes an external component cooperation component 1335. Furthermore, the logic processing unit 130A according to the present embodiment uses the component management table 5000.

フロー実行部131Aは、アプリ管理部120Aから取得した処理内容に従ってコンポーネントの取得をコンポーネント管理部132Aに要求する。このとき、フロー実行部131Aは、処理内容に基づいて、後述するコンポーネント名を指定して、コンポーネントの取得を要求する。   The flow execution unit 131A requests the component management unit 132A to acquire a component according to the processing content acquired from the application management unit 120A. At this time, the flow execution unit 131A requests acquisition of a component by designating a component name to be described later based on the processing content.

コンポーネント管理部132Aは、フロー実行部131Aからの要求に応じて、コンポーネント管理テーブル5000を参照し、当該要求に係るコンポーネントが内部コンポーネント又は外部コンポーネントのいずれであるかを判定する。そして、コンポーネント管理部132Aは、当該要求に係るコンポーネントが外部コンポーネントである場合、外部コンポ連携コンポーネント1335を生成する。   In response to a request from the flow execution unit 131A, the component management unit 132A refers to the component management table 5000 and determines whether the component related to the request is an internal component or an external component. Then, the component management unit 132A generates an external component cooperation component 1335 when the component related to the request is an external component.

コンポーネント群133に含まれる外部コンポ連携コンポーネント1335は、外部コンポーネント管理装置40の外部コンポーネント処理部410と処理の連携を行うためのコンポーネントである。外部コンポ連携コンポーネント1335は、外部コンポーネント処理部410に対して、外部コンポーネントの処理の実行を要求する。なお、外部コンポ連携コンポーネント1335は、コンポーネント共通I/F1330を有する。   The external component cooperation component 1335 included in the component group 133 is a component for performing processing cooperation with the external component processing unit 410 of the external component management apparatus 40. The external component cooperation component 1335 requests the external component processing unit 410 to execute processing of the external component. Note that the external component cooperation component 1335 includes a component common I / F 1330.

ここで、コンポーネント管理テーブル5000は、図22に示すようなデータ項目を有している。図22は、コンポーネント管理テーブルの一例を説明するための図である。   Here, the component management table 5000 has data items as shown in FIG. FIG. 22 is a diagram for explaining an example of the component management table.

図22に示すコンポーネント管理テーブル5000は、データ項目として、コンポーネントIDと、コンポーネント名と、ホスト名とを有する。コンポーネントIDは、コンポーネントを一意に識別する識別情報である。コンポーネント名は、コンポーネントの名称である。なお、本実施形態では、コンポーネント名は、コンポーネントに対して一意に付与されているものとする。   The component management table 5000 shown in FIG. 22 has a component ID, a component name, and a host name as data items. The component ID is identification information that uniquely identifies the component. The component name is the name of the component. In the present embodiment, the component name is uniquely assigned to the component.

ホスト名は、コンポーネントを管理している装置を識別する情報である。すなわち、例えば、内部コンポーネントには、ホスト名「localhost」が関連付けられており、サービス提供システム10で管理されていることが示されている。一方、例えば、外部コンポーネントには、ホスト名「server2.com」が関連付けられており、当該ホスト名の外部コンポーネント管理装置40で管理されていることが示されている。   The host name is information for identifying a device that manages the component. That is, for example, the host name “localhost” is associated with the internal component, and is managed by the service providing system 10. On the other hand, for example, a host name “server2.com” is associated with the external component, which indicates that the external component is managed by the external component management apparatus 40 of the host name.

このように、コンポーネント管理テーブル5000では、コンポーネント毎に、当該コンポーネントが管理されている装置のホスト名が関連付けられている。なお、処理内容作成部122は、コンポーネント管理テーブル5000からコンポーネントの一覧を取得することで、処理内容の作成画面を作成する。   In this way, in the component management table 5000, the host name of the device that manages the component is associated with each component. The processing content creation unit 122 creates a processing content creation screen by acquiring a list of components from the component management table 5000.

次に、外部コンポーネント処理部410の詳細な処理ブロックについて説明する。図23は、第3の実施形態に係る外部コンポーネント処理部の一例の処理ブロック図である。   Next, detailed processing blocks of the external component processing unit 410 will be described. FIG. 23 is a processing block diagram of an example of an external component processing unit according to the third embodiment.

外部コンポーネント処理部410は、要求受付部411と、コンポーネント管理部412と、外部コンポーネント群413と、型変換管理部414と、型変換群415とを有する。また、外部コンポーネント処理部410は、型変換テーブル6000を利用する。   The external component processing unit 410 includes a request reception unit 411, a component management unit 412, an external component group 413, a type conversion management unit 414, and a type conversion group 415. In addition, the external component processing unit 410 uses the type conversion table 6000.

要求受付部411は、ロジック処理部130Aからの要求を受け付けると、コンポーネント管理部412に対して、外部コンポーネントの生成を要求する。そして、要求受付部411は、外部コンポーネントが生成されると、当該外部コンポーネントに対して処理の実行を要求する。   Upon receiving a request from the logic processing unit 130A, the request receiving unit 411 requests the component management unit 412 to generate an external component. Then, when an external component is generated, the request reception unit 411 requests the external component to execute processing.

コンポーネント管理部412は、要求受付部411からの要求に応じて、外部コンポーネントの生成を行う。   The component management unit 412 generates an external component in response to a request from the request reception unit 411.

外部コンポーネント群413は、外部コンポーネントの集合である。外部コンポーネント群413には、サードベンダー等により開発された各種の外部コンポーネントが含まれる。例えば、外部コンポーネント群413には、外部ストレージシステム30に電子ファイルを配信するための配信αコンポーネント4131、電子ファイルを印刷データに変換するための印刷変換βコンポーネント4132が含まれる。   The external component group 413 is a set of external components. The external component group 413 includes various external components developed by a third vendor or the like. For example, the external component group 413 includes a distribution α component 4131 for distributing an electronic file to the external storage system 30 and a print conversion β component 4132 for converting the electronic file into print data.

また、これらの各外部コンポーネントは、コンポーネント共通I/F4130を有する。コンポーネント共通I/F4130は、各外部コンポーネントに対して共通に定義されたAPIであり、外部コンポーネントを生成するためのAPIと、外部コンポーネントに対して処理の実行を要求するためのAPIとが含まれる。   Each of these external components has a component common I / F 4130. The component common I / F 4130 is an API commonly defined for each external component, and includes an API for generating an external component and an API for requesting execution of processing to the external component. .

型変換管理部414は、データ型の型変換を管理する。ここで、外部コンポーネントは、自身が扱えるデータ型が予め定まっている。したがって、型変換管理部414は、外部コンポーネントからの要求に応じて、図24に示すような型変換テーブル6000を参照して、型変換群415に定義されている型変換を生成する。そして、型変換管理部414は、生成された型変換に対して型変換処理の実行を要求する。   The type conversion management unit 414 manages data type conversion. Here, the data types that can be handled by the external components are determined in advance. Therefore, the type conversion management unit 414 generates a type conversion defined in the type conversion group 415 with reference to the type conversion table 6000 shown in FIG. 24 in response to a request from the external component. Then, the type conversion management unit 414 requests execution of type conversion processing for the generated type conversion.

型変換群415は、型変換の集合である。型変換群415には、データ型「InputStream」を「LocalFilePath」に変換する第1の型変換4151、「LocalFilePath」を「File」に変換する第2の型変換4142等が含まれる。   The type conversion group 415 is a set of type conversions. The type conversion group 415 includes a first type conversion 4151 for converting the data type “InputStream” to “LocalFilePath”, a second type conversion 4142 for converting “LocalFilePath” to “File”, and the like.

また、これらの各型変換は、型変換共通I/F4150を有する。型変換共通I/F4150は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換に対して処理の実行を要求するためのAPIとが含まれる。   Each type conversion has a type conversion common I / F 4150. The type conversion common I / F 4150 is an API commonly defined for each type conversion, and includes an API for generating type conversion and an API for requesting execution of processing for type conversion. It is.

<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。本実施形態では、スキャン配信サービスを実現する一連の処理に、外部コンポーネントにより実行される処理が含まれる場合について説明する。すなわち、本実施形態に係るスキャン配信サービスは、内部コンポーネントにより実行される処理と、外部コンポーネントにより実行される処理とで構成される一連の処理により実現されるものとする。
<Details of processing>
Next, details of processing of the information processing system 1 according to the present embodiment will be described. In the present embodiment, a case will be described in which processing executed by an external component is included in a series of processing for realizing a scan distribution service. That is, the scan distribution service according to the present embodiment is realized by a series of processes including processes executed by internal components and processes executed by external components.

≪OCRから配信実行までの処理≫
図25は、第3の実施形態に係るOCRから配信実行までの処理の一例のシーケンス図である。まず、ステップS2501の処理は、図13を用いて説明したステップS1301の処理と同様であるため、その説明を省略する。
≪Process from OCR to delivery execution≫
FIG. 25 is a sequence diagram illustrating an example of processing from OCR to distribution execution according to the third embodiment. First, the processing in step S2501 is the same as the processing in step S1301 described with reference to FIG.

フロー実行部131Aは、ブラウザ210からスキャン配信サービスの実行要求を受け付けると、アプリ管理部120Aに処理内容の取得を要求する(ステップS2502)。ここで、本実施形態では、フロー実行部131Aにより、図26に示す処理内容が取得されたものとする。   When the flow execution unit 131A receives a scan delivery service execution request from the browser 210, the flow execution unit 131A requests the application management unit 120A to acquire processing content (step S2502). Here, in the present embodiment, it is assumed that the processing content illustrated in FIG. 26 is acquired by the flow execution unit 131A.

フロー実行部131Aは、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132Aに要求する(ステップS2503)。より具体的には、フロー実行部131は、図26に示す処理内容の「From("file:input")」の次に指定されている「.to("process:ocr")」に基づき、コンポーネント名が「ocr」であるコンポーネントの取得を、コンポーネント管理部132Aに要求する。   The flow execution unit 131A requests the component management unit 132A to acquire a component according to the acquired processing content (step S2503). More specifically, the flow execution unit 131 is based on “.to (“ process: ocr ”)” specified next to “From (“ file: input ”)” in the processing content shown in FIG. The component management unit 132A is requested to acquire a component whose component name is “ocr”.

コンポーネント管理部132Aは、コンポーネントの取得要求を受け付けると、コンポーネント管理テーブル5000を参照して、当該取得要求に係るコンポーネントが内部コンポーネント又は外部コンポーネントのいずれであるかを判定する(ステップS2504)。   Upon receiving the component acquisition request, the component management unit 132A refers to the component management table 5000 and determines whether the component related to the acquisition request is an internal component or an external component (step S2504).

すなわち、コンポーネント管理部132Aは、コンポーネント管理テーブル5000において、当該取得要求に含まれるコンポーネント名に関連付けられているホスト名が「localhost」であるか否かを判定する。そして、コンポーネント管理部132Aは、当該ホスト名が「localhost」である場合、当該取得要求に係るコンポーネントは内部コンポーネントであると判定する。一方、コンポーネント管理部132Aは、当該ホスト名が「localhost」でない場合、当該取得要求に係るコンポーネントは外部コンポーネントであると判定する。   That is, the component management unit 132A determines whether or not the host name associated with the component name included in the acquisition request is “localhost” in the component management table 5000. If the host name is “localhost”, the component management unit 132A determines that the component related to the acquisition request is an internal component. On the other hand, when the host name is not “localhost”, the component management unit 132A determines that the component related to the acquisition request is an external component.

ここで、コンポーネント管理テーブル5000において、コンポーネント名「ocr」に関連付けられているホスト名は「localhost」である。したがって、コンポーネント管理部132Aは、当該取得要求に係るコンポーネントは内部コンポーネントであると判定する。   Here, in the component management table 5000, the host name associated with the component name “ocr” is “localhost”. Therefore, the component management unit 132A determines that the component related to the acquisition request is an internal component.

コンポーネント管理部132Aは、コンポーネントの取得要求に係るコンポーネントが内部コンポーネントであると判定された場合、当該取得要求に含まれるコンポーネント名に対応する内部コンポーネントを生成する(ステップS2505)。すなわち、コンポーネント管理部132Aは、当該取得要求に含まれるコンポーネント名「ocr」に対応するOCRコンポーネント1333を生成する。   When it is determined that the component related to the component acquisition request is an internal component, the component management unit 132A generates an internal component corresponding to the component name included in the acquisition request (step S2505). That is, the component management unit 132A generates an OCR component 1333 corresponding to the component name “ocr” included in the acquisition request.

そして、コンポーネント管理部132Aは、生成されたOCRコンポーネント1333をフロー実行部131Aに返却する。   Then, the component management unit 132A returns the generated OCR component 1333 to the flow execution unit 131A.

続くステップS2506〜ステップS2513の処理は、図13を用いて説明したステップS1305〜ステップS1312の処理と同様であるため、その説明を省略する。   The subsequent processes in steps S2506 to S2513 are the same as the processes in steps S1305 to S1312 described with reference to FIG.

次に、フロー実行部131Aは、取得した処理内容に従ってコンポーネントの取得を、コンポーネント管理部132Aに要求する(ステップS2514)。より具体的には、フロー実行部131Aは、図26に示す処理内容の「.to("process:ocr")」の次に指定されている「.to("storage:send_to_folderα?type=service-b")」に基づき、コンポーネント名が「send_to_folderα」であるコンポーネントの取得を、コンポーネント管理部132Aに要求する。なお、ここで指定されている処理内容のうち「?type=service-b」の部分は、オプションパラメータであり、コンポーネント名「send_to_folderα」のコンポーネントの処理によるデータのアップロード先が「ストレージサービスB」であることを示している。   Next, the flow execution unit 131A requests the component management unit 132A to acquire a component according to the acquired processing content (step S2514). More specifically, the flow execution unit 131A performs “.to (“ storage: send_to_folderα? Type = service− ”specified next to“ .to (“process: ocr”) ”in the processing content illustrated in FIG. Based on b ")", the component management unit 132A is requested to acquire the component whose component name is "send_to_folderα". In addition, the part of “? Type = service-b” in the processing content specified here is an optional parameter, and the upload destination of data by the processing of the component with the component name “send_to_folderα” is “Storage Service B”. It shows that there is.

コンポーネント管理部132Aは、コンポーネントの取得要求を受け付けると、コンポーネント管理テーブル5000を参照して、当該取得要求に係るコンポーネントが内部コンポーネント又は外部コンポーネントのいずれであるかを判定する(ステップS2515)。   Upon receiving the component acquisition request, the component management unit 132A refers to the component management table 5000 and determines whether the component related to the acquisition request is an internal component or an external component (step S2515).

すなわち、コンポーネント管理部132Aは、コンポーネント管理テーブル5000において、当該取得要求に含まれるコンポーネント名に関連付けられているホスト名が「localhost」であるか否かを判定する。そして、コンポーネント管理部132Aは、当該ホスト名が「localhost」である場合、当該取得要求に係るコンポーネントは内部コンポーネントであると判定する。一方、コンポーネント管理部132Aは、当該ホスト名が「localhost」でない場合、当該取得要求に係るコンポーネントは外部コンポーネントであると判定する。   That is, the component management unit 132A determines whether or not the host name associated with the component name included in the acquisition request is “localhost” in the component management table 5000. If the host name is “localhost”, the component management unit 132A determines that the component related to the acquisition request is an internal component. On the other hand, when the host name is not “localhost”, the component management unit 132A determines that the component related to the acquisition request is an external component.

ここで、コンポーネント管理テーブル5000において、コンポーネント名「send_to_folderα」に関連付けられているホスト名は「server2.com」である。したがって、コンポーネント管理部132Aは、当該取得要求に係るコンポーネントは外部コンポーネントであると判定する。   Here, in the component management table 5000, the host name associated with the component name “send_to_folderα” is “server2.com”. Therefore, the component management unit 132A determines that the component related to the acquisition request is an external component.

コンポーネント管理部132Aは、コンポーネントの取得要求に係るコンポーネントが外部コンポーネントであると判定された場合、外部コンポ連携コンポーネント1335を生成する(ステップS2516)。   When it is determined that the component related to the component acquisition request is an external component, the component management unit 132A generates the external component cooperation component 1335 (step S2516).

このように、本実施形態に係るサービス提供システム10は、コンポーネントの取得要求に係るコンポーネントが外部コンポーネントである場合、外部コンポ連携コンポーネント1335を生成する。   As described above, the service providing system 10 according to the present embodiment generates the external component cooperation component 1335 when the component related to the component acquisition request is an external component.

そして、コンポーネント管理部132Aは、生成された外部コンポ連携コンポーネント1335をフロー実行部131Aに返却する。   Then, the component management unit 132A returns the generated external component cooperation component 1335 to the flow execution unit 131A.

フロー実行部131Aは、生成された外部コンポ連携コンポーネント1335に対して、データを指定して処理の実行を要求する(ステップS2517)。なお、ここで指定されたデータのデータ型は「LocalFilePath」である。   The flow execution unit 131A requests the generated external component cooperation component 1335 to execute processing by specifying data (step S2517). Note that the data type of the data specified here is “LocalFilePath”.

外部コンポ連携コンポーネント1335は、型変換管理部134に対して、型変換を要求する(ステップS2518)。ここで、当該型変換要求には、データと、外部コンポ連携コンポーネント1335が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。   The external component cooperation component 1335 requests the type conversion management unit 134 to perform type conversion (step S2518). Here, the type conversion request includes data and designation of “LocalFilePath” indicating a data type that can be handled by the external component cooperation component 1335.

型変換管理部134は、受け取った型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS2519)。ここでは、受け取った型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」であるから、一致するものと判断される。そして、型変換管理部134は、型変換要求に含まれていたデータを、そのまま外部コンポ連携コンポーネント1335に送信する(ステップS2520)。   The type conversion management unit 134 checks whether or not the data type of the data included in the received type conversion request matches the designated data type (step S2519). Here, since the data type of the data included in the received type conversion request is “LocalFilePath” and the specified data type is also “LocalFilePath”, it is determined that they match. Then, the type conversion management unit 134 transmits the data included in the type conversion request to the external component cooperation component 1335 as it is (step S2520).

外部コンポ連携コンポーネント1335は、型変換管理部134からデータを受け取ると、処理を実行する(ステップS2521)。すなわち、外部コンポ連携コンポーネント1335は、コンポーネント名「send_to_folderα」と、データとを含む処理の実行を、ホスト名「server2.com」で示される外部コンポーネント管理装置40の外部コンポーネント処理部410に要求する。なお、当該実行要求には、上記で説明したアップロード先のストレージサービスを示すオプションパラメータ「?type=service-b」も含まれる。   When receiving the data from the type conversion management unit 134, the external component cooperation component 1335 executes processing (step S2521). That is, the external component cooperation component 1335 requests the external component processing unit 410 of the external component management apparatus 40 indicated by the host name “server2.com” to execute processing including the component name “send_to_folderα” and data. The execution request also includes the option parameter “? Type = service-b” indicating the upload destination storage service described above.

次に、外部コンポーネント処理部410は、外部コンポ連携コンポーネント1335から処理の実行要求を受け取ると、当該実行要求に応じて、外部コンポーネント処理を実行する(ステップS2522)。そして、外部コンポーネント処理部410は、処理結果を示すデータを返信する。   Next, when receiving an execution request for processing from the external component cooperation component 1335, the external component processing unit 410 executes external component processing in response to the execution request (step S2522). Then, the external component processing unit 410 returns data indicating the processing result.

ここで、上記のステップS2522の処理の詳細について説明する。図27は、第3の実施形態に係る外部コンポーネント処理の一例のシーケンス図である。   Here, the details of the processing in step S2522 will be described. FIG. 27 is a sequence diagram of an example of external component processing according to the third embodiment.

まず、要求受付部411は、ロジック処理部130A(より詳細には、外部コンポ連携コンポーネント1335)から処理の実行要求を受け付ける(ステップS2701)。なお、当該実行要求には、外部コンポーネントのコンポーネント名「send_to_folderα」と、データと、オプションパラメータ「?type=service-b」とが含まれる。   First, the request reception unit 411 receives a process execution request from the logic processing unit 130A (more specifically, the external component cooperation component 1335) (step S2701). The execution request includes the component name “send_to_folderα” of the external component, data, and an optional parameter “? Type = service-b”.

なお、処理内容にオプションパラメータが指定されていない場合は、処理の実行要求にオプションパラメータは含まれない。また、当該実行要求に含まれるデータは、データ型が「InputStream」として渡されるものとする。   If no optional parameter is specified in the processing content, the optional parameter is not included in the processing execution request. The data included in the execution request is passed as the data type “InputStream”.

要求受付部411は、処理の実行要求を受け付けると、当該実行要求に含まれるコンポーネント名「send_to_folderα」の外部コンポーネントの取得を、コンポーネント管理部412に要求する(ステップS2702)。   Upon receiving the process execution request, the request reception unit 411 requests the component management unit 412 to acquire the external component having the component name “send_to_folderα” included in the execution request (step S2702).

コンポーネント管理部412は、外部コンポーネントの取得要求を受け付けると、当該取得要求に含まれるコンポーネント名「send_to_folderα」に対応する配信αコンポーネント4131を生成する(ステップS2703)。配信αコンポーネント4131の生成は、コンポーネント共通I/F4130に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。   Upon receiving the external component acquisition request, the component management unit 412 generates a distribution α component 4131 corresponding to the component name “send_to_folderα” included in the acquisition request (step S2703). The distribution α component 4131 can be generated using an API for generating a component defined in the component common I / F 4130.

そして、コンポーネント管理部412は、生成された配信αコンポーネント4131を要求受付部411に返却する。これは、例えば、コンポーネント管理部412は、配信αコンポーネント4131が展開されたメモリ上(例えばRAM)上のアドレスを、要求受付部411に返却する。   Then, the component management unit 412 returns the generated distribution α component 4131 to the request reception unit 411. For example, the component management unit 412 returns the address on the memory (for example, RAM) where the distribution α component 4131 is expanded to the request reception unit 411.

要求受付部411は、生成された配信αコンポーネント4131に対して、データを指定して処理の実行を要求する(ステップS2704)。   The request reception unit 411 requests the generated distribution α component 4131 to execute processing by designating data (step S2704).

配信αコンポーネント4131は、処理の実行要求を受け取ると、型変換管理部414に対して、型変換を要求する(ステップS2705)。ここで、当該型変換要求には、データと、配信αコンポーネント4131が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。   Upon receiving the processing execution request, the distribution α component 4131 requests the type conversion management unit 414 for type conversion (step S2705). Here, the type conversion request includes data and designation of “LocalFilePath” indicating a data type that can be handled by the distribution α component 4131.

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

すると、型変換管理部414は、型変換テーブル6000を参照して、「InputStream」を「LocalFilePath」に変換するための型変換を特定して(ここでは、第1の型変換4151が特定される)、当該特定された型変換を生成する(ステップS2707)。   Then, the type conversion management unit 414 refers to the type conversion table 6000 and specifies type conversion for converting “InputStream” to “LocalFilePath” (here, the first type conversion 4151 is specified). ), The specified type conversion is generated (step S2707).

そして、型変換管理部414は、生成された第1の型変換4151に対して、データを指定して型変換処理の実行を要求する(ステップS2708)。すると、第1の型変換4151は、指定されたデータのデータ型を「InputStream」から「LocalFilePath」に変換して(ステップS2709)、当該変換後のデータを型変換管理部414に返信する。   The type conversion management unit 414 then requests the generated first type conversion 4151 to specify the data and execute the type conversion process (step S2708). Then, the first type conversion 4151 converts the data type of the designated data from “InputStream” to “LocalFilePath” (step S2709), and returns the converted data to the type conversion management unit 414.

その後、型変換管理部414は、型変換後のデータを配信αコンポーネント4131に送信する(ステップS2710)。   Thereafter, the type conversion management unit 414 transmits the data after the type conversion to the distribution α component 4131 (step S2710).

配信αコンポーネント4131は、型変換管理部414からデータを受け取ると、処理を実行する(ステップS2711)。すなわち、本実施形態では、配信αコンポーネント4131は、ストレージサービスBに対して、データの配信を実行する。   Upon receiving data from the type conversion management unit 414, the distribution α component 4131 executes processing (step S2711). In other words, in this embodiment, the distribution α component 4131 executes data distribution to the storage service B.

なお、配信αコンポーネント4131は、ストレージサービスB連携部160を介さずに、ストレージサービスBに対してデータを配信する。このように、外部コンポーネントは、内部コンポーネントと異なり、ストレージサービス連携部160やドキュメントサービス部150を用いずに、例えば配信処理やOCR処理等の各種の処理を実行する。ただし、これに限られず、外部コンポーネントは、内部コンポーネントと同様に、ストレージサービス連携部160やドキュメントサービス部150に処理要求を行うことで、各種の処理を実行しても良い。 Incidentally, the distribution α component 4131, not through the storage service B cooperation unit 160 2, to deliver data to the storage service B. Thus, unlike the internal component, the external component executes various processes such as a distribution process and an OCR process without using the storage service cooperation unit 160 and the document service unit 150. However, the present invention is not limited to this, and the external component may execute various types of processing by making processing requests to the storage service cooperation unit 160 and the document service unit 150 in the same manner as the internal component.

そして、配信αコンポーネント4131は、処理結果を示すデータ返信する。これにより、本実施形態に係るスキャン配信サービスが提供される。   Then, the distribution α component 4131 returns data indicating the processing result. Thereby, the scan distribution service according to the present embodiment is provided.

このように、本実施形態に係るサービス提供システム10は、処理内容に外部コンポーネントにより実行される処理が含まれる場合、当該外部コンポーネントを管理する外部コンポーネント管理装置40に処理の実行を要求する。そして、サービス提供システム10とは異なる装置である外部コンポーネント管理装置40において外部コンポーネントが実行される。   As described above, when the processing content includes processing executed by the external component, the service providing system 10 according to the present embodiment requests the external component management apparatus 40 that manages the external component to execute the processing. Then, the external component is executed in the external component management device 40 which is a device different from the service providing system 10.

したがって、例えば、サードベンダー等により開発された外部コンポーネントに重大なバグや不具合等が存在していた場合でも、当該バグや不具合等による影響を外部コンポーネント管理装置40内に局所化させることができる。換言すれば、サービス提供システム10は、外部コンポーネントのバグや不具合等に伴う影響を受けることなく、サービスの提供を継続することができるようになる。   Therefore, for example, even when a serious bug or defect exists in an external component developed by a third vendor or the like, the influence of the bug or defect can be localized in the external component management apparatus 40. In other words, the service providing system 10 can continue to provide services without being affected by bugs or malfunctions of external components.

なお、本実施形態では、外部コンポーネント管理装置40において外部コンポーネントが管理されるものとしたが、例えば、外部コンポーネントの品質が確保された後は、当該外部コンポーネントをサービス提供システム10で管理するようにしてもよい。   In this embodiment, the external component is managed by the external component management apparatus 40. However, for example, after the quality of the external component is ensured, the external component is managed by the service providing system 10. May be.

≪処理内容の作成処理≫
次に、例えば、アプリ情報1000の開発者等のユーザが、当該アプリ情報1000に含まれる処理内容を作成する処理について説明する。図28は、第3の実施形態に係る処理内容の作成処理の一例のシーケンス図である。
≪Processing content creation process≫
Next, for example, a process in which a user such as a developer of the application information 1000 creates processing content included in the application information 1000 will be described. FIG. 28 is a sequence diagram illustrating an example of processing for creating processing content according to the third embodiment.

まず、画像形成装置20のユーザは、ブラウザ210を用いて、処理内容の作成画面を表示するための操作を行う。すると、画像形成装置20のブラウザ210は、処理内容の作成画面の取得を、処理内容作成部122に要求する(ステップS2801)。   First, the user of the image forming apparatus 20 uses the browser 210 to perform an operation for displaying a processing content creation screen. Then, the browser 210 of the image forming apparatus 20 requests the processing content creation unit 122 to acquire a processing content creation screen (step S2801).

処理内容作成部122は、コンポーネント管理テーブル5000からコンポーネントの一覧(例えば、コンポーネント名の一覧)を取得して、図29(a)に示すような処理内容の作成画面7000を作成する(ステップS2802)。そして、処理内容作成部122は、作成した処理内容の作成画面7000をブラウザ210に返信する。   The processing content creation unit 122 acquires a component list (for example, a list of component names) from the component management table 5000, and creates a processing content creation screen 7000 as shown in FIG. 29A (step S2802). . Then, the processing content creation unit 122 returns the created processing content creation screen 7000 to the browser 210.

ここで、図29(a)に示す処理内容の作成画面7000は、アプリID表示欄7010と、コンポーネント表示欄7020と、処理内容作成欄7030とが含まれる。   Here, the processing content creation screen 7000 shown in FIG. 29A includes an application ID display column 7010, a component display column 7020, and a processing content creation column 7030.

アプリID表示欄7010は、作成する処理内容が含まれるアプリ情報1000のアプリIDが表示される。このアプリIDは、例えば、上記のステップS2801でユーザにより指定されてもよい。   The application ID display field 7010 displays the application ID of the application information 1000 including the processing content to be created. This application ID may be specified by the user in step S2801, for example.

コンポーネント表示欄7020は、それぞれのコンポーネントを示すアイコン(表示部品)が一覧で表示されている。このようなコンポーネントを示すアイコンの一覧は、コンポーネント管理テーブル5000から取得されたコンポーネント名に基づいて作成される。処理内容作成欄7030は、ユーザが処理内容を作成するための領域であり、例えば、コンポーネント表示欄7020に含まれるコンポーネントを示すアイコンをドラッグアンドドロップすることで、処理内容を作成することができる。   In the component display column 7020, icons (display parts) indicating the respective components are displayed in a list. A list of icons indicating such components is created based on the component names acquired from the component management table 5000. The process content creation field 7030 is an area for the user to create process contents. For example, the process contents can be created by dragging and dropping an icon indicating a component included in the component display field 7020.

ここで、ユーザは、ブラウザ210を用いて、コンポーネント表示欄7020に含まれる取得コンポーネントと、印刷変換βコンポーネントとを、この順で、処理内容作成欄7030にドラッグアンドドロップしたものとする。すると、図29(b)に示すように処理内容の作成画面7100の処理内容作成欄7110には、処理内容を模式的に示すフロー図7120が作成される。フロー図7120は、内部コンポーネントである取得コンポーネントを実行した後、外部コンポーネントである印刷変換βコンポーネントを実行する処理内容を示している。   Here, it is assumed that the user has dragged and dropped the acquisition component included in the component display field 7020 and the print conversion β component into the processing content creation field 7030 in this order using the browser 210. Then, as shown in FIG. 29B, a flow diagram 7120 schematically showing the processing content is created in the processing content creation column 7110 of the processing content creation screen 7100. A flow diagram 7120 shows the processing content of executing the print conversion β component, which is an external component, after executing the acquisition component, which is an internal component.

これにより、ユーザにより処理内容が作成される。しかも、このとき、ユーザは、処理内容に含まれる一連の処理を実行するコンポーネントが、内部コンポーネントであるか外部コンポーネントであるかを意識することなく、処理内容を作成することができる。したがって、ユーザは、容易に処理内容を作成することができる。   Thereby, the processing content is created by the user. In addition, at this time, the user can create the processing content without being aware of whether the component that executes a series of processing included in the processing content is an internal component or an external component. Therefore, the user can easily create processing contents.

画像形成装置20のブラウザ210は、ユーザにより処理内容が作成されると、作成された処理内容を受け付ける(ステップS2803)。そして、画像形成装置20のブラウザ210は、作成された処理内容の保存を処理内容作成部122に要求する(ステップS2804)。なお、当該保存要求には、アプリIDと、ユーザにより作成された処理内容とが含まれる。   When the processing content is created by the user, the browser 210 of the image forming apparatus 20 receives the created processing content (step S2803). Then, the browser 210 of the image forming apparatus 20 requests the processing content creation unit 122 to save the created processing content (step S2804). Note that the storage request includes the application ID and the processing content created by the user.

サービス処理部110の処理内容作成部122は、処理内容の保存要求を受け取ると、当該保存要求をアプリ管理部120Aに転送する(ステップS2805)。次に、アプリ管理部120Aは、処理内容の保存要求を受け取ると、当該保存要求に含まれる処理内容をアプリIDと関連付けてアプリ情報記憶部190に保存する(ステップS2806)。そして、アプリ管理部120Aは、保存結果を返信する。これにより、ユーザにより作成された処理内容がアプリ情報記憶部190に記憶される。   When receiving the processing content storage request, the processing content creation unit 122 of the service processing unit 110 transfers the storage request to the application management unit 120A (step S2805). Next, when receiving the processing content storage request, the application management unit 120A stores the processing content included in the storage request in the application information storage unit 190 in association with the application ID (step S2806). And application management part 120A returns a preservation | save result. Thereby, the processing content created by the user is stored in the application information storage unit 190.

<まとめ>
以上のように、第1の実施形態に係る情報処理システム1によれば、サービス提供システム10は外部サービスと連携したサービスを画像形成装置20に提供することができる。また、サービス提供システム10は、連携先の外部サービスの追加・変更等を容易に行うことができる。さらに、サービス提供システム10は、画像形成装置20に提供するサービスの追加・変更等(すなわち、アプリ情報1000の追加・変更等)を容易に行うことができる。これらにより、第1の実施形態に係るサービス提供システム10は、サービスの追加・変更等に伴う開発・維持に要する工数を削減することができる。
<Summary>
As described above, according to the information processing system 1 according to the first embodiment, the service providing system 10 can provide the image forming apparatus 20 with a service linked to an external service. Further, the service providing system 10 can easily add or change the external service of the cooperation destination. Furthermore, the service providing system 10 can easily add or change a service provided to the image forming apparatus 20 (that is, add or change the application information 1000). Accordingly, the service providing system 10 according to the first embodiment can reduce the number of man-hours required for development / maintenance associated with addition / change of services.

さらに、第2の実施形態に係る情報処理システム1によれば、サービス提供システム10は、ブラウザ210が搭載されていない画像形成装置20に対してもサービスを提供することができる。したがって、第2の実施形態に係るサービス提供システム10によれば、一般にブラウザが搭載されていない多様な電子機器に対してサービスを提供することができる。   Furthermore, according to the information processing system 1 according to the second embodiment, the service providing system 10 can provide a service to the image forming apparatus 20 in which the browser 210 is not installed. Therefore, according to the service providing system 10 according to the second embodiment, a service can be provided to various electronic devices that are generally not equipped with a browser.

また、第3の実施形態に係る情報処理システム1によれば、サードベンダー等により開発された外部コンポーネントを、サービス提供システム10とは異なる装置である外部コンポーネント管理装置40で管理及び実行させることができる。これにより、例えば、外部コンポーネントにバグや不具合が存在する等、外部コンポーネントの品質が十分でない場合においても、バグや不具合等に伴う影響を外部コンポーネント管理装置40に局所化させることができる。   Further, according to the information processing system 1 according to the third embodiment, an external component developed by a third vendor or the like can be managed and executed by the external component management device 40 that is a device different from the service providing system 10. it can. As a result, for example, even when the quality of the external component is not sufficient, such as when a bug or failure exists in the external component, the external component management device 40 can localize the effects associated with the bug or failure.

したがって、第3の実施形態に係る情報処理システム1によれば、例えば、外部コンポーネントのバグや不具合等に伴いサービス提供システム10の処理能力が低下、又はサービス提供システム10が停止するような事態等を防止することができる。   Therefore, according to the information processing system 1 according to the third embodiment, for example, a situation in which the processing capability of the service providing system 10 is reduced or the service providing system 10 is stopped due to a bug or a defect of an external component. Can be prevented.

なお、アプリ情報記憶部190は、記憶手段の一例である。アプリ管理部120は、第1の送信手段の一例である。ロジック処理部130は、処理実行手段の一例である。   The application information storage unit 190 is an example of a storage unit. The application management unit 120 is an example of a first transmission unit. The logic processing unit 130 is an example of a process execution unit.

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

1 情報処理システム
10 サービス提供システム
20 画像形成装置
30 外部ストレージシステム
110 サービス処理部
120 アプリ管理部
130 ロジック処理部
131 フロー実行部
132 コンポーネント管理部
133 コンポーネント群
134 型変換管理部
135 型変換群
140 データI/F部
150 ドキュメントサービス部
151 OCR処理
152 印刷変換処理
160 ストレージサービス連携部
170 ファイル処理部
180 データ処理部
190 アプリ情報記憶部
1000 アプリ情報
3000 型変換テーブル
DESCRIPTION OF SYMBOLS 1 Information processing system 10 Service provision system 20 Image forming apparatus 30 External storage system 110 Service processing part 120 Application management part 130 Logic processing part 131 Flow execution part 132 Component management part 133 Component group 134 Type conversion management part 135 Type conversion group 140 Data I / F unit 150 Document service unit 151 OCR processing 152 Print conversion processing 160 Storage service cooperation unit 170 File processing unit 180 Data processing unit 190 Application information storage unit 1000 Application information 3000 type conversion table

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

Claims (14)

1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別する識別情報と、該一連の処理を前記プログラムを組み合わせて実行するための一連の処理に関する情報とを関連付けて記憶する記憶手段と、
前記情報処理システムに接続される1以上の機器のうちの一の機器から前記識別情報と、前記一連の処理に用いる電子データに関する情報とを含む要求を受け付ける受付手段と、
前記受付手段により受け付けた前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を、前記要求に含まれる前記識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づいて、前記複数のプログラムのうちの1以上のプログラムを組み合わせて実行する処理実行手段と
を有する情報処理システム。
An information processing system that includes one or more information processing apparatuses and includes a plurality of programs that respectively execute predetermined processes,
For each application that executes a series of processes using electronic data in cooperation with an external service, identification information for identifying the application, information on a series of processes for executing the series of processes in combination with the program, Storage means for associating and storing
A receiving unit that receives a request including the identification information and information related to electronic data used for the series of processes from one of the one or more devices connected to the information processing system;
The series of processes using electronic data based on information about the electronic data included in the request received by the receiving unit is stored in the storage unit in association with the identification information included in the request. An information processing system comprising: a process executing unit that executes a combination of one or more of the plurality of programs based on information related to the process.
前記処理実行手段は、
さらに、前記電子データのデータ型を所定のデータ型に変換する型変換手段を1以上有し、
前記電子データを用いた前記一連の処理を、前記一連の処理に関する情報に基づいて、前記1以上のプログラムと、前記型変換手段とを組み合わせて、前記型変換手段により前記電子データのデータ型を前記プログラムが処理可能な所定のデータ型に変換した後、該プログラムが処理を実行することにより実行する、請求項1記載の情報処理システム。
The process execution means includes
Furthermore, it has one or more type conversion means for converting the data type of the electronic data into a predetermined data type,
The series of processing using the electronic data is combined with the one or more programs and the type conversion unit based on information relating to the series of processing, and the data type of the electronic data is set by the type conversion unit. The information processing system according to claim 1, wherein the program is executed by executing processing after the program is converted into a predetermined data type that can be processed.
前記複数のプログラムは、外部サービスに関する処理を実行するプログラムを含み、
前記外部サービスに関する処理を実行するプログラムは、
外部サービスに対して電子データをアップロードする処理を実行するプログラム及び外部サービスから電子データをダウンロードする処理を実行するプログラムを少なくとも含む、請求項1又は2記載の情報処理システム。
The plurality of programs include a program for executing processing related to an external service,
A program for executing processing related to the external service is:
The information processing system according to claim 1 or 2, comprising at least a program for executing processing for uploading electronic data to an external service and a program for executing processing for downloading electronic data from an external service.
前記外部サービス毎に、複数の前記外部サービスに対して共通に定義された共通APIと、前記外部サービス毎に固有に定義された固有APIとを含む外部サービス連携手段を有し、
前記外部サービスに関する処理を実行するプログラムは、
前記共通API又は前記固有APIを用いて、前記外部サービスに関する処理を実行する、請求項3に記載の情報処理システム。
An external service cooperation unit including a common API defined in common for the plurality of external services and a unique API defined uniquely for each external service for each external service;
A program for executing processing related to the external service is:
The information processing system according to claim 3, wherein processing related to the external service is executed using the common API or the unique API.
前記共通APIは、複数の前記外部サービスのいずれもが共通に提供する機能を利用するためのAPIであり、
前記固有APIは、複数の前記外部サービスのうちのいずれかの外部サービスが提供する機能を利用するためのAPIである、請求項4記載の情報処理システム。
The common API is an API for using a function shared by all of the plurality of external services.
The information processing system according to claim 4, wherein the unique API is an API for using a function provided by any one of the plurality of external services.
前記外部サービスに関する処理を実行するプログラムは、
前記共通API又は前記固有APIの可変部分に、外部サービスの識別情報を指定することにより該指定された識別情報に対応する外部サービスに対して前記外部サービスに関する処理を実行する、請求項4又は5記載の情報処理システム。
A program for executing processing related to the external service is:
The process related to the external service is executed for the external service corresponding to the specified identification information by specifying the identification information of the external service in the variable part of the common API or the unique API. The information processing system described.
前記情報処理システムは、所定の処理をそれぞれ実行する複数の外部プログラムを有する外部システムと接続され、
前記処理実行手段は、
前記電子データを用いた前記一連の処理を、前記一連の処理に関する情報に基づいて、前記1以上のプログラムと、前記外部プログラムとを組み合わせて実行する、請求項1ないし6のいずれか1項に記載の情報処理システム。
The information processing system is connected to an external system having a plurality of external programs that respectively execute predetermined processes.
The process execution means includes
The series of processes using the electronic data is executed in combination with the one or more programs and the external program based on information regarding the series of processes. The information processing system described.
前記処理実行手段は、
前記一連の処理に含まれる一の処理が前記外部プログラムにより実行される処理か否かを判定する判定手段を有し、
前記判定手段により前記一の処理が前記外部プログラムにより実行される処理であると判定された場合、該外部プログラムによる処理を前記外部システムに要求する、請求項7に記載の情報処理システム。
The process execution means includes
Determining means for determining whether one process included in the series of processes is a process executed by the external program;
The information processing system according to claim 7, wherein when the determination unit determines that the one process is a process executed by the external program, the information processing system requests the external system to perform a process based on the external program.
前記処理実行手段により実行された前記一連の処理の結果を、前記一の機器に送信する送信手段を有する、請求項1ないし8のいずれか1項に記載の情報処理システム。   9. The information processing system according to claim 1, further comprising: a transmission unit configured to transmit a result of the series of processes executed by the process execution unit to the one device. 前記アプリケーションは、前記一の機器から送信された電子データを前記外部サービスに対してアップロードするアプリケーションを少なくとも含む、請求項1ないし9のいずれか1項に記載の情報処理システム。   The information processing system according to any one of claims 1 to 9, wherein the application includes at least an application that uploads electronic data transmitted from the one device to the external service. 前記アプリケーションは、前記外部サービスに蓄積されている電子データをダウンロードして前記一の機器に送信するアプリケーションを少なくとも含む、請求項9に記載の情報処理システム。   The information processing system according to claim 9, wherein the application includes at least an application that downloads electronic data stored in the external service and transmits the electronic data to the one device. 前記送信手段は、前記外部サービスからダウンロードした電子データを、前記一連の処理の結果として前記一の機器に送信する、請求項11に記載の情報処理システム。   The information processing system according to claim 11, wherein the transmission unit transmits electronic data downloaded from the external service to the one device as a result of the series of processes. 所定の処理をそれぞれ実行する複数のプログラムを有する情報処理装置であって、
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別する識別情報と、該一連の処理を前記プログラムを組み合わせて実行するための一連の処理に関する情報とを関連付けて記憶する記憶手段と、
前記情報処理装置に接続される1以上の機器のうちの一の機器から前記識別情報と、前記一連の処理に用いる電子データに関する情報とを含む要求を受け付ける受付手段と、
前記受付手段により受け付けた前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を、前記要求に含まれる前記識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づいて、前記複数のプログラムのうちの1以上のプログラムを組み合わせて実行する処理実行手段と
を有する情報処理装置。
An information processing apparatus having a plurality of programs for executing predetermined processes,
For each application that executes a series of processes using electronic data in cooperation with an external service, identification information for identifying the application, information on a series of processes for executing the series of processes in combination with the program, Storage means for associating and storing
A receiving unit that receives a request including the identification information and information related to electronic data used for the series of processes from one of the one or more devices connected to the information processing apparatus;
The series of processes using electronic data based on information about the electronic data included in the request received by the receiving unit is stored in the storage unit in association with the identification information included in the request. An information processing apparatus comprising: a process execution unit that executes a combination of one or more of the plurality of programs based on information related to the process.
1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別する識別情報と、該一連の処理を前記プログラムを組み合わせて実行するための一連の処理に関する情報とを関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法において、
前記情報処理システムに接続される1以上の機器のうちの一の機器から前記識別情報と、前記一連の処理に用いる電子データに関する情報とを含む要求を受け付ける受付手順と、
前記受付手順により受け付けた前記要求に含まれる前記電子データに関する情報に基づく電子データを用いた前記一連の処理を、前記要求に含まれる前記識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づいて、前記複数のプログラムのうちの1以上のプログラムを組み合わせて実行する処理実行手順と
を有する情報処理方法。
An information processing system that includes one or more information processing apparatuses and includes a plurality of programs that respectively execute predetermined processing, and for each application that executes a series of processing using electronic data in cooperation with an external service, In an information processing method used in an information processing system having a storage unit that associates and stores identification information for identifying an application and information related to a series of processes for executing the series of processes in combination with the program,
A reception procedure for receiving a request including the identification information and information on electronic data used for the series of processes from one of the one or more devices connected to the information processing system;
The series of processes using electronic data based on information about the electronic data included in the request received by the reception procedure is stored in the storage unit in association with the identification information included in the request. And a process execution procedure for executing a combination of one or more of the plurality of programs based on information related to the process.
JP2015222330A 2015-02-16 2015-11-12 Information processing system, information processing apparatus, and information processing method Active JP6690196B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/042,492 US10122870B2 (en) 2015-02-16 2016-02-12 Information processing system, information processing apparatus, and information processing method
EP16155705.3A EP3057303B1 (en) 2015-02-16 2016-02-15 Information processing system, information processing apparatus, and information processing method
EP20170721.3A EP3739862B1 (en) 2015-02-16 2016-02-15 Information processing system, information processing apparatus, and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015027292 2015-02-16
JP2015027292 2015-02-16

Publications (2)

Publication Number Publication Date
JP2016154000A true JP2016154000A (en) 2016-08-25
JP6690196B2 JP6690196B2 (en) 2020-04-28

Family

ID=56760543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015222330A Active JP6690196B2 (en) 2015-02-16 2015-11-12 Information processing system, information processing apparatus, and information processing method

Country Status (1)

Country Link
JP (1) JP6690196B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9961225B2 (en) 2016-02-05 2018-05-01 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10250771B2 (en) 2016-05-27 2019-04-02 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10348926B2 (en) 2016-01-20 2019-07-09 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10372485B2 (en) 2015-10-14 2019-08-06 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and recording medium
US10445489B2 (en) 2015-09-18 2019-10-15 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
US10516791B2 (en) 2016-03-04 2019-12-24 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
US10616434B2 (en) 2016-02-05 2020-04-07 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10725832B2 (en) 2015-10-30 2020-07-28 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and information processing program
US10768975B2 (en) 2016-03-04 2020-09-08 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
JP2021108442A (en) * 2019-12-27 2021-07-29 株式会社リコー Service providing system, information processing system, information processing method, and program
US11150941B2 (en) 2015-10-14 2021-10-19 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and recording medium for handling process flow information
US11310372B2 (en) 2019-12-27 2022-04-19 Ricoh Company, Ltd. Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system
US11350011B2 (en) 2020-02-14 2022-05-31 Ricoh Company, Ltd. Device, process execution system, process execution method, and non-transitory recording medium
US11748173B2 (en) 2019-07-19 2023-09-05 Ricoh Company, Ltd. Information processing system, information processing method, and storage medium for controlling virtual server that executes program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127066A (en) * 2012-12-27 2014-07-07 Ricoh Co Ltd Information processor, information processing system, and program
US20140223124A1 (en) * 2013-02-06 2014-08-07 Ricoh Company. Ltd. Information processing system and method
US20140289798A1 (en) * 2013-03-21 2014-09-25 Fuji Xerox Co., Ltd. Information processing apparatus, communication system, and computer-readable medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127066A (en) * 2012-12-27 2014-07-07 Ricoh Co Ltd Information processor, information processing system, and program
US20140223124A1 (en) * 2013-02-06 2014-08-07 Ricoh Company. Ltd. Information processing system and method
JP2014170525A (en) * 2013-02-06 2014-09-18 Ricoh Co Ltd Information process system
US20140289798A1 (en) * 2013-03-21 2014-09-25 Fuji Xerox Co., Ltd. Information processing apparatus, communication system, and computer-readable medium
JP2014182710A (en) * 2013-03-21 2014-09-29 Fuji Xerox Co Ltd Information processing apparatus, communication system and program

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445489B2 (en) 2015-09-18 2019-10-15 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method for processing information
US11150941B2 (en) 2015-10-14 2021-10-19 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and recording medium for handling process flow information
US10372485B2 (en) 2015-10-14 2019-08-06 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and recording medium
US10725832B2 (en) 2015-10-30 2020-07-28 Ricoh Company, Ltd. Information processing system, information processing apparatus, method for processing information, and information processing program
US10348926B2 (en) 2016-01-20 2019-07-09 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US11070697B2 (en) 2016-02-05 2021-07-20 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10367962B2 (en) 2016-02-05 2019-07-30 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US9961225B2 (en) 2016-02-05 2018-05-01 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10616434B2 (en) 2016-02-05 2020-04-07 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10768975B2 (en) 2016-03-04 2020-09-08 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10516791B2 (en) 2016-03-04 2019-12-24 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
US10250771B2 (en) 2016-05-27 2019-04-02 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US11748173B2 (en) 2019-07-19 2023-09-05 Ricoh Company, Ltd. Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP2021108442A (en) * 2019-12-27 2021-07-29 株式会社リコー Service providing system, information processing system, information processing method, and program
JP7044122B2 (en) 2019-12-27 2022-03-30 株式会社リコー Service provision system, information processing system, information processing method, program
US11310372B2 (en) 2019-12-27 2022-04-19 Ricoh Company, Ltd. Service providing system, information processing system, and information processing method for transmitting data to application with authority to store in external service system
US11350011B2 (en) 2020-02-14 2022-05-31 Ricoh Company, Ltd. Device, process execution system, process execution method, and non-transitory recording medium

Also Published As

Publication number Publication date
JP6690196B2 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6690196B2 (en) Information processing system, information processing apparatus, and information processing method
EP3739862B1 (en) Information processing system, information processing apparatus, and information processing method
US10250771B2 (en) Information processing system, information processing apparatus, and information processing method
JP6859620B2 (en) Information processing system, information processing device, information processing method, and information processing program
EP3543851A1 (en) Setup system, method, and computer-readable medium for multifunction peripheral devices for parameter-based integration of external services
JP2018037746A (en) Information processing system, information processor, and information processing method
JP4090806B2 (en) Image information processing apparatus and application installation method
JP2017142766A (en) Information processing system, information processing apparatus, and information processing method
JP2019160163A (en) Information processing system, method for processing information, and program
US10572580B2 (en) Information processing apparatus, information processing method and information processing system
US9244637B2 (en) Server apparatus, communication apparatus, and computer-readable medium storing programs therefor
JP6780364B2 (en) Information processing system, information processing device, and information processing method
US10992824B2 (en) Information processing system, processing execution method, and service providing system
JP2017033218A (en) Information processing system, information processing device, and information processing method
JP4500333B2 (en) Image information processing apparatus, installation method, program, and recording medium
JP6900864B2 (en) Information processing system, information processing device and information processing method
JP7167541B2 (en) Information processing system, information processing method, and program
JP4340704B2 (en) Image information processing apparatus and application installation method
JP7444208B2 (en) Information processing system, information processing device, information processing method, and program
JP6673047B2 (en) Information processing system, information processing apparatus, and information processing method
JP5655726B2 (en) Image information processing apparatus, image information processing system, image information processing method, program, and recording medium
JP6753489B2 (en) Information processing system, information processing device, information processing method, and program
JP2017041669A (en) Information processing system, information processing apparatus, and information processing method
JP6536308B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP5858089B2 (en) Image information processing apparatus, image information processing system, image information processing method, program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R151 Written notification of patent or utility model registration

Ref document number: 6690196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151