Question

Je suis sur le point de se lancer dans un nouveau projet dans lequel nous avons besoin de la capacité de réutiliser en fonction de validation (de préférence) XML sur le client et le serveur.

Nous aimerions mettre en place un service pour fournir les données de configuration de validation XML du côté client.

Ce qui suit est pas censé être inflammatoire de quelque façon.

La bibliothèque de l'entreprise ne dispose support pour la validation des objets à configurer en XML, mais les développeurs Java ne serait pas avoir accès à une version du lecteur java de cette interprétation XML.

Il y a aussi la validation Spring.Net mais encore une fois je pense que cela peut être lié trop .net. Est-ce la suite de la validation Spring.Net droite au-dessus de portage du framework Spring java dire sans modifier la configuration XML?

Y at-il d'autres cadres de validation qui peuvent être utilisés à la fois .Net et Java?

Le projet sera entièrement SOA et la validation est l'une des dernières choses que je dois comprendre.

EDIT:

Pour clarifier la validation doit avoir lieu dans la langue que le client destinataire utilise, par exemple, si le client au service Web est Java alors la validation sera lu en java et validé dans Java afin que les conditions d'erreur peuvent être signalés à l'interface utilisateur pour l'utilisateur de corriger. De même, si elle était un client .net le client .net serait capable de le lire et de fournir les mêmes fonctionnalités.

Je ne veux pas valider dans le xml, xml sera un ensemble de règles, à savoir Customer.Name sera un 50 caractères au maximum long et doit être d'au moins 5 caractères, et est un champ obligatoire.

Merci Pete

Était-ce utile?

La solution

Jetez un oeil à DROOLS. Il existe des versions .Net et Java du moteur de règles. Java Lien et . net Link

Je n'ai pas utilisateur les bibliothèques, donc je ne peux sur la façon « transparente » l'un ensemble de règles pourrait être utilisé dans les deux environnements.

Autres conseils

Que diriez-vous d'essayer la validation dans un langage de script qui peut être exécuté à la fois la machine virtuelle Java et .Net.

Les langages de script serait idéal pour ce genre de logique alors peut-être:

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

ou Perl.

Cette approche permettrait d'utiliser le même code pour la validation puis appeler cela de Java ou .net.

L'utilisation JRuby ne serait pas beaucoup de frais généraux de performance et il peut intégrer très étroitement avec java. J'ai moins d'expérience avec IronRuby, mais de ce que j'ai lu une fois que le code a été chargé et est en cours d'exécution la performance est ok et il peut être intégré bien dans le code .net - voir: http://www.ironruby.net/Documentation/.NET/Hosting

Ne pas prendre loin de ma réponse, mais quelle que soit la façon dont vous faites cela, il impliquera l'introduction d'une nouvelle technologie avec tous les frais généraux associés - environnement de développement, etc. Une meilleure approche peut être juste de le faire en .net et java mais séparement maintenir une suite de tests très vaste d'exemples pour faire en sorte que deux validations restent synchronisés.

Je ne sais pas quel genre de validation de votre essayez d'accomplir. Si vos objets d'affaires vont être sérialisé sous forme XML, puis en dehors de la validation de schéma, vous pouvez augmenter que les règles d'affaires supplémentaires et des contrôles en utilisant Schematron .

Schematron est une norme ISO et offre un moyen de codage de règles métier, les restrictions et la validation qui est impossible dans le schéma XML.

  

Le Schematron diffère de base   notion d'autres langages de schéma en   qu'elle ne repose pas sur mais grammaires   trouver des modèles d'arbres dans le analysable   document. Cette approche permet à beaucoup   types de structures à représenter   qui ne sont pas pratiques et difficiles   dans les langages de schéma basées sur la grammaire. Si   vous connaissez XPath ou l'expression XSLT   langue, vous pouvez commencer à utiliser les   Schematron immédiatement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top