Apps en movilidad

El papel del ESB (Enterprise Service Bus) es de sobra conocido en una arquitectura SOA. Por supuesto, cuando hablamos de ESB no debemos pensar en un producto de una empresa en concreto. Un ESB es ante todo un patrón de diseño que puede ser implementada de muy diversas maneras.

Dicho muy resumidamente la misión de un ESB es desacoplar el cliente del servicio haciendo de “puente” entre los dos. Si es necesario, el ESB puede transformar el protocolo y el formato de los datos para que ambos extremos de la conversación sean compatibles y se puedan entender.

En una arquitectura empresarial, normalmente es una aplicación (en sentido clásico) o más bien, un servicio el que habla con otro servicio. Es decir, en el caso más habitual, desde algún lugar del CPD se produce una invocación a otro lugar del CPD (puede que a la misma máquina) donde se está ejecutando el servicio.

Hasta aquí todo bien, sin embargo, hay un fenómeno que ha interrumpido con fuerza primero en el escenario de consumo (traído por los propios usuarios) y después, siguiendo a duras penas el camino marcado por los usuarios y clientes, en el escenario de la empresa. Por supuesto, estoy hablando de la Movilidad.

Como es obvio, en este nuevo escenario tenemos un dispositivo que está en algún sitio del mundo (literalmente) conectado a una red de datos con mayor o menor cobertura y calidad de señal, que a través de iInternet tiene que ser capaz de acceder a la lógica de negocio de los backends de la empresa, y digo backends en plural por supuesto, porque puede haber decenas de ellos (cada uno de una diferente época y tecnología).

¿Cuál es el papel de un Mobile Middleware?

Tal como yo lo entiendo, un middleware de este tipo no es algo que se le añade al ESB actual de la empresa (aunque se podría hacer por defecto). Las funcionalidades incluidas de este tipo de Middleware son las mismas que en un ESB tradicional pero con una diferencia significativa: que existe un conjunto de características propias de la movilidad que se le han añadido.

Este podría ser un listado de estas nuevas características:

  • Comunicaciones offline
  • Sincronización de datos con el backend
  • Integración con el market de Apps público y privado
  • Analíticas y monitorización de Apps
  • Mobile APIs
    • Notificaciones Push
    • SMS
    • Reconocimiento de imágenes OCR
    • Reconocimiento de Voz
    • Geolocalización
    • Chat texto y video
    • Reconocimiento biométrico
      • facial
      • voz
      • firma manuscrita
      • Iris

Beneficios del Mobile Middleware

En resumen, podemos decir que los beneficios de este tipo de Middleware son las siguientes:

  • Abstrae al sistema de información de la empresa de las aplicaciones móviles
  • Provee un sistema consistente de acceso a los datos de la empresa con sincronización y soporte offline
  • Permite la distribución de aplicaciones móviles
  • Análisis del rendimiento de las apliacaciones. Seguimiento de los errores (crashes) y de la experiencia de usuario en el uso de la app

Facilidad de uso

Por otra parte, estos nuevos productos han sabido evolucionar también respecto a la facilidad de uso, lejos ya de los pesados IDEs como los basados en eclipse, en los que era el programador de toda la vida el que tenía que hacer las integraciones. Ahora, las interfaces web son las que triunfan logrando una mayor simplicidad y agilidad.

Creo además que es un acierto que se haya sacado la configuración de las integraciones y de los servicios compuestos de la herramienta de desarrollo. Esto “libera” al programador para la implementación de la lógica de negocio, mientras que otro rol, una especie de arquitecto de aplicaciones, puede crear las integraciones (por supuesto no las más complejas pero sí las más comunes) desde este interfaz simplificado poniendo el foco en la propia integración de servicios y no en la programación de bajo nivel.

Conclusión

Dado el nuevo escenario al que nos enfrentamos con la movilidad, es necesario disponer de una herramienta adaptada a estas nuevas necesidades. Por fortuna, estas nuevas herramientas no son otra más que hay que añadir al ya de por si abultado portfolio de la empresa.

Estas nuevas herramientas (Mobile Middleware) pueden dar respuesta a las nuevas necesidades de la movilidad pero también pueden seguir dando respuesta a otro tipo de aplicaciones y escenarios más “tradicionales”.

Como siempre, el Mobile Middleware hay que verlo más como un patrón de diseño que un producto en concreto. Lo que debemos tener en cuenta es que las necesidades que cubre están ahí y las tendremos que afrontar tarde o temprano.

Anuncios