Skip to content

¿Que viene después de SOA?

4 agosto, 2010

En la primera entrada de este blog, hace ya algunos meses, incluía un cuadro de Gartner donde se hacía una previsión de las tecnologías emergentes en los próximos años y su grado de impacto. Allí aparecía el Cloud Computing como una Tecnología Transformacional (el mayor grado de impacto que otorgaban en la clasificación) con un horizonte de adopción ‘masiva’ entre 2010 y 2015. Después de estas semanas/meses trabajando en el tema, creo que acertarán bastante con esta predicción.

Junto al Cloud Computing, aparecían otras tecnologías/paradigmas o llámale como te parezca, una de ellas SOA (Service Oriented Architecture). La verdad es que no le hice mucho caso, quizás porque oigo hablar del SOA desde 1994, cuando el entonces CEO de System Software Associates (SSA, no lo busqueis, es una larga historia), Roger Covey, se lanzó a desarrollar una nueva versión de BPCS, el ERP desarrollado y comercializado por SSA, embarcándose en una aventura tecnológica visionaria que le costó la empresa por adelantarse a su tiempo y utilizar una tecnología errónea. Entre otras cosas, Roger Covey ya estaba convencido de las grandes virtudes de la arquitectura SOA, aunque su evolución ha llevado un ritmo muy distinto al que él esperaba, como demuestra el esquema de Gartner al prever su adopción ‘masiva’ también entre 2010 y 2015. Y hoy hay numerosos blogs, webs y foros especializados que hablan de SOA, por lo que he decidido dedicarle un espacio.

Primera pregunta, ¿qué es la arquitectura SOA?. Yo siempre la he entendido como una arquitectura de desarrollo, independiente de lenguajes y plataformas, cuyo objetivo es encapsular objetos ejecutables fácilmente intercambiables entre unos y otros. Viene a ser como escribir los programas más cortos posibles al descomponerlos en el número máximo de subrutinas posibles, desarrollando cada una como un objeto ejecutable desde cualquier otro programa. ¿Me estoy liando? Pues me temo que Wikipedia no es mucho más claro, aunque sí más correcto, seguramente. Pero en esta ocasión no voy a copiar aquí la cita de la definición, sí algunos conceptos:

  • Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización.
  • Facilita la interacción entre diferentes sistemas propios o de terceros.
  • Utiliza webservices comunmente.
  • Define una serie de capas de software (que no voy a describir).

¿Qué aporta SOA? Sin duda mucho: la interacción entre sistemas, la escalabilidad, la ‘granularidad’… Este factor debe aportar algo muy importante como es la posibilidad de sustituir objetos encapsulados (gránulos) por otros que realicen la misma función pero mejorados, sin necesidad de modificar toda la aplicación. ¿Te imaginas no tener que migrar todo un sistema de gestión, todo un ERP, sino sólo aquellos objetos cuya nueva versión aporta valor a tu negocio? Esto nos permite soñar con un mundo muy interesante: Software Abierto, desarrollado bajo estándares SOA, cuyas comunidades están continuamente mejorando los objetos encapsulados (a lo mejor no necesito que sea abierto todo el código y me basta con tener libre acceso a los objetos, que pueden tener coste o no), a los que puedo acceder desde cualquier lugar porque están en la nube, y que puedo conectar con cualquier otro sistema, también en una nube, a través de los webservices disponibles en este mundo ideal, desarrollados por otra serie de comunidades…¿Me permitiría esto ejecutar ERP’s construidos a partir de componentes de varios fabricantes? ¿todo ello ejecutable en el Cloud? El mercado sería muy distinto: no tendriamos que comprar una suite completa de un producto, que en muchas ocasiones nos gusta más en una parte que en otras, sino que podríamos tener aquellas componentes de cada uno que se ajustasen mejor al modelo de negocio de nuestra empresa. Sin duda tendría sus dificultades, ya que podríamos llegar a necesitar múltiples proveedores, mucho más que ahora, pero seguro que aparecería un nuevo y apasionante rol para el integrador, algo más complejo en lo administrativo, que nos facilitaría el trabajo lo suficiente como para tener que negociar (en su sentido más amplio) sólo con un interlocutor. Pero no creo que esto esté disponible entre 2010 y 2015. ¿o sí?

Sin embargo, y sigo con el cuadro de Gartner, en el período siguiente (2015-2020) habla del Context Delivery Architecture (CoDA), una evolución ‘lógica’ del SOA junto con la aplicación del EDA (Event Driven Architecture), una arquitectura (por llamarle de alguna manera) que está al corriente del contexto del usuario: identidad, preferencias, ubicación… ¿Minority Report? En la O’Reilly Community se da ya un ejemplo (en Noviembre de 2008, cuando el concepto fue introducido por Gartner en Junio de 2008, ¡cinco meses antes!) de cómo esto puede hacerse, a través de formularios más o menos inteligentes (lo que llaman XRX). CoDA viene a ser algo similar a dotar SOA de inteligencia propia: ¿Te imaginas que una aplicación sea capaz de configurarse automáticamente al reconocer al usuario?

Fuente: Gartner

Por cierto, a fecha de hoy el Context Delivery Architecture no lo encuentro en mi amiga Wikipedia.

From → Tendencias TI

Dejar un comentario

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: