In looking at the Commerce Starter Kit (CSK) it became clear that while the site produced by the kit seemed simple it is actually quite complex.
For those who are new to CSK this is an initiative to write an open source ASP.Net 2.0 shopping cart. The kit supported by WekeRoad with continual involvement by both PayPal and Microsoft. Currently, it is simplistic, basic product catalog and shopping cart however it will grow. In addition, it uses Microsoft provider architecture. So I decide to drill down into the architecture to understand just how everything works together.
This led to the creation of the diagram above. I started by looking at what is in the browser. Then drilled into how the ASP.NET page was created. In this case, the product page is a template using Microsoft’s template technology. In addition, the page calls a manager class in the business logic layer (BLL). These manager classes wrap the providers written specifically for CSK. The master page uses user defined ASP.NET controls and those controls also use the manager classes in the BLL. Finally the providers actual implementation uses Microsoft’s data application block to access a SQL Express database.
The architecture trades simplicity for flexibility. In other words I can add features and functionality at a variety of layers without affecting other layers. For example, you could trade out SQL Express for MS SQL 2000 or even write a provider to talk to MySQL. These database changes can be implemented without touching the rest of the site. I could also change the basic layout of the site by just changing the master page. You can tweak a single component as well. However, with all of this flexibility comes a price and that price is simplicity. To add additional functionality can be daunting as you struggle with just where to start.
The next set of articles will look at how you can do various tasks from changing the theme of the site to adding whole new functionality. The first one is on how to modify the layout of pages and using themes.