Conceptos clave de SOA

Portada de "Concepto clave de SOA"

Este escrito es una descripción de los conceptos clave de la Arquitectura Orientada al Servicio (en inglés, Service Oriented Architecture, SOA) en forma de mapa conceptual y que se basa en el Modelo de Referencia SOA de OASIS (OASIS Reference Model for Service Oriented Architecture 1.0).

SOA es tan importante para los sistemas de información actuales que OASIS (la entidad de estándares abiertos) tiene varios estándares al respecto. El Modelo de Referencia SOA de OASIS (OASIS Reference Model for Service Oriented Architecture 1.0) es el tope de la jerarquía de estándares SOA de OASIS, pues define un marco estándar de trabajo […] para desarrollar estándares consistentes [1] en SOA. Mejor dicho, es el estándar de los estándares de SOA. Por ello lo tomé como base para desarrollar el siguiente mapa conceptual:

Conceptos clave de SOA

Conceptos clave del Modelo de referencia SOA de OASIS

Como en todo mapa conceptual no solo se presentan los conceptos claves, sino también las relaciones entre ellos. El mapa comienza con concepto más importante, el de servicio. Un servicio es un mecanismo que posibilita el acceso a una o varias capacidades. Entendiendo capacidad como algo que puede hacer una organización (en la que se incluyen personas, empresas y otras). Por ejemplo, entregar un mapa entre un área delimitada, con una escala y unos datos relevantes (por ejemplo: vías o curvas de nivel). O por ejemplo, los puentes y vías principales que están siendo construidas con la información de costo total, porcentaje de ejecución, fecha proyectada de entrega y otros datos.

Un servicio tiene participantes, los cuales pueden ser proveedores o consumidores. Los proveedores ofrecen un servicio. Por ejemplo, una oficina de planeación de un gobierno puede ofrecer un servicio que de información sobre los proyectos a ejecutar, que puede incluir costo total y cuando se ha ejecutado. Una oficina de estadística podría ofrecer la matriz insumo-producto en la que se reflejan todos los intercambios económicos de una nación. O un banco podría ofrecer el servicio de manejo de cuenta, que con las debidas autenticaciones, podría consultar, debitar o acreditar una cuenta dada.

Por su parte un consumidor usa un servicio. En el ejemplo de la oficina de planeación, una entidad de veeduría ciudadana podría consumir ese servicio, mediante su sistema de información de veeduría, y de esa forma por ejemplo saber si el gobierno está cumpliendo la planeación. En el ejemplo de la oficina de estadística, esta matriz insumo-producto podría ser consumida por un software matricial de un investigador, un economista, para poder hacer simulaciones macroeconómicas. En el ejemplo del banco, que es uno de los que más se usa, se puede usar para hacer intercambios comerciales entre entidades, por ejemplo, pagar por Internet un libro.

Es de anotar que estos servicios son interacciones que se hacen entre máquinas, más exactamente entre software, no entre personas. Por ejemplo, la entidad de veeduría tiene un sistema de información que se comunica mediante SOA y consume los datos. En el caso del investigador, el economista, tiene un software matemático especializado en matrices que se comunica, consume los datos y hace las simulaciones. En el caso de banco, es la tienda de libros que mediante su software de transacciones se comunica con el software del banco y hace el débito a la cuenta, además se comunica con el sistema de información de la compañía transportadora, mediante SOA, para que venga a recoger el libro.

Y lo mejor de todo es que todos estos sistemas de información pueden estar en distintas tecnologías, pero si cumplen los estándares de SOA son capaces de hablar entre si e intercambiar información.

Pero para que todo esto se de, un servicio debe ser visible, y es esta característica la que hace posible emparejar las capacidades de una organización con las necesidades de otra. El servicio de de la oficina de planeación debe ser visible a todos los interesados en la planeación y ejecución de un gobierno, entre esos los ciudadano en su rol de veedores. Al igual la matriz insumo-producto no sólo deber estar disponible para investigadores en macroeconomía. sino a todo el que está interesado en el tema y para ello el servicio debe estar visible.

La visibilidad se define con una descripción del servicio, esta contiene una estructura y una semántica. La estructura define como se debe usar el servicio, mientras que la semántica define cuál es el efecto en el mundo real. En el ejemplo de la entidad de planeación invocar el servicio puede implicar pasar unos parámetros en un orden determinado, por ejemplo decir si se requiere todos los proyectos o solo de algunos y si se necesitan todos los datos o solo  el costo total, En el ejemplo de la  matriz insumo-producto, como esta tiene el intercambio económico entre todos los sectores, el investigador puede querer sólo lo del sector servicios. En el caso del bando se puede escoger debitar, acreditar o solo consultar un número de cuenta determinado.

Un servicio tiene una interacción, que es permitida gracias a la visibilidad. La interacción es la actividad de usar una capacidad. En términos prácticos, mediante un intercambio de mensajes se logra que el servicio tengo algún efecto sobre el mundo real, esta es la capacidad. Por ejemplo, en el caso de la oficina de planeación y de la matriz insumo-producto, el efecto es simplemente una consulta de información. Pero en el caso del banco la interacción puede ser el cambio del saldo en una cuenta.

Este es una primera aproximación al Modelo de Referencia SOA de OASIS, digamos que es un primer nivel, y muy superficial, de este denso documento que es el Modelo de Referencia SOA de OASIS [1], pero sirve como introducción a los conceptos clave de SOA. Tal vez en un futuro aborde una descripción más profunda de este documento que realmente lo merece, así implique mucho tiempo. O tal vez algún lector ya lo ha hecho y pueda compartirnos su escrito en los comentarios. Por ahora les dejo los siguentes artículos sobre SOA que tengo en este blog:

Referencias

  1. Reference Model for Service Oriented Architecture 1.0. 12 October 2006. https://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf
Comments
One Response to “Conceptos clave de SOA”
  1. Ricardo A. dice:

    Tenía la impresión de que SOA ya estaba en desuso. Por allá en el 2009 este artículo fué popular: http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: