Databases Reference
In-Depth Information
There are various classes of application servers:
• Older, proprietary servers such as Tuxedo from BEA Systems on Unix and Win‐
dows, or CICS from IBM on mainframes
• Industry-standard application servers based on Java 2 Enterprise Edition (J2EE)
• The Microsoft .NET application server environment as part of the Windows op‐
erating systems for servers, for example, Windows 2000 or Windows 2003
Application servers provide an environment for running services that clients call. The
clients don't interact directly with the database server. Some examples of calling services
provided by a TP monitor on a remote machine seem similar in many ways to the stored
procedure architecture described in the previous section, which is why stored
procedure-based systems are sometimes referred to as “TP-Lite.”
Application servers provide additional valuable services, such as:
Funneling
Like Oracle's shared servers, application servers leverage a pool of shared services
across a larger user population. Instead of each user connecting directly to the
database, the client calls a service running under the TP monitor or application
server's control. The application servers invoke one of its services; the service in‐
teracts with the database. This architecture can be used to protect crucial data from
direct client access.
Connection pooling
The application server maintains a pool of shared, persistent database connections
used to interact with the database on behalf of clients in handling their requests.
This technique avoids the overhead of individual sessions for each client.
Load balancing
Client requests are balanced across the multiple shared servers executing on one
or more physical machines. The application servers can direct client service calls
to the least-loaded server and can spawn additional shared servers as needed.
Fault tolerance
The application server acts as a transaction manager; the monitor performs the
commit or rollback of the transaction. 2 The underlying database becomes a resource
manager, but doesn't control the transaction. If the database server fails while exe‐
cuting some transaction, the application server can resubmit the transaction to a
surviving database server, as control of the transaction lies with the application
server.
2. TP monitors usually control transactions using the X/Open Distributed Transaction Processing standard
published by the X/Open standards body. A database that supports the XA interface can function as a resource
manager under control of a TP monitor, which acts as a transaction manager.
Search WWH ::




Custom Search