Professional Documents
Culture Documents
Sample Tech Writing - Solution Architecture, Ritzie Edson V. Lamina
Sample Tech Writing - Solution Architecture, Ritzie Edson V. Lamina
SOLUTION OVERVIEW
ISSUE 0.2
DRAFT
Ritzie Edson V.
Lamina
1 of 25
For Internal Use Only
Contents
1 Introduction......................................................................................................................................3
2 Scope ..............................................................................................................................................4
2.1 Listing of integrations ............................................................................................................6
3 Online store - Integration details .....................................................................................................7
3.1 Online portal integration (1)...................................................................................................7
3.1.1 User onboarding data flows ..................................................................................12
3.1.2 Single Sign on .......................................................................................................13
3.2 ERP integration (2 - Orders and Customer data) ...............................................................14
3.2.1 Order numbering ...................................................................................................15
3.3 ERP integration (3 – Shipping, Products and price) ...........................................................15
3.4 Payment integration (4 – payment).....................................................................................16
3.5 Salesforce integration (5) ....................................................................................................18
3.6 Tax integration (6) ...............................................................................................................18
4 Other items....................................................................................................................................19
4.1 BOM structure .....................................................................................................................19
4.2 Address validation...............................................................................................................20
4.3 Tax display ..........................................................................................................................20
4.4 Chat providers.....................................................................................................................20
4.5 Customer hierarchy.............................................................................................................20
5 Appendix........................................................................................................................................21
5.1 Solution Overview Diagram.................................................................................................21
5.2 BOM structure analysis .......................................................................................................22
5.3 Tax display recommendations ............................................................................................23
5.4 Address synchronisation .....................................................................................................24
2 of 25
For Internal Use Only
1 INTRODUCTION
Online store platform is a strategic initiative to enhance our offering to customer and
professions. The existing stores are a combination of B2B and B2C stores offered on a per
country basis. The existing stores are offered from our ERP system. This tight integration
with the ERP system creates a limitation on availability and extensibility of the store
platform.
In order to extend customer experience, a new store platform is to be integrated with the
online platform and support existing functionality to create a unique experience for the user.
Critical to the new store platform is the integration between various systems to ensure
customer shopping experience is uncompromised.
This document outlines the various integrations for the new store platform. The solution
design is intended to be a living document that changes as new requirements are added to
provide a holistic view of all the aggregations.
This document:
1. Details the Integrations with various platforms
2. Provide details of integration mechanisms (as appropriate)
3. Details the choices and the decision criteria for the choices
4. Map requirements to the solution choice (when requirements become available)
5. Provide the optimal solution for the requirement
6. Serve as a reference for the choices
This document not meant to:
1. Serve as a detailed document
3 of 25
For Internal Use Only
2 SCOPE
This store needs to integrate with internal and external components (hosted and
managed). These integrations are shown in the Figure 1. Logical view of online store
integrations.
Salesforce
Orders and
Customer data
sync
5
1
2
ERP
Online
Online Store
Portal
3 · Shipping data sync
Online user Onboarding · Products and price
SSO
6 4
Tax Payment
The Magento store needs to be a highly available platform. Due attention needs to be given
to each of the integration components to ensure the store is highly available and reliable.
In order to maintain the high availability of the platform following are the integration choices:
1. Batch integration: Where reliability of transactions is required and where the transaction
are not time critical, batch mechanisms are used (example of this are order integrations
to ERP)
The Integration components and the type of integration are listed in the next section.
4 of 25
For Internal Use Only
Anonymous user
SSL
F5
Terminato
r Authentication
identity
Customer data
transferred using HTTPS traffic
magento
extensions
Portal
VPN
Integration with
Magento Oracle
Email server
External
Saleforce
hosting
1
Figure 2. Solution overview
1
Logical architecture dependent on business requirements and infrastructure analysis
5 of 25
2.1 Listing of integrations
These integrations are within systems.
1. Online portal:
a. User onboarding
b. Single Sign on
2. ERP:
a. Order integration
3. ERP:
a. Shipping integration
4. Payment:
5. Salesforce integration:
6. Tax
6 of 25
3 ONLINE STORE - INTEGRATION DETAILS
The integration options have been discussed across various teams and a reference to the
discussed list is located at in Confluence. This section discusses the details of these
integrations and refers them as needed.
The numbers align with the integration number in the previous section.
Hence there needs to be an automated method of provisioning the account. This method is
responsible for creating the account after validating all user details. Traditionally user
accounts have been provisioned on a system basis (i.e. account provisioned for one single
activity). This approach works when the system is specialised (performs one of few
operations). However when there is an array of platforms that perform a multitude of
activities, the practice of manually provisioning user on a per-platform basis doesn’t scale.
The onboarding functionality needs to account for a staggered launch of any of the platform
across a as many regions as possible. Support activities (for provisioning/user maintenance)
need to be kept to a minimum hence the approach to allow user access based on the groups
they belong to.
An automated means is needed to provision a user across many platforms. Currently this
activity is performed by the user onboarding component of the online portal. The solution is
reused to provision the user across multiple platforms as shown in the process below.
7 of 25
For Internal Use Only
Onboarding flowchart
Phase
Retrieve
Add user
Function
Is user salesforce
Accept Validate onboarding
start associated yes campaign name, stop
user the user request to
with a add roles to be
data details the TIM
Salesforce provisioned to
workflow
campaign? the request
queue
no
CSR Approval
approval complete
?
no
Validate Provision
Retriev validate Is valid request Match year Exactly Provision Provision Send welcome stop
start Is yes receipien yes account in all
Function
8 of 25
There are two aspects of on-boarding the user:
1. Provisioning the user: Creating and maintaining of the user identity that is required for
the user
2. Allowing access for the user: Enabling the user to gain access to a system
The distinction between the above steps is provisioning creates the user but the user isn’t
allowed to access till the access is granted. The user obtains (or surrenders) access based
on his role. The user role is controlled by the user onboarding pages – the role based access
control (RBAC) principles are reused.
The access is manages via junctions – a standard feature of webseal. Each junction
is associated to a group enabling a user with a specific role to access the system resource
(as
shown in the diagram below).
RBAC: Junctions used to allow
access to applications, junctions
use user groups to decide if a
user has access
Applications know what to
render based on the user
1 Recipient
Portal
2 Store
Webseal
F5
Portal user
3 System X
4 System Y
As roles are used to gain access, the support activity required to grant access to a
user reduces significantly. Support users wouldn’t need to perform the provisioning action as
this is performed during onboarding further reducing the change of errors.
9 of 25
The onboarding application can be maintained independently and updated as needed. This
allows the ability to provision for a controlled group.
The onboarding application would have to provision for guest users (who would need ERP
accounts to be created). The portal could be inundated with requests resulting from
fake users signing on. While the idea is to encourage using the store, a process is required to
prevent exhaustion of the user licenses 2.
2
To be discussed during requirements elaboration
10 of 25
For Internal Use Only
Onboarding application
Phase
Onboarding application
Webseal
User access
11 of 25
For Internal Use Only
User Identity
onboarding ERP Store Community
manager
form
Salesforce campaign
validation needed
Provision user
Provision user
12 of 25
For Internal Use Only
Option 1: Use a common hosting provider Option 2: Use SAML (requires TFIM)
Web requests (access to
Web requests (access to Recipient, Professional,
Recipient, Professional, Staff content)
Staff content)
F5 SSL
Authentication
identity terminator F5
TFIM identity
IBM - SIM
VPN
VPN
Magent Integration with
Email server ERP Magent
o Integration with
o
External Email server
Saleforce External ERP
hosting Saleforce
hosting
Having a single point of entry (option 1) has the advantage of cost but is restrictive as it requires all systems to be front-ended by
Webseal. Having SAML provides flexibility of hosting the solution with different providers. The SAML approach can be extended as
additional customer facing platforms need identity services.
The downside of the SAML approach is cost and the need to procure additional software. However, strategically this is the
recommended approach as it reduces rework in the future.
13 of 25
For Internal Use Only
Order sync
component
Magento ERP
The order integration is performed via a batch interface. Reliability of the interface is the main
consideration for choosing this interface. Staging tables are used to minimise impact to the database
as per standard process for batch integrations. The various approaches are listed in the figure below:
Figure 10. Options for the batch interface between Online Store and ERP
This interface performs operation in a two-step manner. The operations are listed below
Purpose: Extract and upload the online store transactions on a FTP server.
Steps:
14 of 25
For Internal Use Only
Steps:
· Ensure all-or-nothing integrity i.e. either all the transactions in the file are processed or none
get processed
· If there are new shipping address, add to the address to the customer’s address
15 of 25
For Internal Use Only
Magento ERP
The products and price integration bring across any changes (delta) in the products and
base price setup in ERP. For the B2C store, prices are maintained in online store with only
the base price imported.
16 of 25
For Internal Use Only
Payment
information
passed to Oracle
Payment gateway
Since the integration is a two-step process, it implies Oracle would need to integrate with the
payment provider as well.
17 of 25
For Internal Use Only
Customer data
transferred
using magento
extensions
Magento
Email server
Saleforce Bulletproof
The extensions will be tested out before they are implemented. This is utilising the buy vs
build principle.
1 2 3
18 of 25
For Internal Use Only
3
1. Magento can compute tax using tax rates
4 OTHER ITEMS
This section lists the other items that form part of the solution.
3
Magento Tax best practices (http://www.magentocommerce.com/knowledge-base/entry/magento-ce-18-ee-
113-tax-calc, http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-tax-config-us)
19 of 25
For Internal Use Only
4
http://www.magentocommerce.com/magento-connect/ups-address-type-validator-7645.html
20 of 25
For Internal Use Only
5 APPENDIX
5.1 Solution Overview Diagram
Rolling out
store to
countries
Web requests (access with
to Recipient, online
Professional, Staff services
content)
F5
Authentication
identity
Customer data
transferred HTTPS
using magento traffic
extensions
Portal
VPN
Integration with
Magento Oracle
Email server
Saleforce Bulletproof
21 of 25
For Internal Use Only
22 of 25
For Internal Use Only
5
Figure 20. Tax recommendations
5
http://www.magentocommerce.com/knowledge-base/entry/magento-ce-18-ee-113-tax-calc
23 of 25
For Internal Use Only
24 of 25
For Internal Use Only
Customer
Users service
F5 Customer sync
IBM SAM
Portal
Address sync via plugin
Product additions/modifications; shipping
status; base price
ERP
Integration
scripts, Shipping
order update
Order update
25 of 25