Entry
Internet: Web server: Application server: What is: application server? [cgi-bin]
May 26th, 2006 17:57
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 28 February 2004 - 00:00 am -------------------
Internet: Web server: Application server: What is an application
server? [cgi-bin]
---
An application server is middleware, software that serves as a
connection between disparate programs.
---
An application server is a software server that lets thin clients use
applications and databases that are managed by the server.
---
The application server handles all the application operations and
connections for the clients.
===
Typical system containing an application server, as shown in the
figure:
1. The web client sends a request to the web server
2. The web server sends this request further to the application server
(middleware)
3. The application server processes this information and sends this
request further to other software, mostly
1. databases
2. e-mail servers
3. other
4. This other software (e.g. the database) processes this request
(e.g. runs an SQL query) and sends the result of it back to the
application server.
5. The application server processes this result and sends it back to
the web server
6. The webservers sends this result back to the web client
7. The web client shows this result (e.g. a table showing the output
of that SQL query) to the user
===
figure: typical application server system:
+---------------+ 1.
|(web) client |
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+
^
|
v
+---------------+ 2.
|(web) server |
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+
^
|
v
+---------------+ 3.
|application |
|server |
| |
| |
| |
| |
| |
| |
| |
+---------------+
^
|
v
+---------------+ 4.
|other software |
|(databases) |
| |
| |
| |
| |
| |
| |
| |
+---------------+
---
An application server is a 'server for applications'.
---
In other words it serves the needs of the applications on that
system.
So it has been adapted to serve this needs better.
---
This applications are mostly databases.
---
Historically:
So it is a bit like a special case of the cgi-bin
system.
You put your executable applications or links to that
applications in the cgi-bin directory.
To communicate with this applications, you type requests
(e.g. a url with parameters, or via a stream) in your client
browser.
Then you call the web server with this information.
The web server listens on a certain port, receives this information
there, and sends it after further handling further to the applications
in the cgi-bin directory.
That applications function then as 'application servers' (e.g. they
convert the information (e.g. the given URL with parameters) to an SQL
query, and send this further to the database (which e.g. imports that
query).
The database processes that query and sends it back (e.g. via export)
to that application in the cgi-bin directory.
The application processes this result and sends it back to the web
server.
The webserver sends it back to the web client.
---
Each vendor might of course have been interested to optimize the
performance of a general web server in order to serve its products
(e.g. databases) better.
(e.g. these vendors developed and added e.g. extra external modules to
a general web server like Apache to handle more easily e.g. connections
to their applications like Oracle, Sybase, IBM, Microsoft SQL server,
... databases, or other more specific products) which resided or are
started initially e.g. in the cgi-bin directory).
As that external modules (or application servers) have more specific
programming code (e.g. specific to the connection to an IBM database)
built in it, is probably easier to write short and easy code to connect
to this databases.
This external modules are then also more optimized, so give very fast
response times and or can handle a lot of simultaneous requests from
clients to that applications (e.g. handling a lot of bank transactions,
when necessary).
===
Internet: see also:
---
Internet: Web server: Application server: Link: Overview: Can you give
an overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/29183/fid/1658
----------------------------------------------------------------------