SAP es una empresa multinacional alemana dedicada al diseño de productos informáticos de gestión empresarial, tanto para empresas como para organizaciones y organismos públicos.
Competidor directo del otro gigante del sector, Oracle, se calcula que «entre el 70% y el 80% del mercado de grandes empresas» utilizan sus productos. Sus productos incluyen SAP ERP, SAP Business Warehouse (SAP BW), SAP BusinessObjects software, y SAP HANA.
En los últimos tiempos SAP se ha propuesto mejorar la experiencia de usuario de sus aplicaciones, en especial las destinadas a usuarios finales de SAP. Para ello, ha creado la SAP User Experience Strategy, una estrategia en base a la que desde diferentes puntos de vista (NEW, RENEW y ENABLE) se quiere conseguir dicho objetivo.
Uno de los medios que han puesto a disposición de los desarrolladores para llevar a cabo la estrategia SAP User Experience es SAPUI5.
¿Qué es SAPUI5?
SAPUI5 es un conjunto de librerías Javascript para el desarrollo y diseño de aplicaciones de negocio SAP basadas en HTML5. Es un framework de programación que facilita el desarrollo de aplicaciones web client-side que cumplen los principios de la SAP User Experience Strategy. Además del uso de los estándares HTML5, CSS3 y Javascript, tambien utiliza otras herramientas: jQuery, QUnit, jQueryUI, jQuery Mobile, cubiq, Zynga Scroller, LESS, DataJS, D3, JSZip, Google-Caja JS HTML Sanitizer, MobiScroll, SinonJS, URI.js, Flexis.js para el frontend y otras como oData, REST, JSON, Atom, XML para la comunicación con el backend.
A la hora de implementar estas aplicaciones SAPUI5 se pueden utilizar diferentes entornos de desarrollo como Eclipse, Visual Studio o WebStorm.
Principios de las aplicaciones SAPUI5
Las aplicaciones SAPUI5 deben cumplir los principios de la estrategia SAP User Experience:
Aplicaciones SAPUI5 orientadas a roles: Las aplicaciones SAPUI5 deben estar pensadas para los usuarios que van a utilizarlas. Sólo deben mostrar los datos que un determinado rol de negocio quiere ver y ninguno más. Se trata de dividir las transacciones que conocemos hasta ahora, en pequeñas aplicaciones orientadas a las tareas concretas del rol que las va a utilizar.
Aplicaciones SAPUI5 responsive: Las aplicaciones SAPUI5 deben ofrecer una interfaz de usuario atractiva, y a la vez sencilla e intuitiva, que ofrezca una experiencia de usuario buena y equivalente sea cual sea la plataforma o dispositivo desde la que se acceda, independientemente de versión, sistema operativo, navegador, resolución, etc.
Aplicaciones SAPUI5 simples: Las aplicaciones SAPUI5 además de estar orientadas a roles, deben ofrecer la funcionalidad de una manera sencilla y simple. En el desarrollo de aplicaciones SAPUI5 se sigue la regla 1-1-3: 1 usuario, 1 caso de uso, 3 pantallas como máximo. Si la aplicación que estamos desarrollando no puede resumirse en 3 o menos pantallas, deberemos rediseñarla o dividirla en varias aplicaciones SAPUI5.
Aplicaciones SAPUI5 coherentes: Las aplicaciones SAPUI5 deben hablar el mismo idioma. Esto se refiere a que deben utilizar elementos y estilos comunes de manera que un usuario que sepa utilizar una aplicación SAPUI5, sepa utilizar cualquiera otra. Para ello, existen themes y recursos web a disposición de los desarrolladores SAPUI5.
Aplicaciones SAPUI5 disponibles al instante: Este principio está más relacionado con las aplicaciones SAP Fiori UX enmarcadas en el enfoque RENEW de la estrategia User Experience de SAP. Se refiere a la disponibilidad de una de estas aplicaciones Fiori, que también son aplicaciones SAPUI5 ya desarrolladas y puestas a disposición por SAP que pueden instalarse y usarse en poco tiempo.
Arquitectura de las aplicaciones SAPUI5
Desarrollar una aplicación SAPUI5 significa, diseñar una interfaz y definir desde dónde se van a obtener los datos que va a tratar esta interfaz. Para ello, se utiliza el paradigma MVC, es decir:
- Modelo: Serán las fuentes de datos de los que se nutrirá la aplicación, podrán ser SAP o no SAP y podrán estar basados en diferentes formatos como JSON, XML u oData.
- Vista: Ficheros en los que se diseñará la estructura y formato de la aplicación SAPUI5 en cuestión: layouts, controles, tablas, etc. Pueden desarrollarse en los siguientes formatos: Javascript, XML, HTML o JSON.
- Controlador: Ficheros Javascript en los que se definirá la lógica de negocio de la interfaz, se atenderá a eventos, se realizarán validaciones y se crearán modelos con los cuales se pueda establecer la relación entre la aplicación y el backend de donde procedan los datos a tratar.
Fiori y SAPUI5
SAP Fiori es un conjunto de aplicaciones comerciales completamente implementadas utilizando la tecnología SAPUI5. Para la comunicación con el backend utiliza oData, y actualmente SAP ofrece casi 200 aplicaciones Fiori.
Para la implementación de nuevas aplicaciones Fiori, es necesario conocimiento sobre SAPUI5, HTML5, jQuery y oData.
Algunas ventajas que nos brinda SAPUI5
- Funciona para cualquier tipo de dispositivo (Desktop, Tablet y Móvil).
- Desarrollada para todo tipo de sistemas operativos (Windows, Linux, Android, IOS, etc.).
- Sencilla, ligera y rápida.
- Ofrece componentes gráficos de una complejidad alta que permite crear aplicaciones de negocio de un modo muy productivo.
- Su uso combinado con SAP Gateway y otras fuentes permite crear aplicaciones consumiendo fuentes de datos diversas de forma transparente al usuario.
- Permite desplegar apps de SAPUI5 en Stack SAP Java, en SAP ABAP, en un servidor estándar Java como Tomcat/WebSphere, etc.
- Posibilita aprender a desarrollar SAPUI5 con saber HTML, CSS3 y JavaScript.
- Es personalizable.
Conclusión
A nivel personal, considero que me he topado con uno de los mejores (sino el mejor) frontend framework, para el desarrollo ágil y evolutivo de aplicaciones web client-side.
El desarrollo de widgets, formularios, grillas, paneles y demás elementos interactivos, ya no es un problema con SAPUI5. La comunicación con la información a traves de los controladores también es amigable, permitiendo impactar nuestras reglas de Lógica de Negocio, con mínimos conocimientos de intérpretes basados en prototipos y por supuesto, Programación Orientada a Objetos.
En resúmen, solo necesitamos un poco de JavaScript, HTML y CSS/SASS, luego SAPUI5 hará el resto.
Links de interés:
Leave A Comment