Teaching Web
Programming:
Configuration of a
Multiplatform and Cost Effective Lab
Mila Kwiatkowska and Andrew Idzikowski
School of Advanced Technologies and Mathematics
e-mail:
mkwiatkowska@cariboo.bc.ca phone:
(250) 371-5592
e-mail:
aidzikowski@cariboo.bc.ca
phone: (250) 371-5904
ASTRACT
Our
solution to deliver courses with a variety of Web servers and technologies is
based on three environments: (1) open source software using Apache server, PHP,
and mySQL [1]; (2) Java solutions including Tomcat 4.0, Java Server Pages
(JSP), Java servlets, Oracle 8i [2]; and (3) Microsoft solutions based on
Windows 2000, Internet Information Services 5.0 (IIS), Active Server Pages 3.0
(ASP), ASP.NET, MS Access 2002, and MS SQL Server 2000 [3-4]. These
environments, supporting the most common Web development environments and Web
servers, are used in five Web programming courses in three different programs.
This poster describes a multiplatform lab infrastructure installed at the
1. INTRODUCTION
The
Advanced School of Technologies and Mathematics at the University College of
the Cariboo (UCC) offers two degree programs: Bachelor of Technology in Applied
Computing Science (BTACS) and Bachelor of Science with Major in Computing
Science (Major in CS), and a two year diploma program: Computer Systems:
Operations and Management (CSOM). These programs offer five courses in Web
design, Web Programming, and E-Commerce Systems Development (see Appendix A).
Each course uses a special configuration of Web development tools.
CSOM
diploma program offers two Web programming courses: COMP268 (Special Topics:
Web Design and Programming) and COMP262 (E-Commerce Systems Development). Both
courses use Microsoft configuration: Visual Studio 6.0, ASP 3.0, IIS 5.0, MS
Access 2002. The .NET framework is already installed in labs, but it will be
introduced into diploma courses in September 2003. CSOM program is designed to
prepare graduates and students in Co-op program to become immediately
productive using specific software environments. Many CSOM graduates find work
in companies using Microsoft-based solutions.
BTACS
program is an applied bachelor program providing a combination of technical
hands-on skills and theory. Both BTACS students and Major in CS students take
the required course COMP354 (Web Design and Programming) and two optional
courses COMP454 (Advanced Web Design and Programming) and COMP462 (E-Commerce Systems Development). COMP454
is geared towards the students in major in CS and focuses on a wide variety of
platforms and solutions. The students have an opportunity to try out all three
environments: (1) PHP, Apache, Perl; (2) Java based solutions: JSP, Java
servlets, Java Beans; (3) Microsoft based solutions: ASP 3.0, IIS 4.0. COMP462
is geared towards the applied degree students and it is designed based on
Microsoft solutions and XML technologies. In this course, the students prepare
a complete e-commerce site using IIS 5.0 server, ASP 3.0, MSXML, XSLT, SQL
Server 2000, and MS Access 2002
2. SOFTWARE AND HARDWARE CONFIGURATION
Our
programs (CSOM, BTACS, Major in CS) use three dedicated computer labs and four
dedicated servers configured as working Web servers and database servers. All
servers are accessible through Internet, and the students can develop their
programs in labs or at home. The security is provided by the UCC firewall and
password protected user ids. We would like to emphasize, that in the last four
years, we did not have security problems. All students acted very responsibly
and their sites were maintained in a professional manner.
Each
lab has from 20 to 40 identical Seanix workstations connected to the Novell
network. These workstations use the same Ghost image and have Windows 2000
Professional installed with DeepFreeze®[1] to protect the software
configuration. Our workstations include Pentium IV with 256MB of main memory,
two hard drives (C: and D:), and CD burner. Each workstation has two local Web
servers: Apache and IIS 5.0 and is
connected with two dedicated Web servers (named btacs2 and btacs3)
and three database servers with Oracle 8i, Oracle 8, and SQL Server 2000.
Students develop their programs locally using two development environments:
HomeSite and Visual Studio. After testing their programs on workstations, they
upload programs (using FTP) to btacs2 or btacs3 Web servers. This approach
minimizes the demand on our servers. Availability and fast response from the
Web servers is a central issue in our school environment. The same servers are
used in additional three project courses, directed studies course, and are
utilized by our faculty in their research projects. The usage of four servers
and the local development method worked for us very well and within four years
we had less than 20 hours in total of server downtime (mostly involving
upgrades, when the servers were shutdown by the administrator).
2.1 Multiplatform configuration for Web Servers
Our
labs offer three environments: (1) open source software using Apache server,
PHP [3], and mySQL; (2) Java solutions including Tomcat 4.0, Java Server Pages
(JSP), Java servlets, Oracle 8i; and (3) Microsoft solutions based on Windows
2000, IIS 5.0, Active Server Pages 3.0 (ASP), ASP.NET, MS Access 2002, and MS
SQL Server 2000. Table 1 provides details of the multiplatform software
configuration.
Table
1: Summary of technologies used in our
labs
Technology |
Software used |
Installation |
Active Server Pages |
Microsoft Internet
Information Services – IIS Web Server |
These services come with
Windows 2000 Professional. Default installation does not include IIS;
therefore, it should be selected when installing new operating system or can
be added through Add/Programs option. Change IIS service to “manual”. Keep
the default port 80 |
JavaServer Pages |
Java 2 v 1.4 Tomcat 4.0 |
Free download from
Internet (see Appendix B) |
PHP |
Apache web server, MySQL,
PHP scripting engine, MyPHPAdmin |
Free download from Internet
(see Appendix B) |
2.2
Web application and XML development environments
Our
labs offer three application development environments: Visual Studio 6.0,
Visual Studio .NET, and HomeSite. Our students prefer to use HomeSite; however,
for the typical Microsoft solutions, students use Visual Studio. In winter
2003, students implemented e-commerce sites using two approaches: a database
and xml files. The students used mostly XMLSpy for W3C XML Schemas and XSLT. They found Visual Studio .NET XML support
very cumbersome. Table 2 provides details of the Web applications development
environments and their evaluation by our students.
Table
2: Summary of Web applications
development environments
Web Application Development Tool |
Usage and Evaluation by Students |
HomeSite |
Usage: HTML, JavaScript, Active Server Pages, Java Server
Pages, CSS Evaluation: Students’ preferred tool for Web programming |
Visual Studio 6.0 |
Usage: HTML, Active Server Pages, Web-database Design (MS
SQL Server) Evaluation: Used by students with Microsoft experience from
co-op work |
Visual Studio.NET |
Usage: Active Server Pages.NET, Visual Basic.Net
Programming Evaluation: A group of four students implemented their class
project using .NET; The students did not find it useful for XML development |
XMLSpy |
Usage: XML, DTD, W3C XML Schemas, XSL, MathML Evaluation: Students considered this product to be the best xml
development tool |
2.3 Database environments
Our
labs offer five database management systems: MS Access 2002, MS SQL Server 2000,
Oracle 8i, Oracle 8, mySQL. The students were given choice to use any database
supported by our servers. Most students used Access 2002 and SQL Server 2000;
some used more than one database, and all used XML files and xml data stored in
the database. The students taking COMP462 were asked to implement an e-commerce
site using a database approach and again using XML and XSL files. In our
experience, this assignment was the best way of illustrating the usage of XML.
After the database vs. XML files assignment, the students were using XML
technology with the database. The students especially enjoyed a simple exercise
using an automatic generation of XML, Schemas, and XSL in MS Access 2002. Table
3 provides details of the Web-database applications development environments
and their usage by our students.
Table
3: Summary of Web-database
applications
Database |
Usage and Evaluation by Students |
MS SQL Server 2000 |
Usage: Active Server Pages with Evaluation: considered as the best Web-database, simple to use
and modify. Students used stored procedures and triggers. |
MySQL |
Usage: PHP, Active Server Pages with ODBC Evaluation: simple, free database, used by many students in
PHP applications |
Oracle8i, Oracle 8 |
Usage: Java Server Pages with JDBC and ODBC/JDBC bridge Evaluation: Used mostly by students interested in database
systems and taking the Advanced Database course. |
Access 2002 |
Usage: Active Server Pages with Evaluation: simple to use; however, each structural
modification required FTP of the entire mdb file, not e good choice for
e-commerce sites, many students switched from Access 2002 to SQL Server 2000.
|
3. Conclusion and future PLANS
Our
multiplatform labs include all major Web development environments and database
systems. This infrastructure allows for prompt course changes and rapid
development of new course units. For example, the current lab configuration
provides .NET technology (ASP.NET, VB.NET, ADO.NET, and Visual Studio.NET).
This framework was utilized in the last semester (Winter 2003) by students in
COMP462 and COMP492 (Project Course II).
Since more employers demand .NET skills, this technology will be
included in the two-year diploma (CSOM) courses in September 2003.
References
1.
Medinets,
D. PHP3 Programming Browser-Based
Applications. McGraw-Hill, 2000.
2.
Hall,
M. and Brown, L. Core Web Programming, Prentice Hall, Second Edition,
2001.
3.
Reynolds,
M. Beginning E-Commerce with Visual Basic, ASP, SQL Server 7.0 and MTS.
Wrox Press, 2000.
4.
Kalata,
K. Introduction to Microsoft ASP.NET. Thomson Course Technology, 2002.
APPENDIX A
Web Programming courses and technologies
Our
Web programming courses require multiplatform environments. The table below
specifies a set of technologies currently used in each course.
Course Number |
Course Title |
Program |
Framework |
COMP 262 |
E-Commerce Systems
Development |
CSOM |
ASP 3.0, IIS 4.0,
JavaScript, XML, Access 2002, SQL Server 2000 |
COMP 268 |
Special Topics in
Computing: Web Design and Programming |
CSOM |
JavaScript, HTML, CSS |
COMP 354 |
Web Design and Programming |
BTACS Major in CS |
HTML, CSS, JavaScript, Java
Applets, XML |
COMP 454 |
Advanced Web Design and
Programming |
Major in CS BTACS |
ASP 3.0, XML, JavaScript,
JSP PHP, Apache Server, Tomcat
4.0, Access 2002 |
COMP 462 |
E-Commerce Systems
Development |
BTACS Major in CS |
ASP 3.0, XML, XSLT,
JavaScript, Access 2002, SQL Server 2000, Oracle 8i |
APPENDIX B
Software downloads and licensing
The
open source configuration is possible through downloads from the Internet
sites. Currently, as of
Software |
Web Documentation |
Download Link |
Tomcat 4.0 |
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.6/bin/ |
|
Java 2 v 1.4.1 |
||
PHP |
|
http://www.php.net/downloads.php |