Mapeo y transformación de datos JSON con MapForce
JSON es un formato popular para la transferencia de datos entre sistemas, gracias a su estructura sencilla, su tamaño reducido y su origen en el lenguaje de programación JavaScript. MapForce admite JSON tanto como formato de entrada como de salida para el mapeo y la transformación de datos JSON. Por ejemplo, MapForce puede extraer información de cualquier base de datos popular y generar un archivo JSON listo para su transferencia. El requisito: Aquí hay un ejemplo de una necesidad común para el mapeo de datos JSON: Una empresa manufacturera controla los costos mediante un proceso de ensamblaje justo a tiempo, con un inventario de piezas muy reducido. Los nuevos pedidos de los clientes se registran en una base de datos de ventas, y al final de cada día, los componentes necesarios para ensamblar las ventas de ese día se calculan mediante una consulta a la base de datos. Las piezas necesarias se solicitan a los proveedores mediante una orden de compra que se transfiere en formato JSON.

Necesitamos dos componentes para diseñar el mapeo y la transformación de datos JSON en MapForce, con el fin de generar la orden de compra: una consulta SQL para la base de datos y un documento de instancia JSON para modelar la orden de compra. Ya hemos escrito anteriormente sobre el mapeo de bases de datos, más recientemente en Características de las bases de datos en toda la línea de productos de Altova, por lo que nos centraremos aquí en el componente JSON.
Aquí se muestra un ejemplo del archivo JSON que sirve como modelo para la salida del mapeo de datos:

Si necesita crear una instancia JSON desde cero, puede escribirla directamente en XMLSpy, aprovechando la función de resaltado de sintaxis, las herramientas de ayuda contextual, el marcado estructural para coincidir con corchetes y llaves, y otras funciones de edición de JSON. Si no está familiarizado con JSON y prefiere no escribirlo directamente, también puede utilizar XMLSpy para convertir una instancia XML a un archivo JSON.
Cuando se introduce un archivo de instancia JSON en un mapeo de datos, MapForce generará automáticamente un archivo de esquema JSON a partir de la instancia, basándose en el esquema JSON Draft 04 (http://tools.ietf.org/html/draft-zyp-json-schema-04).

El esquema JSON se añade al mapeo, y sus elementos de datos pueden ser mapeados como entradas o salidas:

La ventana de consulta de la base de datos de MapForce ofrece un espacio rápido para probar o perfeccionar la consulta SQL

Podemos insertar la consulta SQL en la configuración para proporcionar los datos de origen del archivo JSON

Luego, conectamos los resultados de la consulta SQL con los elementos de datos del componente JSON:

Tenga en cuenta que la propia instrucción "select" se asocia al objeto declarado debajo del array de filas (resaltado en rojo anteriormente). Esto hará que cada fila de datos en el resultado de la consulta cree un nuevo objeto JSON en el archivo de salida.
El último elemento que falta para completar el mapeo y la transformación de los datos JSON es la fecha. Necesitamos proporcionar la fecha del pedido en el archivo de salida, y también necesitamos refinar la consulta SQL para que siempre seleccione los datos del día actual. MapForce incluye una función de fecha y hora llamada "now" que puede satisfacer ambas necesidades.
Aquí está la tabla de correspondencia de datos JSON completa:

Aplicamos funciones adicionales de fecha y hora para extraer el mes y el día, con el fin de proporcionar parámetros para la consulta SQL, y eliminamos la zona horaria de la función "now" para proporcionar la fecha para la salida en formato JSON. (No proporcionamos un parámetro para el año porque la base de datos de ventas de nuestro entorno de pruebas solo contiene pedidos de un año)
Al hacer clic en el botón "Salida" que se encuentra debajo de la ventana de mapeo de MapForce, se ejecuta el proceso de mapeo y se muestra el resultado

Ahora, la configuración para la conversión y transformación de los datos JSON está lista para ejecutarse al final de cada día, generando el archivo JSON de la orden de compra de las piezas necesarias para la línea de producción. Podemos automatizar este proceso guardando la configuración como un archivo de ejecución de MapForce Server, para que sea procesado por MapForce Server. Este procesamiento puede realizarse a través de un archivo por lotes, bajo el control de FlowForce Server, o a través de la API de MapForce Server.
O, para analizar más a fondo la configuración, podemos abrir el esquema JSON que MapForce generó automáticamente a partir del archivo de instancia en XMLSpy, y examinarlo en la vista de esquema de XMLSpy:

MapForce es una herramienta potente para la transformación de datos que permite mapear y convertir datos JSON hacia o desde formatos como XML, JSON, bases de datos, EDI, XBRL, archivos de texto plano, Excel y/o servicios web. Para probarla con sus propios datos JSON, descargue.. Versión de prueba completamente funcional ¡Hoy!