Title: Developing Generalized Software Applications for Custom Needs
1Developing Generalized Software Applications for
Custom Needs
- Sindy Lee
- Lead Software Developer
- sindy_at_rescomp.stanford.edu
- June 30, 2002
2ResComp Software Development at Stanford
- RESOURCES
- Only one full-time developer (year-round)
- Student developers
- Academic Year up to 2 part-time (20 hours/week)
- Summer up to 2 full-time
- RESPONSIBILITIES
- Provide support and services to core
organizations
- Residential Computing
- Residential Education
- Academic Computing
- Also to non-core organizations (when possible)
- Overseas Studies Program
- Registrars Office
3Development Environment
- HTTP server
- Apache
- Kerberos Web authentication module
- Java Servlet Container
- Tomcat 3.2
- JDK 1.3
- Externalization of presentation
- Dynamic Templating Language (DTL) from HighWire
Press
- Database
- Oracle 8i
- Programming
- Development server and database
- Unix environment compiling with javac
- Oracle database client for Windows
4Customized Solutions
- ADVANTAGE
- Exactly what
- the client wants
- DISADVANTAGE
- Wasted development resources
Generalized software applications that
build customized Web applications
5Why develop a Web application builder?
- TECHNICALLY
- Code re-use and sharing
- Modular applications with database back-ends
- ORGANIZATIONALLY
- One tool for many customers
- Easily expand service to new customers
- ResNet organizations as central place for
software development
6Examples of Web application builders
- Online survey system
- Online application system
- Inventory database
- Trouble ticket/bug reporting system
- Email engine
7Evolution of the Online Survey System
8Online Survey System Key Features
- Availability
- Completely Web-based
- Available to anyone with valid SUNetID and
password
- Supports various question types
- Multiple choice (radio buttons, checkboxes, drop
down menus)
- Free form (text fields and text areas)
- Supports branching based on survey takers
responses
- Provides real-time reporting and results
- HTML page
- PDF file
- Tab-delimited spreadsheet
9Online Survey System Structure
SURVEY
SECTION (each appears on a different page)
QUESTION
ANSWER ROW (uses a predefined answer list of acad
emic majors)
10Online Survey System Demo
Edit the survey
Take the Survey
View Results
11Online Selection System Old Way, New Way
- Generalized Java servlet classes
- Supports process part types, not specific
processes
- Supports only RA/CA and RCC selection processes
- Generalized look and feel
- Customized interface for each process
- Different places for different processes
- One location for all selection processes
- One personal profile for entire system
- Applicants must enter personal information for
every process
12SunAppSys Structure and Features
- Three levels of privileges
- Process administrator (central staff)
- Administrator (Resident Fellows)
- Applicant (students)
- Each selection process is composed of process
parts, such as
- Application forms
- Additional Materials
- Interview rounds
- Preferences lists
13Sample Selection Processes Overseas Studies
Program
14Sample Selection Processes RA/CA Selection
15Sample Selection Processes RCC Selection
16SunAppSys Demo
Create a selection process
Students apply
Review applications
Notification of Offers
Acceptance of Offers
17Generalized Software Applications
- Build it once, use it over and over again
- Add features as you go
- Develop different versions of your product
- Money, Money, Money
18Thanks!
- Questions? Comments? Want more technical
details or documentation?
- Email sindy_at_rescomp.stanford.edu.