2009-04-06 26 views
20

Tôi hiện đang thực hiện phân tích và thiết kế kiến ​​trúc bus thông báo mới trong công ty của tôi. Tôi đã thử MSMQ để làm một cái gì đó như thế này trong quá khứ và nó hoạt động tốt và đã nghĩ đến việc làm điều tương tự một lần nữa cho dự án này nhưng sử dụng WCF như API thay vì sử dụng System.Messaging API. Có ai có kinh nghiệm với MSMQ trong WCF không? Sử dụng API System.Messaging có dễ sử dụng hơn không? Điều gì sẽ là một số lợi ích của việc sử dụng WCF trên System.Messaging hoặc ngược lại?Triển khai kiến ​​trúc Bus Message

Trả lời

30

IMHO, với rất nhiều kiến ​​trúc xe buýt tốt, linh hoạt và đã được chứng minh để lựa chọn (NServiceBus, Mass Transit, Rhino Service Bus), thực hiện của riêng bạn sẽ là NIH lớn. Nó không phải là một nhiệm vụ tầm thường.

Udi mô tả nó rất tốt trong this message.

+0

mausch cảm ơn bạn đã cung cấp thông tin về hệ thống xe buýt nhắn tin đã xuất hiện ở đó. Tôi không biết rằng đã có những hệ thống như thế này mở cho công chúng! – heartlandcoder

+1

Câu trả lời cho câu hỏi của OP về những gì cơ bản là anh ấy nên sử dụng trực tiếp ** MSMQ ** hoặc ** WCF với MSMQ binding **? ** RoadWarriors ** trả lời dưới đây tôi cảm thấy là phù hợp hơn với câu hỏi của OP. – MickyD

3

Apache ActiveMQ (mã nguồn mở) môi giới thông điệp cũng có một khách hàng NET:

http://activemq.apache.org

Cùng với Apache Camel và Apache ServiceMix, mô hình hội nhập doanh nghiệp và hệ thống xe buýt phục vụ doanh nghiệp rất dễ thiết lập .

5

Rất tiếc, sắp tới rất muộn, nhưng hy vọng câu trả lời của tôi hữu ích.

Cả hai WCF Queuing và System.Messaging là trình bao bọc trên API MSMQ. WCF phức tạp hơn và phức tạp hơn, nhưng không có những lợi ích sau:

  • Chế độ xem OO của quy trình kinh doanh của ứng dụng chứ không phải hệ thống ống nước.
  • Mã hóa thông báo đầu cuối và xác thực miễn phí. System.Messaging chỉ hỗ trợ mã hóa trên dây, không phải trong cửa hàng.
  • Nếu bạn muốn, bạn có thể lưu trữ trong IIS thay vì tạo máy chủ lưu trữ tùy chỉnh của riêng bạn.
  • Tương quan thư miễn phí. Điều này cho phép bạn nhóm các tin nhắn thành các phiên một cách tự động.
  • Tạo đợt giao dịch miễn phí.
+0

Với WCF bạn không cần phải cài đặt IIS để cung cấp bất kỳ loại dịch vụ nào. – argatxa

+1

@argatxa: Tôi đang nói rằng với WCF bạn có thể lưu trữ trong IIS. Tôi đồng ý rằng bạn không cần phải lưu trữ trong IIS. Tôi sẽ chỉnh sửa câu trả lời của tôi để phản ánh điều này. – RoadWarrior

+0

@RoadWarrior So sánh đầu tiên của bạn là chính xác tuy nhiên bạn không chính xác trong những người khác. 1) Cả MSMQ và WCF đều có ID tương quan. 2) MSMQ có giao dịch 3) MSMQ sử dụng xác thực cũng như ủy quyền. Ngoài ra nó có thể được lập luận rằng MSMQ là khó khăn hơn WCF chỉ đơn giản bởi vì nó là một MOM API – MickyD