reengineering web application design - customers in charge copyright ruth butlin 2004. this work is...
TRANSCRIPT
Reengineering Web Application Design - Customers In Charge
Copyright Ruth Butlin 2004. This work is the intellectual property of the author. Permission is granted for this
material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the author. To disseminate otherwise or
to republish requires written permission from the author.
Presented by: Ruth Butlin – [email protected] Tuesday, May18, 2004
2
Agenda
• Highlight challenges and goals
• Explore delivery techniques used
• Tour of our implementation and back end operations
3
About Queen’s University
• Full-time enrolment: 18,409 (2003)
• Academic Staff 994 (tenure and tenure track included)
• Other Staff 2,569 (including medical support staff)
4
Where’s Kingston?
5
About UIS
• Over 20 people work in UIS, some for the mainframe, the rest on the ‘internet applications’ side.
• Responsible for:– maintaining the core enterprise systems – providing web self service applications – leadership in application development and
setting standards for campus
6
Overview
• Delivering online self-service applications for a community as large as diverse as a university presents a unique set of challenges.
• Queen's University Information Systems developed a design strategy to bring project stakeholders on board as part of the design team and empower them to make ongoing changes to their applications.
The Challenges
The good news is – we’re popular
The bad news is – we’re popular
8
The Challenges
• Our clients have yearly/term work cycles, so the front end edit changes are volatile while the business logic remains more constant.
• We have a mandate to design single applications that represent a diverse set of clients, such as incorporating the needs of many departments into a central application.
9
First Stakeholders
• School of Graduates Studies(SGS) needs application process and admin functions brought online, 43 departments with different needs to be represented in one application(today’s example)
• Faculty of Education requires course registration, payment and admin process brought online, shopping cart style application to be reused by other clients
10
SGS Requirements
Setting the Goals
Empower the customerReliable, secure and reusable
Reduce deploymentsReduce maintenance
No increase in database accessAvailable to third party applications
12
Development Environment
• J2EE Development using MVC with Struts, EJB, web services, DAO and JDBC
13
Exploring our Options• Properties files in struts requires a redeployment
to pick up the change, developers changing text.
• What we needed was a real time, updatable version of the properties file information in memory, with multiple versions available, and ‘Property Manager’ was born.
14
Business Case• Property Manager will change the way we do
business and reduce application delivery time.
1. Offer an improved customer
communication channel, property manager
involvement requires customers join the
design team
2. Reduce yearly maintenance by UIS
3. Fewer deployments, less time packaging
4. Information available to third party applications, not copied in multiple places
15
Implementation
16
17
18
19
20
21
22
<p class="ques"><BR><!-- question id = DEPT_Q5 property = deptQ5 --><%<!– dynamically construct key to retrieve question we want to display -->path = dept + "deptinfo.Optional.DEPT_Q5";ques = textareaQues.createQuestionWithDisplay(loadQues,path);myProperty = "deptQ5";myProperty = tempBean.getProperty(appForm,myProperty);if (null != ques) { <!– render question (custom tag library helps us here) -- > ques.render(outQues,myProperty); out.println("<BR>(maximum 2000 characters)");}%>
23
24
Property Manager – The Solution• Property Manager is real time
updatable web cache of all the properties used in an application(text, urls, images).
• information stored in a single database table, read into an application scope object in memory at startup, refreshed at scheduled intervals, each item represented with a tree structure.
25
Structure
PROPERTIES
QUESTION MANAGER
PropMgrImpl
SGS APPLICATION
PropMgrImpl
26
Lessons Learned• Stakeholder commitment was key
• Communicating the scope of property manager verbally was nearly impossible
• Bringing the clients on board as part of the design team had unique challenges and outcomes
• The time required for dealing with 43 departments simultaneously was severely underestimated
27
Current Implementations
• SGS• Continuing Education registration system,
other clients in discussion• Undergraduate Admissions PSE process• Bursary applications• Loan consent• Application to graduate• HR Tuition and Child Care Benefit
Applications
Questions?
email: [email protected]