Để đạt được một số quan điểm, chúng tôi đã sử dụng các biểu mẫu web ASP.NET cho các độ tuổi.[HTML5 + jQuery] (không có ASP.NET) + WCF là một giải pháp hợp lệ cho một ứng dụng web cấp doanh nghiệp?
Chúng tôi cũng nhận thức được lợi ích của MVC trên biểu mẫu web, tuy nhiên tùy chọn thay thế sẽ được gửi xung quanh để bỏ qua tất cả các lớp trừu tượng đó và chỉ cần chuyển từ trang HTML thuần túy sang dịch vụ WCF.
Không .ASPX, no .cshtml/.vbhtml, chỉ là tệp .HTML thuần túy để tránh hiển thị logic và phía máy chủ. Đó là ý tưởng được một số gợi ý và đang trở nên hấp dẫn hơn với HTML5 và các tính năng của nó. Khả năng nhắm mục tiêu nhiều thiết bị hơn bằng cách kiểm soát hoàn toàn HTML cũng là yếu tố thúc đẩy.
Tôi biết rằng nó khả thi từ quan điểm kỹ thuật - đặc biệt với jQuery khiến mọi việc trở nên dễ dàng hơn nhiều - nhưng tôi lo ngại rằng bằng cách tung toàn bộ nền máy chủ (mã-đằng sau trong biểu mẫu web, bộ điều khiển và xem- ràng buộc trong MVC) chúng tôi sẽ kết thúc làm ống nước nhiều hơn mà chúng tôi không phải lo lắng về trước đây.
Câu hỏi đặt ra nắm tới:
- Có phải đó là một mối quan tâm hợp lệ, và nếu như vậy những loại ống nước, chúng tôi có thể kết thúc làm gì?
- Chính xác là chúng ta có thể mất gì bằng cách ném toàn bộ khung ASP.NET sang một bên (từ phía ứng dụng web) và chỉ dựa vào giao tiếp trực tiếp với dịch vụ WCF của chúng tôi từ các trang HTML thuần túy?
NB: Tôi đã sử dụng thuật ngữ 'cấp doanh nghiệp' để nhấn mạnh rằng đây không phải là ứng dụng web đơn giản với một vài trang mà quyết định cuối cùng của kiến trúc cơ bản là không liên quan. :)
Edit: để có thậm chí rõ ràng hơn, các lĩnh vực chính mà là mối quan tâm đối với chúng tôi trong một cách tiếp cận như vậy là:
Authentication và tác giả ization -> MVC xử lý điều này một cách rất đơn giản với các thuộc tính (ví dụ: AuthorizeAttribute), cách tiếp cận 'tĩnh' này có nghĩa là WCF sẽ phải xử lý thẻ, mã hóa/giải mã chúng và quyết định ai sẽ tự làm tất cả những gì trong suốt cuộc gọi. Đây có phải là giải pháp duy nhất không?
Tách mối quan tâm -> MVC làm rõ điều đó và thực hiện điều đó rất tốt. Cách tiếp cận này tuy nhiên buộc bạn phải viết rõ ràng trong HTML của bạn mà chức năng WCF gọi là cần thiết. Vì vậy, không chỉ là lớp trình bày của bạn xử lý những gì để vẽ, nó cũng đã nhúng vào trong đó logic của những gì để gọi để có được dữ liệu của nó, và làm thế nào để phân phối nó trong trang. Đây có thể không phải là một vấn đề lớn, nhưng ngược lại ViewBag trong MVC cung cấp cho bạn tùy chọn để có các URL dịch vụ WCF của bạn như một thuộc tính động, có nghĩa là logic bây giờ là một phần của bộ điều khiển chứ không phải trang HTML của bạn. Việc thay đổi logic đó sẽ loại bỏ những rắc rối khi xem xét các trang HTML hoàn toàn.
Binding & Validation -> Tôi đã đặt hai trong cùng một giỏ vì cuối cùng một lần các dịch vụ WCF đáp ứng với một đối tượng JSON chứa tất cả các thông tin trang web của tôi cần phải hoạt động (bao gồm cả quy tắc xác nhận) sẽ của một ai đó phải ràng buộc nó với những điều khiển nhàn rỗi đó.
Hy vọng ý tưởng này đủ rõ ràng và cảm ơn trước.
True, trừu tượng bây giờ nằm trong WCF. Đối với API Web mới, nó đã được phát hiện trong một thời gian của chúng tôi và là một công cụ rất tốt cho giải pháp này. Chúng tôi không quá lo lắng về toàn bộ "cách giao tiếp với WCF và với cái gì" nhưng giống như "Chúng ta cần phải lo lắng gì về việc chúng ta đang viết các trang tĩnh?" Một số lo ngại: liên quan đến bảo mật, như ủy quyền và xác thực. – Alucardz
... xác thực, quản lý phiên, có thể nội địa hóa ... Tôi không nói rằng những điều này không khả thi, tất nhiên WCF có thể xử lý chúng hoàn toàn tốt nhưng bằng cách làm như vậy không phải là chúng tôi "tái phát minh bánh xe "để nói chuyện? – Alucardz
"Có lẽ một nhược điểm là cho mỗi trang sẽ có ít nhất hai vòng" - không phải là vấn đề nếu tất cả tương tác người dùng chuẩn được lồng trong một trang duy nhất. –