Issue 6342: Remove read-only attributes from EndpointSender and EndpointReceiver (notification-jms-ftf) Source: PrismTech (Dr. Ramzi Karoui, ramzi.karoui@prismtech.com) Nature: Uncategorized Issue Severity: Summary: Removing the read-only attributes from EndpointSender and EndpointReceiver from the Bridge Interface and replacing them by two external ExternalEndpoints. The Bridge interface change from: interface Bridge { readonly attribute EndpointReceiver end_point_receiver; readonly attribute EndpointSender end_point_sender; void start () raises (BridgeAlreadyStarted); void stop () raises (BridgeInactive); status get_status(); void destroy (); } to: interface Bridge { readonly attribute ExternalEndpoint end_point_receiver; readonly attribute ExternalEndpoint end_point_sender; void start_bridge () raises (BridgeAlreadyStarted,InvalidExternalEndPoints); void stop_bridge () raises (BridgeInactive); status get_status(); void destroy (); } The EndpointReceiver and EndpointSender types should be removed from the IDL also. The rational behind this change is that the EndpointReceiver and EndpointSender object interfaces were exposing internal implementation parts that no third party needs to have access to. Removing those interfaces from the public IDL of the bridge improves the bridge security. Note that for the purposes of connection the bridge implementation has to manage internally these objects and publish their interfaces to the appropriate Notification Service or JMS. Resolution: Accept proposed resolution Revised Text: In 3.1: Change Introductory paragraph from: " The CosBridgeAdmin module defines the ExternalEndPoint data type, along with EndPointSender and EndPointReceiver types. In addition, this module provides declarations for administrative interfaces which are defined for managing the Bridge Life cycle. " to " The CosBridgeAdmin module defines the ExternalEndPoint data type. In addition, this module provides declarations for administrative interfaces which are defined for managing the Bridge Life cycle. Note that the EndPointSender and EndPointReeceiver described in section 2 are implementation objects, therefore they are not specified in the public IDL files. " In the Bridge interface idl: Delete "#include <CosNotifyComm.idl>" Add "#include<orbdefs.idl>" Replace: " readonly attribute EndpointReceiver end_point_receiver; readonly attribute EndpointSender end_point_sender; " With: " readonly attribute ExternalEndpoint end_point_receiver; readonly attribute ExternalEndpoint end_point_sender; " Remove from the IDL definitions: the union EndpointReceiver , the enum EndpointReceiverType, the union EndpointSender , and the enum EndpointSenderType Remove Sections 3.1.2 and 3.1.3 from the specification Change Beginning of second paragraph of 3.1.4: From: " Each instance of the Bridge interface has two readonly attributes: EndPointSender, EndPointReceiver both of them exist upon creation of the bridge. Due to the architectural restriction described in section 2.3 this interface does not allow the creation of new Endpoint instances. " to: " Each instance of the Bridge interface has two ExternalEndPoint readonly attributes that describes JMS and Notification service destinations: . Due to the architectural restriction described in section 2.3 this interface does not allow the creation of new Endpoint instances. " Actions taken: October 20, 2003: received isusue September 24, 2004: closed issue Discussion: End of Annotations:===== hange 4 Removing the read-only attributes from EndpointSender and EndpointReceiver from the Bridge Interface and replacing them by two external ExternalEndpoints. The Bridge interface change from: interface Bridge { readonly attribute EndpointReceiver end_point_receiver; readonly attribute EndpointSender end_point_sender; void start () raises (BridgeAlreadyStarted); void stop () raises (BridgeInactive); status get_status(); void destroy (); } to: interface Bridge { readonly attribute ExternalEndpoint end_point_receiver; readonly attribute ExternalEndpoint end_point_sender; void start_bridge () raises (BridgeAlreadyStarted,InvalidExternalEndPoints); void stop_bridge () raises (BridgeInactive); status get_status(); void destroy (); } The EndpointReceiver and EndpointSender types should be removed from the IDL also. The rational behind this change is that the EndpointReceiver and EndpointSender object interfaces were exposing internal implementation parts that no third party needs to have access to. Removing those interfaces from the public IDL of the bridge improves the bridge security. Note that for the purposes of connection the bridge implementation has to manage internally these objects and publish their interfaces to the appropriate Notification Service or JMS. Date: Wed, 22 Oct 2003 15:06:28 +0100 From: Steve Osselton Organization: PrismTech User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en, en-us To: Juergen Boldt CC: notification-jms-ftf@omg.org Subject: Re: issue 6342 -- Notification JMS FTF issues Juergen Boldt wrote: In issue 6342, it says that "The EndpointReceiver and EndpointSender types should be removed from the IDL". By removing these, there is no longer a need for the EndpointReceiverType and EndpointSenderType enums either. These should be alos be removed if this issue is accepted. Cheers Steve. This is issue # 6342 Remove read-only attributes from EndpointSender and EndpointReceiver Removing the read-only attributes from EndpointSender and EndpointReceiver from the Bridge Interface and replacing them by two external ExternalEndpoints. The Bridge interface change from: interface Bridge { readonly attribute EndpointReceiver end_point_receiver; readonly attribute EndpointSender end_point_sender; void start () raises (BridgeAlreadyStarted); void stop () raises (BridgeInactive); status get_status(); void destroy (); } to: interface Bridge { readonly attribute ExternalEndpoint end_point_receiver; readonly attribute ExternalEndpoint end_point_sender; void start_bridge () raises (BridgeAlreadyStarted,InvalidExternalEndPoints); void stop_bridge () raises (BridgeInactive); status get_status(); void destroy (); } The EndpointReceiver and EndpointSender types should be removed from the IDL also. The rational behind this change is that the EndpointReceiver and EndpointSender object interfaces were exposing internal implementation parts that no third party needs to have access to. Removing those interfaces from the public IDL of the bridge improves the bridge security. Note that for the purposes of connection the bridge implementation has to manage internally these objects and publish their interfaces to the appropriate Notification Service or JMS. -- Steve Osselton steve@prismtechnologies.com