| ServiceDiscovery ClientPlugin, responsible for initiating queries for services,
taking the resulting service pointer, and sending a Relay to the Provider requesting service.
Service Discovery is initiated by receiving a Find Providers task, and looking for the single Role
indicated on the AS Prepositional Phrase, possibly excluding the Providers listed in the NOT
Prepositional Phrase. Sends a Disposition on the FindProviders Task when it gets a Relationship
with a provider for the service.
This is an extension of the SimpleSDClientPlugin that uses the pizza Domain constants and
specically forbids using providers listed in the Find Providers Task. Use this as an example
of how you can extend the SimpleSDClientPlugin for your own application.
Limitations: not quiescent aware, doesn't handle time-phased relationships,
not guaranteed to work with persistence and restarts, and assumes that providers
will not revoke relationships or otherwise change their mind.
|