Sei sulla pagina 1di 36
<Insert Picture Here>
<Insert Picture Here>
<Insert Picture Here> WebLogic Server Overview Topology, Configuration and Administration Dave Cabelus WebLogic

WebLogic Server Overview Topology, Configuration and Administration

Dave Cabelus WebLogic Server Product Management

May 2008

Agenda • Topology • Domain • Server • Admin Server • Managed Server • Cluster

Agenda

Topology

Domain

Server

Admin Server

Managed Server

Cluster

Node Manager

Machine

Configuration Files

Administration Tools

Sample Configuration Schemes

• Node Manager • Machine • Configuration Files • Administration Tools • Sample Configuration Schemes 2
Domain • What is it? • a logically related group of WebLogic Server instances that

Domain

What is it?

a logically related group of WebLogic Server instances that you manage from a single set of configuration artifacts.

What’s in a domain?

Servers

Clusters of servers

Rules:

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.

long as the Administration Server is at the same Maintenance Pack Level or higher than its

config.xml

long as the Administration Server is at the same Maintenance Pack Level or higher than its
long as the Administration Server is at the same Maintenance Pack Level or higher than its
Server • What is it? • A configured instance to host applications and resources •

Server

What is it?

A configured instance to host applications and resources

WebApps, Enterprise Apps, Web Services, …

JMS, JDBC, Diagnostics, …

What types of servers are there?

Administration Server

Managed Server

JNDI JMS Queue JDBC Pool
JNDI
JMS
Queue
JDBC Pool
… • What types of servers are there? • Administration Server • Managed Server JNDI JMS
Administration Server • What is it? • Central configuration controller for the entire domain •

Administration Server

What is it?

Central configuration controller for the entire domain

What else does it do?

Hosts the Administration Console

Enables you to start and stop servers from a central location

Enables you to migrate servers and services within the domain

Enables you to deploy applications within the domain

Guidelines:

There must be exactly one* Administration Server in domain

An Administration Server controls only one domain.

For production use, we recommend not hosting application logic or resources on the Administration Server

Managed Servers

Admin Server config.xml
Admin Server
config.xml

Admin Console

*The Administration Server does not need to run at all times, but is required for making configuration and deployment changes to a running domain.

does not need to run at all times, but is required for making configuration and deployment
Managed Server • What is it? • A running instance that hosts applications and resources

Managed Server

What is it?

A running instance that hosts applications and resources needed by those applications - The real work horses in a WebLogic domain

Each Managed Server is independent of all other Managed Servers in the domain (unless they are in a cluster, defined later)

You can have as many Managed Servers in a domain as you need

Individual Managed Servers are typically added for capacity and application isolation

JNDI JMS Queue JDBC Pool
JNDI
JMS Queue
JDBC Pool
• Individual Managed Servers are typically added for capacity and application isolation JNDI JMS Queue JDBC
Administration Server to Managed Server Interaction • The Administration Server stores the master copy of

Administration Server to Managed Server Interaction

The Administration Server stores the master copy of the domain configuration, including the configuration for all managed servers in the domain

Each Managed Server stores a local copy of its configuration.

When a Managed Server starts, it connects to the Administration Server to synchronize the configuration

When configuration is changed, the Administration Server sends changed configuration to Managed Servers

• When configuration is changed, the Administration Server sends changed configuration to Managed Servers 7
Cluster • A cluster is a group of Managed Servers running simultaneously and working together

Cluster

A cluster is a group of Managed Servers running simultaneously and working together to provide increased scalability and reliability

Scalability: through parallelism

Reliability/Availability: through replication and redundancy

A cluster appears as a single instance to most clients.

Clusters enable some advanced features, such as Whole Server Migration, Service Migration, and clustered JMS destinations.

Cluster 1

Cluster 1 Admin Svr Cluster 2

Admin Svr

Cluster 1 Admin Svr Cluster 2

Cluster 2

such as Whole Server Migration, Service Migration, and clustered JMS destinations. Cluster 1 Admin Svr Cluster
Cluster Guidelines • All servers in a cluster must also be in the same domain.

Cluster Guidelines

All servers in a cluster must also be in the same domain.

All servers within a cluster must be at the same Maintenance Pack level.

Clustered servers can be on the same or different machines.

You can have multiple clusters in a domain.

level. • Clustered servers can be on the same or different machines. • You can have
Load Balancing in a Cluster • For JSPs and Servlets: load balancing is external •

Load Balancing in a Cluster

For JSPs and Servlets: load balancing is external

Web server proxy plug-in (round robin)

HTTP Proxy servlet (i.e., using WLS as a load balancer)

3 rd party hw or sw load balancer

EJBs and RMI Objects: load balancing is done at connection

Objects are cluster-aware

Load balancing algorithm is stored in the clustered object’s stub

Objects are available on all cluster members; remote objects connect/use according the LB algorithm in the stub

Load balancing algorithms: Round robin, weighted, random, server affinity

according the LB algorithm in the stub • Load balancing algorithms: Round robin, weighted, random, server
Failover in a Cluster • Servlets and JSPs: • HTTP session state is replicated to

Failover in a Cluster

Servlets and JSPs:

HTTP session state is replicated to a secondary server in the cluster or to a database

EJBs and RMI Objects:

Replicas available throughout the cluster

Exceptions caught and retried on another instance

For Stateful Session Beans, state is replicated on a secondary server

caught and retried on another instance • For Stateful Session Beans, state is replicated on a
Communication in a Cluster • Peer to Peer using Sockets - used for: • Accessing

Communication in a Cluster

Peer to Peer using Sockets - used for:

Accessing non-clustered objects deployed to another clustered server instance on a different machine.

Replicating HTTP session states and stateful session EJB states between a primary and secondary server instance.

Accessing clustered objects that reside on a remote server instance.

Peer to Peer using Unicast or Multicast - used for:

Cluster-wide JNDI updates

Heartbeats

Cluster-wide JNDI tree

Lists local resources and resources available throughout the cluster

List is maintained on all servers in the cluster

local resources and resources available throughout the cluster • List is maintained on all servers in
Node Manager • Utility/process running on a physical server that enables you to start, stop,

Node Manager

Utility/process running on a physical server that enables you to start, stop, suspend, and restart WebLogic Server instances remotely

Must run on each physical server that hosts WebLogic Server instances that you want to control with Node Manager

Not associated with a domain. Can start any server instance that resides on the same physical server.

Optional, but required to start/stop servers using the Administration Console

Required for Whole Server Migration and for some configurations of Automatic Service Migration

Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server Node Manager
Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server Node Manager
Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server Node Manager
Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server Node Manager

Admin Serverfor Whole Server Migration and for some configurations of Automatic Service Migration Managed Server Node Manager

Managed Serverfor Whole Server Migration and for some configurations of Automatic Service Migration Admin Server Node Manager

Node Managerfor Whole Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server

Server Migration and for some configurations of Automatic Service Migration Admin Server Managed Server Node Manager
Machine • A definition that identifies a particular, physical piece of hardware. • A machine

Machine

A definition that identifies a particular, physical piece of hardware.

A machine definition is used to associate a computer with the Managed Servers it hosts.

Used by Node Manager in restarting a failed Managed Server

Used by a clustered Managed Server in selecting the best location for storing replicated session data

Server • Used by a clustered Managed Server in selecting the best location for storing replicated
Service Configuration • Besides topology elements, you also configure the services in a domain that

Service Configuration

Service Configuration • Besides topology elements, you also configure the services in a domain that applications

Besides topology elements, you also configure the services in a domain that applications rely on:

JMS, JDBC, Diagnostics, etc.

General notion:

Configure the service in the domain

Target to specific servers or clusters

An instance of the resource is created on each server specified

domain • Target to specific servers or clusters • An instance of the resource is created
Agenda • Topology • Domain • Server • Admin Server • Managed Server • Cluster

Agenda

Topology

Domain

Server

Admin Server

Managed Server

Cluster

Node Manager

Machine

Configuration Files

Administration Tools

Sample Configuration Schemes

• Node Manager • Machine • Configuration Files • Administration Tools • Sample Configuration Schemes 16
Domain Directory Domain name Start and stop scripts Root configuration for the domain Configuration files

Domain Directory

Domain name
Domain name
Start and stop scripts Root configuration for the domain Configuration files for WLDF, JDBC, JMS,
Start and stop
scripts
Root configuration for
the domain
Configuration files for
WLDF, JDBC, JMS,
and Security
Pending configuration
changes
Subdirectory for each Managed
Server in the domain
WLDF, JDBC, JMS, and Security Pending configuration changes Subdirectory for each Managed Server in the domain
Configuration Files • config.xml – central configuration file for a domain • includes the configuration

Configuration Files

config.xml – central configuration file for a domain

includes the configuration of each server instance, cluster, resource, and service in the domain.

references additional XML files that are stored in subdirectories of the domain/config directory: JMS, JDBC, WLDF, and Security

All files are based on schemas

config.xml

<domain (schema locations)> <name>wl_server</name>

<security-configuration></security-configuration>

<jta></jta>

<server>

<name>examplesServer</name>

</server>

<app-deployment></app-deployment>

<jms-server></jms-server>

<jms-system-resource></jms-system-resource>

<jdbc-system-resource>

<name>examples-demo</name>

<target>examplesServer,managedServer-

0</target>

<descriptor-file-name>jdbc/examples-demo-

jdbc.xml</descriptor-file-name>

</jdbc-system-resource>

</domain>

references to other files

examples-demo-jdbc.xml

<jdbc-data-source>

<name>examples-demo</name>

<jdbc-driver-params></jdbc-driver-params>

<jdbc-driver-params></jdbc-driver-params>

<jdbc-data-source-params></jdbc-data-source-

params>

</jdbc-data-source>

<jdbc-data-source-params></jdbc-data-source- params> </jdbc-data-source> 18
<jdbc-data-source-params></jdbc-data-source- params> </jdbc-data-source> 18
Two-Phase Configuration Changes • Changes activated in batches: • Reliability, consistency: • Make (related)

Two-Phase Configuration Changes

Changes activated in batches:

Reliability, consistency:

Make (related) changes as a group

Validate before making the change

Activate or Roll back as a single unit( all changes on all servers

General process:

Get an edit lock

make changes

changes are stored in the pending directory

activate your changes (with implicit validation through the Admin Console or WLST)

changes are distributed to servers in the domain

Two phases: prepare and commit

Prepared on all servers; any failures will cause total rollback

in the domain • Two phases: prepare and commit • Prepared on all servers; any failures
Agenda • Topology • Domain • Server • Admin Server • Managed Server • Cluster

Agenda

Topology

Domain

Server

Admin Server

Managed Server

Cluster

Node Manager

Machine

Configuration Files

Administration Tools

Sample Configuration Schemes

• Node Manager • Machine • Configuration Files • Administration Tools • Sample Configuration Schemes 20
Administration Tools • Configuration Wizard • GUI/scriptable tool to create and extend WebLogic domains •

Administration Tools

Configuration Wizard

GUI/scriptable tool to create and extend WebLogic domains

Template based

Administration Console

Browser-based tool for configuring and monitoring domains, deploying applications, and controlling servers

WebLogic Scripting Tool (WLST)

Script or command line tool to do the same thing as the Administration Console and Configuration Wizard

Note that we will cover details on WLST in a separate document

weblogic.Admin

Deprecated command line tool for configuring a domain

Recommend using WLST instead

weblogic.Deployer

Command line tool for deploying applications

a domain • Recommend using WLST instead • weblogic.Deployer • Command line tool for deploying applications
Configuration Wizard • Wizard that walks you through domain creation off line • Not intended

Configuration Wizard

Wizard that walks you through domain creation off line

Not intended to run against a running domain

Requires a domain template

WLS ships with a default template and templates for samples domains

Customers and layered products can create their own templates

Scriptable (aka “WLST Offline”)

More info:

.html http://e-docs.bea.com/common/docs100/tempbuild/index.html http://e-docs.bea.com/common/docs100/tempref/index.html 22
23
23
23
24
24
Administration Console • Graphical interface to configure, manage, monitor a domain • One Administration Console

Administration Console

Graphical interface to configure, manage, monitor a domain

One Administration Console for each domain

The Administration Server in the domain hosts the Admin Console application

Open the Admin Console with the following URL:

http://host:port/console

Typically in dev: http://localhost:7001/console

Sample domains use weblogic/weblogic as the user name and password

In WLS 10.3, the Admin Console application deploys lazily – on first use

More info:

application deploys lazily – on first use • More info: http://e-docs.bea.com/wls/docs100/intro/console.html 25
26
26
WebLogic Scripting Tool (WLST) • Scripting tool for administering a domain (create, configure, manage, monitor,

WebLogic Scripting Tool (WLST)

Scripting tool for administering a domain (create, configure, manage, monitor, deploy applications)

Based on Jython, which is a pure Java implementation of Python

Great for automating repetitive tasks

Heavy use by customers and within BEA

“Record” feature in Admin console: record actions to a WLST script

Two modes:

Offline: analogous to the Configuration Wizard

Online: analogous to the Administration Console

More info:

analogous to the Administration Console • More info: http://e-docs.bea.com/wls/docs100/config_scripting/index.html 27
Agenda • Topology • Domain • Server • Admin Server • Managed Server • Cluster

Agenda

Topology

Domain

Server

Admin Server

Managed Server

Cluster

Node Manager

Machine

Configuration Files

Administration Tools

Sample Configuration Schemes

• Node Manager • Machine • Configuration Files • Administration Tools • Sample Configuration Schemes 28
Single Server/Development Configuration config.xml JNDI JMS Queue JDBC Pool • Single server acts as the

Single Server/Development Configuration

config.xml JNDI JMS Queue JDBC Pool
config.xml
JNDI
JMS
Queue
JDBC Pool

Single server acts as the Administration Server and as a host for applications

Not recommended for production, but standard for development

Server and as a host for applications • Not recommended for production, but standard for development

Admin Console

Server and as a host for applications • Not recommended for production, but standard for development
Configuring for Application Isolation • Deploy applications to their own servers • Admin server on

Configuring for Application Isolation

Deploy applications to their own servers

Admin server on its own server (highly recommended)

Each managed server on its own physical server

recommended) • Each managed server on its own physical server A1 Admin Server Managed Server Node
A1
A1

Admin Serverserver (highly recommended) • Each managed server on its own physical server A1 Managed Server Node

Managed Serverown server (highly recommended) • Each managed server on its own physical server A1 Admin Server

Node Managerserver (highly recommended) • Each managed server on its own physical server A1 Admin Server Managed

A2
A2
A3
A3
recommended) • Each managed server on its own physical server A1 Admin Server Managed Server Node
Configuring for Extreme Application Isolation • Each application gets its own domain • Admin server

Configuring for Extreme Application Isolation

Each application gets its own domain

Admin server on its own server (highly recommended)

Each managed server on its own physical server

Domain 1 A1 A1 A1
Domain 1
A1
A1
A1
Domain 2 A2 A2 A2
Domain 2
A2
A2
A2
(highly recommended) • Each managed server on its own physical server Domain 1 A1 A1 A1
Configuring for High Availability • Clustered servers for HA and scalability • All managed servers

Configuring for High Availability

Clustered servers for HA and scalability

All managed servers in the same cluster are on different machines, although machines are frequently shared

different machines, although machines are frequently shared A1 A1 A1 A1 A2 A2 A2 A2 Admin
A1 A1 A1 A1 A2 A2 A2 A2
A1
A1
A1
A1
A2
A2
A2
A2

Admin Serverdifferent machines, although machines are frequently shared A1 A1 A1 A1 A2 A2 A2 A2 Managed

Managed Serveron different machines, although machines are frequently shared A1 A1 A1 A1 A2 A2 A2 A2

Node Managerdifferent machines, although machines are frequently shared A1 A1 A1 A1 A2 A2 A2 A2 Admin

although machines are frequently shared A1 A1 A1 A1 A2 A2 A2 A2 Admin Server Managed
Configuring for Perf and Utilization • Multiple Managed Servers per machine • All Managed Servers

Configuring for Perf and Utilization

Multiple Managed Servers per machine

All Managed Servers in one cluster

Cluster replication scheme considers location in determining secondary Managed Servers

Cluster replication scheme considers location in determining secondary Managed Servers A1 A1 A1 A1 A1 A1
A1 A1 A1 A1 A1 A1 A1 A1
A1
A1
A1
A1
A1
A1
A1
A1
Cluster replication scheme considers location in determining secondary Managed Servers A1 A1 A1 A1 A1 A1
Simplified Administration • Multiple applications deployed to a single cluster • Admin server on its

Simplified Administration

Multiple applications deployed to a single cluster

Admin server on its own server (highly recommended)

Single domain to manage

Admin server on its own server (highly recommended) • Single domain to manage A1 A1 A1
A1 A1 A1 A2 A2 A2 A3 A3 A3
A1
A1
A1
A2
A2
A2
A3
A3
A3
Admin server on its own server (highly recommended) • Single domain to manage A1 A1 A1
Summary • WebLogic Server configuration is segmented by domain • Each domain represents a configuration

Summary

WebLogic Server configuration is segmented by domain

Each domain represents a configuration entity and uses one set of configuration artifacts

Each domain has one Administration Server, and can have multiple managed servers and clusters

Node Manager is a per-machine process used to start and stop WebLogic Server instances

There are a number of administration tools available for configuring and managing a WebLogic domain:

Config Wizard, Admin Console, WLST, weblogic.Deployer

Managed Servers

Admin Server config.xml
Admin Server
config.xml

Admin Console

• Config Wizard, Admin Console, WLST, weblogic.Deployer Managed Servers Admin Server config.xml Admin Console 35