XML Web Services
บริการเว็บเป็นส่วนประกอบเว็บแอปพลิเคชัน
บริการเว็บสามารถเผยแพร่ พบ และใช้งานบนเว็บได้
บทช่วยสอนนี้จะแนะนำ WSDL, SOAP, RDF และ RSS
WSDL
- WSDL ย่อมาจาก Web Services Description Language
- WSDL เป็นภาษาที่ใช้ XML สำหรับการอธิบายบริการเว็บ
- WSDL เป็นคำแนะนำของ W3C
สบู่
- SOAP ย่อมาจาก Simple Object Access Protocol
- SOAP เป็นโปรโตคอลที่ใช้ XML สำหรับการเข้าถึงบริการเว็บ
- SOAP ขึ้นอยู่กับ XML
- SOAP เป็นคำแนะนำของ W3C
RDF
- RDF ย่อมาจาก Resource Description Framework
- RDF เป็นเฟรมเวิร์กสำหรับการอธิบายทรัพยากรบนเว็บ
- RDF เขียนด้วย XML
- RDF เป็นคำแนะนำของ W3C
RSS
- RSS ย่อมาจาก Really Simple Syndication
- RSS อนุญาตให้คุณเผยแพร่เนื้อหาไซต์ของคุณ
- RSS กำหนดวิธีง่ายๆ ในการแชร์และดูหัวข้อข่าวและเนื้อหา
- ไฟล์ RSS สามารถอัปเดตได้โดยอัตโนมัติ
- RSS ให้มุมมองส่วนบุคคลสำหรับไซต์ต่างๆ
- RSS เขียนด้วย XML
สิ่งที่คุณควรรู้อยู่แล้ว
ก่อนที่คุณจะศึกษาบริการเว็บ คุณควรมีความเข้าใจพื้นฐานเกี่ยวกับ XML และ XML Namespaces
หากคุณต้องการศึกษาวิชาเหล่านี้ก่อน โปรดอ่านXML Tutorialของ เรา
บริการเว็บ
- บริการเว็บเป็นส่วนประกอบแอปพลิเคชัน
- บริการเว็บสื่อสารโดยใช้โปรโตคอลแบบเปิด
- บริการเว็บเป็นแบบครบวงจรและอธิบายตนเอง
- สามารถค้นหาบริการเว็บได้โดยใช้ UDDI
- แอปพลิเคชันอื่นสามารถใช้บริการเว็บได้
- HTTP และ XML เป็นพื้นฐานสำหรับบริการเว็บ
การทำงานร่วมกันมีความสำคัญสูงสุด
เมื่อแพลตฟอร์มหลักทั้งหมดสามารถเข้าถึงเว็บได้โดยใช้เว็บเบราว์เซอร์ แพลตฟอร์มต่างๆ จะไม่สามารถโต้ตอบกันได้ เพื่อให้แพลตฟอร์มเหล่านี้ทำงานร่วมกันได้ เว็บแอปพลิเคชันจึงได้รับการพัฒนา
เว็บแอปพลิเคชันเป็นเพียงแอปพลิเคชันที่ทำงานบนเว็บ สิ่งเหล่านี้สร้างขึ้นจากมาตรฐานของเว็บเบราว์เซอร์และสามารถใช้ได้กับเบราว์เซอร์ใดก็ได้บนทุกแพลตฟอร์ม
Web Services นำเว็บแอปพลิเคชันไปสู่ระดับถัดไป
ด้วยการใช้บริการเว็บ แอปพลิเคชันของคุณสามารถเผยแพร่ฟังก์ชันหรือข้อความไปยังส่วนอื่นๆ ของโลกได้
บริการเว็บใช้ XML เพื่อเข้ารหัสและถอดรหัสข้อมูล และ SOAP เพื่อขนส่ง (โดยใช้โปรโตคอลแบบเปิด)
ด้วยบริการทางเว็บ ระบบการเรียกเก็บเงินของเซิร์ฟเวอร์ Win 2k ของแผนกบัญชีของคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ UNIX ของซัพพลายเออร์ IT ของคุณได้
บริการเว็บมีการใช้งานสองประเภท
ส่วนประกอบแอปพลิเคชันที่นำกลับมาใช้ใหม่ได้
มีบางสิ่งที่แอปพลิเคชันต้องการบ่อยมาก เหตุใดจึงทำสิ่งเหล่านี้ซ้ำแล้วซ้ำอีก?
บริการบนเว็บสามารถนำเสนอส่วนประกอบแอปพลิเคชัน เช่น การแปลงสกุลเงิน รายงานสภาพอากาศ หรือแม้แต่การแปลภาษาเป็นบริการ
เชื่อมต่อซอฟต์แวร์ที่มีอยู่
บริการเว็บสามารถช่วยแก้ปัญหาการทำงานร่วมกันโดยให้แอปพลิเคชันต่างๆ สามารถเชื่อมโยงข้อมูลของตนได้
ด้วยบริการทางเว็บ คุณสามารถแลกเปลี่ยนข้อมูลระหว่างแอปพลิเคชันต่างๆ และแพลตฟอร์มต่างๆ ได้
แอปพลิเคชันใดๆ สามารถมีองค์ประกอบ Web Service ได้
สามารถสร้างเว็บเซอร์วิสได้โดยไม่คำนึงถึงภาษาโปรแกรม
ตัวอย่างบริการเว็บ
ในตัวอย่างต่อไปนี้ เราจะใช้ ASP.NET เพื่อสร้าง Web Service อย่างง่ายที่แปลงอุณหภูมิจากฟาเรนไฮต์เป็นเซลเซียส และในทางกลับกัน:
<%@ 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 นี่คือนามสกุลไฟล์ ASP.NET สำหรับ XML Web Services
ตัวอย่างที่อธิบาย
หมายเหตุ:หากต้องการเรียกใช้ตัวอย่างนี้ คุณจะต้องมีเซิร์ฟเวอร์ .NET
บรรทัดแรกในตัวอย่างระบุว่านี่คือ Web Service เขียนด้วย VBScript และมีชื่อคลาส "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
บรรทัดถัดไปนำเข้าเนมสเปซ "System.Web.Services" จาก .NET framework:
Imports System
Imports System.Web.Services
บรรทัดถัดไปกำหนดว่าคลาส "TempConvert" เป็นประเภทคลาส WebService:
Public Class TempConvert :Inherits WebService
ขั้นตอนต่อไปคือการเขียนโปรแกรม VB พื้นฐาน แอปพลิเคชั่นนี้มีสองฟังก์ชั่น อันหนึ่งสำหรับแปลงจากฟาเรนไฮต์เป็นเซลเซียส และอีกอันสำหรับแปลงจากเซลเซียสเป็นฟาเรนไฮต์
ความแตกต่างเพียงอย่างเดียวจากแอปพลิเคชันทั่วไปคือฟังก์ชันนี้ถูกกำหนดเป็น "WebMethod()"
ใช้ "WebMethod()" เพื่อแปลงฟังก์ชันในแอปพลิเคชันของคุณเป็นบริการเว็บ:
<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 บนเซิร์ฟเวอร์ที่รองรับ .NET และคุณจะมีบริการเว็บที่ใช้งานได้เป็นครั้งแรก
วางบริการเว็บบนเว็บไซต์ของคุณ
เมื่อใช้แบบฟอร์มและวิธี HTTP POST คุณสามารถวางบริการเว็บบนไซต์ของคุณได้ดังนี้:
ทำอย่างไร
นี่คือรหัสสำหรับเพิ่ม Web Service ไปยังหน้าเว็บ:
<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" ด้วยที่อยู่ของบริการเว็บของคุณเช่น:
http://www.example.com/xml/tempconvert.asmx