Finora ho usato oggetti Java fatti a mano o generati (ad es. JAXB) come "gestori" per i messaggi nel software di elaborazione dei messaggi come i convertitori di protocollo. Ciò porta spesso a una noiosa programmazione, come copiare / convertire i dati dall'oggetto messaggio di un sistema a un'istanza dell'oggetto messaggio di sistema di un altro. E sicuramente porta un sacco di codice Java con getter e setter per ogni attributo di messaggio, codice di validazione, ecc.
Mi chiedevo se sarebbe una buona idea convertire il messaggio XML di un sistema in un altro formato di sistema - o persino convertire richieste in risposte dallo stesso sistema - usando XSLT. Ciò significherebbe che non avrei più bisogno di unmarshall XML stream per oggetti Java, copiare / convertire dati usando Java e marshallare l'oggetto messaggio risultante in un altro flusso XML.
Poiché ogni messaggio potrebbe effettivamente avere uno scopo, collegheremo il messaggio (e il carico utile che contiene nelle sue proprietà o elementi / attributi XML) alle funzioni EXSLT. Ciò cambierebbe il mio approccio al design da uno stile imperativo a uno dichiarativo.
Qualcuno l'ha già fatto prima e, in tal caso, quali sono le tue esperienze? La quantità ridotta di codice Java 'boiler plate' pesa sulla maggiore complessità di (E) XSLT?