Frage

Ich bin zu begeben Sie sich auf eine neue Projekt, in dem wir erfordern die Fähigkeit zu re-verwenden Sie Validierungen auf Basis (vorzugsweise XML) auf dem client und dem server.

Wir würden setup einen service zu bieten, die XML-Validierung der Konfigurationsdaten an die client-Seite.

Das folgende ist nicht dazu gedacht, werden entzündliche, in keiner Weise.

Die Enterprise-Bibliothek hat die Unterstützung für die Validierung von Objekten konfiguriert werden, die in XML, aber java-Entwickler haben Zugriff auf eine java-reader-version dieses XML-interpretation.

Es ist auch Spring.Net Validierung aber wieder ich denke, das kann sein gebunden zu viel .net.Ist die Spring.Net validation suite direkt über portiert von java-spring-framework, d.h.ohne änderungen an der xml-config?

Gibt es andere frameworks für die Validierung, die in der Lage sind zu verwendet werden in beiden .Net und Java?

Das Projekt wird vollständig von SOA und die Validierung ist eines der letzten Dinge, die ich herausfinden müssen.

EDIT:

Zur Klärung der Validierung muss es innerhalb der Sprache, die der empfangende client, d.h.wenn der client an den web-service in Java, dann die Validierung wäre, Lesen Sie in java und validiert, die in java, so dass Fehlerzustände gemeldet werden können, um die Benutzeroberfläche für den Anwender zu beseitigen.Gleichermaßen wenn es ein .net-client das .net-client in der Lage sein würde, es zu Lesen und bieten die gleiche Funktionalität.

Ich will nicht zu validieren, der innerhalb des xml, die xml ein Regelwerk, alsoKunden.Namen werden maximal 50 chars lang und muss mindestens 5 Zeichen und Feld ist ein Pflichtfeld.

Vielen Dank Pete

War es hilfreich?

Lösung

Haben Sie einen Blick auf SABBERT.Es gibt .Net-und Java-Versionen wird die Regel-engine.Java Link und .Net Link

Ich habe nicht auf die Benutzer der Bibliotheken, so kann nicht kommentieren, wie "nahtlos", die einen Satz von Regeln, die verwendet werden könnten, die in beiden Umgebungen.

Andere Tipps

Wie zu versuchen, die Validierung in einer scripting-Sprache, die ausgeführt werden können in sowohl die jvm und .net.

Scripting-Sprachen, die wäre ideal für diese Art der Logik ist also vielleicht:

Ruby - http://www.ironruby.net/ und http://www.jruby.org/

oder Perl.

Dieser Ansatz würde es erlauben, verwenden Sie die exakt gleichen code für die Validierung und dann rufen Sie diese aus der Java-oder .net.

Mit jruby wäre nicht viel von einem performance-overhead, und es kann integrieren, die sehr eng mit java.Ich habe weniger Erfahrung mit Ironruby aber von dem, was ich gelesen habe, der sobald der code geladen und ausgeführt wird, die Leistung ist ok, und es kann sein integriert sich gut in die .net-code - sehen: http://www.ironruby.net/Documentation/.NET/Hosting

Nicht zu nehmen Sie Weg von meiner Antwort, aber unabhängig davon, wie Sie dies tun, es soll sich um die Einführung einer neuen Technologie mit allen verbundenen Gemeinkosten - dev-Umgebung, usw.Ein besserer Ansatz könnte sein, nur um es in .net und java getrennt, sondern pflegen einen sehr umfangreichen test-suite-Beispiele, um zu gewährleisten, dass zwei Validierungen synchron bleiben.

Nicht sicher sind, welche Art der überprüfung Ihr zu erreichen versucht.Wenn Sie Ihre business-Objekte werden serialisiert in XML-form, abgesehen von der schema-Validierung, können Sie sich vermehren, die mit zusätzlichen business-Regeln und Kontrollen mit Schematron.

Schematron ist ein ISO-standard und bietet eine Möglichkeit der Kodierung von business-Regeln, Einschränkungen und Validierung nicht möglich ist, in XML-Schema.

Der Schematron-unterscheidet sich in grundlegenden Konzept von anderen schema-Sprachen dass es nicht auf Grammatiken aber auf Suche nach Baum-Muster in der analysierten Dokument.Dieser Ansatz ermöglicht es, viele Arten von Strukturen dargestellt werden die sind unbequem und schwer Grammatik-basierte schema-Sprachen.Wenn Sie wissen, XPath-oder XSLT-Ausdruck Sprache, Sie können beginnen zu verwenden Schematron sofort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top