## 4 The Notification Service Components

### 4.1 The Notification Service Components

This chapter describes the Notification Service Components and how they interact.

#### 4.1.1 Components

There are seven components in the OMG Notification Service architecture. These are described below:

Figure 1: The Notification Service Components.

- Event Channel: acts as a factory for Administrator objects. Allows clients to set Administrative Properties.
- Supplier Administrators: acts as a factory for Proxy Consumers. Administrators are started as `'AND_OP'-` or `'OR_OP'-`type, which determines if events must be validated using both the Administrators associated Filter and/or its Proxy children Filters.
- Consumer Administrators: acts in the same way as Supplier Administrators but handle Proxy Suppliers.
- Consumer Proxy: is connected to a client application. Can be started as `Pull` or `Push` object. If the proxy is Push style the client application must push events to the Proxy, otherwise the Proxy is supposed to Pull events. The `CosNotification::AdminProperties` is used to set the pacing interval.
- Supplier Proxy: Acts in a similar way as the Consumer Proxy, but if started as a `Push` proxy it will push events to the client application.
- Filters: used to filter events. May be associated with Proxies and Administrators.
- Mapping Filters: used to override events Quality of Service settings. Can only be associated with Consumer Administrators and Proxy Suppliers.

When a Proxy is started it is set to accept `CORBA::Any`, `CosNotification::StructuredEvent` or `CosNotification::EventBatch` (a sequence of structured events).

If a Proxy is supposed to deliver structured events to a client application and receives an `CORBA::Any` event, the event is converted to a structured event with `type_name` set to `"%ANY"` and the event is stored in `remainder_of_body`.

If a Proxy is supposed to deliver `CORBA::Any` events to a client application and receives a structured event, the event is stored in an Any type. The Any Type Code will be equal to the `CosNotification::StructuredEvent` Type Code.

cosNotification 1.1.5
Copyright © 1991-2007 Ericsson AB