Introduction to Mule ESB
03/04/15
What is Mule
2Confidential and Proprietary
Mule – an Integration Platform
3Confidential and Proprietary
• Integration platform for connecting
any application, data source or API,
whether in the cloud or on-premises
• Why ‘Mule’? Avoid the ‘donkey work’
of the infrastructure work
before you can implement
any logic
-Ross Mason, MuleSoft founder
Introduction to Mule
4Confidential and Proprietary
• MuleSoft’s Architecture Themes
1. Mule ESB – Enterprise Service Bus
2. Event Based Model
3. API Centered Design
4. Anypoint Studio – Visual Design
• Languages Used
• Mule as an Open Source project
• Mule Flows
1. Mule ESB – Enterprise Service Bus
5Confidential and Proprietary
Designed around the Enterprise Service Bus
Communication & Interaction between services
via a common Message Bus
1. Mule ESB – Enterprise Service Bus
6Confidential and Proprietary
• Advantages:
–SOA Architecture: A services-based
abstraction layer to make enterprise
business applications accessible
–Avoiding a Point-to-Point integration
architecture
–Flexibility in application lifecycle
management
1. Mule ESB – Enterprise Service Bus
7Confidential and Proprietary
• Competitors:
– Commercial ESB Products: IBM Websphere
ESB, Oracle ESB etc.
– Open Source ESB: Jboss ESB, Apache
ServiceMix (Camel), WSO2
2. Event Based Model
8Confidential and Proprietary
• Put Salmon in the Oven
• Wait for 20 minutes
• Remove Salmon from
the Oven
• Put water in the pot
• Wait for water to boil
• Put in Pasta
• Wait until pasta is
al-dente
OR
Put a timer and do next task in the meantime
2. Event Based Model
9Confidential and Proprietary
Add Threads (more cooks) Respond to events (kitchen timer)
JAVA JavaScript, node.js
Blocking (synchronous) Non-blocking (asynchronous)
Vs.
2. Event-based: Concurrent Connections & Memory Usage
10Confidential and Proprietary
Doesn’t need to spawn new processes or threads for each request
2. Event Based Model
• Advantages:
–Shorten the delta between actions
and feedback
–Architecture can handle larger
throughput & do it more efficiently
11Confidential and Proprietary
3. API Centered Design
12Confidential and Proprietary
3. API Centered Design
13Confidential and Proprietary
The new application components –
the API is part of the application’s design
3. API Centered Design
Point to Point Architecture vs. APIs
14Confidential and Proprietary
3. API Centered Design
15Confidential and Proprietary
• API Portal (APIhub) is where API developers
and application developers interact to design,
test, and discover APIs
• Design APIs with the API Designer
(RESTful API Modeling Language
to build the API interface)
Social Media for APIs
3. API Centered Design
16Confidential and Proprietary
• Advantages:
• APIs provide a cleaner way to access
the application data
• APIKit toolkit to develop,
document, and test REST API
implementations
• Automatic scaffolding to build
the back-end based on the RAML file
4. Anypoint Studio – Visual Design
Code can be long and unreadable…
17Confidential and Proprietary
4. Anypoint Studio – Visual Design
When all we really wanted to say was:
18Confidential and Proprietary
Computer, write a software that will disrupt the
market and make me lots of money
4. Anypoint Studio – Visual Design
Solution: IDEs that provide visual software design
19Confidential and Proprietary
iOs IDE
Scratch
4. Anypoint Studio – Visual Design
Mule Anypoint Studio lets you drag components & edit
20Confidential and Proprietary
4. Anypoint Studio – Visual Design
• Advantages:
–Can get a high-level understanding
of the code by glancing at the
flows
–Shorter time to develop – no need
to re-write ‘plumbing’ code
21Confidential and Proprietary
Languages Used
• Mule supports both Java, but also
supports scripting languages such
as Groovy,
Javascript, Python, Ruby etc.
• MEL – Mule regular expression
22Confidential and Proprietary
Mule as an Open Source project
23Confidential and Proprietary
• Mule ESB Community is an open source
project and is licensed under the
Common Public Attribution License
• The Enterprise edition provides
additional benefits:
– Customer support
– Enterprise connectors
– Templates (out-of-the-box solutions)
– Operational Dashboard
– Data Mapper
– Etc.
Hello World in Node.js vs Mule
var http = require('http');
var server =
http.createServer(function
(request, response) {
response.writeHead(200,
{"Content-Type": "text/plain"});
response.end("Hello Worldn");
});
// Listen on port 8000, IP defaults
to 127.0.0.1
server.listen(8000);
24Confidential and Proprietary
Event
Listener
Chained
Callbacks
Node.js vs Mule
Node.js
Sencha
Connect
module
‘middlewares’
with next()
25Confidential and Proprietary
Mule
Mule Flows
26Confidential and Proprietary
• Inbound Endpoint (diff. transports and protocols)
• Transformers
• Component
• Routers
• Outbound Endpoint

Mule ESB Intro

  • 1.
  • 2.
  • 3.
    Mule – anIntegration Platform 3Confidential and Proprietary • Integration platform for connecting any application, data source or API, whether in the cloud or on-premises • Why ‘Mule’? Avoid the ‘donkey work’ of the infrastructure work before you can implement any logic -Ross Mason, MuleSoft founder
  • 4.
    Introduction to Mule 4Confidentialand Proprietary • MuleSoft’s Architecture Themes 1. Mule ESB – Enterprise Service Bus 2. Event Based Model 3. API Centered Design 4. Anypoint Studio – Visual Design • Languages Used • Mule as an Open Source project • Mule Flows
  • 5.
    1. Mule ESB– Enterprise Service Bus 5Confidential and Proprietary Designed around the Enterprise Service Bus Communication & Interaction between services via a common Message Bus
  • 6.
    1. Mule ESB– Enterprise Service Bus 6Confidential and Proprietary • Advantages: –SOA Architecture: A services-based abstraction layer to make enterprise business applications accessible –Avoiding a Point-to-Point integration architecture –Flexibility in application lifecycle management
  • 7.
    1. Mule ESB– Enterprise Service Bus 7Confidential and Proprietary • Competitors: – Commercial ESB Products: IBM Websphere ESB, Oracle ESB etc. – Open Source ESB: Jboss ESB, Apache ServiceMix (Camel), WSO2
  • 8.
    2. Event BasedModel 8Confidential and Proprietary • Put Salmon in the Oven • Wait for 20 minutes • Remove Salmon from the Oven • Put water in the pot • Wait for water to boil • Put in Pasta • Wait until pasta is al-dente OR Put a timer and do next task in the meantime
  • 9.
    2. Event BasedModel 9Confidential and Proprietary Add Threads (more cooks) Respond to events (kitchen timer) JAVA JavaScript, node.js Blocking (synchronous) Non-blocking (asynchronous) Vs.
  • 10.
    2. Event-based: ConcurrentConnections & Memory Usage 10Confidential and Proprietary Doesn’t need to spawn new processes or threads for each request
  • 11.
    2. Event BasedModel • Advantages: –Shorten the delta between actions and feedback –Architecture can handle larger throughput & do it more efficiently 11Confidential and Proprietary
  • 12.
    3. API CenteredDesign 12Confidential and Proprietary
  • 13.
    3. API CenteredDesign 13Confidential and Proprietary The new application components – the API is part of the application’s design
  • 14.
    3. API CenteredDesign Point to Point Architecture vs. APIs 14Confidential and Proprietary
  • 15.
    3. API CenteredDesign 15Confidential and Proprietary • API Portal (APIhub) is where API developers and application developers interact to design, test, and discover APIs • Design APIs with the API Designer (RESTful API Modeling Language to build the API interface) Social Media for APIs
  • 16.
    3. API CenteredDesign 16Confidential and Proprietary • Advantages: • APIs provide a cleaner way to access the application data • APIKit toolkit to develop, document, and test REST API implementations • Automatic scaffolding to build the back-end based on the RAML file
  • 17.
    4. Anypoint Studio– Visual Design Code can be long and unreadable… 17Confidential and Proprietary
  • 18.
    4. Anypoint Studio– Visual Design When all we really wanted to say was: 18Confidential and Proprietary Computer, write a software that will disrupt the market and make me lots of money
  • 19.
    4. Anypoint Studio– Visual Design Solution: IDEs that provide visual software design 19Confidential and Proprietary iOs IDE Scratch
  • 20.
    4. Anypoint Studio– Visual Design Mule Anypoint Studio lets you drag components & edit 20Confidential and Proprietary
  • 21.
    4. Anypoint Studio– Visual Design • Advantages: –Can get a high-level understanding of the code by glancing at the flows –Shorter time to develop – no need to re-write ‘plumbing’ code 21Confidential and Proprietary
  • 22.
    Languages Used • Mulesupports both Java, but also supports scripting languages such as Groovy, Javascript, Python, Ruby etc. • MEL – Mule regular expression 22Confidential and Proprietary
  • 23.
    Mule as anOpen Source project 23Confidential and Proprietary • Mule ESB Community is an open source project and is licensed under the Common Public Attribution License • The Enterprise edition provides additional benefits: – Customer support – Enterprise connectors – Templates (out-of-the-box solutions) – Operational Dashboard – Data Mapper – Etc.
  • 24.
    Hello World inNode.js vs Mule var http = require('http'); var server = http.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello Worldn"); }); // Listen on port 8000, IP defaults to 127.0.0.1 server.listen(8000); 24Confidential and Proprietary Event Listener Chained Callbacks
  • 25.
  • 26.
    Mule Flows 26Confidential andProprietary • Inbound Endpoint (diff. transports and protocols) • Transformers • Component • Routers • Outbound Endpoint