Web 2.0 has gained popularity since the mid 2000s. Although there are many definitions, Web 2.0 is commonly used to describe the trend in the use of Web technology to enhance collaboration among users, promote a democratic model where all users can create and share content, and encourage user creativity. Broadly speaking, the term Web 2.0 is used to represent the new and innovative way in which Web is being used . In addition, Web 2.0 also embodies a few new technologies that are supporting and fuelling this new use. Web Services that combines components and Web technologies is a dominant technology in Web 2.0.
In Web 2.0, users can own the data on a site and exercise control over that data. In traditional websites, the users are limited to viewing the content that the site owner provides. Web 2.0 sites often feature a rich, user-friendly interface based on Ajax, Flex or similar rich media. The sites may also have social-networking aspects. Simply stated, a social network allows users to build online communities to share interests and to explore the interests and activities of others. Users can upload pictures, songs, videos and other artifacts. Some social networks offer additional features, such as the ability to create groups for users with common interests or hold discussions in forums.. With increased features, social networking has grown dramatically and has become part of everyday life. The types of social networking services include dating clubs, friendships, and recommender systems. In addition, numerous social networking sites have sprung up catering to different countries, languages and cultures. Facebook is a good example of social networks (see the sidebar below).
Web Services directly support components that can be invoked over the Internet. The main idea of Web Services (WS) is quite simple – combine Web and components into a single framework where the user to component as well as component to component interactions are conducted by using standard Web technologies. In other words, a WS component defines a set of services that can be invoked from a browser or another WS component. XML is used for information exchange and messages are delivered by using HTTP. WS supports description, publication, discovery, selection, and binding of services over standard Web protocols. In essence, WS:
Provides discrete building-block applications (business components) based on XML that connect to each other and other larger applications over the Internet.
Supports a standard means to describe what services are provided by applications (business components) and to make the service available to others.
Is designed to be accessed directly by another service or software application (unlike Web sites, which are pictures of data designed to be viewed in a browser by a person).
Allows applications to share data, and invoke capabilities from other applications without regard to how those application were built, what platform they run on, and what devices are used to access them.
The main idea of Web Services is quite simple -- instead of using Web for document exchange, start using Web for serious corporate applications where all services are delivered by using the Web technologies, especially XML and HTTP. Thus, Web is used to support LOTC (locate, open, transfer, close) operations for distributed applications. Specifically, Web Services consist of (see Figure 1):
UDDI (Universal Description, Discovery and Integration) to provide a directory of services on the Internet. UDDI provides yellow pages directory for Web Services so that the potential users (clients/consumers) can locate the needed services.
WSDL (XML Web Services Description Language) to define XML Web Services in terms of the formats and ordering of messages. WSDL is an XML document that describes the location and interfaces a particular service support. It is used by the client to open a Web Service and is a contract between Web Services clients and servers.
SOAP (Simple Object Access Protocol) through which XML Web Service consumers can send and receive messages (transfer) using XML. SOAP provides explicit serialization (HTTP + XML description) protocol used in service exchanges.
XML & HTTP are the core open Internet technologies that are the foundation of XML Web Services.
Figure 1: XML Web Services
A great deal of information about various aspects of Web Services is available at present over the Web. An example of the source is the Microsoft site (http://msdn.microsoft.com). Another source is the W3C site (www.w3.org). It is beyond the scope of this chapter to discuss technical details of Web Services. The sidebar “Example: Web Services” highlights the main ideas.
Example: Web Services Suppose that a Web service called "ePayment" is available in Singapore. A consumer in Detroit wants to invoke this service by submitting a purchase order (PO). From a consumer point of view, the following steps take place to use this service (see the following figure):
|
Example of Web 2.0 and Social Networking: Facebook Facebook is a web-based social networking application used by millions of people every day. Utilizing the very latest web technologies, it has evolved into a comprehensive platform for online communication with friends, family, and co-workers. Facebook is one of the very first Web 2.0 companies, putting the users in control of content and syndicating that user-driven content through a variety of web services both internal and external to the web site. Facebook has utilized many of the latest web technologies to revolutionize the way people live and communicate on the internet. At the core of Facebook is each individual person’s page. In the early days of Facebook (the company was founded in 2004), this page contained little more than a basic profile very encyclopedic in nature. However, over time and with the help of several different web 2.0 features and applications, this basic profile evolved into a dynamic, content-rich page containing pictures, messages, and even mini-embedded applications. In terms of specific technologies used, Facebook is a heavy implementer of AJAX (Asynchronous JavaScript and XML) which creates a desktop application-like look and feel and a very simple, intuitive user interface. AJAX also minimizes the number of page loads and reduces wait time for the end user. In 2006, Facebook adopted its own internal version of RSS feeds, called “news feeds,” used to publish one user’s recent activity out to all of their friends who subscribe. In 2007, Facebook took another major step by launching the Facebook Platform, a framework for third-party developers to create applications that run directly on the Facebook website. Providing extensive API functionality, this platform fundamentally shifted Facebook away from the traditional website model and more to a service-oriented architecture where users can pick and choose the web services they want. This was an industry-shaping move that was mimicked by many other companies and products such as MySpace and Apple’s iPhone. Source: http://www.facebook.com |
The most important aspect of Web 2.0, as noted above, is collaboration and participation among users. In particular, this concept has led to the development and evolution of web-based communities and services, such as social-networking sites, Wikis, Blogs, and Folksonomies. There are several examples of such sites:
YouTube, a site that allows users to upload and share videos
Facebook, a social networking site that allows users to share pictures and other information
eBay, a popular site for trade between buyers and sellers
Flickr, a web site that allows users to upload and share photos
Redit.com, a website for users to write and post articles.
Twitter.com, a very popular website for users to post anything.
In Web 2.0, a user can own the data on a site and exercise control over that data. In traditional websites, the users are limited to viewing the content that the site owner provides. Web 2.0 sites often feature a rich, user-friendly interface based on Ajax, Flex or similar rich media. Good tutorials about these and many other web technologies can be found at www.w3schools.com. The sites may also have social-networking aspects.
At its simplest level, a social network allows users to create a profile for themselves and then enables them to build online communities to share interests and activities. Social networks also allow users to explore the interests and activities of others. Users can upload pictures, songs, videos and other artifacts. Some social networks offer additional features, such as the ability to create groups for users with common interests or hold discussions in forums. With increased features, social networking has grown dramatically and has become part of everyday life. The types of social networking services include dating clubs, friendships, and recommender systems. In addition, numerous social networking sites have sprung up catering to different countries, languages and cultures. Broadly speaking, the social networks fall into two main categories:
Internal social network (ISN): a closed or private community that consists of a group of people within an organization, society, or company. An example is the IBM social network called "Beehive" that is focusing on changing the culture of IBM through the use of collaboration and innovation.
External social network (ESN): an open or public community available to all users to communicate with each other. MySpace, Facebook and Bebo are examples of ESNs.
Besides social networking, participation between users is a key characteristic of Web 2.0. One view about Web 1.0 versus Web 2.0, as mentioned previously, is that Web 1.0 is basically the Web-as-information-source while Web 2.0 is the "participatory Web". User participation is perhaps the most vital characteristic of Web 2.0 -- others include rich user experience, dynamic content, openness, and collective intelligence.
Web 2.0 websites typically include some of the following features/techniques:
Ajax (Asynchronous JavaScript and XML). Ajax allows modification of parts of an HTML document instead of creating a new HTML document whenever some content is changed. With Ajax, HTML documents are loaded on the client and then modified on client instead of server side. This is more efficient and also gives real-time look and feel. Ajax is used heavily by Google Maps. As expected, there are many variations of Ajax. M-Ajax (Mobile Ajax) for mobile devices is a commonly known variant of Ajax.
RSS (RDF Site Summary, or Rich Site Summary, or Really Simple Syndication). RSS is an XML format for distributing content on the Web. RSS is commonly used for news items. A Web site creates an RSS document and registers the document with an RSS publisher. A web publisher can post a link to the RSS feed so the users can read the distributed content. And the users can be alerted when the site (links) change . RSS feeds can be used by automated agents to read the content. The creeping news stream at the top or bottom of a TV screen typically uses RSS.
Web Services (WS). Web Services is a commonly used technology in Web 2.0. Simply stated, WS allows programs (as business components) to discover and invoke each other over the Web, thus creating very interesting business scenarios where the providers build and advertise business components and the consumers search and discover the needed components to run their businesses. We will discuss WS in more detail later.
Blogs and Wikis. Blogs (abbreviation of a Weblog) tend to be personal, static and less collaborative where a posting is owned by a poster. Once posted, the posting in a Blog doesn't change, leading to long scrolls in a last in first out style. Wikies, on the other hand, create documents with individual pages as well as the entire wikiweb. Instead of chronologically posted documents of a blog, Wikis encourage cross linking of documents with hypertext linking of different documents as the central theme. A good example of Wikis is Wikipedia (of course!). With time, Wikis and Blogs are being merged into “Blikies”.
Other Technologies. A wide range of additional technologies are being used in Web 2.0 sites. Examples are folksonomies (social classification, social indexing, and social tagging), large number of XML-variants, mashups (merging content from different sources), bulletin boards, instant messaging, and many others. In addition, many technologies, besides Ajax, are improving the user-experience in browser-based applications. Examples of these technologies are Ajax, Adobe Flash, Flex, Java, Silverlight and Curl. Discussion of these technologies is beyond the scope of this book (extensive information is available over the Internet).
It should be re-emphasized that many of the aforementioned technologies pre-date the Web 2.0 era that started in 2004. The main point is that these technologies, combined together, are producing very rich user experiences in collaboration, social networking, enterprise portals and enterprise applications.
The term Enterprise 2.0 is being used to refer to enterprises that rely heavily on Web 2.0 model. Basically Enterprise 2.0 shifts the focus of Web 2.0 from user communities and social networks to enterprises. A new wave of business communication tools including blogs, wikis and group messaging software that allow for more spontaneous, knowledge-based collaboration between enterprise units and employees. These new tools may supplant other communication and knowledge management systems in an enterprise. The main idea is to use the Web 2.0 capabilities to capture tacit knowledge, best practices and relevant experiences from throughout a company and then make them readily available to more users within an organization.
Short Tutorials in Pisa