Java port and interfaces
- New projects
This project has several goals.
- Port the toolkits to Java so Java programmers have access to
chemical databases and structure processing tools.
- Produce Java widgets to do common chemical information tasks,
e.g., a Java version of grins for structures/reactions editing.
- Produce Java applets/applications for specific data delivery tasks,
e.g., reduce per-user bandwidth requirements for Thor/Merlin/Mjollnir.
We are only in the design stage so far.
A proof-of-principle merlin interface was written (javalin) which
showed both Java's strengths (interface flexibility and speed) and
weaknesses (instability, limits either communications or security).
The upcoming 1.2 release appears to provide features which will
meet our requirements and we will be moving ahead with this project.
- (to be announced at MUG '97)
Java is really cool.
There are two main forces driving us to embrace Java,
neither are because it's cool:
(1) many people doing
chemical informatics would like to use the toolkit in Java applets and
(2) we need to reduce the per-user bandwidth for our web-based (DCGI)
information delivery system.
As a company keenly interested in stable, long-term solutions for
chemical information processing and delivery, we aren't the biggest
fans of Java as it exists so far.
We have had some success with Java prototype applets:
it's not all that hard to get applets to work once.
In the long term we need something as robust as C and Fortran toolkit
programs: the criteria is that programs written today should still be
working 10 years hence.
That being said,
there is a near-certainty that Java is going to settle down and that most
of the outstanding problems will be resolved within a year or so.
Here is the approach that we're taking:
- Build Java wrappers for the remote toolkit (daytoolserver).
This should allow Java programmers on all platforms to make
immediate use of all Daylight toolkits.
- Port the basic toolkits (SMILES, SMARTS, Depict) to Java run-time
libraries for Mac and PC platforms.
This will greatly improve the speed of low-level functions and
support development of advanced interfaces.
- Build widget-like tools as downloadable Java classes,
for our own use and for distribution.
All the existing widgets seem applicable (depict, grins, edgar, etc.)
except possibly the file selection widget.
- Create generic applications (like xvthor and xvmerlin).
The goal of these applications is to operate within an integrated
network-based information delivery system.
Daylight Chemical Information Systems, Inc.