JBoss Community Archive (Read Only)



SwitchYard integrates with JBoss Forge to provide a set of rapid application development tools for service-oriented applications.  Please consult the Getting Started guide for information on how to install Forge and the SwitchYard extensions to Forge.

Creating a Project

The first thing you'll want to do with Forge is create a new project.  This can be done inside the Forge shell using the new-project command.

switchyard$ forge
   |  ___|__  _ __ __ _  ___ 
   | |_ / _ \| `__/ _` |/ _ \  \\
   |  _| (_) | | | (_| |  __/  //
   |_|  \___/|_|  \__, |\___| 
[no project] switchyard $ new-project --named syApp --topLevelPackage org.switchyard.examples.forge
 ? Use [/private/tmp/switchyard/syApp] as project directory? [Y/n] 
***SUCCESS*** Created project [syApp] in new working directory [/private/tmp/switchyard/syApp]

At this point, you have an empty application with a few Maven facets installed.  What's a facet you ask?  Read on ....


Facets add capabilities to an application and to the forge environment itself.  This allows SwitchYard to add dependencies to your application's pom based on the functionality you will be using, instead of sticking every possible SwitchYard dependency in the application by default.  Facets are also used to add commands specific to SwitchYard itself and components which you will be using in your application.  The following facets are currently available:

  • switchyard - core set of commands and dependencies for the SwitchYard runtime

  • switchyard.bean - commands and dependencies for Bean component services

  • switchyard.bpm - commands and dependencies for BPM component services

  • switchyard.rules - commands and dependencies for Rules component services

  • switchyard.soap - commands and dependencies for SOAP gateway bindings

  • switchyard.camel - commands and dependencies for Camel services and gateway bindings

  • switchyard.rest - commands and dependencies for RESTEasy gateway bindings

  • switchyard.http - commands and dependencies for HTTP gateway bindings

Installing a facet can be done directly in the shell using the install-facet command.

[syapp] syapp $ project install-facet switchyard.soap
***SUCCESS*** Installed [switchyard.soap] successfully.
Wrote /tmp/syapp/pom.xml


The following SwitchYard commands are available in Forge (grouped by facet).


  • switchyard show-config : displays the current state of your application's configuration, including services, references, and bindings.

  • switchyard promote-service : promotes an internal application-scoped service to be visible to other applications.

  • switchyard promote-reference : promotes an internal application-scoped reference so that it can be mapped to services provided in other applications.

  • switchyard create-service-test : create a new unit test for a service.

  • switchyard get-version : returns the version of SwitchYard used by the application.

  • switchyard trace-messages : enables message tracing at runtime - all messages will be logged.

  • switchyard import-artifacts : add a dependency on a service artifact module to the application's configuration

  • switchyard add-reference : adds a reference to a service implementation; particularly useful for service types which do not autogenerate references (Camel, BPM, BPEL).


  • bean-service create : creates a new CDI Bean service, consisting of a service interface and implementation class.


  • bpm-service create : creates a new BPM service, consisting of a service interface and implementation class.


  • rules-service create : creates a new Rules service, consisting of a service interface and implementation class.


  • camel-service create : creates a new XML or Java DSL Camel route.

  • camel-binding bind-service : binds a service using a Camel endpoint URI.

  • camel-binding bind-reference : binds a reference using a Camel endpoint URI.


  • soap-binding bind-service : binds a service to a SOAP endpoint.

  • soap-binding bind-reference : binds a reference to a SOAP endpoint.


  • rest-binding bind-service : binds a service to a RESTEasy endpoint.

  • rest-binding bind-reference : binds a reference to a RESTEasy endpoint.


  • http-binding bind-service : binds a service to a HTTP endpoint.

  • http-binding bind-reference : binds a reference to a HTTP endpoint.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 09:45:01 UTC, last content change 2013-07-15 16:29:44 UTC.