Partekatu honen bidez:


Intercambiar mensajes EDI como lotes o grupos entre socios comerciales en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo)

En escenarios de negocio a negocio (B2B), los asociados a menudo intercambian mensajes en grupos o lotes. Al compilar una solución de procesamiento por lotes con Azure Logic Apps, puede enviar mensajes a los socios comerciales y procesar esos mensajes en lotes. En este artículo se muestra cómo se pueden procesar por lotes mensajes EDI, con X12 como ejemplo, mediante la creación de una aplicación lógica "batch sender" (remitente de lotes) y otra "batch receiver" (receptora de lotes).

El procesamiento por lotes de mensajes X12 funciona como el procesamiento por lotes de otros mensajes. Se usa un desencadenador de lote que recopila mensajes en un lote y una acción de lote que envía mensajes al lote. Además, procesamiento por lotes de X12 incluye un paso de codificación de X12 antes de que los mensajes partan al socio comercial o a otro destino. Para más información sobre el desencadenador y la acción por lotes, consulte el artículo de procesamiento de mensajes en lote.

En este artículo se crea una solución de procesamiento por lotes mediante la creación de dos aplicaciones lógicas en la misma suscripción a Azure y región de Azure, y siguiendo este orden específico:

  • La aplicación lógica "batch receiver", que acepta y recopila los mensajes en un lote hasta que se cumplan los criterios especificados para liberar y procesar esos mensajes. En este escenario, la receptora de lotes también codifica los mensajes del lote mediante el acuerdo X12 especificado o las entidades asociadas.

    Asegúrese de crear primero el receptor de lotes para poder seleccionar más tarde el destino del lote cuando cree el emisor de lotes.

  • Un flujo de trabajo de aplicación lógica "batch sender", que envíe los mensajes a la receptora de lotes creada anteriormente.

Asegúrese de que los flujos de trabajo de su aplicación lógica receptora y emisora de lotes utilizan la misma suscripción de Azure y región de Azure. Si no es así, no puede seleccionar la receptora de lotes al crear la remitente de lotes, ya que no se verán entre ellas.

Requisitos previos

  • Instale o use una herramienta que pueda enviar solicitudes HTTP para probar la solución, por ejemplo:

    Precaución

    En escenarios en los que tiene datos confidenciales, como credenciales, secretos, tokens de acceso, claves de API y otra información similar, asegúrese de usar una herramienta que proteja los datos con las características de seguridad necesarias, funcione sin conexión o localmente, no sincronice los datos en la nube y no requiera que inicie sesión en una cuenta en línea. De este modo, se reduce el riesgo de exponer datos confidenciales al público.

Creación de la receptora de lotes de X12

Antes de poder enviar mensajes a un lote, ese lote debe existir como el destino adonde enviar esos mensajes. Primero, debe crear la aplicación lógica "batch receiver", que comienza con el desencadenador Batch. De este modo, al crear la aplicación lógica "batch sender", podrá seleccionar la aplicación lógica batch receiver. La receptora de lotes continúa recopilando los mensajes hasta que se cumplan los criterios especificados para liberar y procesar esos mensajes. Si bien las receptoras de lotes no necesitan saber nada sobre las remitentes de lotes, estas últimas sí necesitan conocer el destino adonde enviar los mensajes.

Para la receptora de lotes, especifique el modo del lote, el nombre, los criterios de liberación, el acuerdo X12 y el resto de opciones.

  1. En Azure Portal, Visual Studio o Visual Studio Code, cree una aplicación lógica con el siguiente nombre: BatchX12Messages

  2. Vincule la aplicación lógica a la cuenta de integración.

  3. En el diseñador de flujos de trabajo, agregue el desencadenador de Lote, que inicia el flujo de trabajo de su aplicación lógica.

  4. Siga estos pasos generales para agregar un desencadenador de Lote llamado Mensajes de lote.

  5. Establezca las propiedades de la receptora de lotes:

    Propiedad Valor Notas
    Batch Mode En línea
    Batch Name TestBatch Disponible solo con Batch Mode Inline
    Release Criteria Depende de Message count based y Schedule based Disponible solo con Batch Mode Inline
    Message Count 10 Disponible solo con Release Criteria Message count based
    Intervalo 10 Disponible solo con Release Criteria Schedule based
    Frecuencia minute Disponible solo con Release Criteria Schedule based

    Incorporación de los detalles del desencadenador en lote

    Nota

    En este ejemplo no se configura una partición para el lote, por lo que los lotes usan la misma clave de partición. Para más información acerca de las particiones, consulte Mensajes de procesamiento por lotes.

  6. Ahora, agregue una acción que codifique cada lote:

    1. Siga estos pasos generales para agregar una acción X12 denominada: Codificación por lotes <cualquier-versión>

    2. Si aún no se había conectado a la cuenta de integración, cree la conexión ahora. Proporcione un nombre para la conexión, seleccione la cuenta de integración que desee y seleccione Crear.

      Creación de la conexión entre la cuenta de integración y el codificador por lotes

    3. Establezca estas propiedades para la acción del codificador por lotes:

      Propiedad Descripción
      Name of X12 agreement Abra la lista y seleccione el acuerdo existente.

      Si la lista está vacía, asegúrese de vincular la aplicación lógica a la cuenta de integración que tenga el acuerdo que desee.

      BatchName Haga clic en este cuadro y, cuando aparezca la lista de contenido dinámico, seleccione el token Batch Name.
      PartitionName Haga clic en este cuadro y, cuando aparezca la lista de contenido dinámico, seleccione el token Partition Name.
      Items Cierre el cuadro de detalles del elemento y haga clic en este cuadro. Cuando aparezca la lista de contenido dinámico, seleccione el token Batched Items.

      Detalles de la acción de codificación por lotes

      Para el cuadro Items:

      Elementos de la acción de codificación por lotes

  7. Guarde el flujo de trabajo de la aplicación lógica.

  8. Si utiliza Visual Studio, asegúrese de implementar su aplicación lógica de recepción de lotes en Azure. En caso contrario, no podrá seleccionar la receptora de lotes cuando cree la remitente de lotes.

Prueba del flujo de trabajo

Para asegurarse de que la receptora de lotes funciona según lo previsto, puede agregar una acción HTTP con fines de prueba y enviar un mensaje por lotes al servicio RequestBin.

  1. Siga estos pasos generales para agregar la acción HTTP denominada HTTP.

  2. Establezca las propiedades de la acción HTTP:

    Propiedad Descripción
    Método Seleccione POST en la lista.
    Uri Genere un identificador URI para la instancia de RequestBin y escríbalo en este cuadro.
    Cuerpo Haga clic en este cuadro y, cuando se abra la lista de contenido dinámico, seleccione el token Body, que aparece en la sección Batch encode by agreement name (Codificación en lotes por nombre de acuerdo).

    Si no ve el token Body, junto a Batch encode by agreement name (Codificación en lotes por nombre de acuerdo), seleccione Ver más.

    Especificación de los detalles de la acción HTTP

  3. Guarde el flujo de trabajo.

    Su aplicación lógica de recepción de lotes se parece al siguiente ejemplo:

    Guardado de la aplicación lógica batch receiver

Creación de la remitente de lotes de X12

Ahora cree una o más aplicaciones lógicas que envíen mensajes a la aplicación lógica batch receiver. En cada batch sender, especifique el nombre de la aplicación lógica batch receiver y del lote, el contenido del mensaje, y el resto de las opciones. Opcionalmente, también puede proporcionar una clave de partición única para dividir el lote en subconjuntos para recopilar mensajes con esa clave.

  • Asegúrese de que ya ha creado su receptor de lotes. De esta forma, cuando cree su remitente de lotes, podrá seleccionar el receptor de lotes existente como lote de destino. Si bien las receptoras de lotes no necesitan saber nada sobre las remitentes de lotes, estas últimas deben saber adonde enviar los mensajes.

  • Asegúrese de que los flujos de trabajo de su aplicación lógica receptora y emisora de lotes utilizan la misma suscripción de Azure y región de Azure. Si no es así, no puede seleccionar la receptora de lotes al crear la remitente de lotes, ya que no se verán entre ellas.

  1. Cree otra aplicación lógica con el siguiente nombre: SendX12MessagesToBatch

  2. Siga estos pasos generales para agregar el desencadenador de Solicitudes denominado Cuando se recibe una solicitud HTTP.

  3. Para agregar una acción para enviar mensajes a un lote, siga estos pasos generales para agregar una acción Enviar mensajes a lote llamada Elegir un flujo de trabajo de Logic Apps con desencadenador de lote.

    1. Seleccione la aplicación lógica BatchX12Messages que creó anteriormente.

    2. Seleccione la acción BatchX12Messages denominada Batch_messages - <su-receptor-de-lotes>.

  4. Establezca las propiedades de la remitente de lotes.

    Propiedad Descripción
    Nombre sección El nombre de lote definido por la aplicación lógica receptora, "TestBatch" en este ejemplo

    Importante: el nombre del lote se valida en tiempo de ejecución y debe coincidir con el nombre especificado por la aplicación lógica receptora. Si cambia el nombre del lote, provocará un error en la remitente de lotes.

    Message Content Contenido del mensaje que desea enviar, que es el token Body en este ejemplo

    Establecimiento de las propiedades de lote

  5. Guarde el flujo de trabajo.

    La aplicación lógica batch sender se parecerá a este ejemplo:

    Guarde la aplicación lógica batch sender

Pruebe sus flujos de trabajo

Para probar la solución de procesamiento por lotes, publique mensajes X12 en el flujo de trabajo de la aplicación lógica del remitente del lote mediante la herramienta de solicitud HTTP y sus instrucciones. Pronto debería empezar a recibir mensajes X12, ya sea en la instancia de RequestBin, cada 10 minutos o en lotes de 10, todos con la misma clave de partición.

Pasos siguientes