Presentation is loading. Please wait.

Presentation is loading. Please wait.

EBay Case Study Jeremy Kraybill & Jeremy Thomerson.

Similar presentations


Presentation on theme: "EBay Case Study Jeremy Kraybill & Jeremy Thomerson."— 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 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 Acquired by eBay in March 2003

4 Functional Architecture

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

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… internal.platform: abstract session factories declarative transaction policies logging internal.web internal.apps carad.com.apicarad.com.fsbocarad.com.dealer internal.domain: services DAOs internal.domain testing config internal.platform testing config 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.

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 Other CountriesOther VerticalsMotors (US)

9 Database build

10 Distributed regression

11


Download ppt "EBay Case Study Jeremy Kraybill & Jeremy Thomerson."

Similar presentations


Ads by Google