Many I talk to in the Enterprise world are still struggling to understand the ramifications of Web 2.0. What is it? What does it mean? How will it change the world?
I find pictures often do convey their promised 1,000 words or more, so I struggled with trying to fit together all the concepts in a single diagram without making it too confusing. Along the way I got to reading Dion Hinchcliffe’s ZDNet blog about how Web 2.0 and SOA are related and the light bulb went on.
Hinchcliffe has it right that Web 2.0 is only a piece of a bigger picture. Once I saw things that way and went looking for the rest of the pieces of the Enterprise Connectivity picture, I came up with a pretty complete visual map that tied together all of the concepts I wanted to include:
From this diagram we can see the interplay of Simplicity, which leads to Collective access, versus Complexity, which leads to closed Proprietary systems. Web 2.0 is all about enabling and empowering collective applications, whereas the old school Enterprise thinking is all about keeping things closed and proprietary, meaning very few could participate.
This brings us to the question of what types of participation are being discussed. Again we have a continuum from simple scrapbook integration in the form of Blogs and Wikis and then Mashups and feeds such as RSS, all the way to complex and deeply commingled integrations that ultimately may revolve around deep data integration, such as we find within the big classic ERP suites.
Collaboration is easier to achieve than deep integration, and is more in keeping with the Web 2.0 spirit. One has to ask what the meaning is of integration that is so deep that it travels below the Business Logic Layer. Such integration runs the risk of either having to duplicate that logic across multiple applications or corrupting the underlying data for one application or another—the bane of
Enterprise integration projects.
Perhaps leaning more towards collaboration and staying as far up the business logic chain as possible is a better goal, both from the standpoint of usefulness, as well as from the standpoint of keeping the corporate data healthy. The ramifications of that is somewhat coarser grained access. Zillions of tiny transactions and updates won’t make sense or won’t work well, unless the zillions are as a result of large numbers of people collaborating together where each one has a fairly coarse grained experience.
But the essence of encouraging that collaboration to occur is simplicity, another theme the graphic brings out. Skills, particularly where arcane computer concepts are concerned, are a long tailed distribution. The number of people who can handle complexity goes down rapidly as the complexity goes up slightly. Successful platforms simplify versus the older platforms. Hence REST is rapidly outstripping SOAP as the preferred method of creating web services. The incredible success of Ruby on Rails in such a short time is a direct reflection of its simplicity relative to its power compared to older platforms. To increase collaboration, simplify.
The essential lesson that Web 2.0 is trying to teach was eloquently expressed by author Stuart Robbins who essentially said that the focus is shifting from connecting software over the network to connecting people over the web.
How does your business and software accomplish that?