university of washington cumrec 2003 uncompromised web applications: variety without chaos...

55
University of Washington CUMREC 2003 Uncompromised Web Applications: Variety Without Chaos University of Washington CUMREC 2003 Copyright University of Washington , (Joe Frost and Marcia Tufarolo 2003. 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 authors

Upload: annabella-hopkins

Post on 22-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

University of Washington CUMREC 2003

Uncompromised Web Applications: Variety Without Chaos

University of WashingtonCUMREC 2003

Copyright University of Washington , (Joe Frost and Marcia Tufarolo 2003. 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 authors

University of Washington CUMREC 2003

University of Washington

•State Research University

•3 Major Campuses

•40,000 Students

•24,000 Faculty & Staff

University of Washington CUMREC 2003

Joe Frost - System Engineer

Marcia Tufarolo - Technology Manager

Computing & CommunicationsClient Services Project Consulting

University of Washington CUMREC 2003

Client Services Project Consulting

•Consulting group for UW

•Self-sustaining operation

•CSPC hired for work

University of Washington CUMREC 2003

Development Architectures

•Custom Application

•Universal Application

•Custom Compromised App

•‘Generic’ Application

University of Washington CUMREC 2003

Custom Application

• Developed for one area• Meets all needs• No resource leveraging• High cost - develop & maintain• Risk of many similar applications

University of Washington CUMREC 2003

Universal Application

• One application & feature set • Used by many areas

• Limited use of some application functions

• Re-definition of functions to meet needs

• Leveraged development costs

• Committee modifications/enhancements

University of Washington CUMREC 2003

Customized Compromised Application

• Cloned Custom or Universal app

• Modified to meet ‘real’ needs

• “If statements”

• Redefinition of fields

• Cost savings?

• Fragile to modify

University of Washington CUMREC 2003

Types of Development Architectures

CustomizedCompromised

Application

UniversalApplication

CustomApplication

GenericApplication

University of Washington CUMREC 2003

Generic Application

• Meets common need

• Flexible to customize

• Serves specific needs of many areas

• Leverage dev & maint costs

• Not for high transaction volume apps

University of Washington CUMREC 2003

UW ‘Generic’ Applications

•UW Web Conference

•UW Web Donation

•UW Web Store

University of Washington CUMREC 2003

UW ‘Generic’ Applications

•Architecture Goal –Meet a common need

–Ability to customize content

–e-commerce functions

–Scaleable

University of Washington CUMREC 2003

Central UW InfrastructureWeb-based Credit Card Processing

UW Web Credit Card Project

University of Washington CUMREC 2003

UW Web Credit Card

Goal – Increase usage of secure, central application

University of Washington CUMREC 2003

UW Web Credit Card

•API for Interface•Specific Requirements

–Database–SSL–Security Callbacks

University of Washington CUMREC 2003

UW Web Credit Card

University of Washington CUMREC 2003

UW Web Credit Card Users

•Tuition

•UW Computer Training

University of Washington CUMREC 2003

UW Web Credit Card Interface

•Many areas could not interface–Complex programming & environment

–Limited basic Web skills

University of Washington CUMREC 2003

Credit Card Acceptance

•Email•Fax•Phone•Yikes!

University of Washington CUMREC 2003

Customized Common Needs

•Conferences–Health Policy Analysis Program

•Pledge Drives–KEXP Radio Station

University of Washington CUMREC 2003

Project Approach

•Defined timeframe of operation

•High Visibility

•‘Always a rush’

University of Washington CUMREC 2003

‘Generic’ Application

•Conferences–User registration & payment–Administrative application

•Standard report•Data extract•Registration maintenance•Conference management

University of Washington CUMREC 2003

Project Team

•Database Expert•Java Expert•Student Staff - ‘The Gaber’

•Project Manager

University of Washington CUMREC 2003

Project Method

•High Level Design•Prototype/Code•Implement

University of Washington CUMREC 2003

Computing Environment

•Win2K•IIS•SQL Server•Java•JavaScript

University of Washington CUMREC 2003

User Registration & Payment

ConferenceRegistration

Page

RegistrationConfirmation

UW WebCredit Card

Payment

PaymentReceipt

University of Washington CUMREC 2003

Generic And Custom• Form elements are defined in a database

• Departments control data and form appearance

University of Washington CUMREC 2003

UW Web Conference Registration

• Sample Registration Page REG

University of Washington CUMREC 2003

Web Page Form Elements• Form Elements built from database rows

University of Washington CUMREC 2003

HTML Tag Attributes•Attributes of the input tag saved as columns

University of Washington CUMREC 2003

HTML Input Tag Types

Standard HTML tags•Select, Text area, Radio, Checkbox

Subtypes of Text•Text, Integer, Date, Money

Display Only•Any HTML fragment

University of Washington CUMREC 2003

Types of Form Elements• Same data structure for each of the standard

HTML form elements

University of Washington CUMREC 2003

Text Tag Subtypes•Data type determines client-side processing

University of Washington CUMREC 2003

Select Tag Form ElementSelect and radio buttons can also be generated.

University of Washington CUMREC 2003

Select Tag Values•Radio and select require multiple rows.

University of Washington CUMREC 2003

Scripting Functions•Scripts for form elements

University of Washington CUMREC 2003

Serving The Page• Page Builder generates the form

University of Washington CUMREC 2003

Saving The Results• Retrieve the Attribute descriptions

• Edit the form data

• Store Registration and RegValue rows

University of Washington CUMREC 2003

Database Backbone•Two tables for display

University of Washington CUMREC 2003

Attribute Maintenance

• Attribute Maintenance Search AM

University of Washington CUMREC 2003

Database Backbone•Two for display •Two for storage

University of Washington CUMREC 2003

Using The Data

• Get data into simple table form

• Append the regValue columns to the Registration columns

University of Washington CUMREC 2003

Table Pivoting• Convert flat tables to deep tables

University of Washington CUMREC 2003

Create Temporary Table

• Select the distinct attribute rows in a cursor

• Build a “create table” statement with the attribute names as columns

• Execute the create table statement

University of Washington CUMREC 2003

Create Table• Select attribute_names into process loop

University of Washington CUMREC 2003

Load Temporary Table

• Insert an empty row for each registration

• Select the distinct attribute names in a cursor

• Build and execute update statements using each attribute name as a column name and selection criteria

University of Washington CUMREC 2003

Update the Temporary Table• Update each column in a loop

University of Washington CUMREC 2003

Administrative Application

• Most of the application is behind the scenes.

• Conference Administration CA

University of Washington CUMREC 2003

Another Application

• The same architecture can be used for other applications.–KEXP Donation (Sample) KD

–Donation Administration DA

University of Washington CUMREC 2003

Development Efficiencies

• Conference App – 3 months• Donation App – 6 weeks

• Add a new conference or pledge drive: 8 hours

University of Washington CUMREC 2003

Where We Are Today

• Applications have evolved

• New features added to meet a general needs

• Still expanding

University of Washington CUMREC 2003

Challenges

• Money for development

• Levels of cost to department

–Setup Fee

–Credit card usage fees

• Changing technologies

University of Washington CUMREC 2003

Lessons Learned

• Strong database design

• More generic = Better design

• Java is better than JavaScript

University of Washington CUMREC 2003

Uncompromised Web Applications: Variety Without Chaos

University of Washington

[email protected]://depts.washington.edu/cac/projects