Pergunta

Estou prestes a embarcar em um novo projeto no qual exigimos a capacidade de reutilizar as validações com base em (de preferência XML) no cliente e no servidor.

Configuraríamos um serviço para fornecer os dados de configuração de validação XML para o lado do cliente.

O seguinte não deve ser inflamatório de forma alguma.

A biblioteca corporativa tem suporte para a validação de objetos a serem configurados no XML, mas os desenvolvedores Java não teriam acesso a uma versão do leitor Java dessa interpretação XML.

Há também a validação do Spring.NET, mas, novamente, acho que isso pode estar muito ligado ao .NET. O pacote de validação spring.net é reto porte -se da estrutura de mola Java, ou seja, sem alterações na configuração XML?

Existe alguma outra estrutura para validação que possa ser usada em .NET e Java?

O projeto será totalmente SOA e a validação é uma das últimas coisas que tenho que descobrir.

EDITAR:

Para esclarecer que a validação precisa ocorrer dentro do idioma que o cliente receptor está usando, ou seja, se o cliente do serviço da web for Java, a validação será lida no Java e validada em Java para que as condições de erro pudessem ser relatadas à interface do usuário para a UI para o usuário para corrigir. Da mesma forma, se fosse um cliente .NET, o cliente .NET seria capaz de lê -lo e fornecer a mesma funcionalidade.

Eu não quero validar no XML, o XML será um conjunto de regras, ou seja, cliente.

Obrigado Pete

Foi útil?

Solução

Dê uma olhada nas babadas. Existem versões .NET e Java do mecanismo de regras.Link java e .NET Link

Não uso as bibliotecas, portanto, não posso comentar como "perfeitamente" o único conjunto de regras pode ser usado em ambos os ambientes.

Outras dicas

Que tal tentar a validação em um idioma de script que pode ser executado na JVM e pelo .NET.

As linguagens de script seriam ideais para esse tipo de lógica, então talvez:

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

ou perl.

Essa abordagem permitiria o uso exatamente o mesmo código para validação e depois chamaria isso de Java ou .NET.

O uso de Jruby não seria uma sobrecarga de desempenho e pode se integrar muito de perto com o Java. Tenho menos experiência com a IronRuby, mas pelo que li depois que o código for carregado e está executando o desempenho está ok e pode ser integrado bem ao código .NET - consulte: http://www.ironruby.net/documentation/.net/hosting

Para não tirar da minha resposta, mas independentemente de como você faz isso, isso envolverá a introdução de uma nova tecnologia com todas as despesas gerais associadas - ambiente de desenvolvimento etc. Uma abordagem melhor pode ser apenas para fazê -lo no .NET e Java separadamente, mas mantêm um muito extenso conjunto de exemplos de testes para garantir que duas validações permaneçam sincronizadas.

Não tenho certeza de que tipo de validação você está tentando realizar. Se seus objetos de negócios serão serializados em formato XML, além da validação do esquema, você poderá aumentar isso com regras de negócios e cheques adicionais usando Schematron.

O esquema é um padrão ISO e fornece uma maneira de codificar regras de negócios, restrições e validação que não são possíveis no esquema XML.

O esquema difere no conceito básico de outros idiomas de esquema, pois não baseado em gramáticas, mas em encontrar padrões de árvores no documento analisado. Essa abordagem permite que muitos tipos de estruturas sejam representados, inconvenientes e difíceis nos idiomas de esquema baseados em gramática. Se você conhece o XPath ou a linguagem de expressão XSLT, pode começar a usar o esquema imediatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top