Apa perbedaan di antara keduanya?
Kapan saya akan memilih salah satu dari yang lain?
wcf
web-services
Pengembang
sumber
sumber
Jawaban:
Jawaban ini didasarkan pada artikel yang sudah tidak ada lagi:
Ringkasan artikel:
"Pada dasarnya, WCF adalah lapisan layanan yang memungkinkan Anda membangun aplikasi yang dapat berkomunikasi menggunakan berbagai mekanisme komunikasi. Dengannya, Anda dapat berkomunikasi menggunakan Peer to Peer, Named Pipes, Layanan Web, dan sebagainya.
Anda tidak dapat membandingkannya karena WCF adalah kerangka kerja untuk membangun aplikasi yang dapat dioperasikan. Jika Anda suka, Anda dapat menganggapnya sebagai pengaktif SOA. Apa artinya ini?
Nah, WCF sesuai dengan sesuatu yang dikenal sebagai ABC, di mana A adalah alamat layanan yang ingin Anda hubungi, B adalah singkatan dari binding dan C adalah singkatan dari kontrak. Ini penting karena dimungkinkan untuk mengubah pengikatan tanpa perlu mengubah kode. Kontrak tersebut jauh lebih kuat karena memaksa pemisahan kontrak dari pelaksanaan. Artinya kontrak didefinisikan dalam sebuah antarmuka, dan terdapat implementasi konkret yang terikat oleh konsumen dengan menggunakan gagasan kontrak yang sama. Model data diabstraksi. "
... nanti ...
"harus menggunakan WCF saat kita perlu berkomunikasi dengan teknologi komunikasi lain (misalnya Peer to Peer, Named Pipes) daripada Layanan Web"
sumber
Dari Apa Perbedaan antara WCF dan Layanan Web?
sumber
Layanan Web didasarkan pada SOAP dan mengembalikan data dalam bentuk XML. Ini hanya mendukung protokol HTTP. Ini bukan open source tetapi dapat dikonsumsi oleh klien mana pun yang memahami xml. Ini hanya dapat dihosting di IIS.
WCF juga didasarkan pada SOAP dan mengembalikan data dalam bentuk XML. Ini adalah evolusi dari layanan web (ASMX) dan mendukung berbagai protokol seperti TCP, HTTP, HTTPS, Named Pipes, MSMQ. Masalah utama dengan WCF adalah, konfigurasinya yang membosankan dan ekstensif. Ini bukan open source tetapi dapat dikonsumsi oleh klien mana pun yang memahami xml. Ini dapat di-host dengan dalam aplikasi atau di IIS atau menggunakan layanan jendela.
sumber
Perbedaan dasar dan utama adalah, layanan web ASP.NET dirancang untuk bertukar pesan SOAP melalui HTTP hanya sementara Layanan WCF dapat bertukar pesan menggunakan format apa pun (SOAP adalah default) melalui protokol transportasi apa pun yaitu HTTP, TCP, MSMQ atau NamedPipes dll.
sumber
Layanan web hanya menggunakan protokol HTTP saat mentransfer data dari satu aplikasi ke aplikasi lain.
Tetapi WCF mendukung lebih banyak protokol untuk mengangkut pesan daripada layanan Web ASP.NET. WCF mendukung pengiriman pesan dengan menggunakan HTTP, serta Transmission Control Protocol (TCP), pipa bernama, dan Microsoft Message Queuing (MSMQ).
Untuk mengembangkan layanan di Web Service, kami akan menulis kode berikut
Untuk mengembangkan layanan di WCF, kami akan menulis kode berikut
Layanan Web secara arsitektural tidak lebih kuat. Namun WCF secara arsitektural lebih kuat dan mempromosikan praktik terbaik.
Layanan Web menggunakan XmlSerializer tetapi WCF menggunakan DataContractSerializer. Mana yang lebih baik dalam kinerja dibandingkan dengan XmlSerializer?
Untuk panggilan layanan-ke-layanan internal (di belakang firewall) kami menggunakan net: tcp binding, yang jauh lebih cepat daripada SOAP.
WCF 25% -50% lebih cepat dari ASP.NET Web Services, dan kira-kira 25% lebih cepat dari .NET Remoting.
WCF digunakan untuk berkomunikasi antara aplikasi lain yang telah dikembangkan di platform lain dan menggunakan Teknologi lain.
Misalnya, jika saya harus mentransfer data dari platform .net ke aplikasi lain yang berjalan di OS lain (seperti Unix atau Linux) dan mereka menggunakan protokol transfer lain (seperti WAS, atau TCP) maka hanya mungkin untuk mentransfer data menggunakan WCF.
Disini tidak ada batasan platform, protokol transfer aplikasi sambil mentransfer data antara satu aplikasi ke aplikasi lain.
Keamanan sangat tinggi dibandingkan dengan layanan web
sumber
Perbedaan utamanya adalah waktu habis, Layanan WCF telah habis waktu saat tidak ada tanggapan, tetapi layanan web tidak memiliki properti ini.
sumber