ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ann Robinson <robins...@us.ibm.com>
Subject [AXIS2] [Sandesha2] Saving the message context
Date Thu, 27 Jul 2006 15:50:35 GMT


Hi all,

I have posted this note to both the AXIS2 and SANDESHA developer discussion
lists, so I apologize in advance to those folks who get multiple copies of
this note.

I am investigating how to save and restore the message context in AXIS2.
This is functionality that would be used by other quality-of-service
layers, for example, by a WS-ReliableMessaging implementation -
particularly one that is composed with WS-Security, to save the message in
persistent storage and later resume the message processing.

The AXIS2 message context is very complex (it includes references to
several complicated objects) and does not lend itself to the default java
serialization mechanism (java.io.Serializable).  In order to save the
message context, the possible solutions include the following:

(A) Internal Message Context option

Do a customized serialization using java.io.Externalizable in the complex
objects and use the default serialization mechanism (java.io.Serializable)
in the simple objects.
- - This keeps the knowledge of the object's internals in the object and
keeps the responsibility in the object for persisting and resurrecting its
own state.
- - This lets an object have a plugpoint where needed to manage "user"
data.  This would apply to the situation where an object maintains a set of
properties or attributes that are supplied by users of the object.  The
plugpoint would define an interface so that the users of the object could
save their properties/attributes appropriately.

(B) External Layer option

Put in get/set methods in all of the objects related to the message context
in order to allow another layer or quality of service (QoS) to extract
sufficient information from the message context in order to save and
resurrect the information.
- - The simplest form of this technique is saving just the message (and the
message attachments).  However, this means that any processing on the
message has to be re-done from the beginning.
- - If there is a requirement to maintain the security context with the
message, then the security layer would need to provide additional
interfaces to allow that message's security context to be acquired by that
other layer.

(C) Core Plugpoint option

Have a plugpoint in the AXIS2 core that would provide an interface to
capture essential message context data for saving and restoring it.
- - This solution would be a compromise between (A) and (B)
- - This requires knowledge of message context object-related internals
inside of the plugpoint implementation, which is not good object oriented
design


Any other suggestions or comments?

 I understand that there has been a previous attempt to do this in AXIS2
based on Sandesha requirements and that this attempt did not work.  I was
wondering if anyone remembers what problems were encountered and what
issues ultimately blocked that solution?


Thanks,
Ann


WebSphere Development, Web Services Engine

IBM
11501 Burnet Rd   IZip 9035G021
Austin, TX   78758
(512)838-9438                TL 678-9438

Mime
View raw message