The Spectrum Configuration Service is a lightweight service exposing the capability to store, update and retrieve arbitrary configuration information.
The initial capability set will include the ability to store the following information required to enable general connectivity of the SpectrumXl spreadsheet module.
Spectrum Service URL - The url that the Spectrum Add-in uses to connect to Spectrum Service. Registration Key - A key associated with a unique User/Desktop pair. A user with more then one desktop would have more than one registration number.
The registration key is generated from a combination of - a GUID associated with a user's registration - a GUID associated with a user's desktop (which is generated by the Addin when it is installed)
In this way a Registration key cannot be used by more then one desktop/Add-in Instance, allowing services to uniquely identify request sources.
Given the Registration key the service can retrieve a given configuration set which is then used by an Add-in to connect to an instance of the spectrum services.
Local configuration (for instance within an Add-in) will be limited to: - A registration key (editable field, value generated by external source) - A url pointed to a configuration service. (editable field)
All other configuration information is retrieved on initialization and stored in memory.
An initial implementation may include a simple proxying web service which in turn calls a Neo4J REST interface. This abstraction will allow the implementation to be modified at a future point in time if necessary. An implementation like this would require little initial effort to develop.