Hi ya,

I don't know whether this is the right forum to ask this question but ........

I have got an EPOS application (Vb.net and Sql Server 2005) which I developed and that is soon to be implemented.

It was first designed to be implemented in 2-3 places. I designed the application so that it would connect to a central database server.

Now I have been informed that there would be more locations and some of the locations can't access the central server at all.

My question is what can i do to ease up the process.
Since it was first designed for only 2 places, I just thought to make the categories table permanent and it could easily connect as i would only need to make changes in Central DB which now changed.
I'm thinking of using Sql Server developer edition or Sql Server express but with Sql Server express we don't have any management studio and i don't know if i can easily populate the category table which would stay the same.
What sort of architecture should i adopt as some of the places are in rural areas where its not possible to connect to central server.
Apart from that I'm using one Component from a Magnetic swipe reader keyboard which i want to include in my application.

Previously i thought of having just installed the keyboard and then install the component but now deploying to many places that would be difficult.....

Any ideas/pointers would be helpful.


Re: Architecture General Windows forms and Sql Server architecure



Actually I have not understood why you need to change the Arch. What I can understand is you need to make your data sync in all locations. Rural areas you have mentioned will have stand alone systems ie. no servers and internet. Can you explain the arch you have adopted so that I can have a better idea.


Re: Architecture General Windows forms and Sql Server architecure


Hi ya,

Sorry if i wasn't clear enough. It was simple client/server arch..... with Database server and the clients accessing it over the network.

This has changed because of rural areas, we're now going to have no communication or far more less communication in those sites. There are already individual machines over there which are powerful enough to have SQL express so each EPOS would have SqlExpress.

At some point of day or end of day we will update the main SQL Server with nearly each terminal from rural areas, get the data and then transmit back necessary information for next day.

I hope this is okay.

There are 2 problems now, there are some tables wth Fund Type etc which should be populated the first type sql express is installed, how i'm going to do that Though I have found a way to include sql express with the setup now.

Secondly MSR keyboard would be included in some locations but not all and i don't know initially where it would be available, As mentioned previously it was just 2 terminals so i thought to install the keyboard but now i would need to include it in the setup, how would i include that if the keyboard is not available the program would work fine without it as well.

And ofcourse if i'm making any mistakes point them out. There is a chance for this project to be deployed to many companies, how should i make it more extensible in terms of architecture and code

Thanks alot.

Re: Architecture General Windows forms and Sql Server architecure


The first part (your SQL problem) should be simply solved with SQL Replication, have a Hub and Spoke type arrangement so you should be able to have your "static" data pushed out to the clients, and have a merge replication for the sales data that is uploaded. You will need to either schedule the SQL replication to occur when the connectivity is available (over night when the phone isn't used etc) or to have a manual key or similar in your program to kick off the replication.

On your second point, if you are using a particular companie's component, depending on licensing could you not have the installer always install the component (or perhaps have your installer run the component installer). They may even have an MSM module for you. Then once installed I imagine there is a method to call that will either tell you the device is not plugged into the system, or there will be a method you could call that will throw an exception if the device isn't connected. This could be detected when the app is started and then either enable or disable the device functionality. If you do this rather than giving the user an option in the install program you will avoid help desk calls around (I have the device or just brought it and it doesn't work).



Re: Architecture General Windows forms and Sql Server architecure


Thanks Tim,

Just the kind of answer i was looking for. Makes my job a bit easy as i got the ideas.
I'll look into it