Veb -xizmat nima? XML veb -xizmatlari. Texnologiyaning umumiy ko'rinishi

Veb -xizmat - bu boshqa dasturlar orqali Internet orqali kirish mumkin bo'lgan dastur (http). Masalan, sizda HTML formatidagi matnni ta'minlaydigan funksiya bor deylik. Ilovaning maqsadi - natijalarni ko'rsatadigan veb -brauzer va odam bu matnni sahifada osongina o'qishi mumkin.

Boshqa tomondan, veb -xizmatning maqsadli auditoriyasi - bu veb -xizmat ko'rsatadigan ma'lumotlarni iste'mol qiladigan boshqa dasturlar yoki boshqa veb -xizmatlar. Odatda, chiqish boshqa dasturlar tushunadigan standart tilda. Yuqoridagi misolni olaylik, agar veb -xizmat XML formatida matn chiqarsa, XMLni o'qiy oladigan yoki tushunadigan boshqa veb -xizmatlar bu chiqishdan foydalanishi mumkin.

Veb -xizmatning asosiy afzalligi shundaki, ilovalar har qanday tilda yozilishi mumkin, lekin ular veb -xizmat orqali bir -biri bilan muloqot qilishlari va muloqot qilishlari mumkin. Turli xil dasturlash tillarida yozilgan va turli platformalarda ishlaydigan dasturiy ilovalar Internet (HTTP) orqali muloqot qilish uchun veb -xizmatlardan foydalanishi mumkin. Bu o'zaro ishlash (masalan, Java va Python, yoki Windows va Linux dasturlari o'rtasida) ochiq standartlarni (XML, SOAP, HTTP) ishlatish bilan bog'liq.

  • SOAP (oddiy ob'ektga kirish protokoli)
  • UDDI (universal tavsif, kashfiyot va integratsiya)
  • WSDL (veb -xizmatlar tavsifi tili)

Qancha turdagi veb -xizmatlar mavjud?

Asosan, ikkita turdagi veb -xizmatlar mavjud: Oddiy ob'ektlarga kirish protokoli (SOAP) va vakillik holatini uzatish (REST).

  • SOAP veb -xizmati XML so'rovini qabul qiladi va XML chiqishini yaratadi.
  • REST veb -xizmati umumiyroq bo'lib, XML va JSON -ni so'rov sifatida qabul qilishi mumkin va XML -ga, shuningdek JSON -ga yoki hatto HTML -ga chiqish hosil qiladi.

Bu masalani biznikida batafsilroq o'rganish mumkin.

Qo'ng'iroq qilaylik xizmat manba quyidagi xususiyatlarga ega bo'lgan biznes funktsiyasini amalga oshiradi:

    qayta foydalanish mumkin;

    bir yoki bir nechta aniq texnologiyadan mustaqil interfeyslar bilan belgilanadi;

    boshqa shunga o'xshash manbalar bilan zaif bog'liq va ularni bir -biri bilan o'zaro ta'sir o'tkazish qobiliyatini ta'minlaydigan aloqa protokollari orqali chaqirish mumkin.

Veb xizmati satr bilan aniqlangan dasturiy tizim deb ataladi URI, interfeyslari va bog'lanishlari tomonidan aniqlangan va tasvirlangan XML... Ushbu dasturiy ta'minot tizimining tavsifini XML -ga asoslangan va Internet -protokollar yordamida uzatiladigan xabarlar orqali ushbu tavsifga muvofiq o'zaro ta'sir o'tkaza oladigan boshqa dasturiy tizimlar topishi mumkin.

1.1 Veb -xizmatlar asoslari

Veb -xizmatlar yangi taqsimlanish darajasini ta'minlaydigan yangi istiqbolli arxitektura. Komponentlarni ishlab chiqish yoki sotib olish va ularni ISga joylashtirish o'rniga, ularning ish vaqtini sotib olish va mustaqil provayderlarga tegishli bo'lgan va ularga xizmat ko'rsatuvchi komponentlardan qo'ng'iroqlarni amalga oshiradigan dasturiy ta'minot tizimini yaratish taklif etiladi. Rahmat Veb -xizmatlar tarmoqdagi har qanday dasturning funktsiyalari Internet orqali mavjud bo'lishi mumkin. Eng oddiy misol Veb -xizmatlar- tizim Pasport yoqilgan Hotmail bu sizning saytingizda foydalanuvchi autentifikatsiyasini yaratishga imkon beradi.

Veb -xizmatlar quyidagi umumiy texnologiyalarga asoslangan:

    TCP / IP- asosiy tarmoqlardan tortib mobil telefonlar va PDAgacha bo'lgan barcha tarmoq qurilmalari tushunadigan universal protokol;

    Html- foydalanuvchi qurilmalari ma'lumotlarini ko'rsatish uchun ishlatiladigan universal belgilash tili;

    XML(Kengaytiriladigan belgilash tili) - har qanday turdagi ma'lumotlar bilan ishlash uchun universal til.

Ushbu texnologiyalarning ko'p qirraliligi veb -xizmatlarni tushunish uchun asosdir. Ular faqat umumiy qabul qilingan, ochiq va rasmiy ravishda sotuvchidan mustaqil texnologiyalarga asoslangan. Faqat shu orqali tarqatilgan Internet -provayderlarni yaratish kontseptsiyasi sifatida veb -xizmatlarning asosiy afzalligi - ularning ko'p qirraliligi, ya'ni har qanday operatsion tizimlar, dasturlash tillari, dasturlar serverlari va hk.

Shunday qilib, veb -xizmatlar asl muammoni - har xil turdagi ilovalarni birlashtirish va tarqatilgan ISni yaratish muammosini hal qiladi... Bu veb -xizmatlar va ularning avvalgilaridan asosiy asosiy farq.

Veb -xizmatlar - bu XML dasturlari, ma'lumotlarni dasturlar, ob'ektlar, ma'lumotlar bazalari yoki umuman biznes operatsiyalari bilan bog'lash. Veb -xizmat va dastur o'rtasida XML hujjatlari xabarlar shaklida almashiladi. Veb -xizmatlar standartlari bunday xabarlarning formatini, xabarni yuborish interfeysini, xizmatni amalga oshiruvchi ilovaga va uning tarkibini bog'lash qoidalarini hamda interfeyslarni nashr etish va olish mexanizmlarini belgilaydi.

XML(InglizeX tarang M arkup L g'azab- kengaytirilishi mumkin belgilash tili; talaffuz qilingan [ ikc-em-ale]). Tavsiya etiladi World Wide Web Consortium(W3C). XML spetsifikatsiyasi XML hujjatlarini tavsiflaydi va qisman XML protsessorlarining xatti -harakatlarini tavsiflaydi (XML hujjatlarini o'qiydigan va ularning tarkibiga kirishni ta'minlaydigan dasturlar). XML oddiy rasmiy til bilan yaratilgan sintaksis uchun qulay yaratish va hujjatlarni qayta ishlash dasturlari va shu bilan birga odamlar tomonidan hujjatlarni o'qish va yaratish oson, bunda Internetdan foydalanishga e'tibor qaratiladi. Til kengaytiruvchi deb nomlanadi, chunki u hujjatlarda qo'llaniladigan belgilashni tuzatmaydi: ishlab chiquvchi ma'lum bir sohaning ehtiyojlariga mos ravishda markirovka yaratishi mumkin, faqat tilning sintaktik qoidalari bilan cheklangan. Oddiy rasmiy sintaksis, odamlarning qulayligi, kengaytirilishi va kodlashga asoslangan kombinatsiyasi Unicode Hujjatlar mazmunini aks ettirish XML -ning o'zi va XML -ga asoslangan ko'plab maxsus ixtisoslashtirilgan tillarning dasturiy vositalarida keng qo'llanilishiga olib keldi.

XML uchun standart dasturlar

XML faqat bitta hujjatni tasvirlash uchungina ishlatilishi mumkin. Shaxsiy foydalanuvchi, kompaniya yoki standartlar qo'mitasi ma'lum bir hujjatlar sinfiga qo'llash uchun kerakli XML elementlari va hujjatlar tuzilishini belgilashi mumkin. Shunga o'xshash elementlar to'plami va hujjat tuzilishi tavsifi deyiladi XML dasturi yoki XML lug'ati... Masalan, tashkilot molekulyar tuzilmalarni, multimediali prezentatsiyalarni tavsiflovchi yoki vektorli grafikalarni o'z ichiga olgan hujjatlarni yaratish uchun XML dasturini belgilashi mumkin.

Veb -xizmatlar ko'plab ilovalarda ishlatilishi mumkin. Veb-xizmatlar mijozlarning ish stoli yoki noutbuklaridan ishga tushiriladimi, ular oldindan buyurtma berish yoki buyurtmaning bajarilishini nazorat qilish kabi Internet-ilovalarga kirish uchun ishlatilishi mumkin.

Veb -xizmatlar uchun mos B2B integratsiyasi (biznesdan biznesga), turli tashkilotlar boshqaradigan ilovalarni bitta ishlab chiqarish jarayoniga qo'shib. Veb -xizmatlar shuningdek, korxona ilovalarini integratsiyalashtirishning kengroq muammolarini hal qilishi mumkin (Enterprise Application Integration, EAI) bitta korxonadagi bir nechta ilovalarni boshqa bir nechta ilovalar bilan bog'lash orqali. Bu holatlarning barchasida veb -xizmat ko'rsatish texnologiyalari - bu dasturiy ta'minotning turli qismlarini birlashtiradigan "elim".

Shakldan ko'rinib turibdiki. 1, veb -xizmatlar - bu dasturiy muhitlar bilan o'zaro ishlashning standart usulini ta'minlaydigan o'rash ma'lumotlar bazasini boshqarish tizimlari (DBMS), .NET, J2EE (Java2 platformasi, Enterprise Edition), CORBA (Common Object Request Broker Architecture), Korxona resurslarini rejalashtirish paketi vositachilari ( Korxona resurslarini rejalashtirish, ERP), integratsiya brokerlari va boshqalar.

Shakl.1. Veb -xizmatlar amaliy tizimlar bilan o'zaro ta'sir qiladi

Veb -xizmatlar interfeysi tarmoq muhitidan olinadi standart XML xabarlar, aylantirish XML ma'lumotlari ma'lum bir dasturiy ta'minot tizimi tomonidan "tushuniladigan" formatda va javob xabarini yuboring (ikkinchisi ixtiyoriy). Veb -xizmatlarning dasturiy ta'minoti (asosiy dasturiy ta'minot, past darajali) har qanday operatsion tizim va har qanday o'rta dastur yordamida har qanday dasturlash tilida yaratilishi mumkin ( o'rta dastur).

Oddiy misol: ma'lumot topish

Hozirgi vaqtda ko'pgina xizmatlar ma'lumotlarni kiritish orqali Internet orqali chaqiriladi HTML shakllari va bu ma'lumotlarni Uniform Resource Locator qatoriga qo'shish orqali xizmatga yuborish ( Yagona manbalar joylashuvi, URL):

http://www.google.com/search?q=Skate+boots&btnG=Google+Search

Bu misol parametrlar va kalit so'zlar to'g'ridan -to'g'ri URL manziliga joylashtirilgan veb -o'zaro ta'sirlarning soddaligini (masalan, qidirish, aktsiyalarni sotib olish yoki marshrutni so'rash) ko'rsatadi. Bunday holda, skeytboplar uchun oddiy qidiruv so'rovi Google qidiruv tizimining so'rovlar qatorida taqdim etiladi. Qidiruv kalit so'zi kiriladigan xizmatni ifodalaydi va Skate + boots parametri Google veb -saytining sahifasida HTML shaklida kiritilgan qidiruv satridir. Google qidiruv xizmati bu so'rovni turli qidiruv tizimlariga yuboradi, bu esa Skate + botlarini qidirish parametriga mos keladigan sahifalar uchun URL -lar ro'yxatini qaytaradi. Internetda qidirishning bu samarasiz usuli butunlay ko'rsatilgan matn satriga mos kelishiga va indekslanishga asoslangan HTML sahifalar.

XML ma'lumotlarni yuborishning eng yaxshi usuli hisoblanadi. XML ma'lumotni Internet orqali uzatishda muhim afzalliklarni beradi. Endi oldingi so'rov sifatida ifodalanishi mumkin XML hujjat:

xmlns: s = "www.xmlbus.com/SearchService">

Skat

etiklar

hajmi 7.5

So'rovni yuborish XML hujjat quyidagi afzalliklarga ega: ma'lumotlar turlarini va tuzilmalarini aniqlash qobiliyati, katta egiluvchanlik va kengayish. XML tuzilgan ma'lumotlarni yoki ma'lum turdagi ma'lumotlarni ko'rsatishi mumkin (masalan, o'lchov maydonining qiymatini raqamlar qatori yoki suzuvchi nuqta raqami ko'rinishida ko'rsatish mumkin) va URL ruxsat berganidan ko'ra ko'proq ma'lumotni o'z ichiga olishi mumkin.

Bu misol oddiy ob'ektlarga kirish protokoli (SOAP) xabari ko'rinishida taqdim etilgan, XML xabar almashishning standart shakli, veb -xizmatlar texnologiyasidan biri. SOAP xabarida so'ralgan xizmat nomi va kirish parametrlari alohida XML elementlari sifatida ko'rsatiladi. Bu misol, shuningdek, veb -xizmatlarning yana bir muhim elementi bo'lgan xml nom maydonidan (xmlns :) foydalanishni ko'rsatadi. XML hujjatlari bir nechta ma'lumotlar turlarini, murakkab tuzilmalarni va sxemalarni yig'ishni qo'llab -quvvatlaganligi sababli, zamonaviy veb -xizmatlar texnologiyalari HTML va URL -lar orqali dasturiy ilovalarga kirish uchun mavjud imkoniyatlardan sezilarli ustunlikni beradi.

IBM Lotus Domino 7 -da veb -xizmatlardan amaliy foydalanish

Veb -xizmatlar nima va ular nima uchun muhim?

Kontent seriyasi:

Bu tarkib maqolalar turkumining 1 -qismidir: IBM Lotus Domino 7 -da veb -xizmatlardan amaliy foydalanish

https: //www..jsp? series_title_by = ibm + lotus + domino + 7da + veb -xizmatlaridan + amaliy + foydalanish.

Bu seriyadagi boshqa maqolalarni kuzatib boring.

Siz texnik maqolalarda, mahsulot tavsiflarida yoki hatto hamkasblaringiz bilan suhbatda veb -xizmatlarga havolalarni ko'rgan bo'lishingiz mumkin. Ko'rinib turibdiki, ba'zi odamlar veb -xizmatlarga muhtoj va juda muhim, lekin siz "Xabar almashish nuqtalari to'plamini aniqlash uchun XML grammatikasi" kabi ta'riflarga duch kelganingizda, siz bunday murakkab narsalarga tegishga arzimaydi deb qaror qilasiz.

Yaxshiyamki, veb -xizmatlar hamma tushunadigan tarzda tushuntirilishi mumkin, bu qanday ishlashi haqida batafsil ma'lumot bermasdan. Veb-xizmatlar nima ekanligini tushunishga harakat qilishingiz kerak, chunki IT dunyosida ularning ko'lami (va tegishli xizmatlarga yo'naltirilgan arxitektura, SOA) doimiy ravishda kengayib bormoqda.

Veb -xizmatlarni avtomobil kabi o'ylab ko'ring: siz pistonlar, eksantrik vallar va yonilg'i quyish moslamalari qanday ishlashini texnik darajada bilishingiz shart emas - siz mashinani sotib olishingiz, haydashingiz va do'stlaringiz bilan mashinalar haqida gaplashishingiz mumkin (agar ular mexanik bo'lmasa) Albatta) ... Veb -xizmatlar bilan ham xuddi shunday, IT mutaxassisi sifatida nima uchun kerakligini tushunish uchun ular nima ekanligini va qanday ishlashini tushunish kerak.

Yashirin past darajali texnologiyalarga tegmasdan, endi veb-xizmatlar bilan ishlash ancha osonlashdi, chunki dasturiy ta'minot ishlab chiqaruvchilari va ochiq manbali hamjamiyat so'nggi bir necha yil ichida veb-xizmatlar interfeysini past darajadagi vazifalardan ajratish uchun ko'p ishlarni amalga oshirdilar. Bu sizga XML xabarlarini formatlash bo'yicha uzun hujjatlarni o'rganmasdan, komponentalarni bir -biriga ulash orqali ishlash imkonini beradi.

Ushbu maqolalar turkumi Domino ishlab chiquvchilariga IBM Lotus Domino V7.0 -da veb -xizmatlarni tushunishga va ulardan foydalanishga yordam beradi. Ushbu kirish maqolasida veb -xizmatlar nima ekanligini tushunmoqchi bo'lgan har bir kishiga foydali bo'lishi uchun etarli foydali ma'lumotlar mavjud. Lotus Domino V7.0 texnologiyalari ishlab chiquvchilarga veb -xizmatlarni yaratish va ulardan foydalanishni osonlashtiradi va biz bu haqda keyinroq batafsilroq gaplashamiz.

Birinchidan, veb -xizmat nima ekanligini tushunaylik.

Veb -xizmat nima?

Oddiy qilib aytganda, veb -xizmat kompyuter dasturlari bir -biri bilan standart tarzda aloqa o'rnatishga imkon beradi.

Uch yoki undan ortiq mashinalar orasidagi aloqa

Misollar bir yoki ikkita mashina ichidagi operatsiyalarni ko'rsatsa -da, veb -xizmatlar bir nechta kompyuterlar o'rtasida muloqot qilish uchun ham ishlatilishi mumkin. Masalan, tranzaktsiyalarni qayta yo'naltirish yoki saqlash oraliq qurilma orqali amalga oshirilishi mumkin, yoki bitta serverdagi veb -xizmatiga qo'ng'iroq boshqa xizmatga qo'ng'iroqni keltirib chiqarishi mumkin.

Maqolaning oxirida, haqiqiy SOAni ko'rib chiqishda, biz veb -xizmatlar bir nechta mashinalarda qanday aloqa o'rnatishi haqida gaplashamiz, chunki SOA har doim shunday qiladi.

Veb -xizmat mavhum tarkibiy qismdir - xuddi insoniy muloqot tushunchasi mavhum bo'lgani kabi. Dialogga o'zlari biladigan tilda gapiradigan ikki yoki undan ortiq odam kiradi. Ularning tili ular ishlatadigan so'zlarni va bu so'zlardan qanday jumlalar tuzishni belgilaydi. Odatda, muloqot savol-javob tuzilmasiga ega, kimdir savol berganda yoki bayonot berganida, suhbatdosh unga javob beradi. Odamlar yaqin bo'lishi, telefonda suhbatlashishi, bir -biriga pochta yoki suhbat orqali xabar yuborishi mumkin.

Qanday bo'lmasin, muloqot murakkab tuzilishga ega va muloqot qiladigan odamlarning soniga, aloqa tiliga, muloqotda ishlatiladigan texnologiyalarga, albatta, agar ulardan foydalanilsa, har xil yo'llar bilan o'tishi mumkin.

Veb -xizmatlardan foydalanadigan aloqa tuzilmasi ushbu maqolada ko'rib chiqiladigan ko'plab elementlarni o'z ichiga oladi. Biroq, bu fikr oddiy muloqotdagi kabi qoladi - dasturlar o'zlari biladigan til yordamida, ba'zan tarmoq orqali muloqot qiladi. Dasturlar bitta kompyuterda yoki dunyoning turli burchaklaridagi turli xil mashinalarda joylashtirilishi mumkin, ular Internet orqali router va serverlar orqali ulanadi. Yaxshi xabar shundaki, dasturlar va kompyuterlar bir xil bo'lishi shart emas. Veb -xizmatlar bir xil noutbukda joylashgan ikkita Microsoft .NET dasturi yoki Xitoyning Linux kompyuterida C ++ dasturida ishlaydigan Kanada iSeries serveridagi Java dasturi o'rtasida aloqa o'rnatishga imkon beradi.

Veb -xizmatlar orqali aloqada quyidagi standart texnologiyalar qo'llaniladi:

  • XML. Veb -xizmatlar komponentlari tomonidan ishlatiladigan til (ma'lumotlar formati).
  • SOAP protokoli. XML xabarlari dasturlar o'rtasida almashiladi
  • Veb -xizmatlar tavsifi kutubxonasi (WSDL). SOAP xabarlarining formatini va ularni qanday yuborishni belgilaydigan XML fayli

Umumjahon tavsif, kashfiyot va integratsiya (UDDI) deb nomlanuvchi standart texnologiya ham veb -xizmatlar o'rtasida muloqot qilish uchun ishlatilishi mumkin. Biz bu maqolani keyinroq ko'rib chiqamiz, lekin UDDI talab qilinmagani uchun ko'pgina veb -xizmatlar undan foydalanmaydi.

Ba'zi terminologiya: nashr qilish va veb -xizmatlardan foydalanish

Bizning shartlarimizni aniqlashtirishdan oldin, keling, veb -xizmatlar terminologiyasini ko'rib chiqaylik.

Veb -xizmatni nashr etish haqida gapirganda, biz WSDL faylini chiqaradigan va boshqa dasturlarga xizmatdan foydalanishga ruxsat beruvchi dasturni nazarda tutamiz. Veb -xizmatlarni nashr etuvchi dasturlarga provayderlar deyiladi.

Veb -xizmatdan foydalanish haqida gapirganda, biz boshqa mashinada veb -xizmatiga qo'ng'iroq qiladigan dasturni nazarda tutamiz. Veb -xizmatlardan foydalanuvchilar mijozlar deb ataladi.

XML: ona tili

XML veb -xizmatlarining tarkibiy qismlari o'rtasida muloqot qilish uchun ishlatiladi. Ilovalar, shuningdek veb -xizmatni belgilaydigan fayllar o'rtasida yuborilgan xabarlar XML formatida bo'ladi. 1 -rasmda oddiy XML faylining tuzilishi ko'rsatilgan.

Shakl 1. Asosiy XML tuzilishi

Ko'rib turganingizdek, fayldagi ba'zi ma'lumotlar (ism, familiya kabi) uchburchak qavslar bilan o'ralgan teglar bilan o'ralgan. Jonning ismi quyidagicha ko'rsatilgan Jon... Boshqa elementlar joylashtirilgan elementlar ham bor, masalan element Elementlar joylashtirilgan , va .

XML -da veb -xizmatlarni yozishning ko'p afzalliklari bor, jumladan:

  • XML tuzilishi va grammatikasi boshqa dasturlash tillariga o'xshaydi, shuning uchun veb -xizmatlar to'g'ridan -to'g'ri XML fayllarini tizimli tahlil qilishga hojat yo'q.
  • XML fayllari matnli va odamlar o'qishi mumkin (boshqacha qilib aytganda, agar siz XML tilini bilsangiz, XML faylini matn muharririda ochib, uning mazmunini tushunishingiz mumkin). Bu nosozliklarni tuzatishga yordam berishi mumkin.
  • XML sizga xabarlarda har qanday standart kodlashni ishlatishga imkon beradi, shuning uchun siz xabarlarni ingliz, rus yoki yapon tillarida yozishingiz mumkin.
  • XML sizga ma'lum nomli fayl elementining kerakli tuzilishini oldindan belgilashingiz mumkin bo'lgan nomlar maydonidan foydalanishga imkon beradi. Masalan, siz har doim o'zgaruvchan nuqta raqami bo'lishi kerak bo'lgan Narxni belgilashingiz mumkin, yoki Ism va Familiyaning ikkita elementli subelementlarini o'z ichiga olgan PersonName.

    Bundan tashqari, ismlar maydoni bir xil nomdagi bir nechta elementlarga kerak bo'lganda turli ta'riflarga ega bo'lishga imkon beradi. Misol uchun, bitta nom maydonidagi StockPrice elementi belgi va narxni o'z ichiga olishi mumkin, boshqa nom maydonida esa belgi belgisi, narx, kundalik past va yuqori va 12 oylik yuqori bo'lishi mumkin.

XML -ning yagona kamchiliklari, agar ular haqiqatan ham kamchiliklar bo'lsa, quyidagilar:

  • XML juda qiyin, shuning uchun XML xabarlarini noto'g'ri formatlash butun xabarni tahlil qila olmasligiga olib keladi (hatto muammoni izohlash yoki o'tkazib yuborish oson bo'lsa ham). Ammo, agar siz standart kutubxonadan XML fayllarini yaratish uchun foydalansangiz (veb -xizmatlarni yaratishda shunday qilasiz), kutubxonaning o'zi to'g'ri formatlashni tekshiradi.
  • XML xabari oddiy matnli faylda saqlanadi va shuning uchun boshqa formatda ekvivalentiga qaraganda ko'proq joy egallaydi (masalan, olib tashlangan, ikkilik yoki uy qurilishi).

Ammo bu muammolar XML formatining afzalliklariga nisbatan ahamiyatsiz.

SOAP: Chiquvchi xabarlar

Bilasizmi, veb -xizmatlar XML -da muloqot qiladi, lekin bu faqat muammoning yarmini hal qiladi. Ilovalar xabarni tahlil qilishi mumkin, ammo tahlildan keyingi natija bilan nima qilishni ular qanday bilishadi?

Veb -xizmatlar uchun XML xabarlarini formatlash qoidalarini tavsiflovchi bayon SOAP deb nomlanadi. Bu dasturlar ma'lumotlarni yuborish va talqin qilishni bilishi uchun xabarlar tuzilishini belgilaydi. SOAP xabarining asosiy tuzilishi 2 -rasmda ko'rsatilgan.

Shakl 2. SOAP xabarining asosiy tuzilishi

XMLda u shunday ko'rinadi:

FOO

Asosiy holatda, sizda sovun tanasi va uzatiladigan ma'lumotlarni o'z ichiga olgan SOAP to'plami mavjud. Ba'zida qo'shimcha ma'lumotni o'z ichiga oladigan ixtiyoriy SOAP sarlavhasi ham mavjud (paket ichida, tanadan oldin).

SOAP ko'rsatmalar

SOAP formati standart va bir xil ko'rsatmalarga ega bo'lsa -da, shuni esda tutish kerakki, turli sotuvchilar bu ko'rsatmalarni biroz boshqacha tarzda qo'llashlari mumkin. Masalan, Apache Axis tomonidan yaratilgan SOAP xabaridagi nomlar va XML tuzilishi Microsoft .NET tomonidan tuzilgan tuzilmadan juda farq qilishi mumkin. Biroq, yaxshi yozilgan mijoz yoki server har qanday yaxshi yozilgan SOAP xabarini boshqarishi mumkin.

Bundan tashqari, WSDL 1.1 va WSDL 2.0 yo'riqnomalarida ba'zi muhim farqlar mavjud. Garchi 2.0 yozish paytida ko'rsatma hali tugallanmagan bo'lsa -da, u tez orada 1.1 versiyasining o'rnini bosa boshlaydi.

Agar siz ilgari hech qachon WSDL faylini uchratmagan bo'lsangiz va uni ochishga va o'qishga harakat qilmoqchi bo'lsangiz, u yerdan barcha ma'lumotlarni olish siz uchun qiyin bo'ladi, chunki bunday faylning tuzilishi ancha murakkab bo'lishi mumkin. Usul haqidagi barcha ma'lumotlar (nomi, parametrlari, protokoli va boshqalar) faylning turli bo'limlarida tarqalgan va SOAP xabarini yaratish uchun uni mijoz ilovasi to'plashi kerak. WSDL faylining qismlari va ularning birgalikda ishlashi bu maqolada tasvirlanmaydi.

Bu erda texnologiya yana bizga yordam beradi. Ishlab chiquvchi sifatida sizga WSDL faylining mazmunini o'qish, tahlil qilish va tushunish shart emas. Asboblar siz uchun bu ma'lumotni oladi, shuning uchun siz xizmatga nima yuborish kerakligini va natijalar bilan nima qilishni tushunishingiz kerak. Siz nafaqat qila olasizmi kutubxonalar va asboblardan foydalaning, lekin aniq bo'ladi... Veb -xizmatlarning barcha tarkibiy qismlarida ko'p istisnolar, g'ayrioddiyliklar va murakkabliklar mavjud va siz ularni hal qilishingiz kerak. yordamida Veb -xizmat, uni qismlarga ajratish va har bir komponentni batafsil o'rganish o'rniga.

Protokollar: xabarlar qanday yuboriladi

Biz hali bu savolga tegmaganmiz, bu xabarlarning barchasi SOAP orqali qanday uzatiladi?

Va ular odatda tarmoq (va / yoki Internet) orqali HTTP protokoli yordamida uzatiladi, xuddi sahifalar serverdan brauzeringizga uzatilgandek. HTTP har doim ham ishlatilavermaydi (uning asosiy raqobatchisi SMTP, lekin u ancha orqada). Veb -xizmatda ishlatiladigan protokol WSDL faylida aniqlangan.

Odatda WSDL fayli SOAP xabarini HTTP sifatida uzatish uchun ishlatiladigan protokolni belgilaydi. SOAP mijozi xabarlarni ko'rsatilgan protokol bo'yicha yuboradi.

Boshqa veb -xizmat shartlari

Biz allaqachon asosiy shartlarni aniqladik, lekin siz veb -xizmatlar haqida gapirganda yana bir nechtasini eshitasiz.

Zaif aloqalar

Veb -xizmatlardan foydalanadigan dasturlar, odatda, xizmatlarga zaif havolalarga ega, ya'ni dastur ishlashi uchun zarur bo'lgan xizmatlar, dastur xizmatlarga bog'lanmaganidek, unga bevosita bog'liq emas. Dastur istalgan xizmatlardan bemalol foydalana oladi va ular dasturdan qo'ng'iroqni kutishadi - ularga javob kerak bo'lgan har qanday dasturdan.

Zaif aloqalarning haqiqiy misoli - do'stlar bilan tushlik. Bir nechta do'stlar qandaydir tarzda bir-birlari bilan rozi bo'lishadi (shaxsan, telefon orqali, elektron pochta orqali va hk). Hamma restoranga o'z -o'zidan yetib keladi, tushlikdan keyin hamma o'z ovqatlari uchun pul to'laydi. Tushlik qanday o'tganidan qat'i nazar, yakuniy natija bir xil - bu do'stona tushlik edi.

Boshqa tomondan, mashina haydash - bu rishtalari qattiqroq bo'lgan harakat. Sizda oldindan belgilangan maqsadlarga erishish uchun kerakli vositalar to'plami mavjud. Garajdan chiqib ketayotganda, siz teskari vitesga o'tasiz va gazni bosasiz. Chapga burilganda, siz rulni chapga burasiz. Siz bir xil ishni har xil yo'llar bilan qilolmaysiz, chunki butun tizim juda aniq va uyg'un, va uning har bir elementi boshqalar bilan bog'liq.

UDDI

UDDI - bu har qanday dasturlar tomonidan taqdim etiladigan veb -xizmatlar katalogini yaratish standarti. Bu veb -provayderlar uchun telefon kitobiga o'xshaydi. Mijozlar UDDI reestridan kerakli ma'lumotlarni qidirishlari mumkin va ro'yxatga olish kitobi ularga xizmatga ulanish uchun kerakli ma'lumotlarni qaytaradi.

UDDI veb -xizmatlarini aniqlashda juda muhim standart bo'lsa -da, uning ahamiyati veb -xizmatlarning ixtiyoriy elementi bo'lganligi sababli kamayadi va agar uni ishlatish yoki qilmaslikni tanlashsa, ko'pchilik undan foydalanmaslikni tanlaydi.

Ko'p ichki veb -xizmatlarga ega bo'lgan uyushgan korxona muhitlarining ko'pchiligi UDDI registrlariga ega. Sizning kompaniyangizda mavjud bo'lgan veb -xizmatlar haqidagi ma'lumotlarni o'z ichiga olgan korporativ UDDI saytiga ega bo'lish juda yaxshi. Barcha xizmatlarni birlashtirib, UDDI sizga provayderlarni muammosiz va muammosiz o'zgartirish imkonini beradi. Agar mijozlar UDDI orqali xizmat qidirmoqchi bo'lsa, SOAP qo'ng'iroqlari avtomatik ravishda yangi provayderga yuboriladi.

Biroq, veb -xizmatlar arxitekturasida bu komponent talab qilinmaydi.

Veb -xizmatlar xavfsizligi

SOAP va WSDL haqida o'qiyotganingizda, xavfsizlik mavzusi yoritilmaganligini sezishingiz mumkin. Agar provayder ommaviy bo'lmagan ma'lumotlar bilan ishlasa, xizmat qo'ng'iroqlari uchun autentifikatsiya qanday amalga oshiriladi? Axir, hamma veb -xizmatlar keng jamoatchilik uchun mavjud emasligi aniq, to'g'rimi?

Bu muhim savol, unga aniq javob berish oson emas. Vaziyatga qarab foydalanishingiz mumkin bo'lgan turli xil sxemalar mavjud, masalan:

  • SOAP xabarlari matnli bo'lishi mumkinmi yoki ularni shifrlash kerakmi?
  • Siz uchun oddiy login va parolni autentifikatsiya qilish kifoya qiladimi yoki u mustahkam va ma'lumotli bo'lishi kerakmi?
  • Agar tokenlar ishlatilsa, ular imzolanishi shartmi va ularni SOAP xabariga qanday to'g'ri kiritish mumkin?
  • Ammo, agar mijoz SOAP xabarlarini to'g'ridan -to'g'ri yubormasa -chi, lekin ba'zi bir oraliq tuzilmalar orqali, masalan, xabarlar navbati yoki boshqa veb -xizmat orqali?

Bundan tashqari, HTTP har doim ham xabar almashishda ishlatilmasligi mumkin, shuning uchun siz mavjud HTTP xavfsizligiga qo'shimcha ravishda veb -xizmatlar xavfsizligidan foydalana olmaysiz.

Veb-xizmatlar xavfsizligining bu va boshqa jihatlarini qamrab oladigan bir nechta ko'rsatmalar mavjud: WS-Xavfsizlik, WS-Siyosat, WS-Ishonch va WS-Maxfiylik. Bir necha yillardan buyon bir nechta dasturiy ta'minot sotuvchilari va qo'mitalar bu masalalar ustida ishlamoqda. Garchi barcha veb -xizmatlar barcha xavfsizlik ko'rsatmalarini qo'llab -quvvatlamasa ham, mavjud xavfsizlik standartlari odatda kamida bir necha asosiy xavfsizlik yo'llarini amalga oshiradi.

O'rta dastur va korporativ xizmat ko'rsatish avtobusi

Veb-xizmatlar uchun WS- * ko'rsatmalari deb nomlanadigan juda katta standartlar to'plami mavjud. Birgalikda ular ko'plab veb -xizmatlarni bitta muhitda to'plashda paydo bo'ladigan dizayndagi ko'plab fikrlarni ko'rib chiqadilar. WS- * standartlari quyidagi masalalarni hal qiladi:

  • Xavfsizlik
  • Ishonchlilik
  • Xabar almashish
  • Tranzaksiyalar
  • Xizmat ko'rsatish sifati

Bu ko'p standartlarga muhtoj, chunki ishlab chiqarish muhitida veb -xizmat mijozi va server o'rtasidagi xabar almashish oddiy so'rov / javobdan ko'ra ancha murakkab bo'lishi mumkin. Masalan, xabarni sotuvchiga etkazilishini va xaridorga qaytarilishini qanday ta'minlash mumkin? Agar SOAP so'rovi bir necha qismdan iborat bo'lsa -chi? Boshqa veb -xizmatlarga kiradigan veb -xizmatlarni o'z ichiga olgan jarayonlarni qanday boshqarasiz? Agar dastur javob vaqtlari bilan so'rovlar ketma -ketligini yuborsa -chi?

Katta dasturiy ta'minot sotuvchilari uchun ushbu standartlar bilan ishlash ham qiyinchiliklar, ham imkoniyatlar beradi. Bir nechta sotuvchilar bir vaqtning o'zida yuqoridagi vazifalarning hammasini yoki hech bo'lmaganda bir qismini bajaradigan Enterprise Service Bus yoki ESB deb nomlangan veb -xizmatlarning to'liq o'rta paketlarini sotishdi. Bu ESBlar ham qimmatlidir, chunki ular bitta tashkilot ichida bir nechta veb -xizmatlarni birlashtira oladi va ularning funksionalligini ta'minlaydi, o'z harakatlarini yozib oladi va xabarlarni navbatda saqlaydi.

Xizmatga yo'naltirilgan arxitektura

Nihoyat, xizmat ko'rsatishga yo'naltirilgan arxitektura. Ko'pgina hollarda, bu faqat yuqorida aytilganlarning kombinatsiyasi: qabul qilingan standartlarga muvofiq ishlaydigan (ehtimol ESB ishtirokida) va xizmatlar va xizmatlardan ma'lumotlarni oladigan turli xil dasturlar tomonidan birlashtirilgan turli ishlab chiqaruvchilarning birlashtirilgan veb -xizmatlari. ularni har xil yo'llar bilan.

SOA dasturiy ta'minot arxitekturasi bo'lgani uchun, uni qurishda ulkan muvofiqlashtirish va rejalashtirish bor. Bu shunchaki bir -biriga aralashgan xizmatlar to'plami emas; bu xizmatlarning qanday birlashtirilishi va nashr etilishini, qanday boshqaruv vositalari va o'rta dasturlardan foydalanilishini, xizmatlar va umumiy tizim qanday kuzatilishini va boshqarilishini tashkil qilish.

Kengroq aytganda, SOA ham fikrlash tarzidir. Bu sizni mustaqil ravishda ishlaydigan katta dasturlar haqida o'ylamaslikka, balki hamma narsani nashr etilishi va ishlab chiqarishda ishlatilishi mumkin bo'lgan komponentlar sifatida qabul qilishga majbur qiladi. Boy ilovalar o'rniga siz aniq va aniq belgilangan xizmatlar haqida o'ylaysiz-bu veb-xizmatlar.

Nima uchun muhim?

Hozircha siz veb -xizmatlar qanday ishlashi haqida biror narsa bilasiz - mijoz provayderning WSDL faylini o'qiydi, shunga muvofiq SOAP xabarini formatlaydi va yuboradi va javob sifatida boshqa SOAP xabarini oladi. Xo'sh, nega bu juda muhim? Nima gap?

Xizmatlarning muhimligining bir qismi shundaki, ular qaysi tillarda va qaysi platformalarda ishlashidan qat'i nazar, dasturlar o'rtasida standart aloqa usulini ta'minlaydi. Ilgari, biz har xil dasturlar uchun xos bo'lgan ma'lumotlar formatlari yoki boshqa tillardagi dasturlar ishlamaydigan API darajasidagi funktsiyalar bilan ishlashimiz kerak edi. Barcha veb -xizmat standartlarida XML -dan foydalanish barcha xizmatlar mavjud va aniq belgilanganligini bildiradi.

Aslida, bu butunlay boshqa dasturlar bir -birlari bilan hamma tushunadigan tilda bemalol muloqot qilish imkonini beradi. Turli ishlab chiqaruvchilarning turli xil texnologiyalari bilan ishlashda asosiy qiyinchiliklardan biri bu har xil dasturlarning bir -biri bilan aloqa o'rnatishi va ma'lumotlar almashishidir. Endi sizning barcha ilovalaringiz veb -xizmatlarini taqdim etishi va / yoki ishlatishi mumkin, ular o'rtasida aloqa o'rnatish juda oson.

Veb -xizmatlarning yana bir afzalligi shundaki, xaridorlar va sotuvchilar aloqaga xalaqit bermasdan, har xil mashinalarda bo'lishi, turli apparat va dasturiy ta'minotdan foydalanishlari mumkin. Dasturlarni bir xil mashinada yoki boshqa mashinalarda, lekin ma'lum bir ma'lumot uzatish formatidan foydalangan holda ishlatish mumkin. Veb -xizmatlarga faqat tarmoq ulanishi va XML protsessori kerak.

Agar bu omillarning barchasi birgalikda hisobga olinsa, natija sezilarli bo'ladi. Tarmoqda ilovalar o'rtasida aloqa qilishning standart vositasi bo'lgani uchun biz o'z dasturlarimizni boshqacha tarzda qura olamiz. Har safar g'ildirakni kashf qiladigan monolit dasturlarni yozishning o'rniga, biz modullardan tashkil topgan dasturlarni yozishimiz mumkin.

Masalan, bir nechta jarayonlar haqida ma'lumot to'playdigan, uni grafiklarga aylantiradigan va foydalanuvchilarga ko'rsatadigan katta dastur o'rniga biz bir nechta veb -xizmatlardan olingan ma'lumotlarni aks ettiruvchi asboblar panelini yaratishimiz mumkin. Tuzilgan ma'lumotlar bir yoki bir nechta xizmatlardan olinadi va natijada olingan grafikalar ma'lumotlarni qabul qiladigan va qandaydir grafikni chiqaradigan boshqa veb -xizmat tomonidan yaratiladi.

Boshqaruv paneli katta dasturdan oddiy interfeysga aylanadi. Yangi komponentalarni qo'shmoqchi bo'lganimizda, biz faqat qo'shimcha xizmatlarga murojaat qilamiz. Agar bizga boshqa jadval kerak bo'lsa, biz boshqa grafik xizmatiga murojaat qilamiz. Agar bizga ko'proq interaktiv boshqaruv paneli kerak bo'lsa, o'rgatish yoki saralash imkoniyati bo'lsa, u holda asboblar paneli foydalanuvchidan tegishli xizmatga xabar yuborishi mumkin. Biz hatto foydalanuvchilarni sezmasliklari uchun (WSDL fayli o'zgartirilmaguncha) chaqirilgan xizmatlarni butunlay o'zgartirishimiz mumkin va panel o'zgarmaydi.

IT mutaxassisi sifatida siz interfeysni ham, xizmatni ham, yoki ikkalasini ham qila olasiz. Hamma qanday birgalikda ishlashini tushunish (yoki hech bo'lmaganda nima ekanligini bilish) bunday loyihada ishlash juda muhimdir.

Veb -xizmatlarni etkazib berish va ishlatishda sizga yordam beradigan va siz uchun juda ko'p mashaqqatli ishlarni bajaradigan ko'plab vositalar mavjudligi yaxshi. Maqolaning keyingi qismlarida biz IBM Lotus Domino V7.0 yordamida mijozlarga yoki tizimlarga veb -xizmatlarini qanday osonlik bilan etkazib berishni ko'rib chiqamiz.

Qaerdan boshlaymiz? Va to'g'ridan-to'g'ri kontaktdan, mijoz-ijrochi: Internet-studiyada telefon jiringlaydi. Hisob menejeri telefonni olib, salom beradi. Boshqa tomondan, bu shunday eshitiladi:

- Hayrli kun. Menga oddiy veb -sayt kerak. Qancha? (veb -ilovalar bilan bir xil hikoya).


Bu har bir hisob uchun aniq bosh og'rig'i. Ammo u asabiy emas va saytlar murakkabligi, funksionalligi va boshqalarda turlicha ekanligini tushuntiradi. Mijozga nima kerakligini va uning tushunchasiga ko'ra, "oddiy" degan ma'noni beradi. Masalan, quyidagi javobni oladi:

- Xo'sh, bilasizmi, menda oyna sotadigan biznesim bor. O'zingizni "virtual" deraza qilishingiz uchun veb -sayt yaratish yaxshi bo'lardi. Rangni, materiallarni, o'lchamlarni tanlang. Miqdorni belgilang. Qarang, u qanday ko'rinishga ega bo'ladi. Xo'sh, keyin bizning mutaxassislarimiz bu joyga borishadi. Shartnoma?


Bu allaqachon qiziq. Lekin bu hammasi emas:

- Ha, menda yana bir istak bor. Bizda Moskva, Sankt -Peterburg va Novosibirskda bo'linma bor. Xodimlar katta, ish oqimi, bilasizmi. Siz shunday bir narsa qilishingiz mumkinki ... sayt ichida kichik ijtimoiy tarmoq, yoki nima? Bizga hech qanday "aseklarsiz" muloqot qilish qulayroq bo'ladi. Hujjatlarni bitta "bulutda" saqlash uchun - ular shunday qilishadi deb eshitdim.


Hisob menejeri hamma narsani yozib oladi, taxminiy bahosini beradi va xarajatlarni nomlaydi. Potentsial mijoz ko'zlarini yumadi (buni hatto telefonda ham eshitish mumkin), "sizning narxlaringiz - bo'sh joy", - deydi va muloyimlik bilan telefonni qo'yadi.

Albatta, bu juda katta vaziyat, lekin bu har doim ham Internet dasturlarini dasturlashda, ham veb-saytlar yaratishda sodir bo'ladi. Bizning maqsadimiz - bu nima uchun sodir bo'layotganini aniqlash.

Veb -xizmat nima?

Veb -xizmatlarni ishlab chiqish, umuman olganda, xuddi shu saytni ishlab chiqishdir. Ammo bitta katta "BUT" bilan: tanish bo'lgan promo-saytlar va korporativ odamlardan farqli o'laroq, onlayn xizmat o'ziga xos funktsiyaga ega. Bu mahsulot ishlab chiqaruvchi (yuqoridagi misolda bo'lgani kabi), fotoxosting, korporativ foydalanish uchun yopiq ijtimoiy tarmoq, ochiq ijtimoiy tarmoq (danedayboh), xabarlar taxtasi bo'lishi mumkin.

Asosan, yangilik, qulaylik va zamonaviy veb -texnologiyalarga qiziquvchilar veb -xizmat yaratishga qaror qilishadi. Bunday holda, o'ziga xos funksiya biznesning "kartasi" vazifasini bajaradi, uning yordamida raqobatchilarni bo'g'ib qo'yishi va mijozlar bazasini ko'paytirishi kerak.

Va bularning barchasi quyidagilarni anglatadi:

  • Kelajakdagi loyihaning barcha imkoniyatlarini bilish uchun biroz vaqt kerak bo'ladi. Odatda ko'p vaqt.
  • Batafsil texnik topshiriq talab qilinadi. Yaxshisi, prototip.
  • Veb -xizmatning o'zi ishlab chiqilishi kerak bo'ladi (kutilmagan, to'g'rimi?). Buni noldan yoki mavjud ishlanmalardan foydalaning. Lekin har qanday holatda ham, uni shablon bo'yicha va "tez tarzda", tizzadan, qutidan "yig'ish" mumkin bo'lmaydi.
  • Mahsulot chiqarilishidan oldin yaxshilab sinovdan o'tkazilishi kerak.

Natijada, veb -xizmatni yaratish qiymati (uni dasturlash bilan birga) o'zgarib turadi. Lekin u har doim "odatiy" xususiyatlar to'plamiga ega bo'lgan saytdan yuqori bo'ladi.

Bizning misolimiz uchun: mijoz ichki ijtimoiy tarmoq, ma'lumotlar uchun bulutli saqlash va oyna quruvchi haqida gapirganda, hammasini veb -xizmat deb atash mumkin bo'ldi. Shuning uchun, xarajat xaridor uchun "kutilmagan" deb nomlandi.

Internet xizmatlarining rivojlanishidagi "kosmik" narxlar oqlangan o'lchovdir. Bu ob'ektiv qiyin va ko'p vaqt talab qiladigan ish.

Va biznesga bunday xizmat kerakmi, bu sizning sotuvchilaringiz uchun vazifadir.


Maxsus va sevimli mavzu - bu ijtimoiy tarmoqlar

Bu erda juda qiziq voqealar ro'y beradi. Bundan tashqari, bu komediyalar jiddiy yuz bilan o'ynaladi. Masalan, maktab o'quvchilarining ma'lum bir faol foizi, "ilg'or" VKontakte foydalanuvchilari doimo o'z o'yinlarini xohlashadi. Bosh aylanadigan muvaffaqiyatga. Va bezovta qilmaslik uchun.

Natijada, biz pochta orqali va jamiyatda "bizga biznes -ilovani / o'yinni / boshqa narsalarni sotish / ishlab chiqish" yozuvi bilan tonna xatlar olamiz. Shunga o'xshash narsa:

Ha, bir necha haftalik ish uchun 5000 rubl - taxminan. Biz hozir faqat yaxshi nusxalar haqida gapirayapmiz, 200 foydalanuvchilar auditoriyasini yig'ib oladiganlar haqida emas.

Agar siz hali ham muvaffaqiyatli klon yaratish uchun maniyalarni bosib olgan bo'lsangiz, hech bo'lmaganda, asl nusxa mualliflariga veb -ilovalar yoki xizmatlarni targ'ib qilish va targ'ib qilish qanchalik qimmatga tushishi haqida o'ylab ko'ring (odatda, bu byudjet o'nga ko'paytiriladi).

Xato qilmang. O'z kuchingizni hisoblang. Muvaffaqiyatli Internet -loyihalarni ishga tushiring. Omin.

Veb -xizmatlar g'oyasini Sun, Oracle, HP, Microsoft va IBM kabi kompyuter sanoati gigantlari ishlab chiqqan. Bu g'oya yangilik emas, lekin bu tarmoq orqali dasturlarga kirishni osonlashtirish yo'lida katta qadam. Aloqa standart formatlariga asoslanib, veb -xizmatlar odatda veb -saytlarni qanday yaratish kerakligi haqidagi fikrimizni o'zgartirishi mumkin.

Veb -xizmat nima?

Veb -xizmatlar tufayli har qanday dasturning funktsiyalari Internet orqali mavjud bo'lishi mumkin. Shunday qilib, PHP, ASP, JSP skriptlari, JavaBeans, COM ob'ektlari va boshqa barcha sevimli dasturlash vositalari kabi dasturlar endi boshqa serverda ishlaydigan dasturga kirishi mumkin (ya'ni veb -xizmat) va undan olingan javobdan o'z veb -saytida yoki ilova.

Misol uchun, agar men dasturiy vazifani bajarishim kerak bo'lsa va men juda band bo'lsam (yoki g'ildirakni o'zim qaytadan kashf eta olmasam), men veb -xizmatining xizmatlaridan foydalanishim mumkin, bu saytga Internet orqali kira oladi. . Veb -xizmatga parametrli so'rov yuborib, men so'rovim natijasini o'z ichiga olgan javobni kutaman.

So'nggi paytlarda Hotmail bilan ishlagan har bir kishi veb -xizmatlar bo'yicha tajribaga ega: Pasport foydalanuvchisini autentifikatsiya qilish Microsoft .NET tashabbusining bir qismi bo'lgan xizmatlardan biridir. u bepul bo'lsa -da, shuning uchun veb -sayt yaratuvchilari o'z saytlarida foydalanuvchi autentifikatsiyasini osonlik bilan amalga oshirishlari mumkin.

Asosiysi

Veb -xizmatlarning printsiplari hayratlanarli darajada sodda. Va ular tarqatilgan hisoblash va Internet olamiga hech qanday yangilik qo'shmaydilar:

  • veb -xizmati uchun mas'ul shaxs o'z veb -xizmatiga so'rovlar formatini va unga javoblarni belgilaydi
  • tarmoqdagi har qanday kompyuter veb -xizmatiga so'rov yuboradi
  • veb -xizmat so'rovni ko'rib chiqadi, ba'zi harakatlarni bajaradi va keyin javob yuboradi

Bu harakat, masalan, aktsiyalar kotirovkasini ko'rsatish, ma'lum bir mahsulot narxini ko'rsatish, uchrashuv taqvimidagi yozuvni saqlash, matnni bir tildan boshqasiga tarjima qilish yoki kredit karta raqamini tekshirish bo'lishi mumkin.

Yurakdagi standartlar

Hammamiz birdaniga veb -xizmatlarga qiziqib qolishimizning sababi shundaki, ular standartlarga, ma'lumotlar almashish va uzatish uchun ochiq protokollarga asoslangan.

Bungacha ko'plab kompaniyalar o'zlarining shaxsiy standartlari va formatlarini ishlab chiqishgan. Va endi, ishlash uchun, biz eski tanish HTTP protokoli yordamida uzatiladigan oddiy XML (eXtensible Markup Language) ni bilishimiz kerak. Bu shuni anglatadiki, veb -xizmatlar qanday ishlashi haqida ma'lumot hamma uchun mavjud va bu texnologiyalarni kasbi bilan tanish bo'lgan veb -ishlab chiquvchilar bugungi kunda veb -xizmatlar bilan o'ynashni boshlashlari mumkin.

Ishlab chiquvchilar duch kelgan veb -xizmatlar va boshqa texnologiyalar o'rtasidagi farq (masalan, DCOM, nomlangan quvurlar, RMI) shundaki, veb -xizmatlar ochiq standartlarga asoslangan, ularni o'zlashtirish oson va bu standartlar barcha Unix va Windows platformalari.

Oddiy ob'ektlarga kirish protokoli (SOAP) - W3C tomonidan ishlab chiqilgan standart protokol. U veb -xizmatlarga so'rovlar formatini belgilaydi.

Veb -xizmat va uning foydalanuvchisi o'rtasidagi xabarlar SOAP konvertlariga joylashtirilgan. Xabarlarda harakatni bajarish so'rovi yoki javob - bu harakat natijasi mavjud. Konvert va uning mazmuni XML kodlangan va tushunish oson. Bu oddiy SOAP so'rovi HTPP orqali veb -xizmatga yuborilganga o'xshaydi:

Xmlns: env = "http://www.w3.org/2001/06/soap-envelope">


xmlns: m = "http://www.somesite.com/Postcode">
WC1A8GH
Buyuk Britaniya

SOAP konvertining asosiy elementlarini tanib olish oson: ular ikkita parametr (("pochta indeksi") va ("mamlakat")) nomidagi element ichida joylashgan. Bu element biz talab qilayotgan veb -xizmatning nomi. Matnni kodlash va SOAP versiyasi kabi konvertdagi boshqa ma'lumotlar veb -xizmatga so'rovni to'g'ri bajarishga yordam beradi.

Va javob shunday bo'ladi:

Xmlns: env = "http://www.w3.org/2001/06/soap-envelope">

Env: encodingStyle = "http://www.w3.org/2001/06/soap-encoding"
xmlns: m = "http://www.somesite.com/Postcode">
Ha

Bu xabarni tushunish osonroq. Bizning so'rovimizdagi element so'rovga javob sifatida o'zgartirildi. Bu element faqat bitta elementni o'z ichiga oladi, uning qiymati bizning pochta indeksimiz to'g'riligini ko'rsatadi. Shunday qilib, SOAP sehridan foydalanib, biz uchun foydali bo'lgan so'rovni yaratdik. Tarmoq orqali javob sifatida biz XML -da ma'lum turdagi javobni olamiz.

Endi UDDI haqida

SOAPning soddaligi bilan ham, agar bizda ularni topishning iloji bo'lmasa, veb -xizmatlardan unchalik foyda bo'lmaydi. Yaxshiyamki, IBM, Microsoft va Ariba tashabbus ko'rsatdilar va Umumjahon tavsif, kashfiyot va integratsiya (UDDI) loyihasini yaratdilar va ular Internetdagi barcha veb -xizmatlarning umumiy katalogiga aylanadi deb umid qiladilar.

UDDI tizimi kompaniyalarga o'z veb -xizmatlarini ommaga taqdim etish imkonini beradi. Bu katalog barcha veb -xizmatlar uchun telefon kitobi kabi ishlaydi. UDDI katalogida ro'yxatdan o'tish bepul va loyiha asoschilari ushbu katalogda hamma, hammasi, Internetdagi barcha xizmatlarning tavsiflari bo'ladi deb umid qilishadi, shuning uchun kerakli veb -xizmatni topish uchun faqat bittasiga murojaat qilish kifoya. UDDI katalogi.

Hammasi qanday ishlaydi

Xo'sh, men xohlagan veb -xizmatni qanday topsam bo'ladi?

Tasavvur qilaylik, men veb -sayt ishlab chiqaruvchisiman va mijozim mendan saytga yangi xususiyat qo'shishni so'radi: ro'yxatdan o'tish formasiga pochta indeksini tekshirishni qo'shing.

Bu tekshiruvni amalga oshirish uchun men kompaniyamiz faoliyat yuritadigan 30 ta mamlakatning barcha pochta indekslarining ma'lumotlar bazasini yaratishim kerak, keyin ro'yxatdan o'tish paytida pochta indeksining ro'yxatdan o'tishda ko'rsatilgan shaharga mos kelishini tekshirishim kerak edi. Lekin menda bu ma'lumotlar yo'q va menimcha, bunday ma'lumotlarni to'plash uchun katta miqdorda pul sarflash kerak bo'ladi.

Ma'lumotlar bazasini sotib olmoqchi emasman, kodni o'zim yozaman, barcha ma'lumotlarning yaxlitligi va to'g'riligini kuzataman va skriptlarni disk raskadrovka qilaman, men faqat UDDI katalogiga boraman va bu ishni o'zim bajaradigan veb -xizmatni qidiraman. . Www.uddi.org saytiga kelganimdan so'ng, men qidiruv o'tkazaman va XYZ Corp -dan ajoyib xizmatni topaman.

Men veb -xizmat formatining ta'rifini sinchkovlik bilan ko'rib chiqaman (ta'rif WSDL (Web Services Description Language) da yozilgan, men bu xizmat menga kerakli narsani bajarishiga ishonch hosil qilaman. Keyin men hamkasblarimdan XYZ Corp. obro'si haqida so'rayman). , Men uning mustahkam ekanligini bilib, XYZ -ga narx bo'yicha savol beraman. Agar xizmatga kirish narxi byudjetimga mos keladigan bo'lsa, men saytim uchun XYZ Corp veb -xizmatiga qo'ng'iroq qiladigan oddiy JSP sahifasini yozaman. , sayt darhol pochta indeksini oladi.

Sizning vaqtingizga arziydi

Agar siz dasturlash yoki veb -sayt yaratish texnologiyalari bilan hech qanday aloqangiz bo'lmasa ham, veb -xizmatlar ular haqida ko'proq bilib olishga arziydi. Mijoz bilan yangi saytni muhokama qilayotganingizni, yangi loyihaning barcha vazifalarini muhokama qilayotganingizni tasavvur qiling. Hammasi yaxshi ketmoqda: byudjet mijozning talablarini qondiradi, unga sayt rejasining eskizi yoqdi, unga interfeyslarning namunasi yoqdi. Hamma narsa ishlayotganga o'xshaydi.

Va to'satdan ular juda murakkab funktsiyani eslaydilar. Shuni eslatib o'tish joizki, sizning veb -ishlab chiqaruvchingizning yuzi yashil rangga aylanadi va uning o'zi yo'taldan bo'g'ila boshlaydi. Ishlab chiqaruvchi sizga ushbu funktsiyani ishlab chiqish uchun ko'p pul va vaqt talab qilinishini yoki bunday byudjet bilan amalga oshirishning iloji yo'qligini bildiradi.

Qo'rquvni tashla! Men Internetda sizga kerakli funktsiyani taqdim etishga tayyor bo'lgan veb -xizmat mavjudligini kafolatlashga tayyorman va bu veb -xizmatdan foydalanish narxi uning analogini o'zingiz ishlab chiqish narxidan ancha past bo'ladi. Shunday qilib, siz o'z ishlab chiqaruvchingizni keraksiz bosh og'rig'idan, mijozingizni pul isrof qilishdan qutqarasiz, bir necha daqiqa UDDI katalogini ko'rib chiqasiz.

Xizmatni rivojlantirish

Albatta, ishlab chiquvchilar boshqalar yaratgan veb -xizmatlar bilan kifoyalanishi shart emas. Quyidagi vositalar to'plamidan foydalanib, siz o'zingizning shaxsiy veb -xizmatingizni yaratishingiz va uning xizmatlarini tarmoqning boshqa aholisiga taqdim etishingiz mumkin.

Veb -xizmatlarni ishlab chiqish uchun vositalarni tanlash juda keng. U Sun (Open Net), Microsoft (.NET), HP (e-services) va IBM (Web Services) kabi kompaniyalarning vositalarini o'z ichiga oladi. Ochiq kodli ramkalar ham mavjud. Masalan, Mono loyihasi Microsoft .NET asboblar to'plamini kompilyatorlar, ish vaqti va kutubxonalar bilan bir xil veb -xizmatlarni barcha platformalarda, shu jumladan Unix -da ishga tushirish bilan almashtirishni maqsad qilgan.

Turli xil serverlar va veb -xizmatlarni ishlab chiqish vositalariga qaramay, ularning barchasi bir xil SOAP protokoli, XML tili va UDDI tizimini qo'llab -quvvatlaydi.

Kamchiliklari

Men o'zimning dasturiy kareramdan butunlay voz kechib, o'zimni veb -xizmatlardan foydalanishga bag'ishlashdan oldin, o'zimga savol berishim kerak: "Bu rasm juda pushti. Buning nima yomonligi bor?" Afsuski, veb -xizmatlarning katta salohiyati uchun haq to'lash kerak:

  • XML -ni ma'lumotlarni uzatish formati sifatida ishlatish sizning xabarlaringiz juda katta hajmga ega bo'lishiga olib keladi: XML teglari ko'p joy egallaydi va bu bizga xabarlarni yaratish, uzatish va talqin qilishda ma'lum yukni yuklaydi.
  • Muayyan funktsiyalarni bajarish uchun masofali kompyuterlardan foydalanganimiz uchun, biz butunlay Internetga tayanamiz, bu bizning veb -serverimiz va veb -xizmatimiz o'rtasida juda ko'p ishonchsiz havolalarni yaratadi.
  • Hozirda kamdan -kam kompaniyalar veb -xizmatlarni yaratadilar va kamdan -kam kompaniyalar ulardan foydalanadilar. Veb -xizmatlar tizimini tuzatish va takomillashtirishga hali ko'p vaqt kerak.
  • Veb -xizmatlardan foydalanish uchun litsenziyalash va to'lov tizimi hali ishlab chiquvchilar tomonidan qabul qilinmagan. Veb -xizmatlar hali ham juda kam bo'lganligi sababli, ko'pchilik kompaniyalar xizmat narxini ataylab pasaytirish va qulay litsenziyalash shartlarini taklif qilib, o'z potentsial mijozlarida yaxshi taassurot qoldirishga harakat qilishadi. Veb -xizmatlarning haqiqiy narxi aniqlanmaguncha, biroz vaqt kerak bo'ladi.

Veb -xizmatlar o'z o'rnini egallab, hamma uchun ochiq bo'lganda, ular veb -ishlab chiquvchilar uchun bebaho yordamchiga aylanadi. Ular bizga Internetdagi barcha kompyuterlarning to'liq quvvatiga moslashuvchan kirishni beradi. Veb -saytlar yaratadiganlar veb -xizmatlarga qiziqishi va ulardan nimani olishlari haqida ko'proq bilib olishlari kerak.

Tarjima: Aleksandr Kachanov (http://webmascon.com)