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