Depiction server(s)

Dave Weininger
Daylight CIS



Daylight will be producing a new kind of server which provides molecular depictions as an IP service.

Originating from a discussion during the MUG'99 meeting, it was intended to provide a depiction tool, i.e., a utility for delivering customized 2D depictions in a distributed manner. During development last summer, it evolved into a generic program object based compute server which is likely to be useful for many other purposes. This type of depiction server was implmented as adeptserver (adept = a depiction tool) and described at EMUG'99. As it turned out, an unfortunate choice of name...

Experience with development of special-purpose HTTP servers (e.g., daliserver, terravivo) suggested a completely different approach: casting the depiction server as a pure HTTP service. A pure HTTP depict server was implemented as imagine (image engine) It is likely that such a service will be more compatible with the future Daylight CGI system.


adeptserver is a normal, full-blown TCP/IP server, similar in form to thorserver, merlinserver and daytoolserver. adeptserver communicates with clients primarily via Thor datatrees and uses program objects to do computational tasks such as generating and rendering pictures. dt_adept.h ipc.defs adorn.c example



Imagine is a pure HTTP server, similar in form to daliserver but similar in function to adeptserver. Like daliserver, both input and output are HTTP-oriented. However, imagine outputs image files, which is one of the things which make the HTTP-form suitable. Like adeptserver, it implements the depictor-renderer model via external program objects.


Request for comments

Both approaches offer unique advantages. Adept, imagine, both? The choice is a tough one. We're looking for user opinions and suggestions.

Daylight Chemical Information Systems, Inc.