18
Du, Yanling Shen, Guoqiang (Group 6) July 21, 2010

Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Embed Size (px)

Citation preview

Page 1: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Du, YanlingShen, Guoqiang

(Group 6)

July 21, 2010

Page 2: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

OutlineIntroductionSystem RequirementsSystem DesignSample CodeEvaluation SummarySystem DemonstrationReferences

ECE 750‐T11  Project Presentation 2 2

Page 3: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

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

Page 4: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

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

Page 5: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

System Requirements: Use Case Diagram

ECE 750‐T11  Project Presentation 2 5

Page 6: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

System DesignHigh Level ArchitectureArchitecture DiagramClass DiagramSequence Diagram

ECE 750‐T11  Project Presentation 2 6

Page 7: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

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

Page 8: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Architecture Diagram

ECE 750‐T11  Project Presentation 2 8

Page 9: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

ECE 750‐T11  Project Presentation 2 9

Architecture Diagram (cont’d)

ECE 750‐T11  Project Presentation 2 9

Spring IoC

Page 10: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Class Diagram

ECE 750‐T11  Project Presentation 2 10

Page 11: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Sequence Diagram

ECE 750‐T11  Project Presentation 2 11

Example: add patient use case

Page 12: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Sample Code

ECE 750‐T11  Project Presentation 2 12

cmsEAR/EarContent/META-INF/application.xml

Page 13: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Sample Code (cont’d)

ECE 750‐T11  Project Presentation 2 13

cmsJSF/WebContent/WEB-INFO/applicationContext.xml

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

Page 14: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

Sample Code (cont’d)

ECE 750‐T11  Project Presentation 2 14

cmsJPA/src/META-INF/persistence.xml

Page 15: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

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

Page 16: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

16

System Demonstration

ECE 750‐T11  Project Presentation 2

Page 17: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

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

Page 18: Du, Yanling Shen, Guoqiang - University of Waterlooltahvild/courses/ECE750-11-S10/...Introduction yWhy Spring framework is utilized yIt provides support that a Spring bean can be directly

ECE 750‐T11  Project Presentation 2 18