Issue 3665: Java ORB Id (java-rtf) Source: Oracle (Dr. Harold Carr, Ph.D., nobody) Nature: Uncategorized Issue Severity: Summary: There are several reasons that Java ORB.init should support ORBId (without compromising security). For example: - Services built on Portable Interceptors work in relation to the ORB with which they are registered. There needs to be some means of identifying this ORB (besides its reference) so other services or facades (e.g., JNDI) can use the same ORB. - A Server Activation Framework needs an ORB Id to identify a particular orb (which hosts a persistent POA) within a server. The triple: server id, orb id, poa name is *conceptually* embedded in the adapter id of a POA making it unique. Resolution: Revised Text: Actions taken: May 30, 2000: received issue August 18, 2000: moved from interceptors ftf to java RTF Discussion: Incorporate change and close issue. However, this is out-of-scope for the interceptors FTF. It is being transferred to the IDL to java RTF. End of Annotations:===== Date: Tue, 30 May 2000 09:23:52 -0700 (PDT) Message-Id: <200005301623.JAA23164@shorter.eng.sun.com> From: Harold Carr To: interceptors-ftf@omg.org, issues@omg.org Subject: Java ORB Id Content-Type: text X-UIDL: 5/nd9NRd!!SNJe9H)J!! There are several reasons that Java ORB.init should support ORBId (without compromising security). For example: - Services built on Portable Interceptors work in relation to the ORB with which they are registered. There needs to be some means of identifying this ORB (besides its reference) so other services or facades (e.g., JNDI) can use the same ORB. - A Server Activation Framework needs an ORB Id to identify a particular orb (which hosts a persistent POA) within a server. The triple: server id, orb id, poa name is *conceptually* embedded in the adapter id of a POA making it unique. Date: Tue, 30 May 2000 10:33:28 -0700 (PDT) Message-Id: <200005301733.KAA29297@shorter.eng.sun.com> From: Harold Carr To: interceptors-ftf@omg.org, issues@omg.org Subject: Portable Activation Framework using Portable Interceptors Content-Type: text X-UIDL: BMhd9FO!e9BIBe9&$>e9 Jurgen, this is a discussion of issues I raised earlier, please do not make this an issue. All, OK, as promised, here are how the issues I raised relate to building a portable activation service. Please keep in mind, *THIS IS A USE-CASE*. We are *NOT* trying to standardize location/activation services. We are proposing changes/extensions to portable interceptors based on our prototype of an activation service built using portable interceptors. I've identified the portions of the service which require changes/extensions to the existing PI spec by preceding them with "PI FTF". ORBD Startup - PI FTF - ORBD is started on same port -ORBPersistentServerPort. - ORBD specifies its ORBInitializer class. - ORBDInitializer creates and registers activator reference in initial references. - ORBDInitializer creates and registers a ServerRequestInterceptor. Server Startup - PI FTF - started with PersistentServerId (passed by activator). - Activator passes appropriate ORBInitializer class. - ORBInitializer pre_init creates and registers IORInterceptor. - ORBInitializer post_init uses - ORBInitInfo::resolve_initial_references to obtain a reference to the Activator which it gives to - IORInterceptor for use during POA creation. Server POA Creation In IORInterceptor: - PI FTF - everything happens in new point: components_available. - PI FTF - need access to POA LifeSpanPolicy (to determine if - PERSISTENT). - If persistent then do the following steps. - PI FTF - get the IORTemplate associated with this POA. - Register that template with the activator. - Get the activator's template. - PI FTF - set the adapter's template to the activator's template. - Now, any references created by this POA will "point" to the activator (and contain components appropriate for the activator). - PI FTF - the IORInterceptor must be called each time a POA is (re)created to enable it to exchange information with the - activator. ORBD Server Request Interceptor - Get the adapter_id from ServerRequestInfo. - Lookup the template associated with this id. - If it doesn't exist then request is for the ORBD. - Otherwise - Get the object_id from ServerRequestInfo. - PI FTF - Use the object id to create a new reference from the - server's template. - Raise ForwardRequest. Misc - PI FTF - not explicit is the fact that Java ORBs need an ORB ID for persistent references to be unique: serverId | orbId | poa path/name. - PI FTF - when an object adapter is destroyed it notifies the activator of this fact so that the activator may reclaim resources. Cheers, Harold Date: Fri, 26 Apr 2002 12:23:24 -0700 (PDT) From: Ken Cavanaugh Reply-To: Ken Cavanaugh Subject: Issue 3665 To: java-rtf@omg.org Cc: ken.cavanaugh@sun.com X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.3.5 SunOS 5.7 sun4u sparc Issue 3665 asks that ORB.init support ORBId. The CORBA core specification defined ORB::id for accessing the ORB id, and also defines the -ORBid argument that can be passed to the ORB::init call to set the ORB id. The ORT specification added the clarification that all -ORBxxx arguments are equivalent to properties named org.omg.CORBA.xxx in Java. The current specifications adequately address this requirement, so I propose that we close this no change. I plan to put this proposed resolution on a vote Monday 4/29. Ken.