¿Qué son las arquitecturas orientadas a servicios?

Las arquitecturas orientadas a servicios no son exactamente un concepto nuevo, pero las formas en que se utilizan con mayor frecuencia en estos días aprovechan las nuevas tecnologías. En su forma más básica, las arquitecturas orientadas a servicios describen la estructura de las aplicaciones de software y la interacción con un modelo de negocio. La palabra clave en todo esto es Servicio.

Un Servicio, como se describe en Arquitecturas orientadas a servicios, es una función de software específica que es independiente de cualquier otra función. Por ejemplo, los protocolos de software de un banco necesariamente incluirán una solicitud de Obtener saldo del cliente, mediante la cual, a solicitud del banco o del cliente, se muestra un saldo actual. Obtener saldo de cliente es un servicio. Con el modelo bancario, otros Servicios incluyen Procesar depósito, Procesar retiro, etc.

Al utilizar arquitecturas orientadas a servicios, cada uno de estos servicios se abre paso a través del sistema de software general de forma independiente, al mismo tiempo que utiliza los mismos sistemas de software. Esto suena contrario a la intuición, pero en realidad no lo es. Básicamente, varios Servicios utilizan el mismo sistema para hacer lo mismo con diferentes resultados. Obtener saldo de cliente para John Smith es la misma función que Obtener saldo de cliente para Jane Doe Enterprises, pero los datos involucrados son diferentes. La belleza de las arquitecturas orientadas a servicios es que el software está diseñado para procesar todos los comandos de Obtener saldo del cliente de la misma manera, independientemente de si el cliente es un individuo como John Smith o una empresa como Jane Doe Enterprises.

Una clave del éxito de las arquitecturas orientadas a servicios es que los servicios en sí están débilmente acoplados. Es decir, se adaptan a diferentes circunstancias. Si el comando de servicio Obtener saldo del cliente se convierte repentinamente en Obtener saldo del cliente para todas las cuentas, el software no necesita reinventar la rueda virtual; más bien, el Servicio relacionado puede utilizar los mismos protocolos básicos para lograr los mismos fines por medios ligeramente diferentes.

Una forma en que se presentan las arquitecturas orientadas a servicios en estos días es a través de XML. Este, a falta de un término mejor, el lenguaje de programación genérico se presenta como una especie de lingua franca. Todo lo que necesita es un navegador web para poder procesar solicitudes XML. No es necesario que ejecute la última versión de Windows o Mac OS. El inicio de sesión en el sistema y la realización de los Servicios necesarios se realizan porque la computadora que realiza la solicitud y la computadora que brinda el Servicio hablan el mismo idioma básico.