8PRO109

mobdescriptiveΛογισμικό & κατασκευή λογ/κού

28 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

72 εμφανίσεις

UNIVERSITY OF QUEBEC

AT CHICOUTIMI

COMPUTER SCIENCES AN
D MATHEMATICS DEPART
MENT


Client
-
Server Programming

(8PRO109)



Professor

: Hamid Mcheick




Semester: Winter 2005



SYLLABUS


1.

Course Description


This course is designed to teach students how to desig
n client
-
server
software in a TCP/IP environment.


Architecture concepts and overview of the main TCP/IP client
-
server
protocols. Client
-
server software design and implementation metho
-
dologies. Designing HTML pages through programming (for ex.: C.
VB, PH
P, PERL); role and applications of CGI interfaces; usage of
Java Servlet and JSP (Java Server Pages) software technologies.
Usage of cookies, client and server files. Different types of client
-
ser
-
ver entry/exit mechanisms.
Client
-
server validation techniq
ues.
SSI
and ASP software approaches. Interface mechanisms between a client
software and many other software servers. Interest and agent problem
-
related issues. Introduction to data security and confidentiality.


2.

Course Objectives


Upon completion of this

course, students will have become acquainted
with the design and development of client
-
server software in a TCP/IP
environment. Thus, students will be able to work with distributed
environments and distributed and Web applications.


3.

Teaching Strategies


The following teaching strategies will be used throughout the
semester:



Lectures



In
-
class demonstrations will help students understand the theory
taught in class.



Tutorials will be assigned to practice theoretical notions seen in
class.


4.

Course Outline


Ch
apter 1


Review of communication networks and protocols. Main
communication protocols on TCP/IP.



Chapter 2




What is a distributed system? Properties of distributed systems.


Types of services.



Chapter 3


Client
-
server model and architecture. Clients
. Servers.
Middleware. Design models of client
-
server applications.


Chapter 4


Client
-
server applications programming. Application program
interfaces (API): sockets, RPC (in C and Java). Examples of
client
-
servers: DNS, HTTP, etc.


Chapter 5


The Web a
nd the client
-
server. HTTP (RFC2616) protocol. The
Web and the client
-
server: creation of HTML pages through
programming (for ex.: C, VB, PHP, PERL). CGI gateway. CGI
programming.


Chapter 6


The Web and the client
-
server. ASP software approaches.
Web
clie
nts: JavaScript.


Chapter 7


Java for the client
-
server. Applets. <Applet> tags. Applets and
the client
-
server: pros and cons.


Chapter 8


Java for the client
-
server: Java Sockets, RMI. Java Servlets.


Chapter 9


Java for the client
-
server. Java server p
ages (JSP). JSPs and
servlets.


Chapter 10



Web services. SOAP, UDDI and WSDL.


Chapter 11


Mobile agents.
Basic concepts. Interest and agent problem
-
related issues. Introduction to data security and confidentiality.

5

Grading and Evaluation


Evaluation
is the assessment of the degree to which a student has
reached the objectives of the course and program. Students failing this
course will not be allowed to do a make
-
up exam that will count as the
total mark for the semester.


A doctor’s note confirming
the illness of a student may be considered
as a valid reason for his/her absence. Please note that the doctor’s note
must be presented to the professor no later than two weeks after the
exam.


Student ID cards are required and checked at the beginning of e
ach
exam (mid
-
term and final). Tutorials turned in late will incur a 10%
penalty per day. The correction criteria will be given with the
description of the work to be done for each tutorial.


Exams and Tutorials:


Mid
-
term exam:


30%

Final exam:



30%

Tut
orials:



40%


6.


References




8PRO109 Course Notes

(mandatory)

and a list of interesting Web
sites (see my Web page).



Kurniawan, Budi,
Java for the Web with Servlets
, JSP and EJB.
New Riders Publishing, 2002.



Harold, E.R.,
Programmation réseau avec Java
, 2
nd

Edition,
O’Reilly, 2002.



Kadima, Hubert & Monfort, Valérie,
Les services Web: techniques,
démarches et outils: XML, WSDL, SOAP and UDDI
, Dunod, Paris,
2003.



Castro, E
., PERL and CGI for the World Wide Web
, Berkeley:
Peachpit Press, 1999.



Umar, A.,
Ob
ject
-
Oriented Client/Server Internet Environments
,
Prentice
-
Hall, 1997.



Orfalli, R. & Harkey, D.,
Client/Server Programming with Java
and CORBA
, Addision
-
Wiley and Sons, 1998.



Coulouris, G., Dollimore, J., Kindberg, T
., Distributed Systems,
Concepts and De
sign
, 3
rd

Edition, Addison
-
Wesley, 2001.



Steven, W.,
Unix Network Programming
, 2
nd

Edition, Prentice Hall
Software Series.



Stockel, R.,
Les communications et Unix
, Armand Colin.



Daniel, Jerome, Au coeur de CORBA avec Java, Vuibert, Paris,
2000.



Cherkaoui,
O.,
Téléinformatique
, Prentice Hall, 1998.