Building an E-Commerce Site with Sitecore, Part 4 Separate, but Integrated

Wednesday, February 20, 2013 @ 01:25

By: Brent McLean, Lead Consultant

In this series, I’m going through your options in adding e-commerce into your Sitecore website and looking at the pros and cons of each. In my previous three posts I discussed the advantages and disadvantages of building a custom solution, using a separate third party tool, and integrating a Sitecore e-commerce module to meet your e-commerce needs. In this post I’ll discuss developing a solution with a separate third-party e-commerce tool and tightly integrating it with your main Sitecore site.

In this series, I’m going through your options in adding e-commerce into your Sitecore website and looking at the pros and cons of each. In my previous three posts I discussed the advantages and disadvantages of building a custom solution, using a separate third party tool, and integrating a Sitecore e-commerce module to meet your e-commerce needs. In this post I’ll discuss developing a solution with a separate third-party e-commerce tool and tightly integrating it with your main Sitecore site.

This scenario is similar to the second scenario, where you have your main Sitecore site and a separate site for your e-commerce. In the previous scenario these two sites were completely independent, with little more than some links to connect the two and a bit of styling to make the sites look similar. In this scenario you’ve done much more work to integrate the two sites more closely. The types of integration you can do can vary widely, but the idea is to make the two sites appear to be a single site. Some possible integration points include:

  • Querying the E-Commerce system from Sitecore to pull all of current products and pricing into Sitecore pages
  • Using Sitecore APIs from the E-Commerce system to keep content, navigation, and other elements are always kept in synch between the two systems
  • Unifying the membership system between Sitecore and the E-Commerce site so that user accounts can shared across the sites
  • Duplicating functionality on both sites so they appear to be identical despite the fact that they are very different systems

This approach has some advantages. You can use the best third party e-commerce solution for your company’s needs while still utilizing Sitecore for its benefits. The integration of these tools lets you use the best tool for the job and have the relevant data and content flow to the other system behind the scenes without a lot of double entry. If it is done thoroughly, the web experience between the two systems can be seamless for the end user making it hard to tell when you leave one site for the other. You also can benefit from whatever level of PCI compliance is implemented by the e-commerce software.

While those advantages are significant, the integration work can be a killer and it is often the worst of the four e-commerce options. Tightly integrating two completely separate systems is fraught with challenges.  There are a ton of coding and business assumptions that are built into these products that can trip you up. When you integrate the systems tightly, you have to work through every single point of commonality and develop a way for them to work together. For example, if you want to manage the site navigation in Sitecore and have it automatically update in the e-commerce site, you need to do the normal Sitecore work, develop a method to share this data with the e-commerce system and override the e-commerce's normal navigation system to pull the Sitecore data and display it on the e-commerce pages. This is not just a little extra development work to integrate the system’s navigation, but a lot more work, easily double or triple the time it would take otherwise. These time consuming integration challenges crop up all throughout the site adding a lot of extra development time and cost.

This also assumes you have enough control over the e-commerce tool to implement these kinds of customizations. In many cases the e-commerce tool's customization options are fairly limited and this integration may not even be possible.  Even after you've done this work, the combined system is 'fragile'. Updates to either Sitecore or the e-commerce system can easily break functionality in one or both systems, requiring more work to track down and resolve the problem. So, if the e-commerce tool has an update the changes how they handle navigation on the site, your code to use the Sitecore navigation items may now break and need to be re-developed.

There are also practical limitations on how far you can reasonably integrate the two tools. For instance, it is unlikely that you’ll be able to integrate the DMS capabilities of tracking, personalization, and automation into the e-commerce sections of the site.

So for these reasons, I wouldn’t normally recommend this approach if it can be avoided. That being said, we commonly find that the e-commerce system is set in stone at a company due to historical, business, or IT reasons and can’t be changed. Although they are more painful, we have done many of these solutions and they can be very successful. A key to these situations is determining where you really need both parts to be integrated and where you don't. In the previous example, perhaps the navigation changes infrequently and when it does, it could be entered once in Sitecore and separately in the e-commerce tool. Identifying key integration points and working through workable integration approaches early is also crucial. Finally, everyone just needs to start the project with an understanding that the integration will be challenging and plan accordingly.

Pros:

  • Provides a seamless experience to the end user
  • Let’s you use best e-commerce tool for your company with Sitecore
  • Let's you manage content and product information in the tool best suited for the job
  • Less work for PCI compliance than a completely custom developed solution

Cons:

  • Integrating the two systems can be time consuming and expensive
  • Licensing costs for e-commerce tool as well as Sitecore
  • Combined solution can be 'fragile'
  • Can’t utilize DMS capabilities from within e-commerce site

Best For:

  • Sites with a pre-existing e-commerce system that can't be changed
  • Sites where the e-commerce system's benefits far outweigh the additional development work to integrate them