Teaching Web Programming:

Configuration of a Multiplatform and Cost Effective Lab

 

Mila Kwiatkowska and Andrew Idzikowski

 

School of Advanced Technologies and Mathematics

 University College of the Cariboo

900 McGill Road, Kamloops, British Columbia, V2C 5N3

 

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 University College of the Cariboo (UCC). Furthermore, it discusses our experience in teaching Web programming using simultaneously several environments.

 

 

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 ADO, Java Server Pages with JDBC

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 ADO

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

 

School of Advanced Technologies and Mathematics offers three programs in computing science: two year diploma (CSOM), an applied bachelor degree (BTACS), and a traditional Bachelor of Science degree with Major in Computing Science. UCC, a small university college, serves the local community and must offer both the technology-based programs, as well as theory-based traditional degrees. We teach our students the underlying methods and techniques and train them in practical skills. Our students use several software environments ranging from open source PHP and Perl to Oracle, Java-based tools, and Microsoft tools. In our region, the co-op students and graduates find the employment mostly with smaller companies. These companies use specific tools and they require from our students to be immediately productive (for example: Visual Basic .NET, MS SQL Server 2000). Therefore, our programs use a wide variety of tools and provide specific training in practical skills demanded by the local employers.

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 April 10, 2003, there are no licensing fees on the additional components. The list of Internet resources is provided in the table below.

 

Software

Web Documentation

Download Link

Tomcat 4.0

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html

http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.6/bin/

 

Java 2 v 1.4.1

http://developer.java.sun.com/developer/infodocs/

http://java.sun.com/j2se/1.4.1/download.html

PHP

http://www.php.net/

 

http://www.php.net/downloads.php