The advent of the World Wide Web (WWW) ushered in a quiet revolution all over the world. The Web radically changed the way we communicate and do business. In this article we will analyze the power and impact the web has over our lives. We will describe the key technologies that sustain the Web and in conclusion discuss the emerging trends and new directions of Web related research and development.
Some ways we use the Web in our daily life:
To understand the growth of the web it is useful to study the history of the internet, especially in terms of the societal causes and their technological effects. Nowadays, we use the terms the Internet and the Web interchangeably. But the Internet predates the Web by several decades.
We can divide the history of the Internet into three phases. In the first phase there was the development of the infrastructure of the Internet. This included the construction of the network of cables and routers and the establishment of protocols for the transmission of data across the network. In the second phase, there was a tremendous growth in the number of applications that made it easy to send, receive, and search for information. The second phase culminated in the creation of the World Wide Web and software (browsers) that allowed easy access to the Web. The third phase began with the commercialization of the Web and the continued improvement in the hardware infrastructure and the supporting software.
The key concept of transmitting data across a network is embodied in the packet switching theory. In essence, to send a document over the internet - the document is split into packets, labeled, and then sent with other packets from other documents through routers. Each router examines the destination code and decides which router to send the packet to next. There are many alternative routes for a packet and packets from the same document need not take the same path to reach the destination. At the destination end the packets are assembled together to reconstruct the document. There is no dedicated path to transmit data instead there is a redundancy of paths which safeguards the network from a single point of failure.
In the mid to late 80's most computers in universities and research labs in the US and Western Europe were on the internet. One could remotely login to computers using telnet or retrieve files from public servers through ftp. Several useful software infrastructure were developed to make access to the internet easier. Archie was a system that archived indexes of files available on public servers and which could be queried. A similar service was provided by Wais that allowed a user to find an article based on what it contained. This was a precursor of our search engines like Google. Another search tool that hit the scene was Gopher. Gopher was menu driven and retrieved and displayed text files.
The person most responsible for the World Wide Web is Tim Berners-Lee who was then working at CERN. He envisioned a global hypertext space where documents could be identified by a unique identifier (URL) and documents could link to other documents in this space using that identifier. Hypertext Markup Language (HTML) was developed that allowed these links to be embedded within documents. To read these documents and follow the links special software were developed. In 1993 Mosaic and Lynx were introduced to the internet community. Mosaic allowed graphical rendition of web pages whereas Lynx only rendered text. The following year saw the beginning of large scale commercialization of the web.
The web is like an online library and more. It is a great source of information as well as disinformation. Newspapers, journals, and books can be accessed online. You can do your research on the web without actually visiting a library. For that you need to learn how to use search engines effectively. Since most web pages are not reviewed, it is your responsibility to check the credibility of the author and the veracity of the information. Here are some sources of information:
Even before the Web, the Internet was a medium of communication. We had e-mail and newsgroups. But users were usually connected to universities or research laboratories. Now e-mail is accessible to all and is free and so is membership to newsgroups. What the Web has done is create global communities that are interest based. Not only can we send text over the Internet, we can send audio (Voice Over IP) or pictures (video conferencing).
The Web is a source of music and video. On the Web we use the term multimedia to encompass text, images, animated graphics, audio, and video. You can either download the music and video and create a CD or DVD of your own. The other option is to play the music or video directly on your computer. To do that you would need special plug-ins or ActiveX controls. These are programs that extend the capabilities of your browser. To make the experience more interactive web pages can have Java applets, or Macromedia Flash and Shockwave applications.
You can also play games online. Some games are downloadable whereas others can be played in real time with other players. There are some virtual reality games that involve many players online simultaneously. They are known as MMOGs (Massive Multiplayer Online Games).
The Web made it easy to share multimedia products often violating copyright restrictions. One of the first such file sharing programs was Napster which was shut down for copyright violations. Another way to distribute audio files on the Web is termed podcasting that allows users to listen to MP3 files on a subscription basis.
The Web is offering several alternatives to sources of entertainment. Microsoft is promoting a new technology called Internet Protocol Television (IPTV). IPTV will allow television programs to be sent over telephone lines using broadband xDSL technology. Viewers will have to install a set-up box running Windows CE. Another emerging trend is Video on Demand (VoD) that will allow viewers to stream video over the Internet. Netflix and TiVo have formed a partnership that will allow viewers to watch movies on demand.
Even before the Web businesses had private networks to share data - Electronic Data Interchange (EDI) and Electronic Funds Transfer (EFT). Several businesses now have a virtual store on the Web that customers can browse and purchase from. Auction houses, like eBay have appeared that allow people to directly sell their merchandise without maintaining a store. There are reverse auction agencies like Priceline that collect offers from customers and pass them on to sellers. Shopping agents have appeared on the scene like MySimon and PriceGrabber that assist shoppers find the best deal online. The services of these shopping agents are paid for by advertisements. These advertisements can be in the form of logos, links, banners, and pop-ups. To facilitate payment over the Web several options exist. One of the best known is PayPal now owned by eBay. PayPal allows users to make payments even if they do not have credit cards by getting information of their bank account.
Web Services is the underlying web application that allows a business to offer services over the internet. Read the latest news on web services at the W3C site or at a vendor neutral site.
One of the main reasons for the popularity of the Web is the ease with which you can access the Web or publish on the Web. The core technologies that are needed to create a web site are simple and easy to master. Moreover, existing browsers are extremely forgiving of syntax errors. Features that are deprecated are usually still supported in most browsers, so that you do not have to constantly update your pages. Here are some technologies that you must be familiar with to create a decent website.
XHTML is markup language. An XHTML document consists of content and control tags. The control tags are used by the browser to render the document on the client monitor. It is easy write the control tags by hand. But you can also use XHTML editors like Microsoft FrontPage, Macromedia Dreamweaver, and Adobe PageMill. The World Wide Web Consortium (W3C) has provided the specification for this language.
Cascading Style Sheets specifies how the content is to be displayed. The trend in web design has been to separate the content from the rendering instructions. The specifications for the style sheets are also determined by the W3C. Some amazing designs can be created using style sheets.
XML stands for eXtensible Markup Language. It allows users to create their own control tags. XHTML has a small set of predefined tags. With XML you can have any number of tags. These tags can be used to describe the content of the document not only for the human user but also for a machine that is capable of reading that document. This document specifies how to create and use control tags in XML.
JavaScript is a scripting language that is used for writing scripts that run on the client side. These scripts normally do client side verification of data that you enter in a form. These scripts can also be used with cascading style sheets to produce dynamic effects. Such scripts are called Dynamic HTML or DHTML.
Java is an object oriented language that is used for writing applets that can run on the client machine. A Java class called Servlets can be used for writing applications that run on the server side. A client program can invoke these applications on the server and obtain the results.
Perl is a systems programming language. This means that Perl can access operating system functions directly. Perl is used to process data that a user sends back in a form. It can also be used for accessing databases on the server side and returning that information to the client.
PHP was developed to be a web programming language. It is a scripting language like JavaScript but runs on the server side. The script is embedded in the XHTML document. With PHP you can process forms and access databases but the learning curve is less steep compared to Perl.
But this not enough. To be an effective web programmer you will also have to master some graphics package like PhotoShop to create your own graphics. You will also have to provide a database back end for your web page. There are several free database packages available like MySQL or PostgreSQL.
Rich User Experience is a new concept in Web programming. Most web applications are not as responsive as desktop applications. The reason being that web applications are usually run on the server and not on the client. A new way of programming with AJAX (Asynchronous JavaScript and XML) has made web applications more responsive. An AJAX script allows small amounts of data to be transferred from the server without having to reload the whole page.
Semantic Web is a network of information linked in such a way that can be accessed by machines in a meaningful way. You can think of this as a global database that you can query and get intelligent results.