You are on page 1of 50

Technology Practices Group Java Competency Framework

"Incubate, Nurture and Deploy Technology Experts Innovate, Build and Deliver Technology Solutions

Oct 13 2008

TPG Confidential

Document Details
Business Unit Group Practice Sub-Practices Initiative Competency Level Experience Level Competency Framework 2.3 [Level 4] 2-3 years BFSI Technology Practices Group Java Practice

Pre-Requisite
Version Author Total number of slides Duration of learning
Oct 13 2008

Java, J2EE, Web App Server internals


1.0 TPG Java Practice 50 3 days
TPG Confidential 2

Revision History
Version (x.yy) 1.00 1.10 Date of Revision Sep 2007 Dec 2008 Description of Change Reason for Change Affected Sections Approved By

Initial Version Content Refresh

Re-Format

Oct 13 2008

TPG Confidential

Objective
** Please read the objective of this content clearly **

This presentation is essentially to set the context of learning on Websphere application server architecture and deployment. The content deals with the coverage( both depth and width applicable) for Websphere application server architecture and deployment in a concise format, providing an overview of the elements that makes up this 2.3 [Level 4]. While this content provides with a high level understanding of the topic to the level of depth that is expected at 2.3 [Level 4], it is highly recommended to have a detailed in depth learning using the resources mentioned in the Additional Resources section.
Oct 13 2008 TPG Confidential 4

Table of Contents

Chapter 1 : Introduction Chapter 2 : Compatibility matrix Chapter 3 : Capabilities & Integration Chapter 4 : Concepts, Planning & Design Chapter 5 : Key features since v7.0 Chapter 6 : Deployment Chapter 7 : Best practice Chapter 8: Typical Topology Chapter 9 : Server administration Chapter 10 : Other features

Oct 13 2008

TPG Confidential

Chapter 1 : Introduction

WebSphere is IBM's integration software platform. It includes the entire middleware infrastructure -- such as servers, services, and tools--needed to write, run, and monitor 24x7 industrial-strength, on demand Web applications and cross-platform, crossproduct solutions. WebSphere provides reliable, flexible, and robust integration software.
Oct 13 2008 TPG Confidential 6

Introduction (cont)

WebSphere Application Server is the base for the infrastructure; everything else runs on top of it. It supports SOA and non-SOA environments. WebSphere Process Server, which is based on WebSphere Application Server, and WebSphere Enterprise Service Bus, provide the foundation for service-oriented architected (SOA), modular applications.
Oct 13 2008 TPG Confidential 7

Introduction (cont)

Collectively, they support the use of business rules to drive applications that support business processes. High performance environments also use WebSphere Extended Deployment as part of their base infrastructure. Other WebSphere products provide a wide variety of additional services, as described below.
Oct 13 2008 TPG Confidential 8

Chapter 2: Compatibility matrix

Oct 13 2008

TPG Confidential

Chapter 3: Capabilities & Integration

You can use WebSphere to build and monitor an infrastructure to support your on demand business, and to build and extend applications that run on that infrastructure.

Oct 13 2008

TPG Confidential

10

Capabilities & Integration (cont)

IBM provides extensive tools and facilities, based on industry open standards such J2EE and Eclipse, to help you build, run, manage, and optimize your WebSphere applications.
Oct 13 2008 TPG Confidential 11

Chapter 4 : Concepts, Planning & Design

The major concepts of WebSphere are:


Profiles Stand-alone application servers Nodes, node groups, and node agents Cells Deployment manager Administrative agent Job manager Web Servers, Proxy Servers, Generic Servers Business level applications Centralized installation manager Intelligent runtime provisioning
TPG Confidential 12

Oct 13 2008

Concepts, Planning & Design (cont)

A node is an administrative grouping of application servers for configuration and operational management within one operating system instance. Each node has a node agent that works with the deployment manager to manage administration processes. A node group is a grouping of nodes within a cell that have similar capabilities.
Oct 13 2008 TPG Confidential 13

Concepts, Planning & Design (cont)

Oct 13 2008

TPG Confidential

14

Concepts, Planning & Design (cont)

A cell is a grouping of nodes into a single administrative domain. In the Base and Express configurations, a cell contains one node and that node contains one server. The following are the some design consideration for WebSphere deployment:

Scalability Caching
TPG Confidential 15

Oct 13 2008

Concepts, Planning & Design (cont)

High Availability Load-balancing and fail-over Disaster recovery Security Application deployment Servicability

Oct 13 2008

TPG Confidential

16

Concepts, Planning & Design (cont)

The server environments are classified as:


Single cell configurations Multiple cell configuration Mixed node versions in a cell Flexible management.

Clusters A cluster is a collection of servers managed together. Clusters behave as a single application server entity to accomplish a job by parallel processing.
Oct 13 2008 TPG Confidential 17

Chapter 5 : Key features since v7.0

Features added since WAS v7.0:

Rational Application Developer Assembly & Deploy v7.5 Rational Application Developer for WebSphere Software v7.5 Portlet application support enhancement Session Initiation Protocol (SIP) support IBM Software Developer Kit (SDK) for Java 6 support Enterprise JavaBeans (EJB) thin client
Oct 13 2008 TPG Confidential 18

Key features since v7.0 (cont)

Just in time deployment for EJB 3.0 module. WebSphere Business Level Application.

Oct 13 2008

TPG Confidential

19

Chapter 6 : Deployment

Recommended test environment:

Oct 13 2008

TPG Confidential

20

Deployment (cont)

Following are items to consider when you plan for additional resources.

Oct 13 2008

TPG Confidential

21

Deployment (cont)

Basic deployment architecture

Oct 13 2008

TPG Confidential

22

Deployment (cont)

Basic deployment

Oct 13 2008

TPG Confidential

23

Deployment (cont)

Basic Deployment

Used in environment where

Down time is not critical

Typically used in Development/Testing environment

Oct 13 2008

TPG Confidential

24

Deployment (cont)

Network Deployment

Supports multiple server instances Supports clustering


Failover can be handled ensuring availability Complements Load balancing hence easy scalability

Centralized administration of multiple server instances in the cell

Oct 13 2008

TPG Confidential

25

Deployment (cont)

Network deployment architecture

Oct 13 2008

TPG Confidential

26

Deployment (cont)

Network deployment

Oct 13 2008

TPG Confidential

27

Deployment (cont)

Network Deployment usage

Down time is critical


Typically in production environment Allows the user to use the server even when a new version of the application is being rolled out

Application need to be scaled Can distribute an application across geographies to reduce the risk

Oct 13 2008

TPG Confidential

28

Chapter 7: Best practices

User load and High availability requirements can be handled through Vertical Scaling Horizontal Scaling Vertical scaling Adding more hardware to the same machine for efficient usage of system resources Increasing number of server instances to handle user requests Represents a single point of failure
Oct 13 2008 TPG Confidential 29

Best practices (cont)

Horizontal scaling

Preferred topology for High availability and load balancing

Refers to addition of more systems To distribute load Ensuring high availability Reduce single point of failure Network deployment architecture is beneficial in server administration and monitoring of horizontally scaled application
Oct 13 2008 TPG Confidential 30

Best practices (cont)

In a Horizontal clustered environment Websphere deploys application to one node at a time in the cell before moving to next node During such roll out, use of ripple start is advised, this ensures server in a cell is restarted automatically one after another thus ensuring high availability. Care must be taken when ripple start is used in a 2 server environment and the retry interval set.
Oct 13 2008 TPG Confidential 31

Chapter 8 : Typical Topology


Websphere

Webserver
(example: apache)

SYSTEM1 Websphere

Oct 13 2008

Load balancer
Webserver
(example: apache)

CELL
Websphere SYSTEM2

DB

Websphere

Backup database

TPG Confidential

32

Chapter 9 : Server administration

Basic and Network servers can be administered through

Commands Shell scripts or batch files based on the OS

Can only perform a subset of administration tasks

Admin Console User Interface based server administration JMX Using JMX (Java Management extension) Custom built administration through a program
TPG Confidential 33

Oct 13 2008

Server administration (cont)

Configuration files Configuration is stored in XML files, these files can be modified for server administration Scripting client A command line interface for administration

Oct 13 2008

TPG Confidential

34

Server administration (cont)

Commands

Server provides set of commands to start/stop/deploy/monitor the server instance

startServer.sh server1
starts server1 instance stopServer.sh server1 Stops server1 instance

startNode (stopNode)

Starts a node

startManager (stopManager)

Starts deployment Manager


TPG Confidential 35

Oct 13 2008

Server administration (cont)

serverStatus

Verifies server status to indicate whether server is dead or alive

addNode, removeNode and syncNode

Used for node related operations


Dumps the JNDI tree. Useful for debugging when an application is not able to recognize a resource configured in JNDI under Cell/Node/server level

dumpNameSpace.sh

Oct 13 2008

TPG Confidential

36

Server administration (cont)

Key folders in a server installation

$USER_INSTALL_ROOT/installedApps

File system location for a deployed .ear

$USER_INSTALL_ROOT/logs/<server1> /

Log file location for a server Location for the server scripts

$WAS_HOME/bin

Oct 13 2008

TPG Confidential

37

Server administration (cont)

Admin Console:
Console Deployment Admin console is an inbuilt web application In Network deployment Admin console is hosted on deployment manager

In Stand alone, the console runs in application server

Console is accessible as long as the deployment manager is running

Admin console cannot be accessed if the server is stopped

Oct 13 2008

TPG Confidential

38

Server administration (cont)

Console Deployment:

Have the deployable ear ready Logon to the admin console Choose Applications>> Enterprise Applications from left menu Choose install to install a new application Select an ear path from the local folder. Admin console deployment involves uploading an ear to the server using web based console, hence ear should be picked from the local folder path
39

Oct 13 2008

TPG Confidential

Server administration (cont)

Console Deployment

Virtual host configuration enables a system to resemble multiple hosts Virtual host are created through different DNS name alias Different applications can be hosted on different virtual hosts to make use of available resources

Oct 13 2008

TPG Confidential

40

Server administration (cont)

Console Deployment

Choose cluster and servers for deployment

Oct 13 2008

TPG Confidential

41

Server administration (cont)

Console Deployment
Click on Save master configuration

updates the Cell configuration Synchronizes all the nodes in the cell

Oct 13 2008

TPG Confidential

42

Server administration (cont)

JMX based administration


Java standard for administration JMX includes:

MBean, which wraps around a manageable resource Mbean server, registry to lookup Mbean Protocol to connect to a MBeanServer Client program can access MBeanServer using SOAP or RMI-IIOP

Oct 13 2008

TPG Confidential

43

Server administration (cont)

In Basic deployment, administering client directly connects to the server. MBeans for all servers are visible through Node agent MBeans across different nodes are visible at Deployment manager level Client program can get access to the server through an AdminClient Object
Oct 13 2008 TPG Confidential 44

Server administration (cont)

Configuration files

Configurations are stored in XML file XML files are placed under $USER_INSTALL_ROOT/config directory An change made to the configuration xml at the cell level updates the Node as well Key configuration files

security.xml virtualhosts.xml resources.xml variables.xml


TPG Confidential 45

Oct 13 2008

Server administration (cont)

Each node has an corresponding subdirectory and holds the configuration specific to the Node Deployed applications are placed under applications directory Each of the deployed application contains deployment.xml with deployment configuration details

Oct 13 2008

TPG Confidential

46

Server administration (cont)

Scripting Client

Non graphical command line interface Supports Jacl and Jython languages Easy for automation of server administration in

Interactive mode Batch mode Command mode

wsadmin acts as the core component of scripting client.

Oct 13 2008

TPG Confidential

47

Chapter 10 : Other features

Apart from the regular J2EE services, some of the other services provided by Websphere include:

Performance Monitoring Interface (PMI)


PMI collects performance related data on runtime Runtime data can be retrieved using

JMX client integrated Tivoli performance viewer

Oct 13 2008

TPG Confidential

48

Other features (cont)

Session sharing

A session can be shared between web applications assembled with in an enterprise application. In other words, if an EAR contains more than one web application (WAR), session attributes can be shared between the WARs

Oct 13 2008

TPG Confidential

49

Additional Resources

SL #
1

Topic Element
WebSphere introduction

Resource Location/Link
http://www.ibm.com/developerworks/websphere/newto/

Remarks
Chapter 1. Introduction

Capabilities & integration Concepts, Planning & Design

http://www.ibm.com/developerworks/websphere/newto/ #dowith http://www.redbooks.ibm.com/redpieces/pdfs/sg24770 8.pdf

Chapter 3. Capabilities & Integration

Chapter 4: Concepts

Oct 13 2008

TPG Confidential

50