La respuesta a esto es tan siempre "depende ..." déjame explicarte lo que quiero decir.
Llamar a otro servicio en una SOA es, por supuesto, una cosa totalmente aceptable, es en el corazón de SOA poder componer cosas nuevas de los servicios existentes.
La parte más importante es cómo llamar a los servicios, considere un sistema SOA donde varios servicios colaboran en una llamada en cadena, cada uno reclutando al otro en el ámbito transaccional. Hacer este tipo de cosas sin una planificación cuidadosa tendrá un impacto masivo en el rendimiento de su sistema. La misma cadena de llamadas diseñada utilizando servicios bien particionados que tienen un alcance en la unidad de trabajo correcta sufre menos.
Considere la robustez del sistema, en una arquitectura típica un servicio tiende a ser más popular que otros y llega a tener muchos otros servicios llamándolo. Una falla de este servicio reduce todo el sistema debido a que todos los otros servicios dependen de la llamada a este servicio.
Considere la diferencia entre llamadas síncronas y asíncronas, ¿cuándo utiliza qué? Ese es el impacto de cada uno?
¿Cómo se diseñan y dividen los servicios para limitar el costo de cruzar el límite del servicio en cada llamada?
Muchas preguntas, pero si miras a tu alrededor hay muchos lugares para encontrar respuestas, sugiero comenzar por estas.
Le sugiero que lea los artículos de Thomas Erl y Roger Sessions, esto le dará una idea clara de lo que SOA se trata.
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
se ¿No crees que, considerando que la arquitectura debería cortarse verticalmente de forma apropiada, crearía una arquitectura de spaghetti? – iwayneo
Creo que si ejecuta sierras verticalmente a través de sus servidores, tendrá otros problemas con los que lidiar. También creo que la pasta será mala para los internos. ¿Tiene ejemplos concretos de los problemas que cree que pueden surgir? – Mark
un problema que tengo es que, por ejemplo, si en mi sitio web, llamo a un servicio wcf, que llama a un servicio wcf, que potencialmente podría llamar a un servicio wcf ... etc. etc. – iwayneo