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 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 & Communications Client 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
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 Infrastructure Web-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 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
University of Washington CUMREC 2003 UW Web Conference Registration Demo UW Web Conference Registration Demo AltAlt
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 REGSample 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 Element Select 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 AMAttribute Maintenance Search AM
University of Washington CUMREC 2003 Database Backbone Two for displayTwo 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 CAConference Administration CA
University of Washington CUMREC 2003 Another Application The same architecture can be used for other applications. –KEXP Donation (Sample) KDKEXP Donation (Sample) KD –Donation Administration DADonation 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