Dealer profiles



The New and Improved Dealer Locator





Background

What is Dealer Locator?


Why Refactor

  • Poor Performance
  • Business Rules on FE Code
  • Hard to debug
  • Legacy code and framework
  • Unused Code
  • Hard to add/improve features
  • URL Hell

Searching for a Ford Dealer in Chicago:
http://www.cars.com/dealers/search-results.action?&sc.makes=20015&sc.zipCode=60630&sc.newSearch=true&sc.radius=50&sc.match=ANY&sc.sort=false&sc.sortColumn=DISTANCE&sc.sortDirection=ASC&sc.resultSetStart=0&sc.resultSetSize=50 


Dealer Locator - Refactored

  • Uses Spring MVC
  • Removal of Business rules from FE
  • Faster load times
  • Easy to add features
  • Pretty URLs


Search for Ford dealers in Chicago
http://www.cars.com/dealers/search/ford/60630


Transition


  • Struts Action -> Spring MVC Controller
  • Struts Interceptors -> Spring Interceptors
  • Removal of Struts Taglibs to use standard jstl tags
  • Use of Apache Tiles
  • AOP to handle Activity Logging
  • Using RestTemplate for consuming webservices

Performance

PTG:

Performance 

Old VS New

DEMo

Dealer profiles

By Ahmed Bhaila

Dealer profiles

  • 114