Over a million developers have joined DZone.

Flows in Mule ESB

An introduction on how using Flows can help you take advantage of Mule ESB's sophisticated message flow capabilities.

· Integration Zone

Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

Overview Flows in Mule ESB

Flows provide the most robust and flexible way to build Mule applications, because you can arrange convenient building blocks before being packed into a sequence of event processing messages which have been prepared in accordance with the needs of your application. Flows support mechanism and asynchronous synchronization of the flows, one-way and request - response exchange - the model and other architectural plans.

Flows can be particularly effective for the following use cases:

  • Simple Integration Tasks

  • Planning data processing

  • Integrated cloud-based and on-premise applications

  • Handling the event that services need to be staged

Mule provides a pair of interfaces for building Flows. We can choose between:

  • Type the code into an application configuration file based on XML

  • Using the GUI

Then you configure the building blocks used sequences add Studio graphical tools, or by editing the XML code in the configuration file.

Details Flows

At the simplest level, the sequence of events Flows message processing. As the diagram below illustrates, a message goes to a flow can be:

Image title

The units from which Flows is built is known as the Builing Blocks. In general, the corresponding icon on Studio graphics or XML elements in the application configuration file of Mule.
The figure below illustrates a flow set out on Studio:

Image title

The following code block representing that same list Flow XML:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:wmq="http://www.mulesoft.org/schema/mule/ee/wmq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="EE-3.2.2" xsi:schemaLocation="

http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd

http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd

http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd

http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd

http://www.mulesoft.org/schema/mule/ee/wmq http://www.mulesoft.org/schema/mule/ee/wmq/current/mule-wmq-ee.xsd ">

  <flow name="DemoFlow1" doc:name="DemoFlow1">

    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP"/>

    <expression-transformer doc:name="Expression"/>

    <append-string-transformer message="" doc:name="Append String"/>

    <mulexml:xml-to-object-transformer doc:name="XML to Object"/>

    <component doc:name="Java"/>

    <logger level="INFO" doc:name="Logger"/>

    <scripting:component doc:name="Groovy">

      <scripting:script engine="Groovy"/>




Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

mule esb,mulesoft

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}