JSDT FAQ

JSDT Programmer's FAQ

Last Updated: 7 October 1999
The current version of JSDT is 1.5.
The current development version is 2.0 beta 1

0. Background
1. Introduction
2. More Information
3. Setting Up
4. How Do I...?
5. JSDT vs ...
6. Miscellaneous


0. Background

Welcome to the Java Shared Data Toolkit Programmer's FAQ. This FAQ is designed to help the ordinary programmer make sense of JSDT. It is maintained as a volunteer effort.

The maintainer is Justin Couch. Please note that the maintainer is an extremely busy person and cannot answer every question related to JSDT. If you have questions please send those to the JSDT Interest mailing list.

This FAQ is copyright© 1999 Justin Couch. All Rights Reserved. Copying this for commercial use is stricly prohibited, and requires written permission from the author.

If you would like to contribute to this FAQ, please send me e-mail and I'll do my best to see that your contribution is included.


1. Introduction

1.1 What is JSDT?

JSDT is a pure java toolkit designed to support robust realtime collaborative applications independent of the underlying network protocols.

In particular, JSDT is best used in environments where you want to have many userse either shared or be broadcast exactly the same information. It is not particularly good for doing persistent, store and forward type messaging environments.


2. More Information

2.1 Homepage

The official JSDT Homepage is part of the Javasoft website. It contains information on purchasing and downloading of JSDT.

A semi-official page is the JSDT Author's JSDT Page that contains background information, version history lots of other useful stuff.

The Standard Sun JSDT FAQ is also available.

2.2 Mailing Lists

The jsdt-interest mailing lists discusses the JSDT APIs and announcements. You can subscribe to it by sending e-mail to listserv@java.sun.com with the words:
               subscribe jsdt-interest
in the body of the message.

To unsubscribe, send e-mail to listserv@java.sun.com with the words:

               signoff jsdt-interest
in the body of the message.

A complete archive of the mailing list is available from: http://java.sun.com/products/java-media/mail-archive/Share/index.html.

2.3 Tutorials

There are no known online tutorial sites currently available.

2.4 Books

Java 2 Networking contains 3 chapters introducing all aspects of the JSDT API. Covers version 1.4. Online updates are available to bring it in equality with v1.5

2.5 Related Information

The Java Programmer's FAQ is maintained by Peter van der Linden is a good reference for general java programming questions.


3. Setting Up

3.1 What are the minimum requirements?

JSDT requires at a minimum JDK 1.1. The software library is certified as pure Java so it should run on any OS that supports that version. Currently JSDT does not take advantage of any platform specific features such as the Netscape capability APIs or Java 2 security model.

3.2 Is it Pure Java?

Yes. See here

3.3 What are the supported protocols?

JSDT Version 1.5 supports the following protocols.

3.4 Where do I find LRMP?

LRMP can be found at ftp://ftp.inria.fr/pub/ Download the JAR file and add it to the classpath and you should be ready to use it

The homepage for documentation and more is http://webcanal.inria.fr/


4. How do I...?

4.1 Use LRMP

When I use the lrmp session type, nothing happens. Why?

First check that the URL you are using contains a valid multicast address - not a hostname. Multicast addresses are any address between 224.0.0.1 and 231.0.0.1.

4.2 Cannot find class com.sun....

If you are running an applet and using Java Plugin, there is a well known bug in the plugin dealing with standard extensions. If you have put your JAR files in $jre.home/lib/ext the JRE will not find the classes even though appletviewer and the compiler does.

To fix this, you need to copy the classes to $jre.home/lib. Now, the JRE should run.

4.3 Cannot find class inria.lrmp....

First check that the JAR file is in your classpath, not just in the same directory as the JSDT JAR file.

If you have installed JSDT in the JRE standard extensions directory ($jre.home/lib/ext) then you must copy the LRMP JAR file (lrmp.jar) into that same directory. A standard security feature of any JAR file located in the standard extensions directory is that is can only access classes that are found in the same directory. That is, to avoid you overriding the standard installation with trojan classes, it does not load anything from any other directory.

4.4 Use Internationalised Object Names

The object names are represented using standard java Strings created with the default locale. Assuming your locale is set for the local language type, this should allow the use of Unicode text for names.


5. JSDT vs ...

5.1 Java Messaging Service (JMS)

The two APIs serve very different purposes. JSDT is designed for dealing with many simultaneous users of an application. JMS fits into the groupware category in a non-realtime fashion. Many other features like messsage verification and security are available. JSDT uses raw IP as its delivery mechanism while JMS uses higher level protocols like SMTP to do its work.

5.2 JavaSpaces/JINI

JavaSpaces is a set of APIs for making transient objects on a small scale. JSDT is designed for highly collaborative, high bandwidth services. JavaSpaces is a JINI application and so is really confined to small local networks where JSDT is designed to work across the Internet. Most importantly, by using the HTTP transport mechanism, JSDT can travel through firewalls where JavaSpaces cannot.

At the lowest level, another reason for the differences in postioning is the implemenation. JavaSpaces uses RMI as the communications mechanism. This doesn't really lend itself to high speed communications such as collaborative video and voice delivery. JSDT may use one of many transport mechanisms and as such can use lightweight, high-speed protocols such as multicast.

An unofficial position wrt JSDT and JavaSpaces can be found at: http://java.sun.com/products/java-media/mail-archive/Share/0440.html

One of the future goals for JSDT is to implement a JINI based transport mechanism. This is high on the wish list of many of the community developers and the Sun staff. This should allow the true distributed nature of JSDT to finally come through.

5.3 Other Java Media APIs

The idea of JSDT is to provide transport mechanisms for making distributed applications that then use the other Java Media APIs for the rendering on the local machine. A number of examples of this are available from here:

TBD. See the JSDT archives for code - around late June 1999.


6. Miscellaneous

6.1 Where's the Source Code?

There isn't any available yet. During JavaOne, Sun announced their intention to allow the source out under a form of the Sun Community Source License. Based on the reactions that they received at many JavaOne BOFs (that I personally attended), it is quite clear that the community is not particularly happy with the current SCSL. They'd like it to be more like the standard Open Source licenses.

In order to encourage this, Rich Burridge and the JSDT team are currently attempting to push through Sun's legal department a form of the JSDT that does not include the commercial licensing clauses. ie It will probably go extremely close to meeting the Open Source Guidelines. As usual, lawyers are being difficult, so stay tuned!

On a further note, Sun have made they're intentions clear that the entire Java Media set of API implementations will be released under the SCSL. Timings will be different for each, but JSDT is expected to be the first to make it through the process.

Why com.sun.* and not javax.media.jsdt?

Historical reasons. JSDT started life as JSDA, well before Sun started the Java Community Process and therefore used the com.sun. package prefix. All of the other Java Media APIs have gone through the JCP process to make them standard extensions. Because JSDT has already started it was too late/too difficult to shift it through the JCP process and hence remains where it is today.

One advantage of this is that JSDT is not tied to the same beliefs that run through the rest of the Sun Java camp. That is, methods marked as deprecated will actually be removed (unlike Sun's apparent inability to do so), more of the users bugs will be fixed and only APIs that the users really want will be added, rather than feature creep seemingly endemic of the core APIs.

Where is JSDT Headed?

Rich Burridge has posted a wish list to the interest list. V1.6 is expected to improve on the current release by making the system more stable and robust to be used in commercial environments. There will be a few API additions, removal of the current deprecated methods and greater controls on security (ability to hook into the registry process).


[ Homepage ][ VRML ][ Linux ][ Books ][ About ]