Coding Exercise Updated - Core Java
Coding Exercise Updated - Core Java
Coding Exercise Updated - Core Java
Product Catalogue
F E B R U A RY , 2 0 0 1 P R E PA R E D BY S A P I E N T F O R I N T E R N A L U S E O N LY
0
Table of Contents
Project Overview 2
Client Background 2
Business Problem 2
Business Requirements 2
Proposed Architecture 3
Microservices 3
Some specifics 3
Required Deliverables 4
Product Catalogue Service 4
F E B R U A RY , 2 0 0 1 P R E PA R E D BY S A P I E N T F O R I N T E R N A L U S E O N LY
1
Project Overview
Client Background
GloboMart is a well-established mass-merchandise retailer with operations in
North America, Germany and South Africa. They have hundreds of stores
scattered throughout each of these geographies and they cater to a diverse
customer base, selling thousands of items from each store.
Business Problem
GloboMart.com has functionality to allow customers to browse, shop, find
store locations etc. They had been a world-class transactional shopping
destination until recently when they started facing scalability issues, leading
to lost business and customer dissatisfaction.
Jake Global, the CEO, has defined this as the company’s highest priority, as
he believes there is significant revenue loss especially around festival times
like Christmas, and they are currently losing business to other retailers
having more robust and scalable websites.
Jake believes that this initiative will have a dramatic impact on the
customers’ perception of the company and he is not prepared to take any half
measures. He wants to solve this situation on a long term basis.
Business Requirements
GlobaMart had invested heavily in building and testing the overall
solution. From functionality point of view the backend logic is very robust,
so they want to reuse as much as possible.
They don’t want to solve the scalability issue by ‘scaling up’ the complete
application and investing in infrastructure. This is cost prohibitive, also not
a good long term solution.
The scalability issues being faced are not for the complete application,
but only for specific functionalities around product catalogue
management.
The organization had embraced SOA as a de-facto standard and is ready
to invest for moving towards a Service-Oriented approach.
Besides scalability GlobalMart CEO is also interested to solve the vendor
lock-in issues and flexibility to evolve individual business areas
independently.
F E B R U A RY , 2 0 0 1 P R E PA R E D BY S A P I E N T F O R I N T E R N A L U S E O N LY
2
Proposed Architecture
This section explains the proposed high level solution. You are free to expand
the same or suggest better ways.
Microservices
Some specifics
F E B R U A RY , 2 0 0 1 P R E PA R E D BY S A P I E N T F O R I N T E R N A L U S E O N LY
3
Required Deliverables
The following list of deliverables is required. It is important that you are able
to have a working solution that you can demonstrate through automated test
cases or any other tool of your choice.
Note - Please draw a logical diagram of this setup on the white board/ paper
that include the services, the database, clients of the service. Please consider
components that would help fulfill non-functional requirements such as
Service discovery, load balancing, monitoring etc.
Once you are done with the high level architecture, please use the System
provided to code the following:
The service should be independently hosted and accessible over http port.
Any in-memory database of your choice could be used.
Instructions
F E B R U A RY , 2 0 0 1 P R E PA R E D BY S A P I E N T F O R I N T E R N A L U S E O N LY
4