Download presentation
Presentation is loading. Please wait.
Published byAlice Dennis Modified over 9 years ago
1
Java Petstore : A Case Study Rohit Nambiar July 2005
2
OBJECTIVE : Demonstrate, Java BluePrints help in building flexible, scalable, cross-platform Web-based applications. Show the recommended Architectural design pattern approaches to designing J2ee application. Discuss the Architecture of the Petstore Application. Discuss the consistent Petstore design conforming to the J2ee Design Patterns. Give an Overview as to how the application benefits from such Architecture and Design. Build and run the petstore application. Unit testing, Profiling and Load testing the Petstore application to get some performance statistics.
3
Background : Basic J2ee Architecture
4
Background continued…… J2EE application is hosted within a container Consists of Client Tier, Web Service container and Back end Database Web Service container – Web Container and EJB container Business logic is built using Enterprise JavaBeans (EJB) components. and connects to databases using JDBC or SQL/J Business partners can connect with J2EE applications through web services technologies (SOAP, UDDI, WSDL, ebXML)
5
Introduction Continued…… Use Case Diagram
6
ACTORACTION DESCRIPTION CustomerHomepageThe main page that loads when the user first starts the application. CustomerBrowse catalogEach category has several products associated to it CustomerBrowse DetailEach product variant has detailed view that displays the product description, a product image, price, and the quantity in stock. CustomerBrowse ItemEach Item is viewed. CustomerBrowse ProductsIf we now select a product the application will display all variants of the product. CustomerUpdate CartThis allows the user to manipulate the shopping cart (add, remove, and update line items). CustomerUpdate Personal InfoThis allows user to update and manage his personal information CustomerUpdate AccountThis allows user to view his Account. CustomerSign OffThe checkout page displays the shopping cart. CustomerSubmit OrderThe billing and the shipping addresses are displayed. CustomerPurchase OrderThe final step wherein the order is committed to the database.
7
Petstore Model View Controller Architecture: The MVC architecture provides flexibility, reusability, testability and clear design roles for application components.
8
Structural View Architecture:
9
Petstore Modules & Functionalities: MODULESFUNCTIONALITY SignOnIt helps a user to sign on before accessing certain screens, and manages the sign on process ControlSends request to the business logic, controls screen flow, also coordinates component interactions. Product CatalogUser can search for products and also shows the descriptions of the selected items CustomerThis module helps in representing customer information like address, credit card info and contact info. MailUsed for sending confirmation messages to the user. Shopping CartIt tracks the items a user has selected for purchase. Web Application Framework
10
Class Diagram – SignOn Module
11
Product Catalog Module
12
Shopping Cart Module
13
Mail Module:
14
Customer Module:
15
Control Module: Filter Request: Encoding Filter, which ensures that request and response encoding match and SignOnFilter, which enforces security and performs user signon. Front Controller - MainServlet processes all requests and handles request dispatch, screen flow, and view generation. Map request to HTML action and execute HTML action Map event to EJB action and execute EJB action View selection
16
Control Module Continued……..
17
PAGE FLOW DIAGRAM:
18
Evaluations: Web Application Framework - WAF provides a number of services including request filtering and dispatching, templated view generation, a set of reusable custom tags, and screen flow control. EJB centric design – For Petstore, the buisness logic is shifted to the EJB tier. This provides scalability, reliability, persistence, asynchronous communication and security control. Local enterprise beans – It provides high-performance access to fine- grained business logic, while maintaining the high-level services of an enterprise beans container. Code Complexity – Approximately 14200 lines of code. 100 Packages appx and 300 Classes appx.
19
Enhancement: Sun claims blueprints described are not for performance but is a kind of benchmark for building j2ee applications. No real performance measure were done to compare with other web applications. To have a comparative case study of the architectural and design differences of a java Petstore and an equivalent.Net Petshop and run some perfomance tests to get some statistics.
20
Refrences: [1] Sun Microsystems, 1994-2005; www.java.sun.com [2] Java Blueprints, http://java.sun.com/reference/blueprints [3] Java Petstore Source code, http://java.sun.com/j2ee//1.4/download.html#samples [4] D. Alur, J. Crupi, D. Malks. Core J2EE Patterns., Prentice Hall PTR. [5] Model–View–Controller, http://java.sun.com/blueprints/patterns/j2ee_patterns/model_view_controll er/ [6] Core j2ee Patterns, http://java.sun.com/blueprints/corej2eepatterns/index.html [7] Designing Enterprise Applications with the J2EETM Platform, Second Edition http://java.sun.com/blueprints/guidelines/designing_enterprise_application s_2e/ [8] Java Pet Store Sample Application Implements Core J2EE Patterns, http://java.sun.com/blueprints/patterns/catalog.html [9] AppPerfect DevSuite 5.0 Testing Tool, http://www.appperfect.com/products/devsuite/index.htmlwww.java.sun.comhttp://java.sun.com/reference/blueprintshttp://java.sun.com/j2ee//1.4/download.html#samples http://java.sun.com/blueprints/patterns/j2ee_patterns/model_view_controll er/http://java.sun.com/blueprints/corej2eepatterns/index.html http://java.sun.com/blueprints/guidelines/designing_enterprise_application s_2e/http://java.sun.com/blueprints/patterns/catalog.htmlhttp://www.appperfect.com/products/devsuite/index.html
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.