Database Reference
In-Depth Information
Performance transparency is achievable through the technique of load balancing
that is based on the replication transparency; the middleware layer transparently
decides on the balancing decision to select the replica with the least load to provide
the requested service. Furthermore, the performance can also be prevented from
degrading by continuously monitoring the patterns of access to components and migrating
the components appropriately to minimize remote access .
10.1.1 Distributed Application Requirements
As described earlier, an application is made up of three main constituents, namely, data, servers,
and clients. A large-scale system is one that is capable 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 utilization
involving two aspects:
Determining the critical resources in a system
Devising a mechanism to not only use the resources efficiently but to also enable selective
addition of more resources as required
10.1.1.1 Resource Management
SAP CRM Enterprise Server manages a pool of SAP CRM Servers, mediates the coordination
between them, and balances the workload among them. The modularity of the enterprise com-
ponent architecture enhances scalability by adding, as required, more resources to the system
configuration.
The SAP CRM Server itself uses several different resource pools to manage critical resources:
1. 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.
2. Components' process threads : Is effectively the flow of control corresponding to the compo-
nent in using processing resources on the server. A component has two aspects: behavior
as demonstrated via executing threads and the state of the business entity being processed
upon. Each component uses several additional resources such as memory, database con-
nections, and locks. The server apparently supports many components concurrently 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 component for use in any application; subsequently, the server saves the compo-
nent's state, flushes the component from the server, and redeploys those resources for other
components. This process of saving and restoring a component's state is termed as state
management .
The state-management trade-off is between
a. Cost of keeping a set of related objects concurrently in memory in terms of tying down
of requisite resources like memory, database connections, and locks on various database
and systems resources
 
Search WWH ::




Custom Search