JBoss Community Archive (Read Only)

SwitchYard 0.7

Tooling

Forge

SwitchYard integrates with Seam 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

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

Commands

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

switchyard

  • 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).

switchyard.bean

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

switchyard.bpm

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

switchyard.rules

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

switchyard.camel

  • 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.

switchyard.soap

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

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

switchyard.rest

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

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

switchyard.http

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

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

Eclipse

Installation

Please refer to Installing Eclipse Tooling for details on installing the SwitchYard Eclipse tooling.

Features

The SwitchYard Eclipse tooling provides the following features:

  • Creation of SwitchYard projects.

  • Adding SwitchYard capabilities to existing Maven based Eclipse projects.

  • Configuration of SwitchYard capabilities (i.e. runtime component dependencies; e.g. SOAP, BPM, Camel, etc.).

  • A graphical editor for editing SwitchYard application configuration (i.e. switchyard.xml), which provides the following features:

    • Creation and configuration of components, services and references.

    • Component service/reference promotion and configuration of gateway bindings.

    • Creation of implementation skeletons for new service components (e.g. bean classes, BPMN2 files, DRL files, etc.).

    • Creation of unit test skeletons for services.

    • Configuration of message transformers, including creation of implementation skeletons for message transformers (e.g. XSL, Java, etc.).

    • Creation of Artifact references.

  • Java2WSDL

  • XML catalog entries for SwitchYard configuration schema.

  • m2eclipse integration supporting the SwitchYard Maven plugin (org.switchyard:switchyard-plugin).

  • Support for workspace deployment of SwitchYard projects.

Quick Start

Please refer the tooling quick start for a brief introduction to the tooling.

Administration Console

Overview

The SwitchYard management console is integrated with the standard JBoss AS management console and provides a read-only view of the applications and services deployed to the SwitchYard runtime, as well as a view of various runtime metrics.

This functionality will be extended in the future to provide access for configuring and monitoring SwitchYard applications and services.

Runtime View

SwitchYard provides page for viewing message metrics for the SwitchYard runtime and individual services.  These metrics consist of:

  • Message count: total, success, failed

  • Processing time: total, min., avg., max.

images/author/download/attachments/61702362/console_metrics.gif

Profile View

SwitchYard contributes a number of pages for viewing details about the system.  The SwitchYard section of the navigator provides access to the following:

  • Applications - SwitchYard applications deployed on the system.

  • Services - Services exposed by SwitchYard applications.

  • Artifact References - Artifact references used by SwitchYard applications.

  • System - System details, including installed runtime components.

Clicking on one of the items listed under any section will cause its details to be displayed in the content panel to the right of the navigator.

Applications

Clicking the Applications item in the navigator will open the application details in the content panel.  This panel displays all the applications deployed to the system.  Selecting a particular application will populate the Application Details section below.  Details are provided for services, artifact references and transformers.

images/author/download/attachments/61702362/console_apps.gif

Services Tab

The Services tab displays information about the services deployed by the application.  This information includes the services exported by the application and the components used to implement the services.

The Services table displays the services exported by the application.  The table provides the following details:

  • Name - The name of the service.

  • Promoted Service - The name of the component service providing the implementation for the service.

Clicking on an item in the Name column will load the service details for the selected service.  Clicking on an item in the Promoted Service column will highlight the component used to implement the service in the Component Services table.

The Component Services table displays the components of which the application is comprised.  This table provides the following details:

  • Name - The name of the component.

  • Interface - The interface implemented by the component.

  • Implementation - Provides a link for viewing the implementation details of the component.

Clicking on an item in the Implementation column will open a dialog detailing the component's implementation.

The Implementation dialog provides the following information:

  • The technology used to implement the component (e.g. Camel).

  • A list of references required by the component.

  • The raw configuration for the implementation.

Artifact References Tab

The Artifact References tab provides information about the artifacts referenced by the application and is comprised of a table providing the following details:

  • Name - The name of the referenced artifact.

  • URL - The source location of the artifact.

Clicking on an item in the table will navigate to the Artifact References page.

Transformers Tab

The Transformers tab provides information about the transformers deployed by the application and is comprised of a table providing the following details:

  • From - The from type supported by the transformer.

  • To - The to type supported by the transformer.

  • Type - The implementation technology used by the transformer (e.g. Java, XSLT, etc.).

Services

Clicking on the Services item in the navigator will open the service details in the content panel.  This panel displays all services deployed to the system.  Selecting a specific service will populate the Service Details section below.  Details displayed include:

  • Application - The application providing the service.

  • Interface - The interface provided by the service.

  • Promoted Service - The component used to implement the service.

  • Gateway Details - Details about the gateways provided for accessing the service.

The Gateway Details table provides the following information for each of the gateways provided for the service:

  • Type - The type of gateway (e.g. SOAP, HornetQ, etc.).

  • Configuration - Provides a link for viewing the configuration details of the gateway.

Clicking on an item in the Configuration column of the Gateways table opens a dialog displaying the raw configuration for the gateway.

images/author/download/attachments/61702362/console_services.gif

Artifact References

Clicking on the Artifact References item in the navigator will open the artifact references details in the content panel.  This panel displays all artifacts referenced by applications deployed to the system.  Selecting a specific artifact reference will populate the Applications Using Artifact table below. Selecting an application in the applications table will navigate to the Applications page.

images/author/download/attachments/61702362/console_artifacts.gif

Runtime Details

The system details page is the default page of the console.  This page displays information pertaining to the SwitchYard system.

This page displays the version of the SwitchYard runtime, along with a list of installed components.  Selecting a component will populate the Component Details section below, which displays:

  • Name - The component name, e.g. SOAP, Camel.

  • Type - The component type, e.g. soap, camel.  (The type is the suffix used within switchyard.xml identifying component specific elements, e.g. binding.soap, implementation.camel.)

  • A section providing component specific details.  For most components, this section details any configurable properties and their current settings.

images/author/download/attachments/61702362/console_runtime.gif

BPEL Console

The BPEL console can be deployed to SwitchYard through its installer since SwitchYard-0.4 version.

Overview

This section provides an overview of the BPEL Console. The console provides the ability to view:

  • The process definitions deployed to the BPEL engine

  • The process instances executing in the BPEL engine

  • The execution history of a process

  • The history instances query

Installation

You could either install the BPEL console from the Installer script

or

you can just simply copy the switchyard-bpel-console.war folder and switchyard-bpel-console-server.war from the Tools distribution into the $Switchyard/standalone/deployments/ folder. Remember that you will need to add a marker file named "switchyard-bpel-console.war.dodeploy" in the deployments folder as well to trigger the deployment.

Because of this issue (https://issues.jboss.org/browse/RIFTSAW-391), we used the exploded war of the switchyard-bpel-console as the workaround.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 09:47:15 UTC, last content change 2012-03-23 06:29:05 UTC.