Nova Southeastern University

Graduate School of Computer and Information Sciences

Course Syllabus

MCIS 665: Client Server Computing, 3 credits

Spring 2005: March 28, 2005– June 17; online

Instructor: Alan Peslak, Ph.D. Adjunct Professor

Mailing Address: Nova Southeastern University
Graduate School of Computer and Information Sciences
Master's Program Office
6100 Griffin Road
Ft. Lauderdale, FL 33314

Email: (Contact is best achieved via email)

PSU Work Phone:570-963-2640

Cell Phone: 570-947-8620

PSU Fax: 570-963-2535

AIM Screen Name: DocPPSU

Web Page: http://www.scis.nova.edu/~peslaka

Class Location and Format: Online

Class website: http://www.scis.nova.edu/~peslaka/mcis665su05.doc

Course Description per catalog:

Concepts and principles of client-server architecture, protocols, networks, and distributed computing are presented. The focus of this course is on distributed application design and implementation. Topics include inter-process communication, the role of the GUI and front-end development tools, middleware, multi-tier architectures, distributed objects, and database interaction. Discussions include the various relationships between client-server computing and business processes. Migration from legacy systems is considered along with concerns for meeting customer requirements.

Required Textbooks:

Title: / Developing Distributed and E-Commerce Applications with CD - Required
Author: / Darrel Ince
ISBN: / 0321154223
Edition: / 2nd
Pub. Year: / 2003
Publisher: / Addison Wesley

Required Software (for MCIS 665):

A Java interpreter (Java 2 or later) and text editor. For the programming assignments, you may use the Java development environment of your choice, such as Symantec's Visual Cafe for Java, Borland's JBuilder, or Sun's NetBeans. I have tested all exercises using the Eclipse IDE from http://www.ecipse.org and I highly recommend its use. Alternatively, you can use the free Java Development Kit (JDK) together with any text editor. As yet another alternative you can Download and Install Ready to Program with Java ™ Technology Software (8.4 MB - Windows 95, 98, NT, 2000, ME, XP)
http://www.scis.nova.edu/Masters/Director/software/SETUP_JAVA.EXE and try this.
You can download the Tutorial for Ready to Program (1.2 MB - PDF) from the following website.
http://www.scis.nova.edu/Masters/Director/software/Ready_Tutorial.pdf

For UML , software will be needed for developing UML diagrams. You may use Microsoft Word but the preferred software is a diagramming package such as Microsoft Visio.

Exit Competencies:

Understanding and basic proficiency in

·  Concepts and principles of client-server architecture, protocols, networks, and distributed computing

·  Distributed application design and implementation

·  Inter-process communication

·  The role of the GUI and front-end development tools, middleware

·  Multi-tier architectures

·  Distributed objects

·  Database interaction

·  Relationships between client-server computing and business processes

·  Migration from legacy systems

·  Meeting customer requirements

Course Outline:

This course adopts a four-pronged approach:

·  We will solve some specific client technology problems and implement solutions, based on exercises presented in our textbook.

·  We will cover concepts and principles of client server technology using the text and other sources.

·  We will research current client server issues via web and other sources.

·  We will prepare a comprehensive large scale client server technology proposal

Instruction Methods and Tools:

In order to provide a comprehensive instruction set, seven different instruction tools will be used.

Text reading and notes – Our text presents an excellent and current overview of client server technology. A complete reading of the text is encouraged. Also supplemental resources will be posted on the class forum.

Forum discussion - Allows analysis of real world problems and encourages problem solving skills. Allows asynchronous communication among students. Active postings on the board among students are required and encouraged.

Analytical and programming assignments – Enhance and improve knowledge of the client server material as well as develop specific analytical and technical skills.

Research exercises – Allows for detailed study of current client server issues and allows for development of problem solving as well as written communication skills.

Technology proposal – Allows for understanding of the complex issues and alternative solutions to a large scale client server project. Also develops cost/benefit and tradeoff skills.

ASSIGNMENTS

I have tested all assignments using the Eclipse IDE. Include all relevant files within a new project for each exercise.

The Eclipse IDE is freely available at http://www.eclipse.org

Exercises noted are from the text and the accompanying CD.

Run as described in the disk. All should work.

A good Visual Editor that is free for students is Jigloo available at http://www.cloudgarden.com/jigloo/

Other IDEs should work but I have not personally tested them with these exercises. Proceed at your own risk.

Generally for all programming/coding work I am looking for your source code as well as a screen print of your successful operation and/.or results. These should all be included in a Word document.

Assignment 1

Exercise 2.1 compile and test as is

Then modify to enter in symbolic address name and return IP address

Show code

2.2

Try exercise 2.2 with localhost and try to find another computer this will work with. Were you successful? Where and why or why not?

2.3

Implement 2.3 and test. Explain what is happening with the code.

3.1

Implement and explain

3.2

Implement

Don’t show me your code because it has your password in it but show me your output

Explain what you see and implications for further client/server development

Can do this in jGrasp

Assignment 2

5.4

Implement and explain 5.4 exercises

Chapter 5

Using chapter 5.4 exercise as an example, create a three tier-application for an e-commerce bookstore application. Create capability to select items based on user input.

Chapter 6.2

Using this as an example develop a simple web page with different characteristics

Perhaps you may want to review http://www.w3.org/MarkUp/Guide/ and its related links

for ideas of items to include

6.4 Apache web server

Research and write report on open source server solutions

Assignment 3

Modify exercise 7.3 so that it is implemented not via servlets but via sockets and processes similar to 3.1. Explain how an actual 7.3 implementation would be accomplished. If you have an Apache server with Tomcat and can register your servlets you can do exercise 7.3 without modification. In this case explain the major processes and data interchange and how it differs for 3.1

Please note this assignment may change depending on NSU resources. I will notify at least two weeks ahead of deadline if this is the case.

Assignment 4

11.1 Digital certificate

Screen Print and explanation

11.2 Java Cryptography Extension

Implement and explain – any changes can do?

12.1 Developing threads

Develop explain and describe how this can be useful and where?

12.2 Changing priority

Do all. Change priorities.

12.3 Threaded server

Do all and change number of clients and simulation. Explain and explain why this is important.

Assignment 5

Create a three tier application based on the multi-threaded exercises

You may use localhost as the server and an Access db for the db tier

Research Exercises

RE1 Research and report on a relevant client server communications technology. This is open ended. There are hundreds of possible topics.

RE 2 Research and report on two different approaches and implementation alternatives for client/server computing such as J2EE versus .NET, ASP versus JSP, Java versus VB.NET, and relate issues on both server-side and client-side.

Final Project

Develop a comprehensive proposed client server solution to implement an e-commerce site for a fictional Bamazon.com. They are the second largest online bookseller and have outgrown their current systems. Develop a report which compares then recommends software, hardware, systems, specific vendors, architecture, distributed paradigm, middleware, and database. Prepare appropriate UML or other modeling methods to illustrate your solution. You are not to code a solution, only recommend how it will be done, what it will cost and how it will run.

Schedule

Week / Topic / Text Reading Assignment Chapters / Research
Exercise Forum Posting / Analytical/
Programming WEBCT Submission / Final project
3-28 to 4-2 / C 1
4-3 to 4-9 / C 2, 3 / Asgn 1 (10 pts)
4-10 to 4-16 / C 3 / RE 1
4-17 to 4-23 / C 4 / Asgn 2 (10 pts)
4-25 to 4-30 / C5
5-1 to 5-7 / C 6 / RE 2
5-8 to 5-14 / C 8, 9, 10 / Asgn 3 (10 pts)
5-15 to 5-21 / C 11, 12
5-22 to 5-28 / Asgn 4 (10 pts)
5-29 to 6-4 / C 14
6-5 to 6-11 / C 13 / Asgn 5 (25 pts)
6-12 to 6-17 / Final Project
Total points / 10 / 65 / 25

RE is Research Exercise, Asgn = Assignment

Forum means the assignment is to be posted in the Forums under the proper thread and with the proper heading. WEBCT means the assignment is to be submitted via SCIS WEBCT utility.

Total points are equally divided among assignments.

All assignments are due on the last day of the week noted in the schedule by midnight Eastern Standard Time (or Daylight when applicable) Saturday except for June 17, Friday.

All deadlines are final. Please plan accordingly. Masters level students are expected to be able to meet deadlines. Sufficient notice is given for deadlines for all assignments, therefore no assignments will be accepted after the due date and late submissions will be graded as zero. Extreme hardships and emergencies will be considered on a case-by-case basis. Change in work assignments or work related travel will not be accepted as emergencies.

Assignments are to be handed in through the WEBCT web-based utility or posted to the class forums under the appropriate topic. Forum assignments must have the assignment clearly identified in the subject label. Every submission must have a header that contains your name, usercode, and the assignment number. Each written WEBCT assignment MUST be handed in as ONE submission in a Word document through WEBCT.

We will use the Java programming language to present ideas in a concrete setting. Only limited prior knowledge of Java is assumed. If you are relatively new to Java, you should focus more effort on the early chapters of the Doke text and/or consider a supplemental text such as The Java Programming Language, by Ken Arnold and James Gosling (Addison-Wesley). Be sure to get the most recent edition. The book is well written and full of short, clean examples that illustrate language semantics and features. The only major shortcoming of this book is that it does not delve deeply into the structure of the language's standard packages. A good two-volume series that does go into this are the Core Java books by Gary Cornell and Cay Horstman (Prentice-Hall).

We will also use the Unified Modeling Language (UML) for analysis and design. Basic prior knowledge of UML is assumed. There are many texts and guides to UML for purchase or on the web.

There will be weekly reading assignments from our textbook and/or this syllabus.

Examinations and Quizzes:

There will be a final exam which will be distributed three weeks prior to due date.


Grading Criteria:

A student may not do additional work or repeat an examination to raise a grade.

SCALE
GRADE
/
TOTAL PERCENT
A / 93.0-100
A- / 90.0-92.9
B+ / 87.0-89.9
B / 83.0-86.9
B- / 80.0-82.9
C+ / 77.0-79.9
C / 73.0-76.9
C- / 70.0-72.9
F / 0.0-69.9

Class Rules:

·  Each assignment is due on midnight of the specified due date. WEBCT does not allow postings after the due date. Late assignments will not be accepted. However, partial credit will be given for incomplete assignments submitted on time.

·  If you have difficulty with an assignment, please post a message in the forum or send me e-mail. The earlier you convey your problem, the more time we'll have to resolve it before the deadline arrives.

·  Mutual respect and courtesy are expected.

·  Every effort has been made to prepare this syllabus in final form. Nevertheless, the Professor reserves the right to make changes as may be required to the online version of the course syllabus. The official syllabus will be finalized online on the start date of the course. The online syllabus defines the requirements for this course. Student will be notified of changes by electronic mail.

Policy Paragraphs:

School and University Policies and Procedures:

Students must comply with the policies published in the school’s Graduate Catalog and the NSU Student Handbook, some of which are included or referenced below. The catalog is at http://www.scis.nova.edu/NSS/pdf_documents/Catalog.pdf. The handbook is at http://www.nova.edu/cwis/studentaffairs/forms/ustudenthandbook.pdf.

1. Standards of Academic Integrity For the university-wide policy on academic standards, see the section Code of Student Conduct and Academic Responsibility in the NSU Student Handbook. Also see the section Student Misconduct in the GSCIS catalog.

Each student is responsible for maintaining academic integrity and intellectual honesty in his or her academic work. It is the policy of the school that each student must:

§  Submit his or her own work, not that of another person

§  Not falsify data or records (including admission materials)

§  Not engage in cheating (e.g., giving or receiving help during examinations; acquiring and/or transmitting test questions prior to an examination; and using unauthorized materials, such as notes, during an examination)

§  Not receive or give aid on assigned work that requires independent effort

§  Properly credit the words or ideas of others according to accepted standards for professional publications (see Crediting the Words or Ideas of Others)

§  Not use term paper writing services or consult such services for the purpose of obtaining assistance in the preparation of materials to be submitted in courses or for theses or dissertations

§  Not commit plagiarism (Merriam-Webster’s Collegiate Dictionary (1996) defines plagiarism as “stealing or passing off ideas or words of another as one’s own” and “the use of a created production without crediting the source.”) (see Crediting the Words or Ideas of Others below)

Crediting the Words or Ideas of Others

When using the exact words of another, quotation marks must be used for short quotations (fewer than 40 words), and block quotation style must be used for longer quotations. In either case, a proper citation must also be provided. The Publication Manual of the American Psychological Association, Fifth Edition, (2001, pp. 117 and 292) contains standards and examples on quotation methods.