Management of distributed and stand-alone servers
It is possible to encounter a scenario where there might be multiple distributed environments, each managed by their own deployment manager. With multiple deployment managers, they must be administered individually and there is no way of coordinating management actions between the different distributed environments without the job manager. Distributed environment administration performance would be affected by low latency networks because file synchronization between the deployment manager and node agent are dependent on network communication.
The job manager can be used to administer multiple distributed environments as well as stand-alone servers. The job manager administers the environment asynchronously using the concept of jobs. Because jobs are submitted asynchronously, a low latency network is sufficient, which can be useful when the environment is distributed over distant geographical areas.
To administer a distributed environment, the deployment manager is registered with the job manager. To administer stand-alone servers, the nodes managed by the administrative agent are registered with the job manager. This relation between the job manager and the environments it can interact with is shown in figure below.
Administrative agent profile
The administrative agent profile provides enhanced management capabilities for stand-alone application servers. An administrative agent profile is created on the same node as the stand-alone servers and can manage only servers on that node. The node configuration for each stand-alone server is totally separate from any other servers on the system, but it can be managed using the administrative console on the administrative agent.
To participate in flexible management, stand-alone base servers first register themselves with the administrative agent. When a base application server registers with an administrative agent, much of the administrative code that was in the base server is consumed by the administrative agent. This action results in a significantly smaller and faster starting base server.
Job manager profile
The job manager is a server type that was added in WebSphere Application Server V7 to support flexible management. A job manager is defined by a job manager profile.
To participate in flexible management, a stand-alone application server first registers itself with the administrative agent. The administrative agent must then register the node for the application server with the job manager. If a deployment manager wants to participate in an environment controlled by a job manager, the deployment manager registers directly with the job manager; no administrative agent is involved in this case.
The main use of the job manager is to queue jobs to application servers in a flexible management environment. These queued jobs are pulled from the job manager by the administrative agent and distributed to the appropriate application server or servers.
Both deployment manager and administrative agents retain autonomy and can be managed without the job manager. A job manager can submit jobs to one or more administrative agents or deployment managers, and an administrative agent or a deployment manager can register with more than one job manager, if desired.
The units of work that are handled by the flexible management environment are known as jobs. The semantics of these jobs are typically straightforward, and the jobs require few parameters. The jobs are processed asynchronously and can have an activation time, expiration time, and a recurrence indicator. You can specify that an e-mail notification be sent upon completion of a job. Additionally, you can view the current status of a job by issuing a status command.
In figure below, we see that the administrative agent looks like it communicates directly to the job manager node. In practice, the individual application server that is managed by the administrative agent is registered with the job manager directly.
NOTE: In WebSphere Application Server V8, you can complete job manager actions and run jobs from a deployment manager.