XML xizmatlari
Veb-xizmatlar — veb-ilova komponentlari.
Veb-xizmatlarni vebda nashr etish, topish va ulardan foydalanish mumkin.
Ushbu darslik WSDL, SOAP, RDF va RSS bilan tanishtiradi.
WSDL
- WSDL — Web Services Description Language (veb-xizmatlarni tavsiflash tili) degan ma’noni anglatadi
- WSDL — veb-xizmatlarni tavsiflash uchun XML’ga asoslangan til.
- WSDL — W3C tavsiyasi
SOAP
- SOAP — Simple Object Access Protocol (obyektlarga oddiy kirish protokoli) degan ma’noni anglatadi
- SOAP — veb-xizmatlarga murojaat qilish uchun XML’ga asoslangan protokol.
- SOAP XML’ga asoslangan
- SOAP — W3C tavsiyasi
RDF
- RDF — Resource Description Framework (resurslarni tavsiflash freymvorki) degan ma’noni anglatadi
- RDF — vebdagi resurslarni tavsiflash uchun freymvork
- RDF XML’da yoziladi
- RDF — W3C tavsiyasi
RSS
- RSS — Really Simple Syndication (haqiqatan ham oddiy sindikatsiya) degan ma’noni anglatadi
- RSS sayt kontentingizni sindikatsiya qilish (tarqatish) imkonini beradi
- RSS sarlavhalar va kontentni ulashish hamda ko‘rishning oson usulini belgilaydi
- RSS fayllari avtomatik ravishda yangilanishi mumkin
- RSS turli saytlar uchun shaxsiylashtirilgan ko‘rinishlarga imkon beradi
- RSS XML’da yoziladi
Oldindan nimalarni bilishingiz kerak
Veb-xizmatlarni o‘rganishdan oldin XML va XML nomlar fazolari haqida asosiy tushunchaga ega bo‘lishingiz kerak.
Agar avval shu mavzularni o‘rganmoqchi bo‘lsangiz, XML darsligimizni o‘qing.
Veb-xizmatlar
- Veb-xizmatlar — ilova komponentlari
- Veb-xizmatlar ochiq protokollar yordamida aloqa qiladi
- Veb-xizmatlar mustaqil va o‘zini o‘zi tavsiflaydi
- Veb-xizmatlarni UDDI yordamida topish mumkin
- Veb-xizmatlardan boshqa ilovalar foydalanishi mumkin
- HTTP va XML veb-xizmatlarning asosi hisoblanadi
O‘zaro muvofiqlik (interoperability) eng yuqori ustuvorlikka ega
Barcha asosiy platformalar veb-brauzerlar orqali vebga kira olgan paytda turli platformalar o‘zaro ishlay olmas edi. Bu platformalar birgalikda ishlashi uchun veb-ilovalar ishlab chiqildi.
Veb-ilovalar — shunchaki vebda ishlaydigan ilovalar. Ular veb-brauzer standartlari asosida quriladi va istalgan platformadagi istalgan brauzerda ishlatilishi mumkin.
Veb-xizmatlar veb-ilovalarni yangi bosqichga olib chiqadi
Veb-xizmatlar yordamida ilovangiz o‘z funksiyasi yoki xabarini butun dunyoga e’lon qila oladi.
Veb-xizmatlar ma’lumotlarni kodlash va dekodlash uchun XML’dan, ularni uzatish uchun esa SOAP’dan (ochiq protokollar yordamida) foydalanadi.
Veb-xizmatlar yordamida buxgalteriya bo‘limingizning Win 2k serveridagi hisob-kitob tizimi IT yetkazib beruvchingizning UNIX serveriga ulana oladi.
Veb-xizmatlardan ikki xil maqsadda foydalaniladi
Qayta foydalaniladigan ilova komponentlari.
Ilovalarga juda tez-tez kerak bo‘ladigan narsalar bor. Unda nega ularni qayta-qayta yaratish kerak?
Veb-xizmatlar valyuta konvertatsiyasi, ob-havo ma’lumotlari yoki hatto tarjima kabi ilova komponentlarini xizmat sifatida taklif qilishi mumkin.
Mavjud dasturiy ta’minotni bog‘lash.
Veb-xizmatlar turli ilovalarga o‘z ma’lumotlarini bog‘lash imkonini berib, o‘zaro muvofiqlik muammosini hal qilishga yordam beradi.
Veb-xizmatlar yordamida turli ilovalar va turli platformalar o‘rtasida ma’lumot almashishingiz mumkin.
Har qanday ilova veb-xizmat komponentiga ega bo‘lishi mumkin.
Veb-xizmatlarni dasturlash tilidan qat’i nazar yaratish mumkin.
Veb-xizmatga misol
Quyidagi misolda haroratni Farengeytdan Selsiyga va aksincha o‘giradigan oddiy veb-xizmat yaratish uchun ASP.NET’dan foydalanamiz:
<%@ 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 classBu hujjat .asmx fayli sifatida saqlanadi. Bu XML veb-xizmatlari uchun ASP.NET fayl kengaytmasi.
Misol tushuntirilishi
Eslatma: Bu misolni ishga tushirish uchun sizga .NET server kerak bo‘ladi.
Misoldagi birinchi qator bu VBScript’da yozilgan va "TempConvert" sinf nomiga ega veb-xizmat ekanini bildiradi:
<%@ WebService Language="VBScript" Class="TempConvert" %>Keyingi qatorlar .NET freymvorkidan "System.Web.Services" nomlar fazosini import qiladi:
Imports System
Imports System.Web.ServicesKeyingi qator "TempConvert" sinfi WebService sinf tipida ekanini belgilaydi:
Public Class TempConvert :Inherits WebServiceKeyingi qadamlar — oddiy VB dasturlash. Bu ilovada ikkita funksiya bor: biri Farengeytdan Selsiyga, ikkinchisi Selsiydan Farengeytga o‘giradi.
Oddiy ilovadan yagona farqi — bu funksiya "WebMethod()" sifatida aniqlangan.
Ilovangizdagi funksiyalarni veb-xizmatlarga aylantirish uchun "WebMethod()" dan foydalaning:
<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 functionSo‘ngra sinfni yakunlang:
end class.asmx faylini .NET qo‘llab-quvvatlanadigan serverda nashr eting — shunda birinchi ishlaydigan veb-xizmatingizga ega bo‘lasiz.
Veb-xizmatni veb-saytingizga joylashtiring
Forma va HTTP POST metodidan foydalanib, veb-xizmatni saytingizga quyidagicha joylashtirishingiz mumkin:
Buni qanday qilish kerak
Mana veb-xizmatni veb-sahifaga qo‘shish uchun kod:
<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" ni veb-xizmatingiz manzili bilan almashtiring, masalan:
http://www.example.com/xml/tempconvert.asmx
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
