---
title: "데이터 매핑 REST 웹 서비스"
date: "2016-02-24"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "gps-apps"
  - "mapforce"
  - "rest-web-services"
  - "xmlspy"
description: MapForce 2016가 데이터 매핑을 위한 REST 웹 서비스를 어떻게 향상시키는지 알아보세요. 이를 통해 XML 및 JSON 응답을 프로젝트에 원활하게 통합할 수 있습니다.
---
Status: #blog

Tags:  #data-mapping #gps-apps #mapforce #rest-web-services #xmlspy

Categories: [data-integration](/blog/ko/category/data-integration.md) | [json](/blog/ko/category/json.md) | [xml](/blog/ko/category/xml.md)
# 데이터 매핑 REST 웹 서비스

MapForce 2016 버전 2는 다음과 같은 기능이 확장되었습니다 [웹 서비스 데이터 매핑](https://www.altova.com/ko/mapforce.html#data_integration), REST 웹 서비스에 대한 강력한 지원을 제공합니다. MapForce는 XML 또는 JSON을 웹 서비스 응답으로 허용하며, 매개변수 정의를 지원하고, 사용자 정의 HTTP 헤더를 사용할 수 있습니다. 사용자는 웹 서비스 인터페이스를 수동으로 정의하거나, WADL 파일 또는 URL에서 설정을 가져와서 정의할 수 있습니다. REST 웹 서비스 설정의 수동 정의를 통해 개발자는 템플릿 URL을 기반으로 설정을 생성할 수 있습니다. 이는 개발자가 웹 브라우저 창에서 REST 호출을 테스트하고 개선할 때 편리한 기능입니다. 왜냐하면 URL을 브라우저에서 복사하여 템플릿으로 사용할 수 있기 때문입니다.

![REST 웹 서비스는 데이터 매핑 프로젝트에서 정보 흐름의 역할을 할 수 있습니다](/blog/images/shutterstock_88166515.jpg)

<!--more-->

GPS 시스템에서 수집된 좌표는 정확하지만, [고도 데이터는 매우 부정확한 것으로 알려져 있습니다](https://www.altova.com/blog/rest-services-as-data-sources-for-mobile-apps/) 미국 지질조사국(USGS)은 경도와 위도를 입력받아 정확한 고도 데이터를 XML 또는 JSON 형식으로 제공하는 REST 웹 서비스를 제공합니다. 우리는 이 웹 서비스를 MapForce 데이터 매핑 도구에서 활용하여 Garmin 기기에서 수집된 GPS 데이터를 업데이트하고, 동시에 데이터 형식을 XML에서 JSON으로 변환할 수 있습니다.

먼저, 웹 브라우저 창에서 웹 서비스를 테스트해 보겠습니다. 아래에 표시된 URL을 클릭하면 샘플 쿼리를 생성할 수 있는 입력 양식이 열립니다

![단일 지점의 고도 정보를 조회하기 위한 입력 양식](/blog/images/PointQueryInputCapture_clip.png)

"고도 정보 가져오기" 버튼을 클릭하면, 시스템은 완전한 REST GET 요청을 생성하여 전송하고, 그 결과를 아래에 표시합니다. 우리는 이 결과를 활용하여 데이터 매핑에 필요한 응답 형식을 모델링할 수 있습니다.

![JSON 형식으로 된 특정 데이터에 대한 검색 결과](/blog/images/PointQueryResultCapture.png)

맵포스 툴바에서 "웹 서비스 기능 삽입" 버튼을 클릭하여 웹 서비스를 매핑에 추가합니다. 그러면 "웹 서비스 호출 설정" 대화 상자가 열리고, 이 대화 상자에서 USGS 서비스의 URL을 입력합니다.

![MapForce REST 웹 서비스 대화 상자에서 서비스 URL을 지정하는 부분](/blog/images/drop-in-service-def-from-dialog.png)

다음으로, 요청 파라미터와 응답 본문을 정의해야 합니다. 이렇게 하면 매핑에 필요한 요소들이 생성되며, 이는 다음 단계에서 "호출 설정" 대화 상자의 해당 부분에서 확인할 수 있습니다.

![MapForce REST 웹 서비스 설정 대화 상자 중 요청 및 응답 구조를 정의하는 부분](/blog/images/ws-response-structure.png)

저희는 브라우저 창에서 저장된 JSON 데이터 파일을 기반으로, 응답 형식을 정의하는 JSON 스키마를 XMLSpy에서 편리하게 생성했습니다. 아래는 XMLSpy에서 변환된 응답의 스키마 보기입니다

![XMLSpy에서 쿼리 응답을 위한 JSON 스키마를 확인할 수 있는 화면입니다](/blog/images/json_query_result_Capture_alt.png)

미국 지질조사국(USGS)의 고도 정보 입력 양식은 입력 매개변수를 정의하는 데 필요한 모든 정보를 제공하므로, 이 정보를 다음 섹션인 "통화 설정" 대화 상자에 추가할 수 있습니다

![MapForce REST 웹 서비스 대화 상자에서 쿼리 입력 매개변수를 지정하는 부분](/blog/images/input-parameters.png)

각 요청에 대한 단위와 출력 값은 실행 중에 변경되지 않으며, 우리는 고정 값을 지정할 수도 있습니다. 하지만, 우리는 이러한 값들을 매핑에서 상수 값으로 제공할 것입니다. 필요한 보안 설정은 "호출 설정" 대화 상자에서 구성할 수 있습니다. 대화 상자를 닫기 위해 "확인"을 클릭하면, 웹 서비스 함수가 매핑에 추가됩니다.

![MapForce 데이터 매핑 디자인에서 USGS(미국 지질조사국)의 고도 정보 조회 기능을 활용하는 방법](/blog/images/bare-WS-in-mapping-Capture.png)

원본 GPX 파일의 각 트랙포인트는 입력 좌표 세트를 제공합니다. 매핑 작업 실행 중, 트랙포인트가 처리될 때마다 웹 서비스 GET 요청을 통해 USGS에 쿼리가 전송되며, 응답으로 대체될 고도 데이터를 제공받습니다.

이제 요청과 응답의 요소들을 입력 및 출력 구성 요소에 연결하는 것만 남았습니다. 아래 그림과 같이, 단위 및 출력 유형에 대한 상수 값은 왼쪽 상단에 표시되며, 고도 값은 출력에 삽입되기 전에 소수점 둘째 자리까지 반올림됩니다.

![MapForce 데이터 매핑 디자인에서 USGS(미국 지질조사국)의 고도 정보를 쿼리하는 기능을 구현했으며, 입력 및 출력 요소들이 연결되어 있습니다](/blog/images/Mapped_ws_Capture.png)

참고로, 출력 결과는 JSON 파일입니다. 이 매핑의 일부 화면에서는 입력 구성 요소가 표시되지 않지만, 실제 입력은 XML 형식의 표준 GPX 파일입니다. 그림에서 웹 서비스 함수 뒤를 지나가면서 출력 구성 요소에 연결되는 데이터 매핑 연결선들은 모두 XML 입력에서 해당 JSON 요소로 변경 없이 복사될 값들입니다.

"맵포스(MapForce) 출력" 버튼을 클릭하면 매핑 작업이 실행되고, 위에서 보이는 것처럼 JSON 파일이 생성됩니다

![MapForce 데이터 매핑 결과의 일부를 JSON 파일 형태로 보여주는 화면입니다](/blog/images/json_output_Capture.png)

실제 운영 환경에서는 매핑 정보를 MapForce 실행 파일로 저장하여 MapForce 서버를 통해 자동화된 처리를 수행할 수 있습니다. 이 작업은 명령줄을 통해 또는 FlowForce 서버의 제어 하에 이루어질 수 있습니다.

[Altova MapForce는 뛰어난 성능을 자랑하는 그래픽 데이터 매핑, 변환 및 통합 도구로, XML, 데이터베이스, EDI, XBRL, 일반 파일, 엑셀, JSON, 그리고 웹 서비스 등 다양한 데이터 형식을 서로 연결하고 변환할 수 있습니다](https://www.altova.com/ko/mapforce.html)
[완전한 기능을 갖춘 무료 평가판을 다운로드하여 직접 사용해 보세요!](https://www.altova.com/ko/download-trial.html)
