Microsoft's Michael Platt on Monday presented a model of the emerging Web 2.0 architecture at the Mix 06 show in Las Vegas. So at least the weekend's deliberations at Spark (which had been Michael's project) had some result. As soon as I have a link for the deck, I'll post it here [Update: Loosely Coupled now has a copy]. Will that be it, or will anything else come of Spark?
On the plus side, I think Spark surfaced some very useful ideas, and validated many others. Perhaps it is the validation, rather than what it created, that is the most valuable result. There are an enormous number of ideas floating around about the meaning of Web 2.0 and how it relates to SOA, SaaS and other trends. By getting a couple of dozen of us together, it was possible to filter out the ones that mattered.
I jotted down my own impressions of the key points that went into Michael's model as we discussed it on Sunday afternoon. For me, these are the essential ideas that have been validated over the weekend:
The user is the core, the foundation but not the center. Saying that the user is the most important component is not the same as saying that everything revolves around the user. Thinking of this architecture as having a focal point inevitably leads you to misunderstand it. It is more akin to an eternal circle an endless loop in which providers interact with consumers who in turn become providers. Every endpoint is also a starting point.
There are many gradients of trust/control, standardization, monetization, rate of change, core/edge. Enterprise architectures tend to stand at the controlled, well-defined ends of these gradients. Web 2.0 in its present-day form stands at the opposite ends, which means that it often seems chaotic and fuzzy. But the gradients form a continuum, and some of the chaotic/fuzzy stuff has a valuable role to play in the enterprise, while Web 2.0 could do with a bit more definition and order. No one yet knows, by the way, what are the optimum points on each of these gradients. We include them because it is important to recognize them, but we have not begun to calibrate them.
Content and context is the lifeblood of the architecture what brings it to life. Therefore the architecture has an obligation to provide a framework for relationships and to manage information flows. That is partly a technical requirement, providing mechanisms for messaging, quality of service, versioning, identity, security and so on. At a higher level, it must also provide participants with structures for community and discovery.
On the negative side, there were some things we didn't get to. I didn't hear anyone mention network effects, for example, which in retrospect seems a most bizarre omission. Mediation was mentioned but didn't really get taken up. It's implicit in the architecture but we didn't explore it in the depth it deserves. Another gap was a lack of participants with expertise in on-demand applications and SaaS no one from Salesforce.com or Rearden Commerce or StrikeIron, any of whom might have brought a very different perspective to some of the discussions. At one point late on Sunday I found myself obliged to point out the significance of code customization versus declarative configuration in multi-tenant architecture, which shows how little we got under the skin of the on-demand SaaS model.
In conclusion, Spark began to dig into topics that will need to be explored further before they yield up all their secrets. Maybe Microsoft will find it worthwhile to repeat the event in six months or a year's time. In the meantime, mark it down as a useful starting point. Thanks to Michael along with his colleagues Norman Guadagno and John deVadoss for making it happen.