Issue Details (XML | Word | Printable)

Key: MUSE-256
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Dan Jemiolo
Reporter: Balan Subramanian
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Muse

Discovery based bootstrapping for advertisements

Created: 02/Aug/07 12:46 AM   Updated: 07/Apr/08 02:35 PM
Return to search
Component/s: WSDM MUWS Advertisement
Affects Version/s: None
Fix Version/s: 2.3.0

Time Tracking:
Not Specified

File Attachments:
  Size
Microsoft Word muse-256.doc 2007-09-11 11:11 AM Nalini 8 kB
Zip Archive Licensed for inclusion in ASF works muse-256.zip 2008-04-07 02:35 PM Kam K. Yee 155 kB
Environment: All


 Description  « Hide
Currently Muse expects users to provide the EPR of the intended receiver of advertisements in muse.xml. The suggestion is to automatically discover this at runtime / initialization time using discovery mechanisms like SLP and WS-Discovery.

We can implement this in a pluggable manner by providing an abstract discovery definition of which a concrete implementation can be specified in muse.xml. If such a definition is present, Muse must first invoke the discovery code to discover the intended advertisement receiver. It is expected that advertisement receivers will "lend" themselves for discovery through various mechanisms like being Service Agents or in the case of WS-Discovery will be listening for probe messages. Hence this requirements actually has a endpoint side requirement for endpoints implementing advertisement capability and "client" side requirements for WS-N consumers (to advertise or listen for probe messages). The actual implementation is not a consideration for Muse.

Before sending advertisements, Muse will check to see if a consumer-epr.xml file is specified or a discovery class is specified. If a discovery class is specified it will query the class to find the EPR of the WS-N consumer before sending the advertisement.

The suggested default implementation is WS-Discovery.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Nalini added a comment - 11/Sep/07 11:11 AM
Proposed Design document for Discovery based bootstrapping for advertisements

Kam K. Yee added a comment - 21/Sep/07 05:06 PM
Instead of directly modifying SimpleAdvertisement, why not create new classes (e.g., WSDiscoveryDynamicAdvertisement and SLPDynamicAdvertisement) that either extend SimpleAdvertisement or AbstractAdvertisement (which ever is more appropriate) and implement the newly introduced DiscoveryCapability? This would not require changes to the muse descriptor schema and retain the now known and stable implementation of SimpleAdvertisement (which other classes extend).

Dan Jemiolo added a comment - 28/Sep/07 05:45 PM
One suggestion I would make is to use Resource.getCapability( ) or Resource.hasCapability( ) rather than creating another init-param. Have the Advertisement implementation(s) check for the presence of the Discovery capability in the containing Resource and start the discovery process if it's there; the ability to have these kind of conditional features was one of the main goals of having the *Capability( ) methods in the Resource API and making sure all capabilities had interfaces. This way you can have the optional discovery stuff without adding another init-param - discovery just gets turned on if you add the capability, and advertisement is augmented if it's there as well.



Kam K. Yee added a comment - 07/Apr/08 02:35 PM
Attached is the implementation of this new feature contributed by the IBM Team