Exam Reviews

Commerce Crackdown

This new test promises to stretch your abilities with development tools, the operating system, database management and customer service.


Even though the dot-com crash has affected many people in the IT industry in the past year, Microsoft has reiterated its commitment to supporting e-business by releasing the third generation of its e-commerce software, Commerce Server 2000. Commerce Server 2000 paves the way for developers to create an e-commerce storefront without having to go through the pains of building everything from the ground up. Many of the basic features of a typical online store are already built into the product, such as catalogs, shopping carts and order processing. What makes this product attractive to most, however, are advanced features such as user profiling, personalization and even data mining to analyze trends.

Sounds great, doesn’t it? Well, Commerce Server is also a complex product that requires sharp networking as well as development skills. The decisions you make on the network architecture are just as critical as the development of the site itself. Let’s explore the complexity.

Commerce Server 2000

Reviewer’s Rating
“A challenging exam for razor-sharp developers; this one covers just about every tool a Microsoft developer could dream of using in a solution.”

Exam Title
70-234: Designing and Implementing Solutions with Microsoft Commerce Server 2000

Current Status
Live since December 2001.

Who Should Take It
Elective credit for MCSD and MCSE (though this is definitely more of a solution developer’s exam).

What Courses Prepare You
2188: Deploying and Managing Microsoft Commerce Server 2000
2345: Fundamentals of Developing a Business- to-Consumer Solution with Microsoft Commerce Server 2000

Analyze This!
I’m certain any developer worth his or her salt will tell you that the design phase of an application is definitely the most important part of the software lifecycle. If you don’t have a sound design, you’re going to have a terrible application, no matter how well it’s coded. Microsoft wants to make sure you know your Commerce Server when it comes to design. Expect to face different business scenarios and provide efficient solutions.

This section actually has little to do with Commerce Server itself, but that doesn’t make it any less challenging! You need to be able to recognize a problem and determine if the given solution meets the business requirements. Don’t be surprised by how detailed the scenarios are. Make sure you have your thinking cap on from both networking and development standpoints. Be able to suggest which Commerce Server feature addresses a specific business issue.

Tip: Know your security models inside and out. This means keenly understanding how IIS, Active Directory and SQL Server security work.

Setting Up Shop
Even though it’s usually considered the network administrator’s job to perform installations, it’s imperative to know how to install and configure an environment with Commerce Server. After all, you have to get your development environment working before you can deploy to production! It’s here that I find the lines between the roles of systems engineer and developer become blurry. In fact, I’m of the opinion that it’s challenging to be an effective developer without knowing a reasonable amount about networking.

Installing Commerce Server itself isn’t too difficult, but you need to make sure that you’ve already installed IIS and SQL Server before you do anything else. Learn how to troubleshoot problems that might occur with those products and not just Commerce Server. Depending on your environment, you may run Commerce Server on a separate machine from SQL Server. The installation process is a little bit different from an “ordinary install.”

Once you have Commerce Server installed, you’re not done! You need to configure a site before you can get going on development. This is where the Packager-Unpackager (PUP) comes into play. You can either use one of the template sites Microsoft provides or use the “blank” template to get your feet wet. If you’re new to Commerce Server and want to hit the ground running, check out the “Retail” site included with the product, although you certainly don’t want to use this for the basis of your production site. The Retail site should simply be used to get an idea on how to use the Commerce Server objects.

Tip: Make sure you understand the different types of SQL Server security and how they might affect your Commerce Server sites.

Just How Complex is
Commerce Server 2000?

In the world of Commerce Server 2000 there’s a large gap between what you need to know for the certification exam and what you need to know to be able to implement the product. For example, when I started with it, I thought I could open up the Retail sample site, learn what was done, and know pretty much whatever there was to know to become a Commerce Server expert! Well, I was wrong. True enough, the Retail site gave me a basic footing with the Commerce Server object model, but it did nothing to help me with Business Internet Analytics, which requires more than a good bit of SQL Server Analysis Services experience. You need to understand OLAP and data warehousing to make any sense of it!

I’ll stop ranting as long as you understand how difficult this product is to implement and truly master. To know that, you have to understand what Commerce Server 2000 really is. Sure, Microsoft says it’s a great e-commerce storefront. And it certainly can be—with the proper expertise. What Commerce Server 2000 really buys you is an object model and framework. The object model gives you a group of functional components around which to write code and which you then situate and glue together. It doesn’t give you an out-of-the-box solution that runs with a few wizards. The power is in the code.

Development nowadays is getting to be much more network-centric than before. I know a good number of people who are outstanding programmers, but the minute SQL Server goes down, they’re like a fish out of water. That won’t fly in the world of Commerce Server because it requires SQL Server to contain its data. It can also integrate security with Active Directory. Of course, access to AD is wrapped up by the object model, but what about troubleshooting? Are you going to have a dedicated network engineer sit next to you all day and troubleshoot your AD problems? Probably not.

Also, if you’re using Commerce Server in a Web farm or Web garden scenario, you need to understand how that works, too. No, it’s probably not going to be necessary to be able to troubleshoot network load balancing, but it would certainly help if you could run autonomously without the assistance of a network engineer.

There’s also a pit of trouble for the Web designer, now, too. Most of the projects that I’ve managed had a distinct split between Web developer and Web designer, and this product certainly blurs that line a little bit. As a designer, you need to be able to create basic layouts and let the developer implement them or not be afraid to write some ASP code using the Commerce Server object model. If you’re going to take the route of code, you need to understand which ASP files get included on each page.

But don’t be discouraged! All right, the sample code that’s included with the product isn’t wonderful—what can you do? There are a few books out there, including Professional Commerce Server 2000 Programming, published by Wrox Press, that are a must-read. They’re not perfect, but they’re the best you’re going to find in printed form right now.
—Chris Golubski

Developing Your Business
Once you have everything installed the way you want it, the monumental task of development begins. Commerce Server’s object model is far too complicated to cover thoroughly in this article, so I’ll just discuss the highlights.

You need to be familiar with the “shopping paradigm” that Commerce Server presents to you as a developer. For example, catalogs contain all of the storefront’s products and descriptions. Campaigns describe any sales that might occur for a specific group of shoppers. Profiles consist of user information and possibly even shopping characteristics of those users. Pipelines are a way of tracking the process of an order—from putting items in a basket to completing the sale to fulfillment and shipping of an order. All of these are the components of Commerce Server, and you need to be able to use them wherever needed.

Understand how to set up your store, either programmatically or through the Business Desk component provided by Microsoft. The Business Desk is an application installed with each Commerce Server site. You connect to it with Internet Explorer to manage your entire site, including catalogs, campaigns and profiles. The Business Desk is customizable, and virtually anything can be added to it. For instance, you might want to add a customized menu option to allow Business Desk users to connect to an internal inventory application that allows them to view current stocking trends. Make certain you know how to add this functionality, if necessary.

Understanding how to manage the site from a user’s standpoint with the Business Desk is nice, but knowing the underlying framework as a developer is much more important. You need to be able to use the Commerce Server objects to make ordinary tasks work “behind the scenes.” For example, make sure you can get information programmatically from the store’s catalog by using the Catalog object. Familiarize yourself with the OrderForm object and where it’s used. Understand the difference between the pipeline objects. For instance, the “Commerce.MtsPipeline” object doesn’t use COM+ transactions while the “Commerce.MtsTxPipeline” object does.

The profiling system in Commerce Server is also worth mentioning because of its multifaceted design. You’re permitted to choose where profile data is stored: in a SQL Server database (the default), Active Directory or a combination of the two. Here’s where your networking skills will come in handy. You need to understand what security is required to modify AD and possibly even the schema. Also, make certain you know how to access objects programmatically in AD to add, modify and delete your customer profiles as needed. If you’ve decided to use both SQL Server and AD, make certain you can manage mappings in the Business Desk when defining profiles.

Ever been tempted by that candy bar at the checkout line in the grocery store? Department stores spend millions of dollars each year attempting to determine the ideal product placement in a physical store; however, as an Internet sales company, your customers are virtual. Just like any brick-and-mortar store, though, your online store needs to be able to meet the needs of its target shoppers. With Business Internet Analytics and the Predictor component, you’re afforded the ability to analyze what customers purchased and make sales suggestions. You can also track a customer over a long period and adjust to that customer’s individual needs as time passes, thanks to SQL Server Analysis Services. It would do you well to understand how the predictor component is used in a Commerce Server site and how to access profile data from it. Be able to display a customized screen based on a user’s past purchases or browsing habits. Remember, you can only profile a user based on information that was captured in the past. If you don’t have any data, you can’t profile them!

Because the guidelines for this exam cut across so many topics and products, you might conclude that the exam is rather general in nature vs. drilling down on a particular technology. This means you should expect to be multilingual—that is in Visual Basic and Visual C++. Of course, you know that ASP is written in VBScript, but remember that, in some cases, your pipeline components and other COM+ objects might be coded in Visual C++ for greater efficiency. Be prepared to spot places where Visual Basic doesn’t make the grade for performance.

Tip: Study pipeline components well. Make sure you understand the different types of pipelines and when each one is used.

10 Things to Practice

1. Install Commerce Server 2000. Make sure you understand how SQL Server integrates with the different components that come with it.

2. Use the PUP to unpackage the Retail site. Make some modifications and repackage the site. Deploy it to the Commerce Server.

3. Add a custom module to the Business Desk. Make sure you can install the Business Desk on your local browser to manage a site.

4. Install Certificate Server and generate a Web server certificate for your local site. Enable SSL on the site.

5. Create a simple catalog with the Business Desk. Use the Commerce Server objects to display the catalog information on an ASP page.

6. Create a campaign using the Business Desk. Implement this on an ASP page. Make sure the appropriate discount is applied to the product.

7. Install Business Internet Analytics. Walk through the samples to ensure you understand how it works.

8. Create a pipeline component to add to the Purchase pipeline. Write the component to add a simple value to a database table. When the pipeline runs, make sure the database table is updated.

9. Enable the AuthManager and AuthFilter security mechanisms and catalog the differences between them.

10. Enable profiling to use Active Directory. Note the differences between AD and SQL Server implementations.
—Chris Golubski

Bombs Away!
Deploying a Commerce Server application isn’t just a copy operation. You need to make sure you use the PUP to package your site. Once that’s done, just use the PUP again on the production Commerce Server box to deploy! It’s that easy—well, almost.

Of course, plenty of problems can arise once your application is installed, and it’s your job to ensure that they’re resolved in a timely fashion. For instance, what happens when clients can’t get the Business Desk application to install? First, make sure they’re running the correct browser software. Second, make sure your browser’s security settings aren’t prohibitive.

Also, it’s imperative that you be able to troubleshoot the built-in security that Commerce Server provides, like the AuthFilter and the AuthManager. Make sure you know which ones support cookies and which ones don’t. Each authentication mechanism has a price to pay. Also, know how to install and manage ISAPI filters on IIS.

Tip: Know how to install an SSL certificate on IIS.

Additional Information

The preparation guide for 70-234, the Commerce Server 2000 exam, can be found at www.microsoft.com/
traincert/exams/70-234.asp
.

Commerce Server’s home site is at www.microsoft.com/
commerceserver
. There you can download trial software, Service Pack 2 and the beta for Commerce Server 2002.

Maintenance Mayhem
The last part of an application’s life cycle is the maintenance phase. Although this is the longest phase and should be minimal if the design and development finished smoothly, it shouldn’t be underestimated. For instance, know how to age profile accounts out of Commerce Server. It’s also important to know how to deal with items in the product catalog that are no longer for sale. Be careful with the implications on this one. Deleting directly from the SQL database is a mistake. After all, you don’t want to delete product information for products you’re discontinuing but have sold on previous orders.

As far as pipeline components go, make sure you know where you can modify taxation information. You may insert your own components or use pre-built tax calculators in your pipelines. Be able to use pipeline logs as a troubleshooting tool if you have a problem with this. Pipeline log files can be an invaluable tool for developers if you have particular lengthy or complicated COM objects in a pipeline.

Closing Down
Let me issue a caveat for this exam: Get some solid, in-depth experience with the product before attempting it. Commerce Server is really good about providing users with graphical interfaces to manage the storefront, but you, as developer, need to ensure that you’re able to modify the interface to suit the users’ needs. Good luck!

comments powered by Disqus
Upcoming Events

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.