SOA套件比较 - Jboss、Apache、WSO2或其他什么?

15

Hello world of stackoverflow, nice to meet you all.

我在进行一项研究,需要从开源软件导向体系结构中选择一个。目前看来,有三个完整的平台(它们都具备我所需的组件):

我对这些平台的评价如下:

  • Jboss由一群庞大活跃的社区支持, 我第一次听到它的名字。其缺点是其ESB不能匹配多个端点的服务 - 换句话说,它只能匹配每个服务的一个端点;
  • Apache也有一个很棒的社区,并且拥有Tuscany SCA (Service Component Architecture) [http://tuscany.apache.org/] - WSO2和JBoss没有SCA中间件 (如果我理解错误,请告诉我);
  • WSO2拥有完整的平台(它似乎拥有所有SOA的中间件组件),除了SCA。这里的缺点是,社区只有350名成员 - 他们声称已加入Apache项目,但我不认为Apache社区会直接支持他们的产品。

如果我的研究得出了错误的结论,请告诉我哪里误解了,如果您认为研究不完整或需要考虑其他备选方案,那么知道它们将非常有用。我没有提到单个组件(例如Bonita的BPM [http://www.bonitasoft.com/]),因为我认为如果我从套件开始建立SOA,那么后续更改一些组件会更容易。

如果您认为这不是正确的方法,那么我将很高兴考虑您提供的任何替代方案。


编辑

以下是我在这些平台上没有找到的组件:

  • Jboss:业务活动监控(BAM),服务组件架构(SCA);
  • Apache:开发工具(可能需要使用Eclipse),业务流程管理(BPM),业务规则,注册表
  • WSO2: SCA。

先感谢大家的帮助,

一个仍在学习中的人


注意,WSO2也有其基础在Apache软件上。例如Apache Axis2和Apache Synapse。 - Petter Nordlander
3个回答

14

如果你正在寻找一个完整的SOA套件,那么WSO2可能是最合适的解决方案,主要原因包括:

  • 基于OSGi的carbon运行时,提供完整的SOA平台。
  • 涵盖了典型SOA中的大多数组件。(虽然您不一定需要所有这些组件,但如果您在某个时刻需要它们,WSO2会通过使用P2特性管理来促进跨各种SOA产品的功能管理。即类似于Eclipse特性管理)
  • 堆栈中的每个组件都可作为PaaS提供。(WSO2 Stratos)
  • 已证明在高端用例中1
  • 毕竟,它是100%开源的(Apache许可证2.0)和基于标准的。

然而,关于Apache和WSO2互动的评论,大多数WSO2产品都基于一个或多个Apache项目(ESB:Apache Synapse,Axis2,Axiom,AS:Axis2,Axiom,BPS:Apache ODE等)。并且这些项目的大多数PMC和Committer都参与了WSO2的工作。因此,底线是WSO2和Apache之间存在紧密联系。有关更多信息,请参见2

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


我现在正在尝试构建WSO2 SOA,并已经安装了WSO2 Carbon。我注意到这个软件有很多功能。它是一个套件协调器,可以在上面安装ESB、治理注册表等吗?还是它有不同的功能? - OverTheBitStair
1
WSO2 Carbon是所有WSO2产品的核心。您可以将每个WSO2产品作为单独的实例运行。如果需要,您可以通过安装其他产品的功能来创建混合产品。它具有很高的可扩展性。 - Kasun Indrasiri

4
注意啦,Apache的各个组件并不是非常紧密联系在一起。如果你选择使用开源软件,我建议你要按照自己的需要来组装一个真正适合你的软件套件。
因此,Apache有一个不错的服务/集成堆栈:http://servicemix.apache.org/。它包括一个服务容器、一个路由引擎(Camel)、一个消息层(ActiveMQ)等。再加上一些优秀的高级开源组件,比如Drools和BPM,Activiti。或者使用Apache ODE进行BPM,没错,Apache也有BPM解决方案。不过,我建议使用jBPM或Activiti。
此外,考虑你的真实业务案例和需求。构建整个SOA堆栈并让它产生商业价值需要相当大的努力(技术、业务和流程方面)。
最后,不要太过于担心开源中单个部分之间的互操作性。互操作性正是这些东西存在的目的 :)

谢谢你的回答,它们非常有用。 - OverTheBitStair

0
在开源方面,您还应该看看Fuse ESB,它基于一组Apache产品,包括ServiceMix:http://fusesource.com/products/enterprise-servicemix/,现在由Redhat支持。无论您的确切要求是什么,WS02和Fuse ESB似乎都是非常有能力的ESB解决方案。您可以通过将Tuscany与这些解决方案结合使用来获得SCA。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接