Loosely Coupled

Loosely Coupled is a wonderfully lucid book by Doug Kaye, who also provides IT Conversations, mp3 recordings of interviews with IT visionaries that I love to listen to while walking in the Berkeley hills. Founder and former CEO of Rational Software, Doug has an ability to explain what’s going on in Web Services, applicaiton integration, Service-Oriented Architectures, security, what’s still missing, and more. He concludes with a Strategic Checklist.

Gifted writer that he is, Doug still takes 300 pages to make his case, so I propose little more than to skim the treetops and to recommend that you grab a copy of this if you expect Web Services to impact your job (that is, if you expect to be in IT, corporate finance, or training administration five years from now).

Here’s a map of the entire Web Services vision. The bottom third is done; you’ve used it many times. The middle stuff is still being worked out; it’s a universal need, and much of it will migrate to the bottom tier. The top of the pyramid is industry-specific. Highly automated industries like financial services, high-tech, and automotive have many standards worked out and are actively using them. Kaye points out what’s here today, what’s expected tomorrow, and when it’s reasonable to expect it. The subtitle of the book is The Missing Piece of Web Services, and it’s this separation of the real from the vapor that makes this an incredibly useful book.

Why would any CIO in his right mind embrace this Web Services business? Two words: Application integration. Inside corporations, anywhere from one- to two-thirds of all programmer time is spent splicing together applications so they can talk with one another. More than anyone likes to admit, integration is often accomplished by manually intervening to transfer data from one application to another (“swivel-chair integration” or “sneaker-net”). Unfortunately, in this sort of set-up, data only flows one way. When systems rely on one another, things rapidly fall out of sync.

ERP was an attempt to glue things together systematically. However, the TCO (Total Cost of Ownership) of putting in an ERP is in the neighborhood of $15 million, most of it for integration and customization. A study found the range to be $400,000 to $300 million, with an average cost of $53,000/user! Nonetheless, most companies were happy, because they achieved enterprise integration for the first time.

You’re going to hear a lot about services in the future, and I don’t mean what maids and messengers do.  Service-Oriented Architecture (SOA) is an approach to building systems where the fundamental building blocks are connections. A software architect begins by definining the interfaces between business processes. Once these are solid and interoperable, the business process can change without screwing up the whole system.

This is important to understand, and I’m not doing the best job at it, so I’ll draw an analogy. Before loose coupling, the buzz-phrase for common interface standards wired to some process behind it, corporate IT applications were hard-wired to one another. Each M&M here is a separate business process:

With loose coupling, processes (or “services”) are separable at the interfaces. We treat each process as a free-standing bundle and insert new connections between them. Each process becomes plug-and-play:

You can see what’s coming. If I want to outsource a service, all I need to do is unplug it. In fact, I could create a business process model that replicated the service, and do what-if analysis until I hit on the best configuration of services to achieve my objectives.

The prevailing business wisdom is that you should do what you’re good at and hand off the rest. Thirty years ago, companies programmed their own accounts payable applications; now they all rely on someone else to do that. Fifteen years ago, companies ran their own payroll; now they hand it off to ADP. The trend to handing off anything that’s not your core expertise is growing. SOA and Web Services will make it hard to resist a smoothly interoperable service managed by someone for whom it’s core.

Back to Doug Kaye, for I drifted away from his message when the M&Ms showed up. The reason the afficianados of IT feel SOA is inevitable is because it provides:

  • Vendor independence, since with interoperability, there’s no lock-in
  • Standardization: it worked for the Internet, didn’t it?
  • Modularity and granularity: like in the old days, when audiophiles were forever swapping amps and speakers in and out of their systems to achieve the optimal sound
  • Reusability: to avoid reinventing the wheel
  • Lower Costs: because standardization and integration breed efficiency
  • Loose coupling, that enables one to take one step at a time and to stay in sync
  • Reduced brittleness: because problems are contained before they hit the system level
  • Scalability: because, like on the Web, one-to-many relationships replace one-to-one’s

Gartner Group asks us not to forget:

  • One-step-at-a-time development
  • Low-cost assembly of new processes
  • Consistent model for assembly of heterogeneous transactions
  • Improved clarity of application topology

Oh, and Gartner disagrees with Kaye’s benefit of Vendor Independence.