Last updated on 9/27/2002

Bookworm 1.1 Application Readme Document

What is Bookworm?

Bookworm is a reference implementation of a sample e-store application built based on the Windows DNA architecture. Bookworm is built using the following technologies:
  • Microsoft Windows 2000/NT
  • Microsoft COM+/MTS Transaction Services
  • Microsoft IIS/Active Server Pages
  • Borland Delphi 5
  • MS SQL Server 7 or 2000
  • MS ADO 2.5
  • SOAP

Downloading Bookworm

The Bookworm application can be downloaded as:

After downloading, unzip the file onto your local drive. The following describes the directory structure of the Bookworm application:

Directory Description
Components Contains backend COM+ business logic and data manipulation components. Also contains XSL stylesheets used for XML-to-HTML transformations.
Database Contains database scripts for creating the Bookworm database
Source Contains source code to the backend COM+ components
Web Contains web pages for the Bookworm application
SoapClient Contains source code for a Delphi client that retrieves book order history information from the Bookworm website using SOAP


The following software are required to run the Bookworm application:


  • Microsoft Windows 2000 SP1 and above or Windows NT SP6 and above
  • Microsoft IIS/Active Server Pages
  • Microsoft SQL Server 7 or 2000
  • MSXML3
  • Microsoft ADO 2.5 and above
  • Microsoft SOAP Toolkit 2.0 (only for SOAP connectivity)


  • Microsoft IE 5.0 SP2 and above

    Note: Bookworm has not been tested on other browsers. It is likely that it will not work against other browsers.

  • Microsoft SOAP Toolkit 2.0 (only for SOAP connectivity)

Before installing, please check the following:

  • Ensure that the MSDTC (Distributed Transaction Coordinator) service is running properly on both your component server machine and your database server machine.
  • Ensure that you have the latest version of MSXML3 installed. Most likely, you'll have to go to the Microsoft site to get it.
  • For Windows NT, you'll need to install IIS and MTS using the Windows NT Option Pack package.
  • For SOAP connectivity, download and install the latest MS SOAP Toolkit 2.0 from the Microsoft site.

Installing the Bookworm COM+/MTS components:

  • From the Component Services admin, create a new COM+ server application named Bookworm and install the Components\Bookworm.dll and Components\BookwormData.dll files into it. 

    Note: For Windows NT, run the MTS Explorer and create a new MTS server package named Bookworm and install the Components\Bookworm.dll and Components\BookwormData.dll files into it. 

  • Upon successful installation, set the Transaction Support option for all components to Required (Requires a Transaction under MTS).

Installing the Bookworm database:

  • Using the MSSQL Query Analyzer, login as the sa account (or equivalent).
  • Load the Database\Bookworm.sql file and execute it. Upon successful execution of the script, you should see the following message: "The Bookworm database was successfully created!"
  • Verify that the Bookworm database is available by connecting to MSSQL using the account: User Name = "bookworm", Password = "bookworm".
  • Note: The Bookworm COM+ components make use of the Components\Bookworm.udl Data Link file to obtain the database connection string. The Bookworm.udl file assumes a default local MSSQL server. If you are installing onto another MSSQL server, simply change the Bookworm.udl file by double-clicking on it in Windows Explorer to obtain the Data Link editor dialog.
  • Note: If, for some reason, the script executes with errors and you need to execute the script again in its entirety, you'll need to first manually drop the Bookworm database before running the script again.

Installing the Bookworm web site:

  • Verify that the IIS service is up and running.
  • Under the IIS Manager admin, create a new virtual directory named Bookworm and map it to the Web directory.

Running the Bookworm application

Assuming everything was configured correctly using the above instructions, point your browser to "http://<your machine name>/Bookworm". You should then get the Bookworm welcome page.

Running the Bookworm SOAP client application

If you installed the MS SOAP Toolkit 2.0 on the server machine, the server-side SOAP files should already be functional. These files are:

  • Web\Bookworm.wsdl
  • Web\Bookworm.wsml

These 2 files were generated by running the WSLGen utility from the MS SOAP Toolkit 2.0. The following parameters were used to generate the above files:

  • Name of service: Bookworm
  • Local path/COM object: Components\Bookworm.dll
  • Exposed services: Bookworm.Reports.GetOrderHistory
  • Listener URI: http://localhost/Bookworm/Bookworm.wsdl
  • Listener type: ISAPI
  • XSD schema NS: 2001
  • WSDL charset: UTF-8
  • Target files: <Full path to your Bookworm Web directory>

First, verify that the Bookworm.wsdl file is functioning properly. To do this, point your browser to http://localhost/Bookworm/Bookworm.wsdl and you should get back a WSDL file in XML format.

After verification of the Bookworm.wsdl file, you can run the SOAP client. Under the SoapClient directory, run the Reports.exe application. Then execute a report on the Order History of This will make a SOAP call to the Reports component residing on your Bookworm web/component server. Note that you'll only get entries in the Order History if you've checked out books from the Bookworm web application.

Note: Parts of the Reports application source code were generated by a utility: TypeExport. TypeExport can be downloaded from my site When running TypeExport, access the following menu: Export | Microsoft SOAP Toolkit 2.0 WSDL Document | To Delphi SOAP Proxy Definition.

TypeExport was run with the following parameters:

  • WSDL Document URI: http://localhost/Bookworm/Bookworm.wsdl
  • Output Directory: <Full path to your Bookworm SoapClient directory>

Note: The Reports application and the Bookworm.wsdl files were generated under the assumption that the SOAP client and server are running on the same machine. Thus, references to http://localhost was used. If you intend to test and deploy the Reports application on a separate machine, you'll need to regenerate the Bookworm.wsdl file using WSDLGen and specifying an absolute Listener URI such as http://<machine>/Bookworm/Bookworm.wsdl. In addition, you'll also need to regenerate parts of the Reports source code using TypeExport and again by specifying an absolute WSDL Document URI such as http://<machine>/Bookworm/Bookworm.wsdl. After that, you'll need to rebuild the Reports.DPR project file.

Questions, comments, suggestions

If you have any questions, comments, or suggestions, please visit or send me an email here.


Binh Ly


Copyright (c) 1999-2011 Binh Ly. All Rights Reserved.