15

大家好,stackoverflow 世界,很高兴认识大家。

我的第一个问题是关于我最近正在做的一项研究:我必须在开源软件导向架构中进行选择,在我看来,三个完整的平台(它们拥有我需要的所有部分)是:

我对这些平台的结论是:

  • JBoss得到了一个庞大而活跃的社区的支持,这是我听说的第一个。缺点是它的ESB 无法匹配服务的多个端点——换句话说,它只匹配每个服务的一个端点;
  • Apache也有一个很棒的社区,并且有Tuscany 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;
  • Apache:开发工具(也许应该使用 Eclipse)、业务流程管理(BPM)、业务规则、注册表
  • WSO2:SCA。

提前感谢大家,

还在学习的人

4

3 回答 3

14

正如您所提到的,如果您正在寻找一个完整的 SOA 套件,那么 WSO2 可能是最合适的解决方案。主要是因为:

  • 具有基于 OSGi 的碳运行时的完整 SOA 平台。
  • 涵盖典型 SOA 中的大多数组件。(并不是说您需要所有这些组件,但如果您在某些时候需要它们,它就在那里。WSO2 通过使用 P2 功能管理来促进 SOA 中各种产品的功能管理。即类似于 Eclipse 功能管理)
  • 堆栈中的每个组件都可以作为 PaaS 使用。(WSO2 斯特拉托斯)
  • 在高端用例中得到证明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

于 2012-04-28T06:55:34.467 回答
4

小心。apache 部分并没有那么紧密地联系在一起。我总是建议,如果您选择开源,请组装一个真正适合您需求的套件。

所以,apache 有一个很好的服务/集成堆栈:http ://servicemix.apache.org/ 。这将包括一个服务容器、一个路由引擎(Camel)、一个消息传递层(ActiveMQ)等,最重要的是,只需为规则Drools和 BPM、Activiti添加漂亮的高级开源组件。或者用于 BPM 的Apache ODE,是的,Apache 有一个 BPM 解决方案。虽然,我会推荐使用 jBPM 或 Activiti。

另外,想想你真正的商业案例是什么,以及你的要求。建立一个完整的 SOA 堆栈并使其产生业务价值将需要相当大的努力(技术、业务和流程方面)。

最后一句话,不要过多考虑 SOA 开源中单个部分之间的互操作性。互操作性是这些东西的用途:)

于 2012-04-27T22:41:22.567 回答
0

在开源方面,您还应该看看 Fuse ESB,它基于一组 Apache 产品,包括 ServiceMix: http: //fusesource.com/products/enterprise-servicemix/,现在由 Redhat 支持。WS02 和 Fuse ESB 似乎都是非常强大的 ESB 解决方案,具体取决于您的具体要求。您可以通过将托斯卡纳与这些结合使用来获得 SCA。

于 2013-01-07T11:49:58.497 回答