JP2021005349A - Information processing system, service providing system, method, and program - Google Patents
Information processing system, service providing system, method, and program Download PDFInfo
- Publication number
- JP2021005349A JP2021005349A JP2019120428A JP2019120428A JP2021005349A JP 2021005349 A JP2021005349 A JP 2021005349A JP 2019120428 A JP2019120428 A JP 2019120428A JP 2019120428 A JP2019120428 A JP 2019120428A JP 2021005349 A JP2021005349 A JP 2021005349A
- Authority
- JP
- Japan
- Prior art keywords
- application
- component
- information
- unit
- service providing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、情報処理システム、サービス提供システム、方法、およびプログラムに関する。 The present invention relates to information processing systems, service providing systems, methods, and programs.
近年、複数の機能(例えば、スキャンやプリント、メール配信等)を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル(画像ファイル)に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する1以上の処理が一連の処理として実行されることにより実現される。 In recent years, services that provide functions that combine a plurality of functions (for example, scanning, printing, mail delivery, etc.) have become known. For example, there is known a service in which an electronic file (image file) generated by scanning is subjected to predetermined processing and then delivered by e-mail. Such a service is realized by executing one or more processes that realize each function as a series of processes.
このような一連の処理を実行させるためのアプリケーションの開発を支援するためのシステム等が開示されている(例えば特許文献1参照)。 A system and the like for supporting the development of an application for executing such a series of processes are disclosed (see, for example, Patent Document 1).
しかしながら、上記の従来技術では、アプリケーションの開発者がアプリ設定をアップデートするたびに既存の設定値が上書きされるため、過去に作成したアプリ設定に簡単に戻ることはできない。また、アプリケーションが利用しているコンポーネント(具体的には、一連の処理に含まれる各処理を実行するためのプログラムやモジュール等)のバージョンが、アプリ設定として記録されていない。 However, in the above-mentioned conventional technology, the existing setting value is overwritten every time the application developer updates the application setting, so that it is not possible to easily return to the application setting created in the past. In addition, the version of the component used by the application (specifically, the program or module for executing each process included in the series of processes) is not recorded as the application setting.
アプリケーションは最新バージョンのコンポーネントを利用しているため、開発者がコンポーネントをバージョンアップすると、コンポーネントのバージョンアップによる予期せぬエラーがアプリケーションに起こってしまう可能性がある。 Since the application uses the latest version of the component, when the developer upgrades the component, an unexpected error due to the component version upgrade may occur in the application.
本発明の一実施形態は、上記の点に鑑みてなされたもので、アプリケーションの開発を支援することを目的とする。 One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to support the development of an application.
上記目的を達成するため、本発明の一実施形態は、一連の処理を実行させるためのアプリケーションを有するサービス提供システムと、前記一連の処理に含まれる各処理を実行するためのコンポーネントの更新を要求する端末と、を含み、前記端末から前記コンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と、を備える。 In order to achieve the above object, one embodiment of the present invention requires an update of a service providing system having an application for executing a series of processes and a component for executing each process included in the series of processes. When a request for updating the component is acquired from the terminal including the terminal to be used, the determination unit and the application setting information for determining whether or not the application setting information of the application should be modified are modified. If it should be done, it includes an automatic correction unit that corrects the application setting information and updates the application.
本発明の一実施形態によれば、アプリケーションの開発を支援することができる。 According to one embodiment of the present invention, it is possible to support the development of an application.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、図1を参照しながら説明する。図1は、本発明の一実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
<System configuration>
First, the system configuration of the
図1に示す情報処理システム1は、サービス提供システム10と、機器20と、PC端末30とを含み、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
The
サービス提供システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、種々の機能をそれぞれ実現する複数の処理のうちの1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。
The
ここで、機能とは、文書ファイルや画像ファイル等の電子ファイルに関する機能である。機能には、例えば、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR(Optical character recognition)処理、加工や圧縮・解凍、リポジトリへの格納等が挙げられる。 Here, the function is a function related to an electronic file such as a document file or an image file. Functions include, for example, printing, scanning, facsimile transmission, data format conversion, mail delivery, OCR (Optical character recognition) processing, processing, compression / decompression, and storage in a repository.
本実施形態に係るサービス提供システム10が提供するサービスの具体例については後述する。なお、以降では、一連の処理を「処理フロー」とも表す。
A specific example of the service provided by the
機器20は、ユーザが使用する各種の電子機器である。すなわち、機器20は、例えば、MFP(Multifunction Peripheral)等の画像形成装置、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器20を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
The
なお、以降では、複数の機器20について、各々を区別するときは、「機器201」、「機器202」等と添え字を用いて記載する。
In the following, a plurality of
PC端末30は、例えば、ユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。ユーザは、PC端末30を用いて、サービス提供システム10が提供する各種のサービスを利用することができる。
The
なお、以降では、複数のPC端末30について、各々を区別するときは、「PC端末301」、「PC端末302」等と添え字を用いて記載する。
In the following, when distinguishing each of the plurality of
また、図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。例えば、本実施形態に係る情報処理システム1には、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサービス提供システム10により提供される各種サービスを利用しても良い。
Further, the configuration of the
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるサービス提供システム10及びPC端末30のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の一実施形態に係るサービス提供システム10及びPC端末30の一例のハードウェア構成を示す図である。なお、サービス提供システム10及びPC端末30は、同様のハードウェア構成を有しているため、以降では、主に、サービス提供システム10のハードウェア構成について説明する。
<Hardware configuration>
Next, the hardware configurations of the
図2に示すサービス提供システム10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14とを有する。また、サービス提供システム10は、ROM(Read Only Memory)15と、CPU(Central Processing Unit)16と、通信I/F17と、HDD(Hard Disk Drive)18とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
The
入力装置11は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置12は、ディスプレイ等を含み、サービス提供システム10による処理結果を表示する。なお、入力装置11及び表示装置12の少なくとも一方は、必要なときにサービス提供システム10に接続して利用する形態であっても良い。
The
通信I/F17は、サービス提供システム10をネットワークN1に接続するインタフェースである。これにより、サービス提供システム10は、通信I/F17を介して通信を行うことができる。
The communication I /
HDD18は、プログラムやデータを格納している不揮発性の記憶装置である。HDD18に格納されるプログラムやデータには、サービス提供システム10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
The HDD 18 is a non-volatile storage device that stores programs and data. The programs and data stored in the HDD 18 include an OS (Operating System), which is basic software that controls the entire
なお、サービス提供システム10は、HDD18に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDBにより管理している。
The
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、サービス提供システム10は、外部I/F13を介して記録媒体13aの読み取りや書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The external I /
ROM15は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15には、サービス提供システム10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM14は、プログラムやデータを一時保持する揮発性の半導体メモリである。
The
CPU16は、ROM15やHDD18等の記憶装置からプログラムやデータをRAM14上に読み出し、処理を実行することで、サービス提供システム10全体の制御や機能を実現する演算装置である。
The
本実施形態に係るサービス提供システム10及びPC端末30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
By having the hardware configuration shown in FIG. 2, the
次に、本実施形態に係る情報処理システム1に含まれる機器20が画像形成装置である場合のハードウェア構成について、図3を参照しながら説明する。図3は、本発明の一実施形態に係る機器20の一例のハードウェア構成を示す図である。
Next, the hardware configuration when the
図3は、MFPのハードウェア構成図である。図3に示されているように、MFP(Multifunction Peripheral/Product/Printer)20は、コントローラ21、近距離通信回路22、エンジン制御部23、操作パネル24、ネットワークI/F25を備えている。
FIG. 3 is a hardware configuration diagram of the MFP. As shown in FIG. 3, the MFP (Multifunction Peripheral / Product / Printer) 20 includes a
これらのうち、コントローラ21は、コンピュータの主要部であるCPU31、システムメモリ(MEM−P)32、ノースブリッジ(NB)33、サウスブリッジ(SB)34、ASIC(Application Specific Integrated Circuit)36、記憶部であるローカルメモリ(MEM−C)37、HDDコントローラ38、及び、記憶部であるHD39を有し、NB33とASIC36との間をAGP(Accelerated Graphics Port)バス41で接続した構成となっている。
Of these, the
これらのうち、CPU31は、MFP20の全体制御を行う制御部である。NB33は、CPU31と、MEM−P32、SB34、及びAGPバス41とを接続するためのブリッジであり、MEM−P32に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
Of these, the
MEM−P32は、コントローラ21の各機能を実現させるプログラムやデータの格納用メモリであるROM32a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM32bとからなる。なお、RAM32bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
The MEM-P32 includes a ROM 32a that is a memory for storing programs and data that realizes each function of the
SB34は、NB33とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC36は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス41、PCIバス42、HDD38およびMEM−C37をそれぞれ接続するブリッジの役割を有する。このASIC36は、PCIターゲットおよびAGPマスタ、ASIC36の中核をなすアービタ(ARB)、MEM−C37を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部51及びプリンタ部52との間でPCIバス42を介したデータ転送を行うPCIユニットとからなる。なお、ASIC36には、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。
The SB34 is a bridge for connecting the NB33 to a PCI device and peripheral devices. The
MEM−C37は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD39は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD39は、CPU31の制御にしたがってHD39に対するデータの読出又は書込を制御する。AGPバス41は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM−P32に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
The MEM-C37 is a local memory used as a copy image buffer and a code buffer. The HD39 is a storage for accumulating image data, accumulating font data used at the time of printing, and accumulating forms. The
また、近距離通信回路22には、近距離通信回路22aが備わっている。近距離通信回路22は、NFC、Bluetooth(登録商標)等の通信回路である。
Further, the short-
更に、エンジン制御部23は、スキャナ部51及びプリンタ部52によって構成されている。また、操作パネル24は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部24a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作パネル24bを備えている。コントローラ21は、MFP20全体の制御を行い、例えば、描画、通信、操作パネル24からの入力等を制御する。スキャナ部51又はプリンタ部52には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
Further, the
なお、MFP20は、操作パネル24のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、およびファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
The
また、ネットワークI/F25は、通信ネットワークN1を利用してデータ通信をするためのインターフェースである。近距離通信回路22及びネットワークI/F25は、PCIバス42を介して、ASIC36に電気的に接続されている。
Further, the network I / F25 is an interface for performing data communication using the communication network N1. The short-
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
By having the hardware configuration shown in FIG. 3, the
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
<Services provided by the service provision system>
Here, the service provided by the
本実施形態では、機器20において原稿をスキャンすることにより生成された電子ファイル(画像ファイル)にOCR処理を行った上で、所定の言語に翻訳して、メール配信するサービスを「スキャン翻訳サービス」と表す。そして、本実施形態では、サービス提供システム10がスキャン翻訳サービスを提供する場合について説明する。
In the present embodiment, a service in which an electronic file (image file) generated by scanning a document in the
ここで、サービス提供システム10がスキャン翻訳サービスを提供するには、機器20がスキャン翻訳サービスを利用するためのアプリケーション(後述するアプリ情報1000)をサービス提供システム10に登録する必要がある。
Here, in order for the
したがって、本実施形態では、スキャン翻訳サービスを利用するためのアプリケーションをPC端末30が登録する場合と、当該アプリケーションを用いてスキャン翻訳サービスを機器20が利用する場合とについて説明する。
Therefore, in the present embodiment, a case where the
ただし、サービス提供システム10により提供されるサービスは、これらに限られない。サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルを暗号化した上で、メール配信するサービスを提供するサービスを提供しても良い。
However, the services provided by the
同様に、サービス提供システム10は、例えば、機器20において原稿をスキャンすることにより生成された電子ファイルに所定の情報を付加した上で、FAX送信するサービスを提供しても良い。
Similarly, the
<機能構成>
[第一の実施形態]
次に、本実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。図4は、本発明の一実施形態に係る情報処理システムの一例の機能構成を示す図である。
<Functional configuration>
[First Embodiment]
Next, the functional configuration of the
図4に示すPC端末30は、例えばCPU16等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「スキャン翻訳サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10に登録することができる。
The
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「スキャン翻訳サービス」等の各種サービスを利用することができる。すなわち、機器20は、ブラウザ210を有していれば良く、例えば、サービス提供システム10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
The
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、ポータルサービス部140とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
The
また、サービス提供システム10は、アプリ情報記憶部150と、アプリ画面情報記憶部160と、ポータル画面情報記憶部170とを有する。これら各記憶部は、HDD18を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つの記憶部が、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
Further, the
入出力サービス処理部110は、サービス提供システム10が提供するサービスに関する処理を行う。ここで、入出力サービス処理部110は、アプリ管理部111と、ロジック処理部112とを有する。
The input / output
アプリ管理部111は、アプリ情報記憶部150に記憶されているアプリ情報1000を管理する。なお、アプリ情報1000とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、サービス提供システム10が提供する各種サービスは、アプリ情報1000により提供される。
The
また、アプリ管理部111は、ロジック処理部112からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100を返信する。なお、処理フロー情報1100とは、アプリ情報1000により提供されるサービスを実現する一連の処理が定義された情報である。
Further, the
更に、アプリ管理部111は、ポータルサービス部140からの要求に応じて、アプリ情報1000をアプリ情報記憶部150に記憶させる。これにより、サービスを提供するアプリ情報1000(アプリケーション)がサービス提供システム10に登録される。
Further, the
ロジック処理部112は、Webサービス処理部120からの要求に応じて、アプリ情報1000に含まれる処理フロー情報1100をアプリ管理部111から取得する。そして、ロジック処理部112は、アプリ管理部111から取得した処理フロー情報1100に基づいて、当該アプリ情報1000が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システムは、「スキャン翻訳サービス」等の各種サービスを提供することができる。なお、ロジック処理部112の詳細については後述する。
The
Webサービス処理部120は、ユーザが機器20のブラウザ210を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部120は、ブラウザ210に対してWebアプリケーション(アプリ情報1000)を提供するアプリケーションサーバとして機能する。ここで、Webサービス処理部120は、画面構成部121と、アプリ実行部122とを有する。
The Web
画面構成部121は、ブラウザ210からの要求に応じて、アプリ画面情報記憶部160に記憶されているアプリ画面情報2000と、アプリ情報記憶部150に記憶されているアプリ情報1000に含まれるアプリ設定情報1200とを返信する。
In response to a request from the
なお、アプリ画面情報2000とは、アプリ情報1000により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報2000は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)等でアプリ画面の雛形が定義された情報である。
The
また、アプリ設定情報1200は、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。例えば、アプリ設定情報1200には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報やデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報1200には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目やアプリ画面における表示情報(例えば、アプリケーション名)等が定義されている。アプリ設定情報1200は、例えば、JSON(JavaScript Object Notation)等でアプリケーションの各種設定が定義された情報である。
Further, the
これにより、機器20には、ブラウザ210により、サービス提供システム10が提供するサービスを利用するためのアプリ画面が表示される。
As a result, the
アプリ実行部122は、ブラウザ210からの要求に応じて、入出力サービス処理部110に対して、アプリケーション(アプリ情報1000)の実行要求を送信する。
The
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ここで、ドキュメントサービス部130は、OCR処理部131と、メール配信部132とを有する。
The
OCR処理部131は、電子ファイルに対してOCR処理を行う。メール配信部132は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。
The
なお、ドキュメントサービス部130には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていても良い。
In addition to these, the
ポータルサービス部140は、ユーザがPC端末30のブラウザ310を用いてアプリケーションの登録等を行うための処理を行う。ここで、ポータルサービス部140は、UI提供部141と、アプリ登録部142とを有する。
The
UI提供部141は、ブラウザ310からの要求に応じて、ポータル画面情報記憶部170に記憶されているポータル画面情報3000を返信する。ここで、ポータルとは、ブラウザ310を用いて、アプリケーションの登録等を行うことができるWebサイトである。
The
なお、ポータル画面情報3000とは、ポータルのトップ画面(ポータルトップ画面)やアプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報3000は、例えば、HTML、XML、CSS、JavaScript等のブラウザ210で各種画面が定義された情報である。
The
これにより、PC端末30には、ブラウザ310により、ポータルトップ画面やアプリケーション登録画面が表示される。したがって、PC端末30のユーザは、アプリケーション登録画面において、アプリケーション(アプリ情報1000)の登録操作を行うことができる。
As a result, the portal top screen and the application registration screen are displayed on the
アプリ登録部142は、UI提供部141からの要求に応じて、アプリケーション(アプリ情報1000)の登録をアプリ管理部111に要求する。すなわち、アプリ登録部142は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部111に要求する。
The
アプリ情報記憶部150は、アプリ情報1000を記憶する。アプリ情報1000は、当該アプリ情報1000を識別するアプリIDと関連付けてアプリ情報記憶部150に記憶されている。なお、アプリIDは、例えば、アプリ情報1000のURL(Uniform Resource Locator)、又はアプリ情報1000のURLに含まれる識別情報等である。
The application
ここで、アプリ情報1000には、処理フロー情報1100と、アプリ設定情報1200とが含まれる。例えば、スキャン翻訳サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理が定義された処理フロー情報1100と、当該アプリ情報1000の各種設定が定義されたアプリ設定情報1200とが含まれる。以降では、スキャン翻訳サービスを提供するアプリ情報1000を「スキャン翻訳アプリケーション」とも表す。
Here, the
なお、アプリ情報1000には、2以上の処理フロー情報1100と、2以上のアプリ設定情報1200とが含まれていても良い。
The
処理フロー情報1100は、上述したように、アプリ情報1000により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。なお、処理フロー情報1100の詳細については後述する。
As described above, the
また、アプリ設定情報1200は、上述したように、アプリケーション(アプリ情報1000)の各種設定が定義された情報である。なお、アプリ設定情報1200の詳細については後述する。
Further, the
アプリ画面情報記憶部160は、アプリ画面情報2000を記憶する。アプリ画面情報2000は、アプリIDと関連付けてアプリ画面情報記憶部160に記憶されている。
The application screen
ポータル画面情報記憶部170は、ポータル画面情報3000を記憶する。ポータル画面情報3000は、ポータルトップ画面やアプリケーション登録画面等のURLと関連付けてポータル画面情報記憶部170に記憶されている。
The portal screen
なお、入出力サービス処理部110、Webサービス処理部120、ドキュメントサービス部130、及びポータルサービス部140等は、それぞれが異なる情報処理装置により実現されていても良い。
The input / output
ここで、ロジック処理部112の詳細な機能構成について、図5を参照しながら説明する。図5は、本実施形態に係るロジック処理部112の一例の機能構成を示す図である。
Here, the detailed functional configuration of the
図5に示すロジック処理部112は、フロー実行部301と、コンポーネント管理部302と、コンポーネント群303と、型変換管理部304と、型変換群305とを有する。また、ロジック処理部112は、型変換情報テーブル4000を有する。
The
フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、当該実行要求に対応する処理フロー情報1100をアプリ管理部111から取得する。そして、フロー実行部301は、アプリ管理部111から取得した処理フロー情報1100に基づく一連の処理(処理フロー)を実行する。
When the
ここで、処理フロー情報1100に基づく一連の処理は、当該一連の処理に含まれる各処理を実行するためのコンポーネントを組み合わせることにより実行される。なお、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。
Here, a series of processes based on the
コンポーネント管理部302は、コンポーネントを管理する。コンポーネント管理部302は、フロー実行部301からの要求に応じて、コンポーネントを生成すると共に、生成したコンポーネントをフロー実行部301に返信する。なお、コンポーネントの生成とは、例えばクラスや関数等で定義されたコンポーネントを、メモリ(例えばRAM14)上に展開することである。
The
コンポーネント群303は、コンポーネントの集合である。コンポーネント群303には、OCRコンポーネント1310と、翻訳コンポーネント1320と、メール配信コンポーネント1330と、コードコンポーネント1340と、スタンプコンポーネント1350とが含まれる。
The
OCRコンポーネント1310は、電子ファイル(画像ファイル)をOCR処理するためのコンポーネントである。OCRコンポーネント1310は、ドキュメントサービス部130のOCR処理部131にOCR処理を要求することにより、電子ファイルのOCR処理を行う。
The
翻訳コンポーネント1320は、テキストファイル等の電子ファイルにおいて、所定の言語で記載されている文書を他の言語に翻訳するためのコンポーネントである。
The
メール配信コンポーネント1330は、指定されたメールアドレス宛にメール配信するためのコンポーネントである。メール配信コンポーネント1330は、ドキュメントサービス部130のメール配信部132にメール配信処理を要求することにより、指定されたメールアドレス宛にメールを配信する。
The
コードコンポーネント1340は、パラメータとして指定された情報(例えば文字列)が埋め込まれたQRコード(登録商標)を作成するためのコンポーネントである。なお、コードコンポーネント1340は、QRコードに限られず、例えば、バーコード等の種々のコードを作成しても良い。
The
スタンプコンポーネント1350は、例えば画像ファイルやPDF(Portable Document Format)ファイル等の電子ファイルに対して、例えばQRコード等のコードを重畳させるためのコンポーネントである。
The
このように、各コンポーネントは、所定の機能を実現する処理を実行する。なお、コンポーネント群303には、上記のコンポーネント以外にも、例えば、電子ファイルの暗号化や復号を行うための暗号化・復号コンポーネント、電子ファイルを圧縮するための圧縮コンポーネント等の各種のコンポーネントが含まれる。
In this way, each component executes a process that realizes a predetermined function. In addition to the above components, the
また、コンポーネント群303に含まれる各コンポーネントは、コンポーネント共通I/F1300を有する。コンポーネント共通I/F1300は、各コンポーネントに対して共通に定義されたAPI(Application Programming Interface)であり、コンポーネントを生成するためのAPIと、コンポーネントの処理を実行するためのAPIとが含まれる。
Further, each component included in the
このように、各コンポーネントがコンポーネント共通I/F1300を有することで、コンポーネントの追加等に伴う影響を局所化することができる。すなわち、例えば、フロー実行部301やコンポーネント管理部302等に影響を与えることなく、コンポーネントの追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、所定の機能の追加等(すなわち、当該機能を実現する処理を実行するためのコンポーネントの追加等)に伴う開発工数を削減することができる。
In this way, since each component has the component common I /
型変換管理部304は、データ型の型変換を管理する。ここで、各コンポーネントは、自身が扱えるデータ型が予め決まっている。したがって、型変換管理部304は、コンポーネントからの要求に応じて、型変換情報テーブル4000を参照して、型変換群305に含まれる型変換を生成する。
The type
そして、型変換管理部304は、生成された型変換に型変換処理の実行を要求する。なお、型変換は、データ型の型変換処理を実行するプログラムやモジュール等により実現され、例えばクラスや関数等で定義される。また、型変換の生成とは、例えばクラスや関数等で定義された型変換を、メモリ(例えばRAM14上)に展開することである。
Then, the type
なお、データ型には、例えば、ストリームデータを示すデータ型「InputStream」、記憶装置等に格納されている電子ファイルのパス(アドレス)を示す「LocalFilePath」、及び電子ファイルの実体を示す「File」等が挙げられる。 The data types include, for example, the data type "InputStream" indicating stream data, "LocalFilePath" indicating the path (address) of an electronic file stored in a storage device, and "File" indicating the substance of the electronic file. And so on.
型変換群305は、型変換の集合である。型変換群305には、データ型「InputStream」を「LocalFilePath」に変換するための第1の型変換1410が含まれる。なお、型変換群305には、これ以外にも、例えば、データ型「LocalFilePath」を「File」に変換するための第2の型変換等が含まれる。
The
また、型変換群305に含まれる各型変換は、型変換共通I/F1400を有する。型変換共通I/F1400は、各型変換に対して共通に定義されたAPIであり、型変換を生成するためのAPIと、型変換の型変換処理を実行するためのAPIとが含まれる。
Further, each type conversion included in the
このように、各型変換が型変換共通I/F1400を有することで、型変換の追加等に伴う影響を局所化することができる。すなわち、例えば、型変換管理部304等に影響を与えることなく、型変換の追加等を行うことができる。これにより、本実施形態に係るサービス提供システム10では、型変換の追加等に伴う開発工数を削減することができる。
As described above, since each type conversion has the common I /
図6は、本発明の一実施形態に係るコンポーネント管理部302の一例の機能構成を示す図である。
FIG. 6 is a diagram showing a functional configuration of an example of the
コンポーネント管理部302は、コンポーネント判別部1321、既存コンポーネント
生成部1322、追加コンポーネント生成部1323、及びコンポーネント登録部1324、判断部1325を有する。
The
コンポーネント判別部1321は、フロー実行部301からのコンポーネントの取得要求に応じて、コンポーネント情報テーブル5000を参照し、当該取得要求に係るコンポーネントが、既存コンポーネント又は追加コンポーネントのいずれであるかを判別する。
The
ここで、既存コンポーネントとは、サービス提供システム10に予め組み込まれているコンポーネントのことを言う。一方、追加コンポーネントとは、ユーザがPC端末30を介して、コンポーネント情報テーブル5000に登録されたコンポーネントのことを言う。換言すれば、追加コンポーネントとは、ユーザにより開発等され、サービス提供システム10に追加されたコンポーネントのことである。
Here, the existing component refers to a component that is preliminarily incorporated in the
このように、本実施形態に係るサービス提供システム10では、ユーザにより開発等されたコンポーネントを追加することができる。このため、ユーザは、追加コンポーネントを用いて実現される一連の処理を処理内容として記述することができるため、様々なサービスを提供するアプリ情報1000を開発することができるようになる。
As described above, in the
既存コンポーネント生成部1322は、コンポーネント判別部1321によりコンポーネントの取得要求に係るコンポーネントが既存コンポーネントであると判別された場合、当該取得要求に係る既存コンポーネントを生成する。
When the
追加コンポーネント生成部1323は、コンポーネント判別部1321によりコンポーネントの取得要求に係るコンポーネントが追加コンポーネントであると判別された場合、当該取得要求に係る追加コンポーネントを生成する。
When the
コンポーネント登録部1324は、PC端末30のブラウザ310からの要求に応じて、追加コンポーネントをコンポーネント情報テーブル5000に登録する。また、コンポーネント登録部1324は、PC端末30のブラウザ310からの要求に応じて、コンポーネント情報テーブル5000に登録されている追加コンポーネントの更新や削除を行う。
The
ここで、コンポーネント情報テーブル5000について、図7を参照しながら説明する。図7は、本発明の一実施形態に係るコンポーネント情報テーブルの一例を示す図である。 Here, the component information table 5000 will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of a component information table according to an embodiment of the present invention.
図7に示すコンポーネント情報テーブル5000は、コンポーネント毎に、コンポーネントに関する情報(コンポーネント情報)を管理する。コンポーネント情報は、データ項目として、コンポーネント名、バージョン、パラメータ、及びファイルを有する。 The component information table 5000 shown in FIG. 7 manages information (component information) related to the component for each component. The component information has a component name, a version, a parameter, and a file as data items.
コンポーネント名は、コンポーネントの情報である。バージョンは、コンポーネントのバージョンである。各コンポーネントは、コンポーネント名及びバージョンにより一意に識別される。 The component name is the information of the component. The version is the version of the component. Each component is uniquely identified by the component name and version.
ファイルは、コンポーネントを生成するための電子ファイル(以降では、この電子ファイルを「生成ファイル」と表す。)が、例えばJAR(Java Archive)等のデータ形式で
格納される。したがって、本実施形態では、追加コンポーネントのコンポーネント情報のデータ項目「ファイル」には、当該追加コンポーネントの生成ファイルが格納される。一方で、既存コンポーネントのコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されない。
The file is an electronic file for generating a component (hereinafter, this electronic file is referred to as a "generated file"), and is stored in a data format such as JAR (Java Archive). Therefore, in the present embodiment, the generated file of the additional component is stored in the data item "file" of the component information of the additional component. On the other hand, the generated file is not stored in the data item "file" of the component information of the existing component.
より具体的には、図12に示すコンポーネント情報テーブル5000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報のデータ項目「ファイル」には、生成ファイルが格納されていない。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報のデータ項目「ファイル」には、コンポーネントの生成ファイルが格納されている。 More specifically, in the component information table 5000 shown in FIG. 12, the generated file is not stored in the data item "file" of the component information of the component name "ocrA" and the version "v1". On the other hand, the component generation file is stored in the data item "file" of the component information of the component name "ocrB" and the version "v2".
したがって、図12に示すコンポーネント情報テーブル5000において、コンポーネント名「ocrA」、バージョン「v1」のコンポーネント情報は、既存コンポーネントのコンポーネント情報である。一方で、コンポーネント名「ocrB」、バージョン「v2」のコンポーネント情報は、追加コンポーネントのコンポーネント情報である。 Therefore, in the component information table 5000 shown in FIG. 12, the component information of the component name "ocrA" and the version "v1" is the component information of the existing component. On the other hand, the component information of the component name "ocrB" and the version "v2" is the component information of the additional component.
このように、本発明の一実施形態では、コンポーネントがバージョンごとに記録されて保存されるため、ロールバックできるようになる。 As described above, in one embodiment of the present invention, the components are recorded and stored for each version, so that they can be rolled back.
図6の説明に戻る。判断部1325は、コンポーネントの更新(バージョンアップ)時にコンポーネント登録部1324からの要求に応じて、コンポーネントのインプットやアウトプットにおける破壊的なインタフェース変更があるか否かを判断する。インタフェース変更がある場合、判断部1325は、アプリケーションのアプリ設定情報1200を修正するようアプリ管理部111に要求する。
Returning to the description of FIG. The
このように、本発明の一実施形態では、開発者がコンポーネントを更新(バージョンアップ)したとき、コンポーネントのインプットやアウトプットにおける破壊的なインタフェース変更があるか否かがチェックされる。 As described above, in one embodiment of the present invention, when the developer updates (upgrades) the component, it is checked whether or not there is a destructive interface change in the input or output of the component.
図8は、本発明の一実施形態に係るアプリ管理部111の一例の機能構成を示す図である。
FIG. 8 is a diagram showing a functional configuration of an example of the
アプリ管理部111は、判別部1401、アプリ生成部1402、アプリ更新部1403、及び自動修正部1404、アプリ設定情報テーブル6000を有する。
The
それぞれについて説明する前に、アプリ情報1000内のアプリ設定情報1200について説明する。本発明の一実施形態では、アプリ情報1000内のアプリ設定情報1200は、アプリケーションが利用しているコンポーネントのバージョンの情報を含んでいる。
Before explaining each of them, the
判別部1401は、アプリ登録部142からの要求に応じて、当該要求がアプリケーションの生成(つまり、新規のアプリケーションの登録)又はアプリケーションの更新(つまり、既存のアプリケーションの更新)のいずれであるかを判別する。
In response to a request from the
アプリ生成部1402は、判別部1401により当該要求がアプリケーションの生成であると判別された場合、生成するアプリケーションのアプリ情報1000をアプリ情報記憶部150に登録する。アプリ生成部1402は、生成したアプリケーションのアプリ設定情報1200(上述のとおり、アプリケーションが利用しているコンポーネントのバージョンを含む)の更新履歴をアプリ設定情報テーブル6000に登録する。
When the
アプリ更新部1403は、判別部1401により当該要求がアプリケーションの更新であると判別された場合、更新するアプリケーションのアプリ情報1000をアプリ情報記憶部150に登録する。また、アプリ更新部1403は、自動修正部1404からの要求に応じて、当該要求に係るアプリケーションを更新する(詳細は後述する)。アプリ更新部1403は、更新したアプリケーションのアプリ設定情報1200(上述のとおり、アプリケーションが利用しているコンポーネントのバージョンを含む)の更新履歴をアプリ設定情報テーブル6000に登録する。
When the
自動修正部1404は、ロジック処理部112からの要求に応じて、アプリケーションのアプリ設定情報1200を修正する。具体的には、自動修正部1404は、更新(バージョンアップ)されたコンポーネントを利用しているアプリケーションのアプリ設定情報1200を修正する。また、自動修正部1404は、修正したアプリ設定情報1200を用いてアプリケーションを更新するようアプリ更新部1403に要求する。
The
このように、本発明の一実施形態では、開発者がコンポーネントを更新(バージョンアップ)したときに破壊的なインタフェース変更があった際、アプリケーションが動作できるようにアプリ設定の自動修正が行われる。 As described above, in one embodiment of the present invention, when a developer updates (upgrades) a component and there is a destructive interface change, the application setting is automatically modified so that the application can operate.
アプリ設定保管部1405には、アプリケーションのアプリ設定情報1200の更新履歴が登録されている。
The update history of the
このように、本発明の一実施形態では、アプリ設定(アプリケーションが利用しているコンポーネントのバージョンを含む)の履歴が記録されて保存されるため、ロールバックできるようになる。 As described above, in one embodiment of the present invention, the history of application settings (including the version of the component used by the application) is recorded and saved, so that it can be rolled back.
<処理の詳細>
図10は、本発明の一実施形態に係るアプリ設定の自動修正処理のシーケンス図である。
<Details of processing>
FIG. 10 is a sequence diagram of an automatic correction process of application settings according to an embodiment of the present invention.
ステップ1(S1)において、PC端末30は、新規コンポーネント(つまり、更新(バージョンアップ)するコンポーネント)の入力を受け付ける。そして、PC端末30は、新規コンポーネントのファイルをコンポーネント管理部302のコンポーネント登録部1324へ送信する。
In step 1 (S1), the
ステップ2(S2)において、コンポーネント登録部1324は、S1の新規コンポーネントを判断し、コンポーネント情報(例えば、図11のようなインタフェース定義)を取得する。
In step 2 (S2), the
ステップ3(S3)において、コンポーネント登録部1324は、S1の新規コンポーネントをチェックするよう判断部1325に要求する。この際、コンポーネント登録部1324は、新規コンポーネントのコンポーネント情報を判断部1325に渡す。
In step 3 (S3), the
ステップ4(S4)において、判断部1325は、S3の要求に応じて、コンポーネント情報テーブル5000を参照して、既存コンポーネント(つまり、更新される前のコンポーネント)のコンポーネント情報を取得する。
In step 4 (S4), the
ステップ5(S5)において、判断部1325は、S3で取得した新規コンポーネントのコンポーネント情報とS4で取得した既存コンポーネントのコンポーネント情報とに基づいて、アプリ設定情報1200が修正されるべきであるか否かを判断する。また、判断部1325は、どのアプリ設定情報1200がどのように修正されるべきであるかを判断する。
In step 5 (S5), the
ステップ6(S6)において、S5でアプリ設定情報1200が修正されるべきであると判断された場合、判断部1325は、アプリ設定情報1200を修正するよう自動修正部1404に要求する。
If it is determined in step 6 (S6) that the
ステップ7(S7)において、自動修正部1404は、S6の要求に基づいて、アプリ情報記憶部150から修正されるべきアプリ設定情報1200を取得する。
In step 7 (S7), the
ステップ8(S8)において、自動修正部1404は、S6の要求に基づいて、S7で取得したアプリ設定情報1200を修正する。
In step 8 (S8), the
ステップ9(S9)において、自動修正部1404は、S9で修正したアプリ設定情報1200を用いてアプリケーションを更新するようアプリ更新部1403に要求する。
In step 9 (S9), the
その後、アプリ更新部1403は、自動修正部1404が修正したアプリ設定情報1200をアプリ情報記憶部150に登録し、アプリ設定情報1200の更新履歴をアプリ設定情報テーブル6000に登録する。
After that, the
なお、ステップ10(S10)等の任意のタイミングで、コンポーネント登録部1324は、新規コンポーネントの情報(コンポーネントに関する情報やファイル)をコンポーネント情報テーブル5000に登録する。
At an arbitrary timing such as step 10 (S10), the
図11は、本発明の一実施形態に係るコンポーネントのインタフェース定義例である。図11では、メールを配信するコンポーネントのインタフェース定義の一例が記述されている。例えば、図11の定義ファイルでは、「to」パラメータの「type」は、「array[string]」である。 FIG. 11 is an example of interface definition of the component according to the embodiment of the present invention. In FIG. 11, an example of the interface definition of the component that delivers the mail is described. For example, in the definition file of FIG. 11, the “type” of the “to” parameter is “array [string]”.
図12は、本発明の一実施形態に係るアプリ設定の自動修正を説明するための図である。例えば、コンポーネントが更新(バージョンアップ)されることによって、図11の定義ファイルの「to」パラメータの「type」が「array[string]」から「string」へ変更になったとする。そうすると、判断部1325は、コンポーネントの更新(バージョンアップ)により、破壊的なインタフェース変更があると判断して、アプリ設定情報1200を図12のように自動修正する。具体的には、「入力タイプ」を"複数テキストボックス"から"テキストボックス"へ変更する。
FIG. 12 is a diagram for explaining automatic modification of application settings according to an embodiment of the present invention. For example, suppose that the "type" of the "to" parameter in the definition file of FIG. 11 is changed from "array [string]" to "string" due to the update (version upgrade) of the component. Then, the
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、スキャン&プリントタイプのアプリケーションついて説明する。スキャン&プリントタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させて、当該実行結果を印刷させるタイプのアプリケーションである。スキャン&プリントタイプのアプリケーションには、例えば、スキャンにより生成された電子ファイルにQRコードを付与した後、当該QRコードが付与された電子ファイルを印刷するアプリケーション(QRコード印刷アプリケーション)が挙げられる。本実施形態では、QRコード印刷アプリケーションを用いて利用されるサービスを「QRコード印刷サービス」と表す。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, a scan & print type application will be described. The scan & print type is an application of a type in which an image forming apparatus or the like executes a series of processes in which an electronic file generated by scanning is input and prints the execution result. Examples of the scan & print type application include an application (QR code printing application) in which a QR code is attached to an electronic file generated by scanning and then the electronic file to which the QR code is attached is printed. In the present embodiment, the service used by using the QR code printing application is referred to as "QR code printing service".
これにより、本実施形態に係るサービス提供システム10は、QRコードが重畳された電子ファイルを機器20に送信することができる。そして、機器20で当該電子ファイルを印刷することで、QRコード印刷サービスをユーザ提供することができる。
As a result, the
[第三の実施形態]
次に、第三の実施形態について説明する。第三の実施形態では、メール受信タイプのアプリケーションについて説明する。メール受信タイプとは、所定のメールアドレス宛のメールを受信した場合に、一連の処理を実行させるタイプのアプリケーションである。言い換えれば、メール受信タイプのアプリケーションとは、メール受信をトリガとして一連の処理を実行させるアプリケーションである。
[Third Embodiment]
Next, the third embodiment will be described. In the third embodiment, a mail reception type application will be described. The mail reception type is an application of a type that executes a series of processes when a mail addressed to a predetermined mail address is received. In other words, an email reception type application is an application that executes a series of processes triggered by email reception.
なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the third embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.
<機能構成>
まず、第三の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the
サービス提供システム10は、更に、メールサービス部180を有する。メールサービス部180は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
The
メールサービス部180は、メール受信及び処理フローの実行に関する処理を行う。メールサービス部180は、メール受信部181と、処理実行部182とを有する。メール受信部181は、メールを受信する。そして、メール受信部181は、所定の記憶領域に記憶されているメール情報テーブル183を参照して、受信したメールの送信先メールアドレスに対応するフロー名の処理フローの実行を処理実行部182に要求する。
The
処理実行部182は、メール受信部181からの要求に応じて、ロジック処理部112にアプリケーションの実行を要求する。
The
ここで、メール情報テーブル183について、図9を参照しながら説明する。図9は、メール情報テーブル183の一例を示す図である。 Here, the mail information table 183 will be described with reference to FIG. FIG. 9 is a diagram showing an example of the mail information table 183.
図9に示すように、メール情報テーブル183は、メールアドレスと、フロー名とが対応付けられている。これにより、メール受信部181は、受信したメールの送信先メールアドレスに対応するフロー名をメール情報テーブル183から取得することができる。
As shown in FIG. 9, in the mail information table 183, the mail address and the flow name are associated with each other. As a result, the
以上により、本実施形態に係るサービス提供システム10は、予め登録されたメールアドレス宛のメールを受信した場合、当該メールアドレスに対応付けられたフロー名の処理フローにより実現されるサービスを提供することができる。
As described above, when the
[第四の実施形態]
次に、第四の実施形態について説明する。第四の実施形態では、コンポーネント又は処理フローに対して、1以上のパラメータが含まれるパラメータグループを設定する場合について説明する。コンポーネント又は処理フローに対してパラメータグループが設定されることで、ユーザは、アプリケーションの登録の際に、パラメータグループを選択するだけで、適切なパラメータを設定することができるようになる。
[Fourth Embodiment]
Next, a fourth embodiment will be described. In the fourth embodiment, a case where a parameter group including one or more parameters is set for the component or the processing flow will be described. By setting a parameter group for a component or a processing flow, the user can set an appropriate parameter simply by selecting the parameter group when registering the application.
これにより、パラメータの使用を正確に理解していなくもアプリケーションの開発を行うことができるようになる。すなわち、例えば、どのパラメータを、どの程度の値に設定すれば所望の結果を得ることができるのかをユーザが正確に理解していない場合であっても、アプリケーションを開発することができるようになる。 This allows you to develop applications without an accurate understanding of the use of parameters. That is, for example, an application can be developed even if the user does not accurately understand which parameter should be set to what value to obtain the desired result. ..
すなわち、本実施形態は、個々のパラメータの仕様を正確に理解していないユーザであっても、パラメータグループを選択することで、容易にアプリケーションの開発を行えるようにするものである。 That is, in the present embodiment, even a user who does not accurately understand the specifications of individual parameters can easily develop an application by selecting a parameter group.
なお、第四の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the fourth embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.
<機能構成>
まず、第四の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the
サービス提供システム10の入出力サービス処理部110は、更に、パラメータグループ管理部113を有する。また、サービス提供システム10は、パラメータグループ情報記憶部190を有する。パラメータグループ情報記憶部190は、HDD18を用いて実現可能である。なお、パラメータグループ情報記憶部190は、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
The input / output
パラメータグループ管理部113は、アプリ登録部142からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部190に記憶させる。また、パラメータグループ管理部113は、アプリ登録部142からの要求に応じて、パラメータグループ情報をパラメータグループ情報記憶部190から取得する。
The parameter
パラメータグループ情報記憶部190は、パラメータグループ情報を記憶する。パラメータグループ情報は、コンポーネント又は処理フローと、パラメータグループとが対応付けられた情報である。
The parameter group
以上により、本実施形態に係る情報処理システム1では、ユーザは、コンポーネントや処理フローに対してパラメータグループを登録することができる。また、本実施形態に係る情報処理システム1では、ユーザは、予め登録されたパラメータグループを利用して、アプリケーションの登録を行うことができる。このとき、ユーザは、予め登録されたパラメータグループの中から、所望のパラメータグループを選択するだけで、容易にアプリケーションのパラメータを設定することができる。
As described above, in the
[第五の実施形態]
次に、第五の実施形態について説明する。第五の実施形態では、アプリケーションのパラメータの設定値が入力される際のバリデーションを登録する場合について説明する。これにより、例えば、アプリケーションの利用時にパラメータの設定値を入力する際に、当該パラメータの設定値として使用不可能な値等が設定されてしまう事態を防止することができる。
[Fifth Embodiment]
Next, the fifth embodiment will be described. In the fifth embodiment, the case of registering the validation when the setting value of the parameter of the application is input will be described. As a result, for example, when a parameter setting value is input when the application is used, it is possible to prevent a situation in which an unusable value or the like is set as the parameter setting value.
以上により、本実施形態に係る情報処理システム1では、サービス提供システム10に登録されているバリデーション情報を利用して、アプリケーションに対してバリデーションを設定したり、バリデーション情報の編集等を行ったりすることができる。
As described above, in the
[第六の実施形態]
次に、第六の実施形態について説明する。第六の実施形態では、フォルダブラウズの処理フローを自動的に作成する場合について説明する。
[Sixth Embodiment]
Next, the sixth embodiment will be described. In the sixth embodiment, a case where a folder browsing process flow is automatically created will be described.
ファイルのダウンロードやアップロード等を行うアプリケーションでは、ファイルストレージサービス上のファイル又はフォルダのID等をパラメータとして入力する必要がある。このようなID等は、例えば、ファイルやフォルダをブラウジングしながら指定することができる。しかしながら、例えばアプリケーション開発の経験が少ないユーザは、このようなブラウジング用の処理フローを作成することが困難である場合がある。そこで、本実施形態では、ユーザがアプリケーションの登録時にパラメータの入力方法を指定するだけで、ファイル一覧やフォルダ一覧を取得するようなブラウズ用の処理フローを自動的に作成するものである。これにより、フォルダブラウズを行うアプリケーションを容易に開発することができるようになる。 In an application that downloads or uploads a file, it is necessary to input the ID of the file or folder on the file storage service as a parameter. Such IDs and the like can be specified, for example, while browsing files and folders. However, for example, a user who has little experience in application development may find it difficult to create such a processing flow for browsing. Therefore, in the present embodiment, the user simply specifies the parameter input method when registering the application, and the processing flow for browsing that acquires the file list or the folder list is automatically created. This makes it possible to easily develop an application that browses folders.
なお、第六の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同様の機能構成を有する箇所及び実質的に同様の処理を実行する箇所は、適宜、その説明を省略する。 In the sixth embodiment, the differences from the first embodiment will be mainly described, and the parts having substantially the same functional configuration as the first embodiment and substantially the same processing will be executed. The description thereof will be omitted as appropriate.
<機能構成>
まず、第六の実施形態に係る情報処理システム1の機能構成について、図4を参照しながら説明する。
<Functional configuration>
First, the functional configuration of the
サービス提供システム10の入出力サービス処理部110は、更に、フロー自動生成部114を有する。フロー自動生成部114は、アプリケーション登録時に、アプリ管理部111からの要求に応じて、パラメータの入力方法に対応する処理フロー情報1100を、処理フローテンプレートから生成する。処理フローテンプレートとは、処理フロー情報1100を作成するためのテンプレート(雛形)である。
The input / output
以上により、本実施形態に係る情報処理システム1では、パラメータの入力方法を指定するだけで、フォルダブラウズを行う処理フローを自動で生成することができる。これにより、ユーザは、フォルダブラウズによりパラメータの設定値を設定するアプリケーションを容易に作成することができるようになる。
As described above, in the
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above-described embodiment disclosed specifically, and various modifications and modifications can be made without departing from the scope of claims.
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。 Each function of the embodiment described above can be realized by one or more processing circuits. Here, the "processing circuit" in the present specification is a processor programmed to execute each function by software such as a processor implemented by an electronic circuit, or a processor designed to execute each function described above. It shall include devices such as ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules.
実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、サービス提供システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
The device group described in the examples is only one of a plurality of computing environments for implementing the embodiments disclosed herein. In certain embodiments, the
1 情報処理システム
10 サービス提供システム
20 機器
30 PC端末
110 入出力サービス処理部
111 アプリ管理部
112 ロジック処理部
120 Webサービス処理部
121 画面構成部
122 アプリ実行部
130 ドキュメントサービス部
131 OCR処理部
132 メール配信部
140 ポータルサービス部
141 UI提供部
142 アプリ登録部
150 アプリ情報記憶部
160 アプリ画面情報記憶部
170 ポータル画面情報記憶部
210 ブラウザ
310 ブラウザ
301 フロー実行部
302 コンポーネント管理部
303 コンポーネント群
304 型変換管理部
305 型変換群
1000 アプリ情報
1100 処理フロー情報
1200 アプリ設定情報
2000 アプリ画面情報
3000 ポータル画面情報
4000 型変換情報テーブル
1321 コンポーネント判別部
1322 既存コンポーネント生成部
1323 追加コンポーネント生成部
1324 コンポーネント登録部
1325 判断部
5000 コンポーネント情報テーブル
1401 判別部
1402 アプリ生成部
1403 アプリ更新部
1404 自動修正部
6000 アプリ設定情報テーブル
1
Claims (7)
前記端末から前記コンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と
を備えた情報処理システム。 A service providing system having an application for executing a series of processes, and a terminal requesting an update of a component for executing each process included in the series of processes are included.
When a request for updating the component is acquired from the terminal, a determination unit that determines whether or not the application setting information of the application should be modified, and a determination unit.
An information processing system including an automatic correction unit that corrects the application setting information and updates the application when the application setting information should be corrected.
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部と、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部と
を備えたサービス提供システム。 A service providing system that has an application for executing a series of processes.
When a request for updating a component for executing each process included in the series of processes is acquired, a determination unit that determines whether or not the application setting information of the application should be modified, and a determination unit.
A service providing system including an automatic correction unit that corrects the application setting information and updates the application when the application setting information should be corrected.
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断するステップと、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させるステップと
を含む方法。 It is a method executed by a service providing system having an application for executing a series of processes.
Upon obtaining a request to update the component for executing each process included in the series of processes, a step of determining whether or not the application setting information of the application should be modified, and
A method including a step of modifying the application setting information to update the application when the application setting information should be modified.
前記一連の処理に含まれる各処理を実行するためのコンポーネントを更新するよう求める要求を取得すると、前記アプリケーションのアプリ設定情報が修正されるべきか否かを判断する、判断部、
前記アプリ設定情報が修正されるべきである場合、前記アプリ設定情報を修正して前記アプリケーションを更新させる、自動修正部
として機能させるためのプログラム。 A service providing system that has an application for executing a series of processes,
When a request for updating a component for executing each process included in the series of processes is acquired, a determination unit that determines whether or not the application setting information of the application should be modified.
A program for modifying the application setting information and updating the application to function as an automatic correction unit when the application setting information should be modified.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019120428A JP2021005349A (en) | 2019-06-27 | 2019-06-27 | Information processing system, service providing system, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019120428A JP2021005349A (en) | 2019-06-27 | 2019-06-27 | Information processing system, service providing system, method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021005349A true JP2021005349A (en) | 2021-01-14 |
Family
ID=74098220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019120428A Withdrawn JP2021005349A (en) | 2019-06-27 | 2019-06-27 | Information processing system, service providing system, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021005349A (en) |
-
2019
- 2019-06-27 JP JP2019120428A patent/JP2021005349A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10750044B2 (en) | Information processing system, information processing apparatus, and method for processing information | |
US10356266B2 (en) | Information processing system, information processing apparatus, and method for processing information | |
US10122870B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US10630857B2 (en) | Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus | |
US10757286B2 (en) | Information processing system for performing a series of processes on electronic data | |
US10114940B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US10372485B2 (en) | Information processing system, information processing apparatus, method for processing information, and recording medium | |
US9794447B2 (en) | Service providing system, cooperation processing method, and information processing system | |
US20190303194A1 (en) | Information processing system, information processing apparatus, method for processing information, and recording medium | |
US10778862B2 (en) | Information processing system, information processing method, and computer-readable recording medium | |
US10530943B2 (en) | Information processing system configured to maintain application state information associated with an application, information processing apparatus, and information processing method | |
US10992831B2 (en) | Information processing system for setting dependency relationships for input items on a screen related to a process flow | |
US20140019859A1 (en) | System, information processing apparatus, and method of controlling display | |
US20180024787A1 (en) | Information processing system and information processing method | |
US20190289157A1 (en) | Information processing system, information processing method and non-transitory computer-readable storage medium | |
US20160072967A1 (en) | Information processor creating communication application, and computer-readable non-transitory recording medium storing application creation program for creating communication application | |
US11436299B2 (en) | Information processing system, server apparatus, and information processing method | |
US20220053050A1 (en) | Information processing system, process executing system, process executing method, and recording medium | |
US11748173B2 (en) | Information processing system, information processing method, and storage medium for controlling virtual server that executes program | |
JP7196600B2 (en) | Information processing system, server device, information processing method, and program | |
JP2021005349A (en) | Information processing system, service providing system, method, and program | |
US10567613B2 (en) | Information processing system, program, and requesting method | |
US20220300269A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US20210168130A1 (en) | Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium | |
JP6852591B2 (en) | I / O devices, programs and information processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220414 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20220804 |