SOA suite comparison -Jboss, Apache, WSO2 or… something else?
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.
Hello world of , 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.
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
In terms of open source you should also look at Fuse ESB, based on a set of Apache products including ServiceMix: http://fusesource.com/products/enterprise-servicemix/, now supported by Redhat. Both WS02 and Fuse ESB seem to be very capable ESB solutions, depending on your exact requirements. You may be able to get SCA by using Tuscany in conjunction with these.
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 :)
There is another way that symbolic links may fail you, as I discovered in my situation. If you have an SELinux system as the server and the symbolic links point to an NFS-mounted folder (other file systems may yield similar symptoms),
httpd may see the wrong contexts and refuse to serve the contents of the target folders.
In my case the SELinux context of
/var/www/html (which you can obtain with
ls -Z) is
unconfined_u:object_r:httpd_sys_content_t:s0. The symbolic links in
/var/www/html will have the same context, but their target's context, being an NFS-mounted folder, are
The solution is to add
fscontext=unconfined_u:object_r:httpd_sys_content_t:s0 to the
mount options (e.g.
# mount -t nfs -o v3,fscontext=unconfined_u:object_r:httpd_sys_content_t:s0 <IP address>:/<server path> /<mount point>).
rootcontext is irrelevant and
defcontext is rejected by NFS. I did not try
context by itself.