Introducing SwitchYard

Important Notice: The Switchyard project saw its last release in 2016 and it is not currently being developed. We recommend to check the following Red Hat Fuse tutorials to manage application server integration.

In this interview, Keith Babo, SwitchYard’s project lead, introduces this new exciting product which will play an important role into the JBoss SOA Platform.

I: Hi Keith, it’s great to find you here. Could you introduce yourself to the readers?

Great to be here on mastertheboss.com. My name is Keith Babo and I’m a core developer in the JBoss division of Red Hat. I’m also the project lead for SwitchYard.

I: Could you tell us what SwitchYard is, in a nutshell?

SwitchYard is an Enterprise Service Bus, but done a little bit different. We are putting a lot more emphasis on the ‘S’ in ESB, making sure we put the right tools in a developer’s hands to create proper service-oriented applications. This really impacts all stages of the development lifecycle, from design, to implementation, to runtime. Service orientation offers benefits across this entire range and SwitchYard is designed to help you realize those benefits.

I: From a bird’s eye perspective this project bears some similarities with JBoss ESB project. What are the motivations behind this project ?

SwitchYard is essentially the next major version of JBoss ESB. We started out calling it ESB 5, but decided that it would be best to split the project off and allow it to develop in parallel. There are a number of things that are fundamentally different about our approach and it was the best choice in terms of focusing user feedback and speeding up development. So the motivations for SwitchYard are essentially the same motivations we had for the next major version of JBoss ESB. The primary focal points are: consistent and intuitive user experience, addressing some known pain points in the core of the ESB, and looking outside our community for complementary standards and technologies that can be used in the ESB. One example of that last bullet point is the use of SCA for our application configuration model and Camel routes in place of the ESB action processing pipeline.

I: The plot thickens: could you mention an example when it’s worthy using SwitchYard instead of JBoss ESB ? and maybe an example where you should not consider using Switchyard?

jboss soa enterprise service busOne of the most significant differences between JBoss ESB and SwitchYard is that JBoss ESB is supported as part of JBoss SOA Platform 5 and SwitchYard is not. SwitchYard will become a supported offering with JBoss SOA Platform 6, so if you are going to use an ESB in production today, then go with JBoss ESB. With that said, the fact that these technologies are developed in open source allows our users to see (and contribute to!) the next generation as it’s being developed. So use SwitchYard today to get an idea of where we are headed, provide feedback, and help shape the future of our enterprise platforms.

Ignoring the support question, there are some differences in the technical capabilities of each project as well. JBoss ESB has current capabilities that we have not ported to SwitchYard yet – JCA inflow, clustering, and a UDDI registry are examples. On the flip side, SwitchYard has some newer stuff that is not present in JBoss ESB : support for EIP-based routes through Camel, jBPM 5 integration, CDI integration, etc.

I: Could you tell us if it’s possible to integrate jBPM 5 with the current release of SwitchYard ? (if not any plans for the future) ?

Absolutely, support is already there. Here’s a little video I put together demonstrating how to build a jBPM 5 + CDI application in SwitchYard from scratch:

There are also a number of quickstarts available in our distribution which demonstrate using jBPM 5 for service orchestration and human task integration.

I: Are there any plans for clustering and cloud computing in the current release of SwitchYard ?

Yes and yes. 🙂 We already have support for deploying SwitchYard applications to OpenShift. You can create an account for free on the OpenShift site and create a SwitchYard application using our template.
https://github.com/jboss-switchyard/switchyard-openshift
The instance you create is running AS 7.1 under the covers with all the SwitchYard modules ready to rock when a SwitchYard application is deployed. Clustering is on the roadmap for our next release, 0.5, and if all goes according to plan I should have some fun demos for JBoss World and JUDCon in June. 🙂

I: Thanks for taking the time to talk with us Keith. Stay tuned, we will publish soon some SwitchYard tutorials!

More information can be found on the SwitchYard home page