2012-04-26 65 views
15

你好世界的stackoverflow,很高興見到你。我的第一個問題是關於我現在正在進行的一項研究:我必須選擇開放源碼的面向軟件的體系結構,在我看來,三個完整的平臺(他們有我需要的所有部分)是:SOA套件比較-Jboss,Apache,WSO2或...別的東西?

我在這些平臺上的結論是:

  • 的JBoss大和活躍的社區的支持,以及這是我聽到的第一個。缺點是它的ESB無法匹配服務的多個端點 - 換句話說,它僅匹配每個服務的一個端點;
  • 阿帕奇偉大的社會過,並有托斯卡納SCA(服務組件架構) [http://tuscany.apache.org/] - WSO2和JBoss沒有SCA中間件(告訴我,如果我錯了這裏);
  • WSO2全套(似乎它擁有所有SOA的中間件件)除了SCA。這裏的缺點是,該社區只有350個成員 - 他們宣稱他們已經加入了Apache項目,但我不認爲Apache社區直接支持他們的產品。

如果我的研究給我帶來了不正確的結論,告訴我在哪裏,我誤解的東西,如果你認爲這是不完整的,有替代方案,需要考慮到這將是更有益的知道他們是。我沒有提到單件(比如Bonita的BPM [例如http://www.bonitasoft.com/]]),因爲我認爲如果我從一個套件開始,然後改變一些零件,那麼構建SOA會更容易。

如果您認爲這不是正確的做法,我會很樂意考慮您將向我展示的任何替代方案。


編輯

下面是我沒有在平臺上找到的部分:

  • Jboss的:業務活動監控(BAM),服務組件架構(SCA) WSO2:SCA;
  • 阿帕奇:開發工具(Eclipse的可能,應使用),業務流程管理(BPM),業務規則,註冊
  • WSO2:SCA。

在此先感謝大家,

人誰是仍在學習

+0

注意,WSO2在Apache軟件中也有其基礎。例如Apache Axis2和Apache Synapse。 – 2012-04-28 21:38:29

回答

14

正如你所提到的,如果你正在尋找一個完整的SOA套件,那麼WSO2可能是最合適的解決方案。主要是因爲:

  • 一個基於OSGi的碳運行時的完整SOA平臺。
  • 涵蓋典型SOA中的大多數組件。 (並不是說你需要所有這些組件,但是如果你需要它們,WSO2通過使用P2功能管理來促進SOA中各種產品的功能管理,即類似於Eclipse功能管理)
  • 堆棧中的每個組件作爲PaaS提供。 (WSO2 Stratos)
  • 經驗證的高端用例1
  • 畢竟其100%的開源(Apache許可證2.0)和基於標準的。

然而,關於對Apache和WSO2互動的意見,大部分WSO2的產品都是基於一個或多個Apache項目(ESB:Apache的突觸,Axis2中,公理,AS:Axis2中,公理,BPS:Apache ODE上等等)。而且這些項目的大部分PMC和提交者都參與了WSO2的工作。所以,底線是wso2和apache之間有緊密的聯繫。欲瞭解更多信息,請參閱2

http://b.content.wso2.com/wp-content/themes/wso2ng-v3/images/wso2_new_platform_diagram.jpg

+0

感謝您的回答,他們一直非常有用。 – OverTheBitStair 2012-05-10 14:03:46

+0

我正在嘗試構建WSO2 SOA,並且已經安裝了WSO2 Carbon。我注意到這個軟件有很多功能。它是一個套件協調員,我可以安裝ESB,治理註冊表等,或者它有不同的功能? – OverTheBitStair 2012-05-10 14:10:50

+1

WSO2 Carbon是所有WSO2產品的核心。您可以將每個WSO2產品作爲單獨的實例運行。如果需要,您可以通過安裝其他產品的功能來創建混合產品。這是非常可擴展的。 – 2012-05-15 13:08:05

4

單挑。 Apache的這些東西並不是捆綁在一起的。我總是建議,如果您選擇開放源代碼,請組裝一套真正適合您需求的套件。

所以,Apache有一個很好的服務/集成堆棧:http://servicemix.apache.org/。這將包括一個服務容器,一個路由引擎(Camel),一個消息傳遞層(ActiveMQ)等。最重要的是,只需在規則Drools和BPM,Activiti中添加漂亮的高級開源組件。或者BPM的Apache ODE,是的,Apache有一個BPM解決方案。雖然,我會推薦使用jBPM或Activiti代替。

另外,想想你的真正商業案例和你的要求。需要付出相當大的努力(技術,業務和流程明智)才能建立整個SOA堆棧並使其產生商業價值。最後一句話,不要過多考慮SOA的開源代碼中單個部分之間的互操作性。互操作性是這個東西是做什麼的:)

+0

感謝您的回答,他們一直非常有用。 – OverTheBitStair 2012-05-10 14:03:18

0

在開源的,你也應該看看保險絲ESB,基於一組Apache的產品,其中包括ServiceMix的方面:http://fusesource.com/products/enterprise-servicemix/,現在紅帽的支持。根據您的確切要求,WS02和Fuse ESB似乎都是功能非常強大的ESB解決方案。您可以通過將托斯卡納與這些結合使用來獲得SCA。