Il nostro negozio sta tentando di spostarsi verso un'architettura più "distribuita". Non volevo usare il termine "SOA" perché non sono sicuro che sia appropriato nella nostra situazione.
Per ogni nuova funzionalità sviluppata, un nuovo servizio (WCF nel nostro caso) viene creato appositamente per quella funzione. Una funzionalità è definita come nuova funzionalità, che può essere una nuova applicazione o una nuova aggiunta per un software esistente. Con l'aggiunta di altre funzionalità, il numero di servizi da mantenere aumenta. Ciascuno di questi servizi è ospitato in isolamento ed espone il proprio endpoint.
Non ho molta esperienza con architetture distribuite o SOA in generale, ma questo mi sembra sbagliato. C'è un modo migliore di farlo?
Invece di avere servizi separati per ciascuna di queste funzionalità, avrebbe più senso raggruppare e consolidare logicamente alcuni di questi servizi in un unico servizio di grandi dimensioni e fornire un'API "unificata"? O qualcosa di simile potrebbe diventare troppo grande e ingombrante / fragile?