Álvaro Navarro Barquero. Alejandro Rodríguez Jiménez.
Es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos de negocio. Permite la creación de sistemas de información altamente escalables.
Mejora en tiempos de realización de cambios en procesos. Facilidad para evolucionar a modelos de negocios basados en tercerización. Permite reemplazo de elementos sin alterar el proceso de negocio. Facilidad la integración de tecnologías similares.
Manejo de gran cantidad de mensajes y datos entre aplicaciones. Falta de testing (no hay herramientas sofisticadas que lo permitan) Seguridad de aplicaciones (se ve comprometida cuando diferentes aplicaciones se conectan entre sí).
A diferencia de arquitecturas orientadas a objetos, SOA está formado por una serie de servicios de aplicación débilmente acoplados y altamente interoperables.
La metodología se conoce como análisis y diseño. Es un marco de trabajo para desarrollo software como para implementación. Tiene estándares web relacionados como XML, HTTP, SOAP, REST, etc.