Home > Architecture > Does My Bus Look Big in This?

Does My Bus Look Big in This?

June 21st, 2008 deevis

I just watched Martin Fowler and Jim Webber’s collective presentation on SOA and ESB   I entered into the presentation hoping to learn about how they’d recommend I use a Mule or ServiceMix.  Well, they not only didn’t tell me which one was better or how I should configure it or anything even close to that.  I don’t want to spoil it all for you, but I’ll say that they did tell me that SOA actually stands for “Same Old Atrocity” and that ESB stands for “Erroneous Spaghetti Box”.  Oh yeah, I almost forgot – Mule and ServiceMix, while not named explicitly, may have man-boobs.

Here are my notes from the presentation:

Does My Bus Look Big in This?
———————————————-
Talk given by Jim Webber and Martin Fowler

Most integration tools are bloated lard asses because they’ve been on a rich
diet of BPM, Transformations, Security, Adapters, Rules Engine and GUI tools.

Integration software is a bridge built between two existing applications (silos)

SOA to the rescue!  ( not! )  It’s the same old stuff.  Same old atrocity -
if a single service ever needs to change then you’re screwed.

SOA != Service Oriented Architecture
SOA == Same Old Atrocity

ESB – this should fix things.  Just plumb your databases and services in
and you are suddenly Scalable and Governable.

ESB != Enterprise Service Bus
ESB == Erroneous Spaghetti Box

ESB is an Architectural Fantasy – at least as a magic bullet.

Mainstream SOA Today : it doesn’t run and it’s full of fat.

We need to think carefully, plan ahead, design interfaces wisely.

Agile Architecture:
1) Accept change as an inevitable part of the Software Process
2) The most important part of the Software Process is people – we need
to make allow the people to be effective.

Continuous Integration
Automated Testing
Refactoring – disciplined way to design and evolve the software
Behaviour Driven Development

Grow the system, incrementally.  With a solid core that functions to begin
with and then add more layers of functionality deliberately over time.

Frameworks have gotten agile, too.  Spring, Hibernate, Rails, etc…

Http and the web – broke some of the rules.  All the links *DON’T HAVE TO WORK* – 404 errors are a good compromise

The web is great because the underlying network is so simple and dumb, but it
facilitates almost any higher level usage layered on top of.

The web allows us to do things that we never considered in advance.

Great design isn’t considering all the cases and designing for them.  Great design is
when you can handle situations with your architecture that you’ve never thought of
or considered.

Guerilla SOA – just do it in the trenches but don’t bet the entire project on it.  Then
with each small victory, re-prioritise and keep delivering.

Web-based Services: The Web *is* middleware.  HTTP is a big, coordination framework.

The web is slim, trim middleware – not fat bloated like SOA and ESB.  The web is ubiquitous!

The web is incremental and, therefore, low risk.

So, we don’t need what middleware vendors are selling us.

SQUID?!?  What is it?

Squid is your ESB – a Big, Big Proxy Server.

Proprietary Middleware  vs  Web-centric techniques
——————————————————
Big, up-front design  vs  Evolutionary
Lengthy death-marches  vs  Constant delivery
Expensive  vs  Inexpensive
Risky  vs  Incremental
Enterprise Scale  vs  Internet Scale
Specialised  vs  Commoditised
Integration separate activity  vs  Integration by-product of delivering business value
Not very sensible  vs  Quite sensible

Take the same ideas we’ve come up with in application developement when attacking the larger
Enterprise issues.

Share and Enjoy:
  • Print this article!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • StumbleUpon
  • Technorati
  • TwitThis
Categories: Architecture Tags:
Comments are closed.