---
title: "データマッピングのためのRESTful Webサービス"
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/ja/category/data-integration.md) | [json](/blog/ja/category/json.md) | [xml](/blog/ja/category/xml.md)
# データマッピングのためのRESTful Webサービス

MapForce 2016 リリース2では、以下の機能が拡張されています [ウェブサービスのデータマッピング](https://www.altova.com/ja/mapforce.html#data_integration), REST Webサービスに対して、強力なサポートを提供します。MapForceは、Webサービスの応答としてXMLまたはJSONを受け付け、パラメータの定義を可能にし、カスタムHTTPヘッダーにも対応しています。ユーザーは、Webサービスインターフェースを手動で定義することも、WADLファイルやURLから設定をインポートすることもできます。REST Webサービスのパラメータを手動で定義する場合、開発者はテンプレートURLに基づいて設定を作成できます。これは、開発者がWebブラウザ上でREST呼び出しをテストおよび調整する際に便利です。なぜなら、URLをブラウザからコピーしてテンプレートとして利用できるからです。

![REST Webサービスは、データマッピングプロジェクトにおいて、情報伝達のパイプラインとして機能することができます](/blog/images/shutterstock_88166515.jpg)

<!--more-->

GPSシステムによって取得される座標は、以前にも述べたように正確ですが、しかし [標高データは、非常に精度が低いことで知られています](https://www.altova.com/blog/rest-services-as-data-sources-for-mobile-apps/). 米国地質調査局（USGS）は、経度と緯度に基づいて高度データを正確に提供するREST Webサービスを提供しています。このサービスは、XML形式またはJSON形式でデータを提供します。このWebサービスをMapForceのデータマッピング機能で使用することで、Garminデバイスから取得したGPSデータを更新し、同時にデータ形式をXMLからJSONに変換することができます。

まず、ウェブサービスをブラウザ上でテストします。以下に示されたURLにアクセスすると、サンプルクエリを生成するための入力フォームが表示されます

![単一の標高点に関する問い合わせ用の入力フォーム](/blog/images/PointQueryInputCapture_clip.png)

「標高を取得」ボタンをクリックすると、システムは完全なREST GETリクエストを生成し、それを送信して、その結果を画面下部に表示します。この結果を利用して、データマッピングにおけるレスポンスのモデルを作成することができます。

![ポイント照会結果をJSON形式で表示します](/blog/images/PointQueryResultCapture.png)

マップフォースのツールバーにある「Webサービス機能の挿入」ボタンをクリックすると、Webサービスがマップに追加されます。これにより、「Webサービス呼び出し設定」ダイアログが開かれ、そこに米国地質調査局（USGS）のサービスURLを入力します。

![MapForce REST Web Services の設定ダイアログの一部で、サービスURLを指定する箇所](/blog/images/drop-in-service-def-from-dialog.png)

次に、リクエストパラメータとレスポンスボディを定義する必要があります。これらが、後述する「呼び出し設定」ダイアログの次の部分で示すように、マッピングに使用する要素を構成します。

![MapForce REST Web Services の設定ダイアログの一部。リクエストとレスポンスの構造を定義するための部分です](/blog/images/ws-response-structure.png)

ブラウザのウィンドウに保存されたJSONデータに基づいて、XMLSpyでJSONスキーマを簡単に生成し、レスポンスの定義を行いました。以下に、変換されたレスポンスのXMLSpyにおけるスキーマの表示を示します

![XMLSpyにおける、クエリ応答用のJSONスキーマの表示](/blog/images/json_query_result_Capture_alt.png)

USGSの標高データ入力フォームには、入力パラメータを定義するために必要なすべての情報が記載されているため、これらの情報を次のセクションである「コール設定」ダイアログに追加することができます

![MapForce REST Web Services の設定ダイアログの一部。クエリの入力パラメータを指定するための項目です](/blog/images/input-parameters.png)

各リクエストにおける単位と出力値は、実行中に変更されません。固定値を設定することも可能でしたが、代わりに、これらの値をマッピング内で定数として提供します。必要なセキュリティ設定は、コール設定ダイアログで構成してください。ダイアログを閉じるために「OK」をクリックすると、Webサービス関数がマッピングに追加されます。

![MapForceのデータマッピング設計における、USGSの標高データ照会機能](/blog/images/bare-WS-in-mapping-Capture.png)

ソースのGPXファイルに含まれる各トラッキングポイントは、一連の座標データを提供します。マッピング処理の実行中、各トラッキングポイントが処理されるたびに、Webサービス経由でUSGSにGETリクエストが送信され、その応答として、標高データを置き換えるための情報が提供されます。

次に、リクエストとレスポンスの要素を、以下に示すように、入力と出力のコンポーネントに接続するだけです。左上には、単位と出力タイプの定数が表示されており、出力に挿入する前に、標高値は小数点以下2桁に丸められます。

![MapForceのデータマッピング設計において、USGSの標高データに関するクエリ機能を、入力と出力が連携するように設定しました](/blog/images/Mapped_ws_Capture.png)

注意点として、出力はJSONファイルです。このマッピングの抜粋表示では、入力コンポーネントは表示されていませんが、実際には標準的なGPXファイルで、XML形式で構成されています。図示されているWebサービス機能の背面に配置され、出力コンポーネントに接続されているデータマッピングの接続線は、すべてXML形式の入力データから、変更なしにコピーされる値です。これらの値は、対応するJSON要素に格納されます。

「MapForce 出力」ボタンをクリックすると、データ変換処理が実行され、JSONファイルが生成されます。以下に、その一部の表示例を示します

![MapForceによるデータマッピング処理の結果をJSON形式で出力した際の、一部の表示例](/blog/images/json_output_Capture.png)

本番環境では、作成したマッピングをMapForce実行ファイルとして保存し、MapForceサーバーによって自動的に処理することができます。この処理は、コマンドラインから実行することも、FlowForceサーバーの制御下で実行することも可能です。

[Altova MapForce](https://www.altova.com/ja/mapforce.html)は、受賞歴のあるグラフィカルなデータマッピング、変換、統合ツールであり、XML、データベース、EDI、XBRL、テキストファイル、Excel、JSON、および/またはWebサービスなど、あらゆる種類のデータ形式間のマッピングを可能にします。
[フル機能の無料トライアル版をダウンロードして、ぜひご自身で試してみてください！](https://www.altova.com/ja/download-trial.html)
