• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Cómo llamar a SAP DMC WebServices a través de Node-RED

By s4pcademy 


¡Hola todos! Hoy me gustaría mostrarles cómo integrar fácilmente Node-RED con SAP DMC para obtener la lista de todos los SFC activos dentro de un Workcenter. Esta integración abre un mundo de posibilidades para automatizar procesos y optimizar flujos de trabajo.

¿Por qué Node-RED?

Node-RED es una herramienta de programación visual de código abierto que permite a los usuarios crear flujos lógicos complejos para aplicaciones IoT (Internet de las cosas), API y otros sistemas back-end. Fue desarrollado por IBM Emerging Technology en 2013 y desde entonces se ha vuelto popular entre los desarrolladores debido a su interfaz fácil de usar y su extensibilidad.

Con Node-RED, los usuarios pueden crear «flujos» utilizando una interfaz de arrastrar y soltar. Un flujo es una serie de nodos que están conectados entre sí para realizar una tarea específica o un conjunto de tareas. Estos flujos se pueden personalizar usando una amplia gama de nodos preconstruidos o creando nodos personalizados usando JavaScript.

Node-RED se usa a menudo para aplicaciones IoT, donde puede conectarse a varios dispositivos y sensores para recopilar y procesar datos. Sin embargo, también se puede usar para otros sistemas de back-end, como API, bases de datos y sistemas de mensajería. Su extensibilidad le permite integrarse con una amplia gama de sistemas, lo que la convierte en una herramienta poderosa para los desarrolladores que buscan crear lógicas back-end complejas.

El escenario

Sé que este escenario puede parecer sencillo, pero al aprender a integrar la API REST de SAP DMC con Node-RED, puede dar rienda suelta a su creatividad y ampliar las capacidades de su DMC para lograr cualquier cosa que pueda imaginar. Con la interfaz de programación visual de Node-RED, puede crear fácilmente flujos de trabajo personalizados que se ajusten a sus necesidades comerciales específicas.

Entonces, ¡comencemos y veamos qué podemos lograr con esta poderosa combinación de tecnologías!

requisitos previos

  • una «clave de servicio» creada dentro de SAP BTP – subcuenta DMC
    • URL del token de autenticación
    • URL de autenticación
    • Identificación del cliente
    • clave de cliente

SAP DMC expone una gran cantidad de servicios «estándar» que podrían usarse a través de muchos lenguajes de programación diferentes, como:

  • Java
  • JavaScript
  • ABAP
  • otros

y al llegar a la documentación oficial (https://api.sap.com/package/SAPDigitalManufacturingCloud/rest) puede ampliar su horizonte y conocer todos los servicios (antiguos y nuevos) disponibles con el fin de ampliar su entorno SAP DMC.

¡Empecemos!

Cree un nuevo flujo dentro de Node-RED e instale una nueva biblioteca llamada «node-red-contrib-oauth2»:

este nodo se utilizará para obtener el token del portador y organizar la llamada API REST.

Ahora, en nuestro flujo desde cero, agregue un nodo «inyectar» y luego adjunte el nodo OAUTH:

y ahora configure el código oauth2 como sigue:

  • Tipo de concesión: Credenciales del cliente
  • URL del token de acceso: abra la subcuenta SAP BTP DMC (cloudfoundry), vaya a «Instancias y suscripciones», vaya a «Instancias» y abra la clave, aquí, verifique la «url» y adjunte al final de la url «/oauth/token»
  • Identificación del cliente: busque la identificación del cliente
  • Secreto del cliente: busque el secreto del cliente

Si todo está bien, dentro de “msg.oauth2Response.access_token” estará nuestro token de portador y ¡estaremos listos para hacer nuestra primera llamada!

Ahora, agregue un «código de función» para preparar el encabezado de la llamada HTTP y pegue este código dentro:

msg.headers = {
Authorization: "Bearer " + msg.oauth2Response.access_token}
return msg;

ahora agreguemos el HTTP en el nodo, esto se usará para realizar una solicitud «Obtener» dentro de SAP DMC, en particular:

https://api.sap.com/api/sapdme_sfc/prueba

(¡aquí puede configurar su entorno y probar la API expuesta por SAP DMC! Esto es útil para obtener la URL que se usará dentro de Node-RED).

Agregue el nodo HTTP IN:

y configurarlo como:

URL interna: obtenga la URL de la «prueba», por ejemplo, para nosotros, estamos en el entorno «Demo», por lo que la URL es como:
https://api.test.eu20.dmc.cloud.sap/sfc/v1/sfcsInWork?plant=ZZZ&resource=YYY reemplace ZZZ con su planta y YYY con su nombre de recurso.

Nota importante: la url depende del servidor donde esté desplegado tu BTP, en este caso estamos en EU20, y este es un entorno Test.

Ahora, agregue un nodo «Depurar» para imprimir el resultado:

Y ahora, intentemos haciendo clic en Inyectar nodo y verifiquemos el resultado de la depuración:

Como puede ver, obtuvimos la lista de SFC (en este caso es solo uno) que están disponibles dentro de nuestro Workcenter dado.

Node-RED es una herramienta extremadamente poderosa que permite una fácil integración con SAP DMC. Al acceder a las API REST expuestas por SAP DMC a través del enlace proporcionado anteriormente, los usuarios pueden planificar y crear sus propios flujos lógicos personalizados utilizando Node-RED. Esto hace posible crear soluciones a medida que son específicas para las necesidades de empresas individuales, utilizando una interfaz de programación visual fácil de usar.




Flujo de datos de extracción BAPI de ECC a BW/BI
Previo
Protección de datos de la interfaz de usuario: cómo funciona el método de revelación mejorada en el escenario de enmascaramiento cuando el tipo de revelación está configurado como autoservicio en SAP GUI
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.