Distributed Systems Exercises in Walter Kriha Hochschule der Medien 2001/2002
Goals Get practical experience with a specific distributed computing middleware or technology. Learn to apply concepts from the DS lecture. See how other DS technologies work in practice.
Organizational Issues You can contact me: I will place materials here: We need to establish a forum/mailing list All work is done in teams Use whatever programming language you know – if you find middleware supporting it. If you are looking for a non-programming task: take over system management or the DS lab‘s wiki.
Introduction Your background, experiences with DS Setting up a Distributed Computing Lab Technologies to pick from Available source code and demos/tutorials Building groups Resources
Technologies to pick from Socket Based Services Remote Procedure Calls (RPCs) Object Request Brokers (CORBA, RMI) Message Oriented Middleware (MOMs) Web-Services (XML-RPC, SOAP,UDDI) Component Systems (Enterprise Java Beans, J2EE) Peer-To-Peer (Juxta, Napster, Gnutella, Freenet, Agent based (Jini, Aglets) The writable web: wiki
Tasks Decide on a technology and form groups (let me know if you want to pick a different technology!) Download and install middleware Get examples working Design an example, implement and document it. Prepare a short talk about what your group did achieve. Important: document your systems behavior with respect to security, performance, flexibility, maintenance, availability!
Resources (Exercises) 1)Writing Advanced Applications, Chapter 4, Distributed Computing. Tutorial on using CORBA with Java, Java Naming and Directory Services (JNDI), JDBC, Servlets. 2)Server based Java Programming Examples, Ted Neward, Code for socket examples, servlets, persistence and JDBC, RPC, CORBA, RMI, JMS 3)JBOSS J2EE Application server. Enterprise Java Beans, Java Message Service, Pooling and Caching. 4)Peer-to-Peer: basic package for p2p computing. Also look at the p2p portal.
Resources (Exercises) 1)Web-services: a small toolkit from theMindElectric.com 2)The writeable web: