SWE 622: Distributed Software Engineering


Objectives

The objective of this course is to introduce the latest industrial standards/techniques, such as CORBA (Common Object Request Broker Architecture), and RMI (Remote Method Invocation) over IIOP (Internet Inter-ORB Protocol), which can be used to build distributed software systems that are platform independent and programming language independent.  Protocols, such as HTTP (Hypertext Transfer Protocol), SOAP (Simple Object Access Protocol), and IIOP, used within distributed computing systems, such as Internet/Intranet web-based applications, will also be discussed.


Rationale

Due to the recent developments in network centric computing, such as novel web-based distribution of data and remote access methods, well-established communication paradigms are being used in new applications in new ways. This course is a topic-by-topic introduction that fills in the gaps left behind between traditional networks, distributed systems and web-based programming courses with the aim of brining them together under the software engineering curriculum.

 


Prerequisites

1. SWE foundation classes

2. Basic Java Programming and Basic Unix

 


Course Administration

  1. Class Meetings: Wednesday, 7:20 – 10:00 pm, Room 203, Robinson Hall B
  2. Class Work: will have a term project, homework, and two examinations.
  3. Instructor: Yih-Feng Hwang, Email: yhwang1@gmu.edu
  4. Instructor Office Hours: By Appointment.

 


Grading Policies

The Final Grade will be a weighted average of the following items

v     HW assignments:                      10%

v     Term Project:                           30%

v     Midterm Exam:                         25%

v     Final exam:                               35%

 

Any late submission of HW assignments and projects will be penalized 10 points a day.

No incompletes (IN) will be given except a doctor note with applicable contact information, indicating a severe health condition, is provided.

In case of GMU Honor Code violations, all violators will be reported under all circumstances, and will have a course grade of F.

 


Reading

Textbook (Required):   Liu, M., Distributed Computing: Principles and Applications, Addison Wesley.

 

 


 

Tentative Class Schedules (Class Home Page)

 

 

Week

Date

Readings from Text

1

Aug 28

 Basic Background;  Distributed Computing

2

Sep 4

 Inter-process Communications

3

Sep 11

 Distributed Computing Paradigms

4

Sep 18

 The Socket API

5

Sep 25

 Distributed Objects

6

Oct 2

 Advanced RMI

7

Oct 9

 NO CLASS

8

Oct 16

 Midterm Examination

9

Oct 23

 The Client-Server Paradigms--Part I, Part II

10

Oct 30

 Group Communication

11

Nov 6

 CORBA and RMI

12

Nov 13

 Internet/Intranet Applications; Java Applets ; Java Servlets ; Web Services

13

Nov 20

 Advanced Distributed Computing—Message Systems; Mobile Agents; Object Spaces; Network Services

14

Nov 27

 Project Presentation-I

15

Dec 4

 Project Presentation-II

16

Dec 11

 Final Examination