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

40
To ESB or not to ESB Ross Mason MuleSoft

Upload: ross-mason

Post on 15-Jan-2015

2.236 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Esb or-not-to-esb-sv-jug

To ESB or not to ESB

Ross Mason

MuleSoft

Page 2: Esb or-not-to-esb-sv-jug

About Me

Page 3: Esb or-not-to-esb-sv-jug

Agenda

When to ESB When not to ESB Some Options

Page 4: Esb or-not-to-esb-sv-jug

“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.”

Page 5: Esb or-not-to-esb-sv-jug

I’M TALKING ESB ARCHITECTURE NOT PRODUCT

Note:

Page 6: Esb or-not-to-esb-sv-jug

ESB Architecture

Page 7: Esb or-not-to-esb-sv-jug

Reality Check

Page 8: Esb or-not-to-esb-sv-jug

Know your Architecture

Page 9: Esb or-not-to-esb-sv-jug

Architecture ChecklistIdentify systems and processes

Create an integration profile

Map data flows

Set performance requirements

Define security requirements

Identify redundancy requirements

Quantify QoS requirements

Page 10: Esb or-not-to-esb-sv-jug

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

Page 11: Esb or-not-to-esb-sv-jug

“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”

Page 12: Esb or-not-to-esb-sv-jug

Not to ESB: RDD

Page 13: Esb or-not-to-esb-sv-jug

Not to ESB: YAGNI

Page 14: Esb or-not-to-esb-sv-jug

Not to ESB: GOLF

I’ll buy your software

cha-ching

Page 15: Esb or-not-to-esb-sv-jug

What is Mule?

15

Page 16: Esb or-not-to-esb-sv-jug

All contents Copyright © 2009, MuleSoft Inc. 16

Not a donkey

Page 17: Esb or-not-to-esb-sv-jug

All contents Copyright © 2009, MuleSoft Inc. 17

Not a llama

Page 18: Esb or-not-to-esb-sv-jug

All contents Copyright © 2009, MuleSoft Inc. 18

Not a camel

Page 19: Esb or-not-to-esb-sv-jug

BaaS: Beer As A Service

All contents Copyright © 2009, MuleSoft Inc. 19

Page 20: Esb or-not-to-esb-sv-jug

BaaS

All contents Copyright © 2009, MuleSoft Inc. 20

Page 21: Esb or-not-to-esb-sv-jug

BaaS

All contents Copyright © 2009, MuleSoft Inc. 21

Page 22: Esb or-not-to-esb-sv-jug

BaaS

All contents Copyright © 2009, MuleSoft Inc. 22

Page 23: Esb or-not-to-esb-sv-jug

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

Page 24: Esb or-not-to-esb-sv-jug

What does Mule give you?

Service Creation and Hosting

Service Mediation

Message Routing

Data Transformation

Page 25: Esb or-not-to-esb-sv-jug

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

Page 26: Esb or-not-to-esb-sv-jug

Why Mule?

Lightweight

Proven (2,500+ Enterprise Deployments)

Robust

Flexible: build, test, deploy

Page 27: Esb or-not-to-esb-sv-jug

What are the options?

Page 28: Esb or-not-to-esb-sv-jug

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

Page 29: Esb or-not-to-esb-sv-jug

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

Page 30: Esb or-not-to-esb-sv-jug

• 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

Page 31: Esb or-not-to-esb-sv-jug

Integration Scenarios

Page 32: Esb or-not-to-esb-sv-jug

Simple Integration

Frontend(web app)Frontend(web app)

Backend ServiceBackend Service

REST / Web Services

Page 33: Esb or-not-to-esb-sv-jug

Partner Data integration

B2B ServicesB2B Services

Partner

Partner

Web Services

Page 34: Esb or-not-to-esb-sv-jug

Public API

ServicesServices

Public APIPublic API

Mobile Client Web Client

REST

Page 35: Esb or-not-to-esb-sv-jug

Cloud App Integration

OrchestrationOrchestration

Public APIPublic API

Mobile Client Web Client

REST

Salesforce Paypal

TwitterMagento

Page 36: Esb or-not-to-esb-sv-jug

Mixed Integration

Frontend(web app)Frontend(web app)

Backend ServiceBackend Service

ESB

Backend ApplicationBackend ApplicationBackend ApplicationBackend Application

REST JMS FTP

Page 37: Esb or-not-to-esb-sv-jug

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

Page 38: Esb or-not-to-esb-sv-jug

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

Page 39: Esb or-not-to-esb-sv-jug

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

Page 40: Esb or-not-to-esb-sv-jug

Questions?

We are hiring in [email protected]: @rossmasonhttp://mulesoft.org