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
· 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)
·
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
OnLine Version of the TextBook
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
Good Luck and enjoy the course.