WCF va veb-xizmat
Veb-xizmatlar va Windows Communication Foundations (WCF) ilovalar tarmoq orqali muloqot qilishning ikkita usulidir.
Veb-xizmatlar haqida batafsil
Veb-xizmatlar ma'lumotlarni kodlash va uzatish uchun W3C tomonidan ishlab chiqilgan XML-ga asoslangan til bo'lgan SOAP (Simple Object Access Protocol) kabi ochiq protokollar yordamida kirish mumkin bo'lgan ilovalar komponentlaridir. SOAP ma'lumotlar tavsifi uchun XML va ma'lumotlarni uzatish uchun HTTP dan foydalanadi. Ushbu ochiq protokollar tomonidan taqdim etilgan asosiy afzalliklar platformalar va foydalaniladigan dasturlash tillaridagi farqlarga qaramay, xizmatlarning o'zaro muvofiqligidir. Veb-xizmatlar xizmatlarni tavsiflash uchun (WSDL) veb-xizmatlarning tavsiflari tili) va mavjud xizmatlar ro'yxati uchun UDDI (Universal tavsif, kashfiyot va integratsiya) dan foydalanadi. Veb-xizmatlar ishlashi uchun veb-brauzer yoki HTML kerak emas va ilova tomonidan belgilangan GUI-ni o'z ichiga olishi yoki bo'lmasligi mumkin. Veb-xizmatlar ASP. NET bilan amalga oshirilishi mumkin.
Windows Communication Foundation (WCF) haqida batafsil
Windows Communication Foundation oldingi veb-xizmat platformalarini almashtirish uchun joriy qilingan va ilovalarni yaratishda xizmatga yoʻn altirilgan arxitekturadan foydalanadi. O'zaro muvofiqlik va bir nechta xabar naqshlari, xizmat metama'lumotlari, ma'lumotlar shartnomalari va bir nechta transport kodlashlari WCF xususiyatlari hisoblanadi. Bardoshli xabarlar, AJAX va REST hamda Secure Transactions funksiyalari platformaga oldingi veb-xizmatlarga qaraganda ko‘proq imkoniyatlarni qo‘shadi.
Veb-xizmatlar va WCF oʻrtasidagi farq nima?
• Veb-xizmatlar IIS (Internet Information Service) da yoki IIS dan tashqarida, WCF esa IIS, WAS (Windows faollashtirish xizmati) da joylashtirilishi mumkin. WCF xizmatlari odatda IIS 5.1 yoki 6.0, IIS 7.0 versiyasining bir qismi sifatida taqdim etilgan Windows jarayonlarini faollashtirish xizmati (WAS) va har qanday. NET ilovasida joylashtirilishi mumkin. Veb-xizmatni IIS 5.1 yoki 6.0 versiyalarida joylashtirish uchun veb-xizmatlar HTTP-ni aloqa transport protokoli sifatida ishlatishi shart.
• Veb-xizmatlar platformasida veb-xizmat atributi sinfning yuqori qismiga qo'shiladi, WCFda esa Xizmat shartnomasi atributi bo'ladi. Xuddi shunday, Web Method atributi veb-xizmat usuli ustiga qo'shiladi, WCFda esa Xizmatdan foydalanish shartnomasi yuqori usulga qo'shiladi.
• Veb-xizmatlar XML 1.0, MTOM (Xabar uzatishni optimallashtirish mexanizmi) va DIME kodlashlaridan, WCF esa XML 1.0, MTOM va Ikkilik kodlashlardan foydalanadi. Ikkala platforma ham maxsus kodlash usullarini qo‘llab-quvvatlaydi.
• Veb-xizmat platformasi XML seriyasini qoʻllab-quvvatlaydi, WCFda esa xizmat platformasi Run Time Serialization-ni qoʻllab-quvvatlaydi.
• WCF xizmatlari Service Behavior klassi orqali koʻp tarmoqli boʻlishi mumkin, veb-xizmatlar esa koʻp tarmoqli boʻlishi mumkin emas.
• WCF xizmatlari BasicHttpBinding, WSHttpBinding, WSDualHttpBinding kabi turli turdagi ulanishlarni qoʻllab-quvvatlaydi, veb-xizmatlar esa bu maqsadda faqat SOAP yoki XML-dan foydalanadi.
• Veb-xizmatlar sinf kutubxonasi yigʻilishiga jamlangan..asmx kengaytmasiga ega boʻlgan “xizmat fayli” deb nomlangan fayl taqdim etiladi va @ WebService direktivasi mavjud boʻlib xizmat kodini oʻz ichiga olgan sinfni va u WCFda joylashgan assambleyani aniqlaydi.