Short Tutorial on Web 2.0, Social Networking and Web Services

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:

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): 

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):

  • Locate the Service: The consumer sends a request to UDDI (www.uddi.org) to find where the ePayment service is located. UDDI returns, say, the ePayment service URL (www.epayment.com). If more than one ePayment service is available, then more than one URLmay be returned. It is possible to search UDDI with selection criteria to minimize the number of URLs returned. 

  • Learn about the Service so that an appropriate session can be established. The consumer now issues a call to WSDL to learn how to invoke the needed service (i.e., what method to use, what are the input/output parameters needed for submitting a PO). This discovery process is important because different ePayment systems may use different PO formats. 

  • Invoke the service and transfer information. The consumer prepares a PO as a SOAP message, an XML document, that is sent to www.epayment.com  over HTTP. This transfers the PO to ePayment for processing and may respond with another SOAP message.

  • After being satisfied with the results, the consumer may close the session.

 

 

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

Web2.0 as a New Usage Model: Social Networking and Participation

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:  

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 Technology Overview

Web 2.0 websites typically include some of the following features/techniques:

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. 

Enterprise 2.0  

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