บริการเว็บเว็บคอมโพเนนต์ของโปรแกรมประยุกต์
บริการเว็บสามารถเผยแพร่ได้พบและใช้บนเว็บ
กวดวิชานี้จะแนะนำ WSDL สบู่ RDF และ RSS
WSDL
- WSDL ย่อมาจากวิซเดิล
- WSDL เป็นภาษา XML สำหรับอธิบายบริการเว็บ
- WSDL เป็นคำแนะนำ W3C
สบู่
- SOAP ย่อมาจากวัตถุที่เรียบง่าย Access Protocol
- SOAP เป็นโปรโตคอลตาม XML สำหรับการเข้าถึงบริการทางเว็บ
- สบู่อยู่บนพื้นฐานของ XML
- สบู่คำแนะนำ W3C
RDF
- RDF ย่อมาจากทรัพยากรอธิบายหลักการ
- RDF เป็นกรอบสำหรับการอธิบายทรัพยากรบนเว็บ
- RDF ถูกเขียนในรูปแบบ XML
- RDF เป็นคำแนะนำ W3C
RSS
- RSS ย่อมาจาก Really Simple Syndication
- RSS ช่วยให้คุณสามารถจัดส่งเนื้อหาของเว็บไซต์ของคุณ
- RSS กำหนดเป็นวิธีที่ง่ายต่อการแบ่งปันและดูพาดหัวข่าวและเนื้อหา
- ไฟล์ RSS สามารถปรับปรุงได้โดยอัตโนมัติ
- RSS ช่วยให้มุมมองส่วนบุคคลสำหรับเว็บไซต์ที่แตกต่างกัน
- RSS คือเขียนในรูปแบบ XML
สิ่งที่คุณควรรู้แล้ว
ก่อนที่คุณจะศึกษาบริการเว็บที่คุณควรมีความเข้าใจพื้นฐานของ XML และ XML Namespaces
หากคุณต้องการที่จะศึกษาวิชาเหล่านี้เป็นครั้งแรกโปรดอ่าน การสอน XML
บริการเว็บ
- บริการเว็บแอพลิเคชันที่เป็นส่วนประกอบ
- บริการเว็บใช้โปรโตคอลสื่อสารเปิด
- บริการเว็บที่มีอยู่ในตัวเองและตนเองอธิบาย
- บริการเว็บสามารถค้นพบโดยใช้ UDDI
- บริการเว็บสามารถใช้งานโดยโปรแกรมอื่น ๆ
- HTTP และ XML เป็นพื้นฐานสำหรับการให้บริการเว็บ
การทำงานร่วมกันมีความสำคัญสูงสุด
เมื่อแพลตฟอร์มที่สำคัญทุกคนสามารถเข้าถึงเว็บโดยใช้เว็บเบราว์เซอร์, แพลตฟอร์มที่แตกต่างไม่สามารถโต้ตอบ สำหรับแพลตฟอร์มเหล่านี้จะทำงานร่วมกัน, การใช้งานเว็บได้รับการพัฒนา
การใช้งานเว็บเป็นเพียงโปรแกรมประยุกต์ที่ทำงานบนเว็บ เหล่านี้จะถูกสร้างขึ้นรอบมาตรฐานเว็บเบราว์เซอร์และสามารถใช้เบราว์เซอร์ใด ๆ บนแพลตฟอร์มใด ๆ
Web Services ใช้เว็บแอพพลิเคในระดับถัดไป
โดยการใช้บริการเว็บแอพลิเคชันของคุณสามารถเผยแพร่ฟังก์ชันหรือข้อความในส่วนที่เหลือของโลก
ใช้บริการเว็บ XML เพื่อรหัสและถอดรหัสข้อมูลและสบู่เพื่อการขนส่งมัน (using open protocols)
ด้วยบริการเว็บระบบเรียกเก็บเงินแผนกบัญชีของคุณวิน 2k เซิร์ฟเวอร์สามารถเชื่อมต่อกับเซิร์ฟเวอร์ยูนิกซ์ผู้จัดจำหน่ายไอทีของคุณ
บริการเว็บมีสองประเภทของการใช้งาน
Reusable application-components.
มีสิ่งที่ต้องการการใช้งานมากมักจะเป็น เหตุใดจึงทำให้เหล่านี้ซ้ำแล้วซ้ำอีกครั้งหรือไม่
บริการเว็บสามารถนำเสนอการประยุกต์ใช้ส่วนประกอบที่ชอบ: การแปลงสกุลเงินรายงานสภาพอากาศหรือแม้กระทั่งการแปลภาษาบริการ
Connect existing software.
บริการเว็บสามารถช่วยในการแก้ปัญหาการทำงานร่วมกันโดยการให้การใช้งานที่แตกต่างกันวิธีการเชื่อมโยงข้อมูลของพวกเขา
ด้วยบริการเว็บที่คุณสามารถแลกเปลี่ยนข้อมูลระหว่างการใช้งานที่แตกต่างกันและแพลตฟอร์มที่แตกต่าง
แอพลิเคชันใด ๆ ที่สามารถมีองค์ประกอบบริการเว็บ
บริการเว็บสามารถสร้างขึ้นได้โดยไม่คำนึงถึงการเขียนโปรแกรมภาษา
ตัวอย่างบริการเว็บ
ในตัวอย่างต่อไปนี้เราจะใช้ ASP.NET เพื่อสร้างการให้บริการเว็บง่ายๆที่แปลงอุณหภูมิจากฟาเรนไฮต์เพื่อเซลเซียสและในทางกลับกัน:
<%@ 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
ตัวอย่างอธิบาย
Note: เมื่อต้องการเรียกใช้ตัวอย่างนี้คุณจะต้องเซิร์ฟเวอร์สุทธิ
บรรทัดแรกในตัวอย่างระบุว่านี้เป็นบริการเว็บที่เขียนใน VBScript และมีชื่อชั้น "TempConvert" :
<%@ WebService Language="VBScript" Class="TempConvert" %>
บรรทัดต่อไปนำเข้า namespace "System.Web.Services" จากกรอบ NET:
Imports System
Imports System.Web.Services
บรรทัดถัดไปกำหนดว่า "TempConvert" ชั้นเป็นประเภทระดับเว็บเซอร์:
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 และคุณจะมีบริการเว็บการทำงานครั้งแรกของคุณ
ดูของเรา บริการเว็บตัวอย่างเช่น
ASP.NET โดยอัตโนมัติกระบวนการ
ด้วย ASP.NET คุณไม่ต้องเขียนเอง WSDL และสบู่เอกสารของคุณ
ถ้าคุณมองใกล้ที่บริการเว็บตัวอย่างของเราคุณจะเห็นว่า ASP.NET ได้สร้างโดยอัตโนมัติ WSDL และ SOAP คำขอ
การใช้บริการเว็บตัวอย่าง
ในหน้าก่อนหน้านี้เราได้สร้าง การบริการเว็บ
FahrenheitToCelsius() ฟังก์ชั่นสามารถทดสอบได้ที่นี่: FahrenheitToCelsius
CelsiusToFahrenheit() ฟังก์ชั่นสามารถทดสอบได้ที่นี่: CelsiusToFahrenheit
ฟังก์ชั่นเหล่านี้จะส่งตอบกลับ XML เช่นนี้
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">38</string>
ใส่บริการเว็บบนเว็บไซต์ของคุณ
โดยใช้รูปแบบและวิธีการ HTTP POST ที่คุณสามารถนำบริการเว็บบนเว็บไซต์ของคุณเช่นนี้
วิธีที่จะทำ
นี่คือรหัสที่จะเพิ่มบริการเว็บไปยังหน้าเว็บ:
<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