CSC5340 Advanced Topics in Distributed Software Systems Dr. Michael R. Lyu Computer Science & Engineering Department The Chinese University of Hong Kong
How to reach me? Engineering Building, Room 927 2609 8429 Lyu@cse.cuhk.edu.hk
Organization of the Course Lectures: T3-5 (ELB LT2) Tutorial: T9 (SC L3) Th4 (MMW 703) Projects Homework Late Midterm, Final
Nature of the Course This is a practical lecture with hands-on experience! Involves C++/Java (your choice) Programming. Application Objects CORBAfacilities Object Request Broker CORBAservices
What You Will Learn Problems that occur during construction of distributed systems. Principles and techniques to solve them. Components of an infrastructure for distributed systems (OMG/CORBA). Practical experience with an OMG/CORBA implementation.
Other Related Courses Software Engineering (CSC3100) Networking (CSC4430) Database (CSC3170) Operating Systems (CSC3150) Security (CSC5470)
Required Textbook Distributed Systems: Concepts and Design, George Coulouris, Jean Dollimore, and Tim Kindberg, Addison-Wesley, 3rd edition, 2001
Suggested References Wolfgang Emmerich: Engineering Distributed Objects. Wiley. 2000. Tanenbaum & van Steen: Distributed Systems. Prentice-Hall. 2002. Sloman and Kramer: Distributed Systems and Computer Networks. Prentice Hall. 1987. Baker: CORBA Distributed Objects. Addison-Wesley. 1997. Mowbray and Zahavi: The Essential CORBA. Wiley. 1995.
Coursework Projects (40%) Homework (5%) 1 median-size project (10%), 1 larger project (30%). Done in teams (3-4 per team). No joint team work. The large project will use Iona Orbix or Visigenic systems. Involves C, C++ or Java Programming. Homework (5%) 2 assignments when there is no project work due. Discussions allowed but no plagiarism. Late Mid-Term Exam (15%) – November 12, 2002 Final Exam (40%)
Course Outline 1 Distributed Systems Characteristics and Design Issues 2 Distributed Software Engineering by CORBA 3 Communication 4 RPCs vs. CORBA 5 CORBA/DCOM/RMI 6 Building Distributed Systems with CORBA 7 CORBA Generosity and Interoperability 8 Security 9 Naming and Trading 10 Concurrent Processes and Threads 11 Transactions 12 Reliability