EBay Case Study Jeremy Kraybill & Jeremy Thomerson.

Slides:



Advertisements
Similar presentations
Raptor Technical Details. Outline Workshop structured by Raptor workflow – Raptor Event model. – ICA log file parsing – ICA/MUA event storage – ICA event.
Advertisements

Spring, Hibernate and Web Services 13 th September 2014.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Confidential - Property of infiNET Solutions. Architecting and Designing Scalable, Multitier Systems in J2EE infiNET Solutions David R. King – Chief Technology.
ProgFest 2005 Platform Matthew Nelson December 10, 2005 CSULA.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Course Map The Java Programming Language Basics Object-Oriented Programming Exception Handling Graphical User Interfaces and Applets Multithreading Communications.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
George Mason Air Flight Reservation Service November 29, 2010 Jean Pierre Antonio Goncalves Alex Nazari Tom Essig Jessica Urquiola.
Session-01. Hibernate Framework ? Why we use Hibernate ?
Nilesh Mandani Competencies include: Volume Licensing Enterprise Resource Planning Customer Relationship Management Business Intelligence Proposal for.
© Internna Technologies 1 IWebMvc Features, Possibilities & Goals.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
The Spring Framework: A brief introduction to Inversion of Control James Brundege
The Spring Framework A quick overview. The Spring Framework 1. Spring principles: IoC 2. Spring principles: AOP 3. A handful of services 4. A MVC framework.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
Spring Roo CS476 Aleksey Bukin Peter Lew. What is Roo? Productivity tool Allows for easy creation of Enterprise Java applications Runs alongside existing.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Module 11 : Backup and Restore Jong S. Bok
IBM WebSphere Architectural Overview. Content Management ● Controlled by Java – Servlet – Enterprise Java Beans (EJB) – Java Server Pages (JSP) ● Base.
1 Copyright © 2004, Oracle. All rights reserved. Introduction to Oracle Forms Developer and Oracle Forms Services.
Oracle Application Express (Oracle APEX), formerly called HTML DB, is a Free rapid web application development tool for the Oracle database.
Portlet Framework: the Liferay way Liferay Service Builder, Portlet MVC Catania, 10/06/2014Riccardo Rotondo.
Case study concerning architecture development Emil Doychev, Georgi Cholakov, University of.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
JBoss at Work JAW Motors Application Chapter 1-3 Jeff Schmitt October 9, 2006.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
Opus College - overview. OpusCollege - background First project: ICT Capacity Building Mozambican Higher Education Institutions Partners: RUG Groningen,
Introduction to Spring Matt Wheeler. Notes This is a training NOT a presentation Please ask questions Prerequisites – Introduction to Java Stack – Basic.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Introduction to Web Dimitar Nenchev Ivan Nakov
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Home Overview Top 10 Dashboards CCTV Views Community Getting Started Network Netowrk.
A Presentation By V AIBHAV S AHARAN Web-enHanced Information Management COMS E6125.
Case Study ProsperaSoft’s global sourcing model gives the maximum benefit to customers in terms of cost savings, improved quality, access to highly talented.
All Hands Meeting 2005 BIRN Portal Architecture: Security Jana Nguyen
Sakai WebApp Structure
Enterprise Java Overview Panos Konstantinidis Java Developer JUG Leader & Java Champion
{ Online Dating Popa Adrian Prejbeanu Samir Stefan Andrei Urziceanu Stefanita.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
Katari Globant 2008 (update to 2010). Katari  Katari is a framework to use as a starting point to develop new web applications.  Incorporates architecture,
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 Essentials of Design.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Data Access with Spring.
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
PROJECT SECME Carthik A. Sharma Juan Carlos Vivanco Majid Khan Santhosh Kumar Grandai. Software Engineering Fall 2002.
HIBERNATE/Java Overview of technology for Hibernate by محمد حسن کاظمی پوران Master : M.M.Nematollahi.
Chapter 13 Web Application Infrastructure
Introduction to Oracle Forms Developer and Oracle Forms Services
J2EE Lecture 6: Spring – IoC and Dependency Injection
Introduction to Persistency
Web Routing Designing an Interface
Improving searches through community clustering of information
Introduction to Oracle Forms Developer and Oracle Forms Services
Persistence – Iteration 4 Vancouver Bootcamp
Introduction to Oracle Forms Developer and Oracle Forms Services
SAP Hybris Online Training SAP Hybris Online Training
EIN 6133 Enterprise Engineering
Introduction to J2EE Architecture
Sakai WebApp Structure
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
The Model Layer What is Model?
Evaluating Compuware OptimalJ as an MDA tool
.NET vs. J2EE Architecture
LitwareHR v2: an S+S reference application
Finding transactions through your application
Presentation transcript:

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

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

Functional Architecture

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

Build / Test Environments

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.

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)

Database build

Distributed regression