|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface NotificationCatcher
This is the interface through which the Manager will start and stop the
NotificationCatcher. When the Manager is instantiated, it can in turn
instantiate a named implementation of the NotificationCatcher. Since the
NotificationCatcher holds on to system resources (i.e., network ports) for
long periods of time, the NotificationCatcher should offer a
shutdown()
method that can be invoked by the Manager.
Similarly, if the NotificationCatcher needs to perform initialization that
must be done outside the constructor, the NotificationCatcher should offer a
startup()
method that can be invoked by the Manager.
The device sends events (Notifications) to the NotificationCatcher. The NotificationCatcher collects them from the network, validates the device's certificate on the HTTPS transport used to deliver the notification, creates Notification objects from the raw message as obtained from the HTTPS transport, and places the Notification in the Manager's queue. The NotificationCatcher should maintain proper order of the Notifications.
The NotificationCatcher sends acknowledgements to the device when it successfully receives a notification. The device uses this acknowledgement to guarantee delivery of all notifications to the NotificationCatcher.
HTTPS will be used as the transport to deliver the notifications. The notifications will be in CBE format, and wrapped in a SOAP message for delivery over the transport.
We need a way to guarantee event message integrity, meaning that the event came from a real device that we are managing, and is not an injection by a malicious 3rd party. If we did not have event integrity then the Manager could be vulnerable to a DoS attack, causing it to refetch a lot of data from the device that is not necessary. The integrity will be performed by using SSL for the transport. The device should present to the NotificationCatcher a certificate that is signed by a certificate authority that the NotificationCatcher trusts. The NotificationCatcher should have a default list of trusted CAs that work with the default certificates in DataPower devices. There should be a way for the customer to configure the NotificationCatcher to recognize a custom list of trusted CAs, which would match the CAs used to sign the device certificates.
If the transport fails the integrity test, then the NotificationCatcher should discard the notification and optionally create a log entry.
This should be an interface instead of a class because more than one implementation is expected.
NotificationCatcherFactory
,
Notification
,
Commands
Field Summary | |
---|---|
static java.lang.String |
COPYRIGHT_2009_2010
|
static java.lang.String |
SCM_REVISION
|
Method Summary | |
---|---|
java.net.URL |
getURL()
Get the URL that this NotificationCatcher listens on so Devices know where to post Notifications. |
void |
shutdown()
When the Manager is shutdown, the Manager will invoke this method. |
void |
startup()
When the Manager is started, the Manager will invoke this method. |
Field Detail |
---|
static final java.lang.String COPYRIGHT_2009_2010
static final java.lang.String SCM_REVISION
Method Detail |
---|
void startup() throws AMPException
NotificationCatcherFactory
,
Manager
void shutdown()
startup()
, this method will allow those
resources (such as network sockets) to be released when the Manager is
shutdown.
Manager
java.net.URL getURL()
Commands.subscribeToDevice(DeviceContext, String, StringCollection, URL)
)
is sent to a device so that the device knows where to send the
notifications (events).
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |