2010-05-11 24 views
7

Trong một thời gian, nhóm của tôi và tôi đã gói lớp truy cập dữ liệu của chúng tôi vào mặt tiền dịch vụ web (sử dụng WCF) và gọi nó từ lớp logic nghiệp vụ . Trong khi đó, chúng ta có thể sử dụng mô hình kho lưu trữ nơi lớp logic nghiệp vụ tiêu thụ lớp truy cập dữ liệu cục bộ thông qua một giao diện và tại bất kỳ thời điểm nào, chúng ta có thể chuyển đổi thứ đó thành dịch vụ thay vào đó (nếu cần).Để quấn hoặc không quấn: Gói dữ liệu truy cập vào mặt tiền dịch vụ

Câu hỏi đặt ra là: Khi nào là thời điểm tốt để bọc lớp truy cập dữ liệu vào mặt tiền dịch vụ và khi nào phải không? Ngay bây giờ, có vẻ như lợi thế chính là các ứng dụng khác có thể tiêu thụ dịch vụ, nhưng nếu chúng là các ứng dụng nội bộ được viết bằng .NET thì chúng chỉ có thể sử dụng assembly .NET. Có những ưu điểm khác của việc DAL được bao bọc trong một dịch vụ mà tôi không biết?

+0

Ngay cả đối với một ứng dụng nội bộ, tiêu thụ trực tiếp hội đồng .NET có thể là một PITA để cập nhật nếu bạn có nhiều người dùng trong hội đồng của bạn, nhưng một dịch vụ web sẽ được xếp hàng nhiều hơn. – Nate

+0

Đây là một câu hỏi tuyệt vời ... Chi phí liên quan đến việc tuần tự hóa/vận chuyển/deserializing có thể thực sự tốn kém vì vậy nó có ý nghĩa để xem xét các mô hình khác. Mặt khác, việc có mặt tiền dịch vụ có thể giúp làm giàu và chuyển đổi dữ liệu dễ dàng hơn. Một khía cạnh tốt đẹp khác cho mẫu này là khả năng tích hợp các điểm cuối được xếp hàng đợi cho các nhu cầu lưu trữ lửa và quên. – JoeGeeky

Trả lời

2

Điều này thực sự phụ thuộc vào dịch vụ dữ liệu sẽ được sử dụng như thế nào. Nếu chỉ có một vài ứng dụng thì nó không quá lớn, nhưng nếu bạn có nhiều ứng dụng và nhiều thay đổi ở phía dữ liệu, có thể có vấn đề khi tung ra các phiên bản cập nhật và đảm bảo rằng bạn không phá vỡ các ứng dụng hiện có.

Với WCF, bạn có thể sử dụng các dịch vụ phiên bản để giảm thiểu rủi ro đó. Vì vậy, trong thực tế rất nhiều nó phụ thuộc vào số lượng người tiêu dùng, vị trí của người tiêu dùng (nội bộ/bên ngoài), và tần suất cập nhật.

Đây là ít nhất những gì tôi sử dụng khi đánh giá.

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