This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

Software + Services, su relación con SOA y otras cosas...

Volviendo con los conceptos e ideas que subyacen bajo los términos de Software as a Service (SaaS), así como el de Service Oriented Architecture (SOA), en la última sesión del pasado miércoles en el Tech-Ed de Barcelona tuve la oportunidad de asistir a una conferencia impartida por David Chappel. La verdad es que merece la pena oir como David explica y pone ejemplos reales de este tipo de conceptos (algunos dirán que desde una perspectiva de muy alto nivel, pero es justo por aquí por dónde todo empieza...ya luego llegaremos a cuestiones más tecnológicas). La idea de este post es partir de la presentación de David Chappel para ver la perspectiva SaaS desde el punto de vista de Microsoft y su relación con SOA (de lo Miguel Llopis ya nos ha adelantado alguna cosilla en este post). Empecemos.

La perspectiva SaaS de Microsoft: Software + Services

Si recordáis el post prevíso sobre SaaS, lo que se trata es de un nuevo modelo distribución del software que proporciona a los clientes el acceso al mismo a través de la red (generalmente Internet), de manera que les libra del mantenimiento de las aplicaciones, de operaciones técnicas y de soporte. Desde el punto de vista de Microsoft, en lugar de hablar de SaaS hay que hablar de Software + Services (S+S), o lo que es lo mismo: Software On-premise (software que es usado dentro de la organización, es decir, la tendencia actual en el uso de aplicaciones) + Software Services (sofware que puede ser utilizado en cualquier lugar, sin necesidad de instalación, mantenimiento o soporte,...,pero cuidado, no estamos hablando de servicios web!). Básicamente, en este nuevo modelo las empresas no pagan por disponer, instalar y utilizar el software (modelo tradicional on-premise basado en licencias de software), sino que es un proveedor de software el que ofrece el servicio que necesita la organización, siendo por tanto quien garantiza su mantenimiento, escalabilidad, etc...en este escenario el cliente paga según el uso que hace del servicio.  Esquemáticamente, todo lo comentado se traduce en:

Siguiendo con el tema de Software + Services, y si pensamos un poco, hoy en día ya tenemos ejemplos de este tipo de aplicaciones software. De hecho, los dos ejemplos más claros los tenemos en plataforma Microsoft:

  • Microsoft Exchange Server,  la plataforma de mensajería confiable de Microsoft que puede ser utilizada en tres modalidades:
    • On-Premise, es decir, se realiza una instalación de la plataforma en la organización y se utiliza en la misma.
    • Siguiendo el concepto de S+S, por lo que habilita el que exista un proveedor de servicio que permite que los servicios de mensajería se puedan consumir en la red.
    • Siguiendo el concepto de S + S, pero siendo el propio Microsoft quién actue como proveedor del servicio.
  • Microsoft Dynamics CRM, que sigue la misma filosofía comentada para Exchange, ofrenciendo las tres modalidades comentadas:
    • On-Premise, es decir, la organización tiene instalado Microsoft Dynamics CRM
    • Un partner de Microsoft hostea Microsoft Dynamics CRM y lo ofrece en modalidad S+S.
    • La propia Microsoft es quien hostea Microsoft CRM y lo ofrece en modalidad S+S, en este caso estamos hablando de Microsoft Dynamis CRM Live.

En el caso de Microsoft Dynamics, es interesante el hecho de que aunque estamos hablando de tres modalidades o escenarios de utilización de la plataforma, no estamos hablando de tres plataformas diferentes, sino de una única que puede ser utilizada de estas tres formas.

S+S y SOA

Un cuestión interesante es si existe algún tipo de relación entre SOA y S+S, y la respuesta es que depende...de hecho, según David Chappel depende de lo que se entienda por SOA,...je je, ya estamos con filosofías y cuestiones retóricas...nada más lejos de la realidad. Esta claro que el concepto de servicio está muy  asociado al concepto de SOA, de hecho definimos SOA como: es un patrón de diseño arquitectónico, un estilo de arquitectura que se basa en la definición de relaciones con un grado de acoplamiento débil entre una serie de elementos consumidores y productores. SOA agrupa nuevas funcionalidades, y las ya existentes, en servicios atómicos que se comunican entre sí a través de pasar datos entre servicios o coordinando una actividad entre uno o más servicios. De acuerdo a esta definición de SOA:

  • Si SOA se refiere sólo a servicios proporcionados dentro de la organización, estariamos hablando del software on-premise en S+S.
  • Si estamos hablando de servicios proporcionados tanto dentro de la organización como a otros actores que intervengan en los procesos de negocio (socios comerciales, proveedores, etc), estaráimoas hablando de software on-premise y algunos aspectos SaaS en S+S.
  • Finalmente, si con SOA nos referimos a todos los servicios independientemente de su destino, entoces SOA y S+S están plenamente alineados y van de la mano.

Del concepto e idea de S+S a la realidad

Como hemos comentado, en la actualidad el software On-Premise es la alternativa dominante. Sin embargo, ya hay ejemplos de aplicaciones S+S que están teniendo éxito en cuanto a que proporcionan a sus clientes el máximo beneficio. Aunque ya vimos algunos ejemplos en el post sobre SaaS (y también en la primera parte de este post), veremos algunos más tanto en plataforma Microsoft como fuera de ella (en la sección de plataforma SaaS). Pero antes de verlos, una pregunta que nos podemos hacer es: entiendo S+S, incluso entiendo sus beneficios pontenciales...pero, ¿por dónde empiezo?, es decir, que tipo de aplicaciones encajan en esta filosofía de S+S...la respuesta inicial es que no todas las aplicaciones encajan en el concepto de S+S por lo menos a priori. Imaginaros el típico sistema de misión crítica, ¿tiene sentido llevarlo a S+S? Probablemente no, puesto que S+S se asienta en la capacidad de Internet que habilita utilizar este tipo de aplicaciones en cualquier lugar y en cualquier instante,..¿y si la red se cae? Pues, Houston tenemos un problema. Por lo tanto, hay que empezar con aplicaciones que no sean críticas para una organización y que tengan un cierto grado de flexibilidad: Microsoft Dynamis CRM es un ejemplo claro de esta idea (también Microsoft Exchange). Aunque ya hablamos de beneficios e inconvenientes, no está de más repasarlos:

Beneficios Inconvenientes, Dudas, Problemas potenciales
Bajo coste: el cliente paga por uso, no por licencia. Confianza: ¿Hasta qué punto se puede confiar en el proveedor de servicio?
El despliegue es mucho más rápido que el despliegue in-house de cualquier aplicación paquetizada. Datos: ¿Qué niveles de seguridad se pueden asegurar?
Hay un menor riesgo financiero. Cumplimiento de la regulación existente: ¿Puede el proveedor de servicio garantizar el cumplimiento de las regulaciones existentes en cuanto a confidencialidad de los datos?
Las actualizaciones son más sencillas. Integración: ¿Cómo se puede conectar una aplicación SaaS con el resto de aplicaciones empresariales?
Alta confiabilidad Personalización: ¿Hasta qué nivel podemos llegar?
Alta Escalabilidad  
El cliente se centra en el negocio Identidad: ¿Soporta acceso federado?
La seguridad se aumenta Gestión: ¿Cómo se puede monitorizar una aplicación SaaS?
Respuesta ante los cambios muy rápida Soporte a Usuario: ¿Quién es ejecuta el Help Desk?

Tanto en S+S como en SOA hablamos de servicios, pero hasta ahora no hemos hablado en ningún momento de que tipos de servicios nos podemos encontrar. Desde una perspectiva S+S, podemos dividirlos en de acuerdo a distintos aspectos:

  • Por el tipo de servicio:
    • Consumer Services, más orientados al cliente / usuario final y que no tienen unas características de confiabilidad óptimas. Microsoft ofrece al cliente final los servicios de Live: el correo electrónico de Live, los espacios personales, etc.
    • Business Services, más orientados al cliente empresarial, que paga por el servicio y suele estar protegido por un service-level agreement (SLA). En este caso Microsoft ofrece los Online Services, siendo el ejemplo más claro el de CRM Live.

Fuera de Microsoft, el ejemplo más claro de esta clasificiacion de servicios es el de Google Apps, pues ofrece servicios sin coste (versión estándar, que incluye e-mail, creación de documentos, etc) y servicios premier que asegura una disponibilidad del 99,99 % para el servicio de correo electrónico, integración con el help desk empresarial, ... (a un coste de 50 $ por usuario y año).

  • Por la forma en que son proporcionados:
    • Servicios Single-Tenant, es decir, tenemos una única instancia de aplicación por cada organización que la va a utilizar. De este forma se garantiza aislamiento, pero el proveedor de servicio pierde flexibilidad en cuanto a la posibilidad de compartir elementos entre múltiples organizaciones.
    • Servicios multi-Tenat, es decir, tenemos una única instancia que es compartida por distintas organizaciones. En este caso estamos hablando de una opción más económica para los clientes, pero con menos nivel de aislamiento que en el caso anterior.

Antes de empezar con la plataforma de aplicaciones S+S, os adelanto ya un ejemplo de aplicación que estaá funcionando en modalidad SaaS con éxito. Se trata de Salesforce.com, que ofrece servicios de CRM en modalidad SaaS y que es la prueba viviente de que el concepto e idea SaaS y por ende S+S funcionan.

 

Plataforma de aplicaciones en un mundo S+S

Básicamente una platataforma de aplicaciones SaaS, y una S+S, se caracteriza porque ejecuta aplicaciones personalizadas en servicores que corren en la red, es decir, no estamos hablando de crear una fachada de servicios web en las aplicaciones empresariales. Por lo tanto, dicha plataforma debería ofrecer las siguientes capacidades:

  •  Computing, es decir, estariamos hablando de características de (todas ellas disponibles en la red):
    • Sistema operativo, siendo Amazon's Elastic Compute Cloud  (EC2) el ejemplo más aproximado ( a grandes rasgos, se trata de un conjunto de instancias personalizadas de Linux que se están ejecutando sobre máquinas virtuales y que se asientan sobre el sistema de almacenamiento S3) que tenemos hoy en día a un sistema operativo en la red (en las aplicaciones On-Premise estaríamos hablando de toda la familia de S.O Windows, o de las distintas versiones de Linux)..
    • Servicios de Aplicaciones, es decir, lo que le damos al cliente. En este caso los ejemplos claros son los que ya hemos comentado: Salesforce.com's Force.Com y la plataforma de aplicaciones de Microsoft Dynamics CRM (en el caso On-Premise estaríamos hablando de .NET Framework o de Java EE app. Server).
  • Almacenamiento, es decir, ser capaces de almacenar objetos de información en la red:
    • A nivel de sistema de archivos, en este caso el ejemplo real más aproximado es de nuevo el sistema que utiliza Amazon: Amazon's Simple Storage Service (S3). En el caso On-Premise estaríamos hablando de Windows NTFS o de el sistema de archivos de Linux.
    • A nivel de motor de base de datos: ahora mismo no existe ninún gestor de base de datos preparado para ser consumido en la red (en el caso On-Premise tenemos SQL Server 2005 / 2008, Oracle, MySQL, etc).
  • Integración, es decir, conectividad de aplicaciones, capacidad de orquestación y / o workflow, etc. El único ejemplos que tenemos hoy en día, todavía en versión CTP (aunque para el año que viene se prevé la versión RTM) es el de Microsoft BizTalk Services (en el caso On-Premise tenemos BizTalk Server, WebSphere Process Server,...). Microsoft BizTalk Services permitirá pasar de escenarios ESB a escenarios ISB cómo vimos en este post proporcionando servicios de conectividad, identidad y workflow.

En resumen....y el futuro

Para acabar el post, voy a recoger una tabla muy interesante que David Chappel nos mostró en la sesión y que resume que es lo que tenemos ahora mismo en cuanto a aplicaciones On-Premise y SaaS en tornos a dos aspectos: plataforma de aplicaciones, y aplicaciones en sí:

 

¿y que nos deparará el futuro? Pues el futuro desde el punto de vista de Microsoft (y se podría decir que el único) tanto para S+S como para SOA es OSLO. Las ideas que hay bajo  OSLO ya nos las comentó Miguel Llopis: proporcinar los elementos necesarios para simplificar SOA y enlazar con la estrategia S+S.

Sin más, esto era lo que os quería contar de S+S, SOA y otras cosas. Espero que el post os haya resultado interesante, creo que los temas tratados realmente lo son y que se va a hablar mucho de esto en los próximos meses y años (lo cuál significa que habrá muchos proyectos y trabajos en torno a todo ello).

Published 9/11/2007 13:45 por Juan Carlos González Martín

Comparte este post:

Comentarios

# La plataforma sigue creciendo…Windows Live Mesh! « Pasi??n por la tecnolog??a…@ Wednesday, April 23, 2008 4:05 PM

PingBack desde  La plataforma sigue creciendo…Windows Live Mesh! « Pasi??n por la tecnolog??a…

La plataforma sigue creciendo…Windows Live Mesh! « Pasi??n por la tecnolog??a…

# S+S: CTP versión R12 de BizTalk Services! « Pasi??n por la tecnolog??a…@ Monday, July 21, 2008 11:39 PM

PingBack desde  S+S: CTP versión R12 de BizTalk Services! « Pasi??n por la tecnolog??a…

S+S: CTP versión R12 de BizTalk Services! « Pasi??n por la tecnolog??a…

# S+S: Microsoft se va a la nube! « Pasi??n por la tecnolog??a…@ Monday, July 28, 2008 5:57 PM

PingBack desde  S+S: Microsoft se va a la nube! « Pasi??n por la tecnolog??a…

S+S: Microsoft se va a la nube! « Pasi??n por la tecnolog??a…

# S+S: Microsoft Dynamics CRM On-Premise vs On-Demand! « Pasi??n por la tecnolog??a…@ Monday, August 18, 2008 7:58 PM

PingBack desde  S+S: Microsoft Dynamics CRM On-Premise vs On-Demand! « Pasi??n por la tecnolog??a…

S+S: Microsoft Dynamics CRM On-Premise vs On-Demand! « Pasi??n por la tecnolog??a…