Introduction to Fuse IDE

Version 2.1

March 2012
Trademark Disclaimer
Third Party Acknowledgements

Updated: 09 Oct 2012

Table of Contents

1. Overview of Fuse IDE
Design Time
Managing a Distributed Test Environment
Using Fuse IDE
2. Fuse Fabric
3. Design Time Tools
The Fuse IDE route editor
Creating projects, routes, and test cases
Exercising routes
4. Debugging tools
The Fuse Integration perspective
Infrastructure monitoring
Route debugging
JMS browsing
5. The Fuse Fabric perspective

List of Figures

2.1. A Fabric
3.1. Fuse IDE route editor
3.2. Properties editor's error reporting
4.1. Fuse Integration perspective
5.1. Fuse Fabric perspective

Fuse IDE is a graphical design and test environment for integration applications. It provides tool that simplify all phases of application development. The key tools include:

  • template based project creation

  • visual route editor

  • container provisioning

  • JMX-based infrastructure monitoring

  • Fuse Fabric monitoring

  • message tracing

The tools are broken into three areas:

  • design time

  • test environment management

  • application testing

Architects and business analysts typically describe integration problems using graphical route diagrams. Diagrams make it easier to see all of the integration points and the paths that data travels between them. Icons denoting different transformations and routing choices can be added to flesh out more of the details. Diagrams can be discussed and modified on paper before any code is written.

When a developer has to implement the logic described in the diagrams, they face a number of challenges:

Fuse IDE solves theses problems by making route development a visual exercise. Using icons, based on the icons from Gregor Hohpe and Bobby Woolf's [Enterprise Integration Patterns], developers draw out the route on the route editor's canvas. Showing the route diagram to the architects and analysts ensures that the route matches their specifications. Fuse IDE generates the code needed to implement the routes. It also provides facilities for managing the dependencies and metadata needed to ensure that the application is packaged properly.

If your application requires Web services, messaging clients, or other application logic that is outside the scope of the routing framework, Fuse IDE provides a number of templates to generate projects for any framework supported by FuseSource. As with routing projects, Fuse IDE can manage the dependencies and packaging metadata for these projects. While it does not provide a specific editor for non-routing projects, Fuse IDE does include all of the Eclipse Java tooling.

Fuse IDE allows you connect to a group of containers organized into a fabric. All of the brokers in a fabric are managed by a distributed Fabric Ensemble that stores runtime and configuration information for all of the containers in the fabric. Using this information the ensemble enables you to manage large test environments by:

  • automating the creation of deployment artifacts from Fuse IDE projects

    Fuse IDE can create new configuration profiles based on an Fuse IDE project. It also handles loading the required artifacts into the fabric's repository so it can be deployed to any of the containers in the fabric.

  • automating client connection, failover, and load balancing configuration

    When services, including message brokers, are configured into a fabric, clients can use special discovery protocols that queries the ensemble for an appropriate service instance or message broker. The ensemble uses a round robin algorithm for balancing load among common service instances in the fabric. The fabric discovery connection will also automatically failover to other service instances without needing to know any details about what instances are deployed.

  • centralizing configuration information

    All of the configuration for each container in the fabric, including details about which bundles are deployed, are stored in the ensemble. Any of the configurations can be edited from a remote location and directly applied to any container in the fabric.

  • centralizing management and monitoring functionality

    Using Fuse IDE you can update configuration profiles, deploy new containers, shutdown containers, and get runtime metrics for any of the containers in the fabric

[Important]Subscription Only

This feature is available only to FuseSource subscribers.

The Fuse Fabric perspective, shown in Figure 5.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.