Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction...

Preview:

Citation preview

Du, YanlingShen, Guoqiang

(Group 6)

July 21, 2010

OutlineIntroductionSystem RequirementsSystem DesignSample CodeEvaluation SummarySystem DemonstrationReferences

ECE 750‐T11  Project Presentation 2 2

IntroductionWhy Spring framework is utilized

It provides support that a Spring bean can be directly referred in JSF environmentIt enables loose coupling architecture designHigh testability

How system is evaluated and testedComparison chart with comparable system by different technologies: development effort and non‐functional attributesSpring supported unit test (ongoing)

ECE 750‐T11  Project Presentation 2 3

Introduction (cont’d)What’s achieved so far

Successful implementation of proposed technologiesA working system with some of functionalities accomplished

Ongoing and future workComplete system with proposed functionalitiesMore unit and integration test casesFinal report with more technical details

ECE 750‐T11  Project Presentation 2 4

System Requirements: Use Case Diagram

ECE 750‐T11  Project Presentation 2 5

System DesignHigh Level ArchitectureArchitecture DiagramClass DiagramSequence Diagram

ECE 750‐T11  Project Presentation 2 6

7

• High‐level ArchitectureDesign Decision

Presentation Tier

Business Tier

Integration Tier

Database Tier

JAVA EE Server

EJB3

JPA

JavaServer Faces + Spring

RDBMS

Entity Object

O/R Mapping Resource Management Transaction Management

Bean Management Declarative Transaction Management

Entity Manager

Service Beans

UI Components Managed Beans Validator/Convertor Resource Bundle JSP

Face Servlets

Service Interfaces

SpringDIService

ECE 750‐T11  Project Presentation 2

High Level Architecture

Architecture Diagram

ECE 750‐T11  Project Presentation 2 8

ECE 750‐T11  Project Presentation 2 9

Architecture Diagram (cont’d)

ECE 750‐T11  Project Presentation 2 9

Spring IoC

Class Diagram

ECE 750‐T11  Project Presentation 2 10

Sequence Diagram

ECE 750‐T11  Project Presentation 2 11

Example: add patient use case

Sample Code

ECE 750‐T11  Project Presentation 2 12

cmsEAR/EarContent/META-INF/application.xml

Sample Code (cont’d)

ECE 750‐T11  Project Presentation 2 13

cmsJSF/WebContent/WEB-INFO/applicationContext.xml

cmsJSF/WebContent/WEB-INFO/faces-config.xml

Sample Code (cont’d)

ECE 750‐T11  Project Presentation 2 14

cmsJPA/src/META-INF/persistence.xml

Evaluation Summary 

ECE 750‐T11  Project Presentation 2 15

CMS 2009 CMS 2010

Technologies/Framework

JSF, HibernateSpring, JAVA EE 5 (JSF, EJB3, JPA)

Development More coding Less amount of code

ArchitectureHigh coupling (business & DAO tiers)

Loose coupling

Reusability JSF UI components JSF, EJB and JPA components

Extensibility Very good Very good

Configurability Good  Very good

Testability JUnit framework Spring supported unit test

16

System Demonstration

ECE 750‐T11  Project Presentation 2

References1. Integrating Spring and JSF, http://www.javabeat.net/articles/39‐integrating‐spring‐

and‐jsf‐3.html2. Spring and Java EE 5, http://java.sys‐con.com/node/366297?page=0,13. Put JSF to work, Build a real‐world Web application with JavaServer Faces, the Spring 

Framework, and Hibernate, http://www.javaworld.com/javaworld/jw‐07‐2004/jw‐0719‐jsf.html?page=1

4. The Complete Spring Tutorial: http://www.roseindia.net/spring/index.shtml5. Chapter 4 in I. Crnkovic and M. Larsoon, Building Reliable Component‐Based Software 

Systems, Artech House, 2002.6. OMG Unified Modeling Language (OMG UML),  Superstructure, Version 2.2: 

http://www.omg.org/spec/UML/2.2/Superstructure

ECE 750‐T11  Project Presentation 2 17

ECE 750‐T11  Project Presentation 2 18

Recommended