Giới thiệu
Ở thời kì hậu PC, để đồng bộ giữa các thiết bị và kết nối giữa những website và dịch vụ, người ta dùng webservice. Ngoài Web API service gửi và nhận dữ liệu bằng JSON thì web service ASMX và WCF cũng đã được các lập trình viên .NET sử dụng rất nhiều để xây dựng các dịch vụ.Ở bài viết này mình sẽ nêu rõ sự khác biệt của chúng, những ưu nhược điểm cũng như cách sử dụng chúng được hiệu quả.
Đang xem: Soap và rest, asmx và wcf service là gì, 403 forbidden, sự khác biệt giữa các dịch vụ web wcf là gì
Một số khái niệm
Web services
Web service, đơn giản là 1 phương thức kết nối giữa 2 ứng dụng hoặc thiệt bị điện tử thông qua WorldWideWeb (www). Web service gồm 2 loại: SOAP và REST.
SOAP và REST
Simple Object Access Protocol (SOAP) và Representational State Transfer (REST) là 2 đáp án cho 1 câu hỏi: làm sao để truy cập Web services. Sự lựa chọn ban đầu có thể dễ dàng, nhưng nhiều lúc cũng rất khó khăn với những dự án phức tạp.
SOAP là chuẩn protocol để access các Webservice chuẩn, được phát triển bởi Microsoft, nó được sử dụng rộng rãi một thời gian khá lâu trước và có những lợi ích nhất định.
SOAP định nghĩa 1 phương thức (set of rules) chuẩn để kết nối dựa trên XML để trao đổi thông tin. SOAP sử dụng nhiều phương thức kết nối như HTTP và SMTP.
Xem thêm: Hệ Thống Tiêm Chủng Vnvc Là Gì ? Tổng Đài Vnvc Là Bao Nhiêu?
REST là người đến sau, nó sữa chữa những vấn đề của SOAP và đưa ra cách đơn giản hơn để truy cập Web service. Tuy nhiên, đôi lúc thì SOAP cũng dễ sử dụng hơn, đôi lúc REST cũng có những vấn đề. Cả 2 công nghệ này đều cần cân nhắc trước khi quyết định sử dụng.
REST mô tả 1 tập các công thức mà ở đó dữ liệu có thể được trao đổi thông qua 1 chuẩn interface (ví dụ HTTP). REST không chưa tầng message layer để định nghĩa các hàm và ràng buộc dữ liệu, vì vậy mà truyền dữ liệu bằng REST cũng ít tốn băng thông hơn, thường nhận và gửi bằng JSON. Client có thể access tài nguyên dựa trên URI và nhận được response cùng với state.
ASMX web service và WCF service là những loại webservice xây dựng theo chuẩn SOAP.
ASMX web service và WCF service
WCF Service ra đời sau ASMX và thường hưởng tất cả những tính năng của ASMX và mở rộng những tính năng mới.Điểm khác biệt đơn giản và cơ bản nhất là ASMX web service được thiết kế để gửi và nhận message sử dụng SOAP trên HTTP. Trong khi WCF service có thể gửi và nhận nhiều format hơn (nhưng SOAP là default) và trên nhiều protocol (HTTP, TCP/IP, MSMQ, NamedPipes..
Xem thêm: Nghĩa Của Từ Strength Là Gì ? Định Nghĩa, Ví Dụ, Giải Thích Strength Là Gì
)
ASMX web service có thể được host chỉ trên IIS trong khi WCF service có nhiều host option làIISWAS (Windows Process Activation Services)Console applicationWindows NT ServicesWCF provided hostASMX web services chỉ giới hạn ở HTTP trong khi WCF hỗ trợ HTTP, TCP, MSMQ, NamedPipesMột điểm khác biệt nữa là ASMX sử dụng XmlSerializer để đồng bộ kiểu dữ liệu trong khi WCF sử dụng DataContractSerializer, có performance nhanh hơn XmlSerializer.Kết luận
Qua bài viết này thì chúng ta có một cái nhìn tổng quát về 2 công nghệ web service được sử dụng ở những dự án .NET, từ đó có thể lựa chọn để cân nhắc và sử dụng một cách hợp lí.
Bài viết tham khảo http://www.topwcftutorials.net/2012/06/wcf-vs-asmx-web-services.html