Computer Science Course Information
Back to CS Home Page

Computer Science Course Information

Level >Graduate >FALL_2005 >List >

Client Server Systems and Protocols

Course No. CIS 604
Sections 851
Title Client Server Systems and Protocols
Course Website
Prerequisite(s) A Java Programming Course (C++ acceptable with permission from instructor).
Instructor George Blank
  • Office Room No. : 4404 GITC
  • Office Phone : 973-596-5485
  • Fax : 973-596-5777
  • Email :
  • Website:
  • Lab : N/A
  • Instructor Office Hours
    Description Course Objective: Introduction to Client Server Systems and Protocols. The focus of the course is on the study of middleware and enabling technologies that are used in building distributed environments and client/server applications. Open systems, security, interoperability, portability, and integration are emphasized. Students will modify, compile and execute actual programs using sockets, Java RMI, Java Beans, and Oracle SQL. Working in corporate style teams is emphasized.

    Course Description:
    An introduction to the basic technologies used in corporate systems to connect applications together. Middleware including Sockets, RPC, RMI, CORBA, and Database Systems. Introduction to transaction processing.

    Topics Topics
    Unit 1 Overview
    Client/Server Development with RPC, CORBA, and DCE


    Unit 2 Sockets
    Sockets overview

    Java Sockets

    Supplemental lecture on Sockets with Winsock

    Unit 2 Intermission
    JAVA Security

    Java Message Digests

    Problem Solving Methods

    Supplemental lecture on Andrew File System

    Unit 3 Remote Procedure Calls and RMI
    RPC Reference: Chapters 19-22 in Internetworking with TCP/IP

    Remote Procedure Calls

    Supplemental lecture on Using The RPC Compiler

    JAVA Remote Method Invocation

    Supplemental lecture on RMI Interface Files

    Unit 3 Intermission LAN and WAN
    LANs, WANs and Protocols

    Operating Systems


    Project Description (Duplicate Link)

    Unit 4 Components and Simple Web Systems

    Java Servlets

    Secure Sockets Layer

    Microsoft dotNET

    DotNET Security

    Supplemental lecture on The World Wide Web

    Supplemental lecture on Apache Tomcat Web Server

    Unit 5 Oracle SQL
    See Oracle 9i Users Guide and Oracle 9i SQL Reference from Oracle Technet

    DBMS Introduction

    Connecting to Databases with ODBC and JDBC

    Supplemental lecture on Using Oracle with JDBC

    Supplemental lecture on Using Oracle on NJIT AFS and Prophet systems

    Unit 5 Intermission: Transactions and ODBMS

    Supplemental overview of Transaction Processing Monitor products

    Supplemental lecture on Object Oriented Database Management Systems

    Unit 6 CORBA
    Introduction to CORBA

    CORBA Interface Definition Language

    Tutorial on CORBA with the Java JDK

    OMG CORBA Security Model

    Unit 7 Java 2 Enterprise Edition
    JAVA 2 Enterprise Edition Overview

    Enterprise Java Beans

    Supplemental lecture on Combining Enterprise Java Beans with CORBA

    Supplemental lecture on Connecting EJB to Oracle on Limpid

    . . . Sun Applications Server
    Sun Applications Server

    . . . JBOSS
    Supplemental lecture on Apache Ant Installation Tool

    JBOSS EJB Tutorial

    Supplemental lecture on Using JSP in JBoss

    . . . Web Logic

    Alternative lecture on Deploying WebLogic with Ant

    . . . Web Sphere
    EJB in WebSphere

    . . . Open EJB
    Open EJB

    Supplemental Materials
    Simple Object Access Protocol and XML RPC

    Supplemental lecture on JINI

    Supplemental lecture on JXTA

    Supplemental lecture on Bluetooth

    Text Book(s) [REQUIRED]Java 2 Enterprise Edition 1.4 Bible, McGovern et al, Wiley 2003, ISBN 0-7645-3966-3
    [OPTIONAL] Douglas E. Comer and Donald L. Stevens, Internetworking With TCP/IP, Volume III, Prentice Hall. Students wishing to do the assignments on a PC could buy the Windows Sockets Edition, 1997, ISBN 0-13-848714-6. Students wishing to do the assignments on a UNIX system could buy a used Unix version or get the LINUX/Posix Sockets Edition, 2001, ISBN 0-13-032071-4.
    Time & Place E-Learning
    Other Info Log on to Web Board and introduce yourself to the class.
    Set up your access to your NJIT AFS and Prophet accounts.
    Prophet can be found at

    Technical Support
    Students must keep up with assignments and discussions on Web Board. In addition, all technical support will be by mutual support on Web Board. I will not solve your coding problems for you. A critical skill in this course is defining problems and seeking solutions.
    Follow this link: Web Board
    The lectures for this course are also provided on CD-ROM as PowerPoint presentations and as rm files with audio lectures.
    Most assignments have the most frequently encountered problems from previous students explained in the back of the relevant lecture. Help using AFS, Limpid, and Unix is also available here: Unix Help

    NJIT students may download the lectures from this web site, or send a check or money order for $15 made out to George Blank to:

    The Object Oriented Professor
    239 Fox Hill Road
    Denville, NJ 07834

    Viewing these presentations requires either PowerPoint or a PowerPoint viewer, available free from the Microsoft Web Microsoft PowerPoint Viewer

    All students please log in to Web Board and introduce yourself to the class.
    Also, it is important to verify your access to the Prophet database. You should have received an email with a user name and password when you registered for the class. Follow these instructions:

    Connecting to Prophet

    Professor George Blank
    239 Fox Hill Road
    Denville, NJ 07834
    Contact by EMail (Sorry, but Spammers prevent a Mail To Link here)

    Class Grade:

    91% and above A
    85% to 90% B+
    80% to 84% B
    75% to 79% C+
    70% to 74% C
    Below 70 F
    NOTE: I use Excel to round all grades to whole numbers, so 90.5% is actually an A. (NOT 90.49%!)

    Final Grade Calculation
    Homework 25%
    Class Project 25%
    Mid Term Exam 25%
    Final Exam 25%
    For DL Classes, discussion participation will cause adjustment of final grade by -1 to +2 points. Average participation has no effect.

    Lectures Home Work Due Thursday Internet
    Class Class
    Unit 1 PowerPoint Presentations (page 21) Middleware For assignments, see 1-Sep 4-Sep DL Assignments are due by
    Unit 2 PowerPoint Presentations (page 24) Sockets page 2 of 8-Sep 11-Sep 9 am on Monday Mornings
    Unit 2 PowerPoint Presentations (page 24) Intermission 604Assignments.PPT 15-Sep 18-Sep
    Unit 3 PowerPoint Presentations (page 27) RPC and RMI Socket Project 22-Sep 25-Sep
    Unit 3 PowerPoint Presentations (page 27) Intermission 29-Sep 2-Oct
    Unit 4 PowerPoint Presentations (page 29) Components RMI Project 6-Oct 9-Oct
    Mid Term Exam 13-Oct 15-Oct
    Unit 5 PowerPoint Presentations (page 33) Oracle 20-Oct 23-Oct
    Unit 5 PowerPoint Presentations (page 33) Intermission 27-Oct 30-Oct
    Unit 6 PowerPoint Presentations (page 37) CORBA Oracle JDBC Project 3-Nov 6-Nov
    Unit 7 PowerPoint Presentations (page 39) EJB 10-Nov 13-Nov
    Final Exam CORBA or dotNET Project 17-Nov 19-Nov
    Team Presentations 1-Dec
    Team Presentations 8-Dec DL Projects Due
    Course Project is Described in 604Project.ppt

    Internet Classes have separate assignments on lecture critiques in discussion sections

    Misc Dates
    1st Day of Classes 1-Sep
    Last Day to Witrhdraw 2-Nov
    Thanksgiving Vacation Nov 24-27
    End of Semester 12-Dec

    NJIT Honor Code:
    New Jersey Institute of Technology has an honor code, available on their web site at
    Note that the honor code indicates four levels of severity for offenses.
    I support the honor code, and attempt to follow it, sometimes at great personal expense. In one case, I had to delay summer employment for three weeks to gather evidence and cooperate with the honor court.

    I will always refer serious cases of premeditated cheating to the honor court. Serious cases (level 1 and 2) include bringing notes into an exam that are intended to be disguised.
    For lesser severity cheating, I will apply the same sanctions that are in the honor code, usually the least severe sanction, getting a zero grade on the exam or assignment. Any time I do this the student may ask to be judged by the honor court instead, and I will grant that request.

    Registrar's Website