Even though I've been working on a C++ project for almost the past two years, I tried to keep an eye on the happenings in the Java world. I kept up with the Spring and Hibernate boom. I kept up with the Java 5, 6, and 7 features. I kept up with all the EJB3 annotations and injections. With the Java EE 5 spec endorsed by the JCP board, and major vendors releasing their Java EE 5 products in advance of the JavaOne next week, things are looking good. The era of ease of Java enterprise development is finally upon us.
However, Java EE 5 is not all that everybody are talking about. Software vendors, both commercial and open source, have been using new terminologies in their press announcements. One of them is SOA. And the other is ESB.
All the big Java vendors are committed to SOA. For example, when Red Hat and JBoss announced their deal 28 days ago, they didn't mention Java at all. What they did mention, of course, is "by acquiring JBoss, Red Hat expects to accelerate the shift to service-oriented architectures (SOA), by enabling the next generation of web-enabled applications running on a low-cost, open source platform."
The trend is accelerating. Most recent announcements also mention ESB (Enterprise Service Bus). For example, this JBoss blog spelled out JBoss's intention for JBoss ESB 1.0. And today, IONA announced their open source implementation of an ESB—Caltix 1.0. You can write your services in E4X (ECMAScript for XML). A Google search for ESB turned up Open ESB on java.net, Apache ServiceMIX, and Mule on codehaus.org.
"And exactly what is an SOA or an ESB?" you might ask.