スキーマを定義できるXMLはデータ連携に最適

スキーマを定義できるXMLはデータ連携に最適

それでは、現在、データ連携に用いられる汎用的なフォーマットとプロトコルについて紹介しましょう。

それぞれのアプリケーションは独自のフォーマットでデータを管理している場合がほとんどなので、そのフォーマットをすべてデータ連携ツールが理解できるようにしておくのは効率的ではありません。

そこで、データを転送する際、アプリケーション側でCSVやXMLといった汎用的なフォーマットへとデータを変換しておくことで、ネイティブな言語(固有のフォーマット)を意識することなくデータをやり取りすることが可能になります。

これまで汎用的なデータフォーマットとしては、CSVが利用されるケースが多く、FTPを使うファイル交換システムを利用したデータのやり取りが実現されてきました。

CSVはテキストファイルなので可読性が高く、特別なデータ解析が不要で、とても取り扱いが簡単なのですが、スキーマ(データ構造)が定義されていないため、データベースが関与しない環境で同形式のデータを大量に管理するのは面倒であり、一般的に処理にも時間がかかります。

そのため、近年では統一的な記法を用いながら独自の意味や構造を持ったデータを簡単に取り扱えるXMLを利用して、データ連携を実現するケースが増えてきました。また、データ連携に利用されるWebサービスが標準的にサポートしているということも、XMLが汎用的に利用される理由となっています。

図2:第4世代のデータ連携の大きな流れ

Webサービスの連携を実現するSOAP

XMLを利用したWebサービスによるメッセージ交換は汎用性が高く、企業内外のデータ連携、システム連携に利用されています。そのWebサービスのプロトコルとして代表的なものがSOAP(Simple Object Access Protocol)とREST(REpresentation State Transfer)です。

SOAPはいまさら詳細を説明するまでもなく、Webサービスの基本的なプロトコルとして利用されてきました。XMLをベースとした言語WSDL(Web Services Description Language)により定義されたサービスをSOAPプロトコルによって送受信する方式です。

近年では、開発ツールや開発言語用ライブラリのSOAP対応が進んできているため、SOAPはとても利用しやすくなってきました。しかし、そもそも高機能で複雑な処理がハンドリングできるよう設計されているため、習得が難しく初期の学習コストが高くついてしまうというデメリットがあります。そのためSOAPに慣れていない場合には、データ連携を実現するためのハードルが高くなってしまうケースも多いようです。

またSOAPの性能面に関しても、構文の生成や解析がボトルネックとなってしまい、システムのパフォーマンスが低下してしまうケースがあるという課題を内在しています。

HTTP上で気軽に利用できるがREST

一方、RESTではHTTP上でXML文書をやり取りします。そのため、少量の情報や類似したメッセージを複数回交換する際には、SOAPに比べて定義がシンプルで済み、パフォーマンスも有利だと言われています。

SOAPが第三者機関(W3C:World Wide Web Consortium )による標準化が定義されているのに比べ、RESTには明確な仕様が決められていません。一般的には、HTTPのGETメソッドを使ってURLにアクセスするとXMLが返ってくるものがRESTと呼ばれています。

RESTの定義方法はWADL(Web Application Description Language)を用いるケースが多く、特別なサーバーやクライアント環境などを用意しなくても、WebブラウザにURLを入力するだけで動作確認ができるというのも大きな特徴です。

「SOAPか、RESTか」という点についての議論は他に譲りたいと思いますが、共にHTTPSを使って簡単に暗号化ができる点やこれまでWebサイトを開発したハードウエア、ソフトウエア、そしてノウハウを流用できることから、適材適所での使い分けをすることが肝心ではないかと考えています。

 SOAPREST

開発のしやすさ

比較的難易度が高く※、開発、テストには一定のサーバー環境が必要
[※]ただし、開発支援環境(ミドルウェア、ツール等)によって、開発者の負荷は軽減される。
データの定義がシンプル、テストも容易

パフォーマンス

構文の生成や解析がボトルネックとなりパフォーマンスに影響する場合も少量のデータ交換には応答が速く、効率的なメッセージ交換が可能

機能

高機能で複雑な処理がハンドリングできるHTTPに依存するため、複雑な処理には向かない場合も
図3:データ連携から見たSOAPとRESTの比較

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30