Skip navigation

Basic Usage

Some of the links on this page go to the Mule User Guide, which requires that you log in to see the links. Registration is free and takes only a few moments.

When you look at how a message flows through Mule, you can see that there are three layers in the architecture: the application layer, the integration layer, and the transport layer.

Likewise, there are three general types of tasks you can perform to configure and customize your Mule deployment:

  • Service component development: developing POJOs, services, or beans that contain the business logic and will be used as service components in a Mule deployment.
  • Integration: developing routers, transformers, and filters, and configuring everything in the Mule configuration file.
  • Extending Mule: developing new transports, connectors, and other modules used by Mule.

This page provides a high-level overview of the steps you take to perform these tasks.

Create a Service Component

A service component is a class, web service, or other application that contains the business logic you want to plug in to the Mule framework. You can use any existing application, or [create a new one]. Your service component does not need to contain any Mule-specific code. All the Mule-specific instructions will be configured on the service that wraps the service component.

To assist development, you should use an IDE such as Eclipse (see Setting Up Eclipse). In addition, you can use the Mule IDE, an Eclipse plug-in (currently in beta) that provides an integrated development environment for developing Mule applications.

Configure the Mule Instance

The Mule configuration file allows you to configure all the elements you need in your Mule instance. You use the <configuration> element to set global configuration options such as the threading profile. You then configure the connectors, transformers, and endpoints you'll use in different services. Lastly, you configure models, which act as containers for services and apply settings such as the queue profile to all the services in that model. For complete information, see [Configuring a Mule Instance].

Configure the Service

You configure a service within a <model> element in the Mule configuration file. The service points to the service component, routers, filters, and transformers. It also specifies the endpoint on which this service will receive messages and the outbound endpoint where messages will go next. For more information, see [Configuring the Service].

Following is more information on configuring routers, filters, and transformers for the service.

Routers

Inbound routers specify how messages are routed to a service, and outbound routers specify how messages are routed after the service has finished processing them. There are several default routers that come with Mule that you can use, or you can create your own routers. For more information, see [Using Message Routers].

Filters

Filters specify conditions that must be met for a message to be routed to a service. There are several default filters that come with Mule that you can use, or you can create your own filters. For more information, see [Using Filters].

Transformers

Transformers convert incoming payload data to the type required by the service component. After the service has finished processing the message, they can also convert the message to a different type as needed by the outbound transport. There are several default transformers you can use, or create your own. For more information, see [Using Transformers].

Extend Mule

Mule provides [default transports] for many different channels, including File, FTP, HTTP, JMS, JDBC, Quartz, and many more. There are also community-created transports on MuleForge. If you need to send messages on a channel other than those provided, you can [create a new transport]. For more information, see [About Transports].

You can also use Maven to create new Mule projects (transports and other types of modules). For more information, see [Using Maven].

<< Previous: Examples Next: What's New in Mule Community Version 2.x >>
Adaptavist Theme Builder Powered by Atlassian Confluence