Download presentation
Presentation is loading. Please wait.
Published byLouise Patterson Modified over 9 years ago
1
Inside Gradebook - June 9, 2005 Inside Gradebook Or: How I Learned to (almost) Stop Worrying & (almost) Love JSF 1.1 Ray Davis – UC Berkeley
2
Inside Gradebook - June 9, 2005 Pragmatic Development Incremental Cyclical User-driven Lazy optimization Lazy generalization
3
Inside Gradebook - June 9, 2005 Small Interdisciplinary Team Functional specification –Ben Brophy - UI - MIT –Oliver Heyer - Project Manager - UC Berkeley Implementation –Ray Davis – UCB –Josh Holtzman - UCB Sakai integration –VARIED Samigo integration –VARIED
4
Inside Gradebook - June 9, 2005 Goals Best-of-breed online gradebook Meet MIT and UC needs Built on new Sakai framework Built on new Sakai course management API Built with rich JSF component set Close integration with Samigo... Due in four months
5
Inside Gradebook - June 9, 2005 Goals, 2 DUE BEFORE new Sakai framework DUE BEFORE new Sakai course management API DUE BEFORE rich JSF component set DUE BEFORE Samigo completely stable
6
Inside Gradebook - June 9, 2005 Something's Gotta Give Delivery date? Functionality? Stability?
7
Inside Gradebook - June 9, 2005 Jettisoned Close cross-dependencies Anything not in Sakai 1.5 (e.g., sections) Two-way sharing with Samigo Complex UI; potential design issues –Percentage-weighting –Categories –Histories –Graphs Immediate use by MIT or UC Berkeley
8
Inside Gradebook - June 9, 2005 Managed Change Living specs Spec team updates CVS Discussion via BaseCamp & Confluence
9
Inside Gradebook - June 9, 2005 Integration – Tool / Component App Presentation External Apps App Business Logic
10
Inside Gradebook - June 9, 2005 Integration – Application / Service App Presentation External Apps App Interface Shared Model Logic Service Interface
11
Inside Gradebook - June 9, 2005 Integration – Direct Client Gradebook Sakai 2 APIs
12
Inside Gradebook - June 9, 2005 Integration – Facades Gradebook GB Facades Sakai 1.5 APIs Sakai 2 APIs Tests Standalone
13
Inside Gradebook - June 9, 2005 The Scary Part - JSF JSF 1.1 lacks components. JSF 1.1 has more general problems. JSF 1.2 is likely to fix many. JSF 1.2 isn’t available.
14
Inside Gradebook - June 9, 2005 JSF 1.1 - Berkeley Pilot Experience Buggy Unpredicted results Tangled backing beans Forced session scope
15
Inside Gradebook - June 9, 2005 Taming JSF – Bugginess Switch to MyFaces –Still buggy, but… –Releases more often –Access to CVS head
16
Inside Gradebook - June 9, 2005 Pure Request Scope R App Context DB R App Context R App Context R App Context
17
Inside Gradebook - June 9, 2005 Session Scope R App Context DB RR
18
Inside Gradebook - June 9, 2005 Request Thread Scope AKA task scope, page flow scope, workflow scope.... R App Context DB RR App Context App Context
19
Inside Gradebook - June 9, 2005 Request Threads in JSF 1.1 Carry thread state in UI component New FlowState component, inspired by MyFaces SaveState
20
Inside Gradebook - June 9, 2005 JSF - Data Synchronization Phase-aware backing beans –PhaseAware interface –InitializableBean superclass Controlled guaranteed initialization from DB
21
Inside Gradebook - June 9, 2005 Taming JSF - Coding Conventions One page = One backing bean Backing bean is selectively Serializable Confine DB queries to init() Avoid unnecessary DB queries No domain objects in request thread state HINT: Use PhaseListener when debugging
22
Inside Gradebook - June 9, 2005 JSF - Incremental Generalization JSP 2 1.Embedded 2.Included 3.JSP tag 4.Java tag JSF 1.1 1.Embedded 2.-- 3.-- 4.Java component
23
Inside Gradebook - June 9, 2005 JSF - Incremental Generalization Solution: MyFaces aliasBean From addAssignment.jsp : From editAssignment.jsp : From inc/assignmentEditing.jspf : <h:inputText id="title" value="#{bean.title}“ required="true" >
24
Inside Gradebook - June 9, 2005 JSF - Components Reduced need Mocked up with embedded Move over to Sakai 2 as available Pager tag - Thanks, Jon Andersen!
25
Inside Gradebook - June 9, 2005 Bumps Changes in responsible parties Changes to facades Changes to service interface Changes to formatting Reorganization & repackaging of files Changes to Sakai framework expectations
26
Inside Gradebook - June 9, 2005 Results Delivered specified functionality on schedule Multiple DBs Multiple deployment styles Back button, multiple windows/tabs Less server load Foundation for future work
27
Inside Gradebook - June 9, 2005 Future Work Refactor tests Domain objects in request threads JSF - redirecting URLs JSF - out of sync URLs JSF - precompile JSPs Submit MyFaces approach to wider group Restore MIT/Berkeley functionality
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.