Previous | Notification Service Manager | Next |
Start the Notification Service Manager from the command line with the following command:
The Structured Consumer Manager can be started with the following command:
The Structured Supplier Manager can be started with the following command:
The Notification Service must be running before any of the Managers can be started.
The Notification Service Manager displays information about the channels that have been created by an EventChannelFactory object. When the manager is first run, and providing no developers have created Event Channels programmatically, the manager will display the default service EventChannelFactory object, below the Notification Service icon itself.
If the ChannelConfigurator Object is present, a saved configuration may be loaded.
The left-hand pane of the Notification Service browser displays the Notification Service object hierarchy.
The right hand pane will display the details of the individual objects in the hierarchy when they are selected. If no node is selected, or if a node which has no associated details is selected, this box will be empty and contain the message There is no information to display.
The core component of the Notification Service is the Event Channel. The Event Channel handles the transmission of events over the distributed network provided by the ORB implementation being used.
Default properties can be set for an Event Channel. This enables the user to specify how the channel will respond to the events it receives. There are two types of property: Admin properties and QoS properties.
Administrative properties refer to property settings that may be applied only to event channel objects. These properties are usually set when an event channel is first created. These settings are typically static in nature although they may be changed during the lifetime of the channel object. The standard administrative properties which can be set through the Notification Service Manager are:
See Administrative Properties for a description of these properties.
The QoS properties which can be set on a event channel through the Notification Service Manager are:
See Quality of Service Properties for a description of these properties.
A supplier admin is a representation of a SupplierAdmin object created by a particular event channel. A consumer admin is a representation of a ConsumerAdmin object created by a particular event channel. Every channel is created with a default SupplierAdmin and ConsumerAdmin object, which are given IDs of zero. To view these, expand the tree in the left pane.
If the user selects either of the default Supplier or Consumer Admin objects in the hierarchy, then the right panel will display details about these. At the top of the pane there is information about the object selected: its ID, Class, Channel and its default filter operator OR. Beneath this is a tabbed panel. One tab displays the QoS Settings associated with the object, and the other tab displays Subscribed Types (for a Consumer Admin) or Offered Types (for a Supplier Admin).
The following QoS properties can be set for SupplierAdmin and ConsumerAdmin objects:
See Quality of Service Properties for a description of these properties.
Administration objects and all of the proxy objects in the Notification Service inherit the FilterAdmin interface. This means that all of these objects can have filters attached. Each object which can have filters attached contains a child node, Filters. The Filters node contains children that represent the individual filters that have been created for that object.
One use of filters is to narrow the sorts of events received by Consumer objects. This is done by applying constraints to Supplier and Consumer Admin objects. These constraints can be specified by using the extended Trader Constraint Language (TCL). To locate the Filter section beneath the Supplier and Consumer Admin objects, expand the hierarchies below each.
A custom filter is a filter which is not based on the standard grammar (TCL) but is created via a custom filter implementation class. This class must implement the FilterOperations interface and must be available on the CLASSPATH. The class must be specified when the filter is created, as described in the following section.
At the top of this filter is a pane containing the filter ID, the IDL Class on which the filter is based, and the Grammar with which it will be constructed. Below this is a split panel. To the left is a pane where any number of filter constraints can be added and removed. To the right is another pane with the details of the constraint currently selected in the left pane.
If a filter is based on a custom filter implementation class which does not support constraints, the constraint-related controls (Add, Remove) will be disabled.
Each constraint is automatically assigned an ID number. When the constraint is first added, the ID text box will be blank.
Constraint expressions are added using the Expression field and the Event Types table. Steps 2, 3, and 4 illustrate this using the following constraint expression as an example:
(($domain_type == 'Telecommunications' and
$type_name == 'CommunicationsAlarm') or
$domain_type == 'Healthcare' and
$type_name == 'VitalSigns')) and severity == 3
This expression could be added directly into the Expression text box. However it is easier to add the domain and type names of the events into the Event Types table.
To remove a filter object, right-click on the Filters icon in the hierarchy tree beneath the required Supplier or Consumer Admin object. Select Destroy Filter from the pop-up menu. A warning dialog will appear to confirm that the filter will now be destroyed and removed from the hierarchy tree.
Supplier and Consumer Proxy objects are shown in the Notification Service Browser beneath Proxy Nodes in the hierarchy panel.. A Notification Service may have one or more Proxy instances. These Proxy instances are created using the Supplier or Consumer Admin interfaces.
Proxy instances are used to connect suppliers and consumers to the Event Channel. A supplier connects via a Proxy Consumer, which is obtained from a Supplier Admin. A consumer connects via a Proxy Supplier, which is obtained from a Consumer Admin.
The QoS properties which can be set on a Proxy object through the Notification Service Manager are:
Some of these Qos properties are not available for all types of Proxy object.
See Quality of Service Properties for a description of these properties.
Supplier Admin objects are used to create proxy consumer objects for Supplier clients. Consumer Admin objects are used to create proxy supplier objects for Consumer clients.
Proxy objects like Admin objects can have filter objects associated with them. Applying filters to Proxy objects in the Notification Browser is essentially the same process as applying them to Admin objects. Refer to the section Filter Settings for details.
Upon receipt of each event, the Proxy invokes the appropriate match operation on each of its associated filter objects. The match operation takes the contents of the event as input and returns a boolean result. A FALSE value is returned only when none of the constraints in the filter objects are satisfied by the event, otherwise TRUE is returned. Where the Proxy has multiple filter objects associated with it, it will invoke match on each in turn until either one returns TRUE or all have returned FALSE. Whenever the result of all match operations evaluates FALSE, then the event is discarded.
The Notification Browser provides facilities for testing the communication between objects in the Notification Service. Once Event Channels are available, the user can configure and create events and send them using built-in Structured Supplier and Consumer clients.
To use the event delivery test clients, the Notification Service requires the following objects to be configured and available.
Once the Notification Service is running and configured correctly, the clients can be created.
The manager is split into two panes; the Status pane and the Events pane. The Status pane displays information about the current status of the supplier connection through its proxy and admin objects. The Events pane shows the events being transmitted by the supplier.
The Events pane can be cleared by right clicking on the window and selecting the Clear option from the pop-up menu.
The manager is split into two panes; the Status pane and the Events pane. The Status pane displays information about the current status of the consumer connection through its proxy and admin objects. The Events pane shows the events being received by the consumer.
The Events pane can be cleared by right clicking on the window and selecting the Clear option from the pop-up menu.
When the Structured Supplier Manager is invoked, the Structured Supplier client resolves the Notification Service.
When the Structured Consumer Manager is invoked, the Structured Consumer client resolves the Notification Service.
The final stage of configuration is to create events to transmit over the Notification Service.
The Configure Events dialog is separated into two panes. The Event Sequence contains a list of the events to be transmitted. The Event Communication allows the user to configure the event transmission mechanism. The Number of Loops field expects an integer for the number of times that the batch of events in the Event Sequence table will be transmitted across the Event Channel. In normal circumstances events are usually transmitted once only, but for testing purposes this can be increased. The Event Interval field allows the user to specify, in milliseconds, the interval between the transmission of the event batches listed in the Event Sequence table.
The next example will demonstrate the use of filters on event transmission.
Proxy objects are destroyed if the Disconnect button is clicked or if the browser is closed.
Previous | Notification Service Manager | Next |