Thursday, August 15, 2013

What is the Difference between Adminserver/Manager Server/Nodemanager

What Are WebLogic Servers:

WebLogic Servers are the Programs Java programs which starts listening on a perticular port (Secure/Non-Secure) to serve clients requests. It can also have many sub systems for request processing like Jdbc Pools, JMS modules, Jolt connection Pools, Mail Servers,…etc are deployed on servers.
WebLogic Servers can be categorized in two categories
1). Admin Server
2). Managed Servers

What is Administration Server :-

Administration Server is WebLogic Server instance that maintains configuration data for a domain. You can deploy your application on administration Server but it is recommended to create managed Server and deploy your application in managed server and leave Administration domain for configuration and maintenance.
AdminServer helps us to Migrate Servers and Services within the domain.
AdminServer helps us to Deploy Applications within the domain…targeted to ManagedServers/Clusters or targeted to AdminServer itself.

What is Managed Server :-

Any Web Logic Server instance apart from Administration Server is called as Managed Servers. This is web logic server where you deploy your application (Though you can deploy your application in Administration server as well but it is not recommended in production/UAT instance)
Each Managed Server is independent of all other Managed Servers in the domain. Managed Servers can be part of Clusters to work together as a Unit. We can have one or more than one Managed Servers in a domain according to our requirement. The Managed Servers can reside inside the Physical box of AdminServer or they can run on a Separate Physical Box as well.
What is Cluster in WebLogic:-

Group of WebLogic Managed Server Instances that work together to provide high availability and scalability for applications is called cluster. WebLogic Servers with in cluster can run on same machine or different machines. These are also called as managed Server cluster.

What is WebLogic Domain:-

A WebLogic Domain is a logically related group of WebLogic Server instances (Admin + managed Servers)that you manage from a single set of configuration artifacts. A weblogic Domain contains exactly one AdministrationServer and zero or more than zero managed Servers.
All WebLogic Server instances within the same domain must be at the same major and minor version.
Servers within a domain can be at different Maintenance Pack levels as long as the Administration Server is at the same Maintenance Pack Level or higher than its Managed Servers.

How Managed Servers interacts with Admin Server:-

The Administration Server stores the master copy of the domain configuration, which contains all the configuration for all managed servers in the domain including other resource configurations like DataSource, JMS respurces, WLDF , mail Session…etc configurations as part of the “config.xml” file which is placed inside the: “Bifoundation\config” directory
Example: C:\oracle\user_projects\domains\Bifoundation\config\config.xml
Every Managed Server stores a local copy of its configuration with the help of NodeManagers.
If AdminServer is already started then while startup operation of Managed Server, it connects to the Administration Server to synchronize the configuration and in case of any modifications in the “config.xml” it collects those changes from the AdminServer.
If AdminServer is not already running and if we will try to start Managed Servers (in MSI Mode) then Managed Servers get the Cached Configuration file which is provided by the NodeManager with the name of “msi-config.xml”
What Is a WebLogic Server Cluster:-

A cluster is part of a particular WebLogic Server domain.
A WebLogic Server cluster consists of multiple WebLogic Server server instances running simultaneously and working together to provide LoadBalancing and Failover features. A cluster appears to clients to be a single WebLogic Server instance. The server instances that constitute a cluster can run on the same machine, or be located on different machines. We can add any number of Managed Servers as part of a Cluster. Each server instance in a cluster must run the same version of WebLogic Server. At any point of time Any Managed Server can not belong to more than one Clusters.
If a domain contains multiple clusters, each cluster in the domain has the same Administration Server.

How Cluster and Domain Are Related:-

A domain is an interrelated set of WebLogic Server resources that are managed as a unit. A domain includes one or more WebLogic Server instances, which can be clustered, non-clustered, or a combination of clustered and non-clustered instances. A domain can include multiple clusters. A domain also contains the application components deployed in the domain, and the resources and services required by those application components and the server instances in the domain. Examples of the resources and services used by applications and server instances include machine definitions, optional network channels, connectors, and startup classes.
What Are the Benefits of Clustering:- 

Scalability (Load Balancing/Load Sharing): The capacity of an application deployed on a WebLogic Server cluster can be increased dynamically to meet demand. You can add server instances to a cluster without interruption of service, the application continues to run without impact to clients and end users.
High-Availability (Failover): In a WebLogic Server cluster, application processing can continue when a server instance fails. You “cluster” application components by deploying them on multiple server instances in the cluster so, if a server instance on which a component is running fails, another server instance on which that component is deployed can continue application processing.

What is NodeManager:-

A Node Manager process is not associated with a specific WebLogic domain but with a machine. Node Manager process to control server instances in any WebLogic Server domain until the server instances reside on the same machine as the Node Manager process.
Node Manager is a WebLogic Server utility that enables you to start, shut down, and restart Administration Server and Managed Server instances from a remote location. Although Node Manager is optional, it is recommended if your WebLogic Server environment hosts applications with high availability requirements.
A Node Manager process is not associated with a specific WebLogic domain but with a machine. You can use the same Node Manager process to control server instances in any WebLogic Server domain, as long as the server instances reside on the same machine as the Node Manager process.
Why We Need Nodemanagers:-

1). It can Start, Shut Down, and Restart an Administration Server which has assigned a Machine.
2). It can Start, Shut Down, and Restart an Managed Server which has assigned a Machine.
3). It can Restart Administration and Managed Servers. (Crash Recovery of Servers is an Interesting feature)
4). It can be used to Monitor Servers and View Log Data

Types of Node Managers:-

1). Java Based Nodemanager: This can be used in Windiows as well as UNIX based Operating systems. Java Based Node Manager is not supported on Open VMS, OS/390, AS400, UnixWare, or Tru64 UNIX.
2). Script Based Nodemanager: This nodemanager can be used in UNIX based operating systems. The advantage of the script-based Node Manager is that it can remotely manage servers over a network that has been configured to use SSH.
For More Information on NodeManager please refer to:

General Questions in interview point of view:-

1.       What is the difference between Node and Node Manager ?
Node Manager is a WebLogic Server utility that enables you to start, shut down, and restart Administration Server and Managed Server instances from a remote location.
Node now there is nothing like node in weblogic servers but many people refer managed servers as Nodes.

2. What is the difference between Admin server Vs managed server ?
Admin server can be only one for a Domain, which works like a Central Configuration/Monitoring controller for the entire domain
Managed server are similar to the Administration Servers, except few differences. Like Managed Servers will not have Administration Console Application (consoleapp) deployed in it

3. What is the relationship between Node/Node Manager to Admin/Managed Server ?
A Now Node Manager is needed to start/stop managed servers from the Admin consoles

Whoever want to learn the web logic concepts, I hope it will help you for basic understand .

Satya Ranki Reddy