4

We are trying to decide which ESB choose between ServiceMix or WSO2?

We are looking an esb to:

  • Support different protocols (REST, SOAP, JMS, HTTPS,..)
  • Generate statistics or some console to see "what's happening, how many request are arriving, how many of them are failing,..."
  • Develop proxy services
  • Support for JMS

An important point is the price, ServiceMix an WSO2 is free, but ServiceMix also has free support,... I don't know if WSO2 so.

Community
  • 1
  • 1
culebrins
  • 428
  • 9
  • 21

8 Answers8

5

We have been using WSO2 for projects and to be honest as Java developer I do not like WSO2. - WSO2 documentation is very bad. Basically all their examples are copy paste from Apache synapse. - The consulting architect sold us WSO2 by showing how easy it was to develop proxy services on the GUI, but if you try to go beyond the basic and look for samples that would tell you what a particular option does in GUI, then you will be sorry. If a company promotes the video that it also offers a GUI based solution because many Java developers do not like to work with XMLs then it should have samples and document showing how to do stuff using their GUI and not just copy pasting Xml solutions from Apache Synapse.

  • When I was using wso2 ESB 4.XX version(A newer version is out there), I discovered several bugs in the GUI. P.S. I hear that those bugs have been fixed in the latest version of WSO2 ESB.

  • I have since moved to using serviceMix and I could not be happier. Service mix is very intuitive and documentation is excellent. As far as the argument goes that WSO2 has eclipse plugin then so does ServiceMix(check out Fuse ESB IDE).

  • My manager was sold when he read on the WSO2 landing page that EBAY uses WSO2 so it must be very good. Now that was wrong approach. Ebay may have had a different problem than ours so as someone mentioned above put your problem ahead of the product that you intent to use.

  • Learning curve is very steep with WSO2 and good luck with finding solution on google.

  • In Servicemix you can use DSL / XML or pure java to do your thing.

Update: With the latest release of WSO2 ESB, WSO2 has created samples/examples which shows how to do things in GUI and via plain old XML.

Dinesh Arora
  • 2,115
  • 3
  • 24
  • 30
4

I have been leaning strongly towards WSO2 and barring anything completely out of the blue that’s my current direction within Q1.

On-site/as-is:

  • Oracle Service Bus 11g
  • Oracle SOA Suite 10g and 11g (used as "service bus")

"Roadmaped" Addition Candidates:

  • WSO2 ESB (Apache Synapse+)
  • Apache ServiceMix

Strong challenger:

  • Fuse ESB (Apache ServiceMix+)
  • UltraESB

Out of contention:

  • Mule ESB
  • Tibco, WebMethods, anything else that’s big money

Defining ESB as stateless transformation, routing and mediation I’ve got the following systems either in play or in research (we’re pushing hard on rolling out OAGiS and your question is topical to me). In no order my experience and impressions of items from the above lists:

1) Oracle SOA Suite 10g and 11g (horribly used as a “poor-man’s” ESB) My heartache here has been the Oracle SOA Suite. It's a product I really like, but my organization cannot -- will not -- purchase RAC. And SOA Suite does not "fly" without RAC. Also SOA Suite is architected to "do everything" including the non-stateful adapters I'd prefer to use Camel for (e.g., JMS-, File-, DB-adapters, etc.). So it's a blended stateful and non-stateful, instant and long-running, persistent and ephemeral, orchestration and choreography mess. It’s good for making piles of wrong long-lasting decisions faster.

2) OpenESB My first “SOA” love… cut my teeth in retail on it. Then Oracle bought Sun. And that’s sort of the end of that.

3) Oracle Service Bus 11g (BEA AquaLogic Service Bus) I'm actively looking to replace Oracle products; and though I like the OSB product -- very much in fact -- it's long in the tooth security-standards wise and it feels almost out of support now as Oracle figures out how to get it out of BEA (Eclipse) and move it into Oracle's infrastructure (read: JDeveloper). I've grown to appreciate JDeveloper btw, but that's another topic. The WS-* standards are aged. There’s no built-in pub/sub mechanism; but JMS is well supported. However if I wanted to managed JMS-as-MOM I could just do that and use Camel most successfully. All that said, the OSB is an extremely good product and we've got room for more than one ESB. We run multiple busses based on canonicals: OAGiS, NIEM, etc. I've got one cluster running with nearly forever uptime.

4) Fuse ESB Looked into this and one of my largest integration partners uses it. Using a set of basic enterprise integration pattern to test, and for some reason this was not trivial to get going with Fuse. I’ve got a couple of developers who do not come from the Maven mentality and the IDE took the wheels off the wagons. This is the same for all of the ServiceMix console-driven ESB of course, so the differentiator comes from the IDE and the console. I also consider “pretty is a feature” and our developers and support staff use the consoles to help troubleshoot customer problems. Thus Fuse didn’t wow me, but it didn’t tick me off either.

5) Mule ESB I remember Mule from the “good-old-days” (really before I started using Apache Camel) where I used it to move info from anyplace to anyplace. Very point-to-point, very old-school, but the gold-standard of effectiveness. But that was Mule without the “ESB”. The Mule EBS is lightweight (they say so) and I was told emphatically that Major League Baseball uses it so I must be sort of nuts to not purchase it immediately. The ability to use LDAP is an enterprise feature. I can almost even accept SAML2 or OpenID or OAuth as enterprise features, but LDAP? Trivial I know, but it telegraphed what I consider a lack of “developer heart”. I consider the community edition to be hobbled.

6) Apache ServiceMix If I use servicemix I'd like to find one that added value to the consoles and reporting. But if I decide that’s not so important I might as well use ServiceMix itself if my intent is to create an extremely streamlined “programmer” experience. We’re pretty good at Ant, Maven, and Gradle. You might ask, if we’re going to jump the hoops why not jump the Fuse ESB hoops? No good answer for that except I expect Fuse to have already removed the hoops.

7) WSO2 ESB We’ve used the G-Reg product for a little bit and my experience with it has been good. Their security standards are recent and very good; the interfaces are good and decent enough to give to an associate developer to help troubleshoot; as @ivo mentioned above the WSO2 staff use stackoverflow extensively. We have used their Stratos-live product in the “cloud” but could never quite get ourselves “there” (entirely our side of the equation security-wise and all). I have a soft rule here that any open-source software must be locally buildable by a developer of reasonable skill. That has never gone smoothly using WSO2 software. So that’s a risk. But if you’re happy running on the binaries as provided I think you could be successful with WSO2.

As @user9591 mentioned WSO2 is used by ebay and that’s either a thing for you or not. I think it has had a strong effect on “selling” it here.

8) Tibco, WebMethods, and any other non-opensource systems Added this for completeness though I haven’t used Tibco in a few years. Not open-source, so there it is.

staylorx
  • 1,188
  • 12
  • 13
2

WSO2 ESB has supports all the things you need and is pretty easy user-friendly. There are a lot of useful blogs, online documentation and some webinars.

The wso2 esb free support is mainly here in stackoverflow, they have also payed support though for the price you'll have to contact them (I think prices vary depending on the type of support you need).

I haven't evaluated servicemix, but WSO2 ESB seems nice.

Ivo
  • 1,228
  • 1
  • 15
  • 33
  • And WSO2 Developer Studio IDE provides the Eclipse based tooling support to implement ESB mediation flows using Proxy Services, Sequences, etc as well. So you can use Developer Studio to implement your ESB artifacts and use Apache Maven to generate the deployable artifacts which allows you to integrate your ESB solution with Hudson or Jenkins build. – Harshana Martin Sep 15 '12 at 16:33
2

Depends a bit on what you need to do.

ServiceMix (Fuse ESB) is essentially an OSGi container/console around Apache Camel,Apache ActiveMQ and Apache CXF (+ a few other Apache integration projects like ODE). The bundled ActiveMQ gives a JMS platform out of the box, which is not the case with, for instance Mule ESB (although it is trivial to bundle Mule with ActiveMQ).

ServiceMix major components, Camel and ActiveMQ, has really strong community support through mail-lists and bug trackers.

Mule is indeed very powerful with it's Studio and data mapper, although the Community Edition that is free feels rather limited compared to the EE version, specially when it comes to supervisioning/monitoring which you request.

I don't know about WSO2, but there is very limited, if any, out-of-the support to actually follow the messages flowing through the ESB in both service mix and Mule ESB CE. It is not very hard to implement some statistics via logging, but it's a manual thing to do.

Petter Nordlander
  • 22,053
  • 5
  • 50
  • 84
1

I would suggest this link as a beginner's reference page. http://www.javacodegeeks.com/2012/03/integration-framework-comparison-spring.html

I have not used wso2 but can definitely speak about fuse. I have been using different integration capabilities of fuse. Foremost thing is, it is osgi based, it is definitely a thing to consider if you are architecting a new solution. I find fuse community very active. Best thing about fuse is it is provides integration capabilities for aws, hdfs and hbase besides jms, rest, http(s) proxy end points, load balancers etc

Fuse does provide an ide.

And about logging, you can definitely log every message that reaches the esb.

Finally, i would say the good ol words, dont consider the capabilities of the esb first, instead keep your problem in the front and see which of them solves it better for you.

techuser soma
  • 4,766
  • 5
  • 23
  • 43
0

WSO2 also offers free support through its community. WSO2 ESB has the support for different transport and also able to generate statistics (mediation, service etc.) . Just have a look at the product page. You can integrate ESB with WSO2 BAM 2.0 which gives you analytics and monitoring. Further it provides a complete platform which can be connected easily.

Shelan Perera
  • 1,753
  • 1
  • 11
  • 10
0

WSO2 ESB has extensive support for statistics. As I see, it has support for all the things user asked for, and more. There, while you can get detailed analytic and stats by integrating BAM, WSO2 ESB itself provide stats to suite the user. See the sections in WSO2 ESB documentation titled Monitoring WSO2 Enterprise Service Bus, and Statistics.

Yes, WSO2 ESB supports REST, SOAP, JMS, HTTPS among other supported Transports. Supported protocols and transports are available in the WSO2 ESB product home page.

WSO2 provides UI support to develop proxy services which makes developing proxy services little more easier.

I'm not familiar with ServiceMix, but I think you can get some applicable facts from other answers.

Kasun Gajasinghe
  • 2,735
  • 1
  • 21
  • 30
0

I was evaluating various ESB part of my current job and I have done bit of research on WSO2 and Apache synapse till date

WSO2 is created based on Apache synapse and it has excellent admin console. I would say It could be their selling point. when it comes support, the only viable solution is you have to pay for your support. even though there is community support through stackoverflow exist, but there is no response for my queries.

regarding Synapse, I would say it is not active. there is only 6 version released over the period of 6 years and last release was done around 18months ago. I am still evaluating JBoss Fuse, ServiceMix and Mule