Sự khác biệt giữa Dịch vụ web và WCF

Dịch vụ web vs WCF

Cả Dịch vụ web và WCF đều là các công nghệ web được phát triển bởi Microsoft. Dịch vụ web đã được giới thiệu trong các phiên bản trước của .NET, trong khi WCF được thêm vào .NET framework trong các phiên bản sau. Các dịch vụ web được sử dụng để xây dựng các ứng dụng có thể gửi / nhận tin nhắn bằng SOAP qua HTTP. WCF là để xây dựng các ứng dụng phân tán để trao đổi tin nhắn bằng SOAP qua bất kỳ giao thức truyền tải nào.

Dịch vụ web

Dịch vụ web (đôi khi được gọi là công nghệ ASMX trong .NET) là một phương thức giao tiếp qua mạng. Theo W3C, dịch vụ Web là một hệ thống dành riêng để hỗ trợ các giao dịch giữa các máy với nhau qua mạng. Đó là một API Web được mô tả trong WSDL (Ngôn ngữ mô tả dịch vụ web) và các dịch vụ web thường khép kín và tự mô tả. Các dịch vụ web có thể được phát hiện bằng giao thức UDDI (Universal Mô tả, Khám phá và Tích hợp). Bằng cách trao đổi các thông báo SOAP (Giao thức truy cập đối tượng đơn giản) thường qua HTTP (với XML), các hệ thống khác có thể tương tác với các dịch vụ Web. Các dịch vụ web được sử dụng theo một số cách như RPC (Cuộc gọi thủ tục từ xa), SOA (Kiến trúc hướng dịch vụ) và REST (Chuyển giao trạng thái đại diện). Có hai phương pháp thiết kế tự động để phát triển dịch vụ Web. Cách tiếp cận từ dưới lên liên quan đến việc đầu tiên tạo các lớp và sau đó sử dụng các công cụ tạo WSDL để soạn các lớp này thành các dịch vụ Web. Cách tiếp cận từ trên xuống liên quan đến việc xác định các đặc tả WSDL và sau đó sử dụng các công cụ tạo mã để tạo các lớp tương ứng. Dịch vụ web có hai tập quán chính. Chúng có thể được sử dụng làm thành phần ứng dụng có thể tái sử dụng và / hoặc để kết nối các ứng dụng web chạy trên các nền tảng khác nhau.

WCF

WCF (Windows Communication Foundation) là một API .NET (Giao diện lập trình ứng dụng), cung cấp một mô hình lập trình thống nhất để phát triển các ứng dụng được kết nối và hướng dịch vụ. Cụ thể hơn, nó được sử dụng để phát triển và triển khai các ứng dụng phân tán với SOA. SOA liên quan đến điện toán phân tán, trong đó người tiêu dùng tiêu thụ dịch vụ. Nhiều người tiêu dùng có thể tiêu thụ một dịch vụ duy nhất và ngược lại. WCF hỗ trợ các tiêu chuẩn dịch vụ web nâng cao như Địa chỉ WS, WS-TrustedMessaging, WS-Security và RSS cung cấp (có sẵn sau .NET 4.0). Ứng dụng khách WCF sử dụng Điểm cuối để kết nối với dịch vụ WCF. Mỗi dịch vụ có thể có nhiều điểm cuối tiết lộ hợp đồng của mình. Thuật ngữ ABC được sử dụng để chỉ Địa chỉ / Đóng sách / Hợp đồng dịch vụ WCF. Giao tiếp giữa khách hàng và dịch vụ được thực hiện thông qua phong bì SOAP.

Sự khác biệt giữa Dịch vụ web và WCF là gì?

Có một số khác biệt chính giữa dịch vụ Web và dịch vụ WCF. Các dịch vụ web được sử dụng để xây dựng các ứng dụng có thể gửi / nhận tin nhắn bằng cách sử dụng SOPA qua HTTP. Tuy nhiên, WCF là để xây dựng các ứng dụng phân tán để trao đổi tin nhắn bằng SOAP và bất kỳ giao thức truyền tải nào như HTTP, TCP, ống có tên và Hàng đợi tin nhắn Microsoft (MSMQ), v.v. Ngoài ra, WCF có thể được mở rộng để hoạt động với bất kỳ giao thức vận chuyển nào khác. Mặc dù các dịch vụ Web rất đơn giản và dễ thực hiện, nhưng WCF mạnh hơn về mặt kiến ​​trúc so với dịch vụ Web. Các dịch vụ web chỉ có thể được lưu trữ trong IIS và bảo mật bị hạn chế. Nhưng WCF có thể được lưu trữ trong IIS, máy chủ tự lưu trữ với các ứng dụng bảng điều khiển hoặc dịch vụ Win NT hoặc bất kỳ máy chủ nào khác. Hơn nữa, không giống như các dịch vụ Web, WCF hỗ trợ giao tiếp nhị phân .NET - .NET, giao dịch phân tán, thông số kỹ thuật WS- *, nhắn tin xếp hàng và liên lạc Restful.