December 2003
Miguel

The purpose of this brief memo is to outline the differences between
Jmol, the JmolApplet, and the JmolViewer.

Summary
=======
Fundamentally, Jmol exists in three forms.
 1. standalone application
 2. web browser applet
 3. java classes for integration into other applications/applets

The standalone Jmol application is for people who want to use Jmol as a
molecular visualization tool installed on their system.

The JmolApplet is for building and deploying web sites, most often used
for developing educational courseware.

The JmolViewer classes are for professional Java developers who want or
need to integration Jmol into their own Java application or applet.

Each of these Jmol variants has a different purpose. But the vast
majority of the code is shared.


Detail
======
Jmol is written as a core set of Java classes. The core set of classes
for molecule rendering is collectively called the JmolViewer.

A small wrapper is placed around the JmolViewer classes to package them
up as a web browser applet called the JmolApplet.

These classes are also bundled up as a standalone application, generally
called the Jmol application.


Jmol application
----------------
The Jmol application is a standalone application. The entire application
is bundled into a single .jar file called Jmol.jar

The Jmol application consists of the core JmolViewer classes plus
additional classes to construct the user interface. The user interface
is constructed using the standard Swing Java classes. In addition, the
Jmol application includes some additional functionality, such as a
plug-in architecture to facilitate extensions to the application.

(The Jmol developers do all of their development and testing within the
context of the Jmol application. This environment is much more forgiving
and debugging is much easier than trying to work directly on the
JmolApplet.)


JmolApplet
----------
The JmolApplet allows web authors to embed Jmol into web browser pages. If
you want to build web pages that display molecular models then you should
use the JmolApplet.

The JmolApplet is an 'untrusted' applet, meaning that the applet will load
and display without requiring confirmation. Untrusted web browser applets
must live within a rather restricted environment in order to protect the
end-user from potentially malicious applets. For example, an untrusted
applet cannot access or store any files on the client's file system.
Additionally, the browser can only load other URLs which originate on the
same web server from which the applet was loaded.

If you are going to develop web content then you may want to develop long
scripts to demonstrate molecular characteristics. Generally, it is a good
idea to develop and test these scripts within the Jmol application. Later,
you can deploy the same scripts within the JmolApplet.


JmolViewer
----------
Jmol has a set of core classes which we refer to as the JmolViewer. The
JmolViewer classes are included in both the Jmol application and the
JmolApplet.

The JmolViewer is intended for serious/professional Java software
developers. Therefore, most Jmol users will never use the JmolViewer
directly.

If you are developing a Java application or applet and are capable of
using Java classes, then you can use the JmolViewer to display your
molecular models. Both the Jmol application and the JmolApplet are written
on top of the JmolViewer, so direct use of the JmolViewer gives you
complete control over Jmol behavior and functionality.

At some level, you can think of the JmolViewer as the rendering engine
that generates the contents of the window that is displayed on the screen.
It does not include any menus, buttons, or pop-up menus. If you wish, you
can have it handle mouse events.

Interestingly, the JmolViewer does not include any file IO. The JmolViewer
uses the JmolModelAdapter interface to retrieve atom coordinates and bond
information. This design should allow one to use the JmolViewer with any
library.

Note that Jmol is still undergoing a large number of changes and
enhancements. Therefore, the JmolViewer API is still somewhat fluid and
subject to change. However, we believe that the overall structure and
philosophy of design are generally stable.

A small sample program can be found in the Jmol source tree under
samples/Integration.java

Additional questions about direct use of the JmolViewer should be directed
to the [EMAIL PROTECTED] mailing list.


 The End!





-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
Jmol-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to