TRODiscoveryServer

From RemObjects Software

Jump to: navigation, search

This is a RemObjects SDK Architecture entry
Feel free to add your notes to this topic below.



Overview

This class implements the server side of the local network server discovery infrastructure in RemObjects SDK.

File

  • uRODiscovery

Declaration

TRODiscoveryServer = class(TROCustomDiscoveryServer);

Hierarchy

Properties

Property
Type
Description
ServiceList TStrings The list of Services that should be made available for discovery. This is a simple string list of names that the server will react to when being probed.

In addition to this list, the SupportRegisteredServerClasses property controls if all RemObjects SDK service classes registered within the server will also be automatically discoverable.

SupportRegisteredServerClasses Boolean Controls if all RemObjects SDK Service classes registered within the server will automatically be discoverable (true) or not (false). If set to false, only the service names manually specified in the ServiceList property will be discoverable. It is of course possible to manually add a subset of the registered services to ServiceList, if desired.


Events

Event
Description
OnServiceFound This event is fired when a Service probed for by a client was found on the local server.The event gives the opportunity to stop the Service from being returned as available, on a case by case basis. Also, any user-defined TRODiscoveryOptions descendant class passed from the client is available in the event for inspection, and (possibly different) TRODiscoveryOption can be returned to the server. Using this event, the discovery server can take more detailed control over what Services it declares as available. For example:
  • TRODiscoveryOptions passed by the client might define certain conditions that are expected form the Service, that the server evaluates.
  • Multiple servers might be located on the local network to handle calculation tasks. The client might pass a value describing the complexity of the needed work when probing for servers, and each server could evaluate its own current CPU load when handling the OnServiceFound event, to determine if it is currently able to accommodate the request.

The client would only receive responses from those servers that currently are available.The "Service Discovery" sample application included with the RemObjects SDK illustrates this by introducing a fictitious "Server Load" value.


See Also


Product: RemObjects SDK
Current version: RemObjects SDK 'Vinci' (5.0)

ListsGlossaryFeaturesHow ToComponentsToolsSamplesArticlesArchitectureIssues

Personal tools