Posiblemente entender SOA (Service Oriented Arquitecture) resulta sencillo para muchos ya que es un concepto en que muchos procesos de negocios se definen a través de la integración de servicios proporcionados, por uno o más sistemas y por uno o más organizaciones.
Sin embargo en nuestra región la integración de aplicaciones por medio de SOA es aún un mito ya que como desarrolladores estamos acostumbrados hacer aplicaciones gigantescas que tengan muchos módulos, por lo cual podemos decir que es un conjunto de código en un solo proyecto de implementación. Una forma de en la que podemos ver este tipo de sistemas se muestra en la siguiente figura:

Sin embargo para desarrollar esté tipo de aplicaciones se requiere al menos 4 o 5 desarrolladores que lo implementen, y en muchas ocasiones no existe documentación, un diseño previo y menos una arquitectura, lo que hace que estos sistemas sean en extremo complejos, difíciles de mantener y dependen de las personas que los desarrollan. Por estos motivos a los arquitectos de soluciones y aplicaciones les resulta fundamental evaluar este tipo de situaciones y al ser un problema muy complejo se han buscado muchas maneras como los objetos COM, EJBs, CORBA, etc. hasta que se ha llegado a SOA, que resuelve muchos de los problemas de integración de aplicaciones. Posteriormente se irá describiendo las características de SOA a medida que las vayamos descubriendo y entendiendo.
Una arquitectura en SOA tiene una forma como la siguiente:

Por otro lado hemos hablado de un ambiente federado y es una pregunta un tanto difícil de entender por el momento diremos que federación es la capacidad de poder utilizar servicios de muchas organizaciones, dominios o servidores como si fueran uno.
Si deseas tener una perspectiva general de Identity Management ver está liga: