Perbezaan Antara Perkhidmatan Web dan WCF

Perkhidmatan Web vs WCF

Kedua-dua Perkhidmatan Web dan WCF adalah teknologi web yang dibangunkan oleh Microsoft. Perkhidmatan Web diperkenalkan dalam versi sebelumnya .NET, sementara WCF telah ditambah ke rangka kerja NET pada versi yang lebih baru. Perkhidmatan web digunakan untuk membina aplikasi yang boleh menghantar / menerima mesej menggunakan SOAP melalui HTTP. WCF adalah untuk membina aplikasi yang diedarkan untuk menukar mesej menggunakan SOAP ke atas sebarang protokol pengangkutan.

Perkhidmatan Web

Sebuah Perkhidmatan Web (kadang-kadang dikenali sebagai teknologi ASMX dalam .NET) adalah satu kaedah komunikasi melalui rangkaian. Menurut W3C, perkhidmatan Web adalah sistem yang didedikasikan untuk menyokong transaksi mesin ke mesin melalui rangkaian. Ia adalah API Web yang diterangkan dalam WSDL (Web Description Service Language) dan perkhidmatan Web biasanya bersifat mandiri dan tersusun sendiri. Perkhidmatan web boleh ditemui menggunakan protokol UDDI (Universal Description, Discovery and Integration). Dengan bertukar-tukar mesej SOAP (Simple Access Protocol) biasanya melalui HTTP (dengan XML), sistem lain boleh berinteraksi dengan perkhidmatan Web. Perkhidmatan web digunakan dalam beberapa cara seperti RPC (Remote Procedure Calls), SOA (Architecture Oriented Architecture) dan REST (Transfer State Representative). Terdapat dua kaedah reka bentuk automatik untuk membangunkan perkhidmatan Web. Kaedah pendekatan paling bawah dengan membuat kelas pertama dan kemudian menggunakan alat generasi WSDL untuk mengarang kelas ini sebagai perkhidmatan Web. Pendekatan top-down berkaitan dengan menentukan spesifikasi WSDL dan kemudian menggunakan alat penjanaan kod untuk menghasilkan kelas yang sesuai. Perkhidmatan web mempunyai dua kegunaan utama. Mereka boleh digunakan sebagai komponen aplikasi boleh guna dan / atau untuk menyambung aplikasi web yang berjalan pada platform yang berbeza.

WCF

WCF (Windows Communication Foundation) adalah .NET API (Aplikasi Pemrograman Antara Muka), yang menyediakan model pengaturcaraan bersatu untuk membangunkan aplikasi berorientasikan dan berorientasikan perkhidmatan. Lebih khusus lagi, ia digunakan untuk membangun dan menggerakkan aplikasi yang diedarkan dengan SOA. SOA memperkatakan pengkomputeran diedarkan di mana pengguna menggunakan perkhidmatan. Pelbagai pengguna boleh menggunakan perkhidmatan tunggal dan sebaliknya. WCF menyokong standard perkhidmatan web lanjutan seperti WS-Addressing, WS-ReliableMessaging, WS-Security dan sindikasi RSS (tersedia selepas .NET 4.0). Pelanggan WCF menggunakan End Point untuk menyambung ke perkhidmatan WCF. Setiap perkhidmatan mungkin mempunyai banyak titik akhir mendedahkan kontraknya. Istilah ABC digunakan untuk merujuk kepada Alamat / Pengikat / Kontrak perkhidmatan WCF. Komunikasi antara pelanggan dan perkhidmatan dijalankan melalui sampul SOAP.

Apakah perbezaan antara Perkhidmatan Web dan WCF?

Terdapat beberapa perbezaan utama antara perkhidmatan Web dan perkhidmatan WCF. Perkhidmatan web digunakan untuk membina aplikasi yang boleh menghantar / menerima mesej menggunakan SOPA melalui HTTP. Walau bagaimanapun, WCF adalah untuk membina aplikasi yang diedarkan untuk bertukar-tukar mesej menggunakan SOAP dan mana-mana protokol pengangkutan seperti HTTP, TCP, bernama paip, dan Microsoft Message Queuing (MSMQ), dan sebagainya. Tambahan pula, WCF boleh diperluaskan untuk bekerja dengan mana-mana protokol pengangkutan lain. Walaupun perkhidmatan Web adalah sangat mudah dan mudah dilaksanakan, WCF adalah lebih kuat daripada perkhidmatan arkitek. Perkhidmatan web hanya boleh dihoskan di IIS dan keselamatan terhad. Tetapi WCF boleh dihoskan di IIS, pelayan host sendiri dengan aplikasi konsol atau perkhidmatan Win NT atau pelayan lain. Selain itu, tidak seperti perkhidmatan Web, WCF menyokong komunikasi binari.NET - .NET, transaksi yang diedarkan, spesifikasi WS- *, mesej beratur dan komunikasi yang selamat.