Pregunta

Estoy a punto de embarcarse en un nuevo proyecto en el que se requiere la capacidad de las validaciones de reutilización en base a (preferiblemente XML) tanto en el cliente y el servidor.

Nos gustaría configurar un servicio para proporcionar los datos de configuración de validación XML para el lado del cliente.

Lo siguiente no está destinado a ser inflamatoria de ninguna manera.

La biblioteca Empresa tiene soporte para la validación de los objetos que se han configurado en XML, pero los desarrolladores de Java no tendrían acceso a una versión de Java lector de esta interpretación XML.

También hay Spring.Net validación pero de nuevo creo que esto puede ser atado demasiado para .NET. Es el conjunto de validación Spring.Net portado directamente sobre el marco de la primavera de programación Java es decir, sin cambios en la configuración XML?

¿Hay alguna otra marcos para la validación que son capaces de ser utilizados tanto en .Net y Java?

El proyecto será totalmente SOA y la validación es una de las últimas cosas que tengo que averiguar.

EDIT:

Para aclarar las necesidades de validación que se produzca en el idioma que el cliente receptor está utilizando, es decir, si el cliente al servicio web es Java entonces la validación se lee en java y validada dentro de Java, por lo que las condiciones de error podrían ser reportados a la interfaz de usuario para el usuario para rectificar. Igualmente, si se trataba de un cliente .NET el cliente .NET sería capaz de leerlo y proporcionar la misma funcionalidad.

I no desea validar en el XML, el XML será un conjunto de reglas, es decir Customer.Name será de un máximo de 50 caracteres de largo y debe ser al menos 5 caracteres, y es un campo obligatorio.

Gracias Pete

¿Fue útil?

Solución

Tener un vistazo a BABEANDO. Hay versiones .Net y Java del motor de reglas. Java Enlace y . Net Enlace

No he usuario las bibliotecas, por lo que no puede hacer comentarios sobre la forma "transparente" el conjunto de reglas podría ser utilizado en ambos ambientes.

Otros consejos

¿Qué tal intentar la validación en un lenguaje de script que puede ejecutarse tanto en la JVM y .net.

Los lenguajes de script sería ideal para este tipo de lógica así que tal vez:

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

o Perl.

Este enfoque permitiría el uso de exactamente el mismo código para la validación y luego llamar a esto desde Java o .NET.

El uso de jruby no sería mucho de una sobrecarga de rendimiento y se puede integrar muy estrechamente con java. Tengo menos experiencia con IronRuby pero por lo que he leído una vez que el código ha sido cargado y se está ejecutando el rendimiento es aceptable y puede ser integrado bien en el código .net - ver: http://www.ironruby.net/Documentation/.NET/Hosting

No hay que quitar de mi respuesta, pero independientemente de cómo se hace esto va a implicar la introducción de una nueva tecnología con todos los gastos asociados - entorno de desarrollo, etc. Un mejor enfoque puede ser justo hacerlo en .NET y Java, pero por separado mantener un muy extenso conjunto de pruebas de ejemplos para asegurar que dos validaciones permanecen sincronizados.

No está seguro de qué tipo de validación de su están tratando de lograr. Si los objetos de negocio van a ser serializado en formato XML, a continuación, aparte de validación de esquema, puede aumentar que con las reglas y controles de negocio adicionales usando Schematron .

Schematron es un estándar ISO y proporciona una manera de codificar las reglas de negocio, las restricciones y la validación de que no es posible en el esquema XML.

  

El Schematron difiere en básica   concepto de otros lenguajes de esquema en   que no se basa en las gramáticas, pero en   la búsqueda de patrones de árboles en el analizada   documento. Este enfoque permite a muchos   tipos de estructuras para ser representados   que son un inconveniente y difícil   en lenguajes de esquema basado en la gramática. Si   sabes XPath o la expresión XSLT   idioma, se puede empezar a utilizar el   Schematron inmediatamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top