Propuestas de Futuro en Arquitecturas SOA para el 2007
Muchas de las grandes empresas del panorama actual están empezando (algunas ya llevan tiempo) a interesarse y desarrollar iniciativas relacionadas con el mundo SOA.
Pero adoptar una iniciativa SOA no significa solo desarrollar Servicios Web (aunque puede ser un buen punto de partida). Generalmente hay que introducir elementos de explotación de los recursos (sean o no principalmente Servicios Web) como pueden ser herramientas de BPM, gobernabilidad, monitorización, etc…
No obstante, el mundo de Internet nos ha mostrado (y muy especialmente este año pasado) que una Arquitectura SOA puede ser explotada (y eso es lo que muchas veces se conoce como ROI o monetización de la inversión) a otros niveles distintos de los que actualmente se realiza (como por ejemplo hace Amazon con los miles de clientes de su plataforma de Servicios Web).
La popularización de los conocidos Mashups como composición de aplicaciones utilizables a través de un Navegador de Internet, de manera sencilla y rápida, ha dado lugar al concepto de Arquitecturas Orientadas a Web (WOA) y el uso de protocolos y tecnologías como HTTP, XML, REST o JSON.
Además, este año nos hemos visto invadidos por la conocida Web 2.0, una forma de transformar aplicaciones en auténticas Plataformas de Red a través de Internet.
Por ello y como todo evoluciona poco a poco existen diversas propuestas de diversificación para las Arquitecturas SOA y su mayor aprovechamiento :
- Desarrollar Servicios consumibles a través del Navegador de Internet: La orientación web de muchos de los servicios y aplicaciones que se desarrollan actualmente pone un paso por detras las viejas formas de desarrollo de los Servicios Web. El tener que construir clientes o adaptadores específicos para el entendimiento de los servicios puede suponer un problema y dificultar su explotación. Por ello, puede ser de mayor provecho, desarrollar Servicios Web que puedan ofrecer una versión REST o JSON.
- Considerar el desarrollo de servicios para sindicación: La afamada blogesfera ha dado lugar a los conocidos contenidos de sindicación basados en RSS y ATOM. El desarrollo de servicios que sean capaces de ofrecer esta funcionalidad facilitarán su uso y consumo por los miles de clientes lectores de sindicación que existen actualmente.
- Desarrollar los servicios teniendo siempre presente los links que los localizan: Una URI debe ir acompañando no solo al servicio sino también a los esquemas y a cualquier tipo de componente asociado al servicio. De esta manera estaremos dando una localización única para cada nueva funcionalidad ofrecida. Y esos links es lo que nos permite que puedan ser buscados incluso por los tradicionales buscadores como Google o Yahoo. La localización de los servicios a veces es tan importante como el propio servicio.
- Utilizar AJAX como la cara de SOA: La potencia de Ajax ha quedado muy clara especialmente este último año. El tener cada vez mejores redes de comunicación, mayores usuarios, etc… ha permitido que Ajax puede ser utilizado para exponer los servicios de una arquitectura SOA de una manera mucho más aprovechable. Se trata de exponer auténticas aplicaciones a través de un navegador de internet con todas las posibilidades que ello implica.
- Habilitar a los usuarios de Internet como consumidores de los servicios: Especialmente con la popularización de los mashups entramos en un mundo de posibilidades enormes de ofrecer aplicaciones que utilicen todos los servicios que queramos de nuestras arquitecturas empresariales SOA. Nuevas aplicaciones como IBM QEDWiki van a permitir con el tiempo que construir un mashup sea un juego de niños para cualquier usuario, por lo que habrá que aprovecharse suministrando nuestros servicios.
- Ofrecer SOA como servicios visuales tipo widgets: Es otra forma de poner cara a nuestras arquitecturas SOA. Los famosos widgets como los de la página personalizada de Google permiten ofrecer a través del navegador multitud de funcionalidades de back-end de una manera rápida y simple.
- Considerar JSON como una opción a los servicios: Dado que el XML no es especialmente rápido, es interesante considerar usar otras tecnologías como JSON (Javascript Object Notation) que se ha vuelto bastante importante en el último año. JSON es compacto, rápido y fácil de consumir con el Navegador de Internet y Javascript.
- Pensar en una SOA Universal: La Web 2.0, la sindicación de contenidos, los mashups… todos estos conceptos deben aunarse en una idea de SOA Universal (o como lo llaman algunos “Global SOA”). El conseguir que los servicios empresariales de una arquitectura SOA puedan exponerse al exteri0r de una manera fiable siguiendo estas pautas nos permitirá un mayor y mejor uso de los mismos.
Veremos cuantas de estas ideas se materializan este año y cuantas tendrán que esperar o evolucionar a nuevas formas de enriquecimiento y potenciación de las Arquitecturas SOA.
Personalmente creo que hoy por hoy no deberíamos usar los navegadores para ejecutar aplicaciones. Las aplicaciones web son juguetes de papel que hacen aguas por todos lados, al tener que mezclar lenguajes de script, etiquetas, interacciones con el servidorsmediante flujos de datos de mundos completamente diferentes,… Además hay una gran diferencia entre navegar por páginas (básicamente textos y enlaces) y usar una aplicación. Poco a poco van madurando frameworks que lidian con estas cosas, pero aún así queda mucho por hacer y sigue siendo muy complicado crear y reutilizar componentes visuales. Es indiscutible que hay muchísimos servicios que se deben ofrecer a través de navegadores y por eso hay que seguir avanzando en esa dirección, pero no tiene sentido esta moda de las empresas de hacer que todas las aplicaciones sean web.
Igual el comentario parece está fuera del tema SOA, pero este post hace continuas alusiones al uso de aplicaciones web.
En realidad no creo que el comentario esté fuera del Mundo SOA. A lo que tienden las empresas que desarrollan productos de BPM y SOA es a lo que llaman “Global SOA”, una visión de una Arquitectura Orientada a Servicios Global (a nivel de Internet e Intranet).
La mayoría de los Feeds que se utilizan hoy en día no son más que sindicaciones de contenidos (principalmente de weblogs) que carecen de cualquier necesidad (normalmente) de privacidad o fiabilidad. Pero cada vez más, las empresas se están dando cuenta de que el mundo de la llamada “Web 2.0″ es un fenómeno en auge y que seguramente dará mucho que hablar durante este año. En el fondo no son más que otras vías de explotacion de sus productos sobre las que veo importante innovar y crear nuevas formas.
Tecnologías como AJAX están permitiendo que esto sea factible cada vez más y veremos muy pronto como empresas de toda indole empiezan a dar servicios de este tipo. Al fin y al cabo, es algo que se ha hecho siempre, no es más que otra forma de exponerlo. No se trata de crear servicios, procesos o aplicaciones nuevas, sino de habilitarlos y suministrarlos por un nuevo canal (en este caso por medio de sindicación).
Creo que las aplicaciones de escritorio no morirán nunca, pero cada vez más van a ir siendo sustituidas por aplicaciones web que permiten realizar lo mismo pero con las ventajas del mundo Web. Quizá el día de mañana los ordenadores de uso personal no sean más que un navegador de Internet y millones de aplicaciones disponibles para ser utilizadas al momento (sin complicaciones de instalaciones, actualizaciones, etc…). Y eso es algo en lo que las empresas creen cada vez más y por ello invierten cada vez más dinero y nuevos desarrollos en ese sentido.
Pues, en realidad, yo estoy de acuerdo con ambos. La realidad es que los navegadores web no son (hoy por hoy) comparables con clientes pesados en cuanto a las posibilidades de usabilidad ni la facilidad en el desarrollo ni la rentabilidad en el mantenimiento. Pero también es cierto que la tecnología empieza a madurar (y estandarizarse) y ya hay cosas como Zimbra que son perfectamente equiparables a una aplicación de cliente pesado…
En mi opinión, es cuestión de madurez de las tecnologías. Si echamos la vista atrás, también pasaba esto antes… recordemos cómo fallaban algunas aplicaciones donde la GUI no era ni siquiera G
[...] hacer rentable las fuertes inversiones que se realizan para acometer proyectos de este tipo. Ya a principios de año, apostaba por AJAX como algo realmente importante dentro de este mundo; ya que es la cara más facil de mostrar [...]