In the process of writing the Corporate Media Library (CML) application, the developers encountered a number of challenges of the sort that inevitably arise in any software project. Developing a simple desktop application presents difficulties enough; Windows® DNA applications can span a number of physical machines and logical tiers, incorporate a variety of software products, and call components from different object models. The number of places errors can appear increases exponentially.
The very nature of these errors makes them unpredictable and difficult to categorize. Application development is subject to errors that occur in the activity of writing code, of course. But many errors arise when you try to integrate your custom scripts or components with the objects and applications available through object models and APIs.
The development process is therefore a learning process as well. You learn how products operate together. You learn that making them operate together takes patience and often creativity on your part. You learn that implementing one feature takes up too much time for you to implement another feature. You learn the limitations of your tool set.
With this in mind, the BackOffice® Developer's Guide presents the lessons learned as the CML was written. These lessons fall into the following categories: