Could use some Advice

Posts   
 
    
Answer
User
Posts: 363
Joined: 28-Jun-2004
# Posted on: 29-Jun-2008 05:53:29   

I have a client thats need an application built to manage customer orders and inventory.

Currently the company has 4 users of the app. Even if the company grows, i dont think it will ever have more then 50 users. Realistically, probably 20-30 would be the highest.

They currently have Windows SBS setup. Im going to use Winforms with ClickOnce.

Whats the best type of setup i should use for this.

I have narrowed it down to

Traditional Client/Server (direct connection to db) or Distributed (using remoting)

Those that have experience with these kind of apps whats your recommendations? And should i use multithreading to load/save from the db?

Thanks in advance!

stefcl
User
Posts: 210
Joined: 23-Jun-2007
# Posted on: 29-Jun-2008 09:18:22   

I think we would need the following pieces of information before answering :

  • Is there a requirement to share object instances between the client apps ?
  • About the clients and the database, will they operate on a local network? Should your end users be able to work from their home, or over the internet?
Answer
User
Posts: 363
Joined: 28-Jun-2004
# Posted on: 29-Jun-2008 09:41:57   

Is there a requirement to share object instances between the client apps ?

Not sure what you mean by this but remoting will be SingleCall.

Application will be run on the LAN.

The app will also need to maintain some files. So a user will submit a file(s) on the client app which the app would take care of naming/storing them. I was thinking of using a fileshare for this, unless some else has a better idea. Using the database to store the files is out of teh question too as it would grow to large in a hurry and be over teh 4gig limit of sql express. Im trying to stay with sql express on this at least for the current number of users.

And working from home would be nice, but not necessary. Worse case scenario, i figured if they needed to work at home, they can use the Remote Web Workplace feature of SBS and remote desktop into their client PC or VPN. There could possibly be 1 or 2 more branch offices down the road, but thats questionable if that would ever happen.

stefcl
User
Posts: 210
Joined: 23-Jun-2007
# Posted on: 29-Jun-2008 10:23:23   

Not sure what you mean by this but remoting will be SingleCall.

Then no simple_smile , some remoting scenarios would allow multiple clients to modify a single object instance, but not in SingleCall mode anyway.

The app will also need to maintain some files. So a user will submit a file(s) on the client app which the app would take care of naming/storing them. I was thinking of using a fileshare for this, unless some else has a better idea. Using the database to store the files is out of teh question too as it would grow to large in a hurry and be over teh 4gig limit of sql express. Im trying to stay with sql express on this at least for the current number of users.

You could use webdav or ftp, but that might require extra work. A shared folder on the server would make your life easier as you'll just have to open a file and let windows handle all the complexity of downloading it, locking it and writing it back to the server. Considering your users will be using a VPN in case they aren't working on the LAN, access and permissions should not be too problematic.

Now, it doesn't look like there's a real need for a more complicated architecture than a standard client-server... Or do you think there's a scenario in your app that remoting could be of any help to solve?

Answer
User
Posts: 363
Joined: 28-Jun-2004
# Posted on: 30-Jun-2008 01:16:41   

Or do you think there's a scenario in your app that remoting could be of any help to solve?

Well, other then possibly performance and scalability down the road, not really. Maybe bragging rights or the fact that just about everything i read says to use 3-tier. The one exception to that is Rocky Lokhota who says use 2-tier unless your dragged kickng and screaming to 3-tier...hence why im asking fellow llblgeners simple_smile

I thought that if i wrote my app well i could probably switch without to much effort, especially if i wrote the app figuring that down the road it might need a 3rd tier.

When you do remoting or 2-tier, do you use multithreading for loading/saving?

Say a user wants to edit a specific order (typically probably 20-25 entities maxium being loaded into memory). Would you then load the data on a background thread, let the user edit it, then save it on a background thread?

Thanks

Walaa avatar
Walaa
Support Team
Posts: 14950
Joined: 21-Aug-2005
# Posted on: 30-Jun-2008 08:33:44   

When you do remoting or 2-tier, do you use multithreading for loading/saving?

Say a user wants to edit a specific order (typically probably 20-25 entities maxium being loaded into memory). Would you then load the data on a background thread, let the user edit it, then save it on a background thread?

As far as I can tell from your words, you don't need multi-threading. loading or saving 20-25 records should be a fast operation.

Answer
User
Posts: 363
Joined: 28-Jun-2004
# Posted on: 01-Jul-2008 18:06:08   

Well thats what i was kinda thinking...on a 10/100 network it should be fairly quick.