+1 on having a single location to set the ConfigService URL! Something like 
this had occurred to me while I was developing the .NET patch for this feature, 
but did not have the time to follow through.

I have some questions about this approach though:

1-      What will be the default ConfigService in case the user does not 
manually enter the Config tab from the UI? Since the database is shared between 
implementations, wouldn’t this impose a single ConfigService on the other 
implementations? For instance if the default ConfigService url is the .NET one 
– then even the METRO client would need to have the .NET services running 
before being able edit  the ConfigService in the database from the Config tab.

2-      For the sake of consistency, could we somehow merge this new table with 
the SERVICES table? since the ConfigServices are also still services, we could 
enter the different URLs into the SERVICE table as DOTNET_CONFIG, METRO_CONFIG, 
etc.  Then, perhaps we could we have another table which specifies which 
implementations map to which ConfigServices. I know this sounds a little bit 
more complicated, but it would allow us specify the correct defaults for each 
implementation and it seems a little more consistent with the current database 
design.

Those were my thoughts. I am unsure whether the intention is to have a single 
ConfigService for all the platforms. If that is the case, then the previously 
suggested approach sounds perfect. Great idea!

Thanks,
Avantika

From: Ming Jin [mailto:[email protected]]
Sent: Wednesday, August 19, 2009 1:24 PM
To: [email protected]
Cc: Kent Brown; Harold Carr; Mo Li; Ming Jin; [email protected]; Agrawal, 
Avantika
Subject: Proposal about setting configuration service url

Hi, there

We are working on the function of setting the Configuration Service URL on the 
UI

We found that in the trade client of .NET version, when we set the 
Configuration Service URL on the UI, it only changes the Configuration Service 
URL for the trade client but not the BS, which still gets the Configuration 
Service URL from the config file. Therefore we have to set the Configuration 
Service URL twice in two difference places. As a result, the trade client and 
BS may use different config service.

What we want to propose is to save the URL into DB.  In this way we just only 
need to set the Configuration Service URL for both trade client and BS once.

The proposal about setting Configuration Service URL is as following:
1.        Add a new table named ‘configService’ in DB. The new table has two 
columns (NAME, URL). And we need constrain the table only has one record.
            In this way, the trade client and BS will get the config service 
URL from configService table by default.
2.        When user enters Configuration Service URL, and clicks the ‘Set’ 
button.
3.        The Configuration Service URL will be saved to table ‘configService’, 
like
('config_service',  http://localhost:7000/tradeconfigservice’).
4.        Trade client and BS will get the Configuration Service URL from table 
‘configService’.

In this case, all the trade client and BS of different version(such as .NET, 
Metro) will use the same config service, and we only need to set the 
Configuration Service URL once.

Would you like to give us some suggestion about this proposal?

Thanks a lot .

--
Ming Jin

Consultant
Thoughtworks, Inc

Reply via email to