Chapter 0: Changes

1. Version 0.01, released 17 March, 1999

  1. Added a section ``What needs to be where?'' to SimpleExample
  2. Added section ``Other Resources'' to Jini
  3. Added section ``Uploading a Proxy'' to SimpleExample
  4. Added an early version of a chapter on ``Security''
  5. Added section on ``Convenience Classes'' to Entry
  6. Fixed Java source -> XML converter to change '<' to '<' rather than '&<'

2. Version 0.02, released 22 March, 1999

  1. Added Jini and RMI home pages to Resources in ``Jini''
  2. All document source files plus Perl converters made available for downloading
  3. Added sections on running the programs
  4. Added header material to each chapter, so that first section in each chapter can have its own header
  5. Update information added
  6. Added reference to Roger Whitney's lecture notes

3. Version 0.03, released 24 March, 1999

  1. Replaced erroneous references to RMI with correct ones to sockets
  2. Extended Entry information to include template matching
  3. Added document location to Jini.xml
  4. Added more resources to list of ``Other Resources''
  5. Sections added on the information that can be obtained from various objects
  6. Fixed error in assuming maxMatches == items.length in client lookup()
  7. Added ``Time to live'' section to LookupDiscovery
  8. Changed "href" attribute of "ulink" to "url" in conformance to DocBook DTD
  9. Added initial version of chapter on Join Manager
  10. Added initial version of chapter on Leasing

4. Version 0.04, released 29 March, 1999

  1. Added section on information obtainable from JoinManager
  2. Revised discussion on client search to emphasise that it should use an interface rather than superclass (Brian Jeltema,
  3. Moved Lease before SimpleExamples because it is needed for proper examples, and modified examples to use LeaseRenewalManager
  4. Removed more erroneous RMI references
  5. Added some more figures
  6. Added summary section to each chapter
  7. Renamed UnicastRegistrar example to UnicastRegister and MulticastRegistrar as MulticastRegister
  8. Added sections on service and client structure to Overview
  9. Added section ``Staying Alive'' to Lookup Discovery and corrected/expanded time discussions in Simple Examples
  10. Added contents table to each chapter

5. Version 0.05, released 7 April, 1999

  1. Added initial version of ``Architecture'' chapter
  2. Added section ``What classes need to be where?'' to Simple Examples section on option3 - now that I have a clearer idea on what rmiregistry requires!
  3. Changed package structure of examples to fit logical structure rather than document structure
  4. Fixed JoinManager example/discussion by adding in group information
  5. Added missed subsection headers to SimpleExample
  6. Removed sleep() from option3 server because RMI keeps it alive, and discussed this
  7. Added section on Feedback to main page
  8. Added disclaimer that TCP/IP is not strictly necessary for Jini
  9. Security discussion added to ServiceRegistrar in ``Client Search'', for lookup() method
  10. Fixed ``class locations'' and ``running things'' for option2
  11. Fixed ``class locations'' and ``running things'' for option3
  12. Added new chapter on ``More Complex Examples'' with three initial sections, ``Where is the Code'' and ``Using threads'' and ``Reusing RMI Proxies''

6. Version 0.06, released 12 April, 1999

  1. Added section on inexact matching
  2. Added section on matching using a local service

7. Version 0.07, released 21 April, 1999

  1. Fixed erroneous export instruction in SimpleExample option 3 server description (Robbert van den Beld,
  2. Fixed wording in Leasing to refer to lookup service rather than lookup locator (Chitrarasu Muthaiyan
  3. Split figures in Overview to show sequencing better (Stuart Remphrey Stuart.Remphrey@Aus.Sun.COM)
  4. Replaced Class.forName("XXX") with XXX.class, simplifying code (JJ Larrea
  5. Added images to
  6. Added chapter on Lego MindStorms

8. Version 0.08, released 4 June, 1999

  1. Added more explanation as to why the lookup matching isn't smarter, based on a mailing-list posting by Bob Scheiffler
  2. Replaced LookupDiscovery etc with JoinManager in MindStorms server
  3. Version 7 cleaned up the code for option3 by giving an RMI object to the exported proxy rather than a name. Now cleaned up the description around this, since we no longer have calls to Naming(), etc. This also involved the removal of rmiregistry references, since we don't need this anymore.
  4. Made rcx files from Dario available on my HTTP server machine, so they get imported correctly into documents
  5. Added Jini Community site to ``Other Resources''
  6. Added section to ``More Complex'' on ``Finding a service once only'' to ensure uniqueness of services - so we only send commands to our robot once, rather than many times
  7. Added new chapter on ``Remote Events''. It doesn't cover leases yet
  8. Added code and description to MindStorms for event handling back from robot

9. Version 0.09, released 11 June, 1999

  1. Section added to ``Lease'' chapter about lease management on the lease granting side. This includes discussion on the landlord package.
  2. Overdue maintenance on Makefile. I have no Windows version of the Makefile, though
  3. Added section using MIMEType which uses the landlord lease system
  4. Added to distribution, so you don't have to build your own to see the examples

10. Version 0.10, released 23 June, 1999

  1. Found decent DocBook info, so removed some HTML/new tags from XML source and replaced them with proper DocBook tags. So far, cleaned "chapintro", "contents", "img" (not Figure yet)
  2. Fixed broken link from Entryl.xml to Entry.xml in Overview.xml (Chris Garbers
  3. New introductory section in Overview
  4. New chapter on ``Running Jini''. Basically a collection of environmental problems and solutions. Much too much to be done on this chapter :-(
  5. Swapped order of Enterprise Java Beans reference (Yu Liu,
  6. Removed unnecessary references to reggie.jar from compilation and running of examples
  7. Fixed foo-landlord package diagram to show correct multiplicities, and added some dialog about it. More information about the structure and rationale of the package is added. Other tidy ups done (John McClain,
  8. Pulled RMI-related stuff into its own chapter, as there are enough issues in that to justify it
  9. Added new section on _not_ using RMI to RMI chapter
  10. Major expansion to chapter on security issues - no longer so mickey-mouse
  11. Added new resource of Benot Marchal's Jini articles
  12. Upgraded copyright license to the new Open Publication License

11. Version 0.11, released 27 July, 1999

  1. Added new chapter on transactions
  2. Added some more items to ``Running Jini''

12. Version 0.12, released 1 August, 1999

  1. Added more UML diagrams throughout
  2. New section ``Partitioning an Application'' added to Overview
  3. New section ``Support Services'' added to Overview
  4. New section on running reggie added to LookupDiscovery
  5. More discussion added to Simple Examples on Remote versus RemoteException
  6. Interfaces and common classes in Simple Examples moved to their own section before Client
  7. Renamed "A Jini Tutorial" to "Jan Newmarch's Guide to Jini Technologies", in line with proposed book title
  8. Added chapter on CORBA and Jini
  9. Changed title of chapter ``Running Jini'' to ``TroubleShooting''. Still needs more content :-(
  10. Signed book contract, this is no longer a tutorial!

13. Version 1.00, released 31 August, 1999

  1. Fixed broken links to Noel's Nuggets and Eran's timeservice Sebestian Voges (
  2. Changed all renewFor(..., FOREVER, ...) to renewUntil() Sebestian Voges (
  3. Fixed TestFileClassifier to handle null returns
  4. Renamed "RMI" chapter to "Choices in Service Architecture", reworked content and extended it. Moved stuff out of "Simple Example" to "Choices" so that it just looks at one example only. Renamed "Some Simple Examples" to "A Simple Example"

14. Version 1.01, released 27 October, 1999

  1. Revised MindStorms chapter because the RCXPort stuff has changed versions and interfaces
  2. Completed MindStorms section on NQC compiler

15. Version 1.02, released 2 November, 1999

  1. New chapter on user interfaces
  2. New section: monitoring changes to services registered in lookup services

16. Version 1.03, released 17 December, 1999

  1. Modified examples to use Jini 1.1 (alpha). The main changes are to the package name for LeaseRenewalManager, LeaseListener and LeaseListener; the JoinManager has changed interface enough to warrant "old" and "new" sections
  2. Added chapter on Jini 1.1 ClientLookupManager

17. Version 2.00, released 22 December, 1999

  1. Added security warning in using rmid
  2. New chapter on Activation, including Jini 1.1. LeaseRenewalService and LookupDiscoveryService

18. Version 2.01

  1. HTML generated pages now have links to other HTML pages rather than XML pages
  2. Many small cleanups to text and programs, such as getting exception handling right
  3. Updated links to Trent Jarvi's RXTX serial support for Linux
  4. Some new sections/information on security
  5. I have a working Mindstorms again, and have tested the MindStorms programs added since November

19. Version 2.02, released 7 Jan 2000

  1. Added "last modified" version tag to each chapter in "Table of Contents"
  2. Added new section to Security on "Being Paranoic"

20. Version 2.03, released 14 Jan 2000

  1. Added PostScript versions of the files to the Home page
  2. Filtered author info, revision info out of program listings
  3. Added figure captions and numbers to all diagrams
  4. Section numbers now have chapter number included
  5. UI chapter rewritten to reflect current service ui proposal. This version of the tutorial is transient, because there may be changes in the service ui.

21. Version 2.04, released 13 Feb 2000

  1. I am in "copy edit" mode for these next few versions :-). Made all figure references explicit rather than just "inline"

22. Version 2.05, released 16 Feb 2000

  1. Changed "5 seconds" for lease time to "5 minutes" (Alun Evans,
  2. Removed Serializable from FileClassifier interface (Alun Evans,
  3. Upgraded to Jini 1.1 beta

23. Version 2.06, released 20 Aug 2000

  1. Added "rmid under JDK 1.3" section to chapters 3 and 12
  2. Some bug fixes from Stefano Campadello (

24. Version 2.07, released 20 Sept 2000

  1. Released printed version by APress
  2. Added chapter on Servlets
  3. Added chapter on Introspection
  4. Added chapter on JNLP

25. Version 2.08, released 12 June 2001

26. Versions 3.00 - 3.02

Forgot to record changes, but moving stuff to Jini 2.0

27. Version 3.03, released 3 August 2004

  1. Converting from "make" to "ant"
  2. New chapter on ServiceStarter - doesn't include activatable services, though
  3. Chapter on Activation revised for Jini 2.0 - doesn't include services, though
  4. Conforming better to Docbook DTD

28. Version 3.04, released July 2004

  1. Finished adapting Lease chapter to Jini 2.0 by looking at new version of Landlord package
  2. Finished adapting Activation chapter
  3. Converted many build files to Ant

29. Version 3.05, released August 2004

  1. New chapter on Advanced Security

30. Copyright

If you found this chapter of value, the full book "Foundations of Jini 2 Programming" is available from APress or Amazon .

This file is Copyright (©) 1999, 2000, 2001, 2003, 2004, 2005 by Jan Newmarch (

Creative Commons License This work is licensed under a Creative Commons License, the replacement for the earlier Open Content License.