Introducción
Una integración en batch a la suite de uPlanner, consiste en un procedimiento en el cual se leerán secuencialmente todos los datos disponiblizados por el cliente, se revisará su consistencia y se cargarán a nuestros modelos de datos. Este proceso de integración se puede dividir en pasos cuya función individual se detalla a continuación:
StepA / Zona de acopio
Extracción de una copia del origen de datos (SFTP) en su formato nativo (CSV) y sin realizar adaptaciones o revisiones. Se divide en:
- A.1 Se busca en la carpeta sftp del cliente los archivos csv que coincidan en: a) nombre de archivo según etl_layouts b) patrón de búsqueda según etl_parameters (normalmente _yyyymmdd) y se copian al servidor Carte (SFTP), según su configuración.
- A.2 Se activan los layouts encontrados en etl_layouts de la BD STG.
- A.3 Se respaldan los archivos del paso anterior por un tiempo predefinido.
StepB / Zona de confianza
Se leerán los datos disponibles y se almacenarán en tablas estructuradas sin filtrar ningún registro. Se puede iterar o realizar en paralelo cada layout encontrado, dado que en esta etapa no hay dependencia entre ellos. Se divide en:
- B.1 Se lee el layout según etl_layout_productversion_fields y se inserta en su respectiva tabla stg.
- B.2 Se validan campos obligatorios según etl_layout_productversion_fields y etl_products y se marcan los registros con error.
- B.3 Se validan tipos de datos según etl_layout_productversion_fields y se marcan los registros con error.
- B.4 Se validan registros duplicados según etl_layout_productversion_fields y se marcan los registros con error.
StepC / Zona de consumo
Se integrará la información recibida en nuestros modelos de datos relacionales a fin de ser consumidos por los distintos productos. Este proceso debe ser secuencial dado que se validará la dependencia entre ellos. Se divide en:
- C.1 Se lee desde cada tabla stg los registros que no estén marcados con error.
- C.2 En algunos casos será necesario hacer validaciones que aplicarán exclusivamente a algún layout específico. En caso que aplique se marca el registro con error
- C.3 Si es necesario se validan registros foráneos dentro de esta misma zona para segurar consistencia entre las llaves. En caso de no encontrar un registro se marca con error.
- C.4: Se insertan los registros que no tengan error definido mapeándose uno a uno las columnas de la zona de confianza con los de la zona de consumo.