Information Technology Reference
In-Depth Information
of supporting simultaneously hundreds of thousands of components that
run in a server, dozens or hundreds of servers, and tens of thousands of
clients. The key to building large-scale applications is optimum resource uti-
lization involving two aspects:
1. Determining the critical resources in a system
2. Devising a mechanism not only to use the resources efficiently but
also to enable selective addition of more resources as required
3.1.4.1 Resource Management
Enterprise Server manages a pool of application servers, mediates the coor-
dination between them, and balances the workload among them. The mod-
ularity of the enterprise component architecture enhances scalability by
adding, as required, more resources to the system configuration.
The application server itself uses several different resource pools to man-
age critical resources:
• Data connection links the server to the database; each server has one
or more connections to the database. For applications to scale well,
a server employs a database connection pool to reuse connections
among the component/client rather than using one connection for
each component/client.
• Components' process threads are effectively the flow of control
corresponding to the one that the component is using while pro-
cessing resources on the server. A component has two aspects—
behavior as demonstrated via executing threads and the state of
the business entity being processed. Each component uses several
additional resources such as memory, database connections, and
locks. The server apparently supports many components concur-
rently by maintaining a pool of threads that are shared among
the many components that need to be executed. When needed, the
server creates the instance of (or restores the state of) the com-
ponent for use in any application; subsequently, the server saves
the component's state, flushes the component from the server,
and redeploys those resources for other components. This pro-
cess of saving and restoring a component's state is termed state
management .
• Client connection links the client to the application via a server. For
each client, there is an associated connection on the server and the
corresponding information regarding the client and connection is
also stored on the server. For the application to support tens of thou-
sands of clients, the number of such client connections in the pool
should be minimized.
Search WWH ::




Custom Search