Servicemix的優點:
1,基於JBI規範;
2,可以熱部署;
3,支持Camel(可以用DSL去開發集成流程);
Servicemix的缺點:
1,JBI規範帶來了使用上的繁瑣,且JBI規範沒有得到太多的青睞,前途未卜;
2,過多依賴XML的配置;
3,由於所有消息要進行標準化處理,即生成和解析XML文件,所以會導致性能下降;
4,開發過程中需要實現框架特定接口(MessageExchangeListener)接收和處理上述標準消息,侵入性強;
5,文檔不健全、不夠清晰;
Mule的優點:
1,架構簡單清晰、容易上手;
2,它有非常廣泛的傳輸器、路由器和轉換器,且易於擴展;
3,Mule不需將消息轉換成統一的格式,而只在需要時進行轉換,提高了性能;
4,開發過程中無需關注Mule代碼,只需通過配置即可將服務暴露,減少了侵入性;
5,文檔清晰而完善;
Mule的缺點:
1,沒有實現任何ESB規範(但遵循了《Enterprise Intergration Patterns》與 SEDA (Staged Event-Driven Architecture));
2,不支持熱部署(企業版支持);
Mule選擇不實現JBI的理由:爲保持其輕量級和靈活性,提高效率和易用性。
Mule提供了一個JBI適配器來與JBI容器保持聯通性。
綜上所述,Mule和Servicemix都實現了ESB的核心功能,都提供了廣泛的可用組件和良好的擴展性,從功能上看差別不大,但從穩定性、易用性和性能上比較,Mule可能是更好的選擇。