SOA o Servicio Orientado a Arquitectura, es una tecnología que hace posible enlazar a una variedad de recursos en una red para ser usados cuando se necesiten. El uso de SOA es algunas veces más flexible en como los recursos son usados de forma simultánea comparado a otros diseños de arquitectura. Puede ser especialmente de ayuda cuando hay un gran número de usuarios conectados al sistema, en particular si hay usuarios remotos que tiene que tener acceso a aplicaciones específicas que residen en la red.
La idea del sistema SOA no llegó con los sistemas de ordenadores. Al ser un tema de diseño donde interactúan varios recursos independientes según la demanda, el modelo básico fue usado durante décadas para definir estructuras en todo tipo de negocios.
Este modelo puede ser aplicado a las conexiones que existen entre departamentos que funcionan de forma independiente entre ellos, o incluso funciones separadas que tienen lugar dentro de un departamento. En todos los casos, la estructura establecida hace posible obtener datos de cualquier número de fuetes independientes cuando es necesitado. Con aplicaciones de software, la tecnología SOA marca la manera de hacer trabajar los componentes de varios programas en una manera fácil y sencilla.
La flexibilidad que da el sistema ayuda es ideal en sitios donde hay que hacer actualizaciones continuas o extender la red para dar más funcionalidades a los usuarios.
Como ejemplo, este servicio orientado a arquitectura trabaja bastante bien en sistemas diseñados para ser usados en la industria sanitaria, haciendo posibles adaptar sistemas para manejar nuevas tareas y funciones con bastante facilidad. Mientras que SOA puede ser rápido, eficiente y fácil de poner en marcha en un amplio rango de componentes de software, el control de la flexibilidad de la estructura es su mayor ventaja.
Esto da a los administradores hacer el sistema escalable y prepararlo según cada una de las necesidades. Se pueden implementar nuevas medidas de seguridad, tipos de acceso individuales a la red, etc. Dicho de otra manera, se puede configurar de una forma muy personalizada para cada situación.
Poner en marcha SOA no necesariamente significa que toda la red y los módulos que hay en marcha tengan que cambiar. Hay un número de herramientas que fácilmente pueden añadirse a redes ya instaladas sin cambiar elementos y funcionalidades que existen. Lo que hará SOA es permitir programas que antes no eran soportados, y hacerlos funcionar con otros sistemas haciéndolos compatibles. Esto es sobre todo útil en bases de datos que tienen que interactuar con ciertas aplicaciones de software que no eran compatibles.