tags:

views:

113

answers:

2

My first thoughts are Erlang, or Java, but I wanted to know from others experiences.

A: 

http://servicemix.apache.org/home.html uses Java.

https://open-esb.dev.java.net/ uses Java.

http://www.jboss.org/ uses Java.

http://www.mulesoft.org/display/MULE/Home seems to be Java.

http://wso2.com/products/enterprise-service-bus/ is Java.

So, if you write yours in Java, you'll be in good company with all the others written in Java.

S.Lott
What is the reason so many ESB's are written in Java?
Zubair
@Zubair: Good question. Perhaps it's because it works and the J2EE Framework provides so much support.
S.Lott
Thanks I guess its a good quesiton as to why Java is better than Erlang for this. Thanks @S. Lott
Zubair
@Zubair: Java isn't "better" than Erlang at all. J2EE happens to have huge companies (Sun, IBM) building ESB's. Erlang doesn't seem to have Sun or IBM involved.
S.Lott
Java is mainstreamer.
LB
+3  A: 

It's pretty rare that there's a best language for writing any kind of application in the absence of external constraints. The popularity of Java for ESBs seems to be based on the fact that they're coordinating a bunch of other software that's also written in Java. While any language would work, they're often producing and consuming content for and from Java libraries and therefore benefit from using the same libraries in adapters that their clients and servers use.

A language that is not Java but runs on the JVM and interoperates well with Java would have most of Java's advantages for such software. Scala and Clojure come to mind as good options. Erlang does seem like an appropriate choice as well, though it may be tougher to sell to customers.

Zak
Scala is probably an easier sell within a company
Zubair
@Zubair - it probably is, though it depends on the company. Since it's the sort of company that wants an "enterprise service bus", you're probably right.
Zak