WCF ընդդեմ վեբ ծառայության
Վեբ ծառայությունները և Windows-ի հաղորդակցման հիմնադրամները (WCF) երկու մեթոդներ են, որոնց միջոցով հավելվածները հաղորդակցվում են ցանցի միջոցով:
Ավելին վեբ ծառայությունների մասին
Վեբ ծառայությունները հավելվածների բաղադրիչներ են, որոնց կարելի է մուտք գործել բաց արձանագրությունների միջոցով, ինչպիսիք են SOAP-ը (Simple Object Access Protocol), որը XML-ի վրա հիմնված լեզու է, որը մշակվել է W3C-ի կողմից՝ տվյալների կոդավորման և փոխանցման համար: SOAP-ն օգտագործում է XML՝ տվյալների նկարագրության համար, իսկ HTTP՝ տվյալների փոխանցման համար: Այս բաց արձանագրությունների կողմից տրված հիմնական առավելություններն են ծառայությունների փոխգործունակությունը՝ չնայած օգտագործվող հարթակների և ծրագրավորման լեզուների տարբերություններին:Վեբ ծառայությունները օգտագործում են (WSDL) վեբ ծառայությունների նկարագրությունների լեզուն՝ ծառայությունները նկարագրելու համար, իսկ UDDI (Համընդհանուր նկարագրություն, հայտնաբերում և ինտեգրում)՝ հասանելի ծառայությունները ցուցակագրելու համար: Վեբ ծառայությունները գործելու համար վեբ բրաուզերի կամ HTML-ի կարիք չունեն և կարող են պարունակել կամ չունենալ GUI, ինչպես սահմանված է հավելվածի կողմից: Վեբ ծառայությունները կարող են իրականացվել ASP. NET.-ի միջոցով
Ավելին Windows Communication Foundation (WCF) մասին
Windows Communication Foundation-ը ներկայացվել է ավելի վաղ վեբ ծառայությունների հարթակները փոխարինելու համար և օգտագործում է ծառայության վրա հիմնված ճարտարապետություն հավելվածների կառուցման մեջ: Փոխգործունակությունը և բազմաթիվ հաղորդագրությունների օրինաչափությունները, ծառայության մետատվյալները, տվյալների պայմանագրերը և բազմաթիվ տրանսպորտային կոդավորումները WCF-ի առանձնահատկություններն են: Երկարատև հաղորդագրությունները, AJAX-ը և REST-ը և Secure Transactions-ի գործառույթները հարթակին ավելի բազմակողմանիություն են հաղորդում, քան նախկին վեբ ծառայությունները:
Ո՞րն է տարբերությունը վեբ ծառայությունների և WCF-ի միջև:
• Վեբ ծառայությունները կարող են տեղակայվել IIS-ում (Internet Information Service) կամ IIS-ից դուրս, մինչդեռ WCF-ը կարող է տեղակայվել IIS-ում, WAS-ում (Windows Activation Service):WCF ծառայությունները սովորաբար կարող են տեղակայվել IIS 5.1 կամ 6.0, Windows Process Activation Service (WAS), որը տրամադրվում է որպես IIS 7.0 տարբերակի մաս և ցանկացած. NET հավելվածում: IIS 5.1 կամ 6.0 տարբերակում վեբ ծառայություն հյուրընկալելու համար պարտադիր է, որ վեբ ծառայություններն օգտագործեն HTTP որպես հաղորդակցության փոխադրման արձանագրություն:
• Վեբ ծառայությունների հարթակում Web Service հատկանիշը կավելացվի դասի վերևում, մինչդեռ WCF-ում կլինի Ծառայության պայմանագրի հատկանիշ: Նմանապես, Web Method հատկանիշը ավելացվում է վեբ ծառայության մեթոդի վերևում, մինչդեռ WCF-ում Ծառայության շահագործման պայմանագիրը կավելացվի վերևի մեթոդի վրա:
• Վեբ ծառայություններն օգտագործում են XML 1.0, MTOM (Message Transmission Optimization Mechanism) և DIME կոդավորումներ, մինչդեռ WCF-ն օգտագործում է XML 1.0, MTOM և Binary կոդավորումներ: Երկու հարթակներն էլ աջակցում են հատուկ կոդավորման մեթոդներ:
• Վեբ ծառայության հարթակն աջակցում է XML սերիալիզացիան, մինչդեռ WCF-ում սպասարկման հարթակն աջակցում է Run Time Serialization:
• WCF ծառայությունները կարող են լինել բազմաշերտ ծառայության վարքագծի դասի միջոցով, մինչդեռ վեբ ծառայությունները չեն կարող լինել բազմաթելային:
• WCF ծառայություններն աջակցում են տարբեր տեսակի կապեր, ինչպիսիք են BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, մինչդեռ վեբ ծառայություններն այդ նպատակով օգտագործում են միայն SOAP կամ XML:
• Վեբ ծառայությունները հավաքվում են դասարանի գրադարանի ժողովում: Տրվում է «ծառայության ֆայլ» կոչվող ֆայլ, որն ունի.asmx ընդլայնում և պարունակում է @ WebService հրահանգը, որը նույնականացնում է ծառայության ծածկագիրը պարունակող դասը և այն հավաքույթը, որտեղ այն գտնվում է WCF-ում: