The Shuffler
Document Sample


The Shuffler
A WWW-based form routing system
Created by Dan Dapkus and Matthew Pfeiffer
In collaboration with Dr. A.H. Esfahanian
Michigan State University
Department of Computer Science
WWW Address --- http://pfeifes.esp.msu.edu/The%20Shuffler/default.htm
Introduction
• Background
– The “Paper shuffle”
– Paper forms filled out and hand-delivered to
multiple destinations
– Examples: Grade Change, Grant Proposal
– Slow; forms are misplaced / damaged in transit
– Single point of failure: paper form
– No convenient archive when paper shuffle is
completed
• Purpose/Motivation
– The “Electronic Shuffle”
– Flexible form creation
– Leverage Internet, intranets, e-mail
• efficient, tested means of moving information
• scalable -- easy to add groups of users
– Leverage databases
• convenient (e.g. searchable)
• secure
• fast
• distributed access
Tools
–Microsoft Windows NT Server 4.0
–Microsoft Internet Information Server 3.0
–Microsoft Access 7.0
•low-end database (e.g. ten or fewer simultaneous users
recommended)
•inexpensive
•single, portable file
•custom reports, queries, etc.
•familiar
–Microsoft SQL Server 6.5
•high-end database (e.g. many simultaneous users)
•robust
•scalable (e.g. multiprocess support, multiple drives, etc.)
•full-featured (e.g. mirroring, transaction logs, etc.)
•remote database server option (i.e. distinct from WWW server)
Tools (continued)
–Microsoft Visual Basic 5.0
•Ease of development
•Hooks to ODBC databases, Win32 API
•Alternatives: Borland Delphi, PowerSoft
PowerBuilder, et al
Installation Utility
• Goals
– Simplicity
• Little user interaction necessary
• One floppy
– Install Shuffler Components
• Database
• WWW interface & functionality
– Shuffler Configuration
• Database type, location
• Global.ASA
• SQL Server data location
• Internet Information Server virtual directory
Installation Utility
• Design
– Informational Screens
• Shuffler introduction, Shuffler developers, etc.
• Hardware & OS requirements
• Directory creation & file locations
– Shuffler Virtual Directory
• Search Windows NT registry for location of WWW applications
• Create new directory for Shuffler application files
• Copy ASP files to Shuffler directory
• Instruct user how to create Internet Virtual Directory in Microsoft
Internet Service Manager
Installation Utility
• Design (cont‟d)
– Database Selection and Installation
• SQL Server
– Specify SQL Server
– Provide login information
– SQL Server data directory found via registry entry
– SQL code sent to SQL Server for execution to create database
objects
• Access
– Pre-built database file
– Copy Shuffler.mdb to Shuffler virtual directory location
• Create Global.ASA file specific to selected database
Installation Utility (cont‟d)
• Implementation
– Open Database Connectivity (ODBC)
• Drivers for many different databases
• Same code to access different databases (via different drivers)
– Data-Access Objects (DAO)
• Common object interface to ODBC-compliant databases
• Connectivity to SQL Server
– Win32 API
• Free disk space
• Windows Registry
– SQL Server data directory
– IIS directory location
Installation Utility (cont‟d)
• Challenges
– DAO
– Database (SQL Server) programmatic setup and object
creation
– Win32 API
Installation Utility (cont‟d)
• Regrets
– Unable to create IIS virtual directory programatically
– Unable to create a system ODBC DSN programatically
The Shuffler Database
• Goals
– Store Shuffler data
– Relational Model
– High-end or low-end database
– Open to outside applications (e.g. via ODBC)
The Shuffler Database (cont‟d)
•Overview
Shuffler Database (cont‟d)
•Design
–Tables
•tblForm: basic data for each Shuffler form
•tblUser: basic data for each Shuffler user
•tblFormInitiation: data for each instance of a shuffling form
•tblFormUser: specifies which forms a user may shuffle
•tblFormRoute: the route of users to shuffle a form
The Shuffler Database (cont‟d)
• Design (cont‟d)
– An evolving database: New-form tables
• A data table exists for each form -- a field exists for each form
field
• New table created, based on user input at form design time
WWW Interface
• Goals
– Secure
– User-Friendly
– Flexible
– Scaleable
– Can be modified to meet the needs of the organization.
Tools
–Microsoft Active Server Page Technology
–Microsoft J++
–Microsoft C++
–Microsoft Visual Basic 5.0
–Microsoft Interdev 1.0
–Microsoft Windows NT Server 4.0
–Microsoft Internet Information Server 3.0
–WWW Browsers
Design/Implementation
• There are eight primary sections to the WWW Interface
Design
– 1. Security
– 2. Department/User Manager
– 3. Form Creation
– 4. Form Initiation
– 5. Routing/Email
– 6. Form Status
– 7. Form Viewing
– 8. Archiving
Design/Implementation
• 1. Security
– SSL
– Authentication Methods
– Digital Keys?
Design/Implementation (Continued)
• 2. Department Manager/User Manager
– For Entering and Removing Departments and Users From the
Database
Design/Implementation (Continued)
• 3. Form Creation
– Interface
– Annoyance Factor
– Adding Fields
• Regular Fields
• Editable Fields
– Implementation
Design/Implementation (Continued)
• 4. Form Initiation
– Subject for Email
– Routing Method
• Serial
• Parallel
– „To Whom‟ Selection
– Show Route During Viewing
Serial Shuffle
Parallel Shuffle
Design/Implementation (Continued)
• 5. Routing/ Email
– Editable Field Initialization
• 6. Status
– Currently Shuffling Forms
– Completed Forms
Design/Implementation (Continued)
• 7. Form Viewing
– Viewing in Edit-Mode
– Viewing Read-Only
– Printing
• 8. Archiving
WWW Interface (Continued)
• Challenges
– Email Component
– Scheduler
– Functionality
– On-Going Development (communication with users is
the key)
WWW Interface (Continued)
• Regrets
– Could not do everything
– Unable to provide a completely HTML solution
Conclusions / Future Work
• Addition of Groups
• Form Editor
– During Form Creation
– Post Form Creation
• Rules -- e.g., Field Definition/Restrictions
• On-The-Fly Route Selection
• Document Attachment
• Module Execution At Some Point During Route
• Read-Only comments
• Learning Experience -- Things we wouldn‟t do a second
time
Get documents about "