58
Spoilt for Choice – How to choose the right Enterprise Service Bus Kai Wähner, Principal Consultant

Spoilt for Choice How to choose the right Enterprise ...sigs.de/download/oop_2013/files/Mi7-4_Update_Waehner.pdf · Spoilt for Choice – How to choose the right Enterprise Service

Embed Size (px)

Citation preview

Spoilt for Choice – How to choose the right Enterprise Service Bus

Kai Wähner, Principal Consultant

© Talend 2011 2

Kai Wähner

Consulting

Developing

Coaching

Speaking

Writing

Main Tasks

Requirements Engineering

Enterprise Architecture Management

Business Process Management

Architecture and Development of Applications

Service-oriented Architecture

Integration of Legacy Applications

Cloud Computing

Big Data

Contact

Email: [email protected]

Blog: www.kai-waehner.de/blog

Twitter: @KaiWaehner

Social Networks: Xing, LinkedIn

© Talend 2011 3

Key messages

There is no silver bullet for integration!

A product named ‘ESB’ is often the wrong choice!

Choosing the right integration solution is essential for project success!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 4

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

Agenda

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 5

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

Agenda

Live Demos

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 6

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 7

• Applications

• Interfaces

• Technologies

• Products

What is the problem of systems integration?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 8

What is the problem of systems integration?

„Spaghetti communication“

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 9

What is the problem of systems integration?

All roads lead to Rome...

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 10

How to solve the problem?

• Standardized Modeling

• Efficient Realization

• Automatic Testing

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 11

How to solve the problem?

Hmm, I need an

Enterprise Service Bus,

right?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 12

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 13

There is no standard definition!

Always define what you mean, when you say „ESB“!

For this talk, we just say: „An ESB helps for systems integration“ –

because we look at so many different THINGS which are called ESB

For this talk, an ESB is a product (beyond APIs or REST / SOAP calls),

which offers an „infrastructure“ for routing, transformation, security,

etc.

If you think you need an ESB, you should always think about integration

frameworks and integration suites. Choose the right one!

What is an Enterprise Service Bus (ESB)?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 14

What is an Enterprise Service Bus (ESB)?

Complexity

of Integration

Enterprise

Service Bus

Integration Suite

Low High

Integration

Framework

Includes Includes

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 15

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 16

• Ease of Use

• Maintainability and Monitoring

• Community

• Enterprise Support

• Functionality

• Flexibility

• Extensibility

• Standards

• Connectors

• Costs

• Licencing

Comparison Criterias

rating

positive

medium

negative

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 17

You will NOT get a comparison matrix for ESB products

• Too many different features to compare!

• Too many different concepts to compare!

• Almost impossible to keep it up-to-date!

• Almost impossible to create it unbiased!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 18

What you will get ...

... is an answer to the question:

• if you need an integration framework, an ESB, or a suite!

• if you need a proprietary or open source solution!

• how to get a short list of alternatives!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 19

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 20

What is an Integration Framework?

Complexity

of Integration

Enterprise

Service Bus

Integration Suite

Low High

Integration

Framework

INTEGRATION

Connectivity

Routing

Transformation

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 21

Integration Frameworks

Integration

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 22

Enterprise Integration Patterns

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 23

Enterprise Integration Patterns

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 24

Standalone

Application

Server

Web Container

Cloud

Deployment

Spring

Container

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 25

Writing glue code? (example: AWS S3 with Java)

AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(

S3Sample.class.getResourceAsStream("AwsCredentials.properties")));

String bucketName = "my-first-s3-bucket-" + UUID.randomUUID();

String key = "MyObjectKey";

try {

s3.createBucket(bucketName);

s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile()));

S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));

ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()

.withBucketName(bucketName)

.withPrefix("My"));

s3.deleteObject(bucketName, key);

s3.deleteBucket(bucketName);

} catch (AmazonServiceException ase) {

// error handling...

} catch (AmazonClientException ace) {

// error handling...

}

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 26

Domain Specific Language (example: Apache Camel)

// Producer

from(“ftp:toS3")

.setHeader(S3Constants.KEY, simple(“order.txt"))

.to("aws-s3://myBucket?accessKey=" + a+ "&secretKey= " + s)

// Consumer

from(„salesforce://orders__c?user=dummy1“)

.to(“ibm-database:orderData")

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 27

Domain Specific Language (example: Apache Camel)

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 28

Live Demo

Integration Framework in Action...

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 29

Comparison Criterias (Integration Framework)

Criteria Proprietary Open Source

Ease of use N.A. Learn the framework API and internals

Maintainability and

Monitoring

N.A. Examine and maintain code, not much tooling besides IDE

Community N.A. Bugtracker, Mailing List, Forum, Articles, Blog Posts, Conferences

Enterprise Support N.A. Some consulting, no enterprise support for production

Functionality N.A. Most important integration features implemented (e.g. EIPs), tooling

missing for administration and monitoring

Flexibility N.A. Open Source, change what you want

Extensibility N.A. Standards-based, defacto Standards

Connectors N.A. Many technical adapters available, but none for direct integration of

business products

Costs N.A. For free, Open Source

Licencing N.A. Do whatever you want with it (usually Apache Licence)

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 30

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 31

Connectivity

Routing

Transformation

INTEGRATION

Tooling

Monitoring

Support

What is an Enterprise Service Bus (ESB)?

Complexity

of Integration

Enterprise

Service Bus

Integration Suite

Low High

Integration

Framework

+ "Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 32

ESB Vendors – Gartner Quadrant 2012

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 33 "Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

Mule ESB

© Talend 2011 34 "Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

Talend ESB

© Talend 2011 35

RedHat / JBoss + acquisitions

Good products, awesome community ... but:

Three ESBs (JBoss ESB, Switchyard, Fuse ESB)

Two BPMs (jBPM, Polymita)

No unified platform (yet)

© Talend 2011 36

Oracle ESB

Source: http://www.slideshare.net/gschmutz/oracle-soa-suite-11g-mediator-vs-oracle-service-bus-osb

© Talend 2011 37

Oracle ESB

Source: http://www.slideshare.net/gschmutz/oracle-soa-suite-11g-mediator-vs-oracle-service-bus-osb

© Talend 2011 38

Three IBM ESBs

© Talend 2011 39

Live Demo

Enterprise Service Bus in Action...

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 40

Comparison Criterias (Enterprise Service Bus)

Criteria Proprietary Open Source

Ease of use Complex installation (consultants needed !?),

„tool hell“

One Click Installer (also for Mac), start using

after minutes

Maintainability and

Monitoring

Really powerful tooling (e.g. for administration

and monitoring), maintain in GUI

A little bit tooling (e.g. for administration and

monitoring), maintain in GUI

Community Buy support, many knowledge worldwide,

forums (but no real community which helps)

Based on open source projects, plus own

community

Enterprise Support 24/7 enterprise support, SLAs as you wish,

deployments with thousands of servers

24/7 enterprise support, less guarantees than

proprietary support, check for local consulting

and support

Functionality Integration features Integration features

Flexibility (Make change request + wait long + pay) OR (pay

a lot + get it quickly)

Open source, change what you want

Extensibility Do it yourself (often tough) OR pay Standards-based, defacto Standards

Connectors Adapters for technologies and business products Adapters for technologies and business products

Costs MUCH (and even more) LESS (however, be aware that „open source“

does not mean „for free“)

Licencing Complex price list, pay for everything

(upgrades, migration to VM, „you-name-it“)

Subscription model, upgrades inclusive,

predictive costs, downgrades possible

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 41

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 42

Connectivity

Routing

Transformation

What is an Integration Suite?

Complexity

of Integration

Enterprise

Service Bus

Integration Suite

Low High

Integration

Framework

INTEGRATION

Tooling

Monitoring

Support

+

BUSINESS PROCESS MGT.

BIG DATA / MDM

REGISTRY / REPOSITORY

RULES ENGINE

„YOU NAME IT“

+ "Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 43

Oracle Platform

© Talend 2011 44

IBM WebSphere stack (source: Wikipedia)

© Talend 2011 45

WSO2 Carbon Platform

© Talend 2011 46

Talend Unified Platform

Data

Quality Data

Integration MDM ESB

Big

Data

Big Data

Open source license

Free of charge

Optional support

Based on open source projects such as Eclipse or Apache Camel, CXF, Hadoop

Commercial license

Subscription model

Support included

Data

Quality

Data

Integration MDM ESB BPM

© Talend 2011 47

Live Demo

Integration Suite in Action...

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 48

ESB Vendor == Integration Suite Vendor ???

Open Source

Proprietary

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 49

ESB Vendor == Integration Suite Vendor ???

ESB BPM Big Data "Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 50

Custom combination of ESB, BPM, Big Data, etc.?

• A lot of glue code

• Testing

• Bugfixing

• No support

Some other people already had

the problems you would have!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 51

Comparison Criterias (Integration Suite)

Criteria Proprietary Open Source

Ease of use Even more complex installation (consultants

needed !?), „tool hell“

One Click Installer (also for Mac), start using

after minutes, unified platform

Maintainability and

Monitoring

Powerful tooling (e.g. for administration and

monitoring), maintain in GUI

A little bit tooling (e.g. for administration and

monitoring), maintain in GUI

Community Buy support, forums (but no real community

which helps)

Based on open source projects, plus own

community

Enterprise Support 24/7 enterprise support, SLAs as you wish,

deployments with thousands of servers

24/7 enterprise support, less guarantees than

proprietary support, check for local consulting

and support

Functionality Integration features + many more (BAM, CEP,

EDA, etc., etc., etc.)

Integration features + some more

Flexibility (Make change request + wait long + pay) OR (pay

a lot + get it quickly)

Open source, change what you want

Extensibility Do it yourself (tough) OR pay Standards-based, defacto Standards

Connectors Adapters for technologies and business products Adapters for technologies and business products

Costs MUCH (and even more) LESS (however, be aware that „open source“

does not mean „for free“)

Licencing Complex price list, pay for everything

(upgrades, migration to VM, „you-name-it“)

Subscription model, upgrades inclusive,

predictive costs, downgrades possible

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 52

One last word regarding functionalities and features...

Criteria Proprietary Open Source

Ease of use Even more complex installation (consultants needed

!?), „tool hell“

One Click Installer (also for Mac), start using after

minutes, unified platform

Maintainability and

Monitoring

Powerful tooling (e.g. for administration and

monitoring), maintain in GUI

A little bit tooling (e.g. for administration and

monitoring), maintain in GUI

Community Buy support, forums (but no real community which

helps)

Based on open source projects, plus own community

Enterprise Support 24/7 enterprise support, SLAs as you wish,

deployments with thousands of servers

24/7 enterprise support, less guarantees than

proprietary support, check for local consulting and

support

Functionality Integration features + many more (BAM, CEP, EDA,

etc., etc., etc.)

Integration features + some more

Flexibility (Make change request + wait long + pay) OR (pay a

lot + get it quickly)

Open source, change what you want

Extensibility Do it yourself (tough) OR pay Standards-based, defacto Standards

Connectors Adapters for technologies and business products Adapters for technologies and business products

Costs MUCH (and even more) LESS

Licencing Complex price list, pay for everything (upgrades,

migration to VM, „you-name-it“)

Subscription model, upgrades inclusive, predictive

costs, downgrades possible

Main arguments

for proprietary

solutions!

(but be sure that

you really need it)

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 53

Agenda

What is the Problem of Systems Integration?

What is an Enterprise Service Bus?

What are the Comparison Criterias?

When to use an Integration Framework?

When to use an Enterprise Service Bus?

When to use an Integration Suite?

What is the Conclusion?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 54

How to continue?

• 1) Decide if you need a framework, an ESB, or a suite!

• 2) Decide if you need an open source or proprietary solution!

• 3) Evaluate your short list!

• 4) Do proof of concepts by yourself – not by vendor consultants!

• 5) Choose the right tool for the right job!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 55

Did you get the key message?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 56

Key messages

There is no silver bullet for integration!

A product named ‘ESB’ is often the wrong choice!

Choosing the right integration solution is essential for project success!

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

© Talend 2011 57

Did you get the key message?

"Spoilt for Choice - How to choose the right Enterprise Service Bus" by Kai Wähner - OOP 2013

Thank you for your attention. Questions?

KAI WÄHNER [email protected]

www.kai-waehner.de LinkedIn / Xing @KaiWaehner