JP6900864B2 - Information processing system, information processing device and information processing method - Google Patents
Information processing system, information processing device and information processing method Download PDFInfo
- Publication number
- JP6900864B2 JP6900864B2 JP2017184189A JP2017184189A JP6900864B2 JP 6900864 B2 JP6900864 B2 JP 6900864B2 JP 2017184189 A JP2017184189 A JP 2017184189A JP 2017184189 A JP2017184189 A JP 2017184189A JP 6900864 B2 JP6900864 B2 JP 6900864B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- application
- parameter
- flow
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
Description
本発明は、情報処理システム、情報処理装置及び情報処理方法に関する。 The present invention relates to an information processing system, an information processing device, and an information processing method.
近年、複数の機能(例えば、スキャンやプリント、メール配信等)を組み合わせた機能を提供するサービス等が知られるようになった。例えば、スキャンにより生成された電子ファイル(画像ファイル)に所定の処理を行った上で、メール配信するサービス等が知られている。このようなサービスは、各機能を実現する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以上の処理を一連の処理として表した処理情報等が含まれる指示書に基づいて、当該一連の処理を実行する画像形成装置が知られている(例えば特許文献1参照)。 Further, there is known an image forming apparatus that executes a series of processes based on an instruction sheet including processing information or the like representing one or more processes as a series of processes (see, for example, Patent Document 1).
しかしながら、上記の従来技術では、ユーザがサービスを利用するためには、例えば、一連の処理を実行させるためのアプリケーションの開発が必要であった。一方で、アプリケーションの開発には、例えば、プログラミング言語等に関する専門的な知識や経験を必要とする場合があった。 However, in the above-mentioned conventional technique, in order for the user to use the service, for example, it is necessary to develop an application for executing a series of processes. On the other hand, application development may require specialized knowledge and experience regarding programming languages, for example.
本発明の一実施形態は、上記の点に鑑みてなされたもので、アプリケーションの開発を支援することを目的とする。 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.
上記目的を達成するため、本発明の一実施形態は、1以上の情報処理装置を含み、所定の処理をそれぞれ実行する複数のプログラムを有する情報処理システムであって、電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、1以上の前記プログラムそれぞれの実行に用いられるパラメータ情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、前記情報処理システムに接続される1以上の電子機器のうちの一の電子機器において作成された前記アプリ設定情報を含む登録要求を受信する受信手段と、前記受信手段により受信した前記登録要求に含まれる前記アプリ設定情報に定義されている前記パラメータ情報に基づいて、前記一連の処理の実行をテストするための前記パラメータ情報の組み合わせを示すテストケースを生成する生成手段と、前記登録要求に含まれる前記アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される1以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記生成手段により生成された前記テストケースにより示される前記パラメータ情報の組み合わせを用いて実行させることで、前記一連の処理の実行をテストする実行手段と、を有する。 In order to achieve the above object, one embodiment of the present invention is an information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes, respectively, and is a series of information processing systems using electronic data. For each application that executes processing, program identification information that identifies one or more programs that execute each processing of the series of processing and flow information that defines the execution order of one or more programs are provided as 1 The application storage means for storing the application associated with the application setting information in which the parameter information used for executing each of the above programs and the flow identification information for identifying the flow information are defined is connected to the information processing system. The receiving means for receiving the registration request including the application setting information created in the electronic device of one or more electronic devices and the application setting information included in the registration request received by the receiving means. Based on the defined parameter information, it is defined in the generation means for generating a test case indicating a combination of the parameter information for testing the execution of the series of processes, and the application setting information included in the registration request. One or more identified by the acquisition means for acquiring the flow information identified by the flow identification information and the program identification information defined in the flow information acquired by the acquisition means. By executing each of the above programs according to the execution order defined in the flow information using the combination of the parameter information indicated by the test case generated by the generation means, the series of processes can be performed. It has an execution means for testing execution.
本発明の一実施形態によれば、アプリケーションの開発を支援することができる。 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のシステム構成の一例を示す図である。
[First Embodiment]
<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, storage in a repository, and the like.
本実施形態に係るサービス提供システム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により提供される各種サービスを利用しても良い。
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
なお、サービス提供システム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, a hardware configuration when the
図3に示す機器20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プリンタ25と、スキャナ26とを有する。また、コントローラ21は、CPU31と、RAM32と、ROM33と、NVRAM34と、HDD35とを有する。
The
ROM33は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM32は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM34は、例えば設定情報等を格納している。また、HDD35は、各種プログラムやデータを格納している不揮発性の記憶装置である。
The
CPU31は、ROM33やNVRAM34、HDD35等からプログラムやデータ、設定情報等をRAM32上に読み出し、処理を実行することで、機器20全体の制御や機能を実現する演算装置である。
The
操作パネル22は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F23は、外部装置とのインタフェースである。外部装置には、記録媒体23a等がある。これにより、機器20は、外部I/F23を介して記録媒体23aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
The
通信I/F24は、機器20をネットワークに接続するインタフェースである。これにより、機器20は、通信I/F24を介して通信を行うことができる。プリンタ25は、印刷データを印刷する印刷装置である。スキャナ26は、原稿を読み取って電子ファイル(画像ファイル)を生成する読取装置である。
The communication I /
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
The
<サービス提供システムが提供するサービス>
ここで、本実施形態に係るサービス提供システム10が提供するサービスについて説明する。なお、以降では、機器20が画像形成装置であるものとして説明する。
<Services provided by the service provision system>
Here, the service provided by the
本実施形態では、機器20において原稿をスキャンすることにより生成された電子ファイル(画像ファイル)にOCR処理を行うことで出力されるPDF(Portable Document Format)ファイルをページ分割するサービスを「OCR分割サービス」と表す。そして、本実施形態では、サービス提供システム10がOCR分割サービスを提供する場合について説明する。
In the present embodiment, the "OCR division service" provides a service for page-dividing a PDF (Portable Document Format) file output by performing OCR processing on an electronic file (image file) generated by scanning a document in the
ここで、サービス提供システム10がOCR分割サービスを提供するには、機器20がOCR分割サービスを利用するためのアプリケーション(後述するアプリ情報1000)をサービス提供システム10に登録する必要がある。
Here, in order for the
したがって、本実施形態では、OCR分割サービスを利用するためのアプリケーションをPC端末30が登録する場合と、当該アプリケーションを用いてOCR分割サービスを機器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は、本実施形態に係る情報処理システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the
図4に示すPC端末30は、例えばCPU16等により実行されるブラウザ310を有する。PC端末30のユーザは、ブラウザ310を用いて、「OCR分割サービス」等の各種サービスを利用するためのアプリケーションをサービス提供システム10に登録することができる。
The
図4に示す機器20は、例えばCPU31等により実行されるブラウザ210を有する。機器20のユーザは、ブラウザ210を用いて、「OCR分割サービス」等の各種サービスを利用することができる。すなわち、機器20は、ブラウザ210を有していれば良く、例えば、サービス提供システム10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
The
図4に示すサービス提供システム10は、入出力サービス処理部110と、Webサービス処理部120と、ドキュメントサービス部130と、ポータルサービス部140とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
The
また、サービス提供システム10は、アプリ情報記憶部150と、アプリ画面情報記憶部160と、ポータル画面情報記憶部170と、テスト結果情報記憶部180とを有する。これら各記憶部は、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が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、本実施形態に係るサービス提供システムは、「OCR分割サービス」等の各種サービスを提供することができる。なお、ロジック処理部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)の実行要求を送信する。また、アプリ実行部122は、アプリケーション(アプリ情報1000)のテストが実行された場合に、当該アプリ情報1000に含まれる処理フロー情報1100に基づく一連の処理の実行結果(テスト結果)を示すテスト結果情報をテスト結果情報記憶部180に格納する。
The
なお、アプリケーションのテストとは、例えば、アプリケーション(アプリ情報1000)を新規に登録する場合や登録済のアプリケーションの設定が修正された場合等に、アプリケーションが正常に動作するか否かを確認することである。 The application test is to confirm whether or not the application operates normally, for example, when a new application (application information 1000) is registered or when the settings of the registered application are modified. Is.
ドキュメントサービス部130は、処理フロー情報1100に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ここで、ドキュメントサービス部130は、OCR処理部131等を有する。
The
OCR処理部131は、電子ファイルに対してOCR処理を行って、OCR処理で認識されたテキストを付与したPDFファイル(テキスト付きPDFファイル)を作成する。
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とが含まれる。例えば、OCR分割サービスを提供するアプリ情報1000には、当該サービスを実現する一連の処理が定義された処理フロー情報1100と、当該アプリ情報1000の各種設定が定義されたアプリ設定情報1200とが含まれる。以降では、OCR分割サービスを提供するアプリ情報1000を「OCR分割アプリケーション」とも表す。
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
テスト結果情報記憶部180は、テスト結果情報を記憶する。テスト結果情報には、アプリケーションのテスト結果やテストされたテストケース等が含まれる。
The test result
なお、入出力サービス処理部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と、PDFコンポーネント1320とが含まれる。
The
OCRコンポーネント1310は、電子ファイル(画像ファイル)をOCR処理するためのコンポーネントである。OCRコンポーネント1310は、ドキュメントサービス部130のOCR処理部131にOCR処理を要求することにより、電子ファイルのOCR処理を行う。
The
PDFコンポーネント1320は、PDFファイルのページを分割することで、複数のPDFファイルを作成するためのコンポーネントである。
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は、コンポーネントからの要求に応じて、例えば図6に示す型変換情報テーブル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.
ここで、型変換情報テーブル4000について、図6を参照しながら説明する。図6は、型変換情報テーブル4000の一例を示す図である。 Here, the type conversion information table 4000 will be described with reference to FIG. FIG. 6 is a diagram showing an example of the type conversion information table 4000.
図6に示す型変換情報テーブル4000は、データ項目として、変換前のデータ型と、変換後のデータ型と、生成する型変換とを有する。すなわち、型変換情報テーブル4000に格納されている型変換情報は、変換前のデータ型及び変換後のデータ型毎に、当該変換前のデータ型を、当該変換後のデータ型に変換するための型変換が関連付けられた情報である。 The type conversion information table 4000 shown in FIG. 6 has a data type before conversion, a data type after conversion, and a type conversion to be generated as data items. That is, the type conversion information stored in the type conversion information table 4000 is used to convert the data type before conversion to the data type after conversion for each of the data type before conversion and the data type after conversion. Information associated with type conversion.
型変換群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では、型変換の追加等に伴う開発工数を削減することができる。
In this way, since each type conversion has a common I /
ここで、OCR分割サービスを提供するアプリ情報1000に含まれる処理フロー情報1100について、図7を参照しながら説明する。図7は、処理フロー情報1100の一例を示す図である。
Here, the
図7に示す処理フロー情報1100は、OCR分割サービスを実現する一連の処理(処理フロー)が定義された情報である。
The
図7に示す処理フロー情報1100には、処理フロー情報1100を識別するフロー名1101と、処理フローに含まれる各処理の処理内容が定義されたフロー詳細1102とが含まれる。
The
フロー詳細1102には、処理フローに含まれる各処理をそれぞれ定義した詳細処理定義1110と、詳細処理定義1120とが含まれる。詳細処理定義1110及び詳細処理定義1120には、詳細処理定義を識別する詳細処理名を示す「"detailName"」と、処理を実行するためのコンポーネントのコンポーネント名を示す「"component"」とが含まれる。また、詳細処理定義1110及び詳細処理定義1120には、当該コンポーネントが実行するオペレーションを示す「"operationName"」と、パラメータ情報が定義される「"parameters"」とが含まれる。
The flow details 1102 includes a
なお、オペレーションとはコンポーネントが実行する処理のことであり、各コンポーネントは、1以上のオペレーションを実行することが可能である。 The operation is a process executed by the component, and each component can execute one or more operations.
具体的には、詳細処理定義1110の「"detailName"」には、「"detail0"」が定義されている。詳細処理定義1110の「"component"」には、OCRコンポーネント1310のコンポーネント名「"OCR"」が定義されている。また、詳細処理定義1110の「"operationName"」には、OCRコンポーネント1310がOCR処理を実行することを示すオペレーション名「"process"」が定義されている。更に、詳細処理定義1110の「"parameters"」には、パラメータ名「"outputSize"」のパラメータ情報等が定義されている。
Specifically, "" detail0 "" is defined in "" detailName "" of the
パラメータ名「"outputSize"」のパラメータ情報には、OCR処理の結果として出力されるPDFファイルの印刷サイズが設定される。図7に示す処理フロー情報1100では、パラメータ名「"outputSize"」のパラメータ情報には、デフォルトのパラメータ値として、「"A4"」が定義されている。
The print size of the PDF file output as a result of the OCR processing is set in the parameter information of the parameter name "" outputSize "". In the
同様に、詳細処理定義1120の「"detailName"」には、「"detail1"」が定義されている。詳細処理定義1120の「"component"」には、PDFコンポーネント1320のコンポーネント名「"PDF"」が定義されている。また、詳細処理定義1120の「"operationName"」には、PDFコンポーネント1320がPDFファイルをページ番号で分割する処理を実行することを示すオペレーション名「"divideByPageNumbers"」が定義されている。更に、詳細処理定義1120の「"parameters"」には、PDFコンポーネント1320で用いられるパラメータ情報が定義されている。
Similarly, "" detail1 "" is defined in "" detailName "" of the
なお、各詳細処理定義に定義された処理の実行順は、フロー詳細1102において、上から順に定義される。すなわち、図7に示す処理フロー情報1100に基づく一連の処理(処理フロー)では、詳細処理定義1110に定義された処理、詳細処理定義1120に定義された処理の順で実行される。ただし、これに限られず、処理フロー情報1100には、例えば、各詳細処理定義に定義された処理の実行順を示す情報が定義されていても良い。
The processing execution order defined in each detailed processing definition is defined in order from the top in the flow details 1102. That is, in a series of processes (process flows) based on the
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。まず、PC端末30のユーザが、OCR分割アプリケーションをサービス提供システム10に登録する処理について、図8を参照しながら説明する。図8は、本実施形態に係るアプリケーションの登録処理の一例を示すシーケンス図である。
<Details of processing>
Next, the details of the processing of the
まず、PC端末30のブラウザ310は、ポータルトップ画面を表示させるための操作(ポータルトップ画面の表示操作)を受け付ける(ステップS801)。なお、PC端末30のユーザは、例えば、ポータルトップ画面のURLをブラウザ310のアドレスバーに入力することで、ポータルトップ画面の表示操作を行うことができる。
First, the
PC端末30のブラウザ310は、ポータルトップ画面の表示操作を受け付けると、ポータルトップ画面の表示要求を、ポータルサービス部40のUI提供部141に送信する(ステップS802)。
When the
ポータルサービス部140のUI提供部141は、ポータルトップ画面の取得要求を受信すると、ポータルトップ画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS803)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
When the
PC端末30のブラウザ310は、ポータルトップ画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図9に示すポータルトップ画面G100を表示する(ステップS804)。
When the
図9に示すポータルトップ画面G100は、ポータルのトップ画面であり、アプリケーションの登録を行うための「Application」ボタンG110が含まれる。以降では、ユーザが、図9に示すポータルトップ画面G100において、「Application」ボタンG110を選択する操作(アプリ登録の選択操作)を行ったものとする。 The portal top screen G100 shown in FIG. 9 is the top screen of the portal, and includes an “Application” button G110 for registering an application. Hereinafter, it is assumed that the user performs an operation of selecting the "Application" button G110 (application registration selection operation) on the portal top screen G100 shown in FIG.
なお、図9に示すポータルトップ画面G100には、処理フロー情報1100の作成等を行うための「Flow」ボタンG120、コンポーネントの登録等を行うための「Component」ボタンG130等も含まれる。このように、ポータルトップ画面G100では、アプリケーションの登録以外にも、処理フローの作成・実行、コンポーネントの登録・更新等を行うことができる。
The portal top screen G100 shown in FIG. 9 also includes a "Flow" button G120 for creating
PC端末30のブラウザ310は、ユーザにより行われたアプリ登録の選択操作を受け付ける(ステップS805)。
The
PC端末30のブラウザ310は、アプリ登録の選択操作を受け付けると、アプリケーション登録画面の表示要求を、ポータルサービス部40のUI提供部141に送信する(ステップS806)。
When the
ポータルサービス部140のUI提供部141は、アプリケーション登録画面の表示要求を受信すると、アプリケーション登録画面のポータル画面情報をポータル画面情報記憶部170から取得する(ステップS807)。そして、UI提供部141は、ポータル画面情報記憶部170から取得したポータル画面情報をブラウザ310に返信する。
When the
PC端末30のブラウザ310は、アプリケーション登録画面のポータル画面情報を受信すると、当該ポータル画面情報に基づいて、例えば図10に示すアプリケーション登録画面G200を表示する(ステップS808)。
When the
ここで、図10〜図14を参照しながら、ユーザがアプリケーションの登録操作を行う場合について説明する。 Here, a case where the user performs an application registration operation will be described with reference to FIGS. 10 to 14.
まず、図10に示すアプリケーション登録画面G200は、ユーザが登録するアプリケーションのタイプを選択するための画面である。 First, the application registration screen G200 shown in FIG. 10 is a screen for selecting the type of application to be registered by the user.
図10に示すアプリケーション登録画面G200には、プリントタイプのアプリケーションを登録するための「プリント」ボタンG210と、スキャンタイプのアプリケーションを登録するための「スキャン」ボタンG220とが含まれる。なお、図10に示すアプリケーション登録画面G200には、上記以外にも、例えば、FAXタイプのアプリケーションを登録するための「FAX」ボタン、メール受信タイプのアプリケーションを登録するための「メール受信」ボタン等が含まれていても良い。 The application registration screen G200 shown in FIG. 10 includes a "print" button G210 for registering a print type application and a "scan" button G220 for registering a scan type application. In addition to the above, the application registration screen G200 shown in FIG. 10 has, for example, a "FAX" button for registering a FAX type application, a "Mail reception" button for registering a mail reception type application, and the like. May be included.
また、図10に示すアプリケーション登録画面G200には、次の画面に遷移するための「次へ」ボタンG240等が含まれる。 Further, the application registration screen G200 shown in FIG. 10 includes a "Next" button G240 and the like for transitioning to the next screen.
図10に示すアプリケーション登録画面G200では、ユーザが「プリント」ボタンG210又は「スキャン」ボタンG220のいずれかを選択すると、それぞれプリントタイプの説明又はスキャンタイプの説明が説明欄G230に表示される。 In the application registration screen G200 shown in FIG. 10, when the user selects either the "print" button G210 or the "scan" button G220, a description of the print type or a description of the scan type is displayed in the description column G230, respectively.
なお、プリントタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等で印刷させるタイプのアプリケーションである。一方、スキャンタイプとは、画像形成装置等においてスキャンにより生成された電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。 The print type is an application of a type in which an electronic file showing an execution result of a series of processes is printed by an image forming apparatus or the like. On the other hand, the scan type is an application of a type that executes a series of processes by inputting an electronic file generated by scanning in an image forming apparatus or the like.
また、例えば、FAXタイプとは、一連の処理による実行結果を示す電子ファイルを画像形成装置等でFAX送信させるタイプのアプリケーションである。更に、メール受信タイプとは、画像形成装置等が受信したメールに添付されている電子ファイルを入力とした一連の処理を実行させるタイプのアプリケーションである。 Further, for example, the FAX type is an application of a type in which an electronic file showing an execution result of a series of processes is transmitted by FAX by an image forming apparatus or the like. Further, the mail reception type is an application of a type in which an image forming apparatus or the like executes a series of processes by inputting an electronic file attached to the received mail.
以降では、ユーザが、図10に示すアプリケーション登録画面G200において、「スキャン」ボタンG220を選択した上で、「次へ」ボタンG240を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図11に示すアプリケーション登録画面G300を表示する。
Hereinafter, it is assumed that the user selects the "scan" button G220 on the application registration screen G200 shown in FIG. 10 and then presses the "next" button G240. Then, the
図11に示すアプリケーション登録画面G300は、ユーザがアプリケーションの基本情報を設定するための画面である。 The application registration screen G300 shown in FIG. 11 is a screen for the user to set basic information of the application.
図11に示すアプリケーション登録画面G300には、アプリケーションの名称を設定するための「アプリ名」入力設定欄G310と、アプリ画面の画面形式を選択するための「デザインテンプレート」選択欄G320とが含まれる。また、図11に示すアプリケーション登録画面G300には、アプリケーションを利用する際の認証を選択するための「認証」選択欄G330と、アプリ画面の表示言語を選択するための「表示言語」選択欄G340とが含まれる。更に、図11に示すアプリケーション登録画面G300には、次の画面に遷移するための「次へ」ボタンG350等が含まれる。 The application registration screen G300 shown in FIG. 11 includes an "application name" input setting field G310 for setting an application name and a "design template" selection field G320 for selecting a screen format of the application screen. .. Further, on the application registration screen G300 shown in FIG. 11, an "authentication" selection field G330 for selecting authentication when using the application and a "display language" selection field G340 for selecting the display language of the application screen are displayed. And are included. Further, the application registration screen G300 shown in FIG. 11 includes a "Next" button G350 and the like for transitioning to the next screen.
なお、「デザインテンプレート」選択欄G320では、例えば、アプリ画面が一画面で表示される「一画面形式」、アプリ画面を対話形式で表示する「ウィザード形式」等を選択することができる。また、「認証」選択欄G330では、認証を用いないことを示す「なし」、認証を用いることを示す「ユーザ認証」等を選択することができる。 In the "design template" selection field G320, for example, a "single screen format" in which the application screen is displayed on one screen, a "wizard format" in which the application screen is displayed interactively, and the like can be selected. Further, in the "authentication" selection field G330, "none" indicating that authentication is not used, "user authentication" indicating that authentication is used, and the like can be selected.
以降では、ユーザが、図11に示すアプリケーション登録画面G300のように、アプリケーション名の入力や各種選択を行った上で、「次へ」ボタンG350を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図12に示すアプリケーション登録画面G400を表示する。
Hereinafter, it is assumed that the user performs an operation of pressing the "Next" button G350 after inputting the application name and making various selections as in the application registration screen G300 shown in FIG. Then, the
図12に示すアプリケーション登録画面G400は、ユーザがアプリケーションの詳細情報として、登録するアプリケーションに対して一連の処理(処理フロー)を設定するための画面である。 The application registration screen G400 shown in FIG. 12 is a screen for the user to set a series of processes (processing flow) for the application to be registered as detailed information of the application.
図12に示すアプリケーション登録画面G400には、アプリ情報記憶部150に記憶されている処理フロー情報1100のフロー名を検索するための検索欄G410と、フロー名を選択するためのフロー選択欄G420とが含まれる。ユーザは、所望のフローの名称等を検索欄G410に入力した上で、フロー選択欄G420から所望のフロー名を選択することができる。
The application registration screen G400 shown in FIG. 12 includes a search field G410 for searching the flow name of the
また、図12に示すアプリケーション登録画面G400には、フロー選択欄G420で選択されたフロー名の処理フロー情報1100に基づく一連の処理の概要を表示する概要表示欄G430と、次の画面に遷移するための「次へ」ボタンG440とが含まれる。
Further, the application registration screen G400 shown in FIG. 12 transitions to a summary display field G430 for displaying an outline of a series of processes based on the
更に、図12に示すアプリケーション登録画面G400には、フロー選択欄G420で選択されたフロー名の処理フロー情報1100の編集及び更新を行うための「更新」ボタンG421と、新規に処理フロー情報1100を作成するための「新規」ボタンG422とが含まれる。ユーザは、「更新」ボタンG421を押下することで、フロー選択欄G420で選択したフロー名の処理フロー情報1100の編集及び更新を行うことができる。また、ユーザは、「新規」ボタンG422を押下することで、処理フロー情報1100を作成した上で、作成した処理フロー情報1100のフロー名をフロー選択欄G420で選択することができる。
Further, on the application registration screen G400 shown in FIG. 12, an "update" button G421 for editing and updating the
以降では、ユーザが、フロー名「ocr−divide」をフロー選択欄G420で選択した上で、「次へ」ボタンG440を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図13に示すアプリケーション登録画面G500を表示する。
Hereinafter, it is assumed that the user selects the flow name "ocr-divide" in the flow selection field G420 and then presses the "Next" button G440. Then, the
図13に示すアプリケーション登録画面G500は、ユーザがアプリケーションの詳細情報として、図12に示すアプリケーション登録画面G400で設定された一連の処理(処理フロー)のパラメータ情報を設定するための画面である。 The application registration screen G500 shown in FIG. 13 is a screen for the user to set parameter information of a series of processes (processing flow) set on the application registration screen G400 shown in FIG. 12 as detailed information of the application.
図13に示すアプリケーション登録画面G500には、一連の処理に含まれる各処理を実行するコンポーネントを選択するための「コンポーネント」選択欄G510が含まれる。また、図13に示すアプリケーション登録画面G500には、「コンポーネント」選択欄G510で選択されたコンポーネントのパラメータ情報を設定するための「パラメータ情報」設定欄G520と、次の画面に遷移するための「次へ」ボタンG530とが含まれる。 The application registration screen G500 shown in FIG. 13 includes a “component” selection field G510 for selecting a component to execute each process included in the series of processes. Further, on the application registration screen G500 shown in FIG. 13, a "parameter information" setting field G520 for setting the parameter information of the component selected in the "component" selection field G510 and a "parameter information" setting field G520 for transitioning to the next screen are provided. The "Next" button G530 and the like are included.
ユーザは、「コンポーネント」選択欄G510から所望のコンポーネントを選択した上で、「パラメータ情報」設定欄G520にてパラメータ情報の各種設定を行うことができる。例えば、ユーザが「コンポーネント」選択欄G510からPDFコンポーネント1320を選択した場合、「パラメータ情報」設定欄G520では、PDFコンポーネント1320が用いるパラメータ情報の各種設定を行うことができる。
The user can select a desired component from the "component" selection field G510 and then set various parameter information in the "parameter information" setting field G520. For example, when the user selects the
「パラメータ情報」設定欄G520には、例えば、「userInput」、「displayname」、「name」、「inputType」等が含まれる。 The "parameter information" setting field G520 includes, for example, "userInput", "displayname", "name", "inputType", and the like.
「userInput」には、パラメータ情報のパラメータ値をユーザ(サービスの利用者)に入力させるか否かが設定される。「userInput」にチェックが入れられたパラメータ情報は、アプリ画面においてユーザ(サービスの利用者)がパラメータ値を入力することができる。一方で、「userInput」にチェックが入れられていないパラメータ情報は、アプリ画面においてユーザがパラメータ値を入力することができず、デフォルトのパラメータ値が用いられる。 In "userInput", whether or not to let the user (user of the service) input the parameter value of the parameter information is set. For the parameter information in which "userInput" is checked, the user (service user) can input the parameter value on the application screen. On the other hand, for the parameter information in which "userInput" is not checked, the user cannot input the parameter value on the application screen, and the default parameter value is used.
また、「inputType」には、設定項目「select」にチェックが入れられたパラメータ情報について、アプリ画面における入力方法が設定される。「iputType」では、例えば、パラメータ値の一覧から所望のパラメータ値を選択する入力方法「select」、パラメータ値を直接入力する入力方法「text」等が設定される。なお、「inputType」には、これら以外にも、例えば、画面上の座標を入力する入力方法、所望のフォルダやファイルを選択するための入力方法等を選択することができても良い。 Further, in "inputType", the input method on the application screen is set for the parameter information in which the setting item "select" is checked. In "iputType", for example, an input method "select" for selecting a desired parameter value from a list of parameter values, an input method "ext" for directly inputting a parameter value, and the like are set. In addition to these, for "inputType", for example, an input method for inputting coordinates on the screen, an input method for selecting a desired folder or file, or the like may be selected.
なお、「name」には、パラメータ情報のパラメータ名が設定される。また、「displayname」には、アプリ画面に表示される入力項目(パラメータ値を入力させるための項目)の表示名が設定される。 The parameter name of the parameter information is set in "name". In addition, the display name of the input item (item for inputting the parameter value) displayed on the application screen is set in "displayname".
これにより、ユーザは、各コンポーネントが用いるパラメータ情報について、パラメータ情報のパラメータ値をサービスの利用者に入力させるか否か、その入力方法等を設定することができる。 As a result, the user can set whether or not to let the service user input the parameter value of the parameter information, the input method, and the like for the parameter information used by each component.
以降では、ユーザが、各コンポーネントが用いるパラメータ情報を設定した上で、「次へ」ボタンG530を押下する操作を行ったものとする。すると、ブラウザ310は、当該操作を受け付けて、例えば図14に示すアプリケーション登録画面G600を表示する。
Hereinafter, it is assumed that the user performs an operation of pressing the "Next" button G530 after setting the parameter information used by each component. Then, the
図14に示すアプリケーション登録画面G600は、図10〜図13で設定された各種情報(アプリ設定情報)をユーザが確認するための画面である。 The application registration screen G600 shown in FIG. 14 is a screen for the user to confirm various information (application setting information) set in FIGS. 10 to 13.
図14に示すアプリケーション登録画面G600には、「アプリ設定情報」表示欄G610と、「登録実行」ボタンG620とが含まれる。ユーザは、「アプリ設定情報」表示欄G610において、図10〜図13で設定した各種情報を確認することができる。 The application registration screen G600 shown in FIG. 14 includes an "application setting information" display field G610 and a "registration execution" button G620. The user can confirm various information set in FIGS. 10 to 13 in the "application setting information" display field G610.
ここで、ユーザは、「アプリ設定情報」表示欄G610でアプリ設定情報を確認した上で、「登録」ボタンG620を押下する操作(アプリケーションの登録操作)を行ったものとする。すると、ブラウザ310は、アプリケーションの登録操作を受け付ける(ステップS809)。
Here, it is assumed that the user confirms the application setting information in the "application setting information" display field G610 and then presses the "register" button G620 (application registration operation). Then, the
ブラウザ310は、アプリケーションの登録操作を受け付けると、例えば図15に示すアプリ設定情報1200を作成する(ステップS810)。
When the
ここで、アプリ設定情報1200について、図15を参照しながら説明する。図15は、アプリ設定情報1200の一例を示す図である。
Here, the
図15に示すアプリ設定情報1200には、アプリタイプ1201と、アプリ名1202と、アプリ表示名1203と、認証タイプ1204と、フロー名1205とが含まれる。また、図15に示すアプリ設定情報1200には、デザインテンプレートタイプ1206と、デフォルトパラメータ1207と、ユーザ入力パラメータ1208とが含まれる。
The
アプリタイプ1201は、図10に示すアプリケーション登録画面G200で選択されたアプリケーションのタイプである。図15に示す例では、アプリケーションのタイプがスキャンタイプであることを示す「"app_type":"scan"」が定義されている。
The
アプリ名1202は、図11に示すアプリケーション登録画面G300の「アプリ名」入力設定欄G310に入力されたアプリ名である。図15に示す例では、アプリ名が「OCR分割アプリケーション」であることを示す「"appName":"OCR分割アプリケーション"」が定義されている。 The application name 1202 is an application name input in the “application name” input setting field G310 of the application registration screen G300 shown in FIG. In the example shown in FIG. 15, "" appName ":" OCR split application "" indicating that the application name is "OCR split application" is defined.
アプリ表示名1203は、アプリ画面に表示されるアプリケーション名称(タイトル)である。図15に示す例では、日本語では「OCR分割」、英語では「OCR App」と表示されることが定義されている。
The
認証タイプ1204は、図11に示すアプリケーション登録画面G300の「認証」選択欄G330で選択された認証である。図15に示す例では、認証しないことを示す「"loginType":"none"」が定義されている。
The
フロー名1205は、図12に示すアプリケーション登録画面G400のフロー選択欄G420で選択されたフロー名である。図15に示す例では、フロー名が「"ocr−divide"」であることが定義されている。 The flow name 1205 is a flow name selected in the flow selection field G420 of the application registration screen G400 shown in FIG. In the example shown in FIG. 15, it is defined that the flow name is "" ocr-divide "".
デザインテンプレートタイプ1206は、図11に示すアプリケーション登録画面G300の「デザインテンプレート」選択欄G320で選択された表示形式である。図15に示す例では、一画面形式でアプリ画面を表示することを示す「"viewTemplate":"一画面形式"」が定義されている。 The design template type 1206 is a display format selected in the "design template" selection field G320 of the application registration screen G300 shown in FIG. In the example shown in FIG. 15, "" viewTemplate ":" one-screen format "" indicating that the application screen is displayed in the one-screen format is defined.
デフォルトパラメータ1207は、アプリ画面においてユーザがパラメータ値を入力しないパラメータ情報が定義されている。すなわち、デフォルトパラメータ1207には、図13に示すアプリケーション登録画面G500の「パラメータ情報」設定欄G520において、「userInput」のチェックを入れなかったパラメータ情報が定義される。図15に示す例では、詳細処理名「detail0」(すなわち、図7における詳細処理定義1110)で定義された処理で用いられるパラメータ情報のデフォルトのパラメータ値が定義されている。具体的には、パラメータ名「"language"」のパラメータ情報について、デフォルトのパラメータ値「"English"」が定義されている。
The
このように、デフォルトパラメータ1207には、デフォルトのパラメータ値が設定されるパラメータ情報が定義されている。換言すれば、デフォルトパラメータ1207には、ユーザがパラメータ値を設定しないパラメータ情報が定義されている。
As described above, the
ユーザ入力パラメータ1208は、アプリ画面においてユーザによりパラメータ値が入力されるパラメータ情報が定義されている。すなわち、ユーザ入力パラメータ1208には、図13に示すアプリケーション登録画面G500の「パラメータ情報」設定欄G520において、「userInput」のチェックを入れたパラメータ情報が定義される。
The
図15に示す例では、詳細処理名「detail1」(すなわち、図7における詳細処理定義1120)に定義された処理で用いられるパラメータ情報が定義されている。具体的には、パラメータ名「divisionPageRange」のパラメータ情報のパラメータ値がユーザに入力されることを示す入力定義1210が定義されている。同様に、パラメータ名「divisionPageNumbers」のパラメータ情報のパラメータ値がユーザに入力されることを示す入力定義1220が定義されている。
In the example shown in FIG. 15, the parameter information used in the processing defined in the detailed processing name “
入力定義1210では、パラメータ値の入力方法を示す「"inputType"」には「"select"」が定義されている。これは、パラメータ値の一覧から所望のパラメータ値をユーザに選択させることを示している。
In the
また、入力定義1210では、ユーザが選択可能なパラメータ値を示す「"options"」には「"Each Pages","Specified Pages"」が定義されている。これは、ユーザが選択可能なパラメータ値の一覧は、「"Each Pages"」と、「"Specified Pages"」とであることを示している。
Further, in the
入力定義1220では、パラメータ値の入力方法を示す「"inputType"」には「"text"」が定義されている。これは、テキスト(文字)でパラメータ値をユーザに入力させることを示している。
In the
また、入力定義1220では、ユーザが入力可能なパラメータ値の上限(上限値)を示す「"max"」には「100」が、下限(下限値)を示す「"min"」には「0」が定義されている。これは、ユーザが入力可能なパラメータ値は、0以上、かつ、100以下の数値であることを示している。
Further, in the
このように、ユーザ入力パラメータ1208には、アプリ画面においてユーザがパラメータ値を入力するパラメータ情報やパラメータ値入力方法、入力制約等が定義されている。
As described above, the
以上のように、アプリ設定情報1200には、アプリ画面に表示される表示情報(例えば、タイトル)やアプリ画面の入力項目(パラメータ値を入力又は選択する項目)、当該入力項目における入力方法、入力制約等が定義されている。また、アプリ設定情報1200には、パラメータ値がデフォルトで設定されるパラメータ情報(すなわち、アプリ画面でパラメータ値が入力又は選択されないパラメータ情報)等が定義されている。
As described above, the
ブラウザ310は、アプリ設定情報1200を作成すると、アプリケーションの登録要求を、ポータルサービス部140のアプリ登録部142に送信する(ステップS811)。なお、アプリケーションの登録要求には、ステップS810で作成されたアプリ設定情報1200が含まれる。
When the
ポータルサービス部140のアプリ登録部142は、アプリケーションの登録要求を受信すると、当該登録要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS812)。
When the
入出力サービス処理部110のアプリ管理部111は、アプリケーションの登録要求を受信すると、アプリケーションを登録する(ステップS813)。そして、アプリ管理部111は、登録結果をブラウザ310に返信する。
Upon receiving the application registration request, the
すなわち、アプリ管理部111は、アプリケーションの登録要求に含まれるアプリ設定情報1200をアプリIDと関連付けてアプリ情報記憶部150に記憶する。そして、アプリ管理部111は、当該アプリIDが含まれる登録結果をブラウザ310に返信する。
That is, the
これにより、当該アプリ設定情報1200と、当該アプリ設定情報1200のフロー名1205に定義されたフロー名の処理フロー情報1100とを含むアプリ情報1000がサービス提供システム10に登録される。
As a result, the
次に、ブラウザ310は、登録結果が返信されると、例えば図16に示すテスト画面G700を表示する(ステップS814)。
Next, when the registration result is returned, the
図16に示すテスト画面G700は、上記のステッS813で登録されたアプリケーションのテストを実行するための画面である。ユーザは、アプリケーションのテストを実行することで、当該アプリケーションの評価(動作確認等)を行うことができる。 The test screen G700 shown in FIG. 16 is a screen for executing the test of the application registered in the above-mentioned step S813. The user can evaluate the application (operation check, etc.) by executing the test of the application.
図16に示すテスト画面G700には、「テスト実行」ボタンG710が含まれる。ここで、ユーザは、「テスト実行」ボタンG710を押下する操作(テスト実行操作)を行ったものとする。すると、ブラウザ310は、テスト実行操作を受け付ける(ステップS815)。
The test screen G700 shown in FIG. 16 includes a “test execution” button G710. Here, it is assumed that the user has performed an operation (test execution operation) of pressing the "test execution" button G710. Then, the
ブラウザ310は、テスト実行操作を受け付けると、テスト実行処理を行う(ステップS816)。テスト実行処理では、アプリケーションをテストするためのテストケース(すなわち、処理フローに用いられるパラメータ情報の組み合わせ)が生成され、テストケース毎に、アプリケーションがテストされる。アプリケーションのテストは、テストケースが示すパラメータ情報の組み合わせ毎に、当該アプリケーションの処理フロー(すなわち、アプリ情報1000に含まれる処理フロー情報1100に基づく一連の処理)を実行することで行われる。なお、テスト実行処理の詳細については後述する。
When the
そして、ブラウザ310は、テスト実行処理が終了すると、例えば図17(a)に示すテスト結果画面G800又は図17(b)に示すテスト結果画面G900を表示する(ステップS817)。
Then, when the test execution process is completed, the
図17(a)に示すテスト結果画面G800は、アプリケーションのテストに成功した場合(すなわち、全てのテストケースでテストが正常に終了した場合)のテスト結果画面である。 The test result screen G800 shown in FIG. 17A is a test result screen when the application test is successful (that is, when the test is completed normally in all the test cases).
一方、図17(b)に示すテスト結果画面G900は、アプリケーションのテストに失敗した場合(すなわち、少なくとも1つのテストケースでテストが失敗した場合)のテスト結果画面である。図17(b)に示すテスト結果画面G900には、失敗テストケース表示欄G810が含まれる。 On the other hand, the test result screen G900 shown in FIG. 17B is a test result screen when the application test fails (that is, when the test fails in at least one test case). The test result screen G900 shown in FIG. 17B includes a failure test case display column G810.
失敗テストケース表示欄G810には、テストが失敗したテストケースの実行時間と、当該テストに用いられたパラメータ情報とが含まれる。これにより、ユーザは、テストが失敗したテストケースで用いられたパラメータ情報の組み合わせを知ることができる。このため、ユーザは、テストが成功するように、パラメータ情報を修正することができる。なお、失敗テストケース表示欄G810に表示されるパラメータ情報は、テスト結果情報記憶部180に記憶されているテスト結果情報に基づいて表示される。
The failure test case display column G810 includes the execution time of the test case in which the test failed and the parameter information used for the test. This allows the user to know the combination of parameter information used in the test case where the test failed. This allows the user to modify the parameter information so that the test is successful. The parameter information displayed in the failure test case display column G810 is displayed based on the test result information stored in the test result
ここで、上記のステップS816の処理(テスト実行処理)の詳細について、図18を参照しながら説明する。図18は、本実施形態に係るテスト実行処理の一例を示すシーケンス図である。 Here, the details of the process (test execution process) in step S816 will be described with reference to FIG. FIG. 18 is a sequence diagram showing an example of the test execution process according to the present embodiment.
まず、ブラウザ310は、テスト実行操作を受け付けると、アプリ設定の取得要求を、Webサービス処理部120の画面構成部121に送信する(ステップS1801)。なお、アプリ設定の取得要求には、上記のステップS813でアプリ管理部111から返信されたアプリIDが含まれる。
First, when the
Webサービス処理部120の画面構成部121は、アプリ設定の取得要求を受信すると、当該取得要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS1802)。
When the
入出力サービス処理部110のアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS1803)。そして、アプリ管理部111は、アプリ情報記憶部150から取得したアプリ設定情報1200を画面構成部121に返信する。
Upon receiving the application setting acquisition request, the
Webサービス処理部120の画面構成部121は、テスト結果画面G800及びテスト結果画面G900を表示するためのアプリ画面情報2000をアプリ画面情報記憶部160から取得する(ステップS1804)。そして、画面構成部121は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS1803で返信されたアプリ設定情報1200とをブラウザ310に返信する。
The
ブラウザ310は、アプリ画面情報2000と、アプリ設定情報1200とが返信されると、当該アプリ設定情報1200から、例えばオールペア法(ペアワイズ法)等の手法によりパラメータ情報を組み合わせて、テストケースを生成する(ステップS1805)。
When the
例えば、図15に示すアプリ設定情報1200が返信された場合、デフォルトパラメータ1207に定義されているパラメータ情報と、ユーザ入力パラメータ1208に定義されているパラメータ情報とを組み合わせることで、テストケースを生成する。
For example, when the
具体的には、デフォルトパラメータ1207には、「"language":"English"」が定義されている。このため、まず、パラメータ名「"language"」のパラメータ情報のパラメータ値には、「"English"」を用いる。
Specifically, "" language ":" English "" is defined in the
また、ユーザ入力パラメータ1208の入力定義1210には、「"divisionPageRange"」の選択可能なパラメータ値「"Each Pages"」及び「"Specified Pages"」が定義されている。このため、パラメータ名「"divisionPageRange"」のパラメータ情報のパラメータ値には、「"Each Pages"」と「"Specified Pages"」とを用いる。
Further, in the
更に、ユーザ入力パラメータ1208の入力定義1220には、「"divisionPageNumbers"」のパラメータ値の上限値「100」と下限値「0」が定義されている。このため、パラメータ名「"divisionPageNumbers"」のパラメータ情報のパラメータ値には、上限値「100」と下限値「0」とを用いる。
Further, in the
したがって、上記のパラメータ情報のパラメータ値を組み合わせることで、図19(a)〜図19(d)に示す4つのテストケースが生成される。このように、テストケースは、アプリ設定情報1200に定義されている1以上のパラメータ情報のパラメータ値を組み合わせることで生成される。このとき、例えば、パラメータ値が選択的に定義されている場合は、これら選択的に定義されているパラメータ値を組み合わせれば良い。また、パラメータ値が取り得る範囲が定義されている場合は、当該範囲の上限値や下限値、中間値等のパラメータ値を組み合わせれば良い。
Therefore, by combining the parameter values of the above parameter information, the four test cases shown in FIGS. 19A to 19D are generated. In this way, the test case is generated by combining the parameter values of one or more parameter information defined in the
なお、例えば、ユーザにファイル名を入力させる場合等のように、ユーザにより入力された任意の文字列がパラメータ値となるパラメータ情報もある。具体的には、図20(a)に示すパラメータ名「"filename"」のパラメータ情報のように、ユーザにより入力された任意の文字列をパラメータ値とするようなパラメータ情報である。この場合、ブラウザ310は、例えば、ランダムに生成した文字列を当該パラメータ情報のパラメータ値として、他のパラメータ情報のパラメータ値と組み合わせてテストケースを生成すれば良い。
In addition, there is also parameter information in which an arbitrary character string input by the user becomes a parameter value, for example, when the user is required to input a file name. Specifically, it is parameter information such that an arbitrary character string input by the user is used as a parameter value, such as the parameter information of the parameter name "" filename "" shown in FIG. 20 (a). In this case, for example, the
また、図20(b)に示すパラメータ名「"filename"」のパラメータ情報のように、0文字以上、かつ、100文字以下の文字列をパラメータ値とするようなパラメータ情報の場合、0文字以上、かつ、100文字以下の文字列をランダムに生成すれば良い。 Further, in the case of parameter information such as the parameter information of the parameter name "" filename "" shown in FIG. 20B, in which a character string of 0 characters or more and 100 characters or less is used as the parameter value, 0 characters or more. , And a character string of 100 characters or less may be randomly generated.
また、デフォルトのパラメータ値が処理フロー情報1100に定義されている場合は、当該パラメータ値のパラメータ情報も組み合わせたテストケースが生成されても良い。例えば、図7に示す処理フロー情報1100の詳細処理定義1110には、パラメータ名「"outputSize"」のパラメータ情報のデフォルトのパラメータ値として、「"A4"」が定義されている。したがって、この場合、アプリ設定情報1200に定義されているパラメータ情報に加えて、処理フロー情報1100に定義されているパラメータ情報「"outputSize":"A4"」も組み合わせてテストケースが生成されても良い。
Further, when the default parameter value is defined in the
以降のステップS1806〜ステップS1809の処理は、上記のステップS1805で生成されたテストケース毎に実行される。 Subsequent processes of steps S1806 to S1809 are executed for each test case generated in step S1805.
ブラウザ310は、上記のステップS1805で生成したテストケース毎に、アプリケーションの実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS1806)。なお、アプリケーションの実行要求には、アプリIDと、アプリ設定情報1200のフロー名1205に定義されているフロー名「ocr−divide」と、テストに用いられる電子ファイルと、テストケースが示すパラメータ情報とが含まれる。
The
ここで、テストに用いられる電子ファイルとは、例えば、テスト用のダミーの電子データ等である。 Here, the electronic file used for the test is, for example, dummy electronic data for the test.
また、テストケースが示すパラメータ情報とは、上記のステップS1805で生成したパラメータ情報の組み合わせのことである。 Further, the parameter information indicated by the test case is a combination of the parameter information generated in step S1805.
例えば、図19(a)に示すテストケース1では、パラメータ情報として、「"language":"English"」と、「"divisionPageRange":"Each Pages"」と、「"divisionPageNumbers":0」とが含まれる。
For example, in the
また、例えば、図19(b)に示すテストケース2では、パラメータ情報として、「"language":"English"」と、「"divisionPageRange":"Each Pages"」と、「"divisionPageNumbers":100」とが含まれる。 Further, for example, in the test case 2 shown in FIG. 19 (b), as parameter information, "" language ":" English "", "" division Page Range ":" Each Pages "", and "" division Page Numbers ": 100". And are included.
同様に、例えば、図19(c)に示すテストケース3では、パラメータ情報として、「"language":"English"」と、「"divisionPageRange":"Specified Pages"」と、「"divisionPageNumbers":0」とが含まれる。
Similarly, for example, in the
また、同様に、例えば、図19(d)に示すテストケース4では、パラメータ情報として、「"language":"English"」と、「"divisionPageRange":"Specified Pages"」と、「"divisionPageNumbers":100」とが含まれる。 Similarly, for example, in the test case 4 shown in FIG. 19 (d), as parameter information, "" language ":" English "", "" division Page Range ":" Special Pages "", and "" division Pages "". : 100 ”is included.
Webサービス処理部120のアプリ実行部122は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS1807)。
When the
入出力サービス処理部110のロジック処理部112は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う(ステップS1808)。すなわち、ロジック処理部112は、当該要求に含まれるパラメータ情報を用いて、当該要求に含まれるフロー名の処理フロー情報1100に基づく一連の処理を実行する。このように、テストケースが示すパラメータ情報を用いて、処理フロー情報1100に基づく一連の処理を実際に実行することで、テストが行われる。なお、処理フローの実行処理の詳細については後述する。
When the
そして、ロジック処理部112は、処理フローの実行処理の処理結果を、Webサービス処理部120のアプリ実行部122に返信する。
Then, the
Webサービス処理部120のアプリ実行部122は、ロジック処理部112から処理結果を受信すると、アプリIDと、テストケースと、当該処理結果とに基づいてテスト結果情報を作成し、テスト結果情報記憶部180に格納する(ステップS1809)。そして、アプリ実行部122は、当該処理結果をブラウザ310に返信する。
When the
ここで、アプリ実行部122により作成及び格納されるテスト結果情報について、図21を参照しながら説明する。図21は、テスト結果情報の一例を示す図である。
Here, the test result information created and stored by the
図21に示すように、テスト結果情報には、アプリIDと、テスト実施日と、最終テスト結果と、テストケースと、テストケース結果とが含まれる。 As shown in FIG. 21, the test result information includes an application ID, a test execution date, a final test result, a test case, and a test case result.
アプリIDは、テストが行われたアプリケーションのアプリIDである。テスト実施日は、テストが実施された日付である。最終テスト結果は、最終的なテスト結果であり、全てのテストケース結果が「OK」である場合に「OK」となる。一方で、最終テスト結果は、少なくとも1つのテストケース結果が「NG」である場合には「NG」となる。 The app ID is the app ID of the tested application. The test execution date is the date when the test was conducted. The final test result is the final test result, and is "OK" when all the test case results are "OK". On the other hand, the final test result is "NG" when at least one test case result is "NG".
テストケースは、テストされたテストケース(すなわち、パラメータ情報の組み合わせ)である。テストケース結果は、テストケース毎のテスト結果である。 A test case is a tested test case (ie, a combination of parameter information). The test case result is a test result for each test case.
このように、テスト結果情報には、テストが行われたアプリケーション毎に、最終的なテスト結果と、テストケース毎のテスト結果とが関連付けられている。 In this way, the test result information is associated with the final test result and the test result for each test case for each application tested.
以上により、本実施形態に係る情報処理システム1では、ユーザがPC端末30を用いて、例えば、フロー名や各コンポーネントのパラメータ情報等を設定することで、容易にアプリケーション(アプリ情報1000)を登録することができる。
As described above, in the
しかも、本実施形態に係る情報処理システム1では、アプリケーションを登録する場合や修正・更新する場合等に、アプリケーションの処理フロー(すなわち、アプリ情報1000に含まれる処理フロー情報1100に基づく処理フロー)をテストすることができる。これにより、例えば、アプリ設定情報1200に定義されたパラメータ情報のパラメータ値が正しいか否か等を確認することができ、登録されたアプリケーションや修正・更新されたアプリケーションの動作確認等の評価を行うことができるようになる。
Moreover, in the
したがって、本実施形態に係る情報処理システム1によれば、例えば、プログラミング言語等の専門的な知識や経験を有しないユーザ(例えば、企画担当者等)であっても、各種サービスを提供するアプリケーションの登録及びテストを容易に行うことができる。
Therefore, according to the
なお、本実施形態では、登録されたアプリケーションに対してテストを実行する場合について説明したが、例えば、登録前にテストを実行して、テストが成功したアプリケーションのみ登録を許可するようにしても良い。 In the present embodiment, the case where the test is executed for the registered application has been described. However, for example, the test may be executed before the registration and only the application whose test is successful may be allowed to be registered. ..
ここで、図20に示したように、ユーザによりパラメータ値が入力されるパラメータ情報もある。すなわち、アプリケーションの処理フローをテストする際に、ユーザにより入力されるパラメータ値が処理フローの実行結果に影響を与える場合がある。このような場合に、ユーザにより入力されるパラメータ値が存在しないと、例えば、処理フローの実行が失敗したり、処理フローが途中で異常終了したりしてしまう。なお、ユーザにより入力されるパラメータ値には、例えば、メールの送信先アドレスや外部のクラウドサービスの認証情報等が挙げられる。 Here, as shown in FIG. 20, there is also parameter information in which a parameter value is input by the user. That is, when testing the processing flow of the application, the parameter value input by the user may affect the execution result of the processing flow. In such a case, if the parameter value input by the user does not exist, for example, the execution of the processing flow may fail or the processing flow may end abnormally in the middle. The parameter values input by the user include, for example, an email destination address, authentication information of an external cloud service, and the like.
そこで、ユーザがパラメータ値を入力する必要がある場合も考慮したテスト実行処理について、図22を参照しながら説明する。図22は、第一の実施形態に係るテスト実行処理の他の例を示すシーケンス図である。なお、図22のステップS2201〜ステップS2204及びステップS2211〜ステップS2214の処理は、図18のステップS1801〜ステップS1804及びステップS1806〜ステップS1809の処理とそれぞれ同様であるため、その説明を省略する。 Therefore, the test execution process in consideration of the case where the user needs to input the parameter value will be described with reference to FIG. 22. FIG. 22 is a sequence diagram showing another example of the test execution process according to the first embodiment. Since the processes of steps S2201 to S2204 and steps S221 to S2214 of FIG. 22 are the same as the processes of steps S1801 to S1804 and steps S1806 to S1809 of FIG. 18, the description thereof will be omitted.
ステップS2204に続いて、ブラウザ310は、アプリ画面情報2000と、アプリ設定情報1200とが返信されると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS2205)。なお、当該取得要求には、当該アプリ設定情報1200のフロー名1205に定義されたフロー名が含まれる。
Following step S2204, when the
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるフロー名の処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS2206)。そして、アプリ管理部111は、アプリ情報記憶部150から取得した処理フロー情報1100をブラウザ310に返信する。
When the
以降のステップS2207の処理は、処理フロー情報1100に基づく処理フローが実行するオペレーション毎に実行される。すなわち、当該処理フロー情報1100の「"operationName"」に定義されたオペレーション名毎に実行される。
Subsequent processes in step S2207 are executed for each operation executed by the process flow based on the
ブラウザ310は、処理フロー情報1100及びアプリ設定情報1200の少なくとも一方を参照して、該当のオペレーション名に対応するパラメータ情報について、パラメータ値をユーザに入力させる必要があるパラメータ情報が存在するか否かを判定する(ステップS2207)。ブラウザ310は、例えば、以下の(1)〜(4)により、該当のオペレーション名に対応するパラメータ情報について、パラメータ値をユーザに入力させる必要があるパラメータ情報が存在するか否かを判定すれば良い。
The
(1)ブラウザ310は、処理フロー情報1100を参照して、パラメータ値をユーザに入力させることを示すフラグ(ユーザ入力フラグ)がパラメータ情報に定義されているか否かを判定する。この場合、ユーザ入力フラグがパラメータ情報に定義されていない場合に、当該パラメータ情報のパラメータ値をユーザに入力させると判定すれば良い。
(1) The
(2)ブラウザ310は、処理フロー情報1100を参照して、デフォルト値が定義されていないパラメータ情報が存在するか否かを判定する。この場合、デフォルト値が定義されていないパラメータ情報が存在する場合に、当該パラメータ情報のパラメータ値をユーザに入力させると判定すれば良い。
(2) The
なお、パラメータ情報のデフォルト値は、アプリ設定情報1200に定義されている場合もある。したがって、この場合、処理フロー情報1100でデフォルト値が定義されていないパラメータ情報について、アプリ設定情報1200にもデフォルト値が定義されていない場合に、当該パラメータ情報のパラメータ値をユーザに入力させると判定しても良い。
The default value of the parameter information may be defined in the
(3)ブラウザ310は、処理フロー情報1100を参照して、ユーザ入力フラグが定義されており、かつ、デフォルト値が定義されていないパラメータ情報が存在するか否かを判定する。この場合、ユーザ入力フラグが定義されており、かつ、デフォルト値が定義されていないパラメータ情報が存在する場合、当該パラメータ情報のパラメータ値を入力させると判定しても良い。なお、この場合も、上記(2)と同様に、更に、アプリ設定情報1200にもデフォルト値が定義されていない場合に、当該パラメータ情報のパラメータ値をユーザに入力させると判定しても良い。
(3) The
(4)ブラウザ310は、アプリ設定情報1200を参照して、ユーザ入力パラメータ1208にパラメータ情報が定義されているか否かを判定する。この場合、ユーザ入力パラメータ1208にパラメータ情報が定義されている場合に、当該パラメータ情報のパラメータ値をユーザに入力させると判定すれば良い。なお、ブラウザ310は、上記の(1)〜(3)の判定とあわせて、(4)による判定を行っても良い。
(4) The
ステップS2207において、該当のオペレーション名に対応するパラメータ情報について、パラメータ値をユーザに入力させる必要があるパラメータ情報が存在すると判定された場合、以降のステップS2208〜ステップS2209の処理が実行される。 In step S2207, when it is determined that there is parameter information that requires the user to input the parameter value for the parameter information corresponding to the corresponding operation name, the subsequent processes of steps S2208 to S2209 are executed.
ブラウザ310は、当該パラメータ情報のパラメータ値をユーザに入力させるためのパラメータ入力画面を表示する(ステップS2208)。ここで、パラメータ入力画面の一例を図23に示す。図23は、パラメータ入力画面の一例を示す図である。
The
図23に示すパラメータ入力画面G950は、オペレーション名「メール送信1」の処理に用いるパラメータ情報「To」のパラメータ値を入力するための画面である。ユーザは、パラメータ入力欄G951にパラメータ値を入力した上で、OKボタンG952を押下することで、当該パラメータ情報のパラメータ値を指定することができる。
The parameter input screen G950 shown in FIG. 23 is a screen for inputting the parameter value of the parameter information “To” used for the processing of the operation name “
次に、ブラウザ310は、上記のステップS2208で表示されたパラメータ入力画面において、ユーザにより指定されたパラメータ値で、処理フロー情報1100に定義されているパラメータ情報のパラメータ値を更新する(ステップS2209)。これにより、処理フロー情報1100に定義されているパラメータ情報のパラメータ値が、ユーザにより入力されたパラメータ値に設定される。
Next, the
以上のステップS2207〜ステップS2209の処理により、処理フロー情報1100に定義されているパラメータ情報のうち、ユーザによりパラメータ値が入力される必要があるパラメータ情報について、パラメータ値をユーザに入力させることができる。
By the processing of steps S2207 to S2209, the user can be made to input the parameter value for the parameter information that needs to be input by the user among the parameter information defined in the
ブラウザ310は、アプリ画面情報2000と、アプリ設定情報1200と、処理フロー情報1100とから、例えばオールペア法(ペアワイズ法)等の手法によりパラメータ情報を組み合わせて、テストケースを生成する(ステップS2210)。
The
以上により、本実施形態に係る情報処理システム1では、アプリケーションの処理フローをテストする際に、パラメータ情報のパラメータ値をユーザに入力させることができる。これにより、パラメータ値が指定されていないことによる処理フローの異常終了等を防止することができる。
As described above, in the
次に、図18のステップS1808の処理(処理フローの実行処理)の詳細について、図24を参照しながら説明する。図24は、OCR分割サービスを実現する処理フローの実行処理の一例を示すシーケンス図である。 Next, the details of the process (execution process of the process flow) in step S1808 of FIG. 18 will be described with reference to FIG. 24. FIG. 24 is a sequence diagram showing an example of execution processing of a processing flow that realizes the OCR division service.
まず、フロー実行部301は、アプリ実行部122からアプリケーションの実行要求を受信すると、処理フロー情報の取得要求をアプリ管理部111に送信する(ステップS2401)。なお、当該取得要求には、フロー名「ocr−divide」が含まれる。
First, when the
アプリ管理部111は、処理フロー情報の取得要求を受信すると、当該取得要求に含まれるフロー名「ocr−divide」の処理フロー情報1100をアプリ情報記憶部150から取得する(ステップS2402)。そして、アプリ管理部111は、アプリ情報記憶部150から取得した処理フロー情報1100をフロー実行部301に返信する。
When the
ここで、以降では、アプリ管理部111は、図7に示す処理フロー情報1100をフロー実行部301に返信したものとして説明する。
Hereafter, the
次に、フロー実行部301は、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2403)。
Next, the
すなわち、フロー実行部301は、図7に示す処理フロー情報1100の詳細処理定義1110に含まれる「"component"」に定義されているコンポーネント名「"OCR"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"OCR"」のコンポーネント(すなわち、OCRコンポーネント1310)を生成する(ステップS2404)。なお、OCRコンポーネント1310の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したOCRコンポーネント1310をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、OCRコンポーネント1310が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をOCRコンポーネント1310に送信する(ステップS2405)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データは、データ型「InputStream」として受信した、アプリケーションの実行要求に含まれる電子ファイルである。すなわち、フロー実行部301は、受信した電子ファイルを、単に「データ」として(データ型を意識することなく)、OCRコンポーネント1310に渡して処理の実行を要求する。本実施形態では、このようにデータ型を意識しない電子ファイル等の各種の情報を、単に「データ」と表す。また、パラメータ情報は、アプリケーションの実行要求に含まれるパラメータ情報である。
Here, the data is an electronic file included in the execution request of the application received as the data type "InputStream". That is, the
OCRコンポーネント1310は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部304に送信する(ステップS2406)。なお、当該型変換要求には、データと、OCRコンポーネント1310が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
Upon receiving the component execution request, the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS2407)。
Upon receiving the type conversion request, the type
ここで、型変換要求に含まれるデータのデータ型は「InputStream」である一方、指定されたデータ型は「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致しないものと判断する。
Here, the data type of the data included in the type conversion request is "InputStream", while the specified data type is "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換情報テーブル4000を参照して、データ型「InputStream」を「LocalFilePath」に変換するための型変換を特定する(ここでは、第1の型変換1410が特定される。)。そして、型変換管理部304は、特定した第1の型変換1410を生成する(ステップS2408)。なお、第1の型変換1410の生成は、型変換共通I/F1400を用いて行うことができる。
Then, the type
次に、型変換管理部304は、型変換処理の実行要求を第1の型変換1410に送信する(ステップS2409)。なお、当該実行要求には、データが含まれる。
Next, the type
第1の型変換1410は、型変換の実行要求を受信すると、当該実行要求に含まれるデータのデータ型を「InputStream」から「LocalFilePath」に変換する型変換処理を行う(ステップS2410)。そして、第1の型変換1410は、データ型が変換されたデータを型変換管理部304に返信する。
Upon receiving the type conversion execution request, the
型変換管理部304は、第1の型変換1410からデータを受信すると、当該データをOCRコンポーネント1310に送信する(ステップS2411)。
When the type
OCRコンポーネント1310は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS2412)。
When the
例えば、アプリケーションの実行要求にパラメータ情報「"language":"English"」が含まれていた場合、OCRコンポーネント1310は、OCR処理部131により、当該パラメータ情報を用いて、データにより示される電子ファイルに対して、英語でOCR処理を行う。
For example, when the execution request of the application includes the parameter information "" language ":" English "", the
そして、OCRコンポーネント1310は、OCR処理後の電子ファイル(すなわち、テキスト付きPDFファイル)を示すデータをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、処理フロー情報1100に基づくコンポーネントの取得要求をコンポーネント管理部302に送信する(ステップS2413)。
Next, the
すなわち、フロー実行部301は、図7に示す処理フロー情報1100の詳細処理定義1120に含まれる「"component"」に定義されているコンポーネント名「"PDF"」のコンポーネントの取得要求をコンポーネント管理部302に送信する。
That is, the
コンポーネント管理部302は、コンポーネントの取得要求を受信すると、コンポーネント名「"PDF"」のコンポーネント(すなわち、PDFコンポーネント1320)を生成する(ステップS2414)。なお、PDFコンポーネント1320の生成は、コンポーネント共通I/F1300に定義されたコンポーネントを生成するためのAPIを用いて行うことができる。
Upon receiving the component acquisition request, the
そして、コンポーネント管理部302は、生成したPDFコンポーネント1320をフロー実行部301に返信する。すなわち、コンポーネント管理部302は、例えば、PDFコンポーネント1320が展開されたメモリ(例えばRAM14)上のアドレスをフロー実行部301に返信する。
Then, the
次に、フロー実行部301は、コンポーネント実行要求をPDFコンポーネント1320に送信する(ステップS2415)。なお、当該実行要求には、データと、パラメータ情報とが含まれる。
Next, the
ここで、データは、OCRコンポーネント1310から返信されたデータ(すなわち、OCR処理後の電子ファイル(テキスト付きPDFファイル)を示すパス)である。 Here, the data is the data returned from the OCR component 1310 (that is, the path indicating the electronic file (PDF file with text) after the OCR processing).
PDFコンポーネント1320は、コンポーネント実行要求を受信すると、型変換要求を型変換管理部304に送信する(ステップS2416)。なお、当該型変換要求には、データと、PDFコンポーネント1320が扱うことができるデータ型を示す「LocalFilePath」の指定とが含まれる。
When the
型変換管理部304は、型変換要求を受信すると、当該型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するか否かをチェックする(ステップS2417)。
Upon receiving the type conversion request, the type
ここで、型変換要求に含まれるデータのデータ型は「LocalFilePath」であり、指定されたデータ型も「LocalFilePath」である。したがって、型変換管理部304は、型変換要求に含まれるデータのデータ型と、指定されたデータ型とが一致するものと判断する。
Here, the data type of the data included in the type conversion request is "LocalFilePath", and the designated data type is also "LocalFilePath". Therefore, the type
すると、型変換管理部304は、型変換要求に含まれるデータをPDFコンポーネント1320に送信する(ステップS2418)。このように、データ型のチェック(ステップS2417の処理)において、データのデータ型と、指定されたデータ型とが一致すると判断された場合には、型変換管理部304は、型変換の生成を行わない。
Then, the type
PDFコンポーネント1320は、型変換管理部304からデータを受信すると、パラメータ情報を用いて、データに対して処理を実行する(ステップS2419)。
When the
例えば、アプリケーションの実行要求にパラメータ情報「"divisionPageRange":"Each Pages"」と、パラメータ情報「"divisionPageNumbers":100」とが含まれていたとする。この場合、PDFコンポーネント1320は、これらのパラメータ情報を用いて、データにより示される電子ファイル(テキスト付きPDF)の分割処理を行う。具体的には、この場合、PDFコンポーネント1320は、ページ番号「100」以降の各ページを分割して、テキスト付きPDFファイルを作成する。
For example, it is assumed that the execution request of the application includes the parameter information "" division Page Range ":" Each Pages "" and the parameter information "" division Page Numbers ": 100". In this case, the
そして、PDFコンポーネント1320は、分割処理後の電子ファイルを示すデータをフロー実行部301に返信する。
Then, the
以上により、図7に示す処理フロー情報1100に基づく一連の処理(処理フロー)の実行が完了する。これにより、本実施形態に係るサービス提供システム10は、テストケース毎に、OCR分割アプリケーションが提供するサービス(OCR分割サービス)を実現する処理フローをテストすることができる。また、後述するように、機器20に対して、OCR分割サービスを提供することができる。
As a result, the execution of a series of processes (process flows) based on the
次に、機器20のユーザがOCR分割サービスを利用する場合について、図25を参照しながら説明する。図25は、OCR分割サービスを利用する場合の全体処理の一例を示すシーケンス図である。
Next, a case where the user of the
まず、機器20のブラウザ210は、OCR分割サービスのアプリ画面を表示させるための操作(表示操作)を受け付ける(ステップS2501)。なお、機器20のユーザは、例えば、OCR分割サービスのアプリ画面のURLをブラウザ310のアドレスバーに入力することで、アプリ画面の表示操作を行うことができる。
First, the
機器20のブラウザ210は、OCR分割サービスのアプリ画面の表示操作を受け付けると、OCR分割サービスのアプリ画面の表示要求を、Webサービス処理部120の画面構成部121に送信する(ステップS2502)。なお、OCR分割サービスのアプリ画面の表示要求には、OCR分割サービスを提供するアプリ情報1000のアプリIDが含まれる。
When the
Webサービス処理部120の画面構成部121は、OCR分割サービスのアプリ画面の表示要求を受信すると、アプリ設定の取得要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS2503)。なお、アプリ設定の取得要求には、OCR分割サービスを提供するアプリ情報1000のアプリIDが含まれる。
When the
入出力サービス処理部110のアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS2504)。そして、アプリ管理部111は、アプリ情報記憶部150から取得したアプリ設定情報1200を画面構成部121に返信する。
Upon receiving the application setting acquisition request, the
Webサービス処理部120の画面構成部121は、OCR分割サービスを提供するアプリ情報1000のアプリIDと関連付けて記憶されているアプリ画面情報2000をアプリ画面情報記憶部160から取得する(ステップS2505)。そして、画面構成部121は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS2504で返信されたアプリ設定情報1200とをブラウザ210に返信する。
The
機器20のブラウザ210は、画面構成部121から受信したアプリ画面情報2000とアプリ設定情報1200とに基づいて、例えば図26に示すアプリ画面G1000を表示する(ステップS2506)。
The
ここで、図26に示すアプリ画面G1000は、機器20のユーザがOCR分割サービスを利用するための画面である。
Here, the application screen G1000 shown in FIG. 26 is a screen for the user of the
図26に示すアプリ画面G1000には、アプリ名G1010と、パラメータ値入力エリアG1020と、「スタート」ボタンG1030とが含まれる。また、パラメータ値入力エリアG1020には、分割方法入力欄G1021と、分割開始ページ開始番号入力欄G1022とが含まれる。 The application screen G1000 shown in FIG. 26 includes an application name G1010, a parameter value input area G1020, and a "start" button G1030. Further, the parameter value input area G1020 includes a division method input field G1021 and a division start page start number input field G1022.
アプリ名G1010は、図15に示すアプリ設定情報1200のアプリ表示名1203に基づいて表示される。なお、アプリ表示名1203に複数の言語のアプリケーション名称(タイトル)が定義されている場合、ブラウザ210の言語設定に対応する言語のアプリケーション名称がアプリ名G1010に表示される。
The application name G1010 is displayed based on the
また、分割方法入力欄G1021と、分割開始ページ開始番号入力欄G1022とは、図15に示すアプリ設定情報1200のユーザ入力パラメータ1208に基づいて表示される。
Further, the division method input field G1021 and the division start page start number input field G1022 are displayed based on the
すなわち、分割方法入力欄G1021は、ユーザ入力パラメータ1208の入力定義1210に基づいて表示される。同様に、分割開始ページ開始番号入力欄G1022は、ユーザ入力パラメータ1208の入力定義1220に基づいて表示される。
That is, the division method input field G1021 is displayed based on the
このように、機器20のユーザがサービスを利用するためのアプリ画面には、アプリ設定情報1200に定義されている情報に基づいて、アプリ名やパラメータ値」入力エリアが表示される。
As described above, on the application screen for the user of the
ここで、図26に示すアプリ画面G1000において、ユーザは、分割方法入力欄G1021及び分割開始ページ開始番号入力欄G1022にパラメータ値を入力(選択)した上で、「スタート」ボタンG1030を押下する操作(実行操作)を行ったものとする。 Here, in the application screen G1000 shown in FIG. 26, the user inputs (selects) a parameter value in the division method input field G1021 and the division start page start number input field G1022, and then presses the "start" button G1030. It is assumed that (execution operation) has been performed.
すると、機器20のブラウザ210は、実行操作を受け付ける(ステップS2507)。そして、機器20のブラウザ210は、スキャナ26を制御して、原稿を読み取ることで、電子ファイル(画像ファイル)を生成する(ステップS2508)。
Then, the
機器20のブラウザ210は、電子ファイル(画像ファイル)が生成されると、アプリケーションの実行要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS2509)。なお、アプリケーションの実行要求には、アプリ設定情報1200のフロー名1205に定義されたフロー名「ocr−divide」と、上記のステップS2508で生成された電子ファイルと、パラメータ情報とが含まれる。
When the electronic file (image file) is generated, the
ここで、パラメータ情報は、アプリ設定情報1200のデフォルトパラメータ1207に定義されているパラメータ情報、及びユーザによりアプリ画面G1000でパラメータ値が入力されたパラメータ情報である。
Here, the parameter information is the parameter information defined in the
Webサービス処理部120のアプリ実行部122は、アプリケーションの実行要求を受信すると、当該実行要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS2510)。
When the
入出力サービス処理部110のロジック処理部112は、アプリケーションの実行要求を受信すると、処理フローの実行処理を行う(ステップS2511)。すなわち、ロジック処理部112は、図24で説明した処理フローの実行処理を行う。
When the
そして、ロジック処理部112は、処理フローの実行処理の処理結果を、Webサービス処理部120を介して、ブラウザ210に返信する。これにより、本実施形態に係るサービス提供システム10は、OCR分割サービスを提供することができる。
Then, the
ここで、図18で説明したテスト実行処理では、ブラウザ310でテストケースを生成する場合について説明したが、これに限られない。テストケースは、例えば、サービス提供システム10が生成しても良い。テストケースをサービス提供システム10で生成する場合のテスト実行処理について、図27を参照しながら説明する。図27は、第一の実施形態に係るテスト実行処理の他の例を示すシーケンス図である。なお、図27のステップS2706〜ステップS2709の処理は、図18のステップS1806〜ステップS1809の処理とそれぞれ同様であるため、その説明を省略する。
Here, in the test execution process described with reference to FIG. 18, a case where a test case is generated by the
まず、ブラウザ310は、テスト実行操作を受け付けると、テストケースの生成要求を、Webサービス処理部120の画面構成部121に送信する(ステップS2701)。なお、テストケースの生成要求には、図8のステップS813でアプリ管理部111から返信されたアプリIDが含まれる。
First, when the
Webサービス処理部120の画面構成部121は、テストケースの生成要求を受信すると、当該生成要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS2702)。
When the
入出力サービス処理部110のアプリ管理部111は、テストケースの生成要求を受信すると、当該生成要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS2703)。
Upon receiving the test case generation request, the
次に、入出力サービス処理部110のアプリ管理部111は、上記のステップS2703で取得したアプリ設定情報1200からテストケースを生成する(ステップS2704)。なお、テストケースの生成方法は、図8のステップS1805と同様である。
Next, the
そして、アプリ管理部111は、生成したテストケースを、Webサービス処理部120の画面構成部121に返信する。
Then, the
Webサービス処理部120の画面構成部121は、テストケースを受信すると、テスト結果画面G800及びテスト結果画面G900を表示するためのアプリ画面情報2000をアプリ画面情報記憶部160から取得する(ステップS2705)。そして、画面構成部121は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS2704で返信されたテストケースとをブラウザ310に返信する。
Upon receiving the test case, the
このように、本実施形態に係る情報処理システム1は、サービス提供システム10でテストケースが生成され、ブラウザ310に返信されても良い。
As described above, in the
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、各コンポーネントに関する情報(以降、「コンポーネント情報」と表す。)にも基づいてテストケースを生成する場合について説明する。これにより、例えば、デフォルトのパラメータ値がコンポーネント情報に定義されている場合には、このデフォルトのパラメータ値を考慮したテストケースを生成することができるようになる。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, a case where a test case is generated based on information about each component (hereinafter, referred to as “component information”) will be described. As a result, for example, when the default parameter value is defined in the component information, it becomes possible to generate a test case considering this default parameter value.
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、適宜、その説明を省略するものとする。 In the second embodiment, the differences from the first embodiment will be mainly described, and the description of the components substantially the same as those of the first embodiment will be omitted as appropriate. To do.
<機能構成>
まず、本実施形態に係る情報処理システム1の機能構成について、図28を参照しながら説明する。図28は、本実施形態に係る情報処理システム1の機能構成の一例を示す図である。
<Functional configuration>
First, the functional configuration of the
図28に示すサービス提供システム10は、更に、コンポーネント情報記憶部190を有する。当該記憶部は、HDD18を用いて実現可能である。なお、当該記憶部は、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
The
コンポーネント情報記憶部190は、コンポーネント情報1500を記憶する。コンポーネント情報1500には、コンポーネントに関する各種情報(例えば、コンポーネントが実行可能なオペレーション、当該オペレーションの実行に用いられるパラメータ情報等)が定義されている。
The component
<処理の詳細>
次に、本実施形態に係る情報処理システム1の処理の詳細について説明する。以降では、本実施形態に係るテスト実行処理の詳細について、図29を参照しながら説明する。図29は、本実施形態に係るテスト実行処理の一例を示すシーケンス図である。なお、図29のステップS2910〜ステップS2913の処理は、図18のステップS1806〜ステップS1809の処理とそれぞれ同様であるため、その説明を省略する。
<Details of processing>
Next, the details of the processing of the
まず、ブラウザ310は、テスト実行操作を受け付けると、アプリ設定の取得要求を、Webサービス処理部120の画面構成部121に送信する(ステップS2901)。なお、アプリ設定の取得要求には、図8のステップS813でアプリ管理部111から返信されたアプリIDが含まれる。
First, when the
Webサービス処理部120の画面構成部121は、アプリ設定の取得要求を受信すると、当該取得要求を、入出力サービス処理部110のアプリ管理部111に送信する(ステップS2902)。
When the
入出力サービス処理部110のアプリ管理部111は、アプリ設定の取得要求を受信すると、当該取得要求に含まれるアプリIDに関連付けて記憶されているアプリ設定情報1200をアプリ情報記憶部150から取得する(ステップS2903)。
Upon receiving the application setting acquisition request, the
ここで、以降では、上記のステップS2903では、図30に示すアプリ設定情報1200が取得されたものとする。図30に示すアプリ設定情報1200では、ユーザ入力パラメータ1208の入力定義1210が図15と異なっている。すなわち、図30に示すアプリ設定情報1200の入力定義1210におけるパラメータ情報「"divisionPageRange"」では、「"inputType"」に「"text"」が定義されている。
Here and thereafter, it is assumed that the
次に、入出力サービス処理部110のアプリ管理部111は、上記のステップS2903で取得したアプリ設定情報1200のフロー名1205に対応する処理フロー情報1100からコンポーネント名とオペレーション名とを特定する(ステップS2904)。
Next, the
例えば、上記のステップS2903で取得したアプリ設定情報1200のフロー名1205に「ocr−divide」が定義されていたとする。この場合、アプリ管理部111は、図7に示す処理フロー情報1100の詳細処理定義1110からコンポーネント名「OCR」とオペレーション名「process」とを特定する。同様に、アプリ管理部111は、図7に示す処理フロー情報1100の詳細処理定義1120からコンポーネント名「PDF」とオペレーション名「divideByPageNumbers」とを特定する。
For example, it is assumed that "ocr-divide" is defined in the flow name 1205 of the
そして、アプリ管理部111は、上記のステップS2903で取得したアプリ設定情報1200と、上記のステップS2904で特定したコンポーネント名及びオペレーション名とを、Webサービス処理部120の画面構成部121に返信する。
Then, the
Webサービス処理部120の画面構成部121は、テスト結果画面G800及びテスト結果画面G900を表示するためのアプリ画面情報2000をアプリ画面情報記憶部160から取得する(ステップS2905)。そして、画面構成部121は、アプリ画面情報記憶部160から取得したアプリ画面情報2000と、上記のステップS2904で返信されたアプリ設定情報1200と、コンポーネント名及びオペレーション名とをブラウザ310に返信する。
The
ブラウザ310は、アプリ画面情報2000と、アプリ設定情報1200と、コンポーネント名及びオペレーション名とが返信されると、コンポーネント情報の取得要求を、Webサービス処理部120のアプリ実行部122に送信する(ステップS2906)。なお、コンポーネント情報の取得要求には、画面構成部121から返信されたコンポーネント名が含まれる。
When the
Webサービス処理部120のアプリ実行部122は、コンポーネント情報の取得要求を受信すると、当該取得要求を、入出力サービス処理部110のロジック処理部112に送信する(ステップS2907)。
When the
入出力サービス処理部110のロジック処理部112は、コンポーネント情報の取得要求を受信すると、当該取得要求に含まれるコンポーネント名のコンポーネント情報1500をコンポーネント情報記憶部190から取得する(ステップS2908)。
Upon receiving the component information acquisition request, the
例えば、コンポーネント情報の取得要求に含まれるコンポーネント名が「OCR」と「PDF」とであるとする。この場合、ロジック処理部112は、コンポーネント名「OCR」のコンポーネント情報1500と、コンポーネント名「PDF」のコンポーネント情報1500とを取得する。
For example, suppose that the component names included in the component information acquisition request are "OCR" and "PDF". In this case, the
ここで、コンポーネント名「OCR」のコンポーネント情報1500の一例を図31に示す。図31に示すコンポーネント情報1500には、コンポーネント名1501と、オペレーション名1502と、パラメータ定義1503とが含まれる。
Here, FIG. 31 shows an example of the
パラメータ定義1503には、パラメータ名を示す「"name"」と、デフォルトのパラメータ値を示す「"defaultValue"」と、設定可能なパラメータ値を示す「optionValues」とが定義されている。
In the
そして、ロジック処理部112は、取得したコンポーネント情報1500を、アプリ実行部122を介して、ブラウザ310に返信する。
Then, the
ブラウザ310は、コンポーネント情報1500が返信されると、アプリ設定情報1200と、当該コンポーネント情報1500と、オペレーション名とから、パラメータ情報を組み合わせて、テストケースを生成する(ステップS2909)。
When the
例えば、図30に示すアプリ設定情報1200の入力定義1210におけるパラメータ情報「"divisionPageRange"」では、「"inputType"」に「"text"」が定義されているだけである。このため、パラメータ情報「"divisionPageRange"」のパラメータ値として、どのような値を取り得るのか不明である。
For example, in the parameter information "" divisionPageRanger "" in the
このため、この場合、ブラウザ310は、図31に示すコンポーネント情報1500のパラメータ定義1503から、パラメータ情報「"divisionPageRange"」のデフォルトのパラメータ値「"Each Pages"」を用いてテストケースを生成する。
Therefore, in this case, the
このように、例えばアプリ設定情報1200を適切なパラメータ値が定義されていない場合に、ブラウザ310は、コンポーネント情報1500に定義されているデフォルトのパラメータ値を用いて、テストケースを生成する。これにより、本実施形態に係る情報処理システム1では、例えば、処理フローの実行においてコンポーネント情報1500に定義されたデフォルトのパラメータ値が用いられるようなアプリケーションについて、当該パラメータ値を用いたテストを行うことができるようになる。
In this way, for example, when an appropriate parameter value is not defined for 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.
1 情報処理システム
10 サービス提供システム
20 機器
30 PC端末
110 入出力サービス処理部
111 アプリ管理部
112 ロジック処理部
120 Webサービス処理部
121 画面構成部
122 アプリ実行部
130 ドキュメントサービス部
131 OCR処理部
140 ポータルサービス部
141 UI提供部
142 アプリ登録部
150 アプリ情報記憶部
160 アプリ画面情報記憶部
170 ポータル画面情報記憶部
180 テスト結果情報記憶部
210 ブラウザ
310 ブラウザ
301 フロー実行部
302 コンポーネント管理部
303 コンポーネント群
304 型変換管理部
305 型変換群
1000 アプリ情報
1100 処理フロー情報
1200 アプリ設定情報
2000 アプリ画面情報
3000 ポータル画面情報
4000 型変換情報テーブル
1
Claims (9)
電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、1以上の前記プログラムそれぞれの実行に用いられるパラメータ情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、
前記情報処理システムに接続される1以上の電子機器のうちの一の電子機器において作成された前記アプリ設定情報を含む登録要求を受信する受信手段と、
前記受信手段により受信した前記登録要求に含まれる前記アプリ設定情報に定義されている前記パラメータ情報に基づいて、前記一連の処理の実行をテストするための前記パラメータ情報の組み合わせを示すテストケースを生成する生成手段と、
前記登録要求に含まれる前記アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される1以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記生成手段により生成された前記テストケースにより示される前記パラメータ情報の組み合わせを用いて実行させることで、前記一連の処理の実行をテストする実行手段と、
を有する情報処理システム。 An information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes.
For each application that executes a series of processes using electronic data, a program identification information that identifies one or more programs that execute each process of the series of processes and an execution order of one or more programs are defined. An application storage means for storing the application in which the generated flow information is associated with the application setting information in which the parameter information used for executing each of the one or more programs and the flow identification information for identifying the flow information are defined. ,
A receiving means for receiving a registration request including the application setting information created in one of one or more electronic devices connected to the information processing system.
Based on the parameter information defined in the application setting information included in the registration request received by the receiving means, a test case showing a combination of the parameter information for testing the execution of the series of processes is generated. Generation means and
An acquisition means for acquiring the flow information identified by the flow identification information defined in the application setting information included in the registration request from the application storage means, and
Each of the one or more programs identified by the program identification information defined in the flow information acquired by the acquisition means is generated by the generation means according to the execution order defined in the flow information. An execution means for testing the execution of the series of processes by executing the combination of the parameter information indicated by the test case.
Information processing system with.
前記生成手段は、
前記アプリ登録手段により登録された前記アプリ設定情報に定義されている前記パラメータ情報に基づいて、前記テストケースを生成する、ことを特徴とする請求項1に記載の情報処理システム。 It has an application registration means for storing the application setting information received by the receiving means in the application storage means in association with the flow information identified by the flow identification information defined in the application setting information.
The generation means
The information processing system according to claim 1, wherein the test case is generated based on the parameter information defined in the application setting information registered by the application registration means.
前記アプリ設定情報に定義されている前記パラメータ情報と、該パラメータ情報に対して設定可能なパラメータ値の範囲を示す情報とに基づいて、前記範囲の境界値がパラメータ値として設定された前記パラメータ情報を含む前記テストケースを生成する、ことを特徴とする請求項1乃至3の何れか一項に記載の情報処理システム。 The generation means
The parameter information in which the boundary value of the range is set as the parameter value based on the parameter information defined in the application setting information and the information indicating the range of the parameter value that can be set for the parameter information. The information processing system according to any one of claims 1 to 3, wherein the test case including the above is generated.
前記アプリ設定情報に定義されている前記パラメータ情報と、該アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報に定義されている前記パラメータ情報とに基づいて、前記テストケースを生成する、ことを特徴とする請求項1乃至4の何れか一項に記載の情報処理システム。 The generation means
The test case is based on the parameter information defined in the application setting information and the parameter information defined in the flow information identified by the flow identification information defined in the application setting information. The information processing system according to any one of claims 1 to 4, wherein the information processing system is generated.
前記アプリ設定情報に定義されている前記パラメータ情報と、該アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報に定義されている前記パラメータ情報とのうちの少なくとも一方のパラメータ情報について、ユーザにより入力されたパラメータ値が設定されたパラメータ情報に基づいて、前記テストケースを生成する、ことを特徴とする請求項1乃至4の何れか一項に記載の情報処理システム。 The generation means
At least one of the parameter information defined in the application setting information and the parameter information defined in the flow information identified by the flow identification information defined in the application setting information. The information processing system according to any one of claims 1 to 4, wherein the test case is generated based on the parameter information in which the parameter value input by the user is set.
前記生成手段は、
前記アプリ設定情報に定義されている前記パラメータ情報と、前記特定手段により特定された前記プログラム識別情報により識別される前記プログラムに関する情報に定義されている前記パラメータ情報とに基づいて、前記テストケースを生成する、ことを特徴とする請求項1乃至4の何れか一項に記載の情報処理システム。 It has a specific means for specifying the program identification information defined in the flow information identified by the flow identification information defined in the application setting information included in the registration request received by the receiving means.
The generation means
The test case is based on the parameter information defined in the application setting information and the parameter information defined in the information about the program identified by the program identification information specified by the specific means. The information processing system according to any one of claims 1 to 4, wherein the information processing system is generated.
電子データを用いた一連の処理を実行するアプリケーション毎に、該一連の処理のそれぞれの処理を実行する1以上の前記プログラムを識別するプログラム識別情報と、1以上の前記プログラムの実行順とが定義されたフロー情報を、1以上の前記プログラムそれぞれの実行に用いられるパラメータ情報と、前記フロー情報を識別するフロー識別情報とが定義されたアプリ設定情報に関連付けた前記アプリケーションを記憶するアプリ記憶手段と、
前記情報処理装置に接続される1以上の電子機器のうちの一の電子機器において作成された前記アプリ設定情報を含む登録要求を受信する受信手段と、
前記受信手段により受信した前記登録要求に含まれる前記アプリ設定情報に定義されている前記パラメータ情報に基づいて、前記一連の処理の実行をテストするための前記パラメータ情報の組み合わせを示すテストケースを生成する生成手段と、
前記登録要求に含まれる前記アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手段と、
前記取得手段により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される1以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記生成手段により生成された前記テストケースにより示される前記パラメータ情報の組み合わせを用いて実行させることで、前記一連の処理の実行をテストする実行手段と、
を有する情報処理装置。 An information processing device having a plurality of programs that execute predetermined processes.
For each application that executes a series of processes using electronic data, a program identification information that identifies one or more programs that execute each process of the series of processes and an execution order of one or more programs are defined. An application storage means for storing the application in which the generated flow information is associated with the application setting information in which the parameter information used for executing each of the one or more programs and the flow identification information for identifying the flow information are defined. ,
A receiving means for receiving a registration request including the application setting information created in one of one or more electronic devices connected to the information processing device.
Based on the parameter information defined in the application setting information included in the registration request received by the receiving means, a test case showing a combination of the parameter information for testing the execution of the series of processes is generated. Generation means and
An acquisition means for acquiring the flow information identified by the flow identification information defined in the application setting information included in the registration request from the application storage means, and
Each of the one or more programs identified by the program identification information defined in the flow information acquired by the acquisition means is generated by the generation means according to the execution order defined in the flow information. An execution means for testing the execution of the series of processes by executing the combination of the parameter information indicated by the test case.
Information processing device with.
前記情報処理システムに接続される1以上の電子機器のうちの一の電子機器において作成された前記アプリ設定情報を含む登録要求を受信する受信手順と、
前記受信手順により受信した前記登録要求に含まれる前記アプリ設定情報に定義されている前記パラメータ情報に基づいて、前記一連の処理の実行をテストするための前記パラメータ情報の組み合わせを示すテストケースを生成する生成手順と、
前記登録要求に含まれる前記アプリ設定情報に定義された前記フロー識別情報により識別される前記フロー情報を前記アプリ記憶手段から取得する取得手順と、
前記取得手順により取得された前記フロー情報に定義されている前記プログラム識別情報により識別される1以上の前記プログラムそれぞれを、前記フロー情報に定義されている前記実行順に従って、前記生成手順により生成された前記テストケースにより示される前記パラメータ情報の組み合わせを用いて実行させることで、前記一連の処理の実行をテストする実行手順と、
を有する情報処理方法。 An information processing system including one or more information processing devices and having a plurality of programs that execute predetermined processes, respectively, for each application that executes a series of processes using electronic data. Program identification information that identifies one or more of the programs that execute processing, flow information that defines the execution order of one or more of the programs, parameter information used for executing each of the one or more programs, and the above-mentioned In an information processing method used in an information processing system having an application storage means for storing the application associated with the application setting information in which the flow identification information for identifying the flow information is defined.
A receiving procedure for receiving a registration request including the application setting information created in one of one or more electronic devices connected to the information processing system, and a receiving procedure.
Based on the parameter information defined in the application setting information included in the registration request received by the receiving procedure, a test case showing a combination of the parameter information for testing the execution of the series of processes is generated. Generation procedure and
An acquisition procedure for acquiring the flow information identified by the flow identification information defined in the application setting information included in the registration request from the application storage means, and
Each of the one or more programs identified by the program identification information defined in the flow information acquired by the acquisition procedure is generated by the generation procedure according to the execution order defined in the flow information. An execution procedure for testing the execution of the series of processes by executing the combination of the parameter information indicated by the test case.
Information processing method having.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18174228.9A EP3410364B1 (en) | 2017-05-29 | 2018-05-25 | Information processing system, information processing apparatus, and information processing method |
| US15/989,954 US10715687B2 (en) | 2017-05-29 | 2018-05-25 | Information processing system, information processing apparatus, and information processing method for testing a series of processes of one or more applications |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017105902 | 2017-05-29 | ||
| JP2017105902 | 2017-05-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018200667A JP2018200667A (en) | 2018-12-20 |
| JP6900864B2 true JP6900864B2 (en) | 2021-07-07 |
Family
ID=64668238
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017184189A Active JP6900864B2 (en) | 2017-05-29 | 2017-09-25 | Information processing system, information processing device and information processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6900864B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7490410B2 (en) * | 2020-03-25 | 2024-05-27 | 東芝テック株式会社 | Image forming apparatus and method for controlling the image forming apparatus |
| JP7709403B2 (en) * | 2022-03-25 | 2025-07-16 | 株式会社 日立産業制御ソリューションズ | Automatic execution device and automatic execution method |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11120029A (en) * | 1997-10-17 | 1999-04-30 | Hitachi Ltd | Software test data creation support method |
| JP2005004712A (en) * | 2003-06-13 | 2005-01-06 | Hidenori Sakamoto | Remote maintenance support system |
| JP2006209521A (en) * | 2005-01-28 | 2006-08-10 | Matsushita Electric Ind Co Ltd | Automatic test item generator |
| JP2006221447A (en) * | 2005-02-10 | 2006-08-24 | Mitsubishi Electric Corp | System test equipment |
| US9367432B2 (en) * | 2010-12-24 | 2016-06-14 | Tata Consultancy Services Limited | Testing system |
| JP6859620B2 (en) * | 2015-10-14 | 2021-04-14 | 株式会社リコー | Information processing system, information processing device, information processing method, and information processing program |
-
2017
- 2017-09-25 JP JP2017184189A patent/JP6900864B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018200667A (en) | 2018-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3410364B1 (en) | Information processing system, information processing apparatus, and information processing method | |
| JP6885138B2 (en) | Information processing system, information processing device, and information processing method | |
| US10356266B2 (en) | Information processing system, information processing apparatus, and method for processing information | |
| US10671333B2 (en) | Information processing system, information processing apparatus, and information processing method | |
| EP3057303B1 (en) | Information processing system, information processing apparatus, and information processing method | |
| JP7110636B2 (en) | Information processing system, information processing device, and information processing method | |
| JP2016154000A (en) | Information processing system, information processing apparatus, and information processing method | |
| US10250771B2 (en) | Information processing system, information processing apparatus, and information processing method | |
| US20160259933A1 (en) | Information processing system, information processing apparatus, and information processing method | |
| US10530943B2 (en) | Information processing system configured to maintain application state information associated with an application, information processing apparatus, and information processing method | |
| JP2020052701A (en) | Information processing system, service providing system and flow setting method | |
| US20210349974A1 (en) | System and method for providing service, and recording medium | |
| JP7268348B2 (en) | Information processing system, information processing device, information processing method and program | |
| JP2021016147A (en) | Information processing system, information processing method, and apparatus | |
| JP5786464B2 (en) | Web server, printing apparatus, printing system, and web server program | |
| JP2017142766A (en) | Information processing system, information processing apparatus, and information processing method | |
| JP6900864B2 (en) | Information processing system, information processing device and information processing method | |
| 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 processing apparatus, and information processing method | |
| US20190289157A1 (en) | Information processing system, information processing method and non-transitory computer-readable storage medium | |
| JP2020030697A (en) | Information processing apparatus, terminal device, setting screen display system, and setting screen display method | |
| US11169757B2 (en) | Print server system providing functions related to printing | |
| JP7167541B2 (en) | Information processing system, information processing method, and program | |
| US20200394247A1 (en) | Information processing system, server apparatus, and information processing method | |
| JP2021005349A (en) | Information processing systems, service delivery systems, methods, and programs |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200707 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210512 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210518 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210531 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6900864 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |