Date: Thu, 07 Oct 1999 11:30:56 +1000 From: Ian Gorton To: Bill Wilson Cc: ian.gorton at cmis.csiro.au, arun at cse.unsw.edu.au, potter at cse.unsw.edu.au Subject: Re: possible new subject proposal Bill, hopefully this is enough to stimulate discussion, and I'll try my very hardest to be at the meeting it gets discussed at... cheers Ian ============================================================================ === Proposal for a new COMP4xxx subject Subject name: Distributed Object Systems and Technology 1.Subject objective Introduce honours and graduate students to the fundamentals of distributed object technology (CORBA, Java, COM), architectures and applications 2.Subject description for Handbook This subject provides a comprehensive introduction to the underlying technologies and architectures used in real-life distributed object systems. The topics covered include object request brokers (CORBA), directory services, security services, ditributed transaction processing, common application architectures, performance implications and reliability and fault tolerance. 3.Contact hours Three hours per week, plus 1 hour tutorial 4.Credit value Standard honours course. 5.Assessment methods 3 elements: 1. Seminar presentation 2. Small group assignment, involving a reasonably complex design and coding task 3. Exam 6. Session Ideally this subject would commence in session 2 2000. If popular, it could also be run in summer session 2000/01 in a condensed form 7. Enrollment For the first run, it would be sensible to hold numbers to a maximum of 75 students. Potential enrollment in future years would likely be close to the numbers currently achieved in COMP4001 8. Prerequisites Major prereqs are programming skills in C++/Java. 9.Assignment and laboratory work There are a number of open source freeware ORBs available, with high quality implementations. One of these would be used for lab work. As the ORBs run on NT or Solaris, it will be possible for students to work at uni or at home on assigned problems. Planned seminars would enable students to examine, understand and present the design and outline implementation of ORB components by examining the code in open source products in use. 10.Syllabus Distributed Object Systems Fundamentals: -Interface Definition langauges -RPC/RMI systems -IIOP -CORBA/Java RMI/COM/DCE -Object invocation, binding, threading CORBAServices -Security -Naming -Events -Transactions -Overview of other CORBAServices Application Architectures -2 v 3 v N-tier architectures -stateful v stateless -transactions control -messaging architectures and technologies Design Issues -multithreaded v single threaded servers -database access, XA v non-XA -locking, concurrency control -object lifecycles -resource management -fault tolerance Performance Issues -what factors effect performance -design for high performance -what is scalability -design for scalability -why is availability important -design for availability 11 Outcomes At the end of the subject, students should be able to: -design and write IDL interfaces for CORBA applications -implement CORBA clients and servers in Java/C++ -understand the purposes and roles of CORBAServices in a distributed application -integrate at least one CORBAService into a sample application -understand the key factors in distributed transaction processing and database access -understand the architectural and design trade-offs inherent in a distributed application -understand the key issues in application performance, scalability and availability 12 Text books 2 will be required: -a CORBA programming book - several good ones exist for C++/Java -Enterprise Transaction Processing Systems, Ian Gorton, Addison-Wesley, to be published in January 2000 Dr Ian Gorton, Project Leader, Advanced Distributed Software Architectures and Technologies (ADSaT) CSIRO - Mathematical & Information Sciences Division CMIS, Locked Bag 17, NTH RYDE NSW 2113 + 61 2(02) 9325 3236 (ph) + 61 2(02) 9325 3280 (fax) ian.gorton at cmis.csiro.au http://www.cmis.csiro.au/adsat/