Mendix: Desarrollo rápido de aplicaciones en plataformas digitales

Por Alfred Roig, Managing Partner ConVista Consulting

En este artículo, seguimos inmersos en el proceso de transformación digital de nuestras compañías.

Tenemos a nuestro alcance múltiples plataformas digitales como SAP Cloud Platform, Microsoft Azure, Google Cloud Platform, Amazon Web Services (AWS) o IBM Bluemix entre otros muchos, que nos ofrecen una plataforma tecnológica como servicio donde podemos construir tanto productos y servicios innovadores como digitalizar y mejorar la eficiencia de nuestros procesos empresariales.

Nos hemos sumergido en el argot de las tecnologías digitales como IoT, Blockchain, Big Data e Inteligencia Artificial, pero ahora toca ponernos manos a la obra. Para desarrollar las ideas innovadoras de negocio con nuestras plataformas digitales y las tecnologías mencionadas, tenemos que crear aplicaciones.

Nuestro principal reto es construir estas aplicaciones digitales para ser consumidas por nuestro ecosistema de clientes, empleados, proveedores, partners y otros facilitadores del negocio.

Aquí es donde muchas empresas encuentran una gran barrera. En nuestro caso en particular, ConVista trabaja con muchos clientes cuyo software principal es el ERP de SAP. Los equipos internos de IT están familiarizados con el lenguaje de desarrollo ABAP y en el mejor de los casos están realizando una transición hacia el desarrollo web mediante SAP UI5 y Fiori.

El desarrollo web ha cambiado mucho en los últimos años y seguirá en constante cambio. Los frameworks, librerías y lenguajes de desarrollo van evolucionando y las tendencias de uso van cambiando, siendo muchas veces las empresas nativas digitales como Facebook, Twitter o Google quienes promocionan y desarrollaron algunas de las tecnologías que luego se liberaran al gran público y acaban estableciéndose como tendencia.

Muchos habréis leído o escuchado hablar sobre Angular, React, Vue, librerías como jQuery y sobre todo la base de toda aplicación web moderna HTML5, Javascript y CSS3. Si profundizamos en temas de inteligencia artificial aparecen lenguajes y librerías de Python, bibliotecas y frameworks como Tensorflow de Google, todo un mundo de tecnologías que nos hacen reflexionar en cómo abordar el desarrollo de estas aplicaciones.

En muchos casos, las empresas que comentamos tienen una experiencia en aplicaciones web que se reduce a la web corporativa, el portal del empleado, portal de proveedores o e-commerce, que generalmente son aplicaciones que o bien se han realizado externamente o son paquetes pre-configurados.

A las tecnologías de desarrollo web mencionadas anteriormente, tenemos que sumarle conceptos como Devops y Design Thinking, así como las metodologías ágiles de proyecto como Scrum. Es decir, tenemos que sumar no sólo cambios técnicos sino también culturales.

El desarrollo de aplicaciones digitales, se convierte en un reto muy complejo cuyo principal problema que podemos anticipar es el time to market para llegar a tener estas aplicaciones en marcha.

Para reducir los tiempos de desarrollo de aplicaciones, existen en el mercado soluciones de software conocidas bajo distintos nombres: hpaPaaP (High Productivity Applications Platform as a Service), Low-Code Development Platforms, RAD (Rapid Application Deployment) y para algunos casos de uso muy concretos BPM (Business Process Management) y Workflow, que permiten crear aplicaciones para la gestión de procesos.

En este artículo os quiero hablar de Mendix. Mi primer contacto con Mendix fue en 2014, por aquel entonces mis compañeros en ConVista South Africa desarrollaron una aplicación web para uno de sus clientes del sector asegurador y estaban asombrados de la rapidez con la que habían logrado poner en marcha la idea.

En septiembre de 2017, SAP anunció el acuerdo de distribución de la plataforma Mendix dentro del portfolio de SAP con el nombre SAP® Cloud Platform Rapid Application Development, actualmente disponible como servicio en SAP Cloud Platform.

Mendix es una plataforma de desarrollo rápido de aplicaciones web y móviles sin necesidad de código (Low-code).

La plataforma Mendix posibilita adoptar la metodología ágil de desarrollo Scrum en el mismo software, proporcionando una herramienta colaborativa de desarrollo compartida entre desarrolladores, analistas de negocio y usuarios finales.

La plataforma facilita el uso de la cultura Devops posibilitando la integración continua de cambios y la entrega y publicación de versiones continuada sin necesidad de conocer múltiples soluciones de software.

Mendix fomenta el uso de estándares en varios aspectos. El modelado de datos sigue el patrón UML, el diseño de la lógica de negocio se realiza mediante flujos en nomenclatura BPMN, las llamadas a funciones externas se realizan mediante REST API y conectores OData y un sinfín más de tecnologías con estándares abiertos.

A nivel de experiencia de usuario, Mendix proporciona un entorno visual adaptado para aplicaciones web de escritorio, tablets y móviles. El framework de desarrollo proporciona árboles de navegación para toda la aplicación y un entorno de páginas donde configuramos nuestros formularios, tablas con información, gráficos, etc. a través de arrastrar y soltar los componentes.

Construir una aplicación se realiza a base de configurar las páginas visuales y mapear los elementos visuales con el modelo de datos de la aplicación y configurando la integración con APIS o conexiones con bases de datos externas. La construcción es muy intuitiva, se piensa en los eventos que dispara o recibe cada componente y las reglas de negocio se modelan en los llamados microflows.

Toda la aplicación se gestiona desde un árbol de carpetas y nodos que contienen los distintos objetos: Páginas, Microflujos, Librería de imágenes, Modelo de datos, Seguridad, etc.

De las cosas que más nos gustan de Mendix figuran las siguientes:

  • Entorno integrado que cubre todo el ciclo de vida de la aplicación
  • Desarrollo visual rápido con captura de feedback de usuarios
  • Uso de estándares para llamar a nuestros servicios de la plataforma digital
  • Desarrollo y mantenimiento de las Apps comprensible por usuarios y analistas
  • Facilita el uso de metodologías de desarrollo ágil
  • Acceso a componentes pre-configurados y a una comunidad de desarrolladores
  • Desarrollo de Apps para Desktop, Tablet y Móvil en un solo entorno
ConVistaMendix: Desarrollo rápido de aplicaciones en plataformas digitales
Ver más

SAP is sexy – Características de SAP Fiori

Desde hace un tiempo SAP lleva insistiendo en la idea de mejorar la experiencia de usuario al utilizar sus aplicaciones. En este contexto surge SAP Fiori, como un conjunto de aplicaciones que harán a los usuarios disfrutar de una experiencia más fácil, personalizada e intuitiva y que además es compatible con múltiples dispositivos. 
 
Con SAP Fiori se reduce el tiempo de gestión de cada proceso, logrando así aumentar la productividad y por tanto la satisfacción de los usuarios respecto al trabajo diario. La calidad de los datos se ve mejorada, ya que resulta más fácil introducir la información requerida en el sistema. Por otro lado, al ser un sistema más sencillo e intuitivo basado en roles, los costes de formación de los usuarios también se ven reducidos.
 
Gracias a las herramientas de desarrollo de SAP se pueden construir diversas aplicaciones de manera personalizada. El diseño de estas aplicaciones ha de seguir ciertas directrices, como que sea coherente, basado en roles, simple, que facilite el trabajo de los usuarios y sea accesible sin importar el dispositivo que se esté usando en ese momento.
 
Sap Fiori supone una nueva forma de interactuar con un sistema ERP, lo que se traduce en un impacto directo en la implementación de SAP, teniendo en cuenta las responsabilidades de los usuarios a lo largo de las diferentes áreas funcionales de una organización.
Esta tecnología aplicada a SAP Simple Finance ayuda a una gestión de los pagos y los cobros más eficiente y en tiempo real, reduciendo el tiempo dedicado a la realización de estas tareas, simplificando los procesos y facilitando la labor de los departamentos financieros. Un ejemplo de ello puede verse aquí:
 
 
Tal y como anunciaba Gartner hace ya algunos meses, la cuestión no es si adoptar SAP Fiori o no, sino de cuándo y cómo. Aunque los clientes actuales de SAP no están obligados a adoptar SAP Fiori, parece ser que es solo cuestión de tiempo que finalmente terminen haciéndolo.
ConVistaSAP is sexy – Características de SAP Fiori
Ver más

Mejorar la experiencia de usuario con SAP Screen Personas

Que SAP es feo, poco intuitivo y no muy atractivo a simple vista son algunas de las quejas que se oyen de los usuarios bastante a menudo. Sin embargo, desde hace ya un par de años SAP está poniendo remedios para solucionar esta situación y hacer que la experiencia del usuario sea más positiva.
 
Precisamente con SAP Screen Personas se puede personalizar la interfaz de SAP en función de los roles y preferencias de cada usuario, sin necesidad de programación, facilitando de este modo el trabajo diario, proporcionando más agilidad en los procesos y aumentando en consecuencia la productividad y la usabilidad de SAP.
 
¿Pero, qué ventajas ofrece SAP Screen Personas?
  • Simplificación y personalización de pantallas según roles
  • Entrada de datos más rápida y flexible
  • Reducción de costes de formación
  • Aumento de la calidad de los datos

SAP Screen Personas

Al ser más intuitivo, los usuarios adoptan el sistema de forma fácil y rápida, sin necesidad de memorizar complicadas transacciones. También ayuda a simplificar los modelos de negocio, al reducir el número de pantallas necesarias para realizar una acción y por tanto agilizando la toma de decisiones.
 
La actual versión SAP Screen Personas 3.0 está construida en SAP GUI para HTML5, basada en JavaScript y cuenta con una arquitectura simplificada, añadiendo más funcionalidad al back-end para mejorar el rendimiento. Además, también es posible la personalización de SAP S/4 HANA a través de la plataforma SAP FIORI.
 
SAP Screen Personas forma parte de un proceso de mejora que parte de la identificación de los procesos de una compañía, pasando por la simplificación de los mismos, el análisis de los datos y la construcción de las pantallas, para por último, automatizar aquellos procesos que sean necesarios. Para lograrlo, será necesaria la implicación de un experto en procesos de negocio, que se encarga de determinar los roles, las tareas y las necesidades de los usuarios; un experto en diseño, que se encargará de crear una solución preliminar así como de validar los aspectos técnicos. Por último el experto en SAP Screen Personas será quien lleve a cabo la implementación de la solución.


Se puede consultar más información sobre el tema en el siguiente enlace 

ConVistaMejorar la experiencia de usuario con SAP Screen Personas
Ver más