SAP Mazinger Z

El título de este artículo sólo lo entenderán los Boomers y los Milenials como yo. Mazinger Z eran unos dibujos animados japoneses sobre un niño y un súper robot acojonante que luchaba con otros robots acojonantes u otros bichejos. Tampoco lo recuerdo mucho.

El tema del que vamos a hablar no son los dibujos, no os preocupéis, pero el nombre me venía perfecto para lo que quería explicar.

El caso es que SAP es una herramienta estándar, de caja, instalar, configurar y listo. Esa es su ventaja competitiva, y eso es por lo que los clientes pagan las licencias tan baratas que cobra SAP. Eso es lo que le ha traído aquí a estar donde está, y lo que ha hecho que sus competidores vayan saliendo con sus soluciones «Out of the box» al igual que SAP (Salesforce, Oracle, Microsoft, etc).

Out of the box

Pero en ocasiones, como los niños o los gatos.

A ciertos clientes y consultores lo que les gusta es jugar con la caja y no con el contenido.

Entienden que lo divertido es lo que ponga en la caja del software pero los procesos estándar, aplicaciones, integraciones no se adecúan a ellos.

Es aquí donde nace SAP Mazinger Z, poco a poco empresas, consultores y desarrolladores van construyendo una especie de sistema paralelo al sistema estándar.


Ampliaciones en SAP

Pero ¿por qué he traído el nombre de Mazinger Z? Porque en SAP, las ampliaciones de cliente se realizan, normalmente, con el prefijo Z. Hay locos que usan ‘Y’, pero esa gente quiere ver el mundo arder.

Yo entrando en un proyecto donde las ampliaciones comienzan por Y

Y claro, ceñirse al estándar es, en ocasiones, más difícil que hacerte un Mazinger Z monstruoso.

El primer nivel que debe controlar esto es el propio cliente, que es el dueño del negocio y es el que compra el producto (SAP) y debe ser consecuente con esa decisión.

Nadie compra un Ferrari para llevar una caravana

El segundo nivel es la consultoría. Como consultores tenemos la obligación de conocer la herramienta y saber adaptar el negocio del cliente manteniendo, en la medida de lo posible, el estándar. Ofrecerle al cliente las mejores prácticas tecnológicas de un software usado por miles de empresas. En definitiva, ser un buen consultor.

Presas del desarrollo

Y es que, en ocasiones, los sistemas se modifican tanto o se crean tantos procesos no estándar y tan complejos (y mal codificados/documentados) que el cliente y la consultora se hace presa del desarrollo realizado. En ocasiones me he encontrado con semidioses intocables, creadores del averno codificado, que están ahí porque son los padres de la fiera y los únicos que saben domarla. Se han convertido en los dueños del Mazinger Z.


Upgrades y actualizaciones estándar

Porque claro, cuando se compra una herramienta como SAP se paga una licencia anual que, entre otras cosas, te asegura el soporte y mantenimiento de la herramienta estándar, corrigiendo errores vía Support Packages o Notas. Además puedes querer o necesitar un upgrade a una nueva versión superior.

Cada vez que SAP lanza una actualización, los desarrollos Z pueden generar incompatibilidades que requieren tiempo y recursos adicionales para ser resueltos, afectando la agilidad del negocio.


Futuro y tendencia

Con el avance de las plataformas Low-code y No-code, el futuro del desarrollo en sistemas ERP podría orientarse hacia configuraciones cada vez más sofisticadas sin necesidad de recurrir a desarrollos complejos, facilitando el mantenimiento y las actualizaciones. Ejemplos de esto en SAP seria, SAP Build, SAP Build Code, Github Copilot, Microsoft Power Platform, etc.


En conclusión

El desarrollo dentro de suites como SAP es, sin duda, necesario, pero, como consultores, tenemos que conocer la herramienta y sus posibilidades, saber si de una manera u otra los requerimientos del negocio pueden ser satisfechos configurando la herramienta y, finalmente, si es necesario un desarrollo, acotar bien el alcance del mismo.

En un mundo donde la tecnología evoluciona rápidamente, saber cuándo y cómo construir tu propio ‘Mazinger Z’ dentro de SAP puede ser la diferencia entre un sistema que empodera a tu negocio y uno que lo atrapa en su propia complejidad.

SAP Build

Vamos a entrar en la harina de SAP Build, hemos ido preparando el terreno con los artículos  Low-Code / No-Code y SAP BTP – Business Technology Platform (el que no los haya leído es una buena base para esto que vamos a contar). Ahora toca entrar en la suite de Low-Code/No-Code y RPA de SAP, SAP Build. 

De cara a entender bien este artículo os recomiendo la realización de los cursos (gratuitos):

Como comenté en el artículo de Low-Code / No-Code, SAP compró la empresa AppGyver para potenciar la parte de Low-Code y automatización, de ahí SAP creó SAP Build Apps. Además está cimentado sobre SAP BTP como framework de trabajo. Pero SAP Build no es sólo eso, tiene tres áreas fundamentales, cada una especializada en un propósito:

SAP Build Apps

Inicialmente llamado AppGyver, con SAP Build Apps podemos realizar, arrastrando cajitas, aplicaciones web o de movilidad sin necesidad de tirar ningún código. Un ejemplo sacado de la cuenta oficial de SAP:

¿Podrías ir más rápido por favor?

A ver, va a toda máquina y nos perdemos un poco, pero el concepto es que, sin necesidad de desarrollar código es capaz de hacer una aplicación. Contamos con un área de trabajo con zonas bien diferenciadas:

No voy a explicarlo todo, que para eso está el curso que es ameno y fácil. Pero básicamente tenemos:

  • Canvas: El lienzo propiamente dicho, donde se van a poner los componentes visuales.
  • Listado de componentes: Donde poder usar botones, campos de texto, labels, checkbox, imágenes, etc. Sólo con arrastrar y soltar en tu lienzo ya lo tienes.
  • Propiedades: Para cambiar las propiedades de los componentes. Nombre, texto, etc…
  • Logic Pane: Muy importante. Abajo a la derecha hay un enlace «Add logic to…» para darle lógica a los botones, campos, etc. Solo tenemos que seleccionarlo y darle la lógica que queramos.
  • Data: Arriba tenemos otro botón importante, este para especificar una BBDD o bien una definir la llamada a un servicio REST.
  • Launch: Para probar nuestra App.
Ejemplo de una App creada por mi en Sap Build que genera un prompt para GPT, lo lanza contra la API y muestra el resultado (ya lo explicaré)

El resultado es una app móvil o web de este tipo:

Y con resultado de GPT

No es Gustavo Adolfo Bécquer

En otro artículo desgranaré cómo he creado esta aplicación en el SAP Build de pruebas que proporciona SAP.


SAP Build Process Automation

La aplicación SAP Build Process Automation combina gestión de Workflows y RPA (Robotic Process Automation) con herramientas visuales para hacer procesos sin necesidad de programar. Se apoya en la Inteligencia Artificial para adaptarse y saber leer el contenido de facturas, pedidos u otros documentos.

Con SAP Build Process Automation se puede hacer:

  • Crear Workflows con el inicio en un formulario o en el escaneo de un documento. Dichos workflows pueden contener formularios de aprobación, ramas condicionales, automatizaciones (RPA), iniciar otros workflows o usar contenido preconfigurado (como las librerías de Python)
  • Crear robots (RPA) para la realización de tareas repetitivas o tediosas, como extraer datos de documentos para pasarlos a nuestro sistema, o enviar emails automáticos. Todo esto pudiendo apoyarse en la Inteligencia Artificial para reconocer datos de las facturas y documentos. Se pueden crear robots como «cajas negras» de funcionalidad para ser llamadas en otros procesos como si fuesen una API (librerías).
  • Usar las automatizaciones ya preconfiguradas en la herramienta en nuestras propias automatizaciones.
  • SAP Build Process Automation contiene un Dashboard para monitorizar todos los workflows y automatizaciones.

Para ver ejemplos podemos pasarnos por el canal de youtube SAP Build Process Automation donde podemos ver videos demostrativos tan interesantes como este, que toma un documento y saca los datos de factura y comienza un proceso de aprobación.

A esto se le puede añadir Inteligencia Artificial para que, en vez de tener que tener una plantilla de campos, sepa identificarlos «viendo» el documento.


SAP Build Work Zone

Y por último, pero para nada menos importante. Tenemos el SAP Build Work Zone que es una plataforma donde los usuarios y administradores pueden crearse sus propios sitios web usando múltiples herramientas y tomando información tanto de aplicaciones SAP como externas.

Es complicado de entender y el papel lo soporta todo. Pero imaginaos que tenemos una herramienta donde poder crearnos nuestros sitios web con el resumen de todo lo que necesitamos en nuestro día a día, tanto interno de SAP como externo. Una especie de Cuadro de mando. Además de esto los administradores también pueden crear espacios de trabajo colaborativos, con foros, feeds, base de datos de conocimiento, etc… Y más aún, puedes compartir tus sitios creados o entrar en sitios creados por tus compañeros o los administradores.

¡¡Vaya!! ¿Dónde puedo comprar esto?

Todo esto, por supuesto, con tecnología Low-Code/No-Code. Usando el ratón y arrastrando y soltando. ¿Te lo crees? Pues yo a medias… 😅 Una cosa es poder crear páginas con datos y otra es ver cómo conectar las fuentes de datos a esos datos.

Versiones de SAP Build Work Zone

Hay dos versiones disponibles en el mercado las cuales no tienen nada que ver entre sí (cosas de SAP).

  • Standard Edition: Realmente es el antiguo Launchpad Service. SAP lo renonombró supongo que por temas de marketing, pero no tiene nada que ver con SAP Work Zone Advanced. Se trata de un servicio a activar en SAP BTP para ser usado y es tecnología SAPUI5.
  • Advanced Edition: Es el Work Zone que se presenta en los videos, imágenes y presentaciones. No tenemos acceso a probarlo porque lo que te deja SAP es probarlo en un sistema Trial de BTP y eso solo te permite activar el servicio de SAP Build Work Zone Standard Edition. Podeis ver más información al respecto en el Help de SAP. Si veo que hay interés quizás haga una entrada sobre esta parte que es la más «oscura» del ecosistema SAP Build.

Builders Beyond Code

El pasado 5 de Septiembre de 2023 hubo un evento en vivo en LinkedIn de SAP sobre SAP Build donde se habla de SAP Build y se muestran ejemplos y funcionalidades,.

https://www.linkedin.com/posts/sapbuild_builders-beyond-code-the-future-belongs-activity-7093159080948547585-MB2q?utm_source=share&utm_medium=member_android
Link al evento en LinkedIn

En este evento se muestran ejemplos de todas las herramientas de la suite SAP Build. En concreto es muy interesante la parte en la cual Daniel Wroblewski muestra la funcionalidad en vivo (a partir del minuto 43). Donde muestra funcionalidades tan interesantes como:

  • SAP Build Apps (minuto 1:03): Crea una aplicación en 5 minutos que se conecta con un S/4 y muestra una lista de BPs.
  • SAP Build Process Automation (minuto 1:08): Cada vez que alguien cree un BPs de tipo individual en el sistema S/4 que se quiera relacionar con otro BP de tipo organización se lanzará un workflow de aprobación para que alguien apruebe esa creación. Pero en este caso no explica cómo ha hecho el RPA, simplemente muestra el resultado. Mal por Daniel.
  • SAP Build Process Automation (minuto 1:13): Usa la web www.rpachallence.com para demostrar que con RPA se pueden tomar datos de un excel, pasar cada campo a un campo del formulario y darle al botón.
  • SAP Build Process Automation (minuto 1:15): Copia un Proyecto del Store de SAP Build que envía mails vía outlook. Vamos que descubre el fuego. Realiza el envío de email vía un formulario externo, pero no le funciona (cosas del directo). El objetivo de esta demo era demostrar que, partiendo de un documento, word, pdf o excel de un evento con participantes, usando RPA puedes automatizar el envío emails de certificados de participación a todos los participantes.

No realiza ninguna demo de SAP Build Work Zone. 😥, supongo que por el mismo motivo por el cual no tenemos acceso a un SAP Build Work Zone de Trial. El resto de la charla es una ronda de preguntas acerca de procesos de negocio.


Mi Opinión

Creo que esto es otra tendencia a nivel de software empresarial. Las empresas de software tienen claro que democratizar el desarrollo les hace imprescindibles y se «controla» el desarrollo a medida sin control. Además es algo que se vende muy bien a los CIOs y CEOs de las empresas.

No obstante, creo que le queda mucho a todo esto para que sea una realidad palpable. La gente, con suerte, sabe pedir sus requerimientos a nivel tecnológico, como para saber implementarlos. El negocio va a seguir necesitando, y mucho, a consultores que traduzcan entre lenguajes. Y al final da igual que el consultor tenga que desarrollar 10.000 líneas de código en 3 meses, que tenga que hacer una app Low-Code/No-Code en 3 meses.

SAP BTP – Business Technology Platform

En un proceso de autoaprendizaje que estoy realizando, en el marco del estudio para la certificación de SAP Build Platform realicé el curso «Discovering SAP Business Technology Platform«.

Mira lo que me han dado hoy con el periódico

Donde te da una introducción de las características y posibilidades de SAP BTP.

BTP ya lo conocía anteriormente al ser el framework donde se configura la posibilidad de tener aplicaciones Fiori, la integration suite de CPI y la gestión de usuarios y roles. Pero el curso me ha parecido muy interesante y enriquecedor, además de que es ameno.


¿Qué es SAP BTP – Business Technology Platform?

SAP BTP es una plataforma integrada y basada en la nube que combina servicios de desarrollo de aplicaciones, automatización de procesos, Integración, Gestión de datos y analíticas e Inteligencia Artificial en un solo lugar.

Esto significa que BTP es el Framework de desarrollo de soluciones en la nube donde aglutinar ciertas configuraciones o autorizaciones para todas esas soluciones.


¿Cómo se organiza SAP BTP?

Pues tenemos varios nodos jerárquicos:

  • Global Account: Es la cuenta relevante al contrato que el cliente hace con SAP para otorgarle los servicios de SAP BTP.
  • Subaccounts: Las Subcuentas te permiten estructurar una Cuenta Global de acuerdo a los requisitos de tu organización y proyecto en términos de miembros, autorizaciones y derechos. Una Cuenta Global puede contener una o más Subcuentas en las que despliegas aplicaciones, utilizas servicios y gestionas tus suscripciones.
  • Directory: Los Directorios te permiten organizar y gestionar tus Subcuentas de acuerdo a tus necesidades técnicas y de negocio. Un Directorio puede contener Directorios y Subcuentas para crear una jerarquía. El uso de Directorios para agrupar otros Directorios y Subcuentas es opcional, aún puedes crear Subcuentas directamente bajo tu Cuenta Global.
  • Entitlements: Un Entitlement es tu derecho a aprovisionar y consumir un recurso. En otras palabras, los Entitlements son los planes de servicio a los que tienes derecho a usar.

¿Qué ofrece SAP BTP?

Todos estos servicios:

Este esquema de memoria, caerá en el examen

Resumen

Por resumir mucho, mucho, de lo que tenga que ver con Cloud en SAP va a pasar por BTP casi con seguridad. Y lo interesante es que es muy útil para organizar tecnológicamente la empresa a nivel de aplicaciones, permisos y autorizaciones.


SAP BTP Neo vs SAP BTP Cloud Foundry

En el momento en el que estamos cabe diferenciar dos versiones muy distintas de SAP BTP.

Por un lado está la versión Neo que es un BTP alojado en los servidores de SAP, con software propietario y en estado de ser discontinuada.

Por otro lado está la versión Cloud Foundry que es un BTP bajo los estándares Open Source de Cloud Foundry, que puede ser alojado en cualquier Hyperscaler (cómo AWS, Microsoft Azure, Google Cloud Platform o Alibaba Cloud) y se enmarca dentro de un estándar Open Source mucho más versátil, flexible y escalable.

No sé porqué ponen primero Cloud Foundry, cuando el orden es inverso, pero así está

Es posible que todavía veáis muchas implementaciones de SAP BTP Neo, que poco a poco irán migrando a Cloud Foundry (cosa que no es directa). Con la versión Cloud Foundry se permite, como podéis ver, tener aplicaciones en lenguajes tan interesantes como Python, Go, Ruby y usarlas para nuestros desarrollos.

Madre mía ¡Qué imagen! Esto, según SAP, esto hace de todo.

Quiero probar SAP BTP

Para probar SAP BTP podemos pedir un entorno Trial en Try and buy SAP Business Technology Platform dándole al apartado:

Acceso a el Trial de BTP de 90 días

Aquí tendremos que registrarnos y tendremos acceso a un sistema SAP BTP durante 90 días. Podemos logarnos con nuestro usuario SAP Universal ID.

Seleccionamos Región
Después de un tiempo tendremos nuestro BTP de pruebas configurado
Entramos en el BTP de Trial
Mensaje que nos informa que el sistema tendrá 90 días de validez
En el apartado de servicios podemos ver los servicios BTP que se pueden activar
En este caso he buscado SAP Build Apps y con darle a Create se activará el servicio en BTP

SAP BTP Tutoriales

Si vemos en el Trial tenemos a nuestra disposición una serie de tutoriales para demostrar las diversas funcionalidades que tiene SAP BTP.

Donde tenemos tutoriales tan interesantes como:

  • Use Machine Learning to Process Business Documents
  • SAP BTP ABAP Environment: Create and Expose a CDS-Based Data Model
  • Build an SAP Fiori App that Consumes Data from an On-Premise System
  • Build an iOS and MacOS App with One Code Line Using SAP BTP SDK for iOS
  • Build an SAP Fiori App Using the ABAP RESTful Application Programming Model [RAP100]
  • Build Your First Chatbot with SAP Conversational AI
  • Get Started with SAP BTP SDK for Android

Como hemos visto SAP BTP, si bien se pueden desarrollar directamente aplicaciones en él y puede tener su propia base de datos, su uso principal es como Framework de despliegue y desarrollo de aplicaciones (servicios). Creo que este camino es el correcto, por un lado hacer una plataforma open source donde se pueda desarrollar e implementar diversas soluciones de diversas tecnologías. Y por otro que SAP deje «jugar» con sus aplicaciones con versiones Trial y tutoriales y cursos gratuitos.

Low-Code / No-Code

Hoy voy a sentar las bases de algo que muchos de vosotros ya conocéis, incluso mejor que yo, y de lo que vamos a hablar más en profundidad en futuras entradas del blog.

El concepto de Low-Code/No-Code

La idea detrás del desarrollo Low-Code/No-Code es simple pero impactante: ¿por qué no hacer la creación de aplicaciones accesible para todos, independientemente de su nivel de habilidad técnica? El Low-Code y No-Code son enfoques de desarrollo de software que minimizan la necesidad de codificación manual.

El desarrollo Low-Code implica el uso de interfaces gráficas de usuario para construir aplicaciones, utilizando una pequeña cantidad de código escrito a mano. Por otro lado, el No-Code va un paso más allá, eliminando por completo la necesidad de codificación, permitiendo a los usuarios construir aplicaciones completas a través de interfaces de arrastrar y soltar.

Citizen Developer vs Professional Developer

El concepto de desarrollador se parte en dos cuando hablamos de soluciones Low-Code/No-Code. Aparece un nuevo tipo de desarrollador llamado Citizen Developer. Un Citizen Developer es un individuo que, aunque no posee una formación profesional en programación o desarrollo de software, utiliza herramientas y plataformas de desarrollo low-code o no-code para crear aplicaciones o mejorar los sistemas y procesos de software en su organización. Por otro lado un Professional Developer es lo que conocemos en el mundo TI de un desarrollador de software con amplios conocimientos técnicos. Esto no implica que un Professional Developer no pueda y deba usar soluciones Low-Code/No-Code. Al revés, su uso servirá para aumentar su rendimiento, productividad, y a gastar energías en los procesos realmente complejos e importantes.

Low-Code/No-Code en el Entorno SAP

En el mundo SAP, la adopción de estos enfoques ha estado ganando terreno. SAP ha lanzado varias herramientas y plataformas para apoyar el desarrollo Low-Code/No-Code. En 2021, SAP adquirió AppGyver, pionera en plataformas de desarrollo sin código que permiten a los usuarios sin conocimientos de codificación crear aplicaciones para uso web y móvil.

Posteriormente SAP creó las SAP Build Apps en SAP BTP que evolucionaron a partir de SAP AppGyver y otras tecnologías de SAP. SAP Build Apps añade capacidades adicionales de creación de aplicaciones para su uso en empresas que abordan las necesidades de autenticación, integración de datos y gestión del ciclo de vida. Ya hablaremos más adelante de SAP Build y todo su ecosistema.

Además, dentro del SAP Business Application Studio también tenemos opciones de usar soluciones de Low-Code para ayuda a los desarrolladores a ser más productivos.

Low-code/No-Code y la Inteligencia Artificial

SAP también ha estado trabajando en integrar el desarrollo Low-Code/No-Code con tecnologías emergentes, como la Inteligencia Artificial (IA) y el Machine Learning. Por ejemplo, SAP Build Process Automation permite a los usuarios automatizar procesos de negocio con un enfoque Low-Code, combinando RPA con IA y Machine Learning para crear soluciones inteligentes y escalables.

Low-code/No-Code en otras tecnologías (Microsoft)

Microsoft, uno de los principales proveedores de software y soluciones de desarrollo e implementación de procesos y sistemas de TI, está muy volcado en lo que a tecnología Low-Code/No-Code se trata (y de paso en Inteligencia Artificial también) para ello cuenta con su suite de Microsoft Power Platform que junto con aplicaciones como Power BI, Power Apps, Power Automate, etc. Proporciona un conjunto de aplicaciones muy potentes y con un enfoque low-code.

Esto es el presente amigos y amigas, no significa que esto haga de menos los méritos para ser un buen programador, es una herramienta más, como el chequeo de código al activar, el formateado automático o la gestión de versiones. Habrá que saber usarlo y adaptarse y, lo primero, es saber qué es y qué usos tiene.