WCF vs veebiteenus
Veebiteenused ja Windowsi kommunikatsioonifondid (WCF) on kaks meetodit, millega rakendused suhtlevad võrgu kaudu.
Lisateave veebiteenuste kohta
Veebiteenused on rakenduste komponendid, millele pääseb juurde avatud protokollide abil, näiteks SOAP (Simple Object Access Protocol), mis on W3C poolt välja töötatud XML-põhine keel andmete kodeerimiseks ja edastamiseks. SOAP kasutab andmete kirjeldamiseks XML-i ja andmeedastuseks HTTP-d. Nende avatud protokollide peamisteks eelisteks on teenuste koostalitlusvõime vaatamata kasutatavate platvormide ja programmeerimiskeelte erinevustele. Veebiteenused kasutavad teenuste kirjeldamiseks (WSDL) veebiteenuste kirjelduste keelt ja UDDI (universaalne kirjeldus, avastamine ja integreerimine) saadaolevate teenuste loetlemiseks. Veebiteenused ei vaja toimimiseks 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 rakenduste ehitamisel teenustele suunatud arhitektuuri. Koostalitlusvõime ja mitu sõnumimustrit, teenuse metaandmed, andmesidelepingud ja mitu transpordikodeeringut on WCF-i omadused. Kestvate sõnumite, 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, WCF-i aga IIS-is, WAS-is (Windowsi aktiveerimisteenus). WCF-teenuseid saab tavaliselt hostida IIS-i 5.1 või 6.0, Windowsi protsessi aktiveerimise teenuse (WAS), mis on 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 kommunikatsiooni transpordiprotokollina • Veebiteenuste platvormil lisatakse veebiteenuse atribuut klassi tippu, WCF-is aga teenuslepingu atribuut. Samamoodi lisatakse veebiteenuse meetodi peale veebimeetodi atribuut, samas kui WCF-is lisatakse ülemisele meetodile teenuse operatsioonileping. • Veebiteenused kasutavad XML 1.0, MTOM (sõnumi edastamise optimeerimise mehhanism) ja DIME kodeeringuid, WCF aga XML 1.0, MTOM ja binaarkodeeringuid. Mõlemad platvormid toetavad kohandatud kodeerimismeetodeid. • Veebiteenuse platvorm toetab XML-i serialiseerimist, WCF-is aga teenuseplatvorm Run Time Serialization. • WCF-i teenuseid saab teenusekäitumise klassi kaudu mitmelt lõimida, veebiteenuseid aga mitmelt lõimelt. • WCF-teenused toetavad erinevat tüüpi sidumisi, nagu BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, samas kui veebiteenused kasutavad selleks ainult SOAP-i või XML-i. • Veebiteenused on kokku pandud klassiraamatukogu koosluseks. Pakutakse faili nimega „teenusefail”, mille laiend on.asmx ja sisaldab käsku @ WebService, mis identifitseerib klassi, mis sisaldab teenuse koodi ja assambleed, milles see WCF-is asub. |