Latest architecture patterns

I have now spoken to multiple technical leads and architects from various eCommerce agency and I feel below patterns are more and more we will see in coming months


SOA architecture or LEGO brick pattern – Moving browse and potentially checkout (very cutting edge) away from commerce server and use commerce as a data layer (via API, direct command layer , JSON and the likes)

  •  The new trend is that SOA is becoming increasingly applicable for the E-commerce services as well. This is especially true where these services need to be consumed elsewhere in the Enterprise
  • In this new paradigm, E-Commerce application is getting divided into front end and back end
  • The responsive web design layer would use a JS based MVC framework like angular
  • Front end layer is composed of controllers that provide a form submission based contract with the web layer. This layer can be specific to a technology stack or can be generic.(Node.JS for instance)
  • Controllers speak to the services using REST/SOA. In case the controllers are in the same JVM as the services they may use direct Java interfaces.(more on the lines of a monolithic application with a combined front end + services) (MORE ON THIS BELOW)
  • We certainly gain the advantage of independent operating for product teams
  • But obviously this comes with some compromises like
    • Complexity around API’s
    • Loosing certain functionalities which are driven from workspaces like sale workspace, promotional workspace etc unless we customize this heavily
    • We may not be able to leverage things like personalisation as that is inbuild into commerce server
  • Needs heavy investment

Functional clustering

This ideally if done within commerce server can reap some benefit of the OOTB features

We can still go angularJS and single web page style and call internal JVM API rather than rest API. There is an obvious chances of leakage as commerce server may still leverage something i.e. Order class which we try to avoid from the API

In both the approaches, we need to be careful that we do not go too fine grained as than we start to loose lot of the advantage. We need to make sure our API, either rest or internal are aligned to business capability as that will prevent us to go too fined grained

Please provide any thoughts on any more pattern in this area


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s