WCF proti spletni storitvi
Spletne storitve in Windows Communication Foundations (WCF) sta dve metodi, s katerima aplikacije komunicirajo prek omrežja.
Več o spletnih storitvah
Spletne storitve so komponente aplikacij, do katerih je mogoče dostopati z uporabo odprtih protokolov, kot je SOAP (Simple Object Access Protocol), ki je jezik na podlagi XML, ki ga je razvil W3C, za kodiranje in prenos podatkov. SOAP uporablja XML za opise podatkov in HTTP za prenos podatkov. Glavne prednosti, ki jih zagotavljajo ti odprti protokoli, so interoperabilnost storitev kljub razlikam v platformah in uporabljenih programskih jezikih. Spletne storitve uporabljajo (WSDL) jezik opisov spletnih storitev) za opis storitev in UDDI (univerzalni opis, odkrivanje in integracija) za seznam razpoložljivih storitev. Spletne storitve za delovanje ne potrebujejo spletnega brskalnika ali HTML-ja in lahko vsebujejo ali ne vsebujejo GUI, kot ga definira aplikacija. Spletne storitve je mogoče implementirati z ASP. NET.
Več o Windows Communication Foundation (WCF)
Windows Communication Foundation je bil uveden, da bi nadomestil prejšnje platforme spletnih storitev in uporablja storitveno usmerjeno arhitekturo pri gradnji aplikacij. Interoperabilnost in več vzorcev sporočil, storitveni metapodatki, podatkovne pogodbe in več transportnih kodiranj so značilnosti WCF. Funkcije Durable messages, AJAX in REST ter Secure Transactions dodajajo platformi večjo vsestranskost kot prejšnje spletne storitve.
Kakšna je razlika med spletnimi storitvami in WCF?
• Spletne storitve lahko gostujejo v IIS (Internet Information Service) ali zunaj IIS, WCF pa lahko gostuje v IIS, WAS (Windows Activation Service). Storitve WCF lahko na splošno gostujejo v IIS 5.1 ali 6.0, storitvi Windows Process Activation Service (WAS), ki je na voljo kot del IIS različice 7.0, in v kateri koli aplikaciji. NET. Za gostovanje spletne storitve v IIS različice 5.1 ali 6.0 je obvezno, da spletne storitve uporabljajo HTTP kot komunikacijski transportni protokol.
• V platformi spletnih storitev bo atribut spletne storitve dodan na vrh razreda, medtem ko bo v WCF na voljo atribut storitvene pogodbe. Podobno je atribut spletne metode dodan na vrh metode spletne storitve, medtem ko bo v WCF pogodba o delovanju storitve dodana na vrh metode.
• Spletne storitve uporabljajo kodiranja XML 1.0, MTOM (mehanizem za optimizacijo prenosa sporočil) in DIME, medtem ko WCF uporablja kodiranja XML 1.0, MTOM in binarno. Obe platformi podpirata metode kodiranja po meri.
• Platforma spletnih storitev podpira serializacijo XML, medtem ko v WCF platforma storitev podpira serializacijo v času izvajanja.
• Storitve WCF so lahko večnitne prek razreda Service Behavior, medtem ko spletne storitve ne morejo biti večnitne.
• Storitve WCF podpirajo različne vrste vezav, kot so BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, medtem ko spletne storitve za ta namen uporabljajo samo SOAP ali XML.
• Spletne storitve so sestavljene v sklop knjižnice razreda. Na voljo je datoteka, imenovana "storitvena datoteka", ki ima pripono.asmx in vsebuje direktivo @ WebService, ki identificira razred, ki vsebuje kodo za storitev in sklop, v katerem se nahaja v WCF.