Re: Basic application design



Mike TI wrote:
April 1, 2008

Thank you very much for your comments.

Like I mentioned earlier, the database will be used and updated
simultaneously by users in all four countries. Replication would not
be preferred due to internet related issues.

So please bear with me if I ask the same questions again, keeping in
mind that in one country, approximately 50 users will be online.

1. Database is in one country where the internet is excellent. All
the other three countries have a local application developed in VB
Net using this database.

2. Go for a complete ASP Net based solution.

Q1. Which solution I should go for ?
Q2. In terms of performance and speed, which option would be better
keeping in mind that there will be 50 users in one country and the
internet bandwidth would be approximately 512MB (At the moment a
higher bandwidth is difficult and costly)
Q3. If we go for an ASP net based solution, then the server hosting
the applications and data has to be a very heavy server keeping in
mind again that approximately 200 users would be online at a certain
point of time. Q4. 50 users logged on to an ASP Net based application
using the browser Versus 50 users logged using a local application
only using the database from a remote server, which would be faster.

Thank you in advance.


I would do it like this:
1. Nice big server in the host country, running SQL Server and IIS w/ ASP.Net.
2. Web Service running on ASP.Net. All connections to the database go through
this.
3. Web application, also ASP.Net, for browser use. Connects to web service for
data.
4. Client application, installed on user machine, which connects to the web
service for data.

You can then play around with how much functionality you put in the browser app,
based on user experiences, etc. Typically internet performance will improve over
time. For power users, have them install the client app, which does everything.
200 users is not that many for this kind of setup.

Using the web service will give high reliability. Maintaining a direct
connection to a database server over the internet is a squeaky business. If you
design the app around a web service, you can retrieve a nice chunk of data, let
the user make several changes, then post the chunk back to the server.

In principle, a user could retrieve some data through the web service, and start
editing. While they are editing, you could reboot the server. If it is back up
and running by the time they click Save, the user will never know that the
server was rebooted in the meantime. I haven't actually done that, but I have
seen that running through a web service is a very robust way to support a
distributed application. It is not the fastest way, but the reliability is more
important to me.



.



Relevant Pages

  • Re: Help - N Tier Architecture ?
    ... So you set up a seperate server to host this assembly (via ... application server and database). ... other words, you could have a stock quote web service, that exclusively does ... >it n - tier architecture very good design. ...
    (microsoft.public.dotnet.framework.remoting)
  • Re: Best Means: Calling a Function or Application on a Remote Server
    ... we have Oracle stored procedures that execute ... applications on the database server. ... The default one would be a Web service (easiest to write, ... and on how you implement the server side. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Web Service using Windows Authentication
    ... domain/login for the server. ... database access to the database your web service is using. ... >this user account in a SQL server, ...
    (microsoft.public.sqlserver.security)
  • Re: Basic application design
    ... Web Service running on ASP.Net. ... the database will be used and updated ... Database is in one country where the internet is excellent. ... If we go for an ASP net based solution, then the server hosting ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Threading within a service
    ... One solution is to increase the timeout value on your proxies to the other ... As for an asynchronous call to the database, ... it calls a webservice on a local server to check what items the ... > success rate on the web service. ...
    (microsoft.public.dotnet.framework.aspnet.webservices)