|
Does your web site need database functionality? If it is an e-commerce site,
it probably does. The most common uses of database driven web sites are for
presentation of an online product catalog and shopping carts. There are also
numerous non-commercial uses for database applications on the web, I am
currently negotiating with a client to build a database application for the
presentation of the results of several years of historical research.
Two things are needed to build a database-enabled site. First, your server
needs to have a database engine; several are available with their various
advantages and quirks. Second, you need a scripting language that can pull
information from the database and build a page from it. Again, several are
available with various degrees of efficiency. Two relatively new open source
applications that are quickly gaining popularity are MySQL and PHP.
PHP is a scripting language with function libraries that interact with several
relational database systems and the web environment, for more information,
see my book review from the
April 2003 PC Alamode. MySQL is a relational database management
system suitable to applications requiring speed and low resource usage.
The book Web Database Applications by Hugh Williams and David Lane
covers how these applications work together to create a fully functional ecommerce
web site. At least that is the intention. The book demonstrates the features that are
needed for an online business application by building a fictitious wine store called
Hugh and Dave’s Online Wines.
Assumptions
The book starts from the assumption that you are already familiar with the following topics:
- Relational database theory and design – check out Joe’s class
- HTML – come to my class
- HTTP and TCP/IP - there are hundreds of books available
- Use of a third-generation programming language – check out
Carl’s C++ class
Although the book does not specify, it is also a good idea to
have some experience working with SQL since MySQL does not
exactly follow the ANSI / ISO standard.
Problems
The code examples contain a lot of errors. The published errata on
O’Reilly’s web site
prints out to 8 pages. One section of about 80 pages contains an average of one
error every 4-5 pages. Definitely not up to O’Reilly’s usual standard of excellence.
One of the features of the wine store application is to browse the wine inventory
by the region where the winery is located. The problem with this section comes from
the fact that the authors live in Australia; the database lists only Australian wines and
the regional browse works fine. If, however, you add new wines to the inventory where
the region name includes unusual characters, as would be common in many of the
European wine regions, the whole application falls apart and throws all kinds of
strange error messages.
The shopping cart does not function as intended. The intention is that a customer
can add a bottle or case of wine to the cart, the item is removed from the inventory and
an order is created using a dummy customer number. If the order is not completed
within 24 hours, the order is cancelled, the items are returned to the inventory and the
cart is emptied. The problem is that there is no way to associate the cart with a specific
customer, so that if the customer places items in the cart and then leaves the site and
comes back later to complete the order it shows the cart as empty. The order may not be
able to be redone because the items are not listed in the inventory, which may then
erroneously show that not enough of the item is available to complete the order.
Conclusion
This is not a book for beginners. It requires experience thinking in terms of
programming logic to be able to recognize why the shopping cart does not work.
If you decide that you want this book, wait for the second edition or at least the
next printing that corrects all the errors.
|