Alternativas a Fiori


Esto se va a poner un poco técnico, porque queremos echar un vistazo crítico a la tecnología Fiori y compararla con la arquitectura de nuestro propio producto "CIS mobile".
Para entenderlo, es útil que pruebes antes algunas aplicaciones Fiori y nuestro CIS móvil. Aquí tiene los enlaces:
- http://sapfioritrial.com para aplicaciones Fiori
- http://s10mobile.com para CIS móvil
Cada aplicación Fiori es una pequeña función de aplicación estándar aislada que se implementa como una aplicación web con HTML5 como front-end. Puede ejecutarse en cualquier dispositivo habilitado para web (escritorio, tableta, smartphone).
Todas las aplicaciones Fiori tienen la misma interfaz de usuario porque siguen normas estrictas, en particular la "Fiori 1-1-3 UI": un rol de usuario, un escenario, tres clics. Cada aplicación Fiori se clasifica en una de las categorías "Aplicación transaccional", "Hoja de datos" o "Aplicación analítica", y solo la "Transaccional" no requiere una base de datos Hana.
Tecnológicamente, las aplicaciones Fiori utilizan varios marcos complejos: la aplicación se ejecuta como código JavaScript en el navegador. Genera la interfaz HTML5 dinámicamente con SAP UI5, requiere el marco JQuery y se comunica con el FES (Fiori Frontend Server) a través del protocolo OData, SAP Web Dispatcher y SAP Gateway.
Por último, FES se pone en contacto con SAP Business Suite, que proporciona acceso a los datos y funciones de actualización como servicios sin estado en Abap. Para nuestro producto CIS mobile, una completa aplicación web móvil para empleados de ventas basada en SAP SD, Fiori no es suficiente tanto en lo que respecta a la interfaz de usuario 1-1-3 como a la infraestructura tecnológica.
Esto se debe principalmente a las necesidades justificadas de los usuarios: un empleado de ventas quiere tener una visión integrada de todos los aspectos de los clientes de los que se ocupa, como ofertas, pedidos, entregas, programación, informes de visitas, contratos, acuerdos de bonificación y documentos del cliente.
Espera diagramas y ratios y le gustaría reportar la información de los clientes al sistema central SAP de forma móvil. Esto significa que se necesitan los tres tipos de aplicación, "transaccional", "hoja de datos" y "app analítica", y una transición fluida de todos los componentes.
Los esfuerzos de venta pueden tener tanto más éxito cuanto mejor se conozca la situación del cliente. Esto incluye no sólo las ofertas y los pedidos, sino también las quejas de los clientes y las facturas pendientes, por ejemplo. Fiori se vería desbordado por esta riqueza de información con su interfaz de usuario 1-1-3.
Incluso si fuera posible exprimir la aplicación en el esquema de Fiori, la operación sería muy incómoda, ya que el esquema maestro-detalle utilizado en Fiori obliga a constantes cambios de contexto sólo con vistas particulares.
Por otra parte, la interfaz de usuario de CIS mobile suele estar diseñada de forma que se pueda acceder sucesivamente a información detallada, que luego se inserta dinámicamente en la página mostrada. Por ejemplo, puede visualizar las posiciones de pedido de un pedido y, a continuación, las condiciones de la posición.
Ahora haga lo mismo con otro pedido. Ahora puede comparar los dos artículos en detalle simplemente desplazándose por la página, lo que resulta más cómodo y sencillo que navegar constantemente hacia delante/atrás y memorizar la información mostrada.
Interfaz de usuario y tecnología
Pero, ¿no podría utilizarse también la tecnología Fiori para implementar patrones de interfaz de usuario completamente diferentes y más complejos? Al parecer, SAP tiene previsto hacerlo, ya que Fiori sustituirá gradualmente a SAP GUI como front-end para S/4 Hana.
¿Funcionará? Si se observa con detenimiento la implementación de las aplicaciones Fiori, se requiere una gran cantidad de JavaScript a pesar del pequeño tamaño de las aplicaciones. Si se realiza una función de aplicación comparable a la aplicación Fiori de la forma clásica de Abap Dynpro, se necesitará mucha menos codificación. Esto no es muy optimista en lo que respecta a futuras aplicaciones complejas.
CIS-Tecnología móvil
Existen algunas similitudes entre nuestra tecnología móvil CIS y Fiori, pero hay diferencias significativas. Al igual que Fiori, utilizamos HTML5 como interfaz para todos los dispositivos web.
Sin embargo, CIS mobile no ejecuta toda la aplicación en el navegador, sino sólo la parte de la interfaz de usuario en forma de máscaras HTML5 predefinidas, además de un uso muy moderado de JavaScript para funciones especiales de la interfaz de usuario.
La ventaja del HTML estático es que se puede utilizar cualquier editor HTML normal para desarrollar y personalizar WYSIWYG la interfaz, lo que no ocurre con UI5.
La propia aplicación CIS-mobile se encuentra en un servidor central Windows con Microsoft IIS (Internet Information Services). Está implementada en VB.NET, que ofrece la ventaja de un entorno de desarrollo maduro y cómodo (Visual Studio) en el que, a diferencia de JavaScript, tenemos a nuestra disposición todas las opciones de Windows, por ejemplo el uso de archivos temporales o la creación de diagramas con paquetes gráficos.
CIS mobile se comunica con el sistema SAP a través de interfaces de alto rendimiento en la LAN, que se basan en SAP RFC y SAP GUI. También son posibles SAP Gateway y OData, pero no se utilizan en CIS mobile, ya que también damos soporte a sistemas ERP más antiguos y no Unicode.
La recuperación de datos se realiza en módulos de función Abap, la actualización de datos SAP (p. ej. citas, personas de contacto, ofertas) a través de transacciones SAP GUI (scripting), de modo que se garantizan todas las comprobaciones y actualizaciones estándar de SAP.
Todos los componentes de la arquitectura CIS-mobile son tecnologías estándar (HTML5, VB.NET, IIS, Abap, RFC y SAP GUI), cada una de las cuales ofrece ya una sólida y rica funcionalidad.
Estos componentes se combinan de forma relativamente sencilla y obvia para formar una arquitectura que permite el desarrollo de sofisticadas aplicaciones web en el entorno SAP.
Aplicación del lado del servidor
La aplicación del lado del servidor ofrece muchas ventajas: En primer lugar, la seguridad, porque una aplicación JavaScript en el navegador puede ser manipulada llamando a la depuración de JavaScript.
En segundo lugar, podemos mantener en el servidor datos de sólo lectura de uso frecuente en una caché de aplicación independiente, a la que puedan acceder todos los procesos de usuario y a la que la aplicación pueda acceder en microsegundos.
En tercer lugar, es más fácil garantizar un desarrollo cómodo, la resolución de problemas y un funcionamiento continuo estable en un servidor que con una arquitectura en la que grandes partes de la aplicación se ejecutan en un gran número de dispositivos y versiones de software. El envío a varios servidores está disponible para un gran número de usuarios.
La conexión entre HTML UI y VB.NET tiene lugar por acción del usuario en un único viaje de ida y vuelta entre el frontend y el servidor. A continuación, pueden producirse varias solicitudes entre el servidor y el sistema SAP.
Como el tiempo de respuesta de una petición web es por término medio más de diez veces el tiempo de respuesta de la LAN, se trata de una estrategia sensata con la que conseguimos tiempos de respuesta muy buenos.
En cambio, en una aplicación basada en navegador, hay que procurar no desencadenar demasiados viajes de ida y vuelta al servidor por acción del usuario, lo que suele significar que la interfaz de datos de los servicios llamados se hace cada vez más extensa y tiene que adaptarse para cada dato adicional.
La reutilización de servicios por parte de otras aplicaciones resulta difícil, ya que, o bien se obtiene demasiada información y el sistema SAP se sobrecarga innecesariamente, o bien hay muchos servicios especializados, pero entonces se requieren más viajes de ida y vuelta.
Interfaz de usuario y aplicación
La conexión lógica entre HTML UI y VB.NET consiste en asignar la jerarquía HTML a la jerarquía de objetos en VB.NET. En total, la aplicación móvil CIS se realiza en forma de unas 200 clases VB.NET, cuyos nombres y contenidos se basan en su mayoría en objetos empresariales de SAP, por ejemplo, artículos de venta VBAP o plantas T001W.
Los atributos de las clases se abordan en la interfaz HTML a través de sus nombres, que se recogen interpretando el DOM y se envían al servidor.
La evaluación de los atributos de clase y la navegación dentro de la jerarquía de objetos en el servidor tienen lugar entonces de forma dinámica. Cada clase VB.NET puede aportar sus propias partes de interfaz de usuario en forma de marcos HTML.
Esto nos permite lograr cierta independencia de la interfaz de usuario con respecto a la aplicación. Por ejemplo, si el centro de expedición se muestra como código "1000" en el elemento del pedido ("VSTEL") y se requiere el texto correspondiente "Centro de expedición de Zúrich", basta con utilizar el atributo "VSTEL.VTEXT" en HTML.
A continuación, se accede automáticamente al texto en el servidor a través de la tabla SAP TVSTT, lo que normalmente sólo supone un acceso a la caché de unos pocos microsegundos.
Aquí no es necesaria ninguna codificación adicional, ni en HTML/JavaScript ni en VB.NET, ya que la conexión entre el código del centro de envío y el texto se conoce a través del modelo de datos. En cuanto volvamos a sustituir "VSTEL.VTEXT" por "VSTEL", ya no será necesario acceder a la tabla de texto en el servidor.
Hasta aquí esta breve incursión en un detalle de la arquitectura, que demuestra que se puede ahorrar mucho código de aplicación modelando e interpretando el modelo en tiempo de ejecución.
Separación de preocupaciones
La separación de la interfaz de usuario (HTML), la codificación de la aplicación (VB.NET) y el acceso a SAP (Abap) facilita un proceso de desarrollo sólido y bien estructurado. En Fiori, esta separación solo puede lograrse mediante una disciplina adecuada, ya que la IU y la aplicación se implementan juntas en JavaScript.
Conclusión
Debido a su arquitectura, la fuerza de Fiori reside en aplicaciones más pequeñas y aisladas. CIS mobile está optimizado para que los usuarios profesionales puedan acceder adecuadamente a SAP Business Suite en una interfaz web móvil: rápida, clara y completa.