esb or-not-to-esb-sv-jug

Post on 15-Jan-2015

2.237 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Guidance for using an ESB architecture and the benefits of using Mule.

TRANSCRIPT

To ESB or not to ESB

Ross Mason

MuleSoft

About Me

Agenda

When to ESB When not to ESB Some Options

“Technology selection is notoriously difficult in the enterprise since the criteria and complexity of the problem is often not fully understood until later in the development process.”

I’M TALKING ESB ARCHITECTURE NOT PRODUCT

Note:

ESB Architecture

Reality Check

Know your Architecture

Architecture ChecklistIdentify systems and processes

Create an integration profile

Map data flows

Set performance requirements

Define security requirements

Identify redundancy requirements

Quantify QoS requirements

To ESB

Numerous integration points

Need to grow the architecture

More that one protocol

Mediation requirements

Scalability, Management, Monitoring, Transformation and Security requirements

Strategic Projects

“I’m only using Web Services”

Not to ESB

“We have two integration points”“I just need to FTP a file from my web app”

“We need access to a message queue”

Not to ESB: RDD

Not to ESB: YAGNI

Not to ESB: GOLF

I’ll buy your software

cha-ching

What is Mule?

15

All contents Copyright © 2009, MuleSoft Inc. 16

Not a donkey

All contents Copyright © 2009, MuleSoft Inc. 17

Not a llama

All contents Copyright © 2009, MuleSoft Inc. 18

Not a camel

BaaS: Beer As A Service

All contents Copyright © 2009, MuleSoft Inc. 19

BaaS

All contents Copyright © 2009, MuleSoft Inc. 20

BaaS

All contents Copyright © 2009, MuleSoft Inc. 21

BaaS

All contents Copyright © 2009, MuleSoft Inc. 22

Java-based integration platform

Focus on ease of development and reuse of components

World’s most used Open Source ESB

What is Mule?

Easy to test, run and deploy

What does Mule give you?

Service Creation and Hosting

Service Mediation

Message Routing

Data Transformation

SEDA EngineSEDA EngineRoutingRoutingSecuritySecurity SchedulingSchedulingDeploymentDeployment

TransformTransform

Error HandlingError Handling

Cloud ConnectCloud Connect

REST, WSREST, WS PatternsPatternsFlowFlow

Data FeedsData Feeds

Bindings: JSON/XMLBindings:

JSON/XML

MessagingMessaging DatabaseDatabase FTP/FileFTP/File ApplicationsApplications

AJAX / JSAJAX / JS

Cloud Connect

Core Platform

ContainerServices

Connectivity

Mule Components

Runtime is 40mb

Why Mule?

Lightweight

Proven (2,500+ Enterprise Deployments)

Robust

Flexible: build, test, deploy

What are the options?

Web Services• Pros:

– Language, platform, and transport agnostic– Mediation support– Built-in error handling (faults)– Extensibility

• Cons:– heavy-weight – verbose– Hard to develop, requires tools– Sprawling WS-* standards

REST• Pros:

– Language and platform agnostic– Small learning curve, less reliance on tools– Concise & Clean

• Cons:– Assumes a point-to-point communication– Lack of standards support for security, policy, reliable

messaging, etc.– Tied to the HTTP transport model

• Pros

– Quick solution

– Tailored to the specific problem

• Cons

– Need to maintain more code

– Difficult to change over time

– Need to build security, management, reliability

– Slow to add new capabilities

– No core business activity

Custom code

30

Integration Scenarios

Simple Integration

Frontend(web app)Frontend(web app)

Backend ServiceBackend Service

REST / Web Services

Partner Data integration

B2B ServicesB2B Services

Partner

Partner

Web Services

Public API

ServicesServices

Public APIPublic API

Mobile Client Web Client

REST

Cloud App Integration

OrchestrationOrchestration

Public APIPublic API

Mobile Client Web Client

REST

Salesforce Paypal

TwitterMagento

Mixed Integration

Frontend(web app)Frontend(web app)

Backend ServiceBackend Service

ESB

Backend ApplicationBackend ApplicationBackend ApplicationBackend Application

REST JMS FTP

ESB Integration

ESB

Inventory Fulfillment

Service

Inventory Fulfillment

Service

Inventory BiddingService

Inventory BiddingService

Order ServiceOrder Service

Inventory Service

Inventory Service

Supplier 1 Supplier 2 Supplier 3

Inventory

Purchasingcreate supply bid bid selected place order

order fromSupplier 3

request bids

out of stock

request items

Mule: 3rd Generation Integration

• Gen 1: Mediation and connectivity• Gen 2: Light-weight, Service Container• Gen 3: Cloud ready, application container*

* Not your traditional 3 tier apps

Summary

• Technology selection must be driven by architecture

• REST/WS are better suited to other integration problems

• JMS good for decoupling Java apps

• ESB Architectures are good for integrations with multiple participants

• Mule is for all of the above

Questions?

We are hiring in SF!ross@mulesoft.comtwitter: @rossmasonhttp://mulesoft.org

top related