SwitchYard is a lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.
You mean like an Enterprise Service Bus (ESB)? Yeah, kind of. At its core, SwitchYard provides an embeddable services runtime with limited dependencies, allowing you to deploy and run services where you need them: inside unit tests, embedded in your own applications, as standalone Java applications, or within an application server. Of course, there will be modular components on top of core to provide connectivity, transformation, routing and orchestration, and all the other features that are typically associated with an ESB. The main difference between SwitchYard and traditional ESB offerings is that we are trying to make the runtime a transparent detail in the service lifecycle. SwitchYard aims to keep you focused on your services by providing tooling to help define, test, and manage the important details of a service - its contract, policies, configuration, composition, and management . After all, the least important detail of your service is where it runs.
Here's a brief list of some of the features SwitchYard has to offer.
SwitchYard leverages the power of Java EE6 and CDI to allow Java objects to become services by simply adding an @Service annotation to your bean. Your beans are automatically registered at runtime and references to other services can be injected as CDI beans using @Inject. Use CDI in your JSP and JSF applications to inject enterprise services into the web tier. Service composition has never been easier!
Leverage the power of jBPM 5 and BPMN 2 for graphical business process definition and human workflow integration. Contract-based invocation of SwitchYard services keeps your business process free of implementation and binding details.
It’s time to stop using procedural approaches to the ubiquitous problem of data transformation in integration and SOA projects. With declarative transformation in SwitchYard, you define the transformation and the types to which it applies - SwitchYard automatically registers and executes the transformation. Choose from Smooks, Java, XSLT, JSON, and more.
Encapsulate business rules as decision services using the Drools component in SwitchYard. Each service has a well defined contract with protocol binding details and marshalling details abstracted away by SwitchYard.
Define service pipelines using the flexible, EIP-based routing engine from the Apache Camel integration framework. You can also take advantage of the wide variety of Camel components as gateway bindings for SwitchYard services.
SwitchYard provides a set of Forge plugins to aid in the rapid development of Maven- based applications. Get further, quicker by using Forge to create and configure your application right out of the gate.
Don't wait until the end of your development cycle to test service-oriented applications as a black box. SwitchYard provides comprehensive unit test support to allow you to test services as you develop them.
Take SwitchYard anywhere - integrated with JBoss AS6 and AS7, embedded in your webapp, or loaded from a unit test.
What Problems Are We Trying To Solve?
Developers face two significant challenges when looking to adopt a runtime for a SOA project, whether it's an ESB, an EAI/B2B gateway, MOM, or another flavor of integration middleware.
1) You pay too much. In other words, the cost of adopting a new SOA runtime and development framework. This can be measured by the time it takes to get started, the technologies that you're forced to adopt or abandon to play nice with the platform, the bulk of a monolithic runtime and its dependencies, and anything else that consumes your valuable time and resources.
2) You don't get enough in return. Your deployed applications fall considerably short of the promise of SOA. Services are tightly coupled, dependencies are unclear, runtime and design-time governance are an afterthought, monitoring is limited and inflexible, clustering is unreliable and a pain to setup. Worst of all, you end up writing lots of your own code to make it all work.
- SwitchYard 0.8 Released
- Mar 26, 2013 2:42 PM by Keith Babo
- SwitchYard 0.8.0.Final has been deployed to Nexus and is available via the project downloads page. There's some great stuff in this release with a to…
- SwitchYard Video Series - Learn By Viewing
- Jan 23, 2013 8:03 PM by Keith Babo
- We're trying something new in the SwitchYard project with our most recent release. The team has created a new video series which is focused on helpin…
- SwitchYard 0.7 Final Released
- Jan 23, 2013 4:21 PM by Keith Babo
- I'm a bit late with this blog entry as I wanted to put the finishing touches on our new video series before announcing the 0.7 release. More on the v…
- SwitchYard 0.6 Final Released
- Nov 12, 2012 12:38 PM by Keith Babo
- SwitchYard 0.6 has gone final and is stuffed like a Thanksgiving turkey. The issue bucket for 0.6 was a veritable horn o' plenty, with 157 issues res…
- SwitchYard 0.6 Beta2 is Available
- Nov 1, 2012 10:35 AM by Keith Babo
- We are now feature complete and (hopefully) bug fix complete for the SwitchYard 0.6 release. The big difference between Beta1 and Beta2 is the introd…
- View more switchyard blog