Quick post… If you are not familiar with WebSphere at first you might get confused with its concepts: cell, deployment manager, node, node agent, cluster, server, …
First of all, lets start with the concept of a Cell:
A Cell is a virtual unit that is built of a Deployment Manager and one or more nodes. I guess a picture will help making things clearer:
But still there are a few concepts that need to be explained. The next obvious one is the Deployment Manager.
The Deployment Manager is a process (in fact it is an special WebSphere instance) responsible for managing the installation and maintenance of Applications, Connection Pools and other resources related to a J2EE environment. It is also responsible for centralizing user repositories for application and also for WebSphere authentication and authorization.
The Deployment Manager communicates with the Nodes through another special WebSphere process, the Node Agent.
The Node is another virtual unit that is built of a Node Agent and one or more Server instances.
The Node Agent it the process responsible for spawning and killing server processes and also responsible for configuration synchronization between the Deployment Manager and the Node. Extra care must be taken when changing security configurations for the cell, since communication between Deployment Manager and Node Agent is ciphered and secured when security is enabled, Node Agent needs to have configuration fully resynchronized when impacting changes are made to Cell security configuration.
Servers are regular Java process responsible for serving J2EE requests (eg.: serving JSP/JSF pages, serving EJB calls, consuming JMS queues, etc).
And to finish, Clusters are also virtual units that groups Servers so resources added to the Cluster are propagated to every Server that makes up the cluster, this will in fact affect usually more than a single Node instance.
Lets finish this post with another diagram to illustrate all those concepts.




Thanks for this info
Good explanation..I have one question, does the servers in the node, share the server filesystem(server related like wpconfig.properties etc) or do they have sperate file system..
Suji,
they have a separate file system. But if you server is in a cluster, node agent performs synchronization of cluster related configuration using a file replication mechanism. That’s the reason you should keep system clock in sync across nodes in a cell.
regards,
Rafael
thanks for the explanation, now I know that server has spereate synchronized binaries in all the servers in a cluster.
Now what happens when we deploy application on the cluster environment? does copy of ear will be created in all the servers?
hi,
i’m getting more information from ur post. I had a doubt.
node agent is connected to servers so when a node agent is down or it is not working. wil servers work or not.
no. it wont work. another mandatory process is the dmgr.
it seems like node agent play part of the role of a name server for the node.
HI,
ple help to solve my problem.I created bus member,destination nd also message engine. message engine have to get started automaticaaly but it did not get start.unavailable symbol is showing. ple resolve my problem.
Below mentioned is the error when i’m trying to start to start the message engine.
“The messaging engine jaya-e6885a8c72Node01.server1-MsgBus cannot be started as there is no runtime initialized for it yet, retry the operation once it has initialized. If dynamic configuration reload is not enabled for this bus then the server will need to be restarted”.
Hi Sri,
Probably you have anything wrong with your messaging engine runtime (eg.: your storage folder has files from a previous running engine or database tables are shared by multiple engines [tables for storage are exclusive]) check these common problems.
Exactly, Dmgr will send copies of the EAR to all nodes that own a server on the cluster that the application is deployed. It performs the same actions as if it were with configuration files.
I am getting more and more information from your post.
Now my question is, how the request is handled in a cluster? Does the request pertaining to one user is directed to particular node or it floats between the nodes?
If it floats between the nodes, how the session management is done?
-Thanks
I can guess that you mean a web request right?
It boils down to the spec, it covers only that if the request is sent to multiple nodes in a cluster this session MUST be propagated.
WebSphere by itself does not do load balancing for web request between servers in a cluster, you need to install IHS or Edge components for this purpose and how the request will be spread is responsibility of IHS and Edge. And this is also an option that is up to you, it depends on your load scenario, application requirements, etc. There are cases where affinity is the way to go, but affinity comes with the price that you might overload one server. Edge components provide an (almost) smart tool that can monitor IHS to check its load but still it can’t check WebSphere load.
regards,
Rafael Ribeiro