Contenido
Contenido
1. Cloud Integration
SAP Cloud Integration favorece la integración de procesos comerciales que comprende diferentes empresas, organizaciones o departamentos dentro de una organización.
SAP Cloud Integration le facilita al usuario la conexión de aplicación locales y en la nube con otras aplicaciones existentes locales y en la nube de SAP ya que este tipo de servicio procesa los mensajes en escenarios en tiempo real que abarcan diferentes empresas, organizaciones o departamentos dentro de una organización.
2. Flujo de Integración
Un flujo de integración es la base de cualquier proyecto de integración de datos ya que contiene funciones de automatización integradas que hacen que este proceso sea tan fácil que los usuarios comerciales no técnicos puedan crear flujos con el soporte de TI mínimo o nulo.
3. Data Store Operations
Este es uno de los elementos de persistencia que encontramos en la barra de herramienta que nos permite almacenar datos de un flujo de integración para ser usados en pasos posteriores del mismo flujo. En el Data Store Operations encontramos cuatro operadores que podemos resumir así:
- Delete: Nos permite eliminar una entrada existente del almacenamiento de datos.
- Get: Nos permite obtener una entrada concreta del almacenamiento de datos mediante un ID.
- Select: Nos permite seleccionar múltiples entradas del almacenamiento de datos.
- Write: Nos permite crear una entrada en almacenamiento de datos. Si este no existe, lo crea.
Para el desarrollo de este artículo vamos a usar el operador Delete para eliminar un mensaje en el almacenamiento de datos.
4. Desarrollo
En este articulo plantearemos un escenario donde utilizaremos un flujo de integración con el operador delete para eliminar un registro de un Data Store, enviando el ID del registro a eliminar desde una cabecera de POSTMAN.
Requisitos
Para poder realizar este ejercicio se debe contar con una cuenta en SAP BTP Cockpit y la suscripción de Integration Suite activa, tener un paquete de integración creado en la plataforma de Cloud Integration, contar con POSTMAN o un software similar y un Data Store con varios registros almacenados. Primero se debe acceder a un navegador e ingresar la siguiente URL haciendo clic aquí, para ingresar a nuestra cuenta de SAP BTP Cockpit.
![Flujo de integración: Data Store Operations - Delete 2 1](https://logaligroup.com/wp-content/uploads/2022/07/1.png)
Accedemos a nuestra subcuenta llamada “Logali”.
![Flujo de integración: Data Store Operations - Delete 3 2](https://logaligroup.com/wp-content/uploads/2022/07/2.png)
Luego debemos ingresar a Integration Suite.
![Flujo de integración: Data Store Operations - Delete 4 3](https://logaligroup.com/wp-content/uploads/2022/07/3-1400x476.png)
Después debemos ingresar a “Cloud Integration”.
![Flujo de integración: Data Store Operations - Delete 5 4](https://logaligroup.com/wp-content/uploads/2022/07/4-1400x659.png)
Luego debemos ingresar al apartado de “Design” para poder seleccionar un paquete de integración.
![Flujo de integración: Data Store Operations - Delete 6 5](https://logaligroup.com/wp-content/uploads/2022/07/5-1400x474.png)
Damos en el botón de edición e ingresamos en la pestaña de “Artifacts” para poder añadir un flujo de integración luego debemos ingresar los datos necesarios para crear el flujo de integración para este caso lo llamaremos “Data Store Operations – Delete” y por último dar clic en el botón “Ok”.
![Flujo de integración: Data Store Operations - Delete 7 6](https://logaligroup.com/wp-content/uploads/2022/07/6.png)
Luego de crear el flujo de integración vamos a diseñar la estructura.
Ingresamos a nuestro flujo de integración para editarlo, vamos a la barra de herramientas buscamos las opciones de persistencia, seleccionamos Data Store Operations y agregamos el operador Delete con el cual vamos a eliminar del Data Store de un registro especifico.
![Flujo de integración: Data Store Operations - Delete 8 7](https://logaligroup.com/wp-content/uploads/2022/07/7-1400x624.png)
Ahora vamos a conectar el Sender con el evento de inicio de mensaje asignando el adaptador HTTPS, obteniendo el siguiente flujo:
![Flujo de integración: Data Store Operations - Delete 9 8](https://logaligroup.com/wp-content/uploads/2022/07/8-1400x543.png)
Vamos a las propiedades de nuestro flujo de integración y en la pestaña de Runtime Configuration y en el atributo Allowed Header(s) indicamos en nombre de la cabecera que enviaremos desde POSTMAN, para este caso la llamaremos “example”.
![Flujo de integración: Data Store Operations - Delete 10 9](https://logaligroup.com/wp-content/uploads/2022/07/9-1392x800.png)
Seleccionamos el adapatador HTTPS, vamos a la pestaña Connection y en el atributo Address asignamos la dirección mediante la que haremos el envío del mensaje “/message/delete”; los demás campos los dejamos por defecto.
![Flujo de integración: Data Store Operations - Delete 11 10](https://logaligroup.com/wp-content/uploads/2022/07/10-1392x800.png)
Si seleccionamos el operador Delete y miramos sus propiedades tenemos dos pestañas, la primera General en la que podremos cambiar el nombre de este operador y la segunda Processing donde encontramos los atributos que debemos definir para eliminar nuestro mensaje en el almacenamiento de datos.
Estos atributos son:
Data Store Name: Especificamos el nombre del almacén de datos sin espacios, podemos definir dinámicamente el nombre del almacén de datos con el formato ${header.headername} para leer dinámicamente el nombre desde el encabezado o ${property.porpertyname} para leer el nombre desde una propiedad de intercambio. En este caso ingresaremos el nombre de TestArticle que es el almacenamiento donde está el mensaje a consultar.
Visibility: Aquí definimos la visibilidad del almacén de datos. Tenemos dos opciones “Global” para ser viste desde todos los flujos de integración o “Integration Flows” para ser visible por el flujo de integración donde fue creado el almacenamiento de datos.
Entry id: En el campo Entry id definimos el identificador del mensaje que se eliminará en el almacenamiento de datos, tenemos la posibilidad de usar tres variables para hacerlo de forma dinámica:
${header.headername}, ${property.propertyname}, ${xpath.node} para generar dinámicamente el ID de entrada desde una cabecera, propiedad o a partir de un elemento del mensaje indicado por una expresión xPath.
Debemos tener en cuenta que esta operación no puede utilizarse para eliminar almacenes de datos completos, si no entradas o registros individuales.
También podemos configurar la cabecera SapDataStoreId para especificar el ID de entrada.
Para nuestro ejercicio, usaremos la Data Store que hemos creado en artículos anteriores en otro flujo de integración llamada TestArticle, debemos indicar en el atributo de Visibility que es Global ya que usaremos un almacenamiento que fue creado desde otro flujo.
En el atributo Entry ID vamos a obtener el valor de manera dinámica usando el nombre de la cabera permitida por nuestro flujo de integración, quedando la siguiente expresión: ${header.example}.
Guardamos nuestro flujo de integración e implementamos.
![Flujo de integración: Data Store Operations - Delete 12 11](https://logaligroup.com/wp-content/uploads/2022/07/11-1392x800.png)
Ahora en el monitor buscamos nuestro flujo en la gestión de contenidos de integración y copiamos el EndPoint que nos ha generado.
![Flujo de integración: Data Store Operations - Delete 13 12](https://logaligroup.com/wp-content/uploads/2022/07/12-1392x800.png)
Vamos a POSTMAN quien hará las veces de cliente y crearemos una nueva solicitud con la petición GET y pegamos el EndPoint generado en nuestro flujo de integración.
Luego vamos a la pestaña de autorización, en el tipo le indicamos Basic Auth e ingresamos el usuario y contraseña.
![Flujo de integración: Data Store Operations - Delete 14 13](https://logaligroup.com/wp-content/uploads/2022/07/13-1395x800.png)
Nota: El usuario y contraseña de conexión lo encontramos en nuestra subcuenta, instancias y suscripciones, buscamos la instancia de Servicio de Integración y abrimos la Key, allí vamos a encontrar el clientId que será nuestro usuario y el clientsecret que será la contraseña.
![Flujo de integración: Data Store Operations - Delete 15 14](https://logaligroup.com/wp-content/uploads/2022/07/14-1400x692.png)
Ahora debemos crear la cabecera en POSTMAN que va a contener el valor del Entry ID y que enviaremos a nuestro flujo de integración mediante el End Point del adaptador HTTPS.
Para conocer los valores almacenados en el Data Store, vamos al monitor de cloud Integration y buscamos el data store que usamos en los artículos anteriores llamado “TestArticle”, allí podemos ver los registros existentes.
Vemos que contamos con 5 registros.
![Flujo de integración: Data Store Operations - Delete 16 15](https://logaligroup.com/wp-content/uploads/2022/07/15-1400x759.png)
Regresamos a POSTMAN y en la pestaña de cabecera realizamos la creación de esta y asignamos el valor del mensaje que queremos eliminar. Recordemos que el nombre de la cabera debe ser igual a la permitida en las propiedades del flujo de integración en el Runtime Configuration para que el valor se cargue de manera dinamina en el elemento Delete. En este caso la cabecera permita es “example” y el valor que le asignaremos será “Example 5”. Luego enviamos nuestra petición y vemos que obtenemos como estado de respuesta “200 OK” lo que nos indica que el proceso se realizó con éxito.
![Flujo de integración: Data Store Operations - Delete 17 16](https://logaligroup.com/wp-content/uploads/2022/07/16-1395x800.png)
Regresamos a nuestro Data Store para verificar que el registro con el Entry ID = Example 5 allá sido eliminado correctamente.
![Flujo de integración: Data Store Operations - Delete 18 17](https://logaligroup.com/wp-content/uploads/2022/07/17-1366x800.png)
Ahora solo tenemos 4 registros.
En este artículo proporcionamos una explicación general de cómo eliminar un registro en un Data Store existente usando el operador Delete. Para más información de los operadores de persistencia en el Data Store te invitamos a consultar los artículos anteriormente publicados en nuestro blog haciendo clic aquí. Dirigido a todas las personas que quieran aprender más sobre las herramientas SAP Cloud Integration y como se integran las diferentes herramientas de SAP. Podrás encontrar más datos como estos en los cursos y blogs desarrollados por Logali Group.