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.
“A challenging exam for razor-sharp developers;
this one covers just about every tool a Microsoft developer
could dream of using in a solution.”
70-234: Designing and Implementing Solutions with
Microsoft Commerce Server 2000
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
2345: Fundamentals of Developing a Business-
to-Consumer Solution with Microsoft Commerce Server
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
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.
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.
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
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
Tip: Study pipeline components well. Make sure you understand the
different types of pipelines and when each one is used.
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
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.
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.
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.
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!