Title: Performance Driven Design Issues in Web Development
1Performance Driven Design Issues in Web
Development
- Patrick M. Benson
- Manager of Financial Applications
- University of Washington
- Seattle
- pbenson_at_cac.washington.edu
- http//staff.washington.edu/pbenson
2Performance Driven Design Issues in Web
Development
- The Problem
- The identification of performance bottlenecks
does not happen until the software is in the
hands of the Beta Test group, a deployment date
is published and the sharks are circling - Or worse, when the system has been deployed, is
in production and the wolves are at the door.
3Performance Driven Design Issues in Web
Development
Ski Trail Markings on slides indicate level of
difficulty
Little technical experience required. Plain
English spoken here. Goal is general
understanding of a topic
Easier
Background in technology or application assumed.
Acronyms spoken here. Goal is to provide topic
depth
Moderate
Code discussed. Geek-speak spoken here.
Detailed questions honored. Goal is in-depth
knowledge.
Difficult
Most Difficult
Theoretical abstractions discussed. May not be
able to see where the discussion will lead until
we get there.
4Performance Driven Design Issues in Web
Development
- Areas where performance problems may be
identified and avoided during design - The Graphical User Interface (GUI)
- Web and Database Interfaces
- Functional Design
5Performance Driven Design Issues in Web
Development
- Graphical User Interface (GUI)
- Menus, Location Form and Format
- Navigation Paths and Shortcuts
- Transitional Pages
- Visibility
- Usability
6Performance Driven Design Issues in Web
Development
- Menus, Location Form and Format
- What is the function of a Menu
- A. Show Functionality
- B. Promote Navigation
- C. Advertise New Services
- D. Show Off New Dancing GIFs
lt Correct !
7Performance Driven Design Issues in Web
Development
- Menus, Location Form and Format
- Text Sequenced Link Method
Institution Page Name
Institution Home Page Link Bar
Institution Link1
Institution Link2
Application Home Page Link
Bulletin Board
Help
Last Link
Last1 Link
Last2 Link
Email
8Performance Driven Design Issues in Web
Development
- Menus, Location Form and Format
- Fixed Text Table Method
Institution Page Name
Institution Home Page Link Bar
Institution Link1
Institution Link2
Asset Entry
Cataloged Rpts
Bulletin Board
Help
Asset Search
Application Home Page Link
Email
Ad Hoc Rpts
My Profile
Add Cost
Rpt Review
9Performance Driven Design Issues in Web
Development
- Menus, Location Form and Format
- Frames or Frame-Like Side Selection Technique
Institution Page Name
Institution Home Page Link Bar
Institution Link1
Institution Link2
Application Home Page Link
Email
Bulletin Board
Help
Last Link
Last1 Link
Last2 Link
C
lick to Select
Welcome to OASIS, the University of Washington
Fixed Asset Management System.
Asset Entry/Inquiry
Click on the text in the left hand column that
corresponds to what you want to do.
Asset Search
Catalogued Reports
Ad Hoc Reports
Use of these functions is restricted to Faculty
and Staff of the UW. Anyone may,
Asset Report Review
however, use the Help and Email functions to
learn about the OASIS System or to
Department Add Cost/Copy
contact the Equipment Inventory Office for
assistance in gaining access.
EIO Add Cost/Merge/Etc.
My OASIS Profile
System Management
Equipment Inventory Office
EIO_at_u.washington.edu
Last Modified 5/3/99
10Performance Driven Design Issues in Web
Development
- Menus, Location Form and Format
- Pull Down Select List Method
Institution Page Name
Institution Link1
Institution Link2
Institution Home Page Link Bar
Asset Entry
GO TO
Application Home Page Link
Email
Bulletin Board
Help
Asset Entry
Asset Search
Add Cost Entry
Cataloged Reports
Ad Hoc Reports
My Profile
Systems Management
Profile Maintenance
11Performance Driven Design Issues in Web
Development
- GUI Navigation Paths and Shortcuts 1
12Performance Driven Design Issues in Web
Development
13Performance Driven Design Issues in Web
Development
- GUI Transitional Pages - Ad Hoc Report Request
14Performance Driven Design Issues in Web
Development
- Visibility
- The Concept of Space - Public, Private, User,
Manager and Development Space
- Usability
- Institutional Icons and Standards
- Electronic Letterhead, Headers and Footers, Style
Sheets, Watermarks, Flow of Control Objects - W3C Guidelines at www.w3c.org
- Jacob Neilsens work at www.useit.com
- Molly Holzschlag, "House Style at Microsoft In
Front of and Behind the Scenes", Web Techniques,
September 1999
15Performance Driven Design Issues in Web
Development
- Web and Database Interfaces
- Architectural Choices and Limitations
- Nature of the Applications Use
- Cost of Support
- Resources
- Reality
16Performance Driven Design Issues in Web
Development
- Web and Database Interfaces, Architectural
Choices and Limitations - Function Follows Form - One, Two or
Three-or-More-Tier - The Three As
- User Resource Choices
- Connecting Web Server to Data Server
- Support Staff and Commitments
- Single or Multi Vendor Dependence
17Performance Driven Design Issues in Web
Development
- One-Tier Architecture
- The Stand Alone Desktop System
- The Mainframe with dumb Terminals and Centralized
Data Storage
18Performance Driven Design Issues in Web
Development
- Two-Tier Architecture
- The Departmental Server
- Microsoft IIS, Access, SQL Server - PeopleSoft
19Performance Driven Design Issues in Web
Development
- Three-Tier Architecture
- Client Server Applications
20Performance Driven Design Issues in Web
Development
- Web and Database Interfaces, Architectural
Choices and Limitations - The Three As
- Availability - POP, Hours of Operation
- Authorization - Scope of Access
- Authentication - Security, Logical and Systemic
21Performance Driven Design Issues in Web
Development
- Web and Database Interfaces, Architectural
Choices and Limitations - User Resource Choices
- Output Creation
- All Real-Time
- Fully Background
- Staged/Scheduled Background
- User Selected Real-Time or Background
- All of the Above
- Completion Notification
- Remote Printing and Distribution
- Danger! Nick Robinson, Danger!
22Performance Driven Design Issues in Web
Development
- Web and Database Interfaces, Architectural
Choices and Limitations - Connecting Web Server to Data Server
- Slow - CGI SQL, copy, execute, retrieve
- Faster - Stored DB Procedures
- Faster Still - Socket Level Connection to Stored
DB Procedures - Screaming - Multiported and Multithreaded
Socket Level Connection to Stored DB
Procedures with CGI Port and API Tread Selection
23Multiported and Multithreaded Socket Level
Connection to Stored DB Procedures with CGI Port
and API Tread Selection
24Three Tier Thin Client Web App with Client Server
Database
Apache Web Server
Local Systems Code
Local Systems Code
Local Systems Code
User's Application
User's Application
Operating System
Operating System
Operating System
Operating System
Operating System
Operating System
Vendor Software
Vendor Software
Vendor Software
Software
Code
Code
S
A
S
S
A
S
S
A
Data Server
Client
Web Server
Network
Network
Client (Desktop) Operating System
Client (Desktop) Operating System
WWW-OASIS Unix Operating System
WWW-OASIS Unix Operating System
WWW-OASIS Unix Operating System
Informix
OASIS Stored
Web and Desktop
OASIS Web Common
Secure Socket Layer Encryption Module
Secure Socket Layer Encryption Module
.htaccess Authentication Service
Mango Database Server
Vitcos UNIX Operating System
Mango Application Interface (API)
Control HTML Processor (CHTML)
Private TCP Socket Level
Public HTTP Network
Database
Database
Client and Associated
Gateway Interface
Connection
Engine
Procedure Calls
Applications
(CGI) Code
Network
Private Network
Application Icons,
Style Sheets,
Graphics, Headers
Institutional Icons,
Footers
Style Sheets,
Graphics, Headers
Operating System
FAS Index Tables
UNIX Operating System
Footers
OASIS Data Tables
S
Data Server
LDAP Authentication
Vendor Software
Engine
Faculty, Staff,
Unknown Database
A
Student Uniform
User's Application Code
Engine
Access Database
25Three Tier Thin Client Web App with Legacy
Database
User Application Code
User Application Code
User Application Code
User Application Code
Operating System
Operating System
Operating System
Operating System
Operating System
Operating System
Vendor Software
Vendor Software
Vendor Software
Vendor Software
Vendor Software
Vendor Software
Vendor Software
S
A
S
S
A
S
S
A
A
S
Data Server
Client
Web Server
Network
Network
ADO, OLE DB, SQL
Web and Desktop
Client (Desktop) Operating System
Client (Desktop) Operating System
MS NT Operating System
MS NT Operating System
MS NT Operating System
Secure Socket Layer Encryption Module
Secure Socket Layer Encryption Module
Private TCP Socket Level
Unisys A-Series OS (MCP)
MS Transaction Server (MTS)
MS ASP Authentication Page
MS Message Queuing (MSMQ)
On Line Definition Language - DFDL
Real Time Components (COBOL)
Unisys Work Flow Language (WFL)
Batch Components (COBOL)
(ALGOL)
Public HTTP Network
Client and Associated
Connection
MS SQL Server
Applications
Components
Security and Audit
Database Tables
Network
Private Network
COM Library
MS J and
Student
MS C
Financial
Operating System
Components
UNIX Operating System
S
API Libraries
LDAP Authentication
Data Server
Vendor Software
Payroll / Personnel
Engine
Faculty, Staff,
DMS-II Database
A
Student Uniform
Unknown Database
User's Application Code
Access Database
Engine
26Performance Driven Design Issues in Web
Development
- Functional Design
- Web Browser Standards
- Environment Support, the 1 to 8 rule
- Production Scheduling and Support Tasks
- Concurrent Real-Time and Batch DB Access
- Thin Client vs Thick Client, the Coffee Wars
- To ODBC or not to ODBC, That is the Question
- Emerging Software, the Bleeding Edge of
Technology
27Performance Driven Design Issues in Web
Development
- Functional Design, Web Standards
- Significant Vendor Differences
- Frames
- Page Length and Width
- Input Type Submit Hot / Cold
- Javascript child window control with MouseIn
/ MouseOut - Flashing Text
- Design for the lowest common denominator, sink to
the level of the least advanced commercial product
28Performance Driven Design Issues in Web
Development
- Functional Design, Environment Support, the 1 to
8 rule - For every 8 users there will be one distinctly
different desktop environment that the
application software will have to be designed or
modified to support.
29Performance Driven Design Issues in Web
Development
- Functional Design, Production Scheduling and
Support Tasks
30Performance Driven Design Issues in Web
Development
- Functional Design
- Concurrent Real-Time and Batch DB Access
- Thin Client vs Thick Client, the Coffee Wars
- To ODBC or not to ODBC, That is the Question
- Emerging Software, the Bleeding Edge of
Technology
31Performance Driven Design Issues in Web
Development