Aunque desde que empezó la llamada computación orientada a servicios
(SOC) hasta el día de hoy han pasado importante cantidad de años, nos
encontramos con que sobre "su razón de ser" no se habla mucho ni
con claridad. Esto en parte ha ocurrido gracias a los fabricantes, ellos
se han encargado de forma casi sistemática de que no no llegue
claramente el mensaje, orientando este tema hace el uso e implantación
de herramientas.
La situación anterior resulta paradójica si pensamos que precisamente
son los mismos proveedores y su equipo de trabajo los que han formado
parte en la elaboración de la filosofía que hay detrás de la SOC.
Encuentro dos explicaciones para esto, la primera de índole económica,
pues es natural que los proveedores quieran en primera medida vender sus
productos, lo negativo ahí es que si no se conoce a profundidad el
paradigma que hay detrás de los productos sus beneficios de implantación
van a ser reducidos, sumando además que en algunos casos esos
productos, aunque están etiquetados como SOA, no lo son (son productos
EAI en realidad). La segunda explicación esta asociada a un fenómeno
parecido al que ocurrió entre los años 80-90 con la orientación a
objetos, en aquellas épocas se dejo de lado el paradigma para enfocarse
en los lenguajes de programación, lo que trajo como consecuencia la
creación de software diseñado en forma estructurada pero con la sintaxis
de un lenguaje orientado a objetos. Ahora estamos dejando de lado el
paradigma de la orientación a servicios para centrarnos en la
implantación de productos y herramientas, no podemos volver a repetir
estas experiencias negativas y esa es una de mis motivaciones para
escribir este tipo de artículos.
Mi propósito con el presente articulo es discutir los objetivos que
persigue la SOC, intentando contribuir con información en español sobre
lo fundamental y que así aprovechemos mejor las herramientas de
proveedores cuando las usemos.
Objetivos y Beneficios SOA
Quiero aclarar que en el presente articulo y en algunos otros que publicaré voy a usar el termino SOA para describir dos conceptos: un modelo de arquitectura tecnológica y una forma diferente de computación, la diferencia de cuando usar una definición u otra estará siempre en el contexto.
Quiero aclarar que en el presente articulo y en algunos otros que publicaré voy a usar el termino SOA para describir dos conceptos: un modelo de arquitectura tecnológica y una forma diferente de computación, la diferencia de cuando usar una definición u otra estará siempre en el contexto.
Ahora si vamos a ver por que tantas organizaciones y profesionales de las TI se embarcan en el problema de adoptar la computación orientada a servicios con todas las implicaciones que esto conlleva. SOA promete cumplir con 7 objetivos, 3 de los cuales son a su vez beneficios:
- Incrementar la interoperabilidad intrínseca
- Incrementar la federación
- Incrementar las opciones de trabajar con diferentes proveedores
- Incrementar el alineamiento entre negocio y la tecnología
- Incrementar el retorno de la inversión
- Incrementar la agilidad organizacional
- Reducir la carga operativa de TI

Incrementar la interoperabilidad intrínseca.
La interoperabilidad intrínseca se refiere a la capacidad de
intercambiar información de forma natural, esto quiere decir que las
aplicaciones de software de una organización puedan hablar entre ellas
sin tener nada en medio que les permita interactuar. Haciendo una
analogia con las personas, esto se refiere que en una reunión
internacional con muchos participantes de diferentes países, estos se
puedan comunicar entre ellos sin necesidad de usar traductores entre los
diferentes idiomas, sino que a todos se les haya preparado en un idioma
común que les permita interactuar ágilmente.
Incrementar la federación. La federación se refiere al hecho de tener unas reglas de juego comunes que gobiernan las aplicaciones en su conjunto, pero a la vez permitir que estas internamente sean autónomas a la hora de decidir su implentación interna. Haciendo una analogía con los estados, es como funciona un país como los estados unidos, allí se establecen unas leyes que deben cumplir todos los estados, pero estos tienen la potestad de incorporar otras que regulan su funcionamiento interno.
Incrementar las opciones de trabajar con diferentes proveedores. Esto no se refiere a tener un ambiente con una gran diversidad de proveedores y tecnologías, lógicamente un entorno así en si mismo no es positivo incluso puede resultar perjudicial dada la carga que esto conlleva. Realmente a lo que se refiere este objetivo es a poder contar con la opción de trabajar con un proveedor nuevo en lugar del actual para aprovechar las ventajas o innovaciones tecnologías que pueda llegar a tener uno sobre el otro. Si los sistemas de información están desacoplados de alguna forma de la tecnología sobre la que están implementados existe la posibilidad de cambiar de proveedor más fácilmente, así la arquitectura tecnológica de una organización puede evolucionar de una mejor forma aumentando su vida útil. Es por esta razón que los web services han tenido tanta acogida en el mundo SOA, ya que al ser estándares de industria independientes de una tecnología son muy útiles a la hora de alcanzar este objetivo.
Incrementar el alineamiento entre negocio y la tecnología. Esto se refiere al hecho de no dejar que los sistemas de información pierdan la precisión con la que resuelven las necesidades de negocio a medida que pasa el tiempo. Ya que el negocio esta en evolución (producto de nuevos competidores, cambios de ley, etc) los sistemas deben alinearse a los cambios, pero con el esquema tradicional de construcción donde se atacan requerimientos inmediatos y no estratégicos, mantener esta alineación es costoso porque puede implicar cambios grandes y de fondo en los sistemas (o incluso tener que construir nuevos sistemas), este objetivo persigue que esta situación desaparezca. Haciendo una analogía con una fiesta, es como si cada vez que una pieza de baile terminara para comenzar con otra tuviéramos que cambiar de pareja por una que supiera el ritmo nuevo que esta sonando; lo que hacemos realmente es recomponer ciertas partes como lo son el ritmo, algunos movimientos, la forma de colocar los brazos, etc para ajustarnos a la nueva música y seguimos bailando.
Incrementar el retorno de la inversión. Esto se refiere a que el esfuerzo invertido en construir los sistemas se vea recompensado a futuro con el cumplimiento de las necesidades sin grandes inversiones, sino más bien que lo invertido se devuelva en grandes beneficios para el negocio y que cada vez que aparezcan nuevos proyectos requieran menos esfuerzos para realizarlos porque se puede aprovechar lo construido en otros. Si los sistemas han sido construidos pensando en resolver necesidades puntuales e inmediatas va a ser muy difícil que su esfuerzo se pueda reutilizar en otros contextos (proyectos) así estos estén relacionados.
Incrementar la agilidad organizacional. La agilidad organizacional es que tan fácilmente una organización puede responder a los cambios. En las actuales circunstancias donde las empresas dependen en una medida tan grande de los sistemas de información, si la tecnología que con la que cuenta la empresa no se mueve a su mismo ritmo se convierte en un cuello de botella que impide la agilidad. Este objetivo persigue que los sistemas de información se conviertan en habilitadores de negocio facilitando la adaptación de la empresa a los cambios del entorno y/o internos.
Reducir la carga operativa de TI. Esto se refiere a que la tecnología debe ser lo más liviana posible evitando la redundancia de lógica de negocio en múltiples sistemas de información construidos como silos pensando solo en las necesidades inmediatas o en un área específica. En esencia, si se persiguen todos los objetivos anteriores estaremos consiguiendo bajar la carga operativa de las tecnologías de información.
En este articulo no hemos hablado por ninguna parte, en lo absoluto, sobre como lograr estos objetivos, esto hace parte del paradigma que hay detrás de la computación orientada a servicios, lo he hecho intencionalmente para recalcar la separación que hay entre el qué y el cómo, de esta forma visualizamos más claramente que se persigue sin perdernos en los laberintos de los detalles técnicos.
Todos estos objetivos y beneficios cobran real importancia en un entorno (organización) con gran cantidad de funciones de negocio atendidas por una disparidad de aplicaciones, de forma que cuando el negocio evoluciona, al departamento de tecnología le cuesta seguirlo a un ritmo adecuado. Sin embargo, si echamos una mirada rápida a los objetivos y beneficios expuestos, ninguno promete cambios a corto plazo en una organización, sino que por el contrario implican una transformación paulatina de una empresa de forma que a largo plazo permita cambios e innovaciones fáciles y ágiles de implementar.
No hay comentarios:
Publicar un comentario