En este post quiero hacer un repaso a la evolución de la user interface de SAP durante los últimos años. Pasando de la pantallas utilizando las típicas dynpros de ABAP hasta las últimas tendencias cómo SAP Fiori.
Me gustaría que el post sirviera para aclarar conceptos y sobre todo para poder seleccionar la tecnología correcta en todo momento. Como siempre en ingeniería no hay una única solución buena, siempre es un compromiso entre tiempo de desarrollo, capacidades del equipo y resultado esperado.
En cualquier sistema de información podemos diferenciar como mínimo dos tipos de usuarios. Los usuarios expertos o intensivos y los usuarios casuales. Los primeros necesitarán una UI que les permita todas las opciones posibles. Son usuarios que priman la funcionalidad sobre la sencillez o vistosidad de la capa de presentación. Los usuarios casuales, gente que no usa el sistema las 8 horas del día, busca por su parte un uso muy fácil, no necesitar una formación extensa y tener a mano solamente lo que realmente necesitan.
Las distintas soluciones que ofrece SAP cubren todo el rango que los distintos usuarios necesitan. Sería un error pensar que todos los usuarios solamente necesitarán las últimas tendencias de SAP donde prima especialmente la mejora de la UX.
Estos comportamientos distintos de los usuarios los vemos reflejados en unas estadísticas publicadas por Gartner. El 65% de los usuarios expertos del sistema valoran de una forma positiva o muy positiva la user interface actual de SAP. En cambio el 70% de los directivos y el 80% de los usuarios no expertos valoran de forma muy negativa la UI de SAP.
SAP GUI Clásica
Las pantallas creadas en ABAP utilizando las clásicas dynpros de SAP son la parte más conocida de la user interface de SAP. Es una tecnología que apenas ha evolucionado en los últimos 10 años. Que nos permite de forma muy fácil crear una pantalla de selección para un report y un listado utilizando el control ALV. De forma también fácil podemos crear pantalla donde utilizaremos controles.
Utilizaremos las dynpros ABAP siempre que queramos conseguir una transacción con una gran carga de negocio y muy poca carga de UI. Pensando que nuestros usuarios serán expertos en SAP y que no tendrán dificultad en utilizar los controles y la navegación típica de SAP.
Ventajas: Rapidez en la construcción. Los usuarios avanzados o intensivos de SAP conocen perfectamente las posibilidades y el funcionamiento de los controles.
Problemas: Gran limitación en los controles existentes y por lo tanto en las posibilidades finales.
SAPGUI clásica + capa de UI
Los usuarios menos expertos de SAP tienen problemas graves para usar con comodidad las dynpros clásicas ABAP. Como todo el mundo que ha usado SAP sabe, la curva de aprendizaje es alta, se necesita mucha formación y también mucha paciencia. Para los usuarios menos intensivos tenemos la posibilidad de crear una capa de UI encima de la capa ABAP. De esta forma conseguimos unas pantallas mucho más intuitivas a parte de la posibilidad de utilizar controles no disponibles en ABAP.
Nuestra primera experiencia fue utilizando Microsoft Silverlight. Esta tecnología de Microsoft permitía utilizando un navegador con una sencilla instalación de un pluggin una experiencia de usuario increíble.
Podemos ver ejemplos de los que se puede conseguir dentro de SAP utilizando esta tecnología.
Des de hace más o menos un año, con la liberación del SAP Logon 730 patch 7, podemos utilizar también SAPUI5 como capa de visualización complementaria a SAPGUI. Conseguimos esto gracias a que por fin SAP ejecuta un navegador compatible con HTML5. Podemos conseguir casi los mismos resultados que utilizando Silverlight con el valor añadido de tener una solución multiplataforma.
Ventajas: Podemos combinar toda la potencia del backend actual con todas las transacciones existentes con nuevas pantallas creadas utilizando lenguajes más potentes. Sincronización perfecta entre pantallas antiguas ABAP y las nuevas vistas.
Problemas: El coste de desarrollo es más alto. Este coste mayor tiene que compensarse creando pantallas no posibles en ABAP.
SAP NetWeaver Business Client + webdynpro
El nuevo cliente de SAP para substituir el viejo SAP GUI es el SAP NetWeaver Business Client (NWBC). Este cliente nos permite de una forma parecida a un navegador web tener acceso tanto a las aplicaciones ABAP de toda la vida, a las transacciones creadas con WebDynpro ABAP y también a las nuevas pantallas creadas con SAPUI5.
La creación de nuevas aplicacions utilizando webdynpro ABAP es a mí entender un error. Es cierto que estamos aprovechando toda la capa de negocio hecha en SAP, pero esta misma capa la podemos utilizar en otras tecnologías. Pero por otro lado nos estamos cerrando a un entorno controlado por SAP y con una evolución muy lenta, sobre todo si comparamos con la velocidad de las aplicaciones HTML5. El resultado, a parte, no es para nada espectacular. Por lo que mi recomendación al utilizar NWBC sería reutilizar las transacciones ABAP de toda la vida y crear las nuevas en SAPUI5.
Ventajas: En un único entorno podemos ver distintas tecnologías, ABAP, WebDynpro, HMLT5.
Problemas: Requiere de una versión de SAP compatible. El rendimiento no está optimizado como en SAPGUI. El desarrollo de transacciones en WebDynpro está limitado a lo que el framework permite, con una evolución muy lenta y supeditada a actualizaciones de versión de SAP.
SAP Screen Personas
Esta nueva tecnología de SAP permite crear una customización de las dynpro clásicas para mejorar la productividad de los usuarios. Es una solución creada a partir de Microsoft Silverlight y que en la nueva versión ha migrado a HTML5. Tiene un problema grave. SAP pide tener instalada la última versión de su sistema y la capacidad de hacer los upgrades que haga falta. Muy pocos clientes están en esta situación, por lo que su introducción al mercado es muy pequeña.
Básicamente se trata de un lenguaje de scripts para conseguir que personas cercanas al negocio puedan adaptar transacciones ya existentes en ABAP a esta nueva visualización. Esta adaptación se traduce en mejoras visuales, reducción de campos a los necesarios y automatización de ciertas tareas.
El resultado es similar al expuesto en el SAP GUI clásicas + capa UI. Una pantalla que no se parece a una Dynpro ABAP pero que por debajo tiene las mismas funcionalidades.
Ventajas: No se necesita programar la nueva capa de UI. Con las herramientas disponibles y con un sistema de Scripts podemos modificar la UI.
Problemas: Requiera de la última versión de SAP. Requiere permisos para hacer upgrades. Los cambios a realizar sobre la UI antigua están limitados a lo que el framework propone. Lo que nos pasa muchas veces estás posibilidades no terminan de encajar con las necesidades del negocio.
SAP Fiori
Pasamos de los distintos intentos de mejorar la UI de SAP GUI a un cambio de paradigma. Donde el backend provee un conjunto de servicios REST y es el cliente quien decide cómo se tienen que mostrar estos datos.
SAP Fiori es una solución pensada para poder usar SAP en cualquier dispositivo, al ser una solución “responsive” está optimizada para tablets y smartphones
Ventajas: Multiplataforma, facilidad de uso, no es necesaria la formación. Basada en roles. En la siguiente imagen podemos ver los principios en el diseño de la UX.
Problemas: Es una solución complementaria al SAP GUI actual. Muy pocos usuarios podrán, de momento, dejar de utilizar el sistema de toda la vida. No se puede combinar dentro de SAP GUI con otras transacciones ABAP, cosa que si podríamos hacer creando una capa de visualización dentro de SAP GUI.
Conclusión
En el siguiente cuadro podemos ver un resumen de las ventajas e inconvenientes de cada tecnología. Como he comentado al principio no hay una solución única. Se necesita un análisis previo del tipo de uso que van a hacer nuestros usuarios para escoger una tecnología. A parte no hay ninguna limitación para poderlas combinar entre ellas.