Web 2.

0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value
Coach Wei, cwei@nexaweb.com

Abstract This essay re-examines web 2.0 by looking at its technology stack and impact on enterprise computing, in contrast to the common consumer-centric point of view. Categorizing the landscape into Consumer Web 2.0 and Enterprise Web 2.0, the essay establishes a web 2.0 technology stack that forms the foundation of a paradigm shift called “architecture of partition”. In the end, the business impact of web 2.0 technologies on enterprises is presented.

Table of Content Web 2.0: the State of Confusion ..................................................................................... 2 What Is Web 2.0?............................................................................................................ 2 The “Consumer-centric” View Causes Confusion ..................................................... 2 The Differences between Web 1.0 and Web 2.0 ........................................................ 3 The Two Pillars: Consumer Web 2.0 and Enterprise Web 2.0................................... 4 Key Characteristics of Consumer Web 2.0 and Enterprise Web 2.0 .......................... 5 Web 2.0: The Paradigm Shifts ........................................................................................ 5 Architecture of Participation: A Usage Paradigm Shift.............................................. 5 Architecture of Partition: A Technology Paradigm Shift ........................................... 5 The Rise of a Web 2.0 Technology Stack....................................................................... 6 The Fundamental Flaws of Web 1.0 ........................................................................... 6 The Web 2.0 Technology Stack.................................................................................. 7 From Browser to Application Client Container.......................................................... 8 From Unreliable HTTP to Internet Messaging Bus.................................................... 8 From Application Server to Mashup Server: Next Generation Middleware .............. 9 Compatibility with Web 1.0 Is Key ............................................................................ 9 The Business Value of Web 2.0 for Enterprises ........................................................... 10 A Better Way for Enterprise IT ................................................................................ 10 New Possibilities – Social Computing...................................................................... 11 Summary ....................................................................................................................... 11 References..................................................................................................................... 12

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 1

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

Web 2.0: the State of Confusion
Web 2.0 is exciting, but there are lots of confusions today, even among noted experts. There are two schools of opinions among experts. The first school is critical of Web 2.0. This group is represented by Tim Berners-Lee and Russell Raw. Their opinions are: 1. There is nothing fundamentally different between “Web 1.0” and the so-called “Web 2.0”; 2. Web 2.0 has nothing new and is based on the same technology as of Web 1.0; 3. Web 2.0 is just a piece of jargon. The second group of experts are Web 2.0 champions. This group is represented by Tim O’Reilly, Paul Graham and Dion HinchCliffe. This group argues that: 1. Web 2.0 is here and it is big; 2. “Architecture of Participation”, “the Network Effect (social network)”, and “Harnessing the collective intelligence” are fundamentally new and different from web 1.0; 3. Web 2.0 is more about a paradigm shift in how people use the web, less about new technology. “Web 2.0” is not based on a technology shift, but rather a usage paradigm shift. Despite the confusion, the term “Web 2.0” is getting widely known, accepted and adopted since Tim O’Reilly’s original essay on Web 2.0 published in September 2005. However, these confusions must be addressed. The followings are three key questions that need to be clarified: 1. What is Web 2.0? Is it just a consumer phenomenon? 2. Is there any new technology that differentiates web 2.0 from web 1.0? 3. Given that the most web 2.0 examples such as MySpace, Flickr and Google do not relate to enterprises well, what is the real, tangible and measurable business value of web 2.0 from an enterprise perspective? It is time to re-examine Web 2.0.

What Is Web 2.0?
Web 2.0 is the next evolution of the web that has a new usage paradigm as well as a new technology paradigm. The former is characterized by “architecture of participation” and the latter is characterized by “architecture of partition”.

The “Consumer-centric” View Causes Confusion
There is no doubt that the “web 2.0” phenomenon is ignited by the success of consumer websites like MySpace, YouTube and Flickr. From these consumer website, analysts established “social networking” via the network effect as a key feature of web 2.0. Though it is possible that enterprise oriented social computing applications may emerge

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 2

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

to address specific enterprise concerns, it is not clear how social networking can change enterprise IT on a more fundamental level. Analysts further characterized “Architecture of Participation” as another key element of web 2.0, as evident from YouTube and Flickr. Similarly it is unclear whether/how “architecture of participation” would impact enterprise IT mission. Enterprise IT’s mission is simple: to enable and facilitate the interaction and integration of IT systems and people. There is no doubt that web 2.0 applications like blogs and wikis based on “architecture of participation” can be useful to enterprises, but is there anything beyond blogs and wikis? The key technology behind most consumer web 2.0 websites, Ajax, is not new. The popular “mashup” concept sounds new but in reality is based on what has been built into the browser for many years. The “consumer-centric” perspective limits how we look at the technology aspect of web 2.0 and leads to the conclusion that web 2.0 involves no technology advancement. Further, “architecture of participation”, “social networking” and “harness the collective intelligence” are all usage patterns. They do not relate to technology. In fact, they can be supported well on web 1.0 technologies; reinforcing the common belief that web 2.0 has no technology foundation but rather a buzzword created by marketers.

The Differences between Web 1.0 and Web 2.0
Tim O’Reilly observed the differences between web 1.0 and web 2.0 from a consumer perspective in his original essay: DoubleClick Ofoto Akamai mp3.com Britannica Online personal websites Evite domain name speculation page views screen scraping Publishing content management systems directories (taxonomy) Stickiness --> --> --> --> --> --> --> --> --> --> --> --> --> --> Google AdSense Flickr BitTorrent Napster Wikipedia Blogging upcoming.org and EVDB search engine optimization cost per click web services Participation Wikis tagging ("folksonomy") Syndication

From Consumer Web 1.0 to Consumer Web 2.0

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 3

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

From an enterprise perspective, web 2.0 introduces a very different set of changes: Technology Browser Application Client Container HTML Declarative application markup HTTP (Pull) Push/pull, pub/sub, reliable Application Server Mashup Server Enterprise Application Integration SOA/Enterprise Mashup Culture/business operations Press release Corporate blogs Centralized Distributed Packaged software; close source SaaS / On-demand; open source Superbowl/TV Ads Google Ads Top down (dictatorship) Bottom up (democracy)
From Enterprise Web 1.0 to Enterprise Web 2.0

The Two Pillars: Consumer Web 2.0 and Enterprise Web 2.0
Web 2.0 has two pillars: consumer web 2.0 and enterprise web 2.0. These two do overlap, in particular, in the area of social computing.

Consumer web 2.0 and enterprise web 2.0 have different characteristics, as shown below: Consumer Web 2.0 Enterprise Web 2.0 Architecture of Participation Architecture of Partition Social networking On Demand computing/SaaS Harnessing the collective intelligence Enterprise social computing HTML Mashup Enterprise mashup The Web As Platform Rich User Experience

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 4

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

Key Characteristics of Consumer Web 2.0 and Enterprise Web 2.0

The technology paradigm shifts with web 2.0 brings tremendous, tangible and measurable ROI to corporate IT. Further, the new possibilities enabled by web 2.0 such as social computing are bringing corporate IT to new horizons.

Web 2.0: The Paradigm Shifts
Web 2.0 refers to the 2nd generation web that is driven by two paradigm shifts from the first generation web: 1. A usage paradigm shift 2. A technology paradigm shift

Architecture of Participation: A Usage Paradigm Shift
The usage paradigm shift is the most obvious aspect of web 2.0 as seen from various consumer websites like MySpace, YouTube and Flickr. The characteristics have been very well articulated by Tim O’Reilly, Dion HinchCliffe and Jeremy Geelan, etc: 1. Architecture of participation 2. The network effect via social networking 3. Harnessing the collective intelligence

Architecture of Partition: A Technology Paradigm Shift
Over the history of computing, computing architecture partition has been swinging back and forth between two extremes: server-centric or client centric architecture. We started with mainframe computing, which is a highly centralized model. In the mainframe era, computing happens on the server side and the client is a dumb display terminal. The next paradigm is client/server computing, where most of the computing happens on the client side. During web 1.0, we went back to a model similar to mainframe, where all the processing happens on the server side and the client side is simply a browser for displaying HTML pages. The truth of the matter is that neither server centric nor client centric architecture is always appropriate. Unfortunately developers never had the flexibility to deciding the right architectural partition for their applications. Web 2.0 brings architectural partition flexibility to developers for the first time in history. With web 2.0, developers can partition the application in a way that is best appropriate for the application, rather than trying to fit into a pre-determined architecture. Some applications are best served by leaving only user interface and some UI logic on the client side. Some applications require all UI logic on the client side to deliver optimal result. For even more sophisticated applications, there is requirement to have a certain business logic and data on the client side as well. Web 2.0 technologies enable developers to decide how much computation stays on the client side and how much stays on the server side, delivering optimal results.

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 5

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

UI Client Tier

UI UI logic

UI UI logic

UI UI logic Biz logic

UI UI logic Biz logic Data

Web 2.0 (2005 - future)

Web 1.0 (1990-2005) Client/Server (1970s-1990s) Mainframe (1940s-1970s)

UI logic Server Tier Biz logic Data

UI logic Biz logic Data Biz logic Data Biz logic Data Data

The Evolution of Computing and Architecture of Partition (source: www.coachwei.com)

The Rise of a Web 2.0 Technology Stack
The Fundamental Flaws of Web 1.0
Web 1.0 was designed for sharing and browsing hyper-linked documents. Its technology stack serves this purpose well. However, it was never meant for applications and has following limitations: 1. The “click, wait and page refresh” interaction model: This user interaction model is designed for document browsing, not for interactive applications. Interactive applications require “stateful” computing that features incremental updates and asynchronous communications. 2. Lack of support for two-way communications: the web 1.0 communication based on HTTP is a client-pull model that can be initiated by the client only. Server can not initiate communications with clients. A good analogy to this model is a phone system that can only receive calls but not make calls. This one-way communication model is fine for browsing. However, a lot of applications require two way communications (client pull as well as server push). 3. Lack of support for messaging reliability: A lot of business applications have a certain level of messaging reliability requirement beyond what web supports, For example, only and only once delivery, guaranteed order of delivery and guaranteed delivery. The highly distributed and heterogeneous nature of the

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 6

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

4.

5.

6. 7.

Internet means that it can not guarantee any of such. The frequent network disruption of Wi-Fi and wireless data services makes the problems even worse. Lack of support for mobile devices: mobile web was an afterthought during web 1.0. Over the years, the industry has tried many different approaches to make the web available and useable on mobile devices, such as web clipping and WAP. Lack of support for accessibility: HTML itself does not offer good accessibility support. It mixes visual presentation with data and provides no clear semantic ways of indicating the meaning of different elements so that accessibility tools can convey to users. Browser vendors have done a lot of workaround to make the web accessible, though significantly limited by the underlying inefficiencies. Lack of support for rich user experience: The complexity of business applications requires much richer interactivity than standard browsing experience. Lack of support for offline computing

The problems of web 1.0 have not gone unnoticed. Many developers have tried many different “hacks” to deal with various aspects of the problems, such as writing JavaScript widgets for richer user interface and using techniques like “comet” to provide two-way communications. To a large degree, the rise of Ajax precisely indicates how web 1.0 does not deliver what people are looking for as the web moved beyond browsing.

The Web 2.0 Technology Stack

HTML UI Web Browser

User Interface Client logic and data Application Client Container

espon se Unre liable HTTP R

Web Application Server SOAP REST JSON JDBC Legacy

Web 1.0 Technology Stack

From Web 1.0 to Web 2.0: The Evolution of Technology Stack (source: www.coachwei.com)

Web 2.0 introduces a technology stack that addresses the flaws of web 1.0 and delivers the “architecture of partition”. This new stack includes three building blocks:

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

t Reques le HTTP Unreliab

Internet Messaging Bus

Enterprise Mashup Server

Web 2.0 Technology Stack

Page 7

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

1. Application Client Container: the client engine for running rich web 2.0 applications; 2. Internet Messaging Bus: a bi-directional reliable messaging layer. 3. Enterprise Mashup Server: the middleware that enables mashing up heterogeneous data, services and business processes.

From Browser to Application Client Container
“Application Client Container” is the client engine for web 2.0 applications. Many of the Ajax toolkits available today are early example of such client engines. What is an Application Client Container (ACC)? 1. ACC is stateful. A web browser is designed to be stateless – it discards all the current state information when a new page is loaded. This is the model of “browsing”. Applications are inherently stateful. To support stateful applications on top of the stateless browser engine, developers have to do a lot of hacking to work around the problem. ACC gives applications such support out of box. 2. ACC supports asynchronous interactions by default while browsers require careful developer coding to do so; 3. ACC can support offline computing while web 1.0 applications are online only. 4. ACC supports mobile computing as a first class citizen. 5. ACC supports accessibility. 6. ACC supports rich user experience. There are 180 JavaScript libraries available today trying to compensate for the wrong client platform for applications. These Ajax toolkits represent the early evolution of Application Client Container. They still have limitations (for example, lack of support for offline computing), but they are leading the way to the next generation client side computing.

From Unreliable HTTP to Internet Messaging Bus
The Internet was initially designed for presenting and sharing hyperlinked documents in the form of Web pages. Therefore, the communication layer is based on the HTTP “Request/Response” model, which adequately serves the purpose of “browsing.” Internet Messaging Bus is an enhanced HTTP communication layer that delivers reliability and two-way communications. First off, Internet Messaging Bus supports guaranteed message delivery. Without IMB, when a user submits a request to the server, whether this request will actually arrive at the server or not is unpredictable. If there is a network problem (either with the ISP or within the corporate network itself), there is a good chance the request will be lost. However, this is not always a problem for Internet browsing, as the user can always click the link a second and third time if the first URL request is lost. Although this seems like a basic example in very basic terms, it is a serious problem for mission critical enterprise applications. The case and point being, that it is not out of the realm of possibility that a multi-million dollar transaction can be literally be “riding on the line.”

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 8

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

IMB supports guaranteed order of message delivery. Without IMB, if the user submits two requests in a row, there is no guarantee that the first request will arrive at the server before the second request. Again, while this is not necessarily a problem for browsing Web pages, the result of a later request can be dependent on an earlier request when using the Internet for business applications. A random ordering of message delivery makes the application behavior unpredictable — a pattern that many Web application users are familiar with. IMB supports once and only once message delivery. Without IMB, a user request may arrive on the server side twice or even more, if some network problem caused the message to be cached and delivered more than once. Again, while this is not necessarily a problem for browsing Web pages, it can cause serious transactional problems for business applications. IMB supports server-initiated communications (server push). HTTP supports client-pull only. In a “client pull only” model, the server works like a phone that never rings. Obviously this is not a problem for browsing because the server needs to simply respond to page requests. However, many enterprise applications require the server to initiate interactions. For example, a stock trading application needs to push the latest stock price to the end user from the server. To side step this problem, developers typically use “client polling,” but this significantly increases the server/network load and therefore decreases application performance.

From Application Server to Mashup Server: Next Generation Middleware
The evolution on the server side is the emergence of a new category of middleware called “Enterprise Mashup Server”. Application Server is the middleware component in a web 1.0 stack. An “Enterprise Mashup Server” is not a replacement for an application server, but instead, an additional component to dramatically simplify the development and maintenance of composite applications. An enterprise mashup server enables three tasks: 1. Data integration 2. Service/business process integration (logic integration) 3. UI integration “Mashup” as a term was created in the consumer space to describe the kind of applications like “HousingMaps”. As a consumer application, “HousingMaps” requires only UI integration. For business applications, it is highly likely there will be need to achieve integration at data tier or middle tier. In particular, the adoption of SOA creates a natural service repository for service/business integration for mashup applications.

Compatibility with Web 1.0 Is Key
The rising web 2.0 technology stack is not replacing the web 1.0 stack. Instead, compatibility with web 1.0 is a key requirement.

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 9

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

On the client side, application client container is not replacing browser. Browsers serve the purpose of web browsing well. Application client containers may be implemented by leveraging available means from web browsers and are likely to run inside web browsers. Some of the Ajax Engines, such as Apache XAP, are early examples of such client containers. . Internet Messaging Bus is not a replacement for HTTP either. Instead, IMB relies on HTTP and is built on top of HTTP. Mashup Server does not replace application server either. Application server functionalities are just as important for web 2.0 application as web 1.0 ones. Enterprise Mashup Servers typically run inside an application server, thus enabling developers to leverage all the web 1.0 capabilities.

The Business Value of Web 2.0 for Enterprises
A Better Way for Enterprise IT
Corporate IT has always been centered on application development and maintenance. Each evolution of computing, from mainframe to client/server to web 1.0, brings dramatically improved efficiency, significantly lowered costs and new business opportunities. Web 2.0 is not different either. The web 2.0 technology stack offers real, tangible, and measurable benefits to enterprises as a better way to build, deploy and maintain enterprise IT solutions, resulting in better user productivity, lower operations costs and reduced development and maintenance costs. • Reduced development and maintenance costs. The Web 2.0 technology stack eliminates the need to install client software, enabling companies to leverage the Internet more cost-effectively. Equally important, an organization can deploy the same version of a web 2.0 application to all its users, across heterogeneous client configurations and network connection types. This eliminates the need to develop and maintain multiple client software versions, the need to standardize client systems and the need to upgrade network infrastructure. Reduced operations costs. All clients gain access to new or updated business application immediately upon connecting with a server—no installation is required. Businesses can thus enjoy all the cost advantages of a centralized deployment and management model. Improved responsiveness to business drivers. The Web 2.0 technology stack empowers development teams to respond more quickly to changing business needs and shorten time-to-market for applications. The emergence of “situational applications” is a direct result of that the web 2.0 technology stack enables users, including less technical users, to create applications “instantly” as needed.

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 10

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

Combining the web 2.0 technology stack with SOA and enterprise legacy systems, an much more agile and cost-effective IT infrastructure emerges. This infrastructure is sometime being called as “Enterprise 2.0”.

New Possibilities – Social Computing
Web 2.0 not enable brings significant benefits to application development, deployment and maintenance, but also brings in new possibilities: social computing. The most visible examples of social computing are blogging and wikis. Blogging enables normal business users to participate “web content development” without knowing anything about technology. As a result, it enabled an entire new way of marketing that is able to reach more people deeper at a much lower costs than ever before. Wikis, on the other side, enable new ways of collaboration that is previously only possible with expensive proprietary software. The emergence of “situational applications” is likely to have an even more profound impact. By leveraging heterogeneous data and content as well as the collective intelligence via mashup tools, business users who traditionally have to rely on enterprise IT teams now have more power at hand than ever.

Summary
Web 2.0 is the next evolution of the web that has a new usage paradigm as well as a new technology paradigm. The former is characterized by “architecture of participation” and the latter is characterized by “architecture of partition”. Web 2.0 is more than a consumer phenomenon. There is a consumer as well as an enterprise aspect of web 2.0. Consumer Web 2.0 and Enterprise Web 2.0 intersect at social computing. Contrary to the common wisdom, Web 2.0 is based on a new technology foundation from Web 1.0. Though still evolving, the web 2.0 technology stack includes an application client container, an internet messaging bus and an enterprise mashup server. This technology stack enables “architecture of partition”, giving developers the capability to decide the appropriate architecture partition according to application requirements for the first time in history. Beyond being a consumer phenomenon, web 2.0 has a significant impact on business computing by enabling better, faster, richer applications while reducing costs, with tangible and measurable real ROI.

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 11

12/7/2006

Web 2.0 Re-examined: The Paradigm Shift, Technology Stack and Business Value

References
1. IBM DeveloperWork’s Interview of Sr. Tim Berners-Lee: http://www128.ibm.com/developerworks/podcast/dwi/cm-int082206.html, 8/22/2006; 2. “Web 2.0? It doesn’t exist”, Russell Shaw, http://blogs.zdnet.com/iptelephony/?p=805, 12/17/2005; 3. “What is Web 2.0”, Tim O’Reilly, http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web20.html, 9/30/2005; 4. “Web 2.0 Is here”, Dion HinchCliffe, http://web2.wsj2.com/web2ishere.htm, 9/24/2005; 5. “Tim Berners-Lee Comes Under Fire: Is It Time He Let Go of "Web 1.0"?”, Jeremy Geelan, http://web2.sys-con.com/read/267479.htm, 9/5/2006; 6. “All We Got Was Web 1.0, When Tim Berners-Lee Actually Gave Us Web 2.0”, Dion HinchCliffe, http://web2.wsj2.com/all_we_got_was_web_10_when_tim_bernerslee_actually_g ave_us_w.htm, 9/4/2006; 7. “The "Perfect Storm" of Web 2.0 Disruption”, Jeremy Geelan, http://web2.syscon.com/read/267370.htm, 9/7/2006; 8. “The Co-Evolution of SOA and Web 2.0”,Dion HinchCliffe, http://web2.wsj2.com/continuing_an_industry_discussion_the_coevolution_of_so a_and.htm, 6/6/2006; 9. “Web 2.0: the State of Confusion?”, Coach Wei, http://www.coachwei.com/blog/_archives/2006/9/11/2314800.html, 9/11/2006; 10. “Every Organization Should Have A Web 2.0 Story”, Coach Wei, http://www.coachwei.com/blog/_archives/2006/7/25/2162250.html, 7/25/2006; 11. “Web 2.0 Communication Layer: from HTTP to Comet to Internet Messaging Bus”, Coach Wei, http://www.coachwei.com/blog/_archives/2006/10/13/2414519.html, 10/13/2006; 12. “Does every organization need a Web 2.0 strategy?”, Dion HinchCliffe, http://blogs.zdnet.com/Hinchcliffe/?p=60, 8/18/2006; 13. “Gartner's 2006 Emerging Technologies Hype Cycle Highlights Key Technology Themes”, http://www.gartner.com/it/page.jsp?id=495475, 8/9/2006; 14. “Web 2.0 Summit: IBM evolves vision of SOA and Web 2.0”, Dion HinchCliffe, http://blogs.zdnet.com/Hinchcliffe/?p=72, November 2006;

Published from “Direct from Web 2.0” blog (http://www.coachwei.com)

Page 12

12/7/2006