Servicios web REST para la gestión de datos
La versión 2016, release 2 de MapForce, incluye funcionalidades ampliadas para.. Mapeo de datos de servicios web, proporcionando un soporte sólido para los servicios web REST. MapForce acepta XML o JSON como respuesta del servicio web, permite la definición de parámetros y admite encabezados HTTP personalizados. Los usuarios pueden definir la interfaz del servicio web manualmente o importando configuraciones desde un archivo WADL o una URL. La definición manual de la configuración del servicio web REST permite a los desarrolladores crear configuraciones basadas en una URL de plantilla. Esto es un paso conveniente cuando los desarrolladores prueban y ajustan las llamadas REST en una ventana del navegador, ya que la URL se puede copiar del navegador para convertirse en la plantilla.

Hemos señalado anteriormente que las coordenadas capturadas por los sistemas GPS son precisas, pero los datos de altitud son notoriamente imprecisos. El USGS (Servicio Geológico de los Estados Unidos) ofrece un servicio web REST que acepta consultas que proporcionan la longitud y la latitud, y proporciona datos de altitud precisos, ya sea en formato XML o JSON. Podemos utilizar este servicio web en una transformación de datos en MapForce para actualizar los datos de GPS provenientes de un dispositivo Garmin y, al mismo tiempo, convertir el formato de los datos de XML a JSON.
Comenzaremos probando el servicio web en una ventana del navegador. La URL que se muestra a continuación abre un formulario de entrada para generar una consulta de ejemplo:

Cuando hacemos clic en el botón "Obtener altitud", el formulario genera una consulta REST GET completa, la envía y muestra el resultado a continuación. Podemos utilizar este resultado para modelar la respuesta que obtendremos al mapear nuestros datos.

Añadiremos el servicio web a nuestro mapeo haciendo clic en el botón "Insertar función de servicio web" en la barra de herramientas de MapForce. Esto abrirá el cuadro de diálogo "Configuración de la llamada al servicio web", donde proporcionaremos la URL del servicio de la USGS.

A continuación, necesitamos definir los parámetros de la solicitud y el cuerpo de la respuesta, lo que creará los elementos necesarios para el mapeo, como se muestra a continuación en la siguiente sección del cuadro de diálogo de configuración de la llamada.

Generamos convenientemente un esquema JSON en XMLSpy para definir la respuesta, basándonos en el archivo de ejemplo JSON guardado desde la ventana del navegador. A continuación, se muestra la vista del esquema en XMLSpy de la respuesta convertida:

El formulario de entrada del servicio de elevación de la USGS nos proporcionó toda la información necesaria para definir los parámetros de entrada, por lo que podemos añadirlos a la siguiente sección del cuadro de diálogo de configuración de llamadas:

Las unidades y los valores de salida para cada solicitud no cambiarán durante la ejecución, y podríamos haber especificado valores fijos. En lugar de eso, los proporcionaremos en la configuración como constantes. Cualquier configuración de seguridad necesaria también se configurará en el cuadro de diálogo de configuración de la llamada. Cuando hacemos clic en "Aceptar" para cerrar el cuadro de diálogo, la función del servicio web se agrega a la configuración.

Cada punto de seguimiento en el archivo GPX de origen proporcionará un conjunto de coordenadas de entrada. Durante la ejecución del mapeo, una solicitud GET a los servicios web consultará a la USGS cada vez que se procese un punto de seguimiento, y la respuesta proporcionará datos de altitud actualizados.
Ahora, lo que necesitamos hacer es conectar los elementos de la solicitud y la respuesta con los componentes de entrada y salida, como se muestra a continuación. Las constantes para las unidades y el tipo de salida se muestran en la esquina superior izquierda, y el valor de la altitud se redondea a dos decimales antes de ser insertado en la salida.

Tenga en cuenta que la salida es un archivo JSON. El componente de entrada no se muestra en esta vista parcial del mapeo, pero es un archivo GPX estándar en formato XML. Las líneas de conexión del mapeo de datos que entran desde la izquierda, que pasan detrás de la función del servicio web en la ilustración y se conectan al componente de salida, representan todos los valores que se copiarán sin modificación desde el archivo XML de entrada a los elementos JSON correspondientes.
Al hacer clic en el botón "Salida de MapForce", se ejecuta la transformación y se genera un archivo JSON, como se muestra en la vista parcial que se muestra aquí:

En un entorno de producción, podríamos guardar la configuración como un archivo de ejecución de MapForce para su procesamiento automatizado por el servidor MapForce, ya sea desde la línea de comandos o bajo el control del servidor FlowForce.
Altova MapForce es una herramienta gráfica de mapeo, conversión e integración de datos, galardonada, que permite transformar datos entre cualquier combinación de formatos XML, bases de datos, EDI, XBRL, archivos de texto plano, Excel, JSON y/o servicios web. Descargue una versión de prueba gratuita y completamente funcional y pruébela usted mismo.