12. Procesando colecciones de datos


Entender cómo manejar colecciones de datos en Mulesoft es clave, y aquí te explicaré cómo dominar los tres principales scopes: For Each, Parallel For Each y Batch Job.

 

For Each

El scope For Each es tu herramienta para interactuar con listas o conjuntos de datos individualmente. Veamos cómo:

  1. Procesamiento Sincrónico: Cada ítem de tu colección es procesado de forma individual, asegurando un tratamiento completo antes de avanzar al siguiente.
  2. Ejecución Secuencial: Puedes insertar procesadores como transformadores o conectores dentro del For Each que actuarán secuencialmente en cada elemento.
  3. Soporte de Streaming: Ideal para colecciones grandes, permite procesar los datos sin saturar la memoria.
  4. Payload Post-Procesamiento: Al finalizar el scope, el payload retorna intacto, permitiendo que el flujo de datos prosiga sin contratiempos.

Observa cómo se implementa este scope en un flujo que envía información de vuelos a un sistema externo:

For Each Example

Parallel For Each

El Parallel For Each es una versión potenciada del For Each que te permite procesar elementos en paralelo, acelerando significativamente el tiempo de procesamiento.

  1. Configuración del ‘Parallel For Each’: Configura este componente para procesar múltiples ítems simultáneamente.
  2. Procesamiento Concurrente: Aprovecha la capacidad de tu sistema al máximo, ejecutando varios procesos a la vez.
  3. Ejecución y Streaming: Aunque trabaja en paralelo, cada elemento es procesado secuencialmente por los procesadores internos, con soporte de streaming.
  4. Colección de Destino: Crea una colección de salida correspondiente con los resultados procesados.
  5. Manejo de Payloads y Errores: Gestiona el payload final y los errores de forma inteligente, intentando procesar todos los elementos antes de detener el flujo por errores.

En la siguiente imagen, todos los vuelos son enviados en paralelo a un servicio externo utilizando diferentes llamadas:

Parallel For Each Example

Batch Job

El Batch Job es tu aliado para el procesamiento de datos masivos, divididos en registros individuales y manejables:

  1. Procesamiento de Registros Individuales: Procesa cada registro de tu colección paso a paso.
  2. División de Mensajes Grandes: Ideal para dividir y gestionar mensajes de gran tamaño.
  3. Procesamiento Asincrónico: Los registros se procesan en paralelo, optimizando el tiempo y recursos.

El Batch Job divide la colección en bloques procesados en paralelo, como se muestra aquí:

Batch Job Example

Si deseas profundizar en el Batch Job, te invito a explorar más aquí.

 

Conclusión

En conclusión, ya sea que optes por el meticuloso For Each, el ágil Parallel For Each o el robusto Batch Job, Mulesoft ofrece soluciones flexibles para el procesamiento de colecciones que se adaptan a cada necesidad. Con estas herramientas, estarás equipado para manejar datos con precisión y eficiencia, asegurando un flujo de información sin interrupciones y optimizado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *