Hi Devildog, thanks for replying.
Devildog74 wrote:
Question1 is the db platform the same for the local and remote system, i.e. are the local users running MSDE and the main servers running SQL Server? Or do you need local users to run MS Access then ship the data to SQL Server at a later point in time? Do the users pick the db that they access or do they fail over into local mode if they cannot connect to the central server?
Sorry, I probably might of not made myself clear enough. User's will be able to pick their own connectionstring as so to speak but the underlying db will always be the same.
What I am thinking here is that the UI should be allowed to connect to any local/network shared file based db, maybe this has to be MS Access? I did want to use VistaDB.NET but I will have to wait for Frans to implement it, hopefully.
The UI should also be allowed to connect to any remote db whether through remoting or web services if it's possible but the underlying db would probably be the same as local unless there is a good reason not to use the same.
Funny you mention fail over and it is relevant for the future because I want to UI to be able to go offline/online with a remotely connected db but not at this stage. Either the UI is connected to a local db or it is connected to a remote db.
Question2, are internet users really using the internet? i.e. http protocol on port 80 or are they using VPN over an internet connection? If VPN isnt an option for "remote" users is it possible to open non-standard TCP IP ports?
Good question, I didn't think about this well enough. I am not sure about VPN but lets say its not available. It is definately possible to open non-standard TCP IP ports and I am in total control of the infrastructure needed to allow the UI in question 1 to be able to connect to a db that is remote.
IMO these are big questions.
They are and i'm grateful for the advice. The project could be quite large so I wanted to throw a couple of thoughts around on the best way to achieve my goal especially for the local/remote connecting of a db and where that would be achieved in a design.
As far as the LLBLGen pattern to use, if your requirements are really as you have described them, youll probably want to use the Adapter pattern because it is more abstract and will allow you to position service layer facades in front of the entities as well as allow you to abstract the data access adapter to make the underlying RDBMS more transparent.
Thanks, good tip.