SOA.WRK.

Tuesday Oct 16, 2007

Web 2.0 vs. SOA, Part II of the SOA debate

In Part 1 of this series , we discussed REST vs. SOA. REST is a concept derived from Web version 1.0. Will a new and improved Web 2.0 change anything?

What is Web 2.0?

Many people simply define "Web 2.0" as blogs, wikis, RSS feeds and social networking applications. But all of these web applications also exist in Web 1.0 time. So, what exactly is Web 2.0? Web 2.0 is not a new version of the Web, but started as the name of an internet business conference held October 5-7, 2004 at the Hotel Nikko in San Francisco to discuss the theme "The Web as Platform." This was an invitation only conference for current and former CEOs, executives, VCs, and analysts to network and exchange ideas on how to make money again through the Web after the crash several years ago.

The Web 2.0 conference was successful and widely-reported. The term "Web 2.0" became popular, but its definition remains hotly debated. Everyone had their own view of what Web 2.0 was all about. A year later, Tim O'Reilly, who organized the Web 2.0 conference with John Battelle, provided both a short definition and a more detailed explanation of the term. However, there are still many who believe "Web 2.0" is nothing more than a marketing hype.

The proponents of Web 2.0 generally accepted O'Reilly's definition which defines Web 2.0 as the networked platform where Web 2.0 applications exhibit some of the following attributers:

  1. The Web as Platform
  2. Harnessing Collective Intelligence
  3. Data is the Next Intel Inside
  4. End of the Software Release Cycle
  5. Lightweight Programming Models
  6. Software Above the Level of a Single Device
  7. Rich User Experiences

Core vs. Edge vs. Convergence

"The Web as Platform" is not a new idea. Netscape promoted this concept in the 90s while trying to compete against Microsoft. So are the other Web 2.0 attributes identified by O'Reilly. What really differentiates Web 2.0 from Web 1.0? O'Reilly believes that Web 1.0 companies failed because their business model and/or applications targeted only the head or core of the web such as clients from large Fortune 500 companies. Web 2.0 applications address the tail or edge of the web which includes average users like us. However, the head vs. tail (or core vs. edge) argument can not explain why similar web applications failed in Web 1.0, but later succeeded in 2.0 (e.g., Nupedia vs. Wikipedia).

web applications

Personally, I think the key difference between Web 1.0 and Web 2.0 applications is the convergence of the content publishers and consumers. In Web 1.0 applications, consumers generally have no impact on the content published. But consumers of a Web 2.0 application can make changes directly to the content served by the application. The symmetrical relationship between publishers and consumers enables the convergence of alternative views that fosters collaboration on content development and forms communities of like minds as seen in blogs, wikis, tagging, and social networking sites. The resulting convergent web applications agree with the intuitive definition of Web 2.0 that most people have.

Round 2: Web 2.0 vs. SOA

We have made many advances in web technologies since the crash. Web applications from five years ago may seem dated now, but from a functional point of view, there is no significant difference between them and today's Web 2.0 applications. For example, a wiki, like Nupedia, with selected content editors is normally considered a Web 1.0 application. It can become a Web 2.0 application by allowing everyone to register as an editor. Yes, there will be new obstacles, like scalability, spam, and vandalism, to be addressed in the 2.0 version. But both versions provide basically the same distributed content publishing and management services. The architecture of web application is great for such problems. For other problem domains, this architecture may not be a good fit.

SOA, on the other hand, is an architectural style applicable to general problems. SOA may not be optimized for problems solved by web applications, but it is a good architectural style for solving many other types of problems. In fact, many Web applications incorporate SOA as the solution for accessing services provided by other components or exposing its service interface definitions to others. Web applications are great for specific problem domains, but not as the replacement for SOA in other types of problem domains.

BTW, this year's Web 2.0 party, now called the Web 2.0 Summit, is being held this week in San Francisco. The new theme is "Facebook/Myspace... as a Platform," which is simply the 2.0 version of "eBay/Amazon... as a Platform" of a generation ago.

Comments:

Post a Comment:
Comments are closed for this entry.

Calendar

Feeds

Search

Links

Navigation

Referrers