You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2007/10/01 17:40:23 UTC

Session design for UIMA

Session - meaning "client session" - support is built-in to the UIMA
framework, but not documented in the current html/pdf, because the
design is incomplete.

The idea that Sessions are trying to support is to provide a place for
annotators to store information associated with a particular client,
across multiple "process" calls.  The part that is not "hooked-up" is
the part that remembers / associates unique sessions with individual
clients.  With that missing, the default is that there is one session
for all process calls.

The current design is *not* designed to allow for sharing of session
information among multiple components in an aggregate.  That is
addressable using the shared resource mechanism (which, someday, might
be extended to work across remote deployments - but today, it is
restricted to Java components, running locally).

Adam reports that changing this would require some redesign.  In the
current design there is a tree of UIMA Contexts paralleling the tree of
delegate AEs, and all of them are assumed to have the same
ResourceManager instances (in fact there is just one reference from the
"root" UIMA Context to the ResourceManager, and all the other UIMA
Contexts go through the root).  For a PEAR component, it has its own
separate tree of UIMA Contexts that's not tied to the aggregate's tree.

-Marshall