Text Box: BlackBoardText Box: Course Map           

 

CIS 308: Development of Multi-tier Client/Server Systems
Spring 2008

 

 Welcome to CIS 308.             Your instructor is David Lefkovitz.  I can be reached at

·         Office               315 Wachman Hall

·         Telephone        215-204-5550

·         e-mail               d.lefkovitz@temple.edu

 

      The TA's name is Rui Li .

 

Course Purpose and Objectives

The purpose of this course is to teach the principles and practice of application software development, with special emphasis on web oriented, database transaction systems.  The architecture of these systems is characterized by multi-tiered client/server application components that may be distributed over multiple machines connected via any network, including the internet.  Architectural and program design techniques are to be taught. 

 

A term project will be used to put these design techniques into practice via graphical, tabular and textual documentation methods.  The project will then be programmed using JSP, Java and a DBMS.

 

The ACM uses the term Net-Centric Computing to refer to a broad spectrum of network architectures and languages.  Figure 1 illustrates this spectrum.  This course will examine the design and implementation of application systems across the entire spectrum.

 

Fig. 1 The Net-Centric Computing Spectrum

 

Static Web Page processing

(html, xml)

 
 

 

 

 

Client-side processing 

(VB or Java scripting, applet)

 

 
 

 

 

 

 

Client/Server processing

(asp, aspx, jsp, servlets, php)

 

 

 
 

 

Database Management

(SQL Server, Oracle)

 
 

 

Server-side processing

Distributed, multi-tier components with VB, Java (JavaBeans), C#,

other languages

 

 

 
 

 

 

 

 

 

The course will include the entire spectrum of Figure 1, including transaction and database interaction.  As shown in the diagram, there are multiple language technologies at each level.  For example, at level 3 there are asp, aspx, jsp, servlets and php.  We will focus on jsp.  At level 4 our programming components will be Java Beans. 

Ø     Course Structure

There are 3 major segments to the course.
 

1.   Learning the basics of the abovementioned languages and middleware through the textbooks and lab exercises.

2.   Specification and design of the Term Project. 

3.   Implementation of the Term Project based upon the Design of Segment 2 using the programming languages and middleware of Segment 1.

 

·        Java Language and Course Resources
The basic prerequisite knowledge of the course is the Java language or the writing of Java Applications.  In the course we will learn that Java has a number of “dialects” or program types, all of which utilize the basic Java language structure and syntax.  These are made available through the new Java 2 Platform Enterprise Edition (J2EE).  Each dialect has a different purpose:

Ø      Java applications

These are standalone java programs that run in a single computing environment.

Ø       JavaScript

This is primarily used as a client side (browser) processing language, though it can also be used on the server side.

Ø      Java applets

These provide client-side (browser) processing capability as an alternative to scripting.

Ø      Java servlets

These provide server-side processing and client/server interactive processing, and can be deployed on multiple servers.

Ø      Java Server Pages (JSP)

These provide client/server interactive processing between a browser and a web server and can be deployed on multiple servers.

Ø      Java Beans

These are components that can be deployed on multiple servers and can be referenced for use within applets, servlets, JSP and other beans.

In order to study these 6 "dialects" we must employ 3 major resources.

Ø       Textbook:

      Beginning Jsp Web Development, by Falkner, Galbraith, et al, WROX Press, 2001, ISBN:1-861002-09-2.

Ø     OnLine References (In particular, see JavaScript, Java, JSP, and SQL and Database Management sections)

Ø     OnLine Java APIs

 

·        Tools and Languages

The course will make use of a number of software development tools and languages.  The tools are:

Ø      Front Page for JSP page development and web management. 

Ø      The NetBeans 3.6 development environment for Java Beans program development

Ø      Microsoft Enterprise Manager for the management and development of  SQL Server databases

 

The languages are:

Ø      HTML

Ø      JavaScript

Ø      JSP

Ø      Java beans

Ø      Java servlets

Ø      SQL

Ø     TextBook

Beginning Jsp Web Development, by Falkner, Galbraith, et al, WROX Press, 2001, ISBN:1-861002-09-2.

 

            Bigger Books

http://www.biggerbooks.com/bk_detail.asp?referrer=bbcj&AID=9467039&PID=484346&ISBN=1861008317

 

Amazon

http://www.amazon.com/exec/obidos/tg/stores/offering/list/-/1861008317/all/ref=dp_pb_a/104-1336868-4938350

 

OnLine Version of the TextBook

 

Ø     Grading

There are 11 project assignments.  These comprise 70% of the course grade.  A midterm exam comprises 10% and a final exam the remaining 20%.  Each project assignment is given a letter grade based on a curve.  These are then converted to the GPA numeric equivalent from 0 to 4, weighted by the Project Weight shown in the Project Schedule, summed and divided by 24, which is the total of the Projects Weights, and multiplied by 0.7.  The exam is graded the same way, making up the other 30%, and added to the numeric score of the projects.  The result is a number from 0 to 4, which is converted back to the letter grade for the course.  The formula is:

 

0.7*(Swigi)/24 + 0.1m + 0.2*f

 

where wi is the weight of Project i, gi is the numeric grade of Project i, m is the numeric grade of the MidTerm exam and f is the numeric grade of the Final exam.

 

Each project has a deadline, shown in the Due Date column of the Project Schedule.    Project submission policy is that a project assignment turned in by the Due Date gets the full letter grade.  It can be turned in up to one week late (Late Date) but will be downgraded by 1 letter grade.  It will not be accepted after the Late Date.  Note that assignments 7.2 and 7.3 have no Late Dates. 

 

Ø     The Course Map

Most of the information that you will need for this course can be obtained by a navigation process through the Course Map.  This map contains the following sections:

 

·         Syllabus

·         Schedules

o        Lectures

o        Project Assignments

o        Accounts

·         Reference Material

 

Ø     Syllabus

 

Ø     Schedules

The most important sections of the map are the Schedules and the References.  The Schedules box has three sub-boxes.  The Lecture Schedule presents a series of course lecture units with links to more detailed lecture information.  This box also has 2 sub-boxes that provide quick access to the Term Project and the JSP Programming lectures. 

 

The Project Assignments Schedule presents descriptions and due dates for the 12 project assignments.  

 

The Accounts box describes the locations of  3 type of accounts that are assigned to each student: (1) NT account, where the project program source and documentation files are maintained, (2) Web account, where web pages and java class files are maintained, and (3) a SQL Server database account.

 

Ø     Reference Material

Finally, the Reference Material section will give you a series of hard copy references and will link to online reference material.  This box has a sub-box Useful Java APIs that provides links to a subset of the Java APIs (from Sun's Java API site) that you might find particularly useful in the course.

 

Good Luck and enjoy the course.