A Jini Tutorial
Jan Newmarch
Version 0.07
21 April 1999
http://jan.newmarch.name/java/jini/tutorial/Jini.xml
1. Contents
-
Overview
- Components
- Service Registration
- Client Lookup
- Proxies
- Server Structure
- Client Structure
- Summary
-
Discovering a Lookup Service
- Lookup Service
- Unicast discovery
- Broadcast discovery
- ServiceRegistrar
- Summary
-
Entry Objects
- Entry class
- Restrictions on entries
- Convenience Classes
- Summary
-
Service Registration
- ServiceRegistrar
- ServiceItem
- Registration
- ServiceRegistration
- Entries
- Summary
-
Client Search
- ServiceRegistrar
- ServiceMatches
- Matching
- Summary
-
Leasing
- Leases
- LeaseRenewalManager
- Summary
-
Simple Example
- Problem Description
- Design Options
- Option 2: Uploading a Complete Service
- Option 3: Uploading a Proxy
- Summary
-
Join Manager
- Join Manager
- Getting information from JoinManager
- Summary
-
Security
-
More Complex Examples
- Where is the Code
- Running threads from discovery
- Re-using RMI Proxies
- Inexact Service Matching
- Matching using Local Services
-
Architecture
- Threads
-
Remote Events, Using Threads,
Groups, Re-using RMI proxies (to come)
-
etc (to come :-)
2.
Files
The programs are available as a zip file
programs.zip.
The documentation files are also available as a zip file
docs.zip. You might not like
what you get from this doc file - I am using XML as document
format, using a mishmash of the DocBook DTD with extra tags
and HTML thrown in. A Perl program, xml_handler.pl
,
is a handler
called by my Apache Web server to deliver XML files as HTML. Another
perl program, docbook2html.pl
,
will convert them standalone, but
it will leave the hypertext links pointing to the XML files.
3.
Update Information
This tutorial will be updated on a regular basis, maybe several times
a week. If you want to receive an email announcement of each version
release, send email to
jan@newmarch.name with subject ``Jini tutorial update''
4.
Feedback
I would appreciate any feedback on this tutorial, to ensure that
it is correct and meets the needs of readers. The feedback that
I have already received has been very valuable. Please send
comments/corrections/requests, etc, to
jan@newmarch.name
5. Other Resources
-
The Jini FAQ at
http://www.artima.com/jini/faq.html
-
Noel Enete's ``Nuggets'' tutorial at
www.enete.com/download/#_nuggets_
-
Eran Davidov's
timeservice
example at
www.artima.com/jini/resources/timeservice.html
-
Roger Whitney's lecture notes on ``Java Distributed Computing'' at
http://www.eli.sdsu.edu/courses/spring99/cs696/notes/
-
Jini Home page
http://www.sun.com/jini/index.html
-
RMI Home page
http://java.sun.com/products/jdk/rmi/index.html
-
Jini mailing list
jini-users@java.sun.com
-
Jini mailing list archives
http://archives.java.sun.com/archives/jini-users.html
-
RMI mailing list
rmi-users@java.sun.com
-
RMI mailing list archives
http://archives.java.sun.com/archives/rmi-users.html
-
Jini Interface Repository for standardised service interfaces (empty
at present)
http://www.artima.com/jini/interrepo/
6.
Changes
See the file Changes for the list of
version releases and changes made between versions.
7.
Copyright Information
This tutorial (and the pages it contains) are covered by the OpenContent
license. This basically gives you freedom to do what you want with the
document in a similar way to the GNU license for software. Any changes or
additions that you make to this set of pages as a Web document
must be made publically available, and may be folded
into later versions of this tutorial. Any such inclusions will of course
be credited with your copyright, under the
OpenContent license.
On the other hand, the programs that this tutorial
references are also available unbundled from the tutorial, and do not
have the restriction that source derived from them must be made publically
available. So you can derive your own source code from them, without having
to make it public. I'm not sure what suitable license will do this...
And, of course, there is no warranty...
8. Acknowledgements
The author is grateful for comments on this tutorial from
-
Brian Jeltema,
jeltema@richdist.east.sun.com
-
Roger Whitney,
whitney@cs.sdsu.edu
The author is currently on a sabbatical program at the
CRC for Distributed Systems Technology,
http://www.dstc.edu.au and
the work reported in this tutorial has been funded in part by the
Co-operative Research Centre Program through the
Department of Industry, Science and Tourism of
the Commonwealth Government of Australia.
This file is Copyright ©Jan Newmarch
(http://jan.newmarch.name)
jan@newmarch.name
The copyright is the OpenContent License
(http://www.opencontent.org/opl.shtml),
which is the ``document'' version of the GNU OpenSource license.