Monday, September 16, 2013

Improving your SOA Services with JBoss SwitchYard!

Hi guys!

Some of you have been asking me about the old JBoss ESB, if it will change or not, or what is the best enterprise integration that is open source and free. There is no silver bullet, but I'd like to show you a nice project from JBoss, that cares about services and is a little bit different from JBoss ESB.

A parallel projects that reminds an ESB on its essence is JBoss SwitchYard. Basically this guys is a next generation of JBoss ESB. However it is not a typical ESB like Oracle Service Bus. 'ESB' means Enterprise Service Bus, and JBoss SwitchYard has much more focus on Services. It provides services that can run everywhere - tests, standalone Java applications, Java web applications and so on. One of the main goals of the tool is providing services that can run with transparency in its all lifecycle, without making the developers be forced to code extra 'plumbing' code to support the service.

This is the main difference of SwitchYard and any other ESB. While the focus of the main ESBs is providing a way to integrate services / systems, Switchyard wants transparency when running a service during its whole lifecycle. Important stuff such as connectivity, orchestration and routing do exist on SwitchYard in a modular format, which means you can deploy them in an independent way. Some ESBs force you to deploy all the services, resulting in a heavy application.

Another nice feature on SwitchYard is that it is built with CDI. Many ESBs force you to adapt your code to their own code pattern (forcing method signatures, inheritance, and so on). SwitchYard, however, let's you transform a bean into a service with the wonderful annotation @Service. Easy, huh? =) So you can easily inject your services with the CDI annotation @Inject.

It also comes with a friendly graphical tool to define business process and human workflow integration. Service's business rules can be direct integrated with Drools. If you want orchestration SwitchYard has a simple integration with JBoss jBPM. It also provides integration with Camel. Finally, it follows the pattern proposed by Organization for the Advancement of Structured Information Standards (a.k.a. OASIS).

Free and easy to use, SwitchYard is a good choice if you want to focus on services development.
You can download it here and take a look at the getting started guide. Some nice other links are here and here. Luan did a presentation about it at JUDCon Brazil 2013. Keith Babo also gave a nice talk about SwitchYard on Red Hat Summit 2012. Looking for tutorial videos? Start here.

If you are looking for a SOA Governance tool, take a look at this post, about JBoss Overlord.

This is it! Hope you have enjoyed SwitchYard!


  1. Switch Yard is a SCA implementation and does not compete with ESB. The ESB is a collection of Integration Patterns to integrate all portfolio of legacy systems from companies.

    SCA is focused in binding services changing protocols to make a strategy to deploy a composite in different environments like cloud.

    SCA is more like OSGI in business level. Today the best SCA framework is Fabric3 -

    Sure that in some cases ESB can be a overlap, for Service Virtualization with WebServices for sample. In this case, SCA make more sense.

  2. This comment has been removed by the author.

  3. More 1 comment:

    A ESB dont force you adapat anything, because the ESB that create a stub and skeleton for communication with your software. You only has that expose a format with some protocol.

    And BPM does not designed for address a orchestration thought technical view. The language BPMN was designed for orchestrate only business process. For State Machine Handler we should use BPEL language thats handle some WS specs like: Ws-Coordination, WS-Business Activity and WS-Transaction.

    I believe that JBoss team don´t understand very well the principles and publishes a lot of concept errors, causing a great confuse in the heads of programmers.

    1. Hi Felipe =) It is great to have someone with a lot of SOA knowledge here =D We could send a mail to the JBoss engineers to fix the misunderstanding in the documentation/website of JBoss, could you help me with that? =) Thanks!

    2. Sure Luan, you can count on me :-)

  4. The information on this web log is extremely helpful and extremely attention-grabbing. If somebody has to realize the IT detail please click
    PPC consulting Chicago