WCF-i ja veebiteenuse erinevus

WCF vs veebiteenus

Veebiteenused ja Windows Communication Foundations (WCF) on kaks meetodit, mille abil rakendused suhtlevad võrgu kaudu.

Lisateave veebiteenuste kohta

Veebiteenused on rakenduste komponendid, millele on juurdepääs andmete kodeerimiseks ja edastamiseks avatud protokollide abil, näiteks SOAP (Simple Object Access Protocol), mis on W3C välja töötatud XML-põhine keel. SOAP kasutab andmete kirjeldamiseks XML-i ja andmeedastuseks HTTP-d. Nende avatud protokollide peamised eelised on teenuste koostalitlusvõime hoolimata kasutatavate platvormide ja programmeerimiskeelte erinevustest. Veebiteenused kasutavad teenuste kirjeldamiseks (WSDL) veebiteenuste kirjelduskeelt) ja UDDI (universaalne kirjeldus, avastus ja integratsioon) saadaolevate teenuste loetlemiseks. Veebiteenused ei vaja töötamiseks veebibrauserit ega HTML-i ning need võivad sisaldada või mitte sisaldada rakenduse määratletud GUI-d. Veebiteenuseid saab rakendada ASP.NET-iga.

Lisateave Windowsi kommunikatsioonifondi (WCF) kohta

Windows Communication Foundation loodi varasemate veebiteenuste platvormide asendamiseks ja kasutab teenusepõhist arhitektuuri rakenduste ehitamisel. Koostalitlusvõime ja mitmed sõnumimustrid, teenuse metaandmed, andmelepingud ja mitu transpordikodeeringut on WCF-i omadused. Vastupidavad sõnumid, AJAX ja REST ning turvaliste tehingute funktsioonid lisavad platvormile rohkem mitmekülgsust kui varasemad veebiteenused.

Mis vahe on veebiteenustel ja WCF-il??

• Veebiteenuseid saab hostida IIS-is (Interneti-teabeteenus) või väljaspool IIS-i, samas kui WCF-i saab hostida IIS-is, WAS (Windowsi aktiveerimisteenus). WCF-teenuseid saab üldjuhul hostida IIS 5.1 või 6.0-s, Windowsi protsessi aktiveerimise teenuses (WAS), mida pakutakse IIS-i versiooni 7.0 osana, ja mis tahes .NET-rakenduses. Veebiteenuse hostimiseks IIS-i versioonis 5.1 või 6.0 peab veebiteenused kasutama kommunikatsiooniedastusprotokollina HTTP-d.

• Veebiteenuste platvormil lisatakse veebiteenuse atribuut klassi ülaossa, WCF-is aga teenuslepingu atribuut. Samamoodi lisatakse veebimeetodi meetodi peale atribuut Web Method, samas kui WCF-is lisatakse teenuse Top Operational Contract pealmisele meetodile.

• Veebiteenused kasutavad XML 1.0, MTOM (sõnumi edastamise optimeerimise mehhanism) ja DIME kodeeringuid, samas kui WCF kasutab XML 1.0, MTOM ja binaarset kodeeringut. Mõlemad platvormid toetavad kohandatud kodeerimismeetodeid.

• Veebiteenuse platvorm toetab XML-i sarjastamist, WCF-is aga teenindusplatvorm toetab käitusaja serialiseerimist.

• WCF-teenuseid saab mitmekeermestada teenusekäitumise klassi kaudu, samal ajal kui veebiteenuseid ei saa mitmekeermeliseks muuta.

• WCF-teenused toetavad erinevat tüüpi köiteid nagu BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, samal ajal kui veebiteenused kasutavad sellel eesmärgil ainult SOAP-i või XML-i.

• Veebiteenused koondatakse klassi raamatukogu komplekti. Pakutakse faili nimega teenusfail, mille laiend on .asmx ja mis sisaldab @ WebService direktiivi, mis tuvastab teenuse koodi sisaldava klassi ja komplekti, milles see asub WCF-is.