Domanda

che sto per intraprendere un nuovo progetto all'interno del quale si richiede la capacità di riutilizzare convalide base (preferibilmente XML) sia sul client e server.

Ci sarebbe impostare un servizio per fornire i dati di configurazione di convalida XML al lato client.

Quanto segue non intende essere infiammatoria in alcun modo.

La libreria Enterprise non hanno il supporto per la validazione di oggetti da configurare in XML, ma gli sviluppatori Java non avrebbe accesso a una versione lettore di java di questa interpretazione XML.

C'è anche la convalida Spring.Net ma ancora una volta credo che questo possa essere legato troppo da NET. È la suite di convalida Spring.Net dritto portato dall'esercizio Spring Framework Java vale a dire, senza modifiche alla configurazione XML?

C'è qualche altro framework per la validazione, che sono in grado di essere utilizzato sia .Net e Java?

Il progetto sarà interamente SOA e la convalida è una delle ultime cose che devo capire.

EDIT:

Per chiarire la convalida deve avvenire all'interno del linguaggio che il cliente che riceve sta usando, per esempio se il cliente al servizio web è Java allora la convalida sarebbe stato letto in java e validato all'interno di Java in modo che le condizioni di errore potrebbero essere segnalati l'interfaccia utente per l'utente di rettificare. Allo stesso modo, se si trattava di un client .NET il client .NET sarebbe in grado di leggerlo e fornire la stessa funzionalità.

Non voglio per convalidare all'interno del XML, XML sarà un insieme di regole, cioè Customer.Name sarà un massimo lunghezza di 50 caratteri e deve essere di almeno 5 caratteri, ed è un campo obbligatorio.

Grazie Pete

È stato utile?

Soluzione

Date un'occhiata al drools. Ci sono versioni .NET e Java del motore regole. Java link e . Net link

Non ho le librerie utente, quindi non posso commentare come "senza soluzione di continuità" quella serie di regole potrebbe essere utilizzato in entrambi gli ambienti.

Altri suggerimenti

Che ne dite di provare la convalida in un linguaggio di scripting che può essere eseguito sia nella JVM e da NET.

I linguaggi di scripting sarebbe l'ideale per questo tipo di logica così forse:

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

o Perl.

Questo approccio consentirebbe l'uso per lo stesso codice esatto per la convalida e quindi chiamare questo da Java o .net.

Utilizzando JRuby non sarebbe molto più di un sovraccarico di prestazioni e si può integrare a stretto contatto con Java. Ho meno esperienza con IronRuby ma da quello che ho letto una volta che il codice è stato caricato ed è in esecuzione la prestazione è ok e può essere integrato bene nel codice .net - vedi: http://www.ironruby.net/Documentation/.NET/Hosting

Non per togliere dalla mia risposta, ma a prescindere da come si esegue questa operazione che comporterà l'introduzione di una nuova tecnologia con tutte le spese collegate - ambiente dev ecc Un approccio migliore potrebbe essere solo di farlo in .NET e Java separatamente, ma mantenere una molto ampia suite di test di esempi di garantire che due convalide rimangono sincronizzati.

Non so che tipo di convalida vostro stanno cercando di realizzare. Se i vostri oggetti di business stanno per essere serializzato in formato XML, quindi a parte la convalida dello schema, si può aumentare quello con regole di business aggiuntive e controlli utilizzando Schematron .

Schematron è uno standard ISO e fornisce un modo di codifica di business regole, restrizioni e convalida che non è possibile in XML Schema.

  

Lo Schematron differisce in base   concetto da altri linguaggi schema a   che non si basa su grammatiche, ma su   trovando modelli di albero nel analizzato   documento. Questo approccio permette a molti   tipi di strutture di essere rappresentati   che sono scomodo e difficile   in linguaggi schema di grammatica-based. Se   sai XPath o l'espressione XSLT   la lingua, è possibile iniziare a utilizzare il   Schematron immediatamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top