Web Development Environment
Web Development Context
Many people are Web page "authors"; few people are Web site "developers." You are soon to join the ranks of the latter.
Web Page Authoring
Authoring Web pages is not a particularly difficult task now-a-days. Many standard desktop software packages come equipped with built-in features to convert word processing documents, spreadsheets, databases, and the like to coded documents that are ready for access across the Web. Special Web page authoring packages such as Microsoft Expression Web and Adobe Dreamweaver permit creation of Web pages with drag-and-drop ease. In most of these cases it is not even necessary to know or to be aware of the special HTML (HyperText Markup Language) coding that takes place behind the scenes.
If you know the HTML language, then you can author your Web pages with a simple text editor, usually gaining a great deal more control over their structure and formatting than is possible with drag-and-drop methods. In addition, you have the ability to easily integrate existing HTML code, Java applets, multimedia plug-ins, and browser scripting languages to bring a modicum of user interactively to your pages. Irrespective of the substance or sizzle of your pages, their purpose tends to be limited to presenting interesting or informative text and graphics for personal consumption. It is unlikely you can tackle the task of writing a major business system armed with HTML and a few plug-ins.
Web "development," as contrasted with Web page "authoring," goes well beyond the use of markup codes and a few plug-ins or scripting techniques to make attractive and informative Web pages. The term pertains to the use of special strategies, tools, and methods for producing Web pages and Web sites characterized as three-tier, client/server, and information processing systems. Let's consider these terms in more detail to understand the broader-ranging purposes for which Web pages and Web sites are developed.
Information Processing Systems
Web technologies are used to produce not just simple personal or promotional Web sites containing informative, interesting, or entertaining material for public consumption. Rather, they are becoming important means for supporting the foundational "business processes" of modern organizations -- the underlying operational and management-support functions. The technical infrastructures for supporting these purposes are roughly classified into three types of Web-based systems, termed intranets, internets, and extranets.
Intranets.Intranets are private, internal systems to help carry out the day-to-day information processing, management information, and work-flow activities of organizations. Web-based intranets service the standard internal business functions and in doing so impact basic organizational systems such as accounting and financial reporting systems, marketing and sales systems, purchasing and distribution systems, production systems, and human resource systems, among others. In time, Web-based intranets will become the primary technical means through which organizations function internally to carry out their business processes.
Internets. Internets are public information systems. They include public sites that provide news, information, and entertainment; electronic commerce sites to market and sell products and services; governmental sites to inform or service the general public; and educational sites to provide local and remote access to education and training. In all sectors of society, public internets are providing goods, services, and information to the public through the World Wide Web and its associated networks and services.
Extranets. Extranets are Business-to-Business (B2B) systems that manage Electronic Data Interchange (EDI) between business enterprises. These systems facilitate the flow of information between organizations -- between a company and its suppliers and between the company and its distributors -- to help coordinate the sequence of purchasing, production, and distribution. Electronic data interchange helps eliminate the paper flow accompanying business transactions by using Web technologies to transfer electronic documents for processing between computers rather than between people. As Web-based systems, EDI applications eliminate the difficulties of communicating information among different hardware and software platforms with inherently different information formats and with different protocols for exchanging information.
The Web is becoming the primary technological basis, the electronic highway, for information collection, processing, and distribution in all types of organizations -- in commercial and financial enterprises, educational institutions, government agencies, health-care facilities, news and entertainment industries, and in most other formal organizations both large and small. It is the pervasive technology for developing information processing systems in all sectors of society.
The term "Web-based" refers to the fact that information processing systems rely on the technology of the Internet, particularly that portion known as the World Wide Web (WWW). Thus, Web-based systems operate within a technical framework with the following characteristics:
First, systems operate across public, rather than private, data networks. They communicate over the Internet, the world-wide interconnected networks of computers that are publicly accessible.
Second, the communications networks are based on open and public technical standards such as Ethernet architectures, TCP/IP transmission protocols, and HTTP and FTP application protocols. These are not private or proprietary standards, but are fundamentally open and free to public use.
Third, Web-based processing systems use common, often-times free, software for development and operation. Processing activities take place through Web browsers rather than specially written software for the user interface and for front-end data collection and processing. Microsoft Internet Explorer and Mozilla Firefox, among others, are the means through which individuals interact with information processing systems. Also, common Web server computers perform the back-end business processing functions, and database servers provide information storage, access, and retrieval.
Thus, common, non-specialized, non-proprietary hardware and software systems provide the technical environment for developing information processing systems and for operating and managing information processing activities
Three-tier, Client/Server Architecture
The term "client/server" pertains to the use of server-based networks to manage resource sharing and to distribute processing tasks among hardware and software components. Within Web-based client/server networks the distribution of processing tasks occurs in three tiers that correspond to the three primary hardware/software components of the system.
Figure 1-1. Hardware and software layers of a three-tier information processing system.
In Tier 1 the desktop PC client handles the user interface activities of the system; in Tier 2 the Web server handles the primary processing functions of the system; and in Tier 3 the database server, and in certain cases the media server, handles information storage and retrieval functions required by the system
In turn, each of the three hardware components host corresponding software. The client software is a Web browser. The Web server runs a network operating system (NOS) such as Windows Server software, Unix Server software, or Linux Server software and through component software such as Internet Information Server or Apache Web Server hosts World Wide Web, FTP, SMTP mail, and other Internet services. The database server runs a database management system (DBMS) such as MySQL, Oracle, Access, and other popular packages. Thus, separate components perform separate processing tasks that are integrated through the Web into a complete information processing system.
Consider, for instance, your visit to an e-commerce Web site such as Amazon.com. Your Web browser is your interface with the site. In response to various "input" requests you submit as you navigate the items for sale, various "output" pages are produced. Your requests are entered into the system through Web links and form submissions; system responses produce HTML pages delivered back to your browser for display on the screen. The browser performs the input and output activities needed to interface with the site.
Behind the scenes special information processing tasks are taking place on the Web server. When you request a book search, for example, programs are run to search databases to extract matching books and to format the output for delivery to your browser. When you view your shopping cart, other routines retrieve your choices and calculate your order total. When you check out, special programs are run to link into the credit checking and banking systems so that appropriate accounts are debited and credited. Myriad processing task associated with your browsing and purchasing take place on Web servers, hidden from your view but crucial to your shopping experience and to formalizing the business transactions that result.
Most of the information that is captured and generated by your shopping visit is kept in large databases hosted on separate database servers. All of the book information that you see on screen is extracted from database tables. Your purchase selections are stored in database tables. Virtually every piece of information regarding the products you view and your purchase transactions are maintained in massive databases within the e-commerce system itself or in associated databases central to the accounting, purchasing, and distribution systems that surround it.
In even the smallest Web-based commercial systems the same functionality is present. The Web browser provides the user interface to the system, special processing pages handle the business transactions, and one or more databases maintain information flowing through the system. The point is that in Web-based systems of any size the three primary tiers of functionality exist. From the standpoint of the Web developer, then, the task is to build these three separate components -- the user interface, the business processing routines, and the database maintenance components -- and to integrate them into a fully functioning information processing system.
Web Development Skills
Web development pertains to the use of Web technologies to build client and server processing components, to integrate them as applications within intranet, internet, and extranet processing systems, and to deploy them across the Web to conduct the private and public business affairs of organizations. The skill set to accomplish these tasks range well beyond the ability to save Web pages from a word processing program, to drag and drop a simple Web site with a desktop package, or even to hard-code pages with XHTML and a scattering of plug-ins.
In the final analysis, the Web developer needs insight into the operational and management processes of organizations, an understanding of how work flows produce and rely upon information flows in the production of goods and services, an ability to abstract and model these business systems around the hardware and software technologies available, and the skills to employ those technologies to build Web-based systems that operationalize those models.
These tutorials can't do all that. They do, however, provide you with the foundational know-how and skills for attacking problems and exploiting opportunities surrounding Web-based processing systems. They cover the basic technical means for integrating client and server hardware and software to build systems to collect, process, manage, and distribute the information content that animates modern organizations. Along the way you will gain a breadth of awareness of the crucial role that Web-based systems can play in making organizations operational and management successes.
They do, however, provide you with the foundational know-how and skills for attacking problems and exploiting opportunities surrounding Web-based processing systems. They cover the basic technical means for integrating client and server hardware and software to build systems to collect, process, manage, and distribute the information content that animates modern organizations. Along the way you will gain a breadth of awareness of the crucial role that Web-based systems can play in making organizations operational and management successes.