22

JavaScript にルール エンジンはありますか?

質問はこの文脈にあります:

  • ユーザーが入力するフォームを持つ Web アプリケーションを考えてみましょう。
  • ユーザーが各フィールドに入力して次のフィールドに進むと、JavaScript で記述されたビジネス ロジックが、ページのさらに下にあるフォーム要素の可視性 (およびその他の属性) を制御します。
  • フォームが送信された後、同じビジネス ロジックがサーバー側にも適用されますが、ブラウザ側での事故や操作を防ぐために Java で行われます。

  • さて、Java と JavaScript の両方でルールを実行する JSR 94/Drools/JRules のようなルール エンジンがあればいいと思いませんか? このようなルール エンジンを使用すると、ルールをハード コーディングする必要がなくなり、サーバー側だけでなくクライアント側の検証も柔軟に行うことができます。

(PS: AJAX ルートを試してみたところ、アプリケーションの応答性が大幅に低下し、手作業でコーディングされた純粋な JavaScript バージョンに慣れているユーザーに販売するのが難しくなっていることがわかりました。)

4

3 に答える 3

7

JSR-94 は Java 仕様なので、ブラウザーとの関係はわかりません。

Google JSON ルールがあります。

http://code.google.com/p/jsonrules/

あなたはAJAXルートを試したと言いました。これは、サーバー上で実行されているルール エンジンと、それにアクセスするための非同期呼び出しを意味するのでしょうか?

于 2011-10-05T12:35:23.253 に答える
1

javascriptはブラウザに存在するため、ユーザーがソースコードを確認し、js検証メカニズムをバイパスするのは非常に簡単です。そのため、通常はサーバー側で実行されます。

面倒ですが、私は通常、JavaScriptとサーバーの両方で検証を実装します。そうすることで、「通常の」ユーザーは迅速に対応し、「ハッカー」はシステムから排除されます。残念ながら、優れたユーザーエクスペリエンスと優れたセキュリティの両方が必要な場合は、これが必要な方法だと思います。

あなたの質問に答えるために、私の知る限り、クライアント側とサーバー側の両方で使用できる共通のライブラリはありません。

PS。JavaScriptはJavaではないことを忘れないでください!:-) http://en.wikipedia.org/wiki/JavaScript#JavaScript_and_Java

于 2011-10-05T13:00:49.297 に答える