axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Jellinghaus <r...@unrealities.com>
Subject Session support
Date Fri, 25 May 2001 18:40:31 GMT
OK, so a configurable listener daemon isn't a core part of Axis (and, I
sense, isn't on most folks' hot list for 1.0).  That's cool.  But what
would you say to session support???  :-)

I worked up a proposal for handling sessions and bounced it off of Glen.
Briefly, the proposal is:

- we add a sessionContext field to the MessageContext
- this sessionContext can be filled in on the server side by a handler
(either on the service chain, or by the service itself)
- the sessionContext gets passed back through the output chain, and
transformed into whatever is appropriate (either into a cookie /
rewritten-URL by the transport output handler / listener, or put directly
into the envelope by a service output handler)
- the client side output chain recreates the sessionContext from the
transport / envelope state
- the ServiceClient object (formerly named ClientCall, before that
HTTPCall) obtains the sessionContext from the outbound response's
MessageContext, and saves it for use in future calls

I diagrammed this at Glen's request.  Diagrams attached.

I think this has a few nice properties:

- It shares the Apache SOAP pattern of "use the same Call object to use the
same session".
- It abstracts the session state away from the details of a particular
transport.
- It allows a lot of flexibility in arranging handlers to get the desired
session semantics.

Whatchall think?  Let's see how many overlapping design discussions we can
get going at once!!!  :-)
Cheers,
Rob

Mime
View raw message