473,597 Members | 2,342 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Use of Application Server

Dear friends,

I am new to .NET based app development and have a pretty elementary
query, I suppose... I have caught up with the basics of .NET pretty
well, thanks to some Microsoft VB/ASP background and helpful
colleagues...
The query goes...

In a DOTNET based desktop application environment, does it make sense
to have each copy of the installed application from the different
machines talk directly to the SQL Server Database. Or do you suggest
the use of an Application Server??? Logically, there has to be some
threshold after which SQL Server cannot takeup the load and the
multiple number of connections.. So connection pooling and etc etc...
features of App Server got to be useful, I suppose..

Now coming to the most baffling part of the question. Extending the
logic that an App Server might be needed( I had read somewhere that
COM+ Services can act as App Server.. That is great!!!), where is this
to be hosted?? If this is going to be a seperate server, then how are
the different client machines to talk to the database? They will have
to create objects of the classes and invoke methods in the App
Server!!!! Now how is this to be done, as we are talking about
different machines..... Is it what they use Remoting for??? If yes,
how performance efficient is it for a realtime application with say
100-200 users? If no, then what is the ALTERNATIVE????

Hoping to get a convincing response fro . IT would be fine if you can
guide me to some good material to quench my curiosity..
Thanks and regards,

:)
Jul 21 '05 #1
3 1638
Boy, you must have one heck of an application to be worried about this level
of scaling...

So, if you want to scale a desktop client environment...

First off, why a desktop client environment? That's the first point in
scaling and security... in a web environment, you can hide that db server
behind a secondary firewall. With a client/server environment, you have a
db server out in the open, ready to be attacked... Web servers tend to have
more efficient interfaces... not always, but usually.

Now, assuming a desktop environment...
Sure, you can use remoting to access the application server, but you won't
see an improvement in *performance* until you scale quite a bit. A single
managed code component can not handle more concurrent connections than the
finely tuned communication layer that SQL Server uses. To see a performance
increase on an app server, you have to have three or four of them (my
guess), and you'd have to be using them in some way where they can minimize
the hits on SQL (like with caching, or async updates). No, App servers are
not normally something you do for performance. At least, not one at a time.

So, what if you do want to improve performance? For queries, you still have
to use synchronous messages, but for updates and inserts, I'd suggest async
messages, sent over HTTP, to a load-balanced array of machines using SOAP
web services. As connectionless and as stateless as you can possibly get
away with.

Does that help?
--- Nick

"Varkey" <va**********@y ahoo.com> wrote in message
news:ea******** *************** ***@posting.goo gle.com...
Dear friends,

I am new to .NET based app development and have a pretty elementary
query, I suppose... I have caught up with the basics of .NET pretty
well, thanks to some Microsoft VB/ASP background and helpful
colleagues...
The query goes...

In a DOTNET based desktop application environment, does it make sense
to have each copy of the installed application from the different
machines talk directly to the SQL Server Database. Or do you suggest
the use of an Application Server??? Logically, there has to be some
threshold after which SQL Server cannot takeup the load and the
multiple number of connections.. So connection pooling and etc etc...
features of App Server got to be useful, I suppose..

Now coming to the most baffling part of the question. Extending the
logic that an App Server might be needed( I had read somewhere that
COM+ Services can act as App Server.. That is great!!!), where is this
to be hosted?? If this is going to be a seperate server, then how are
the different client machines to talk to the database? They will have
to create objects of the classes and invoke methods in the App
Server!!!! Now how is this to be done, as we are talking about
different machines..... Is it what they use Remoting for??? If yes,
how performance efficient is it for a realtime application with say
100-200 users? If no, then what is the ALTERNATIVE????

Hoping to get a convincing response fro . IT would be fine if you can
guide me to some good material to quench my curiosity..
Thanks and regards,

:)

Jul 21 '05 #2
Dear Nick,

Thanks a lot for your response... It certainly has helped with a lot
of my queries.. If I read you right, you are suggesting that in such a
scenario, an APP Server need not be used and if at all scalability is
a concern, there should be multiple App Servers to cater to the
requirement.... Correct me if I am wrong...

Also can I take the liberty of going one step further and ask, "What
do you think is the scenario where an App Server is needed??"

To answer the query you had put up... Well, a desktop application is
preferred as the targetted users are more comfortable using a desktop
based application(got to do a lot with the predecessor of the
application) with a rich GUI...

The application will only be run in a LAN environment with AD based
security, and so I reckon the Security bit should not be a major
concern... Ofcourse, feel free to correct me if you feel so...

Thanks once again for the response.

Regards,

:)

"Nick Malik" <ni*******@hotm ail.nospam.com> wrote in message news:<2R4Mc.148 488$IQ4.38512@a ttbi_s02>...
Boy, you must have one heck of an application to be worried about this level
of scaling...

So, if you want to scale a desktop client environment...

First off, why a desktop client environment? That's the first point in
scaling and security... in a web environment, you can hide that db server
behind a secondary firewall. With a client/server environment, you have a
db server out in the open, ready to be attacked... Web servers tend to have
more efficient interfaces... not always, but usually.

Now, assuming a desktop environment...
Sure, you can use remoting to access the application server, but you won't
see an improvement in *performance* until you scale quite a bit. A single
managed code component can not handle more concurrent connections than the
finely tuned communication layer that SQL Server uses. To see a performance
increase on an app server, you have to have three or four of them (my
guess), and you'd have to be using them in some way where they can minimize
the hits on SQL (like with caching, or async updates). No, App servers are
not normally something you do for performance. At least, not one at a time.

So, what if you do want to improve performance? For queries, you still have
to use synchronous messages, but for updates and inserts, I'd suggest async
messages, sent over HTTP, to a load-balanced array of machines using SOAP
web services. As connectionless and as stateless as you can possibly get
away with.

Does that help?
--- Nick

"Varkey" <va**********@y ahoo.com> wrote in message
news:ea******** *************** ***@posting.goo gle.com...
Dear friends,

I am new to .NET based app development and have a pretty elementary
query, I suppose... I have caught up with the basics of .NET pretty
well, thanks to some Microsoft VB/ASP background and helpful
colleagues...
The query goes...

In a DOTNET based desktop application environment, does it make sense
to have each copy of the installed application from the different
machines talk directly to the SQL Server Database. Or do you suggest
the use of an Application Server??? Logically, there has to be some
threshold after which SQL Server cannot takeup the load and the
multiple number of connections.. So connection pooling and etc etc...
features of App Server got to be useful, I suppose..

Now coming to the most baffling part of the question. Extending the
logic that an App Server might be needed( I had read somewhere that
COM+ Services can act as App Server.. That is great!!!), where is this
to be hosted?? If this is going to be a seperate server, then how are
the different client machines to talk to the database? They will have
to create objects of the classes and invoke methods in the App
Server!!!! Now how is this to be done, as we are talking about
different machines..... Is it what they use Remoting for??? If yes,
how performance efficient is it for a realtime application with say
100-200 users? If no, then what is the ALTERNATIVE????

Hoping to get a convincing response fro . IT would be fine if you can
guide me to some good material to quench my curiosity..
Thanks and regards,

:)

Jul 21 '05 #3
An additional Query on this topic

I had been going through a few websites.... and came across this
one...

http://www.eggheadcafe.com/articles/20021025.asp
Does this also state that it is not worthwhile to have an App Server
for an application like the one I have discussed below, but let the
office clients talk directly to the database....

Thanks and regards,

Varkey



"Nick Malik" <ni*******@hotm ail.nospam.com> wrote in message news:<2R4Mc.148 488$IQ4.38512@a ttbi_s02>...
Boy, you must have one heck of an application to be worried about this level
of scaling...

So, if you want to scale a desktop client environment...

First off, why a desktop client environment? That's the first point in
scaling and security... in a web environment, you can hide that db server
behind a secondary firewall. With a client/server environment, you have a
db server out in the open, ready to be attacked... Web servers tend to have
more efficient interfaces... not always, but usually.

Now, assuming a desktop environment...
Sure, you can use remoting to access the application server, but you won't
see an improvement in *performance* until you scale quite a bit. A single
managed code component can not handle more concurrent connections than the
finely tuned communication layer that SQL Server uses. To see a performance
increase on an app server, you have to have three or four of them (my
guess), and you'd have to be using them in some way where they can minimize
the hits on SQL (like with caching, or async updates). No, App servers are
not normally something you do for performance. At least, not one at a time.

So, what if you do want to improve performance? For queries, you still have
to use synchronous messages, but for updates and inserts, I'd suggest async
messages, sent over HTTP, to a load-balanced array of machines using SOAP
web services. As connectionless and as stateless as you can possibly get
away with.

Does that help?
--- Nick

"Varkey" <va**********@y ahoo.com> wrote in message
news:ea******** *************** ***@posting.goo gle.com...
Dear friends,

I am new to .NET based app development and have a pretty elementary
query, I suppose... I have caught up with the basics of .NET pretty
well, thanks to some Microsoft VB/ASP background and helpful
colleagues...
The query goes...

In a DOTNET based desktop application environment, does it make sense
to have each copy of the installed application from the different
machines talk directly to the SQL Server Database. Or do you suggest
the use of an Application Server??? Logically, there has to be some
threshold after which SQL Server cannot takeup the load and the
multiple number of connections.. So connection pooling and etc etc...
features of App Server got to be useful, I suppose..

Now coming to the most baffling part of the question. Extending the
logic that an App Server might be needed( I had read somewhere that
COM+ Services can act as App Server.. That is great!!!), where is this
to be hosted?? If this is going to be a seperate server, then how are
the different client machines to talk to the database? They will have
to create objects of the classes and invoke methods in the App
Server!!!! Now how is this to be done, as we are talking about
different machines..... Is it what they use Remoting for??? If yes,
how performance efficient is it for a realtime application with say
100-200 users? If no, then what is the ALTERNATIVE????

Hoping to get a convincing response fro . IT would be fine if you can
guide me to some good material to quench my curiosity..
Thanks and regards,

:)

Jul 21 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

33
15859
by: aa | last post by:
I am migrating to PHP from ASP where there are the Application Scope variables which are accessible from any page on a website and which are used, in particular, for hit counters. Is there a similar mechanism in PHP?
3
5337
by: ^CeFoS^ | last post by:
Hi to everybody, due to I want to use the serial port of a server machine through an applet allocated in html document. > Then one application will run in the server machine and using > the serial port. The other application that will be called in the html > document that it'll allocate the frame with the user interfaz and > it'll manage the events (applet). > > But I have any questions. I suppose the server application will be > running...
5
2556
by: Matt | last post by:
I think this is the basic concept in ASP server-side development. My boss told me web application is NOT client-server application. I argued with him because browser is the client, and the server code put in server. Then web application should be a client-server application. My understanding is that a web application is an application that runs on a browser. But client-server application is not necessary a web application. Please...
43
2807
by: Davey | last post by:
I am planning on developing an application which will involve skills that I have very little experience of - therefore I would appreciate comments on my initial design thoughts. Overview on system: I'm not going to divulge the exact aims of the application but the purpose of it is to allow multiple client applications to retrieve data from a database (on a db server) and feed this data into another Windows
9
1888
by: Wayne Wengert | last post by:
I built an ASP application and it runs fine on my local IIS. I am trying to move the application to my web service (ISP) out on the internet. I've read several of the help articles but they all seem to think I am deploying to localhosts. I created a new directory on my web page and copied most of the files from the wwwroot subdirectory where my project exists. When I try to open the page (by pointing to "WebForm1.aspx in the new...
21
2160
by: Chris | last post by:
I'm trying to get an existing VS.NET project up on my Win2003 server and I get the following error (on the actual website page): "It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS." I've been told by the previous developer that the website needs to be set as a "application". I...
3
285
by: Varkey | last post by:
Dear friends, I am new to .NET based app development and have a pretty elementary query, I suppose... I have caught up with the basics of .NET pretty well, thanks to some Microsoft VB/ASP background and helpful colleagues... The query goes... In a DOTNET based desktop application environment, does it make sense to have each copy of the installed application from the different
17
3532
by: Timothy.Rybak | last post by:
Hello all, This is my first attempt at an application, so kid gloves are appreciated. I need to make a very simple form that only has a few elements. One is TraceCode - a text field that is populated when a user scans a label. The other is ScanDate - a date/time field that should equal the date/time of the scan (e.g. 7/31/2006 5:00:00 AM).
13
4735
by: Kevin Liebowicz | last post by:
Yes, I wasted the past two days trying to fix this. Yes, this is on a Win2003 Server. Yes, this machine is a domain controller. Yes, I seen the dozens of KB articles like this one: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q315158 But the problem is that 99% of these are for ASP .NET 1.x and this is .NET 2.x which I just installed to try and get .net working for the first time ever. I've see all the HACKS to get .net 1.x...
0
7969
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
7886
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8381
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8258
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6688
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5431
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3886
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
3927
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2404
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.