During a discussion the other day, I found myself repeatedly asking the question of how many organizations could make the leap from an organization dabbling in services (SOA believers) to an organization living SOA and benefiting from services (SOA achievers). I kept referring to the SOA chasm, this nearly insurmountable gap that needs to be crossed to move from an SOA believer to an SOA achiever. The image below is my visualization of this gap.

Why is it so hard to make it from one side to the other? It’s because this leap requires an organization to rethink everything; fundamentally changing the way they fund, govern, build, and host their applications. If you’re wondering what an SOA achiever looks like, check out this article on the Amazon.com architecture. Note the stat near the top of the page – between 100 and 150 services are accessed to build a page. These guys have made the leap.
I’ve heard a lot of contentions that the move to an SOA represents an evolution, not a revolution. I think this is true for only so long. An organization can incrementally improve their capabilities as an SOA believer but once they reach the end of the SOA believer cliff, it’s an all-or-nothing proposition. When an organization has completed the construction of their utility services and the time comes to tackle the core business entities, functions, and processes, it’s the SOA moment of truth. That quote from the Matrix before Neo tries to jump the chasm between two buildings rings in my head, “You have to let it all go, Neo; fear, doubt, disbelief. Free your mind!"
Tad Anderson
posted about the release of an SOA-related e-book from Microsoft concerning
Service Oriented Architecture (SOA). This is one area in which Microsoft has
remained notably quiet compared with competing enterprise software vendors such
as IBM and Sun. As Tad points out in his post, Microsoft has made some forays
into SOA publications and they have been pretty readable.
Their most recent publication, SOA in the Real World (mirrored here), is one of the better pieces of SOA writing that I’ve encountered,
vendor-specific or otherwise. It uses Microsoft technologies to illustrate
certain principles but it manages to maintain a largely implementation-agnostic
viewpoint. The e-book has multiple authors but it was edited together in a very
seamless way, which is not always the easiest thing to pull off.
The e-book appears to have been pulled together by
Microsoft’s Architectural Resource Center (ARC). No authors are listed
specifically and the ARC branding is new, somewhat resembling the branding used
for Microsoft’s Architecture Journal. The publication includes a pretty sound
enterprise SOA approach, detailed explanations of how some of the major pieces
of a SOA come together and a description of how Microsoft’s technologies fit in
the mix. Whether one architect’s opinion or the Microsoft party line, there are
some insightful and succinct explanations provided, such as the differences
between Workflow Foundation and BizTalk when it comes to implementing workflow.
This book is a great read for anyone looking for a solid
introduction to SOA and could well be the definitive
read for anyone dealing with SOA and Microsoft technologies.
I feel as if someone tacked a “show me your enterprise
service bus” sign onto my back and I’ve been walking around blissfully unaware
of this fact for months now. Client presentations, vendor presentations, casual
conversations – everyone wants to show off their visuals of an ESB, SOA, and
next generation architectures. Thank goodness there’s no fine print on my sign
restricting me from asking tough (and not so tough) questions.
- So how
do I avoid vendor lock in?
- Do we
really need SOAP?
- Grid
computing… show me some client references!
- JSR
168 portals… yawn.
To escalate the situation, I came up with my own next
generation architecture diagram and talked it through with a bunch of my peers.
People liked it at first because of all the nice icons. They really loved it when the answer to any of the
hard questions was “let me show you how this works, do you have a Web browser
handy?” I’ve included the diagram below for your enjoyment and jotted down some
quick write-ups with the obligatory links so that you can see, understand, and
convince yourself of the reality of these tools.

- Ruby on Rails – Although
there are tons of free services and a number of high quality paid services
that can be leveraged to enhance applications on the Web, it’s hard to go
very far without having some dedicated computing power. Using Ruby on
Rails and MySql will get you the maximum bang for your buck (that’s no
bucks for those who are counting). While you’re riding the Rails, make
sure to take advantage of Ruby gems and Rails plugins.
- Web Service APIs – Lots of
folks talk about enterprise applications that invoke common APIs to store
documents, images, or access business services. For most, it’s talk of a
far off and distant future. Would you like to see how this works today?
Check out box.net, flickr, and salesforce.com for file, image, and
business Web Service APIs in action.
- Yahoo Pipes – The minibus
within the bus, Yahoo pipes provide a visual environment for aggregating,
manipulating, and mashing up data and producing value-added output. Good
mashup implementation but the interactive visual editor gets most of the
attention – rightfully so. Imagine your business users mashing up business
data to solve problems in new and creative ways that your analysts and
developers never imagined.
- Google Base – A loosely
organized, metadata-driven, data store available through Google. Data is
accessible via an HTTP API with either Atom or JSON feeds.
- Open ID – Rather than
supported a single point of control system for authentication, like
Microsoft’s Passport, OpenID is a decentralized system that relies upon
distributed identity stores and, for the most part, ownership of a
particular URI. The system is lightweight yet still manages to provide for
the distribution of basic profile information in addition to straight
authentication. With more and more sites adopting this service, adoption
is likely to steadily increase over the next several years.
- Amazon Web Services – Despite
the lack of any hard-and-fast SLAs on their services, developers are
increasingly leveraging the AWS platform for production applications.
Their Elastic Compute Cloud (EC2) provides the average developer access to
a significant grid computing array. Their Simple Storage Service (S3) and
Simple Queue Service (SQS) provide access to globally distributed storage
and messaging services, respectively. All of this is based upon a very
fair “pay as you go” model that requires you to only pay for what you use
and scale up and down without the usual provisioning and financial
burdens.
- Sugar CRM – For one, I like
Sugar’s tagline “Commercial Open Source”. A PHP-based CRM alternative to
products like Siebel and Salesforce.com, Sugar is gaining pretty
significant traction in the marketplace and is proving to be the first
lucrative open source business application. The software has a good look
and feel to it and their distribution options will likely set the standard
for all other open source business software. You can opt for off-site
dedicated hosting (on-demand), fully configured appliance-based
distribution, or host-it-yourself (with or without a support contract).
- Bit Torrent – Peer-to-peer
file sharing technologies have yet to find their place in the enterprise.
On the open Internet, though, such technologies are said to account for as
much as 40% of global Internet traffic. As desktop search technologies
mature, sharing of decentralized data is going to be the best way to get
at all of the knowledge otherwise hidden within the enterprise.
- Google Gears – If you don’t
have the time or inclination to build offline clients to support your
disconnected users, how about just making your Web app “disconnectable”?
Gone are the cross platform, DLL, and distribution issues. Your Web app
can sense when it’s lost network connectivity and go into disconnected
mode. A great idea that will likely only gain limited traction in the
enterprise.
- Netvibes Universal Widget API (UWA)
– JSR 168 (or is it 286 now) compliant portlets seem so passé. With
widget-based start pages becoming the norm and Windows and Apple both
integrating widgets as integral parts of the future desktops, “write once,
run anywhere” were just a matter of time.
- Microsoft Virtual Earth –
I’ve blogged about this before and even did a quick Webcast. Take the hottest
Web 2.0 visualization technique (AJAX
maps), add birds-eye views in 2D and realistic 3D virtual earth renderings
that run in-browser for both IE and Firefox and you’ve got Virtual Earth.
It simply must be experienced to be believed.
- Simile
Timeline– An equally interesting visualization technique
but one that’s got significantly less press is the Simile Timeline AJAX widget
for bringing time-based information to life.
|