JP2018041213A - システム、クライアント装置、サーバー装置、およびプログラム - Google Patents

システム、クライアント装置、サーバー装置、およびプログラム Download PDF

Info

Publication number
JP2018041213A
JP2018041213A JP2016173813A JP2016173813A JP2018041213A JP 2018041213 A JP2018041213 A JP 2018041213A JP 2016173813 A JP2016173813 A JP 2016173813A JP 2016173813 A JP2016173813 A JP 2016173813A JP 2018041213 A JP2018041213 A JP 2018041213A
Authority
JP
Japan
Prior art keywords
rule
check
unit
request
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016173813A
Other languages
English (en)
Other versions
JP6629157B2 (ja
Inventor
裕一郎 江崎
Yuichiro Ezaki
裕一郎 江崎
和也 橋本
Kazuya Hashimoto
和也 橋本
誠一郎 田中
Seiichiro Tanaka
誠一郎 田中
祐一 半田
Yuichi Handa
祐一 半田
駿 江成
Shun Enari
駿 江成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2016173813A priority Critical patent/JP6629157B2/ja
Priority to US15/694,291 priority patent/US10885016B2/en
Publication of JP2018041213A publication Critical patent/JP2018041213A/ja
Application granted granted Critical
Publication of JP6629157B2 publication Critical patent/JP6629157B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】クライアント側とサーバー側でのチェックのためのルールを一元的に管理するとともに、クライアント種別を制限することなく、またルールの更新タイミングを制限することなく、ルールの更新を行うことのできるシステムを提供する。【解決手段】クライアント装置は、第1ルール記憶部と、第1チェック実行部と、ユーザーインタフェース制御部と、リクエスト送信部と、ルール更新部とを持つ。ルール更新部は、所定のトリガーに基づいて、第1ルール記憶部を更新するためのルールをサーバー装置に要求するとともに、要求への応答としてサーバー装置から送られるルールを用いて第1ルール記憶部を更新する。サーバー装置は、クライアント用ルール生成部を持つ。クライアント用ルール生成部は、ルール更新部からルールの要求を受けると、クライアント用のルールを生成し、生成したルールを要求元のクライアント装置に送信する。【選択図】図1

Description

本発明の実施形態は、システム、クライアント装置、サーバー装置、およびプログラムに関する。
コンピューターのアプリケーションシステムにおいて、ユーザーが画面上のフィールド等に入力した値に不備がないかどうかをチェックする入力チェックが行われる。通常、アプリケーションシステムがこのような入力チェック機能を有する。
クライアント・サーバー方式のシステムにおいて、クライアント装置側のユーザーインタフェースで入力された情報は、クライアント装置とサーバー装置の両方がチェックを行う。クライアント装置のみ、あるいはサーバー装置のみがチェックを行う方法では、チェックとして不十分である。
仮にクライアント装置のみでチェックする方式とした場合、クライアント側のユーザーが正規の画面への入力を行わずに、他の何らかの手段を用いて直接、サーバー装置へのリクエストを発行することがあり得る。この場合には、クライアント装置でのチェックを通らないリクエストが発生し得る。すると、不正な入力情報(例えば、データの型の不正や、数値範囲の不正など)をサーバー装置側で処理してしまう可能性が生じる。
また、仮にサーバー装置のみでチェックする方式とした場合、不正な入力情報であってもクライアント装置側からサーバー装置側にリクエストを送信してしまう状況が生じ得る。これにより、通信ネットワークやサーバー装置の負荷が高くなってしまうという問題が起こり得る。また、クライアント装置側での入力チェックが行われないと、ユーザーの操作性が低下する場合があり得る。
以上の理由により、クライアント装置側およびサーバー装置側の両方で、同等の入力情報チェックを行う必要がある。しかし、クライアント装置側とサーバー装置側の両方で同党の入力チェックを行うためには、そのチェックのためのルールや、チェックの結果がエラーであった場合に画面等に表示するメッセージを、それぞれの側で管理する必要がある。すると、チェックのためのルールと、エラー時のメッセージとを、クライアント用およびサーバー用の2種類維持しなければならなくなり、アプリケーションシステムの開発コストあるいは維持コストが余計にかかり、生産性が下がってしまうという問題がある。また、情報の管理が煩雑になり、ルールやメッセージ等を変更の場合に、変更漏れが生じ、クライアントとサーバーの両者間で不整合が生じる可能性が出てきて、アプリケーションシステムの保守性が悪くなる。
従来の技術においては、上記のような保守性の低下を防ぐための仕組みを工夫したシステムが存在する。
その従来技術では、クライアント装置がサーバー装置に対して画面遷移のリクエストを送ったタイミングで、サーバー装置はクライアント装置側のチェック実行機能を、クライアント装置に送信する。そのようなチェック実行機能は、例えば、JavaScript(登録商標)で書かれたソースコードとして、サーバー装置からクライアント装置に送信される。このような従来技術によれば、チェックルールをサーバー装置側で一元的に管理することも可能となる。なお、この従来技術では、クライアント装置側がJavaScript(登録商標)の実行環境を有していることを前提としている。より具体的には、この従来技術では、クライアント装置側が、JavaScript(登録商標)の仮想マシンを備えたウェブブラウザーを用いて実現されることを前提としている。
しかしながら、上記のような従来技術にも、次の問題がある。
第1に、クライアント装置側がウェブブラウザーで実現される場合にしか上記の従来技術を適用することができない。つまり、近年増加しつつある、スマートフォンで稼働するアプリケーションや、IoT(Internet of Things)の端末装置などをクライアント側で用いる場合には、上記の従来技術を適用することができない。
第2に、クライアント装置とサーバー装置との間で入力チェックのルールを設定(最新のルールを適用して同期させる)するタイミングが、クライアント装置側からサーバー装置側に画面遷移のリクエストを送信したタイミングに限定されてしまう。そして、その他のタイミングにおいては入力チェックのルールを変更することができない。つまり、一旦ルールを設定すると、次にクライアント装置側から画面遷移のリクエストを送るタイミングまでは、ルールを変更することができない。
特開2009−181320号公報
本発明が解決しようとする課題は、クライアント側とサーバー側でのチェックのためのルールを一元的に管理するとともに、クライアント種別を制限することなく、またルールの更新タイミングを制限することなく、ルールの更新を行うことのできるシステム、クライアント装置、サーバー装置、およびプログラムを提供することである。
実施形態のシステムは、クライアント装置とサーバー装置とを持つ。
クライアント装置は、第1ルール記憶部と、第1チェック実行部と、ユーザーインタフェース制御部と、リクエスト送信部と、ルール更新部とを持つ。第1ルール記憶部は、入力チェックに関するルールを記憶する。第1チェック実行部は、前記第1ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックする。ユーザーインタフェース制御部は、ユーザーインタフェースを通して入力データを受け付ける。リクエスト送信部は、前記サーバー装置側に送信するためのリクエストに含まれる前記入力データの入力チェックを前記第1チェック実行部に依頼するとともに、チェック結果が合格であれば前記リクエストを前記サーバー装置に送信する。ルール更新部は、所定のトリガーに基づいて、前記第1ルール記憶部を更新するためのルールを前記サーバー装置に要求するとともに、前記要求への応答として前記サーバー装置から送られるルールを用いて前記第1ルール記憶部を更新する。
サーバー装置は、第2ルール記憶部と、第2チェック実行部と、リクエスト受信部と、クライアント用ルール生成部とを持つ。第2ルール記憶部は、入力チェックに関するルールを記憶する。第2チェック実行部は、前記第2ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックする。リクエスト受信部は、前記リクエスト送信部から送信される前記リクエストを受信するとともに、前記リクエストに含まれる前記入力データの入力チェックを前記第2チェック実行部に依頼する。クライアント用ルール生成部は、前記ルール更新部から前記ルールの要求を受けると、前記第2ルール記憶部から読み出したルールに基づいてクライアント用のルールを生成し、生成したルールを要求元の前記クライアント装置に送信する。
第1の実施形態のアプリケーションシステムの概略機能構成を示すブロック図。 第1の実施形態のサーバー装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャート。 第1の実施形態のクライアント装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャート。 第1の実施形態のクライアント装置側からサーバー装置側へのリクエストの送信に伴う、入力チェックの処理の手順を示すシーケンスチャート。 第1の実施形態のサーバー装置側でルール読込部が読み込む入力チェックルールの構成を示す概略図。 第1の実施形態のサーバー装置側のルール記憶部のデータ構成を示す概略図。 第1の実施形態のサーバー装置側からクライアント装置側に更新のために送られるルールのデータ(JSON形式)の例を示す概略図。 第1の実施形態のクライアント装置側からサーバー装置側に送られるリクエストのデータ例を示す概略図。 第1の実施形態のクライアント装置側およびサーバー装置側での、チェック実行部による判断の分岐を示すディシジョンチャート。 第2の実施形態のアプリケーションシステムの概略機能構成を示すブロック図。 第2の実施形態のクライアント装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャート。 第2の実施形態のクライアント装置側からサーバー装置側へのリクエストの送信に伴う、入力チェックの処理の手順を示すシーケンスチャート。 第2の実施形態のチェック結果記憶部が記憶するチェック結果データの構成および例を示す概略図。 第2の実施形態において、サーバー装置側からクライアント装置側に更新のために送られるルールのデータの例を示す概略図。 第2の実施形態において、リクエストの際に入力画面から入力されたデータの例を示す概略図。
以下、実施形態のシステム、クライアント装置、サーバー装置、およびプログラムを、図面を参照して説明する。
(第1の実施形態)
ここでは、第1の実施形態について説明する。
まず、機能の構成について説明する。
図1は、本実施形態によるアプリケーションシステムを構成する装置と、各装置における概略機能構成とを示す、ブロック図である。なお、同図では、入力情報のチェックと、そのルールの維持・更新に関する機能のみを示している。つまり、同図では、適用業務に特有の機能を示していない。
図示するように、アプリケーションシステム1は、クライアント装置2とサーバー装置3とを含んで構成される。クライアント装置2は、例えば、パーソナルコンピューター(PC)や、スマートフォンや、タブレット端末や、ウェアラブル端末などを用いて実現される。サーバー装置3は、サーバー用コンピューターを用いて実現される。クライアント装置2とサーバー装置3との間は、通信回線(インターネットを含む)で結ばれており、相互に通信可能となっている。
クライアント装置2は、UI制御部101と、リクエスト送信部102と、トリガー生成部201と、ルール更新部202と、ルール受信部203と、ルール記憶部204と、チェック実行部205と、を含んで構成される。
また、サーバー装置3は、リクエスト受信部103と、処理実行部104と、ルール読込部302と、ルール記憶部303と、クライアント用ルール生成部304と、チェック実行部305とを含んで構成される。
アプリケーションシステム1は、クライアント装置2側とサーバー装置3側とで、統合的に入力情報チェックのためのルールを管理する。そのための各部の機能について、次に説明する。
以上列挙した各部の機能は、電子回路を用いて実現される。また、コンピューターとプログラムとを用いて、各部の機能を実現するようにしてもよい。また、各部において、情報を記憶する場合には、磁気ハードディスク装置や半導体メモリなどといった記憶媒体・記録媒体を用いるようにする。
クライアント装置2側の各部の機能は、次の通りである。
UI制御部101は、クライアント側のユーザーインタフェースを制御する機能を有する。UI制御部101は、ユーザーインタフェースの一つとして、クライアント装置2の画面等から情報を入力するための機能を実現する。UI制御部101は、例えば、画面内に情報を入力するためのフィールドを表示し、そのフィールドに入力される情報を取得する。フィールドは、テキストや数字を入力するためのフィールドの他に、プルダウンメニューや、チェックボックスや、ラジオボタンなどといった、情報入力のための手段を含む。つまり、UI制御部101は、ユーザーインタフェースを通して入力データを受け付ける機能を有する。
リクエスト送信部102は、UI制御部101が取得した情報を受けとり、それらの情報に基づくリクエストをサーバー装置3に対して送信する。なお、リクエスト送信部102は、サーバー装置3にリクエストを送信する前に、入力された情報のチェックをチェック実行部205に依頼する。つまり、リクエスト送信部102は、サーバー装置3側に送信するためのリクエストに含まれる入力データの入力チェックをチェック実行部205に依頼するとともに、チェック結果が合格であればリクエストをサーバー装置3に送信するものである。チェック実行部205によるチェックの結果、エラーがなかった場合には、リクエスト送信部102は、上記のリクエストを送信する。チェック実行部205によるチェックの結果、エラーがあった場合には、リクエスト送信部102は、上記のリクエストを送信せず、エラーメッセージを表示するようUI制御部に処理を戻す。
トリガー生成部201は、トリガーを生成し、ルール更新部202にそのトリガーを通知する。このトリガーは、入力チェックのルールを更新するきっかけとなるものである。トリガーは、例えば、アプリケー起動や、画面上の入力フィールドのアクティブ化など、任意の事象によって生じるものである。トリガー生成部201がどのような事象に基づいてトリガーを生成するかは、別途定めておくことができる。アプリケーションシステムに望まれる挙動に基づいて、トリガーを予め定義しておくようにすればよい。
ルール更新部202は、トリガー生成部201からの要求(トリガー)に応じて、サーバー装置3側に、クライアント装置用(自装置用)に入力チェックのルールを更新することを要求する。具体的には、ルール更新部202は、サーバー装置3の、クライアント用ルール生成部304に、ルールの更新を要求する。
また、ルール更新部202は、上記の要求に応じてルール受信部203が受信するルールを取得し、取得したルールで、ルール記憶部204を更新する。
つまり、ルール更新部202は、所定のトリガーに基づいて、ルール記憶部204を更新するためのルールをサーバー装置3に要求するとともに、その要求への応答としてサーバー装置3から送られるルールを用いてルール記憶部204を更新するものである。
ルール受信部203は、ルール更新部202からの要求に基づいてクライアント用ルール生成部304が生成したルールを受信する。ルール受信部203は、受信したルールをルール更新部202に渡す。
ルール記憶部204は、クライアント装置2側での入力チェックに使用するルールを、記憶する。上述した通り、ルール記憶部204に記憶されるルールは、ルール更新部202によって所定のタイミングで更新される。なお、ルール記憶部204は、磁気ハードディスク装置や半導体メモリなどの記憶手段を用いて実現される。
チェック実行部205は、ルール記憶部204に記憶されているルールを参照することによって、そのルールに基づいて、入力情報のチェックを実行する。前述の通り、チェック実行部205は、リクエスト送信部102からの依頼に基づいて、入力情報のチェックを行う。チェック実行部205は、チェックを実行した結果、エラーがあったか否かを表す情報を、リクエスト送信部102に返す。つまり、チェック実行部205は、リクエスト送信部102から渡されるリクエストをサーバー装置3側に送信してよいかどうかを判定する。
サーバー装置3側の各部の機能は、次の通りである。
リクエスト受信部103は、クライアント装置2側のリクエスト送信部102から送信されるリクエストを受信する。そして、リクエスト受信部103は、チェック実行部305に、受信したリクエスト内に含まれる情報(クライアント装置2側で入力された情報)のチェックを依頼する。つまり、リクエスト受信部103クライアント装置2側から送信されるリクエストを受信するとともに、リクエストに含まれる入力データの入力チェックをチェック実行部305に依頼するものである。チェック実行部305のチェックの結果、エラーが発見されなかった場合には、リクエスト受信部103は、処理実行部104にそのリクエストの処理を依頼する。チェック実行部305のチェックの結果、エラーが発見された場合には、リクエスト受信部103は、エラー時のための例外処理に制御を渡す。
処理実行部104は、リクエスト受信部103から渡されるリクエストの内容に応じた処理を実行する。なお、処理実行部104が実行する具体的な処理の内容は、アプリケーションシステム1がカバーする業務の内容に依存するものである。
ルール読込部302は、外部から渡される入力チェックのルールを読み込み、読み込んだルールの情報に基づいて、ルール記憶部303に記憶されているルールを更新する。なお、ルール読込部302に渡されるルールは、所定の様式で記述されたルールである。
ルール記憶部303は、サーバー装置3側において、入力チェックのためのルールを記憶する。ルール記憶部303が記憶するルールは、サーバー側のチェック実行部305によってチェックのために参照されるとともに、クライアント装置2側に渡すルールを生成するためにクライアント用ルール生成部304によって参照される。なお、ルール記憶部303は、磁気ハードディスク装置や半導体メモリなどの記憶手段を用いて実現される。
クライアント用ルール生成部304は、クライアント装置2側からの要求に応じて、ルール記憶部303から入力チェック用のルールを読み込み、クライアント側の入力チェックルールを作成し、クライアント装置2側に送信する。
チェック実行部305は、ルール記憶部303に格納されているルールを読み出し、そのルールに基づいて、リクエスト受信部103から依頼されたリクエストに含まれる入力情報をチェックする。チェックの結果、エラーが含まれていた場合には、チェック実行部305は、そのリクエストを処理しないようリクエスト受信部103に応答する。チェックの結果、エラーが含まれていなかった場合には、チェック実行部305は、そのリクエストの処理を引き続き実行するようリクエスト受信部103に応答する。
以上、図1に示した機能構成では、クライアント装置2側での入力情報のチェックとサーバー装置3側での入力情報のチェックを、同じルールに基づいて実行できる。ルールは、元々、サーバー装置3側で一元的に管理される。また、所定のトリガーに基づいて、クライアント装置側のルール更新部202が、サーバー装置3側のクライアント用ルール生成部304に対して、ルールの更新を要求する。この要求があったとき、クライアント用ルール生成部304は、その時点でルール記憶部303に記憶されているルールの情報に基づいて、クライアント装置2用のルールを生成し、クライアント装置2側に返信する。生成されたルールを受信すると、クライアント装置2側のルール更新部202は、ルールを記憶しているルール記憶部204を更新する。つまり、画面遷移のタイミングに限らず、任意のトリガーのタイミングで、クライアント装置2側のルールを更新することができる。クライアント装置2が複数台存在している場合にも、同様に機能する。また、クライアント装置2の種類が複数ある(例えば、パーソナルコンピューターとスマートフォンなど)場合にも、それぞれのクライアント装置2で、サーバー装置3から送られる最新のルールを用いた入力チェックを行える。
次に、アプリケーションシステム1における主要な処理について、順に説明する。
図2は、サーバー装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャートである。なお、このサーバー装置側でのルール更新の処理は、例えば、アプリケーションシステムの起動時あるいは再起動時に実行される。ただし、アプリケーションシステムの稼働中や、アプリケーションシステムの停止中に、サーバー装置側でのルール更新を行うようにしてもよい。
まずステップS1において、ルール読込部302は、入力チェックルールを読み込む。なお、この入力チェックルールは、例えばテキストファイルとして与えられるものである。
次にステップS2において、ルール読込部302は、読み込んだ入力チェックルールを用いて、ルール記憶部303に保持されているルールを更新する。
図3は、クライアント装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャートである。このクライアント装置側でのルールの更新は、任意のトリガーを起点として実行される。トリガーの例は、クライアント側でのアプリケーションプログラムの起動や、入力画面における画面遷移等である。以下、このチャートに沿って、手順を説明する。
まずステップS11において、トリガー生成部201が、ルールの更新を要求する。
次にステップS12において、ルール更新部202が、ルール記憶部204にその時点で記憶されているルールのバージョンを確認する。具体的には、ルール更新部202は、ルール記憶部204から現在のバージョン情報を読み出す。なお、バージョン情報は、例えば、日時の文字列の情報である。
次にステップS13において、ルール更新部202は、サーバー装置側のクライアント用ルール生成部304に、ルールの更新要求を送信する。なお、この際、ルール更新部202は、ステップS12で取得した現在のルールのバージョン情報を、更新要求に付けて送信する。
次にステップS14において、更新要求を受けたクライアント用ルール生成部304は、ルール記憶部303から、入力チェック用のルールを読み込む。
次にステップS15において、クライアント用ルール生成部304は、ルールのバージョン情報をチェックする。即ち、クライアント用ルール生成部304は、クライアント装置側から受け取ったバージョン情報(そのクライアント装置がその時点で保持しているルールのバージョン)と、サーバー装置側で保持しているバージョン情報とを比較する。ここで、比較結果に基づいて処理は分岐する。図において、「alt」と記載されている部分では、比較結果に基づいていずれか一方が実行される。
クライアント装置側のルールのバージョンが最新ではなかった場合、つまりクライアント装置側のルールのバージョンが、サーバー装置側で保持しているルールのバージョンよりも古かった場合には、次のステップS16に進む。
クライアント装置側のルールのバージョンが最新であった場合、つまりクライアント装置側のルールのバージョンが、サーバー装置側で保持しているルールのバージョンと同一であった場合には、ステップS19に飛ぶ。
ステップS16に進んだ場合、同ステップにおいて、クライアント用ルール生成部304は、クライアント装置用のルールを生成し、クライアント装置2側に送信する。なお、クライアント用ルール生成部304は、JSON(JavaScript Object Notation,ジェイソン)形式のルールを、クライアント装置2側に送信する。JSON形式は、様々なプラットフォーム間、様々なプログラミング言語間でデータを交換するのに適した形式である。JSON形式のルールを用いることにより、クライアント装置の種別に依らず、クライアント装置側で処理可能となる。また、このとき、クライアント用ルール生成部304は、送信するルールに、そのルールのバージョン情報を添付してクライアント装置2側に送信する。クライアント装置2側では、ルール受信部203がそのルールを受信し、ルール更新部202に渡す。
次にステップS17において、ルール更新部202は、受け取ったルールを用いて、ルール記憶部204を更新する。この更新により、ルール記憶部204に記憶されていた旧ルールは削除される。なお、ルール更新部202は、ルール記憶部204上のルールを更新する際に、バージョン情報もあわせて更新する。
次にステップS18において、ルール更新部202は、UI制御部101に、ルールの変更があったことを示す変更通知を渡す。
ステップS15からS16に進んだ場合、以上で、クライアント装置側でのルール更新の処理を完了する。
ステップS15からS19に進んだ場合、ステップS19において、クライアント用ルール生成部304は、クライアント装置側ではルールの更新が不要であることを示す通知を、クライアント装置2に送る。この通知を、クライアント側入力チェックルール変更不要通知と呼ぶ。ルールの更新が不要である理由は、クライアント装置2側で保持しているルールが最新のバージョンであるためである。
ステップS15からS19に進んだ場合、以上で、クライアント装置側でのルール更新の処理を完了する。
図4は、クライアント装置側からサーバー装置側へのリクエストの送信に伴う、入力チェックの処理の手順を示すシーケンスチャートである。クライアント装置2側における入力値のチェックは、入力値のチェックは、リクエスト送信ボタンの押下や、入力フィールド間でのフォーカスの移動などといった、ユーザーのアクションに応じて実行される。また、サーバー装置3側における入力値のチェックは、クライアント側からのリクエストを受信したタイミングで実行される。なお、以下では、クライアント装置2においてリクエスト送信ボタンが押下され、クライアント装置2がリクエストを送信する、一連の処理における手順を説明する。
まずステップS21において、UI制御部101は、画面等からユーザーが入力したデータを取得し、その入力データを含むリクエストをリクエスト送信部102に渡す。
次にステップS22において、リクエスト送信部102は、入力データをチェック実行部205に渡し、入力データのチェックを依頼する。
次にステップS23において、チェック実行部205は、ルール記憶部204に記憶されている入力チェック用のルールを参照する。
次にステップS24において、チェック実行部205は、ルール記憶部204から読み出したルールに基づいて、リクエスト送信部102から渡された入力データをチェックする。そして、チェック実行部205は、入力データに関してエラーの有無を判定する。
次にステップS25において、チェック実行部205は、チェック結果をリクエスト送信部102に返す。リクエスト送信部102は、チェック結果に基づき、リクエストをサーバー装置3側に送信するか否かを判断する。チェック結果として、エラーがなかった場合(入力チェック合格の場合)に限り、リクエスト送信部102は、リクエストをサーバー装置3側に送信する。この図に示すのは、入力チェックの結果、エラーがなかった場合である。
なお、チェック結果としてエラーがあった場合(入力チェック不合格の場合)には、リクエスト送信部102は、以後の処理を中止する。つまり、エラーの場合には、リクエスト送信部102は、サーバー装置3側に、リクエストを送信しない。
次にステップS26において、リクエスト送信部102は、クライアント装置2側において入力チェック済みのリクエストを、サーバー装置3に送信する。
次にステップS27において、クライアント装置2側からリクエストを受信したリクエスト受信部103は、リクエストに含まれていた入力データをチェック実行部305に渡し、そのチェックを依頼する。
次にステップS28において、チェック実行部305は、ルール記憶部303に記憶されている入力チェック用のルールを参照する。
次にステップS29において、チェック実行部305は、ルール記憶部303から読み出したルールに基づいて、リクエスト受信部103から渡された入力データの値をチェックする。そして、チェック実行部305は、入力データに関してエラーの有無を判定する。
次にステップS30において、チェック実行部305は、チェック結果をリクエスト受信部103に返す。リクエスト受信部103は、チェック結果に基づき、リクエストを処理実行部104に渡すか否かを判断する。チェック結果として、エラーがなかった場合(入力チェック合格の場合)に限り、リクエスト受信部103は、リクエストを処理実行部104に渡す。この図に示すのは、入力値のチェックの結果、エラーがなかった場合である。
なお、チェック結果として、エラーがあった場合(入力チェック不合格の場合)には、リクエスト受信部103は、以後の処理を中止する。つまり、エラーの場合には、リクエスト受信部103は、処理実行部104にリクエストを渡さない。
チェック結果に問題がない場合、リクエスト受信部103は、次にステップS31において、チェック済みの入力データを含んだリクエストを、処理実行部104に渡す。これに応じて、処理実行部104は、入力データを用いた処理を行う。ここで、処理実行部104が行う処理の内容は任意であり、アプリケーションシステムがとに特有の処理が行われる。
次にステップS32において、処理実行部104は、処理結果(サーバー処理結果)をリクエスト受信部103に返す。
次にステップS33において、リクエスト受信部103は、処理実行部104から受け取ったサーバー処理結果を、クライアント装置2側のUI制御部101に返送する。UI制御部101は、受信したサーバー処理結果に基づいて画面表示を行う。
以上、主要な処理の手順について説明したが、次に、各処理で用いるデータの構成について説明する。
図5は、サーバー装置側でルール読込部が読み込む入力チェックルールの構成を示す概略図である。図示するように、入力チェックルールは、XML(Extensible Markup Language)形式で記述されているデータである。図2のステップS1で説明したように、ルール読込部302が、ファイル等として供給されるこの入力チェックデータのデータを読み込む。
ここでは、例として、3つのデータ項目についてのルールを示している。これらの各項目が、UI制御部101によって表示される入力用画面のフィールドに対応している。各データ項目は、item要素に対応する。item要素の属性として、key属性はそのデータ項目の識別名を表し、name属性はそのデータ項目の名称を表す。また、チェック用のルールは、例えば、regexp要素や、length要素や、date−value要素等を用いて表される。
regexp要素は、正規表現(regular expression)によって表現されるルールを記述するために用いられる。入力データが、ルールに記述された正規表現にマッチする場合に、その入力データは正しいものと判定される。入力データがその正規表現にマッチしない場合には、エラーと判定される。
length要素は、ストリング型のデータの長さに関するルールを記述するために用いられる。min属性は、長さの最小値を表す。max属性は、長さの最大値を表す。入力データの長さが、ルールに記述された最小値以上で、且つ最大値以下の場合に、その入力データは正しいものと判定される。入力データの長さが、それ医以外の場合には、エラーと判定される。
date−value要素は、日付型のデータの形式や範囲に関するルールを記述するために用いられる。format属性は、日付の記載形式に関するルールを表す。例えば、formatの値が”YYYY−MM−DD”と指定されている場合には、その形式で記載された日付データが正しいものと判定され、その他の日付データはエラーと判定される。ここで、YYYYは4桁で表される年であり、MMは2桁で表される月であり、DDは2桁で表される日である。また、begin属性およびend属性は、それぞれ、日付の値の範囲(期間)を表すものである。begin属性は、期間の最初の日を表す。end属性は、期間の最後の日を表す。入力データがこの期間の範囲内にある場合には、その日付データは正しいものと判定される。入力データの日付がその期間の範囲外である場合には、エラーと判定される。
図5に示した例では、第1のルールは、データ項目empno(データ項目名は「従業員番号」)に関するルールである。そして、正規表現「/(^¥d{3,5}$)/」(ただし、この正規表現中の「¥」は、実際には半角文字)により入力データをチェックしようとするものである。なお、この正規表現は、3桁以上且つ5桁以下の数値にマッチする。
また、第2のルールは、データ項目ename(データ項目名は「氏名」)に関するルールである。そして、その文字列の長さに関して、下限を設けず(min=””)、上限を20としている。
また、第3のルールは、データ項目hiredate(データ項目名は「入社年月日」)に関するルールである。そして、日付データの記載形式が「YYYY−MM−DD」であることをチェックしようとするものである。また、日付データが、「2011−10−01」から「2015−09−30」までの期間内にあることをチェックしようとするものである。
図6は、サーバー装置側のルール記憶部のデータ構成を示す概略図である。図示するように、ルール記憶部303は、バージョン情報とルールとを記憶している。本実施形態におけるバージョン情報は、日時の文字列である。図示する例におけるバージョン情報「20150911−1650」は、ルールが2015年9月11日の16時50分のバージョンであることを表している。なお、バージョン情報は、ルールのバージョンを特定できる情報であれば、日時の情報として表されていなくてもよい。また、ルール記憶部303におけるルールは、2次元の表の構造で表されている。この表は、key、name、length、regexp、date−valueという5個の項目を有している。また、表の各行が、データ項目に対応している。そして、図6に示すルール記憶部303のデータ例は、図5に示した入力データチェック用のルールに対応している。
クライアント装置2側におけるルール記憶部204が保持するデータの構成は、サーバー装置3側におけるルール記憶部303のそれと同様である。つまり、クライアント装置2側において、ルール記憶部204は、図6に示した構成と同様のデータを記憶する。したがって、ここでは、詳しい説明を省略する。
図7は、サーバー装置側からクライアント装置側に更新のために送られるルールのデータの例を示す概略図である。つまり、図示するデータは、図3のステップS16において、サーバー装置3側のクライアント用ルール生成部304から、クライアント装置2に対して送信されるデータである。前述の通り、サーバー装置3側のクライアント用ルール生成部304は、JSON形式で記述されたデータを送信する。ただし、更新のためにルールを送信する際に必ずしもJSON形式を用いる必要はなく、その他の形式のデータで送信することも可能である。なお、同図において、便宜的に、行番号を付与している。
図示する通り、このデータは、バージョン情報とルールとを含んでいる。第2行目の「version:」に続く「20150911−1650」がバージョン情報である。そして、第3行目の「rules:」に続く部分がルールである。ルールは、第3行目の左角括弧と第19行目の右角括弧に囲まれた部分に記述されている。この記述は、3個のルールを含んでいる。
1個目のルールは、第4行目の左波括弧(curly brace)と第8行目の右波括弧に囲まれた部分に記述されている。このルールは、データ項目empno(従業員番号)に関するものであり、マッチする正規表現が規定されている。
2個目のルールは、第9行目の左波括弧と第13行目の右波括弧に囲まれた部分に記述されている。このルールは、データ項目ename(氏名)に関するものであり、ストリング(文字列)の長さについての最小値と最大値とが規定されている。
3個目のルールは、第14行目の左波括弧と第18行目の右波括弧に囲まれた部分に記述されている。このルールは、データ項目hiredate(入社年月日)に関するものであり、日付の表現形式と、日付の範囲(期間の開始日および終了日)が規定されている。
なお、これら3個のルールは、図5に示したルール、図6に示したルールに対応しているものである。
図8は、クライアント装置側のUI制御部が作成し、サーバー装置側に送られるリクエストのデータ例を示す概略図である。図示するように、このリクエストのデータも、JSON形式で記述されたデータである。ただし、必ずしもJSON形式で記述する必要はなく、他の形式を用いるように定めてもよい。なお、同図では便宜的に、データの各行に行番号を付している。
図示するデータの例は、ユーザーインタフェース画面における3つの入力フィールドに対応している。第2行目のデータは、データ項目empno(従業員番号)の値として「2084」を保持するものである。第3行目のデータは、データ項目ename(氏名)の値として「Suzuki Jiro」を保持するものである。第4行目のデータは、データ項目hiredate(入社年月日)の値として「2015−09−01」を保持するものである。
このリクエストのデータに関してチェック実行部205やチェック実行部305が入力値チェックの処理を行った場合を考える。なお、チェック処理に使用するルールは、図6等に示した通りである。チェック処理の結果は、次の通りである。即ち、最初のempno(従業員番号)に入力されたデータは「2084」である。このデータをempnoに関するルールでチェックすると、「3桁以上5桁以下の数値」であるというパターンにマッチするため、合格である。また、2番目のename(氏名)に入力されたデータは「Suzuki Jiro」である。このデータをenameに関するルールでチェックすると、文字列の長さが0以上20以下であるという条件を満たすため、合格である。また、3番目のhiredate(入社年月日)に入力されたデータは「2015−09−01」である。このデータをhiredateに関するルールでチェックすると、形式が「YYYY−MM−DD」にマッチし、且つ、この日付が、2011年10月01日で始まり2015年09月30日に終わる期間に含まれているという条件を満たすため、合格である。
つまり、このリクエストに含まれる入力値に関するチェックの結果、エラーはなかったことが確認される。
図9は、既に例示したルールに基づいてチェック実行部205やチェック実行部305がチェック処理を行う際の判断の分岐を示すディシジョンチャートである。同図は、チェック処理の入力と出力との関係を示している。また、同図では、入力の例として、図8にも示したリクエストを示している。図9に示した判断の手順は、次の通りでる。
ステップS41は、empnoのデータに関するルールに対応している。ステップS41において、与えられたデータempnoが、3桁以上且つ5桁以下の数値であるか否かを判定する。empnoが3桁以上且つ5桁以下の数値である場合(ステップS41:YES)には、次のS42に進む。empnoがその条件を満たさない場合(ステップS41:NO)には、出力が「false」(チェック不合格)であることを決定し、このチェック処理全体を終了する。
ステップS42は、enameのデータに関するルールに対応している。ステップS42において、与えられたデータenameが、長さ20以下の文字列であるか否かを判定する。enameが長さ20以下の文字列である場合(ステップS42:YES)には、次のS43に進む。enameがその条件を満たさない場合(ステップS42:NO)には、出力が「false」(チェック不合格)であることを決定し、このチェック処理全体を終了する。
ステップS43は、hiredateのデータに関するルールに対応している。ステップS43において、与えられたデータhiredateが、YYYY−MM−DDの形式で、且つ2011年10月01日から2015年09月30日までの範囲内であるか否かを判定する。hiredateがYYYY−MM−DDの形式で、且つ2011年10月01日から2015年09月30日までの範囲内である場合(ステップS43:YES)には、出力が「true」(チェック合格)であることを決定し、このチェック処理全体を終了する。hiredateがその条件を満たさない場合(ステップS43:NO)には、出力が「false」(チェック不合格)であることを決定し、このチェック処理全体を終了する。
上記の手順により、与えられた入力データに対して、チェック実行部205やチェック実行部305が、出力値として「true」または「false」のいずれかを決定する。
この実施形態によれば、入力チェックのためのルールを、サーバー装置3側で一元的に統合して管理することが可能となる。また、トリガーの生成について適宜定めることにより、任意のタイミングで、クライアント装置2側で記憶しているルールを更新することが可能となる。
(第2の実施形態)
次に、第2の実施形態について説明する。なお、ここでは、本実施形態に特有の事項を中心に説明し、前実施形態で既に説明した事項については説明を省略する。
図10は、本実施形態によるアプリケーションシステムの概略機能構成を示すブロック図である。図示するように、アプリケーションシステム11は、クライアント装置12とサーバー装置13とを含んで構成される。第1の実施形態と同様に、クライアント装置12とサーバー装置13とは、通信回線等を介して相互に通信可能である。
本実施形態におけるクライアント装置12は、例えば、Raspberry Pi(IoT端末)を用いて実現される。ただし、他の装置によってクライアント装置12を実現してもよい。
クライアント装置12は、UI制御部101と、リクエスト送信部102と、トリガー生成部201と、ルール更新部212と、ルール受信部203と、ルール記憶部204と、チェック実行部205と、チェック結果記憶部206と、を含んで構成される。クライアント装置12の特徴は、第1の実施形態にはなかったチェック結果記憶部206を有する点と、第1の実施形態におけるルール更新部202に代えてルール更新部212を有する点である。
また、サーバー装置13は、リクエスト受信部103と、処理実行部104と、ルール読込部302と、ルール記憶部303と、クライアント用ルール生成部314と、チェック実行部305とを含んで構成される。サーバー装置13の特徴は、第1の実施形態におけるクライアント用ルール生成部304に代えてクライアント用ルール生成部314を有する点である。
ここで、本実施形態に特有の機能について説明する。
チェック結果記憶部206は、チェック実行部205によるチェックの実行結果のデータを記憶する。具体的には、チェック結果記憶部206は、チェックの結果が合格であったか不合格であったかを表す統計情報を記憶する。さらに具体的には、チェック結果記憶部206は、入力チェックを行ったデータ項目ごとに、チェック合格の件数と、チェック不合格の件数と、合格率(チェック合格の件数を、チェック試行全体の件数で除した比率)とを記憶する。
ルール更新部212は、第1の実施形態におけるルール更新部202と同様に、サーバー装置13側に対して、ルールの更新を要求する。そして、ルール更新部212は、サーバー装置13側から送られてくるルールで、ルール記憶部204を更新する。ルール更新部212の、本実施形態に特有の機能は、サーバー装置13側に対してルールの更新を要求する際に、チェック結果記憶部206に記憶されているチェック結果の統計情報を送信する点である。
クライアント用ルール生成部314は、第1の実施形態におけるクライアント用ルール生成部304と同様に、ルール記憶部303から読み出したルールを、JSON形式のデータとして、クライアント装置12側に送信する。クライアント用ルール生成部314の本実施形態に特有の機能は、クライアント用のルールを生成する際に、チェック結果の統計情報に基づいて、ルールを選択し、選択されたルールのみを送信する点である。具体的には、例えば、クライアント用ルール生成部314は、チェック合格率が所定の閾値未満であるデータ項目に関してのルールのみを選択し、そのルールのみをクライアント装置12側に送信する。
上記のように、本実施形態の特徴は、チェック結果の情報を統計情報として蓄積し、そのチェック結果の情報に基づいて、サーバー装置13側からクライアント装置12側に送信するルールを絞り込むことである。
次に、本実施形態における処理手順について説明する。
なお、サーバー装置13側での入力チェック用のルールの更新の処理は、第1の実施形態におけるそれと同様であるため、ここでは説明を省略する。
図11は、クライアント装置側で入力チェックのルールを更新する処理の手順を示すシーケンスチャートである。このクライアント装置側でのルールの更新は、任意のトリガーを起点として実行される。以下、このチャートに沿って、手順を説明する。
まずステップS51において、トリガー生成部201が、ルールの更新を要求する。本実施形態では、一例として、Raspberry Piのサービス起動をトリガーとする。
次にステップS52において、ルール更新部212が、ルール記憶部204にその時点で記憶されているルールのバージョンを確認する。この処理は、図3のステップS12の処理と同様である。
次にステップS53において、ルール更新部212が、チェック結果記憶部206から、チェック結果の情報を読み出す。なお、ここで取得するチェック結果の情報は、当該クライアント装置における過去のチェック結果の統計情報である。チェック結果の情報の具体例については、後述する。
次にステップS54において、ルール更新部212は、サーバー装置側のクライアント用ルール生成部314に、ルールの更新要求を送信する。なお、この際、ルール更新部212は、ステップS52で取得した現在のルールのバージョン情報と、ステップS53で取得したチェック結果の情報とを、更新要求とともに送信する。
次にステップS55において、クライアント用ルール生成部314は、ルール記憶部303から、入力チェック用のルールを読み込む。この処理は、図3のステップS14の処理と同様である。
次にステップS56において、クライアント用ルール生成部314は、ルールのバージョン情報をチェックする。この処理は、図3のステップS15の処理と同様である。そして、バージョン情報に依存して、処理は分岐する。図において、「alt」と記載されている部分では、バージョン情報に基づいていずれか一方が実行される。
クライアント装置側のルールのバージョンが最新ではなかった場合、次のステップS57に進む。
クライアント装置側のルールのバージョンが最新であった場合、ステップS60に飛ぶ。
ステップS57に進んだ場合、同ステップにおいて、クライアント用ルール生成部314は、要求元のクライアント装置12用のルールを生成し、クライアント装置12側に送信する。
なお、クライアント用ルール生成部314は、クライアント装置12側から受信したチェック結果情報に基づいて、ルールを選択し、選択されたルールのみをクライアント装置12側に送信する。具体的には、クライアント用ルール生成部314は、受信したチェック結果情報を参照し、過去のチェック処理における合格率が所定の閾値未満のルールのみを選択する。より具体的には、クライアント用ルール生成部314は、ルール記憶部303から読み出したルールのうち、過去のチェック処理における合格率が所定の閾値未満のkeyに関するルールのみを選択する。ここで、合格率の閾値として例えば0.6を用いる。あるいは、合格率の閾値として、例えば、0.5以上且つ0.7以下の範囲内のいずれかの値を用いる。
また、クライアント用ルール生成部314は、送信するルールに、そのルールのバージョン情報を添付してクライアント装置12側に送信する。
クライアント装置12側では、ルール受信部203がそのルールを受信し、ルール更新部212に渡す。
次にステップS58において、ルール更新部202は、受け取ったルールを用いて、ルール記憶部204を更新する。この処理は、図3のステップS17の処理と同様である。
次にステップS59において、ルール更新部212は、UI制御部101に、ルールの変更があったことを示す変更通知を渡す。
ステップS56からS57に進んだ場合、以上で、クライアント装置側でのルール更新の処理を完了する。
ステップS56からS60に進んだ場合、ステップS56において、クライアント用ルール生成部314は、クライアント装置側ではルール更新不要通知を、クライアント装置12に送る。この処理は、図3のステップS19の処理と同様である。
ステップS56からS60に進んだ場合、以上で、クライアント装置側でのルール更新の処理を完了する。
図12は、クライアント装置側からサーバー装置側へのリクエストの送信に伴う、入力チェックの処理の手順を示すシーケンスチャートである。以下では、クライアント装置12においてリクエスト送信ボタンが押下され、クライアント装置12がリクエストを送信する、一連の処理における手順を説明する。
まずステップS71において、入力データを含むリクエストをリクエスト送信部102に渡す。この処理は、図4のステップS21の処理と同様である。
次にステップS72において、リクエスト送信部102は、チェック実行部205にm入力データのチェックを依頼する。この処理は、図4のステップS22の処理と同様である。
次にステップS73において、チェック実行部205は、ルール記憶部204に記憶されているルールを参照する。この処理は、図4のステップS23の処理と同様である。
次にステップS74において、チェック実行部205は、ルール記憶部204から読み出したルールに基づいて、リクエスト送信部102から渡された入力データをチェックする。この処理は、図4のステップS24の処理と同様である。
次にステップS75において、チェック実行部205は、ステップS74で実行したチェックの結果を、チェック結果記憶部206に書き込む。具体的には、チェック実行部205は、チェックを行ったデータ項目ごとに、チェック結果がtrue(チェック合格)であるかfalse(チェック不合格)であるかを表す統計情報を更新する。
なお、チェック結果データの具体例と、統計情報の更新のしかたについては、後で、図13を参照しながら説明する。
次にステップS76において、チェック実行部205は、チェック結果をリクエスト送信部102に返す。そして、リクエスト送信部102は、チェック結果に基づき、リクエストをサーバー装置13側に送信するか否かを判断する。リクエスト送信部102は、チェック合格の場合にのみリクエストをサーバー装置13側に送信する。チェック不合格の場合には、クライアント装置12は、以後の処理を注視する。この処理は、図4のステップS25の処理と同様である。
次にステップS77において、リクエスト送信部102は、入力チェック済みのリクエストを、サーバー装置13に送信する。この処理は、図4のステップS26の処理と同様である。
次にステップS78において、リクエスト受信部103は、受信したリクエストに含まれていた入力データのチェックを、チェック実行部305に依頼する。この処理は、図4のステップS27の処理と同様である。
次にステップS79において、チェック実行部305は、ルール記憶部303に記憶されているルールを参照する。この処理は、図4のステップS28の処理と同様である。
次にステップS80において、チェック実行部305は、リクエスト受信部103から渡された入力データの値をチェックする。この処理は、図4のステップS29の処理と同様である。
次にステップS81において、チェック実行部305は、チェック結果をリクエスト受信部103に返す。リクエスト受信部103は、そのチェック結果に基づき、リクエストを処理実行部104に渡すか否かを判断する。この処理は、図4のステップS30の処理と同様である。
チェック結果に問題がない場合、リクエスト受信部103は、次にステップS82において、チェック済みの入力データを含んだリクエストを、処理実行部104に渡す。処理実行部104は、入力データを用いた処理を行う。そして、処理実行部104は、その処理の結果(サーバー処理結果)をリクエスト受信部103に返す。この処理は、図4のステップS31およびS32の処理と同様である。
次にステップS83において、リクエスト受信部103は、処理実行部104から受け取ったサーバー処理結果を、クライアント装置12側に返送する。この処理は、図4のステップS33の処理と同様である。
次に、本実施形態の各処理で用いるデータの構成について説明する。
図13は、チェック結果記憶部が記憶するチェック結果データの構成および例を示す概略図である。図示するように、チェック結果記憶部206は、バージョン情報と、チェック結果の統計情報とを有している。バージョン情報は、ルールのバージョンを表す情報である。本実施形態では、バージョン情報として、日時の文字列を有している。チェック結果の統計情報は、データ項目(key)ごとに、true(チェック合格)のカウント数値と、false(チェック不合格)のカウント数値と、rate(合格率)の数値を含む。
図示する例では、バージョン情報は「20150901−1809」である。
また、データ項目empnoに関して、trueの数値は35、falseの数値は2、rateは0.95(35/(35+2))である。データ項目enameに関して、trueの数値は32、falseの数値は3、rateは0.91(32/(32+3))である。データ項目hiredateに関して、trueの数値は17、falseの数値は15、rateは0.53(17/(17+15))である。ただし、rateに関しては小数点第3位を四捨五入している。
チェック実行部205は、チェック処理を実行する都度、チェック結果記憶部206を更新する。具体的には、チェック実行部205は、データ項目(key)ごとにチェック結果におけるtrueまたはfalseのカウントを増分する。また、チェック実行部205は、(trueのカウント数値/(trueのカウント数値+falseのカウント数値))の式によってrateを計算し、更新する。
ルール更新部212は、サーバー装置13側に対してルールの更新を要求するとき、チェック結果記憶部206から、上述した、バージョン情報およびチェック結果の統計数値を読み出して、サーバー装置13側にそれらの情報を送信する。
また、ルール更新部212は、ルールを更新する際には、チェック結果の統計情報を初期化する。具体的には、ルール更新部212は、チェック結果データを初期化する際に、trueおよびfalseの数値を0にリセットする。
なお、このとき、ルール更新部212は、変更されたルールについてのみ、チェック結果の統計情報を初期化するようにしてもよい。
図14は、本実施形態において、サーバー装置側からクライアント装置側に更新のために送られるルールのデータの例を示す概略図である。
本実施形態では、クライアント用ルール生成部314が、チェック結果データに基づいて選択したルールのみを、クライアント装置12側に送信することとしている。図7(第1の実施形態)に示したルールでは、データ項目empno,ename,hiredateの各々に関するルールを、サーバー装置側からクライアント装置側に送るようにしていた。本実施形態では、所定の基準による条件(例えば、rate(チェック合格率)が60%未満)を満たすルールのみが、サーバー装置側からクライアント装置側に送られる。ここでは、クライアント用ルール生成部314が、チェック合格率が60%未満である(図13を参照)hiredateのみについて、ルールを送信する。クライアント用ルール生成部314は、他のデータ項目(empnoとename)についてのルールをクライアント装置12側に送らない。
図15は、リクエストの際に入力画面から入力されたデータの例を示す概略図である。図示するように、このリクエストは、empnoとenameとhiredateの各データ項目に関する入力値を有している。これらのデータ項目のうち、hiredateのデータは、データ形式が「YYYY−MM−DD」であることという条件を満たさないため、チェック不合格となる。
この図15に示したデータの、empnoとenameとhiredateの各データ項目に関して入力チェックを行った場合、empnoとenameのデータは合格と判定され、hiredateのデータは不合格と判定される。そして、この判定結果にしたがって、チェック実行部205は、チェック結果記憶部206を更新する。
本実施形態によれば、クライアント装置側の入力チェックの処理量を軽減化することができる。計算資源が少ない計算機をクライアント装置として用いる場合(例えば、Raspberry Piなど)でも問題なく処理することが可能となる。
次に、第2の実施形態のいくつかの変形例を説明する。
第1変形例では、ルール更新部212は、所定の頻度で、チェック結果の統計情報として、すべてのデータ項目に関して、閾値未満(例えば、60%未満)の値を、サーバー装置13側に送信する。このようにすべてのデータ項目に関して閾値未満の値を送信した場合には、サーバー装置13は、すべてのデータ項目に関するルールをクライアント装置12側に送信する。これにより、すべてのデータ項目に関して、上記所定の頻度で、チェック結果の統計を取得することが可能となる。
第2変形例では、第1変形例の代わりに、サーバー装置側のクライアント用ルール生成部314が、所定の頻度で、すべてのデータ項目に関するルールを、クライアント装置12側に送信するようにする。これにより、クライアント装置12側で意識することなく、すべてのデータ項目に関して、上記所定の頻度で、チェック結果の統計を取得することが可能となる。
第3変形例では、特定のクライアント装置12のみにおけるチェック結果の統計情報に基づくのではなく、サーバー装置13側で収集するすべてのクライアント装置12における統計情報に基づいて、どのデータ項目に関するルールを送信するかを判断する。つまり、クライアント用ルール生成部314は、複数のクライアント装置12側からチェック結果の統計情報を受信する都度、それを蓄積する。そして、クライアント用ルール生成部314は、所定のタイミングで、それらの統計情報を集計し、複数のクライアント装置12の全体でのチェック合格率を算出する。そして、チェック合格率の低いデータ項目に関するルールのみを、それらのクライアント装置12に送るようにする。クライアント装置12側では、サーバー装置13側から送信されたルールで、各々のルール記憶部204を更新する。なお、本変形例において、チェック結果の統計情報が乏しい(例えば、チェックの実行回数が所定の閾値より少ない)クライアント装置12に関してのみ、サーバー装置13が他のクライアント装置12から受信したチェック結果に基づいてチェック合格率の判定を行うようにしてもよい。つまり、本変形例では、クライアント用ルール生成部314は、クライアント装置12側のルール更新部212から受信したチェック結果を記憶する手段を有し、記憶したチェック結果に基づいて、他のクライアント装置12におけるルール更新部212からのルールの要求があったときに、チェック結果としてチェック合格率が所定の閾値より低いデータ項目のみについて当該他のクライアント12用のルールを生成し、生成したルールを要求元である当該他のクライアント装置12に送信する。これにより、処理の実行回数が少ないクライアント装置2においても、他のクライアント装置におけるチェック結果に基づいて、ルールを選択的に更新することが可能となる。
第4変形例では、ルール更新部212は、チェック結果データをサーバー装置13側に送信しない。そして、サーバー装置13におけるクライアント用ルール生成部314は、すべてのデータ項目に関するルールをクライアント装置12に送信する。クライアント装置12側では、ルール更新部212は、チェック結果記憶部206を参照し、受信したルールのうちのチェック合格率が所定の閾値未満のデータ項目に関するルールのみで、ルール記憶部204の更新を行う。つまり、本変形例では、ルール更新部212は、ルール記憶部204を更新するためのルールをサーバー装置13側から受け取った際に、チェック結果記憶部206から読み出したチェック結果に関する情報に基づき、チェック結果としてチェック合格率が所定の閾値より低いデータ項目のみについてのサーバー装置13側から受け取ったルールを用いて、ルール記憶部204を更新する、この更新以後は、ルール更新部212が選択した、チェック合格率が所定の閾値未満のデータ項目のみについて、チェック実行部205がチェックを行う様になる。これにより、サーバー装置13側の処理負荷を軽減することができる。
第5変形例では、ルール更新部212は、チェック結果データをサーバー装置13側に送信する。サーバー装置13におけるクライアント用ルール生成部314は、当該クライアント装置12からチェック結果の統計情報を受け取ったデータ項目に関しては、その統計情報に基づいて更新用ルールを送るか否かを判断する。そして、クライアント用ルール生成部314は、当該クライアント装置12からチェック結果の統計情報を受け取らなかったデータ項目に関しては、他のクライアント装置12から収集したチェック結果の統計情報に基づいて、更新用ルールを送るか否かを判断する。
上記各実施形態では、ルールのバージョン情報は、日時の文字列の情報であるものとしたが、バージョンを識別できる情報であれば、それ以外の形態のバージョン情報であってもよい。
以上説明した少なくともひとつの実施形態によれば、ルール更新部202(またはルール更新部212。以下同様。)は任意のタイミングでサーバー装置3側にルールの更新を要求する。また、ルール更新部202は、必ず、サーバー装置3側から送信されるルールで、ルール記憶部204を更新する。このようなルール更新部202を持つことにより、入力チェックのためのルールを、サーバー装置3側で一元的に統合して管理することが可能となる。また、トリガーの生成について適宜定めることにより、任意のタイミングで、クライアント装置2側で記憶しているルールを更新することが可能となる。
なお、上述した実施形態におけるクライアント装置およびサーバー装置の機能の少なくとも一部をコンピューターで実現するようにしても良い。その場合、機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1,11…アプリケーションシステム(システム)、2,12…クライアント装置、3,13…サーバー装置、101…UI制御部(ユーザーインタフェース制御部)、102…リクエスト送信部、103…リクエスト受信部、104…処理実行部、201…トリガー生成部、202,212…ルール更新部、203…ルール受信部、204…ルール記憶部(第1ルール記憶部)、205…チェック実行部(第1チェック実行部)、206…チェック結果記憶部、302…ルール読込部、303…ルール記憶部(第2ルール記憶部)、304,314…クライアント用ルール生成部、305…チェック実行部(第2チェック実行部)

Claims (8)

  1. クライアント装置とサーバー装置とを備えるシステムであって、
    前記クライアント装置は、
    入力チェックに関するルールを記憶する第1ルール記憶部と、
    前記第1ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックする第1チェック実行部と、
    ユーザーインタフェースを通して入力データを受け付けるユーザーインタフェース制御部と、
    前記サーバー装置側に送信するためのリクエストに含まれる前記入力データの入力チェックを前記第1チェック実行部に依頼するとともに、チェック結果が合格であれば前記リクエストを前記サーバー装置に送信するリクエスト送信部と、
    所定のトリガーに基づいて、前記第1ルール記憶部を更新するためのルールを前記サーバー装置に要求するとともに、前記要求への応答として前記サーバー装置から送られるルールを用いて前記第1ルール記憶部を更新するルール更新部と、
    を備え、
    前記サーバー装置は、
    入力チェックに関するルールを記憶する第2ルール記憶部と、
    前記第2ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックする第2チェック実行部と、
    前記リクエスト送信部から送信される前記リクエストを受信するとともに、前記リクエストに含まれる前記入力データの入力チェックを前記第2チェック実行部に依頼するリクエスト受信部と、
    前記ルール更新部から前記ルールの要求を受けると、前記第2ルール記憶部から読み出したルールに基づいてクライアント用のルールを生成し、生成したルールを要求元の前記クライアント装置に送信するクライアント用ルール生成部と、
    を備える、
    システム。
  2. 前記クライアント装置は、
    前記第1チェック実行部によるチェック結果に関する情報を記憶するチェック結果記憶部、をさらに備え、
    前記第1チェック実行部は、実行したチェックのチェック結果に関する情報を前記チェック結果記憶部に書き込み、
    前記ルール更新部は、前記第1ルール記憶部を更新するためのルールを前記サーバー装置に要求する際に、前記チェック結果記憶部から読み出した前記チェック結果に関する情報をあわせて前記サーバー装置に送信するものであり、
    前記サーバー装置において、
    前記クライアント用ルール生成部は、前記ルール更新部から受信した前記チェック結果に関する情報に基づいて、チェック結果としてチェック合格率が所定の閾値より低いデータ項目のみについて前記クライアント用のルールを生成し、生成した前記ルールを要求元の前記クライアント装置に送信する、
    請求項1に記載のシステム。
  3. 前記クライアント用ルール生成部は、前記ルール更新部から受信した前記チェック結果を記憶するものであり、記憶した前記チェック結果に基づいて、他のクライアント装置におけるルール更新部からのルールの要求があったときに、チェック結果としてチェック合格率が所定の閾値より低いデータ項目のみについて当該他のクライアント用のルールを生成し、生成したルールを要求元である当該他のクライアント装置に送信する、
    請求項2に記載のシステム。
  4. 前記クライアント装置は、
    前記第1チェック実行部によるチェック結果に関する情報を記憶するチェック結果記憶部、をさらに備え、
    前記第1チェック実行部は、実行したチェックのチェック結果に関する情報を前記チェック結果記憶部に書き込み、
    前記ルール更新部は、前記第1ルール記憶部を更新するためのルールを前記サーバー装置側から受け取った際に、前記チェック結果記憶部から読み出した前記チェック結果に関する情報に基づき、チェック結果としてチェック合格率が所定の閾値より低いデータ項目のみについての前記サーバー装置側から受け取ったルールを用いて、前記第1ルール記憶部を更新する、
    請求項1に記載のシステム。
  5. 入力チェックに関するルールを記憶するルール記憶部と、
    前記ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックするチェック実行部と、
    ユーザーインタフェースを通して入力データを受け付けるユーザーインタフェース制御部と、
    前記サーバー装置側に送信するためのリクエストに含まれる前記入力データの入力チェックを前記チェック実行部に依頼するとともに、チェック結果が合格であれば前記リクエストを前記サーバー装置に送信するリクエスト送信部と、
    所定のトリガーに基づいて、前記ルール記憶部を更新するためのルールを前記サーバー装置に要求するとともに、前記要求への応答として前記サーバー装置から送られるルールを用いて前記ルール記憶部を更新するルール更新部と、
    を備えるクライアント装置。
  6. 入力チェックに関するルールを記憶するルール記憶部と、
    前記ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックするチェック実行部と、
    クライアント装置から送信されるリクエストを受信するとともに、前記リクエストに含まれる前記入力データの入力チェックを前記チェック実行部に依頼するリクエスト受信部と、
    前記クライアント装置からルールの要求を受けると、第2ルール記憶部から読み出したルールに基づいてクライアント用のルールを生成し、生成したルールを要求元のクライアント装置に送信するクライアント用ルール生成部と、
    を備えるサーバー装置。
  7. コンピューターを、
    入力チェックに関するルールを記憶するルール記憶部、
    前記ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックするチェック実行部、
    ユーザーインタフェースを通して入力データを受け付けるユーザーインタフェース制御部、
    前記サーバー装置側に送信するためのリクエストに含まれる前記入力データの入力チェックを前記チェック実行部に依頼するとともに、チェック結果が合格であれば前記リクエストを前記サーバー装置に送信するリクエスト送信部、
    所定のトリガーに基づいて、前記ルール記憶部を更新するためのルールを前記サーバー装置に要求するとともに、前記要求への応答として前記サーバー装置から送られるルールを用いて前記ルール記憶部を更新するルール更新部、
    として機能させるためのプログラム。
  8. コンピューターを、
    入力チェックに関するルールを記憶するルール記憶部、
    前記ルール記憶部に記憶されている前記ルールに基づいて入力データをチェックするチェック実行部、
    クライアント装置から送信されるリクエストを受信するとともに、前記リクエストに含まれる前記入力データの入力チェックを前記チェック実行部に依頼するリクエスト受信部、
    前記クライアント装置からルールの要求を受けると、第2ルール記憶部から読み出したルールに基づいてクライアント用のルールを生成し、生成したルールを要求元のクライアント装置に送信するクライアント用ルール生成部、
    として機能させるためのプログラム。
JP2016173813A 2016-09-06 2016-09-06 システム Active JP6629157B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016173813A JP6629157B2 (ja) 2016-09-06 2016-09-06 システム
US15/694,291 US10885016B2 (en) 2016-09-06 2017-09-01 System, client device, server device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016173813A JP6629157B2 (ja) 2016-09-06 2016-09-06 システム

Publications (2)

Publication Number Publication Date
JP2018041213A true JP2018041213A (ja) 2018-03-15
JP6629157B2 JP6629157B2 (ja) 2020-01-15

Family

ID=61281642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016173813A Active JP6629157B2 (ja) 2016-09-06 2016-09-06 システム

Country Status (2)

Country Link
US (1) US10885016B2 (ja)
JP (1) JP6629157B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7198321B1 (ja) 2021-08-20 2022-12-28 株式会社オービック サーバ装置、リクエスト検証方法及びリクエスト検証プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647509B (zh) * 2018-06-26 2024-05-14 北京亿阳信通科技有限公司 一种集客数据的快速核查共享方法及装置
CN112437000A (zh) * 2020-11-16 2021-03-02 平安信托有限责任公司 消息队列推送方法、装置、计算机设备及存储介质
CN112817953A (zh) * 2021-01-22 2021-05-18 深圳依时货拉拉科技有限公司 一种数据校验的方法、装置、计算机设备及计算机可读存储介质
US11916971B2 (en) * 2022-02-01 2024-02-27 Capital One Services, Llc Updating security rule sets using repository switching

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281254A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 入力情報処理方法および入力情報処理プログラム
WO2008129915A1 (ja) * 2007-04-18 2008-10-30 Hitachi Software Engineering Co., Ltd. 電子メールのフィルタリング手段を備えた機器
JP2010113478A (ja) * 2008-11-05 2010-05-20 Toshiba Corp 情報処理システムに用いるクライアント装置、サーバ装置及びフレームワークプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7848948B2 (en) 1996-10-25 2010-12-07 Ipf, Inc. Internet-based product brand marketing communication network configured to allow members of a product brand management team to communicate directly with consumers browsing HTML-encoded pages at an electronic commerce (EC) enabled web-site along the fabric of the world wide web (WWW), using programable multi-mode virtual kiosks (MMVKS) driven by server-side components and managed by product brand management team members
JPH10207699A (ja) 1997-01-21 1998-08-07 Hitachi Ltd 表示画面上のデータ項目処理方法
US6070184A (en) 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
JP3931941B2 (ja) 1999-01-26 2007-06-20 富士ゼロックス株式会社 ワークプロセス管理装置及びワークプロセス管理方法
US7175079B1 (en) 1999-05-25 2007-02-13 Silverbrook Research Pty Ltd Method and system for online purchasing
JP2001005651A (ja) 1999-06-21 2001-01-12 Institute Of Computer Based Software Methodology & Technology ソフトウェアの決定方法、ソフトウェアの使用方法、記録媒体、処理装置、ソフトウェアの保守方法、ソフトウェアの移植方法、ソフトウェアの管理方法、処理経路図の作成方法、パレット関数の作成方法、パレットの領域の決定方法、パレット連鎖関数の作成方法、位相要素の作成方法、論理要素の作成方法、作用要素の作成方法、ソフトウェアの実装方法、ソフトウェア開発方法、データ構造の置換方法、データ値の置換方法、従来型プログラムの分析方法、ソフトウェア開発管理方法、ソフトウェアの運用管理方法、並列コンピュータ及び判断補助装置
JP4173650B2 (ja) 2001-04-20 2008-10-29 株式会社ワイズスタッフ メールマガジン配信装置
DE60218926T2 (de) 2001-05-08 2007-12-13 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und System für Zweiwegkommunikation und Informationsverarbeitungsapparat
JP4562974B2 (ja) 2001-05-08 2010-10-13 パナソニック株式会社 双方向通信方法、双方向通信システム及び、情報処理装置
US8589861B2 (en) 2002-11-06 2013-11-19 Code Valley Corp Pty Ltd Code generation
CA2503629C (en) 2002-11-06 2014-07-08 Code Valley Pty Limited Code generation
EP2562664B1 (en) 2007-06-27 2020-11-25 Roche Diabetes Care GmbH System for determining an insulin delivery and communicating a dose in automated pancreas software
JP2009070189A (ja) 2007-09-13 2009-04-02 Access Co Ltd 入力支援サーバ、入力支援システムおよび入力支援プログラム
JP2009181320A (ja) 2008-01-30 2009-08-13 Toshiba Corp 情報処理システム、サーバ装置、クライアント装置および情報処理プログラム
JP5357443B2 (ja) 2008-04-10 2013-12-04 キヤノンソフトウェア株式会社 ワークフローサーバ、ワークフローシステム、ワークフローシステムにおいて外部データへアクセスする方法及びそのプログラム、並びにそのプログラムを記録した記録媒体
JP5200807B2 (ja) 2008-09-19 2013-06-05 富士通株式会社 モバイル端末、データ管理システム及びプログラム
JP5023038B2 (ja) 2008-10-28 2012-09-12 株式会社東芝 プログラム生成用プログラム及びプログラム生成装置
JP2010141416A (ja) * 2008-12-09 2010-06-24 Nakayo Telecommun Inc 伝言メール送信機能を有する電話装置
JP5294885B2 (ja) 2009-01-07 2013-09-18 株式会社日立製作所 サービス中継装置、サービス中継方法、この方法を実行するためのプログラム
JP4643718B2 (ja) 2009-02-06 2011-03-02 株式会社東芝 セキュリティ強化プログラム及びセキュリティ強化装置
JP5233919B2 (ja) 2009-08-31 2013-07-10 富士通株式会社 図書館の管理方法および図書館の管理装置
JP5233917B2 (ja) 2009-08-31 2013-07-10 富士通株式会社 図書館管理方法および図書館管理装置
WO2012021507A2 (en) 2010-08-09 2012-02-16 Nike International Ltd. Monitoring fitness using a mobile device
US9532734B2 (en) 2010-08-09 2017-01-03 Nike, Inc. Monitoring fitness using a mobile device
CA2821741C (en) 2010-12-16 2016-05-24 Nike International Ltd. Methods and systems for encouraging athletic activity
US20130254699A1 (en) 2012-03-21 2013-09-26 Intertrust Technologies Corporation Systems and methods for managing documents and other electronic content
KR101916837B1 (ko) 2012-04-26 2019-01-24 아마데우스 에스.에이.에스. 일괄 지향 연산을 사용하는 데이터베이스 시스템
TWI571754B (zh) * 2015-02-02 2017-02-21 群暉科技股份有限公司 用來進行檔案同步控制之方法與裝置
US11972367B2 (en) * 2017-07-11 2024-04-30 Sap Se Pattern recognition to detect erroneous data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281254A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 入力情報処理方法および入力情報処理プログラム
WO2008129915A1 (ja) * 2007-04-18 2008-10-30 Hitachi Software Engineering Co., Ltd. 電子メールのフィルタリング手段を備えた機器
JP2010113478A (ja) * 2008-11-05 2010-05-20 Toshiba Corp 情報処理システムに用いるクライアント装置、サーバ装置及びフレームワークプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7198321B1 (ja) 2021-08-20 2022-12-28 株式会社オービック サーバ装置、リクエスト検証方法及びリクエスト検証プログラム
JP2023029080A (ja) * 2021-08-20 2023-03-03 株式会社オービック サーバ装置、リクエスト検証方法及びリクエスト検証プログラム

Also Published As

Publication number Publication date
US20180067983A1 (en) 2018-03-08
JP6629157B2 (ja) 2020-01-15
US10885016B2 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
JP6629157B2 (ja) システム
US9798522B2 (en) Generating command line interface using application programming interface specification
CN106796526B (zh) Json样式表语言变换
US11729053B1 (en) Dynamic application configuration techniques
KR102546577B1 (ko) 미니 프로그램 데이터 처리 방법 및 장치
US20210294911A1 (en) Method for providing applet service capability, electronic device, and storage medium
EP3813326B1 (en) Method and apparatus for processing webpage, device, and storage medium
CN108076125A (zh) 接口配置方法及系统
CN111143383B (zh) 一种数据更新方法、装置、电子设备及存储介质
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
JP2018112875A (ja) ナレッジ管理装置、ナレッジ管理方法およびコンピュータプログラム
US11403093B1 (en) Application modification with proxy service process
KR101762861B1 (ko) 하나 이상의 기능 모듈을 이용한 확장형 연산 처리 시스템, 하나 이상의 기능 모듈을 이용한 정보 처리 방법 및 이를 위한 컴퓨터 프로그램
US10423711B2 (en) Generating style sheets during runtime
US20180077259A1 (en) Unified data rendering for multiple upstream services
JP6372947B1 (ja) チャットシステム、チャット方法、およびプログラム
JP2015046818A (ja) アプリケーションシステム、携帯端末、サーバコンピュータおよびコンピュータプログラム
CN113094139A (zh) Ui样式更新方法和装置
US20240004741A1 (en) Edge cloud caching using real-time customer journey insights
JP6957396B2 (ja) 管理装置、サーバ装置、ログ管理方法、管理プログラムおよびサーバプログラム
JP4701651B2 (ja) プログラム、サーバ装置、及び制御方法
CN108268661A (zh) 一种自定义单据流程的自动预警的方法
US20230376628A1 (en) Privacy Manager for Connected TV and Over-the-Top Applications
JP2019191931A (ja) 情報処理システム、入力値検証支援プログラム、および入力値検証プログラム
KR102218355B1 (ko) 입력되는 글자에 따른 폰트 관리 수행 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191001

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: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191204

R150 Certificate of patent or registration of utility model

Ref document number: 6629157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150