mule esb intro

26
Introduction to Mule ESB 03/04/15

Upload: noga-manela

Post on 17-Jul-2015

121 views

Category:

Technology


2 download

TRANSCRIPT

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 WebsphereESB, 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 fromthe 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 World\n");

});

// Listen on port 8000, IP defaults to 127.0.0.1server.listen(8000);

24Confidential and Proprietary

Event Listener

Chained Callbacks

Node.js vs Mule

Node.js

SenchaConnect module‘middlewares’ with next()

25Confidential and Proprietary

Mule

Mule Flows

26Confidential and Proprietary

• Inbound Endpoint (diff. transports and protocols)

• Transformers

• Component

• Routers

• Outbound Endpoint