Application Development Guidelines
Specifications for bringing Developer Projects into the UWSP Production
Environment (such as CIS 480 Projects and others done by non-AIS, non-I.T.
Staff)
Production Environment Defined
Production Environment refers to applications to be used by some element of
the UWSP Community (dept. unit, group, etc.), which are intended to run on and
to be backed up on I.T. (and in some cases, AIS) Supported Hardware.
Specifically, this refers to 2 machines: APPSRV1 and SQLSRV1. APPSRV1 is
intended for web-related support and SQLSRV1 is intended for database support.
This does not refer to the simple creation of web pages to display department or
unit content, but to more elaborate applications intended to support office
management, resource management, decision support, registration and
record-keeping – in general, applications which go beyond the simple display of
content, or that involves the extended use of scripting/programming, and that
are done by non-professional programmers.
Informing Clients of limitations in I.T./A.I.S. Support
Developer teams are responsible for informing clients that the individuals
involved in developing a project are solely responsible for its support, and
that there is no intent on the part of the CIS Department, Administrative
Information Systems, or Information Technology to be involved in the product’s
functional support once the development team is no longer available.
The Developer team is responsible for informing clients that I.T. will
provide limited resource support. If the application is proven to be
stable and reliable, I.T.’s support will include providing server space,
electricity, an emergency power source, air conditioning, and backup.
Doing so does not imply that I.T. will provide application repairs or changes.
Developer teams are responsible for informing clients that
application-failure leading to server/network difficulties – such as
consistently crashing the host machine, some programming flaw, consuming an
inordinate amount of the internet bandwidth, machine memory, or CPU cycles -
which result in problems for others and/or their applications – will result in
I.T. providing adequate notice prior to terminating the offending application’s
availability. The department or unit using the application is responsible
for providing resources to repair the application in such a way as to eliminate
any problems it had been causing.
Databases
All Projects requiring the use of a database will use the version of
SQLServer supported by Information Technology at the time of the project’s
completion. Currently, the campus uses SQLServer 2000. However,
thought should be given to potential issues that may result from the campus
moving to future versions of SQLServer.
Reasons for using SQLServer include
SQLServer is far more robust than Access Access can be configured as the
interface for working with SQLServer for users with limited skills SQLServer
doesn’t need additional drivers to function in our environment and there are few
if any economic costs associated with its use.
Please note that Oracle can be used instead of SQLServer for those projects
directly related to AIS, and sanctioned by AIS
Also, this does not mean that every application using a database requires the
use of SQLServer and that Access should never be used. This stipulation to
use SQLServer is only related to the kind of complex applications described in
the section above on the Production Environment. The point is, if the
application involves accessing a database that will hold thousands of records,
or that will involve many users accessing the database at one time, or where
security and stability are significant issues, SQLServer is a better choice.
Since stored procedures provide a potential for hacking into a system, all
stored procedures should be written to eliminate these potentials. A
literature review on the topic of stored procedures and security concerns should
provide useful information insofar as this topic is concerned.
To minimize the number of ODBC connections that need to be managed and
maintained, all connections should be done via connection strings and requests
for ODBC connections will be handled on a case-by-case basis.
Each semester in which a course for student developers is offered, the
instructor or a designee will gather information on the number of databases
required to accommodate projects intended for the production environment.
Required information will include individuals authorized to access the data.
I.T. will create/provide one user account per database for use in active server
page connection strings (used for accessing the db). For developers
engaged in a project not related to a course, the person for whom the project is
being developed will make this request.
Operating Systems
All projects designed for broad campus audiences will function on both the
Mac and PC Platforms. Linux, Unix, or operating systems other than Apple
and Windows are not supported.
Web Server for ASP’s
All projects will use the version of IIS currently supported by the campus.
For now, that means IIS 5 - FrontPage Extensions will not be installed on the
production machine dedicated to active server pages.
Web Server for HTML-related Content
If more appropriate, content pages based in HTML can be stored on the campus
web server, in the web site associated with the developing department.
This includes allowances for client-side scripting and dynamic content.
Browser Checks
All projects designed for broad campus audiences should function in current
versions of Netscape and Internet Explorer, however, they must function
adequately in the current and previous versions of Internet Explorer (back to
4.01).
ADA Compliance
Here is a “snippet” of the information appearing at
http://www.uwsp.edu/it/policies/adapolicy.htm:
In response to the need to ensure that University of
Wisconsin-Stevens Point Web pages are accessible to persons with disabilities
navigating at our web site, we will make every attempt to provide reasonable
accommodations for qualified individuals with disabilities. The features that
provide power and elegance for some users will present potential barriers for
users with sensory impairments. For example, the indiscriminate use of graphic
images and video restrict access for users with visual impairments, and the use
of audio and non-captioned video may restrict access for users with hearing
impairments, the use of frames can negate the usefulness of “screen readers.”
Essential Information: In order not to create an undue burden on UWSP Web
authors, the University of Wisconsin-Stevens Point requires that the "essential
information" in official (not UWSP personal or class-generated pages) campus Web
pages be in text format, so that the material can be read intelligently by
screen readers. Essential information may include, but not be limited to:
Contact, address
information (name, phone, address, e-mail, etc.)
Date and Calendar
information (class syllabus, calendar of events, due dates, etc.)
Admissions, degree or
course requirements
Grading policies
Navigational elements
However, it is understood that much content will be offered only in
multimedia formats, such as simulations, or graphics and photos, or sound files,
where it is not reasonable or possible to provide a text equivalent. In such
cases, each multimedia element will have an "Alt" tag with a brief description
of that element.
Securing Sites - securing passwords
For those sites set up for restricted use, authors must invoke SSL by linking
to secured sites using the “https” method instead of the “http” method.
This ensures that SSL is invoked prior to the user being challenged for their
logon and password. For more information, see
http://www.uwsp.edu/it/i3ru/restrict/
Development to Production
The development and production environments will be set up so as to mimic
each other, but different rules will apply in each environment.
The development environment - supplied by the department/unit doing the
development - will likely allow for things “blowing up” and likely allow those
developing to learn from their mistakes. The production environment will
be highly controlled in ways that promote efficient use of resources, reduce
potentials for downtime, and promote a stable, predictable, secure environment.
In general, production environments are more conservatively constructed than
development environments.
To this end, assume that the production environment will NOT allow for use of
“beta” products, recently released or soon to be released products,
non-mainstream products, or anything that would jeopardize those values listed
in the previous paragraph. It would not be wise to develop an application
that depends on an installation of “extra” software in order for the application
to function. An example of “extra software” that some non-AIS, non-I.T
developers have used, and that will not be supported in the production
environment is Crystal Reports.
I.T. will basically support software items that are available to universities
as a result of state site licenses with vendors. Some examples include
contracts with Microsoft, Adobe and Macromedia.
The production server will seldom if ever be a home for new releases of
software. It has been our experience that it is “wise” to wait until the
first service/hot packs have been issued before installing a piece of software
on production machines. Although there may be value in installing the
“latest and greatest” on development machines for learning purposes, doing so
may cause problems because the “latest and greatest” will not be available on
production machines until the product has developed a bit of a history.
Like most corporations, UWSP I.T. will “upgrade” when it appears that there
is a significant enough benefit to the institution to warrant the amount of
effort expended in carrying out the upgrade process.
While Administrative Permissions may be granted in certain instances on the
Development Servers, only I.T. and/or A.I.S. staff members will have
Administrative Permissions on production servers.
When a project has been completed, and the client and the instructor have
both “signed off” on it, I.T. and/or A.I.S Staff will assist in moving the
application from the Development to the Production Environment.
Training for Application Users/Documentation
Developer teams will be responsible for developing training sessions and
materials so that the parties for which an application is being developed can
maintain those items that the application needs in order to function properly.
I.T. would suggest that the department for which the application has been done
have these items in hand before signing off on the Development Team’s work.
In addition, all documentation must be available at the site where the
application exists. One way of doing this would be to set up a folder
called “documentation” that holds the documentation created for the project, and
provide the department or unit with appropriate permissions for making use of
that documentation.
Lastly, we would like all student/non-AIS, non-IT developers to provide
department or unit heads with a copy of this document, prior to starting on the
project.