1

私は、クライアントとサーバーの両方で (できれば XML) に基づく検証を再利用する機能を必要とする新しいプロジェクトに着手しようとしています。

XML 検証構成データをクライアント側に提供するサービスをセットアップします。

以下は、決して扇動的であることを意味するものではありません。

Enterprise ライブラリは、XML で構成するオブジェクトの検証をサポートしていますが、Java 開発者は、この XML 解釈の Java リーダー バージョンにアクセスできません。

Spring.Net の検証もありますが、これも .net に縛られすぎている可能性があると思います。Spring.Net 検証スイートは、xml 構成を変更せずに、Java Spring フレームワークから直接移植されていますか?

.Net と Java の両方で使用できる検証用のフレームワークは他にありますか?

プロジェクトは完全に SOA であり、検証は私が把握しなければならない最後の作業の 1 つです。

編集:

受信クライアントが使用している言語内で検証を行う必要があることを明確にするために、つまり、Web サービスへのクライアントが Java の場合、検証は Java に読み込まれ、Java 内で検証されるため、エラー状態が UI に報告されます。ユーザーが修正します。同様に、それが .net クライアントの場合、.net クライアントはそれを読み取り、同じ機能を提供できます。

xml 内で検証したくありません。xml は一連のルールになります。つまり、Customer.Name は最大 50 文字で、少なくとも 5 文字である必要があり、必須フィールドです。

ありがとうピート

4

3 に答える 3

3

DROOLSをご覧ください。ルール エンジンには .Net バージョンと Java バージョンがあります。 Java リンク.Net リンク

私はライブラリを使用したことがないので、1 つのルール セットを両方の環境でどのように「シームレスに」使用できるかについてコメントすることはできません。

于 2009-09-18T05:03:03.597 に答える
3

jvm と .net の両方で実行できるスクリプト言語で検証を試してみませんか。

スクリプト言語は、この種のロジックに最適なので、おそらく次のようになります。

Ruby - http://www.ironruby.net/およびhttp://www.jruby.org/

またはパール。

このアプローチでは、検証のためにまったく同じコードを使用し、Java または .net からこれを呼び出すことができます。

jruby を使用しても、パフォーマンスのオーバーヘッドはそれほど大きくなく、Java と非常に密接に統合できます。私は Ironruby の経験はあまりありませんが、コードがロードされて実行されると、パフォーマンスは問題なく、.net コードにうまく統合できます - http://www.ironruby.netを参照してください。 /Documentation/.NET/ホスティング

私の答えから離れることはありませんが、これを行う方法に関係なく、関連するすべてのオーバーヘッド(開発環境など)を備えた新しいテクノロジーを導入する必要があります。より良いアプローチは、.net と Java で別々に行うことですが、非常に2 つの検証が同期していることを確認するためのサンプルの広範なテスト スイート。

于 2009-09-13T20:32:03.130 に答える
0

あなたが達成しようとしている検証の種類がわからない。ビジネス オブジェクトを XML 形式でシリアル化する場合は、スキーマの検証とは別に、追加のビジネス ルールとSchematronを使用したチェックでそれを強化できます。

Schematron は ISO 標準であり、XML スキーマでは不可能なビジネス ルール、制限、および検証をエンコードする方法を提供します。

Schematron は、文法に基づくのではなく、解析されたドキュメント内のツリー パターンを見つけることに基づくという点で、他のスキーマ言語とは基本的な概念が異なります。このアプローチにより、文法ベースのスキーマ言語では不便で難しい多くの種類の構造を表現できます。XPath または XSLT 式言語を知っている場合は、Schematron をすぐに使い始めることができます。

于 2009-09-09T16:17:15.893 に答える