Mi è stato affidato il compito di riqualificare una soluzione "in house" per renderla espandibile e più facile da mantenere e amministrare.
La soluzione originale era stata sostituita nel tempo usando PHP come più requisiti sono stati aggiunti e la necessità di espandersi è prevista nel prossimo futuro.
La soluzione raccoglie molti file diversi, come documenti di parole e strutture variabili di documenti XML, da diverse "posizioni" e li converte in documenti XML specificamente strutturati che vengono inviati tramite un servizio web. Per aggiungere al mix, alcuni dei file XML originali vengono recuperati dalla stessa "posizione" ma hanno vari livelli di elaborazione richiesti a seconda di dove si trovano prima (identificati da un campo "cliente" nell'XML)
La mia intenzione è di rendere la nuova soluzione il più modulare possibile in modo che l'elaborazione possa essere sospesa a livello di singolo "cliente" o "posizione" senza influenzare nient'altro.
Mentre ho molti enigmi da superare e domande a cui rispondere, la domanda che mi sta tenendo sveglio di notte al momento è "Dove dovrebbe essere eseguita l'elaborazione dell'XML strutturato?" Al momento è fatto per "cliente" ma, come puoi immaginare, porta a un sacco di codice duplicato. Forse è inevitabile, a causa dell'elaborazione specifica del "cliente" richiesta a volte ma la sanità mentale mi dice che ci deve essere un modo migliore.