WCF vs Web Service
Webservices en Windows Communication Foundations (WCF) zijn twee methoden waarmee toepassingen via een netwerk communiceren.
Meer over webservices
Webservices zijn componenten van applicaties die toegankelijk zijn via open protocollen zoals SOAP (Simple Object Access Protocol), een op XML gebaseerde taal die door W3C is ontwikkeld om gegevens te coderen en verzenden. SOAP gebruikt XML voor databeschrijvingen en HTTP voor gegevensoverdracht. De belangrijkste voordelen van deze open protocollen zijn de interoperabiliteit van de diensten ondanks de verschillen in de platforms en de gebruikte programmeertalen. Webservices gebruiken (WSDL) Webservices Beschrijvingen Taal) om de services te beschrijven, en UDDI (Universal Description, Discovery and Integration) om de beschikbare services te vermelden. Webservices hebben geen webbrowser of HTML nodig om te werken, en kunnen al dan niet een GUI bevatten zoals gedefinieerd door de applicatie. Webservices kunnen worden geïmplementeerd met ASP.NET.
Meer over Windows Communication Foundation (WCF)
Windows Communication Foundation is geïntroduceerd ter vervanging van eerdere webserviceplatforms en maakt gebruik van servicegerichte architectuur bij het bouwen van applicaties. Interoperabiliteit en patronen voor meerdere berichten, metagegevens over services, gegevenscontracten en coderingen voor meerdere transporten zijn kenmerken van de WCF. Duurzame berichten, AJAX en REST en Secure Transactions-functies voegen meer veelzijdigheid toe aan het platform dan eerdere webservices.
Wat is het verschil tussen Web Services en WCF? • Webservices kunnen worden gehost in IIS (Internet Information Service) of buiten IIS, terwijl WCF kan worden gehost in IIS, WAS (Windows Activation Service). WCF-services kunnen over het algemeen worden gehost in IIS 5.1 of 6.0, de Windows Process Activation Service (WAS) die wordt geleverd als onderdeel van IIS versie 7.0 en binnen elke .NET-toepassing. Om een webservice te hosten in IIS versie 5.1 of 6.0, is het een vereiste dat de webservices HTTP gebruiken als het communicatie-transportprotocol. • In het Web Services-platform wordt het attribuut Webservice toegevoegd aan de top van de klasse, terwijl er in WCF een servicecontractattribuut is. Op dezelfde manier wordt het attribuut webmethode toegevoegd bovenop de methode van de webservice terwijl in WCF het servicebedrijfcontract wordt toegevoegd aan de bovenste methode. • Webservices gebruiken XML 1.0, MTOM (Message Transmission Optimization Mechanism) en DIME-coderingen, terwijl WCF XML 1.0-, MTOM- en Binary-coderingen gebruikt. Beide platforms ondersteunen aangepaste coderingsmethoden. • Het webserviceplatform ondersteunt XML-serialisatie terwijl in de WCF het serviceplatform Runtime-serialisatie ondersteunt. • WCF-services kunnen multi-threaded zijn via Service Behavior-klasse, terwijl webservices niet multi-threaded kunnen zijn. • WCF-services ondersteunen verschillende soorten bindingen, zoals BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, terwijl webservices alleen SOAP of XML gebruiken voor dit doel. • Webservices zijn gecompileerd tot een klassenbibliotheekassemblage. Een bestand met de naam 'het servicebestand' wordt geleverd met de extensie .asmx en bevat @ WebService-richtlijn die de klasse identificeert die de code voor de service en de assembly bevat waarin deze zich in WCF bevindt. |