JimWebber MartinFowler Does my Bus look big in...

60
Does my Bus look big in this? Keynote Session Martin Fowler and Jim Webber

Transcript of JimWebber MartinFowler Does my Bus look big in...

Page 1: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Does my Bus look big in this?Keynote Session

Martin Fowler and Jim Webber

Page 2: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Integration: A Retrospective(Save Ferris)

Page 3: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Back in the day

Page 4: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Application silos were normal

Page 5: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Some smart people spotted a niche

Page 6: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

And they built integration software

Page 7: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

And it sort of worked

Page 8: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

And silos were bridged(and yes, it was that ugly)

Page 9: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Over the years

Page 10: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Competitors came along

Page 11: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Integration experts grew powerful

Page 12: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

And integration software grew…

Page 13: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

… the wrong way

Page 14: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

On a rich diet

BPM

GUI Tools

Transformations

Security

Reliability

Rules Engine

Low Latency

Adapters

Reliability

Page 15: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

And more silos were bridged(it doesn’t get any prettier)

Page 16: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

SOA to the rescue!

Page 17: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Same Old Architecture?

BPM Services

Business Service

Business Service

Business Service

Basic Service

Basic Service

Basic Service

Basic Service

Basic Service

Page 18: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Same old atrocity

Accounting Marketing

SupportProduct Development

Page 19: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

ESB – Enterprise Service Bus? Or…

BPM Service

Business Service

Business Service

Business Service

ESB

Basic Service

Basic Service

Basic Service

Basic Service

Basic Service

Page 20: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

ESB - Erroneous Spaghetti Box?

Enterprise Service Bus

Page 21: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Architectural Fantasy

Page 22: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Ungovernable

Page 23: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Doesn’t Scale

Page 24: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Big SOA gets political

Your cunning co-worker

You and your boss

Page 25: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Mainstream SOA Today

++++

Page 26: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

But resistance is not futile

Page 27: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Agility(Meanwhile, back in Gotham City...)

Page 28: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

The beauty of traditional process

Page 29: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Time for a group hug!

Page 30: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

We got tools and techniques...

Page 31: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Learning to grow, incrementally

Page 32: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Frameworks got better at agile too

Page 33: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

T’Interweb(Surprisingly isn’t just great big Rails app)

Page 34: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Why the Web was inevitable...

Tim Berners-Lee is a physicist

(Sir Tim is also a knight, but that’s not important right now)

Page 35: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Why the Web was inevitable...

He lived in a hole in the ground

Underneath a big mountain

Page 36: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Why the Web was inevitable...

And because he was a physicist (and not yet a knight)...

...he only had a big atom-smashing thing for company

Page 37: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Why the Web was inevitable...

And for a lonesome physicist stuck underground with smashed up atoms for company...

...gopher just wasn’t going to cut it!

Page 38: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

The Web broke the rules

Page 39: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

The Web is protocol-centric

Page 40: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Dumb network, good idea!

Page 41: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Innovation at the edges, heavy lifting in the cloud

Page 42: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

It has a serendipitous architecture

Page 43: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

La lucha continua!(Guerrilla SOA, slight return)

Page 44: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Traditional SOA

Them

Us

Page 45: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Guerrilla SOA

Page 46: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Service Infrastructure (Endpointware)

Services Host Business Processes

Page 47: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Business people own those processes

Page 48: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Business folks own services

Service Infrastructure (Endpointware)

Page 49: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Prioritise and deliver incrementally

Page 50: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Then re-prioritise and keep delivering

Page 51: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Web-based Services(The browser is your granddad’s Web)

Page 52: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

The Web is middleware

Page 53: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Ubiquitous on-ramp

Page 54: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Incremental

Page 55: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Low risk

Page 56: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Middleware optional

Page 57: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

We still don’t like ESBs(with one or two exceptions)

Page 58: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Proxy server is your ESB

Service Service Service Service

Big, Big Proxy Server

Service Service Service Service Service

Page 59: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

A brilliant flash of hindsight

•Proprietary middleware

–BUFD

–Lengthy death-marches

–Expensive

–Risky

•Web-centric techniques

–Evolutionary design

–Constant delivery

–Inexpensive

–Incremental

–Enterprise scale

–Specialised

–Integration separate activity

–Not very sensible

–Internet scale

–Commoditised

–Integration by-product of delivering business value

–Quite sensible

Page 60: JimWebber MartinFowler Does my Bus look big in thisxjaoo.dk/dl/...MartinFowler_DoesMyBusLookBigInThis.pdf · Martin Fowler and Jim Webber. Integration: A Retrospective (Save Ferris)

Martin Fowlerhttp://martinfowler.com

Jim Webberhttp://jim.webber.name