ecommerce series part 5 - enterprise architecture
TRANSCRIPT
Ashwinee Kumar
Nov 2015
Ecommerce ArchitectureEcommerce Series – Part 5
2
Agenda
1. Ecommerce architecture1. Omni channel2. Client and server side3. Session management
Ecommerce Architecture
3
Omni channel architecture
4
• Tightly Coupled to Decoupled• Multiple data source to single• Integrated heterogeneous system to API based• Channel specific customer experience to Seamless unified experience
Decouple client side from server side
5
Serve static content from cloud rest from data Center
• Better client side performance
• Differing requirements – Security, availability, reliability
• Unified view across channels – eg. shopping cart, user profiles, simultaneous access to account
Approaches to Decouple UI and Backend
6
1. To secure client-backend interaction use SSL/TLS, VPN, dedicated
fiber line
2. To reduce latency between client-backed use WAN accelerator,
GLSB b/w client and backed with latency based routing
Hybrid: Cloud based UI and DC based backend
Approaches within Cloud based decouple
7
Caching Entire Pages
1. Serving static pages from
your frontend in the cloud,
going back to backend as
required
2. Reaching the backend can
be optimized further by
caching backed output in
the cloud based on keys
from certain factors
(customer logged in, geo
location, user agent, locale).
Few Proxies and LB have
this capability
Overlaying HTML on Cached
Pages
1. In the case of partly static
pages, static content can be
cached. Dynamic content
can be fetched
asynchronously (ajax) as the
page loads on client
Using CDNs to insert HTML
1. In the case of partly static
pages, static content can be
cached. Dynamic content
can be fetched (esi) in cdn
before rendering on client.
2. Advantage: Client need not
know JavaScript, UI and
backend can be one
monolithic
Approaches within Hybrid-cloud based decouple
8
Overlaying HTML on the Server
Side
1. Serving your frontend
independently of your backend
2. Pulling in only small, dynamic
fragments from backend
3. Frontend is then free to run
wherever you want
Everything but the Database in the
Cloud
1. Requires direct connection
between cloud and DB for better
performance
Fully decoupled front end and
backend
1. Response from the backend
should be XML or JSON (raw
data) instead of HTML
2. Easier to deliver your solution
to non browser clients such as
mobile
Session Management
9
1. Definition of Session (state) – Relevant information during customer interaction with a web application. Eg.. Content of shopping cart
2. Where can it be stored – Client, Web tier, Server side, Hybrid1. Client – security concern, limited storage2. Web tier – easy to implement, but user is locked to web tier node, due
to stickiness utilization of nodes is not possible when a new node is added
3. Server side – NoSQL or Cache, most optimal4. Service, Data tier – They do not store states as they are meant to be
stateless