La risposta a questo è come sempre "dipende ..." lasciami spiegare cosa intendo.
Chiamare un altro servizio in una SOA è ovviamente una cosa totalmente accettabile, è al centro di SOA essere in grado di comporre nuove cose dai servizi esistenti.
La parte più importante è il modo in cui si chiamano i servizi, si consideri un sistema SOA in cui più servizi collaborano in una chiamata alla catena chiamano ciascuno l'altro nell'ambito della transazione. Fare questo genere di cose senza un'attenta pianificazione avrà un impatto enorme sulle prestazioni del tuo sistema. La stessa catena di chiamate progettata utilizzando servizi partizionati ottimali con ambito nell'unità di lavoro corretta subisce meno.
Considerare la robustezza del sistema, in un'architettura tipica, un servizio tende a diventare più popolare di altri e finisce con l'avere molti altri servizi che lo chiamano. Un fallimento di questo servizio abbatte l'intero sistema a causa del fatto che tutti gli altri servizi dipendono dalla chiamata a questo servizio.
Considerare la differenza tra chiamate sincrone e asincrone, quando si utilizza cosa? Questo è l'impatto di ciascuno?
Come progettare e partizionare i servizi per limitare i costi di attraversamento del limite del servizio per ogni chiamata?
Un sacco di domande, ma se guardate in giro ci sono molti posti in cui trovare le risposte, suggerisco di iniziare con queste.
Ti suggerisco di leggere gli articoli di Thomas Erl e Roger Sessions, questo ti darà una solida idea su cosa sia la SOA.
Building a SOA
SOA Design Pattern
Achieving integrity in a SOA
Why your SOA should be like a VW Beetle
SOA explained for your boss
WCF Service Performance
voi non pensate che, considerando l'architettura dovrebbe essere tagliata verticalmente in modo appropriato, che ciò creerebbe un'architettura spaghetti? – iwayneo
Penso che se gestisci le seghe in verticale attraverso i tuoi server, avrai altri problemi da affrontare. Penso anche che la pasta farà male agli interni. Hai esempi concreti di quali problemi potresti pensare? – Mark
un problema che ho è che per esempio se sul mio sito web, chiamo un servizio wcf, che chiama un servizio wcf, che potenzialmente potrebbe chiamare un servizio wcf ... ecc. Ecc. – iwayneo