LibraryPrintFeedback

Using Fuse IDE

Version 2.1

March 2012
Trademark Disclaimer
Third Party Acknowledgements

Updated: 09 Oct 2012

Table of Contents

1. Licensing Fuse IDE
I. Application Development
2. Design Time Tools
The Fuse IDE route editor
Creating projects, routes, and test cases
Exercising routes
3. Creating a New Fuse IDE Project
4. Creating a New Camel XML file
5. Editing a routing context in the route editor
Adding routes to the routing context
Adding patterns to a route
Drag and drop a pattern
Using the context menu
Connecting patterns to make a route
Configuring a pattern
Rearranging patterns on the canvas
Rearranging patterns by dragging them
Automatically aligning patterns
Removing patterns from a route
Disconnecting two patterns
Deleting a route
Adding beans and configuration
Configuring the Fuse IDE route editor
6. Creating a new Apache Camel JUnit test case
7. The Source View
8. Running routes inside Fuse IDE
Running routes using Maven
Running routes as a local Camel context
Working with runtime profiles
Editing a Local Camel Context runtime profile
Editing a Maven runtime profile
9. Deploying Projects to a Container
Using a Container's Deploy Folder
Configuring a Container's Deploy Folder
Deploying a Project to a Container's Deploy Folder
Deploying a Project to a JMX Connected Container
Deploying a Project to a Fabric Container
II. Debugging
10. Debugging tools
The Fuse Integration perspective
Infrastructure monitoring
Route debugging
JMS browsing
11. Opening the Fuse Integration Perspective
12. The JMX Explorer
Viewing Processes in JMX
Adding a JMX server
13. Viewing a component's properties
14. Browsing messages
15. Tracing messages through routes
Creating test messages for route tracing
Activating route tracing
Tracing messages through a route
Deactivating route tracing
16. Managing JMS destinations
Adding a JMS destination
Deleting a JMS destination
17. Managing routing endpoints
Adding a routing endpoint
Deleting a routing endpoint
18. Editing running routes
19. Managing routing contexts
Suspending a routing context
Resuming a routing context
Shutting down a routing context
20. Managing servers
Adding a Server
Starting a Server
Stopping a Server
Deleting a Server
III. Working with Fabrics
21. The Fuse Fabric perspective
22. Setting up a Fabric Environment
23. Specifying and Connecting to a Fabric
Adding fabric details
Connecting to a fabric
Disconnecting from a fabric
Editing a fabric's details
Deleting a fabric's details
24. Working with Fabric Containers
Creating a new child container
Creating a container on a remote host
Creating a new container on a cloud
Starting a container
Changing a Container's Profiles
Stopping a container
Deleting a container
25. Working with Fabric Profiles
Creating a new profile
Deleting a profile
26. Working with Versions
Creating a new version of a profile
Setting a container's version
27. Creating a Fabric in the Cloud
Adding cloud details
Specifying fabric details
A. Wizard field references
New Camel XML File — Creates a new XML file for editing routes with the route editor
New Fuse Project — Creates a new Fuse IDE project
New Fuse Project — Creates a new Fuse IDE project
New Fuse Message — Creates a new message to use in route tracing
Camel JUnit Test Case — Configures the JUnit artifacts created to test a Apache Camel route.
Test Endpoints — Lists the endpoints that can be tested by a JUnit test case.
Define a New Server — Defines a new server instance.
New Server Configuration — Configures access details for the server.
Add and Remove — Specifies the resources available to a server.
Fabric Details — Specifies information needed to connect to a fabric.
Create Child Container — Specifies information needed to create a container on the local host.
Create Container via SSH — Specifies information needed to create a container on a remote host.
Create Container in a Cloud — Specifies information needed to create a container in a cloud.
Create Version — Specifies the identifier for the new version of the fabric's profiles.
Cloud Details — Specifies information needed to connect to a cloud.
Create Fabric in the Cloud — Specifies information needed to create a fabric in a cloud.
B. Fuse IDE preferences
Deploy Folders — Configures the hot deployment folders for the containers into which routes can be deployed.
Editor — Sets the default value for some route editor properties.
JMX Explorer — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties view
Tools — Configures the monitoring of local JMX servers and how information is displayed in the Fuse perspective's Properties panel

List of Figures

2.1. Fuse IDE route editor
2.2. Properties editor's error reporting
3.1. New Fuse IDE Project Wizard's Project Location Page
3.2. New Fuse IDE Project wizard's details page
4.1. Camel XML File wizard
6.1. New Camel JUnit Test Case wizard
6.2. New Camel JUnit Test Case page
7.1. Source view
8.1. Runtime configuration editor for Local Camel Context
8.2. Runtime configuration editor for Maven
10.1. Fuse Integration perspective
12.1. JMX Explorer
21.1. Fuse Fabric perspective
23.1. Fabric Details wizard
24.1. Create Child Container wizard
24.2. Create Container via SSH wizard
24.3. Create Container in a Cloud/Choose the Cloud page
24.4. New Containers Details page
24.5. Container status in Properties view
24.6. Container status in Properties view
24.7. Container selected for deletion in Properties view
25.1. Accessing the profiles
25.2. Create Profile dialog
25.3. Profiles page
27.1. Cloud Details wizard
27.2. Fabric Details page

List of Tables

24.1. Container startup status
A.1. New Camel XML File properties
A.2. New Fuse IDE project: select project location properties
A.3. New Fuse IDE project: select project archetype and specify its details properties
A.4. Fuse Message File properties
A.5. Camel JUnit properties
A.6. Test Endpoint properties
A.7. New Server properties
A.8. Server Configuration details properties
A.9. Add and Remove properties
A.10. Fabric Details properties
A.11. Create Child Container properties
A.12. Create Container via SSH properties
A.13. Create Container in a Cloud:New Containers details properties
A.14. Create Version properties
A.15. Cloud Details properties
A.16. Create Fabric in a Cloud:Fabric details properties
B.1. Deployment folder properties
B.2. Editor Properties
B.3. Monitor Properties
B.4. Tools Properties

Fuse IDE simplifies and streamlines the process of developing integration applications. It is specifically designed to work with:

Fuse IDE has tools that streamline the process at all stages of application development:

To create a Fuse IDE project:

  1. Select File|New|Fuse Project to open the New Fuse IDE Project wizard shown in Figure 3.1.


    The wizard opens with the Use default workspace location option selected on the location page.

  2. Specify the location where the data for the project will be stored.

  3. If you want to add the new project to an Eclipse working set, select Add project(s) to working set and enter the name of the working set.

  4. Click Next button to open the New Fuse IDE Project details page shown in Figure 3.2.


  5. Select a project type from the list.

    [Note]Note

    The Fuse IDE route editor works with the following project types:

    • camel-archetype-activemq

      Creates a new Apache Camel project that configures and interacts with Apache ActiveMQ.

    • camel-archetype-blueprint

      Creates a new Apache Camel project with support for OSGi blueprint.

    • camel-archetype-spring

      Creates a new Apache Camel project with added support for Spring DSL.

    • camel-archetype-spring-dm

      Creates a new Apache Camel project with added support for Spring Dynamic Modules.

  6. Enter a group ID for the project in the Group Id field.

    Fuse IDE uses the group ID to form the first part of the dot-separated package name. For example, if you enter Demo for the group ID, it appears in the Package field as Demo..

  7. Enter an artifact ID for the project in the Artifact Id field.

    Fuse IDE uses the artifact ID as the name of the project and to form the second part of the dot-separated package name. For example, if you enter BigRoute for the artifact ID, it appears in the Package field as Demo.BigRoute.

  8. Enter a version for the project in the Version field.

  9. If you want to change the package name generated for the artifacts, enter the new package name in the Package field.

  10. Click Finish to create the Maven project, which contains starting point artifacts.

[Tip]J2SE-1.5 execution environment

The new project may generate with a Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment. warning. To resolve the warning, you need to remove the J2SE-1.5 JRE library from the build path and replace it with a Java 6 JRE library.

Developing a Apache Camel application typically consists of the following tasks:

  1. Adding one or more routes to the routing context.

  2. Adding a starting point pattern to a route.

  3. Adding one or more endpoint patterns to a route.

  4. Adding one or more processor patterns that represent how messages will be transformed and routed between the starting point and endpoint(s).

  5. Connecting the patterns (referred to as nodes once they are placed on the canvas).

  6. Configuring the details for each of the endpoints and processors that make up the route.

  7. Adding any configuration beans to the context.

Routes consist of a sequence of connected patterns, referred to as nodes once they are placed on the canvas. To add a pattern to a route you can either:

Both methods provide access to all of the available patterns. Dragging patterns from the pallet and dropping them onto the canvas is an easy and convenient way to add multiple patterns to the canvas quickly. Using a node's context menu, you can add and automatically connect a pattern to the node.

As your route grows and changes, you'll likely need to change how it is laid out on the canvas. Changing the layout does not change the underlying DSL, but it does make it easier to visualize the route.

Fuse IDE provides two ways to rearrange the patterns on the canvas:

To drag a node to a new location on the canvas:

[Tip]Tip

You can also rearrange the connectors between nodes to accommodate increasing numbers of patterns on the canvas. Clicking a connector joining two nodes on the canvas reveals a line segmented by a bendpoint. You can click-drag the bendpoint to another location on the canvas while leaving the two nodes in place. Click-dragging a bendpoint creates two new bendpoints on either side of it, further segmenting the connector. This feature makes it easy to organize the nodes in a complex route for visual clarity.

To create a new JUnit test case for your route:

The artifacts for the test are added to your project and appear in Package Explorer under src/test/java. The class implementing the test case opens in the Java editor.

There are two basic ways to run your routes using Fuse IDE:

Fuse IDE stores information about the runtime environments for each project in runtime profiles. The runtime profiles keep track of such information as which Maven goals to call, the Java runtime environment to use, any system variables that need to be set, and so on. A project can have more than one runtime profile.

[Important]Subscription Only

This feature is available only to FuseSource subscribers.

[Important]Subscription Only

This feature is only available to FuseSource subscribers.

Fuse IDE's Deploy to... tool() makes deploying applications into containers a one step process.

Fuse IDE supports direct deployment into the following containers:

  • Fuse ESB Enterprise

  • Apache ServiceMix

  • Apache Karaf

There are three ways to deploy Fuse IDE projects into a container:

  • into a container's deploy folder

    The package generated by the Fuse IDE project is copied into the container's deploy folder. This method has two drawbacks:

    • Fuse IDE does not verify that the project builds a package that is compatible with the target container.

    • Fuse IDE does not provide feedback as to whether the deployment succeeds or fails.

  • to a JMX connected container

    Fuse IDE builds the project, and, regardless of the packaging specified in the project's POM, installs the generated artifacts as a bundle. You can use the JMX Explorer to determine if the project deploys successfully.

  • to a fabric profile

    Fuse IDE builds the project, packages the generated artifacts into a bundle, adds the bundle to the profile, and copies the bundle into the fabric's internal repository.

    [Important]Important

    If the profile is not assigned to a running container the project will not be deployed into the fabric. You will need to assign the profile to a running container before you can see the project running.

[Tip]Tip

You can deploy a project by dropping it onto a connected container in JMX Explorer, or onto a fabric profile in Fabric Explorer.

When Fuse IDE deploys a project into a container's deploy folder, it builds the project as specified in the project's POM and copies the resulting package to a predetermined location. Fuse IDE assumes two things:

Before you can deploy a project to a container's deploy folder you must add the container's deployment information to Fuse IDE. Once Fuse IDE knows the container's information, the container will appear as an option in the Deploy To... menu.

To deploy a project to a fabric container:

  1. Open the Fuse Integration perspective.

  2. In Fabric Explorer, expand the Fabrics node.

  3. Double-click a fabric to connect to it.

  4. Create a new profile in which you will install your project.

    Follow the steps in Creating a new profile up to Step 6.

    The new profile appears in Fabric Explorer in the profile tree.

  5. In Project Explorer, select the project you want to deploy.

  6. Open the project's context menu.

  7. Select Deploy to...|fabric|version to see the list of available profiles.

  8. From the list of profiles, select the profile that you created in Step 4.

  9. Verify that the application's bundle was added to the profile.

    1. In Fabric Explorer, click the profile into which the project was installed.

      This will populate the Properties view with the profile's details.

    2. In Properties view, click the Details tab.

    3. Check that your project's bundle appears in the Bundles or FABs field.

  10. If you do not already have a container deployed into the fabric for testing your application, create a new container in the fabric.

    Follow the procedure appropriate for the container in Working with Fabric Containers.

    The new container appears in Fabric Explorer, under the fabric's Containers node.

  11. Assign the profile containing your application to a container in the fabric.

    Follow the procedure in Changing a Container's Profiles.

  12. Verify that the application was deployed to the container.

    1. In Fabric Explorer, double-click the new container to start it and to populate Properties view with its properties and profile information.

    2. In Fabric Explorer, click the container's Bundles node to view the list of bundles installed on it.

The Fuse Integration perspective provides access to all of the Fuse IDE debugging tools. It contains all of the views used to monitor and debug Fuse integration projects including:

The JMX Explorer, shown in Figure 12.1, displays all of the processes running in your application and can be used to drive all of your interactions with Fuse IDE's debugging features. Other areas of the Fuse Integration perspective adapt to display information relative to the node selected in the explorer. The explorer's context menu also provides the commands needed to activate route tracing and add JMS destinations.


By default the JMX Explorer discovers all of the JMX servers running on the local machine and lists them under the Local Processes tree. You can add other JMX servers using the servers JMX URL.

Debugging a route usually involves solving one of two problems:

  • a message was improperly transformed

  • a message failed to reach its destination endpoint

Tracing one or more test messages through the route is easiest way to solve these problems.

Fuse IDE's route tracing feature enables you to monitor the path a message takes through a route and how the message is transformed as it passes from processor to processor.

Diagram View displays a graphical representation of the route, which enables you to see the path a message takes through it. For each processor in a route, it also displays the average processing time, in milliseconds, for all messages processed since route start-up and the number of messages processed since route start-up.

Messages View displays the messages processed by a JMS destination or route endpoint selected in the JMX Explorer tree. Selecting an individual message in Messages View, displays the full details and content of the message in the Properties view.

Tracing messages through a route involves the following steps:

  1. Create one or more test messages.

  2. Activate route tracing on the route's routing context.

  3. Trace the test messages as they pass through the route.

  4. Deactivate route tracing on the route's routing context.

To trace messages through a route:

  1. Create one or more test messages as described in Creating test messages for route tracing.

  2. Activate tracing for the route's routing context as described in Activating route tracing.

  3. Drag one of the test messages onto the route's starting point.

  4. In the JMX Explorer tree, select the route being traced.

    The Messages View is populated with a list of messages representing the message at each stage in the traced route.

  5. Open Diagram View to see a graphical representation of the selected route.

  6. In the Messages View, select one of the messages.

    In Diagram View, the route step in which the selected message is sitting is highlighted. The Properties view displays the full details and content of the test message.

You can repeat this process as needed.

When you are finished debugging the routes in a routing context, you should deactivate tracing for the routing context.

[Important]Important

Deactivating tracing stops tracing and flushes the trace data for all of the routes in the routing context. This means that you cannot review any past tracing sessions.

To stop tracing for a routing context:

  1. In the JMX Explorer tree, select the routing context for which you want to deactivate tracing.

    [Tip]Tip

    You can select any route in the context to stop tracing for the context.

  2. Right-click it to open the context menu, and then select Stop Tracing Context.

    [Tip]Tip

    If Start Tracing appears on the context menu, tracing is not activated for the routing context.

Fuse IDE's JMX Explorer enables you to easily suspend, shutdown, and resume routing contexts.

Fuse IDE's Servers panel enables you to deploy and manage servers in your Eclipse environment. Fuse IDE supports deploying the following servers:

  • Fuse ESB Enterprise 7.x Server

  • Apache Karaf 2.x Server

  • Apache ServiceMix 4.x Server

A fabric is a distributed configuration, provisioning, and clustering mechanism for running FuseSource projects on multiple computers in an on-premises or public Cloud. You can view and edit fabrics, and the containers, versions, and profiles of which they consist. You can also create and delete containers and profiles, but you can only create versions.

[Important]Subscription Only

This feature is available only to FuseSource subscribers.

The Fuse Fabric perspective, shown in Figure 21.1, is where you access the fabric development and debugging tools.


The Fuse Fabric perspective consists of six main areas:

  • Fabric Explorer—lists the fabrics and the containers, profiles, and versions of which they consist.

  • Diagram View—provides a graphical representation of a node selected in Fabric Explorer.

  • Shell— provides console access to any container running on the fabric.

  • Log view—lists the log entries of the selected container or the selected JMX process.

  • Messages View—lists the message instances that passed through the nodes in a selected route, after tracing was enabled on the route.

  • Properties view—displays the properties of an object selected in Fabric Explorer.

Before you can view and edit your fabric, you must add it to the Fabric Explorer view. You can add multiple fabrics in Fuse Fabric perspective and connect to them concurrently.

  1. In Fabric Explorer, select the fabric whose details you want to edit, and right-click it to open the context menu.

  2. Select Edit Fabric details to open the Fabric Details dialog, as shown in Figure 23.1.

  3. In Name, enter a new name for the fabric, if necessary.

  4. In URLs, enter the new url of the fabric, if necessary.

  5. In User name, enter a name with which the new user will log into the selected fabric, if necessary.

  6. In Password, enter the new password to use for logging into the selected fabric, if necessary.

  7. Click OK.

To create a container on a remote host, the remote host machine must be ssh-enabled.

[Note]Note

Creating a container via ssh on a remote Windows machine is not supported.

To create a new container on a remote machine:

  1. If necessary, in Fabric Explorer, expand the tree of the fabric for which you want to create the new remote container.

  2. Right-click Containers to open the context menu, and then select Create a new container via SSH.


    [Tip]Tip

    An error icon (error icon) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected.

  3. In Container name, enter a name for the new container.

    We recommend that you replace the default name with a meaningful name that identifies the container's role or function.

  4. If multiple versions exist, you can select one from the Version drop-down list. Otherwise, accept the default value.

  5. In Host, enter the name or the IP address of the remote host.

  6. In User name, enter the name of a user authorized to log into the remote host.

  7. In Password, enter the user's password.

  8. In Path, enter the path of the new container's location on the remote host.

  9. In Port, accept the default port number (22), or enter a new port number to use for establishing an ssh connection on the remote host.

  10. In SSH retries, accept the default number of retries (5), or enter the maximum number of retries to attempt at establishing an ssh connection on the remote host.

  11. In Retry delay, enter the delay, in milliseconds, between retry attempts.

  12. Under Profiles, click the checkbox next to the profile or profiles you want to assign to the container.

    Profiles determine the function of a container; what applications it runs. You can assign multiple profiles to a container, as long as the applications they install do not conflict with one another.

    [Note]Note

    Do not assign a base profile (one ending in -base) to a container.

  13. Click OK.

    The new container appears in Fabric Explorer as a container node under Containers

    [Tip]Tip

    Selecting the new container in Fabric Explorer populates its Profiles and Profile Details pages in Properties viewer.

To create a new container on a cloud:

  1. In Fabric Explorer, right-click anywhere, except on Clouds or Fabrics, to open the context menu.

  2. Select Create a new container on the cloud to open the Create Container in a Cloud wizard.


    [Tip]Tip

    Unless the connection details for a cloud have already been added to Fuse IDE, this dialog opens devoid of selections. You can add a cloud's connection details now by clicking Add Cloud details and following the procedure in Adding cloud details.

  3. Select a cloud from the list, and click Next to open the New Containers Details page.


    [Tip]Tip

    An error icon (error icon) marks required fields that lack a valid value, and the dialog banner displays the number of errors detected.

  4. In Container name, enter a name for the new container.

    We recommend that you replace the default name with a meaningful name that identifies the container's role or function.

  5. If multiple versions exist, you can select one from the Version drop-down list. Otherwise, accept the default version.

  6. In Group, enter the group in which to start up the new container.

  7. In User, enter the name of the user who is authorized to login to the new container.

  8. In Location ID, select from the drop-down list the region in which the machines you want to use are located.

  9. In Hardware ID, select from the drop-down list the ID of the hardware archetype to use.

    Hardware archetypes specify the amount of memory and compute power available for running applications on machine images.

    [Important]Important

    The next three fields provide two methods for specifying the software configuration (operating system, application server, and applications) you want to use. Either select an OS Family (and optionally a version), or select an Image ID.

  10. In OS Family, select from the drop-down list the family name of the operating system you want to use.

    If you select an OS Family, do not also select an Image ID.

  11. In OS Version, optionally select from the drop-down list the version for the operating system you selected.

  12. If you selected an OS Family, skip this step. Otherwise, in Image ID, select from the drop-down list the ID of the image template to use for the software configuration.

    [Note]Note

    Fuse Fabric starts an instance of the image in the cloud. Then it installs a fabric agent and provisions the new agent with the selected profiles. Depending on the cloud provider, instantiation and provisioning could take some time.

  13. Under Profiles, click the checkbox next to the profile or profiles you want to assign to the container.

    Profiles determine the function of containers; what applications they run. You can assign a container multiple profiles, as long as the applications they install do not conflict with one another.

    [Note]Note

    Do not assign a base profile (one ending in -base) to a container.

  14. Click OK.

    The new container appears in Fabric Explorer as a container node under Containers

    [Tip]Tip

    Selecting the new container in Fabric Explorer populates its Profiles and Profile Details pages in Properties viewer.

Profiles are applied to fabric containers, and they determine the function and behavior of these containers. A profile consists of code and configurations, which specify the type of service or application a container runs. The code may come from OSGi bundles, Fab Application Bundles (see, Fab Deployment Model), and Karaf features pulled from repositories, also specified in the profile. Defined hierarchically, profiles can be set up to inherit from other profiles, building on their parents' definitions.

To create a new profile:

  1. In Fabric Explorer, expand the fabric in which you want to create a new profile.

  2. Expand the fabric's tree to the level of the profiles, as shown in Figure 25.1.


  3. Select the profile on which you want to base the new profile, and right-click it to open the context menu.

    [Tip]Tip

    Because the base profile is the parent of the new profile, the new profile inherits the base profile's configurations, properties, features, repositories and bundles as well as those of the base profile's ancestors. However, a child's configurations override an ancestor's when their configuration files have the same name.

    [Note]Note

    Neither configuration files nor properties are visible within Fuse IDE, but you can view them in Fuse Management Console. For details, see the Fuse Management Console documentation.

  4. Select Create a new Profile.


  5. In Profile name, enter a name for the new profile.

    Use a name that is descriptive of the new profile's function.

  6. Click OK to create and save the new profile.

    The new profile is added to the list of profiles in Fabric Explorer, under its parent profile.

  7. In Fabric Explorer, select the new profile to populate the Properties editor with the new profile's properties information and profile details.

  8. In the Properties editor, click the Details tab.


    On the Profiles page, you can add, delete, or edit features, the repositories from which features are downloaded, and bundles. You can also or add or remove parent profiles. Profiles can have multiple parents, and they inherit the qualities of each

    Features are files that aggregate references to interdependent or related bundles that together define a feature. Typically, you'd use bundles only if the feature they define is not already included in a features file. For more information on bundles and features, see Fuse ESB Enterprise Deploying into the Container.

    Child profiles inherit everything (configurations, properties, features, repositories, and bundles) from their immediate parents and from all of their parents' ancestors. When the child's and any ancestor's configuration file have the same name, the child's configuration file replaces the ancestor's file. Otherwise, configurations are cumulative.

    [Tip]Tip

    The Profiles page displays only the features, repositories, and bundles added by the child profile, not those contributed by the profile's parents or other ancestors. The Parents pane shows (checkbox checked) the profile's immediate parents only.

  9. Make the changes you want to the new profile to configure it.

    Changes are automatically saved as you make them.

    [Tip]Tip

    In Fuse Integration perspective, you can easily add a Fuse IDE project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Explorer. When you do, Fuse IDE builds the project, runs all tests, installs the project in the new profile, and uploads the profile into the fabric's internal Maven repository. Because profiles are stored in a fabric's internal repository, they cannot be shared across other fabrics.

    [Note]Note

    If you drop your project on a fabric container, rather than on a profile, the next time that container gets provisioned, your project is wiped out.

    You can now assign the new profile to a container.

  10. In Fabric Explorer, select the container to which you want to assign the new profile.

    Fuse IDE populates the Properties editor with the container's properties information and profile details.

  11. Open the container's Details tab, and then select the new profile in the Profiles list.

    Repeat Step 10 and Step 11 for each container to which you want to assign the new profile.

Versioning provides the means for safely rolling out upgrades of the profiles deployed and running in containers across a fabric. Using versioning, you can make incremental updates to existing profiles, and then test them out on small groups of containers. When you've completed and tested the final versions, you can confidently deploy them to their target containers in the fabric.

To create a new version:

  1. In Fabric Explorer, select the fabric in which you want to create a new version.

  2. Expand the fabric's tree to the level of Versions, shown in Creating a new profile.

  3. Select a version, and then right-click it to open the context menu.

  4. Select Create Version.

  5. In the Create Version wizard, enter a new version or accept the default value.

    The default version is always a minor increment of the highest-numbered version. So, if the highest-numbered version is 1.3, the new version will default to 1.4, and all of the profiles in version 1.3 will be copied into version 1.4.

    [Important]Important

    Version names are important! Fuse IDE sorts version names based on the numeric version string, according to major.minor numbering, to determine the version on which to base a new one. You can safely add a text description to a version name as long as you append it to the end of the generated default name like this: 1.3<.description>. If you abandon the default naming convention and use a textual name instead (for example, Patch051312), the next version you create will be based, not on the last version (Patch051312), but on the highest-numbered version determined by dot syntax.

  6. Click OK.

    Fuse IDE copies all of the base version's profiles into the new version and displays the new version in Fabric Explorer, directly under the base version.

To modify a profile in the new version:

  1. In Fabric Explorer, expand the newly created version.

  2. Select a profile that you want to modify.

    Fuse IDE populates the Properties editor with the profile's details for you to edit.

  3. In the Properties editor, click the Details tab to access the Profiles page.

  4. Make the changes you want to the new profile to configure it.

    Changes are automatically saved as you make them.

    [Tip]Tip

    In Fuse Integration perspective, you can easily add a Fuse IDE project to the new profile by dragging it from Project Explorer and dropping it onto the new profile in Fabric Explorer. When you do, Fuse IDE builds the project, runs all tests, installs the project in the new profile, and uploads the profile into the fabric's internal Maven repository. Because profiles are stored in a fabric's internal repository, they cannot be shared across other fabrics.

To create a fabric on a cloud, you need to

  • Have established an account with a cloud provider

  • Provide Fuse IDE the account details for connecting to the cloud

  • Specify the details required for creating the fabric and the machine image on which it will run

After you've added the access information that Fuse IDE needs to connect to a cloud, you can create a fabric on the cloud. This procedure assumes that you have already added the cloud details.

To create a fabric on a cloud:

  1. In Fabric Explorer, right-click Fabrics to open the context menu, and then select Create Fabric in the cloud.

  2. On the Create Fabric in the cloud wizard's Choose the Cloud page, select the cloud from the list, and then click Next to open the wizard's Fabric Details page.


    [Tip]Tip

    You may have to wait a few seconds while Fuse IDE retrieves the location, hardware, and image IDs from your cloud provider to populate the wizard's corresponding fields.

  3. In Fabric Name, accept the default name, or enter a different name for the new fabric.

  4. In Container name, accept the default name, or enter a different name for the new container that will host the fabric registry.

  5. In Group, accept the default name, or enter a different name for the group in which to start up the new fabric registry container.

  6. In User, accept the default name, or enter a different user name to use for logging into the new fabric registry container.

  7. In Location ID, select from the drop-down list the ID of the region in which the machines you want to use are located.

  8. In Hardware ID, select from the drop-down list the ID of the hardware archetype you want to use.

    Hardware archetypes specify the amount of memory and compute power available for running applications on machine images.

    [Important]Important

    The next three fields provide two methods for specifying the software configuration (operating system, application server, and applications) you want to use. Either select an OS Family (and optionally a version), or select an Image ID.

  9. In OS Family, select from the drop-down list the family name of the operating system you want to use.

    If you select an OS Family, do not also select an Image ID.

  10. In OS Version, optionally select from the drop-down list the version for the operating system you selected.

  11. If you selected an OS Family, skip this step. Otherwise, in Image ID, select from the drop-down list the ID of the image template to use for the software configuration.

  12. In Maven proxy URI, accept the default URI, or enter the URI to the Maven proxy repository you want to use.

  13. Click Finish.

    Fuse IDE creates the container, then provisions it with all of the bundles, features, and profiles required to create a fabric registry. This process can take up to ten minutes. When it's done, the container specified in Step 4 appears in Fabric Explorer as a node under Fabrics.

    [Tip]Tip

    It's a good idea to access your cloud account and verify that the new fabric registry container is up and running.

New Camel XML File — Creates a new XML file for editing routes with the route editor
New Fuse Project — Creates a new Fuse IDE project
New Fuse Project — Creates a new Fuse IDE project
New Fuse Message — Creates a new message to use in route tracing
Camel JUnit Test Case — Configures the JUnit artifacts created to test a Apache Camel route.
Test Endpoints — Lists the endpoints that can be tested by a JUnit test case.
Define a New Server — Defines a new server instance.
New Server Configuration — Configures access details for the server.
Add and Remove — Specifies the resources available to a server.
Fabric Details — Specifies information needed to connect to a fabric.
Create Child Container — Specifies information needed to create a container on the local host.
Create Container via SSH — Specifies information needed to create a container on a remote host.
Create Container in a Cloud — Specifies information needed to create a container in a cloud.
Create Version — Specifies the identifier for the new version of the fabric's profiles.
Cloud Details — Specifies information needed to connect to a cloud.
Create Fabric in the Cloud — Specifies information needed to create a fabric in a cloud.
Deploy Folders — Configures the hot deployment folders for the containers into which routes can be deployed.
Editor — Sets the default value for some route editor properties.
JMX Explorer — Configures the monitoring of local JMX servers and how information is displayed in the Fuse Integration perspective's Properties view
Tools — Configures the monitoring of local JMX servers and how information is displayed in the Fuse perspective's Properties panel