ControlCoreServer:Client Services

From MotoHawk
Jump to navigationJump to search

Control Core Server is no longer an Active Item.

ControlCoreServer Net Client Services

ControlCoreServer Client Services is framework for building client applications using MotoServerX as a data aggregator. It should provide client-side signal interaction abstracting the interface between the client app and the server. It should be possible to pick what interface you want to use, i.e. 10999HTTP, 10998TCP, 10997CMDLINE, or the Remoting Interface, client apps like Dash would be built above this layer (possibly above the UIServices layer as well) and this layer would make it possible to swap out the 'pipe' to the server without your client app actually caring. (Certain interfaces do have higher throughput, however). This means that you could swap in the HTTP interface, for instance and run the same Dash output file on a remote machine.

A client would obtain a reference to the implementation class for the 'pipe to the server' via a class factory on initialization. The implementation classes would thus, by default, have the same interface -- meaning that the apps built on them would be able to use any/all of them interchangeably.

The services layer would allow you to specify the update rate for each of the UI signals in your app. It would then collect those of the same rate to minimuze the number of requests to the server. This layer would allow you to specify that a signal is updated at say, 100 ms. When new data is collected for a signal, it will push it up to through the binding and DependencyProperty interfaces so that controls can redraw themselves.

ControlCoreServer UI Services

This framework provides functionality commonly used by GUI clients such as bindable data objects, and more recently, the DependencyProperty mechanism WPF uses to bind objects via XAML. These objects provide signal interaction utilizing the ControlCoreServer Client Services meaning they can interact through socket-oriented or .NET remoting 'pipes'.

UI objects are passed an ClientService interface on construction to provide connectivity.

The overall architecture is displayed below.

CCS-ClientServices.jpg