Repasos: la definición de Service Oriented Architecture (SOA)

3 Jul 2005 en Aplicaciones

Si bien encontramos a SOA en casi todo aquel material relacionado con Web services. Si bien estos términos están emparentados en su ambiente de ejecución, no son sinónimos. Web services se compone de un conjunto de tecnologías entre las que está SOAP, junto con XML, por ejemplo. SOA es más que un conjunto de tecnologías y funciona en forma independiente de una plataforma o tecnología específica.
La arquitectura con orientación a servicios o SOA es una arquitectura de aplicaciones en la que todas las funciones o servicios se definen utilizando un lenguaje de descripción y que cuenta con interfaces capaces de ser invocadas. Dichas interfaces son invocadas o llamadas para realizar procesos de negocio. Cada interacción es independiente de la otra y de los protocolos de interconexión de los dispositivos de comunicación (Por ejemplo, los componentes de la infraestructura que determinan el sistema de comunicación no afectan a las interfaces). Dado que las interfaces son independientes respecto a la plataforma, un cliente de cualquier dispositivo que utilice cualquier sistema operativo en cualquier lenguaje, puede usar el servicio.
En base a lo anterior, cabe explicar qué es un servicio dentro de la arquitectura SOA: dentro de SOA, un servicio es una pieza de funcionalidad expuesta que se caracteriza por presentar tres propiedades:
– El contrato entre la interfaz y un servicio es independiente respecto de la plataforma.
– El servicio puede ser ubicado e invocado dinámicamente.
– El servicio es auto-contenido. Esto equivale a decir que el servicio siempre mantiene su propio estado.
Web Services y Service Oriented Architecture reducen la complejidad mediante el encapsulado y minimización de los requerimientos de comprensión recíproca utilizando una definición clara. Los Web services también permiten o facilitan la integración just-in-time e interoperabilidad de las aplicaciones heredadas o legacy (Por qué no llamarlas aplicaciones existentes…) Basándose en estándares abiertos y permeables, Web services parecen estar destinados al éxito. Esto se debe principalmente a que están creados sobre la infraestructura existente y ya ubicua basada en HTTP y XML.