2009-06-03 106 views
11

Chúng tôi đang tạo một ứng dụng Silverlight LOB n tầng và đang xem xét việc sử dụng Dịch vụ .NET RIA. Chúng tôi không rõ ràng nơi điều này phù hợp với mối quan hệ với API dịch vụ WCF hiện tại của chúng tôi. kiến trúc hiện tại của chúng tôi là:Dịch vụ RIA .NET/Dịch vụ WCF

Silverlight < ->Dịch vụ WCF < ->Logic kinh doanh < ->Entity Framework mẫu < ->Cơ sở dữ liệu

Sau khi theo dõi Bài trình bày của Nikhils Mix 09 có vẻ như .NET RIA Services sẽ thay thế các phần WCF và BusLog của chúng tôi:

Silverlight < ->RIA Services < ->EF Mẫu < ->DB

nào là tốt, hy vọng rằng chúng ta cần phải có một API SOAP endpoint tiêu chuẩn tiếp xúc để sử dụng bởi các ứng dụng khác (Biztalk, Integration etc). Dịch vụ .NET RIA có thể được hiển thị dưới dạng các điểm cuối SOAP mà không yêu cầu không đồng bộ không?

Việc triển khai dịch vụ WCF trên dịch vụ .NET RIA dễ dàng như thế nào? Bạn có biết bất kỳ ví dụ trực tuyến tốt nào về điều này không?

Cảm ơn, Đánh dấu

Trả lời

10

Có - Trong CTP tiếp theo cho RIA Services chúng ta sẽ có một số hỗ trợ rất tốt đẹp cho việc xác định dịch vụ WCF (thông qua Astoria và vanilla WCF cuối cùng) đó cho thấy nhiều logic kinh doanh của bạn trong RIA Services. Vì vậy, bạn sẽ có hai người đứng đầu về triển khai Dịch vụ RIA.

Silverlight < ---> RIA Services < ---> EF Mẫu < ---> DB WCF Services < --->

Tôi muốn nói mô hình này có ý nghĩa nếu các mục tiêu chính là ứng dụng Silverlight, tuy nhiên nếu mục tiêu chính là dịch vụ WCF, tôi sẽ treo với mô hình bạn có ngày hôm nay .. Điều đó có giúp ích gì không?

..brad

+0

Cảm ơn brad, lời khuyên của bạn phù hợp với những gì chúng tôi đang làm. Đó là một sự xấu hổ mà chúng ta không thể vạch trần điểm cuối WCF từ .NET RIA Services vì ​​chúng ta cần có một API dịch vụ, nhưng việc xử lý các thực thể theo cách thủ công trên WCF đang gây ra rất nhiều đau đớn cho chúng ta. Mark –

0

Chúng tôi đang xem cùng một kịch bản. Ngay bây giờ, chúng tôi đang nghĩ đến việc đi với mô hình này:

Silverlight < -> Dịch vụ RIA < -> Dịch vụ WCF < -> Business Logic < -> Entity Framework mẫu < -> Cơ sở dữ liệu

Chúng tôi sẽ có thể lưu trữ các dịch vụ WCF của chúng tôi trong một loạt các ràng buộc. Chúng tôi sẽ sử dụng cuộc gọi inProc từ RIA tới WCF cho ứng dụng Silverlight. Đối với người tiêu dùng bên ngoài của các dịch vụ WCF, chúng tôi sẽ lưu trữ chúng với một điểm cuối wsHttp.

Vì vậy, trong trường hợp của chúng tôi, chúng tôi có được kết quả tốt nhất của cả hai. Dịch vụ RIA trở thành một phần của dịch vụ trình bày cho ứng dụng của chúng tôi giúp giảm bớt gánh nặng lập trình ứng dụng Silverlight (tức là không đồng bộ). Nhược điểm là chúng tôi đã thêm một lớp bổ sung.

Suy nghĩ?

+0

Tôi sẽ thành thật, tôi không nghĩ đây là một ý kiến ​​hay. Đưa các dịch vụ RIA lên dịch vụ WCF của bạn, bạn sẽ mất tất cả các lợi ích của mô hình EF khi bạn đi qua lớp WCF, vì vậy bạn sẽ xây dựng các Dịch vụ .NET RIA của bạn trên các đối tượng bị ngắt kết nối và các đối tượng proxy được tạo ra bởi các dịch vụ cụ thể và do đó không tương thích với các dịch vụ khác mà chúng được sử dụng. –

+0

Vâng Mark, sau đó nó xuất hiện chúng tôi đang đi xuống một con đường xấu là tốt. con đường của chúng tôi là: Silverlight <-> RIA Services hoặc dịch vụ WCF <-> WCF Facade <-> App Dịch vụ <-> Domain Model <-> nHibernate <-> SQL Các dịch vụ RIA || Dịch vụ WCF sống bên ngoài tường lửa của chúng tôi và chỉ được xây dựng cho ứng dụng này. Lớp Facade nằm bên trong, vẫn là một mặt tiền cho mỗi ứng dụng. Các dịch vụ ứng dụng và mô hình miền là POCO và được chia sẻ bởi tất cả các ứng dụng của chúng tôi. Sự lựa chọn của chúng tôi trong tầm tay là chúng tôi có giới thiệu các dịch vụ RIA để có cấu hình đơn giản và Xác thực và Cấp phép phép thuật hay WCF đơn giản không? – basscinner

+0

Dường như đây là tất cả thay đổi cho bản phát hành tiếp theo :-) Dịch vụ RIA được gọi là WCF RIA Services và sẽ hỗ trợ thêm điểm kết thúc. –

Các vấn đề liên quan