3. • An Enterprise Service Bus (ESB) is fundamentally an
architecture.
• The core concept of the ESB architecture is that you
integrate different applications by putting a communication
bus between them and then enable each application to talk
to the bus.
• This decouples systems from each other, allowing them to
communicate without dependency on or knowledge of other
systems on the bus.
• The concept of ESB was born out of the need to move away
from point-to-point integration, which becomes brittle and
hard to manage over time.
6. What is Mule ESB
Mule ESB is a lightweight Java-based messaging
framework that allows you to quickly and easily connect your
applications and enable them to exchange data.
Mule ESB uses a service-oriented architecture (SOA),
enabling easy integration of your existing systems.
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.
7. • Lightweight
• Not just mediation
• Accessible - any developer can learn Mule
• Scaling up, scaling down
• Message agnostic
• Cloud ready
Why choose mule?
8. Lightweight:
Mule ESB is lightweight not term in size(40MB) but
also cost of making changes to existing integrations. The Mule
run-time offers modularization and super-fast hot deployment as
well as a configuration model that makes it easy to re-order and
add/change functionality.
Not just mediation:
Mule provides a light and scalable service container
for publishing REST and SOAP services. Since Mule integrates
tightly with Spring, it means developers can also leverage the
capabilities of Spring to implement business logic.
9. Accessible - any developer can learn Mule
Mule uses common tools that all Java developers are familiar
with, such as Maven, Eclipse, JUnit and Spring. Mule uses an XML
configuration model (similar to Spring) to define logic, and
custom code can be written in a variety of languages, including
Java, Groovy, JavaScript, Ruby or Python. Also, MuleStudio helps
new developers get up to speed quickly with a graphical
development environment .
Scaling up, scaling down:
Mule's runtime is easily embeddable into an application. It can
also be embedded in your application server such as Tomcat,
JBoss or WAS or directly in your application. More importantly,
Mule provides JUnit support so that it can be embedded in a
JUnit test case.
10. Message agnostic:
A powerful feature of Mule is that the container is message
agnostic. This means it does not force XML messages on its users.
While XML is common, there are many scenarios where you will want
to use JSON, flat files, Cobol Copybooks, binary and file attachments,
streams and Java objects
Cloud ready:
If you'd rather leave the application architecture, hosting and
monitoring of your integration to the integration experts then
CloudHub™ is for you. CloudHub is an integration Platform as a
Service (iPaaS) that gets you up and running in minutes.
11. Understanding Mule ESB
Mule ESB Runtime
Runtime Mule Server(Standalone/Embedded)
Anypoint Studio:
Integrated Development Environment to develop mule
flows.
Download - https://www.mulesoft.com/ty/dl/studio
Eclipse with Mule ESB Plugin:
Integrated Development Environment to develop mule
flows.
12. Mule ESB Flows
Flow Building Blocks
• Message Source:
Message source, Which receive a message from one or more
external sources
• Message Processer:
Pre-packaged units of functionality that process messages.
13.
14. Mule ESB Component:
• Endpoint:-
An endpoints in Mule is a channel for receiving or sending
data. An endpoint has a specific protocol, such as
HTTP/HTTPS – http inbound outbound endpoints
JMS – java messaging services
FTP/SFTP- file transfer protocol
SMTP/IMAP – Mail transfer protocols
File – File handling
15. Transformers
Mule ESB provides many transformers to transform mule
message to another format. Mule also provide flexibly to write custom
transformer. Data mapper is GUI tools to transform message one
format to another format.
Service components:
We can write business logic, integration login inside
components. Here we can also use java as well as Python, Ruby Script,
groovy script, JavaScript.
17. • Flow Controls:
– Route message to various destination.
– All
– Choice
– First Successful
– Aggregator
– Splitter
• Filters:
– Filter determines whether a message can proceed through an
application
• Error handlers:
– Mule ESB provide many exception strategy for handling mule
error while processing data.
18. • Demo
• http post form (rest service)
• Put post data on file system & insert into database
• Response back
This template can be used as a starter file for presenting training materials in a group setting.
Sections
Right-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.
Notes
Use the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation.
Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)
Coordinated colors
Pay particular attention to the graphs, charts, and text boxes.
Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.
Graphics, tables, and graphs
Keep it simple: If possible, use consistent, non-distracting styles and colors.
Label all graphs and tables.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.
Introduce each of the major topics.
To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.
Introduce each of the major topics.
To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.