Thanks for stopping by to check out SwitchYard. This article provides a brief summary of what's inside SwitchYard 0.2. If you are completely new to SwitchYard and wondering what it is, this blog post provides some good background and pointers to additional information.
There a number of options for checking out what SwitchYard has to offer. Listed in order of increasing time investment:
- Read the rest of this article. It provides an overview of the new features in 0.2.
- Check out the Getting Started and User Guide to find out more about all the features in SwitchYard.
- Download and install a SwitchYard 0.2 release for JBoss AS 6 or AS 7.
- Take a gander at our Quickstart applications. Run them as is and see SwitchYard in action. Or change some stuff and see what blows up.
- Build an application from scratch using fancy Forge tooling.
- Build SwitchYard from source and contribute!
You can find a summary of the new features in the 0.2 release below. For complete information on all SwitchYard features, check out the docs.
Workflow Services with jBPM 5
A new BPM component based on jBPM 5 allows you to orchestrate SwitchYard services and integrate human workflow in your applications using the graphical BPMN 2 modeler.
Decision Services with Drools
A new Rules component based on Drools makes it easy to expose business rules as decision services. Take advantage of declarative transformation in SwitchYard to map to/from the fact models used in your rules and expose them to the outside world using the gateway bindings in SwitchYard.
See this feature in action in the rules-interview quickstart.
CDI and Camel Integration
You can already provide and consume services within SwitchYard using CDI, but we have taken our CDI integration to the next level by allowing the CDI Bean Manager to be used as the bean registry in your Camel routes. Beans are an important mechanism for introducing integration and customization logic into a route and CDI integration provides a standard programming model to get that done.
Interacting with messaging infrastructure is a critical requirement for ESBs and 0.2 includes the first gateway binding for messaging with the HornetQ component. The HornetQ component allows you to bind services and references to a messaging destination using JMS topics and queues or HornetQ core queues. You can leverage the speedy, lightweight core messaging infrastructure of HornetQ through a direct HornetQ binding or go with a layer above that and use a Camel JMS binding.
We have a new GWT-based administration console which uses the same admin infrastructure as JBoss AS7. The primary goal for 0.2 was to allow for a clean view of SwitchYard application. Each deployed app will contain a list of services, the contract for those services, any gateway bindings used to expose those services to the outside world, declared transformations, and configuration related to the service implementation. For a first go, it's none too shabby. You can try out the console in a new SwitchYard install by going to http://<host-name>:8080/switchyard
SwitchYard in the Web Tier
We explored how SwitchYard played in the web tier in 0.2 by adding support for wiring SwitchYard services into web applications (e.g. JSF pages) via CDI injection. This makes it dead simple to bring enterprise services into your web application with the technologies you already use today. We also added support for bundling up SwitchYard with your webapp and deploying in an embedded manner. It's nice.
See this feature in action in the demos/webapp-deploy quickstart.
Improved Test Support
Improved test support includes more MixIns (HornetQ, BPM, HTTP) and a revamped test framework which allows tests to extend non-SwitchYard test classes to get additional test support (e.g. CamelTestSupport). We continue to try and make it easy as possible to test your services easily and iteratively.
You can find an example of MixIns in every quickstart we have.
More Transformation Options
JAXB and XSLT transformers have been added to the list of available transformation frameworks. Same game as 0.1 - you define the transformations independent of the routing, orchestration, and implementation logic of your services and SwitchYard takes care of the rest. JAXB transformation is even easier as we will auto-detect JAXB annotations in service contracts and register transformation mappings without you having to do a thing.
See this feature in action in transform-jaxb or any of the other transform-* quickstarts.
New Forge Commands
We continue to love Forge and we think you will too. New Forge commands have been added for BPM and Rules services - it's simply ridonkulous how fast you can go from no project to developing a BPMN 2 workflow with SwitchYard services using our Forge support.