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 Get para leer un mensajes en el almacenamiento de datos.
4. Desarrollo
En este articulo plantearemos el escenario donde crearemos un flujo de integración en el que realizaremos una consulta con el operador Get a un Data Store y enviaremos el resultado de la misma a un correo electrónico mediante un adaptador de Mail.
Requisitos
Hay que tener en cuenta que para poder realizar este ejercicio se debe contar con una cuenta en SAP BTP Cockpit y con la suscripción de Integration Suite, tener un paquete de integración creado en la plataforma de Cloud Integration y contar con credenciales de usuario para conexión a correo electrónico.
Primero se debe acceder a un navegador e ingresar la siguiente URL haciendo clic aquí para ingresar a nuestra cuenta de SAP BTP Cockpit.
Accedemos a nuestra subcuenta llamada “Logali”.
Luego debemos ingresar a Integration Suite.
Después debemos ingresar a “Cloud Integration”.
Luego debemos ingresar al apartado de “Design” para poder seleccionar un paquete de integración.
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 – Get” y por último dar clic en el botón “Ok”.
Luego de crear el flujo de integración vamos a diseñar la estructura.
Luego de ingresar a nuestro flujo de integración vamos procedemos a editarlo, en la barra de herramientas seleccionamos el evento “Timer” y lo agregamos a nuestro flujo, y en la pestaña programador (Scheduler), lo vamos a dejar por defecto en ejecutar una vez (Run Once), con este elemento estaremos indicando que una vez implementado el flujo se iniciará la consulta. Después vamos a la barra de herramientas buscamos las opciones de persistencia, seleccionamos Data Store Operations y agregamos el operador Get con el cual vamos a realizar la consulta al Data Store de un registro especifico.
Ahora buscamos en la barra de herramientas las llamadas y en External Call seleccionamos el elemento Send este nos va a permitir conectarnos a un servidor externo,conectamos la llamada al receptor (Receiver) para este ejercicio serámediante un adaptadorde Mail.
Realizados los pasos anteriores debemos tener nuestro flujo de integración de la siguiente manera:
Luego de agregar los elementos nuestro flujo de integración debe estar de la siguiente forma.
Si seleccionamos el operador Get 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 realizar la búsqueda de 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 que tendrá cada una de las líneas almacenadas 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.
También podemos asignar un valor fijo, este atributo no es obligatorio si no lo indicamos el sistema asignara el mismo del SapDataStoreId.
Nota: El identificador debe ser único, por lo que no pueden existir dos entradas con el mismo identificador en el mismo data store en caso no habilitar la sobreescritura generara un error.
Delete On Completion: Seleccionando esta opción podremos eliminar el mensaje del almacén de datos después de haber procesado con éxito el mensaje.Throw Exception on Missing Entry: Seleccionando esta opción se genera una excepción si la entrada con el Entry ID especificado no existe en el almacén de datos. Esta casilla de verificación está seleccionada por defecto.
Los datos para la consulta generalmente se obtienen de forma dinámica. Pero en este ejemplo, buscaremos los datos en el almacén de manera manual. Para ello vamos al menú de monitor e ingresamos a la gestión de almacenes de datos, allí buscaremos nuestro Data Store y en él buscaremos los datos necesarios para realizar la consulta, como se muestra a continuación.
Nota: Cómo usaremos el almacén de datos creado desde otro flujo de integración, debemos verificar que el atributo “Visibility” que usemos debe ser global para usarla en otro flujo de integración.
De acuerdo con los datos obtenidos del almacén de datos para el ejemplo diligenciamos los atributos del operador Get, usando en el Entry id: Example 2.
Para evidenciar que ha realizado la consulta satisfactoriamente, vamos a seleccionar además la opción Delete On Completion, para que elimine el mensaje una vez sea procesado.
El elemento de llamada “Send” solo realiza la conexión con el adaptador de Mail y no tiene configuración, solo podemos cambiar el nombre.
Ahora vamos a configurar el adaptador de Mail, lo seleccionamosy entramos a la pestaña de Connection e ingresamos los datos necesarios para la conexión en nuestro caso usaremos los siguientes datos:
Address: smtp.gmail.com:465
Proxy Type: Internet
Timeout: 30000
Protection: SMTPS
Authentication: Encrypted User/Password
Credential Name: CredencialesCorreo
Nota: para generar las credenciales de acceso a correo te invitamos a ver el curso de SAP Cloud Integration.
En la pestaña de Processing vamos a diligenciar los atributos de correo como: From, To, Subject y Mail Body.
Ahora vamos a los archivos adjuntos de correo “MAIL ATTACHMENTS” y le damos al botón añadir, ingresamos los datos de:
Name: Example Get.txt
Mime-Type: Text/Plain
Source: Body
Además, para que el mensaje sea enviado mediante un archivo adjunto al correo habilitamos la opción Add Message Attachments. Guardamos nuestro flujo de integración y lo implementamos.
Si verificamos nuestro correo, podemos ver que mensaje ha sido enviado adjunto de manera satisfactoria.
Luego vamos nuevamente en el menú del monitor al Manage Store e ingresamos al almacenamiento de datos “Data Store” buscamos nuestro Almacén de datos “TestArticle” y evidenciamos que el mensaje con Entry id: Example 2 ha sido procesado y eliminado del almacén de datos como lo indicamos en el operador Get.
En este artículo proporcionamos una explicación general de cómo consultar un registro específico en un Data Store existente usando el operador Get. 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.