The following features are currently in CRS:
The current version of the CRS web service uses a simple HTTP protocol. It is a simple wrapper over the configuration service.
All configuration settings have a specified type. The current types are:
Boolean only accepts 'true', 'false', 'on' and 'off' as values.
Accepts double values.
Accepts any kind of text.
Accepts integer values.
Accepts dates in the following notation: 'yyyy-MM-dd-HH:mm:ss'.
Accepts several strings concatenated using a ',' delimiter. 
Requesting a setting (using the current Java client library) is done using a strong typed method (i.e. getStringValue(...), getBooleanValue(...)). When the setting is not of the requested type an exception is thrown.
Currently the configurations are stored in an XML format. Other format will be added later.
As noted above, the current configuration client library is written in Java but can be built in other languages as well as the communication protocol is HTTP.
The current CRS web service advertises itself using Multicast DNS (Zeroconf). The current Java configuration client library uses the same technique to find the service, so no configuration is needed to find/locate the configuration service.