8/4/2019 Drop Downs v2
1/20
Drop DOWNS
Arpit Mittal @ Naukri.comSenior Technical Architect
Deepak Mittal @ FirstNaukri.com
Senior Software Engineer
a common problem - different approaches
8/4/2019 Drop Downs v2
2/20
One of the Naukris biggest problems
8/4/2019 Drop Downs v2
3/20
Dropdown Problem?
Job Seeker
Resman
MNJ
AOL ResBilling
Resume Service
Job Mail
Recruiter
Resdex
MNR
EAPPS BRV
NC
Job Posting
Each individual application has their
own independent master data for dropdowns.
Sep 9, 2011 3
8/4/2019 Drop Downs v2
4/20
Synchronization, a Pain?
Updating any dropdown have to go
through a sprint cycle which takes a
week time or more.
Requires tech team intervention.
A new value has to go through pain
of QA & development.
Additional processing logic requiredto map ids which makes actual
functionality slow.
Sep 9, 2011 4
8/4/2019 Drop Downs v2
5/20
How to make it easy ?
1. Make editing of dropdown data independent of techteam involvement.
2. Make editing of dropdown data real time and free
from a delivery process.
3. Synchronize the master data b/w applications:
All the dropdown data will come from single master source for
all the applications.
Preserve the individual applications display order of drop down
data.
Sep 9, 2011 5
8/4/2019 Drop Downs v2
6/20
DropDownService
Each application needs to register with Master Data service.
Each application needs to provide an URL to trigger which will update
their (if any) cached master data.
Each application had to write their own code for creating cache data
from service.
Two Phase commit before data changes goes live, in-order to ensure
data syncs with every application.
Sep 9, 2011 6
8/4/2019 Drop Downs v2
7/20Sep 9, 2011 7
8/4/2019 Drop Downs v2
8/20
How Naukri did it ?
8/4/2019 Drop Downs v2
9/20
Master Data Interface -UI
Sep 9, 2011 9
8/4/2019 Drop Downs v2
10/20
How are dropdownsUsed
Sep 9, 2011 10
ApplicationCache
(PHP Array /JS Array)
Generator ScriptDataBase
OrService
8/4/2019 Drop Downs v2
11/20
SolutionWorkflow
App 1
App 2
Service
UI DB1
2
3
3
3.1
3.1
45
5
Sep 9, 2011 11
8/4/2019 Drop Downs v2
12/20
Technology
Service
Java 6.0
Thrift 0.5.0
User Interface
Java 6.0
Spring 3 Struts 2
Sep 9, 2011 12
8/4/2019 Drop Downs v2
13/20
How First Naukri did it ?
8/4/2019 Drop Downs v2
14/20
First Naukri Architecture
Sep 9, 2011 14
MNJ
Cache
Generator
DataBase
Generator Generator
Resdex
Cache
JobSearch
Cache
8/4/2019 Drop Downs v2
15/20
The Problem
Sep 9, 2011 15
1. Different applications have similar dropdowns, i.e:City, College, Course
2. Cache files has to go through deployment process.
3. Any addition/change in common dropdown requiredchange in every application.
4. Process time: 1.5 weeks
8/4/2019 Drop Downs v2
16/20
Solution : Centralized Dropdowns
Sep 9, 2011 16
DataBase
CentralizedDropDown
DDAPI MNJ
DDAPI Resdex
DDAPI JobSearch
Client Config
Generators
Cache
8/4/2019 Drop Downs v2
17/20
First Naukri Workflow
Sep 9, 2011 17
Cache
ClearCache
ReadQueue
CallClient
Trigger
s
RunGenerators
Database
UpdateDB
Dropdown Web Interface
Change Queue
DD Queue Processor
8/4/2019 Drop Downs v2
18/20
Cache Synchronization : Harmony
Sep 9, 2011 18
Harmony Sync Folder
Server 1
Folder
Server 1
Folder
Server 1
Folder
8/4/2019 Drop Downs v2
19/20
Achievement
Sep 9, 2011 19
Time needed to deploy any change in a dropdown has
reduced to 1.5 minutes from about 1.5 weeks.
1.5 weeks to 1.5 minutes
8/4/2019 Drop Downs v2
20/20
Top Related