Due sistemi comunicano tramite messaggi XML su una coda di messaggi e qualsiasi messaggio ricevuto deve essere convalidato per struttura, contenuto e logica aziendale prima di essere elaborato.
Uno schema XML offre convalida su struttura e contenuto con restrizione del tipo di dati, campi obbligatori, strutture di scelta e simili.
Ma ovviamente questo mi porta solo a metà strada. In un sistema al quale sto lavorando attualmente, eseguiamo la restante convalida deserializzando il messaggio in una struttura di oggetto e convalidando il contesto con una libreria di codici dedicata.
Il problema è che prima di tutto la convalida è in due posti diversi e si sovrappone un po 'poichè alcune validazioni possono essere fatte in entrambi i modi, e in secondo luogo mantenere il codice di validazione può diventare noioso.
C'è un modo migliore per farlo, qualsiasi procedura o strumento migliore là fuori?