Unix Technical Forum

What is an application server?

This is a discussion on What is an application server? within the Sun Solaris Administration forums, part of the Solaris Operating System category; --> Hi all, In simple terms, just what is an application server? I mean, taking some osrt of database driven ...


Go Back   Unix Technical Forum > Unix Operating Systems > Solaris Operating System > Sun Solaris Administration

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 01-12-2008, 06:49 AM
Rich Teer
 
Posts: n/a
Default What is an application server?

Hi all,

In simple terms, just what is an application server?
I mean, taking some osrt of database driven web application
(written in PHP or JSP, for example) as an example, I can see
where one would need one or more web servers (for HTTP), and
I can see that a separate database server is pretty much
mandatory. I just don't understand how one can put another
layer between these two.

TIA for any illumination,

--
Rich Teer, SCNA, SCSA

President,
Rite Online Inc.

Voice: +1 (250) 979-1638
URL: http://www.rite-online.net
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 01-12-2008, 06:49 AM
Josh McKee
 
Posts: n/a
Default Re: What is an application server?

On Tue, 04 Nov 2003 00:01:26 GMT, Rich Teer <rich.teer@rite-group.com>
wrote:

>Hi all,
>
>In simple terms, just what is an application server?
>I mean, taking some osrt of database driven web application
>(written in PHP or JSP, for example) as an example, I can see
>where one would need one or more web servers (for HTTP), and
>I can see that a separate database server is pretty much
>mandatory. I just don't understand how one can put another
>layer between these two.
>
>TIA for any illumination,


This should probably help you out:

http://www.aceshardware.com/read.jsp?id=50000347

Josh
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 01-12-2008, 06:49 AM
Keith Michaels
 
Posts: n/a
Default Re: What is an application server?

In article <Pine.SOL.4.58.0311031556240.6007@zaphod>,
Rich Teer <rich.teer@rite-group.com> writes:
|> Hi all,
|>
|> In simple terms, just what is an application server?
|> I mean, taking some osrt of database driven web application
|> (written in PHP or JSP, for example) as an example, I can see
|> where one would need one or more web servers (for HTTP), and
|> I can see that a separate database server is pretty much
|> mandatory. I just don't understand how one can put another
|> layer between these two.

Back in the olden days (pre-web) there were just clients and
servers, and sometimes database servers. The term "application
server" came to describe where you ran your business logic.
Now web servers run business logic via servlets and EJBs, so
they're really application servers. You don't need another
server unless you want to isolate business logic from web services.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 01-12-2008, 06:49 AM
Rich Teer
 
Posts: n/a
Default Re: What is an application server?

On Tue, 4 Nov 2003, Josh McKee wrote:

> This should probably help you out:
>
> http://www.aceshardware.com/read.jsp?id=50000347


Thanks; that's an interesting article - but not too helpful
in defining what an app server is. Although I did gather
that they replaced an Apache/PHP solution with an app server,
I'm not sure how that would fit into the context of say
a shopping cart or something.

--
Rich Teer, SCNA, SCSA

President,
Rite Online Inc.

Voice: +1 (250) 979-1638
URL: http://www.rite-online.net
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 01-12-2008, 06:49 AM
Rich Teer
 
Posts: n/a
Default Re: What is an application server?

On Tue, 4 Nov 2003, Keith Michaels wrote:

> Back in the olden days (pre-web) there were just clients and
> servers, and sometimes database servers. The term "application
> server" came to describe where you ran your business logic.
> Now web servers run business logic via servlets and EJBs, so
> they're really application servers. You don't need another
> server unless you want to isolate business logic from web services.


OK, I've got that. I must be missing something here, because
I still don't quite grok it.

I'm thinking of a hyperthetical appliction, some sort of
dynamic database driven site. I can visualise how one would
implement this in say PHP: the PHP scripts get executed by
Apache (performing SELECTs etc. with the database), which then
outputs HTML which gets rendered by the user's browser. Would
an application server sit "between" the Apache/PHP combo and
the database, or would it be more accurate to say that in this
example, Apache/PHP *is* the app server (albeit perhaps a crude
one)? If that is the case, would it also be accurate to say
that even Apache with CGI scripts would be (an ever cruder)
application server?

--
Rich Teer, SCNA, SCSA

President,
Rite Online Inc.

Voice: +1 (250) 979-1638
URL: http://www.rite-online.net
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 01-12-2008, 06:49 AM
Brad Lanam
 
Posts: n/a
Default Re: What is an application server?

In article <Pine.SOL.4.58.0311031934340.6007@zaphod>, Rich Teer wrote:
> OK, I've got that. I must be missing something here, because
> I still don't quite grok it.


Well, a real-world (but not really great) example of a
3-tiered application I worked on: the California
smog check 2 application:
modem server - handled connections, messages back
and forth to smog check machines.
app server - accepted messages from modem server,
reformatted and sent to database server.
database server - database + business logic.
In this case, the app server was really stupid, since
all the business logic was implemented in the database.
This is a many to fewer to one sort of tier. This was
w/Oracle 6, and the database connections on the database
server ate up a lot of memory on the DB server. So creating
48 persistent connections for each of the 5 modem servers was
out of the question. They had not enough memory on an E1000
for the DB.

This is fairly typical -- many connections, most of which
are not busy, or are waiting for i/o. Fewer application
servers to handle the requests and feed them to the database.

> [...]
> the database, or would it be more accurate to say that in this
> example, Apache/PHP *is* the app server (albeit perhaps a crude
> [...]


Sure, this is a two-tiered app-server+database.

The trouble is, as the application grows, so do the resources
you need to run the web server.

If you end up with a huge program running inside of each
web server, you will end up using up a lot of resources
just to deliver a picture or static web page over the web
to a client browser.

You want the web server to do what it does best. So you have
the web server ask the application for the results.
The web server could ask a different application engine for
other information. And the database handles requests from both
types of applications.

Again, many connections, most of which are not busy, stuck
in keep-alive state or waiting for i/o.

-- Brad

--
-- Brad Lanam bll@gentoo.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 01-12-2008, 06:49 AM
Ian Fitchet
 
Posts: n/a
Default Re: What is an application server?

Brad Lanam <bll@seer.gentoo.com> writes:

> In this case, the app server was really stupid, since
> all the business logic was implemented in the database.


This is symptomatic of why the ideal of a 3-tier model collapses into
two (or fewer!). In the ideal case you have the given three layers:

- database
- business logic
- display

each of which runs in its own suitably confined layer (whether the
confinement is physically separate machines, firewalled, separate
processes or whatever). This lets you change database or display
mechanism or business logic with ease. The database runs on the
database server, the business logic on your application server and
the display on, say, the webserver.

But it doesn't as the first thing to fail is the distinction between
business logic and display as most systems are destined for a single
display mechanism (HTML, say) and so assumptions about that display
mechanism are buried in the business logic. The purists would have
the business logic output some intermediate code (XML, say) suitable
for translation into your favoured display mechanism. The standard
business logic environments (J2EE, say) have plenty of friendly
support for generating the display directly and it's all too easy to
do it yourself rather than code for an intermediary form which the
same-development-language display layer promptly has to decode to
display. How inefficient is that?

The second to go is the purity of the database as database guys have
been quite properly trained to provide functionality in the DB by way
of stored procedures. It doesn't take long for those stored
procedures to support the application much more than ensuring data is
committed to reliable backing store requires. A stored procedure
that is clever about how it stores data quickly because it "knows"
about the data and how it is manipulated becomes a vital part of the
application.

There are lots of good reasons for letting this happen as often as
you can say efficient but it doesn't help clarity of design nor
portability, modularity, supportability (and virtually everything
else bar efficiency). However the result is that the goal of running
your business logic on your application server is lost as you are
really authoring a database helper cum display engine on your
webserver.

As the genre of n-tier models matures it's getting better especially
with the opportunity to support more output media (mobile phone
browsers as well as traditional browsers, say).

Cheers,

Ian
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 01-12-2008, 06:50 AM
Josh McKee
 
Posts: n/a
Default Re: What is an application server?

On Tue, 04 Nov 2003 03:35:04 GMT, Rich Teer <rich.teer@rite-group.com>
wrote:

>On Tue, 4 Nov 2003, Josh McKee wrote:
>
>> This should probably help you out:
>>
>> http://www.aceshardware.com/read.jsp?id=50000347

>
>Thanks; that's an interesting article - but not too helpful
>in defining what an app server is. Although I did gather
>that they replaced an Apache/PHP solution with an app server,
>I'm not sure how that would fit into the context of say
>a shopping cart or something.


Sorry Rich, I think that I gave you the wrong link. This one might be
better:

http://www.aceshardware.com/read.jsp?id=45000240

Josh
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 01-12-2008, 06:50 AM
Rich Teer
 
Posts: n/a
Default Re: What is an application server?

On Tue, 4 Nov 2003, Josh McKee wrote:

> Sorry Rich, I think that I gave you the wrong link. This one might be
> better:
>
> http://www.aceshardware.com/read.jsp?id=45000240


Yes, that one is better - thanks.

--
Rich Teer, SCNA, SCSA

President,
Rite Online Inc.

Voice: +1 (250) 979-1638
URL: http://www.rite-online.net
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 01-12-2008, 06:50 AM
Dr. David Kirkby
 
Posts: n/a
Default Re: What is an application server?

Rich Teer wrote:
>
> Hi all,
>
> In simple terms, just what is an application server?
> I mean, taking some osrt of database driven web application
> (written in PHP or JSP, for example) as an example, I can see
> where one would need one or more web servers (for HTTP), and
> I can see that a separate database server is pretty much
> mandatory. I just don't understand how one can put another
> layer between these two.
>
> TIA for any illumination,
>
> --
> Rich Teer, SCNA, SCSA
>
> President,
> Rite Online Inc.
>
> Voice: +1 (250) 979-1638
> URL: http://www.rite-online.net


Is is a Microsoftism, so they can hire you software which you run from
their 'application server'??? I always wanted to run my applications
at Microsoft, rather than locally. It seems to make best use of the
internet bandwidth!!

I believe that is the way MS are trying to get people to head.

--

"The day Microsoft makes something that doesn't suck is probably
the day they start making vacuum cleaners." -Ernst Jan Plugge.

Dr. David Kirkby Ph.D
Author of 'atlc' http://atlc.sourceforge.net/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 08:18 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com