CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeff Lynch [MVP]

Everything E-Commerce!

March 2007 - Posts

  • Commerce Server 2007: B2B Solution Development Overview (Series Post #2)

    Designing and developing a B2B E-Commerce solution using Commerce Server 2007 and BizTalk Server 2006 and the new Commerce Server BizTalk Adapters can be fairly complex but there are a few best practices which can simplify this process. This may sound a little radical if you've never developed this type of solution before but I recommend beginning your Commerce Server development efforts with the BizTalk applications that your solution will use to communicate with the outside world, especially with your ERP system.

     

    One of the most exciting new features in Commerce Server 2007 is the addition of four new BizTalk adapters that are specifically designed to make it easier to integrate Commerce Server data with other layer-of-business (LOB) systems using BizTalk Server 2006. These four adapters are designed to work with the Orders, Catalog, Inventory and Profiles subsystems, and allow Commerce Server to perform bi-directional information exchange between any number of different back-end systems. Since the overall goal of any e-commerce solution is to fulfill a customer’s order, having a means to easily integrate the web “front-end” with the ERP system’s “back-end” is vital. These new adapters make it possible to perform all sorts of real-time and near real-time integrations without writing a ton of custom code; and these adapters are not third-party “bolt-ons,” they were designed specifically for integrating with Commerce Server 2007.

    As you would expect, the data received from and sent to the Commerce Server adapters is in XML format and like any other BizTalk document instance, it can be processed using all the available BizTalk tools. This includes data transformation (mapping from one schema to another), orchestration and rules engine processing, as well as transportation to external systems by other BizTalk adapters, such as the FILE, SMTP and FTP adapters. This rich functionality now allows for true integration between your Commerce Server web applications and other external systems with a minimum of development effort and cost.

    Development Overview

    • Develop your integration schemas, maps, pipelines and orchestrations using BizTalk Server 2006 and the new Commerce Server adapters first. These should include outbound purchase orders, order updates, inventory updates, catalog updates, customer and organization (profile) updates, and any other information you need to exchange with your ERP system. During this work, you're likely to find out what "custom information" (not provided by Commerce Server by default) your ERP system requires to process and fulfill an order.

    • Extend the Commerce Server Orders subsystem to accommodate this "custom information" required to process and fulfill an order. This can be done by extending the Orders and LineItem classes in Commerce Server to add the custom properties and methods your application requires. The online documentation has a very good explanation of how to get started on this.

    • Create your product and inventory catalog schemas adding any "custom information" required to process and fulfill an order. This is done using the Catalog and Inventory Schema Manager tool provided with Commerce Server 2007. Add any required product- or inventory-related custom properties to your schema and test, test, test. Decide how you plan to present your catalogs to users on your site and most of all... KEEP IT SIMPLE!

    • Modify the standard UserObject, Organization and Address profile schemas to include any "custom information" required to process and fulfill an order. You'll find that not all custom information "fits" into the catalog or orders system directly. Some things (such as a customer number from your ERP system) fit into the Profiles subsystem better. So, you'll need to make some profile changes or perhaps add a few new profiles of your own.

    • Go ahead and start writing some site code using the new StarterSite or CSharp.pup as the basis for your Web site. Now that you know all the custom information that your integrated e-commerce system needs to process and fulfill an order, you're ready to begin writing your site code. You already know what an "Order" looks like and what fields your product "Catalog" holds. You also know where to get the "customer number" from your modified Organization profile. All you need to do now is put it all together with your site code.

    For more details on using the new Commerce Server BizTalk Adapters, take a look at the article I wrote for Microsoft's TechNet web site last August.

    Integrating Commerce Server Orders with BizTalk Server

    Technorati Tags: ,

  • Off Topic: One Very Bad Week!

    Sorry I went dark right after the MVP Summit but I've been on medical leave due to a bad reaction to my cholesterol medication. I returned from Seattle on Saturday afternoon and felt just fine until Monday evening when I began to feel extreme pain in both legs. It was honestly like someone had run over my legs with a truck. My doctor said I was experiencing an unusual (but no unheard of) side effect of my cholesterol medication ("statin") and it would take several days for the affects to wear off. So I've spent the past few days almost completely immobile and in incredible pain. Only now, a week later, can I walk around the house without feeling like a 94 year old. Luckily my blood tests came back and showed no liver or permanent muscle damage.

    There is a moral to this story and a lesson that I've finally learned (it only took 47 years). When your doctor prescribes a long term medication, ALWAYS READ THE DESCRIPTION, especially the part that talks about possible side effects. And if you start feeling those side effects, CALL YOUR DOCTOR immediately, not after "toughing it out" for six weeks. The life legs you save may be your own!

    Next post will be technical, I promise!

  • Off Topic: In Seattle for the MVP Summit

    I find myself once again in sunny Seattle along with 1900 of my closest friends trying to figure out which bus leads to the convention center hosting the MVP Summit (LOL). Seriously, this is the end of my first year as a Microsoft MVP and it's been an incredible experience. I feel very fortunate having been chosen for MVP status and it's been a real pleasure working with the Commerce Server team and everyone in the developer community. The MVP Summit is also a great place to hook up with old friends and codebetter.com blogger buddies and to meet some of the many MVPs here from around the world.

    I just want to thank everyone that reads my blog and participates in the developer community (newsgroups, forums, etc.). Without you folks, the past year wouldn't have been half as fun!

    Thanks for reading!!!

More Posts

This Blog

Syndication

News