Layanan Web vs WCF
Baik Layanan Web dan WCF adalah teknologi web yang dikembangkan oleh Microsoft. Layanan Web diperkenalkan di versi .NET yang lebih lama, sementara WCF ditambahkan ke .NET framework di versi yang lebih baru. Layanan web digunakan untuk membangun aplikasi yang dapat mengirim / menerima pesan menggunakan SOAP melalui HTTP. WCF adalah untuk membangun aplikasi terdistribusi untuk bertukar pesan menggunakan SOAP melalui protokol transportasi apa pun.
Layanan web
Layanan Web (kadang-kadang dikenal sebagai teknologi ASMX dalam .NET) adalah metode komunikasi melalui jaringan. Menurut W3C, layanan Web adalah sistem yang didedikasikan untuk mendukung transaksi mesin-ke-mesin melalui jaringan. Ini adalah API Web yang dijelaskan dalam WSDL (Bahasa Deskripsi Layanan Web) dan layanan Web biasanya mandiri dan menjelaskan sendiri. Layanan web dapat ditemukan menggunakan protokol UDDI (Deskripsi Universal, Penemuan dan Integrasi). Dengan bertukar pesan SOAP (Simple Object Access Protocol) biasanya melalui HTTP (dengan XML), sistem lain dapat berinteraksi dengan layanan Web. Layanan web digunakan dalam beberapa cara seperti RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) dan REST (Representational State Transfer). Ada dua metodologi desain otomatis untuk mengembangkan layanan Web. Pendekatan bottom-up berkaitan dengan pertama-tama membuat kelas dan kemudian menggunakan alat generasi WSDL untuk menyusun kelas-kelas ini sebagai layanan Web. Pendekatan top-down berkaitan dengan mendefinisikan spesifikasi WSDL dan kemudian menggunakan alat pembuatan kode untuk menghasilkan kelas yang sesuai. Layanan web memiliki dua penggunaan utama. Mereka dapat digunakan sebagai komponen aplikasi yang dapat digunakan kembali dan / atau untuk menghubungkan aplikasi web yang berjalan pada platform yang berbeda.
WCF
WCF (Windows Communication Foundation) adalah .NET API (Application Programming Interface), yang menyediakan model pemrograman terpadu untuk mengembangkan aplikasi yang terhubung dan berorientasi layanan. Lebih khusus, ini digunakan untuk mengembangkan dan menggunakan aplikasi terdistribusi dengan SOA. Penawaran SOA dengan komputasi terdistribusi di mana konsumen mengkonsumsi layanan. Banyak konsumen dapat mengkonsumsi satu layanan dan sebaliknya. WCF mendukung standar layanan web canggih seperti WS-Addressing, WS-ReliableMessaging, WS-Security dan RSS syndication (tersedia setelah .NET 4.0). Klien WCF menggunakan Titik Akhir untuk terhubung ke layanan WCF. Setiap layanan dapat memiliki beberapa titik akhir yang mengekspos kontraknya. Istilah ABC digunakan untuk merujuk ke Alamat / Binding / Kontrak layanan WCF. Komunikasi antara klien dan layanan dilakukan melalui amplop SOAP.
Apa perbedaan antara Layanan Web dan WCF?
Ada beberapa perbedaan utama antara layanan Web dan layanan WCF. Layanan web digunakan untuk membangun aplikasi yang dapat mengirim / menerima pesan menggunakan SOPA melalui HTTP. Namun, WCF adalah untuk membangun aplikasi terdistribusi untuk bertukar pesan menggunakan SOAP dan protokol transportasi apa pun seperti HTTP, TCP, pipa bernama, dan Antrian Pesan Microsoft (MSMQ), dll. Selanjutnya, WCF dapat diperluas untuk bekerja dengan protokol transportasi lain. Meskipun layanan Web sangat sederhana dan mudah diimplementasikan, WCF secara arsitektur lebih kuat daripada layanan Web. Layanan web hanya dapat di-host di IIS dan keamanannya terbatas. Tetapi WCF dapat di-host di IIS, server host-sendiri dengan aplikasi konsol atau layanan Win NT atau server lain. Lebih jauh, tidak seperti layanan Web, WCF mendukung komunikasi .NET - .NET biner, transaksi terdistribusi, spesifikasi WS- *, pesan antri, dan komunikasi Restful.