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.


ULASHISH

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 class

Bu 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.Services

Keyingi qator "TempConvert" sinfi WebService sinf tipida ekanini belgilaydi:

Public Class TempConvert :Inherits WebService

Keyingi 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 function

So‘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:

Fahrenheit to Celsius:

Celsius to Fahrenheit:

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!