WebSphere Application Server Profile, Cell, Node, Application Server Basic
WebSphere Application Server is a key SOA building block. We can build a complete SOA application only using WAS. But If we look at the SOA reference Architecture, WAS can be used to develop and deploy Business Application Services. WAS(WebSphere Application Server comes in different packaging with different application server capabilities. Major packages are Base, Express, and Network Deployment.
Network Deployment(WAS ND) package come some unique feature clustering which is not available in other packages. WAS is organized based on the concept of cells, nodes, an servers. All these elements are present in all the packages, and are of most significance in WAS ND. The application server is the run time component under which J2EE application executes. It exists in all packages. In WAS ND we can create clustered and distributed environment, but in Base and Express there can be multiple application servers, but each application server functions as a separate entity.
Profile- Profile is run time instance running in separate JVM instance. Profiles are similar to instances in some application servers. But instances in WAS5 used to have separate configuration files, but used to share some information. WAS6 onwards, profiles were introduced, which used to share core product files, and each profile also had collection of user files. Each profiles created in separate directory, and created using a tool PMT(Profile Management Tool). There are multiple types of profiles. We can say an WAS instance has those features according to defined by the type of its profile. A profile type decorates the WAS instance with features. Different profile types are cell, management, application server, custom, and secure proxy. To deploy and run J2EE application, we need an application server profile, which creates a Stand alone application server.
Stand alone application server, application server acts as a unique entity. Profile Type “Application Server” contains one application server definition. Multiple stand alone application servers can co exist in same machine, and each one can be admistered by their administrative console. In WAS ND, there can be multiple application servers managed from a central location(deployment manager).
Cluster - A logical group of application servers within same cell, and all running the same set of applications and services is Cluster. Application servers are grouped into Nodes, and each node has a node agent, Node Agents communicate with Deployment Manager, and Management of Deployment Manager is done by the Administrative Console. Nodes and Application Servers belong to same cell. Remember, Nodes and Application Servers can be created independently and federated to the cell.
Node, Each application server belongs to a node. Multiple applications servers can be grouped under one node. Node can be assumed to be the physical system on which there are some instances of the application server. There can similarly different machines/nodes. Each node has Node Agent. Node Agent is created when a stand alone node is federated to cell. Node Agent is only included in WAS ND. Node Agents communicate with Deployment manager(One Deployment Manager in one cell, and all node agents of code belonging to same cell). Deployment Manager is the centralized manager of all nodes. Nodes can also be grouped together into Node Group. There can be multiple node groups under one cell.
So, cell is grouping of nodes. At a min a cell must have one node, but when we create cell, two nodes are created(one for deployment manager and other for federated application server). A Stand alone Application Server exists with one stand alone node, this node exists within a cell, which contains only one node. In WAS ND, we can created an env, where multiple nodes(containing multiple servers) can be managed by one deployment manager.
Most Important -
First time when we create cell(while installation), two nodes are created, one contains application server(federated) and other contains deployment manager. If we create any resource(like JMS, JDBC Data Source, etc. ) it can exist within different scopes-
1. All (Resource would be visible to everyone)
2. Cell(Top level), Aug2010Cell01
3. Node1(containing Application Server) second level, Aug2010Node02
4. Node 2(containing deployment manager) second level, Aug2010CellManager01
5. Application Server, lowest level, only visible to this application server. Aug2010Node02, Server=server1
In Bold are the names( in my environment, names may differ in yours).
After WAS installation we can create a Stand alone application server, and when we create any resource using Administrative console of this stand alone server, apart from all we have three scopes – cell(top level), node, and server(lowest level).
In clustered environment, there are multiple nodes within a cell, and there i a deployment manager, which is the central administration point of the cell. Deployment Manager itself runs under a node an communicates with other nodes using their node agents. All the nodes federated to the cell, are managed by single deployment manager.
Multiple Deployment Managers(of different cells), and stand alone application servers, and other administrative agents are managed by Job Manager. Multiple Stand alone Application Servers can be managed from central point using administrative agents and Job Manager.