Last week, we dug deep into e-commerce from the front end perspective. This week we’re back discussing a different perspective – from the back end. I’m sure as a marketer, you’re used to a ton of jargons being thrown at you from potential vendor firms. However, getting your back end systems in place, determining the right technology to suit your preferences and selecting a suitable partner can be challenging, especially when technology is not your forte.

I have a small cheat-sheet for you, that could possibly help you understand e-commerce from the back end perspective a lot better.  Each  of these topics are a vast subject and this post just covers the tip of the iceberg. It will help you get an overall perspective of your e-commerce back end systems, but if you are looking to dwell deep into this, I recommend consulting few experts:

  • System architecture: For your customer to make a satisfactory transaction, several components of the e-commerce back end need to simultaneously work hand in hand. A system architecture is a high level model or diagram that defines the structure, behaviour of a system in tandem with how they work with each other. Here is an example for a high level Magento system architecture we use at Kuliza.

magento installation

 

You will notice various components or systems in the above diagrams such as e-commerce platforms, Webservices, presentation layer, databases and many more. Some of the critical ones have been elaborated below:

Interesting links to learn more about e-commerce system architecture:

  1. Wikipedia
  2. Slideshare
  • E-commerce platform: This is the core engine powering your e-commerce store. The functionality of an e-commerce platform includes carrying your product catalogue and the logic required for an e-commerce store (such as login flows, admin workflows, purchase status, discounts, pricing etc). The e-commerce platform co-ordinates with the presentation layer to show relevant information to the user/admin. Similarly, it also co-ordinates with the database to retrieve or store information. The same e-commerce platform will then co-ordinate with various systems (or platforms) to exchange critical information. For example it will synchronize with your call center software to enable your call centre access user information for support and talk to your delivery team’s software so they get information about orders and shipping etc.

There are multiple e-commerce platforms in the market such as Magento, Spree Commerce, Shopify, Hybris, Oracle ATG, IBM Websphere commerce; each one have their own advantages and disadvantages. A perfect platform for you will depend on your own requirement, budget and comfort of your project team.

Interesting links to learn more about Ecommerce platforms

  1. Magento enterprise edition features
  2. Spree commerce user guide
  • Web services or APIs: Your e-commerce platform also needs to synchronize with a number of other software systems. A webservice is the information pipeline through which this communication will between your e-commerce engine and other software systems.

You might have observed e-commerce sites use Facebook login, showing Facebook likes and comments or even showing information on other platforms such as Twitter, Facebook, Pinterest etc. This is because Facebook, Twitter and Pinterest have exposed their webservices that can be consumed by your ecommerce site.

Similarly if your mobile app needs to talk to your e-commerce platform to show a certain product catalogue, it will need web services to talk to your e-commerce platform. Likewise, your e-commerce platform will need web service to talk to your delivery partner’s and customer care partner’s software.

Interesting links to learn more about APIs

  1. 6 reasons why APIs are reshaping your business
  2. What is an API and why is it important
  • Presentation Layer: Everything that you see on your computer or mobile screen is a presentation layer. The presentation layer can be on web, and in that case technologies such as HTML, CSS or Javascript will be used to create it; or the presentation layer can be in form of a mobile app, and in that case technologies such as swift, Java, phonegap etc. will be used to create it.
  • SOA or Service oriented architecture: A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. This architecture is extremely recommended at times when new devices such as smart TVs, phones are adopted and e-commerce is growing exponential growth trajectories in the market.

Essentially what any computer performs is computation and massive amounts of calculations in zeros and ones. Any app on your mobile, any action on your e-commerce site results in series of computation. Some of these computations take place on your user’s machine (desktop/ tablet/ phone) and some of them perform your machines (in your datacenters or in cloud). The best practice is to keep the e-commerce application as light as possible on your user’s machines (which will ensure faster browsing, easy page load, small sized mobile apps) and bring all the computing load on your own machines, since that way your application’s performance is more in your control rather than relying upon your user’s device.

A service oriented architecture, simply put, ensures that your systems have webservices created, in order to perform critical computation at your end (called the server end) while the simplest of computations are pushed to your user’s browser or mobile app (called the ‘client’)

Here is an interesting link to learn more about SOA: What is SOA in ‘plain English’

  • Open Source Platforms & Enterprise Platforms: The systems or components that together create your e-commerce backend could be open source technologies or enterprise technologies. Open source software is the one where the software owner gives to right to anyone to change or distribute software. Hence, there is essentially no licensing fee but you need a technology partner to customize the open source software as per your e-commerce needs and provides support and maintenance for you. Some of the common open source Ecommerce platforms are Magento (community edition), Drupal Commerce etc, Spree Commerce, Open Cart. You can also read more about open source software here

In case you aren’t particular about an open source Ecommerce software, you can also choose to go for an enterprise level e-commerce software. Enterprise platforms have licensing fee but have the guarantee of a big enterprise brand for any support and enhancements you might require in future.  Few popular Enterprise Ecommerce platforms are Hybris, IBM Websphere Commerce, Oracle ATG etc.

Open source software supporters will never advice going for an Enterprise platform and vice versa. Hence a debate on which type of platform is better will be out of scope of this article. However, a slight disclaimer here, Kuliza, till now, has wholeheartedly supported open source software for its ability to reduce costs, simplify the software architecture and yet built robust applications.

  • Native and Hybrid Apps: If you are looking for a mobile app for your catalogue, you will have to decide between the two most popular forms of mobile apps.

Native mobile apps are apps written specific for a mobile operating system (iOS/ Android/ Windows etc.). Since they are written for a specific software and hardware, they can interact better with the devices features such as camera, recorder, accelerometer, contacts etc. But then since they are developed separately for each operating system, the effort and time taken to build them is more than usual. A native app will be coded using swift or objective C (iOS) or Java (Android).

A hybrid app on the other hand is cross platform, that is, it is one app built for all platforms. Hybrid app rely of HTMLs being rendered in a browser, it the caveat that the browser is embedded within the app. Using tools such as Sencha, Phonegap etc, achieve different hybrid apps

If you are confused between which ways to go (native or hybrid) for you e-commerce store mobile app, see this interesting discussion on Hybrid app vs Native app.

  • CDN (Content Delivery Network): If your e-commerce store contains a lot of SKUs, it will also contain a lot of images, multiple high resolution images for each product, rich media, videos, banners. This is a lot of content. Now, in cases where you have large surges in website traffic and your content has been hosted in a different geographical region than your own, it is likely that your site will face speed issues in getting content to the user.

What a CDN does is create copies of your content and distributes it across various geographical locations. When your user request for content, say a video or rich media, the CDN serves data from the nearest geographical location,

In recent times, CDNs have started gaining popularity since Google has started accounted page speed for ranking web pages. Studies have shown that more that 40% of users will abandon your site if it takes more than 3 seconds to load.

These are some integral aspects of back end e-commerce that you should know. Do you have other aspects that you would like people to keep in mind? Do let us know with your comments.