Jeff Bizzaro wrote: Again, we are going with distributed Python objects via Paos. But the "query" or command language used is something I haven't thought much about. We do want the XML that is returned to be something the client can handle. For example, the client asks (queries) the Gatekeeper for a Chao-Fasman prediction of protein secondary structure. It should get something back that can be displayed by that client, or the client may have to pass the info along to another client. In any case, the data has to be of the type that has a client in existence for it. Paos does have a (pretty ad-hoc) query language. The README in the distribution contains a terse description/definition. (ftp://ftp.cs.colorado.edu/users/carlosm/README.paos). Results are Python objects. The client module and the base classes for schema definitions are optimized for reducing object serialization overhead. The result of a query are objects that match the query and all "primitive objects" such as strings and numbers that are values of instance variables. Pointers to other objects are internally represented as object IDs in the form of strings. They are transparently loaded from the server as the user references them. The client maintains a local cache so that re-references of attributes that point to other objects don't cause any client/server traffic. Cache consistency depends on the use of notification services. Objects that are received via notifications are written into the same cache. Thus, one can maintain very tight cache consistency by appropriately defining notification requests. But notification requests also allow you to limit the scope of cache consistency to a few relevant objects. I'm not sure how Paos should communicate with the actual tools (in the case people agree to use it as "gatekeeper"). I personally don't like CGI because of it's unflexible fork-request-once-response-once-terminate assumption. I suspect these tools are running for a longer time period and we would like to be able to find out about their state. On the other hand it's probably not a good idea to run them natively in Paos because of their size, no? What are people's thoughts about this? Carlos