1 / 11

eBay Case Study Jeremy Kraybill & Jeremy Thomerson

eBay Case Study Jeremy Kraybill & Jeremy Thomerson. CARad – Who Are We?. Started as an auction site in competition with eBay, before eBay had really developed its Motors division. Grew to be the #1 tool for listing vehicles on eBay Motors. Acquired by eBay in March 2003. CARad Overview.

jaguar
Download Presentation

eBay Case Study Jeremy Kraybill & Jeremy Thomerson

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. eBay Case Study • Jeremy Kraybill & Jeremy Thomerson

  2. CARad – Who Are We? Started as an auction site in competition with eBay, before eBay had really developed its Motors division. Grew to be the #1 tool for listing vehicles on eBay Motors

  3. Acquired by eBay in March 2003 CARad Overview • Listing and vehicle management tools for vehicle sellers • CARad.com: focused on dealers • CARad Express: focused on individuals • Generally 4,000-5,000 live listings at any given time on eBay Motors • 70% of users are dealers • Application hosted out of eBay Denver hosting facility • Originally written in Macromedia ColdFusion • Migration of all application functionality over to Java with Spring / Tapestry / Hibernate / Freemarker infrastructure

  4. Functional Architecture

  5. CARad Java Architecture Engine Offline applications Pages SOAP interface Web Components Tapestry Axis Services Layer Services Layer Domain Model Domain Model DAO Layer DAO Layer Hibernate Mappings Hibernate Mappings Spring ORM Spring ORM Spring Hibernate Hibernate Spring Servlet container DB

  6. Build / Test Environments

  7. Modular overrides in Spring Hierarchical Spring contexts Need for overridden beans within the context at some levels. Define base configurations at lower modules that can be overridden at higher level. Test configurations can also override module-config on each level to provide mocked out services, etc… Our top level applications have the need to override beans that are used by beans in lower modules. For example, our US site may need to add a page into a list of pages defined within our standard web flow, whereas another country’s site may not need to override that standard page flow. carad.com.dealer carad.com.fsbo carad.com.api internal.web internal.apps internal.domain testing config internal.domain: services DAOs internal.platform testing config internal.platform: abstract session factories declarative transaction policies logging

  8. Switching applications at runtime As we build out many different applications, we develop the need to be able to quickly change between them for development and testing of shared code and configuration. We use a Spring service to be able to switch applications at runtime (development / regression) without restarting our web server. ContextLocator setContextName(String) getContext() ContextSingletonBeanFactoryLocator Motors (US) Other Verticals Other Countries

  9. Database build

  10. Distributed regression

More Related