Legacy Issue Number: 4945
Source: International Business Machines ( Ann Collins)
The overhead of processing TaggedComponents within an IOR becomes
significant when done many times, as in the case of J2EE implementations
where multiple request interceptors are used. IOR access and creation
performance could be improved by making better use of Java facilities to
provide access to an IOR's components without the overhead of CDR encoding,
and by recognising that many of the constituent parts of an IOR are
identical for all objects within an object adapter.
I would like to propose that we introduce a Java API for IOR, along the
An abstract model of an IOR could be defined as follows:
an IOR has a type ID string, and contains TaggedProfile instances
an IIOPProfile is a TaggedProfile
an IIOPProfile is composed of an IIOPProfileTemplate and an object ID
an IIOPProfileTemplate has an ObjectKeyTemplate, and contains
a TaggedComponent has an ID, and can be written to an OuputStream.
a TaggedComponentFactory reads a TaggedComponent from an InputStream.
It should be possible to manipulate IOR TaggedProfiles and
IIOPProfileTemplate TaggedComponents using all of the facilities in the
Java collections framework.
Templates can be used to create IIOPProfile and ObjectKey because the basic
object adapter model for object creation is to establish all properties of
an IOR (except for type and object ID) when the object adapter is created.
This has been present for the POA essentially from the beginning, since
policies can only be passed to create_POA, and cannot be changed on an
existing POA. The Portable Interceptors work has also made this clear,
since the IOR interceptor runs only when an object adapter is created,
which is the only time that user code can add tagged components to an IOR.
TaggedComponent is a framework that may be extended to support application
defined TaggedComponents. It would be necessary to be able to register
TaggedComponentFactory instances with an ORB, in which case any IOR
unmarshalled by that ORB instance would use the registered
TaggedComponentFactory to unmarshal the TaggedComponent.
In order to use the IOR API, a method would be needed, probably on ORB,
to obtain an abstract IOR from an object reference.
Reported: CORBA 2.6 — Wed, 6 Mar 2002 05:00 GMT
Disposition: Resolved — CORBA 3.0.2
No Data Available
Updated: Fri, 6 Mar 2015 20:58 GMT