Issue 6339: Remove the CosEventDomainAdmin::NotificationStyle
Issue 6340: Rename two operations in the Bridge interface
Issue 6341: Adding InvalidExternalEndpoint Exception to new Bridge::start_bridge() ope
Issue 6342: Remove read-only attributes from EndpointSender and EndpointReceiver
Issue 6339: Remove the CosEventDomainAdmin::NotificationStyle (notification-jms-ftf)
Click here for this issue's archive.
Source: PrismTech (Dr. Ramzi Karoui, ramzi.karoui@prismtech.com)
Nature: Uncategorized Issue
Severity:
Summary:
Removing the CosEventDomainAdmin::NotificationStyle by CosBridgeAdmin::FlowStyle, defined hereafter :
enum FlowStyle { PUSH, PULL }. The rational for that is to avoid having dependencies with the CosEventDomainAdmin module defined in the Event domain manager specification. In fact, few notification service providers provide today this CoS.
Rename two operations in the Bridge interface name have been made: · Original Name; Bridge::start(); New Name: Bridge::start_bridge() · Original Name; Bridge::stop(); New Name: Bridge::stop_bridge() The Start and stop names are common operation names. Those names may clash with other implementation components.
Adding InvalidExternalEndpoint Exception to new Bridge::start_bridge() operation. · The Bridge::start_bridge operation is now raises two exceptions: BridgeAdlreadyStarted and InvalidExternalEndpoint. The rational behind this extension is that during Bridge::start_bridge operation, consumer and publisher are created. If any ExternalEndpoint information (be it source or sink) is invalid, client cannot be created, thus InvalidExternalEndpoint will be raised
The exception name is InvalidExternalEndpoints. accept proposal to add InvalidExternalEndpoints exception to start_Bridge operation
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.