esb - an introduction to an enterprise workflow · pdf filetom bender — esb - an...

87
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 1 ESB - An Introduction to an Enterprise Workflow Framework Tom Bender Tendril Networks tommybender@gmail .com

Upload: donhu

Post on 15-Feb-2018

229 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 1

ESB - An Introduction to anEnterprise WorkflowFramework

Tom Bender

Tendril Networks

[email protected]

Page 2: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 2

Introduction

• Adoption of SOA Architecture?

• Commercial, Open Source, Rolled your own?

• Adoption of ESB Solution?

• Commercial, Open Source, Rolled your own?

• What are your goals in attending this session?

• What, Where and Why of ESB?

• Strengths and Weaknesses?

• Workflow or ESB code samples?

Page 3: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 3

Introduction

Tom Bender

Page 4: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 4

Introduction

Page 5: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 5

Introduction

Page 6: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 6

Introduction

Page 7: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 7

Introduction

Page 8: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 8

Introduction

Page 9: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 9

Introduction

Page 10: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 10

Introduction

Page 11: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 11

Introduction

Page 12: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 12

Introduction

Systems Architect

Page 13: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 13

Introduction

Industrial Machine Vision

Ann Arbor, Michigan

Page 14: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 14

Introduction

Quantitative Expert

Trading Systems

Los Angeles, California

Page 15: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 15

Introduction

Constraint-based

Expert Systems &

Sales Force Automation

Golden, Colorado

Page 16: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 16

Introduction

Consultant

Boulder, CO

Page 17: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 17

Introduction

Local Commerce

Jabber IM

Denver, CO

Page 18: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 18

Introduction

Satellite Scheduling &Geospatial Information

Systems

Longmont, CO

Page 19: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 19

Introduction

Wireless Sensor Networks

802.15.4

Boulder, CO

Page 20: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 20

Introduction

• Dave Chappelle?

Page 21: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 21

Technology Quote

"Things should be made as simple as possible, but no simpler.”

- Albert Einstein

Page 22: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 22

AgendaProblem Scope

Definition of Terms

Principles of a Service Oriented Architecture

Properties of an Enterprise Service Bus

Evolution and Architecture of the Enterprise Service Bus

ESB Adoption: Partitioning and Encapsulating SOA

ESB Related Standards: Impacts and Considerations

Enterprise Service Bus Market: Open Source andCommercial

Workflow Examples using ESB Technology

Page 23: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 23

Problem Scope

Integration is a business necessity

Accidental architecture is pervasive

Integration brokers are not sufficient

Page 24: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 24

Problem Scope

Integration is a Business Necessity

Increase in the need for integration

Every business has integration needs

• Data

Sharing and transformation of data

• Process

Coordination of multiple systems

Page 25: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 25

Problem Scope

Accidental architecture

Stove pipe software is extremely prevalent

• Highly specialized

• Tight coupling

• Stand alone

• Disparate

• No standards compliance

• General lack of consistency

• High human requirement is common

Page 26: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 26

Problem Scope

Integration Brokers Are InsufficientHub and spoke architecture• Does not support coordination across systems

• Extremely high investment

• ProprietarySpecialization for particular markets

No two vendors are compatible

Requires retraining and/or new hiring

• Highly centralized

• Monolithic

Page 27: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 27

Problem Scope

Custom Implementations Are Insufficient

Dependent upon

• Budgets

• Knowledge base

• Domain of focus

• Time: Opportunity Cost

• Build or Buy?

Page 28: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 28

ESB Adoption:Partitioning and Encapsulating SOA

Integration Approaches

Application andIntegration logic

separated

Application andIntegration logic

not separated

Hub-and-SpokeIntegration

DistributedIntegration

TraditionalEAI

ESB

ApplicationServers

MOM

Page 29: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 29

Definition of Terms

Service:

is a coarse-grained, discoverable, and self-contained software entity that

interacts with applications and other services through a loosely coupled,

often asynchronous, message-based communication model.

Service Oriented Architecture:a collection of services with well-defined interfaces and a shared

communications model is called a service-oriented architecture (SOA). A

system or application is designed and implemented as a set of interactions

among these services.

Enterprise Service Bus:provides a light weight, loosely coupled, event-driven SOA with a highly

distributed universe of named routing destinations across a multi-protocol

message bus.

Page 30: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 30

Definition of Terms

Workflow:

A workflow management system (WFMS) is a software component that

takes as input a formal description of business processes and maintains the

state of processes executions, thereby delegating activities amongst people

and applications. - Tom Baeyens, jBPM Founder

Page 31: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 31

Definition of TermsHype Cycle (Gartner)

TechnologyTrigger

Peak of InflatedExpectations

Trough ofDisillusionment

Slope ofEnlightenment

Plateau ofProductivity

VISIBILITY

TIME

Page 32: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 32

Principles of SOA

“Four Tenets of SOA” as proposed by Don Box:

Boundaries are Explicit

Services are Autonomous

Services share Schema and Contract, not Class

Compatibility is based upon Policy

Page 33: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 33

Properties of an ESBLight Weight

Loosely Coupled

Event-Driven

Highly Distributed

Selective Deployment

Abstract Endpoints

Intelligent Routing

Data Transformation (inbound/outbound)

Reliable Messaging

Multi-Protocol Message Bus

Page 34: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 34

Properties of an ESB

Light WeightBetter, Faster, Lighter Java - Bruce Tate

• Principles for Fighting BloatSimplicity

Cohesion

Transparency

Extensibility

Heresy

Question Technology

Page 35: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 35

Properties of an ESB

Loosely CoupledMaximum independence between modules

• Changes in one module will not unknowingly affect othermodules.

Isolation and cohesion improve software re-use

• Simple, determinant behavior improves reliability

Simplified Support and Maintenance

Interface lets you couple to a capability rather than animplementation

Event notifications can decouple sources and sinks in space, time,and topology, and provide a defined interface for the separation ofconcerns between different handlers.

Page 36: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 36

Properties of an ESB

Event Driven [Architecture]Supports massive scale

• Thread-based concurrency too heavy weight

Thread services a single request

• Event-based concurrency

Thread services multiple requests

select/poll

asynchronous I/O

signals

completion ports

Dan Kegel - C10K Paper

http://www.kegel.com/c10k.html

Page 37: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 37

Properties of an ESB

Event Driven [Architecture]Staged Event-Driven Architecture (“SEDA”)

• Matt Welsh, Assistant Professor Harvard Universityhttp://www.eecs.harvard.edu/~mdw

M.S. And Ph.D. U.C. Berkeley (1999, 2002)

NBIO, SEDA

• NBIO: Non-blocking IO for JavaJSR-051 – java.nio.* in J2SE 1.4.2

Page 38: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 38

Properties of an ESB

Highly DistributedServices may be distributed across a network

• Analyze the costs and benefits

Peter Deutsch - 8 Fallacies of Distributed Computing

Enterprise Application Integration

• Driving Market Force for ESB

Heterogeneous Applications

Already distributed

Legacy System Integration

• Already Distributed

Integration of working systems

Page 39: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 39

Properties of an ESBThe Eight Fallacies of Distributed Computing: Peter Deutsch

The network is reliable

Latency is zero

Bandwidth is infinite

The network is secure

Topology doesn't change

There is one administrator

Transport cost is zero

The network is homogeneous

Page 40: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 40

Properties of an ESB

Highly Distributed

Supports Multiple Distributed Network Topologies

• Centralized: Client-Server

• Centralized: Hub-and-Spoke

Database Servers, J2EE Containers and Web Servers

• Decentralized P2P: Pure P2P Architectures, Mesh Networks

• Decentralized: Super-Peer Architectures

P2P Architectures

Page 41: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 41

Properties of an ESB

Supports Multiple Network Topologies

Page 42: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 42

Properties of an ESB

Selective Deployment

Decoupled and independent services may supportdeployment of selected services.

Page 43: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 43

Properties of an ESB

Abstract Endpoints

ESB

Service Container

Invocation & Mgmt

ESB Endpoint

Endpoint Interface

Page 44: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 44

Properties of an ESB

Abstract Endpoint & Service

ESB

Serv

ice

Page 45: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 45

Properties of an ESB

Intelligent Routing

Itinerary-based Routing

• Static itinerary travels with the message

Content-based Routing

• Dynamic itinerary is determined at runtime basedupon simple business logic

Context-based Routing or Orchestration

• Dynamic itinerary is determined at runtime basedupon complex business logic and application state.

Page 46: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 46

Properties of an ESB

Multi-Protocol Message BusXML - The Language of Integration

• XML Schema

• XML Binding

Transports & Connectors• TCP

• HTTP

• SOAP

• FTP

• RMI

• …

Page 47: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 47

Evolution and Architecture of theEnterprise Service Bus

Mes

sage

Orie

nted

Middlew

are

Inte

grat

ion

Brok

ers

Applicat

ion

Serv

ers

XML

Ente

rpris

e Se

rvice Bu

s

(Ea

rly A

dopt

ers)

Web

Ser

vice

s

(Ear

ly A

dopt

ers)

Java

Mes

sage

Ser

vice

1990 1996 1997 1998 1999 2000 2001 2002

E-Co

mmer

ce Int

egra

tion

2003 2004 2005

Ente

rpris

e Se

rvice Bu

s

(Ear

ly M

ajor

ity)

Web

Ser

vice

s

(Ear

ly M

ajor

ity)

Adapted from Enterprise Service Bus - David A. Chappell

Page 48: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 49

ESB Adoption:Partitioning and Encapsulating SOA

Best Practices

Better, Faster, Lighter Java

Adopt XML as the language of integration

Think and plan in terms of SOA

Consistent definition of a “Service”

Manage “state” consistently

Separate processing logic from message routing rules

Incremental adoption

Propagate ESB based on business case

Page 49: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 50

ESB Adoption:Partitioning and Encapsulating SOA

Ski Clothing Company (“Classic Small Business”)QuickBooks

• Accounting & Inventory

UPS Online

• Shipping

Joe’s Credit Card Processing

• Credit Card Processing

Custom Web Commerce Site

• Online Catalog and Standalone Shopping Cart

Page 50: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 51

ESB Adoption:Partitioning and Encapsulating SOA

Ski Clothing Company Topology

Internet

Hosting Provider

Windows.NET CommerceMS SQL Server

Ski Clothing Company

WindowsUPS Online

WindowsQuickBooksCredit CardUPS Online

WebAdmin

Page 51: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 52

ESB Adoption:Partitioning and Encapsulating SOA

Ski Clothing Company Topology

Internet

Hosting Provider

Windows.NET CommerceMS SQL Server

Ski Clothing Company

WindowsUPS Online

WindowsQuickBooksCredit CardUPS Online

WebAdmin

Conceptual ServicesBar Code Scanning Interface to Add Inventory

Automate Web Commerce Transaction

Automate Shipping Interface

Automate Simple CRM

Page 52: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 53

ESB Adoption:Partitioning and Encapsulating SOA

Bar Code Scanning/RFID Interface to InventoryHosting Provider Ski Clothing Company1

http

Inventoryendpoint

Invento

ryServ

ice

2

udp socket

Loggingendpoint

Loggin

gServ

ice

Page 53: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 54

ESB Adoption:Partitioning and Encapsulating SOA

Automate Web Commerce Transaction

1

https

Procurementendpoint

Pro

cure

ment

Serv

ice

2

vm

Credit cardendpoint

Cre

dit c

ard

Serv

ice

3

vm

Inventoryendpoint

Invento

ryServ

ice

4

vm

Shippingendpoint

Ship

pin

gServ

ice

5

vm

Loggingendpoint

Loggin

gServ

ice

Hosting Provider Ski Clothing Company

Page 54: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 56

ESB Adoption:Partitioning and Encapsulating SOA

Automate Simple CRMWeb Commerce Transaction

1

https

Procurementendpoint

Pro

cure

ment

Serv

ice

2

vm

Credit cardendpoint

Cre

dit c

ard

Serv

ice

3

vm

Inventoryendpoint

Invento

ryServ

ice

4

vm

Shippingendpoint

Ship

pin

gServ

ice

5

vm

Loggingendpoint

Loggin

gServ

ice

6

vm

SMTPendpoint

Em

ail

Serv

ice

Page 55: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 57

ESB Adoption:Partitioning and Encapsulating SOA

Automate Simple CRMAuto Responder

2

vm

Emailendpoint

Em

ail

Serv

ice

1

POP3

AutoResponderendpoint

Auto

Resp

onder

Serv

ice

3

SMTP

AutoResponderendpoint

Auto

Resp

onder

Serv

ice

Page 56: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 58

ESB Related Standards:Impacts and Considerations

Java Business Integration (“JBI”)Java Connector Architecture (“JCA”)Java Management Extensions (“JMX”)Web Services (“WS-*”)

BPEL - Business Process Execution LanguageWfMC - Workflow Management CoalitionIP Protocol

Page 57: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 59

ESB Related Standards:Impacts and Considerations

Java Business Integration

JBI provides the core standards required to build SOA-based integration server software. It focuses onstandardising the interoperation semantics (andassociated bindings and interfaces) between what it callsservice engines and a normalized message router, whichlinks the engines together.

Page 58: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

ESB Related Standards:Impacts and Considerations

JBI ComponentsService Engine

• The term Service Engine (SE) is used to refer to the portion of the JBIenvironment (or framework) that is responsible for exposing an applicationprogramming model to developers.

• JBI does not define an application programming model but rather defines a set ofSPIs that enable the development of standard Web Service “containers” that canseamlessly utilize multiple communication infrastructure ranging fromHTTP/SOAP [ref.] to JMS/MOM [ref.] and including specialized AS1/AS2 EDI[ref.] communications stacks.

Binding Component• A Binding Component may choose to implement one or more communications

protocols thus offering connectivity services to SEs and thereby enabling SEs toexpose their services to local and remote consumers as well as enabling theconsumption of remote and local Web Services.

Page 59: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 61

ESB Related Standards:Impacts and Considerations

JMX & Web basedAdmin tools

JBI Environment

SE Life cycle& Services

ReconfigurationDeployment

ControlMonitoring

BC Life cycle& Services

Service Engine (SE) Framework

Normalized Message Service

Binding Comp (BC) Framework

WSDL-basedService Providers & Consumers

WS-IBC

\OtherBCs

BPELSE

\OtherSEs

Page 60: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 62

ESB Related Standards:Impacts and Considerations

Java Connector Architecture

JCA Container• Contains a JCA Resource Adapter (“RA”)

Resource Adapter• Application specific behavior

Connection Management

Security

Transactional Resources

Page 61: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 63

ESB Related Standards:Impacts and Considerations

ESB

JCA

Adapter

Endpoint

JCA managedconnection

ESB JCA container

Application

Management & Invocation

Page 62: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 64

ESB Related Standards:Impacts and Considerations

Java Management ExtensionsManagement and Monitoring of Applications andResources

• JMX Server

• JMX Clients

• Protocol Adapters and Connectors

• JMX Connector Interface

• Managed Beans (“MBeans”)

Page 63: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 65

ESB Related Standards:Impacts and Considerations

Web Services

http://msdn.microsoft.com/webservices/webservices/understanding/specs/default.aspx

Page 64: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 66

ESB Related Standards:Impacts and Considerations

Specifications

Messaging Specifications

• SOAP

• WS-Addressing

• MTOM (Attachments)

• WS-Enumeration

• WS-Eventing

• WS-Transfer

• SOAP-over-UDP

Page 65: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 67

ESB Related Standards:Impacts and Considerations

Security Specifications• WS-Security: SOAP Message Security

• WS-Security: UsernameToken Profile

• WS-Security: X.509 Certificate Token Profile

• WS-SecureConversation

• WS-SecurityPolicy

• WS-Trust

• WS-Federation

• WS-Federation Active Requestor Profile

• WS-Federation Passive Requestor Profile

• WS-Security: Kerberos Binding

• Web Single Sign-On Interoperability Profile

Page 66: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 68

ESB Related Standards:Impacts and Considerations

Reliable Messaging Specifications• WS-ReliableMessaging

Transaction Specifications• WS-Coordination

• WS-AtomicTransaction

• WS-BusinessActivity

XML Specifications• XML

• Namespaces in XML

• XML Information Set

Business Process Specifications• BPEL

Page 67: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 69

ESB Related Standards:Impacts and Considerations

Metadata Specifications• WSDL

• WS-Policy

• WS-PolicyAssertions

• WS-PolicyAttachment

• WS-Discovery

• WS-MetadataExchange

Management Specifications• WS-Management

• WS-Management Catalog

Specification Profiles• Devices Profile

• WS-I Basic Profile

Page 68: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 70

ESB Related Standards:Impacts and Considerations

Fundamentals of Service Orientation, Attachmate

Page 69: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 71

ESB Related Standards:Impacts and Considerations

Workflow Management Coalition (“WfMC”)• Founded in August, 1993

• Non-profit, international organization of workflow stakeholders

• http://www.wfmc.org

• MissionIncrease the value of customers’ investment with workflow technology

Decrease the risk of using workflow products

Expand the workflow market through increasing awareness for workflow

• StandardsWf-XML

Super Framework pluggable process definition languages (e.g. BPEL,XPDL)

XPDL - Process Definition Language

http://www.wfmc.org/standards/XPDL.htm

• BPEL4WS is another pluggable process definition language

Page 70: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 72

Enterprise Service Bus Market:Open Source and Commercial

Open SourceMule

• http://mule.codehaus.org

ServiceMix

• http://servicemix.org

jBPM - JBoss

• http://jboss.org/products/jbpm

OSWorkflow

• http://opensymphony.com/osworkflow

Page 71: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 73

Enterprise Service Bus Market:Open Source and Commercial

Open SourceWerkflow

• http://werkflow.werken.com

Agila/Twister - Apache Incubator

• http://incubator.apache.org/projects/agila

JBI - Sun Microsystems

• http://sun.java.com/integration

Apache Synapse

• http://wiki.apache.org/incubator/SynapseProposal

Page 72: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 74

Enterprise Service Bus Market:Open Source and Commercial

Page 73: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 75

Enterprise Service Bus Market:Open Source and Commercial

Page 74: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 76

Enterprise Service Bus Market:Open Source and Commercial

Page 75: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 77

Enterprise Service Bus Market:Open Source and Commercial

Page 76: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 78

Enterprise Service Bus Market:Open Source and Commercial

jBPM

http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmResponsibilities

Page 77: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 79

Enterprise Service Bus Market:Open Source and Commercial

Apache SynapseThis project implements the patterns that are often called EnterpriseService Bus or Broker. Since these are somewhat contentiousterms, we call Synapse a Web service mediation framework anddefine the aims of the Synapse as follows:

• a messaging and communications infrastructure;

• based on the principles of service oriented architectures;

• that provides a way of connecting disparate systems;

• that manages the connections and the routing of messages betweensystems;

• that intermediates and transforms messages and service interactionsindependently of the endpoint applications;

• that is neutral with respect to the languages and platforms that areintegrated - providing first class support for C/C++/COBOL/Java/.NETand other application platforms.

http://wiki.apache.org/incubator/SynapseProposal

Page 78: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 80

Enterprise Service Bus Market:Commercial and Open Source

CommercialSonic Software

• SonicMQ (JMS), SonicESB, Sonic OrchestrationTibco

• RendezvousBEA

• AquaLogicFiorano

• FioranoMQ, Fiorano ESB, Fiorano Business Integration SuiteCape Clear

• Cape Clear ESB w/Orchestration StudiowebMethods

• Enterprise Services PlatformIONA

• Artix

Page 79: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 81

Workflow Examples using ESB

Enterprise Integration Patterns using MuleSimple

• Message Splitter (259)• Message Aggregator (268)• Publish Subscribe (106)

Moderate• Composed Message Processor (294)

Page 80: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 82

Workflow Examples using ESB

Enterprise Integration PatternsMessage Splitter (259)

Page 81: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 83

Workflow Examples using ESB

Enterprise Integration PatternsMessage Aggregator (268)

Page 82: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 84

Workflow Examples using ESB

Enterprise Integration PatternsPublish-Subscribe Channel (106)

Page 83: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 85

Workflow Examples using ESB

Enterprise Integration PatternsComposed Message Processor (294)

Page 84: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 86

ReferencesSoftware Engineering Institute, Carnegie Mellon

http://www.sei.cmu.edu/

Enterprise Service Bus

David A. Chappell - 2004

Symphony Soft, Mule

Ross Mason & open source community

Super-Peer Architectures for Distributed Computing

Fiorano - 2003

The Evolution of Internet Scale Event Notification Services: Past, Present, and Future

Adam Rifkin and Rohit Khare

JBI Specification - JSR 208

Sun Microsystems

LogicBlaze, ActiveMQ, ServiceMix

James Strachen

Constructing Software For Service Oriented Architecture, Attachmate

Jean-Jacques Dubray, Ph.D.

Page 85: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 87

ReferencesJBI, The Only Game in Town

Ronan Bradley - 2005

Microsoft Web Site

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnglobspec/html/wsspecsover.asp

Better, Faster, Lighter Java

Bruce Tate

Workflow Management Coalition Specification

The Workflow Reference Model

http://www.wfmc.org/standards/docs.htm

SEDA: An Architecture for Well-Conditioned, Scalable Internet Services

Matt Welsh, David Culler, and Eric Brewer. In Proceedings of the EighteenthSymposium on Operating Systems Principles (SOSP-18), Banff, Canada, October,2001.

The State of Workflow

Tom Baeyens, jBPM Founder

http://jbpm.org/state.of.workflow.html

Page 86: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 88

ReferencesFundamentals of Service Orientation, Attachmate

Jean-Jacques Dubray

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions,Addison Wesley

Gregor Hohpe & Bobby Woolf

Page 87: ESB - An Introduction to an Enterprise Workflow  · PDF fileTom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 60

Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Tendril Networks

Tom Bender — ESB - An Introduction to an Enterprise Workflow Framework Page 89

References

2004