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

ConVista y SAP Hybris: Webinar para el sector energético

El sector energético está cambiando rápidamente. Los clientes cuentan cada vez con más opciones, están conectados digitalmente, buscan respuestas a sus preguntas on line y se preocupan por el medio ambiente. Las soluciones que buscan dan forma a su manera de actuar frente al consumo de energía, agua y otras necesidades. Este es el “nuevo consumidor de energía”.

Si añadimos a esto la creciente influencia de la nube y las tecnologías móviles, nos encontramos con que la base de clientes está cambiando de un grupo homogéneo a un mercado individual. Los clientes se interesan por opciones alternativas de energía y tecnologías, a la vez que aumenta la accesibilidad a proveedores no tradicionales. Las innovaciones en energía eólica, solar y baterías están haciendo a los consumidores energéticamente independientes, permitiendo generar incluso más energía de la que necesitan y vendiendo sus excedentes.

El 22 de Septiembre a las 14h ConVista Consulting impartirá un webinar junto con SAP Hybris en el que hablaremos sobre:

  • La cartera de soluciones de SAP Hybris para el sector de la energía
  • Caso de éxito de una compañía eléctrica alemana en el aprovechamiento de la plataforma SAP Hybris con el fin de innovar en los procesos de movilidad y de pago
  • Perfecta integración en los sistemas back-end de SAP

Accede a este link para registrarte en el webinar y obtener más información

ConVistaConVista y SAP Hybris: Webinar para el sector energético
Ver más