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