apache > ws.apache

## Apache Muse - WS-DistributedManagement - Advertisement Capability

Spec name and port type: WS-DistributedManagement v1.1 (no port type)

Capability URI: http://docs.oasis-open.org/wsdm/muws/capabilities/Advertisement

Description: This capability has no properties or operations but defines two notifications - one each for the creation and destruction of manageability endpoints. Deploying a Muse application with an advertisement resource will allow you to send notifications to management clients about the existence of manageable resources rather than forcing them to perform discovery.

Java interface: org.apache.muse.ws.dm.muws.adv.Advertisement

> JAR file: muse-wsdm-muws-adv-api.jar

Default Java implementation: org.apache.muse.ws.dm.muws.adv.impl.SimpleAdvertisement

> JAR file: muse-wsdm-muws-adv-impl.jar

Action on initialize(): None.

Action on initializeCompleted(): Registers itself with the ResourceManager so it can learn when the resource has been completely initialized and/or marked for destruction. Creates the creation and destruction topics so that management clients can subscribe to these notifications. All implementations of Advertisement provided by Muse allow users to specify an initial consumer (using an EPR) that will be subscribed to the two Advertisement topics and immediately receive notifications.

Action on prepareShutdown(): None.

Action on shutdown(): None.

Non-Core Dependencies:

- http://docs.oasis-open.org/wsn/bw-2/NotificationProducer
- WSDM Event Format (WEF) API

Behavior and Limitations: This capability is separated out into a separate module from the other WSDM MUWS capabilities because of its dependence on WSN. All of the other capabilities have topics that may be published if WSN NotificationProducer is supported, but Advertisement is useless without it. It is the only capability that leverages all of the interface modules in Muse 2.0 (ironic given that the implementation is one small class!).

The default implementation, SimpleAdvertisement, causes the resource type that includes it to publish notifications about instances of that type. The broadcast implementation, BroadcastAdvertisement, can be added to any one resource type in the application and it will publish notifications for all resources in the system. This is commonly used by resources that act as factories for other resource types. Finally, the ServiceGroupEntryAdvertisement implementation can be added to any resource that implements WSRF ServiceGroup so that it can notify listeners of the creation and destruction of service group entries.

All of the implementations provided by Muse send notifications on the ManageabilityEndpointCreation and ManageabilityEndpointDestruction topics, but not ManageableResourceCreation or ManageableResourceDestruction.

Initialization parameters:

- initial-consumer-reference - The relative path of an XML file that contains the EPR of the initial advertisement consumer. This features allows users to point the advertisement resource to a well-known consumer and start alerting it of creation and destruction events as soon as it comes online, without the consumer having to subscribe itself. The use of the initial consumer is optional and does not preclude other resources from subscribing to notifications.