SOA aplicado a la Robótica
Comenzamos una nueva serie de artículos en los que vamos a ilustrar el enorme potencial que tiene la estrategia SOA en todos los sectores. Una cosa es decirlo y otra cosa es verlo. Y aunque no siempre se aplican los principios de SOA de forma fiel y completa, espero poder demostrar con unos cuantos ejemplos la capacidad transformadora que tiene SOA aplicado a distintos ámbitos.
En este blog ya hemos usado el cuerpo humano como un ejemplo de SOA y EDA en el mundo real, y hemos presentado cómo los ecosistemas de información resultantes adquirían capacidades de inteligencia de negocios gracias al uso de este paradigma como enfoque estratégico de diseño.
En aquellos momentos apenas mencionaba la posibilidad de que los principios de SOA se estuvieran aplicando a la Robótica.
Pues bien, hoy os traigo no uno, ni dos, sino tres ejemplos reales sobre este tema.
SOA, el futuro de la Robótica.
El primer ejemplo sobre SOA aplicado a la Robótica, lo he encontrado en la revista Robot Magazine, que en este artículo de febrero de 2011 presenta SOA como el futuro de la Robótica, y nos cuentan cómo los dos sistemas que lideran el sector, MRDS y ROS, se levantan y sostienen sobre algunos de los principios de SOA. Resulta curioso leer al principio del artículo como introducen el asunto, estableciendo el paralelismo entre cómo funciona nuestro cerebro, y cómo deberíamos diseñar nuestros robots.
Si echáis un vistazo al artículo comprobaréis como ambos sistemas (MRDS y ROS) parecen estar programados desde cero, o casi. Es decir, no parecen usar ninguna plataforma middleware ni ESB existente en el mercado, ni bajo licencia ni open source, ni mucho menos una infraestructura SOA más completa.
Además, en algún momento establecen una identidad entre SOA y Web Services… ahí se equivocan, pero como hemos comentado muchas veces no hay que culparles, es un error muy extendido durante muchos años sobre SOA, y tiene que ver mucho con sus primeros años.
Sin embargo, es muy alentador ver como los principales principios de SOA sí son tenidos en cuenta en ambos sistemas, y el último trozo del artículo destaca las ventajas que les aportan el bajo acoplamiento, la reutilización y la alta tolerancia a fallos de todo el ecosistema.
Robot as a Service.
El segundo ejemplo consiste en un trabajo de investigación publicado en el 5º Simposio Internacional del IEEE sobre Ingeniería de Sistemas Orientados a Servicios, en el año 2010. El trabajo se centra en la aplicación de SOA a la robótica, y presentan el concepto “Robot as a Service”, o RaaS.
Volviendo a nuestro segundo ejemplo, como podéis comprobar, es un estudio profundo y completo sobre una arquitectura de servicios para robótica ofrecidos en la nube, maximizando la reutilización de todas las capacidades de SOA. No solo se obtienen sus muchos beneficios en una instancia del negocio de la robótica, sino que se ofrece la solución desacoplada, abstracta y reutilizable, para cualquier instancia de ese mismo negocio.
En realidad es algo que mencionábamos cuando planteábamos el concepto de Business as a Service, BaaS.
Una Arquitectura Orientada a Servicios para Plataformas Robóticas.
El tercer ejemplo de SOA aplicado a la Robótica, es nada menos que una tesis doctoral en Filosofía de Ciencias de la Computación para la Universidad de Massachusetts Lowell, de Paul D. Hestand, en el año 2011.
Se titula “Una Arquitectura Orientada a Servicios para Plataformas Robóticas”. Presenta las bases de SOA como paradigma de diseño de arquitectura de sistemas integrados con bajo acoplamiento y necesidades de información en tiempo real. Recorre los numerosos enfoques previos sobre la arquitectura de los sistemas usados en Robótica, y plantea una metodología y unas métricas para aplicar SOA en este área, mostrando las ventajas y mejoras que aporta frente al resto de enfoques.
Pero más allá de los detalles del trabajo, desde mi punto de vista tan interesante como completo y profundo, quiero subrayar una vez más el hecho de que SOA, sus principios de diseño, y el paradigma arquitectónico conceptual y operativo que ofrece, es una solución ideal, avanzada, y viable para un campo tecnológico tan avanzado y especializado como la Robótica, con la inmensa proyección que tiene para el futuro, y las altísimas exigencias de precisión, fiabilidad, eficacia, escalabilidad y tolerancia a fallos que requiere.
Todos estos trabajos ganarían mucho, en mi opinión, si acentuaran aún más los esfuerzos en niveles superiores de abstracción: los flujos de información (procesos de negocio), y la gestión inteligente de los eventos (CEP).
Estoy seguro de que seguiremos encontrando ejemplos, tanto en los sectores más obvios como en los más inesperados, de cómo SOA y sus principios como estrategia TIC, de la mano de EDA y BPM, supone un avance significativo en el diseño de ecosistemas escalables y sostenibles, basados en el intercambio ágil y fiable de información en tiempo real.
0 comentarios
Trackbacks/Pingbacks