XMLチュートリアル

XMLホーム XMLの紹介 XML使用方法 XMLツリー XML構文 XML要素 XML属性 XML名前空間 XML表示 XML HttpRequest XMLパーサー XML DOM XML XPath XML XSLT XML XQuery XML XLink XMLバリデーター XML DTD XMLスキーマ XMLサーバー XMLの例 XMLクイズ XML証明書

XML AJAX

AJAXの紹介 AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

XML DOM

DOMの紹介 DOMノード DOMアクセス DOMノード情報 DOMノードリスト DOMトラバース DOMナビゲーション DOMは値を取得します DOM変更ノード DOM削除ノード DOM置換ノード DOM作成ノード DOM追加ノード DOMクローンノード DOMの例

XPathチュートリアル

XPathの概要 XPathノード XPath構文 XPath軸 XPath演算子 XPathの例

XSLTチュートリアル

XSLTの紹介 XSL言語 XSLT変換 XSLT <テンプレート> XSLT <値> XSLT <for-each> XSLT <ソート> XSLT <if> XSLT <選択> XSLT適用 クライアント上のXSLT サーバー上のXSLT XSLT Edit XML XSLTの例

XQueryチュートリアル

XQueryの紹介 XQueryの例 XQuery FLWOR XQuery HTML XQueryの用語 XQuery構文 XQuery追加 XQuery Select XQuery関数

XML DTD

DTDの紹介 DTDビルディングブロック DTD要素 DTD属性 DTD要素と属性 DTDエンティティ DTDの例

XSDスキーマ

XSDの概要 XSDハウツー XSD <スキーマ> XSD要素 XSD属性 XSDの制限

XSDコンプレックス

XSD要素 XSDが空です XSD要素のみ XSDテキストのみ XSD混合 XSDインジケーター XSD <任意> XSD <anyAttribute> XSD置換 XSDの例

XSDデータ

XSD文字列 XSD日付 XSD数値 XSDその他 XSDリファレンス

Webサービス

XMLサービス XML WSDL XML SOAP XML RDF XML RSS

参考文献

DOMノードタイプ DOMノード DOM NodeList DOM NamedNodeMap DOMドキュメント DOM要素 DOM属性 DOMテキスト DOM CDATA DOMコメント DOM XMLHttpRequest DOMパーサー XSLT要素 XSLT / XPath関数

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