<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Max Akbar : Architectural and Design</title><link>http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx</link><description>Tags: Architectural and Design</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>News about the Commerce Server Book!</title><link>http://blogs.msdn.com/maxakbar/archive/2008/04/07/news-about-the-commerce-server-book.aspx</link><pubDate>Tue, 08 Apr 2008 00:37:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8366572</guid><dc:creator>Max Akbar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/8366572.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=8366572</wfw:commentRss><description>&lt;p&gt;I am sure you all have been waiting for the Commerce Server 2007 Book that was listed at Amazon and blogged about. If you perform a search now, you will notice that it is no longer available at Amazon. The reason for this is that book will not be published. &lt;/p&gt; &lt;p&gt;I talked with Wade (the author) and he is trying to find another publisher and I may even put a few word in a couple of chapters but that's not solidified yet. As I gather more news I will be sure to let you know.&lt;br&gt;&lt;/p&gt; &lt;p&gt;In the mean time here is my shameful plug :/&lt;/p&gt; &lt;h2&gt;So how do I learn Commerce Server?&lt;/h2&gt; &lt;p&gt;I have two &lt;a href="http://commerceservertraining.com/Training_Outline.html"&gt;video tutorials&lt;/a&gt; that you can start with and more to come later. Currently I am trying to put together a training session something like the bootcamp sessions I did for Microsoft but more in-depth with lots of samples and labs. The duration of this training will be five days and held in sunny California. Time frame is going to be sometime in June\July. The cost is going to be somewhere around $2,225.00. Of course this will depend on interest and number of participants :).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A rough outline of what is covered:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Day one&lt;br&gt;&lt;/strong&gt;Installation\Configuration and Deployment  &lt;p&gt;&lt;strong&gt;Day two&lt;/strong&gt; &lt;br&gt;Catalog System  &lt;p&gt;&lt;strong&gt;Day Three&lt;br&gt;&lt;/strong&gt;Order System  &lt;p&gt;&lt;strong&gt;Day four&lt;br&gt;&lt;/strong&gt;Marketing and Profile System  &lt;p&gt;&lt;strong&gt;Day five&lt;br&gt;&lt;/strong&gt;Data Warehouse and Partner SDK&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;What you will take back with you: &lt;p&gt;Lab samples, code and power points of the training session. I will also provide the two &lt;strong&gt;training videos &lt;/strong&gt;as part of this session.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;So stay tuned as I get more news on the book and the Training Session here in LA. &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8366572" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Training/default.aspx">Training</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Will Commerce Server Run on Windows Server 2008?</title><link>http://blogs.msdn.com/maxakbar/archive/2008/02/04/will-commerce-server-run-on-windows-server-2008.aspx</link><pubDate>Tue, 05 Feb 2008 03:25:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7451654</guid><dc:creator>Max Akbar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/7451654.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=7451654</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So the question of the year is "will Commerce Server run on Windows 2008"? The answer is &lt;strong&gt;"YES"&amp;nbsp;&lt;/strong&gt;with a big&lt;strong&gt;&amp;nbsp;BUT &lt;/strong&gt;you have to wait for Commerce Server SP2 targeted second half of 2008.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To confirm I sent an email to &lt;a href="mailto:csid@microsoft.com"&gt;csid@microsoft.com&lt;/a&gt; and they can't comment as they are in the planing phase so we just have to wait and see :(.&lt;br&gt;&lt;/p&gt; &lt;p&gt;I am pretty sure that .NET 3.5 falls on the same bucket.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.zdnet.com/microsoft/images/foley2.png"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.zdnet.com/microsoft/?p=1153"&gt;» What will run on Windows Server 2008 — and when | All about Microsoft | ZDNet.com&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7451654" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>How To Deal With Large Orders And Improve Checkout Performance</title><link>http://blogs.msdn.com/maxakbar/archive/2007/12/02/how-to-deal-with-large-orders-and-improve-checkout-performance.aspx</link><pubDate>Sun, 02 Dec 2007 22:54:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6644433</guid><dc:creator>Max Akbar</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/6644433.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=6644433</wfw:commentRss><description>&lt;p&gt;There are some scenarios were you need to handle 100 or more line items and performance becomes an issue. So in this post I hope to provide you with some ideas on how you can speed up the performance of the Checkout path.&lt;/p&gt; &lt;h2&gt;Checkout Path&lt;/h2&gt; &lt;p&gt;What is the checkout path? The checkout process starts from the moment the users enter the basket\cart&amp;nbsp;page. Then, they navigates to shipping and billing page.&amp;nbsp;This can either be one page or two. Next, they receives a confirmation page and finally, the users checks out and navigate to the receipt page.&lt;/p&gt; &lt;h3&gt;Basket Display&lt;/h3&gt; &lt;p&gt;This page shows the user what is in their basket. Usually the line item id, description, total line item cost, any discounts, total and subtotal. Bellow is an example:&lt;/p&gt; &lt;p&gt; &lt;table cellspacing="1" cellpadding="1" border="1"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Item ID&lt;/td&gt; &lt;td&gt;Description&lt;/td&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;Quantity&lt;/td&gt; &lt;td&gt;Discount&lt;/td&gt; &lt;td&gt;Total&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;123-ABC&lt;/td&gt; &lt;td&gt;My product description&lt;/td&gt; &lt;td&gt;$10.00&lt;/td&gt; &lt;td align="middle"&gt;1&lt;/td&gt; &lt;td&gt;$1.00&lt;/td&gt; &lt;td&gt;$9.00&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td class="style2" align="right" colspan="5"&gt;Subtotal&lt;/td&gt; &lt;td&gt;9.00&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;You can also allow the user to enter promotion codes here if you site allows it. &lt;/p&gt; &lt;p&gt;The Basket pipeline file is executed in the page.&lt;/p&gt; &lt;h4&gt;Basket Pipeline File&lt;/h4&gt; &lt;p&gt;The Basket pipeline validates the line item product and removes any line items that does not validate again the Product Catalog System. Inventory is also checked. Pricing variables are initialized and used later on in the discount stage. Finally the subtotal is calculated.&lt;/p&gt; &lt;h3&gt;Billing and Shipping Information&lt;/h3&gt; &lt;p&gt;Some sites will have Billing and Shipping information on one page and some have it in two. These pages allows the user to select an address from their address book or enter a new one. The addresses can be used for shipping or shared as billing address. The billing section will also allow the user to enter a credit card.&lt;/p&gt; &lt;p&gt;This page executes the Basket and Total pipeline files.&lt;/p&gt; &lt;h4&gt;Total Pipeline File&lt;/h4&gt; &lt;p&gt;The Total pipeline computes the amount of an order and calculates Shipping, Handling, Tax, Order Total. This pipeline will also calculates any shipping discounts that need to be applied.  &lt;h3&gt;Confirmation Page&lt;/h3&gt; &lt;p&gt;The confirmation page allows the user to validate their order before accepting the purchase. This page displays the line items and addresses for shipping and billing, payment methods and discounts applied.&lt;/p&gt; &lt;p&gt;This page executes Basket and Total pipeline files.&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Receipt Page&lt;/h3&gt; &lt;p&gt;The receipt page is an exact duplicate page as the confirmation page that shows that the order has been purchased.&lt;/p&gt; &lt;p&gt;This page executes Basket, Total and Checkout pipeline files.&lt;/p&gt; &lt;h4&gt;Checkout Pipeline File&lt;/h4&gt; &lt;p&gt;The Checkout pipeline is responsible for redeeming promotion codes, decrement inventory, record Content Selection framework events, and finally the events are appended to the IIS log.&lt;/p&gt; &lt;h3&gt;What about Add to Basket\Cart?&lt;/h3&gt; &lt;p&gt;On some sites when the user adds an item to the basket they are redirected to the basket page like the Starter Site and some sites display a simple message that the item was added to the basket. The sites that don't redirect the user need to only validate the product against the Product Catalog System. To do this you only need to execute the Product pipeline&amp;nbsp;component.&lt;/p&gt; &lt;h4&gt;Product Pipeline File&lt;/h4&gt; &lt;p&gt;Product pipeline validates that the product is in synch with the Product Catalog System.&lt;/p&gt; &lt;h2&gt;Why are we executing the pipelines over and over?&lt;/h2&gt; &lt;p&gt;Because the user can wait indefinite time between pages and prices, products or discounts could be invalid we need to execute the pipelines to ensure the accuracy of the basket before converting it to purchase order.&lt;/p&gt; &lt;h2&gt;What happens when I execute a pipeline?&lt;/h2&gt; &lt;p&gt;Commerce Server basket has several entities such as OrderForm, LineItems, Addresses, Shipments to name a few. These objects are based on .NET. The Commerce Server Processing Pipeline is COM. When a pipeline is executed the managed objects in the basket need to be converted into a dictionary. Commerce Server does this for you before executing the pipeline file. When the execution of the pipeline is completed, the process is reversed. If you are interested in a detailed explanation of pipelines then I suggest you read the following &lt;a href="http://blogs.msdn.com/maxakbar/search.aspx?q=%22Everything+you+ever+wanted+to+know+about+pipelines+but+were+afraid+to+ask%22&amp;amp;p=1"&gt;posts&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;How to improve performance?&lt;/h2&gt; &lt;ol&gt; &lt;li&gt;Do not use&amp;nbsp;scriptor pipeline Components. Scriptor Component is good for quick and dirty proof of concept.  &lt;li&gt;When creating custom pipeline Components then enable pooling for your pipelines.  &lt;li&gt;Follow the basics of .NET performance coding techniques. Here is a couple of reads for you &lt;a title="http://msdn2.microsoft.com/en-us/library/ms998530.aspx" href="http://msdn2.microsoft.com/en-us/library/ms998549.aspx"&gt;Improving ASP.NET Performance&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms998551.aspx"&gt;Improving Interop Performance&lt;/a&gt;&amp;nbsp;and &lt;a href="http://msdn2.microsoft.com/en-us/library/ms998547.aspx"&gt;Improving Managed Code Performance&lt;/a&gt;.  &lt;li&gt;Don't create Commerce Contexts inside your custom pipelines pass them as pipeline Context values.  &lt;li&gt;When adding items to the basket don't redirect the user to the basket page. Imagine if 25 percent of your users add more than one item to their basket, now you are executing the basket 25 more times then necessary.  &lt;li&gt;Don't iterate the lineitems object then get a Commerce product object, the lineitem is filled with all it's properties in the Product Info of basket pipeline&amp;nbsp;stage, try to use what's there.  &lt;li&gt;Remove unwanted pipeline components, for example if you are not using the Inventory System then remove the CheckInventory and Update Inventory.  &lt;li&gt;If you don't have or not using the data warehouse then you can remove the CSFRecordEvent and CSFIISAppendToLog.  &lt;li&gt;Create one pipeline component for each page, this will reduce the transformation of .NET object to COM and back. For example you would create a BillingShipping.pcf that has the combined basket and Total files and the same is true for the receipt page.  &lt;li&gt;Don't keep to many weakly types because most of your time will be spent in serialization when they are stored in the marshalled data field.  &lt;li&gt;Add business logic that if the lineitem collection is more than 50 or whatever your business requirements are then execute them offline. This would mean that you have to create an application that runs large orders for you.  &lt;li&gt;If your business can't support this scenario then keep one server available for large order scenario. When you detect large orders then redirect the checkout process to another server that does nothing but handle large orders.  &lt;li&gt;If your business allows then don't execute the basket pipeline stages during the shipping and billing only the Total as you will catch any issues when the users tries to complete the purchase.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;If you have additional ideas please post a comment for others.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6644433" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Orders+System/default.aspx">Orders System</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>A few things you didn't know about Commerce Server's Catalog Cache</title><link>http://blogs.msdn.com/maxakbar/archive/2007/11/22/a-few-things-you-didn-t-know-about-commerce-server-s-catalog-cache.aspx</link><pubDate>Thu, 22 Nov 2007 23:56:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6473317</guid><dc:creator>Max Akbar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/6473317.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=6473317</wfw:commentRss><description>&lt;p&gt;One of the most important aspect of any e-commerce is their Catalog(s) and Commerce Server provides a system that allows customers to manage and organize their products. In any e-commerce site the most profile usage the Catalog. Searches and Catalog&amp;nbsp;browsing constitutes about 70 percent or more of a site. Performance becomes an issue when you have to make that many round trip calls to the database. In order to minimize this you have to provide some mechanism for caching. Well as it happens Commerce Server's Catalog System has such a caching system.&lt;/p&gt; &lt;h2&gt;Catalog Cache&lt;/h2&gt; &lt;p&gt;Commerce Server's Catalog Cache is a lazy cache. If caching is turned on under the web.config in runtime scenarios then any request made is checked, if caching is on then we look into the cache and see if the object exists if not then a request is made to the database and the object is cached before returned to the caller.&lt;/p&gt; &lt;h2&gt;Web.config Settings&lt;/h2&gt; &lt;p&gt;The table below shows the cache settings for a Commerce Server site.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;&amp;lt;catalog&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;catalogSets defaultAnonymous="Anonymous User Default CatalogSet" defaultAuthenticated="Registered User Default CatalogSet"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;cache enable="true" schemaTimeout="10" itemInformationCacheTimeout="10" itemHierarchyCacheTimeout="10" itemRelationshipsCacheTimeout="10" itemAssociationsCacheTimeout="10" catalogCollectionCacheTimeout="10"/&amp;gt;&lt;br&gt;&amp;lt;/catalog&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;As you can see caching is enabled and there are five items that can be cached. Instead of me explaining this which is already documented how about you do a bit of leg work. You can find more detailed info about these settings as well as the CacheConfiguration object &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.commerceserver.catalog.cacheconfiguration_properties.aspx"&gt;here&lt;/a&gt;. Each item has a timeout period after which the item is dropped from cache.  &lt;h2&gt;Refreshing the Cache&lt;/h2&gt; &lt;p&gt;Catalog Cache can be refreshed by using Catalog Manager, Staging Services or hitting a specific URL. This URL is protected and by default only administrators can access it. The URL is an httpHandler and this setting can also be found at the web.config.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;&amp;lt;httpHandlers&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add verb="*" path="SiteCacheRefresh.axd" type="Microsoft.CommerceServer.Runtime.SiteCacheRefresh, Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 "/&amp;gt;&lt;br&gt;&amp;lt;/httpHandlers&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;To add an account that accesses this URL you must do so under the web.config. &lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;&amp;lt;location path="SiteCacheRefresh.axd"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow roles="BUILTIN\Administrators"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow roles="VORDEFINIERT\Administratoren"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow roles="BUILTIN\Administrateurs"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="*"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="?"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br&gt;&amp;lt;/location&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h2&gt;Cache Size&lt;/h2&gt; &lt;p&gt;Commerce Server's Catalog items are typed DataSets and can be as large as 300KB per item. If you have a large Catalog the cache size can grow pretty big. To minimize this you can set the Cache Timeout to a smaller amount like 10 minutes. If I remember correctly this is the number of minutes that we tested the Commerce Server's Catalog Performance.&lt;/p&gt; &lt;h2&gt;Where is the Cache?&lt;/h2&gt; &lt;p&gt;Commerce Server utilizes ASP.NET cache. The following code will dump all the cache keys.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;foreach (DictionaryEntry key in Cache)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(key.Key.ToString());&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write("&amp;lt;br /&amp;gt;");&lt;br&gt;}&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;The following is the cache out put&amp;nbsp;from Starter Site. &lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogsInCatalogSetByName,&lt;br&gt;Registered User Default CatalogSet&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogLanguages,&lt;br&gt;Adventure Works Catalog&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogsInCatalogSetByName,&lt;br&gt;Anonymous User Default CatalogSet&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetParentCategories,&lt;br&gt;Adventure Works Catalog,Adventure Works Catalog,en-US,14,*,False&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertiesInCatalog,&lt;br&gt;Adventure Works Catalog&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetProductOIDAndType,&lt;br&gt;Adventure Works Catalog,AW099-15,en-US,,,,,,&lt;br&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;ctlg_QueryCatalogInfo|Adventure Works Catalog|AW099-15||en-US&lt;/strong&gt;&lt;br&gt;&lt;/font&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,&lt;br&gt;IntroductionDate&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetDefinitions,,Crampon,&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetProductProperties,&lt;br&gt;Adventure Works Catalog,False,14,ProductCode,VariantCode,&lt;br&gt;Adventure Works Catalog,en-US,NoJoin,,,,P.BaseCatalogName,CategoryName,&lt;br&gt;P.oid,DefinitionName,IsSearchable,cy_list_price,UseCategoryPricing,&lt;br&gt;i_ClassType,CatalogName,ProductId,OrigProductId,&lt;br&gt;VariantId,OrigVariantId,PrimaryParentCategory,DisplayName,Timestamp,&lt;br&gt;OriginalPrice,LastModified,ParentOId,True,,,False,False,False,True,False,0&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogGlobalProperties,&lt;br&gt;Adventure Works Catalog,en-US&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,Test&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,Image_filename&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetRootProducts,&lt;br&gt;Adventure Works Catalog,en-US,False,NoJoin,,,, &lt;br&gt;[CategoryName],[ProductID],[CatalogName],[i_ClassType],[DisplayName],[cy_list_price],&lt;br&gt;[BaseCatalogName],[oid],[OrigProductId],[DefinitionName],&lt;br&gt;[PrimaryParentCategory],[UseCategoryPricing],1,10,,True,0,True,,,False,False,False,True,False,0,*&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,Image_height&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCategoryOID,Adventure Works Catalog,,en-US,,,,&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_VC_BC_GetDependentCatalogs,&lt;br&gt;Adventure Works Catalog,1,2147483646,,True,0,en-US&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,ProductCode&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogSetInfoByName,Registered User Default CatalogSet&lt;br&gt;CatalogHelper.CatalogsForAnonymousUser&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,Image_width&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCategoryOID,Adventure Works Catalog,,en-US,,,False,False&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogProperties,Adventure Works Catalog,en-US,,&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetRootProducts,Adventure Works Catalog,en-US,False,NoJoin,,,,*,&lt;br&gt;1,2147483646,,True,0,True,,,False,False,False,True,False,0,*&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,OnSale&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetRootCategories,&lt;br&gt;Adventure Works Catalog,en-US,False,*,1,2147483646,,True,0&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCategoryProperties,Adventure Works Catalog,-1,&lt;br&gt;Adventure Works Catalog,en-US,BaseCatalogName,CategoryName,&lt;br&gt;OrigCategoryName,oid,DefinitionName,IsSearchable,cy_list_price,&lt;br&gt;UseCategoryPricing,i_ClassType,CatalogName,ProductId,OrigProductId,&lt;br&gt;VariantId,OrigVariantId,PrimaryParentCategory,DisplayName,&lt;br&gt;Timestamp,OriginalPrice,LastModified,ParentOId,False&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogProperties,Adventure Works Catalog,,,&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetCatalogSetInfoByName,Anonymous User Default CatalogSet&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetDefinitionProperties,Crampon,&lt;br&gt;CS2007TRAINING,StarterSite_productcatalog,dbo.ctlg_GetPropertyAttributes,ProductSize&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h2&gt;So here is something you may not have known&lt;/h2&gt; &lt;p&gt;When you add an item to basket and execute the basket pipeline component there are two components that interact with the Catalog System &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt; and &lt;a href="http://msdn2.microsoft.com/en-us/library/ms959488.aspx"&gt;RequiredProdInfo&lt;/a&gt;. The &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt; is also dependant upon the cache values under the web.config. Why is that? The &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt; checks to make sure that the lineitems are in synch with the Catalog System and if not then marks them as deleted and the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms959488.aspx"&gt;RequiredProdInfo&lt;/a&gt;&amp;nbsp;removes the lineitem from the basket. The &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt; also keeps a cache of it's own separate from sites items cache. This increases the cache size and the same cache configuration values under the web.config&amp;nbsp;are applied to the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt; component cache. &lt;/p&gt; &lt;p&gt;As you can see there are two processes that depend on one configuration setting. under the "Where is the cache?" section in&amp;nbsp;the second table,&amp;nbsp;notice the red text that defines the QueryCatalogInfo cache item.&lt;/p&gt; &lt;h2&gt;How to decouple this Configuration&lt;/h2&gt; &lt;p&gt;There maybe scenarios that you will need to disable the Commerce Server's Cache as you may have implemented your own caching mechanism. Which means that by disabling the Commerce Server's Catalog Cache you will suffer performance hit in the checkout process.&lt;/p&gt; &lt;p&gt;The &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.commerceserver.catalog.cacheconfiguration_properties.aspx"&gt;CacheConfiguration&lt;/a&gt; is passed as a&amp;nbsp;context to the pipeline component so it's possible to disable the web.config Cache and create your own pipeline component that sets a cache settings for the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt;&amp;nbsp;component. Just make sure that this component is placed before the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms961004.aspx"&gt;QueryCatalogInfo&lt;/a&gt;&amp;nbsp;component.&lt;/p&gt; &lt;p&gt;The following code enables you to set your own cache settings.&lt;/p&gt; &lt;table cellspacing="1" cellpadding="1" width="600" border="1" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="596"&gt; &lt;p&gt;public int Execute(object pdispOrder, object pdispContext, int lFlags)  &lt;p&gt;{  &lt;p&gt;CacheConfiguration cacheConfig = new CacheConfiguration();  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheConfig.CacheEnabled = true;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cacheConfig.ItemInformationCacheTimeout = 10;  &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((IDictionary)pdispContext)["CatalogCacheConfiguration"] = cacheConfig;  &lt;p&gt;return 1;  &lt;p&gt;}&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;This post was done with consultation of Ben Taylor from Shape Factory LTD in UK.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6473317" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Catalog+System/default.aspx">Catalog System</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Have you heard of SmartCatalog?</title><link>http://blogs.msdn.com/maxakbar/archive/2007/09/25/have-you-heard-of-smartcatalog.aspx</link><pubDate>Wed, 26 Sep 2007 05:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5134292</guid><dc:creator>Max Akbar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/5134292.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=5134292</wfw:commentRss><description>&lt;P&gt;SmartCatalog is the only .NET Product Advisor and Product Configuration solution built exclusively for Microsoft Commerce Server.&amp;nbsp; SmartCatalog is tightly integrated with Microsoft Commerce Server and was the first software partner dating back to 2000.&amp;nbsp; &lt;FONT face=Arial size=2&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;SmartCatalog’s purpose is to provide users with a personalized shopping experience with integrations to the Commerce Server Profile Engine, product advising marketing campaigns by integrating to the Marketing System, dynamic bundling of products and/or services and prices by integrating to the Catalog System.&amp;nbsp; I get requests from companies needing SmartCatalog Components and wanted to refer anyone needing this type of solution to the SmartCatalog product manager Nina Reinert.&amp;nbsp; She can be contacted at &lt;A href="mailto:nreinert@smartcatalog.com" target=_blank _onClick="Popup.composeWindow('pcompose.php?sendto=nreinert%40smartcatalog.com');; return false;"&gt;&lt;FONT color=black&gt;&lt;SPAN style="COLOR: windowtext"&gt;nreinert@smartcatalog.com&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt; or 877-330-9564 ext. 536.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&amp;nbsp;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5134292" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>News Alert Commerce Server</title><link>http://blogs.msdn.com/maxakbar/archive/2007/08/08/news-alert-commerce-server.aspx</link><pubDate>Wed, 08 Aug 2007 21:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4296383</guid><dc:creator>Max Akbar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/4296383.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=4296383</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.informationweek.com/news/showArticle.jhtml?articleID=201304779"&gt;&lt;FONT color=#669966&gt;Microsoft Re-Brandishes E-Commerce Chops With &lt;B&gt;Commerce Server&lt;/B&gt; Plans&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;InformationWeek - Manhasset,NY,USA&lt;BR&gt;In a broad outline of &lt;B&gt;Commerce Server's&lt;/B&gt; future on Wednesday, Microsoft is declaring its intention to stay in the game in a big way. &lt;B&gt;...&lt;BR&gt;&lt;BR&gt;&lt;/B&gt;&lt;A href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;amp;STORY=/www/story/08-08-2007/0004641925&amp;amp;EDATE="&gt;&lt;FONT color=#669966&gt;Cactus Commerce Signs a Global Agreement With Microsoft Corp. for &lt;B&gt;...&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;PR Newswire (press release) - New York,NY,USA&lt;BR&gt;Cactus Elected the Preferred Joint Development and Go-to Market Partner for Microsoft's &lt;B&gt;Commerce Server&lt;/B&gt; OTTAWA, Aug. 8 /PRNewswire/ - Cactus Commerce, &lt;B&gt;...&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;&lt;A href="http://www.ottawabusinessjournal.com/289543152442940.php"&gt;&lt;FONT color=#669966&gt;Cactus Commerce to boost local workforce to support Microsoft &lt;B&gt;...&lt;/B&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;Ottawa Business Journal - Ontario, Canada&lt;BR&gt;The partnership will focus on developing enhancements and complementary solutions for the &lt;B&gt;Commerce Server&lt;/B&gt; platform, the company's release said. &lt;B&gt;...&lt;/B&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4296383" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>What's New for Commerce Server Documentation?</title><link>http://blogs.msdn.com/maxakbar/archive/2007/06/28/what-s-new-for-commerce-server-documentation.aspx</link><pubDate>Thu, 28 Jun 2007 11:09:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3578713</guid><dc:creator>Max Akbar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/3578713.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=3578713</wfw:commentRss><description>&lt;p&gt;I just finished getting my chm file using PackageThis and going through it to find new and exciting information. So, here is what I have found so far:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Commerce Server Staging API documentation&lt;/li&gt; &lt;li&gt;Commerce Server Staging XML Configuration of Business Data&lt;/li&gt; &lt;li&gt;Commerce Server System&amp;nbsp;Database tables are explained and documented a much needed help section.&lt;/li&gt; &lt;li&gt;Site Packer ini file explained including the BizData ini&lt;/li&gt; &lt;li&gt;I see that Migrating chm is now part of the documentation this should make things easier&lt;/li&gt;&lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3578713" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Service Pack 1 for Commerce Server 2007 is now available</title><link>http://blogs.msdn.com/maxakbar/archive/2007/06/22/service-pack-1-for-commerce-server-2007-is-now-available.aspx</link><pubDate>Sat, 23 Jun 2007 04:20:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3471379</guid><dc:creator>Max Akbar</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/3471379.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=3471379</wfw:commentRss><description>&lt;p&gt;I just got news from my friends at Microsoft that they have announce Service Pack 1 for Commerce Server 2007! &lt;p&gt;&lt;br&gt;This release adds support for running Commerce Server 2007 Developer Edition and the business user applications on Windows Vista.&amp;nbsp; There are also performance and security enhancements as well as fixes for several known issues.&amp;nbsp; To download the bits, please go to &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=748049C5-A9BF-4AEC-91A0-AFE2DE0BF860&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=748049C5-A9BF-4AEC-91A0-AFE2DE0BF860&amp;amp;displaylang=en&lt;/a&gt; &lt;p&gt;&lt;br&gt;An updated version of the Partner SDK is also available &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=BDEA4873-2C06-4C7F-AD51-830A0309FECC&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=BDEA4873-2C06-4C7F-AD51-830A0309FECC&amp;amp;displaylang=en&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;I was going to yell and say Yahoo but then again that would be helping the competition :), I whish Live would have something cheery. &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3471379" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Commerce Server 2007 Frequently Asked Questions</title><link>http://blogs.msdn.com/maxakbar/archive/2007/04/30/commerce-server-2007-frequently-asked-questions.aspx</link><pubDate>Mon, 30 Apr 2007 18:50:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2340957</guid><dc:creator>Max Akbar</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/2340957.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=2340957</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/comm/evaluate/faq.mspx"&gt;Link to Commerce Server 2007 Frequently Asked Questions&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2340957" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Commerce Server Capacity Planning Tool</title><link>http://blogs.msdn.com/maxakbar/archive/2007/04/12/commerce-server-capacity-planning-tool.aspx</link><pubDate>Fri, 13 Apr 2007 02:07:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2105329</guid><dc:creator>Max Akbar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/2105329.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=2105329</wfw:commentRss><description>&lt;p&gt;The Commerce Server Capacity Planning Tool helps to determine and rate your server performance, scalability, and flexibility in order to optimize your environment.&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/techinfo/planning/capacity.mspx"&gt;Link to Commerce Server Capacity Planning Tool&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2105329" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Digonex Technologies Dynamic Pricing System to be Available to Microsoft Commerce Server Users Via an Adapter for BizTalk Server</title><link>http://blogs.msdn.com/maxakbar/archive/2007/04/09/digonex-technologies-dynamic-pricing-system-to-be-available-to-microsoft-commerce-server-users-via-an-adapter-for-biztalk-server.aspx</link><pubDate>Mon, 09 Apr 2007 18:12:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2061506</guid><dc:creator>Max Akbar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/2061506.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=2061506</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;amp;STORY=/www/story/04-09-2007/0004561370&amp;amp;EDATE="&gt;Link to Digonex Technologies Dynamic Pricing System to be Available to Microsoft Commerce Server Users Via an Adapter for BizTalk Server&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2061506" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Orders+System/default.aspx">Orders System</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/CS2007+BizTalk+Adapters/default.aspx">CS2007 BizTalk Adapters</category></item><item><title>Downloads for Microsoft Commerce Server 2007</title><link>http://blogs.msdn.com/maxakbar/archive/2007/04/06/downloads-for-microsoft-commerce-server-2007.aspx</link><pubDate>Fri, 06 Apr 2007 20:28:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2041012</guid><dc:creator>Max Akbar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/2041012.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=2041012</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/results.aspx?pocId=&amp;amp;freetext=commerce%20server%202007"&gt;All Commerce Server Downlaods&lt;/a&gt; &lt;p&gt;Search for additional Commerce Server 2007-related downloads.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Source: &lt;a href="http://www.microsoft.com/technet/prodtechnol/comm/2007/downloads/default.mspx"&gt;Downloads for Microsoft Commerce Server 2007&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2041012" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Commerce Server 2007 Data Sheet</title><link>http://blogs.msdn.com/maxakbar/archive/2007/03/29/commerce-server-2007-data-sheet.aspx</link><pubDate>Fri, 30 Mar 2007 04:43:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1991927</guid><dc:creator>Max Akbar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/1991927.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=1991927</wfw:commentRss><description>&lt;p&gt;We have corrected and updated our Data Sheet and is currently live at:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/default.mspx"&gt;http://www.microsoft.com/commerceserver/default.mspx&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/evaluation/default.mspx"&gt;http://www.microsoft.com/commerceserver/evaluation/default.mspx&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/evaluation/overview.mspx"&gt;http://www.microsoft.com/commerceserver/evaluation/overview.mspx&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/evaluation/software.mspx"&gt;http://www.microsoft.com/commerceserver/evaluation/software.mspx&lt;/a&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/commerceserver/evaluation/datasheet.mspx"&gt;http://www.microsoft.com/commerceserver/evaluation/datasheet.mspx&lt;/a&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1991927" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>MOSS 2007 and Microsoft Commerce Server 2007 White Paper Released!</title><link>http://blogs.msdn.com/maxakbar/archive/2007/03/02/moss-2007-and-microsoft-commerce-server-2007-white-paper-released.aspx</link><pubDate>Sat, 03 Mar 2007 00:26:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1790283</guid><dc:creator>Max Akbar</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/1790283.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=1790283</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;This download provides setup and configuration information for solutions that are based on Microsoft Office SharePoint Server 2007 and Microsoft Commerce Server 2007. This download includes step-by-step configuration tasks and sample code.&lt;br&gt;This document in this download does not provide prescriptive guidance or a recommended enterprise architecture for building solutions that are based on these technologies. It is assumed that the reader has basic knowledge about Office SharePoint Server 2007. &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2AEB1A5E-43B8-483B-8CB2-86C0E82BF0AB&amp;amp;displaylang=en"&gt;Configuring and Integrating Microsoft Office SharePoint Server 2007 and Microsoft Commerce Server 2007&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1790283" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item><item><title>Commerce Server as an Application Server-SOA like</title><link>http://blogs.msdn.com/maxakbar/archive/2007/02/11/commerce-server-as-an-application-server-soa-like.aspx</link><pubDate>Sun, 11 Feb 2007 23:13:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1654025</guid><dc:creator>Max Akbar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/maxakbar/comments/1654025.aspx</comments><wfw:commentRss>http://blogs.msdn.com/maxakbar/commentrss.aspx?PostID=1654025</wfw:commentRss><description>&lt;p&gt;We recently hosted a Commerce Server Air Lift and there were may questions around using Commerce Server as an application server. In this post I will address some areas of concern, and risk associated with this approach. I am not saying it can't be done. You just need to be aware of issues around each Commerce Server Systems.&lt;/p&gt; &lt;h2&gt;What is an Application Server?&lt;/h2&gt; &lt;p&gt;A "middle-tier" software and hardware combination that lies between the Web server and the other networks and systems.&lt;/p&gt; &lt;h2&gt;What is SOA?&lt;/h2&gt; &lt;p&gt;You can do a quick search on &lt;a href="http://www.live.com"&gt;www.live.com&lt;/a&gt;&amp;nbsp;to learn more about Service Oriented Architecture (SOA), but the short and simple answer is, SOA is a loosely coupled software service.&amp;nbsp;Commerce Server 2007 implements SOA to facilitate seamless integration into Web services-enabled environments.&lt;/p&gt; &lt;h2&gt;Ways to Access Commerce Server&lt;/h2&gt; &lt;p&gt;Here are&amp;nbsp;the ways commerce server can be accessed.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: Not all Commerce API are serialized, and only the Runtime API was tested for performance.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;h3&gt;Runtime API&lt;/h3&gt; &lt;p&gt;The runtime APIs are meant to be used under the ASP.NET context, such as&amp;nbsp;an aspx or an asmx. You can find more info at &lt;a href="http://msdn2.microsoft.com/en-us/library/aa544753.aspx"&gt;Programming with the Runtime APIs&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;Service Agents API&lt;/h3&gt; &lt;p&gt;The Service Agent mode allows access to the Commerce Server web services. For more help see the following &lt;a href="http://msdn2.microsoft.com/en-us/library/aa546055.aspx"&gt;Agent Mode Programming with the Management APIs&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;Site Agent API&lt;/h3&gt; &lt;p&gt;The site Agent APIs are meant to be used in either an ASP.NET, console, or WinForm application. Unlike using the Web services directly, the agent APIs provide the same object model as is available locally using the in-process APIs. For more info you can look at&amp;nbsp;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa544845.aspx"&gt;Local Mode Programming with the Management APIs&lt;/a&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa546055.aspx"&gt;.&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;Web Services&lt;/h3&gt; &lt;p&gt;If you are using other programing languages like J2EE you can access the&amp;nbsp;Commerce Server 2007 and&amp;nbsp;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa545313.aspx"&gt;Programming Directly to the Web Services.&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;What are the Issues for Commerce Server as an Application Server&lt;/h2&gt; &lt;p&gt;If you are going to use Commerce Server as a middle tier, then you need to understand the Commerce Server Systems and issue that you may face.&lt;/p&gt; &lt;h3&gt;Catalog and Inventory System&lt;/h3&gt; &lt;p&gt;You can use any of the methods stated above to access the Catalog and Inventory System. If you have requirements around using Catalog Sets,&amp;nbsp;then you will need to do additional work. The&amp;nbsp;Catalog API has one method GetCatalogsForUser that will not work if the Catalog System is used as an application server.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;CommerceContext.Current.GetCatalogsForUser()&lt;/strong&gt;&lt;br&gt;This method requires a context to the users profile, to retrieve the guid for the Catalog Set associated under the AccountInfo.user_catalog_set property. Since you are accessing the Catalog System remotely, you will not have a profile context and the default values are used under the web.config for authenticated and anonymous users.&lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;Marketing System&lt;/h3&gt; &lt;p&gt;The Web Services for Marketing are meant for management, and should be used for that purpose. If used as an application server you will have issues with how the&amp;nbsp;Ads and&amp;nbsp;Discounts are displayed. A web.config setting&amp;nbsp;configures the runtime Marketing APIs to be cached for&amp;nbsp;specific time interval.&amp;nbsp;When Ads or Discounts are created, you may have a business rule to display them for a specific number of times. This data is collected in memory and when the cache time is reached, the in memory data is persisted into the database.&amp;nbsp;Since the in memory cache is in the application server the Marketing System can only record what is being accessed, and it will not know how many times the presentation tier displays the Ads and Discounts. You will also have to figure out how to record the click through of Ads and Discounts.&lt;/p&gt; &lt;p&gt;Targeting of Ads and Discounts will be difficult if using the Target Expression. Since they based on users profile you will require a profile context, which is not available in an application server environment.&lt;/p&gt; &lt;h3&gt;Profile System&lt;/h3&gt; &lt;p&gt;The Profile System handles the authentication of users by creating cookies. If you are in an application server environment, you have to create your own cookies and manage them.&lt;/p&gt; &lt;h3&gt;Order System&lt;/h3&gt; &lt;p&gt;I can't think of any requirements that would keep you for using the Order System in an application server environment.&lt;/p&gt; &lt;h3&gt;Data Warehouse&lt;/h3&gt; &lt;p&gt;Web logs are used to gather analytic reports about users and their click stream. In an application server environment you will have two or more web logs&amp;nbsp;to consider for importing into the Commerce Server Data Warehouse. You will also need to figure out where you are going to recording Commerce Events. Commerce Events are methods that write to the web log.&lt;/p&gt; &lt;h3&gt;Starter Site&lt;/h3&gt; &lt;p&gt;Starter site does not implement SOA out of the box.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1654025" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/maxakbar/archive/tags/Architectural+and+Design/default.aspx">Architectural and Design</category></item></channel></rss>