Red Hat's JBoss ESB may soon be a thing of the past. Word at last month's Red Hat Summit/JBoss World in Boston, Mass., had it that the company's flagship enterprise service bus will give way to a new integration framework with more integration capabilities. Known as Project SwitchYard, the ESB/integration environment is said to have better hooks into Drools rules engines, Business Process Modeling Notation (BPMN) tools and Camel integration routes.
SwitchYard version 0.5 was released just this month, and JBoss middleware insiders say there are already enterprise organizations working with SwitchYard and preparing for the switch from JBoss ESB. JBoss plans to completely replace JBoss ESB with SwitchYard starting with JBoss SOA Platform version 6. However, considerable overlap is expected between the release of SOA Platform 6 and the useful life of SOA Platform 5, which may extend the life of JBoss ESB 4.
SwitchYard is set to replace today's JBoss ESB, adding better modeling and services support.
"JBoss ESB 4 is the existing ESB. SwitchYard is fundamentally JBoss ESB 5," said Keith Babo, the project lead for SwitchYard. "Integration is a fundamental part of any [service-oriented architecture] project," said Babo. In his view, enterprise architects need to take a holistic view so they don't lose either the big picture or the details of the whole project. Most organizations have multiple teams working independently of one another, and one team rarely has much insight into what the others are doing. SwitchYard's goal is to make enterprise architects more successful at integration and to improve collaboration.
"You can follow integration best practices and still end up with an application that is hardwired together and difficult to maintain," said Ken Johnson, director of product management for JBoss integration offerings like the SOA Platform, jBPM, JBoss ESB and, now, SwitchYard. Johnson says the value of SOA comes from its potential for modular design and that SwitchYard is designed to maximize that value.
SwitchYard is meant to give IT organizations better visibility into how their services and applications are interacting. "Yes, SwitchYard is an ESB," Babo said, "but it's really a means to the end of developing a SOA application." New tooling that SwitchYard supports provides a visual representation of the integration design.
Using a graphical user interface, enterprise architects and application engineers can build visual models of their applications that are meant to improve the software engineer's ability to comprehend and communicate the full composition of their applications and also to speed up development and integration projects.
Babo noted SwitchYard's support of Camel routing, BPMN 2, Drools and other tools for messaging, business process management and service orchestration. According to Babo, using these tools and combining them with SwitchYard's visual representation makes adopting SwitchYard less complicated than adopting JBoss ESB.
Babo said one of the main complaints about JBoss ESB was that "the onramp was very severe. If you didn't fully understand the projects coming into it, then it was very difficult to get the concepts that let you really use the power of the ESB." According to Babo, the SwitchYard project is easing these adoption headaches with increased tooling and a more standards-based approach.
SwitchYard has adopted the service component architecture (SCA) approach. According to Johnson, the SCA is a long specification with a plethora of smaller sub-specs. "SwitchYard hasn't focused on meeting every single minor spec, but it does get to the core of the spec."
The tooling, meanwhile, is intended to further aid adoption by allowing architects and developers to capitalize on skills they've already learned. "You already have skills," says Babo "and SwitchYard is meant to let you use those skills to build SOA applications via Camel routes, Drools, BPMN and other tools, along with the SwitchYard visual development."
The SwitchYard team aims to abstract away the nitty-gritty details involved in integrating those tools to build applications, and then deploy them via JBoss AS7, OpenShift for the cloud, a regular old Tomcat server or a variety of other runtime environments.