SOA es un término utilizado por Gartner (proyecto de investigación de tecnología de la información y de firma consultiva con sede en Stamford, Connecticut, USA) en 1996 en los documentos: Service Oriented' Architectures, Part 1 y Service Oriented' Architectures, Part 2
La primera ola de SOA asumía una interación entre los modulos consumidor y proveedor normalmente usando comunicación request/reply
“Service-oriented architecture is an architectural style for business applications that are modular, distributable, shareable and loosely coupled”: “La Arquitectura orientada a servicios es un estilo arquitectónico para aplicaciones de negocios que son modulares, distribuibles, con alto sentido de colaboración y débilmente acopladas” En dicho tratado se hace enfasis en a clave es el servicio: “A service is a consumer's view of a service provider's capabilities “: "Un servicio es la opinión de un consumidor de acerca de la capacidad de un proveedor de servicios”
En las Arquitecturas Orientadas a Servicios, el elemento básico es el servicio. Pero únicamente con este concepto, no se prodría diseñar una arquitectura SOA.
Existen algunos elementos esenciales para la construcción de una Arquitectura Orientada a Servicios:
Operación: Es la unidad de trabajo o procesamiento en una arquitectura SOA.
Servicio: Es un contenedor de lógica. Estará compuesto por un conjunto de operaciones, las cuales las ofrecerá a sus usuarios.
Mensaje: Para poder ejecutar una determinada operación, es necesario un conjunto de datos de entrada. A su vez, una vez ejecutada la operación, esta devolverá un resultado. Los mensajes son los encargados de encapsular esos datos de entrada y de salida.
Proceso de negocio: Son un conjunto de operaciones ejecutadas en una determinada secuencia (intercambiando mensajes entre ellas) con el objetivo de realizar una determinada tarea.
Por lo tanto, una aplicación SOA estará formada por un conjunto de procesos de negocio. A su vez esos procesos de negocio estarán compuestos por aquellos que servicios que proporcionan las operaciones que se necesitan ejecutar para que el proceso de negocio llegue a buen término. Por último para ejecutar esas operaciones es necesario el envío de los datos necesarios mediante los correspondientes mensajes.