Basic application design

M

Mike TI

March 31, 2008

I have a question regarding the strategy that I should follow in a basic
application design. I would greatly appreciate your views, comments and
guidance.

Scope/Parameters of the Solution:
1. The application is required to be used in four countries. Approximate no
of users would be approximately 200. (company internal users, 50 in each
country)
2. Internet in one country is very good but in the rest of the three
countries is average.
3. The Solution comprises of an integrated Accounting module and an
Operations module. The Operations module is fairly large in scope.
4. Access also needs to be given to customers to view some reports and maybe
enter very limited data.

Proposed:

I have proposed them the following:

Platform:
VB Net 2008 (For developing the Accounting and Operations Module)
ASP Net (For customers inquiry and limited data entry)
SQL 2008 database. (shareable over internet)

Details:
- The SQL 2008 database would be installed in the country in which the
internet is very fast and stable, and a high band width is available.
- The application will be installed on an application server in each of the
countries. In other words, the application will be local and only for the
data the internet will be used for accessing it.
- The customers will use the Web Browser for Inquiry and limited data entry
(ASP Net)

Questions:
1. Is the above strategy good and workable looking into the number of users
who would be logged on at the same time and the fact that internet speed in
three countries is average.
2. Should the whole setup be in ASP. Please consider here then that
approximately 50 users will be connecting to the application through the web
browser high band width is not available in these three countries and also
very expensive.

Thank you very much in advance.
Mike TI
 
G

Guest

Questions:
1. Is the above strategy good and workable looking into the number of
users who would be logged on at the same time and the fact that
internet speed in three countries is average.
2. Should the whole setup be in ASP. Please consider here then that
approximately 50 users will be connecting to the application through
the web browser high band width is not available in these three
countries and also very expensive.

A simple way to distribute an application is to implement a web service
interface - that way you don't need to expose the SQL database to the
internet and you can enforce business rules.

Another solution is to deploy local instances of SQL Server and setup
replication to a central database. This allows international users to
have their own local data cache and thus should increase performance.
This solution obviously costs more money and is more complex to setup -
but might be a consideration if Internet is flakey in the foreign
country. You should still front the database with a web service to
prevent direct access even though the data maybe local.


Hard to say what is best ... since I'm not sure what your skillset,
budget, and requirements truly are :)
 
M

Mike TI

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.

Mike TI
 
M

Mike TI

April 1, 2008

Thank you very much for your detailed email.

Just to make sure that I understand your comments precisely, can you please
explain a little more what exactly you mean by

"2. Web Service running on ASP.Net. All connections to the database go
through this service for data."

Thank you again and sorry for asking basic questions.

Regards
Mike TI
 
G

Guest

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.

Yes, or you can have a web farm, and there would be no downtime at all
:)
 
G

Guest

Just to make sure that I understand your comments precisely, can you
please explain a little more what exactly you mean by

"2. Web Service running on ASP.Net. All connections to the database go
through this service for data."

Thank you again and sorry for asking basic questions.

You build a web service facade for your database. A web service handles
all of your business functions such as "SubmitOrder",
"LookupOrderByCustomer", etc.

Google Serivce Oriented Architecture. You should understand the basic
priciples of SOA before you begin designing a distributed application
such as what you're proposing.
 
M

Mike TI

April 7, 2008

I have did a brief study of Web Services. I would like to thank you and Spam
Catcher for pointing me out to a correct direction.

Mike TI
 
M

Mike TI

April 7, 2008

Things are now begining to make sense. This would be a big project for me
and I would be putting lot of time and resources into it.

I would like to seek your expert advise again: (sorry for repeating)

- The proposed solution would comprise of approximately 6-8 integrated
modules. (Accounting and Operations). Logically the programs will be fairly
complex.
- The solution would be used by approximately 200 company employees.
Additionally approximately 50 customers may be logged on through Web Browser
for inquiry and very limited data entry.
- The company employees would be spread over 4-5 countries.

Q1. Should I go for an ASP Net based solution in totality.
Q2. Should I go for a combination, Client Based application for the 200
company employees and a Web Page application for the 50 customers. (as per
your suggestion I would use ASP.Net Web Services)
Q3. Which would be faster in performance, and, would there be a significant
difference.

Thank you.
Mike TI
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top