Duwamish Books Sample: Phase 2 Duwamish Books, Phase 2

The Duwamish Books sample examines, in four phases, the issues involved with migrating an application from a classical desktop model to a Web-based, n-tier, enterprise system.

Phase 1 released the sample as a monolithic application. In Phase 2, Duwamish Books undergoes a small, but significant architectural revision. Our fictional bookstore has grown to a chain of stores, which means that multiple stores and users may be hitting the database at the same time. In order to streamline the growing operation, our developers have compiled all the data access code into a shared COM component.

For an introduction to the migration scenario and an overview of tiered architectures, see "An Introduction to the Duwamish Books Sample."

As in Phase 1, we provide both the compiled application and the source code for Phase 2. To download these, go to the Phase 2 download page.

In "Designing a Data Access Layer," Robert Coleridge discusses the many issues involved with designing a data access layer—for use within the application or as a separate COM component. He not only tells you how the Duwamish data access component was designed, but he also discusses alternative strategies and scenarios.

In "Migrating a Visual Basic 5.0 Component to Visual C++ 5.0," Michael Zonczyk shows you how to build a Visual C++ version of the Data Access Layer component. The source code for the component is available with the project source code.

Dale Smith runs through the basic changes to the Duwamish Books front-end applications in "Breaking Out the Data Access Layer." This article explains the code revisions for calling methods in the new component.

As Duwamish Books branches out to multiple stores, the database load will increase. "Modeling a Distributed Inventory," by Steve Kirk, discusses the revised data model that addresses increased load and data consistency issues across the organization. It also explains the database changes made to accommodate multiple stores and multiple inventory locations.

Of course, at the center of Phase 2 is the Duwamish Books Data Access Layer (DBDAL) COM component. We've provided the API reference for you to use.