(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024043655
(43)【公開日】2024-04-02
(54)【発明の名称】情報処理装置、情報処理方法、及び、情報処理プログラム
(51)【国際特許分類】
G06Q 10/10 20230101AFI20240326BHJP
G06F 3/0484 20220101ALI20240326BHJP
【FI】
G06Q10/10
G06F3/0484
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022148763
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】矢崎 俊平
(72)【発明者】
【氏名】馬場 健人
(72)【発明者】
【氏名】樫尾 憲一
(72)【発明者】
【氏名】上野 剛光
【テーマコード(参考)】
5E555
5L049
【Fターム(参考)】
5E555AA53
5E555BA02
5E555BA14
5E555BA45
5E555BA68
5E555BB02
5E555BB14
5E555BC17
5E555BC18
5E555BD01
5E555CA24
5E555CB02
5E555CB33
5E555CB44
5E555CC19
5E555DB13
5E555DB58
5E555DD03
5E555DD06
5E555DD08
5E555EA05
5E555EA07
5E555EA14
5E555FA00
5L049AA20
(57)【要約】
【課題】簡単にデータの改ざんを防止する。
【解決手段】表示制御部が、入力画面を表示部に表示する。判別部は、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する。情報処理部は、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給する。これに対して、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
入力画面を表示部に表示する表示制御部と、
前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、
前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理部と、
を有する情報処理装置。
【請求項2】
前記表示制御部は、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が前記判別部から得られた場合に、前記表示部に所定のエラー表示を行うこと、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定情報は、前記入力画面全体に相当するメインパネル内の項目又はボタンの変更を不可とする設定、又は、前記入力画面内の一部に相当する部分パネルに含まれる項目又はボタンの変更を不可とする設定が可能となっており、
前記判別部は、前記メインパネル内の項目又はボタンの変更を不可とする設定がされている場合、前記メインパネル内の全ての項目又は全てのボタンの変更を不可と判別し、前記部分パネル内の項目又はボタンの変更を不可とする設定がされている場合、前記部分パネル内の全ての項目又は全てのボタンの変更を不可と判別すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記設定情報は、前記項目又はボタンを下位階層、前記部分パネルを中位階層、前記メインパネルを上位階層とする階層構造を有しており、
前記判別部は、前記下位階層、前記中位階層及び前記上位階層の順に、変更を不可とする設定の有無を判別し、前記上位階層で変更を不可とする設定を検出した場合は、前記メインパネルに含まれる全項目及び全ボタンの変更を不可と判別し、前記中位階層で変更を不可とする設定を検出した場合は、前記部分パネルに含まれる全項目及び全ボタンの変更を不可と判別し、前記下位階層で変更を不可とする設定を検出した場合は、変更を不可とする設定がされている前記項目の変更を不可と判別すること、
を特徴とする請求項3に記載の情報処理装置。
【請求項5】
所定の条件式の条件を満たした場合の処理として、前記項目の値を変更不可とする処理である、項目をロックする処理、及び、前記項目を非表示にする処理のうち、いずれかの処理を、前記設定情報として前記項目毎に設定可能であること、
を特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記表示制御部により生成された前記入力画面、及び、前記表示制御部に供給された前記情報処理結果を、ネットワークを介してクライアント端末装置に送信し、前記クライアント端末装置を介して前記入力画面に入力された値を前記ネットワーク介して受信するように通信部を通信制御する通信制御部を、さらに備えること、
を特徴とする請求項5に記載の情報処理装置。
【請求項7】
表示制御部が入力画面を表示部に表示する表示制御ステップと、
判別部が、前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別ステップと、
情報処理部が、前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理ステップと、
を有する情報処理方法。
【請求項8】
コンピュータを、
入力画面を表示部に表示する表示制御部と、
前記入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている前記入力画面の各項目の値の変更の可否を示す設定情報を参照し、前記入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、
前記入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を前記表示制御部に供給し、前記入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の前記値に対応する情報処理結果を前記表示制御部に供給する情報処理部として機能させること、
を特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び、情報処理プログラムに関する。
【背景技術】
【0002】
今日において、データの改ざんを防止する技術が知られている。例えば、特許文献1(特開2004-094818号公報)に開示されている帳票印刷制御装置は、サーバから配信されるファイルであって、帳票や埋め込みデータを結合したファイルの中に埋め込まれている配信に関する情報を取り出すと共に、取り出した配信に関する情報を履歴保存する。そして、履歴保存した情報に基づいて、印刷処理してもよいファイルであるか否かを判断する。また、同一の配信ファイルであっても、処理の状況に応じて処理を再実行する。さらに、配信されたファイルが不要になった時点で削除する。これにより、帳票及び埋め込みデータの改ざんを防止することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来は、リクエストデータの値を、そのまま使用しないように、設計から考慮する必要があった。これは、アプリケーションプログラムの全ての画面で個別に実装する必要があるため、簡単にデータの改ざんを防止することは困難となっていた。
【0005】
本発明は、上述の課題に鑑みてなされたものであり、簡単にデータの改ざんを防止可能とした情報処理装置、情報処理方法、及び、情報処理プログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
上述の課題を解決し、目的を達成するために、本発明に係る情報処理装置は、入力画面を表示部に表示する表示制御部と、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理部と、を有する。
【0007】
また、上述の課題を解決し、目的を達成するために、本発明に係る情報処理方法は、表示制御部が入力画面を表示部に表示する表示制御ステップと、判別部が、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別ステップと、情報処理部が、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理ステップと、を有する。
【0008】
また、上述の課題を解決し、目的を達成するために、本発明に係る情報処理プログラムは、コンピュータを、入力画面を表示部に表示する表示制御部と、入力画面に含まれる項目に対する入力が行われた際に、記憶部に記憶されている入力画面の各項目の値の変更の可否を示す設定情報を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する判別部と、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が得られた場合は、入力された項目の値に対応する情報処理結果を表示制御部に供給し、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する情報処理部として機能させる。
【発明の効果】
【0009】
本発明は、簡単にデータの改ざんを防止できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、第1の実施の形態のWebアプリケーションシステムのシステム構成及びサーバ装置のハードウェア構成を示すブロック図である。
【
図2】
図2は、Webアプリケーションシステムの一般的な利用形態を示す図である。
【
図3】
図3は、Webアプリケーションシステムの一般的な利用形態を示す他の図である。
【
図4】
図4は、Webアプリケーションシステムにおけるデータ改ざんによる不正な利用形態を説明するための図である。
【
図5】
図5は、第1の実施の形態のWebアプリケーションシステムにおけるデータ改ざんに対する防止動作の概要を示す図である。
【
図6】
図6は、データの変更に対する、第1の実施の形態のWebアプリケーションシステムのビジネスルールに基づく対応を説明するための図である。
【
図7】
図7は、設定されているビジネスルールの一例を示す図である。
【
図8】
図8は、第1の実施の形態のWebアプリケーションシステムにおけるデータ改ざんに対する防止動作の概要を示す他の図である。
【
図9】
図9は、第1の実施の形態のWebアプリケーションシステムにおけるボタンの不正操作に対する防止動作の概要を示す図である。
【
図10】
図10は、入力画面のパネル構成の一例を示す図である。
【
図11】
図11は、第1の実施の形態のWebアプリケーションシステムにおける、入力画面のパネル構成に対応する各データの階層構造を説明するための図である。
【
図12】
図12は、Webアプリケーションシステムで用いられる情報処理プログラムの開発形態を示す図である。
【
図13】
図13は、Webアプリケーションシステムで開発された情報処理プログラムの利用形態を示す図である。
【
図14】
図14は、Webアプリケーションシステムで用いられる情報処理プログラムの開発形態を示す図である。
【
図15】
図15は、レイアウト定義(コントロール一覧)の一例を示す図である。
【
図16】
図16は、ロジックフローの設定を説明するための図である。
【
図17】
図17は、ロジックフローの設定に用いられる各種定義の一例を示す図である。
【
図18】
図18は、アクション設定を説明するための図である。
【
図19】
図19は、アクション設定として、業務データベースからデータを取得するAPIを設定した例を示す図である。
【
図20】
図20は、ボタンに対するイベント割当を説明するための図である。
【
図21】
図21は、ビジネスルールの設定を説明するための図である。
【
図23】
図23は、ビジネスルールの条件を示す条件式の一例を示す図である。
【
図24】
図24は、各条件(コンディション)と条件式の対応例を示す図である。
【
図25】
図25は、各条件(コンディション)に対応する条件式を示す図である。
【
図26】
図26は、ビジネスルールの条件を示す条件式の他の例を示す図である。
【
図27】
図27は、条件式に用いられる項目と値の関係を示す図である。
【
図28】
図28は、条件式に用いられる演算子の一例を示す図である。
【
図29】
図29は、各コントロールに対するビジネスルールの設定例を示す図である。
【
図30】
図30は、ビジネスルールの設定情報の一例を示す図である。
【
図31】
図31は、Webアプリケーションシステムのサーバ装置による、利用者端末装置からのリクエストの処理の前半の流れを示すフローチャートである。
【
図32】
図32は、Webアプリケーションシステムのサーバ装置による、利用者端末装置からのリクエストの処理の後半の流れを示すフローチャートである。
【
図33】
図33は、サーバ装置が利用者端末装置からのリクエストを受信した際に参照する各種定義及びビジネスルール等を示す図である。
【
図34】
図34は、セッション管理データの一例を示す図である。
【
図35】
図35は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。
【
図36】
図36は、ビジネスルールの評価後におけるセッション管理データの一例を示す図である。
【
図37】
図37は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の値を変更してリクエストを行った例を示す図である。
【
図38】
図38は、不正判断の結果、リクエストが受け付けられた状態のセッション管理データを示す図である。
【
図39】
図39は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。
【
図40】
図40は、ビジネスルールの評価結果に基づいて生成されるセッション管理データの一例を示す図である。
【
図41】
図41は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の税込金額値を、不正に変更してリクエストを行った例を示す図である。
【
図42】
図42は、不正判断の結果、リクエストが受け付けられないことで、従前の値が維持された状態のセッション管理データを示す図である。
【
図43】
図43は、登録ボタンが操作されることで参照される各種定義の一例を示す図である。
【
図44】
図44は、ビジネスルールを評価する際に参照されるビジネスルール一覧及びコンディション一覧を示す図である。
【
図45】
図45は、ビジネスルールの評価後におけるセッション管理データの一例を示す図である。
【
図46】
図46は、ビジネスルールの評価後におけるセッション管理データに基づいて表示される入力画面の一例を示す図である。
【
図47】
図47は、第2の実施の形態となる利用者端末装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明を適用した実施の形態となるWebアプリケーションシステム、及び、利用者端末装置を、図面に基づいて詳細に説明する。なお、このような実施の形態に本発明が限定されるものではない。
【0012】
[第1の実施の形態]
まず、本発明を適用した第1の実施の形態として、Webアプリケーションシステムの説明をする。
【0013】
(システム及びハードウェア構成)
図1は、第1の実施の形態のWebアプリケーションシステムのシステム構成、及び、Webアプリケーションシステムに設けられているサーバ装置1のハードウェア構成を示すブロック図である。この
図1に示すように、Webアプリケーションシステムは、サーバ装置1、開発者端末装置30及び利用者端末装置40を、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網であるネットワーク5を介して相互に接続することで構成されている。サーバ装置1、開発者端末装置30及び利用者端末装置40は、一般的なパーソナルコンピュータ装置を用いて実現でき、主にWebブラウザ13、31、41を介して相互に通信を行う。
【0014】
開発者は、開発者端末装置30で、後述するビジネスルールに基づいて利用者端末装置40からのリクエストを評価し、この評価結果に基づいて情報処理を行ったデータを利用者端末装置に送信することで、データ等の改ざんを防止する情報処理プログラムの開発を行う。この第1の実施の形態の場合、情報処理プログラムは、いわゆるWebアプリケーションプログラムとなっている。このため、情報処理プログラムは、サーバ装置1の記憶部2に記憶され、制御部3により実行される。
【0015】
また、サーバ装置1は、記憶部2にデータベース(DB)11を備えている。サーバ装置1は、利用者端末装置40からのリクエストに応じて情報処理プログラムを実行する。そして、この情報処理に対応するデータをデータベース(DB)11から読み出して、通信インターフェース部4及びネットワーク55を介して利用者端末装置40に提供(送信)する。
【0016】
(サーバ装置のハードウェア構成)
サーバ装置1は、記憶部2、制御部3及び通信インターフェース部4を備えている。通信インターフェース部4は、上述のネットワーク55である、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網に接続される。
【0017】
記憶部2としては、例えばROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置を用いることができる。記憶部2には、開発者端末装置30で開発された情報処理プログラムが記憶されている他、利用者端末装置40に提供されるデータが記憶された記憶領域であるデータベース(DB)11が設けられている。また、記憶部2には、情報処理プログラムに基づいて参照され又は生成される、レイアウト定義、イベント割当定義、ロジックフロー定義、アクション定義、フロー定義、個別設定、コンディション設定、及び、ビジネスルール設定等の各種データが記憶されている。
【0018】
(サーバ装置の機能構成)
次に、サーバ装置1の制御部3は、記憶部2に記憶されている情報処理プログラムを実行することで、
図1に示すように、表示制御部21、判別部22、情報処理部23及び通信制御部24として機能する。
【0019】
この第1の実施の形態の場合、表示制御部21及び通信制御部24で表示制御部の一例となっている。表示制御部21は、利用者端末装置40の表示部に表示する入力画面を生成し、通信制御部24に供給する。通信制御部24は、生成された入力画面を、ネットワーク55を介して利用者端末装置40に送信するように、通信部の一例である通信インターフェース部4を通信制御する。利用者端末装置40は、送信された入力画面を、Webブラウザ41を介して表示部に表示する。
【0020】
判別部22は、入力画面に含まれる項目に対する入力が、利用者端末装置40を介して行われた際に、記憶部2に記憶されている入力画面の各項目の値の変更の可否を示す設定情報(後述するビジネスルール設定)を参照し、入力画面を介して入力された項目が、値を変更可能な項目であるか否かを判別する。
【0021】
情報処理部23は、入力画面を介して入力された項目の値が変更可能であることを示す判別結果が判別部22により得られた場合は、入力された項目の値に対応する情報処理結果となるデータをデータベース11から読み出し(又は情報処理し)、表示制御部21に供給する。表示制御部21は、データベース11から読み出されたデータ(又は情報処理されたデータ)を含む入力画面を生成する。通信制御部24は、生成された入力画面を利用者端末装置40に送信する。これにより、利用者の入力操作に対応する入力画面が、利用者端末装置40の表示部を介して表示される。
【0022】
また、情報処理部23は、入力画面を介して利用者により入力された項目の値が変更不可であることを示す判別結果が、判別部22から得られた場合は、入力された項目の値を破棄して従前の値を維持する。この場合、情報処理部23は、従前の値に対応する情報処理結果となるデータをデータベース11から読み出し(又は情報処理し)、表示制御部21に供給する。表示制御部21は、データベース11から読み出されたデータ(又は情報処理されたデータ)を含む入力画面を生成する。通信制御部24は、生成された入力画面を利用者端末装置40に送信する。これにより、利用者の不正な入力操作による値が破棄され、従前の値に対応する入力画面が、利用者端末装置40の表示部を介して表示される。従って、データの改ざんを防止できる。
【0023】
また、表示制御部21は、入力画面を介して利用者により入力された項目の値が変更不可であることを示す判別結果が判別部22から得られた場合、所定のエラー表示を行うエラー画面を生成する。通信制御部24は、生成されたエラー画面を利用者端末装置40に送信する。これにより、入力した値が受け付けられないことを、利用者に対して認識させることができる。
【0024】
また、上述の設定情報(後述するビジネスルール設定)は、入力画面全体に相当するメインパネル内の項目又はボタンの変更を不可とする設定、又は、入力画面内の一部に相当する部分パネルに含まれる項目又はボタンの変更を不可とする設定が可能となっている。
【0025】
判別部22は、メインパネル内の項目又はボタンの変更を不可とする設定がされている場合、メインパネル内の全ての項目又は全てのボタンの変更を不可と判別する。また、判別部22は、部分パネル内の項目又はボタンの変更を不可とする設定がされている場合、部分パネル内の全ての項目又は全てのボタンの変更を不可と判別する。
【0026】
すなわち、上述の設定情報は、項目を下位階層、部分パネル及びボタンを中位階層、メインパネルを上位階層とする階層構造を有している。このため、判別部22は、下位階層、中位階層及び上位階層の順に、変更を不可とする設定の有無を判別する。そして、判別部22は、上位階層で変更を不可とする設定を検出した場合は、メインパネルに含まれる全項目及び全ボタンの変更を不可と判別し、中位階層で変更を不可とする設定を検出した場合は、部分パネルに含まれる全項目及び全ボタンの変更を不可と判別する。また、判別部22は、下位階層で変更を不可とする設定を検出した場合は、変更を不可とする設定がされている項目の変更を不可と判別する。
【0027】
また、所定の条件式の条件を満たした場合の処理として、項目の値を変更不可とする処理である、項目をロックする処理、及び、項目を非表示にする処理のうち、いずれかの処理を、上述の設定情報として項目毎に設定可能となっている。詳しくは、後述する。
【0028】
(一般的なWebアプリケーションシステムにおけるリクエストからレスポンスの流れ)
ここで、一般的なWebアプリケーションシステムにおけるリクエストからレスポンスの流れを説明する。
図2(a)~
図2(c)は、一般的なWebアプリケーションシステムにおいて、東京2号店(TKY002)の一般ユーザから、利用者端末装置のWebブラウザを介して「売上一覧の起動」のリクエストが行われた例を示している(
図2(a))。この場合、リクエストを行ったユーザ(=ログインユーザ)が「一般ユーザ」であるため、サーバ装置側では、東京2号店(TKY002)の店舗の値を初期セットしてロック状態(変更不可の状態)としたセッション管理データに基づいて入力画面を生成し、利用者端末装置に送信する(
図2(b))。なお、ログインユーザが「管理者」の場合は、このような店舗に対するロックは掛けないものとする。これにより、
図2(c)に示すように、東京2号店(TKY002)の店舗情報がロック状態とされた入力画面が、利用者端末装置に表示される。
【0029】
次に、利用者端末装置の利用者は、
図3(a)に示すように、例えば「2021年7月1日~2021年7月31日」等の閲覧を希望する売上期間(売上日)を入力画面に入力してサーバ装置に対してリクエストを行う。サーバ装置は、
図3(b)に示すように、東京2号店(TKY002)における2021年7月1日~2021年7月31日の間の売上データをデータベースから取得し、利用者端末装置に送信する。これにより、
図3(a)に示すように、東京2号店(TKY002)の売上情報が各売上日毎に一覧表示される。
【0030】
(店舗情報が不正に変更された場合)
次に、このような一般的なWebアプリケーションシステムにおいて、
図4(a)に示すように、東京2号店(TKY002)のコントロール(項目)の値が「NULLデータ」に、不正に変更され、2021年7月1日~2021年7月31日の間の売上データの取得が、サーバ装置に対してリクエストされたとする。このような不正に対する対処が行われていない場合、サーバ装置は、店舗情報が「NULLデータ」に変更されたことで、全店舗の2021年7月1日~2021年7月31日の間の売上データをデータベースから取得して利用者端末装置に送信してしまう。このため、
図4に示すように、利用者端末装置側で、東京2号店(TKY002)の一般ユーザでありながら、全店舗の売上データが不正に閲覧可能となる不都合を生ずる。
【0031】
このような不正を防止するためには、売上データの取得リクエストに対する店舗の値は、現在ログイン中のユーザが一般ユーザである場合は、自身が所属する店舗を使用し(値は起動時のキャッシュメモリ又はやデータベースから再取得する等)、現在ログイン中のユーザが管理者である場合は、コントロール(店舗情報が入力された項目)の値を使用する制御を、Webアプリケーションシステムの全ての画面に対して個別に実装する必要がある。このため、データの改ざんの防止に多くの手間を要していた。
【0032】
(実施の形態のWebアプリケーションシステムの概要)
このため、第1のWebアプリケーションシステムでは、
図5(a)に示すようにロック状態とされている店舗情報が「NULLデータ」に、不正に変更されて利用者端末装置40からリクエストが行われた場合、サーバ装置1は、後述するビジネスルール設定に基づいて、リクエストを行ったユーザが、店舗情報の変更権限を有するユーザであるか否かを判別する。一例ではあるが、この例の場合、ログインユーザが一般ユーザであった場合、サーバ装置1は、店舗情報の変更権限を有していないユーザであると判別し、リクエストの値(この場合は、変更された店舗情報)を破棄して、従前(不正な変更前)の店舗情報でリクエストを処理する。
【0033】
利用者端末装置40側でロックを解除し、また、値を不正に変更しても(JavaScript(登録商標)による不正な実行も含む)、利用者端末装置40側とサーバ装置1側で状態が不一致である場合はデータが改ざんされたものと見なし、リクエストの値を受け付けないように制御する。
【0034】
また、第1の実施の形態のWebアプリケーションシステムは、ビジネスルール設定による動的なロック又は非表示の状態制御にも対応しており、状態に応じて受け付けるパラメータを選別する。また、第1の実施の形態のWebアプリケーションシステムでは、ビジネスルール設定の起点となる値(例えば、税区分の項目)の変更は、全てサーバリクエストを発生させて状態管理(ロック又は非表示)を行っている。
【0035】
図6(a)は、利用者端末装置40により、「税区分」の項目が「2:内税」から「1:外税」に変更された例である。サーバ装置1は、このようなリクエストを受け付ける度に、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。
【0036】
具体的には、「税区分」に対して、利用者は、
図7に示すように、例えば「0:非課税」、「1:外税」又は「2:内税」を選択可能となっているとする。また、後述するビジネスルールとして、
図7に示すように、
・税抜金額 税区分=(2)の場合、ロックする、
・消費税額 税区分=(0)の場合、ロックする、
・税込金額 税区分=(0)又は税区分=(1)の場合、ロックする、
との設定がされているものとする。
【0037】
この場合、サーバ装置1は、「税区分」の項目は、ロックされていないため、「2:内税」から「1:外税」に変更するリクエストを受け付け、
図6(b)に示すようにセッション管理データの税区分を「2」から「1」に変更する。なお、税区分の値を変更した際のイベントは設定されていないため、サーバ装置1は、何もしない。
【0038】
また、サーバ装置1は、上述のセッション管理データの税区分を「2」から「1」に変更すると共に、
図6(b)に示すように、税抜金額のロックを解除し、また、税込金額をロックとした入力画面を生成し、利用者端末装置40に送信する。これにより、
図8(a)に示すように、税区分が「1:外税」とされた入力画面が利用者端末装置40で表示される。
【0039】
次に、
図8(a)に示すように、利用者端末装置40の利用者が、「3万3千円」の税込金額を、「100円」に不正に変更してリクエストを行ったとする。この場合も、サーバ装置1は、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。
【0040】
しかし、
図7に示したように、ビジネスルールの設定は、税区分=(0)又は税区分=(1)の場合、税込金額をロックする設定となっている。この例の場合、税区分が「2」から「1」に変更されため、税込金額がロックされた状態となっている。このため、サーバ装置1は、「不正リクエストの値チェック」の際に、現在、税込金額はロックされているために受け付けない。また、サーバ装置1は、「コントロール(項目)に関連付けされたロジックフローの実行」で、登録ボタンの処理を実行する。
【0041】
また、サーバ装置1は、「ビジネスルールの評価」では、この例の場合、設定されているビジネスルールの値(税区分)は変わっていないため、何も行わない。そして、サーバ装置1は、ビジネスルールの評価により、現在、税込金額がロックされている状態のため、税込金額を「100円」に変更するリクエストは受け付けず、
図8(b)に示すように税込金額を「3万3千円」にロックした状態の入力画面を生成し、利用者端末装置40に送信する。これにより、利用者が税込金額を「100円」に変更する不正操作を行った場合でも、
図8(c)に示すように、税込金額を従前の「3万3千円」にロックした状態の入力画面を利用者端末装置40に送信して表示することができる(簡単にデータの改ざんを防止できる)。
【0042】
次に、第1の実施の形態のWebアプリケーションシステムは、上述の値の改ざんを防止できる他、不正なイベントの実行も防止できる。例えば、ビジネスルールの設定により、登録ボタンがロックされている場合において、
図9(a)に示すように、利用者により登録ボタンのロック状態が不正に解除されて操作されたとする。この場合、入力画面の税区分(1:外税)、税金金額(3万円)等の各項目の値を登録するリクエストがサーバ装置1に対して行われる。
【0043】
この場合、サーバ装置1は、上述と同様に、「不正リクエストの値チェック」→「コントロール(項目)に関連付けされたロジックフローの実行」→「ビジネスルールの評価」を行う。「不正リクエストの値チェック」では、各項目の値は変更無し、と判別する。「コントロールに関連するロジックフローの実行」は、登録ボタンがロックされているため、サーバ装置1は、
図9(b)に示すように各項目の値をデータベースに登録するイベントは不実行とすると共に、システムエラーとして利用者端末装置40にレスポンスを返信する。そして、後続のビジネスルールの評価は行わない。これにより、
図9(c)に示すように利用者端末装置40のWebブラウザ41を介して表示部に、システムエラー(不正実行)の表示が行われる。
【0044】
上述のように、第1の実施の形態のWebアプリケーションシステムは、サーバ装置1側で項目をロック又は非表示として制御している場合、利用者端末装置40からのリクエストで送信されるパラメータ(各項目の値)は、サーバ装置1で管理しているセッション管理データには反映しない。これと共に、第1の実施の形態のWebアプリケーションシステムは、パネルに配置されているコントロール(項目及びボタン)で、親にあたるパネルをロック又は非表示にしている場合も、そのロックされているパネルの中のコントロールのパラメータは受け付けないようになっている。
【0045】
すなわち、
図10に示すように、パネルとしては、入力画面全体に相当するメインパネル61、及び、入力画面内の一部に相当する部分パネルの一例である入力パネル60が設けられている。メインパネル61には、入力パネル60及び入力パネル60内の各項目、及び、登録ボタン62等の各種ボタンが含まれる。入力パネル60には、各項目が含まれる。
【0046】
すなわち、メインパネル61、入力パネル60、各項目及び登録ボタン62の各データは、
図11に示すように階層構造を有している。メインパネル61、入力パネル60、各項目及び登録ボタン62の各データは、
図11に示すように、ルートのデータを最上位階層とし、メインパネル61のデータを上位階層、入力パネル60及び登録ボタン62のデータを中位階層、各項目のデータを下位階層とする階層構造を有している。
【0047】
サーバ装置1は、各コントロール(下位階層の項目又はボタン)からルート(最上位階層)まで、順にロック又は非表示をチェックし、ロック又は非表示を検出した際にチェックを中止し、利用者端末装置40からのリクエストを受け付けないように制御する。
【0048】
すなわち、サーバ装置1は、下位階層の項目に相当する、例えば税区分の項目(セレクトボックス)→入力パネル60→メインパネル61→ルート」の順にチェックを行う。一例として、入力パネル60がロックされている場合、
図10から分かるように、入力パネル60内に設けられている税区分の項目(セレクトボックス)もロックされていることとなる。このため、サーバ装置1は、入力パネル60がロックされていることを検出したタイミングで、チェック処理を終了し、税区分の項目(セレクトボックス)は、ロックされているものと判別する。そして、サーバ装置1は、ロックされている税区分の項目(セレクトボックス)に対する、利用者端末装置40からのリクエストは受け付けないように制御する。
【0049】
(情報処理プログラムの開発形態)
次に、情報処理プログラムの開発動作を説明する。この情報処理プログラムの開発は、
図12に示すように、開発者端末装置30で行われる。開発者端末装置30を操作する開発者は、一例としてローコード開発プラットフォームに基づいて、情報処理プログラムの開発を行い、サーバ装置1のWebブラウザ13を介してデータベース11に記憶される。
【0050】
なお、ノーコード開発又はフルスクラッチ開発で、情報処理プログラムを開発してもよい。ただ、ローコード開発の場合、後述するように、GUI(グラフィカル・ユーザー・インターフェース)に基づく視覚的な操作で画面部品又はロジック部品を組み合わせて比較的簡単に情報処理プログラムを開発でき、また、ノーコードによる開発よりも、細かな設定又は制御等を可能とすることができる。
【0051】
(情報処理プログラムの利用形態)
図13は、サーバ装置1に記憶された情報処理プログラムを、利用者端末装置40で、いわゆるWebアプリケーションプログラムとして利用する利用形態を示している。この
図13に示すように、利用者端末装置40からのリクエストは、Webブラウザ41を介してサーバ装置1に送信される。サーバ装置1は、Webブラウザ13を介してリクエストを取得し、このリクエストに対応するデータをデータベース11から取得し、Webブラウザ13を介して利用者端末装置40に送信する。これにより、サーバ装置1のデータベースから提供されたデータ(=利用者端末装置40でリクエストしたデータ)を、利用者端末装置40のWebブラウザ41を介して表示部に表示して利用できる。
【0052】
(情報処理プログラムの開発動作)
次に、開発者端末装置30を介して開発者により行われる情報処理プログラムの開発動作を説明する。一例ではあるが、開発者は、ローコードを用いることで、
図14に示すように、GUI(グラフィカル・ユーザー・インターフェース)に基づく視覚的な操作で画面部品又はロジック部品を組み合わせて情報処理プログラムを開発する。
図14は、入力画面を開発(デザイン、編集)している例である。この例の場合、コントロール一覧の中から所望のコントロールを選択し、入力画面上に配置操作する。これにより、入力画面のレイアウトを簡単に編集できる。
【0053】
図15は、
図14の入力画面に対応するレイアウト定義(コントロール一覧)の一例である。レイアウト定義は、コントロール識別番号(コントロールID)、名前、種類、及び、子要素の子要素IDが関連付けされて記憶されている。例えば、「ID0」のコントロールIDの「ページ」に対しては、「ID1」の「コマンドバー」及び「ID2」の「メインパネル」が子要素として関連付けられている。
【0054】
また、「ID2」の「メインパネル」に対しては、「ID3」の「ヘッダパネル」及び「ID12」の「明細パネル」が子要素として関連付けられている。また、「ID13」の「明細コントロール」に対しては、「ID14」の「グリッドパネル(列)」及び「ID19」の「グリッドパネル(データ行)」が子要素として関連付けられている。
【0055】
このように入力画面のレイアウトを定義すると、次に、開発者は、
図16に示すロジックフロー設定画面において、アクション一覧の中から表示ボタンクリック時の処理(アクション)を設定する。
図16の例は、「売上データの取得」に対して「API呼出」のアクションが設定された例である。
【0056】
次に、開発者は、
図18に示すように、「API呼出」のアクションに対する引数及び戻り値を設定する。
図16の例は、「売上データ取得」の「API呼出」に対して、「店舗コード」、「売上日開始」、「売上日終了」の引数が設定され、「売上日」、「売上番号」、「顧客名」及び「商品」の戻り値が設定された例である。
【0057】
次に、開発者は、
図20に示すレイアウト編集画面の所望のコントロールを選択して、イベントの割当を行う。
図20は、「表示ボタン」のクリック操作に対して、「売上データ取得」のイベントを割り当てた例である。イベントの種類は、コントロールによって異なり、「テキストボックス」のコントロールに対しては「検証イベント」の割当が可能であり、「セレクトボックス」のコントロールに対しては「値変更イベント」の割当が可能であり、「明細コントロール」のコントロールに対しては「行選択」又は「行ダブルクリック」の割当が可能となっている。
【0058】
このようにレイアウトの編集(
図14)、ロジックフローの設定(
図16)、アクション設定(
図18)及びイベントの割当(
図20)を行うことで、
図17(a)に示すイベント割当定義、
図17(b)に示すロジックフロー定義、
図17(c)に示すアクション定義、及び、
図17(d)に示すフロー定義がサーバ装置1の記憶部2に記憶される。この
図17は、表示ボタンの「クリック操作」により、「売上データの取得」が行われる設定を示している。また、
図17(c)に示す「API呼出」に対しては、
図19に示す「売上データ取得」のイベントが割当られていることを示している。
【0059】
(ビジネスルールの設定)
次に、開発者は、入力画面の各コントロール(項目)に対して、利用者端末装置40からのリクエストによる値の変更の可否を示すビジネスルールを設定する。
図21は、ビジネスルールを設定する入力画面の一例である。この例の場合、税区分、税抜金額、消費税額、及び、税込金額の各コントロールがレイアウトされている。
図22は、この
図21の入力画面に対応するレイアウト定義である。
【0060】
ビジネスルールを設定する場合、各コントロールに対してビジネスルールの条件式を設定する。このビジネスルールの条件式を設定する場合、開発者は、まず、
図23に示すコンディション設定画面において、例えば「税抜金額_制御用」、「消費税額_制御用」及び「税込金額_制御用」の各コンディション(条件)の中から、ビジネスルールの条件式の設定を行う所望のコンディションを、必要に応じてコンディション名を入力又は追加して選択する。
図23の例は、「税込金額_制御用」のコンディションが選択された例である。
【0061】
次に、開発者は、複数の条件式に対する接続詞(AND(かつ)又はOR(又は))を選択する。この
図23の例は、「OR」の接続詞が選択された例である。
図23に示すように、条件式は、左辺値、演算子及び右辺値からなっている。左辺値及び右辺値としては、
図27に示すように、「コントロール」、「変数」、「行変数(行毎に保持可能な変数)」、定数(文字、数値、真偽値)又はシステム変数(初期提供)のうち、所望の値を選択して指定可能となっている。また、演算子としては、
図28に示すように「等しい、等しくない」、「大なり(>)」、「小なり(<)」等の不等号の他、「NULLである、NULLでない」が指定可能となっている。
【0062】
図23の例は、上段の条件式が「税区分=(0)」の条件式であり、下段の条件式が「税区分=(1)」の条件式である。
図23の例は、「OR」の接続詞が選択されているため、「税区分=(0)」又は「税区分=(1)」である場合に、「税込金額」の変更を可能とするビジネスルールが設定されたことを示している。
【0063】
この他、
図26(a)は、コントロールにエラーがあるか否かを条件とする条件式である。また、
図26(b)は、画面に定義している変数の値とコントロールの値を比較して大きいか否かを条件とする条件式である(変数は予めコントロール同様に画面に定義しておく)。
【0064】
このような条件及び条件式は、
図24に示すように、コンディションID、名前、及び、式(条件式)がそれぞれ関連付けされたコンディション設定情報として記憶部2に記憶される。この
図24に示す「第2式」は、
図25(a)に示すように「AND」を接続詞とし、「税区分セレクトボックス(値)=固定値(2)」とした条件式である。また、
図24に示す「第3式」は、
図25(b)に示すように「AND」を接続詞とし、「税区分セレクトボックス(値)=固定値(0)」とした条件式である。また、
図24に示す「第4式」は、
図25(c)に示すように「OR」を接続詞とし、「税区分セレクトボックス(値)=固定値(0)」又は「税区分セレクトボックス(値)=固定値(1)」とした条件式である。
【0065】
次に、開発者は、
図29に示すように各コントロールに対して、条件(コンディション)を満たした際の処理、及び、処理を適用するコントロールを選択する。条件(コンディション)を満たした際の処理としては、「項目をロックする」、「項目を必須にする」及び「項目を非表示にする」の各処理の中から所望の処理を選択可能となっている。
図23の例は、「項目をロックする」との処理が選択されている例である。
【0066】
また、
図23の例は、処理を適用するコントロールとして「税抜金額テキストボックス」、「消費税額テキストボックス」、及び、「税込金額テキストボックス」が選択されている例である。
【0067】
このような選択操作により、
図30に示すように、ビジネスルールID、処理内容、コントロールID及びコンディションIDを含むビジネスルール設定情報が生成され、記憶部2に記憶される。
【0068】
(Webアプリケーション動作)
次に、
図31及び
図32のフローチャートを用いて、サーバ装置1が利用者端末装置40から受信したリクエストに対応してレスポンスを返信する動作を説明する。
図31は、このようなWebアプリケーション動作の前半の動作の流れを示すフローチャートであり、
図32は、Webアプリケーション動作の後半の動作の流れを示すフローチャートである。この
図31及び
図32のフローチャートの動作は、制御部3が記憶部2に記憶されている情報処理プログラムに基づいて、
図1に示した表示制御部21、判別部22、情報処理部23、及び、通信制御部24として機能することで実行される。
【0069】
まず、
図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)等の記憶装置に、一時的に記憶する。
【0070】
また、情報処理部23は、このように読み出した各種情報に基づいて、
図34に示すように、ID3(税区分)、ID5(税抜金額)、ID7(消費税額)、及び、ID9(税込金額)の各コントロールの値を、例えば「2:内税」、「3万円」、「3千円」、「3万3千円」の固定値とすると共に、ロック状態を全て「OFF」としたセッション管理データを生成する。
【0071】
次に、この場合、Webアプリケーションシステムの起動時であるため、判別部22は、不正チェックを行うことなく、ステップS8を介してステップS4に処理が進む。また、この場合、起動時であるため、判別部22は、ステップS4において、実行するイベントは無いものと判別し(ステップS4:No)、ステップS11を介して
図32のフローチャートのステップS5に処理が進む。
【0072】
ステップS5では、判別部22が、現在、起動時であるか、又は、ボタン操作によるリクエストが存在するか否かを判別する。この場合、起動時であるため(ステップS5:Yes)、判別部22は、ステップS12において、ビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。税区分が「2:内税」の場合、情報処理部23は、
図35(a)、
図35(b)及び
図36に示すように、セッション管理データの「ID5」の税抜金額を「OFF」から「ON(ロック状態)」に変更する。表示制御部21は、このセッション管理データに基づいて、
図37に示す入力画面を生成する。
【0073】
通信制御部24は、表示制御部21により生成された初期画面に相当する入力画面を、ステップS7において利用者端末装置40に送信する。利用者端末装置40は、サーバ装置1から受信した入力画面を、Webブラウザ41を介して取得し、表示部に表示する。
【0074】
次に、利用者が、
図38(a)に示すように「2:内税」となっていたID3の税区分を、「1:外税」とするリクエストを、利用者端末装置40を介して行ったとする。このリクエストは、
図31に示すフローチャートのステップS1において、情報処理部23により取得される。この場合は、起動時では無いため、ステップS2を介してステップS3に処理が進み、判別部22が、セッション管理データを参照し、リクエストされた情報は「ロック状態」であるか否かを判別する。
【0075】
この場合、「税区分」はロックされていないため(OFF)、判別部22は、このリクエストを受け付ける判別動作を行う(ステップS3:No)。情報処理部23は、リクエストを受け付ける判別結果に基づいて、ステップS9において、
図38(b)に示すように、ID3の税区分の値を、「2:内税」から「1:外税」に変更する。これにより、処理がステップS4に進む。この時点では、実行するイベントが存在しないため、ステップS4及びステップS11を介して、
図32のフローチャートのステップS5に処理が進む。
【0076】
この場合、ボタン操作によるリクエストとなるため(ステップS5:Yes)、ステップS5からステップS12に処理が進み、判別部22が、
図39(a)及び
図39(b)に示すようにビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。この場合、情報処理部23は、税区分が「1:外税」に変更されたため、
図40に示すように、ID5の「税抜金額」のロック状態を「OFF(ロックを解除)」とし、ID9の税込金額を「ON(ロック状態)」とするようにセッション管理データを更新する。
【0077】
表示制御部21及び通信制御部24は、更新されたID5の「税抜金額」及びID9の税込金額の、部分的な各表示データを、ステップS7において利用者端末装置40に送信する。利用者端末装置40は、サーバ装置1から受信した各表示データに基づいて、入力画面のID5の「税抜金額」及びID9の税込金額のロック状態を更新する。
【0078】
次に、利用者が、
図41に示すように「3万3千円」となっていた税込金額を、不正に「100円」に変更するリクエストを、利用者端末装置40を介して行ったとする。このリクエストは、
図31に示すフローチャートのステップS1において、情報処理部23により取得される。この場合は、起動時では無いため、ステップS2を介してステップS3に処理が進み、判別部22が、セッション管理データを参照し、リクエストされた情報は「ロック状態」であるか否かを判別する。
【0079】
この場合、
図40に示したように、ID9の「3万3千円」の「税込金額」はロックされているため(ステップS3:Yes)、判別部22は、このリクエストを受け付けない判別(リクエストを破棄する判別)を行う。
【0080】
次に、判別部22は、ステップS4において、
図43(a)に示すイベント割当定義、
図43(b)に示すロジックフロー定義、
図43(c)に示すアクション定義、及び、
図43(d)に示すフロー定義を参照し、ID10の登録ボタンのクリック操作に対応する処理を判別する。この場合、ID10の登録ボタンのクリック操作に対応する処理は、
図43(b)に示すように「データ登録処理」であると判別される。情報処理部23は、ステップS10において、この判別結果に基づいて「データ登録処理」のロジックフローを実行する。
【0081】
次に、
図32のフローチャートのステップS5に処理が進み、判別部22が、
図44(a)及び
図44(b)に示すようにビジネスルールの評価を行い、この評価結果を情報処理部23に供給する。この場合、税込金額を「100円」に変更する不正なリクエストは破棄されたため、情報処理部23は、
図45に示すようにセッション管理データの更新は行わない。表示制御部21は、
図45に示すようにセッション管理データに基づいて、
図46に示す従前の入力画面を生成する。通信制御部24は、この入力画面を利用者端末装置40に送信する。これにより、不正なリクエストを破棄し、従前のセッション管理データに基づく入力画面を維持できるため、不正なデータの改ざんを防止できる。
【0082】
なお、
図32のフローチャートのステップS5において、起動時又はボタン操作によるリクエストではない(ステップS5:No)と判別された場合は、ステップS6に処理が進み、判別部22により、コンディションの式に含まれるコントロールの値を変更するリクエストであるか否か判別される。コンディションの式に含まれるコントロールの値を変更するリクエストであると判別された場合は(ステップS6:Yes)、ステップS12において判別部22によりビジネスルールの評価が行われる。これに対して、コンディションの式に含まれるコントロールの値を変更するリクエストではないと判別された場合は(ステップS6:No)、ステップS13で何も処理を行うことなく、ステップS7に処理が進む。
【0083】
(第1の実施の形態の効果)
以上の説明から明らかなように、第1の実施の形態のWebアプリケーションシステムは、サーバ装置1が、表示するデータの他、コントロールのロック又は非表示等の全ての状態を管理している。このため、利用者端末装置40からリクエストの処理を行うタイミングで、受付可能か否かを評価することができる。そして、この評価結果に基づいて、リクエストの処理を行うことで、データの改ざんを簡単に防止することができる。
【0084】
[第2の実施の形態]
次に、第2の実施の形態となる利用者端末装置40を説明する。上述の第1の実施の形態のWebアプリケーションシステムは、開発者端末装置30で開発された情報処理プログラムに基づいて、サーバ装置1が、利用者端末装置40に提供するデータを管理して、不正なデータの改ざんを防止する例であった。これに対して、第2の実施の形態の利用者端末装置40は、いわゆるスタンドアロンの端末装置となっており、上述の不正なデータの改ざんを、利用者端末装置40単体で防止する例である。
【0085】
なお、第1の実施の形態及び第2の実施の形態は、この点のみが異なる。このため、以下、両者の差異の説明のみ行い、重複した説明は省略する。
【0086】
図47は、第2の実施の形態となる利用者端末装置40のハードウェア構成を示すブロック図である。この第2の実施の形態の場合、利用者端末装置40がスタンドアロンの端末装置となっており、記憶部42、制御部43、通信インターフェース部44及び入出力インターフェース部45を備えている。入出力インターフェース部45には、入力装置46及び出力装置47が接続されている。出力装置47としては、モニタ装置(家庭用テレビを含む)等の表示部を用いることができる。入力装置46としては、キーボード装置、マウス装置及びマイクロホン装置等の他、マウス装置と協働してポインティングデバイス機能を実現するモニタ装置等を用いることができる。
【0087】
通信インターフェース部44は、例えばインターネット等の広域網又はLAN(Local Area Network)等のプライベート網に接続される。
【0088】
記憶部42としては、例えばROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置を用いることができる。記憶部42には、上述と同様の情報処理プログラムが記憶されている他、入力装置46を介してリクエストされたデータが記憶されるデータベース(DB)11が記憶されている。
【0089】
また、記憶部には、上述のレイアウト定義、イベント割当定義、ロジックフロー定義、アクション定義、フロー定義、個別設定、コンディション設定、ビジネスルール設定等が記憶されている。
【0090】
制御部43は、記憶部42に記憶されている情報処理プログラムを実行することで実現される、上述の表示制御部21、判別部22、及び、情報処理部23を備える。
【0091】
このような第2の実施の形態の利用者端末装置40は、表示制御部21が入力画面を、表示部の一例である出力装置47を介して表示する。利用者は、入力装置46を介して所望の入力操作を行い、入力画面に対して所望の値の入力又はボタン操作を行う。
【0092】
判別部22は、利用者が所望の値の入力又はボタン操作を行うことで生成されるリクエストを、上述のようにビジネスルールに基づいて評価する。情報処理部23は、入力画面を介して入力された値が変更可能であることを示す判別結果が得られた場合は、入力された値に対応する情報処理結果を表示制御部21に供給する。表示制御部21は、入力された値に対応する情報処理結果を出力装置47に表示する。
【0093】
これに対して、入力画面を介して入力された項目の値が変更不可であることを示す判別結果が得られた場合、情報処理装置23は、入力された項目の値を破棄して従前の値を維持すると共に、従前の値に対応する情報処理結果を表示制御部に供給する。表示制御部21は、従前の値に対応する情報処理結果を出力装置47に表示する。
【0094】
(第2の実施の形態の効果)
これにより、上述の第1の実施の形態と同様に、簡単にデータの改ざんを防止できる他、上述の第1の実施の形態と同様の効果を得ることができる。
【0095】
[国連が主導する持続可能な開発目標(SDGs)への貢献]
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び目標9に貢献することが可能となる。
【0096】
また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、目標13及び目標15に貢献することが可能となる。
【0097】
また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。
【0098】
[他の実施の形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0099】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、或いは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0100】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0101】
また、Webアプリケーションシステムのサーバ装置1及び利用者端末装置40に関して、図示の各構成要素は機能概念的なものであり、必ずしも図示の如く物理的に構成されていることを要しない。
【0102】
例えば、サーバ装置1が備える処理機能である、特に制御部3及び制御部3にて行われる各処理機能、及び、利用者端末装置40が備える処理機能である、特に制御部43及び制御部43にて行われる各処理機能については、その全部又は任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。なお、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてサーバ装置1又は利用者端末装置40に機械的に読み取られる。すなわち、ROM又はHDD等の記憶部等には、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部3を構成する。
【0103】
また、サーバ装置1又は利用者端末装置40の情報処理プログラムは、サーバ装置1又は利用者端末装置40に対して任意のネットワークを介して接続された他のサーバ装置に記憶されていてもよく、必要に応じてその全部又は一部をダウンロードすることも可能である。
【0104】
また、本実施形態で説明した処理を実行するための情報処理プログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、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等の任意の「可搬用の物理媒体」を含むものとする。
【0105】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコード又はバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示したサーバ装置1又は利用者端末装置40において、記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0106】
記憶部2及び記憶部42は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、及び、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、及び、ウェブページ用ファイル等を格納する。
【0107】
また、サーバ装置1又は利用者端末装置40は、既知のパーソナルコンピュータ装置又はワークステーション等の情報処理装置で構成してもよく、また、任意の周辺装置が接続された情報処理装置で構成してもよい。また、情報処理装置は、本実施形態で説明した処理を実現させるソフトウェア(プログラム又はデータ等を含む)を実装することにより実現してもよい。
【0108】
さらに、装置の分散・統合の具体的形態は図示するものに限られず、その全部又は一部を、各種の付加等に応じて又は機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0109】
本発明は、例えばアプリケーションプログラムの開発業等に適用して好適である。
【符号の説明】
【0110】
1 サーバ装置
2 記憶部
3 制御部
4 通信インターフェース部
11 データベース
13 Webブラウザ
21 表示制御部
22 判別部
23 情報処理部
24 通信制御部
30 開発者端末装置
31 Webブラウザ
40 利用者端末装置
41 Webブラウザ
42 記憶部
43 制御部
44 通信インターフェース部
45 入出力インターフェース部
46 入力装置
47 出力装置
55 ネットワーク