title: Web Service Architecture - multi tenancy design pattern (maybe)
body: <p>I having a slight design problem : I have to create a Web Service (asmx or wcf) that retrieves customer data from multiple database servers, each one is exactly the same except they will contain data for different States (1 DB server per state, big states can have multiples etc).</p>
  
  <p>This will be used by a call center, for example, someone calls the call center and says, can i have an indication when my order will be delivered my order no is "aa_etc" and the service should run a query on all servers and return all the orders details for that order.</p>
  
  <p>This is straight forward, except there is multiple servers to query.My idea is to have central sqlite db with all connection strings of the current online servers and then query each one in turn</p>
  
  <pre><code>
  public class OnlineServer 
  {
   public string Name {get;set;}
   public string ConnectionString {get;set;} 
  }
  ...
  public class Order
  {
     public List OrderDetail getDetails(string orderno,string connstring)
     {
       //Code to get all orders from database using specified connstring
     }
     ....
  }
  ....
  
  List servers = getOnlineServers();
  
  foreach(OnlineServer in servers)
  {
    OrderDetails d = Order.getDetails("aa_etc",OnlineServer.ConnectionString);
  }
  
  
  </code></pre> 
  
  <p>Just writing down this idea feels totally wrong.</p>
  
  <p>I would really appreciate it if someone can help me get going with this in the right direction, this is a really big project and starting this wrong will just end up in tears later on.</p>
  
  <p>Thanks</p>