Mule ESB Cookbook
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Step-by-step practical recipes to get started with Mule ESB 3.4
  • Learn to effectively use Mule ESB in a real-world scenario
  • Expert advice on using filters, connecting with cloud, integrating with web services, and much more

Book Details

Language : English
Paperback : 428 pages [ 235mm x 191mm ]
Release Date : August 2013
ISBN : 1782164405
ISBN 13 : 9781782164401
Author(s) : Dr. Zakir Laliwala, Abdul Samad, Azaz Desai, Uchit Vyas
Topics and Technologies : All Books, Application Development, Cookbooks, Java, Open Source, Web Services

Table of Contents

Chapter 1: Getting Started with Mule ESB
Chapter 2: Working with Components and Patterns
Chapter 3: Using Message Property, Processors, and Sources
Chapter 4: Endpoints
Chapter 5: Transformers
Chapter 6: Configuring Filters
Chapter 7: Handling Exceptions and Testing
Chapter 8: Introducing Web Services
Chapter 9: Understanding Flows, Routers, and Services
Chapter 10: Configuring Cloud Connectors
  • Chapter 1: Getting Started with Mule ESB
    • Introduction
    • Understanding Mule concepts and terminologies
    • Setting up the Mule IDE
    • Installing Mule Studio
    • Configuring Mule components
    • Deploying your first Hello World application on the Mule server
    • Chapter 2: Working with Components and Patterns
      • Introduction
      • Configuring the component
      • Using the Echo component to display the message payload
      • Using a Flow Reference component to synchronously execute another flow
      • Publishing a RESTful web service using the REST component
      • Publishing a SOAP-based web service using the SOAP component
        • Chapter 4: Endpoints
          • Introduction
          • Configuring the Generic Endpoint
          • Configuring the HTTP Endpoint
          • Configuring the IMAP Endpoint to retrieve e-mails
          • Using the JDBC Endpoint to connect to the database
          • Implementing the File Transport channel using the File Endpoint
          • Sending messages asynchronously using the AJAX Endpoint
          • Using the Servlet Endpoint to listen to events or messages from servlet requests
          • Chapter 5: Transformers
            • Introduction
            • Configuring the JSON-to-Object transformer
            • Configuring the Object-to-XML transformer
            • Configuring the Message and Variable transformers
            • Creating the custom transformer
            • Understanding the DataMapper transformer
            • Chapter 6: Configuring Filters
              • Introduction
              • Configuring the Logic filters – And/Or/Not
              • Performing filtering according to the exception type
              • Filtering messages by evaluating expressions
              • Handling incoming events or messages using the Message filter
              • Configuring the Wildcard filter
              • Creating a Custom filter
              • Chapter 7: Handling Exceptions and Testing
                • Introduction
                • Understanding Messaging Exception strategies
                • Configuring the Choice Exception Strategy
                • Configuring the Reference Exception Strategy
                • Configuring the Rollback Exception Strategy
                • Testing with JUnit in Mule ESB
                • Chapter 8: Introducing Web Services
                  • Introduction
                  • Proxying web services
                  • Creating JAX-WS services
                  • Creating web services using the REST component
                  • Calling external web services using the SOAP component

                      Dr. Zakir Laliwala

                      Dr. Zakir Laliwala is an entrepreneur, open source specialist, and a hands-on CTO of Attune Infocom. Attune Infocom provides enterprise open source solutions and services for SOA, BPM, ESB, portal, cloud computing, and ECM. At Attune Infocom, he is responsible for the delivery of solutions and services and product development. He explores new enterprise open source and defining architecture, roadmaps, and best practices. He has consulted and provided training on various open source technologies, including Mule ESB, Activiti BPM, JBoss jBPM and Drools, Liferay Portal, Alfresco ECM, JBoss SOA, and cloud computing, to corporations around the world.

                      He has a PhD. in Information and Communication Technology from the Dhirubhai Ambani Institute of Information and Communication Technology. He was an adjunct faculty member at the Dhirubhai Ambani Institute of Information and Communication Technology (DA-IICT) and at CEPT University where he taught Master's-level students.

                      He has published many research papers in IEEE and ACM International Conferences on web services, SOA, grid computing, and Semantic Web. He also serves as a reviewer at various international conferences and journals. He has also published book chapters and is writing a book on open source technologies. He was co-author of Mule ESB Cookbook, Packt Publishing.

                      Abdul Samad

                      Abdul Samad has more than seven years' hands-on experience in leading and implementing Java, J2EE, Portal, and ECM open source solutions. He has successfully migrated IBM WebSphere portal to Liferay Portal for a client based in the U.K. He has delivered successful training with his experience and expertise on Liferay Portal and jBPM to Sambaash, AT&T, Cognizant, Urja Technologies, and Protea Technologies. He was part of an enterprise-level, open source portal application implementation for media and publication houses, portal customization projects, and led a team of developers to achieve the client's requirements on time. He has expertise in implementing J2EE technologies (JSP, Servlet, MVC Frameworks, BPM, ESB, and Portlet frameworks) to develop enterprise web applications. He has worked with various frameworks such as Mule ESB, jBPM, Liferay, Alfresco, and Oracle WebLogic portal on his journey.

                      Azaz Desai

                      Azaz Desai has more than three years' experience in Mule ESB, JBPM, and Liferay technologies. He is an Oracle Certified Java Programmer (OCJP). He is responsible for implementing, deploying, integrating, and optimizing services and business processes using ESB and BPM tools. He is a lead writer of Mule ESB Cookbook, Packt Publishing, as well playing a vital role of trainer on ESB to global clients at Attune Infocom. He is very enthusiastic and active in understanding client-specific requirements on web service integration. He has done various integration of web services, such as Mule ESB with Liferay, Alfresco, jBPM, and Drools. He was a part of a key project on Mule ESB integration as a messaging system. He has worked on various web service standards and frameworks, such as CXF, AXIS, SOAP, and REST.

                      Uchit Vyas

                      Uchit Vyas a B.Tech. graduate in Computer Science with a research interest in ESB and Cloud, is a certified Cloud Architect (AWS), Cisco (CCNA), VMware (VSP), and Red Hat Linux (RHCE) professional. He has an energetic strength to work on multiple platforms at a time and the ability to integrate open source technologies. He works as a Sr. Consultant and looks after AWS – Cloud, Mule ESB, Alfresco, Liferay and deploying Portal, and ECM system. He was previously working with TCS as an Assistant System Engineer. With over three years' hands-on experience on open source technologies, he manages to guide the team and deliver projects and training sessions meeting client expectations. He has provided more than 13 training sessions on Cloud computing, Alfresco, and Liferay in a couple of months. In the last few years, he has moved over 80 percent of Attune Infocom business processes to the Cloud by implementing agile SDLC methodology on Amazon, Rackspace, and private Clouds such as Eucalyptus and OpenStack. His skills are not limited to designing and managing Cloud environment/infrastructure, server architecture. He is also active in Shell scripting, autodeployment, supporting hundreds of Linux and Windows physical and virtual servers hosting databases, and applications with continuous delivery using Jenkins/CruiseControl with Puppet/Chef scripting.
                      Sorry, we don't have any reviews for this title yet.

                      Code Downloads

                      Download the code and support files for this book.

                      Submit Errata

                      Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                      - 4 submitted: last submission 06 Nov 2013

                      Errata Type: Technical Page No. 290

                      After step 2, perform the following step:

                      Navigate to Help | Install New Software. Select the URL in Work with: drop-down list, after that select community checkbox and download the Dropbox connector. Refer to the following screenshot for this:


                      Dropbox connector image

                      Errata type: Typo  Page No.: 11

                      In the figure, "Message Patload" should be "Message Payload" as shown below:


                      Errata type: Typo  Page No: 12

                      In the following figure. "Outbund" should be "Outbound":


                      Errata type: Technical Page No. 41

                      Step  4 should be Paste the URL on your browser, type in /Mule, and you will see the following output:


                      Errata type: Technical Page No. 124

                      Step 2 should be To create a new project, go to File | New | Mule Project. Enter the project name as HelloWorld2 and click on Nextand then on Finish. Your new project has been created now. We are ready to start the implementation.

                      Errata type: Technical Page No. 276

                      Step 4 should be Go to the CustomFilter.mflow file and drag the HTTP Endpoint onto the canvas. Double-click on it to configure it. Enter the port number and the hostname, enter customFilter in the Path field, and click on the OK button.

                      Errata type: Technical Page No. 343

                      Step 3 should be Drag the All Router/Flow Control onto the canvas; it's used for sending messages to multiple targets.

                      Errata type: Code Page No. 119


                      should be

                      mule xmlns=""

                      Errata type: Technical Page No. 104

                      Step 4 should be Double-click on the HTTP Endpoint to configure it. You will see the Host: and Port: fields. You can change the hostname if you want to. In this example, we have used localhost. If you want to change the port number, you can do that as well. By default, the Mule server takes up the port number 8081. Here we have used port number 2121. We have used only the one-way exchange pattern, so we send requests from the HTTP component and responses will come from the Groovy component.

                      Errata type: Support Page No. 304

                      The Selenium IDE plugin is only available for Firefox. It does not run on Chrome nor IE.

                      Errata type: Code Page No. 315

                      import javax.jws.WebService;

                      public interface HelloWorld {


                      String sayHi(String text);


                      should be:

                      import javax.jws.WebService;
                      public interface HelloWorld {
                        String sayHi(String text);

                      Errata type: Technical Page No. 82

                      Step 2 should be If yourapplication code is successfully deployed, you will see the message Started app 'rest'on the console.

                      Errata type: Code Page No. 108

                      line 3 of source code:
                      Current: defnewName
                      Correct: def newName
                      Line 5 (last line of code):
                      Current: printlnfile.getName()
                      Correct: println file.getName()
                      Errata type: Technical Page No. 235
                      Step 2 should be Copy the localhost URL http://localhost:5454. Open the browser, paste the URL, and type in /Mule. You can see that the forward slash has been removed. The custom transformer removed the forward slash.
                      Errata type: Technical Page No. 250
                      Step 2 should be To create a new project, Go to File | New | Mule Project. Enter the project name LogicFilter, click on Next and then on Finish. Your new project is created now, so you can start with the implementation.
                      Errata type: Technical Page No. 95
                      Step 2 should be If your application code is successfully deployed, you will see the message Started app 'soap'on the console.
                      Errata type: Technical Page No. 329
                      Open Eclipse and enter a name for the workspace. Create a Mule Project called "WebService". Create a class called RequestHandler. In this class, we create two methods: one to display the current time and date and the other to generate the reverse string.

                      Errata type: Typo   Section: Preface

                      PostgreSQL can be downloaded from the following site:

                      should be

                      PostgreSQL can be downloaded from the following site:

                      Sample chapters

                      You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                      Frequently bought together

                      Mule ESB Cookbook +    Machine Learning with R =
                      50% Off
                      the second eBook
                      Price for both: €34.10

                      Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                      What you will learn from this book

                      • Learn how to work with components, workflow, and patterns, and how to configure them
                      • Understand message sources, processors, and properties
                      • Learn what an endpoint is and how you can configure this endpoint in your workflow
                      • Understand transformers and how you can use them in your workflow
                      • Learn about different types of filters and how to use them
                      • Understand exception handling and unit testing with MuleESB
                      • Create web services and integrate them in your workflow
                      • Learn how to create a flow and how to use routers and services
                      • Learn how you can use a cloud connector in the flow
                      • Understand how to use processors in your workflow

                      In Detail

                      Mule ESB is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to efficiently exchange data. You can therefore use Mule ESB to allow different applications to communicate with each other via a transit system to carry data between applications within your enterprise or across the Internet. It is also useful if you use more than one type of communication protocol while integrating three or more applications/services.

                      "Mule ESB Cookbook" takes readers through the practical approach of Mule ESB 3.3. This book solves numerous issues faced by developers working on Mule ESB in real time and provides use cases on how to integrate Mule with other technologies. It also focuses on development and delivery using Mule ESB through integrating, migrating, and upgrading advanced technological tools.

                      This book gives the reader a strong overview of the Mule framework using practical and easy-to-follow examples. It has three sections: problems, approaches, and solutions. The key aim of this book is to show you how to allow different applications to communicate with each other by creating a transit system to carry data between applications within your enterprise or across the Internet. Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.

                      "Mule ESB Cookbook" will teach you everything you need to know to communicate between applications that are built on different platforms, as well as how to migrate them in your application across multiple platforms or on the cloud.


                      With this book you will learn in a step-by-step manner and build solutions from the ground up using Mule ESB. Each tak is well illustrated through recipes and the code contained in the examples is very engaging.

                      Who this book is for

                      This book targets Java developers, architects, and IT managers who want to learn Mule ESB and who want solutions to their Enterprise and web service problems. This book requires familiarity with Java, but no previous exposure to Mule or other ESBs is required.

                      Code Download and Errata
                      Packt Anytime, Anywhere
                      Register Books
                      Print Upgrades
                      eBook Downloads
                      Video Support
                      Contact Us
                      Awards Voting Nominations Previous Winners
                      Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                      Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software