2010-04-24 17 views
46

Tôi mới vào Nhắn tin và muốn biết sự khác biệt giữa ActiveMQ, Mule, ServiceMixCamelJava Messaging: Sự khác nhau giữa ActiveMQ, Mule, ServiceMix và Camel

Bất cứ ai cũng biết cách mỗi một trong các sản phẩm là khác nhau?

Cảm ơn trước!

CHỈNH SỬA: Cũng muốn biết bất kỳ địa điểm/tài nguyên nào tốt để tìm hiểu những điều này.

+0

Nếu bạn thấy điều này hữu ích, hãy chấp nhận câu trả lời. – duffymo

Trả lời

70

ActiveMQ là một nhà môi giới thư triển khai API JMS và hỗ trợ number of cross language clients and network protocols. Nó cho phép bạn thực hiện hàng đợi hoặc chủ đề và viết người nghe hoặc người đăng ký để trả lời các sự kiện xếp hàng.

Mule and ServiceMix là mã nguồn mở ESB (bus dịch vụ doanh nghiệp). ESB có các khả năng vượt quá JMS: xếp hàng là khóa, nhưng đó là chuyển đổi, định tuyến, ghi nhật ký, bảo mật, v.v.

Apache Camel là việc triển khai các mẫu trong Enterprise Integration Patterns. Nó có thể sử dụng JMS và components để đưa ý tưởng từ cuốn sách đó vào đúng vị trí.

JMS là nền tảng cho các công nghệ khác như JDBC là nền tảng cho Hibernate, iBatis vv

JMS là một API Java và một đặc điểm kỹ thuật và TCK (một phần của Java EE). ActiveMQ là một triển khai cụ thể của nó.

Camel có thể sử dụng ActiveMQ (và Camel được đóng gói bên trong môi giới ActiveMQ để bạn có thể dễ dàng định tuyến đến và từ JMS đến các thành phần khác mà Camel hỗ trợ).

Lạc đà không sử dụng trực tiếp Mule hoặc ServiceMix; mặc dù ServiceMix sử dụng Camel làm công cụ định tuyến ưu tiên và triển khai EIP. Camel có ton of different components mặc dù sử dụng nhiều công nghệ khác nhau.

+0

Apache Camel có sử dụng ActiveMQ, Mule và ServiceMix để triển khai các mẫu đó không? Hoặc là nó sử dụng JMS thô? – peakit

+1

Lạc đà có thể hỗ trợ bất kỳ nhà cung cấp JMS nào; nó có các phím tắt trong cú pháp của nó để sử dụng ActiveMQ nhưng có thể sử dụng bất kỳ hàng đợi JMS nào khác. –

49

JMS là thông số giao thức thư tín Java.

ActiveMQ là cách triển khai ở trên.

Camel là công cụ định tuyến thông báo triển khai Mẫu tích hợp doanh nghiệp. Nó cung cấp rất nhiều thành phần được xác định trước. Một trong những thành phần quan trọng của nó hỗ trợ JMS.

ServiceMix là triển khai ESB tương thích với đặc tả JBI (Java Business Integration). Nó cũng cung cấp nhiều tính năng cơ sở hạ tầng không có sẵn trong Camel (như dịch vụ hỗ trợ gói OSGI). SM sử dụng rất nhiều Camel.

Mule là một triển khai khác của ESB, nhưng không liên quan đến họ Camel/ServiceMix.

1

Kết hợp dịch vụ Apache :: Đây là một ESB (Enterprise Service Bus), một JBI Container và một nền tảng tích hợp.

Apache Camel: Công cụ định tuyến và dàn xếp thông minh triển khai EIP (Mẫu tích hợp doanh nghiệp).

Apache ActiveMQ: Nhà môi giới thư của nó triển khai JMS.

0

Apache Camel là việc thực hiện EIP (Doanh nghiệp hội nhập Patterns)

ServiceMix là sản phẩm phù hợp với các nguyên tắc của ESB trong một môi trường SOA.

tích cực MQ là tốt như bất kỳ thực hiện khác của JMS API

Mule cũng là một ESB

0

Mule là một chiếc xe buýt phục vụ doanh nghiệp cung cấp đầu đến cuối giải pháp tích hợp.

ActiveMQ là nhà môi giới thư để xếp hàng thư giữa người đăng ký và người nhận.

ServiceMix cũng là một Bus ESB ví dụ: Doanh nghiệp Dịch vụ

0

Camel trao quyền cho bạn để xác định quy tắc định tuyến và hòa giải trong một loạt các ngôn ngữ miền cụ thể. Mule và SeriviceMix là ESB. ActiveMQ là dịch vụ Nhắn tin.

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