Read an Excerpt
Why Use a
Currently, many people, especially those working in small and medium-sized businesses, are trying to figure out how to effectively use the Web. In most cases, the primary focus is on using it to create, manage, find, and deliver information stored in a database. This has led to an explosion in the number of products that provide connections between the Web and existing database products, as well as completely new web-oriented database tools. The goal of this book is to help you understand how these products work, how to choose among them, and how they can be used to solve real-world problems.
The number of products that connect databases to the Web is increasing faster than any other segment of the Interact software market, and with good reason: Knowledge is power. Databases provide a direct way of tapping the knowledge that already exists in an organization and providing it to interested parties with the click of a mouse. Businesses that harness this knowledge and deliver it over the Web are a powerful presence compared to their less sophisticated brethren.
I think that the main reason for the acceptance of web database technology in the business sector is that businesses are used to working with databases. All large companies, and many smaller ones, harness some sort of database for their business practices. Although the Internet and related telecommunications technologies may not be familiar to a company that makes widgets, for example, and therefore it may not be interested in establishinga Web presence, even a widget company uses some sort of database to track inventory and sales accounts. This familiarity with and understanding of databases makes the move to a web database a likely possibility.
Another reason that web databases are becoming so widespread is because web browsers offer a common user interface for web-based applications. One general problem with computer software is that each program uses a slightly (or even radically) different interface. In most DOS, Unix, and other older computer operating systems, each software designer started from scratch as he or she developed the user interface for a new application. Windowing interfaces such as the Macintosh and Microsoft Windows operating systems were a great step forward over previous programs. These newer graphical operating systems provided a standard application design metaphor and a common set of tools for tasks involving dialog boxes and file operations. Web browsers have taken that idea one step further by providing a common container for web-based content. Filling out a form in Netscape Navigator or Microsoft Internet Explorer, for example, is exactly the same whether that form sends email to the webmaster of a site or inserts a record in the enterprise database. For this reason, web interfaces provide an exceptionally useful front end for accessing applications over the Web, particularly older database systems that use proprietary user interfaces.
Statistics seem to support these observations. For example, an annual survey of webmasters conducted by Inter@ctive Week and CustomerSat.Com found that 32 percent of the respondents in 1996 used web data access tools; in 1997, the number had climbed to 41 percent. The webmasters attribute the rise to increasing interest in e-commerce and the rise of the network as a computing platform. What is even more interesting is that of those web database users, roughly 50 percent of the respondents used some tool other than the four popular ones listed in the survey. They also reported that the number of "homegrown" custom web database solutions had grown from virtually nothing in 1996 to over 5 percent in 1997. The 7th Annual WWW Survey by the Georgia Institute of Technology generally agrees with these numbers, ranking database integration as the third most important server feature, listed by 53 percent of the 19,000 respondents. These numbers are by no means the final word on the subject, but they do make it clear that there is a rising interest in web database tools. It also shows that there is no clear consensus on which web database tool is the right tool to use.
For the most part, the tools discussed in Part II fit into that other 50 percent of web database tools. This segment of the industry is very new and growing quickly. There are a number of technologies for providing web database gateways and a number of tools that help in implementing these technologies.
One major stumbling block in implementing web-based databases is the wide range of knowledge required. This is the same problem that existed as the Web itself was born and businesses scrambled to jump on the bandwagon. The explosive growth of the Web spawned a new profession--the "webmaster." The profession of webmaster is now a fairly established field for those who make their living developing and maintaining web sites. Webmastering requires a wide range of knowledge, spanning graphic design, HTML, scripting, and server maintenance. But people quickly learned that it takes more to develop a good webmaster than giving a graphic designer an HTML manual or telling a programmer to design a site. Webmasters are normally experienced with one or more of these disciplines, but they also learn, usually through experience, about the rest of these topics. More important, they learn to speak to experts in each of these fields and combine the individual expertise of each contributor into a cohesive whole. Webmasters serve as a coordination point (or translator) to facilitate the diverse aspects of maintaining a web site.
The same thing is going to happen to people who produce web-based databases. Throughout this book, I'll use the term "datamaster" to describe this fledgling profession (at least it's shorter than "web database designer"). The aspiring datamaster needs to live in the world of the web developer, be able to speak fluent HTML, and know graphic design, scripting languages, and network protocols. But the datamaster also needs to understand database construction and maintenance, SQL, ODBC, and the handful of other common database tools and techniques that traditional database developers use. Datamasters do not need to be an expert in all of these fields, but they do have to understand enough of all of these fields to facilitate communication and management of web database projects. The goal of this book is to provide this information. From why to how, the next few pages contain hard-won information from my attempts to marry databases to the Web for a variety of clients and purposes.
Basic Reasons for Providing Web Access
to a Database
Before going to all of the trouble required to use databases on the Web, let's take a deep breath and ask "Why do I want to use a database on the Web?" There are a number of good reasons for this, which rest on two basic premises:
1. The Web is a great medium for delivering information.
2. Databases are the perfect medium for managing information.
So a database can be used to manage the "back-end" mechanics of an information delivery system, while the Web is used to handle the "front-end" user interface.
There are a number of ways that databases can be used on the Web, which can be grouped into three major types of applications: dynamic publishing, information transactions, and data storage and analysis. These broad categories provide an excellent framework for thinking about web database applications. The following sections describe the three basic types of web database applications.
For the traditional web designer, databases provide the perfect method for dynamically publishing web content. Normally, each web page of a site is an individual entity. The pages are individually designed, and each exists as a distinct file. At many sites, a large number of pages are based on a standard template, which helps to simplify or automate the design process. This means that a lot of time is spent entering or cutting and pasting text and filenames into this standard template and saving a number of files. A page from an online catalog, which typically contains a picture of an item and its accompanying description, catalog number, and price, is a good example of a template. An example online catalog template is shown in Figure 1.1.
Tools are available to make this editing process easier, but it's a much more elegant and, over the long term, efficient solution to store the image filename and text description in a database and have the computer "fill in the blanks" for the image filename and description in the standard template, as shown in Figure 1.2. This is the essence of dynamic web publishing.
Web pages that are dynamically created by using the database and a file template to generate the appropriate HTML code have a number of inherent advantages. One of the most basic advantages is the fact that the system easily expands as the size of the inventory grows. This means that the information can reside in one central location. As the writers change the description of the item in the master database, or as buyers add new products, the information on the web pages changes automatically. This also means that numerous nearly identical web pages are not taking up storage space on the server. Since disk space is not particularly expensive, this isn't an essential advantage, but it does have a significant positive impact on site maintenance issues. For example, if the page design for a 1,000-page online catalog needs to be changed to implement a new browser enhancement, or to give the site a new look, modifying the layout of 1,000 static web pages would require an enormous amount of tedious work. More important, errors might be introduced into individual pages, which would then require even more time to fix. For the dynamic web publisher, changing the page design for the catalog only requires modifying the templates for the dynamically generated web pages, a task that requires far less time and guarantees that every page undergoes identical changes.
Another beauty of dynamic (or data-backed) publishing is that the same information can be repurposed by inserting it into a new container. Web pages provide one sort of container for data, but so does a print ad, a brochure, a poster, user documentation, or any other medium that can be produced digitally. The database serves as a central repository for data about particular objects or events that can easily be maintained for use in a number of different final forms.
The transaction is an apt metaphor for a number of business-oriented functions. Nearly every interaction between a client and a business involves moving discrete chunks of information. Possible transactions for a typical mail-order business, for example, could include:
Asking for a catalog. The operator takes a name, address, phone number, and probably some information on the client's needs and interests. This transaction moves client information onto the mailing list for the catalog and enters it into the customer information files.
Ordering an item. The customer supplies the item number, quantity, description, shipping, and payment information. This transaction takes this information and puts it into both shipping and payment systems.
Returning an order. The operator notes the item(s) being returned and provides the customer with return shipping information. In many cases, some sort of return authorization number will need to be generated and given to the customer as well.
Checking on an order. The customer supplies the order number, and the operator provides the customer with the ship date and method of delivery. The operator may also be able to tap into the delivery tracking system of the shipping company (such as FedEx or UPS).
In each of these examples, discrete chunks of information are provided by the customer; another set of data chunks are given to the customer by an operator. At the heart of this information exchange is some sort of transaction, usually accomplished by filling out a form. It's a fairly simple operation to translate a paper form into an equivalent web document. This web document, in combination with the enterprise database, makes one-step information transactions (with the computer filling the role of operator) eminently feasible.
A distinguishing feature of the transaction metaphor is that the data involved is fairly temporary in nature. Transactions occur once or perhaps a few times. Data is usually entered into the system or queried from the system in standard ways. The database in this example is being used as a vessel to provide information for transactions and to process the information generated by the transaction.
Data Storage and Analysis
Business is driving a lot of the development on the Web. A lot of companies are having trouble figuring out how to make money on the Web, but the core of any business is how it manages its information assets. Everything from inventory items to customer addresses to orders and suppliers is information that is probably stored in a database already. The Web can provide an interface into many current business systems, especially for businesses using commercial databases as their "back end."
Data in this category is typically static, or changed very rarely. It exists mainly as a resource for analysis or historical purposes. Examples include:
* Completed orders
* Accounts paid
* Closing stock prices
* Images in a media archive
* Address books
This data is normally accessed in a variety of ways to answer specific questions. In enterprise-level computing, these are often called data warehouses, and the process of exploring them is called data mining. Regardless of scale however, this is the most common type of traditional database application.
This Chapter answers the question "Why use a web database?" by briefly describing how databases are being used on the Web by businesses. The two basic reasons for the increased popularity of web databases are that businesses are familiar with the competitive advantages of database technology and that the common interface of the web browser provides a standard interface for delivering databases.
The function of the datamaster is also described. Much like a webmaster, a datamaster has an understanding of the diverse technologies, including database design and construction, web site design, and scripting, that are necessary for integrating the Web and databases.
The final section describes the ways data can be used on the Web. Dynamic publishing of content provides a way to control layout and access up-to-date information. Information transactions include virtually all types of business processes that involve forms. Data storage and analysis shows how data can be used to provide customized information and analysis of warehoused enterprise data. These web applications will be discussed further throughout this book.