Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SOA suite comparison -Jboss, Apache, WSO2 or... something else? [closed]

Hello world of stackoverflow, nice to meet you all.

My first question here is about a research I'm making these days: I must choose among open-source Software Oriented Architectures, and it seems to me the three complete platforms (they have all the pieces I need) are:

  • Jboss SOA Suite --> http://www.redhat.com/products/jbossenterprisemiddleware/soa/
  • Apache (it's not a suite but they have all the fundamental pieces)
  • WSO2 SOA Suite --> http://wso2.com/products/platforms

My conclusion on these platforms are that:

  • JBoss is backed by a big and active community, and it is the first I've heard of. The downside is that its ESB cannot match services' multiple endpoints - in other words it matches only one endpoint per service;
  • Apache has a great community too, and has Tuscany SCA (Service Component Architecture) [http://tuscany.apache.org/] - WSO2 and JBoss do not have a SCA middleware (tell me if I'm wrong here);
  • WSO2 has a complete suite (it seems it has all SOA's middleware pieces) except for the SCA. Here the downside is that the community is only of 350 members - they declare that they've joined Apache projects, but I don't think Apache community supports directly their products.

If my research brought me to incorrect conclusion, tell me where I've misunderstood something, and if you think it's incomplete and there are alternative that need to be taken into account it will be much useful to know which they are. I did not mention single pieces (like Bonita's BPM [http://www.bonitasoft.com/], for instance) because I think building up an SOA would be easier if I start with a suite and then I change some pieces.

If you think it's not the correct approach, I'll be glad to take into consideration any alternative you're going to show me.


EDIT

Here are the pieces I did not found on the platforms:

  • Jboss: Business Activity Monitoring (BAM), Service Component Architecture (SCA) WSO2: SCA;
  • Apache: development tool (maybe Eclipse should be used), Business Process Management (BPM), Business Rules, Registry
  • WSO2: SCA.

Thanks in advance to everyone,

someone who's still learning

like image 994
OverTheBitStair Avatar asked Apr 26 '12 13:04

OverTheBitStair


2 Answers

As you mentioned if you are looking for a complete SOA suite, then WSO2 may be the best fit solution. Mainly because of:

  • A complete SOA platform with OSGi based carbon run-time.
  • Covers most components in a typical SOA. (Not that you need all these component but it is there if you need them at some point. WSO2 facilitates feature management across various products in SOA by using P2 Feature management. i.e. similar to Eclipse feature mgmt)
  • Every component in the stack are available as a PaaS. (WSO2 Stratos)
  • Proven in the high end use cases 1.
  • After all its 100% open source(Apache License 2.0) and standards-based.

However, regarding the comments on Apache and WSO2 interaction, most of the WSO2 Products are based on one or more Apache Projects (ESB : Apache Synapse, Axis2, Axiom, AS : Axis2,Axiom, BPS : Apache ODE etc). And most of the PMC and Committers of these projects are involved in WSO2 stuff. So, the bottom line is that there is a tight connection between wso2 and apache. For more information, please refer 2.

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

like image 98
Kasun Indrasiri Avatar answered Nov 14 '22 07:11

Kasun Indrasiri


Heads up. The apache pieces are not that tied together. I always suggest that, if you choose open source, assemble a suite that really suits your needs.

So, apache has a nice service/integration stack: http://servicemix.apache.org/. That would include a service container, a routing engine (Camel), a messaging layer (ActiveMQ) etc., On top of that, just add in nice high level open source components for rules Drools and BPM, Activiti. Or Apache ODE for BPM, yes Apache has a BPM solution. Although, I would recommend using jBPM or Activiti instead.

Also, think of what your real busines case is, and your requirements. It WILL take quite an effort (technical, business and process wise) to put up an entire SOA stack and make it produce business value.

A final word, do not think too much over interopability between single pieces in the open source would of SOA. Interopability is what's this stuff is made for :)

like image 26
Petter Nordlander Avatar answered Nov 14 '22 05:11

Petter Nordlander