Master Course
Distributed Object Systems
WebHome
-
Education page
-
Description
-
Literature
-
Schedule
-
Project
-
Project Groups
-
Reservation
-
News
Center
Master Program
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Course Literature
Dos
[ <a href="#ToSlides">Slides</a> | <a href="#ToLiterature">Literature</a> | <a href="#Links">Links</a> | <a href="#Downloads">Downloads</a> ] #ToSlides ---+++ Slides The transparencies of the lectures will be put here as PDF files. #ToLectures || | *Lecture* | *Week* | *Date* | *Subject* | *Slides* | *Extra Files* | | 1 | 36 | Sep 4 | Introduction | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides1x.pdf">Introduction</a> | | | 2 | 37 | Sep 9 | Java RMI | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides2x.pdf">RMI</a> | <a href="http://www.cs.uu.nl/docs/vakken/gob/RMI.zip">RMI example (zip)</a> | | 3 | 37 | Sep 11 | Corba | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides3x.pdf">Corba</a> | <a href="http://www.cs.uu.nl/docs/vakken/gob/Corba.zip">Corba examples (zip)</a> | | 4 | 38 | Sep 16 | Python | <a href="http://www.cs.uu.nl/docs/vakken/gob/Python.pdf">Python</a> | | | 5 | 38 | Sep 18 | COM/DCOM | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides4x.pdf">COM/DCOM</a> | | | 6 | 39 | Sep 23 | XMLRPC/SOAP | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides5x.pdf">XMLRPC/SOAP</a> | | | | 39 | Sep 25 | *Design presentations* | | | | 7 | 40 | Sep 30 | Corba2/Activation/POA | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides6x.pdf">Corba2</a> | <a href="http://www.cs.uu.nl/docs/vakken/gob/poa.zip">POA examples (zip)</a> | | 8 | 40 | Oct 2 | Corba 3/RMI-IIOP | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides7x.pdf">Corba 3</a> | <a href="http://www.cs.uu.nl/docs/vakken/gob/rmi-iiop.zip">RMI-IIOP example (zip)</a> | | 9 | 41 | Oct 7 | DCOM 2/Delegation/Automation | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides8x.pdf">DCOM 2</a> | | | 10 | 41 | Oct 9 | Javabeans/EJB | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides9x.pdf">Javabeans/EJB</a> | | | 11 | 42 | Oct 14| Corba Component Model | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides10x.pdf">CCM</a> | | | 12 | 42 | Oct 16 | Webservices/SOAP/.NET | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides11x.pdf">Webservices/SOAP/.NET</a> | | | 13 | 43 | Oct 21 | Tuple spaces and Object spaces | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides12x.pdf">Tuple spaces and Object spaces</a> | | | 14 | 43 | Oct 23 | Asynchronous Communication | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides13x.pdf">Asynchronous Communication</a> | <a href="/docs/vakken/gob/notify.zip">Notify examples (zip)</a> | | 15 | 44 | Oct 28 | Security | <a href="http://www.cs.uu.nl/docs/vakken/gob/slides14x.pdf">Security</a> | | | | 44 | Oct 30 | *Final Presentations* | | | #ToLiterature ---+++ Literature The following books contain useful information: Robert Orfali, Dan Harkey, Jeri Edwards, The Essential Distributed Objects Survival Guide, Wiley, ISBN 0-471-12993-3 (A bit outdated, but this books gives a broad overview of the subject). Clemens Szyperski, Component Software, Beyond Object-Oriented Programming, Addison-Wesley, 1997-1999, ISBN 0-201-17888-5 Jon Siegel, Corba 3 Fundamentals and programming, second edition, Wiley, 2000, ISBN 0-471-29518-3. Michi Henning, Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, ISBN 0-201-37927-9. Markus Aleksy, Axel Korthaus, Martin Schader, Implementing Distributed Systems with Java and Corba, Springer, 2005, ISBN 3-540-24173-6 Guy Heddon, Henry Eddon, Inside Distributed COM, Microsoft Press, 1998, ISBN 1-57231-849-X. Bill <nop>McCarty, Luke Cassady-Dorion, Java Distributed Objects, Sams, 1999, 0-672-31537-8. ---------------------------------------------------------------------- <a name="LitMon"> </a> ---+++ Required Reading The following documents are the required reading for the course. Their contents (together with the slides of the lectures) are the basis for the examination. The collection of these documents can be considered as the reader for the course. <table bgcolor="#F8F880" border=1 width="100%"> <tr><td> ---++++ Lecture 1: RPC * [[http://www.cs.uu.nl/docs/vakken/gob/p39-birrell.pdf][Andrew D. Birrel and Bruce Jay Nelson, Implementing Remote Procedure Calls]] ---++++ Lecture 2: Java RMI * [[http://www.cs.uu.nl/docs/vakken/gob/wollrath.pdf][Ann Wollrath, Roger Riggs, and Jim Waldo, A Distributed Object Model for the Java System]] ---++++ Lecture 3: Corba * [[http://java.sun.com/developer/onlineTraining/corba/corba.html][Corba Tutorial]] ---++++ Lecture 5: COM/DCOM * <a href="http://www.cs.uu.nl/docs/vakken/gob/COM.pdf">The Component Object Model: A Technical Overview</a> ---++++ Lecture 6: XMLRPC/SOAP * <a href="http://msdn.microsoft.com/msdnmag/issues/0300/soap/default.aspx">Don Box, A Young Person's Guide to The Simple Object Access Protocol</a> ---++++ Lecture 7: Activation/POA * <a href="http://www.cs.wustl.edu/~schmidt/PDF/C++-report-col11.pdf">Douglas C. Schmidt and Steve Vinoski, Object Adapters: Concepts and Terminology</a> * <a href="http://www.cs.wustl.edu/~schmidt/PDF/C++-report-col12.pdf">Douglas C. Schmidt and Steve Vinoski, Using the Portable Object Adapter for Transient and Persistent CORBA Objects</a> * <a href="http://www.cs.uu.nl/docs/vakken/gob/tn0050.pdf">POA Policy description</a> ---++++ Lecture 8: DII/Interface Repository * <a href="http://www.ddj.com/cpp/184403833">Douglas C. Schmidt and Steve Vinoski, The Dynamic Invocation Interface</a> * <a href="http://www.ddj.com/cpp/184403847">Douglas C. Schmidt and Steve Vinoski, The Dynamic Skeleton Interface</a> * <a href="http://www.ddj.com/cpp/184403854">Douglas C. Schmidt and Steve Vinoski, The Interface Repository</a> ---++++ Lecture 10: EJB * <a href="http://developer.java.sun.com/developer/onlineTraining/EJBIntro/EJBIntro.html"> Enterprise <nop>JavaBeans Fundamentals</a> (This might change!!) ---++++ Lecture 11: Corba Component Model * <a href="http://www.cs.uu.nl/docs/vakken/gob/ccm.pdf">Raphaël Marvie and Philippe merle, Corba Component Model: Discussion and Use with <nop>OpenCCM</a> ---++++ Lecture 13: Linda/Jini * <a href="http://www.cs.uu.nl/docs/vakken/gob/p80-gelernter.pdf">David Gelernter, Generative Communication in Linda</a>. Only part I (pages 80-101). * <a href="http://www.cs.uu.nl/docs/vakken/gob/jini.pdf">Jim Waldo, The Jini Architecture for Network-centric computing. ---++++ Lecture 14: Corba AMI * <a href="http://www.cs.uu.nl/docs/vakken/gob/C++-report-col15.pdf">Douglas C. Schmidt and Steve Vinoski, An Introduction to CORBA Messaging</a> * <a href="http://www.cs.uu.nl/docs/vakken/gob/C++-report-col16.pdf">Douglas C. Schmidt and Steve Vinoski, Programming Asynchronous Method Invocations with CORBA Messaging</a> ---++++ Lecture 15: Security * <a href="http://www.cs.uu.nl/docs/vakken/gob/Corbasec.pdf">Gerald Brose, Corba Security Service</a> </td></tr> </table> ---+++ End of Required Reading ---------------------------------------------------------------------- <a name="Links"></a> ---+++ Links Here are some additional links with background info: <a name="LinksAlg"></a> ---++++ General * <a href="http://www.javaworld.com/javaworld/jw-04-2001/jw-0413-polymorph_p.html">An article about polymorphism (Java)</a></a> ---++++ Java RMI * <a href="http://java.sun.com/j2se/1.4/docs/guide/rmi/getstart.doc.html">Getting Started Using RMI</a> * <a href="http://java.sun.com/docs/books/tutorial/rmi/index.html">RMI Tutorial</a> (follow the links to get the whole tutorial). ---++++ Python * Python tutorial in <a href="http://www.python.org/doc/current/tut/tut.html">HTML</a> or <a href="http://www.network-theory.co.uk/python/manual/pytut.pdf">PDF</a>. * <a href="http://www.cs.uu.nl/docs/vakken/gob/slides4x.pdf"></a>[[http://www.ferg.org/python_slides/handouts.html][Python slides]] ---++++ Corba * An [[http://home.dei.polimi.it/picco/Teaching/distsys/slides/labs/CORBAbook.pdf][online Corba book]]: Corba Explained Simply by Ciaran Hale. * <a href="http://java.sun.com/j2se/1.4.2/docs/guide/idl/">Sun's Java/Corba documentation</a> N.B. The last document is very extensive and informative. If you use Corba it is especially useful to read the following parts: * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/GShome.html">Getting Started with Java IDL</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlExample.html">Java IDL: The "Hello World" Example</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlUsingCORBA.html">Using CORBA and Java IDL</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/tutorial/GSserver.html">Developing the Hello World Server</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/tutorial/GSapp.html" ">Developing a Client Application</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlClients.html">Developing Clients</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlInitialization.html">Initialization</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlNaming.html">Naming Service</A> * <A HREF="http://java.sun.com/j2se/1.4.2/docs/guide/idl/jidlDSI.html">The Dynamic Skeleton Interface (DSI)</A> * <a href="http://java.sun.com/j2se/1.4.2/docs/guide/idl/POA.html">The portable Object Adaptor</a> * <a href="ftp://ftp.omg.org/pub/docs/formal/00-10-07.pdf">Corba IDL specification</a> * <a href="http://developer.java.sun.com/developer/onlineTraining/corba/corba.html">Introduction to Corba (Java)</a> * <a href="http://www.javacommerce.com/CorbaFaq/index.html">Corba FAQ</a> * <a href="http://java.sun.com/j2se/1.4/docs/guide/rmi-iiop/index.html">RMI-IIOP</a> * <a href="http://www-106.ibm.com/developerworks/java/rmi-iiop/index.html">RMI over IIOP</a> * <a href="http://www.javaworld.com/javaworld/jw-12-1999/jw-12-iiop_p.html">RMI over IIOP</a> * <a href="http://www.cs.uu.nl/docs/vakken/gob/col9.pdf">Corba Event Service</a> * <a href="http://www.cs.uu.nl/docs/vakken/gob/arch-overview.pdf">Security Overview</a> <a name="LinksCOM"> </a> ---++++ COM * <a href="http://msdn.microsoft.com/library/psdk/midl/midlstart_4ox1.htm">Microsoft IDL Definition</a> * <a href="http://www.microsoft.com/java/resource/java_com.htm">Java and COM</a> * <a href="http://www.oreilly.com/catalog/pythonwin32/chapter/ch12.html">Python and COM</a> * Three articles for (D)COM developers: 1. <a href="http://journal.iftech.com/articles/dcom_1/">Understanding DCOM - Part I</a> 1. <a href="http://journal.iftech.com/articles/dcom_2/">Understanding DCOM - Part II</a> 1. <a href="http://journal.iftech.com/articles/dcom_3/">Understanding DCOM - Part III</a></a> ---++++ XML-RPC * <a href="http://www.xmlrpc.com/spec">XML-RPC specification</a> * <a href="http://www.oreillynet.com/pub/a/python/2000/11/22/xmlrpcclient.html">XML-RPC in Python</a> * <a href="http://www.oreillynet.com/pub/a/python/2001/01/17/xmlrpcserver.html">XML-RPC: It Works Both Ways</a> ---++++ SOAP The following documents are based on SOAP 1.1, while the current version is 1.2. * <a href="http://www-106.ibm.com/developerworks/webservices/library/ws-soap/index.html?dwzone=ws">Using WSDL in SOAP Applications</a> * <a href="http://static.userland.com/xmlRpcCom/soap/SOAPv11.htm">SOAP: Simple Object Access Protocol</a> * <a href="http://www.w3.org/TR/SOAP/">SOAP definition</a> * <a href="http://www.w3.org/TR/wsdl12">W3C WSDL definition</a> ---++++ Javaspaces * <a href="http://www.javaworld.com/jw-11-1999/jw-11-jiniology.html">Eric Freeman and Susanne Hupfer, Make room for <nop>JavaSpaces</a>, Part 1-5. ---------------------------------------------------------------------- <a name="Downloads"></a> ---+++ Downloads * <a href="http://xml.apache.org/soap/">SOAP for Java</a> * <a href="http://www.pythonware.com/products/soap/">SOAP for Python</a> * <a href="http://www.pythonware.com/products/xmlrpc/index.htm">XML-RPC for Python</a> * Free Corba implementations: * <a href="http://omniorb.sourceforge.net">omniORB</a> with bindings for C++ and Python. Runs on Linux, various Unix systems (incl. Mac OS X) and Windows * <a href="http://www.labs.redhat.com/orbit/">ORBIT</a>, an implementation for Linux and Windows, with bindings for C, C++, Perl, Python, Tcl and others. * <a href="http://openorb.sourceforge.net/">OpenORB</a>, a Java implementation. * <a href="http://jacorb.inf.fu-berlin.de/">JacORB</a>, another Java implementation. * <a href="http://sourceforge.net/projects/fnorb">Fnorb</a>, a Python implementation. * <a href="http://home.t-online.de/home/Martin.Both/vborb.html">An ORB in Visual Basic!!</a> * Furthermore see the <a href="http://adams.patriot.net/~tvalesky/freecorba.html">Free Corba page</a> and <a href="http://www.infosys.tuwien.ac.at/Research/Corba/software.html">CORBA Software</a></a> ---------------------------------------------------------------------- <!-- * Set TABLEATTRIBUTES = tableborder="1" cellpadding="3" cellspacing="0" headerbg="#d9e3ea" headercolor="#005aa0" databg="#ececec,#f6f6f6" -->