SOA, SaaS y otros menesteres…

Se habla mucho ultimamente en Internet de SaaS (Software as a Service) y las posibles implicaciones que tendrá de aquí a un tiempo (algunos predicen que el futuro pasa por este tipo de servicios empresariales).

SaaS tiene sus origenes en ASP (Application Service Provider), cuya misión era almacenar paquetes de software de manera centralizada que luego se instalaban en diversos clientes (los cuales pagaban por ello a distintos niveles: departamental, unipersonal, etc…). La idea, era que la tediosa tarea de mantener actualizados los paquetes de software y en perfecto funcionamiento recayera en gente propietaria del ASP y no en los distintos clientes que pudieran utilizarlo.

Quizá por evolución, quizá por los inconvenientes de esta soluciones (imagina actualizar software por medio de una red con velocidades de hace 15 años: podría llegar a ser una tarea insufrible), surgió SaaS como una nueva manera suministrar aplicaciones a los distintos clientes.
La principal diferencia de SaaS con respecto a ASP radica en que en el caso de SaaS el acceso es por medio de un navegador de internet (son clientes ligeros), tanto en el uso de los paquetes como la administración de los mismos. Además, el concepto de SaaS se basa en los Servicios Web y la solución de API por medio de WSDL’s para su reutilización.

Después de esta pequeña introducción, está claro porque SaaS es realmente un gran amigo de SOA. Aquí, entran en uso nuevamente conceptos como SOA Global: imaginemos cientos y miles de servicios web con distintas funcionalidades que se expongan siempre bajo un mismo formato (WSDL) y se permita su reutilización sin importar donde estén o quien los gobierne.

Otro concepto bastante usado en los mismos terminos que SaaS y SOA juntos, sería el de Composición de Aplicaciones o también llamados Mashups: ahora se han puesto de moda, servicios como Dapper, Kapow o Yahoo Pipes; que nos permiten juntar en cuestión de minutos y en un mismo contexto fuentes de información totalmente diversas y de distintos tipos. Todo ello, nuevamente, gracias al uso de estándares e interfaces de uso común.

Es decir, tenemos SaaS como una forma de proveer servicios web; tenemos mashups como una forma de componerlos en aplicaciones compuestas; la pregunta es: ¿y donde cae SOA en este saco?

Yo creo que la respuesta es bastante fácil: tradicionalmente se ha pensado en SOA como una forma de crear arquitecturas en un entorno empresarial para organizaciones de diversas indoles. Pero creo, que hay que ir un paso más alla, y es precisamente ahí donde las grandes empresas pueden ofrecer servicios de cara al exterior como una nueva fuente de ingresos. Los servicios web de la SOA Global, una SOA no empresarial, sino de Internet; donde poco importe la empresa que los suministre sino la posibilidad de tenerlos accesibles a cualquier nivel y cualquier propósito.
Imagina que la omnipotente Telefónica expusiera servicios para uso público que permitieran consultar el saldo de una persona o alguna forma de enviar sms con cargo al usuario. O que alguno de los grandes bancos españoles expusiera servicios para consulta de cuentas bancarias.
Vale, se que en algunos casos más de uno me diría que eso no son servicios que un banco o una empresa de telecomunicaciones debería dejar usar de cualquier manera, ya que las implicaciones de seguridad que tienen son enormes.
Pero la realidad es que la tecnología está ahí, y realmente es algo factible y que permitiría la creación de aplicaciones de cualquier tipo y totalmente orientadas al usuario final.

Creo que a medida que SOA se vaya introduciendo más y más en las empresas, se empezará a dar soluciones orientadas al publico general (ya no vale solo un megaportal empresarial para los usuarios de la empresa, hay que expandirse más alla, dar la posibilidad a terceros de usar la tecnología existente para construir nuevas aplicaciones). ¿Por qué no utilizar todos los medios disponibles a nuestro alcance para ofrecer servicios mucho más abiertos y con muchas más posibilidades?

En los últimos meses, en el proyecto personal en que ando metido me he dado cuenta de que las empresas son muy reticentes a dejarte usar sus servicios y sus sistemas. Vaya, encima de que estoy dándoles un nuevo canal de ingresos, ponen pegas. Sí, vale, yo también lo hago por el interés, pero, ¿no repercute de manera beneficiosa para ambos?. Yo creo firmemente que es así y por ello voy a seguir evolucionando mi idea en ese sentido…

Links interesantes:

Is Web 2.0 The Global SOA?
Soa4All
SaaS, Composite Applications, and SOA: Understanding their Differences and Making Them Work Together

One Response to “SOA, SaaS y otros menesteres…”

  1. HOla,
    Buen post. Solo quisiera puntualizar que en la actualidad un aplicacion como servicio no tienes porque ofrecer la logica de negocio como servicio y no es requerimiento, aunque sería lo deseable. El concepto en si en un mundo ideal de sistemas y aplicaciones debería exponer la lógica de negocio y los datos de Saas a traves de servicios ( web services o api) para integrarlo en tu arquitectura SOA pero estamos lejos de que terminen completamente integrados.
    Un saludo

Leave a Reply