What would be the best language in which to write an ESB?
My first thoughts开发者_如何学Python are Erlang, or Java, but I wanted to know from others experiences.
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.
JavaScript: https://github.com/salboaie/SwarmESB The main innovation is in how easy is to program your functionality. It comes with the "swarm" idea, a variant of mobile code that works very well with JavaScript but could be implemented in Java, Php,etc.
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.
精彩评论