This article contains links to several complete chapters from Web 2.0 Architectures, a book that puts substance behind the Web 2.0 concept. Using several high-profile Web 2.0 companies as examples, authors Duane Nickull, Dion Hinchcliffe, and James Governor distill the core patterns of Web 2.0 coupled with an abstract model and reference architecture. The result is a base of knowledge that developers, business people, futurists, and entrepreneurs can understand and use as a source of ideas and inspiration.
The printed book is available through most major online and retail bookstores worldwide, and can be read online at Safari Books Online. For more information visit the O'Reilly store.
Web 2.0 Architectures © 2009 James Governor, Dion Hinchcliffe, and Duane Nickull. Reproduced by permission of O'Reilly Media Inc. All rights reserved.
So, what actually changed between the emergence of Web 1.0 and Web 2.0? This chapter compares Web 1.0 companies and technologies with Web 2.0 companies and technologies to begin developing the design patterns that distinguish them.
We use the term "Web 1.0" to refer to the web as it was understood in the period of around 1995–2000, though obviously it's not a simple matter of dates. To help us get started, see the list of Web 1.0 and Web 2.0 examples that Tim O'Reilly and others compiled during an initial brainstorming session to get a "feel" for what Web 2.0 was (see Figure 1).

Figure 1. Tim's list of Web 1.0 versus Web 2.0 examples
Now that we've explored some real-world examples of Web 2.0, it's time to move up a level of abstraction to a model, so we can figure out what's changed in the broader story. A model captures knowledge about a real-world system in a representative form or pattern. Models also act as points of reference and as sources of insight into the subtler aspects of real-world things. By breaking the whole down into its component parts, we can conduct a more granular examination of those components.
Examining a model in this manner is similar to watching track-and-field high jumpers to learn their secrets: although it might be useful to watch real-time footage of the jumps as a whole, it is often more insightful to watch slow-motion replays of each part of the jump process, focusing closely on the various components to understand the subtle things that are going on at each stage.
It's time to move from Web 2.0 models to a Web 2.0 Reference Architecture, exploring more technical aspects that developers and architects must consider when building applications. In the process, we'll map the model in Chapter 4 to a technology view that facilitates the new patterns of interaction that we'll cover in Chapter 7.
This Web 2.0 Reference Architecture does not reflect any constraints regarding implementation; it's merely an artifact that developers, architects, and entrepreneurs can use to help them design and build Web 2.0 applications. For software architects and developers, a layered reference architecture serves to align their technical views regarding various aspects. More importantly, it offers a good starting place for anyone wishing to develop applications based on the topic covered by the reference architecture (in this case, Web 2.0). As with the model in the previous chapter, you should view this reference architecture as a starting point for your technology road maps, not the one true normative architecture for Web 2.0 application development.
It's been a long climb, but it's finally time to explore some Web 2.0 patterns. This chapter could not feasibly contain an exhaustive list of all patterns associated with Web 2.0; new patterns are likely evolving as you read this sentence. Nonetheless, the patterns presented here should continue to provide a foundation for applications well into the future, even as the bigger picture continues to change.
Unlike the rest of this book, the pattern descriptions in this chapter are meant as reference material. We do not expect that you will read the chapter from start to finish, but rather that you'll refer to sections on certain patterns as the need arises. You should feel welcome to read, re-read, and circle back over the individual pattern discussions.
Finally, a note about ordering. This chapter presents the more foundational patterns first, so that the main patterns on which other patterns depend will appear before their dependencies. For example, the Mashup pattern relies upon the Service-Oriented Architecture (SOA) pattern, so we discuss the SOA pattern first.
Duane Nickull, a senior technical evangelist at Adobe, is responsible for Adobe's messaging around enterprise solutions in the SOA and web services spaces plus other forward-looking aspects, such as Web 2.0. Previously Duane cofounded Yellow Dragon Software Corporation, a privately held developer of XML messaging and metadata management software, acquired by Adobe in 2003. He also served as CTO and President of XML Global Technologies, which was acquired by Xenos Group in early 2003. Visit Duane's blog.
James Governor is principal analyst and founder of RedMonk. He leads coverage in the enterprise applications space, assisting clients with application development, integration middleware and systems management issues, as they relate to operational and business process optimization. Follow James on Twitter: twitter.com/monkchips.
Dion Hinchcliff is founder and chief technology officer for Arlington, Va.–based premier consulting firm, Hinchcliffe and Company, which specializes in Enterprise Web 2.0, SOA, WOA, and RIA strategy and execution. He actively works with IT clients in the federal government and Fortune 500. Dion writes three popular blogs (including Enterprise Web 2.0 for ZDNet) on technical topics ranging from service-orientation and enterprise architecture to project management and agile methods, is editor-in-chief of Web 2.0 Journal and AjaxWorld Magazine, and writes articles for the SOA Web Services Journal.