Software Design Lecture Notes Fall 2004 Design Proposal due today. Lab tomorrow on network programming. Leftovers --------- 1) how remote method invocation works 2) defining a remote object 3) inside RemoteObject.py Hints for designing distributed programs using remote objects: 1) start by designing the program as if all the objects were part of the same process 2) split the objects up into separate processes 3) figure out which objects need to be available for remote invocation 4) don't get hung up on what's a client and what's a server any process that makes an object available for RMI is a server any process that accesses an object by RMI is a client 5) think about if and where you need to run something in a new thread