Redpaper
WebSphere Application Server V7.0:
Technical Overview
WebSphere® Application Server is the implementation by IBM® of the Java™
Platform, Enterprise Edition (Java EE) platform. It conforms to the Java EE 5
specification. WebSphere Application Server is available in unique packages that
are designed to meet a wide range of customer requirements. At the heart of
each package is a WebSphere Application Server that provides the runtime
environment for enterprise applications.
This discussion centers on the runtime server component of WebSphere
Application Server.
For more information about topics discussed in this paper, refer to the IBM
Redbooks® publication WebSphere Application Server V7: Concepts, Planning
and Design, SG24-7708.
Arden Agopyan
Hermann Huebler
Tze Puah
Thomas Schulze
David Soler
Martin Keen
© Copyright IBM Corp. 2009. All rights reserved. ibm.com/redbooks 1
WebSphere Application Server packaging
WebSphere Application Server comes in several packaging options. In addition
to the application server component, each package contains an appropriate
combination of complementary products (for example, IBM HTTP Server,
Rational® Application Developer Assembly and Deploy, Edge components, and
so on).
Distributed platforms
WebSphere Application Server V7.0 has the following packaging options for
distributed platforms, including IBM AIX®, HP-UX, Linux®, Solaris™, and
Microsoft® Windows®:
� IBM WebSphere Application Server - Express V7.0, referred to as Express
For more information about Express, see the following Web page:
http://www.ibm.com/software/webservers/appserv/express/
� IBM WebSphere Application Server V7.0, referred to as Base
For more information about Base, see the following Web page:
http://www.ibm.com/software/webservers/appserv/was/
� IBM WebSphere Application Server Network Deployment V7.0, referred to as
Network Deployment
For more information about Network Deployment, see the following Web
page:
http://www.ibm.com/software/webservers/appserv/was/network/
System z
For WebSphere Application Server on System z®, IBM WebSphere Application
Server for z/OS® V7.0, a full-function version of the Network Deployment product
is available.
For more information about WebSphere Application Server for z/OS V7.0, see
the following Web page:
http://www.ibm.com/software/webservers/appserv/zos_os390/
2 WebSphere Application Server V7.0: Technical Overview
System i
WebSphere Application Server on System i® has the following packaging
options:
� IBM WebSphere Application Server V7.0 for IBM i
� IBM WebSphere Application Server for Developers V7.0 for IBM i
� IBM WebSphere Application Server Network Deployment V7.0 for IBM i
� IBM WebSphere Application Server - Express V7.0 for IBM i
For more information about WebSphere Application Server on System i, see the
following Web page:
http://www.ibm.com/servers/eserver/iseries/software/websphere/wsappserver/
Application support
WebSphere Application Server V7.0 can run the following types of applications:
� Java EE applications
� Portlet applications
� Session Initiation Protocol (SIP) applications
� Business level applications
Java EE applications
The Java EE specification is the standard for developing, deploying, and running
enterprise applications. WebSphere Application Server V7.0 provides full
support for the Java EE 5 specification. The Java EE programming model has
multiple types of application components:
� Enterprise beans
� Servlets and JavaServer™ Pages files
� Application clients
The primary development tool for WebSphere Application Server Java EE 5
applications is Rational Application Developer for WebSphere V7.5.
The Rational Application Developer Assembly & Deploy V7.5, shipped with
WebSphere Application Server, contains the tools needed to create, test, and
deploy Java EE 5 applications. It includes full support for the new features of Java
SE 6.0. Applications are packaged as enterprise application archives (EAR files).
For information about the Java EE specification, see the following Web page:
http://java.sun.com
WebSphere Application Server V7.0: Technical Overview 3
Portlet applications
The Portlet container in WebSphere Application Server V7.0 provides the
runtime environment for JSR 268 compliant portlets.
Portlet applications are intended to be combined with other portlets collectively to
create a single page of output. The primary development tool for portlets on
WebSphere Application Server portlet applications is Rational Application
Developer for WebSphere V7.5. You can also use Rational Application Developer
Assembly & Deploy V7.5, which is shipped with WebSphere Application Server.
Portlets are packaged in WAR files. The portlet runtime does not provide the
advanced capabilities of WebSphere Portal, such as portlet aggregation and
page layout, personalization and member services, or collaboration features.
For more information about JSR 286, see the following Web page:
http://jcp.org/en/jsr/detail?id=286
Session Initiation Protocol applications
Session Initiation Protocol (SIP) applications are Java programs that use at least
one SIP servlet written to the JSR 116 specification. SIP is used to establish,
modify, and terminate multimedia IP sessions. SIP negotiates the medium, the
transport, and the encoding for the call. After the SIP call has been established,
the communication takes place over the specified transport mechanism,
independent of SIP. Examples of application types that use SIP include voice
over IP, click-to-call, and instant messaging.
Rational Application Developer Assembly & Deploy V7.5 provides special tools
for developing SIP applications. SIP applications are packaged as SIP archive
(SAR) files, and are deployed to the application server using the standard
WebSphere Application Server administrative tools. SAR files can also be
bundled in a Java EE application archive (EAR file), similar to other Java EE
components.
For more information about SIP applications, see the following Web pages:
� JSR 116 SIP Servlet API 1.0 Specification
http://www.jcp.org/aboutJava/communityprocess/final/jsr116/
� JSR 116
http://jcp.org/en/jsr/detail?id=116
� RFT 3261
http://www.ietf.org/rfc/rfc3261.txt
4 WebSphere Application Server V7.0: Technical Overview
Business level applications
A Business level application is a notion of an application beyond Java EE’s
definition. This is a new administration concept that expands the options
previously offered by Java EE. This grouping notion for enterprise-level
applications includes WebSphere and non-WebSphere artifacts like Service
Component Architecture (SCA) packages, libraries, and proxy filters under a
single application definition (Figure 1). Every artifact in the group is a
composition unit.
Figure 1 Business level applications
A business level application can be useful when an applicationhas the following
characteristics:
� Is composed of multiple packages
� Applies to the post-deployment side of the application life cycle
� Contains additional libraries, or non-Java EE artifacts
� Includes artifacts that run on heterogeneous environments that include
WebSphere and non-WebSphere runtimes
� Is defined in a recursive manner (for example, if an application includes other
applications)
BLA1
EJB
Module
Web
Module
BLA3 BLA2
Java EE
Enterprise
Application
JAR
Business
Logic
Configuration
Composition
JAX-WS
Web
Service
Module
Portlet
Module
Java
Library
DB2
Database
CICS
TransactionJava
Library
Axis2 PAR JAR EARWAR
WebSphere Application Server V7.0: Technical Overview 5
Application server configurations
At the heart of each member of the WebSphere Application Server family is an
application server. Each family has essentially the same architectural structure.
Although the application server structure for the Base and Express platforms is
identical, there are differences in licensing terms and platform support.
With the Base and Express platforms, you are limited to stand-alone application
servers. The Network Deployment platform enables more advanced topologies
that provide workload management, scalability, high availability, and central
management of multiple application servers. You can also manage multiple Base
profiles centrally, but you will not have workload management, scalability, and
high availability capabilities.
Runtime environments are built by creating profiles. A profile can define a
deployment manager, a stand-alone application server, or an empty node to be
federated (added) to a cell. Each profile contains files specific to that runtime
(such as logs and configuration files). Profiles can be created during and after
installation. After the profiles have been created, further configuration and
administration is performed using the WebSphere administrative tools.
Stand-alone application servers
All WebSphere Application Server packages support a single stand-alone server
environment. With this configuration, each application server acts as an unique
entity. An application server runs one or more applications and provides the
services required to run those applications. Each stand-alone server is created
by defining an application server profile. See Figure 2.
Figure 2 Stand-alone application server configuration
System A
Application
Server
Application
Server
Application
Server
Integrated Solutions
Console
Integrated Solutions
Console
Integrated Solutions
Console
6 WebSphere Application Server V7.0: Technical Overview
A stand-alone server can be managed from its own administrative console and
functions independent from all other application servers. You can also use
WebSphere Application Server’s scripting facility, wsadmin, to perform every
function that is available in the administrative console application.
Multiple stand-alone application servers can exist on a machine, either through
independent installations of the WebSphere Application Server product binaries,
or by creating multiple application server profiles within one installation.
Stand-alone application servers do not provide workload management or failover
capabilities. They run isolated from each other.
With WebSphere Application Server for z/OS, it is possible to use workload load
balancing and response time goals even on a transactional base, as well as a
special clustering mechanism, the multi-servant region, with a stand-alone
application server.
Distributed application servers
With the Network Deployment packaging, you can build a distributed server
configuration to enable central administration, workload management, and
failover. In this environment, you integrate one or more application servers into a
cell that is managed by a central administration instance, a deployment manager.
The application servers can reside on the same machine as the deployment
manager or on multiple separate machines. Administration and management is
handled centrally from the administration interfaces by the deployment manager.
An example is shown in Figure 3.
Figure 3 Distributed application servers with WebSphere Application Server V7.0
System BSystem A
Application
Server
Application
Server
Integrated Solutions
Console
Application
Server
Deployment
Manager
WebSphere Application Server V7.0: Technical Overview 7
With a distributed server configuration, you can create multiple application
servers to run unique sets of applications and manage those applications from a
central location. More importantly, you can cluster application servers to allow for
workload management and failover capabilities. Applications that are installed in
the cluster are replicated across the application servers. When one server fails,
another server in the cluster continues processing. Workload is distributed
among Web and EJB™ containers in a cluster using a weighted round-robin
scheme, or randomly, depending upon your configuration.
In z/OS the weighted round-robin mechanism is replaced by the integration of
WebSphere Application Server for z/OS in the Workload Manager (WLM), that is
an integral part of the operating system. This allows requests to be dispatched to
a cluster member according to real-time load and whether or not the member
reaches its defined response time goals. It is also possible to replicate sessions
saved in an application server of the cluster to other cluster members with the
session replication feature of WebSphere Application Server.
A distributed server configuration can be created in one of three ways:
� Create a deployment manager profile to define the deployment manager.
Then, create one or more custom node profiles. The nodes defined by each
custom profile can be federated into the cell managed by the deployment
manager during profile creation or later, manually. The custom nodes can
exist inside the same operating system image as the deployment manager or
in another operating system instance. Application servers can then be
created using the Integrated Solutions Console or wsadmin scripts.
� Create a deployment manager profile to define the deployment manager.
Then, create one or more application server profiles and federate these
profiles into the cell managed by the deployment manager. This process adds
both nodes and application servers into the cell. The application server
profiles can exist on the deployment manager system or on multiple separate
system or z/OS image.
� Create a cell profile. This actually creates two profiles: a deployment
manager profile and a federated application server profile. Both reside on the
same machine.
8 WebSphere Application Server V7.0: Technical Overview
Application servers concepts
Regardless of the configuration, WebSphere Application Server is organized
based on the concept of cells, nodes, and servers. Although all of these elements
are present in each configuration, cells and nodes do not play an important role
until you take advantage of the features provided with Network Deployment.
These cells, nodes, and servers can be managed by a combination of
deployment managers, administrative agents, and job managers.
Application servers
The application server is the primary runtime component in all configurations and
is where an application actually executes. All WebSphere Application Server
configurations can have one or more application servers. In the Express and
Base configurations, each application server functions as a separate entity.
There is no workload distribution or central administration among application
servers. With Network Deployment, you can build a distributed server
environment consisting of multiple application servers maintained from a central
administration point. In a distributed server environment, you can cluster
application servers for workload distribution and failover.
Nodes, node groups, and node agents
This section defines node related concepts.
Nodes
A node is an administrative grouping of application servers for configuration and
operational management within one operating system instance (virtualization
allows multiple operating systems on one machine). It is possible to create
multiple nodes inside one operating system instance, but a node cannot leave
the operating system boundaries. In a stand-alone application server
configuration, there is only one node. With Network Deployment, you can
configure a distributed server environment consisting of multiple nodes that are
managed from one central administration server. See Figure 4 on page 10.
WebSphere Application Server V7.0: Technical Overview 9
Figure 4 Node concept in a WebSphere Application Server network deployment
configuration
Node agents
In distributed server configurations, each node has a node agent that works with
the deployment manager to manage administration processes. See Figure 4. A
node agent is created automatically when you add (federate) a stand-alone node
to a cell. It is not included in Base and Express configurations.
Node groups
A node group is a grouping of nodes within a cell that have similar capabilities. A
node group validates that the node is capable of performing certain functions
before allowing them. For example, a cluster cannot contain both z/OS nodes
and nodes that are not z/OS-based. In this case, you can define multiple node
groups: one for the z/OS nodes and one for nodes other than z/OS. A
DefaultNodeGroup is automatically created. This node group contains the
deployment manager and any new nodes with the same platform type. A node
can be a member of more than one node group.
On the z/OS platform, a node must be a member of a system complex (sysplex)
node group. Nodes in the same sysplex must be in the same sysplex node group.
A node can be in one sysplex node group only.
System A System B
Node02
Application
Server
Integrated Solutions
Console
Node03
Application
Server
Deployment
Manager
Node01
Application
Server
Node Agent
Node Agent
Node Agent
10 WebSphere Application Server V7.0: Technical Overview
Cells
A cell is a grouping of nodes into a single administrative domain. In the Base and
Express configurations, a cell contains one node. That node contains one server.
See Figure 5.
Figure 5 Cell component in a WebSphere Application Server topology
In a Network Deployment environment, a cell can consist of multiple nodes (and
node groups), which are all administered from a single point, the deployment
manager. See Figure 5. If your cell configuration contains nodes running on the
same platform, it is called a homogeneous cell. It is also possible to have a cell
made up of nodes on mixed platforms. This is referred to as a heterogeneous cell.
WebSphere Application Server V7.0 Network
Deployment environment
WebSphere Application Server V7.0
stand-alone environment
Integrated Solutions
Console
System BSystem A
Cell
Node02
Application
Server
Node03
Application
Server
Deployment
Manager
Node01
Application
Server
Node Agent
Node Agent
Node Agent
System A
Integrated Solutions
Console
Integrated Solutions
Console
Cell01
Application
Server
Node01
Cell01
Application
Server
Node01
WebSphere Application Server V7.0: Technical Overview 11
Deployment managers
The deployment manager is the central administration point of a cell, which
consists of multiple nodes and node groups in a distributed server configuration.
The deployment manager uses the node agent to manage the applications
servers within one node.
A deployment manager provides management capability for multiple federated
nodes and can manage nodes that span multiple systems and platforms. A node
can only be managed by a single deployment manager, and must be federated to
the cell of that deployment manager.
The configuration and application files for all nodes in the cell are centralized into
a master configuration repository. This centralized repository is managed by the
deployment manager and synchronized with local copies that are held on each of
the nodes. See Figure 6.
Figure 6 Configuration repositories in a network deployment installation
System BSystem A
Cell
Node02
Application
Server
Integrated Solutions
Console
Node03
Application
Server
Deployment
Manager
Node01
Application
Server
Node Agent
Node Agent
Node Agent
Master configuration
repository
Local configuration
Local configuration
Local configuration
12 WebSphere Application Server V7.0: Technical Overview
Administrative agents
An administrative agent is a component that provides enhanced management
capabilities for stand-alone (Express and Base) application servers. This is a
new concept introduced with WebSphere Application Server V7.0.
In previous versions of WebSphere Application Server, each stand-alone server