検索
特集

特集:第1回 スタートアップ.NET――基礎から始める.NETdev .NET(2/8 ページ)

.NETを簡潔に説明できる人はそう多くない。その理由のひとつは、.NETが利用形態によってさまざまな側面を持つからだ。デベロッパーチャンネル「dev .NET」新連載となるこの特集では、これから.NETに取り組みたい読者に向けて解説していく。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

データのやり取りを行う「XML Webサービス」

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 .NETでは、データがネットワークを流れて、さまざまなクライアントやサーバに渡ることを想定している。ここでいうネットワークは、社内LANだけでなくインターネットも含む。インターネットでは、セキュリティ上、ファイアウォールが構成されていることが多く、どことでも接続するためには、データのやり取りに、ファイアウォールを通しやすいプロトコルを採用する必要がある。また、クライアントやサーバは、WindowsではないOSである可能性もある。そのため、汎用性も求められる。

 そこで.NETでは、「データをやり取りするプログラム」として、「XML Webサービス」と呼ぶ規格を採用している。XML Webサービスは、次の特徴を持つ。

1. HTTPでの通信

 データは、HTTP(Hpyer Text Transfer Protocol)で通信する。HTTPは、Webで使われているのと同じプロトコル。現在、インターネットを使っていて、「Webを見られない」という環境はほとんどないはずだ。つまり、ほとんどの環境ではファイアウォールでHTTPを透過する設定がされており、HTTPを採用しているXML Webサービスは、ファイアウォールを通しやすいといえる。

 また、プロトコルにHTTPを採用することで、Webアプリケーションの構成に使われているさまざまな技術を流用できるというメリットもある。

 たとえば、ユーザー認証やSSL(Secure Socket Layer)による暗号化、そして、アクセスログの記録や集計などに、Webアプリケーションと同じ仕組みを利用できる。実際のところ、XML Webサービスは、図2に示すように、Webサーバ上で実行され、XML形式のデータを返す、一種のWebアプリケーションである。

2. SOAPによるデータの表現

 Windows以外のOSとの連携を考えた場合には、やり取りするデータをどのように表現するかが問題となる。そこで、XML Webサービスでは、「SOAP」(Simple Object Access Protocol)と呼ばれる仕様に則ったデータ形式で行う。

 SOAPとは、簡単にいえば「Webを利用して、リモートのプログラムを呼び出す仕組み」のことである。リモートのプログラムを呼び出す際に引き渡す値や、プログラムから戻ってくる値は、XMLでタグ付けされる(リスト1、リスト2)。

 もちろん、リモートのプログラムを呼び出す時には、そのリモートのプログラムが、どのような値を受け取り、どのような値を返すのかという情報が必要だ。その情報もXML形式で書かれており、「WSDL(Web Services Description Language)」と呼ばれる(リスト3)。SOAPの仕様は、W3Cによって標準化されており、OS依存しない。そのため、SOAPで表現されているXML Webサービスは、どのようなOSからでも呼び出せる。

 リスト2に示したように、XML Webサービスから戻ってきた値は、XMLでタグ付けされた構成なので、データを受け取ったアプリケーションは、データ加工しやすいのもメリットのひとつだ。たとえば、XMLでは、XML形式のデータを他の形式のデータに変換するために、「XSLT」と呼ぶ仕様がある。XSLTを使うと、XML形式のデータをHTML形式など、他の形式に容易に変換できる。


図2■XML Webサービス

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る