[omniORB] Object Service Context

Sai-Lai Lo S.Lo@uk.research.att.com
26 Mar 2001 16:33:04 +0000


>>>>> Renzo Tomaselli writes:

>     since v. 4.0 seems appearing in the near future, I 'm just asking about
> implementation of Object Service Context object and its IOP relationship.
> Or, in other words, the support for implicit propagation of transaction
> contexts when an OTS is involved.
> I feel this is the major application of such contexts (implicit method) just
> to avoid overcrowding any transactional idl with context params at each
> operation.
> I could not find this issue in the Sai-Lai list so here I am.

Renzo,

I've actually mentioned this under the item interceptors. It is now
possible to install interceptors so as to insert and extract service
context and to interpret tagged components inside an IOR.

As I've already mentioned, the interceptors are omniORB specific. It is
possible to implement the portable interceptor interfaces on top of this
set of APIs but I wouldn't be doing so for 4.0. Hopefully, someone will
implement this if they find it necessary to have the portable interface.

I've decided to go for a propriety interceptor APIs because I can present
to the interceptors much more internal states of the ORB than would
otherwise possible. For instance, the interceptor for decoding an IOR can
insert its own decoded component info into an omniORB internal object. The
same object is available to the sendrequest interceptor so that it can
extract the info and decide what to add to the service contexts. 


The same interceptor mechanism is used internally to allow ORB extensions
to be added in a modular way.

Again, once omniORB 4 is ready for testing, please review the interceptor
API and see if it fits your need. 

Regards,

Sai-Lai

-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND