BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Newbie for Multi-tier

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Multi-Tier)
View previous topic :: View next topic  
Author Message
Bhavya Dhulia
Guest





PostPosted: Tue Oct 21, 2003 8:43 pm    Post subject: Newbie for Multi-tier Reply with quote



We are developing business applications in delphi 6. Our application is
rightnow having client server architecture and using MS SQL-server as
backend.We want to change the design of it to make it multi-tier application
and use benefits of this technology.

Before we start making any changes , there are few issues we want to
address.

Our client-base is diversified basically in three range.
1) Small : 3-5 users, small budget
2) Medium : 10-15 users, reasonable budget
3) Large : More than 15 users can go upto 100s , good budget

As per our knowledge , when we create 3-tier application, we are adding one
middle layer called application server in between the client and database
server. This layer will have all business rules, database connectivity etc
and there are many advantages related to this technology. My problem here is
our small and Medium range of clients will not afford one more server
hardware to run application server on it. Based upon these facts ,

1) Will it be possible to develop application server that will run on user
machines as separate instance for each user for our small / medium range
clients and to use the same application server and keep it on separate
server as single instance which serves the requests from all users for our
large clients ?
2) What cost we have to pay related to performance or speed or any other
for this approach ?


bhavya
www.reliablegroup.com


Back to top
Wayne Niddery [TeamB]
Guest





PostPosted: Wed Oct 22, 2003 3:19 am    Post subject: Re: Newbie for Multi-tier Reply with quote



Bhavya Dhulia wrote:
Quote:

Our client-base is diversified basically in three range.
1) Small : 3-5 users, small budget
2) Medium : 10-15 users, reasonable budget
3) Large : More than 15 users can go upto 100s , good budget

1) Will it be possible to develop application server that will run on
user machines as separate instance for each user for our small /
medium range clients and to use the same application server and keep
it on separate server as single instance which serves the requests
from all users for our large clients ?

Yes. The application server and the client application can be on the same
machine or separate machines.

Quote:
2) What cost we have to pay related to performance or speed or any
other for this approach ?

If you are using Delphi 7 Enterprise/Architect, a deployment license for
DataSnap is included, so it will cost you nothing for this technology. If
you are using an older version of Delphi, you will need to purchase a
DataSnap license for each server machine in the case of any client being on
a separate machine. In cases where the applicaton server and client are both
on the same machine (and that application server process is never serving
another machine) you still do not need to purchase licenses. Check at
shop.borland.com for prices, but I believe each server license is $300 or
$350 U.S.

--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
RADBooks: http://www.logicfundamentals.com/RADBooks.html
"It is error alone which needs the support of government. Truth can
stand by itself." - Thomas Jefferson



Back to top
Bhavya Dhulia
Guest





PostPosted: Wed Oct 22, 2003 1:56 pm    Post subject: Re: Newbie for Multi-tier Reply with quote



Thank you for your reply, it is very helpful to make further decision for
our application design.

I would like to ask you few more things,
1) If we keep the application server and client application on the same
machine, How will it affect the Performance and speed as comare to if it is
on different machine ?
2) Can we get the performance better than Client/Server architecture even if
the application server is on same machine as client application ?

"Wayne Niddery [TeamB]" <wniddery (AT) chaff (DOT) aci.on.ca> wrote

Quote:
Bhavya Dhulia wrote:

Our client-base is diversified basically in three range.
1) Small : 3-5 users, small budget
2) Medium : 10-15 users, reasonable budget
3) Large : More than 15 users can go upto 100s , good budget

1) Will it be possible to develop application server that will run on
user machines as separate instance for each user for our small /
medium range clients and to use the same application server and keep
it on separate server as single instance which serves the requests
from all users for our large clients ?

Yes. The application server and the client application can be on the same
machine or separate machines.

2) What cost we have to pay related to performance or speed or any
other for this approach ?

If you are using Delphi 7 Enterprise/Architect, a deployment license for
DataSnap is included, so it will cost you nothing for this technology. If
you are using an older version of Delphi, you will need to purchase a
DataSnap license for each server machine in the case of any client being
on
a separate machine. In cases where the applicaton server and client are
both
on the same machine (and that application server process is never serving
another machine) you still do not need to purchase licenses. Check at
shop.borland.com for prices, but I believe each server license is $300 or
$350 U.S.

--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
RADBooks: http://www.logicfundamentals.com/RADBooks.html
"It is error alone which needs the support of government. Truth can
stand by itself." - Thomas Jefferson





Back to top
Wayne Niddery [TeamB]
Guest





PostPosted: Thu Oct 23, 2003 12:00 am    Post subject: Re: Newbie for Multi-tier Reply with quote

Bhavya Dhulia wrote:
Quote:

I would like to ask you few more things,
1) If we keep the application server and client application on the
same machine, How will it affect the Performance and speed as comare
to if it is on different machine ?
2) Can we get the performance better than Client/Server architecture
even if the application server is on same machine as client
application ?

These questions are difficult to answer because so much depends on hwo you
code things. First there is the same issue as with client/server - how
efficiently you access the database with your queries. That will likely be a
bigger factor than the communication between app server and client.

On the one hand, multitier introduces another layer and thus more overhead
for transferring data around, so intuitively it makes sense that it will not
be as fast as pure c/s in the case where everything else is equal. However,
multitier also offers many opportunities for introducing features that can
end up making it faster then pure c/s, examples include intelligently cached
data on the app server in cases where it is serving more than one client,
and the fact that memory datasets can perform sorting and filtering locally
without having to go back to the app server or database (in pure c/s, to
change the order, one re-executes an SQL statement with a new Order By
clause).

Comparing performance between app server and client on a single machine
versus on separate machines is really just a comparison of hardware. Local
access is faster than a network connection of course, but this same issue
also applies for pure client/server. DataSnap (or whatever middleware you
use) doesn't "discriminate" by working differently in these cases.

--
Wayne Niddery - Logic Fundamentals, Inc. (www.logicfundamentals.com)
RADBooks: http://www.logicfundamentals.com/RADBooks.html
"It is error alone which needs the support of government. Truth can
stand by itself." - Thomas Jefferson



Back to top
Robert Cerny
Guest





PostPosted: Tue Oct 28, 2003 5:17 pm    Post subject: Re: Newbie for Multi-tier Reply with quote

"Bhavya Dhulia" <xyz (AT) xyz (DOT) com> wrote

Quote:

1) Will it be possible to develop application server that will run on user
machines as separate instance for each user for our small / medium range
clients and to use the same application server and keep it on separate
server as single instance which serves the requests from all users for our
large clients ?
Yes, that's possible, but not good. Mid tier usually makes a lot of traffic

with database server at least to enforce business rules, so it has sense to
put is as near as possible to database server (latency and because faster
connections are usually near). For small businesses on the same machine as
database server, though this can pose a security risk.

Quote:
2) What cost we have to pay related to performance or speed or any other
for this approach ?
With C/S all clients connect to same server, so if it becomes too busy (lot

of users, complex operations), you have to replace it with bigger, faster
and more expensive machine, where server machines are already expensive.
With 3 tier you gain seamless scalability, the mid tier takes a certain
amount of job off database server, so database server is relatively idle. If
the traffic grows and app server can't handle it, you just add another
application server (on another not so expensive machine). That's scalability
advantage.
Speed and responsiveness depends on design of app server and client and of
couse on hardware. For example, you don't let user browse a multi milion row
resultset, but force him to do a specific query.


--
Robert Cerny
DelphiShaman



Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Databases (Multi-Tier) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.