|Re: [ecf-dev] help|
On 3/22/2011 5:29 AM, ronen hamias wrote:|
That's what the discovery mechanism if for.
ECF has a discovery API that is used for Endpoint Discovery, and this API supports multiple providers.Â There are examples in the hello world consumer (and host) of using zeroconf, apache zookeeper, edef (file-based discovery).Â And there are also ECF discovery providers which use dnssd and slp (Service Locator Protocol).
The selection of a discovery provider should be based upon your use case...i.e. how is your service going to be discovered by clients? (i.e. statically...via edef files, or dynamically (via one of the network protocols)...on LAN, WAN, or both?...with a server to coordinateservice discovery (e.g. zookeeper) or serverless, etc.
This is what the network discovery is for...for communicating the meta-information about the remote services (i.e. EndpointDescriptions) to the consumers of those services (through some means of discovery).Â
If your application needs to make some application-level decisions about which services (or which remote services) to import or invoke then you can implement that in several ways...e.g. by having your own service properties, by having/using multiple service interfaces (i.e. different service types).Â You can also control the actual remote service import...if you wish...by creating your own topology manager...in order to decide (for example), when to import a discovered remote service, and when to ignore it.