Spider and Search System for Learning Objects (SASSLO)

Some Notes on Java Learning Objects (Applets)


The SASSLO system lets use you search and index any kinds of files. The SASSLO system expects that these files are 'self-contained' - i.e. an MPEG video file, a SWF flash file, a JPEG image file, and so on. All these types of file work by themselves, they don't require other files.

However, Java applets can also be downloaded by the SASSLO system. There are two types of applet: .jar or .class. The first type is no problem for SASSLO, because all related files are included in the .jar file. However, with a .class file it is possible (quite likely) that the .class file requires other files to work properly. Therefore when the SASSLO system encounters a .class file it does some special work to try to find out which extra files are required. It then downloads those required files and puts them together into a single zip file, which can then be searched for and downloaded through the SASSLO search system.

More specifically, when downloading a .class learning object SASSLO takes the following steps:

1. Downloads the .class file.
2. Decompiles the .class file and searches for any references to other required .class files.
3. Downloads all those .class files.
4. Generates an html file which contains the html tag for displaying the .class applet.
5. Packs all the .class files and the html file into a single zip file which users can then access through the SASSLO search system.

Figure 1. How SASSLO handles .class Java Learning Objects

The system uses a decompiler called JODE to do the decompilation.

There's two possible problems that might occur.

1. Sometimes, JODE fails to decompile the .class file (see the JODE website for more information). In this case, SASSLO can only include the original .class file and not any other files that the class file might require.

2. After successfully decompiling the .class file, the file is analysed for references to other files (such as sound files or other .class files) and those files are also downloaded. However, sometimes the references are written in such a way that it is not possible to work out the exact location of the file. SASSLO puts all the files it can find together into the zip file, but for this reason it is possible some are missing and the applet does not work properly.

Since there are many writing style of applets, SASSLO cannot handle all possible styles. The following are the styles that SASSLO can handle:

1. "Object" tag with "param" tags.
2. "Embed" tag.
3. "Applet" tag with "param" tags.
4. "Object" tag with "param", "embed" tags.
5. SASSLO can also handle the style that has no end tags.