Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7772677B2 - Information processing device, information processing method, and information processing program - Google Patents
[go: Go Back, main page]

JP7772677B2 - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program

Info

Publication number
JP7772677B2
JP7772677B2 JP2022148763A JP2022148763A JP7772677B2 JP 7772677 B2 JP7772677 B2 JP 7772677B2 JP 2022148763 A JP2022148763 A JP 2022148763A JP 2022148763 A JP2022148763 A JP 2022148763A JP 7772677 B2 JP7772677 B2 JP 7772677B2
Authority
JP
Japan
Prior art keywords
item
information processing
value
input
input screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022148763A
Other languages
Japanese (ja)
Other versions
JP2024043655A (en
Inventor
俊平 矢崎
健人 馬場
憲一 樫尾
剛光 上野
Original Assignee
株式会社オービック
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社オービック filed Critical 株式会社オービック
Priority to JP2022148763A priority Critical patent/JP7772677B2/en
Publication of JP2024043655A publication Critical patent/JP2024043655A/en
Application granted granted Critical
Publication of JP7772677B2 publication Critical patent/JP7772677B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

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

今日において、データの改ざんを防止する技術が知られている。例えば、特許文献1(特開2004-094818号公報)に開示されている帳票印刷制御装置は、サーバから配信されるファイルであって、帳票や埋め込みデータを結合したファイルの中に埋め込まれている配信に関する情報を取り出すと共に、取り出した配信に関する情報を履歴保存する。そして、履歴保存した情報に基づいて、印刷処理してもよいファイルであるか否かを判断する。また、同一の配信ファイルであっても、処理の状況に応じて処理を再実行する。さらに、配信されたファイルが不要になった時点で削除する。これにより、帳票及び埋め込みデータの改ざんを防止することができる。 Technologies for preventing data tampering are known today. For example, the form printing control device disclosed in Patent Document 1 (JP 2004-094818 A) extracts distribution-related information embedded in a file that combines forms and embedded data and is distributed from a server, and stores the extracted distribution-related information in a history. It then determines whether the file can be printed based on the stored history information. It also re-executes processing for the same distributed file depending on the processing status. It also deletes the distributed file when it is no longer needed. This prevents tampering with forms and embedded data.

特開2004-094818号公報Japanese Patent Application Laid-Open No. 2004-094818

しかし、従来は、リクエストデータの値を、そのまま使用しないように、設計から考慮する必要があった。これは、アプリケーションプログラムの全ての画面で個別に実装する必要があるため、簡単にデータの改ざんを防止することは困難となっていた。 However, in the past, it was necessary to consider from the design stage that request data values should not be used as is. This required individual implementation on every screen of the application program, making it difficult to easily prevent data tampering.

本発明は、上述の課題に鑑みてなされたものであり、簡単にデータの改ざんを防止可能とした情報処理装置、情報処理方法、及び、情報処理プログラムの提供を目的とする。 The present invention was made in consideration of the above-mentioned problems, and aims to provide an information processing device, information processing method, and information processing program that can easily prevent data tampering.

上述の課題を解決し、目的を達成するために、本発明に係る情報処理装置は、入力画面を表示部に表示する表示制御部と、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理部と、を有する。 To solve the above-mentioned problems and achieve the objectives, the information processing device of the present invention has a display control unit that displays an input screen on a display unit; a determination unit that, when input is made into an item included in the input screen, references setting information stored in a memory unit indicating whether the value of each item on the input screen can be changed and determines whether the value of the item input via the input screen is a changeable item; and an information processing unit that, if the determination result indicates that the value of the item input via the input screen can be changed, supplies an information processing result corresponding to the value of the input item to the display control unit; and, if the determination result indicates that the value of the item input via the input screen cannot be changed, discards the value of the input item, maintains the previous value, and supplies an information processing result corresponding to the previous value to the display control unit.

また、上述の課題を解決し、目的を達成するために、本発明に係る情報処理方法は、表示制御部が入力画面を表示部に表示する表示制御ステップと、判別部が、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別ステップと、情報処理部が、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理ステップと、を有する。 In order to solve the above-mentioned problems and achieve the objectives, the information processing method of the present invention includes a display control step in which a display control unit displays an input screen on a display unit; a determination step in which, when input is made into an item included in the input screen, a determination unit references setting information stored in a storage unit indicating whether the value of each item on the input screen can be changed and determines whether the value of the item input via the input screen is a changeable item; and an information processing step in which, if a determination result indicating that the value of the item input via the input screen can be changed is obtained, the information processing unit supplies an information processing result corresponding to the value of the input item to the display control unit, and, if a determination result indicating that the value of the item input via the input screen cannot be changed is obtained, the information processing unit discards the value of the input item, maintains the previous value, and supplies the information processing result corresponding to the previous value to the display control unit.

また、上述の課題を解決し、目的を達成するために、本発明に係る情報処理プログラムは、コンピュータを、入力画面を表示部に表示する表示制御部と、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理部として機能させる。 In order to solve the above-mentioned problems and achieve the objective, the information processing program of the present invention causes a computer to function as a display control unit that displays an input screen on a display unit; a discrimination unit that, when input is made into an item included in the input screen, references setting information stored in a memory unit indicating whether the value of each item on the input screen can be changed and determines whether the value of the item input via the input screen is a changeable item; and an information processing unit that, if a discrimination result indicating that the value of the item input via the input screen can be changed is obtained, supplies an information processing result corresponding to the value of the input item to the display control unit; and, if a discrimination result indicating that the value of the item input via the input screen cannot be changed is obtained, discards the value of the input item, maintains the previous value, and supplies the information processing result corresponding to the previous value to the display control unit.

本発明は、簡単にデータの改ざんを防止できる。 This invention makes it easy to prevent data tampering.

図1は、第1の実施の形態のWebアプリケーションシステムのシステム構成及びサーバ装置のハードウェア構成を示すブロック図である。FIG. 1 is a block diagram showing the system configuration of a Web application system and the hardware configuration of a server device according to a first embodiment. 図2は、Webアプリケーションシステムの一般的な利用形態を示す図である。FIG. 2 is a diagram showing a typical usage pattern of a Web application system. 図3は、Webアプリケーションシステムの一般的な利用形態を示す他の図である。FIG. 3 is another diagram showing a typical usage pattern of a Web application system. 図4は、Webアプリケーションシステムにおけるデータ改ざんによる不正な利用形態を説明するための図である。FIG. 4 is a diagram for explaining an illegal use pattern due to data tampering in a Web application system. 図5は、第1の実施の形態のWebアプリケーションシステムにおけるデータ改ざんに対する防止動作の概要を示す図である。FIG. 5 is a diagram showing an outline of the operation for preventing data tampering in the Web application system according to the first embodiment. 図6は、データの変更に対する、第1の実施の形態のWebアプリケーションシステムのビジネスルールに基づく対応を説明するための図である。FIG. 6 is a diagram for explaining how the Web application system of the first embodiment responds to a data change based on business rules. 図7は、設定されているビジネスルールの一例を示す図である。FIG. 7 is a diagram showing an example of set business rules. 図8は、第1の実施の形態のWebアプリケーションシステムにおけるデータ改ざんに対する防止動作の概要を示す他の図である。FIG. 8 is another diagram showing an outline of the operation for preventing data tampering in the Web application system according to the first embodiment. 図9は、第1の実施の形態のWebアプリケーションシステムにおけるボタンの不正操作に対する防止動作の概要を示す図である。FIG. 9 is a diagram showing an outline of the operation for preventing unauthorized button operations in the Web application system according to the first embodiment. 図10は、入力画面のパネル構成の一例を示す図である。FIG. 10 is a diagram showing an example of a panel configuration of an input screen. 図11は、第1の実施の形態のWebアプリケーションシステムにおける、入力画面のパネル構成に対応する各データの階層構造を説明するための図である。FIG. 11 is a diagram for explaining the hierarchical structure of each piece of data corresponding to the panel configuration of the input screen in the Web application system according to the first embodiment. 図12は、Webアプリケーションシステムで用いられる情報処理プログラムの開発形態を示す図である。FIG. 12 is a diagram showing a development form of an information processing program used in a Web application system. 図13は、Webアプリケーションシステムで開発された情報処理プログラムの利用形態を示す図である。FIG. 13 is a diagram showing how an information processing program developed in a Web application system is used. 図14は、Webアプリケーションシステムで用いられる情報処理プログラムの開発形態を示す図である。FIG. 14 is a diagram showing a development form of an information processing program used in a Web application system. 図15は、レイアウト定義(コントロール一覧)の一例を示す図である。FIG. 15 is a diagram showing an example of a layout definition (control list). 図16は、ロジックフローの設定を説明するための図である。FIG. 16 is a diagram for explaining the setting of the logic flow. 図17は、ロジックフローの設定に用いられる各種定義の一例を示す図である。FIG. 17 is a diagram showing an example of various definitions used to set a logic flow. 図18は、アクション設定を説明するための図である。FIG. 18 is a diagram for explaining action settings. 図19は、アクション設定として、業務データベースからデータを取得するAPIを設定した例を示す図である。FIG. 19 is a diagram showing an example of setting an API for acquiring data from a business database as an action setting. 図20は、ボタンに対するイベント割当を説明するための図である。FIG. 20 is a diagram for explaining the allocation of events to buttons. 図21は、ビジネスルールの設定を説明するための図である。FIG. 21 is a diagram for explaining the setting of business rules. 図22は、レイアウト定義の一例を示す図である。FIG. 22 is a diagram showing an example of a layout definition. 図23は、ビジネスルールの条件を示す条件式の一例を示す図である。FIG. 23 is a diagram showing an example of a conditional expression indicating a condition of a business rule. 図24は、各条件(コンディション)と条件式の対応例を示す図である。FIG. 24 is a diagram showing an example of the correspondence between each condition and a conditional expression. 図25は、各条件(コンディション)に対応する条件式を示す図である。FIG. 25 is a diagram showing conditional expressions corresponding to the respective conditions. 図26は、ビジネスルールの条件を示す条件式の他の例を示す図である。FIG. 26 is a diagram showing another example of a conditional expression indicating a condition of a business rule. 図27は、条件式に用いられる項目と値の関係を示す図である。FIG. 27 is a diagram showing the relationship between items and values used in a conditional expression. 図28は、条件式に用いられる演算子の一例を示す図である。FIG. 28 is a diagram showing an example of operators used in a conditional expression. 図29は、各コントロールに対するビジネスルールの設定例を示す図である。FIG. 29 is a diagram showing an example of setting business rules for each control. 図30は、ビジネスルールの設定情報の一例を示す図である。FIG. 30 is a diagram showing an example of setting information of a business rule. 図31は、Webアプリケーションシステムのサーバ装置による、利用者端末装置からのリクエストの処理の前半の流れを示すフローチャートである。FIG. 31 is a flowchart showing the first half of the flow of processing a request from a user terminal device by a server device of a Web application system. 図32は、Webアプリケーションシステムのサーバ装置による、利用者端末装置からのリクエストの処理の後半の流れを示すフローチャートである。FIG. 32 is a flowchart showing the latter half of the flow of processing a request from a user terminal device by a server device of a Web application system. 図33は、サーバ装置が利用者端末装置からのリクエストを受信した際に参照する各種定義及びビジネスルール等を示す図である。FIG. 33 is a diagram showing various definitions and business rules that the server device refers to when it receives a request from a user terminal device. 図34は、セッション管理データの一例を示す図である。FIG. 34 is a diagram illustrating an example of session management data. 図35は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。FIG. 35 shows a list of business rules and a list of conditions that are referred to when evaluating business rules. 図36は、ビジネスルールの評価後におけるセッション管理データの一例を示す図である。FIG. 36 is a diagram showing an example of session management data after evaluation of the business rules. 図37は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の値を変更してリクエストを行った例を示す図である。FIG. 37 shows an example of a request made by changing values on an input screen displayed based on session management data after evaluation of a business rule. 図38は、不正判断の結果、リクエストが受け付けられた状態のセッション管理データを示す図である。FIG. 38 shows session management data in a state where a request has been accepted as a result of fraudulent determination. 図39は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。FIG. 39 shows a list of business rules and a list of conditions that are referred to when evaluating business rules. 図40は、ビジネスルールの評価結果に基づいて生成されるセッション管理データの一例を示す図である。FIG. 40 is a diagram showing an example of session management data generated based on the evaluation results of the business rules. 図41は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の税込金額値を、不正に変更してリクエストを行った例を示す図である。FIG. 41 shows an example of a request in which the tax-inclusive price value on the input screen displayed based on the session management data after evaluation of the business rules has been fraudulently changed. 図42は、不正判断の結果、リクエストが受け付けられないことで、従前の値が維持された状態のセッション管理データを示す図である。FIG. 42 shows session management data in a state where the previous value is maintained because the request was not accepted as a result of the fraud determination. 図43は、登録ボタンが操作されることで参照される各種定義の一例を示す図である。FIG. 43 is a diagram showing an example of various definitions that are referenced when the registration button is operated. 図44は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。FIG. 44 shows a list of business rules and a list of conditions that are referred to when evaluating business rules. 図45は、ビジネスルールの評価後におけるセッション管理データの一例を示す図である。FIG. 45 is a diagram showing an example of session management data after evaluation of the business rules. 図46は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の一例を示す図である。FIG. 46 is a diagram showing an example of an input screen displayed based on the session management data after the evaluation of the business rules. 図47は、第2の実施の形態となる利用者端末装置のハードウェア構成を示すブロック図である。FIG. 47 is a block diagram showing the hardware configuration of a user terminal device according to the second embodiment.

以下、本発明を適用した実施の形態となるWebアプリケーションシステム、及び、利用者端末装置を、図面に基づいて詳細に説明する。なお、このような実施の形態に本発明が限定されるものではない。 Below, a web application system and user terminal device that are embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to such embodiments.

[第1の実施の形態]
まず、本発明を適用した第1の実施の形態として、Webアプリケーションシステムの説明をする。
[First embodiment]
First, a Web application system will be described as a first embodiment to which the present invention is applied.

(システム及びハードウェア構成)
図1は、第1の実施の形態のWebアプリケーションシステムのシステム構成、及び、Webアプリケーションシステムに設けられているサーバ装置1のハードウェア構成を示すブロック図である。この図1に示すように、Webアプリケーションシステムは、サーバ装置1、開発者端末装置30及び利用者端末装置40を、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網であるネットワーク5を介して相互に接続することで構成されている。サーバ装置1、開発者端末装置30及び利用者端末装置40は、一般的なパーソナルコンピュータ装置を用いて実現でき、主にWebブラウザ13、31、41を介して相互に通信を行う。
(System and hardware configuration)
1 is a block diagram showing the system configuration of a Web application system according to a first embodiment, and the hardware configuration of a server device 1 provided in the Web application system. As shown in Fig. 1, the Web application system is configured by interconnecting the server device 1, a developer terminal device 30, and a user terminal device 40 via a network 5, which may be a wide area network such as the Internet or a private network such as a LAN (Local Area Network). The server device 1, the developer terminal device 30, and the user terminal device 40 can be realized using general personal computers, and communicate with each other mainly via Web browsers 13, 31, and 41.

開発者は、開発者端末装置30で、後述するビジネスルールに基づいて利用者端末装置40からのリクエストを評価し、この評価結果に基づいて情報処理を行ったデータを利用者端末装置に送信することで、データ等の改ざんを防止する情報処理プログラムの開発を行う。この第1の実施の形態の場合、情報処理プログラムは、いわゆるWebアプリケーションプログラムとなっている。このため、情報処理プログラムは、サーバ装置1の記憶部2に記憶され、制御部3により実行される。 The developer develops an information processing program that prevents data tampering by evaluating requests from user terminal devices 40 on the developer terminal device 30 based on the business rules described below, and transmitting data processed based on the evaluation results to the user terminal device. In this first embodiment, the information processing program is a so-called web application program. Therefore, the information processing program is stored in the memory unit 2 of the server device 1 and executed by the control unit 3.

また、サーバ装置1は、記憶部2にデータベース(DB)11を備えている。サーバ装置1は、利用者端末装置40からのリクエストに応じて情報処理プログラムを実行する。そして、この情報処理に対応するデータをデータベース(DB)11から読み出して、通信インターフェース部4及びネットワーク55を介して利用者端末装置40に提供(送信)する。 The server device 1 also has a database (DB) 11 in the storage unit 2. The server device 1 executes an information processing program in response to a request from the user terminal device 40. The server device 1 then reads data corresponding to this information processing from the database (DB) 11 and provides (transmits) it to the user terminal device 40 via the communication interface unit 4 and the network 55.

(サーバ装置のハードウェア構成)
サーバ装置1は、記憶部2、制御部3及び通信インターフェース部4を備えている。通信インターフェース部4は、上述のネットワーク55である、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網に接続される。
(Hardware configuration of server device)
The server device 1 includes a storage unit 2, a control unit 3, and a communication interface unit 4. The communication interface unit 4 is connected to the above-mentioned network 55, which is, for example, a wide area network such as the Internet or a private network such as a LAN (Local Area Network).

記憶部2としては、例えばROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置を用いることができる。記憶部2には、開発者端末装置30で開発された情報処理プログラムが記憶されている他、利用者端末装置40に提供されるデータが記憶された記憶領域であるデータベース(DB)11が設けられている。また、記憶部2には、情報処理プログラムに基づいて参照され又は生成される、レイアウト定義、イベント割当定義、ロジックフロー定義、アクション定義、フロー定義、個別設定、コンディション設定、及び、ビジネスルール設定等の各種データが記憶されている。 The storage unit 2 can be, for example, a storage device such as ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), or SSD (Solid State Drive). The storage unit 2 stores the information processing program developed by the developer terminal device 30, and also includes a database (DB) 11, which is a storage area for storing data provided to the user terminal device 40. The storage unit 2 also stores various data that are referenced or generated based on the information processing program, such as layout definitions, event assignment definitions, logic flow definitions, action definitions, flow definitions, individual settings, condition settings, and business rule settings.

(サーバ装置の機能構成)
次に、サーバ装置1の制御部3は、記憶部2に記憶されている情報処理プログラムを実行することで、図1に示すように、表示制御部21、判別部22、情報処理部23及び通信制御部24として機能する。
(Functional configuration of the server device)
Next, the control unit 3 of the server device 1 executes the information processing program stored in the memory unit 2, and thereby functions as a display control unit 21, a discrimination unit 22, an information processing unit 23, and a communication control unit 24, as shown in FIG. 1.

この第1の実施の形態の場合、表示制御部21及び通信制御部24で表示制御部の一例となっている。表示制御部21は、利用者端末装置40の表示部に表示する入力画面を生成し、通信制御部24に供給する。通信制御部24は、生成された入力画面を、ネットワーク55を介して利用者端末装置40に送信するように、通信部の一例である通信インターフェース部4を通信制御する。利用者端末装置40は、送信された入力画面を、Webブラウザ41を介して表示部に表示する。 In this first embodiment, the display control unit 21 and communication control unit 24 together constitute an example of a display control unit. The display control unit 21 generates an input screen to be displayed on the display unit of the user terminal device 40 and supplies it to the communication control unit 24. The communication control unit 24 controls the communication of the communication interface unit 4, which is an example of a communication unit, so as to transmit the generated input screen to the user terminal device 40 via the network 55. The user terminal device 40 displays the transmitted input screen on the display unit via the web browser 41.

判別部22は、入力画面に含まれる項目に対する入力が、利用者端末装置40を介して行われた際に、記憶部2に記憶されている入力画面の各項目の値の変更の可否を示す設定情報(後述するビジネスルール設定)を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する。 When input is made into items included in the input screen via the user terminal device 40, the determination unit 22 references the setting information (business rule settings, described below) stored in the memory unit 2 that indicates whether the value of each item on the input screen can be changed, and determines whether the value of the item entered via the input screen is a changeable item.

情報処理部23は、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が判別部22により得られた場合は、入力された項目の値に対応する情報処理結果となるデータをデータベース11から読み出し(又は情報処理し)、表示制御部21に供給する。表示制御部21は、データベース11から読み出されたデータ(又は情報処理されたデータ)を含む入力画面を生成する。通信制御部24は、生成された入力画面を利用者端末装置40に送信する。これにより、利用者の入力操作に対応する入力画面が、利用者端末装置40の表示部を介して表示される。 When the discrimination unit 22 obtains a discrimination result indicating that the value of the item entered via the input screen can be changed, the information processing unit 23 reads (or processes) data corresponding to the input item value from the database 11, which is the result of information processing, and supplies this data to the display control unit 21. The display control unit 21 generates an input screen including the data read from the database 11 (or the processed data). The communication control unit 24 transmits the generated input screen to the user terminal device 40. As a result, an input screen corresponding to the user's input operation is displayed on the display unit of the user terminal device 40.

また、情報処理部23は、入力画面を介して利用者により入力された項目の値が変更不可であることを示す判別結果が、判別部22から得られた場合は、入力された項目の値を破棄して従前の値を維持する。この場合、情報処理部23は、従前の値に対応する情報処理結果となるデータをデータベース11から読み出し(又は情報処理し)、表示制御部21に供給する。表示制御部21は、データベース11から読み出されたデータ(又は情報処理されたデータ)を含む入力画面を生成する。通信制御部24は、生成された入力画面を利用者端末装置40に送信する。これにより、利用者の不正な入力操作による値が破棄され、従前の値に対応する入力画面が、利用者端末装置40の表示部を介して表示される。従って、データの改ざんを防止できる。 Furthermore, if the discrimination unit 22 obtains a judgment result indicating that the value of an item entered by the user via the input screen cannot be changed, the information processing unit 23 discards the entered value of the item and maintains the previous value. In this case, the information processing unit 23 reads (or processes) data corresponding to the previous value from the database 11, which is the result of information processing, and supplies this data to the display control unit 21. The display control unit 21 generates an input screen including the data read from the database 11 (or the processed data). The communication control unit 24 transmits the generated input screen to the user terminal device 40. As a result, the value entered by the user's unauthorized input operation is discarded, and the input screen corresponding to the previous value is displayed on the display unit of the user terminal device 40. This prevents data tampering.

また、表示制御部21は、入力画面を介して利用者により入力された項目の値が変更不可であることを示す判別結果が判別部22から得られた場合、所定のエラー表示を行うエラー画面を生成する。通信制御部24は、生成されたエラー画面を利用者端末装置40に送信する。これにより、入力した値が受け付けられないことを、利用者に対して認識させることができる。 Furthermore, when the discrimination unit 22 provides a discrimination result indicating that the value of an item entered by the user via the input screen cannot be changed, the display control unit 21 generates an error screen that displays a predetermined error. The communication control unit 24 transmits the generated error screen to the user terminal device 40. This allows the user to recognize that the entered value cannot be accepted.

また、上述の設定情報(後述するビジネスルール設定)は、入力画面全体に相当するメインパネル内の項目又はボタンの変更を不可とする設定、又は、入力画面内の一部に相当する部分パネルに含まれる項目又はボタンの変更を不可とする設定が可能となっている。 In addition, the above-mentioned setting information (business rule settings, described below) can be set to prohibit changes to items or buttons in the main panel, which corresponds to the entire input screen, or to prohibit changes to items or buttons included in a partial panel, which corresponds to a portion of the input screen.

判別部22は、メインパネル内の項目又はボタンの変更を不可とする設定がされている場合、メインパネル内の全ての項目又は全てのボタンの変更を不可と判別する。また、判別部22は、部分パネル内の項目又はボタンの変更を不可とする設定がされている場合、部分パネル内の全ての項目又は全てのボタンの変更を不可と判別する。 If the setting prohibits changing items or buttons in the main panel, the discrimination unit 22 determines that all items or buttons in the main panel cannot be changed. Furthermore, if the setting prohibits changing items or buttons in a partial panel, the discrimination unit 22 determines that all items or buttons in the partial panel cannot be changed.

すなわち、上述の設定情報は、項目を下位階層、部分パネル及びボタンを中位階層、メインパネルを上位階層とする階層構造を有している。このため、判別部22は、下位階層、中位階層及び上位階層の順に、変更を不可とする設定の有無を判別する。そして、判別部22は、上位階層で変更を不可とする設定を検出した場合は、メインパネルに含まれる全項目及び全ボタンの変更を不可と判別し、中位階層で変更を不可とする設定を検出した場合は、部分パネルに含まれる全項目及び全ボタンの変更を不可と判別する。また、判別部22は、下位階層で変更を不可とする設定を検出した場合は、変更を不可とする設定がされている項目の変更を不可と判別する。 In other words, the setting information described above has a hierarchical structure in which items are in the lower hierarchy, partial panels and buttons are in the middle hierarchy, and the main panel is in the upper hierarchy. Therefore, the discrimination unit 22 determines whether or not there is a setting that prohibits changes in the lower hierarchy, middle hierarchy, and upper hierarchy, in that order. If the discrimination unit 22 detects a setting that prohibits changes in the upper hierarchy, it determines that all items and buttons included in the main panel cannot be changed; if the discrimination unit 22 detects a setting that prohibits changes in the middle hierarchy, it determines that all items and buttons included in the partial panel cannot be changed. Furthermore, if the discrimination unit 22 detects a setting that prohibits changes in the lower hierarchy, it determines that items that are set to prohibit changes cannot be changed.

また、所定の条件式の条件を満たした場合の処理として、項目の値を変更不可とする処理である、項目をロックする処理、及び、項目を非表示にする処理のうち、いずれかの処理を、上述の設定情報として項目毎に設定可能となっている。詳しくは、後述する。 In addition, when the conditions of a specified conditional expression are met, one of the following processes can be set for each item as the setting information: a process to lock the item, which makes the item's value unchangeable, or a process to hide the item. This will be described in more detail later.

(一般的なWebアプリケーションシステムにおけるリクエストからレスポンスの流れ)
ここで、一般的なWebアプリケーションシステムにおけるリクエストからレスポンスの流れを説明する。図2(a)~図2(c)は、一般的なWebアプリケーションシステムにおいて、東京2号店(TKY002)の一般ユーザから、利用者端末装置のWebブラウザを介して「売上一覧の起動」のリクエストが行われた例を示している(図2(a))。この場合、リクエストを行ったユーザ(=ログインユーザ)が「一般ユーザ」であるため、サーバ装置側では、東京2号店(TKY002)の店舗の値を初期セットしてロック状態(変更不可の状態)としたセッション管理データに基づいて入力画面を生成し、利用者端末装置に送信する(図2(b))。なお、ログインユーザが「管理者」の場合は、このような店舗に対するロックは掛けないものとする。これにより、図2(c)に示すように、東京2号店(TKY002)の店舗情報がロック状態とされた入力画面が、利用者端末装置に表示される。
(The flow from request to response in a typical web application system)
Here, we will explain the flow from request to response in a typical web application system. Figures 2(a) to 2(c) show an example of a typical web application system in which a general user at Tokyo Store No. 2 (TKY002) makes a request to "launch a sales list" via a web browser on a user terminal device (Figure 2(a)). In this case, because the user making the request (i.e., the logged-in user) is a "general user," the server device generates an input screen based on session management data in which the store values for Tokyo Store No. 2 (TKY002) are initially set and locked (unchangeable), and sends the input screen to the user terminal device (Figure 2(b)). Note that if the logged-in user is an "administrator," the store will not be locked. As a result, an input screen with the store information for Tokyo Store No. 2 (TKY002) locked is displayed on the user terminal device, as shown in Figure 2(c).

次に、利用者端末装置の利用者は、図3(a)に示すように、例えば「2021年7月1日~2021年7月31日」等の閲覧を希望する売上期間(売上日)を入力画面に入力してサーバ装置に対してリクエストを行う。サーバ装置は、図3(b)に示すように、東京2号店(TKY002)における2021年7月1日~2021年7月31日の間の売上データをデータベースから取得し、利用者端末装置に送信する。これにより、図3(a)に示すように、東京2号店(TKY002)の売上情報が各売上日毎に一覧表示される。 Next, as shown in Figure 3(a), the user of the user terminal device inputs the sales period (sales dates) they wish to view, such as "July 1, 2021 to July 31, 2021," into the input screen and makes a request to the server device. As shown in Figure 3(b), the server device retrieves sales data for Tokyo Store No. 2 (TKY002) from the database for the period from July 1, 2021 to July 31, 2021, and sends it to the user terminal device. As a result, sales information for Tokyo Store No. 2 (TKY002) is displayed in a list for each sales date, as shown in Figure 3(a).

(店舗情報が不正に変更された場合)
次に、このような一般的なWebアプリケーションシステムにおいて、図4(a)に示すように、東京2号店(TKY002)のコントロール(項目)の値が「NULLデータ」に、不正に変更され、2021年7月1日~2021年7月31日の間の売上データの取得が、サーバ装置に対してリクエストされたとする。このような不正に対する対処が行われていない場合、サーバ装置は、店舗情報が「NULLデータ」に変更されたことで、全店舗の2021年7月1日~2021年7月31日の間の売上データをデータベースから取得して利用者端末装置に送信してしまう。このため、図4に示すように、利用者端末装置側で、東京2号店(TKY002)の一般ユーザでありながら、全店舗の売上データが不正に閲覧可能となる不都合を生ずる。
(If store information is changed fraudulently)
Next, in such a typical web application system, as shown in FIG. 4(a), assume that the value of a control (item) for Tokyo Store No. 2 (TKY002) is fraudulently changed to "NULL data," and a request is made to the server device to obtain sales data for the period from July 1, 2021, to July 31, 2021. If no countermeasures are taken to prevent this fraud, the server device will retrieve sales data for all stores from the database for the period from July 1, 2021, to July 31, 2021, and transmit it to the user terminal device, due to the store information being changed to "NULL data." This creates the inconvenience of allowing a general user of Tokyo Store No. 2 (TKY002) to fraudulently view sales data for all stores on the user terminal device, as shown in FIG. 4.

このような不正を防止するためには、売上データの取得リクエストに対する店舗の値は、現在ログイン中のユーザが一般ユーザである場合は、自身が所属する店舗を使用し(値は起動時のキャッシュメモリ又はやデータベースから再取得する等)、現在ログイン中のユーザが管理者である場合は、コントロール(店舗情報が入力された項目)の値を使用する制御を、Webアプリケーションシステムの全ての画面に対して個別に実装する必要がある。このため、データの改ざんの防止に多くの手間を要していた。 To prevent this kind of fraud, it was necessary to implement a control for each and every screen in the web application system that would use the store value for a sales data retrieval request if the currently logged-in user was a general user, using the store to which the user belonged (the value would be re-obtained from cache memory or a database at startup, for example), and use the value of the control (the field where store information was entered) if the currently logged-in user was an administrator. This required a lot of effort to prevent data tampering.

(実施の形態のWebアプリケーションシステムの概要)
このため、第1のWebアプリケーションシステムでは、図5(a)に示すようにロック状態とされている店舗情報が「NULLデータ」に、不正に変更されて利用者端末装置40からリクエストが行われた場合、サーバ装置1は、後述するビジネスルール設定に基づいて、リクエストを行ったユーザが、店舗情報の変更権限を有するユーザであるか否かを判別する。一例ではあるが、この例の場合、ログインユーザが一般ユーザであった場合、サーバ装置1は、店舗情報の変更権限を有していないユーザであると判別し、リクエストの値(この場合は、変更された店舗情報)を破棄して、従前(不正な変更前)の店舗情報でリクエストを処理する。
(Outline of the Web Application System According to the Embodiment)
Therefore, in the first Web application system, when the store information that is in a locked state as shown in Figure 5(a) is illegally changed to "NULL data" and a request is made from the user terminal device 40, the server device 1 determines whether the user who made the request has the authority to change the store information based on the business rule setting described later. In this example, if the logged-in user is a general user, the server device 1 determines that the user does not have the authority to change the store information, discards the value of the request (in this case, the changed store information), and processes the request with the previous store information (before the illegal change).

利用者端末装置40側でロックを解除し、また、値を不正に変更しても(JavaScript(登録商標)による不正な実行も含む)、利用者端末装置40側とサーバ装置1側で状態が不一致である場合はデータが改ざんされたものと見なし、リクエストの値を受け付けないように制御する。 Even if the lock is released on the user terminal device 40 side and the value is changed illegally (including illegal execution using JavaScript (registered trademark)), if the status on the user terminal device 40 side and the server device 1 side do not match, the data is considered to have been tampered with and the requested value is not accepted.

また、第1の実施の形態のWebアプリケーションシステムは、ビジネスルール設定による動的なロック又は非表示の状態制御にも対応しており、状態に応じて受け付けるパラメータを選別する。また、第1の実施の形態のWebアプリケーションシステムでは、ビジネスルール設定の起点となる値(例えば、税区分の項目)の変更は、全てサーバリクエストを発生させて状態管理(ロック又は非表示)を行っている。 The web application system of the first embodiment also supports dynamic locking or hiding state control based on business rule settings, selecting the parameters to accept depending on the state. Furthermore, in the web application system of the first embodiment, all changes to values that are the starting point for business rule settings (for example, tax category items) generate server requests to manage the state (locking or hiding).

図6(a)は、利用者端末装置40により、「税区分」の項目が「2:内税」から「1:外税」に変更された例である。サーバ装置1は、このようなリクエストを受け付ける度に、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。 Figure 6(a) shows an example in which the "Tax Category" item has been changed from "2: Tax Included" to "1: Tax Excluded" by the user terminal device 40. Each time the server device 1 receives such a request, it performs the following steps: "Check the value of the invalid request" → "Execute the logic flow associated with the control (item)" → "Evaluate the business rules."

具体的には、「税区分」に対して、利用者は、図7に示すように、例えば「0:非課税」、「1:外税」又は「2:内税」を選択可能となっているとする。また、後述するビジネスルールとして、図7に示すように、
・税抜金額 税区分=(2)の場合、ロックする、
・消費税額 税区分=(0)の場合、ロックする、
・税込金額 税区分=(0)又は税区分=(1)の場合、ロックする、
との設定がされているものとする。
Specifically, for the "tax category", the user can select, for example, "0: tax exempt", "1: tax excluded" or "2: tax included", as shown in Fig. 7. In addition, as a business rule to be described later, as shown in Fig. 7,
- Amount excluding tax If tax category = (2), lock
・Consumption tax amount If tax category = (0), lock
・Amount including tax If tax category = (0) or tax category = (1), lock.
It is assumed that the following settings have been made.

この場合、サーバ装置1は、「税区分」の項目は、ロックされていないため、「2:内税」から「1:外税」に変更するリクエストを受け付け、図6(b)に示すようにセッション管理データの税区分を「2」から「1」に変更する。なお、税区分の値を変更した際のイベントは設定されていないため、サーバ装置1は、何もしない。 In this case, the server device 1 accepts a request to change the "Tax Category" item from "2: Tax Included" to "1: Tax Excluded" because the item is not locked, and changes the tax category in the session management data from "2" to "1" as shown in Figure 6(b). Note that no event is set for when the tax category value is changed, so the server device 1 does nothing.

また、サーバ装置1は、上述のセッション管理データの税区分を「2」から「1」に変更すると共に、図6(b)に示すように、税抜金額のロックを解除し、また、税込金額をロックとした入力画面を生成し、利用者端末装置40に送信する。これにより、図8(a)に示すように、税区分が「1:外税」とされた入力画面が利用者端末装置40で表示される。 The server device 1 also changes the tax category in the session management data from "2" to "1," unlocks the tax-excluded amount, as shown in FIG. 6(b), and generates an input screen in which the tax-inclusive amount is locked, and sends it to the user terminal device 40. As a result, an input screen in which the tax category is set to "1: Tax Excluded" is displayed on the user terminal device 40, as shown in FIG. 8(a).

次に、図8(a)に示すように、利用者端末装置40の利用者が、「3万3千円」の税込金額を、「100円」に不正に変更してリクエストを行ったとする。この場合も、サーバ装置1は、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。 Next, as shown in Figure 8(a), assume that a user of user terminal device 40 fraudulently changes the tax-inclusive price of "33,000 yen" to "100 yen" and makes a request. In this case, server device 1 also performs the following steps: "Check the value of the fraudulent request" → "Execute the logic flow associated with the control (item)" → "Evaluate the business rules."

しかし、図7に示したように、ビジネスルールの設定は、税区分=(0)又は税区分=(1)の場合、税込金額をロックする設定となっている。この例の場合、税区分が「2」から「1」に変更されため、税込金額がロックされた状態となっている。このため、サーバ装置1は、「不正リクエストの値チェック」の際に、現在、税込金額はロックされているために受け付けない。また、サーバ装置1は、「コントロール(項目)に関連付けされたロジックフローの実行」で、登録ボタンの処理を実行する。 However, as shown in Figure 7, the business rule is set to lock the tax-inclusive amount when tax category = (0) or tax category = (1). In this example, the tax category has been changed from "2" to "1," so the tax-inclusive amount is locked. Therefore, when the server device 1 "checks the value of the invalid request," it does not accept the tax-inclusive amount because it is currently locked. The server device 1 also executes the processing of the registration button in "executing the logic flow associated with the control (item)."

また、サーバ装置1は、「ビジネスルールの評価」では、この例の場合、設定されているビジネスルールの値(税区分)は変わっていないため、何も行わない。そして、サーバ装置1は、ビジネスルールの評価により、現在、税込金額がロックされている状態のため、税込金額を「100円」に変更するリクエストは受け付けず、図8(b)に示すように税込金額を「3万3千円」にロックした状態の入力画面を生成し、利用者端末装置40に送信する。これにより、利用者が税込金額を「100円」に変更する不正操作を行った場合でも、図8(c)に示すように、税込金額を従前の「3万3千円」にロックした状態の入力画面を利用者端末装置40に送信して表示することができる(簡単にデータの改ざんを防止できる)。 In addition, in this example, the server device 1 does nothing in "Evaluating Business Rules" because the set business rule value (tax category) has not changed. Then, because the evaluation of the business rules indicates that the tax-inclusive amount is currently locked, the server device 1 does not accept a request to change the tax-inclusive amount to "100 yen." Instead, it generates an input screen with the tax-inclusive amount locked at "33,000 yen" as shown in Figure 8(b) and sends it to the user terminal device 40. As a result, even if the user fraudulently changes the tax-inclusive amount to "100 yen," it is possible to send and display an input screen with the tax-inclusive amount locked at the previous "33,000 yen" as shown in Figure 8(c) to the user terminal device 40 (easily preventing data tampering).

次に、第1の実施の形態のWebアプリケーションシステムは、上述の値の改ざんを防止できる他、不正なイベントの実行も防止できる。例えば、ビジネスルールの設定により、登録ボタンがロックされている場合において、図9(a)に示すように、利用者により登録ボタンのロック状態が不正に解除されて操作されたとする。この場合、入力画面の税区分(1:外税)、税金金額(3万円)等の各項目の値を登録するリクエストがサーバ装置1に対して行われる。 Next, the Web application system of the first embodiment can prevent the tampering of the above-mentioned values, as well as the execution of unauthorized events. For example, suppose that the Register button is locked due to business rule settings, and a user illegally unlocks the Register button and operates it, as shown in Figure 9(a). In this case, a request is made to the server device 1 to register the values of each item on the input screen, such as the tax category (1: excluding tax) and tax amount (30,000 yen).

この場合、サーバ装置1は、上述と同様に、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。「不正リクエストの値チェック」では、各項目の値は変更無し、と判別する。「コントロールに関連するロジックフローの実行」は、登録ボタンがロックされているため、サーバ装置1は、図9(b)に示すように各項目の値をデータベースに登録するイベントは不実行とすると共に、システムエラーとして利用者端末装置40にレスポンスを返信する。そして、後続のビジネスルールの評価は行わない。これにより、図9(c)に示すように利用者端末装置40のWebブラウザ41を介して表示部に、システムエラー(不正実行)の表示が行われる。 In this case, the server device 1 performs the following sequence, as described above: "Check the value of the invalid request" → "Execute the logic flow associated with the control (item)" → "Evaluate the business rules." In "Check the value of the invalid request," it determines that the values of each item have not changed. In "Execute the logic flow associated with the control," because the registration button is locked, the server device 1 does not execute the event that registers the values of each item in the database, as shown in Figure 9(b), and returns a response to the user terminal device 40 indicating a system error. Subsequent business rules are not evaluated. As a result, a system error (illegal execution) is displayed on the display unit via the web browser 41 of the user terminal device 40, as shown in Figure 9(c).

上述のように、第1の実施の形態のWebアプリケーションシステムは、サーバ装置1側で項目をロック又は非表示として制御している場合、利用者端末装置40からのリクエストで送信されるパラメータ(各項目の値)は、サーバ装置1で管理しているセッション管理データには反映しない。これと共に、第1の実施の形態のWebアプリケーションシステムは、パネルに配置されているコントロール(項目及びボタン)で、親にあたるパネルをロック又は非表示にしている場合も、そのロックされているパネルの中のコントロールのパラメータは受け付けないようになっている。 As described above, in the Web application system of the first embodiment, when an item is controlled by locking or hiding it on the server device 1 side, the parameters (values of each item) sent in a request from the user terminal device 40 are not reflected in the session management data managed by the server device 1. In addition, in the Web application system of the first embodiment, even if the parent panel of a control (item or button) placed on a panel is locked or hidden, the parameters of the control in that locked panel are not accepted.

すなわち、図10に示すように、パネルとしては、入力画面全体に相当するメインパネル61、及び、入力画面内の一部に相当する部分パネルの一例である入力パネル60が設けられている。メインパネル61には、入力パネル60及び入力パネル60内の各項目、及び、登録ボタン62等の各種ボタンが含まれる。入力パネル60には、各項目が含まれる。 That is, as shown in FIG. 10, the panels provided are a main panel 61, which corresponds to the entire input screen, and an input panel 60, which is an example of a partial panel that corresponds to a portion of the input screen. The main panel 61 includes the input panel 60, each item in the input panel 60, and various buttons such as a register button 62. The input panel 60 includes each item.

すなわち、メインパネル61、入力パネル60、各項目及び登録ボタン62の各データは、図11に示すように階層構造を有している。メインパネル61、入力パネル60、各項目及び登録ボタン62の各データは、図11に示すように、ルートのデータを最上位階層とし、メインパネル61のデータを上位階層、入力パネル60及び登録ボタン62のデータを中位階層、各項目のデータを下位階層とする階層構造を有している。 That is, the data for the main panel 61, input panel 60, each item, and registration button 62 has a hierarchical structure as shown in FIG. 11. The data for the main panel 61, input panel 60, each item, and registration button 62 has a hierarchical structure as shown in FIG. 11, with the root data at the top level, the main panel 61 data at the top level, the input panel 60 and registration button 62 data at the middle level, and the data for each item at the bottom level.

サーバ装置1は、各コントロール(下位階層の項目又はボタン)からルート(最上位階層)まで、順にロック又は非表示をチェックし、ロック又は非表示を検出した際にチェックを中止し、利用者端末装置40からのリクエストを受け付けないように制御する。 The server device 1 checks whether each control (item or button in a lower hierarchy) is locked or hidden in order up to the root (top hierarchy), and when it detects that a control is locked or hidden, it stops checking and controls itself so as not to accept requests from the user terminal device 40.

すなわち、サーバ装置1は、下位階層の項目に相当する、例えば税区分の項目(セレクトボックス)→入力パネル60→メインパネル61→ルート」の順にチェックを行う。一例として、入力パネル60がロックされている場合、図10から分かるように、入力パネル60内に設けられている税区分の項目(セレクトボックス)もロックされていることとなる。このため、サーバ装置1は、入力パネル60がロックされていることを検出したタイミングで、チェック処理を終了し、税区分の項目(セレクトボックス)は、ロックされているものと判別する。そして、サーバ装置1は、ロックされている税区分の項目(セレクトボックス)に対する、利用者端末装置40からのリクエストは受け付けないように制御する。 In other words, the server device 1 checks items in the lower hierarchy, for example, in the order of the tax category item (select box) → input panel 60 → main panel 61 → root. As an example, if the input panel 60 is locked, as can be seen from Figure 10, the tax category item (select box) provided within the input panel 60 will also be locked. Therefore, the server device 1 terminates the check process when it detects that the input panel 60 is locked, and determines that the tax category item (select box) is locked. The server device 1 then controls so as not to accept requests from the user terminal device 40 for the locked tax category item (select box).

(情報処理プログラムの開発形態)
次に、情報処理プログラムの開発動作を説明する。この情報処理プログラムの開発は、図12に示すように、開発者端末装置30で行われる。開発者端末装置30を操作する開発者は、一例としてローコード開発プラットフォームに基づいて、情報処理プログラムの開発を行い、サーバ装置1のWebブラウザ13を介してデータベース11に記憶される。
(Development form of information processing program)
Next, the development operation of an information processing program will be described. The development of this information processing program is performed on a developer terminal device 30, as shown in Figure 12. A developer operating the developer terminal device 30 develops an information processing program based on, for example, a low-code development platform, and the developed program is stored in the database 11 via the web browser 13 of the server device 1.

なお、ノーコード開発又はフルスクラッチ開発で、情報処理プログラムを開発してもよい。ただ、ローコード開発の場合、後述するように、GUI(グラフィカル・ユーザー・インターフェース)に基づく視覚的な操作で画面部品又はロジック部品を組み合わせて比較的簡単に情報処理プログラムを開発でき、また、ノーコードによる開発よりも、細かな設定又は制御等を可能とすることができる。 Information processing programs may also be developed using no-code development or full-scratch development. However, with low-code development, as described below, information processing programs can be developed relatively easily by combining screen components or logic components through visual operations based on a GUI (graphical user interface), and more detailed settings and control can be made than with no-code development.

(情報処理プログラムの利用形態)
図13は、サーバ装置1に記憶された情報処理プログラムを、利用者端末装置40で、いわゆるWebアプリケーションプログラムとして利用する利用形態を示している。この図13に示すように、利用者端末装置40からのリクエストは、Webブラウザ41を介してサーバ装置1に送信される。サーバ装置1は、Webブラウザ13を介してリクエストを取得し、このリクエストに対応するデータをデータベース11から取得し、Webブラウザ13を介して利用者端末装置40に送信する。これにより、サーバ装置1のデータベースから提供されたデータ(=利用者端末装置40でリクエストしたデータ)を、利用者端末装置40のWebブラウザ41を介して表示部に表示して利用できる。
(Use of information processing programs)
13 shows a usage form in which an information processing program stored in server device 1 is used as a so-called web application program on user terminal device 40. As shown in FIG. 13, a request from user terminal device 40 is sent to server device 1 via web browser 41. Server device 1 acquires the request via web browser 13, acquires data corresponding to this request from database 11, and transmits it to user terminal device 40 via web browser 13. As a result, data provided from the database of server device 1 (= data requested by user terminal device 40) can be displayed on the display unit via web browser 41 of user terminal device 40 and used.

(情報処理プログラムの開発動作)
次に、開発者端末装置30を介して開発者により行われる情報処理プログラムの開発動作を説明する。一例ではあるが、開発者は、ローコードを用いることで、図14に示すように、GUI(グラフィカル・ユーザー・インターフェース)に基づく視覚的な操作で画面部品又はロジック部品を組み合わせて情報処理プログラムを開発する。図14は、入力画面を開発(デザイン、編集)している例である。この例の場合、コントロール一覧の中から所望のコントロールを選択し、入力画面上に配置操作する。これにより、入力画面のレイアウトを簡単に編集できる。
(Information processing program development operation)
Next, we will explain the development operations of an information processing program performed by a developer via the developer terminal device 30. As an example, by using low-code, a developer develops an information processing program by combining screen components or logic components through visual operations based on a GUI (Graphical User Interface), as shown in FIG. 14. FIG. 14 shows an example of developing (designing and editing) an input screen. In this example, the desired control is selected from a list of controls and placed on the input screen. This allows for easy editing of the input screen layout.

図15は、図14の入力画面に対応するレイアウト定義(コントロール一覧)の一例である。レイアウト定義は、コントロール識別番号(コントロールID)、名前、種類、及び、子要素の子要素IDが関連付けされて記憶されている。例えば、「ID0」のコントロールIDの「ページ」に対しては、「ID1」の「コマンドバー」及び「ID2」の「メインパネル」が子要素として関連付けられている。 Figure 15 is an example of a layout definition (control list) corresponding to the input screen of Figure 14. The layout definition stores the control identification number (control ID), name, type, and child element IDs of child elements in association with each other. For example, for a "page" with a control ID of "ID0," a "command bar" with "ID1" and a "main panel" with "ID2" are associated as child elements.

また、「ID2」の「メインパネル」に対しては、「ID3」の「ヘッダパネル」及び「ID12」の「明細パネル」が子要素として関連付けられている。また、「ID13」の「明細コントロール」に対しては、「ID14」の「グリッドパネル(列)」及び「ID19」の「グリッドパネル(データ行)」が子要素として関連付けられている。 Furthermore, the "Main Panel" with "ID2" has the "Header Panel" with "ID3" and the "Detail Panel" with "ID12" associated as child elements. Furthermore, the "Detail Control" with "ID13" has the "Grid Panel (Column)" with "ID14" and the "Grid Panel (Data Row)" with "ID19" associated as child elements.

このように入力画面のレイアウトを定義すると、次に、開発者は、図16に示すロジックフロー設定画面において、アクション一覧の中から表示ボタンクリック時の処理(アクション)を設定する。図16の例は、「売上データの取得」に対して「API呼出」のアクションが設定された例である。 Once the layout of the input screen has been defined in this way, the developer then sets the processing (action) to be performed when the display button is clicked from the list of actions on the logic flow setting screen shown in Figure 16. In the example in Figure 16, the action "Call API" has been set for "Get sales data."

次に、開発者は、図18に示すように、「API呼出」のアクションに対する引数及び戻り値を設定する。図16の例は、「売上データ取得」の「API呼出」に対して、「店舗コード」、「売上日開始」、「売上日終了」の引数が設定され、「売上日」、「売上番号」、「顧客名」及び「商品」の戻り値が設定された例である。 Next, the developer sets the arguments and return values for the "API call" action, as shown in Figure 18. The example in Figure 16 shows an example in which the arguments "Store Code," "Start of Sales Date," and "End of Sales Date" are set for the "API call" of "Get Sales Data," and the return values are "Sales Date," "Sales Number," "Customer Name," and "Product."

次に、開発者は、図20に示すレイアウト編集画面の所望のコントロールを選択して、イベントの割当を行う。図20は、「表示ボタン」のクリック操作に対して、「売上データ取得」のイベントを割り当てた例である。イベントの種類は、コントロールによって異なり、「テキストボックス」のコントロールに対しては「検証イベント」の割当が可能であり、「セレクトボックス」のコントロールに対しては「値変更イベント」の割当が可能であり、「明細コントロール」のコントロールに対しては「行選択」又は「行ダブルクリック」の割当が可能となっている。 Next, the developer selects the desired control on the layout editing screen shown in Figure 20 and assigns an event. Figure 20 shows an example in which the "Get Sales Data" event is assigned to the click of the "Display Button." The type of event varies depending on the control; a "Verification Event" can be assigned to a "Text Box" control, a "Value Change Event" can be assigned to a "Select Box" control, and "Row Selection" or "Row Double-Click" can be assigned to a "Details Control" control.

このようにレイアウトの編集(図14)、ロジックフローの設定(図16)、アクション設定(図18)及びイベントの割当(図20)を行うことで、図17(a)に示すイベント割当定義、図17(b)に示すロジックフロー定義、図17(c)に示すアクション定義、及び、図17(d)に示すフロー定義がサーバ装置1の記憶部2に記憶される。この図17は、表示ボタンの「クリック操作」により、「売上データの取得」が行われる設定を示している。また、図17(c)に示す「API呼出」に対しては、図19に示す「売上データ取得」のイベントが割当られていることを示している。 By editing the layout (Figure 14), setting the logic flow (Figure 16), setting the actions (Figure 18), and allocating events (Figure 20) in this way, the event allocation definition shown in Figure 17(a), the logic flow definition shown in Figure 17(b), the action definition shown in Figure 17(c), and the flow definition shown in Figure 17(d) are stored in the memory unit 2 of the server device 1. Figure 17 shows a setting where "Sales Data Acquisition" is performed by "clicking" the display button. It also shows that the "Sales Data Acquisition" event shown in Figure 19 is assigned to the "API Call" shown in Figure 17(c).

(ビジネスルールの設定)
次に、開発者は、入力画面の各コントロール(項目)に対して、利用者端末装置40からのリクエストによる値の変更の可否を示すビジネスルールを設定する。図21は、ビジネスルールを設定する入力画面の一例である。この例の場合、税区分、税抜金額、消費税額、及び、税込金額の各コントロールがレイアウトされている。図22は、この図21の入力画面に対応するレイアウト定義である。
(Setting business rules)
Next, the developer sets business rules for each control (item) on the input screen that indicate whether or not values can be changed in response to a request from the user terminal device 40. Figure 21 shows an example of an input screen for setting business rules. In this example, the controls for tax category, amount excluding tax, consumption tax amount, and amount including tax are laid out. Figure 22 shows the layout definition corresponding to the input screen of Figure 21.

ビジネスルールを設定する場合、各コントロールに対してビジネスルールの条件式を設定する。このビジネスルールの条件式を設定する場合、開発者は、まず、図23に示すコンディション設定画面において、例えば「税抜金額_制御用」、「消費税額_制御用」及び「税込金額_制御用」の各コンディション(条件)の中から、ビジネスルールの条件式の設定を行う所望のコンディションを、必要に応じてコンディション名を入力又は追加して選択する。図23の例は、「税込金額_制御用」のコンディションが選択された例である。 When setting a business rule, a conditional expression for the business rule is set for each control. When setting this conditional expression for the business rule, the developer first selects the desired condition for setting the conditional expression for the business rule from among the conditions (conditions) for example, "Amount excluding tax_control," "Consumption tax_control," and "Amount including tax_control" on the condition setting screen shown in Figure 23 by entering or adding the condition name as necessary. The example in Figure 23 shows the "Amount including tax_control" condition selected.

次に、開発者は、複数の条件式に対する接続詞(AND(かつ)又はOR(又は))を選択する。この図23の例は、「OR」の接続詞が選択された例である。図23に示すように、条件式は、左辺値、演算子及び右辺値からなっている。左辺値及び右辺値としては、図27に示すように、「コントロール」、「変数」、「行変数(行毎に保持可能な変数)」、定数(文字、数値、真偽値)又はシステム変数(初期提供)のうち、所望の値を選択して指定可能となっている。また、演算子としては、図28に示すように「等しい、等しくない」、「大なり(>)」、「小なり(<)」等の不等号の他、「NULLである、NULLでない」が指定可能となっている。 Next, the developer selects a conjunction (AND or OR) for the multiple conditional expressions. In the example in Figure 23, the conjunction "OR" is selected. As shown in Figure 23, a conditional expression consists of an left-hand side value, an operator, and a right-hand side value. As shown in Figure 27, the left-hand side value and right-hand side value can be specified by selecting the desired value from among "control," "variable," "row variable (variable that can be held for each row)," constants (character, numeric, boolean), or system variables (provided initially). Furthermore, as shown in Figure 28, inequality signs such as "equal to," "not equal to," "greater than," and "less than," as well as "is NULL," "is not NULL," can be specified as an operator.

図23の例は、上段の条件式が「税区分=(0)」の条件式であり、下段の条件式が「税区分=(1)」の条件式である。図23の例は、「OR」の接続詞が選択されているため、「税区分=(0)」又は「税区分=(1)」である場合に、「税込金額」の変更を可能とするビジネスルールが設定されたことを示している。 In the example in Figure 23, the conditional expression in the top row is "Tax Category = (0)", and the conditional expression in the bottom row is "Tax Category = (1)". In the example in Figure 23, the conjunction "OR" has been selected, which indicates that a business rule has been set that allows the "Amount including tax" to be changed when "Tax Category = (0)" or "Tax Category = (1)" is true.

この他、図26(a)は、コントロールにエラーがあるか否かを条件とする条件式である。また、図26(b)は、画面に定義している変数の値とコントロールの値を比較して大きいか否かを条件とする条件式である(変数は予めコントロール同様に画面に定義しておく)。 In addition, Figure 26(a) shows a conditional expression that tests whether there is an error in the control. Figure 26(b) shows a conditional expression that tests whether the value of a variable defined on the screen is greater than the value of the control (the variable is defined on the screen in advance, just like the control).

このような条件及び条件式は、図24に示すように、コンディションID、名前、及び、式(条件式)がそれぞれ関連付けされたコンディション設定情報として記憶部2に記憶される。この図24に示す「第2式」は、図25(a)に示すように「AND」を接続詞とし、「税区分セレクトボックス(値)=固定値(2)」とした条件式である。また、図24に示す「第3式」は、図25(b)に示すように「AND」を接続詞とし、「税区分セレクトボックス(値)=固定値(0)」とした条件式である。また、図24に示す「第4式」は、図25(c)に示すように「OR」を接続詞とし、「税区分セレクトボックス(値)=固定値(0)」又は「税区分セレクトボックス(値)=固定値(1)」とした条件式である。 Such conditions and conditional expressions are stored in the memory unit 2 as condition setting information, in which a condition ID, name, and expression (conditional expression) are associated with each other, as shown in Figure 24. The "Second Expression" shown in Figure 24 is a conditional expression in which "Tax Category Select Box (Value) = Fixed Value (2)" using "AND" as a conjunction, as shown in Figure 25(a). The "Third Expression" shown in Figure 24 is a conditional expression in which "Tax Category Select Box (Value) = Fixed Value (0)" using "AND" as a conjunction, as shown in Figure 25(b). The "Fourth Expression" shown in Figure 24 is a conditional expression in which "Tax Category Select Box (Value) = Fixed Value (0)" or "Tax Category Select Box (Value) = Fixed Value (1)" using "OR" as a conjunction, as shown in Figure 25(c).

次に、開発者は、図29に示すように各コントロールに対して、条件(コンディション)を満たした際の処理、及び、処理を適用するコントロールを選択する。条件(コンディション)を満たした際の処理としては、「項目をロックする」、「項目を必須にする」及び「項目を非表示にする」の各処理の中から所望の処理を選択可能となっている。図23の例は、「項目をロックする」との処理が選択されている例である。 Next, as shown in Figure 29, the developer selects the action to be taken when the condition is met for each control, and the control to which the action will be applied. The desired action to be taken when the condition is met can be selected from among "Lock item," "Make item required," and "Hide item." The example in Figure 23 shows the "Lock item" action selected.

また、図23の例は、処理を適用するコントロールとして「税抜金額テキストボックス」、「消費税額テキストボックス」、及び、「税込金額テキストボックス」が選択されている例である。 In addition, the example in Figure 23 shows that the "Amount excluding tax text box," "Consumption tax amount text box," and "Amount including tax text box" are selected as the controls to which the process will be applied.

このような選択操作により、図30に示すように、ビジネスルールID、処理内容、コントロールID及びコンディションIDを含むビジネスルール設定情報が生成され、記憶部2に記憶される。 By performing this selection operation, business rule setting information including the business rule ID, processing content, control ID, and condition ID is generated and stored in the memory unit 2, as shown in Figure 30.

(Webアプリケーション動作)
次に、図31及び図32のフローチャートを用いて、サーバ装置1が利用者端末装置40から受信したリクエストに対応してレスポンスを返信する動作を説明する。図31は、このようなWebアプリケーション動作の前半の動作の流れを示すフローチャートであり、図32は、Webアプリケーション動作の後半の動作の流れを示すフローチャートである。この図31及び図32のフローチャートの動作は、制御部3が記憶部2に記憶されている情報処理プログラムに基づいて、図1に示した表示制御部21、判別部22、情報処理部23、及び、通信制御部24として機能することで実行される。
(Web application operation)
Next, the operation of the server device 1 returning a response in response to a request received from the user terminal device 40 will be described using the flowcharts of Figures 31 and 32. Figure 31 is a flowchart showing the flow of the first half of the operation of such a web application, and Figure 32 is a flowchart showing the flow of the second half of the operation of the web application. The operation of the flowcharts of Figures 31 and 32 is executed by the control unit 3 functioning as the display control unit 21, discrimination unit 22, information processing unit 23, and communication control unit 24 shown in Figure 1 based on the information processing program stored in the storage unit 2.

まず、図31のフローチャートのステップS1では、利用者端末装置40から送信されたリクエストを、サーバ装置1の通信制御部24が受信してステップS2に処理を進める。ステップS2では、判別部22が、利用者端末装置40から受信したリクエストが、Webアプリケーションシステムの起動時であるか否かを判別する。Webアプリケーションシステムの起動時である場合(ステップS2:Yes)、情報処理部23が、上述の、
図33(a)に示す入力画面のレイアウト定義、
図33(b)に示すイベント割当定義、
図33(c)に示すロジックフロー定義、
図33(d)に示すアクション定義、
図33(e)に示すフロー定義、
図33(f)に示すコンディション一覧、
図33(g)に示すビジネスルール一覧、
図33(h)に示すAPI呼出で呼び出しを行うAPI、
を記憶部2から読み出し、RAM(Random Access Memory)等の記憶装置に、一時的に記憶する。
First, in step S1 of the flowchart in Figure 31, the communication control unit 24 of the server device 1 receives a request sent from the user terminal device 40, and the process proceeds to step S2. In step S2, the determination unit 22 determines whether the request received from the user terminal device 40 is for the start-up of the Web application system. If the request is for the start-up of the Web application system (step S2: Yes), the information processing unit 23 performs the above-mentioned
Layout definition of the input screen shown in FIG. 33(a),
The event allocation definition shown in FIG. 33(b)
The logic flow definition shown in FIG. 33(c)
The action definition shown in FIG. 33(d)
The flow definition shown in FIG.
The condition list shown in FIG. 33(f)
A list of business rules shown in FIG. 33(g)
The API called by the API call shown in FIG. 33(h),
is read from the storage unit 2 and temporarily stored in a storage device such as a RAM (Random Access Memory).

また、情報処理部23は、このように読み出した各種情報に基づいて、図34に示すように、ID3(税区分)、ID5(税抜金額)、ID7(消費税額)、及び、ID9(税込金額)の各コントロールの値を、例えば「2:内税」、「3万円」、「3千円」、「3万3千円」の固定値とすると共に、ロック状態を全て「OFF」としたセッション管理データを生成する。 In addition, based on the various information read out in this way, the information processing unit 23 sets the values of each control for ID3 (tax category), ID5 (amount excluding tax), ID7 (amount including consumption tax), and ID9 (amount including tax) to fixed values such as "2: tax included," "30,000 yen," "3,000 yen," and "33,000 yen," and generates session management data in which all lock states are set to "OFF," as shown in FIG. 34.

次に、この場合、Webアプリケーションシステムの起動時であるため、判別部22は、不正チェックを行うことなく、ステップS8を介してステップS4に処理が進む。また、この場合、起動時であるため、判別部22は、ステップS4において、実行するイベントは無いものと判別し(ステップS4:No)、ステップS11を介して図32のフローチャートのステップS5に処理が進む。 Next, in this case, since it is startup time of the web application system, the discrimination unit 22 does not perform a fraud check, and processing proceeds to step S4 via step S8. Also, since it is startup time in this case, the discrimination unit 22 determines in step S4 that there is no event to execute (step S4: No), and processing proceeds to step S5 of the flowchart in Figure 32 via step S11.

ステップS5では、判別部22が、現在、起動時であるか、又は、ボタン操作によるリクエストが存在するか否かを判別する。この場合、起動時であるため(ステップS5:Yes)、判別部22は、ステップS12において、ビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。税区分が「2:内税」の場合、情報処理部23は、図35(a)、図35(b)及び図36に示すように、セッション管理データの「ID5」の税抜金額を「OFF」から「ON(ロック状態)」に変更する。表示制御部21は、このセッション管理データに基づいて、図37に示す入力画面を生成する。 In step S5, the discrimination unit 22 determines whether the application is currently starting up or whether a request has been made via button operation. In this case, since the application is currently starting up (step S5: Yes), the discrimination unit 22 evaluates the business rules in step S12 and supplies the evaluation results to the information processing unit 23. If the tax category is "2: tax included," the information processing unit 23 changes the tax-excluded amount for "ID5" in the session management data from "OFF" to "ON (locked state)," as shown in Figures 35(a), 35(b), and 36. The display control unit 21 generates the input screen shown in Figure 37 based on this session management data.

通信制御部24は、表示制御部21により生成された初期画面に相当する入力画面を、ステップS7において利用者端末装置40に送信する。利用者端末装置40は、サーバ装置1から受信した入力画面を、Webブラウザ41を介して取得し、表示部に表示する。 In step S7, the communication control unit 24 transmits an input screen equivalent to the initial screen generated by the display control unit 21 to the user terminal device 40. The user terminal device 40 acquires the input screen received from the server device 1 via the web browser 41 and displays it on the display unit.

次に、利用者が、図38(a)に示すように「2:内税」となっていたID3の税区分を、「1:外税」とするリクエストを、利用者端末装置40を介して行ったとする。このリクエストは、図31に示すフローチャートのステップS1において、情報処理部23により取得される。この場合は、起動時では無いため、ステップS2を介してステップS3に処理が進み、判別部22が、セッション管理データを参照し、リクエストされた情報は「ロック状態」であるか否かを判別する。 Next, suppose that the user makes a request via the user terminal device 40 to change the tax category for ID3, which was previously set to "2: tax included" as shown in Figure 38(a), to "1: tax excluded." This request is acquired by the information processing unit 23 in step S1 of the flowchart shown in Figure 31. In this case, since it is not startup, processing proceeds to step S3 via step S2, where the determination unit 22 references the session management data and determines whether the requested information is in a "locked state."

この場合、「税区分」はロックされていないため(OFF)、判別部22は、このリクエストを受け付ける判別動作を行う(ステップS3:No)。情報処理部23は、リクエストを受け付ける判別結果に基づいて、ステップS9において、図38(b)に示すように、ID3の税区分の値を、「2:内税」から「1:外税」に変更する。これにより、処理がステップS4に進む。この時点では、実行するイベントが存在しないため、ステップS4及びステップS11を介して、図32のフローチャートのステップS5に処理が進む。 In this case, since the "Tax Category" is not locked (OFF), the discrimination unit 22 performs a discrimination operation to accept this request (step S3: No). Based on the discrimination result that the request is accepted, the information processing unit 23 changes the value of the tax category of ID3 from "2: Tax Included" to "1: Tax Excluded" in step S9, as shown in FIG. 38(b). This causes processing to proceed to step S4. At this point, since there are no events to be executed, processing proceeds to step S5 of the flowchart in FIG. 32 via steps S4 and S11.

この場合、ボタン操作によるリクエストとなるため(ステップS5:Yes)、ステップS5からステップS12に処理が進み、判別部22が、図39(a)及び図39(b)に示すようにビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。この場合、情報処理部23は、税区分が「1:外税」に変更されたため、図40に示すように、ID5の「税抜金額」のロック状態を「OFF(ロックを解除)」とし、ID9の税込金額を「ON(ロック状態)」とするようにセッション管理データを更新する。 In this case, since the request is made by button operation (step S5: Yes), processing proceeds from step S5 to step S12, where the discrimination unit 22 evaluates the business rules as shown in Figures 39(a) and 39(b) and supplies the evaluation results to the information processing unit 23. In this case, since the tax category has been changed to "1: tax excluded," the information processing unit 23 updates the session management data to set the lock status of ID5 "Amount excluding tax" to "OFF (unlocked)" and ID9 "Amount including tax" to "ON (locked)," as shown in Figure 40.

表示制御部21及び通信制御部24は、更新されたID5の「税抜金額」及びID9の税込金額の、部分的な各表示データを、ステップS7において利用者端末装置40に送信する。利用者端末装置40は、サーバ装置1から受信した各表示データに基づいて、入力画面のID5の「税抜金額」及びID9の税込金額のロック状態を更新する。 In step S7, the display control unit 21 and the communication control unit 24 send partial display data for the updated "Amount excluding tax" for ID5 and the amount including tax for ID9 to the user terminal device 40. Based on the display data received from the server device 1, the user terminal device 40 updates the lock status of the "Amount excluding tax" for ID5 and the amount including tax for ID9 on the input screen.

次に、利用者が、図41に示すように「3万3千円」となっていた税込金額を、不正に「100円」に変更するリクエストを、利用者端末装置40を介して行ったとする。このリクエストは、図31に示すフローチャートのステップS1において、情報処理部23により取得される。この場合は、起動時では無いため、ステップS2を介してステップS3に処理が進み、判別部22が、セッション管理データを参照し、リクエストされた情報は「ロック状態」であるか否かを判別する。 Next, let's assume that the user makes a request via the user terminal device 40 to fraudulently change the tax-inclusive amount, which was "33,000 yen," to "100 yen," as shown in Figure 41. This request is acquired by the information processing unit 23 in step S1 of the flowchart shown in Figure 31. In this case, since it is not startup, processing proceeds to step S3 via step S2, where the determination unit 22 references the session management data and determines whether the requested information is in a "locked state."

この場合、図40に示したように、ID9の「3万3千円」の「税込金額」はロックされているため(ステップS3:Yes)、判別部22は、このリクエストを受け付けない判別(リクエストを破棄する判別)を行う。 In this case, as shown in Figure 40, the "tax-inclusive amount" of "33,000 yen" for ID9 is locked (step S3: Yes), so the discrimination unit 22 determines not to accept this request (discards the request).

次に、判別部22は、ステップS4において、図43(a)に示すイベント割当定義、図43(b)に示すロジックフロー定義、図43(c)に示すアクション定義、及び、図43(d)に示すフロー定義を参照し、ID10の登録ボタンのクリック操作に対応する処理を判別する。この場合、ID10の登録ボタンのクリック操作に対応する処理は、図43(b)に示すように「データ登録処理」であると判別される。情報処理部23は、ステップS10において、この判別結果に基づいて「データ登録処理」のロジックフローを実行する。 Next, in step S4, the determination unit 22 references the event allocation definition shown in Figure 43(a), the logic flow definition shown in Figure 43(b), the action definition shown in Figure 43(c), and the flow definition shown in Figure 43(d) to determine the process corresponding to the click operation of the registration button with ID 10. In this case, the process corresponding to the click operation of the registration button with ID 10 is determined to be the "data registration process" as shown in Figure 43(b). In step S10, the information processing unit 23 executes the logic flow of the "data registration process" based on the result of this determination.

次に、図32のフローチャートのステップS5に処理が進み、判別部22が、図44(a)及び図44(b)に示すようにビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。この場合、税込金額を「100円」に変更する不正なリクエストは破棄されたため、情報処理部23は、図45に示すようにセッション管理データの更新は行わない。表示制御部21は、図45に示すようにセッション管理データに基づいて、図46に示す従前の入力画面を生成する。通信制御部24は、この入力画面を利用者端末装置40に送信する。これにより、不正なリクエストを破棄し、従前のセッション管理データに基づく入力画面を維持できるため、不正なデータの改ざんを防止できる。 Next, processing proceeds to step S5 of the flowchart in Figure 32, where the discrimination unit 22 evaluates the business rules as shown in Figures 44(a) and 44(b) and supplies the evaluation result to the information processing unit 23. In this case, since the fraudulent request to change the tax-inclusive price to "100 yen" was discarded, the information processing unit 23 does not update the session management data as shown in Figure 45. The display control unit 21 generates the previous input screen shown in Figure 46 based on the session management data as shown in Figure 45. The communication control unit 24 transmits this input screen to the user terminal device 40. This discards the fraudulent request and maintains the input screen based on the previous session management data, thereby preventing fraudulent data tampering.

なお、図32のフローチャートのステップS5において、起動時又はボタン操作によるリクエストではない(ステップS5:No)と判別された場合は、ステップS6に処理が進み、判別部22により、コンディションの式に含まれるコントロールの値を変更するリクエストであるか否か判別される。コンディションの式に含まれるコントロールの値を変更するリクエストであると判別された場合は(ステップS6:Yes)、ステップS12において判別部22によりビジネスルールの評価が行われる。これに対して、コンディションの式に含まれるコントロールの値を変更するリクエストではないと判別された場合は(ステップS6:No)、ステップS13で何も処理を行うことなく、ステップS7に処理が進む。 Note that if it is determined in step S5 of the flowchart in FIG. 32 that the request is not a request made at startup or by button operation (step S5: No), processing proceeds to step S6, where the discrimination unit 22 determines whether the request is to change the value of a control included in the condition formula. If it is determined that the request is to change the value of a control included in the condition formula (step S6: Yes), the discrimination unit 22 evaluates the business rules in step S12. On the other hand, if it is determined that the request is not to change the value of a control included in the condition formula (step S6: No), no processing is performed in step S13, and processing proceeds to step S7.

(第1の実施の形態の効果)
以上の説明から明らかなように、第1の実施の形態のWebアプリケーションシステムは、サーバ装置1が、表示するデータの他、コントロールのロック又は非表示等の全ての状態を管理している。このため、利用者端末装置40からリクエストの処理を行うタイミングで、受付可能か否かを評価することができる。そして、この評価結果に基づいて、リクエストの処理を行うことで、データの改ざんを簡単に防止することができる。
(Effects of the first embodiment)
As is clear from the above explanation, in the Web application system of the first embodiment, the server device 1 manages all the states of the control, such as the data to be displayed and whether the control is locked or hidden. Therefore, it is possible to evaluate whether a request can be accepted at the timing of processing the request from the user terminal device 40. Then, by processing the request based on this evaluation result, it is possible to easily prevent data tampering.

[第2の実施の形態]
次に、第2の実施の形態となる利用者端末装置40を説明する。上述の第1の実施の形態のWebアプリケーションシステムは、開発者端末装置30で開発された情報処理プログラムに基づいて、サーバ装置1が、利用者端末装置40に提供するデータを管理して、不正なデータの改ざんを防止する例であった。これに対して、第2の実施の形態の利用者端末装置40は、いわゆるスタンドアロンの端末装置となっており、上述の不正なデータの改ざんを、利用者端末装置40単体で防止する例である。
Second Embodiment
Next, a user terminal device 40 according to a second embodiment will be described. The Web application system according to the first embodiment described above is an example in which the server device 1 manages data provided to the user terminal device 40 based on an information processing program developed by the developer terminal device 30, thereby preventing unauthorized data tampering. In contrast, the user terminal device 40 according to the second embodiment is a so-called standalone terminal device, and is an example in which the user terminal device 40 alone prevents the aforementioned unauthorized data tampering.

なお、第1の実施の形態及び第2の実施の形態は、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複した説明は省略する。 Note that this is the only difference between the first and second embodiments. Therefore, below we will only explain the differences between the two and omit redundant explanations.

図47は、第2の実施の形態となる利用者端末装置40のハードウェア構成を示すブロック図である。この第2の実施の形態の場合、利用者端末装置40がスタンドアロンの端末装置となっており、記憶部42、制御部43、通信インターフェース部44及び入出力インターフェース部45を備えている。入出力インターフェース部45には、入力装置46及び出力装置47が接続されている。出力装置47としては、モニタ装置(家庭用テレビを含む)等の表示部を用いることができる。入力装置46としては、キーボード装置、マウス装置及びマイクロホン装置等の他、マウス装置と協働してポインティングデバイス機能を実現するモニタ装置等を用いることができる。 Figure 47 is a block diagram showing the hardware configuration of a user terminal device 40 according to a second embodiment. In this second embodiment, the user terminal device 40 is a standalone terminal device, and includes a memory unit 42, a control unit 43, a communication interface unit 44, and an input/output interface unit 45. An input device 46 and an output device 47 are connected to the input/output interface unit 45. The output device 47 can be a display unit such as a monitor device (including a home television). The input device 46 can be a keyboard device, a mouse device, a microphone device, or a monitor device that cooperates with a mouse device to provide a pointing device function.

通信インターフェース部44は、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網に接続される。 The communication interface unit 44 is connected to a wide area network such as the Internet or a private network such as a local area network (LAN).

記憶部42としては、例えばROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置を用いることができる。記憶部42には、上述と同様の情報処理プログラムが記憶されている他、入力装置46を介してリクエストされたデータが記憶されるデータベース(DB)11が記憶されている。 The storage unit 42 may be, for example, a storage device such as a ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), or SSD (Solid State Drive). The storage unit 42 stores information processing programs similar to those described above, as well as a database (DB) 11 that stores data requested via the input device 46.

また、記憶部には、上述のレイアウト定義、イベント割当定義、ロジックフロー定義、アクション定義、フロー定義、個別設定、コンディション設定、ビジネスルール設定等が記憶されている。 The memory unit also stores the above-mentioned layout definitions, event allocation definitions, logic flow definitions, action definitions, flow definitions, individual settings, condition settings, business rule settings, etc.

制御部43は、記憶部42に記憶されている情報処理プログラムを実行することで実現される、上述の表示制御部21、判別部22、及び、情報処理部23を備える。 The control unit 43 includes the display control unit 21, discrimination unit 22, and information processing unit 23 described above, which are realized by executing the information processing program stored in the memory unit 42.

このような第2の実施の形態の利用者端末装置40は、表示制御部21が入力画面を、表示部の一例である出力装置47を介して表示する。利用者は、入力装置46を介して所望の入力操作を行い、入力画面に対して所望の値の入力又はボタン操作を行う。 In the user terminal device 40 of this second embodiment, the display control unit 21 displays the input screen via the output device 47, which is an example of a display unit. The user performs desired input operations via the input device 46, entering desired values or operating buttons on the input screen.

判別部22は、利用者が所望の値の入力又はボタン操作を行うことで生成されるリクエストを、上述のようにビジネスルールに基づいて評価する。情報処理部23は、入力画面を介して入力された値が変更可能であることを示す判別結果が得られた場合は、入力された値に対応する情報処理結果を表示制御部21に供給する。表示制御部21は、入力された値に対応する情報処理結果を出力装置47に表示する。 The determination unit 22 evaluates the request generated by the user entering a desired value or operating a button based on the business rules as described above. If the information processing unit 23 obtains a determination result indicating that the value entered via the input screen can be changed, it supplies the information processing result corresponding to the entered value to the display control unit 21. The display control unit 21 displays the information processing result corresponding to the entered value on the output device 47.

これに対して、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合、情報処理装置23は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する。表示制御部21は、従前の値に対応する情報処理結果を出力装置47に表示する。 On the other hand, if a determination result is obtained indicating that the value of the item entered via the input screen cannot be changed, the information processing device 23 discards the value of the entered item and maintains the previous value, and supplies the information processing result corresponding to the previous value to the display control unit. The display control unit 21 displays the information processing result corresponding to the previous value on the output device 47.

(第2の実施の形態の効果)
これにより、上述の第1の実施の形態と同様に、簡単にデータの改ざんを防止できる他、上述の第1の実施の形態と同様の効果を得ることができる。
(Effects of the second embodiment)
This makes it possible to easily prevent data tampering in the same way as in the first embodiment, and also to obtain the same effects as in the first embodiment.

[国連が主導する持続可能な開発目標(SDGs)への貢献]
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び目標9に貢献することが可能となる。
[Contribution to the United Nations-led Sustainable Development Goals (SDGs)]
This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby contributing to the achievement of SDGs Goals 8 and 9.

また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、目標13及び目標15に貢献することが可能となる。 Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to SDGs Goals 12, 13, and 15.

また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。 Furthermore, this embodiment can contribute to strengthening control and governance, thereby contributing to Goal 16 of the SDGs.

[他の実施の形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
Other Embodiments
The present invention may be implemented in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.

例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、或いは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。 For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods.

また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。 In addition, the processing procedures, control procedures, specific names, registered data for each process, information including parameters such as search conditions, screen examples, and database configurations shown in this specification and drawings may be changed as desired unless otherwise specified.

また、Webアプリケーションシステムのサーバ装置1及び利用者端末装置40に関して、図示の各構成要素は機能概念的なものであり、必ずしも図示の如く物理的に構成されていることを要しない。 Furthermore, with regard to the server device 1 and user terminal device 40 of the web application system, the components shown are functional concepts and do not necessarily have to be physically configured as shown.

例えば、サーバ装置1が備える処理機能である、特に制御部3及び制御部3にて行われる各処理機能、及び、利用者端末装置40が備える処理機能である、特に制御部43及び制御部43にて行われる各処理機能については、その全部又は任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。なお、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてサーバ装置1又は利用者端末装置40に機械的に読み取られる。すなわち、ROM又はHDD等の記憶部等には、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部3を構成する。 For example, the processing functions of the server device 1, particularly the control unit 3 and the various processing functions performed by the control unit 3, and the processing functions of the user terminal device 40, particularly the control unit 43 and the various processing functions performed by the control unit 43, may be implemented in whole or in part by a CPU (Central Processing Unit) and a program interpreted and executed by the CPU, or may be implemented as hardware using wired logic. The program is recorded on a non-transitory computer-readable recording medium containing programmed instructions for causing the information processing device to execute the processes described in this embodiment, and is mechanically read by the server device 1 or the user terminal device 40 as needed. That is, a computer program is recorded in a storage unit such as a ROM or HDD for working with the OS to issue commands to the CPU and perform various processes. The computer program is executed by being loaded into RAM, and works with the CPU to form the control unit 3.

また、サーバ装置1又は利用者端末装置40の情報処理プログラムは、サーバ装置1又は利用者端末装置40に対して任意のネットワークを介して接続された他のサーバ装置に記憶されていてもよく、必要に応じてその全部又は一部をダウンロードすることも可能である。 In addition, the information processing program of the server device 1 or the user terminal device 40 may be stored in another server device connected to the server device 1 or the user terminal device 40 via any network, and all or part of it may be downloaded as needed.

また、本実施形態で説明した処理を実行するための情報処理プログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical Disk)、DVD(Digital Versatile Disk)、及び、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。 In addition, the information processing program for executing the processes described in this embodiment may be stored on a non-transitory computer-readable recording medium, or may be configured as a program product. Here, "recording medium" includes any "portable physical medium" such as a memory card, USB (Universal Serial Bus) memory, SD (Secure Digital) card, flexible disk, magneto-optical disk, ROM, EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable and Programmable Read-Only Memory), CD-ROM (Compact Disk Read-Only Memory), MO (Magneto-Optical Disk), DVD (Digital Versatile Disk), and Blu-ray (registered trademark) Disc.

また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコード又はバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示したサーバ装置1又は利用者端末装置40において、記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。 A "program" is a data processing method written in any language or description method, and may be in any format, such as source code or binary code. A "program" is not necessarily limited to a single structure, but also includes a distributed structure consisting of multiple modules or libraries, or a structure that achieves its function by working in conjunction with a separate program, such as an OS. In the server device 1 or user terminal device 40 shown in the embodiments, well-known structures and procedures can be used for the specific structure and reading procedure for reading a recording medium, as well as the installation procedure after reading.

記憶部2及び記憶部42は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、及び、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、及び、ウェブページ用ファイル等を格納する。 Memory unit 2 and memory unit 42 are storage means such as memory devices such as RAM and ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files used for various processes and website provision.

また、サーバ装置1又は利用者端末装置40は、既知のパーソナルコンピュータ装置又はワークステーション等の情報処理装置で構成してもよく、また、任意の周辺装置が接続された情報処理装置で構成してもよい。また、情報処理装置は、本実施形態で説明した処理を実現させるソフトウェア(プログラム又はデータ等を含む)を実装することにより実現してもよい。 Furthermore, the server device 1 or the user terminal device 40 may be configured as an information processing device such as a known personal computer device or workstation, or may be configured as an information processing device to which any peripheral device is connected. Furthermore, the information processing device may be realized by implementing software (including programs, data, etc.) that realizes the processing described in this embodiment.

さらに、装置の分散・統合の具体的形態は図示するものに限られず、その全部又は一部を、各種の付加等に応じて又は機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。 Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the figures, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various additions or functional loads. In other words, the above-mentioned embodiments may be implemented in any combination, or embodiments may be implemented selectively.

本発明は、例えばアプリケーションプログラムの開発業等に適用して好適である。 This invention is suitable for application in industries such as application program development.

1 サーバ装置
2 記憶部
3 制御部
4 通信インターフェース部
11 データベース
13 Webブラウザ
21 表示制御部
22 判別部
23 情報処理部
24 通信制御部
30 開発者端末装置
31 Webブラウザ
40 利用者端末装置
41 Webブラウザ
42 記憶部
43 制御部
44 通信インターフェース部
45 入出力インターフェース部
46 入力装置
47 出力装置
55 ネットワーク
REFERENCE SIGNS LIST 1 Server device 2 Storage unit 3 Control unit 4 Communication interface unit 11 Database 13 Web browser 21 Display control unit 22 Discrimination unit 23 Information processing unit 24 Communication control unit 30 Developer terminal device 31 Web browser 40 User terminal device 41 Web browser 42 Storage unit 43 Control unit 44 Communication interface unit 45 Input/output interface unit 46 Input device 47 Output device 55 Network

Claims (8)

入力画面を表示部に表示する表示制御部と、
前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、
前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理部と、
を有する情報処理装置。
a display control unit that displays an input screen on a display unit;
a determination unit that, when an input is made to an item included in the input screen, references setting information stored in a storage unit that indicates whether or not the value of each item on the input screen can be changed, and determines whether or not the value of the item input via the input screen is a changeable item;
an information processing unit that, when a determination result indicating that the value of the item input via the input screen is changeable is obtained, supplies an information processing result corresponding to the value of the input item to the display control unit, and, when a determination result indicating that the value of the item input via the input screen is not changeable is obtained, discards the value of the input item, maintains the previous value, and supplies an information processing result corresponding to the previous value to the display control unit;
An information processing device having the above.
前記表示制御部は、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が前記判別部から得られた場合に、前記表示部に所定のエラー表示を行うこと、
を特徴とする請求項1に記載の情報処理装置。
the display control unit, when obtaining a determination result from the determination unit indicating that the value of the item input via the input screen cannot be changed, displays a predetermined error on the display unit;
2. The information processing device according to claim 1,
前記設定情報は、前記入力画面全体に相当するメインパネル内の項目又はボタンの変更を不可とする設定、又は、前記入力画面内の一部に相当する部分パネルに含まれる項目又はボタンの変更を不可とする設定が可能となっており、
前記判別部は、前記メインパネル内の項目又はボタンの変更を不可とする設定がされている場合、前記メインパネル内の全ての項目又は全てのボタンの変更を不可と判別し、前記部分パネル内の項目又はボタンの変更を不可とする設定がされている場合、前記部分パネル内の全ての項目又は全てのボタンの変更を不可と判別すること、
を特徴とする請求項2に記載の情報処理装置。
The setting information can be set to prohibit changes to items or buttons in a main panel corresponding to the entire input screen, or can be set to prohibit changes to items or buttons included in a partial panel corresponding to a part of the input screen,
the determination unit determines that all items or all buttons in the main panel are unchangeable when the setting is such that items or buttons in the main panel are unchangeable, and determines that all items or all buttons in the partial panel are unchangeable when the setting is such that items or buttons in the partial panel are unchangeable;
3. The information processing device according to claim 2, wherein:
前記設定情報は、前記項目又はボタンを下位階層、前記部分パネルを中位階層、前記メインパネルを上位階層とする階層構造を有しており、
前記判別部は、前記下位階層、前記中位階層及び前記上位階層の順に、変更を不可とする設定の有無を判別し、前記上位階層で変更を不可とする設定を検出した場合は、前記メインパネルに含まれる全項目及び全ボタンの変更を不可と判別し、前記中位階層で変更を不可とする設定を検出した場合は、前記部分パネルに含まれる全項目及び全ボタンの変更を不可と判別し、前記下位階層で変更を不可とする設定を検出した場合は、変更を不可とする設定がされている前記項目の変更を不可と判別すること、
を特徴とする請求項3に記載の情報処理装置。
the setting information has a hierarchical structure in which the items or buttons are in a lower hierarchical level, the partial panel is in a middle hierarchical level, and the main panel is in a higher hierarchical level,
the determination unit determines whether or not there is a setting that prohibits changes in the order of the lower hierarchy, the middle hierarchy, and the upper hierarchy, and if a setting that prohibits changes is detected in the upper hierarchy, determines that all items and buttons included in the main panel cannot be changed; if a setting that prohibits changes is detected in the middle hierarchy, determines that all items and buttons included in the partial panel cannot be changed; and if a setting that prohibits changes is detected in the lower hierarchy, determines that the items for which a setting that prohibits changes is set cannot be changed;
4. The information processing device according to claim 3,
所定の条件式の条件を満たした場合の処理として、前記項目の値を変更不可とする処理である、項目をロックする処理、及び、前記項目を非表示にする処理のうち、いずれかの処理を、前記設定情報として前記項目毎に設定可能であること、
を特徴とする請求項4に記載の情報処理装置。
As a process to be performed when a condition of a predetermined conditional expression is satisfied, one of a process of locking the item, which is a process of making the value of the item unchangeable, and a process of hiding the item can be set for each item as the setting information;
5. The information processing device according to claim 4,
前記表示制御部により生成された前記入力画面、及び、前記表示制御部に供給された前記情報処理結果を、ネットワークを介してクライアント端末装置に送信し、前記クライアント端末装置を介して前記入力画面に入力された値を、前記ネットワークを介して受信するように通信部を通信制御する通信制御部を、さらに備えること、
を特徴とする請求項5に記載の情報処理装置。
a communication control unit that controls communication of a communication unit so that the input screen generated by the display control unit and the information processing result supplied to the display control unit are transmitted to a client terminal device via a network, and a value input to the input screen via the client terminal device is received via the network ;
6. The information processing device according to claim 5,
表示制御部が入力画面を表示部に表示する表示制御ステップと、
判別部が、前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別ステップと、
情報処理部が、前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理ステップと、
を有する情報処理方法。
a display control step in which a display control unit displays an input screen on a display unit;
a determination step in which, when an input is made to an item included in the input screen, a determination unit refers to setting information stored in a storage unit that indicates whether or not the value of each item on the input screen can be changed, and determines whether or not the value of the item input via the input screen is a changeable item;
an information processing step in which, when a determination result is obtained by the information processing unit indicating that the value of the item input via the input screen is changeable, the information processing unit supplies the display control unit with an information processing result corresponding to the value of the input item, and, when a determination result is obtained by the information processing unit indicating that the value of the item input via the input screen is not changeable, the information processing unit discards the value of the input item, maintains the previous value, and supplies the display control unit with an information processing result corresponding to the previous value;
An information processing method comprising:
コンピュータを、
入力画面を表示部に表示する表示制御部と、
前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、
前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理部として機能させること、
を特徴とする情報処理プログラム。
Computer,
a display control unit that displays an input screen on a display unit;
a determination unit that, when an input is made to an item included in the input screen, references setting information stored in a storage unit that indicates whether or not the value of each item on the input screen can be changed, and determines whether or not the value of the item input via the input screen is a changeable item;
when a determination result indicating that the value of the item input via the input screen is changeable is obtained, an information processing unit supplies an information processing result corresponding to the value of the input item to the display control unit, and when a determination result indicating that the value of the item input via the input screen is not changeable is obtained, an information processing unit discards the value of the input item, maintains the previous value, and supplies an information processing result corresponding to the previous value to the display control unit;
An information processing program characterized by:
JP2022148763A 2022-09-20 2022-09-20 Information processing device, information processing method, and information processing program Active JP7772677B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022148763A JP7772677B2 (en) 2022-09-20 2022-09-20 Information processing device, information processing method, and information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022148763A JP7772677B2 (en) 2022-09-20 2022-09-20 Information processing device, information processing method, and information processing program

Publications (2)

Publication Number Publication Date
JP2024043655A JP2024043655A (en) 2024-04-02
JP7772677B2 true JP7772677B2 (en) 2025-11-18

Family

ID=90479764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022148763A Active JP7772677B2 (en) 2022-09-20 2022-09-20 Information processing device, information processing method, and information processing program

Country Status (1)

Country Link
JP (1) JP7772677B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206884A (en) 2006-01-31 2007-08-16 Chugoku Electric Power Co Inc:The Account title confirmation system in slip issuing
JP2011186651A (en) 2010-03-05 2011-09-22 Ryoyu Systems Co Ltd Work management system, work management method, and program thereof
JP2013140433A (en) 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus, input support method, and input support program
JP2015069587A (en) 2013-09-30 2015-04-13 富士通エフ・アイ・ピー株式会社 Survey slip management device and survey slip management program
JP2015138516A (en) 2014-01-24 2015-07-30 三菱重工業株式会社 condition management system and program
JP2017054530A (en) 2014-07-30 2017-03-16 明豊ファシリティワークス株式会社 Project progress management system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206884A (en) 2006-01-31 2007-08-16 Chugoku Electric Power Co Inc:The Account title confirmation system in slip issuing
JP2011186651A (en) 2010-03-05 2011-09-22 Ryoyu Systems Co Ltd Work management system, work management method, and program thereof
JP2013140433A (en) 2011-12-28 2013-07-18 Fujitsu Ltd Information processing apparatus, input support method, and input support program
JP2015069587A (en) 2013-09-30 2015-04-13 富士通エフ・アイ・ピー株式会社 Survey slip management device and survey slip management program
JP2015138516A (en) 2014-01-24 2015-07-30 三菱重工業株式会社 condition management system and program
JP2017054530A (en) 2014-07-30 2017-03-16 明豊ファシリティワークス株式会社 Project progress management system

Also Published As

Publication number Publication date
JP2024043655A (en) 2024-04-02

Similar Documents

Publication Publication Date Title
US11451529B2 (en) Security migration in a business intelligence environment
Stvilia et al. Information quality work organization in Wikipedia
US7730480B2 (en) System and method for creating a pattern installation by cloning software installed another computer
JP5657930B2 (en) Electronic form display control device, electronic form display control method, and electronic form display control program
JP5707250B2 (en) Database access management system, method, and program
JP5112085B2 (en) Office flow generation apparatus and method
US6959429B1 (en) System for developing data collection software applications
US20240028310A1 (en) Comprehensive component analysis and visualization
JPH1153243A (en) Computer system and medium recording processing program thereof
JP7772677B2 (en) Information processing device, information processing method, and information processing program
JP7112260B2 (en) Management accounting data creation support device, management accounting data creation support method, and management accounting data creation support program
JP6391143B2 (en) Access control apparatus, information sharing system, program, and access control method
CN112241517A (en) License Management System and Recording Media
JP7499313B2 (en) Update control device, update control method, and update control program
JP2003216666A (en) Drawing management system
Shoewu et al. Design and Implementation of a Laundry Management System
JP7033914B2 (en) Registration screen processing device, registration screen processing method, and registration screen processing program
JP7162159B1 (en) Information processing device, information processing method, and information processing program
JP7618529B2 (en) Information processing device, information processing method, and information processing program
JP3785842B2 (en) Access control device and program recording medium thereof
JP7744381B2 (en) Negotiation record management device, negotiation record management method, and negotiation record management program
JP7223903B1 (en) Fixed Asset System, Fixed Asset Management Method, and Fixed Asset Management Program
JP7795502B2 (en) Anomaly detection device, anomaly detection method, and anomaly detection program
JP7003697B2 (en) Approval processing programs, equipment, and methods
JP6850162B2 (en) Business data change check device, business data change check method, and business data change check program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251002

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251106

R150 Certificate of patent or registration of utility model

Ref document number: 7772677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150