z/OS Introduction and Workshop
WebSphere Application Server
© 2017 IBM Corporation
Unit Objectives
After completing this unit, you should be able to:
•Describe WebSphere Application Server
•Be familiar with the WAS Administration Console
2 © 2017 IBM Corporation
Terminology
WebSphere Application Server
– Is the name of the product
– Also used to refer to the actual process that runs the application code
Server
– This is the component that has the Java Virtual Machine (JVM)
– This is where the application programs run
Cluster
– Logical term used to describe a group of servers
3 © 2017 IBM Corporation
Terminology continued….
Node
– Logical term to describe a single machine that runs one or more servers
Cell
– Logical term that covers the complete WebSphere configuration
Daemon
– Separate process required on z/OS
– Small component, needs little attention
4 © 2017 IBM Corporation
WAS – Dynamic Web Pages – HTTP Server
HTTP Server z/OS
1 Address Space Address Spaces
http://www.myzseries.com/cgi-bin/test.cgi
test.cgi
URL 2
httpd.conf CGI
application
Response
Client
Browser 3
test2.cgi
CGI
application
CGI – Common Gateway Interface
5 © 2017 IBM Corporation
WAS – Dynamic Web Pages – Interaction with WebSphere
HTTP Server
http://www.myzseries.com/my.jsp
URL
httpd.conf
CICS Server
Response
or
Client
Browser was.conf
IMS Server
WAS
plugin
Servlet
WebSphere plug-in, same
address space
6 © 2017 IBM Corporation
WAS – Dynamic Web Pages – Interaction with WebSphere
HTTP Server J2EE Server
http://www.myzseries.com/my.jsp
URL
httpd.conf
CICS Server
Response EJB or
Client Container
Browser was.conf
IMS Server
WAS
plugin
EJB
Servlet
Web container inside HTTP
Server, separate EJB container
7 © 2017 IBM Corporation
WAS – Dynamic Web Pages – Interaction with WebSphere
HTTP Server J2EE Server
http://www.myzseries.com/my.jsp
EJB
URL Container
httpd.conf
EJB
CICS Server
Response
or
Client
Browser was.conf
Web IMS Server
Container
WAS
Servlet
plugin
JSPs
Separate J2EE server with both
Web container and EJB container
8 © 2017 IBM Corporation
WebSphere Application Server Configuration on z/OS
Network Deployment Manager
9 © 2017 IBM Corporation
WebSphere Application Server Configuration on z/OS
10 © 2017 IBM Corporation
Work Load Management (WLM)
A base component of the operating system enables prioritization and balancing of
work according to customer selected 'goals' or business policies.
With workload management, you define performance goals and assign a
business importance to each goal.
– Goals:
• Response-Time
• Execution Velocity
• Discretionary
– Importance level (1-5)
Goal is 1 or below (meeting goals)
– All is well
Goal is above 1 (failing to meet goals)
– Revise performance goals or increase capacity
11 © 2017 IBM Corporation
Starting WebSphere Application Server V7
START XSDCR,JOBNAME=XSDMGR,ENV=XSCELL.XSDMNODE.XSDMGR
START XSACR1,JOBNAME=XSAGNT1,ENV=XSCELL.XSNODE1.XSAGNT1
url:9505/ibm/console
P XSDEMN <<< Stop WebSphere Application Server V7
Starting WebSphere Application Server V6.1
START XBMGCR,JOBNAME=XBDMGR,ENV=XBCELL.XBDMNODE.XBDMGR
START XBACR1,JOBNAME=XBAGNT1,ENV=XBCELL.XBNODE1.XBAGNT1
url:8518/ibm/console
P XBDEMN <<< Stop WebSphere Application Server V6.1
Post Installation Customization
XSCELL.* for WAS V7
XBCELL.* for WAS V6.1
*Note: Above details apply only to class lab system
12 © 2017 IBM Corporation
START XSDCR,JOBNAME=XSDMGR,ENV=XSCELL.XSDMNODE.XSDMGR
$HASP373 XSDMGR STARTED
BBOO0001I WEBSPHERE FOR Z/OS CONTROL PROCESS
XSCELL/XSDMNODE/XSDMGR/XSDMGR IS STARTING.
BBOO0238I WEBSPHERE FOR Z/OS CONTROL PROCESS xscell/xsdmnode/dmgr IS STARTING.
START XSDEMN,JOBNAME=XSDEMN,ENV=XSCELL.XSCELL.S0W1,REUSASID=YES
$HASP373 XSDEMN STARTED
BBOO0007I WEBSPHERE FOR Z/OS DAEMON XSCELL/XSDMNODE/XSCELL/S0W1 IS STARTING.
BBOO0237I WEBSPHERE FOR Z/OS DAEMON xscell/xsdmnode/S0W1 IS STARTING.
BBOO0222I: WSVR0001I: Server CONTROL PROCESS dmgr open for e-business
BBOO0019I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL PROCESS XSDMGR.
START XSACR1,JOBNAME=XSAGNT1,ENV=XSCELL.XSNODE1.XSAGNT1
$HASP373 XSAGNT1 STARTED
BBOO0001I WEBSPHERE FOR Z/OS CONTROL PROCESS XSCELL/XSNODE1/XSAGNT1/XSAGNT1 IS STARTING.
BBOO0238I WEBSPHERE FOR Z/OS CONTROL PROCESS xscell/xsnode1/nodeagent IS STARTING.
BBOO0222I: WSVR0001I: Server CONTROL PROCESS nodeagent open for e-business
BBOO0019I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL PROCESS XSAGNT1.
ADMS0003I: The configuration synchronization completed successfully.
BBOO0222I: ADMS0003I: The configuration synchronization completed successfully.
13 © 2017 IBM Corporation
Address Spaces
SDSF STATUS DISPLAY ALL CLASSES
PREFIX=X* DEST=(ALL) OWNER=*
NP JOBNAME JobID Owner Queue
XSAGNT1 STC01603 XSACRU EXECUTION
XSDMGRS STC01602 XSASRU EXECUTION
XSDEMN STC01601 XSACRU EXECUTION
XSDMGR STC01599 XSACRU EXECUTION
14 © 2017 IBM Corporation
WAS Configuration on z/OS – Network Deployment Manager
Network Deployment Manager
15 © 2017 IBM Corporation
z/OS and Distributed – which Admin GUI is which?
z/OS
In other words – same look and feel
Distributed
© 2017 IBM Corporation
Administration Console
17 © 2017 IBM Corporation
Administration Console
18 © 2017 IBM Corporation
Administration Console
19 © 2017 IBM Corporation
START XSACR1,AMODE=64,JOBNAME=XSSR011,ENV=XSCELL.XSNODE1.XSSR011,
REUSASID=YES,PARMS='-Dwas.status.socket=1082'
$HASP373 XSSR011 STARTED
BBOO0001I WEBSPHERE FOR Z/OS CONTROL PROCESS XSCELL/XSNODE1/XSSR01/XSSR011 IS STARTING.
BBOO0238I WEBSPHERE FOR Z/OS CONTROL PROCESS xscell/xsnode1/xssr011 IS STARTING.
BBOO0222I: WSVR0001I: Server CONTROL PROCESS xssr011 open for e-business
BBOO0019I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL PROCESS XSSR011.
BBOO0222I: ADMS0003I: The configuration synchronization completed successfully.
20 © 2017 IBM Corporation
Administration Console
21 © 2017 IBM Corporation
Address Spaces
SDSF STATUS DISPLAY ALL CLASSES
PREFIX=X* DEST=(ALL) OWNER=*
NP JOBNAME JobID Owner Queue
XSSR011S STC01612 XSASRU EXECUTION
XSSR011 STC01608 XSACRU EXECUTION
XSAGNT1 STC01603 XSACRU EXECUTION
XSDMGRS STC01602 XSASRU EXECUTION
XSDEMN STC01601 XSACRU EXECUTION
XSDMGR STC01599 XSACRU EXECUTION
22 © 2017 IBM Corporation
Administration Console
23 © 2017 IBM Corporation
Administration Console
24 © 2017 IBM Corporation
Administration Console
25 © 2017 IBM Corporation
Documentation & Professional Manuals
WAS Education Assistant
WAS IBM Redbooks
WAS Manuals
WAS General Information
26 © 2017 IBM Corporation
Unit summary
Having completed this unit, you should be able to:
•Describe WebSphere Application Server
•Be familiar with the WAS Administration Console
27 © 2017 IBM Corporation
WebSphere Application Server
Distributed vs. z/OS
Additional material
28 © 2017 IBM Corporation
Similarities
• Code base
Since V6.0, code base for WebSphere on z/OS same as used on distributed
Which is since Mar 2005
Includes
Portal
Process Server
etc
Has extra code to take advantage of z/OS
• Things that are the same:
J2EE Specification support
Terminology
Product and maintenance release dates
Administration
© 2017 IBM Corporation
J2EE Specification support
• J2EE Applications
Written to the specification
Will run unchanged in WAS on z/OS
No need to recompile
IBM Techdoc: Moving Applications to WebSphere on z/OS
http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101093
© 2017 IBM Corporation
Maintenance levels
• WebSphere on z/OS
Uses same maintenance nomenclature
• From log on z/OS
BBOM0007I CURRENT CB SERVICE LEVEL IS build level 6.1.0.12
(cf120738.13) release WAS61.ZNATV date 09/25/07 00:03:32.
• From log on Windows
WebSphere Platform 6.1 [BASE 6.1.0.19 cf190836.04]
© 2017 IBM Corporation
z/OS and Distributed – which Admin GUI is which?
z/OS
In other words – same look and feel
Distributed
© 2017 IBM Corporation
wsadmin on z/OS and distributed
WZADMIN @ SC55:/WebSphereEd/wzcell/dmgr/DeploymentManager/profiles/default/bin>./wsadmin.sh
–port 7010 –user wzadmin –password xyz –lang jython
WASX7209I: Connected to process "dmgr" on node wzdmnode using SOAP connector; The type of process
is: DeploymentManager
WASX7031I: For help, enter: "print Help.help()"
wsadmin>AdminControl.completeObjectName("type=DeploymentManager,*")
'WebSphere:name=DeploymentManager,process=dmgr,platform=common,node=wzdmnode,diagnosticProvi
der=true,version=6.1.0.12,type=DeploymentManager,mbeanIdentifier=DeploymentManager,cell=wzcell,spec
=1.0'
C:\zProducts\was61\AppServer\profiles\Dmgr01\bin>wsadmin -lang jython
WASX7209I: Connected to process "dmgr" on node Dmgr01 using SOAP connector; The type of process
is: DeploymentManager
WASX7031I: For help, enter: "print Help.help()"
wsadmin>AdminControl.completeObjectName("type=DeploymentManager,*")
'WebSphere:name=DeploymentManager,process=dmgr,platform=common,node=Dmgr01,diagnosticProvid
er=true,version=6.1.0.9,type=DeploymentManager,mbeanIdentifier=DeploymentManager,cell=Dmgr01,spe
c=1.0'
© 2017 IBM Corporation
Tracing via Admin GUI – z/OS and Distributed
z/OS Distributed
© 2017 IBM Corporation
Trace via wsadmin on z/OS and distributed
WASX7209I: Connected to process "dmgr" on node wzdmnode using SOAP connector; The type of process
is: DeploymentManager
WASX7031I: For help, enter: "print Help.help()" z/OS
wsadmin>ts = AdminControl.completeObjectName('type=TraceService,process=wzsr01a,*')
wsadmin>AdminControl.setAttribute(ts, 'traceSpecification', 'com.ibm.*=all=enabled')
BossLog: { 0096} 2008/09/25 07:10:48.934 01 SYSTEM=SC55 SERVER=WZSR01A PID=0X02010237
./bborjtr.cpp+440412145 ... BBOO0222I: TRAS0018I: The trace state has changed. The new trace state is
*=info:com.ibm.*=all.
WASX7209I: Connected to process "dmgr" on node Dmgr01 using SOAP connector; The type of process is:
DeploymentManager
WASX7031I: For help, enter: "print Help.help()"
Distributed
wsadmin>ts = AdminControl.completeObjectName('type=TraceService,process=server-1,*')
wsadmin>AdminControl.setAttribute(ts, 'traceSpecification', 'com.ibm.*=all=enabled')'
[25/09/08 17:17:05:099 EST] 0000002c ManagerAdmin I
TRAS0018I: The trace state has changed. The new trace state is *=info:com.ibm.*=all.
© 2017 IBM Corporation
In short…
• From an administration point of view
Lots of similarities
Admin Gui – same
wsadmin – same
Terminology - same
• If you have skills as a administrator for WebSphere on Windows or Unix
Then those same skills transfer seamlessly to WebSphere on z/OS
© 2017 IBM Corporation
So what is different ?
• Working on z/OS
• Information about running WAS processes
• Logs
• Threads in the JVM
• Installation
• Configuration
© 2017 IBM Corporation
Working on z/OS
• Windows
Has its user interface – the GUI we’ve all grown to love ;-)
• Unix
Has its user interface
Either command line or GUI
• z/OS
Has its own user interface as well
Several in fact
TSO, ISPF
Telnet
Rational Application Developer for z
• Bottom line
The WebSphere administrator for WebSphere on z/OS
needs to know some TSO, ISPF basics
But does not need to be a z/OS guru
© 2017 IBM Corporation
Telnet into z/OS
© 2017 IBM Corporation
What WebSphere processes are running?
Windows
Task Manager
Unix
top
Q: Which java process is the DMGR and which is the node agent?
Q: Can you monitor WebSphere processes on other machines?
© 2017 IBM Corporation
On z/OS - the view from SDSF
JOBNAME StepName ProcStep JobID Owner Real
Daemon WZDEMN WZDEMN BBODAEMN STC07908 WZDMN 6785
Via SDSF
Deployment WZDMGR WZDMGR BBOCTL STC07906 WZDMCR1 70T
- with a good naming convention, able to determine which STC is DMGR etc
Manager
WZDMGRS WZDMGRS BBOSR STC07910 WZDMSR1
- Able to view WebSphere STCs running on any LPAR in the Sysplex
101T
Node Agent WZNODE5 WZNODE5 BBOCTL STC07909 WZASCR1 43T
Control WZSR01A WZSR01A BBOCTL STC07923 WZASCR1 67T
Server
WZSR01AS WZSR01AS BBOSR STC08092 WZASSR1 86T
Servants
WZSR01AS WZSR01AS BBOSR STC08065 WZSRSR1 87T
Adjunct WZSR01AA WZSR01AS BBOSR STC08066 WZSRSR1 85T
Server WZSR64A WZSR64A BBGCTL STC07928 WZASCR1 88T
WZSR64AS WZSR64AS BBGSR STC08091 WZASSR1 255T
© 2017 IBM Corporation
WebSphere logs
• On distributed
SystemOut.log
SystemErr.log
native_stderr.log
Verbose Garbage collection
• On z/OS
What is normally written to these files is written to z/OS spool
© 2017 IBM Corporation
WebSphere logs on z/OS
SystemErr.log
native_stderr.log
SystemOut.log
• This is default setup
Custom properties can be used to write old log data from spool to a file
ras_stderr_ff_interval, ras_stdout_ff_interval
• Can change JCL so that SystemOut and SystemErr
Are written to files
But no rolling capability
See:
http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TD101087 © 2017 IBM Corporation
Threads in the JVM
• On Distributed
Can set number of threads to any value
• On z/OS
Number of threads determined by workload profile selected
• Workload Profile
Set via wsadmin or adminconsole:
Servers >> Application Servers >> server_name >> ORB Service>> Advanced
Settings >> "Workload Profile“
Can be set to:
ISOLATE (1 thread)
NORMAL (3 threads)
CPUBOUND (# of CPs-1, minimum of 3)
IOBOUND (Number of CPs*3, Min=5, Max=30)
LONGWAIT (40)
V7 – provides property to set custom value
• WebSphere for z/OS doesn't need threads as placeholders for work
WLM queues are used for that
© 2017 IBM Corporation
Installation
• On Windows and Unix
Typically run WebSphere supplied install GUI or install script
Which installs the software into some specified location
• On z/OS
All z/OS software installed via z/OS mechanism called SMP/E
SMP/E has been in use for over 20 years for software install
Typically done by your friendly neighbourhood z/OS System
programmer
Can have different versions of WebSphere installed at the same time
In fact can have different maintenance levels of a WebSphere version
installed at the same time
And in use
© 2017 IBM Corporation
Configuration on Distributed
• On Windows and Unix
Can use GUI
Or run WebSphere supplied command:
manageprofiles
To create profiles for nodes etc
• On z/OS
Different process
If you’re going to get anywhere with this then you..
Need to accept it is a different process
Be willing to learn
• If you are new to z/OS
You need someone with z/OS experience to assist you
© 2017 IBM Corporation
Configuration on z/OS
• Process to build a cell:
Use TSO/ISPF or Windows Eclipse based tool
In which supply various values such as:
Started task names
Security related userid’s
TCPIP port numbers
Cell, node and server names
Generates small number of batch jobs
Run batch jobs to create cell
• Keep sense of perspective
Generally you are not building WebSphere cells everyday
Most work in WebSphere around day to day administration
Installing applications
Defining resources
Helping application developers to solve their problems etc etc
© 2017 IBM Corporation
Separation of product and configuration data
• On distributed typically
Configuration data that defines a cell
Stored under config sub-directory
Which is located under root directory where product code installed
• On z/OS
Product code stored in one file
Configuration data stored in different file
• Advantages
Easy to manage multiple versions of WebSphere
And even multiple versions at multiple maintenance levels
Easy to change a cell to run on a new maintenance level
And to fall back to previous maintenance level
© 2017 IBM Corporation
And now for the big difference…
• A WebSphere server on Windows and Unix
Is one JVM
• On z/OS
A WebSphere server split into two components
Control Region
A JVM
Handles receiving requests and sending the response
One or more Servant Regions
A JVM
Where the application code runs
© 2017 IBM Corporation
Why is server split asunder?
• Control region
Runs authorised code
Has access to restricted z/OS functionality
Handles HTTP/S communications
• Servant region
Does not run authorised code
Just application code
Means application code cannot get access to authorised z/OS services
Prevents application code being used to attack the system
© 2017 IBM Corporation
The Control Region is watching
• Control region
For each request
Records time dispatched
If no reply within specified timeout period
Kills the servant region
WAS V7
Introduces more advanced options
• Why does request not complete within timeout period?
Typically some backend system not responding
Could also be that application is looping
• On distributed – what would happen in such a case?
Nothing until someone intervenes
• On z/OS
Servant cancels results in automatic restart of new one
If second servant already running, then it take new requests immediately
© 2017 IBM Corporation