Blog de Amazon Web Services (AWS)

Integrando SAP ERP con Alexa

Por Felipe Chirinos, Senior Solutions Architect, Multi-Country Organization (MCO) LATAM

 

Miles de clientes a nivel mundial ya se benefician de haber migrado sus cargas de trabajo SAP a AWS. Sin embargo, las ventajas de tener ambientes SAP sobre AWS van más allá de la escalabilidad, robustez y optimización de costos.

En este blog mostraremos un caso de ejemplo práctico de integración entre nuestra asistente virtual Alexa con SAP ERP, mediante nuestro servicio de cómputo sin servidores AWS Lambda. A través de comandos de voz realizaremos aprobaciones de ordenes de compras generadas en el sistema SAP ERP.

Es importante recalcar que este es un ejemplo por lo que no debe ser considerado como una solución final para implementar en ambientes productivos.

 

Arquitectura de solución

La arquitectura de esta solución se basa en la implementación de función Lambda que será invocada mediante Intents definidos en Alexa. Está función implementarán la lógica de negocio y se comunicaran directamente con AS ABAP para ejecutar acciones en el sistema SAP ERP como lo explica el siguiente diagrama:

 

Prerequisitos

Los siguientes son los prerequisitos:

  • SAP NetWeaver ABAP 4.6C o superior (ECC, S4, BW, …)
    • SAP RFC usuario y password con perfiles asociados.
  • SAP S-User para descargar RFC Netweaver Lib
  • Cuenta de desarrollador en Alexa Console (https://developer.amazon.com/alexa/console/ask)
  • SAP Business Workflow y Estrategias de Liberación configurados para trabajar aprobación de Órdenes de Compra.
  • Grupo de Seguridad para VPC que permita comunicación desde función Lambda hasta VPC privada en puerto 33 <número de instancia ABAP>.

Paso a Paso

Paso1: Creación de Layer Lambda

Para lograr la comunicación entre Lambda y AS ABAP crearemos un Lambda Layer que incluya driver PyRFC provisto por SAP para desarrollo en Python. La guía paso a paso en el siguiente link.

Paso2: Creación de Funciones Lambda

El endpoint con la lógica de para responder a Intents de Alexa corresponde a una función Lambda escrita en Python. Para acceder al paso a paso y código ejemplo ingresar aquí.

Paso3: Implementar modelo en Alexa

Luego de generar la función Lambda que actuará como Handler para el Skill de Alexa, procedemos a implementar el modelo de interacción de Alexa. Es aquí donde se definen las solicitudes que el usuario puede hacer a Alexa y que método de la función será el que ejecute acción. La guía paso a paso aquí.

Conclusión

Con el ejemplo presentado en este blog podemos entender lo sencillo que resulta conectar SAP con los servicios de AWS. De esta manera es posible pensar en escenarios que extiendan la funcionalidad del core de SAP de una manera simple, flexible y escalable.

A continuación, un video de la solución final funcionando en un dispositivo Amazon Echo Dot:

Video

 

Espero que este blog les haya gustado y les permita imaginar nuevos horizontes para sus cargas SAP. Por favor contáctenos ante cualquier requerimiento.

 


Sobre el autor

Felipe Chirinos es un Senior Solutions Architect de AWS para MCO-Latam basado Chile, con basta experiencia en implementación de proyectos SAP, HANA y AWS como Desarrollador, Arquitecto y Consultor.