Ngày nay, trong thời kỳ hậu PC, điện thoại thông minh và máy tính bảng lên ngôi, dựa trên mô hình điện toán đám mây, nhu cầu xây dựng các ứng dụng di động trên windows phone, ios, android để đồng bộ dữ liệu lên máy chủ là rất lớn. ngày càng phát triển và ngày càng trở nên phổ biến. Vì vậy, nó nóng. Nếu quyết định xây dựng phía máy chủ bằng .net framework (phiên bản mới nhất 4.5.3), lập trình viên có thể tạo dịch vụ http bằng nhiều kỹ thuật khác nhau, chẳng hạn như:
- Dịch vụ web (asmx)
- dịch vụ wcf
- dịch vụ nghỉ wcf
- dịch vụ web api
- Đây là công nghệ lâu đời nhất của .net framework
- Nó dựa trên dữ liệu soap (Giao thức truy cập đối tượng đơn giản) được trả về trong xml
- Chỉ giao thức hỗ trợ http
- Truyền dữ liệu chỉ hỗ trợ giao thức xà phòng, hiệu suất không cao
- Không thể tạo dịch vụ nghỉ hỗ trợ định dạng dữ liệu json
- Cũng dựa trên xà phòng, trả về dữ liệu xml
- Phát triển và hỗ trợ nhiều giao thức khác nhau dựa trên các dịch vụ web, chẳng hạn như: tcp, http, https, đường dẫn có tên, msmq.
- Tương tự như dịch vụ web nguồn mở nhưng có thể được sử dụng bởi các máy khách hỗ trợ xml
- Có thể được lưu trữ trên dịch vụ ứng dụng, iis hoặc cửa sổ
- Hỗ trợ nhiều giao thức với nhiều kiểu liên kết khác nhau, đặc biệt là https
- Hỗ trợ nhiều định dạng dữ liệu xml, Atom…
- Cấu hình rất phức tạp và những người mới lập trình không sử dụng các công cụ cấu hình & chắc chắn không thể cấu hình được. Google
- Kiến trúc rất phức tạp và cồng kềnh
- Đây là bản nâng cấp đáng giá của wcf, thêm webhttpbinding trên .net 3.5 microsoft để hỗ trợ các dịch vụ yên tĩnh
- Hỗ trợ 2 động từ http get và post để truyền dữ liệu, tương ứng có 2 thuộc tính webget và webinvoke
- Nếu bạn muốn sử dụng các động từ http khác, chẳng hạn như đặt và xóa, bạn cần thực hiện thêm cấu hình trên iis
- Hỗ trợ định dạng dữ liệu xml, nguyên tử, json
- Thêm hỗ trợ dịch vụ yên tĩnh ở định dạng dữ liệu json, định dạng này nhẹ hơn định dạng dữ liệu xml của xà phòng
- Cho phép định cấu hình tham số webget qua uri bằng uritemplate
- Đây không phải là một dịch vụ yên tĩnh, nó chỉ hỗ trợ nhận và đăng theo mặc định
- Cấu hình khó nhớ (wcf nội tại)
- Cách tạo dịch vụ wcf trả về json cho ứng dụng di động
- Đây là một khung mới giúp xây dựng các dịch vụ http rất đơn giản và nhanh chóng
- Mã nguồn mở, bất kỳ ứng dụng khách nào hỗ trợ xml và json đều có thể sử dụng
- Hỗ trợ đầy đủ cho các thành phần http: uri, tiêu đề yêu cầu/phản hồi, bộ nhớ đệm, tạo phiên bản, định dạng nội dung
- Có thể được lưu trữ trên ứng dụng hoặc iis
- Cấu trúc lý tưởng cho các thiết bị có băng thông hạn chế như điện thoại thông minh và máy tính bảng
- Định dạng dữ liệu có thể là json, xml hoặc bất kỳ loại dữ liệu nào khác
- Rất dễ cấu hình so với wcf
- Hiệu suất cao
- Hỗ trợ hoàn toàn im lặng
- Hỗ trợ đầy đủ cho các thành phần mvc, chẳng hạn như: định tuyến, bộ điều khiển, kết quả hành động, bộ lọc, trình kết dính mô hình, bộ chứa ioc, nội xạ phụ thuộc, thử nghiệm đơn vị
- Mã nguồn mở
- Còn rất mới nên chưa có nhiều nhận xét về những thiếu sót của web api
- Cách tạo api web asp.net cho ứng dụng di động
- Các tùy chọn khi bạn chỉ cần xây dựng một dịch vụ đơn giản
- Các dịch vụ cần hỗ trợ các bối cảnh đặc biệt, chẳng hạn như: hàng đợi tin nhắn, giao tiếp song công…
- Dịch vụ sử dụng các kênh truyền dữ liệu cấp thấp để truyền nhanh như: tcp, named pipe, udp…
- các dịch vụ restful hỗ trợ đầy đủ http: uri, tiêu đề yêu cầu/phản hồi, bộ đệm, kiểm soát phiên bản, định dạng nội dung
- Dịch vụ cung cấp dữ liệu cho nhiều máy khách khác nhau với băng thông hạn chế, ví dụ: trình duyệt, điện thoại, máy tính bảng…
Điều này thật tuyệt vì nó cung cấp cho các lập trình viên nhiều tùy chọn hơn khi xây dựng các dịch vụ http dựa trên .net, nhưng đối với những người mới sử dụng .net framework, việc không biết sử dụng công nghệ nào có thể gây nhầm lẫn . Bắt đầu với những công nghệ nào.
Ưu điểm:
Nhược điểm:
Ưu điểm:
Nhược điểm:
Ưu điểm:
Nhược điểm:
Nếu bạn muốn tìm hiểu cách từng bước xây dựng một dịch vụ như vậy, hãy xem các bài viết sau:
Ưu điểm:
Nhược điểm:
Nếu bạn muốn tìm hiểu cách từng bước xây dựng một dịch vụ như vậy, hãy xem các bài viết sau:
Câu trả lời sẽ phụ thuộc vào yêu cầu công việc cụ thể của bạn như thế nào?
Dịch vụ mạng:
wcf là lựa chọn hàng đầu khi xây dựng:
Xây dựng
wcf rest, web api với:
Thông qua bài viết này, chúng ta đã có cái nhìn tổng quan hơn về 4 công nghệ hỗ trợ tạo dịch vụ http trên nền tảng .net: web services, wcf, wcf rest, web api. Với sự phát triển nhanh chóng của điện thoại thông minh và thiết bị máy tính bảng, các công nghệ WCF REST và gần đây là API Web đang trở thành công nghệ lý tưởng nhất để xây dựng các ứng dụng điện toán đám mây. Việc tìm hiểu các công nghệ này là nhu cầu cấp thiết của các lập trình viên, vì vậy trong bài tiếp theo chúng ta sẽ tìm hiểu chi tiết cách tạo và sử dụng các dịch vụ này.
Chia sẻ vui vẻ. Giữ nguyên.