XMLWebサービス
WebサービスはWebアプリケーションコンポーネントです。
Webサービスは、Web上で公開、検索、および使用できます。
このチュートリアルでは、WSDL、SOAP、RDF、およびRSSを紹介します。
WSDL
- WSDLはWebサービス記述言語の略です
- WSDLは、Webサービスを記述するためのXMLベースの言語です。
- WSDLはW3C勧告です
石鹸
- SOAPはSimpleObject AccessProtocolの略です
- SOAPは、WebサービスにアクセスするためのXMLベースのプロトコルです。
- SOAPはXMLに基づいています
- SOAPはW3C勧告です
RDF
- RDFはResourceDescriptionFrameworkの略です
- RDFは、Web上のリソースを記述するためのフレームワークです。
- RDFはXMLで書かれています
- RDFはW3C勧告です
RSS
- RSSはReallySimpleSyndicationの略です
- RSSを使用すると、サイトのコンテンツをシンジケートできます
- RSSは、見出しとコンテンツを共有および表示する簡単な方法を定義します
- RSSファイルは自動的に更新できます
- RSSを使用すると、さまざまなサイトのパーソナライズされたビューが可能になります
- RSSはXMLで書かれています
あなたがすでに知っておくべきこと
Webサービスを学習する前に、XMLおよびXML名前空間の基本を理解しておく必要があります。
これらの主題を最初に学習したい場合は、XMLチュートリアルをお読みください。
ウェブサービス
- Webサービスはアプリケーションコンポーネントです
- Webサービスはオープンプロトコルを使用して通信します
- Webサービスは自己完結型で自己記述型です
- WebサービスはUDDIを使用して検出できます
- Webサービスは他のアプリケーションで使用できます
- HTTPとXMLはWebサービスの基盤です
相互運用性が最優先
すべての主要なプラットフォームがWebブラウザを使用してWebにアクセスできる場合、異なるプラットフォームは相互作用できませんでした。これらのプラットフォームが連携するために、Webアプリケーションが開発されました。
Webアプリケーションは、Web上で実行される単なるアプリケーションです。これらはWebブラウザー標準に基づいて構築されており、任意のプラットフォームの任意のブラウザーで使用できます。
WebサービスはWebアプリケーションを次のレベルに引き上げます
Webサービスを使用することにより、アプリケーションはその機能またはメッセージを世界中に公開できます。
Webサービスは、XMLを使用してデータをコーディングおよびデコードし、SOAPを使用してデータを転送します(オープンプロトコルを使用)。
Webサービスを使用すると、経理部門のWin2kサーバーの課金システムをITサプライヤのUNIXサーバーに接続できます。
Webサービスには2つのタイプの用途があります
再利用可能なアプリケーションコンポーネント。
アプリケーションが頻繁に必要とするものがあります。では、なぜこれらを何度も繰り返すのでしょうか?
Webサービスは、通貨換算、天気予報、さらには言語翻訳などのアプリケーションコンポーネントをサービスとして提供できます。
既存のソフトウェアを接続します。
Webサービスは、さまざまなアプリケーションにデータをリンクする方法を提供することにより、相互運用性の問題を解決するのに役立ちます。
Webサービスを使用すると、さまざまなアプリケーションやさまざまなプラットフォーム間でデータを交換できます。
どのアプリケーションにもWebサービスコンポーネントを含めることができます。
Webサービスは、プログラミング言語に関係なく作成できます。
Webサービスの例
次の例では、ASP.NETを使用して、温度を華氏から摂氏に、またはその逆に変換する単純なWebサービスを作成します。
<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class
このドキュメントは.asmxファイルとして保存されます。これは、XMLWebサービスのASP.NETファイル拡張子です。
例の説明
注:この例を実行するには、.NETサーバーが必要です。
例の最初の行は、これがVBScriptで記述されたWebサービスであり、クラス名が「TempConvert」であることを示しています。
<%@ WebService Language="VBScript" Class="TempConvert" %>
次の行は、.NETFrameworkから名前空間「System.Web.Services」をインポートします。
Imports System
Imports System.Web.Services
次の行は、「TempConvert」クラスがWebServiceクラスタイプであることを定義しています。
Public Class TempConvert :Inherits WebService
次のステップは、基本的なVBプログラミングです。このアプリケーションには2つの機能があります。1つは華氏から摂氏に変換するためのもので、もう1つは摂氏から華氏に変換するためのものです。
通常のアプリケーションとの唯一の違いは、この関数が「WebMethod()」として定義されていることです。
「WebMethod()」を使用して、アプリケーションの関数をWebサービスに変換します。
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
次に、クラスを終了します。
end class
.NETをサポートするサーバーに.asmxファイルを公開すると、最初に機能するWebサービスが作成されます。
WebサービスをWebサイトに配置する
フォームとHTTPPOSTメソッドを使用して、次のようにWebサービスをサイトに配置できます。
どうやるか
WebサービスをWebページに追加するためのコードは次のとおりです。
<form
action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
<form
action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
<tr>
<td>Celsius to Fahrenheit:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Celsius">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
「tempconvert.asmx」を次のようなWebサービスのアドレスに置き換えます。
http://www.example.com/xml/tempconvert.asmx