Web Infrastructure  «Prev  Next»
Lesson 1

Infrastructure Web technologies

The eBusiness infrastructure for Web technologies

The networking, hardware, and software technologies that you learned about in the previous modules are key to any eBusiness solution. For decades they have been important elements of business computing infrastructures. The same cannot be said for Web technologies, which also lie at the core of eBusiness solutions. Web technologies are part and parcel of today's eBusiness, because the human user interface in eBusiness is usually Web-based.
In this module, you will learn in-depth information about the Web technologies available for eBusiness solutions. And you will acquire the following skills:
  1. Describe the function of Web browsers
  2. Identify the key browser-related issues to consider when designing an eBusiness solution
  3. Describe the function of Web servers
  4. Describe the importance of security in eBusiness
  5. Identify the key considerations when choosing one security provider over another
  6. Describe the function of search engines

Web browsers

When discussing Web browsers, our focus will not be on the graphical aspects of browser functionality. Instead, we shall concentrate on the issues associated with the processing of HTTP requests and responses. The value of this knowledge will become apparent as we proceed to our discussion of more sophisticated Web applications. It may seem to some that the task of designing a browser is a done deal, a known problem that has already been solved. Given the history and progress of browser development (from the original www browser, through Lynx and Mosaic, to Netscape, Internet Explorer, and Chrome) today—it might seem a futile endeavor to ‘reinvent the wheel’ by building a new browser application.
This is hardly the case at all. The desktop browser is the most obvious example of a Web client, and it’s certainly the most common, but it’s far from the only one. Other types of Web clients include agents, which are responsible for submitting requests on behalf of a user to perform some automated function, and proxies, which act as gateways through which requests and responses pass between servers and clients to enhance security and performance. These clients need to replicate much of the functionality found in browsers. Thus, it is worthwhile to understand design principles associated with browser architecture.
Furthermore, there are devices like handheld personal digital assistants, mobile devices and Internet appliances, which need to receive and send data via the Web. Although many of them have browsers available already, they are mostly primitive with limited functionality. As the capabilities of these devices grow, more advanced and robust Web clients will be needed.

Web servers

Web servers enable HTTP access to a website, which is simply a collection of documents and other information organized into a tree structure, much like a computer's file system. In addition to providing access to static documents, modern Web servers implement a variety of protocols for passing requests to custom software applications that provide access to dynamic content. This chapter begins by describing the process of serving static documents, going on to explore the mechanisms used to serve dynamic data.
Dynamic content can come from a variety of sources. Search engines and databases can be queried to retrieve and present data that satisfies the selection criteria specified by a user. Measuring instruments can be probed to present their current readings (e.g. temperature, humidity). News feeds and wire services can provide access to up-to-the-minute headlines, stock quotes, and sports scores. There are many methodologies for accessing dynamic data. The most prominent approach based on open standards is the Common Gateway Interface (CGI). While CGI is in widespread use throughout the Web, it has its limitations, which we discuss later in this chapter. As a result, many alternatives to CGI have arisen. These include a number of proprietary template languages (some of which gained enough following to become de facto standards) such as PHP, Cold Fusion, Microsoft’s Active Server Pages (ASP), and Sun's Java Server Pages (JSP), as well as Sun’s Java Servlet API. An ideal approach would allow the processes by which Web sites serve dynamic data to be established in a declarative fashion, so that those responsible for maintaining the site are not required to write custom code. This is an important thread in the evolution of Web servers, browsers and the HTTP protocol, but we have not yet reached this goal.The next lesson is about the function of web browsers.