JBoss Community Archive (Read Only)

SwitchYard 1.0

Tooling

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

Overview

This quickstart takes you through the steps required to create, implement, test and deploy a SwitchYard application using the Eclipse tooling.  The application being created will provide a greeter service, implemented as a Java bean and accessible via a SOAP HTTP gateway.  This quickstart will illustrate how to perform the following tasks:

  • Create a SwitchYard project

  • Create a Java service interface

  • Create a bean component implementation

  • Create and execute a unit test for the service

  • Create a WSDL service interface

  • Add a SOAP gateway for accessing the service

  • Create a transformer

  • Create and execute a unit test for the transformer

  • Create and execute a unit test for the SOAP gateway

  • Deploy the application to a server

  • Test the deployed application

Create a Project

The first step is to create a project for the application.  From the new menu, select SwitchYard Project.  (See SwitchYard Projects for more details.)

The first page in the wizard is used for specifying the project name and location.

images/author/download/attachments/69536144/switchyard-project-wizard-1.jpg

The next page is used for specifying various project details, including which SwitchYard components are required by the project.  In this example, the default package has been modified and the Bean and SOAP components have been selected.

images/author/download/attachments/69536144/switchyard-project-wizard-2.jpg
Upon completion, a new project will be created and the SwitchYard configuration will be open in the editor.

images/author/download/attachments/69536144/qs-new-project-workspace.jpg

The Palette view may not be immediately visible. If it is missing from your workbench, it can be displayed using the Window→Show View→Other... menu

Create a Bean Component

The next step is to create a component that will implement the service logic.  Every component must be associated with an interface describing the service.  As part of this step, we will create the interface using the Interface link on the New Bean Service wizard.  At the end of this step, we will have:

  • A new ExampleService.java file describing a Java interface that will be implemented by the component.  This will provide the interface for the service.

  • A new ExampleServiceBean.java file describing a Java class that implements ExampleService.  This will provide the implementation for the service.

  • A component and component service will be added to the SwitchYard configuration.  This tells SwitchYard about the service and implementation.

In the SwitchYard editor, drag the Bean tool from the Components section of the palette onto the canvas.  This will open a wizard prompting for details about the component.

images/author/download/attachments/69536144/new_bean_1.gif

First, specify the service interface.  Create a new interface by clicking the Interface link.  This will open the standard Java New Interface wizard.  Specify a name for the interface (e.g. ExampleService), any other details and press Finish.

The name for the bean should be defaulted based on the service name (e.g. ExampleServiceBean).  Look over the fields and press Finish.

images/author/download/attachments/69536144/new_bean_2.gif

A new component shape should be added to the canvas.

images/author/download/attachments/69536144/qs-new-bean-done-editor.jpg

Save the changes to the switchyard.xml file.

If the project contains a number of XML validation errors, make sure Honour all XML schema locations is disabled in workbench preferences (under XML→XML Files→Validation).

Flesh Out the Service Interface

The next step is to flesh out the interface for the service.  The Java interface created in the previous step contains no methods, so we will add them here.  At the end of this step, we will have a complete interface which describes the service.

In the SwitchYard editor, double-click the service icon on the component (the green arrow on the left side of the component).  This will open the file describing the interface (ExampleService.java).

Add a method to the interface, for example:

ExampleService.java
package com.example.switchyard.example;

public interface ExampleService {

	public String sayHello(String name);

}

In the previous step, we created the interface while we were creating the component. We could have created the interface first, then used the Browse... button in the New Bean Service wizard to select it. The resulting bean class would have been created with stubs for each method on the interface.

Implement the Bean

The next step is to implement the service logic.  After adding methods to the interface in the previous step, there are compiler errors in the bean class.  We will resolve the errors by creating the missing methods.  At the end of this step we will have a completed service implementation and will have a SwitchYard application that provides an ExampleService and the project should be error free.

In the SwitchYard editor, double-click the component (ExampleServiceBean) in the diagram.  This will open the file used to implement the component (ExampleServiceBean.java).

The file should contain errors, since it does not implement required methods.

Add an implementation for the newly added method on the service interface.  (Using quick-fix, click the error icon and select, Add unimplemented methods.)

Update the implementation of the sayHello() method so it matches the following:

ExampleServiceBean.java
package com.example.switchyard.example;

import org.switchyard.component.bean.Service;

@Service(ExampleService.class)
public class ExampleServiceBean implements ExampleService {

	@Override
	public String sayHello(String name) {
		return "Hello, " + name;
	}

}

Create a Unit Test for the Service

The next step is to verify that the service implemented in the previous steps is behaving appropriately.  To do that, we will create a unit test to verify the behavior.  At the end of this step we will have a unit test class which sends a message to the service and verifies its output.  We will also execute the test using the native Eclipse JUnit support.

In the SwitchYard editor, right-click the service icon on the component (the green arrow on the left side of the component) and select New Service Test Class.  This will open a wizard, which should be defaulted appropriately.  Look the fields over and press Finish.

images/author/download/attachments/69536144/qs-new-test-wizard.jpg

Modify the testSayHello() method to properly exercise the service.  Initialize the message variable to "Bob" and update the Assert statement to verify the return value from the service is, "Hello, Bob"

ExampleServiceTest.java
package com.example.switchyard.example;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.switchyard.test.Invoker;
import org.switchyard.test.ServiceOperation;
import org.switchyard.test.SwitchYardRunner;
import org.switchyard.test.SwitchYardTestCaseConfig;
import org.switchyard.test.mixins.CDIMixIn;

@RunWith(SwitchYardRunner.class)
@SwitchYardTestCaseConfig(mixins = CDIMixIn.class, config = SwitchYardTestCaseConfig.SWITCHYARD_XML)
public class ExampleServiceTest {

	@ServiceOperation("ExampleService")
	private Invoker service;

	@Test
	public void testSayHello() throws Exception {
		// initialize your test message
		Object message = "Bob";
		String result = service.operation("sayHello").sendInOut(message)
				.getContent(String.class);

		// validate the results
		Assert.assertTrue("Unexpected result: " + result, result.equals("Hello, Bob"));
	}

}

Run the tests by selecting Run As => JUnit Test.

Promote the Service

The next step is to configure the service so it can be invoked by external applications.  This is process is called promotion.  We will promote our service through a WSDL interface which will require the creation of a WSDL file to describe the external version of the service, as well as the creation of a couple of transformers to convert the between the different types exposed by the internal and external interfaces (i.e. between the Java and WSDL types).  The SwitchYard tooling allows us to create the WSDL and the required transformers during the promotion process.

In the SwitchYard editor, right-click the service icon on the component and select Promote Component Service.  This will open a wizard, which allows us to specify the interface that will be exposed by the promoted service.  By default, the interface specified matches the interface used to describe the component service.

images/author/download/attachments/69536144/qs-promote-default.jpg
In the Promote Component Service wizard, change the interface type from Java to WSDL.  This will blank out the interface and name fields.

images/author/download/attachments/69536144/qs-promote-wsdl-1.jpg
To create the WSDL, from the Java interface describing the source, press the Interface link.  This will open the Java2WSDL wizard.

The first page of the Java2WSDL wizard is used for specifying the name and location for the WSDL file.  The default values should be appropriate.  Look them over and press Next.

images/author/download/attachments/69536144/qs-java2wsdl-1.jpg
The next page is used for specifying details about the generated WSDL.  The default values should be appropriate, but you may want to modify the Endpoint URI field.  Look the values over and press Finish.

WSDL Endpoint URI

While the Eclipse Web Services Tester allows one to specify service endpoints, for best results, modify the Endpoint URI to match the runtime port, e.g. http://localhost:8080/switchyard-example/ExampleService. This will allow the Web Services Tester to locate the running endpoint directly from the WSDL.

images/author/download/attachments/69536144/qs-java2wsdl-2.jpg

The WSDL file is created and we should be back on the Promote Component Service wizard, which should now be defaulted with details from the newly created WSDL file.  Notice that the Create required transformers button is checked and press Next.

images/author/download/attachments/69536144/qs-promote-wsdl-2.jpg
The next page is the New Transformers page which allows us to create the required transformers.  Notice the two transformer type pairs checked in the table correspond to the input and output types declared on the two interfaces.  Ensure both pairs are checked and Java Transformer is selected as the Transformer Type and press Next.

images/author/download/attachments/69536144/qs-transform-1.jpg
The next page collects information for a new Java class that will be used to implement the transformers.  Specify ExampleServiceTransformers for the name and leave org.w3c.dom.Element selected as the Java type to be used to represent XML/ESB types in the transformer class.  Press Finish.
images/author/download/attachments/69536144/qs-transform-2.jpg
A new composite service promoting the component service should have been added to the SwitchYard configuration.  Save the editor.

images/author/download/attachments/69536144/qs-promote-done-editor.jpg
In addition, there should be a new ExampleServiceTransformers.java file in the workspace.

Select the main shape in the SwitchYard editor and review the contents of the Transforms tab in the Properties view.  The newly added transformers should be listed.

If no transformers are visible in the properties page, try updating the Maven project configuration by right-clicking the project and selecting Maven→Update Project...
There was a bug in earlier versions of the tooling where the project configuration was not setup correctly when creating a new SwitchYard project.

Add a Unit Test For the Tranformers

The next step is to add a unit test to verify the transformer logic.  At the end of this step we will have a unit test that fails (we have configured the transformers, but haven't implemented them).

Open ExampleServiceTest.java and add the following method, which will test the transformers:

ExampleServiceTest.java
	@Test
	public void testSayHelloTransform() throws Exception {
		final QName inputType = QName
				.valueOf("{urn:com.example.switchyard:switchyard-example:1.0}sayHello");
		final QName outputType = QName
				.valueOf("{urn:com.example.switchyard:switchyard-example:1.0}sayHelloResponse");
		// initialize your test message
		Object message = "<sayHello xmlns=\"urn:com.example.switchyard:switchyard-example:1.0\"><string>Bob</string></sayHello>";
		String result = service.operation("sayHello").inputType(inputType)
				.expectedOutputType(outputType).sendInOut(message)
				.getContent(String.class);

		// validate the results
		String control = "<sayHelloResponse xmlns=\"urn:com.example.switchyard:switchyard-example:1.0\"><string>Hello, Bob</string></sayHelloResponse>";
		Assert.assertTrue("Unexpected result: " + result,
				XMLUnit.compareXML(control, result).identical());
	}

Run the test and verify that it fails.

Implement the Transformers

The next step is to implement transformer class created earlier.  Once complete, we will run the unit tests to verify they now pass.

Open ExampleServiceTransformers.java and implement the transformStringToSayHelloResponse() as follows:

ExampleServiceTransformers.java
	@Transformer(to = "{urn:com.example.switchyard:switchyard-example:1.0}sayHelloResponse")
	public static String transformStringToSayHelloResponse(String from) {
		// TODO: properly escape the input string
		return "<sayHelloResponse xmlns=\"urn:com.example.switchyard:switchyard-example:1.0\"><string>"
				+ from + "</string></sayHelloResponse>";
	}

And implement transformSayHelloToString() as follows:

ExampleServiceTransformers.java
	@Transformer(from = "{urn:com.example.switchyard:switchyard-example:1.0}sayHello")
	public String transformSayHelloToString(Element from) {
		return from.getTextContent();
	}

Notice the return type of transformStringToSayHelloResponse() was changed from Element to String. The annotation specifies the to type as sayHelloResponse, but the data is returned as a String. SwitchYard provides low-level transformers for converting XML to/from a variety of Java accessible types (e.g. String, Element, Document, byte[]).

Run the unit tests to verify they now pass.

Add a SOAP Gateway Binding

The next step is to add a gateway binding to the composite service so it may be accessed via a SOAP HTTP.  At this point, our service is only accessible to other SwitchYard applications running on the same server.  We will now enable SOAP clients to access the service.

Add a SOAP endpoint to the service by dragging the SOAP tool under the Bindings section of the tool palette onto the new service.  This will open the new binding wizard.  The default values are acceptable, so review them and press Finish.

images/author/download/attachments/69536144/qs-soap-wizard.jpg
Save the changes made to the switchyard.xml file.  Our application is now configured with a single service, implemented using a Java bean, which is exposed to clients as a SOAP HTTP service.  We have unit tests for the service and transformation logic.  The view of the final state of the project and configuration: images/author/download/attachments/69536144/qs-done-workspace.jpg

Deploy the Project

Now that we have a complete application, we are ready to deploy it into a server.  We will deploy the project into a local runtime instance, which we will configure next.

Open the Servers View and create a new server.

Select JBoss AS 7.1 as the server type.  Press Next.

images/author/download/attachments/69536144/new_server_1.gif

Browse... to the directory containing your SwitchYard runtime installation.  Press Finish.

images/author/download/attachments/69536144/new_server_2.gif

Start the server.

Right-click the project, Run As→Run On Server.  Select the server and press Finish.

Test the Deployed Service

With our application deployed, our service is now available to SOAP HTTP clients.  To verify, we will use the web services tester that ships with Eclipse, but you could use the web services test/debug tool you are most familiar with.

Right-click the WSDL file (ExampleService.wsdl) and select Web Services→Test with Web Services Explorer.  Exercise the service using the tester

images/author/download/attachments/69536144/deploy_test.gif

View Details in the Management Console

Right-click the server in the Servers view and select Show In→Web Management Console.  Refer to the SwitchYard management console documentation for details.

SwitchYard Projects

A SwitchYard project is a Maven based project that contains a switchyard.xml file in the project's META-INF folder, declares one or more SwitchYard runtime dependencies and configures the org.switchyard:switchyard-plugin build plugin.  A SwitchYard project may also contain a variety of resources used to implement the application including, but not limited to: Java, BPMN2, DRL, BPEL, WSDL, XSD, and XML files.

The Eclipse tooling supports the creation of new SwitchYard projects, as well as adding SwitchYard capabilities to existing Maven based projects in the workspace.

Creating a New SwitchYard Project

The tooling provides a new project wizard which creates a new Maven project in your workspace.  The new project contains the following:

  • pom.xml file containing dependencies and build plugin configuration for the selected SwitchYard components.

  • src/main/resources/META-INF/switchyard.xml file, initialized using information from the wizard.

  • beans.xml file in src/main/resources/META-INF/ and src/test/resources/META-INF/ (required to support CDI)

  • folder hierarchy in src/main/java and src/test/java for the default Java package

Upon completion of the wizard, the project will be created and the project's switchyard.xml file will be opened in the SwitchYard editor.

To create a new SwitchYard project, select SwitchYard Project from the SwitchYard category the File→New→Project... wizard.

The first page is a basic new project screen, allowing the user to specify the name and location of the new project:

images/author/download/attachments/69536146/switchyard-project-wizard-1.jpg
The second page allows the user to specify some basic project details, including:

  • The Maven groupId for the project.

  • The target namespace for the SwitchYard application.

  • The default Java package name for the project.

  • The SwitchYard runtime version.

  • The SwitchYard runtime components (e.g. BPM, Camel, SOAP, etc. support) required for the project.

images/author/download/attachments/69536146/switchyard-project-wizard-2.jpg

Press Finish to create the new project.

Configuring SwitchYard Capabilities on Existing Projects

SwitchYard capabilities may be added to any existing Maven project in the workspace.  To add/modify SwitchYard capabilities, simply right-click the project and select, Configure -> SwitchYard Capabilities... A prompt will be displayed asking for confirmation.

If the project is not already a Faceted Project the prompt will ask if you wish to convert the project to use project facets.

If the project does not contain a switchyard.xml file in the project's META-INF folder, one will be creating with the following defaults:

  • name - project's Maven artifactId

  • target namespace - URN URI based on project's Maven groupId and version

These can be modified in the SwitchYard editor.

A property dialog will be displayed, allowing configuration of the SwitchYard runtime required by the project.
images/author/download/attachments/69536146/switchyard-project-properties.jpg
Any changes made will be reflected in the project's pom.xml file (e.g. dependencies, build plugin configuration, SwitchYard version).Unit Testing

The SwitchYard tooling provides support for stubbing out test classes for services.

New Service Test Wizard

This wizard creates a new service test class.  The class is created with a method stub for each operation in the selected service interface.  The method stubs include code for passing a message to the operation and processing the result.  The user needs to initialize the message data and validate the results.  The following illustrates the stubs that are created by the wizard:

SomeServiceTest
@RunWith(SwitchYardRunner.class)
@SwitchYardTestCaseConfig(mixins = CDIMixIn.class, config = SwitchYardTestCaseConfig.SWITCHYARD_XML)
public class SomeServiceTest {

    @ServiceOperation("ExampleService")
    private Invoker service;

    @Test
    public void testSomeInOnlyOperation() throws Exception {
        // TODO Auto-generated method stub
        // initialize your test message
        Object message = null;
        service.operation("someInOnlyOperation").sendInOnly(message);

        // validate the results
        Assert.assertTrue("Implement me", false);
    }

    @Test
    public void testSomeInOutOperation() throws Exception {
        // TODO Auto-generated method stub
        // initialize your test message
        Object message = null;
        String result = service.operation("someInOutOperation")
                .sendInOut(message).getContent(String.class);

        // validate the results
        Assert.assertTrue("Implement me", false);
    }

}

images/author/download/attachments/69536149/qs-new-test-wizard.jpg Workspace Deployment

Workspace Deployment

SwitchYard projects created through the new wizard are created as faceted projects, configured as Utility Modules.  This allows the user to mark the project for deployment to a JEE server.

SwitchYard capabilities may be added to any existing JEE project type.  In those instances, deployment will be facilitated by the specific JEE project type (e.g. EJB, Web, etc.).

It is up to the user to ensure the server has the SwitchYard runtime installed.

Forge

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

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.

Administration Console

Overview

The SwitchYard management console is integrated with the standard JBoss AS management console and provides the following:

  • A view of the applications and services deployed on the server.

  • A view of various execution metrics.

  • A view of the SwitchYard subsystem configuration.

SwitchYard contributes views to the standard JBoss AS management console's Runtime and Profile pages.

Metrics Views

SwitchYard Message Metrics can be accessed on the Runtime page of the AS console under Status -> Subsystems -> SwitchYard.  This page provides a view of a comprehensive set of metrics aggregated at various levels within the system.

The following types of metrics are available:

  • Message count: total, success, failed

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

Collected metrics can be viewed at the following levels:

  • System : metrics for the entire SwitchYard runtime (all deployed applications)

  • Service : metrics for a composite service in an application. Additional metric details are provided for the following:

    • Gateway: metrics for each binding on the service (e.g. FTP metrics for service "ABC")

    • Operation: metrics for each operation on the service

    • Service Reference : metrics for references invoked by the service

  • Reference : metrics for a composite reference in an application.  Additional metric details are provided for the following

    • Gateway : metrics for each binding on the reference (e.g. FTP metrics for reference "ABC")

    • Operation : metrics for each operation on the reference

This page also provides the user with the ability to reset metrics at various levels.

images/author/download/attachments/69536163/metrics.jpg

Application Views

SwitchYard contributes a page to the Runtime Operations section which provides views detailing various aspects of SwitchYard applications running on the system.  These views may be accessed on the Runtime page of the AS console by selecting Runtime Operations -> SwitchYard.  The following views are provided:

  • Applications: lists all SwitchYard applications deployed on the server

  • Services: lists all Services provided by the applications deployed on the server

  • References: lists all service References used by applications deployed on the server

  • Artifacts: lists all artifacts referenced by applications deployed on the server

Applications

The main Applications tab displays all the applications deployed on the server.  Selecting a particular application in the list will populate the Application Details section below the list.  The following details are provided:

  • Services: services provided by the application.  Selecting a service will open the main Services tab, displaying details for the service.

  • References: services used by the application.  Selecting a reference will open the main References tab, displaying details for the reference.

  • Properties: properties defined in the application.  The properties may also be edited within this view.

  • Artifacts: artifacts referenced by the application.  Selecting an artifact will open the main Artifacts tab, displaying details for the artifact.

  • Transformers: transformers configured in the application.

  • Validators: validators configured in the application.

images/author/download/attachments/69536163/console-apps.jpg

Services Tab

The Services tab displays information about the services provided by the application.  This information includes the services provided by the application and the component services used to implement the services.

The Services table displays the services provided 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 open the main Services page displaying details for that service.  Clicking on an item in the Promoted Service column will highlight the corresponding item in the Component Services table below.

The Component Services table displays the component services defined in the application.  This table provides the following details:

  • Name: the name of the component service

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

  images/author/download/attachments/69536163/console_app_services.jpg

References Tab

The References tab lists all the composite references used by the application.

images/author/download/attachments/69536163/console_app_references.jpg

Properties Tab

The Properties tab provides a list of properties defined in the application.  In addition to viewing the properties, this page may be used to update the values for individual properties.

images/author/download/attachments/69536163/console_app_properties.jpg

Artifacts Tab

The Artifacts 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 location of the artifact

Clicking on an item in the table will navigate to the main Artifacts page.

images/author/download/attachments/69536163/console_app_artifacts.jpg

Transformers Tab

The Transformers tab provides details about the transformers deployed by the application, 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.).

  images/author/download/attachments/69536163/console_app_transformers.jpg

Validators Tab

The Validators tab provides details about the validators deployed by the application, providing the following details:

  • Name: the name of the validator.

  • Type: the type of the validator.

  images/author/download/attachments/69536163/console_app_validators.jpg

Services

The main Services tab displays all services provided by the deployed applications.  Selecting a specific service will populate the Service Details section below the list.  Details displayed include:

  • Name: the service name

  • Namespace: the namespace within which the service is defined

  • Application: the application providing the service (this links to the main Applications tab)

  • Interface: the interface provided by the service.

  • Promoted Service: the component service implementing the service.

  • Gateways: lists the gateways providing access to the service.

  • Throttling: throttling configuration for the service

  images/author/download/attachments/69536163/console_services.jpg

Gateways Tab

The Gateways tab in the details section provides the following information for each of the gateways provided for the service:

  • Name: the name of the gateway

  • Type: the type of the gateway (e.g. SOAP, HornetQ, etc.)

  • Status: the status of the gateway (e.g. started, stopped)

  • Start/Stop: starts or stops the gateway

  • Configuration: opens a dialog displaying the raw configuration for the gateway

  images/author/download/attachments/69536163/console_gateways.jpg

Throttling Tab

The Throttling tab in the details section allows the user to view throttling details for the service.

  • Edit: switch to edit mode, allowing the user to change the throttling configuration.

  • Enable: enable/disable throttling for the service

  • Maximum Requests: the maximum number of requests per period before throttling occurs

  • Time Period: the time period over which requests are counted (cannot be edited)

  images/author/download/attachments/69536163/console_throttling.jpg

References

The main References tab displays all service references used by the deployed applications.  Selecting a specific reference will populate the Reference Details section below the list.  Details displayed include:

  • Name: the name of the reference

  • Namespace: the namespace within which the reference is defined

  • Application: the application containing the reference (this links to the main Applications tab)

  • Interface: the interface provided by the reference.

  • Gateways: lists the gateways through which the reference is accessed.

The Gateways section provides the following information for each of the gateways configured for the reference:

  • Name: the name of the gateway

  • Type: the type of the gateway (e.g. SOAP, HornetQ, etc.)

  • Status: the status of the gateway (e.g. started, stopped)

  • Start/Stop: starts or stops the gateway

  • Configuration: opens a dialog displaying the raw configuration for the gateway

images/author/download/attachments/69536163/console_references.jpg

Artifacts

The main Artifacts tab 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 main Applications tab.

images/author/download/attachments/69536163/console_artifacts.jpg

Subsystem Configuration View

SwitchYard contributes an additional view to the standard JBoss AS management console's Profile page, which can be accessed by selecting the Subsystems -> SwitchYard -> Runtime Details node.  This page displays details about to the SwitchYard subsystem configured in the AS configuration profile.

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 lists any configurable properties and their current settings.

  images/author/download/attachments/69536163/console_subsystem.jpg

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

The easiest way to install the BPEL console is to download the SwitchYard installer and then run :

ant install-bpel-console

You will then be prompted for the location of your EAP installation, and the Installer will place the necessary WAR files in EAP.HOME/standalone/deployments.  

Alternatively, you can just simply copy the switchyard-bpel-console.war folder and switchyard-bpel-console-server.war from the Tools distribution into the EAP_HOME/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:53:57 UTC, last content change 2013-07-29 21:30:22 UTC.