0% found this document useful (0 votes)
22 views508 pages

Wa5901course Secured

Uploaded by

shashi.ku78
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views508 pages

Wa5901course Secured

Uploaded by

shashi.ku78
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 508

l

ia
er
at
dM
te
WebSphere Application Server
V9 Administration
h

USE OF TRAINING MATERIALS


ig

These training materials are provided in electronic form solely for review and may not be re-used, in
whole or in part, for any other purpose.
r

The copyrighted materials will not be distributed to others for any reason whatsoever, in neither
py

written nor electronic form. You may not modify or edit the materials.

This agreement is to be read in conjunction with and incorporated into the terms and conditions that
would apply to the materials if distributed in their standard, printed format.
Co
l
ia
er
at
dM
This page intentionally left blank.
h te
igr
py
Co
l
ia
WebSphere Application Server
V9 Administration

er
Course Guide, Volume 1
WA590G, ERC: 1.0

at
5855, Version 001
wa5901course

dM
h te
igr
py
Co
Co
py
rig
h te
dM
at
er
ia
l
V11.0

cover

Front cover
Course Guide
WebSphere Application Server V9

l
ia
Administration

er
Course code WA590 / ZA590 ERC 1.0

at
M
ed
ht
rig
py
Co
November 2016 edition
Notices
This information was developed for products and services offered in the US.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative
for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not
intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate
and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this

l
document does not grant you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing

ia
IBM Corporation
North Castle Drive, MD-NC119
Armonk, NY 10504-1785
United States of America

er
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein;
these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s)

at
and/or the program(s) described in this publication at any time without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in any manner serve as an
endorsement of those websites. The materials at those websites are not part of the materials for this IBM product and use of those
websites is at your own risk.

M
IBM may use or distribute any of the information you provide in any way it believes appropriate without incurring any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other
claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those
products.
ed
This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible,
the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to
actual people or business enterprises is entirely coincidental.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many
jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
ht

trademarks is available on the web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml.


© Copyright International Business Machines Corporation 2016.
This document may not be reproduced in whole or in part without the prior written permission of IBM.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
rig
py
Co
V11.0
Contents

TOC

Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Course description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

l
Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

ia
Unit 1. WebSphere product family overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
How to check online for course material updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

er
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
1.1. Platform and packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Platform and packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
WebSphere software platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

at
WebSphere application infrastructure: The big picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
WebSphere V9 profile by product: Quick view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
WebSphere Application Server V9 packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
Product packaging comparison (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12

M
Product packaging comparison (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Supported specifications in V9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
1.2. Related WebSphere products and cloud-based offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Related WebSphere products and cloud-based offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
ed
IBM WebSphere Application Server Developer Tools for Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
WebSphere eXtreme Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
WebSphere supports the entire hybrid cloud landscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Comparison of cloud features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Pattern-based deployments on SoftLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
IBM Bluemix and WebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
ht

IBM Bluemix: Local and dedicated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24


WebSphere Application Server for Bluemix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
WebSphere Application Server and Docker containers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26
WebSphere Application Server V9 standards and changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27
rig

Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28


Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-29
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-30

Unit 2. WebSphere Application Server architecture: Stand-alone. . . . . . . . . . . . . . . . . . . . . . . . . 2-1


py

Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2


Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.1. Architecture runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Architecture runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Version 9 packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Co

WebSphere Application Server basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7


WebSphere architecture runtime (1 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
WebSphere architecture runtime (2 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
WebSphere architecture runtime (3 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
WebSphere architecture runtime (4 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
WebSphere architecture runtime (5 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
WebSphere architecture runtime (6 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
WebSphere architecture runtime (7 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
WebSphere architecture runtime (8 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16

© Copyright IBM Corp. 2016 iii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC WebSphere architecture runtime (9 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17


WebSphere architecture runtime (10 of 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18
JDBC providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
Data sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
2.2. Administration architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
Administration architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22
WebSphere administration architecture (1 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23
WebSphere administration architecture (2 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
WebSphere administration architecture (3 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25

l
WebSphere administration architecture (4 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26

ia
2.3. Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28
WebSphere profile overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29
WebSphere profile benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30

er
Managing profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31
Profile types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35

at
Exercise: Profile creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37

Unit 3. WebSphere Application Server administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

M
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Starting the administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Administrative console in a cell topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
ed
Console login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Recovering prior changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Administrative console session timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Administrative console panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Administrative console areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
ht

Administrative console banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11


Administrative console navigation tree (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Administrative console navigation tree (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Administrative console help (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Administrative console help (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
rig

Administrative console preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17


Administrative console preferences, filters, and scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Guided Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
My tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Troubleshooting information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
py

Tivoli Performance Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23


Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
Co

Exercise: Exploring the administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27


Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28

Unit 4. Introduction to the PlantsByWebSphere application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
PlantsByWebSphere application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
PlantsByWebSphere sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Home page: http://<hostname>/PlantsByWebSphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Login and Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

© Copyright IBM Corp. 2016 iv


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC My Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7


Shopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Select an item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Shopping cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
Checking out: Billing information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Checking out: Submit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12
Help page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
View Server Info page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Admin home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

l
HTML documentation for PlantsByWebSphere (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

ia
HTML documentation for PlantsByWebSphere (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18

Unit 5. Application assembly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

er
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
5.1. Overview of Java EE application packaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Overview of Java EE application packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Overview of application assembly and installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

at
Java EE packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
WebSphere: Application packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
WebSphere application contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.2. Application assembly and deployment tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

M
Application assembly and deployment tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Development and assembly tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
IBM WebSphere Application Server Developer Tools for Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
IBM WebSphere Application Server Developer Tools for Eclipse tasks . . . . . . . . . . . . . . . . . . . . . . 5-14
ed
Features in assembly tools (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Features in assembly tools (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Assembling an enterprise application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
IBM WebSphere Application Server Developer Tools for Eclipse usage . . . . . . . . . . . . . . . . . . . . . 5-18
Import modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
ht

Specify runtime environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20


Generate deployment descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Java EE perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Application deployment descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Enterprise applications without application.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
rig

Packaging enterprise applications for deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25


Application scope resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26
Data sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27
5.3. Enhanced EAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Enhanced EAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
Enhanced EAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30
py

Unenhancing an EAR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31


Dealing with enhanced EAR files at deployment time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32
5.4. Java EE modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33
Java EE modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34
Co

EJB module assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35


EJB components are included in the web module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-36
Web module assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37
Web module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-38
Adding metadata through the menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39
Application client assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-40
Generating an EAR file for deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41
Export an EAR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42
Final export step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43

© Copyright IBM Corp. 2016 v


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC 5.5. Java EE annotations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44


Java EE annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45
Annotations in Java code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-46
How annotations help the developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-47
Example of declaring a session bean with annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48
Stateless session bean as shown in the Explorer view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-49
Using annotations to inject EJB references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-50
Example of injecting an EJB reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-51
Application bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-52

l
WebSphere default bindings for bean interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53

ia
Specifying Java EE metadata for deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-55
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-56
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57

er
Exercise: Assembling an application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-59

Unit 6. Application installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

at
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.1. Application installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Application installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Installing enterprise applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

M
Installation tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Creating a J2C authentication alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Step 1: Enter basic data source information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Step 2: Select JDBC provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
ed
Step 2.1: Create new JDBC provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Step 2.2: Enter database class path information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Step 3: Enter database-specific properties for the data source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Step 4: Set up security aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Step 5: Summary of data source creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
ht

Installing a new application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16


Example of fast path installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Example of detailed installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Enhanced EAR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Removing enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
rig

6.2. Application settings and interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21


Application settings and interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
Starting an application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Application update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Other application configuration settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25
Application startup behavior and auto start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
py

View the application deployment descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27


The application deployment descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Manage modules (1 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
Manage modules (2 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Co

Manage modules (3 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31


Manage modules (4 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Metadata for modules (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33
Metadata for modules (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
6.3. Monitored directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35
Monitored directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36
Overview of monitored directory deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-37
Supported tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38
Enabling the monitored directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-39

© Copyright IBM Corp. 2016 vi


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC Notes about the monitored directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40


Drag-and-drop properties files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-42
Properties file based configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43
Steps to use a properties file to deploy applications (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44
Steps to use a properties file to deploy applications (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-47
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-48
Exercise: Installing an application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-49

l
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-50

ia
Unit 7. Problem determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3

er
7.1. Server logs and diagnostic tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Server logs and diagnostic tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Examining server log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
WebSphere Application Server logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Server log files: Types and locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9

at
Configuring JVM logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Viewing runtime messages in the console (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
Viewing runtime messages in the console (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13
HTTP plug-in logs and tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-14

M
Diagnostic tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15
Using diagnostic tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16
Enable and configure tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Setting the log detail level (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18
ed
Setting the log detail level (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
Trace output content and format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
Reading a log or trace file (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21
Reading a log or trace file (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
High Performance Extensible Logging (HPEL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
ht

HPEL logging and tracing configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24


Configure HPEL logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
The HPEL Log Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
logViewer command-line tool (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28
logViewer command-line tool (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-29
rig

What is Cross Component Trace (XCT)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30


Administering XCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31
XCT request IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32
Use XCT request ID information to track requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33
7.2. Gathering diagnostic data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35
Gathering diagnostic data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-36
py

Gathering JVM diagnostic data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-37


Enable verbose garbage collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38
Java memory dumps and cores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-39
Generating a JVM thread dump (javacore) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-40
Co

Generating a JVM heap dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-41


Hung thread detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-42
Connection leak diagnostic messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-43
Checking version levels and applying APARs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-44
7.3. Problem determination tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-45
Problem determination tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-46
Problem determination tool availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-47
Problem determination tools: Administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-48
Dumping the JNDI namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-49

© Copyright IBM Corp. 2016 vii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC 7.4. IBM Support Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-50


IBM Support Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-51
Introduction to IBM Support Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-52
IBM Support Assistant: Overview videos available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-54
IBM Support Assistant example: Javacore analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-55
IBM Support Assistant example: Thread status analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-56
IBM Support Assistant example: Memory visualizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-57
IBM Support Assistant example: Memory diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-58
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-59

l
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-60

ia
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-61
Exercise: Problem determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-62
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-63

er
Unit 8. Introduction to wsadmin and scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
wsadmin versus administration console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Scripting benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5

at
wsadmin invocation options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7
Jython versus Jacl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Administrative functions that use wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11
Administrative objects in wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13

M
Starting wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14
Starting wsadmin with security enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16
wsadmin properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18
Profile scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21
ed
AdminConfig: Managing configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23
AdminApp: Managing applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24
AdminControl: Managing running objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25
AdminTask: Accessing administrative functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
Help within wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28
ht

Administrative command help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30


Important points to remember when using wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Scripting: Simple script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-32
Scripting: Looping script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33
Jython script library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34
rig

How to use the Jython script library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36


Configuration repository: The issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38
Properties file based configuration: A solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39
Properties file configuration content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41
Properties file configuration commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43
Command assistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46
py

Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47


Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49
Exercise: Using wsadmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50
Co

Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51

Unit 9. WebSphere security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
9.1. WebSphere security basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
WebSphere security basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Basic security end-to-end model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6
WebSphere Application Server security overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

© Copyright IBM Corp. 2016 viii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC WebSphere security service: Wide view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9


Types of security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Administrative security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
Application security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Authentication and authorization: What is the difference? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13
Challenge mechanism: Authentication basic steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14
Challenge mechanism: Basic authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-15
Challenge mechanism: Form-based authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16
Defining the challenge type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-17

l
9.2. WebSphere user registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18

ia
WebSphere user registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-19
Registries and authentication mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20
Defining user registries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21
Manual security configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22

er
Security wizard: Step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-23
Security wizard: Step 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
Security wizard: Step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25
Security wizard: Step 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-26
User registry support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27

at
Federated repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28
Custom registry: Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29
Authentication mechanism: LTPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30
LTPA provides delegation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31

M
LTPA provides single sign-on (SSO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32
9.3. Administrative security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
Administrative security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
Administrative security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35
ed
Console security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-36
More console security roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-37
Administrative roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-38
Console security: Creating users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-39
Console security: Mapping users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-40
9.4. Application security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-41
ht

Application security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42


Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-43
Security roles: Application authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-44
Securing Java EE application artifacts: Part 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-45
rig

Securing Java EE application artifacts: Part 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-46


Applying application security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-47
Creating security constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-48
Using the console to map security roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-49
9.5. Java 2 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-50
Java 2 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-51
py

Java security model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52


Java security overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53
Enabling Java 2 security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-54
9.6. Security auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56
Security auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57
Co

Security auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58


Enable security auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59
Viewing audit data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60
Securing audit records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-61
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-62
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-63
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-64
Exercises: Configuring WebSphere Application Server security, Configuring application security . . 9-65

© Copyright IBM Corp. 2016 ix


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-66

Unit 10. Performance monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3
10.1. Performance tuning and monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4
Performance tuning and monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
The need for performance monitoring and tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
Tuning performance suggested practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7

l
Performance terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8

ia
Tuning parameter hot list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Solving performance problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Measuring performance and collecting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12
WebSphere performance tools (1 of 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14

er
WebSphere performance tools (2 of 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
WebSphere performance tools (3 of 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16
PMI architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18
Types of performance data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20
PMI data collection settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21

at
Using the administrative console to enable PMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22
Start monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23
Tivoli Performance Viewer (1 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-25
Tivoli Performance Viewer (2 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26

M
Tivoli Performance Viewer (3 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27
Tivoli Performance Viewer (4 of 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-28
Summary reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-29
Example: Servlet Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-31
ed
Performance servlet overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-32
Performance servlet output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33
10.2. Request metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-35
Request metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-36
Request metrics (RM) overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-37
ht

Enabling request metrics collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-38


Isolating performance for specific types of requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-40
Example request metrics data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-41
10.3. Performance advisors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-42
Performance advisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-43
rig

Performance advisors overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-44


Performance and Diagnostic Advisor (1 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-46
Performance and Diagnostic Advisor (2 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47
Performance and Diagnostic Advisor (3 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
Performance and Diagnostic Advisor (4 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-50
Performance and Diagnostic Advisor (5 of 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-51
py

Tivoli Performance Viewer advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-52


Examples of performance advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-53
Viewing performance advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-55
Performance advice detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-56
Co

Performance advisor suggested practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-57


Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-59
Review questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-60
Review answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-61
Exercise: Using the performance monitoring tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-62
Exercise objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-63

Unit 11. Course summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1


Unit objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2

© Copyright IBM Corp. 2016 x


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Contents

TOC Course objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3


To learn more on the subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
Enhance your learning with IBM resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6
Course completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7

Appendix A. List of abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

Appendix B. Resource guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1

l
Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

ia
Social media links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
Middleware documentation and tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 xi


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Trademarks

TMK

Trademarks
The reader should recognize that the following terms, which appear in the content of this training
document, are official trademarks of IBM or other companies:
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business

l
Machines Corp., registered in many jurisdictions worldwide.

ia
The following are trademarks of International Business Machines Corporation, registered in many
jurisdictions worldwide:

er
AIX® Bluemix® DataPower®
DB™ DB2® developerWorks®
Express® HACMP™ IBM z™
IBM z Systems™ Notes® PureApplication®
Rational® Redbooks® Tivoli®

at
WebSphere® z Systems™ z/OS®
Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

M
Microsoft, Windows and Windows Vista are trademarks of Microsoft Corporation in the United
States, other countries, or both.
Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of
Oracle and/or its affiliates.
ed
UNIX is a registered trademark of The Open Group in the United States and other countries.
VMware and the VMware “boxes” logo and design, Virtual SMP and VMotion are registered
trademarks or trademarks (the “Marks”) of VMware, Inc. in the United States and/or other
ht

jurisdictions.
SoftLayer® is a trademark or registered trademark of SoftLayer, Inc., an IBM Company.
Other product and service names might be trademarks of IBM or other companies.
rig
py
Co

© Copyright IBM Corp. 2016 xii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Course description

pref

Course description
WebSphere Application Server V9 Administration

Duration: 2.5 days

l
ia
Purpose
This course teaches you the skills that are needed to administer IBM WebSphere Application

er
Server V9.
This release of IBM WebSphere Application Server provides enhanced support for standards
(notably Java 7 EE), emerging technology, and a choice of development frameworks.

at
In this course, you learn how to configure and maintain IBM WebSphere Application Server V9 in a
single-server environment. You learn how to deploy enterprise Java applications in a single
computer configuration. In addition, you learn how to work with features of WebSphere Application
Server V9, such as the wsadmin scripting interface, security, and performance monitoring.

M
Hands-on exercises throughout the course give you practical experience with the skills you develop
in the lectures.
ed
Audience
This course is designed for administrators who configure and manage web-based applications on
ht

WebSphere Application Server. Web administrators, application developers and deployers, security
specialists, and application architects can also benefit from this course.

Prerequisites
rig

• Basic operational skills for the Linux operating system


• Administrative skills for a web server, such as IBM HTTP Server or Apache
• Basic understanding of cloud concepts, private, public, and hybrid clouds, and traditional
py

on-premises environments

Objectives
Co

• Relate WebSphere Application Server to the WebSphere family of products


• Describe the features and standards in WebSphere Application Server V9
• Describe the use of WebSphere Application Server in cloud, hybrid cloud, and on-premises
environments
• Describe the architectural concepts that are related to WebSphere Application Server
• Assemble and install server-side Java enterprise applications

© Copyright IBM Corp. 2016 xiii


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Course description

pref • Use WebSphere administrative tools to configure and manage enterprise applications
• Use wsadmin scripting
• Configure WebSphere Application Server security
• View performance information about server and application components
• Troubleshoot problems by using problem determination tools and log files

l
Contents

ia
• Intermediate training for administrators
• How to assemble and install applications

er
• Overview of security, command-line interface, and problem determination tools

at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 xiv


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Agenda

pref

Agenda

Note

l
The following unit and exercise durations are estimates, and might not reflect every class

ia
experience.

Day 1

er
(00:15) Course introduction
(01:00) Unit 1. WebSphere product family overview

at
(01:00) Unit 2. WebSphere Application Server architecture: Stand-alone
(00:45) Exercise 1. Profile creation (part 1)
(00:30) Unit 3. WebSphere Application Server administrative console
(00:45) Exercise 2. Exploring the administrative console

M
(00:15) Unit 4. Introduction to the PlantsByWebSphere application
(01:00) Unit 5. Application assembly
(00:45) Exercise 3. Assembling an application
ed
Day 2
(00:45) Unit 6. Application installation
(01:00) Exercise 4. Installing an application
ht

(00:45) Unit 7. Problem determination


(01:45) Exercise 5. Problem determination
(01:00) Unit 8. Introduction to wsadmin and scripting
(01:00) Exercise 6. Using wsadmin
rig

Day 3
(01:30) Unit 9. WebSphere security
(00:30) Exercise 7. Configuring WebSphere Application Server security
py

(00:30) Exercise 8. Configuring application security


(00:45) Unit 10. Performance monitoring
(00:30) Exercise 9. Using the performance monitoring tools
(00:05) Unit 11. Course summary
Co

© Copyright IBM Corp. 2016 xv


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 1. WebSphere product family overview

Uempty

Unit 1. WebSphere product family


overview

l
Estimated time

ia
01:00

Overview

er
This unit describes the products in the WebSphere product family and their relationship to
WebSphere Application Server V9.

at
How you will check your progress
• Review questions

References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

How to check online for course material updates

Instructions

l
ia
1. Enter this URL in your browser:
ibm.biz/CloudEduCourses
2. Find the product category for your course, and

er
click the link to view all products and courses.
3. Find your course in the course list and then click
the link.
4. The wiki page displays information for the course.

at
If the course has a corrections document, this
page is where it is found.
5. If you want to download an attachment, such as a

M
Note: If your classroom does not have course corrections document, click the
internet access, ask your instructor for Attachments tab at the bottom of the page.
more information.
ed
6. To save the file to your computer, click the
document link and follow the prompts.

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-1. How to check online for course material updates


ht
rig
py
Co

© Copyright IBM Corp. 2016 1-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Unit objectives
• Describe the WebSphere family of products
• Describe the relationships between various products in the WebSphere

l
family

ia
• Describe the WebSphere Application Server V9 offerings
• Describe how WebSphere Application Server is used in cloud,
on-premises, and hybrid cloud environments

er
• Describe the standards that are supported in this release

at
M
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-2. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 1-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Topics
• Platform and packaging
• Related WebSphere products and cloud-based offerings

l
ia
er
at
M
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-3. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 1-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty
1.1. Platform and packaging

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Platform and packaging

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 1-4. Platform and packaging
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere software platform

l
• Business Process • IBM Digital

ia
Manager Experience
• WebSphere (formerly
DataPower WebSphere Portal)
Appliances
Business

er
• IBM MQ
• WebSphere portal
Message Broker
Business
• IBM Integration
integration
Bus

at
Foundation and tools

M
• WebSphere Application Server
• WebSphere eXtreme Scale
• WebSphere Developer Tools for
ed
Eclipse

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-5. WebSphere software platform


ht

The WebSphere software platform consists of multiple products. These products can be grouped
into three categories:
• Foundation and tools
rig

• Business integration
• Business portals
As shown in the graphic, the three categories build upon each other in the order listed. WebSphere
py

Application Server is the base product for all others that are listed in this slide. WebSphere
Developer Tools for Eclipse is the primary development tool for all these products.
Co

© Copyright IBM Corp. 2016 1-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere application infrastructure: The big picture


Cloud and IBM PureApplication PureApplication WebSphere
operational System (images, Service on Application Server
management and topologies, patterns) SoftLayer on Bluemix

l
efficiency

ia
WebSphere Liberty
Application Server Buildpack/Cloud
Docker Containers Foundry

er
Mobile applications
IBM MobileFirst Foundation
(web, hybrid, native)

at
WebSphere eXtreme WebSphere Application Server V9
Scale
Fit for purpose
foundation and WebSphere Application Server
distributed caching Liberty Core
DataPower

M Intelligent Management
ed
IBM JVM

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-6. WebSphere application infrastructure: The big picture


ht

WebSphere Application Server Version 9 delivers the core foundational requirements for the rest of
the WebSphere Application Server portfolio of products. Built upon the IBM Java Virtual Machine
(JVM), the Application Server provides the foundation for the WebSphere portfolio, including IBM
rig

PureApplication System, WebSphere eXtreme Scale, and the DataPower appliances.


py
Co

© Copyright IBM Corp. 2016 1-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere V9 profile by product: Quick view


WebSphere WebSphere Application Server
Application Server WebSphere Application Server Network Deployment and WebSphere
Liberty Core Application Server z/OS

l
Traditional Traditional

ia
Liberty Liberty Liberty
WebSphere WebSphere
Application Management Application
Server and HA Server
features

er
Extra WebSphere Extra Management
application Application application and HA
features Server features extensions
extensions
Other Core Other Core Other Core WebSphere

at
features features features Application
Server
OSGI OSGI Java EE OSGI extensions
features features implementation features
Java EE

M
implementation
Web profile Web profile Web profile
features features Runtime features
Runtime
services services
configuration configuration
Kernel Kernel Kernel
ed
model model

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-7. WebSphere V9 profile by product: Quick view


ht

IBM WebSphere Application Server V9 provides a range of flexible, secure, Java EE 7 runtime
environments. It can handle everything from lightweight production projects to large enterprise
deployments. You can use WebSphere Application Server on premises or across public, private,
rig

and hybrid clouds – and you can be up and running on a hosted cloud environment in minutes with
IBM WebSphere Application Server on Cloud.
WebSphere Application Server V9, has three different runtimes:
1. WebSphere Application Server Liberty Core
py

2. WebSphere Application Server


3. WebSphere Application Server ND and WebSphere Application Server z/OS
WebSphere Application Server Liberty Core is a lightweight, production runtime that is designed for
Co

rapid development and deployment of web and cloud-based applications.


WebSphere Application Server offers a fast, flexible, and secure Java application server runtime
environment. It supports environments from single server and midsize configurations to large
deployments that require web tier clustering over multiple application server instances.
WebSphere Application Server Network Deployment provides an advanced, flexible runtime
environment for large-scale and mission-critical application deployments for open environments. It

© Copyright IBM Corp. 2016 1-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty
offers near-continuous availability with advanced performance and management capabilities for
mission-critical applications. WebSphere Application Server Network Deployment also provides a
runtime for IBM z Systems and z/OS and enables prioritized workload management, advanced
transactional integrity, horizontal and vertical scalability, and data and workload collocation.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere Application Server V9 packaging

l
• Scalability

ia
• Clustering
License • High availability
• Central administration

er
WebSphere common WebSphere common

at
base code base code

M
WebSphere WebSphere WebSphere
Liberty Core Application Application Server
Server Network Deployment
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-8. WebSphere Application Server V9 packaging


ht

The image compares the basic differences in packaging between the WebSphere Liberty Core,
WebSphere Application Server, and WebSphere Application Server Network Deployment editions.
All three packages include the WebSphere common base code. The major difference between
rig

Liberty Core and WebSphere Application Server is the license. Liberty Core has a limited license
for two processors; WebSphere Application Server has a license for unlimited processors. The
Network Deployment product adds support for scalability, clustering, high availability, and central
administration.
py
Co

© Copyright IBM Corp. 2016 1-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Product packaging comparison (1 of 2)


WebSphere WebSphere Application
Application Server Server Network Deployment

l
Core Application Stand-alone node Multiple distributed nodes, with

ia
Server centralized administration

IBM HTTP Server ¥ ¥


web server plug-ins

er
Application client, ¥ ¥
update installer,
installation factory,

at
migration tools, IBM
Support Assistant

Data Direct JDBC ¥ ¥

M
drivers

Liberty profile ¥ ¥

Intelligent
ed
Management Pack ¥

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-9. Product packaging comparison (1 of 2)


ht

This chart summarizes the WebSphere Application Server and Network Deployment packages for
production use, and provides a side-by-side comparison of some of the important features. Detailed
comparison information for the versions can be found at:
rig

http://www.ibm.com/software/webservers/appserv/wasfamily/compare.html
Both versions include the core application server, IBM HTTP Server, web server plug-ins,
application client, and Data Direct JDBC drivers.
The WebSphere Application Server package provides for deployment of a stand-alone node. In
py

addition to a stand-alone node, the Network Deployment edition supports a managed or clustered
multi-node environment with a central point of administration.
The Network Deployment edition also includes the Edge Components, IBM Tivoli Directory Server,
and Tivoli Access Manager Server.
Co

© Copyright IBM Corp. 2016 1-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Product packaging comparison (2 of 2)


WebSphere WebSphere Application
Application Server Server Network Deployment

l
Batch processing ¥ ¥

ia
Development and IBM WebSphere IBM WebSphere Application
deployment tools Application Server Server Developer Tools for

er
Developer Tools for Eclipse
Eclipse

Edge components ¥

at
IBM Tivoli Directory ¥
Server (LDAP server)

M
Tivoli Access ¥
Manager Server
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-10. Product packaging comparison (2 of 2)


ht

This chart summarizes the WebSphere Application Server and Network Deployment packages for
production use, and provides a side-by-side comparison of some of the important features. Detailed
comparison information for the versions can be found at:
rig

http://www.ibm.com/software/webservers/appserv/wasfamily/compare.html
Both versions include the core application server, IBM HTTP Server, web server plug-ins,
application client, and Data Direct JDBC drivers.
The WebSphere Application Server package provides for deployment of a stand-alone node. In
py

addition to a stand-alone node, the Network Deployment edition supports a managed or clustered
multi-node environment with a central point of administration.
The Network Deployment edition also includes the Edge Components, IBM Tivoli Directory Server,
and Tivoli Access Manager Server.
Co

© Copyright IBM Corp. 2016 1-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Supported specifications in V9
Specification or API
Java EE 7 certified Java SE 8 Servlet 3.1

l
JSP 2.3 Portlet 2.0 SIP 1.1, 1.0

ia
EJB 3.2 JDBC 4.1 JPA 2.1
JAXB 2.2 JAX-RS 2.0 JAX-RPC 1.1

er
JAXP 1.2 JAXR 1.0 JAX-WS 2.2
SAAJ 1.2, 1.3 JSF 2.2 SOAP 1.1, 1.2
StAX 1.0 UDDI 3.0 XML schema 1.0

at
JCA 1.7 WS-AT 1.0, 1.1 WS-BA 1.0, 1.1
WS-COOR 1.0, 1.1 WSDL 1.1 JSR 109 1.2
SDO 1.0 JMS 2.0 JavaMail 1.5
Java 2 Security
JCE 1.0
M
JAAS 2.0
CertPath 1.1
JACC 1.5
WS-Security 1.1
ed
JAF 1.1 WS-I Attachments 1.0 WSIF
JNDI 1.0 JTA 1.1 And more
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-11. Supported specifications in V9


ht

This chart lists some of the specifications and APIs supported in WebSphere Application Server V9.
For a more exhaustive list of supported specifications and APIs, see the WebSphere
documentation in the IBM Knowledge Center.
rig
py
Co

© Copyright IBM Corp. 2016 1-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty
1.2. Related WebSphere products and
cloud-based offerings

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Related WebSphere products

l
and cloud-based offerings

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 1-12. Related WebSphere products and cloud-based offerings
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

IBM WebSphere Application Server Developer Tools for


Eclipse
• Efficient development and innovative features of WebSphere
Application Server V9 available at no charge

l
ia
• Provided by plug-ins from the Eclipse Marketplace that can be
installed into an existing Eclipse environment to support development
for WebSphere Application Server

er
• Lightweight development environment for the developer desktop

at
• Reduce testing effort and develop with confidence by using a runtime
environment that is identical to the production runtime environment
your applications eventually run on

• Available at:
M
http://www.ibm.com/developerworks/downloads/ws/wasdevelopers/ind
ed
ex.html

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-13. IBM WebSphere Application Server Developer Tools for Eclipse
ht

WebSphere Application Server Version 9 delivers a no-charge offering to enable quick and easy
developer access to the application server that is built on the same code base as the other
WebSphere Application Server offerings.
rig
py
Co

© Copyright IBM Corp. 2016 1-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere eXtreme Scale


A flexible framework for realizing high
NYC Tokyo
performance, scalable and data-intensive

l
applications

ia
er
LA London

at
• Can be used as a • Can be used as a form of • Can be used as a

M
powerful cache in-memory database platform for
ƒ Scales from simple, ƒ Manages application states building powerful
in-process topologies ƒ Scales to thousands of servers data grid
to powerful, applications
ed
ƒ Sometimes referred to as
distributed topologies
Distributed Application State
Management
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-14. WebSphere eXtreme Scale


ht

Applications and organizations can evolve as business needs and requirements change, which can
require more scalability or the use of some of the other advanced features that eXtreme Scale
provides.
rig

What is IBM WebSphere eXtreme Scale? IBM WebSphere eXtreme Scale is a flexible framework
for realizing high-performance, scalable, and data-intensive applications. It is a single map
addressable space of virtualized JVM heap spaces. The first use of WebSphere eXtreme Scale is a
power cache for your applications. WebSphere eXtreme Scale can move that collection of
py

application caches into a grid that is highly available, elastic, and self-healing. The second use of
WebSphere eXtreme Scale is a form of in-memory database. The third use of WebSphere eXtreme
Scale is a form of redundancy across data centers.
WebSphere eXtreme Scale dynamically caches, partitions, replicates, and manages application
Co

data and business logic across multiple servers. WebSphere eXtreme Scale does massive volumes
of transaction processing with high efficiency and linear scalability, and provides qualities of service
such as transactional integrity, high availability, and predictable response times. WebSphere
eXtreme Scale can be used in different ways. It can be used as a powerful cache, as a form of an
in-memory database processing space to manage application state, or as a platform for building
powerful extreme transaction processing (XTP) applications.

© Copyright IBM Corp. 2016 1-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty
Some editions of WebSphere Application Server come with an entitlement to use WebSphere
eXtreme Scale.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 1-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere supports the entire hybrid cloud landscape

l
ia
er
WebSphere Application Server

WebSphere Docker
on-premises

at
M
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-15. WebSphere supports the entire hybrid cloud landscape


ht

WebSphere Application Server is supported across the entire hybrid cloud landscape. WebSphere
Application Server is packaged and delivered as a traditional on-premises solution. It can also be
delivered as other solutions, ranging from a service on Bluemix to a Docker file available on
rig

GitHub.
py
Co

© Copyright IBM Corp. 2016 1-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Comparison of cloud features

On-premises / Cloud enabled Cloud native

l
ia
WebSphere WebSphere
PureApp Liberty
Application Application
On-premises SoftLayer Service on Buildpack /
Server for Server Docker
SoftLayer Cloud Foundry
Bluemix containers

er
Code Code Code Code Code Code
Data Data Data Data Data Data
Runtime Runtime Runtime Runtime Runtime Runtime

at
Middleware Middleware Middleware Middleware Middleware Middleware
OS OS OS OS OS OS
Compute Compute Compute Compute Compute Compute

Customer managed
M Legend

Customer-owned patterns
ed
Platform managed Platform that is preconfigured for
WebSphere Application Server

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-16. Comparison of cloud features


ht

WebSphere Application Server cloud features vary widely depending upon whether the solution is
on-premises or completely native on the cloud.
rig

The customer completely manages an on-premises solution, from the compute nodes to the
application code. With a SoftLayer solution, IBM provides the compute node and the customer
manages the remainder of the stack.
PureApplication Service on SoftLayer provides a mix of customer managed assets, customer
owned patterns, and platform managed compute nodes. In this solution, WebSphere Application
py

Server can be deployed as a virtual system pattern.


IBM’s Bluemix platform provides the WebSphere Application Server for Bluemix service. With this
service, you can set up a preconfigured WebSphere Application Server Liberty, Traditional Network
Deployment, or Traditional WebSphere Java EE instance in a hosted cloud environment on
Co

Bluemix. You manage the code and data, while IBM manages the Bluemix platform and compute
nodes.
WebSphere Application Server Docker containers and Liberty Buildpack are both managed by their
respective platforms, while you manage the code and data.

© Copyright IBM Corp. 2016 1-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Pattern-based deployments on SoftLayer


• Dedicated and isolated hybrid-enabled cloud environment that is built to
run enterprise-grade applications

l
ia
• Using the expertise of patterns, deployments of complex enterprise
workloads become fast, repeatable, and reliable

er
• Supports middleware pattern deployments that can run on the IBM
Cloud:
ƒ WebSphere Application Server

at
ƒ WebSphere Application Server Network Deployment
ƒ Liberty Core
ƒ WebSphere eXtreme Scale

M
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-17. Pattern-based deployments on SoftLayer


ht

IBM PureApplication Service on SoftLayer is a dedicated and isolated hybrid-enabled cloud


environment that is built to run enterprise-grade applications. PureApplication Service helps you
extend your applications to hybrid cloud simply and quickly. Using the expertise of patterns,
rig

deployments of complex enterprise workloads become fast, repeatable, and reliable.


PureApplication System supports IBM middleware product pattern deployments, including:
• WebSphere Application Server Liberty Core
• WebSphere Application Server
py

• WebSphere Application Server Network Deployment


• WebSphere eXtreme Scale
• DataPower appliances
Co

© Copyright IBM Corp. 2016 1-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

IBM Bluemix and WebSphere

l
ia
cf push PaaS
app.war

WAR

er
IaaS/CaaS

at
M VM
IaaS
ed
VM

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-18. IBM Bluemix and WebSphere


ht

WebSphere is the Java runtime for the IBM Cloud. For next generation “born on the cloud” apps:
• Simple apps that are pushed into Bluemix’s Instant Runtimes are wrapped in a Liberty Java
rig

container.
• Java apps that run in Docker containers are running with the specific set of Liberty features that
they need.
• Apps that evolved from an older design that predates cloud-native thinking are best serviced
through the WebSphere Application Server for Bluemix service. In this case, Bluemix provides
py

the IaaS layer for WebSphere.


Co

© Copyright IBM Corp. 2016 1-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

IBM Bluemix: Local and dedicated

l
ia
Dedicated Local

• Your own cloud with • Delivered as-a-service on your

er
physically isolated hardware hardware or on a pre-integrated
• Use either VPN or Direct Link converged infrastructure
technology to securely • Use your existing mainframes,
connect to your enterprise SOA, processes, and data on a

at
• Available in over 25 IBM cloud platform
Cloud data centers around • Relay technology keeps your

M
the world Bluemix Local deployment on
the same update and release
cycle as the public platform
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-19. IBM Bluemix: Local and dedicated


ht

Bluemix Dedicated provides physically isolated hardware in an IBM data center. Single-tenant and
provisioned on a combination of bare metal and virtual machines, your Bluemix environment is
created just for you. With the syndicated catalog, you can power your apps and services with a
rig

combination of dedicated compute and services, along with services from the public Bluemix
catalog.
IBM not only delivers Bluemix and the platform services layer as-a-service (PaaS), but it can also
operate the underlying infrastructure layer as-a-service (IaaS) as Bluemix Local. This combination
py

enables companies to have a full-stack cloud experience. Bluemix Local is delivered behind the
firewall and integrated with IBM's market-leading security intelligence and edge protection
technology that some companies use to manage billions of security incidents a day. Additionally,
Bluemix platform patches and security fixes are delivered swiftly through Relay.
Co

© Copyright IBM Corp. 2016 1-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere Application Server for Bluemix

+ =

l
ia
WebSphere WebSphere
IBM Bluemix Application
Application
Server for

er
Server
Bluemix

• Move applications in just minutes

at
• Deploy the same traditional WebSphere Application Server, WebSphere
Application Server Network Deployment, WebSphere Liberty Server, or

M
Liberty Collective in the cloud as in on-premises data center
• Reuse existing WebSphere skills and tools, such as the WebSphere
Integrated Management Console, in the cloud as in your data center on
existing WebSphere installations
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-20. WebSphere Application Server for Bluemix


ht

WebSphere Application Server for Bluemix is a service that facilitates quick setup on a
preconfigured WebSphere Application Server Liberty, Traditional Network Deployment, or
Traditional WebSphere Java EE instance in a hosted cloud environment on Bluemix.
rig

You are given a familiar WebSphere administration experience and have full access to the
underlying operating system. You can reuse your existing scripts and tweak the system as
necessary to make to work with your own, or third-party, frameworks. The Admin Center and Admin
Consoles are provided to administer your WebSphere Application Server Liberty, ND, or Traditional
py

service, just like your on-premises WebSphere configurations.


The service is provided through Bluemix as a plan.
The WebSphere Application Server for Bluemix Network Deployment Plan consists of a
WebSphere Application Server Network Deployment cell environment with two or more virtual
Co

machines. The first virtual machine contains the Deployment Manager and IBM HTTP Server, and
the remaining virtual machines contain custom nodes (node agents) that are federated to the
Deployment Manager.
The WebSphere Application Server for Bluemix Liberty Core Plan includes the use of a Liberty
Collective. The Liberty Collective is an administrative domain for a group of Liberty profiles
(servers) and consists of two or more virtual machines.

© Copyright IBM Corp. 2016 1-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere Application Server and Docker containers

• Container is a single artifact


with application binary files,

l
middleware, JDK, and OS
settings

ia
er
• GitHub stores Docker files
so that you can build

at
custom WebSphere
Application Server images

M • Deploy containers to container services


ed
• Decrease development and deployment
time and cost

WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-21. WebSphere Application Server and Docker containers


ht

Docker containers bundle application binary files, middleware, the JDK, and operating system
settings into a single artifact, providing deployment consistency and portability from development to
test to production. IBM makes several WebSphere Liberty containers available on the Docker hub,
rig

including a Java EE 6 and Java EE 7 web profile and full Java EE 7, each building on a common
Liberty kernel layer. You can then build a fully customized Java EE Docker container by starting
with just the Liberty kernel and the specific list of features in a server.xml configuration.
You can also use Docker files that are available on GitHub to build custom images that run
py

WebSphere Application Server with customized license entitlements. WebSphere Application


Server Developer Tools V9 adds support so that you can code and test your applications locally or
remotely in Docker while you develop in their Eclipse environment. You can choose to deploy these
containers to the IBM Container Service, Docker Datacenter, and other container services.
Co

© Copyright IBM Corp. 2016 1-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

WebSphere Application Server V9 standards and changes


• Release 9 is Java Enterprise Edition 7 certified
• Java Platform, Standard Edition 8 is the default for traditional

l
WebSphere Application Server V9

ia
• Updated system requirements and operating support matrix
• Many components are updated to use more modern components: IBM
HTTP Server, Admin Console, open source libraries

er
• Security hardening for Admin Console
• IBM HTTP Server based to Apache 2.4 in Release 9

at
Default Jython is version 2.7 (older versions available but deprecated)
• Only Java 8 64-bit (no 32-bit) JDK
• Installation requires IBM Installation Manager 1.8.5 or higher

M
IBM Knowledge Center includes release details in the document What
is new in WebSphere Application Server traditional
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-22. WebSphere Application Server V9 standards and changes


ht

Regarding changes in operating support, Ubuntu KVM 14.04 and 16.04 are added as supported
operating systems. Windows 7 is dropped. The minimum supported version of Windows is 8.1.
rig

Express is no longer used. Express is now replaced with Liberty.


For more information, see the following websites:
• Documentation for changes in the release:
https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.0/com.ibm.websphere.base.doc/
ae/welc_newinrelease.html
py

• WebSphere Application Server product offerings for supported operating systems:


https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.0/com.ibm.websphere.installation
.base.doc/ae/cins_offerings.html
Co

© Copyright IBM Corp. 2016 1-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Unit summary
• Describe the WebSphere family of products
• Describe the relationships between various products in the WebSphere

l
family

ia
• Describe the WebSphere Application Server V9 offerings
• Describe how WebSphere Application Server is used in cloud,
on-premises, and hybrid cloud environments

er
• Describe the standards that are supported in this release

at
M
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-23. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 1-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Review questions
1. What is the main difference between the WebSphere
Application Server and WebSphere Application Server

l
ND editions?

ia
2. If you want to deploy a single application with low
transaction volume, which WebSphere Application

er
Server edition do you need?

3. True or False: WebSphere Application Server for

at
Bluemix is provided in WAR format, which includes
WebSphere Application Server and the operating
system.

M
4. True or False: Support is included for mixed WebSphere
Application Server releases in a cell.
ed
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-24. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py

4. 
Co

© Copyright IBM Corp. 2016 1-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 1. WebSphere product family overview

Uempty

Review answers
1. What is the main difference between the WebSphere
Application Server and WebSphere Application Server

l
ND editions?

ia
The answer is: WebSphere Application Server provides for the deployment of a
stand-alone node. WebSphere Application Server ND provides for a managed or
clustered multi-node environment with a central point of administration.
2. If you want to deploy a single application with low transaction

er
volume, which WebSphere Application Server edition do you need?
The answer is: You can use any edition to deploy a single application with low
transaction volume.

at
3. True or False: WebSphere Application Server for Bluemix is
provided in WAR format, which includes WebSphere Application
Server and the operating system.

M
The answer is False. WebSphere Application Server for Bluemix can “spin up”
preconfigured WebSphere Application Server Liberty, Traditional Network
Deployment, or Traditional WebSphere Java EE instances.
4. True or False: Support is included for mixed WebSphere
ed
Application Server releases in a cell.
The answer is True.
WebSphere product family overview © Copyright IBM Corporation 2016

Figure 1-25. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 1-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Unit 2. WebSphere Application Server


architecture: Stand-alone

l
Estimated time

ia
01:00

Overview

er
This unit provides an architectural overview of WebSphere Application Server V9 at run time.

How you will check your progress

at
• Review questions

M
References
WebSphere Application Server V9 documentation in IBM Knowledge Center:
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
ed
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Unit objectives
• Describe a typical e-business application architecture
• Describe the architectural differences between WebSphere Application

l
Server packages

ia
• Describe what is running in a WebSphere Application Server node
• Describe the architectural implications of the web server plug-in
• Describe the use of Java Database Connectivity (JDBC) providers and

er
data sources

at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 2-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Topics
• Architecture runtime
• Architecture administration

l
• Profiles

ia
er
at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 2-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty
2.1. Architecture runtime
This topic provides information about architecture runtime.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Architecture runtime

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 2-3. Architecture runtime
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Version 9 packaging

WebSphere Application Server ND

l
Clustering Node agent Deployment manager

ia
Intelligent Management Web Services Gateway

er
WebSphere Application Server Traditional

at
Web-based admin Web services

EJB container Messaging

Web container

M PMEs
JDK
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-4. Version 9 packaging


ht

In this unit, the focus is on the single-server version of WebSphere Application Server traditional,
shown against the blue background in this diagram.
rig
py
Co

© Copyright IBM Corp. 2016 2-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere Application Server basics


• WebSphere Application Server
ƒ Is a platform on which Java based business applications run

l
ƒ Is an implementation of the Java Platform, Enterprise Edition (Java EE)
specification

ia
ƒ Provides services (database connectivity, threading, workload management)
that the business applications can use

er
at
Application

Application Server

M
Hardware, operating system, database,
network, storage
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-5. WebSphere Application Server basics


ht

This diagram illustrates the differences between the application, the application server, and the
hardware and operating system layers. WebSphere Application Server is a platform on which
Java-based business applications run and is an implementation of the Java Platform, Enterprise
rig

Edition specification. It provides services (database connectivity, threading, workload management)


that the business applications can use.
py
Co

© Copyright IBM Corp. 2016 2-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (1 of 10)

Browser

l
ia
er
at
M
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-6. WebSphere architecture runtime (1 of 10)


ht

This diagram is the first of a series of ten diagrams that build in complexity over the next ten pages.
The diagrams illustrate the basic architecture of WebSphere Application Server, including several of
the larger components.
rig

The main element is the application server, a Java process that encapsulates many services,
including the containers, where business logic runs. If you are familiar with Java EE, you recognize
the web container and the EJB container. The web container runs servlets and JavaServer Pages
(JSPs), both of which are Java classes that generate markup that a web browser can view. Traffic
py

into and out of the web container travels through the embedded IBM HTTP Server. While servlets
and JSPs can act independently, they most commonly make calls to EJBs to run business logic or
access data. EJBs, which run in the EJB container, are easily reusable Java classes. They most
commonly communicate with a relational database or other external source of application data,
either returning that data to the web container or changing the data on behalf of the servlet or JSP.
Co

The JMS messaging engine is built into the application server. This messaging engine is pure Java.
JMS destinations, which are known as queues and topics, provide asynchronous messaging
services to the code that runs inside the containers. JMS is covered in more depth later in this
course.
As you see in more detail later on, the web services engine provides the ability for application
components to be exposed as web services, which can be accessed by using SOAP.

© Copyright IBM Corp. 2016 2-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty
Several other services are run within the application server, including the dynamic cache, data
replication, security, and others. You look at these topics later in the course.
In addition, some important components exist outside of the application server process.
WebSphere Application Server also provides a plug-in for HTTP servers that determines the HTTP
traffic that WebSphere intends to handle, and routes the requests to the appropriate server. The
plug-in is also a critical player in workload management of HTTP requests, as it can distribute the
load to multiple application servers, and steer traffic away from servers that are not available. It also

l
reads its configuration from a special XML file.

ia
1 of 10: The browser is the main interaction mechanism for users.

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (2 of 10)

Browser

l
HTTP or

ia
HTTPS
HTTP
server

er
at
M
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-7. WebSphere architecture runtime (2 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

2 of 10: A browser communicates with a web server (HTTP server).


py
Co

© Copyright IBM Corp. 2016 2-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (3 of 10)


Application Server
Browser

l
Web container

Embedded HTTP

ia
Servlets

Server
HTTP
server JSP
Plug-in

er
Plug-in
configuration

at
file

M
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-8. WebSphere architecture runtime (3 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

3 of 10: The way the request gets into the WebSphere Application Server is from the HTTP server
plug-in that is loaded with the HTTP server. This request is forwarded to the embedded HTTP
server within the application server. The embedded server forwards the request into the web
container to either a servlet or a JSP.
py
Co

© Copyright IBM Corp. 2016 2-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (4 of 10)


Application Server
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Plug-in
configuration

at
file

M
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-9. WebSphere architecture runtime (4 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

4 of 10: If these servlets or JSPs access distributed business logic or a database, the Java EE way
to accomplish it is through EJBs within the EJB container.
py
Co

© Copyright IBM Corp. 2016 2-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (5 of 10)


Application Server
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Plug-in Application
configuration data

at
file

M
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-10. WebSphere architecture runtime (5 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

5 of 10: EJBs (entity in this case) can communicate with the database to store, retrieve, query, and
delete data. JDBC is one way that this communication can occur.
py
Co

© Copyright IBM Corp. 2016 2-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (6 of 10)


Application Server
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Web services Messaging
Plug-in engine engine Application
configuration data

at
file
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-11. WebSphere architecture runtime (6 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

6 of 10: Many other services are provided within WebSphere Application Server. Some of those
services are depicted here.
py
Co

© Copyright IBM Corp. 2016 2-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (7 of 10)


Application Server
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Web services Messaging
Plug-in engine engine Application
configuration data

at
file
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-12. WebSphere architecture runtime (7 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

7 of 10: The browser can communicate directly with the embedded HTTP server (bypassing the
external web server); use this direct communication only for testing and development purposes. In
this way, you access your application servers in many of the lab exercises.
py
Co

© Copyright IBM Corp. 2016 2-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (8 of 10)


Java
Application Server client
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Web services Messaging
Plug-in engine engine Application
configuration data

at
file
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-13. WebSphere architecture runtime (8 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

8 of 10: Browsers are not the only clients; a pure Java client can access EJBs directly through
RMI/IIOP.
py
Co

© Copyright IBM Corp. 2016 2-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (9 of 10)


Java
Application Server client
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Web services Messaging
Plug-in engine engine Application
configuration data

at
file
Dynamic cache JMX

Data replication Security

Web
services
client
Name server

M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-14. WebSphere architecture runtime (9 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

9 of 10: Web services clients can also access your application server. This communication occurs
in two ways:
• Through SOAP over HTTP and passing through the embedded HTTP server
• Through SOAP over JMS communicating directly to the messaging engine within the
application server
py
Co

© Copyright IBM Corp. 2016 2-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere architecture runtime (10 of 10)


Java
Application Server client
Browser

l
Web container EJB container

Embedded HTTP

ia
Servlets

Server
HTTP EJB
server JSP
Plug-in

er
Web services Messaging
Plug-in engine engine Application
configuration data

at
file
Dynamic cache JMX

Data replication Security

Web
services
client
Name server

M Other services
JMS
client
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC JMS
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-15. WebSphere architecture runtime (10 of 10)


ht

This diagram is part of a series of diagrams that illustrate the basic architecture of WebSphere
Application Server, including several of the larger components.
rig

10 of 10: Finally, you can use a JMS client to communicate directly with the messaging engine.
py
Co

© Copyright IBM Corp. 2016 2-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

JDBC providers
• Provide the JDBC driver implementation for database access
ƒ Type 2 JDBC drivers (thick): Require the database client software on the

l
client node to connect to the database server

ia
ƒ Type 3 JDBC drivers (net protocol): Require server-side code to map net
protocol to native database
ƒ Type 4 JDBC drivers (native protocol): Connect directly to the database by

er
using its native protocol
• XA drivers support transaction recovery

at
Client node

JNDI

JDBC driver
Connection
pool

M JDBC Database
client
Database
server
ed
Data source

WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-16. JDBC providers


ht

To access a database from an application server, a JDBC provider is necessary. The JDBC
provider allows access to the database through a JDBC driver implementation for database access.
Three different JDBC driver implementations are available with the application server.
rig

• Type 2 JDBC drivers, sometimes known as “thick”, require the database client software on the
client node to connect to the database server.
• Type 3 JDBC drivers (net protocol) require server-side code to map net protocol to the native
database.
py

• Type 4 JDBC drivers (native protocol) connect directly to the database by using its native
protocol.
XA drivers support transaction recovery.
Co

© Copyright IBM Corp. 2016 2-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Data sources
• Data sources can improve performance and portability for database access
ƒ Standard and XA data sources

l
• Two parts provide connection pooling:

ia
ƒ J2C connection manager
ƒ Relational resource adapter
• Connection factories are similar to data sources

er
ƒ Typically connect to external resources that are not databases
• WebSphere Application Server Version 4.0 data sources are deprecated in
Version 9

at
Relational resource
adapter
Application

Data source
or Connection
Database

M
connection pool
factory
ed
J2C connection
manager
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-17. Data sources


ht

Rather than having the JDBC drivers communicate directly with the database, the communication
is abstracted into a data source.
rig
py
Co

© Copyright IBM Corp. 2016 2-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty
2.2. Administration architecture
This topic provides information about architecture administration.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Administration architecture

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 2-18. Administration architecture
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere administration architecture (1 of 4)


Application Server

l
Web container EJB container

Embedded HTTP

ia
Servlets
EJB
Server
JSP pages

er
Web services Messaging
engine engine

at
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-19. WebSphere administration architecture (1 of 4)


ht

This diagram is the first of a series of four diagrams that build in complexity over the next four
pages. Earlier, you saw the runtime depiction of a WebSphere Application Server. This diagram
series illustrates the basic architecture of administering WebSphere Application Server.
rig

Two main tools are used to administer WebSphere Application Server: the administrative console
and the wsadmin command-line tool.
The configuration of the server is stored in a set of XML files, often referred to as the configuration
repository. These files define the server itself, and the resources and services that it provides.
py

1 of 4: This diagram is a standard application server, as previously mentioned.


Co

© Copyright IBM Corp. 2016 2-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere administration architecture (2 of 4)


Application Server

l
Web container EJB container
Admin

Embedded HTTP

ia
Servlets service
JSP EJB
Server
Admin
Admin
MBeans

er
application

Web services Messaging


engine engine

at
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
XML
configuration
files
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-20. WebSphere administration architecture (2 of 4)


ht

2 of 4: One of the services available within the application server is the administrative service. This
service allows for configuration of the application server. The files necessary for configuration are
stored outside of the actual application server in a set of XML configuration files. An application that
rig

runs within the web container provides users the ability to administer the application server through
a web application: the administrative console.
py
Co

© Copyright IBM Corp. 2016 2-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere administration architecture (3 of 4)


Application Server
Web-based
administrative

l
console Web container EJB container
Admin

Embedded HTTP

ia
Servlets service
JSP EJB
Server
Admin
Admin
MBeans

er
application

Web services Messaging


engine engine

at
Dynamic cache JMX

Data replication Security

Name server

M Other services
ed
XML
configuration
Legend HTTP or HTTPS RMI/IIOP SOAP/HTTP File I/O files
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-21. WebSphere administration architecture (3 of 4)


ht

3 of 4: This diagram illustrates communication from the browser to the XML configuration files.
rig
py
Co

© Copyright IBM Corp. 2016 2-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere administration architecture (4 of 4)


Application Server
Web-based
administrative

l
console Web container EJB container
Admin

Embedded HTTP

ia
Servlets service
JSP EJB
Server
Admin
Admin
MBeans

er
application

Web services
Messaging
engine engine

at
wsadmin
command-line Dynamic cache JMX
client
Data replication Security

C:\> wsadmin
Name server

M Other services
ed
XML
configuration
Legend HTTP or HTTPS RMI/IIOP SOAP/HTTP File I/O files
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-22. WebSphere administration architecture (4 of 4)


ht

4 of 4: The wsadmin command-line client is used to administer the application server through
SOAP, by communicating with the embedded HTTP server, or by using RMI (the default) to
communicate directly with the administrative service.
rig
py
Co

© Copyright IBM Corp. 2016 2-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty
2.3. Profiles
This topic provides information about profiles.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Profiles

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 2-23. Profiles
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere profile overview


Profiles are sets of files that represent a
WebSphere Application Server configuration

l
ia
WebSphere Application Server files are split
into two categories: WebSphere
• Product files product files

er
(binary files)
ƒ Set of shared read-only static files or
product binary files
ƒ Shared among any instances of the

at
WebSphere Application Server product
Profile files
ƒ DmgrProfile
• Profiles (configuration files) ƒ profile1

M
ƒ profile2
ƒ Set of user-customizable data files
ƒ Files include WebSphere configuration,
installed applications, resource adapters,
properties, and log files
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-24. WebSphere profile overview


ht

Profiles are the configuration mechanism that you can use to run more than one application server
on a single installation of WebSphere product files. For a stand-alone server, the dmgr profile would
not exist yet.
rig
py
Co

© Copyright IBM Corp. 2016 2-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

WebSphere profile benefits


• Benefits of profiles:
ƒ Each profile uses the same product files
ƒ Simpler than multiple WebSphere installations

l
ƒ Less disk space

ia
ƒ Simplifies application of product updates
profile1 profile2

er
at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-25. WebSphere profile benefits


ht

Notice that under the WebSphere installation directory (<was_root>) each profile has
subdirectories. In the example that is shown, two application servers are each configured according
to the files that exist within their own profile directory.
rig
py
Co

© Copyright IBM Corp. 2016 2-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Managing profiles
2

l
ia
1

er
at
Profiles are managed through one of the tools provided:

M
1. Profile Management Tool
• Accessed through the WebSphere Customization Toolbox
• Gathers user input and starts the manageprofiles
command-line tool to create the profiles
ed
2. manageprofiles script
• Command-line interface for profile management functions
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-26. Managing profiles


ht

These two tools are available for creating and managing profiles. Profiles are managed through
one of the tools provided:
rig

1. The Profile Management Tool (PMT) wizard is an Eclipse-based GUI tool for creating profiles.
The wizard gathers user input and starts the manageprofiles command-line tool to create the
profiles.
2. The manageprofiles script is run from a command-line interface for profile management
functions.
py
Co

© Copyright IBM Corp. 2016 2-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Profile types
• Cell
ƒ Deployment manager with a federated application server

l
• Management

ia
ƒ Administrative agent
ƒ Deployment manager
ƒ Job manager

er
• Application server
ƒ Stand-alone

at
• Custom profile
ƒ Federated node
(no application server)
• Secure proxy

M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-27. Profile types


ht

There are numerous profile types:


• Cell
rig

▪ Deployment manager with a federated application server


• Management
▪ Administrative agent
▪ Deployment manager
py

▪ Job manager
• Application server
▪ Stand-alone
Co

• Custom profile
▪ Federated node
▪ (No application server)
▪ Secure proxy

© Copyright IBM Corp. 2016 2-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Unit summary
• Describe a typical e-business application architecture
• Describe the architectural differences between WebSphere Application

l
Server packages

ia
• Describe what is running in a WebSphere Application Server node
• Describe the architectural implications of the web server plug-in
• Describe the use of Java Database Connectivity (JDBC) providers and

er
data sources

at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-28. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 2-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Review questions
1. Which one of the following components provides an
environment for running servlets?

l
A. Client module

ia
B. Web container
C. EJB module

er
2. Which type of JDBC driver is considered a “thick” driver?
A. Type 2
B. Type 3
C. Type 4

at
3. Which of the following are components contained within

M
the JVM of the application?
A. HTTP Server plug-in
B. Embedded HTTP Server
C. DB2 database
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-29. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py
Co

© Copyright IBM Corp. 2016 2-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Review answers
1. Which one of the following components provides an
environment for running servlets?

l
A. Client module

ia
B. Web container
C. EJB module
The answer is B.

er
2. Which type of JDBC driver is considered a “thick” driver?
A. Type 2
B. Type 3

at
C. Type 4
The answer is A.
3. Which of the following are components contained within
the JVM of the application?
A. HTTP Server plug-in
B. Embedded HTTP Server
M
ed
C. DB2 database
The answer is B.
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-30. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 2-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Exercise: Profile creation

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 2-31. Exercise: Profile creation
ht
rig
py
Co

© Copyright IBM Corp. 2016 2-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 2. WebSphere Application Server architecture: Stand-alone

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Use the Profile Management Tool to create a profile

l
• Verify the profile creation

ia
er
at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016

Figure 2-32. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 2-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Unit 3. WebSphere Application Server


administrative console

l
Estimated time

ia
00:30

Overview

er
This unit describes the features in the administrative console for WebSphere Application Server.

How you will check your progress

at
• Review questions
• Lab exercises

References
M
WebSphere Application Server Network Deployment V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 3-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Unit objectives
• Describe how to access the administrative console
• Describe the administrative console in a cell topology

l
• Describe the administrative console interface

ia
• Describe the use of the following administrative tools:
ƒ Help
ƒ Preferences

er
ƒ Filters
ƒ Guided Activities
ƒ Troubleshooting

at
• Describe user and group administrative roles
• Describe the Tivoli Performance Viewer

M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 3-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console

l
ia
er
at
M
• Web browser-based tool that manages
WebSphere Application Server
ed
• Supports a full range of product administrative
activities
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-2. Administrative console


ht

The administrative console is also known as the Integrated Solutions Console.


The console is accessed by using any supported web browser and entering the web address:
rig

http://<host_name>:9060/ibm/console
Using the browser back button with the console can produce unexpected results and is not
supported. Use the controls and links that are provided in the console to navigate between pages
and applications.
py
Co

© Copyright IBM Corp. 2016 3-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Starting the administrative console

Node
Administration

l
console Application server

ia
Load, edit, Admin
save application
EAR file

er
Admin
service
• AdminApplication
ƒ Installed as a system application Configuration

at
ƒ Runs within an application server profile (XML files)
ƒ Cannot be managed through the console
ƒ Not listed as an installed application
Stand-alone single server

M
ƒ WebSphere Security protects it
• Accessed through
http://localhost:9060/ibm/console
ed
ƒ 9060 is the default port

WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-3. Starting the administrative console


ht

The administrative console is implemented as an application (AdminApplication). It is deployed as a


system application during product installation and within an application server. The
AdminApplication cannot be managed through the console, and is not listed as an installed
rig

application. WebSphere administrative security is used to control which users can log in to the
console.
py
Co

© Copyright IBM Corp. 2016 3-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console in a cell topology


Deployment Node agent
manager
Web-based Admin server1
admin service

l
console HTTP or Admin
HTTPS

ia
application Cell config
Node01 config server2
Web server1 config
Command line container

er
C:\> wsadmin server2 config EAR file
SOAP
Node01
Admin
services

at
Node agent
Master
Admin server3
Cell config service
Node01 config

M
server1 config EAR Cell config
server2 config file Node02 config server4
Node02 config server3 config
server3 config
server4 config
ed
Commands EAR file
server4 config
Configuration
Node02
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-4. Administrative console in a cell topology


ht

This diagram depicts two separate views of WebSphere administration.


The flow of administration commands is shown as solid lines, and the flow of administration
rig

configuration files is shown as dotted lines.


For both of these flows, the diagram proceeds from left to right.
py
Co

© Copyright IBM Corp. 2016 3-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Console login
1 Log on to the console
• User ID

l
ƒ A string that identifies the

ia
user
ƒ Is used to track changes
that the user makes

er
ƒ User ID must be unique
• Password
ƒ If security is set,

at
specify a password

2 User ID conflict
• Shown when another
user is logged in with
the same user ID M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-5. Console login


ht

To access the console, enter your user ID and password and then click Log in. The password is
required only if security is enabled.
rig

If the user ID that you provide is already logged in at a different location, you are prompted to
choose between logging out from the other location or returning to the login page. If you log out the
user from the other location, you might be prompted to recover unsaved changes that the user
made.
py
Co

© Copyright IBM Corp. 2016 3-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Recovering prior changes

l
ia
er
at
M
• If your prior session times out, you can recover prior changes
• Two options are available:
ed
ƒ Work with the default administrative configuration
ƒ Work with the administrative configuration from the prior session
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-6. Recovering prior changes


ht

After you are logged in, be sure to use the Logout link in the console toolbar when you are finished
working with the console to prevent unauthorized access. If no activity takes place during this login
session for an extended period, the session expires, and you must log in again to access the
rig

console. The administrator can change the session timeout. The default is set to 30 minutes.
py
Co

© Copyright IBM Corp. 2016 3-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console session timeout

l
ia
er
at
M Timeout value
in minutes
ed
• Issue wsadmin –f <path to timeout script>/timeout.jacl
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-7. Administrative console session timeout


ht

This slide shows a Jacl script that modifies the administrative console timeout duration. You are
going to work with a similar script in one of the upcoming lab exercises.
rig
py
Co

© Copyright IBM Corp. 2016 3-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console panels


1 Collection pages

l
ia
er
2 Detail pages

at
3
Wizard pages
y JDBC wizard is M
ed
an example

WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-8. Administrative console panels


ht

This slide shows the three basic types of pages in the administrative console. These common
patterns provide a consistency of format within the administrative console.
rig
py
Co

© Copyright IBM Corp. 2016 3-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console areas

1 Banner

l
ia
4 Message area

er
at
5 Help

3 Work area

2 Navigation tree
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-9. Administrative console areas


ht

The purpose of this slide is to show the layout of the administrative console. The details are not the
important message here. It is not critical that you can read the text on this slide.
rig

The next several slides show each of the sections in detail.


py
Co

© Copyright IBM Corp. 2016 3-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console banner

l
ia
er
at
Item Description
Welcome • The administrative console home page
• Contains links to information sources

M
Logout • Logs you out of the administrative console session
• Shows the Login page after successfully logging out
• If changes were made and not saved, the Save page is shown

Help • Opens a new web browser with detailed online help for the
ed
administrative console
• Note: This Help is not the IBM Knowledge Center
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-10. Administrative console banner


ht

After you are logged in, be sure to use the Logout link in the console toolbar when you are finished
working with the console to prevent unauthorized access.
rig
py
Co

© Copyright IBM Corp. 2016 3-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console navigation tree (1 of 2)


Tasks Description

Guided activities Step-by-step guidance for certain

l
configuration tasks such a connecting to a

ia
database

Servers Configuration of application servers and web


servers

er
Applications Installation and management of applications

Services Configuration of service providers, clients,


policy sets, trust service, security, cache, and

at
reliable message state

Resources Configuration of application resources and


management of those resources

Security

M Configuration and management of


WebSphere security, SSL, and web services
security
ed
Environment Configuration of hosts, replication domains,
environment variables, naming, and others
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-11. Administrative console navigation tree (1 of 2)


ht

This slide briefly describes some of the tasks that are listed in the navigation tree. Expanding any of
these tasks reveals more subtasks.
rig
py
Co

© Copyright IBM Corp. 2016 3-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console navigation tree (2 of 2)


Tasks Description

System Configuration and management of

l
administration components, users, and preferences

ia
Users and Configuration of users and groups
Groups

er
Monitoring and Configuration of the Performance Monitoring
Tuning Infrastructure and Tivoli Performance Viewer

at
Troubleshooting Tracking and verification of configuration
errors and problems

M
Service Configuration for service integration buses,
integration messaging engines, and messages
destinations
ed
UDDI Configuration of UDDI nodes

WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-12. Administrative console navigation tree (2 of 2)


ht

This slide briefly describes the remaining tasks that are listed in the navigation tree. Some of these
tasks are explored in more detail later in this unit.
rig
py
Co

© Copyright IBM Corp. 2016 3-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console help (1 of 2)


1 Console help
y Click Help from
console banner

l
y Select from list of
references

ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-13. Administrative console help (1 of 2)


ht

All of the help panels that you can access from the administrative console are also accessible from
the WebSphere Application Server documentation in IBM Knowledge Center.
rig
py
Co

© Copyright IBM Corp. 2016 3-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console help (2 of 2)


2 Page help
y Click More information about this page

l
from help workspace

ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-14. Administrative console help (2 of 2)


ht

You can access help in the following ways:


• Click either of the following tabs of an online help page:
rig

▪ Click the Help index tab and select from the list of help panels to view administrative
console help information.
▪ Click the Search tab, provide search terms, and then click Search. Under Results, select a
help panel that contains the search information.
py

• In the help portal that is on the right side of the administrative console panel, do one or all of the
following tasks:
▪ Click a field label or a list marker in the administrative console panel for the help to display
under field help. Alternatively, place the cursor over the field label or the list marker for the
Co

corresponding help to display at the cursor. Attention: When you place the cursor over the
field label or list marker, the help might be truncated in a Firefox browser. Click the field label
or list marker so that the full help is displayed under field help.
▪ Click the link under Page help to access the help panel for the administrative console
panel. The help panel is the same help panel that displays when you click the “?” icon.

© Copyright IBM Corp. 2016 3-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty
▪ If Command assistance is listed, click the link under Command assistance to view
wsadmin scripting commands for the last action that completed within the console panel.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 3-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console preferences

l
ia
er
at
M Specify how features
of the administrative
console workspace
ed
behave

WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-15. Administrative console preferences


ht

Use the preference settings to specify how you want information to be displayed on an
administrative console panel. The preference settings vary from one administrative console panel
to another.
rig

Turn on workspace automatic refresh: Specifies whether you want the administrative console
workspace to refresh automatically after the administrative configuration changes. The default is for
the workspace to refresh automatically. If you delete a WebSphere variable, for example, the
WebSphere variables page refreshes automatically and shows the updated list of WebSphere
py

variables in the WebSphere variables collection.


Enable command assistance notifications: Specifies whether to send Java Management
Extensions (JMX) notifications that contain command assistance data from the administrative
console. Enablement of the notifications allows integration with product tools such as the Toolkit
Co

Jython editor for WebSphere Application Server. Enablement of this option is suggested for
non-production environments only.

© Copyright IBM Corp. 2016 3-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Administrative console preferences, filters, and scope

• Some administrative console pages


1

l
include fields to customize how much
data is shown

ia
Set preferences
• Select options in the following fields:
ƒ Preferences
ƒ Filter

er
ƒ Scope

at
2 Select resources

M
3 Set filters
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-16. Administrative console preferences, filters, and scope


ht

Maximum rows: Indicates the maximum number of rows to display per page when the collection is
large.
Show resources at one authorizing group level: Specifies the authorization group level that is
rig

used to filter the resources in the table. Only those roles that apply to your ID can display in the
table. Valid values are All Roles, Administrator, Deployer (for application collection panels only),
Operator, Configurator, and Monitor. If All Roles is selected, then all the resources that you are
authorized to view are displayed in the table and grouped by role. Otherwise, the resources for the
py

role that is selected are displayed in the table.


Co

© Copyright IBM Corp. 2016 3-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Guided Activities • Structured steps through common


administrative tasks
• Otherwise, must know exactly
what pages to use and where to
find them within the console

l
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-17. Guided Activities


ht

The Guided Activities feature displays each administrative console page on which you must do a
task. The following information surrounds the task to help you do the task successfully.
rig

The Guided Activities feature displays an introduction to the task, introducing essential concepts
and describing when and why to perform the task:
• Other tasks to perform before and after performing the task
• The main steps to complete during this task
py

• Hints and tips to help you avoid and recover from problems
• Links to field descriptions and extended task information, which can be found in the online
documentation
Co

© Copyright IBM Corp. 2016 3-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

My tasks
1 Select My tasks from the
navigation view selection list

l
ia
2 Select tasks to
add to the My
tasks list

er
3 The tasks are shown in the

at
My tasks list

M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-18. My tasks


ht

Use “My tasks” to create and edit a list of tasks to view in the console navigation. A task includes a
page that contains one or more web applications, or console modules, that are used to complete
that task. When you first access the console, all tasks to which you have access are displayed in
rig

the navigation. “My tasks” is especially useful to customize the navigation to show only the tasks
that you use most often. After you customize your tasks, “My tasks” is initially displayed each time
you log in to the console.
py
Co

© Copyright IBM Corp. 2016 3-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Users and groups

l
ia
er
Administrative
2 roles

at
y Monitor
y Configurator
y Operator
y Administrator

M
y ISC Admins
1 User and group
management y Deployer
y Admin Security
y Administer user
Manager
and group roles
y Auditor
ed
y Manage users and
groups
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-19. Users and groups


ht

The following pages are used as described:


• Administrative user roles: Use this page to add, update, or remove administrative roles for
rig

users. Assigning administrative roles to a user enables the user to administer application
servers through the administrative console or through wsadmin scripting.
• Administrative group roles: Use this page to add, update, or remove administrative roles for
groups. Assigning administrative roles to a group enables the group to administer application
servers through the administrative console or through wsadmin scripting.
py

• Manage Users and Manage Groups: Enables you to create or delete users and groups within
your user registry.
Co

© Copyright IBM Corp. 2016 3-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Troubleshooting information
• Troubleshooting
ƒ Configure log and trace settings

l
ƒ Identify and view configuration problems

ia
ƒ View class loaders for modules within
the topology of enterprise applications
ƒ Generate thread, heap, and system

er
memory dumps
• Configuration Validation
ƒ View problems that exist in the present
configuration

at
• Diagnostic Provider
ƒ Review the startup configuration, current
configuration, and current state of a

M diagnostic domain
• Runtime Messages
ƒ Review runtime error, warnings, and
ed
information messages

WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-20. Troubleshooting information


ht

The Class Loader Viewer helps you diagnose problems with class loaders.
Diagnostic Providers are a quick method for viewing configuration and the current state of individual
rig

components within an application server environment.


py
Co

© Copyright IBM Corp. 2016 3-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Tivoli Performance Viewer


• Integrated browser-based performance viewer and advisor

l
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-21. Tivoli Performance Viewer


ht

Administrators and programmers can use Tivoli Performance Viewer to monitor the overall health of
WebSphere Application Server from within the administrative console.
rig

From Tivoli Performance Viewer, you can view current activity or log Performance Monitoring
Infrastructure (PMI) performance data for the following resources:
• System resources such as processor utilization
• WebSphere pools and queues such as a database connection pool
py

• Customer application data such as average servlet response time


Co

© Copyright IBM Corp. 2016 3-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Unit summary
• Describe how to access the administrative console
• Describe the administrative console in a cell topology

l
• Describe the administrative console interface

ia
• Describe the use of the following administrative tools:
ƒ Help
ƒ Preferences

er
ƒ Filters
ƒ Guided Activities
ƒ Troubleshooting

at
• Describe user and group administrative roles
• Describe the Tivoli Performance Viewer

M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-22. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 3-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Review questions
1. True or False: The AdminApp application can be
configured with the administrative console.

l
ia
2. True or False: Configurable console settings, including
session timeout, can be set through the Console
Preferences page of the system administration task.

er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-23. Review questions


ht

Write your answers here:


1. 
rig

2. 



py


Co

© Copyright IBM Corp. 2016 3-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Review answers
1. True or False: The AdminApp application can be
configured with the administrative console.

l
The answer is False. You cannot configure the AdminApp with the
administrative console.

ia
2. True or False: Configurable console settings, including
session timeout, can be set through the Console

er
Preferences page of the system administration task.
The answer is False. The session timeout is set from a script.

at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-24. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 3-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Exercise: Exploring the

l
administrative console

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 3-25. Exercise: Exploring the administrative console
ht
rig
py
Co

© Copyright IBM Corp. 2016 3-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 3. WebSphere Application Server administrative console

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Verify that WebSphere Application Server is started

l
• Start the administrative console

ia
• Explore the navigation and functions of the administrative console
• Use the administrative console to examine configuration information,
resources, and properties

er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016

Figure 3-26. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 3-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Unit 4. Introduction to the


PlantsByWebSphere application

l
Estimated time

ia
00:15

Overview

er
This unit introduces the PlantsByWebSphere application architecture, and explains how it is used to
demonstrate WebSphere Application Server concept s and functions.

at
How you will check your progress
• Lab exercises

References
M
WebSphere Application Server Network Deployment V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_

base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 4-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Unit objectives
• Describe the architecture and components of the PlantsByWebSphere
application

l
• Explain how the application is used as a case study for WebSphere

ia
Application Server

er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 4-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

PlantsByWebSphere application

l
ia
er
at
• Simple shopping cart application
ƒ Added server information
M
ed
ƒ Uses Derby, but can use DB2
ƒ Built as an enhanced EAR
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-2. PlantsByWebSphere application


ht

PlantsByWebSphere is a simple shopping cart application that is available with the WebSphere
Application Server distribution. It uses Derby as its back-end database, but can also be configured
to work with other databases such as DB2.
rig
py
Co

© Copyright IBM Corp. 2016 4-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

PlantsByWebSphere sample
• PlantsByWebSphere is available through the Features > Samples
Applications that come with the WebSphere Application Server

l
ƒ Can be found in <was_root>\samples\PlantsByWebSphere

ia
ƒ More samples are available through the IBM Knowledge Center
• The version of PlantsByWebSphere used in this course is altered
slightly

er
ƒ To make the
PlantsByWebSphere
application more

at
useful for
educational
purposes, two links
are added to the

M
bottom of the
Help page
(View Server Info
and Admin Home)
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-3. PlantsByWebSphere sample


ht

PlantsByWebSphere is a sample application. Numerous other sample applications are now


available through the IBM Knowledge Center. In previous versions of WebSphere, these other
samples were available directly through the WebSphere Application Server distribution.
rig

For educational purposes, the PlantsByWebSphere application is modified slightly. This


modification is made to more easily demonstrate several functional issues that are useful to point
out in a class such as this.
• To demonstrate session failover in a clustered environment, another link that is called View
py

Server Info is added to the Help page. This link shows server information so that it is easy to
understand where the server affinity is mapped.
• To more easily demonstrate application security, another link that is called Admin Home is also
added to the Help page. This link makes it easier to access the Admin servlet, which is
Co

protected through Java EE security. Otherwise, the user must type in the URL (or use a
bookmark).
This course also uses DB2 instead of Derby, giving students a chance to configure data sources
and JDBC drivers (instead of relying on the embedded definitions as part of the enhanced EAR). To
rebuild the DB2 database, run the CreateDB script in the software directory.

© Copyright IBM Corp. 2016 4-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Home page: http://<hostname>/PlantsByWebSphere

l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-4. Home page: http://<hostname>/PlantsByWebSphere


ht

This screen shows the home screen for the PlantsByWebSphere application.
rig
py
Co

© Copyright IBM Corp. 2016 4-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Login and Registration

l
ia
er
at
M
• Log in with
ƒ User: [email protected]
ƒ Password: plants
ed
• Or, register as new user
ƒ Enter your own data
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-5. Login and Registration


ht

This screen shows the Login and Registration screens for the PlantsByWebSphere application.
It is not necessary to log in to the application unless the user wants to go through the purchasing
rig

screens.
py
Co

© Copyright IBM Corp. 2016 4-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

My Account

l
ia
er
• Click My Account on the bottom

at
to see your account information
ƒ If you are not logged in, you are
prompted to log in or register

M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-6. My Account


ht

This screen shows the My Account page for the PlantsByWebSphere application. If this screen
shows user information, it means that the user is already logged in. If not, a login screen is
displayed.
rig
py
Co

© Copyright IBM Corp. 2016 4-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Shopping
Select a tab, and
then click items to
view or add to cart

l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-7. Shopping


ht

This screen shows three of the shopping tabs for the PlantsByWebSphere application. These
include Trees, Flowers, and Fruits & Vegetables. From these screens, users can click the individual
items and add them to their cart.
rig
py
Co

© Copyright IBM Corp. 2016 4-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Select an item
When you have an item page open, you
see the details and are able to change
the quantity and Add to cart

l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-8. Select an item


ht

This screen shows the details for an individual item within the PlantsByWebSphere application.
Users can click Add to cart and continue to shop. Or, if they want, they can choose to check out.
rig
py
Co

© Copyright IBM Corp. 2016 4-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Shopping cart
• The shopping cart can be filled with
numerous items
• Click Checkout Now when ready

l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-9. Shopping cart


ht

This screen shows the shopping cart screen for the PlantsByWebSphere application. From this
screen, users can modify the quantities of their items, click Checkout Now, or continue to shop.
rig
py
Co

© Copyright IBM Corp. 2016 4-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Checking out: Billing information


• Checkout
requires more

l
information,

ia
including credit
card data
• Click Continue

er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-10. Checking out: Billing information


ht

This screen shows the first of the checkout screens for the PlantsByWebSphere application. This
screen is where users confirm the billing and shipping information. They also must enter credit card
data. Be careful here, as the format of the credit card information is required to be XXXX XXXX XXXX
rig

XXXX (with spaces).


py
Co

© Copyright IBM Corp. 2016 4-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Checking out: Submit


• Click Submit
Order to

l
complete the

ia
transaction

er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-11. Checking out: Submit


ht

When the billing information is entered, the user is able to click Submit Order.
rig
py
Co

© Copyright IBM Corp. 2016 4-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Help page
• The Help
page provides

l
an entry point

ia
to the
following links:
ƒ View Server

er
Info
ƒ Admin Home

at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-12. Help page


ht

The Help page provides an entry point to the following links: View Server Info and Admin Home.
These links are added to the PlantsByWebSphere application especially for this course. They are
not part of the PlantsByWebSphere EAR file that is distributed with the product.
rig
py
Co

© Copyright IBM Corp. 2016 4-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

View Server Info page

l
ia
The View Server Info page shows which

er
server is hosting the connection
• Used for demonstrating server failover

at
M It also displays the Session Data
(and time created)
• Used for demonstrating session failover
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-13. View Server Info page


ht

The View Server Info page shows which server is hosting the current connection. This information
is useful for demonstrating server failover, since it is important to know which cluster member to
stop.
rig

The session data is used to demonstrate failover of session information through


memory-to-memory replication.
The PlantsByWebSphere application does not store the shopping cart in an HTTP session object,
so it does not fail over correctly upon a server failure. Instead, this session information field was
py

created to demonstrate HTTP session object failover.


Co

© Copyright IBM Corp. 2016 4-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Admin home page

l
ia
• The Admin home page is used
to demonstrate application

er
security
• When configured, these pages
require authentication

at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-14. Admin home page


ht

The administrative pages are mapped to the SampAdmin security role. When application security is
enabled, authentication is required to access these pages.
rig
py
Co

© Copyright IBM Corp. 2016 4-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

HTML documentation for PlantsByWebSphere (1 of 2)


• For more information about PlantsByWebSphere, several HTML files in
the sample directory can be useful

l
ia
• Overview:
<was_root>/samples/PlantsByWebSphere/docs/index.html

er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-15. HTML documentation for PlantsByWebSphere (1 of 2)


ht

The following files contain potentially useful information about PlantsByWebSphere:


• <was_root>/samples/PlantsByWebSphere/docs/index.html
rig

• <was_root>/samples/PlantsByWebSphere/docs/techNotes.html
py
Co

© Copyright IBM Corp. 2016 4-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

HTML documentation for PlantsByWebSphere (2 of 2)


• TechNotes:
<was_root>/samples/PlantsByWebSphere/docs/techNotes.html

l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-16. HTML documentation for PlantsByWebSphere (2 of 2)


ht

The Technotes page provides information about the default email address and password. Also, the
database tables and SQL statement for creating them are shown. A description of the Java objects
that are used in the application is shown.
rig

The Plants by WebSphere Sample incorporates the following technologies:


• Java Persistence API (JPA) entity beans
• Stateless session beans
py

• Stateful session beans


• Servlets
• JavaServer Faces (JSF) files and Facelets
Co

• Java Platform, Enterprise Edition security


The Plants by WebSphere application is supported through a series of JSF pages and HTML
pages. These pages communicate with the following servlets: AccountServlet, ShoppingServlet,
ImageServlet, and AdminServlet. The servlets use the various enterprise bean business methods
which, in turn, access data from the database as needed.

© Copyright IBM Corp. 2016 4-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 4. Introduction to the PlantsByWebSphere application

Uempty

Unit summary
• Describe the architecture and components of the PlantsByWebSphere
application

l
• Explain how the application is used as a case study for WebSphere

ia
Application Server

er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016

Figure 4-17. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 4-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Unit 5. Application assembly


Estimated time
01:00

l
ia
Overview
In this unit, you learn how to use the WebSphere Developer Tools for Eclipse to prepare and export

er
an enterprise application for deployment to WebSphere Application Server.

How you will check your progress

at
• Review questions
• Lab exercises

References

M
WebSphere Application Server Network Deployment V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Unit objectives
• Describe the functions of the WebSphere Developer Tools for Eclipse
• Describe the application assembly process

l
• Describe the use of the WebSphere Developer Tools for Eclipse,

ia
including:
ƒ Importing and examining application components
ƒ Preparing and exporting an enterprise application for deployment on

er
WebSphere Application Server
ƒ Explaining how annotations work and describing their benefits for
programmers
ƒ Showing the metadata that annotations generate

at
ƒ Explaining the relationship between annotations and deployment
descriptors

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Topics
• Overview of Java EE application packaging
• Application assembly and deployment tools

l
• Enhanced EAR

ia
• Java EE modules
• Java EE annotations

er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty
5.1. Overview of Java EE application packaging

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Overview of Java EE

l
application packaging

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-3. Overview of Java EE application packaging
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Overview of application assembly and installation

Enterprise
Deployment

l
bean
descriptors

ia
EAR file
Servlet
Web modules

er
Assemble EJB modules Install
Client modules Application
JSF
server

at
Deployment
descriptor

HTML,
Application Enterprise

M
GIF
assembly application

Client
ed
class

Application assembly © Copyright IBM Corporation 2016

Figure 5-4. Overview of application assembly and installation


ht

Two main activities are shown in this figure: assembly and installation. This unit describes the
assembly process, and a following unit defines the installation activity.
rig
py
Co

© Copyright IBM Corp. 2016 5-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Java EE packaging

Resource
Java Platform,
adapter Enterprise Edition Application
DD

l
RAR file application EAR file

ia
er
EJB Web Web Client
module module DD module
JAR file WAR file JAR file

at
Enterprise HTML, Client
bean JSP DD
GIF

M
Client
Servlet class
EJB
Legend: DD
= Container file
ed
= Object that is in a file
DD = Deployment descriptor
Application assembly © Copyright IBM Corporation 2016

Figure 5-5. Java EE packaging


ht

This diagram shows the pieces that can be put together to create a Java EE application.
rig
py
Co

© Copyright IBM Corp. 2016 5-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

WebSphere: Application packaging


IBM
Resource
Java Platform, bindings
adapter Enterprise Edition Application
DD

l
RAR file application EAR file IBM
extensions

ia
er
Persistence EJB Web Web Client
unit DD module module DD module
JAR file WAR file JAR file

at
IBM
bindings Enterprise HTML, Client
bean JSP DD
GIF
IBM

M
Client
extensions class
Servlet
EJB
Legend: DD
= Files IBM IBM IBM
ed
bindings extensions bindings
= Object that is in a file
DD = Deployment descriptor
Application assembly © Copyright IBM Corporation 2016

Figure 5-6. WebSphere: Application packaging


ht

See how this diagram adds more items to the enterprise application (Hint: compare it to the
previous diagram).These additional items are required for the WebSphere Application Server to
“understand” how this application is going to run.
rig
py
Co

© Copyright IBM Corp. 2016 5-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

WebSphere application contents


Deployment descriptors
• XML-based text files that describe the application environment

l
ia
IBM bindings
• Bind application names to deployment platform-specific resources
ƒ User-to-role mappings

er
IBM extensions
• Support other options, beyond the Java EE specification, such as:

at
ƒ Access intent attributes
ƒ Web application reloading
ƒ File serving and servlet invoker (by class name)

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-7. WebSphere application contents


ht

A deployment descriptor is an Extensible Markup Language (XML) file that describes how to deploy
a module or application by specifying configuration and container options.
rig

Before an application can start, all enterprise bean (EJB) references and resource references that
are defined in the application must be bound to the actual artifacts (enterprise beans or resources)
defined in the application server.
When defining bindings, you specify Java Naming and Directory Interface (JNDI) names for the
referenceable and referenced artifacts in an application. The jndiName values that are specified for
py

artifacts must be qualified lookup names. An example of a referenceable artifact is an EJB defined
in an application. An example of a referenced artifact is an EJB or a resource reference that the
application uses.
Co

© Copyright IBM Corp. 2016 5-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty
5.2. Application assembly and deployment
tools

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Application assembly and

l
deployment tools

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-8. Application assembly and deployment tools
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Development and assembly tools


• Use an integrated development environment (IDE) to develop,
assemble, and deploy Java EE modules for WebSphere Application

l
Server

ia
• The assembly tool that is used in this course is:
ƒ IBM WebSphere Application Server Developer Tools for Eclipse, which is a

er
lightweight set of tools for developing, assembling, and deploying Java EE
applications to WebSphere Application Server V7 and later

• In the IBM Knowledge Center, the phrase assembly tool refers to this

at
tool and others that are used to develop, assemble, and deploy Java
EE applications

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-9. Development and assembly tools


ht

IBM WebSphere Application Server Developer Tools for Eclipse is a workbench that integrates with
the application server to help you to quickly deploy and test applications. This product contains
wizards and visual editors that support the Java EE programming model. The download for IBM
rig

WebSphere Application Server Developer Tools for Eclipse is available on the WASdev community
website at: http://developer.ibm.com/wasdev
py
Co

© Copyright IBM Corp. 2016 5-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

IBM WebSphere Application Server Developer Tools for


Eclipse
• IBM WebSphere Application Server Developer Tools for Eclipse is an
Eclipse plug-in

l
ƒ A subset of Rational Application Developer for the rapid assembly and

ia
deployment of modules for WebSphere
ƒ Requires Eclipse workbench
• Runs on Linux Intel, Windows, and Mac OS platforms

er
• Replaces the IBM Assembly and Deploy Tools for WebSphere
Administration
• Can be downloaded from Eclipse Marketplace; can be purchased as

at
part of a WebSphere Application Server bundle
• For more information, see the following website:
https://www.ibm.com/software/webservers/appserv/was/tools/

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-10. IBM WebSphere Application Server Developer Tools for Eclipse
ht

IBM WebSphere Application Server Developer Tools for Eclipse enables rapid assembly and
deployment of applications to WebSphere Application Server environments. These tools replace
the previously available IBM Assembly and Deploy Tools function.
rig
py
Co

© Copyright IBM Corp. 2016 5-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

IBM WebSphere Application Server Developer Tools for


Eclipse tasks
• Create and configure Java EE enterprise applications (EAR files):
ƒ Build from scratch

l
ƒ Java EE modules

ia
• Generate and modify deployment descriptor information
• Generate and modify binding information attributes

er
Generate and modify the IBM extension attributes
• Deploy applications to a remote server
• Create, debug, and run Jython scripts

at
• Import command assistance logs from the console in to Jython scripts
• View, analyze, and correlate log files

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-11. IBM WebSphere Application Server Developer Tools for Eclipse tasks
ht

IBM WebSphere Application Server Developer Tools for Eclipse provides all of the core functions
for assembling and deploying a Java EE application.
rig
py
Co

© Copyright IBM Corp. 2016 5-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Features in assembly tools (1 of 2)


• Tools for publishing server-side code on WebSphere Application Server
• Automated deployment descriptor generation and visual editors

l
• Jython scripting editor and debugger

ia
• Java Platform, Enterprise Edition and Java EE XML form-based
deployment descriptor and binding editors
• Tools for assembling and deploying OSGi applications, bundles,

er
fragments, and composites and a source editor for blueprint file editing
• Tools for JAX-RPC web service import, discovery, and deployment
• Tools for JAX-WS web service deployment, policy set association, and

at
binding

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-12. Features in assembly tools (1 of 2)


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Features in assembly tools (2 of 2)


• XML deployment descriptor, binding editors, and code validators
• Tools for importing, exporting, assembling, and deploying Session

l
Initiation Protocol (SIP) applications

ia
• Tools for assembling and deploying portlet applications
• Tools for adding database access to your applications, including built-in
support and JDBC providers for many supported databases

er
• EJB deployment
• Enhanced EAR editor

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-13. Features in assembly tools (2 of 2)


ht

IBM Assembly and Deploy Tools supports the following WebSphere Application Server Version 8
applications for assembly and deployment purposes:
• Java EE
rig

• Basic OSGi
• Web services
• XML
py

• Basic SIP
• Basic Portlet
Co

© Copyright IBM Corp. 2016 5-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Assembling an enterprise application


• When working with a workspace that an application developer provides,
no assembly is required (the tool already automatically does the

l
assembly)

ia
• The application assembler must:
ƒ Configure modules
ƒ Export an EAR file

er
• When you are assembling individual modules:
ƒ Create a workspace (first time)
ƒ Import modules into the workspace

at
ƒ Assign modules to an enterprise application
ƒ Configure the deployment descriptors of the module
ƒ Configure the Java EE module dependencies

M
ƒ Export the EAR file
• After assembly:
ƒ Optionally test within the tool by using a V9 test server
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-14. Assembling an enterprise application


ht

The final product of the application assembly process is an EAR file.


rig
py
Co

© Copyright IBM Corp. 2016 5-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

IBM WebSphere Application Server Developer Tools for


Eclipse usage
• Upon opening the tool, you are asked to specify a workspace folder
ƒ Files and metadata are kept in the workspace

l
ƒ Create a workspace by pointing to an empty folder

ia
ƒ Guideline is one workspace per enterprise application

er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-15. IBM WebSphere Application Server Developer Tools for Eclipse usage
ht

With IBM WebSphere Application Server Developer Tools for Eclipse you get access to the
complete set of Rational Application Developer documentation. Some documented features are
available only with the full Rational Application Developer for WebSphere Software product. The
rig

tool documentation that is included with the WebSphere Application Server V9 documentation in
IBM Knowledge Center is a supplement to the full Rational Application Developer for WebSphere
Software documentation.
py
Co

© Copyright IBM Corp. 2016 5-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Import modules
Wizard driven:
• Import modules

l
ƒ EAR files

ia
ƒ EJB JAR files
ƒ Application client
JAR files

er
ƒ Web module WAR
files
• Import Java Utility
JAR files

at
• Imported into a
new or existing
enterprise
application

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-16. Import modules


ht

Select File > Import.


Wizards are provided for importing application modules into the enterprise application.
rig
py
Co

© Copyright IBM Corp. 2016 5-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Specify runtime environment


• Notice that
different runtimes

l
are available for
different versions

ia
of WebSphere
Application Server

er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-17. Specify runtime environment


ht

This example screen capture shows the V9.0 runtime environment.


rig
py
Co

© Copyright IBM Corp. 2016 5-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Generate deployment descriptor


• Check Generate application.xml deployment descriptor

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-18. Generate deployment descriptor


ht

When the application.xml deployment descriptor is automatically generated, default names are
used.
rig
py
Co

© Copyright IBM Corp. 2016 5-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Java EE perspective

l
ia
er
Stacked views

at
Project view Editor
(Enterprise
Explorer)

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-19. Java EE perspective


ht

This screen capture shows the primary perspective of IBM WebSphere Application Server
Developer Tools for Eclipse for packaging Java EE applications.
rig
py
Co

© Copyright IBM Corp. 2016 5-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Application deployment descriptor


Simplest of deployment descriptors (application.xml)

l
The editor can be used to:

ia
• Edit the display name and description of the application
• Add and remove modules
ƒ Web

er
ƒ EJB
ƒ Application client
ƒ Resource adapter

at
(connector)
• Work with security
roles of the

M
application
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-20. Application deployment descriptor


ht

The application.xml file identifies each module of an application. A Java EE application is not
required to provide an application.xml file in the EAR file. When an application.xml file does
not exist, the product examines the Java archive (JAR) file contents to determine whether the JAR
rig

file is an enterprise bean (EJB) module or an application client module.


py
Co

© Copyright IBM Corp. 2016 5-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Enterprise applications without application.xml


• Java EE enterprise applications can be built without specifying an
application deployment descriptor (application.xml)

l
ia
• The runtime product supplies a default deployment descriptor
ƒ The application name is assumed to be the name of the EAR file with the
.ear extension removed

er
ƒ Files that end in .war are assumed to be web modules
ƒ The context root of the web module is assumed to be the name of the web
module with the .war extension removed
ƒ Files not in the /lib directory that end in .jar, and contain an

at
ejb-jar.xml file or at least one EJB, are assumed to be EJB modules

M
Note the limitation of the default
context root name
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-21. Enterprise applications without application.xml


ht

It is important to understand the limitation of the default context root name. For example, if the web
module is named PlantsByWebSphereWeb.war, then the default context root is
PlantsByWebSphereWeb.
rig
py
Co

© Copyright IBM Corp. 2016 5-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Packaging enterprise applications for deployment


• You can deploy Java compliant EAR and WAR files
• An enhanced EAR includes Java EE artifacts plus resource

l
information that is needed to install in the application server:

ia
ƒ JDBC resources (data sources)
Enhanced EAR
ƒ Class loader
ƒ JAAS authentication aliases

er
ƒ Shared libraries
ƒ Virtual host Resources
Enhanced Java EE
information
EAR application
• Benefits in

at
EAR
improved productivity:
ƒ Application resources and Properties
properties come with the application
ƒ The application installation process

M
creates the necessary resources within the server or cluster
ƒ Moving an application from one server to another also moves the
ed
resources
• Assembly and deployment tools support WebSphere extensions
Application assembly © Copyright IBM Corporation 2016

Figure 5-22. Packaging enterprise applications for deployment


ht

An enhanced EAR file is created if you use the administrative console to export an application.
To export applications, click Export on the Enterprise applications page. Using Export produces an
rig

enhanced enterprise archive (EAR) file that contains the application and the deployment
configuration. The deployment configuration consists of the deployment.xml and other
configuration files that control the application behavior on a deployment target.
By exporting applications, you can back up your applications and preserve binding information for
the applications. You might export your applications before updating installed applications or
py

migrating to a later version of the product.


Co

© Copyright IBM Corp. 2016 5-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Application scope resources


• Define
resources

l
to include
in the

ia
enhanced
EAR file

er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-23. Application scope resources


ht

This picture shows how to open the editor for resources that are going to be scoped at the
application level. These types of resources are part of an enhanced EAR file. Later, more
information is provided about enhanced EAR files.
rig
py
Co

© Copyright IBM Corp. 2016 5-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Data sources

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-24. Data sources


ht

This image shows part of the editing of an enhanced EAR, which is the entry point for defining a
data source. You define a data source in the lab exercise. It is helpful to define a data source in the
assembly tool so you can test the application without having to move it onto a server.
rig
py
Co

© Copyright IBM Corp. 2016 5-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty
5.3. Enhanced EAR

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Enhanced EAR

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-25. Enhanced EAR
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Enhanced EAR
Not part of the Java EE specification
• Used mainly during development and test stages

l
• Not intended to be used in

ia
production Enhanced EAR
• Resources at

er
application
scope Resources
Enhanced Java EE
• Resources EAR application

at
are visible in EAR
the administrative
Properties
console

M
ƒ Under the resources of the
application, not with other scoped
resources
ƒ Can be tested in the console (for example, test connection for data sources)
ed
• Takes precedence over all other scopes
Application assembly © Copyright IBM Corporation 2016

Figure 5-26. Enhanced EAR


ht

Resources are defined at application scope, which takes precedence over higher-level scopes.
rig
py
Co

© Copyright IBM Corp. 2016 5-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Unenhancing an EAR file


• Before deployment to production, remove resources that are defined in
an enhanced EAR file

l
ia
• Reconfigure resources to be at the correct scope
ƒ Preferably through scripting

er
• Resources can be removed:
ƒ By using the IBM Assembly and DeployTools (preferable)
ƒ Another .zip file-manipulating tool to remove the

at
META-INF/ibmconfig folder
ƒ In UNIX systems, use the EARExpander script:
1. Expand the EAR file

3. Compress the EAR file


4. Deploy
M
2. Remove only the META-INF/ibmconfig folder and all of its contents
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-27. Unenhancing an EAR file


ht

When an enhanced EAR file is uninstalled, the resources that are defined at the application scope
are removed.
rig
py
Co

© Copyright IBM Corp. 2016 5-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Dealing with enhanced EAR files at deployment time

l
ia
er
at
To ignore
application scoped
resources at M
ed
installation time

Application assembly © Copyright IBM Corporation 2016

Figure 5-28. Dealing with enhanced EAR files at deployment time


ht

The check box named “Process embedded configuration” determines whether the application
scoped resources are deployed to the server. If this box is checked, then the resources from the
enhanced EAR file get used. If it is not checked, these resources are ignored and not installed in
rig

the WebSphere Application Server.


py
Co

© Copyright IBM Corp. 2016 5-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty
5.4. Java EE modules

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Java EE modules

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-29. Java EE modules
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

EJB module assembly


• Import wizard
ƒ Imports into a new or existing enterprise project

l
• Adds Enterprise JavaBeans in the module

ia
ƒ Session bean
ƒ Entity bean

er
ƒ Message-driven bean

• Optionally use the deployment descriptor editor to configure


ƒ EJB references

at
ƒ Security roles
ƒ Method permissions
ƒ Application exceptions
ƒ Container transactions

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-30. EJB module assembly


ht

An enterprise bean is a managed Java component that can be combined with other resources to
create Java Enterprise Edition (Java EE) applications.
rig

Assemble an EJB 3.0 or 3.1 module to contain enterprise beans and related code artifacts. Group
web components, client code, and resource adapter code in separate modules. After the EJB
module is assembled, install it as a stand-alone application or combine it with other modules into an
enterprise application.
py
Co

© Copyright IBM Corp. 2016 5-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

EJB components are included in the web module


• In EJB 3.1, you can
put enterprise bean

l
classes in the WAR
file along with web

ia
components

er
• No longer necessary
to put EJB classes in
the ejb-jar file

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-31. EJB components are included in the web module


ht

This picture from the IBM Assembly and Deploy Tools shows an EJB JAR file that is packaged into
a WAR module. According to the Java EE 6 specification, EJB files can now be packaged into the
WAR file.
rig
py
Co

© Copyright IBM Corp. 2016 5-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Web module assembly


• Import wizard
ƒ Imports into an existing enterprise application project, or creates a new one

l
ƒ Adds web components from a WAR module: servlets, JSP pages, static

ia
HTML, supporting Java code
• Use the deployment descriptor editor to configure
ƒ Named servlets and JSP pages (URL mappings)

er
ƒ Initialization parameters
ƒ Resource references
ƒ

at
Security roles and constraints
ƒ Authentication mechanism
ƒ Welcome and error pages

M
ƒ Filters and listeners
• Context root is defined under web_module > Properties > Web
Project Settings, not the deployment descriptor of the module
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-32. Web module assembly


ht

The Import wizard imports into an existing enterprise application project, or creates a new one. You
can use the wizard to add web components from a WAR module, such as servlets, JSP files, static
HTML, and other supporting Java code.
rig
py
Co

© Copyright IBM Corp. 2016 5-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Web module

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-33. Web module


ht

This screen gives a look at some of the files that are contained in the web module. This module is
going to be exported as a WAR file.
rig
py
Co

© Copyright IBM Corp. 2016 5-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Adding metadata through the menus

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-34. Adding metadata through the menus


ht

By clicking an item in the Enterprise Explorer (typically a right-click), more information can be
created or modified. In the example that is shown here, security data is going to be added to the
web module.
rig
py
Co

© Copyright IBM Corp. 2016 5-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Application client assembly


• Import wizard
ƒ Imports into existing enterprise application project, or creates a new one

l
ƒ Adds application client components from the JAR module

ia
ƒ Specify the class path and the class that contains the main() method that
the application client uses
• Add any icons

er
• Add EJB references
• Add resource references

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-35. Application client assembly


ht

Application client projects contain the resources that are needed for application client modules. An
application client module is used to contain a full-function client Java application (non-web-based)
that connects to and uses the Java EE resources that are defined in your server. When you place
rig

the client code in an application client module instead of a simple JAR file, the application client
benefits from the resources of the application server. For example, it is not necessary to respecify
the class path to Java EE and server JAR files. Also, JNDI lookup is easier since the client
container provides the initial context and other parameters. By using the application client project,
you can work as if you are creating a stand-alone Java application in a Java project.
py

You can use an application client project to do the following things:


• Develop the Java classes that implement the client module
• Set the application client deployment descriptor
Co

• Test the application client

© Copyright IBM Corp. 2016 5-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Generating an EAR file for deployment


• Assemble application
modules

l
Resolve Java EE
dependencies

ia
• Save all changes
• Export the EAR file

er
• If source is available, it can
optionally be included in
the EAR file
• The exported file is ready

at
to be deployed

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-36. Generating an EAR file for deployment


ht

Enterprise applications are deployed in the form of an EAR file. Use the Export wizard to export an
enterprise application project into an EAR file for deployment.
rig

Optional: If you are exporting to an existing EAR file and you do not want to be warned about
overwriting it, select the Overwrite existing file check box.
The wizard exports the contents of the EAR project to the specified EAR file. Additionally, for each
project that corresponds to a module or utility JAR file in the application, the project contents are
exported into a nested module or JAR file in the EAR file. If any unsaved changes exist on any of
py

the files in any of the referenced projects, you are prompted to save these files before export.
Co

© Copyright IBM Corp. 2016 5-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Export an EAR file


• Specify the type of file to export

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-37. Export an EAR file


ht

The second step of exporting an application is to specify the target file type: JAR, EAR, RAR, or
shared EAR file.
rig
py
Co

© Copyright IBM Corp. 2016 5-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Final export step


• Specify file name
• Place in the installableApps directory

l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-38. Final export step


ht

In the final step of the export, you name the exported file. You also specify the location for that file.
In this case, the installableApps directory is used to make it easy to deploy the application.
rig
py
Co

© Copyright IBM Corp. 2016 5-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty
5.5. Java EE annotations

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Java EE annotations

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-39. Java EE annotations
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Annotations in Java code


• An important feature in Java EE and EJB is the use of annotations
ƒ Simplifies EJB development

l
ƒ Removes the need for the deployment descriptor for most purposes

ia
• Annotations are metadata that can be embedded directly into the Java
classes they describe
ƒ Allow application settings to be visible in the component they affect

er
ƒ You can use them to attach more information to a Java class or method
ƒ The server generates EJB infrastructure code that is based on annotations
• A combination of annotations and deployment descriptor can be used

at
ƒ The deployment descriptor augments or overrides the annotations
ƒ Allows for customization when application is assembled or deployed

@Stateless
@RolesAllowed ("SampAdmin")
M Annotation syntax starts with @ ...
ed
public class BackOrderMgr {
...
Application assembly © Copyright IBM Corporation 2016

Figure 5-40. Annotations in Java code


ht

You can use annotations to write metadata for Enterprise JavaBeans (EJB) inside your source
code. You can use them instead of Extensible Markup Language (XML) deployment descriptor files.
Annotations can also be used with descriptor files.
rig
py
Co

© Copyright IBM Corp. 2016 5-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

How annotations help the developer


• Using annotations reduces complexity:
ƒ Reduces the number of artifacts the developer must deal with

l
ƒ Metadata is in the code instead of the deployment descriptors
ƒ

ia
Default values can be used for most common scenarios
ƒ Developers must specify information only if they want the application to
behave differently than the default
ƒ Plain old Java objects (POJO) plus annotation-based programming

er
model

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-41. How annotations help the developer


ht

EJB 3.0 represents a vast improvement in the EJB programming model and is one of the biggest
potential sources of increased productivity for Java EE developers. An EJB can now be an
annotated “plain old Java object” (POJO), which is not required to extend a certain class. It must
rig

implement a remote interface only, which you define or allow your IDE to create automatically.
Deployment descriptors are no longer required because the EJB container can extract all that is
necessary to know from the annotations on an EJB.
py
Co

© Copyright IBM Corp. 2016 5-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Example of declaring a session bean with annotations

l
package com.ibm.websphere.samples.pbw.ejb;

ia
import javax.ejb.Stateless;
...

/**

er
* The BackOrderMgr provides a transactional and secured
* facade to access back order information. This bean no longer
* requires an interface as there is one and only one implementation.
*/

at
@Stateless
@RolesAllowed ("SampAdmin")
public class BackOrderMgr
{

...
@PersistenceContext(unitName="PBW")
private EntityManager em;

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-42. Example of declaring a session bean with annotations


ht

In Java Platform, Enterprise Edition 1.4, this EJB had to implement the SessionBean interface,
requiring six method implementations. In many cases, these method implementations wind up
empty and exist only to satisfy the interface and allow the code to compile, leading to cluttered
rig

code. EJB 3.0 eliminates that problem by providing the lifecycle annotations @PostConstruct,
@PreDestroy, @PostActivate, and @PrePassivate. You add these annotations as needed to any
public, parameterless method that returns void to implement reactions to lifecycle events.
py
Co

© Copyright IBM Corp. 2016 5-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Stateless session bean as shown in the Explorer view

l
ia
er
...
@Stateless
@RolesAllowed ("SampAdmin")
public class BackOrderMgr

at
{
@PersistenceContext(unitName="PBW")
private EntityManager em;

M
...
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-43. Stateless session bean as shown in the Explorer view


ht

In the Enterprise Explorer view, you can see the hierarchy of the application, its modules, and the
components of the modules.
rig
py
Co

© Copyright IBM Corp. 2016 5-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Using annotations to inject EJB references


• Dependency injection:
ƒ Hides creation and lookup of resources from application code

l
ƒ Resources are “injected” into the source code by the container that is

ia
based on the annotations specified
ƒ Programmers are no longer required to do JNDI lookups in their code
ƒ Clients that are managed classes can access EJB components by

er
declaring a dependency:

@EJB
private CatalogMgr catalog;

at
private ProductBean product;
private LinkedList<ProductBean> products;

M
private float shippingCost;
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-44. Using annotations to inject EJB references


ht

Here you see how an annotation becomes application metadata as seen in the console.
rig
py
Co

© Copyright IBM Corp. 2016 5-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Example of injecting an EJB reference


• Source
ƒ
package com.ibm.websphere.samples.pbw.war;

l
import javax.ejb.EJB;

ia
import javax.inject.Named;
...
@Named("help")
public class HelpBean {

er
@EJB ResetDBBean rdb;

• Generated EJB references

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-45. Example of injecting an EJB reference


ht

The screen capture is from the administrative console. It shows a portion of the EJB references for
the PlantsByWebSphere application. You can access this view by clicking Applications >
Application Types > WebSphere enterprise applications > PlantsByWebSphere > EJB > EJB
rig

references.
py
Co

© Copyright IBM Corp. 2016 5-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Application bindings
• All EJB references and resource references that are defined in the
application must be bound to the artifacts defined in the application

l
server

ia
ƒ These artifacts include enterprise beans or resources

• You specify Java Naming and Directory Interface (JNDI) names for the
referenced artifacts in an application

er
• For EJB modules, binding definitions are stored in
ibm-ejb-jar-bnd.xml

at
• For EJB modules, you do not need to specify JNDI binding names for
each of the business interfaces on your enterprise beans
ƒ If you do not explicitly assign bindings, the EJB container assigns default

M
bindings
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-46. Application bindings


ht

An application assembler can define bindings when modifying deployment descriptors of an


application. Bindings are specified in the WebSphere Bindings section of a deployment descriptor
editor. Modifying the deployment descriptors might change the binding definitions in the
rig

ibm-xxx-bnd.xmi files that are created when developing an application. After defining the
bindings, the assembler gives the application to a deployer. When installing the application onto a
supported application server, the deployer does not modify, override, or generate default bindings
unless changes are necessary for successful deployment.
py
Co

© Copyright IBM Corp. 2016 5-52


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

WebSphere default bindings for bean interfaces


• WebSphere assigns default names that are based on patterns:

l
ia
Description Binding pattern

Short form local ejblocal:<package.qualified.interface>

er
interfaces

Short form remote <package.qualified.interface>


interfaces

at
Long form local ejblocal:<component-id>#
interfaces <package.qualified.interface>

Long form remote


interfaces
M
ejb/component-id>#
<package.qualified.interface>
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-47. WebSphere default bindings for bean interfaces


ht

An application deployer or server administrator can use the administrative console to modify the
bindings when installing the application onto a supported application server. New binding definitions
can be specified on the installation wizard pages.
rig

Also, a deployer or administrator can select to generate default bindings during application
installation. Selecting Generate default bindings during application installation instructs the
product to define incomplete bindings in the application with default values. Existing bindings are
not changed.
py
Co

© Copyright IBM Corp. 2016 5-53


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Specifying Java EE metadata for deployment


• Java EE modules can specify metadata:
ƒ In annotations

l
ƒ In deployment descriptors
ƒ If both, then deployment descriptors override or augment annotations

ia
• EJB deployment descriptors (ejb-jar.xml) or web deployment

er
descriptors (web.xml) are optional in Java EE EAR files

• You can view deployment descriptors in the WebSphere Application


Server administrative console, even if you did not specify them

at
ƒ They are generated for you when you deploy the EAR in the application
server

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-48. Specifying Java EE metadata for deployment


ht

Bindings support in the EJB container is expanded in Java EE 6. The EJB container assigns default
JNDI bindings for EJB 3.0 and 3.1 business interfaces. The bindings are based on application
name, module name, and component name. You do not have to explicitly define JNDI binding
rig

names for each of the interfaces, or EJB homes within an EJB 3.0 module, or no-interface views
within an EJB 3.1 module.
py
Co

© Copyright IBM Corp. 2016 5-54


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Unit summary
• Describe the functions of the WebSphere Developer Tools for Eclipse
• Describe the application assembly process

l
• Describe the use of the WebSphere Developer Tools for Eclipse,

ia
including:
ƒ Importing and examining application components
ƒ Preparing and exporting an enterprise application for deployment on

er
WebSphere Application Server
ƒ Explaining how annotations work and describing their benefits for
programmers
ƒ Showing the metadata that annotations generate

at
ƒ Explaining the relationship between annotations and deployment descriptors

M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-49. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-55


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Review questions
1. The result of packaging an enterprise application is _____.

l
2. True or False: Java EE reduces or eliminates the need to

ia
deal with Java EE deployment descriptors in many cases.

3. True or False: Enhanced enterprise applications are the

er
preferred way to deploy applications in a production
environment.

at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-50. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py
Co

© Copyright IBM Corp. 2016 5-56


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Review answers
1. The result of packaging an enterprise application is _____.
The answer is: An EAR file.

l
ia
2. True or False: Java EE reduces or eliminates the need to
deal with Java EE deployment descriptors in many cases.
The answer is True.

er
• Note: “Annotations reduce or eliminate the need to deal with
Java EE deployment descriptors in many cases.” – from the
Java EE 6 specification
• Caveat: If you do not specify the deployment descriptors, the

at
product assumes certain default names.

M
3. True or False: Enhanced enterprise applications are the
preferred way to deploy applications in a production
environment.
The answer is False. Enhanced EAR files help the developer
ed
to test the application.
Application assembly © Copyright IBM Corporation 2016

Figure 5-51. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-57


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Exercise: Assembling an

l
application

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 5-52. Exercise: Assembling an application
ht
rig
py
Co

© Copyright IBM Corp. 2016 5-58


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 5. Application assembly

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Explore the WebSphere Developer Tools for Eclipse

l
• Import and examine enterprise application components

ia
• Define application-scoped resources: data source and authentication
alias
• Export an enhanced EAR file that is ready for deployment

er
at
M
ed
Application assembly © Copyright IBM Corporation 2016

Figure 5-53. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 5-59


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 6. Application installation

Uempty

Unit 6. Application installation


Estimated time
00:45

l
ia
Overview
In this unit, you learn ways to install and update enterprise applications on WebSphere Application

er
Server.

How you will check your progress

at
• Review questions
• Lab exercises

References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Unit objectives
• Describe methods of installing enterprise applications in WebSphere
Application Server

l
• Explain how fine-grained application updates work

ia
• Describe enterprise application properties
• Enable monitored directories
• Deploy an application by using the monitored directory

er
• Use a properties file-based configuration with monitored directories to
deploy an application

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Topics
• Application installation
• Application settings and interaction

l
• Monitored directory

ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty
6.1. Application installation

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Application installation

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 6-3. Application installation
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Installing enterprise applications

l
ia
EAR file
Administrative
console

er
Jython
script WebSphere
wsadmin> Application
Server

at
EAR file

M
ed
Monitored directory Configuration

Application installation © Copyright IBM Corporation 2016

Figure 6-4. Installing enterprise applications


ht

This simple diagram shows the three paths for installing an EAR file (enterprise application) into the
application server:
• From the administrative console
rig

• Using a script or commands with wsadmin


• Dropping an archive file into a monitored directory
py
Co

© Copyright IBM Corp. 2016 6-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Installation tasks
• Configure the application environment as required
ƒ Variables, virtual hosts, class path, security

l
ia
• Configure application resources
ƒ JDBC provider, data sources, JMS resources, or SIBus, if applicable

er
• Install the application
ƒ The default directory that is assigned to hold the EAR file before its
installation is <profile_root>\<profile>\installableApps

at
ƒ Most often, the application file you receive is an enterprise archive (.ear) file

• Manage static content


ƒ Web server serves files, not in EAR file
ƒ Leave static content in EAR file
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-5. Installation tasks


ht

Installing an application involves configuring the runtime environment as required. You can define
variables, virtual hosts, and any other resources that the application needs before you install the
application. In general, it is a good practice to leave the static content that the application uses in
rig

the EAR file, and allow the infrastructure to take care of serving and caching the static content. In
the end, leaving the static content in the EAR file can be as effective as moving it to the web server.
py
Co

© Copyright IBM Corp. 2016 6-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Creating a J2C authentication alias


• The wizard can be reached from many pages in the administrative
console

l
ƒ Security > Global Security > Authentication > Java Authentication

ia
and Authorization Service > J2C authentication data

• Provide

er
ƒ Alias name:
Console prefixes
name with node
name

at
ƒ User ID and
corresponding
password
ƒ Optional description
ƒ EJB components,
data sources, JMS
resources, and
M
ed
SIBus resources
use them
Application installation © Copyright IBM Corporation 2016

Figure 6-6. Creating a J2C authentication alias


ht

Here is the input screen for creating a security resource that is used to access a back-end
resource.
rig
py
Co

© Copyright IBM Corp. 2016 6-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 1: Enter basic data source information

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-7. Step 1: Enter basic data source information


ht

These screens show the process for creating the required resources that an application uses to
access a database. Here you see the setup for the database drivers (JDBC).
rig
py
Co

© Copyright IBM Corp. 2016 6-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 2: Select JDBC provider

l
ia
er
at
M
• Create JDBC provider before or while you are defining data sources
• One JDBC provider is needed for each database driver type
• JDBC providers can be defined at cell, node, server, or application scope
ed
(in an enhanced EAR file)
Application installation © Copyright IBM Corporation 2016

Figure 6-8. Step 2: Select JDBC provider


ht

These screens show the process for creating the required resources that an application uses to
access a database. Here you see the setup for the database drivers (JDBC).
rig
py
Co

© Copyright IBM Corp. 2016 6-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 2.1: Create new JDBC provider

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-9. Step 2.1: Create new JDBC provider


ht

These screens show the process for creating the required resources that an application uses to
access a database. Here you see the setup for the database drivers (JDBC).
rig
py
Co

© Copyright IBM Corp. 2016 6-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 2.2: Enter database class path information

l
ia
er
JDBC driver paths
can be defined in
the wizard

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-10. Step 2.2: Enter database class path information


ht

These screens show the process for creating the required resources that an application uses to
access a database. These two screens show the definition of variables that hold the path to the
database drivers.
rig
py
Co

© Copyright IBM Corp. 2016 6-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 3: Enter database-specific properties for the data source

l
ia
er
at
M
• Provide the database-specific parameters:
ƒ Driver type
ƒ Database name
ƒ Database server name and communication port number
ed
• Choose whether data source is going to be used with
CMP beans
Application installation © Copyright IBM Corporation 2016

Figure 6-11. Step 3: Enter database-specific properties for the data source
ht

These screens show the process for creating the required resources that an application uses to
access a database. This simple screen shows the data that is required to access a database.
rig
py
Co

© Copyright IBM Corp. 2016 6-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 4: Set up security aliases

l
ia
er
Reference an existing
security alias or create
a new one

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-12. Step 4: Set up security aliases


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Step 5: Summary of data source creation


Confirm data source
specification before
creation

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-13. Step 5: Summary of data source creation


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Installing a new application


Select Applications >
New Application >
2

l
New Enterprise
Application

ia
er
at
1

M
ed
3

Application installation © Copyright IBM Corporation 2016

Figure 6-14. Installing a new application


ht

Here are the screens for the simple method of installing an application. This method is called the
“fast path.”
rig
py
Co

© Copyright IBM Corp. 2016 6-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Example of fast path installation

Step 1:

l
Select

ia
installation
options

er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-15. Example of fast path installation


ht

Various options are available for the fast path installation.


rig
py
Co

© Copyright IBM Corp. 2016 6-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Example of detailed installation

l
ia
Summary
step

er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-16. Example of detailed installation


ht

This picture shows the summary of information just before the application is installed.
rig
py
Co

© Copyright IBM Corp. 2016 6-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Enhanced EAR file


• Enterprise archive that contains Java EE artifacts plus resource
information necessary to install on WebSphere Application Server

l
ƒ JDBC resources (data sources)

ia
ƒ Class loader Enhanced EAR
ƒ JAAS authentication aliases
Resources
ƒ Shared libraries
Enterprise

er
ƒ Virtual host information application
EAR
• Benefits: Improved productivity Properties
ƒ Application resources and properties

at
come with the application
ƒ Application installation process creates
the necessary resources within the server or cluster
ƒ Moving application from one server to another also moves the resources

production, it can possibly cause problems


M
• Warning: If unintended application scoped resources are used in

• Enhancements can be removed or ignored during application


ed
installation
Application installation © Copyright IBM Corporation 2016

Figure 6-17. Enhanced EAR file


ht

A JDBC resource can be defined in an enhanced EAR file. Enhanced EAR files are specific to IBM
WebSphere and are not part of Java EE. However, if an enhanced EAR file is installed on an
application server other than WebSphere, artifacts that are defined within this EAR file are ignored.
rig

Developers or administrators can use tools to define resources and properties within an enterprise
application, and import or export the enhanced EAR file.
Some resources still must be defined in the application server, for example, JMS and JavaMail.
Settings are defined in IBM tools, which are stored in deployment.xml, and packaged with the
py

EAR file. These resources are applied at the new application scope.
EAR files and enhanced EAR files are presented in more detail later in the course.
Co

© Copyright IBM Corp. 2016 6-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Removing enhancements

l
ia
er
• Resources can be ignored

at
ƒ Remove enhancements from EAR
before you deploy (preferred)
ƒ Clear Process embedded
configurations

M
ƒ Is prechecked only if it has
enhancements
• Resources can be viewed, but not
through the normal screens
ed
ƒ Click Application scoped
resources under the enterprise
application
Application installation © Copyright IBM Corporation 2016

Figure 6-18. Removing enhancements


ht

Several methods are available to ignore resources in an enhanced EAR file. The preferred method
is to remove enhancements from the EAR file before deploying. If the EAR file has enhancements,
clear the check box for Process embedded configuration. This check box is filled only if
rig

enhancements are used.


You can view resources, but not through the normal screens. You must click Application scoped
resources under the enterprise application.
py
Co

© Copyright IBM Corp. 2016 6-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty
6.2. Application settings and interaction

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Application settings and

l
interaction

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 6-19. Application settings and interaction
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Starting an application

• After the application is installed, you can select from a number of


options to manage the application

l
ƒ Click Applications > Application types > WebSphere enterprise

ia
applications

er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-20. Starting an application


ht

After the application is installed, you can see it listed on the Enterprise Applications page by going
to Applications > Applications types > WebSphere enterprise applications.
rig

To start the application that you installed, click the check box beside it to select it, and then click
Start. The application status symbol changes from a red X to a green arrow.
py
Co

© Copyright IBM Corp. 2016 6-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Application update

l
ia
er
You can update the full
application, a single
module, a single file, or
part of the application

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-21. Application update


ht

It is possible to update an application without uninstalling that application first. This screen is used
to update an existing application. It is not important that you read all of the options on this slide, just
that you understand the purpose of this activity.
rig
py
Co

© Copyright IBM Corp. 2016 6-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Other application configuration settings

l
Click Applications > Application Types > WebSphere

ia
enterprise applications > application_name

Enable or
disable New options:

er
automatic • Metadata
start for modules
• Manage
modules

at
Configure
startup
behavior

View
M
ed
deployment
descriptor

Application installation © Copyright IBM Corporation 2016

Figure 6-22. Other application configuration settings


ht

This slide shows a broad overview of the metadata for an enterprise application that can be
modified or configured through the application console.
rig
py
Co

© Copyright IBM Corp. 2016 6-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Application startup behavior and auto start


• Startup behavior of an application
ƒ The values set determine how quickly an application starts and what

l
occurs when an application starts
ƒ Click Applications > Application Types > WebSphere enterprise

ia
applications > application_name > Startup behavior in the console
navigation tree to configure startup behavior settings

er
• Automatic starting of an application
ƒ By default, an installed application starts automatically when the server
starts on which the application is deployed

at
ƒ Click Applications > Application Types > WebSphere enterprise
applications > application_name > Target specific application
status to configure auto startup

M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-23. Application startup behavior and auto start


ht

For the startup behavior of an application, the values that are set affect how quickly an application
starts and what occurs when an application starts. By default, an application starts when its parent
server starts.
rig
py
Co

© Copyright IBM Corp. 2016 6-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

View the application deployment descriptor

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-24. View the application deployment descriptor


ht

This slide shows the link for viewing the application deployment descriptor. Note: IBM Assembly
and Deploy Tools allows for editing this data before the application is installed.
rig
py
Co

© Copyright IBM Corp. 2016 6-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

The application deployment descriptor

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-25. The application deployment descriptor


ht

You can view the application.xml deployment descriptor for the installed application from the
administrative console. Select Enterprise applications > application_name and then click View
Deployment Descriptor under Detail Properties.
rig
py
Co

© Copyright IBM Corp. 2016 6-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Manage modules (1 of 4)
• To view the web or EJB deployment descriptors for an enterprise
application

l
ƒ Click Manage Modules

ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-26. Manage modules (1 of 4)


ht

These four slides show the steps for viewing the deployment descriptor of an EJB JAR file (EJB
module).
First, on the application details view, click the link for Manage Modules.
rig
py
Co

© Copyright IBM Corp. 2016 6-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Manage modules (2 of 4)

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-27. Manage modules (2 of 4)


ht

These four slides show the steps for viewing the deployment descriptor of an EJB JAR file (EJB
module).
rig

Second, click the module that contains the EJBs (shown here as “PlantsbyWebSphere”).
py
Co

© Copyright IBM Corp. 2016 6-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Manage modules (3 of 4)

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-28. Manage modules (3 of 4)


ht

These four slides show the steps for viewing the deployment descriptor of an EJB JAR file (EJB
module).
Third, on the right side, click the link titled View EJB Deployment Descriptor.
rig
py
Co

© Copyright IBM Corp. 2016 6-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Manage modules (4 of 4)

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-29. Manage modules (4 of 4)


ht

These four slides show the steps for viewing the deployment descriptor of an EJB JAR file (EJB
module).
rig

Fourth, the details of the EJB deployment descriptor are shown.


py
Co

© Copyright IBM Corp. 2016 6-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Metadata for modules (1 of 2)


• With this option, you can either allow or ignore metadata that is coming
from annotations in source code

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-30. Metadata for modules (1 of 2)


ht

It is not necessarily a suggested practice to set metadata-complete to true if your programmers


intend to use annotation-based programming techniques. The technique that you adopt can be
based on personal preference.
rig

Values in deployment descriptors can augment or override the equivalent annotation-based


metadata:
• After viewing the deployment descriptor information in the administrative console, the deployer
can change the appropriate deployment descriptor to reflect the required changes.
py

• Expand the EAR file in the directory you installed from, for example:
<profile_root>/<profile>/installableApps
• Modify the deployment descriptor with your required changes and reinstall or update the
Co

application.

© Copyright IBM Corp. 2016 6-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Metadata for modules (2 of 2)

l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-31. Metadata for modules (2 of 2)


ht

The next slide gives some guidelines on how and when to set the metadata-complete options for
the modules of an application.
rig
py
Co

© Copyright IBM Corp. 2016 6-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty
6.3. Monitored directory

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Monitored directory

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 6-32. Monitored directory
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Overview of monitored directory deployment


• A simple and fast way to install, update, and uninstall applications
without:

l
ƒ The administrative console

ia
ƒ Rational Application Developer
ƒ wsadmin
ƒ A specially configured environment

er
• Tasks can be accomplished by copying archive files in or out of a
monitored directory
ƒ The application must be an EAR, JAR, WAR, or SAR

at
M Monitored directory
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-33. Overview of monitored directory deployment


ht

A monitored directory application deployment is a new, simple, and fast way for administrators and
developers to install, update, and uninstall applications by moving archive files in or out of a
monitored directory.
rig

A user who prepackages an application file with all bindings specified can quickly deploy that
application without any tools other than a running application server, or in a network deployment
environment, a deployment manager.
Monitored directory application deployment can be done with applications that are packaged as
py

enterprise archive (EAR) files, web archive (WAR) files, Java archive (JAR) files, or SIP application
resources (SARs).
In addition to the mentioned archive files, a properties file can be used to deploy an application.
Co

Properties files are different from the other file types. They are not archives. Instead, they contain
properties that describe an application, including the source archive location and its installation
parameters. Monitored directory deployment with properties files relies on the properties file based
configuration (PFBC) feature that was introduced in WebSphere Application Server Version 7.
Using a properties file can allow a higher degree of control over the deployment than with a plain
archive.

© Copyright IBM Corp. 2016 6-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Supported tasks
• Install: Place an archive file into the monitored directory
• Uninstall: Remove an archive file from the monitored directory

l
• Update: Move or copy a new archive file with the same name as an

ia
existing archive file in the monitored directory

er
Remove

at
Install

M
Update
EAR
ed
Monitored directory

Application installation © Copyright IBM Corporation 2016

Figure 6-34. Supported tasks


ht

To install an application, use an operating system file management tool such as a graphical file
manager or the command line to copy or move its archive file into a monitored directory.
rig

Deleting a file from a monitored directory causes uninstallation of the corresponding application.
To do a full replacement update of a deployed application, move or copy an updated archive file
with the same application name into a monitored directory. The archive file name determines the
application name. Or, if it is an EAR archive and a display name is specified in the archive, the
display name determines the application name.
py
Co

© Copyright IBM Corp. 2016 6-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Enabling the monitored directory

l
ia
er
at
M
• Disabled by default in both stand-alone federated
ed
environments
ƒ Click Applications > Global deployment settings
Application installation © Copyright IBM Corporation 2016

Figure 6-35. Enabling the monitored directory


ht

Before using monitored directory deployment, it must be enabled. Go to the administrative console
under Applications > Global deployment settings. In addition to enabling the service, the Global
deployment settings panel allows configuration of the root path to the monitored directories and the
rig

polling interval at which the monitored directories are checked for changes.
Enabling the service is required only once.
The deployment manager or base server where the service is running must be restarted to register
any changes on the Applications > Global deployment settings panel.
py
Co

© Copyright IBM Corp. 2016 6-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Notes about the monitored directory


• Within the existing directory structure, it is possible to create specific
server, cluster, and even node directories

l
ƒ These additional structures allow tasks to be directed to specific elements
of your environment

ia
• Directory location:
ƒ Stand-alone:

er
<profile_root>/monitoredDeployableApps/servers/<servername>
ƒ Federated:
<dmgr_profile>/monitoredDeployableApps/servers/<servername>

at
• For clusters:
ƒ Create a clusters directory:
.../monitoredDeployableApps/clusters/<clustername>

• For servers with the same name on federated nodes:

M
ƒ Applications are deployed to all servers with the same name
ƒ Create:
ed
.../monitoredDeployableApps/nodes/nodename/servers/
<servername>
Application installation © Copyright IBM Corporation 2016

Figure 6-36. Notes about the monitored directory


ht

The path to a monitored directory depends on the type of application server, and what the target of
the deployment is going to be. To control where the monitored directory applications are deployed,
administrators create more directories to represent their clusters or servers. These names must
rig

exactly match what is in the cell.


If you are using a stand-alone application server, then the only possible target is the server itself,
and the monitored directory is automatically created if the service is enabled. For example, if the
profile is called AppSrv01, and the server is named server1, the path is:
py

app_server_root/profiles/AppSrv01/monitoredDeployableApps/server1
If you are using a network deployment system, it is necessary to create the monitored directories
manually.
Co

For application servers on a node that is federated with a deployment manager, you must create
the monitored directories for servers under the deployment manager profile:
app_server_root/profiles/dmgrprofilename/monitoredDeployableApps/servers/
server_name
If multiple servers on different nodes have the same name and you want to target only one of the
servers, you can specify the node and server in the path to the monitored directory. Create a
directory for the node by using the node name, then servers, and finally the server_name

© Copyright IBM Corp. 2016 6-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty
directory: app_server_root/profiles/dmgrprofilename/monitoredDeployableApps/nodes
/node_name/servers/server_name
For clusters, create a monitored directory under the deployment manager profile with the name of
the targeted cluster:
app_server_root/profiles/dmrprofilename/monitoredDeployableApps/clusters
/cluster_name

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Drag-and-drop properties files


• The standard drag-and-drop approach lacks the ability to do anything
but the default

l
ƒ No ability is available to customize a deployment in any way

ia
• Drag-and-drop technique also supports properties file based
configuration

er
ƒ A property file can define which EAR file to install, and also configure any of
the necessary attributes

at
Properties
file

M Monitored directory
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-37. Drag-and-drop properties files


ht

Monitored directory supports the ability to drag a properties file. This support allows administrators
to customize any installation settings that might be required for monitored directory installations.
rig
py
Co

© Copyright IBM Corp. 2016 6-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Properties file based configuration


• Provides a group of administrative commands
• Manage system configuration

l
• Troubleshoot configuration issues

ia
• Replicate configuration properties across profiles, nodes, servers, or
applications
• Use properties file on monitored directory deployment to deploy

er
applications
• Introduced in WebSphere Application Server V7.0

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-38. Properties file based configuration


ht

Version 7 introduced the properties file based configuration feature, which provides a group of
administrative commands to manage system configuration by using properties files. Users can use
the properties file based configuration commands to copy configuration properties from one
rig

environment to another. They can also use the properties file to troubleshoot configuration issues
and apply one set of configuration properties across multiple profiles, nodes, cells, servers, or
applications. The details of the properties file based configuration commands are documented in
the version 7 documentation of IBM Knowledge Center. The monitored directory deployment is
extended to use the properties file to install, uninstall, or update an application in version 8.
py
Co

© Copyright IBM Corp. 2016 6-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Steps to use a properties file to deploy applications (1 of 2)


• Step 1: Create a properties file that defines deployment options
ƒ Use properties file based configuration command to create an application

l
properties file

ia
ƒ Extract application properties to a file
AdminTask.extractConfigProperties('[-propertiesFileName

er
myApp.props -configData Deployment=MyApplication]')

ƒ Note: The monitored directory installation process uses only the properties
that relate to an application

at
ƒ Create the file manually

M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-39. Steps to use a properties file to deploy applications (1 of 2)


ht

A user can use the properties file based configuration command to extract application properties to
an application properties file. After a properties file is extracted, edit application properties and copy
the properties file to the MonitoredDeployableApps directory under the deploymentProperties
rig

directory. The Monitored directory deployment service runs the applyConfigProperties


command to apply the application properties change to install, uninstall, or update an application for
you.
Step 1 shows how to use the properties file based configuration extractConfigProperties
py

command to extract application properties to a file.


By default, the extractConfigProperties command produces output that displays all columns,
including all hidden and non-hidden columns of installation tasks and task data values, in separate
rows. You can also extract application properties in simple output format to display non-hidden
Co

columns of installation task data in columnName=value pairs.


You can also use the properties file examples that are documented in the IBM Knowledge Center to
create an application properties file to deploy, uninstall, or update an application.

© Copyright IBM Corp. 2016 6-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Steps to use a properties file to deploy applications (2 of 2)


• Step 2: Verify that the targeted server or cluster member is running
• Step 3: Verify that monitored directory deployment is enabled

l
• Step 4: Copy the properties file to the deploymentProperties

ia
directory

er
copy

Properties file deploymentProperties

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-40. Steps to use a properties file to deploy applications (2 of 2)


ht

The monitored directory deployment service starts the application after it is deployed or updated.
Therefore, you must verify that the application server or cluster member on which you want to
install the enterprise application files is running.
rig

Step 3 is to verify that the monitored directory deployment is enabled. You can look at the IBM
Knowledge Center “Setting monitored directory deployment values” section.
The last step is to copy the application properties file to the monitoredDeployableApps directory.
You can use a file browser to drag the properties file to the monitored directory or use the operating
py

system command to copy the properties file to the directory.


Co

© Copyright IBM Corp. 2016 6-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Unit summary
• Describe methods of installing enterprise applications in WebSphere
Application Server

l
• Explain how fine-grained application updates work

ia
• Describe enterprise application properties
• Enable monitored directories
• Deploy an application by using the monitored directory

er
• Use a properties file-based configuration with monitored directories to
deploy an application

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-41. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Review questions
1. True or False: You can update a single module or part of an
application in the console.

l
ia
2. True or False: The default startup behavior for an application
is to automatically start when the server starts.

er
3. True or False: Monitored directory deployment is enabled in
the Applications > Global Deployment settings pane.

at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-42. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py
Co

© Copyright IBM Corp. 2016 6-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Review answers
1. True or False: You can update a single module or part of an
application.

l
The answer is True.

ia
2. True or False: The default startup behavior for an application
is to automatically start when the server starts.

er
The answer is True.

3. True or False: Monitored directory deployment is enabled in

at
the Applications > Global Deployment settings pane.
The answer is True.

M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-43. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Exercise: Installing an

l
application

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 6-44. Exercise: Installing an application
ht
rig
py
Co

© Copyright IBM Corp. 2016 6-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 6. Application installation

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Use the administrative console to install an application

l
• Use a web browser to test the application

ia
• Use the drag function to deploy an application

er
at
M
ed
Application installation © Copyright IBM Corporation 2016

Figure 6-45. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 6-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Unit 7. Problem determination


Estimated time
00:45

l
ia
Overview
This unit introduces you to resources and basic methods for problem determination.

er
How you will check your progress
• Review questions

at
• Lab exercises

References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center, troubleshooting and
support topics:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Unit objectives
• Describe a basic approach for problem determination
• List resources for completing a problem investigation

l
• Locate relevant log files

ia
• Examine log activity
• Enable tracing on specific components

er
• Enable High Performance Extensible Logging (HPEL) and use the Log
Viewer
• Describe features of the IBM Support Assistant

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 7-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Topics
• Server logs and diagnostic tracing
• Gathering diagnostic data

l
• Problem determination tools

ia
• IBM Support Assistant

er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 7-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
7.1. Server logs and diagnostic tracing

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Server logs and diagnostic

l
tracing

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 7-3. Server logs and diagnostic tracing
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Examining server log files


• Log files are an initial source of diagnostic data

l
• WebSphere provides several useful logs, including:

ia
ƒ JVM logs
ƒ Process logs
ƒ HTTP plug-in logs

er
ƒ Console runtime messages

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-4. Examining server log files


ht

WebSphere provides several useful logs and messaging facilities, including JVM logs, HTTP
plug-in logs, and console runtime messages.
rig
py
Co

© Copyright IBM Corp. 2016 7-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

WebSphere Application Server logs


• JVM logs: Created by redirecting the System.out and
System.err streams of the JVM to independent log files

l
ƒ One set of JVM logs for each application server and all of its applications

ia
that are located by default in the following directory:
<profile_root>/<profile_name>/logs/<server_name>
ƒ SystemOut.log and SystemErr.log

er
• Process logs: Contain two output streams (stdout and stderr) which
are accessible to native code that runs in the process
ƒ One set for each application server

at
ƒ native_stderr.log and native_stdout.log

• IBM service log: Contains both the WebSphere Application Server

M
messages that are written to the System.out stream and some
special messages that contain extended service information
ƒ One per profile (node)
ed
ƒ activity.log

Problem determination © Copyright IBM Corporation 2016

Figure 7-5. WebSphere Application Server logs


ht

The following list describes the various WebSphere Application Server logs:
• Java virtual machine (JVM) logs
rig

The JVM logs are created by redirecting the System.out and System.err streams of the JVM
to independent log files. WebSphere Application Server writes formatted messages to the
System.out stream. In addition, applications and other code can write to these streams by
using the print() and println() methods of the streams.
In a WebSphere Application Server Network Deployment configuration, JVM logs are also
py

created for the deployment manager and each node agent because they also represent JVMs.
• Process logs
WebSphere Application Server processes contain two output streams, which are accessible to
Co

native code that is running in the process. These streams are the stdout and stderr streams.
Native code, including Java virtual machines (JVM), might write data to these process streams.
JVM-provided System.out and System.err streams can be configured to write their data to
these streams.
As with JVM logs, each application server has a set of process logs, since each JVM is an
operating system process. For a WebSphere Application Server Network Deployment
configuration, it has a set of process logs for the deployment manager and each node agent.

© Copyright IBM Corp. 2016 7-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
• IBM service logs
The IBM service log contains the WebSphere Application Server messages that are written to
the System.out stream. It also contains some special messages that provide extended service
information, which is normally not of interest, but can be important when analyzing problems.
One service log exists for all WebSphere Application Server JVMs on a node, including all
application servers. The IBM service log is maintained in a binary format and requires a special
tool to view. This viewer, the Log Analyzer, provides more diagnostic capabilities. In addition,

l
the binary format provides capabilities that IBM support organizations use.

ia
The HTTP server plug-in log is covered later in this presentation.

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Server log files: Types and locations


• Application server log file destinations and names are configurable
ƒ The default location is:

l
<was_root>/profiles/<profile_name>/logs/<server_name>

ia
• Application server log files are all text files
ƒ JVM logs: SystemOut.log and SystemErr.log

er
ƒ Start and stop logs: startServer.log and stopServer.log
ƒ Diagnostic trace log: trace.log
ƒ Process logs: native_stdout.log and native_stderr.log

at
• Web server plug-in log file:
ƒ http_plugin.log
ƒ Location: <plugin_root>/logs/<webserver_name>
• IBM service log is in binary format
M
ƒ In <profile_root>/<profile_name>/logs/activity.log
directory
ed
ƒ Use Log Analyzer in IBM Support Assistant to view
Problem determination © Copyright IBM Corporation 2016

Figure 7-6. Server log files: Types and locations


ht

All WebSphere Application Server log files are under the


<was_root>\profiles\<profile_name>\logs directory.
• The default names for the JVM logs are SystemOut.log and SystemErr.log. They contain
rig

server information and user program information (sent by System.out.xxx code in the
program).
• The startServer.log and stopServer.log files can also be found under the
<was_root>\logs\<servername> directory; they contain information that the server logs as it
py

starts and shuts down.


• The activity.log file size can be set by using the administrative console as IBM service logs.
You can also disable activity.log.
Co

• The standard JVM output and error logs are SystemOut.log and SystemErr.log.
• The startServer.log and stopServer.log files are written to during startup and shutdown
of the application servers.
• If tracing is enabled, the trace.log file contains output from a diagnostic trace. The location
and name of this log file are configurable.

© Copyright IBM Corp. 2016 7-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
• If verbose GC is enabled, the operating system uses the native_stdout.log and
native_stderr.log files to log out-of-memory exceptions and verbose garbage collection
data.
• The http_plugin.log file is the web server plug-in log file. It is not in <was_root>, but in
<plugin_root>\logs\<webserver_name>.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Configuring JVM logs


• From the administrative console,
select Troubleshooting > Logs and
Trace > server_name > JVM Logs

l
• SystemOut and SystemErr logs can be
configured from this page

ia
• Logs are self-managing
ƒ Can roll over based on time or file size
ƒ Number of historical log files is

er
configurable
• To view logs through the console, use
the runtime tab

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-7. Configuring JVM logs


ht

The JVM logs can be configured from the administrative console. For both log files, systemOut and
systemErr, you can specify the path to their location, file formatting (basic or advanced), and log file
rotation (by file size or time interval). You can also configure the maximum number of historical files
rig

to store on the file system.


py
Co

© Copyright IBM Corp. 2016 7-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Viewing runtime messages in the console (1 of 2)


• Runtime events are grouped
according to severity: error,

l
warning, information

ia
• To view, select:
Troubleshooting >
Runtime Messages >

er
ƒ Runtime Error
ƒ Runtime Warning
ƒ Runtime Information

at
• Runtime events are disabled
by default
ƒ None

• Select Info to enable all


runtime events M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-8. Viewing runtime messages in the console (1 of 2)


ht

When viewing runtime messages, first select the Error, Warning, or Info category link (a count of
zero means that nothing is available). Then, the details for the selected category are shown.
Selecting one of these links gives you detail information (see the next slide).
rig

You can have multiple pages of messages, and you can click the button at the bottom of the page to
view and read all of them.
py
Co

© Copyright IBM Corp. 2016 7-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Viewing runtime messages in the console (2 of 2)


• Runtime events details
include:

l
ƒ Message code and text
ƒ Brief explanation of the

ia
event
ƒ Action for the user to
take

er
ƒ What server
component issued the
message

at
• Other details include:
ƒ Timestamp

M
ƒ Thread ID
ƒ Node name
ƒ Server name
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-9. Viewing runtime messages in the console (2 of 2)


ht

Most runtime messages are designed with improved message text. A message code, for example
SRVE0255E, can be used to look up the message in the IBM Knowledge Center. Information is
shown on the detail screen for the event, and sometimes a user action is provided to resolve the
rig

problem.
py
Co

© Copyright IBM Corp. 2016 7-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

HTTP plug-in logs and tracing


• To configure plug-in logs and tracing from the administrative console, click
Servers > Web Servers > web_server_name > Plug-in Properties >

l
Configuration tab > Plug-in logging

ia
• Default location:
<plugin_root>/logs/<web_server_name>/http_plugin.log

er
• To trace all the steps in the HTTP request process, set the Log level to
Trace (caution: this trace produces much log data)

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-10. HTTP plug-in logs and tracing


ht

The HTTP plug-in logs messages to a log file that is stored under the plugin_root directory on
the web server. The log level can be set to different values, depending on the amount of detail that
you want written to the log. Setting the log level to Trace causes it to log all steps in the request
rig

process.
• The embedded HTTP server logs
▪ Administrative console panels are available for configuring embedded HTTP server (HTTP
transport channel) logs. An access log and an error log are also available.
py

▪ From main application server configuration panel, click Troubleshooting > server_name >
HTTP Error and NCSA Access Logging.
▪ This service is disabled by default. To enable, check the Enable logging service box, and
Co

restart the server.


▪ Error logs can be controlled separately with log levels: Critical, Error, Warning, Information,
Debug.

© Copyright IBM Corp. 2016 7-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Diagnostic tracing
• Diagnostic tracing can be used to collect detailed processing data for all
WebSphere Application Server components

l
ia
• To take advantage of tracing, you must:
ƒ Enable tracing of one or more WebSphere components
ƒ Configure and view trace logs

er
ƒ Interpret trace logs and trace messages

• Trace files show the time and sequence of methods that WebSphere

at
Application Server base classes call
ƒ You can use these files to pinpoint the failure

M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-11. Diagnostic tracing


ht

To take advantage of tracing, you do these steps:


1. Enable tracing of one or more WebSphere components.
rig

2. Configure and view trace logs.


3. Interpret trace logs and trace messages.
py
Co

© Copyright IBM Corp. 2016 7-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Using diagnostic tracing


• Tracing can be started:
ƒ While the server is running, by using Runtime Diagnostic Trace

l
ƒ When the server is starting and running, by using Configuration

ia
Diagnostic Trace
• Trace output can be directed to:
ƒ File (default)

er
ƒ Memory ring buffer, and dumped after trace stops
• Tracing has a significant effect on performance
ƒ Enable temporarily for problem determination

at
ƒ Tracing to a file is slower than tracing to a memory ring buffer

Java component
Trace

M Memory
ring buffer
Dump Dump
file
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-12. Using diagnostic tracing


ht

Trace output allows administrators to examine processes in the application server and diagnose
various issues. On an application server, trace output can be directed either to a file or to an
in-memory circular buffer. If trace output is directed to the in-memory circular buffer, it must be
rig

dumped to a file before it can be viewed. On an application client or stand-alone process, trace
output can be directed either to a file or to the process console window. In all cases, trace output is
generated as plain text in basic, advanced, or log analyzer format as the user chooses. The basic
and advanced formats for trace output are similar to the basic and advanced formats that are
available for the JVM message logs.
py
Co

© Copyright IBM Corp. 2016 7-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Enable and configure tracing


• Troubleshooting >
Logs and Trace >

l
server_name >

ia
Diagnostic Trace

• Configure Trace Output


ƒ None

er
ƒ Memory buffer
ƒ File (default)

at
• Configure Trace Output Format
ƒ Basic (IBM Support preference)

M
ƒ Advanced

• Note: Configure Log Detail Level


to get trace output
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-13. Enable and configure tracing


ht

The Diagnostic Trace Service box looks almost the same as it did in previous versions. The
Configuration and Runtime tabs behave as they always have, with Configuration affecting the
configuration repository and taking effect at the next startup. The Runtime settings take effect
rig

immediately but are only optionally persisted to the server configuration.


Trace strings must be configured on a separate panel (Log Detail Level).
View and dump are available in the Runtime tab of diagnostic trace. The Log Analyzer can be used
to analyze trace output, but you can use your favorite editor. Before you can view or dump a trace,
py

you must specify the log detail level.


Co

© Copyright IBM Corp. 2016 7-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Setting the log detail level (1 of 2)


• Logs and trace > server_name >
Change Log Detail Level

l
• Log detail level affects tracing and

ia
regular logging
ƒ Setting levels below info reduces
the amount of data in logs

er
ƒ *=off disables logging altogether
• Trace levels (fine, finer, finest)
are not displayed in the trace file

at
unless logging is enabled
• Use the graphical menu to type in
or set the log string

M
ƒ Default is *=info
• User-created applications can be
instrumented too, and be included
ed
in the trace output

Problem determination © Copyright IBM Corporation 2016

Figure 7-14. Setting the log detail level (1 of 2)


ht

Log levels control which events Java logging processes.


WebSphere Application Server controls the levels of all loggers in the system. The level value is set
rig

from configuration data when the logger is created and can be changed at run time from the
administrative console.
Note: Trace information, which covers events at levels fine, finer, and finest, can be written to the
trace log. Therefore, if you do not enable diagnostic trace, setting the log detail level to fine, finer, or
finest does not affect the data that is logged.
py

• Log string syntax: <component / group> = <log level>


Examples include:
▪ com.ibm.ws.classloader.ClassGraph=finest enables the finest trace level for
Co

com.ibm.ws.classloader.ClassGraph
▪ EJBContainer=fine enables the least verbose trace level for all components in the
EJBContainer group
▪ com.ibm.ws.classloader.*=finer enables detailed trace for all classes in the
com.ibm.ws.classloader package
▪ *=info sets the log level for all components to info (default is no trace output)

© Copyright IBM Corp. 2016 7-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Setting the log detail level (2 of 2)


• Select component

l
• Select one of

ia
ƒ No Logging
ƒ Messages Only
ƒ All Messages

er
and Traces

• Or select

at
Message and
Trace Levels and
select Message

M
Levels
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-15. Setting the log detail level (2 of 2)


ht

Examples include:
• No Logging results in the following trace string: com.ibm.websphere.security.*=off
rig

• Messages Only results in the following trace string: *=info (the default)
• All Messages and Traces results in the following trace string:
com.ibm.websphere.security.*=all
py
Co

© Copyright IBM Corp. 2016 7-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Trace output content and format


• Trace output allows administrators to examine processes in the
application server and diagnose various issues

l
ia
• Two formats can be configured:
ƒ Basic (IBM Support preference)
ƒ Advanced

er
• Trace events that are displayed in basic use the following format:
ƒ <timestamp><threadId><shortName><eventType>[className]

at
[methodName]<textmessage> [parameter 1] [parameter 2]

• Possible values of eventType include:

M
ƒ >: A trace entry of type method entry
ƒ <: A trace entry of type method exit
ƒ 3: A trace entry of type finest, debug, or dump
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-16. Trace output content and format


ht

Other values of eventType include:


• 1: A trace entry of type fine or event
rig

• 2: A trace entry of type finer


• Z: A placeholder to indicate that the trace type was not recognized
py
Co

© Copyright IBM Corp. 2016 7-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Reading a log or trace file (1 of 2)


• Example log record format
• [5/9/16 12:27:56:237 EDT] 00000000 PMIImpl A CWPMI1001I:

l
PMI is enabled

ia
Message type Description
ƒ Timestamp = [5/9/16
12:27:56:237 EDT] 1, 2, 3 Trace information: fine, finer, finest

ƒ Thread ID = 00000000 A Audit

er
ƒ Logger = PMIImpl W Warning
Z Type was not recognized
ƒ Message type = A

at
E Error
ƒ Message code =
CWPMI1001I D Detail
C Configuration
ƒ Message =
PMI is enabled

M F
I
Fatal (exits process)
Information
ed
O Program output (system.out)

R Program output (system.err)


Problem determination © Copyright IBM Corporation 2016

Figure 7-17. Reading a log or trace file (1 of 2)


ht

The following list defines the sections of a trace entry:


• TimeStamp: The time stamp is formatted by using the locale of the process where it is
rig

formatted. It includes a fully qualified date (YYMMDD), 24-hour time with millisecond precision,
and the time zone. ThreadId is an eight-character hexadecimal value that is generated from the
hash code of the thread that issued the trace event.
• ThreadName: The name of the Java thread that issued the message or trace event.
• ShortName: The abbreviated name of the logging component that issued the trace event. This
py

value is typically the class name for WebSphere Application Server internal components, but
can be some other identifier for user applications.
• LongName: The full name of the logging component that issued the trace event. This value is
Co

typically the fully qualified class name for WebSphere Application Server internal components,
but can be some other identifier for user applications.
• EventType: A one-character field that indicates the type of the trace event. Trace types are in
lowercase.
• ClassName: The class that issued the message or trace event.
• MethodName: The method that issued the message or trace event.

© Copyright IBM Corp. 2016 7-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Reading a log or trace file (2 of 2)


• Timestamps give good clues:
ƒ Timestamps are real host time values

l
ƒ Good when you are comparing traces from different processes and

ia
correlating events of different servers

er
• Look for exceptions (search for exception from top of stack trace)
ƒ Events before the exception are probable causes
ƒ Events after the exception are recovery attempts

at
• Often useful to follow a single thread

M
ƒ Use the Thread ID to gather related messages
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-18. Reading a log or trace file (2 of 2)


ht

While it is possible to use a text editor to read logs and trace files, it is suggested that you use a tool
such as Log Analyzer, which is available in the IBM Support Assistant.
rig
py
Co

© Copyright IBM Corp. 2016 7-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

High Performance Extensible Logging (HPEL)


• HPEL can be enabled on any server in the cell
ƒ Deployment manager

l
ƒ Node agent
ƒ Application server

ia
• Click Troubleshooting > Logging and tracing > server_name
• Click Switch to HPEL Mode

er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-19. High Performance Extensible Logging (HPEL)


ht

After the log level is switched to HPEL mode for a server, a new list of links is in the General
Properties section. One new link is Change log and trace mode, which you can use to switch
back to basic logging.
rig
py
Co

© Copyright IBM Corp. 2016 7-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

HPEL logging and tracing configuration


• Use the “Logging and tracing” page to configure HPEL logging and
tracing

l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-20. HPEL logging and tracing configuration


ht

This screen capture shows the default configuration for HPEL logging and tracing. To modify the
configuration, click any of the links on this page.
rig

After HPEL is enabled for a server, it is suggested that you disable the HPEL text log. Disabling the
text log improves server performance.
py
Co

© Copyright IBM Corp. 2016 7-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Configure HPEL logging


• Clicking the Configure
HPEL logging link

l
starts the configuration
page

ia
• Changes that are made

er
on the Configuration
tab require you to
restart the server

at
• Changes that are made
on the runtime tab

M
take effect immediately
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-21. Configure HPEL logging


ht

Clicking the Configure HPEL logging link starts the configuration page. Changes that are made
on the Configuration tab require a server restart. Changes that are made on the runtime tab take
effect immediately.
rig
py
Co

© Copyright IBM Corp. 2016 7-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

The HPEL Log Viewer


• Click Troubleshooting > Logging and tracing > server_name >
Log Viewer

l
ƒ Numerous filtering options are available to modify which records are

ia
displayed

er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-22. The HPEL Log Viewer


ht

The log view section lists the records. Use the First Page, Previous Page, Next Page, and Last
Page buttons to move through the list of records. You can also specify filter criteria in the Content
and Filtering Details section to limit the rows that are shown. Records are always listed in the order
rig

that the server recorded them. By default, the log view has five columns:
• Time Stamp: The time when the event was recorded.
• Thread ID: The identity of the thread that recorded the event in hexadecimal notation.
• Logger: The logger that recorded the event.
py

• Level: The type of event that was recorded.


• Message: The message from the recorded event. If the message has a message ID, the
message ID is underlined. Click the message ID to get an explanation and suggested user
Co

action for the message.


To manipulate the log view, you can use available buttons to complete the following actions:
• Refresh View: Uses records from the server to clear the contents of the viewer and reinitialize
the view. Use this button to retrieve information about any additional rows that are created since
the log viewer was started.

© Copyright IBM Corp. 2016 7-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
• Show Only Selected Threads: Show only records with the same thread as the one that is
selected in the selection area. Clicking this button enables the Show All Threads button.
• Show All Threads: Lists any records that were filtered when you clicked Show Only Selected
Threads. This button is enabled only when you use the Show Only Selected Threads button
to restrict the view.
• Select Columns: Click to select the columns in the viewer that you want to view.

l
• Export: Exports logs to the local workstation in any of basic, advanced, or binary (HPEL)

ia
formats.
• Copy to Clipboard: Copies the records that are highlighted in the selection area into the
operating system clipboard.

er
• Server Instance Information: Lists attributes for the selected server instance process. Use this
table to find attributes and corresponding values for the server instance process environment.
These properties are similar to the ones that are found in the header of basic mode logs.

at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

logViewer command-line tool (1 of 2)


• Use the logViewer command to query the contents of the High
Performance Extensible Logging (HPEL) log and trace repositories

l
since they are in binary format

ia
ƒ logViewer.sh/bat

• You can also use the logViewer command to view new log and

er
trace repository entries as the server writes content to them
logViewer.sh/bat –monitor [interval]

at
• Using parameters, you can specify a time period to view
ƒ Use the startDate and stopDate parameters

M
• You can specify a minimum, maximum or a single one of these levels:
FINEST, FINER, FINE, DETAIL, CONFIG, INFO, AUDIT, WARNING,
ed
SEVERE, FATAL

Problem determination © Copyright IBM Corporation 2016

Figure 7-23. logViewer command-line tool (1 of 2)


ht

The first tool for analyzing HPEL logs is the command-line log viewer. The command-line log viewer
is a simple, intuitive, and fast tool for doing analysis on the logs in problem determination efforts.
rig

You are no longer required to be aware of whether data is written to the SystemOut.log,
SystemErr.log, or trace.log file. With HPEL, the logs are consolidated, and the log viewer can
be used to view all the data or filtered according to what subset of messages you need:
• monitor [interval]: Specifies that you want the logViewer to continuously monitor the
repository and output new log record entries as they are created. You can provide an optional
py

integer argument after this parameter to specify how often you want the logViewer tool to query
the repository for new records. By default, the logViewer queries the repository for new records
every 5 seconds. When used with other filtering options, only those new records that match the
filter criteria are displayed.
Co

© Copyright IBM Corp. 2016 7-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

logViewer command-line tool (2 of 2)


• To get a listing of available logViewer options:
ƒ logViewer.sh/bat -help

l
ia
• The logViewer command started from the profile bin directory
without any options

er
ƒ Results in a display of all the log and trace messages of a server

• To view the log and trace entries of the most recent server, run:

at
ƒ logViewer.sh/bat –latestInstance
ƒ With this option, it is no longer necessary to clear log files before restarting

M
a server
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-24. logViewer command-line tool (2 of 2)


ht

To get a listing of available logViewer options, use the -help option.


The logViewer command can be started from the bin directory of a profile without any options,
rig

and a listing of all the entries of a server is shown. If a profile has multiple servers, the user is first
prompted to select the server for viewing.
py
Co

© Copyright IBM Corp. 2016 7-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

What is Cross Component Trace (XCT)?


• A feature that annotates the logs so that entries that are related to a
request are identified as belonging to the same unit of work

l
ia
• The request might traverse more than one
ƒ Thread
ƒ Process

er
ƒ Server

• XCT helps identify the root cause of problems across components,

at
which provides the following benefits:
ƒ Enables administrators and support teams to follow the flow of a request
from end-to-end

M
ƒ The request is traced as it traverses thread or process boundaries, or
travels between stack products and WebSphere Application Server
ƒ Helps to resolve questions about which component is responsible for a
ed
request that fails

Problem determination © Copyright IBM Corporation 2016

Figure 7-25. What is Cross Component Trace (XCT)?


ht

Depending on the nature of your applications, multiple threads within an application server might be
used to handle requests, such as HTTP requests or JMS requests. More than one application
server can handle some requests, such as when one application server makes a request to another
rig

application server for a web services request.


Applications that are built by using distributed architectures, such as service-oriented architecture,
can benefit from XCT, since XCT helps facilitate problem determination across multiple services on
different systems.
py
Co

© Copyright IBM Corp. 2016 7-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Administering XCT
• HPEL must be enabled on the server before XCT can be enabled
• Click Troubleshooting > Logs and trace > server_name >

l
Change log detail levels

ia
• Check Enable log and trace correlation

er
at
M
• Select option for including request IDs, creating correlation logs,
ed
capturing data snapshots

Problem determination © Copyright IBM Corporation 2016

Figure 7-26. Administering XCT


ht

Enable XCT to include request IDs in log and trace files when you want to see which log and trace
entries, in all threads and application server processes, are related to the same request. Request
IDs are recorded only when using HPEL log and trace mode and can be seen or used for filtering
rig

when using the logViewer command.


Enable XCT to create correlation log records when you want to log how requests branch between
threads and processes, and see extra information about each request. Enabling XCT to create
correlation log records might have a significant performance impact on your system, so it is best
py

suited to test and development environments.


Co

© Copyright IBM Corp. 2016 7-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty 

XCT request IDs


• XCT request IDs are identifiers added to log and trace records that
the server produces

l
• XCT adds the same request ID to every log or trace record that is a

ia
part of the same request, regardless of which thread or JVM
produces the record

er
• When XCT is used with the HPEL log and trace infrastructure, you
can view request IDs when logs are output in advanced format
ƒ logViewer.sh -minLevel WARNING -format advanced

at
M
[Time_stamp] 00000094 W UOW= source=com.ibm.ws.webcontainer.srt
class=com.ibm.ws.webcontainer.srt.SRTServletResponse method=setIntHeader
org= prod= component= thread=[WebContainer : 4]
requestID=[AAAsirk1Njr-AAAAAAAAAA+] appName=[PlantsByWebSphere]
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-27. XCT request IDs


ht

You can use XCT to augment your log and trace files with correlation information. This correlation
information clarifies which threads and which application server processes participated in the
handling of each request.
rig
py
Co

© Copyright IBM Corp. 2016 7-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Use XCT request ID information to track requests


• Filter your logs by request ID by using the HPEL logViewer
command-line tool

l
ƒ logViewer.sh -includeExtensions requestID=AAAsirk1Njr-

ia
AAAAAAAAAA+

[Time_stamp] 00000094 XCT I BEGIN AAAsirk1Njr-AAAAAAAAAA+

er
00000000000-cccccccccc2 HTTPCF(InboundRequest
/PlantsByWebSphere/javax.faces.resource/jsf.js.jsf
RemoteAddress(127.0.0.1) RequestContext(-957274864))

at
[Time_stamp] 00000094 srt W
com.ibm.ws.webcontainer.srt.SRTServletResponse setIntHeader SRVE8094W:
WARNING: Cannot set header. Response already committed.

M
[Time_stamp] 00000094 XCT I END AAAsirk1Njr-AAAAAAAAAA+
00000000000-cccccccccc2 HTTPCF(Request AsyncWrite RequestContext(-
957274864))
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-28. Use XCT request ID information to track requests


ht

The following information is important to XCT log records:


• XCT log records are typically added to the logs to:
rig

▪ Demarcate the beginning and ending of work for a particular request on a particular thread
▪ Demarcate when work is transferred to another thread or process, or to indicate when work
is returned from another thread or process
▪ Demarcate when work moves from major component to major component, even if work
py

continues on the same thread; for example, to show transfer of control from application
server code to application code
• XCT log records are composed of:
▪ XCT type (BEGIN / END)
Co

▪ XCT parent correlator ID (for example, 00000000000-cccccccccc2)


▪ XCT current correlator ID (for example, AAAsirk1Njr-AAAAAAAAAA+)
▪ XCT annotations, for example:
HTTPCF(InboundRequest) /PlantsByWebSphere/javax.faces.resource/jsf.js.jsf
RemoteAddress(127.0.0.1) RequestContext(-957274864)

© Copyright IBM Corp. 2016 7-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
• XCT tools
The HPEL logViewer tool is able to filter log and trace records by request ID.
Tools such as the XCT Log Viewer can also take advantage of XCT log records or XCT request
IDs, or both, when rendering log and trace content. The XCT Log Viewer is available as a tool
add-on for the IBM Support Assistant.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
7.2. Gathering diagnostic data

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Gathering diagnostic data

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 7-29. Gathering diagnostic data
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Gathering JVM diagnostic data


• A wealth of valuable JVM diagnostic data can be gathered by doing
the following tasks:

l
ƒ Enable logging of verbose garbage collection data for servers

ia
ƒ Generate a Java thread dump
ƒ Generate a Java heap dump

er
ƒ Generate a system core dump
ƒ Configure hung thread detection

at
ƒ Enable tracing of connection leaks

M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-30. Gathering JVM diagnostic data


ht

The tasks that are listed on this slide are described in detail in the WebSphere Application Server
V9 documentation in IBM Knowledge Center. See the articles on troubleshooting.
rig
py
Co

© Copyright IBM Corp. 2016 7-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Enable verbose garbage collection


• Verbose GC is an option that the JVM run time provides
• Provides a garbage collection log

l
ƒ Interval between collections

ia
ƒ Duration of collection
ƒ Compaction required
ƒ Memory size, memory that was freed, memory available

er
• Turns on verbose GC for each server through the administrative
console
ƒ Servers > server_name > Process Definition > Java Virtual Machine

at
ƒ Select “Verbose Garbage Collection” check box
ƒ Save and distribute
ƒ Restart the server or servers
• Usually writes to native_stderr.log file

M
ƒ Varies depending on platform and WebSphere version
ƒ Some load on system resources because of disk I/O, but minimal unless
ed
thrashing occurs

Problem determination © Copyright IBM Corporation 2016

Figure 7-31. Enable verbose garbage collection


ht

It is often suggested that you have verbose GC enabled permanently in production. The cost on a
reasonably well-tuned JVM is small. The benefits of having it on the first time that something
happens are considerable (no necessity to reproduce the problem a second time after enabling). It
rig

is also good to keep an eye on the verbose GC regularly as a way to monitor the health of the
system, even when nothing bad is noticed.
Enabling verbose GC is a decision that each system administrator must make conscientiously.
However, it is no longer “not recommended as a normal production setting.”
py
Co

© Copyright IBM Corp. 2016 7-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Java memory dumps and cores


• New feature in the Troubleshooting section is Java dumps and cores

l
ia
er
at
• Select servers and click

M
ƒ Heap dump
ƒ Java core
ƒ System dump
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-32. Java memory dumps and cores


ht

Clicking the Java dumps and cores link opens the panel that is shown in the screen capture. Use
this panel to generate heap dumps, Java cores, or system dumps for a running process. Select the
server and click the appropriate button for Heap dump, Java core (thread dump), or System
rig

dump (JVM core). The files that result from these operations are placed on the local file system; by
default they are written to the profile root directory, was_root/profiles/profile-name.
• Heap dump: A heap dump is a snapshot of JVM memory. It shows live objects in the memory
and references between them.
py

• Java core: Use this button to investigate why a server is hanging or to investigate messages in
the logs that indicate a thread did not complete its work in the expected amount of time.
• System dump: Use this button to generate system native dumps of the server process. These
dumps can be large.
Co

A note on verbose garbage collection data: As in previous versions, verbose GC is not enabled
by default. When you enable verbose GC for a server in version 8, the default garbage collection
policy is generational-concurrent (gencon). The data is written to the native_stderr.log or
native_stdout.log file, depending on the operating system of the server.

© Copyright IBM Corp. 2016 7-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Generating a JVM thread dump (javacore)


• What is a javacore?
ƒ Small diagnostic text file that the JVM produces

l
ƒ Contains much vital information about the running JVM process

ia
ƒ Provides a snapshot of all the running threads, their stack traces, and the
monitors (locks) held by the threads
ƒ Useful for detecting hang or deadlock conditions

er
• How to manually trigger a thread dump
ƒ Warning: Triggering a thread dump can terminate the server process

at
ƒ Use operating system facilities:
kill -3 <JVM PID> (UNIX or Linux)
ƒ Explicitly tell WebSphere to generate a thread dump
ƒ Issue wsadmin Jacl or Jython commands

M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-33. Generating a JVM thread dump (javacore)


ht

Run the following wsadmin Jacl commands:


set jvm [$AdminControl completeObjectNametype=JVM, process=<SERVER_NAME>,*]
rig

$AdminControl invoke $jvm dumpThreads

Thread dumps also can be helpful in detecting performance problems. Take a few (at least three)
snapshots of the JVM (about 2 – 3 minutes apart). Analyze the javacore file to see what different
py

threads are doing in each snapshot.


For example, a series of snapshots where container threads are in the same method or waiting on
the same monitor or resource is an indication of a bottleneck, hang, or deadlock.
Co

© Copyright IBM Corp. 2016 7-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Generating a JVM heap dump


• JVM heap dump is created in the <profile_root> directory
when an OutOfMemoryError exception is thrown

l
ƒ Heap dump is in PHD (Portable Heap Dump) format by default

ia
ƒ Different locations and formats can be configured by using command-line
arguments
• Use the –Xdump generic JVM arguments to configure heap dumps

er
• For example:
ƒ Xdump:heap:file=/dumps/heapdump.%Y%m%d.%H%M%S.%pid.%se
q.phd specifies the location and format of the heap dump file name

at
ƒ Xdump:heap, opts=PHD+CLASSIC enables heap dump creation and
creates the file in both binary and text format
ƒ Xdump:heap:none disables heap dump creation

M
• Can also trigger heap dumps by using wsadmin Jython commands
ƒ AdminControl.invoke(AdminControl.completeObjectName
("type=JVM, process=<server_name>,*"),
"generateHeapDump")
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-34. Generating a JVM heap dump


ht

IBM Support Assistant includes a tool for inspecting Java memory dumps, called the Memory
Analyzer. This tool can analyze several Java heap dump formats, including the standard dump
formats from both the IBM and Sun Java runtime environments, and also z/OS SVC dumps. It lists
rig

and analyzes the data structures in the heap and their relationships, helping you identify the
structures that are most likely responsible for memory leakage.
py
Co

© Copyright IBM Corp. 2016 7-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Hung thread detection


• Hung threads can be hard to diagnose
ƒ They are often not noticed until many threads are hung, resulting in a

l
performance problem

ia
• Application threads can hang for a number of reasons:
ƒ Endless loops
ƒ Deadlocks

er
ƒ Inaccessible resources
• The ThreadMonitor component monitors the web container, ORB, and
Async bean thread pools for hung threads

at
• Example thread monitor message

M
[8/1/11 10:51:01:955 EDT] 00000021 ThreadMonitor W
WSVR0605W: Thread "WebContainer : 0" (00000020) has been
active for 65103 milliseconds and may be hung. There is/are 1
thread(s) in total in the server that may be hung.
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-35. Hung thread detection


ht

Application threads can hang for a number of reasons, including infinite loops or deadlocks.
A component that is known as the ThreadMonitor monitors the web container, ORB, and Async
rig

bean thread pools for hung threads. The thread monitor does not try to deal with the hung threads;
it just issues notifications so that the administrator or developer can deal with the issues.
When a hung thread is detected, three notifications are sent: a JMX notification is sent for JMX
listeners, PMI Thread Pool data is updated for tools like the Tivoli Performance Viewer, and a
message is written to the SystemOut log.
py

When the thread pool gives work to a thread, it notifies the thread monitor. The thread monitor
notes the thread ID and time stamp. The thread monitor compares active threads to time stamps.
Threads that are active longer than the time limit are marked “potentially hung.” Performance
Co

impact is minimal (less than 1%).

© Copyright IBM Corp. 2016 7-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Connection leak diagnostic messages


• Poorly written applications often do not properly release database
connections

l
ƒ Forget to call connection.close()

ia
ƒ Most often in the exception case
ƒ Connections must be closed in a finally{} block

er
• Orphaned connections return to the pool only after timeout
ƒ Can cause a backup of new connections that are waiting for old connections
to time out
ƒ New connections that wait too long throw a

at
connectionWaitTimeoutException

• Connection manager is instrumented to print stack traces when a

M
connectionWaitTimeoutException occurs
ƒ Enable by using trace string WAS.j2c=finest
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-36. Connection leak diagnostic messages


ht

Applications can suffer from performance problems and even “hang” if they do not close their
connections properly. Not properly using the connection.close() method often causes a leak. To
ensure that connections are closed properly, they must be closed in a finally{} block.
rig

WebSphere eventually times out orphaned connections and returns them to the pool, but for an
application that makes frequent use of database connections, this timeout might not be enough.
New connections can get queued up waiting for the database while old connections are waiting to
be timed out. This behavior can halt the application, and you can see connectionWaitExceptions.
py

The connection manager has lower performance impact than connection manager tracing. When
activated, it enables a connection manager wrapper that holds the stack trace of all
getConnection() calls in a throwable object. When an exception is thrown because of waiting on
a full connection pool, it is best to print stack traces of all open connections. In this way, you
Co

significantly narrow your search area when you look at the application source code in an attempt to
find the responsible code.
Connection leaks are difficult to diagnose because the error messages do not usually provide
enough specific information about the source of the problem. Usually a source code review is
needed to find points in the code where connections are not properly closed. The connection
manager makes this task much easier.

© Copyright IBM Corp. 2016 7-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Checking version levels and applying APARs


• The versionInfo command generates a report from data that is
extracted from XML files in the properties/version folder

l
ƒ The report includes a list of changed components and installed or

ia
uninstalled maintenance packages

• APAR: Authorized Program Analysis Report

er
ƒ Tracks software defects that customers report

• Download suggested fixes, and fixes by version from the WebSphere

at
Support page

• IBM Installation Manager: New standard tool for installing fixes

M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-37. Checking version levels and applying APARs


ht

The versionInfo command generates a report from data that is extracted from XML files in the
properties/version folder. The report includes a list of changed components and installed or
uninstalled maintenance packages.
rig

APAR is an authorized program analysis report; it tracks software defects that customers report.
You can download suggested fix packs for your version of the product from the WebSphere Support
website.
IBM Installation Manager is a new standard tool for installing fixes.
py
Co

© Copyright IBM Corp. 2016 7-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
7.3. Problem determination tools

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Problem determination tools

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 7-38. Problem determination tools
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Problem determination tool availability


• Some tools are integrated into the administrative console
ƒ Tivoli Performance Viewer

l
ƒ Configuration validation

ia
ƒ Class loader viewer
ƒ Others

er
• Some tools are separate programs that are included with WebSphere
Application Server itself, or sold as separate products in their own right
ƒ dumpNameSpace

at
ƒ versionInfo
ƒ Rational Application Developer

• IBM Support Assistant:

M
ƒ Serves as a central point from which many tools can be found and even run
directly inside IBM Support Assistant
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-39. Problem determination tool availability


ht

In the overall process of problem determination, diagnostic data must be collected or generated,
and the data must be analyzed. Various tools are available to help you collect and analyze
diagnostic data for solving problems that are related to JVM, server and application configuration,
rig

performance, and namespace issues.


py
Co

© Copyright IBM Corp. 2016 7-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Problem determination tools: Administrative console


• Tivoli Performance Viewer and Performance Advisor
ƒ Captures and analyzes statistical performance data from a running

l
WebSphere Application Server system

ia
• Configuration validation
ƒ Checks for errors in a WebSphere Application Server configuration

er
• Class Loader Viewer
ƒ Provides a hierarchical view of class loaders that applications use

at
ƒ Helps diagnose problems that are related to loading of classes in
applications

• Diagnostic Provider

M
ƒ Tool for viewing configuration and the current state of individual application
server components
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-40. Problem determination tools: Administrative console


ht

The administrative console provides several tools that can be used for troubleshooting and problem
determination. See the WebSphere Application Server V9 documentation in IBM Knowledge Center
for more details about how to use these tools.
rig
py
Co

© Copyright IBM Corp. 2016 7-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Dumping the JNDI namespace


• The dumpNameSpace utility shows JNDI directory content
• Useful to ensure correct association of named objects:

l
ƒ

ia
JDBC resources
ƒ EJB components
ƒ JMS resources

er
ƒ Other resources

• Syntax and some of the options:

at
<was_root>\bin\dumpNameSpace
[-host bootstrap_host_name (defaults to localhost)]
[-port bootstrap_port_number (defaults to 2809)]
[-startAt subcontext/in/the/tree]

• Output can be redirected to a file and inspected


M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-41. Dumping the JNDI namespace


ht

Usage: dumpNameSpace [-keyword value]


If a keyword occurs more than one time with different values, the value that is associated with the
rig

last occurrence is used.


The keywords and associated values are:
• -host myhost.austin.ibm.com: Bootstrap host, which is the WebSphere host whose
namespace you want to dump. It defaults to “localhost.”
py

• -port nnn: Bootstrap port, defaults to 2809.


• -factory com.ibm.websphere.naming.WsnInitialContextFactory: The initial context
factory that is going to be used to get the JNDI initial context. It defaults as shown, and normally
is not required to be changed.
Co

• -root [cell | server | node | host | legacy | tree | default]

© Copyright IBM Corp. 2016 7-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
7.4. IBM Support Assistant

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 7-42. IBM Support Assistant
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Introduction to IBM Support Assistant


The IBM Support Assistant 5.0 Team is a free tool to help diagnose
problems with IBM software

l
• The IBM Support Assistant has two types of components:

ia
ƒ Data collectors: Specific to IBM products such as WebSphere Application
Server
ƒ Team Server: Root cause analysis for the data that is returned from the data

er
collectors

• Benefits of IBM Support Assistant include:

at
ƒ Saves time in searching product, support, and educational resources
ƒ Helps with opening a problem management report (PMR)
ƒ Allows for easy location and installation of useful product support tools by

M
using a support tool framework
ƒ Easily downloaded from
http://www.ibm.com/software/support/isa/
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-43. Introduction to IBM Support Assistant


ht

The IBM Support Assistant is a free tool for problem determination for certain IBM products,
including WebSphere Application Server.
rig

Benefits of IBM Support Assistant include:


• Improves your ability to locate IBM support, development, and educational information through
a federated search interface (one search: multiple resources).
• Provides quick access to the IBM Education Assistant and key product education roadmaps.
py

• Simplifies access to IBM product home pages, product support pages, and product forums or
newsgroups, through convenient links.
• Saves time in submitting problems to IBM Support by collecting key information, then
electronically creating a problem management record (PMR) from within IBM Support Assistant.
Co

If a PMR must be opened, IBM Support Assistant helps with:


▪ Gathering support information that is based on problem type
▪ Creating and updating the problem report
▪ Tracking your electronic problem report
• Includes a support tool framework, allowing for the easy installation of support tools that are
associated with different IBM products.

© Copyright IBM Corp. 2016 7-52


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty
• Provides a framework for IBM software products to deliver customized self-help information into
the different tools within it. Customize your IBM Support Assistant client by using the built-in
update capability to find and install new product features or support tools.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-53


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant: Overview videos available


• IBM Support Assistant is not part of WebSphere Application Server
so is not covered in detail here

l
• Problem determination tools

ia
ƒ Report tools are non-interactive; they analyze logs and trace files to
create humanly readable reports
ƒ Web tools are interactive tools that are accessed through a browser

er
ƒ Web tools run on a team server
ƒ Desktop tools are interactive and also accessed through a browser

at
ƒ Desktop tools run locally by using the local Java runtime environment

• Information on how to download, install, and use these tools is


found at http://www.ibm.com/software/support/isa/

M
• The following slides show some of the problem determination
features that are relevant to WebSphere Application Server
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-44. IBM Support Assistant: Overview videos available


ht

IBM Support Assistant can change independent of WebSphere Application Server. IBM Support
Assistant is mentioned because of its capabilities in problem diagnosis in WebSphere Application
Server. However, IBM Support Assistant not covered in detail in this section as it might change.
rig

For high-level information, view the educational videos available on You Tube.
https://www.youtube.com/playlist?list=PLmooy53GkKpmoIUDX6k67X3WyPV43SyUC
Most relevant to this unit, watch the IBM Support Assistant 5.0 Team Server: Problem
Determination Tools Overview.
py

https://www.youtube.com/watch?v=7QK_sfJAG1o&index=6&list=PLmooy53GkKpmoIUDX6k67X3
WyPV43SyUC
Co

© Copyright IBM Corp. 2016 7-54


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant example: Javacore analysis

l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-45. IBM Support Assistant example: Javacore analysis


ht

This image shows an example of a Javacore analysis, specifically the thread dump list. It was run
after the BadApp that you use in the lab exercise on exhausted memory. Notice that the cause of
this thread dump was an OutOfMemory event.
rig
py
Co

© Copyright IBM Corp. 2016 7-55


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant example: Thread status analysis

l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-46. IBM Support Assistant example: Thread status analysis


ht

This screen capture shows the thread analysis, also from a javacore analysis. On the left is a
sortable list of all threads, their state, and the method where that thread is running. Clicking any
thread name gives you a stack trace of the method and identifies what threads it is waiting on (if
rig

any), or what threads are waiting on it. A table also summarizes the number of threads in each
state.
py
Co

© Copyright IBM Corp. 2016 7-56


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant example: Memory visualizer

l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-47. IBM Support Assistant example: Memory visualizer


ht

This image shows an example report of garbage collection and memory visualizer. The memory
and heap are depleted in the left size of the graph. This occurs after an out-of-memory event. The
yellow line indicates that the JVM restarted, which frees memory. The heap size stays stable at
rig

approximately 1.9 GB after reboot.


py
Co

© Copyright IBM Corp. 2016 7-57


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

IBM Support Assistant example: Memory diagnostic

l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-48. IBM Support Assistant example: Memory diagnostic


ht

The IBM Monitoring and Diagnostic Tools – Interactive Diagnostic Data Explorer is a Java heap
analyzer. The diagnostic tool helps identify memory leaks and reduce memory consumption. In this
pie chart, one problem suspect is using 1.8 gigabytes with approximately 65 megabytes available.
rig

It also was run after the BadApp used too much memory.
py
Co

© Copyright IBM Corp. 2016 7-58


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Unit summary
• Describe a basic approach for problem determination
• List resources for completing a problem investigation

l
• Locate relevant log files

ia
• Examine log activity
• Enable tracing on specific components

er
• Enable High Performance Extensible Logging (HPEL) and use the Log
Viewer
• Describe features of the IBM Support Assistant

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-49. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 7-59


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Review questions
1. What are the two approaches for problem determination?

l
2. In basic mode logging, what are the two types of JVM log

ia
files, and what is the data that they contain?

3. What are the three levels of diagnostic trace detail?

er
4. What are the three major features of the IBM Support

at
Assistant that are accessible from the Welcome screen?

5. What are some JVM-related problems that a server can

M
experience?
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-50. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py

4. 

5. 
Co



© Copyright IBM Corp. 2016 7-60


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Review answers
1. What are the two approaches for problem determination?
The answer is: Analysis and isolation

l
2. In basic mode logging, what are the two types of JVM

ia
log files, and what is the data that they contain?
The answer is: The SystemOut.log file contains messages from
different server components. Mostly informational, these messages log

er
events that occur during the lifetime of the JVM. The SystemErr.log
file contains any exceptions and stack traces that server components
throw.
3. What are the three levels of diagnostic trace detail?

at
The answer is: Fine, finer, and finest
4. What are the three major features of the IBM Support Assistant that

M
are accessible from the Welcome screen?
The answer is: Find Information, Analyze Problem, Collect, and Send
Data
5. What are some JVM-related problems that a server can experience?
ed
The answer is: Hung threads, OutOfMemory conditions, connect leaks
Problem determination © Copyright IBM Corporation 2016

Figure 7-51. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 7-61


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Exercise: Problem

l
determination

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 7-52. Exercise: Problem determination
ht
rig
py
Co

© Copyright IBM Corp. 2016 7-62


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 7. Problem determination

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Use the administrative console to configure and view log data

l
• Enable a server to use HPEL

ia
• Enable tracing on application server components
• Use the HPEL Log Viewer to examine log and trace data

er
• Enable verbose garbage collection for an application server
• Enable memory leak detection for an application server
• Describe features of IBM Support Assistant tools

at
M
ed
Problem determination © Copyright IBM Corporation 2016

Figure 7-53. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 7-63


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Unit 8. Introduction to wsadmin and


scripting

l
Estimated time

ia
01:00

Overview

er
This unit introduces you to the capabilities of wsadmin as an administrative tool for WebSphere
Application Server.

at
How you will check your progress
• Review questions
• Lab exercises

References
M
ed
WebSphere Application Server V9 documentation in IBM Knowledge Center:
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Unit objectives
• Use wsadmin to enter administrative commands
• Create Jython scripts to run wsadmin commands

l
• Customize the wsadmin environment with profiles and property files

ia
• Use property file-based configurations to modify an environment
• Configure and use command assist to develop wsadmin scripts

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 8-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

wsadmin versus administration console

Command-line Web-based

l
C:\> wsadmin administrative

ia
console

er
at
Admin
Admin application
Jython or Jacl services

M
script Read
Write

Configuration
ed
Application server (XML files)

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-2. wsadmin versus administration console


ht

You can use the administrative console or wsadmin tool to manage an application server and the
configuration, application deployment, and server runtime operations.
rig

The administrative console is a graphical interface that you can use to manage your applications
and do system administration tasks for your WebSphere Application Server environment. The
administrative console runs in your web browser.
The wsadmin tool is a command-line client that runs Jython or Jacl scripts that you can use to
manage your applications and do system administration tasks for your WebSphere Application
py

Server environment.
Your actions that use the administrative console or wsadmin can access (read) and modify (write) a
set of XML configuration files that are used to describe the application server environment.
Co

© Copyright IBM Corp. 2016 8-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Scripting benefits
• Automation of routine administration tasks

l
• Schedule administration tasks

ia
• Support changes in production environments, especially with
multiple nodes

er
• Apply configuration changes or updates to targeted resources in
an efficient and consistent manner

at
• Safer than the administrative console in production environments

M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-3. Scripting benefits


ht

There are several benefits for using scripting to manage an application server and the
configuration, application deployment, and server runtime operations:
• Automation of routine administration tasks without relying on an operator to run the
rig

administrative console
• Schedule administration tasks to run at times when it might be inconvenient to have an operator
to run the administrative console
• Support changes in production environments, especially with multiple nodes
py

• Apply configuration changes and updates to all targeted resources in an efficient and consistent
manner
• Using wsadmin is safer than using the administrative console in production environments.
Co

© Copyright IBM Corp. 2016 8-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

wsadmin
• The wsadmin tool provides:
ƒ Scripting capabilities

l
ƒ Command-line administration

ia
• Support for:
ƒ Python commands through Jython
ƒ Tcl commands through Java Command Language (Jacl)

er
• Modes:
ƒ Interactive
ƒ Command-line

at
ƒ Script file
• Examples:

M
ƒ Start and stop deployment manager, nodes, application servers, enterprise
applications, and clusters
ƒ Configure virtual hosts, JDBC providers, JMS resources
ƒ Create application servers
ed
ƒ Create clusters and add members to a cluster
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-4. wsadmin


ht

The WebSphere administrative (wsadmin) scripting program is a powerful, non-graphical command


interpreter environment where you can run administrative operations in a scripting language. The
wsadmin tool is intended for production environments and unattended operations. The wsadmin
rig

tool provides:
• Scripting capabilities
• Command-line administration
The wsadmin tool uses the Bean Scripting Framework (BSF), which supports various scripting
py

languages to configure and control your WebSphere Application Server installation. The wsadmin
tool supports:
• Python commands through Jython
Co

• Tcl commands through Java Command Language (Jacl)


The wsadmin launcher makes administrative objects available through language-specific
interfaces. Scripts use these objects for application management, configuration, operational
control, and communication with MBeans that are running in WebSphere server processes. Three
modes are used to start wsadmin:
• Interactive

© Copyright IBM Corp. 2016 8-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
• Command line
• Script file
You can use the wsadmin tool to do the same tasks that you can use the administrative console for.
You can use the wsadmin tool to manage a WebSphere Application Server V8 installation.
Examples of tasks include:
• Start and stop deployment manager, nodes, application servers, enterprise applications, and

l
clusters

ia
• Configure virtual hosts, JDBC providers, JMS resources
• Create application servers
• Create clusters and add members to a cluster

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

wsadmin invocation options


• wsadmin invocation options include:

l
ia
wsadmin
-h (help) or -?
-c <command>

er
-f <script_file_name>
-p <properties_file_name>
-profile <profile_script_name>

at
-profileName <profile_name>
-lang
-conntype [SOAP | RMI | JSR160RMI | IPC | NONE ]
-host

M
-user or username
-password
-port
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-5. wsadmin invocation options


ht

There are several wsadmin invocation options available. Use the following command-line
invocation syntax for the wsadmin scripting client:
• -h, -help, -? 
rig

Provides syntax help.


• -c <command> 
Specifies to run a single command. Multiple -c options can exist on the command line. They
run in the order that you designate. If you start the wsadmin tool with the -c option, any
py

changes that you make to the configuration are saved automatically.


• -f <script_file_name> 
Specifies a script to run. Only one -f option can exist on the command line. You can use the
-f option to run scripts that contain nested Jython scripts. The second level is the user default,
Co

wsadmin.properties, which is in your home directory.


• -p <properties_file_name> 
Specifies a properties file. The file that is listed after -p represents a Java properties file that
the scripting process reads. Three levels of default properties files load before the properties file
that you specify on the command line.

© Copyright IBM Corp. 2016 8-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
▪ The first level is the installation default, wsadmin.properties, which is in the product
properties directory.
▪ The second level is the user default, wsadmin.properties, which is in your home directory.
▪ The third level is the properties file that the environment variable WSADMIN_PROPERTIES
references.
Multiple -p options can exist on the command line. Those options start in the order that you

l
supply them.

ia
• -profile <profile_script_name> 
Specifies a profile script. The profile script runs before other commands, or scripts. If you
specify -c, then the profile script runs before it starts this command. If you specify -f, then the

er
profile script runs before it runs the script. In interactive mode, you can use the profile script to
do any standard initialization that you want.
You can specify multiple-profile options on the command line, and they start in the order that
you supply them.

at
• -profileName <profile_name> 
Specifies the profile from which the wsadmin tool runs. Specify this option when one of the
following reasons applies:

M
▪ You run the wsadmin tool from the <was_root>/bin directory, and you do not have a
default profile, or you want to run in a profile other than the default profile.
▪ You are currently in a profile bin directory but want to run the wsadmin tool from a different
ed
profile.
• -lang 
Specifies the language of the script file, the command, or an interactive shell. The possible
languages include Jacl and Jython. The options for the -lang argument include jacl and
ht

jython.
This option overrides language determinations that are based on a script file name, a profile
script file name, or the com.ibm.ws.scripting.defaultLang property. The -lang argument
rig

has no default value.


If you do not specify the -lang argument but you have the -f <script_file_name>
argument, then the wsadmin tool determines the language, which is based on a target script file
name. If you do not specify the -lang argument and the -f argument, the wsadmin tool
determines the language, which is based on a profile script file name if the -profile
py

<profile_script_name> argument is specified. If the command line or the property does not
supply the script language, and the wsadmin tool cannot determine it, then an error message is
generated.
• -conntype 
Co

Specifies the type of connection to use. This argument consists of a string that determines the

© Copyright IBM Corp. 2016 8-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
type – for example, SOAP – and the options that are specific to that connection type. Possible
types include:
▪ SOAP
▪ RMI
▪ JSR160RMI
▪ IPC
▪ NONE

l
For each connection type, you can specify more attributes about the connection.

ia
An example of when NONE can be used is when the application server configuration files are so
corrupted that the application server cannot be started to access the administrative tasks of the
running server.

er
• -host 
Specifies a host name to which wsadmin attempts to connect. If this option is not specified, the
default wsadmin.properties file that is in the properties directory of each profile provides

at
localhost as the value of the host property.
• -user or -username 
If security is enabled in the server, this option specifies a user name that the connector uses to

M
connect to the server.
• -password 
If security is enabled in the server, this option specifies a password that the connector uses to
connect to the server.
ed
• -port 
Specifies a port that the connector uses. The default wsadmin.properties file that is in the
properties directory of each application server profile provides a value in the port property to
connect to the local server.
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Jython versus Jacl


Jython syntax is more natural to Java or C programmers
• Jython provides much better support in tools

l
ƒ Rational Application Developer (Jython editor, command completion,

ia
debugger)
ƒ WebSphere administrative console (console command assistance)
• wsadmin scripts use Jython 2.7 in version 9

er
Jacl is deprecated in version 9
• No future development or enhancements for Jacl

at
• Jacl-to-Jython (Jacl2Jython) conversion assist tool is available

M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-6. Jython versus Jacl


ht

The wsadmin tool supports Jython and Jacl scripting languages.


• Jython scripting language: Jython is an alternative implementation of Python, and is written
rig

entirely in Java.
▪ The wsadmin tool uses Jython V2.7 in version 9. Version 8.5.5 used Jython 2.1
▪ Jython syntax might seem more natural to Java or C programmers.
▪ Future investment and strategic direction focus on the Jython language. Jython has much
py

better support for tools:


- IBM WebSphere Application Server Developer Tools for Eclipse (Jython editor,
command completion, debugger)
- Administrative console (console command assistance)
Co

▪ The product uses a Jython version that does not support Microsoft Windows 2003 or
Windows Vista operating systems.
• Jacl scripting language: Jacl is deprecated in version 9.
Jacl-to-Jython (Jacl2Jython) is a conversion utility that converts Jacl syntax wsadmin scripts
into equivalent Jython syntax wsadmin scripts.

© Copyright IBM Corp. 2016 8-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Administrative functions that use wsadmin


• WebSphere Application Server system management separates
administrative functions into three categories:

l
1
– Running objects in WebSphere Application Server installations

ia
Node01
server1
Deployment
Node agent

er
manager
server2

at
2 Configuration of
WebSphere Application Cell config
Server installations Node01 config
Configuration repository
(repository) server1 config

3 Installed applications M
server2 config
ed
installedApps directory
EAR files

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-7. Administrative functions that use wsadmin


ht

WebSphere Application Server system management separates administration functions into two
categories:
• Running objects in WebSphere Application Server installations: The wsadmin tool can be
rig

used to install, uninstall, and manage applications. You can use either of two methods to install,
uninstall, and manage applications.
▪ You can use the commands for the AdminApp and AdminControl objects to start
operations on your application configuration.
py

▪ Alternatively, you can use the AdminApplication and BLAManagement Jython script
libraries to do specific operations to configure your enterprise and business-level
applications.
Co

• Configuration of WebSphere Application Server installations (repository): The wsadmin


tool can be used to configure application servers in your environment.
▪ You can use the commands for the AdminConfig and AdminTask objects to retrieve
configuration IDs and start operations on the objects to configure the application server.
▪ Alternatively, you can use the script library for specific operations to configure your
application servers.

© Copyright IBM Corp. 2016 8-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
An application server configuration provides settings that control how an application server
provides services for running applications and their components.
Configuration data is stored in several different XML files, which the server runtime reads when
it starts and responds to the component settings stored there. The configuration data includes
the settings for the runtime, such as Java virtual machine (JVM) options, thread pool sizes,
container settings, and port numbers that the server uses. Other configuration files define Java
Platform, Enterprise Edition resources to which the server connects to obtain data that the

l
application logic needs.

ia
Security settings are stored in a separate document from the server and resource configuration.
Application-specific configurations, such as deployment target lists, session configuration, and
cache settings, are stored in files under the root directory of each application. When viewing the

er
XML data in the configuration files, you can discern the relationship between the configuration
objects.
For information about the WebSphere Application Server configuration objects, view the HTML
tables in the <was_root>/web/configDocs directory. This directory has several subdirectories,

at
one for each configuration package in the model. The index.html file ties all of the individual
configuration packages together in a top-level navigation tree.
Each configuration package lists the supported configuration classes, and each configuration

M
class lists all of the supported properties. The properties with names that end with the @
character imply that property is a reference to a different configuration object within the
configuration data. The properties with names that end with the * character imply that the
property is a list of other configuration objects.
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Administrative objects in wsadmin


AdminApp

l
AdminConfig

ia
Scripts wsadmin AdminControl

er
AdminTask

Resources
Help

at
Five administrative objects do different operations:
• AdminControl: Work with “live” running objects

M
• AdminConfig: Create or modify WebSphere Application Server “static”
configuration
• AdminApp: Install, modify, or administer applications
• AdminTask: Administrative commands that are more usable and task-oriented
ed
• Help: General help
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-8. Administrative objects in wsadmin


ht

The wsadmin tool acts as an interface to Java objects by way of scripts to access resources. The
tool uses the same interface (through JMX) as the administrative console to make configuration
changes and control servers.
rig

Five objects are available when you use scripts:


• AdminControl: Use AdminControl to run operational commands, work with “live” running
objects, and do traces or data type conversions.
• AdminConfig: Use AdminConfig to run configuration commands to create or modify
py

WebSphere Application Server “static” configurational elements.


• AdminApp: Use AdminApp to install, modify, or administer applications.
• AdminTask: Use AdminTask to run administrative commands that are easier to use and more
Co

task-oriented.
• Help: Use Help to obtain general help.

© Copyright IBM Corp. 2016 8-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Starting wsadmin
• Interactively wsadmin

l
ia
er
• Command option wsadmin –c <command>

at
• Script file

M
wsadmin –f <script_file>
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-9. Starting wsadmin


ht

The wsadmin tool can be started in three ways:


• Interactively: wsadmin 
rig

Run wsadmin with an option other than -f or -c or without an option. The wsadmin tool starts
and provides an interactive shell with a wsadmin prompt. From the wsadmin prompt, enter any
Jacl or Jython command. You can also use the AdminControl, AdminApp, AdminConfig,
AdminTask, or Help wsadmin objects to start commands. To leave an interactive scripting
session, use the quit or exit command. The graphic demonstrates wsadmin in an
py

interactive mode:
<was_root>\profiles\profile1\bin\wsadmin
• Command option: wsadmin -c <command> 
Run the wsadmin tool with the noninteractive -c option. The graphic demonstrates wsadmin
Co

by using the command option to run the list command for the AdminApp object that uses
Jython.
<was_root>\profiles\profile1\bin\wsadmin -c print(AdminApp.list()) -lang jython
• Script file: wsadmin -f <script_file> 
Run the wsadmin tool with the noninteractive -f option, and place the commands that you

© Copyright IBM Corp. 2016 8-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
want to run into a script file. The graphic demonstrates wsadmin by using the script file option to
run a Jython script.
<was_root>\profiles\profile1\bin\wsadmin -f c:\Program Files\IBM\WebSphere\
AppServer\profiles\profile1\bin\initialSIBSetup.jy
When running wsadmin with the -f option, you are not required to specify the script language
with the -lang command-line option. The wsadmin command recognizes the script language
by looking at the extension of the file name (.py for Jython and .jacl for Jacl).

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Starting wsadmin with security enabled


• If security is enabled, authentication information must be supplied
• Authentication information can be provided in several ways:

l
ƒ Prompted

ia
er
at
ƒ Command-line parameters

ƒ RMI connections: sas.client.props file M


ed
ƒ SOAP connections: soap.client.props file
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-10. Starting wsadmin with security enabled


ht

WebSphere Application Server console security is enabled by default.


• If security is enabled, authentication information must be supplied.
rig

• Authentication information can be provided in several ways:


▪ Prompted:
If security is enabled and you do not provide credentials when you start wsadmin, you are
prompted to provide them. The Login at the Target Server window opens. Two fields, User
Identity and User Password, must be entered with valid credentials before proceeding.
py

▪ Command-line parameters:
You can use command-line parameters to pass authentication credentials.
- -user or -username can be used interchangeably to provide a user ID.
Co

- -password is used to provide a password.


The graphic demonstrates the use of command-line parameters to pass authentication
credentials:
<was_root>\profiles\profile1\bin\wsadmin -user USERID -password PASSWORD
▪ RMI connections: sas.client.props file
For RMI connections, authentication credentials can be provided in the sas.client.props

© Copyright IBM Corp. 2016 8-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
file. The file is in the profile properties directory: 
<was_root>\profiles\<profile_name>\properties\
The authentication parameters are:
- com.ibm.CORBA.loginUserid
- com.ibm.CORBA.loginPassword
▪ SOAP connections: soap.client.props file

l
For SOAP connections, authentication credentials can be provided in the

ia
soap.client.props file. The file is in the profile properties directory: 
<was_root>\profiles\<profile_name>\properties\
The authentication parameters are:

er
- com.ibm.SOAP.loginUserid
- com.ibm.SOAP.loginPassword 

at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

wsadmin properties
• Certain default behaviors for wsadmin can be changed by editing:
<profile_root>\<profile_name>\properties\wsadmin.properties

l
• Examples of properties include:

ia
– com.ibm.ws.scripting.connectionType=SOAP

er
– com.ibm.ws.scripting.port=8879
– com.ibm.ws.scripting.host=localhost
– com.ibm.ws.scripting.defaultLang=jython

at
– com.ibm.ws.scripting.traceFile=
– com.ibm.ws.scripting.validationOutput=
– com.ibm.ws.scripting.traceString=com.ibm.*=all=enabled

M
– com.ibm.ws.scripting.profiles=
– com.ibm.ws.scripting.emitWarningForCustomSecurityPolicy=true
– com.ibm.ws.scripting.tempdir=
ed
– com.ibm.ws.scripting.validationLevel=

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-11. wsadmin properties


ht

Scripting administration uses several Java properties files. Properties files can be used to control
your system configurations. Before any properties file is specified on the command line, three
levels of default properties files are loaded. These properties files include:
rig

• Installation default file: The first level represents an installation default, which is in the
profile_root/properties directory for each application server profile called
wsadmin.properties.
• User default file: The second level represents a user default, and is in the Java user.home
py

property. This properties file is also called wsadmin.properties.


• Properties file: The third level is a properties file that is pointed to by the WSADMIN_PROPERTIES
environment variable. This environment variable is defined in the environment where the
wsadmin tool starts.
Co

If one or more of these properties files are present, they are interpreted before any properties file
that is present on the command line. The three levels of properties files load in the order that they
are specified. The properties file that is loaded last overrides the ones that are loaded earlier.
Certain default behaviors for wsadmin can be changed by editing:
<profile_root>\<profile_name>\properties\wsadmin.properties

© Copyright IBM Corp. 2016 8-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
Examples of properties include:
• com.ibm.com.ws.scripting.connectionType=SOAP 
Determines the connector to use. This value can either be SOAP, JSR160RMI, RMI, IPC, or
NONE. The wsadmin.properties file specifies SOAP as the connector.
• com.ibm.com.ws.scripting.port=8880 
Specifies the port to use when attempting a connection. The wsadmin.properties file
specifies 8879 as the SOAP port for a single-server installation.

l
• com.ibm.com.ws.scripting.host=localhost 

ia
Determines the host to use when attempting a connection. If not specified, the default is the
local host.
• com.ibm.com.ws.scripting.defaultLang=jython 

er
Indicates the language to use when running scripts. The wsadmin.properties file specifies
Jacl as the scripting language. The supported scripting languages are Jacl and Jython.
If you change this value to Jython, some WebSphere Application Server scripts that depend on

at
the default language of Jacl fail unless rewritten to call wsadmin with the -lang jacl
command-line option.
• com.ibm.com.ws.scripting.traceFile= 

M
Determines where trace and log output is directed. The wsadmin.properties file specifies the
wsadmin.traceout file that is in the <profile_root>/logs directory of each application
server profile as the value of this property.
• com.ibm.com.ws.scripting.validationOutput= 
ed
Determines where the validation reports are directed. The default file is wsadmin.valout,
which is in the <profile_root>/logs directory of each application server profile.
• com.ibm.com.ws.scripting.traceString=com.ibm.*=all=enabled 
ht

Turns on tracing for the scripting process. The default has tracing turned off.
• com.ibm.com.ws.scripting.profiles= 
Specifies a list of profile scripts to run automatically before running user commands, scripts, or
an interactive shell.
rig

• com.ibm.com.ws.scripting.emitWarningForCustomSecurityPolicy=true 
Controls whether the WASX7207W message is emitted when custom permissions are found.
The possible values are true and false. The default value is true.
• com.ibm.com.ws.scripting.tempdir= 
py

Determines the directory to use for temporary files when installing applications. The Java virtual
machine (JVM) API uses java.io.temp as the default value.
• com.ibm.com.ws.scripting.validationLevel= 
Determines the level of validation to use when configuration changes are made from the
Co

scripting interface. Possible values are: NONE, LOW, MEDIUM, HIGH, and HIGHEST. The
default is HIGHEST.
• com.ibm.com.ws.scripting.crossDocumentValidationEnabled= 
Determines whether the validation mechanism examines other documents when changes are
made to one document. Possible values are true and false. The default value is true.

© Copyright IBM Corp. 2016 8-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
• com.ibm.com.ws.scripting.classpath= 
Searches for classes and resources, and is appended to the list of paths.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Profile scripts
• Profile scripts can be used to preset wsadmin with predefined settings
and functions

l
• Run during wsadmin startup

ia
• A profile script can be called in either of the following ways:
ƒ Using the –profile option on the command line
ƒ Defined in wsadmin.properties com.ibm.ws.scripting.profiles=

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-12. Profile scripts


ht

Profile scripts can be used to preload wsadmin with predefined settings and functions. Profile
scripts are run during wsadmin startup. They can be called in one of two ways:
• Use the -profile option on the command line.
rig

• Use the com.ibm.ws.scripting.profiles= property to define the profile script in


wsadmin.properties.
The profile script runs before other commands, or scripts. If you specify -c, then the profile script
runs before it starts this command. If you specify -f, then the profile script runs before it runs the
py

script. In interactive mode, you can use the profile script to do any standard initialization that you
want.
You can specify multiple -profile options on the command line, and they start in the order that
Co

you supply them.

© Copyright IBM Corp. 2016 8-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
The graphic example identifies a Jython script that is named global_profile.py with the
following syntax:
#-----------------------------------------------
# Print whereAMI
#-----------------------------------------------
def whereAMI():
#Print cell and node names

l
print "Cell: " + AdminConfig.showAttribute(AdminConfig.list("Cell"), "name")

ia
print "Node: " + AdminConfig.showAttribute(AdminConfig.list("Node"), "name")
return
#-----------------------------------------------
# Start of main

er
#-----------------------------------------------
print ""
print "Hello, and welcome to wsadmin using jython"

at
print ""
print "Running global_profile.py Global definitions and settings could be added"
print "here. It would also be possible to extend wsadmin by defining new"
print "customized commands and procedures."

M
print ""
whereAMI()
print ""
ed
The following example output demonstrates that wsadmin started by using the -profile option to
run the global_profile.py script:
C:\Program Files\IBM\WebSphere\AppServer\profiles\profile1\bin\wsadmin -profile
c:\software\wsadmin\global_profile.py
ht

WASX7209I: Connected to process "server1" on node was7host01Node01 using SOAP


connector; The type of process is: UnManagedProcess
Hello, and welcome to wsadmin using jython
Running global_profile.py Global definitions and settings could be added
rig

here. It would also be possible to extend wsadmin by defining new


customized commands and procedures.
Cell: was7host01Node01Cell
Node: was7host01Node01
WASX7031I: For help, enter: "print Help.help()"
py
Co

© Copyright IBM Corp. 2016 8-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

AdminConfig: Managing configurations


• Management configuration scripts use the AdminConfig object to
access the repository where configuration information is stored

l
• Example:

ia
wsadmin> AdminConfig.list ('Server')
'server(cells/was8host01Node01Cell/nodes/washost01Node01/servers/server1|

er
server.xml#Server_1183122130078
wsadmin>

at
• Use the AdminConfig object to:
ƒ List configuration objects and their attributes
ƒ
ƒ
ƒ
Create configuration objects
Modify configuration objects
Remove configuration objects M
ed
ƒ Obtain help
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-13. AdminConfig: Managing configurations


ht

Management configuration scripts use the AdminConfig object to access the repository where
configuration information is stored.
rig

An example of AdminConfig is:


wsadmin>AdminConfig.list ('Server')
You can use the AdminConfig object to:
• List configuration objects and their attributes
py

• Create configuration objects


• Modify configuration objects
• Remove configuration objects
Co

• Obtain help

© Copyright IBM Corp. 2016 8-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

AdminApp: Managing applications


• Application management scripts use the AdminApp object to manage
applications in the application server configuration

l
• Example:

ia
er
at
• Use the AdminApp object to:
ƒ Install and uninstall applications
ƒ List installed applications M
ed
ƒ Edit application configurations
ƒ Obtain help
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-14. AdminApp: Managing applications


ht

Application management scripts use the AdminApp object to manage applications in the application
server configuration.
rig

An example of AdminApp is:


wsadmin>AdminApp.view ('ivtApp')
Running the command produces output specific to the application. In the Jython command, output
is easier to read when using the print option:
py

wsadmin>print AdminApp.view ('ivtApp')


You can use the AdminApp object to:
• Install and uninstall applications
Co

• List installed applications


• Edit application configurations
• Obtain help

© Copyright IBM Corp. 2016 8-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

AdminControl: Managing running objects


• Operation management scripts use the AdminControl object to
communicate with the MBeans that represent running objects

l
• Example:

ia
er
at
• Use the AdminControl object to:

M
ƒ List running objects and their attributes
ƒ Start actions on running objects
ƒ Obtain dynamic information about MBeans that represent running objects
ed
ƒ Obtain help

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-15. AdminControl: Managing running objects


ht

Operation management scripts use the AdminControl object to communicate with the MBeans that
represent running objects.
rig

An example of AdminControl is:


wsadmin>AdminControl.getPort()
You can use the AdminControl object to:
• List running objects and their attributes
py

• Start actions on running objects


• Obtain dynamic information about MBeans that represent running objects
• Obtain help
Co

The number and type of MBeans available to the scripting client depend on the server to which the
client is connected. If the client is connected to a deployment manager, then all the MBeans that
are running in the deployment manager are visible. All the MBeans running in the node agents that
are connected to this deployment manager, and all the MBeans running in the application servers
on those nodes, are visible.

© Copyright IBM Corp. 2016 8-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

AdminTask: Accessing administrative functions


• AdminTask object is used to access a set of administrative commands
to provide an alternative way to access configuration commands

l
• Example:

ia
er
at
• Benefits of using AdminTask:

M
ƒ Provides more usable and task-oriented commands
ƒ Runs simple and complex commands
ƒ Commands grouped based on function
ƒ Can be run in batch or interactive mode
ed
ƒ Can be run in connected or local mode
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-16. AdminTask: Accessing administrative functions


ht

The AdminTask object is used to access a set of administrative commands that provide an
alternative and easier way to access configuration commands. You can use AdminTask commands
to run a single command for administrative actions that might otherwise require multiple
rig

commands.
Some examples of AdminControl are:
wsadmin>AdminTask.binaryAuditReader('-interactive')
wsadmin>AdminTask.listServers()
py

The benefits of using AdminTask include:


• Provides commands that are more task-oriented and easier to use
• Runs simple and complex commands
Co

• Commands are grouped, based on function


• Can be run in batch or interactive mode
• Can be run in connected or local mode
The administrative commands are discovered dynamically when you start a scripting client. The set
of available administrative commands depends on the edition of WebSphere Application Server you
install. You can use the AdminTask object commands to access these commands.

© Copyright IBM Corp. 2016 8-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
Administrative commands are grouped based on their function. You can use administrative
command groups to find related commands. For example, the administrative commands that are
related to server management are grouped into a server management command group. The
administrative commands that are related to the security management are grouped into a security
management command group. An administrative command can be associated with multiple
command groups because it can be useful for multiple areas of system management. Both
administrative commands and administrative command groups have names that uniquely identify
them.

l
ia
Two run modes are always available for each administrative command. These run modes are the
batch and interactive modes. When you use an administrative command in interactive mode, you
go through a series of steps to collect your input interactively. This process provides users a
text-based wizard and a similar user experience to the wizard in the administrative console. You

er
can also use the help command to obtain help for any administrative command and the
AdminTask object.
The administrative commands do not replace any existing configuration commands or running

at
object management commands, but provide a way to access these commands and organize the
inputs. The administrative commands can be available in connected or local mode. The set of
available administrative commands is determined when you start a scripting client in connected or
local mode. If a server is running, do not run the scripting client in local mode because any

M
configuration changes made in local mode are not reflected in the running server configuration, and
the reverse is also true. If you save a conflicting configuration, you can corrupt the configuration.
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Help within wsadmin


Jython
• print Help.help() • print Help.AdminControl()

l
• print Help.AdminConfig() • print Help.AdminApp()

ia
• print Help.AdminTask()

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-17. Help within wsadmin


ht

You can find general help and dynamic online information about the currently running MBeans with
the wsadmin tool. Use the Help object as an aid in writing and running scripts with the
AdminControl object.
rig

Some examples of commands available for the Help object are:


• AdminConfig 
Use the AdminConfig command to view a summary of each available method for the
AdminConfig object.
py

• AdminTask 
Use the AdminTask command to view a summary of help commands and ways to start an
administrative command with the AdminTask object.
• AdminControl 
Co

Use the AdminControl command to view a summary of the help commands and ways to start
an administrative command.
• AdminApp 
Use the AdminApp command to view a summary of each available method for the AdminApp
object.

© Copyright IBM Corp. 2016 8-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
• help 
Use the help command to view a summary of all the available methods for the Help object.
Some Jython examples are:
• print Help.help()
• print Help.AdminConfig()
• print Help.AdminTask()

l
• print Help.AdminControl()

ia
• print Help.AdminApp()
For complete documentation, see the IBM Knowledge Center. The IBM Knowledge Center also

er
includes a number of examples that demonstrate some useful wsadmin features.

at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Administrative command help


• You can select from three levels of online help for administrative
commands

l
ia
• Example of command-level help:

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-18. Administrative command help


ht

You can select from three levels of online help for administrative commands.
• Top-level help: Provides general information for the AdminTask object and associated
rig

commands.
print AdminTask.help()
• Second-level help: Provides information about all of the available administrative commands and
command groups.
py

print AdminTask.help('-commands')
• Third-level help: Provides specific help on a command group, a command, or a step. Command
group-specific help provides descriptions for the command group that you specify and the
commands that belong to the associated group. Command-specific help provides a description
Co

of the specified command, and associated parameters and steps.


Step-specific help provides a description of the specified step and the associated parameters.
For command and step-specific help, required parameters are marked with an asterisk in the
help output.
print AdminTask.help('listServers')

© Copyright IBM Corp. 2016 8-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Important points to remember when using wsadmin


• Commands are case-sensitive
• Running multiple commands in a script file is faster than running

l
individual commands

ia
• Saving configuration changes is a two-step process:
ƒ The first step validates the changes

er
ƒ The second step completes the save
• Save periodically:

at
wsadmin> AdminConfig.save()
''

M
wsadmin>
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-19. Important points to remember when using wsadmin


ht

When using wsadmin, remember the following important points:


• Commands are case-sensitive.
rig

• Running multiple commands in a script file is faster than running individual commands. For
example, wsadmin -f "script_file_name" is faster than individual commands with wsadmin
-c
• Saving configuration changes is a two-step process:
py

▪ The first step validates the changes.


▪ The second step saves the changes.
• Save periodically in the script file or interactive mode to persist configuration updates to existing
Co

objects:
AdminConfig.save()

© Copyright IBM Corp. 2016 8-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Scripting: Simple script

l
ia
er
at
C:\Program Files\IBM\WebSphere\AppServer\profiles\profile1\bin>wsadmin –f
"C:\software\wsadmin\simple_script.py" –username wasadmin –password
********
WASX7209I: Connected to process "server1" on node washost01Node01 using

M
SOAP connector: The type of process is: UnManagedProcess
Simple wsadmin scripting example

Cell name is: washost01Node01Cell


ed
Node name is: washost01Node01

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-20. Scripting: Simple script


ht

The following is an example of a simple script:


print "Simple wsadmin scripting example."
rig

cell = AdminConfig.list("Cell")
node = AdminConfig.list("Node")
cellName = AdminConfig.showAttribute(cell, "name")
nodeName = AdminConfig.showAttribute(node, "name")
print ""
py

print "Cell name is: " + cellName


print "Node name is: " + nodeName
An example of the output from this script is:
WASX7209I: Connected to process "server1" on node was7host01Node01 using SOAP
Co

connector; The type of process is: UnManagedProcess


Simple wsadmin scripting example.
Cell name is: was7host01Node01Cell
Node name is: was7host01Node01

© Copyright IBM Corp. 2016 8-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Scripting: Looping script

l
ia
er
C:\Program Files\IBM\WebSphere\AppServer\profiles\profile1\bin>wsadmin –f
"C:\software\wsadmin\simple_script.py" –username wasadmin –password
********

at
WASX7209I: Connected to process "server1" on node washost01Node01 using
SOAP connector: The type of process is: UnManagedProcess
Simple loop scripting example

app Name: DefaultApplication


app Name: PlantsByWebSphere
app Name: ivtApp
M
ed
app Name: query

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-21. Scripting: Looping script


ht

The following is an example of a looping script:


print "Simple loop script"
rig

print ""
appNames = AdminApp.list()
appNamesArray = appNames.split('\r\n')
for appName in appNamesArray:
print "App Name: " + appName
py

Here is an example of the output from these scripts:


WASX7209I: Connected to process "server1" on node washost01Node01 using SOAP
connector; The type of process is: UnManagedProcess
Simple loop script
Co

App Name: DefaultApplication


App Name: PlantsByWebSphere
App Name: ivtApp
App Name: query

© Copyright IBM Corp. 2016 8-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Jython script library


• Provides a library of
wsadmin Jython scripts for

l
commonly used

ia
administrative functions
• Grouped according to
administrative function

er
• One location for learning
script syntax
• Supports rapid

at
development of new scripts
by combining library scripts
with custom code
• IBM Knowledge Center,
under Reference
ƒ <was_root>/ M
ed
scriptLibraries

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-22. Jython script library


ht

The Jython script library provides a set of procedures to automate the most common application
server administration functions. For example, you can use the script library to easily configure
servers, applications, mail settings, resources, nodes, business-level applications, clusters,
rig

authorization groups, and more. You can run each script procedure individually, or combine several
procedures to quickly develop new scripts.
The Jython script library helps to eliminate the complexities that are associated with scripting:
• Syntax is complex.
py

• Incompatible or incorrect parameters are easy to specify.


• Complexity presents a barrier to learning WebSphere.
• Complexity can result in inconsistent and unstable systems that make problem determination
Co

difficult.
• wsadmin provides a low level of abstraction that results in complex mappings between
operations and problems that users are trying to solve.
Jython script library features include:
• It provides a library of wsadmin Jython scripts for commonly used administrative functions:
▪ Application management

© Copyright IBM Corp. 2016 8-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
▪ Configuration
▪ Runtime operations
• Scripts are grouped according to administrative function. Examples of grouped functions
include:
▪ Utility scripts
▪ JDBC query scripts

l
▪ Cluster administration scripts

ia
▪ Cluster configuration scripts
▪ Server administration scripts

er
▪ Server configuration scripts
• Users can learn script syntax from the script library, rather than by referencing external
documentation.

at
• It supports rapid development of new scripts by combining library scripts with custom code that
the user develops.
The Jython script library is in the <was_root>/scriptLibraries directory. Information about the

M
script library is available in the IBM Knowledge Center under Reference.
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

How to use the Jython script library


• The Jython script library is used in three ways:
ƒ Run scripts in interactive mode with the wsadmin tool

l
wsadmin>AdminServerManagement.createApplicationServer("profile1",

ia
"server1", "default")

ƒ Use a text editor to combine several scripts


# My Custom Jython Script – file.py

er
AdminServerManagementcreateApplicationServer("profile1",
"server1","default")
AdminServerManagementcreateApplicationServer("profile2",
"server2","default")

at
# Use one of them as the first member of a cluster
AdminClusterManagement.createClusterWithFirstMember("cluster1",
"APPLICATION_SERVER", "profile1", "server1")
# Install an application
AdminApplication.installAppWithClusterOption("DefaultApplication",

M
"..\installableApps\DefaultApplication.ear", "cluster1")
# Start all servers and applications on the node
AdminServerManagement.startAllServers("profile1")
ed
ƒ Use the Jython scripting library code as sample syntax to write custom
scripts
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-23. How to use the Jython script library


ht

The scripting library provides a set of procedures to automate the most common application server
administration functions. Each script in the script library demonstrates suggested practices for
writing wsadmin scripts.
rig

The script library code is in the <was_root>/scriptLibraries directory. Within this directory, the
scripts are organized into subdirectories according to function, and further organized according to
version. For example, the <was_root>/scriptLibraries/application/V80 subdirectory
contains procedures that complete application management tasks that are applicable to version 8.0
py

and later of the product.


The Jython script library can be used in three ways:
• Interactively:
Run scripts from the Jython script library in interactive mode with the wsadmin tool. You can
Co

start the wsadmin tool, and run individual scripts that are included in the script library:
wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer",
"default")

© Copyright IBM Corp. 2016 8-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
• Use a text editor to combine scripts.
Use a text editor to combine several scripts from the Jython script library, as the following
example demonstrates:
#
# My Custom Jython Script - file.py
#
AdminServerManagement.createApplicationServer("profile1", "server1", "default")

l
AdminServerManagement.createApplicationServer("profile2", "server2", "default")

ia
# Use one of them as the first member of a cluster
AdminClusterManagement.createClusterWithFirstMember("cluster1",
"APPLICATION_SERVER", "profile1", "server1")
# Install an application

er
AdminApplication.installAppWithClusterOption("DefaultApplication",
"..\installableApps\DefaultApplication.ear", "cluster1")
# Start all servers and applications on the node

at
AdminServerManagement.startAllServers("profile1")
• As sample scripts:
Use the Jython scripting library code as sample syntax to write custom scripts.

M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Configuration repository: The issues


• The repository consists of multiple files in XML and other formats
• The configuration files are spread across many directories

l
ia
• Configuration objects are complex
• Some configuration objects repeatedly stored in multiple files

er
• Example: Properties for a JDBC provider

at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-24. Configuration repository: The issues


ht

In previous releases of WebSphere Application Server, users used wsadmin, the administrative
console, and Java APIs to query and modify configurator objects. Now users who work with the
WebSphere Application Server configuration repository are confronted with several issues:
rig

• The repository consists of multiple files in XML and other formats.


• The configuration files are spread across many directories.
• Some files contain complex objects that are associated with the WebSphere Common
Configuration Model.
py

• Some configuration objects are repeatedly stored in multiple files.


Properties-based file configuration is a tool to help users deal more easily with these issues. A new
set of wsadmin commands is available that can extract and apply properties files to configuration
Co

objects.
The graphic shows JDBCProvider object content from the configuration XML file named
resources.xml.

© Copyright IBM Corp. 2016 8-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Properties file based configuration: A solution


• Properties files are more human readable
• Properties files consist of name and value pairs

l
• Decouples configuration data from changes in the underlying configuration

ia
model between releases
• Can be used with configuration archives
• Differences between configuration environments are easier to identify

er
wsadmin>AdminTask.extractConfigProperties('-propertiesFileName
jdbcprovider.props –configData Server=server1 filterMechanism
SELECTED_SUBTYPES –selectedSubTypes [JDBCProvider]')

at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-25. Properties file based configuration: A solution


ht

Using the PropertiesBasedConfiguration command group for the AdminTask object, you can
extract the configuration attributes and values from your environment to properties files. You can
use this feature for various purposes, including:
rig

• To modify your existing configuration in one location, instead of configuring multiple


administrative console panels or running many commands
• To improve the application development lifecycle
Properties file-based configuration offers the following benefits:
py

• Properties files are more human readable than configuration files, which are in XML or other
formats.
• Properties files consist of a standard name-value pair format.
Co

• The properties file-based configuration decouples configuration data from changes in the
underlying configuration model between releases.
▪ Automating the configuration process is made easier.
▪ The necessity to write complex wsadmin scripts is eliminated.
Many users of WebSphere Application Server try to create their own automated methods for
modifying an application server configuration, often by directly manipulating files in the

© Copyright IBM Corp. 2016 8-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
configuration repository. However, custom solutions are tightly coupled to the underlying file
structure, which can change from release to release.
• Properties file-based configuration can be used with, but is not a replacement for, configuration
archives.
Properties files can be used with configuration archives to replicate a configuration by:
▪ Importing a configuration archive

l
▪ Using properties file configuration to customize the environment

ia
At most, the properties files-based configuration commands extract commonly used
configuration attributes from the configuration repository only. However, a backup that is made
by using configuration archives can contain an exact copy of the configuration, which can be

er
applied to another system to exactly replicate the configuration information.
If you want to replicate the configuration of one system onto another, with some customizations,
you can use configuration archives to gain an exact replica of the configuration. Then, follow

at
with properties file-based configuration to make the required customizations.
• Differences between configuration environments are easier to identify since properties files are
simple text files. It is easy to use standard text editors to compare properties files from different

M
configuration environments to help identify potential configuration problems.
WebSphere Application Server derives configuration information from the configuration repository,
not from configuration properties files. To update the configuration repository to reflect the
information in a configuration properties file, you must use wsadmin commands to apply the
ed
properties files to the configuration.
The graphic depicts the use of the wsadmin extractConfigProperties command to create a
properties file with content based on information that is contained in the configuration XML file.
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Properties file configuration content


• Each object is defined in a separate section:
ƒ Resource type and identifier

l
ƒ Configuration information

ia
• Example: Properties for a JDBC provider
# SubSection 1.0 # JDBCProvider attributes
#

er
ResourceType=JDBCProvider 1 Resource type and identifier
ImplementingResourceType=JDBCProvider
ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!
{serverName}:JDBCProvider=ID#JDBCProvider_1183122153343

at
#
# Properties
#
classpath={$DERBY_JDBC_DRIVER_PATH}/derby.jar}
2 Configuration information

M
name=Derby JDBC Provider
implementationClassName=
org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource
nativepath={}
description=Derby embedded non-XA JDBC Provider
ed
providerType=Derby JDBC Provider #readonly
xa=false #boolean

Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-26. Properties file configuration content


ht

Configuration properties files contain a series of name-value pairs. Each configuration object is
defined in two separate sections:
1. Resource type and identifier
rig

The first section of the example defines a resource type and a resource identifier. The identifier
is often in a format that includes the cell, node, and server names, ending with a string that
contains the resource type and a large number.
In the example, the resource type is JDBC provider.
py

2. Configuration information
Name-value pairs are used to describe the configuration information.
Co

© Copyright IBM Corp. 2016 8-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
The following code is an example of a JDBC provider configuration object:
#
# SubSection 1.0 # JDBCProvider attributes
#
ResourceType=JDBCProvider
ImplementingResourceType=JDBCProvider
ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!{serverName}:JDBCProvider=

l
ID#JDBCProvider_1183122153343

ia
#
#
# Properties
#

er
classpath={$DERBY_JDBC_DRIVER_PATH}/derby.jar}
name=Derby JDBC Provider
implementationClassName=org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource

at
nativepath={}
description=Derby embedded non-XA JDBC Provider
providerType=Derby JDBC Provider #readonly
xa=false #boolean

M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Properties file configuration commands


• extractConfigProperties: Extracts configuration data into a properties file
wsadmin>AdminTask.extractConfigProperties('-propertiesFileName

l
server1.props –configData Server=server1')

ia
• validateConfigProperties: Verifies that the properties in the properties file
are valid
wsadmin>AdminTask.validateConfigProperties('-propertiesFileName

er
server1.props')

• applyConfigProperties: Applies properties in a specific properties file

at
wsadmin>AdminTask.applyConfigProperties('-propertiesFileName
app.props')

• deleteConfigProperties: Deletes objects in your configuration

M
wsadmin>AdminTask.deleteConfigProperties('-propertiesFileName
thread.props')

• createPropertiesFileTemplates: Creates template properties files


ed
wsadmin>AdminTask.createPropertiesFileTemplates('-propertiesFileName
app.props –configType Application')
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-27. Properties file configuration commands


ht

Properties file-based configuration uses the following five commands:


• extractConfigProperties 
rig

The extractConfigProperties command extracts configuration data in the form of a


properties file. The system exports the most commonly used configuration data and attributes,
converts the attributes to properties, and saves the data to a file. You can specify the resource
of interest with the target object or the configData parameter. Use the configData
parameter to specify a server, node, cluster, or application instance. If no configuration object is
py

specified, the command extracts the profile configuration data. An example is:
AdminTask.extractConfigProperties('-propertiesFileNameserver1.
props -configData Server=server1')
One common scenario for using properties files to work with your configuration is to extract a
Co

properties file, which is based on your current environment. Modify the extracted file, and then
apply the updated properties to your configuration. You can use any text editor to modify the
properties file.

© Copyright IBM Corp. 2016 8-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
• validateConfigProperties 
The validateConfigProperties command verifies that the properties in the properties file
are valid and can be successfully applied to the new configuration. Here is an example:
AdminTask.validateConfigProperties('-propertiesFileNameserver1.props')
It is a good practice to validate the properties file before applying it to your configuration. The
following two steps validate a properties file before applying it to the configuration:

l
▪ Use the validateConfigProperties command to validate the properties file.

ia
▪ Use the applyConfigProperties command and the -validate option to apply the
properties and validate the file simultaneously.
• applyConfigProperties 

er
The applyConfigProperties command applies properties in a specific properties file to the
configuration. If specific properties do not exist, the system adds attributes or configuration data
to the configuration. If the properties exist in the configuration, the system sets the new values
for the attributes. An example is:

at
wsadmin>AdminTask.applyConfigProperties('-propertiesFileNameapp.props')
• deleteConfigProperties 

M
The deleteConfigProperties command deletes properties in your configuration as
designated in a properties file. The system removes the attributes or configuration data that
corresponds to each property in the properties file. In the properties file, you must add the flag
DELETE=true to the section that contains the resource identifier for the object that you want to
ed
delete. Then, run the deleteConfigProperties command on your properties file. An example
is:
▪ In the properties file:
#
ht

# SubSection 1.0.1.4 # Thread pools


#
ResourceType=ThreadPool
ImplementingResourceType=Server
rig

ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!
{serverName}:ThreadPoolManager=
ID#ThreadPoolManager_1:ThreadPool-myThreadPool
DELETE=true
#
py

▪ The command to delete the thread pool would be:


wsadmin>AdminTask.deleteConfigProperties
('-propertiesFileNamethread.props')
Co

If you run the deleteConfigProperties command before you add the DELETE=true attribute
and value to the properties file, the command resets each property to the default value. The
system completely removes properties that do not have default values.
• createPropertiesFileTemplates 
Use the createPropertiesFileTemplates command to create template properties files to

© Copyright IBM Corp. 2016 8-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty
use for creating or deleting specific object types. The command stores the template properties
file in the properties file that the propertiesFileName parameter identifies. An example is:
wsadmin>AdminTask.createPropertiesFileTemplates(
'-propertiesFileNameapp.props -configType Application')
There are four different types of properties file templates that you can create with the
createPropertiesFileTemplates command:

l
▪ Server

ia
▪ ServerCluster
▪ Application
▪ AuthorizationGroup

er
The templates are properties files that contain the required parameters to create a configuration
object of a specific type. When you create a template for the application configuration type, you
must provide a resource ID and information about the application that you are deploying. The

at
properties file template contains comments and instructions for how to modify and use the
template.

M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Command assistance
• Works in concert with the
administrative console

l
ƒ Last run commands are

ia
made available to Rational
Application Developer
ƒ Commands can be pasted

er
directly to Jython scripts

at
• Administrative console access
ƒ Under Help, click View administrative

M
scripting command for last action
ƒ The last command that ran is displayed
ƒ Place the cursor over the command to get
command information
ed
ƒ Command can be copied into a Jython script
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-28. Command assistance


ht

Using command assistance, you can see wsadmin scripting commands that correspond to actions
in the administrative console. Seeing these commands might help you develop the commands
necessary to administer WebSphere Application Server from the wsadmin utility. You can view
rig

wsadmin scripting commands in the Jython language for the last action that runs in the
administrative console. Working in concert with the administrative console, administrative
command assistance provides the following capabilities:
• The last commands are made available to Rational Application Developer. When you do server
py

operations in the administrative console, the administrative command assistance tool captures
and displays the wsadmin commands that are issued.
• Commands can be pasted directly to Jython scripts. You can transfer the output from the
administrative command view directly to a text editor, such as the Jython editor, enabling you to
Co

develop Jython scripts that are based on actual console actions.


To access command assistance from the administrative console:
1. Under Help, click View administrative scripting command for last action. The last
command is shown.
2. Place the cursor over the command to get command information.
3. The command can be copied into a Jython script.

© Copyright IBM Corp. 2016 8-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Unit summary
• Use wsadmin to enter administrative commands
• Create Jython scripts to run wsadmin commands

l
• Customize the wsadmin environment with profiles and property files

ia
• Use property file-based configurations to modify an environment
• Configure and use command assist to develop wsadmin scripts

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-29. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 8-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Review questions
1. Which of the following list is not one of the five Java
objects that perform different operations?

l
A. AdminConfig

ia
B. AdminControl
C. AdminTask
D. Help

er
E. AdminStart

at
2. What is the default protocol type for wsadmin?
A. SOAP
B. RMI
C. None

3. The default behaviors for wsadmin can be changed by M


ed
editing which file?
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-30. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py
Co

© Copyright IBM Corp. 2016 8-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Review answers
1. Which of the following list is not one of the five Java
objects that perform different operations?

l
A. AdminConfig

ia
B. AdminControl
C. AdminTask
D. Help

er
E. AdminStart
The answer is E.
2. What is the default protocol type for wsadmin?

at
A. SOAP
B. RMI
C. None
The answer is A.
3. The default behaviors for wsadmin can be changed by
editing which file? M
ed
The answer is: wsadmin.properties
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-31. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 8-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Exercise: Using wsadmin

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 8-32. Exercise: Using wsadmin
ht
rig
py
Co

© Copyright IBM Corp. 2016 8-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 8. Introduction to wsadmin and scripting

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Use wsadmin to run administrative commands interactively and with

l
scripts

ia
• Create a simple administrative script
• Use console command assistance
• Use property file based configuration to modify your settings

er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016

Figure 8-33. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 8-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 9. WebSphere security

Uempty

Unit 9. WebSphere security


Estimated time
01:30

l
ia
Overview
In this unit, you learn basic security concepts and architecture that apply to WebSphere Application

er
Server. You learn how to configure administrative security and application security.

How you will check your progress

at
• Review questions
• Lab exercises

References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Unit objectives
• Explain basic security concepts
• Describe WebSphere Application Server security

l
• Describe enhancements to certificate management

ia
• Configure fine-grained administrative security
• Configure application security

er
• Describe auditing features and functions

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Topics
• WebSphere security basics
• WebSphere user registries

l
• Administrative security

ia
• Application security
• Java 2 security

er
• Security auditing

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.1. WebSphere security basics

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

WebSphere security basics

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-3. WebSphere security basics
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Basic security end-to-end model


Web Domain
Client Firewall Apps Data
servers firewall

l
(internet) (DMZ) (intranet)

ia
The client is the This server is the corporate web The “apps” are

er
customer server the business logic
• The client can be • It provides the universal access to • These applications
either a single user PC the business logic for the company have access to
or a whole company • It allows browser access to the the databases and

at
• The devices are corporate site provide the
specified when • In front of the web server is the company business
necessary router-access device for the site rules

M
This firewall is the router to the internet This data is the corporate data
• An ISP (internet service provider) typically • Ultimately, it is the information that the
provides it company wants to share with the
• However, this model can apply to a customer
corporate intranet • This data can be centralized or distributed
ed
• This router separates the internal network • For this example, the data is accessed
from the outside network through business logic
WebSphere security © Copyright IBM Corporation 2016

Figure 9-4. Basic security end-to-end model


ht

With an e-business application, a general topology must be secured from end to end. This process
involves securing many different parts.
rig
py
Co

© Copyright IBM Corp. 2016 9-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

WebSphere Application Server security overview


• Security can be
WebSphere *HTML,
applied at different *JSP, servlets, EJB
resources

l
levels

ia
WebSphere security

er
Security APIs

File system security

at
OS security

M Network security
ed
Physical security

WebSphere security © Copyright IBM Corporation 2016

Figure 9-5. WebSphere Application Server security overview


ht

Many levels are involved in securing an environment. WebSphere provides only part of the total
security that must be applied.
rig

Physical security refers to the protection of the hardware itself. Is it kept in a safe and secure area?
Who has physical access to it?
Network security can involve setting up firewalls to protect an intranet or a DMZ where the web
servers are going to run.
Operating system security is the security infrastructure of the underlying operating system. It
py

provides certain security services to the WebSphere security application. These services include
the file system security support to secure sensitive files in WebSphere product installation. The
WebSphere system administrator can configure the product to obtain authentication information
directly from the operating system user registry, for example, the NT Security Access Manager
Co

(SAM).
File system security is especially a concern about protecting your configuration files and key ring
files.
Security APIs are as follows:
• JVM: The JVM security model provides a layer of security above the operating system layer.

© Copyright IBM Corp. 2016 9-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
• CORBA security: Any calls that are made among secure ORBs are over a Secure Association
Service (SAS) or CSIv2 layer that sets up the security context and the necessary quality of
protection. After the session is established, the call is passed up to the enterprise bean layer.
This layer is for a distributed platform only.
• Java EE security: The security collaborator enforces Java EE-based security policies and
supports Java EE security APIs.
• WebSphere security: WebSphere security enforces security policies and services in a unified

l
manner on access to web resources and enterprise beans. It consists of WebSphere security

ia
technologies and features to support the needs of a secure enterprise environment.

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

WebSphere security service: Wide view


• Security service runs locally in each process (deployment manager,
node agent, and application server)

l
ƒ Security workload not bottlenecked to a single process

ia
ƒ Security service failure affects only a single process
• Separation of authentication mechanism and user registry
Deployment manager

er
Security
service Node agent
Administrator

at
Node agent Security
service
Security Configuration
service
Application server

M
Application server Security
Application server
Security service
Security service
service
ed
User
registry Configuration
Configuration Configuration
WebSphere security © Copyright IBM Corporation 2016

Figure 9-6. WebSphere security service: Wide view


ht

The security service runs within each of the managed processes so that it does not have a single
point of failure (other than possibly the user registry, but that is a different topic).
rig
py
Co

© Copyright IBM Corp. 2016 9-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Types of security
• Administrative security
ƒ Protects things such as administrative console, wsadmin, scripts

l
• Application security

ia
ƒ Protects access to the applications

• Java 2 security

er
ƒ Protects the
local systems

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-7. Types of security


ht

Within WebSphere, a number of different types of security can be configured. These types of
security are covered in more detail during this lecture. They include:
• Administrative security
rig

• Application security
• Java 2 security
py
Co

© Copyright IBM Corp. 2016 9-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Administrative security
• Protects administrative console, scripts, wsadmin, and others
• Access can be restricted through:

l
ƒ Administrative roles

ia
ƒ Fine-grained access

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-8. Administrative security


ht

Administrative security allows the administrator to restrict access to the administrative interfaces,
including the administrative console, the administrative scripts, and wsadmin.
rig
py
Co

© Copyright IBM Corp. 2016 9-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Application security • Enables security for the applications


in your environment
• Provides application isolation and
requirements for authenticating

l
application users

ia
ƒ Security constraints protect servlets
ƒ Method permissions protect EJB
components

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-9. Application security


ht

Application security allows the administrator to restrict access to the enterprise applications. This
restricted access is done by defining security roles, security constraints, and method permissions.
Then, the security roles are mapped to the users and groups in the environment.
rig
py
Co

© Copyright IBM Corp. 2016 9-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Authentication and authorization: What is the difference?


• The distinction between authentication and authorization is important
ƒ Authentication Æ Who are you?

l
ƒ Authorization Æ When authenticated, what are you allowed to do?

ia
What can
you do?

er
Who are
you?

at
Authorization

Authentication

M
ed
User
registry

WebSphere security
EAR file © Copyright IBM Corporation 2016

Figure 9-10. Authentication and authorization: What is the difference?


ht

Authentication information can be found in a user registry. Authorization information can be found
within the EAR file. The WebSphere security service is responsible for making sure that protected
resources are accessible only by authenticated and correctly authorized users.
rig
py
Co

© Copyright IBM Corp. 2016 9-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Challenge mechanism: Authentication basic steps


Server
Client
Request

l
Challenge

ia
User name and password (credentials)

er
Authentication,
credentials
Authentication: Tell a server who you are

at
• Challenge mechanism (how you are
asked) is used to obtain authentication data:
– Basic authentication

M
User
– Certificate-based registry

– Form-based authentication (preferred)


• Challenge mechanism is defined in the deployment descriptor
ed
• Credentials are validated against user registry
WebSphere security © Copyright IBM Corporation 2016

Figure 9-11. Challenge mechanism: Authentication basic steps


ht

Authentication in its simplest form is rather straightforward.


• A request is made.
rig

• A challenge is returned.
• A user ID and password are sent.
• The server checks a user registry to see whether the information is valid.
py
Co

© Copyright IBM Corp. 2016 9-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Challenge mechanism: Basic authentication


1 Request web page

401 and server

l
2
certificate (if https)

ia
User name = peter Server
Browser 3
Password = pumpkin

er
• Warning: Password is not encrypted, merely encoded
ƒ Make sure that this channel is over HTTPS

at
• Warning: Basic authentication token is sent across in the HTTP
header
ƒ Danger: The server has no way to remove the token during a logout

credentials are still stored in the browser


M
ƒ If you walk away from a public browser, even if you log off, your

ƒ Another person can walk up and be automatically logged in to your site


ed
ƒ To remove the basic authentication token, close the browser or explicitly
tell the browser to delete authentication credentials
WebSphere security © Copyright IBM Corporation 2016

Figure 9-12. Challenge mechanism: Basic authentication


ht

HTTP basic authentication is not a secure authentication mechanism. Basic authentication sends
user names and passwords over the internet as text that is Base64 encoded, and the target server
is not authenticated. This form of authentication can expose user names and passwords. If
rig

someone can intercept the transmission, the user name and password information can easily be
decoded. However, when a secure transport mechanism such as SSL, or security at the network
level such as the IPsec protocol or VPN strategies, is used with basic authentication, some of these
concerns can be alleviated.
py
Co

© Copyright IBM Corp. 2016 9-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Challenge mechanism: Form-based authentication


• Defined within the application
• Suggested approach

l
ia
1 Request for protected resource

2
Redirect to

er
login page Server

3
Form submitted Security_check

at
4
Redirect to source ?

error.jsp

M Error page is
returned
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-13. Challenge mechanism: Form-based authentication


ht

1. A client requests access to a protected resource.


2. If the client is unauthenticated, the server redirects the client to a login page.
rig

3. The client submits the login form to the server.


4. The server attempts to authenticate the user. If authentication succeeds, the authenticated
user’s principal is checked to ensure that it is in a role that is authorized to access the resource.
If the user is authorized, the server redirects the client to the resource that uses the stored URL
path. If authentication fails, the client is forwarded or redirected to an error page.
py
Co

© Copyright IBM Corp. 2016 9-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Defining the challenge type


• Challenge types are set in the EAR deployment descriptors
ƒ The default that Rational Application Developer uses is basic authentication

l
ƒ Form-based is defined by adding a login configuration

ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-14. Defining the challenge type


ht

The challenge type is defined within the EAR. Using Rational Application Developer, it can be
defined within the deployment descriptor. The default type is basic authentication.
rig
py
Co

© Copyright IBM Corp. 2016 9-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.2. WebSphere user registries

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

WebSphere user registries

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-15. WebSphere user registries
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Registries and authentication mechanisms


WebSphere Application Server

File-based registry

l
Authentication calls Federated (default)

ia
Local OS LDAP 1 LDAP 2

er
Authentication calls authentication
layer
Security
server
Local OS registry

at
LTPA
Authentication calls authentication
layer

M
Stand-alone LDAP
Pluggable custom
Authentication calls authentication
layer
ed
Custom registry
WebSphere provided Custom provider
WebSphere security © Copyright IBM Corporation 2016

Figure 9-16. Registries and authentication mechanisms


ht

The user registries that are supported include local operating system, stand-alone LDAP, custom
user registry, and federated registry. The federated registry effectively combines multiple
repositories into a single view. It can support multiple LDAP servers, file-based repository, database
rig

repository, and custom repositories.


py
Co

© Copyright IBM Corp. 2016 9-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Defining user registries


• Use the administrative
console to configure

l
user registries

ia
ƒ Manually (preferred)
ƒ Wizard (considered
too simplistic)

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-17. Defining user registries


ht

Defining which user registry is used and how it is configured can be done through the console,
through a manual interface, or through a wizard. Generally speaking, the wizard is considered too
simplistic to be used for configuring anything but the simplest configurations.
rig
py
Co

© Copyright IBM Corp. 2016 9-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Manual security configuration

l
ia
er
• The steps depend

at
on the specific
environment and
which repository is
being configured
• Much more detailed
than the security M
ed
wizard
WebSphere security © Copyright IBM Corporation 2016

Figure 9-18. Manual security configuration


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security wizard: Step 1


• Not detailed enough to be used for anything but simple environments

l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-19. Security wizard: Step 1


ht

Although the wizard that is used to configure security can set up simple environments, it is typically
used for only the most basic configurations.
rig

This diagram shows step 1 of the security wizard.


py
Co

© Copyright IBM Corp. 2016 9-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security wizard: Step 2

l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-20. Security wizard: Step 2


ht

This diagram shows step 2 of the security wizard. The user repository is being selected.
rig
py
Co

© Copyright IBM Corp. 2016 9-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security wizard: Step 3

l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-21. Security wizard: Step 3


ht

This diagram shows step 3 of the security wizard and specifies the user name and password for the
primary administrative user.
rig
py
Co

© Copyright IBM Corp. 2016 9-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security wizard: Step 4

l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-22. Security wizard: Step 4


ht

This diagram shows the summary of the security wizard.


rig
py
Co

© Copyright IBM Corp. 2016 9-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

User registry support


• WebSphere Application Server supports some user registries

l
ia
Local OS LDAP

NT Domain, NT WorkGroup, Windows IBM Tivoli Directory Server

er
IBM SecureWay Directory Server
AIX
Sun Java System Directory Server
Solaris

at
IBM Lotus Domino
HP-UX
Microsoft Active Directory

M
Linux Novell eDirectory

OS/400 Custom (requires addition configuration)


ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-23. User registry support


ht

Although there are supported LDAP servers, other LDAP servers can also be used by defining the
appropriate schema mappings through the advanced LDAP properties.
rig

Generally, avoid local OS registries, particularly in distributed, non-domain environments.


py
Co

© Copyright IBM Corp. 2016 9-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Federated repositories
Federated File-
• The installation wizard and registry based
profile management tools

l
have a default of enabling

ia
administrative security
LDAP1 LDAP2
ƒ The default repository type is a
file-based federated repository

er
• Federated repositories provide for the
use of multiple repositories with WebSphere Application Server
• Can be:

at
ƒ File-based ƒ Database
ƒ Single LDAP ƒ Multiple LDAPs
ƒ Custom registry ƒ Subtree of an LDAP

M
• Defined and theoretically combined under a single realm
• All of the user repositories that are configured under the federated
ed
repository are invisible to WebSphere Application Server
WebSphere security © Copyright IBM Corporation 2016

Figure 9-24. Federated repositories


ht

This slide covers the federated repositories and what can be used:
• File-based
rig

• Single LDAP
• Custom registry
• Database
• Multiple LDAPs
py

• Subtree of an LDAP
The VMM (Virtual Member Manager) provides federation capabilities.
Co

© Copyright IBM Corp. 2016 9-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Custom registry: Configuration

l
ia
er
Configured from administrative console:
• Security > Global security

at
• Select Standalone custom registry
from Available realm definitions
• Click Configure

M
ƒ User name and password must exist
ƒ Class name must be implemented and in
class path
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-25. Custom registry: Configuration


ht

The custom registry allows custom implementation of user registry.


Some possible implementations include:
rig

• Database
• Flat file
• OS-based, with more custom logic
• Use other, not directly supported, registries
py

WebSphere provides:
• Base types
▪ Implementing classes extend the com.ibm.websphere.security.UserRegistry class
Co

• Working sample implementation: com.ibm.websphere.security.FileRegistrySample

© Copyright IBM Corp. 2016 9-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Authentication mechanism: LTPA


z Allows the identity of a user to be passed around the distributed
network

l
WebSphere Application Server

ia
9. Pass token
1. Request 8. Pass user credentials (token) to over secure
EJS when using methods on EJB association
2. Challenge user

er
for authentication EJB EJB
server server
3. User
authenticates
5. Verify user

at
7. Create 4. Authenticate name and
authToken (authentication data) password in
cookie; serve the
LDAP user
request 6. Issue registry

M
authentication
token

Security service Stored user


information
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-26. Authentication mechanism: LTPA


ht

Regardless of what registry type is used, an LTPA token is generated and then shared with the
client in the form of a cookie. The token, or the information in the token, can be used throughout
WebSphere to pass the user’s identity information around.
rig
py
Co

© Copyright IBM Corp. 2016 9-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

LTPA provides delegation

ID = client ID = X

l
ia
client
server1 server2

er
X can run as:

Option 1. Client

Option 2. Server 1

at
Option 3. Specified identity

• Using an LTPA token supports delegation


M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-27. LTPA provides delegation


ht

A request for work can pass its security context, which contains its credentials. As the call proceeds
through the servers to its final destination, credentials can be changed. The options are to keep the
client’s credentials, switch to the credentials of the server, or some other specified identity.
rig
py
Co

© Copyright IBM Corp. 2016 9-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

LTPA provides single sign-on (SSO)

l
ia
• As soon as clients have a valid LTPA
token, they do not need to
reauthenticate within a cell (until the
LTPA token expires)

er
• SSO is on by default
• Issues cookies to web browser to
track user authentication information

at
• Provides for SSO within or even
between WebSphere cells

M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-28. LTPA provides single sign-on (SSO)


ht

It is also possible to configure multiple cells to share LTPA tokens, thus creating SSO for multiple
cells.
rig
py
Co

© Copyright IBM Corp. 2016 9-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.3. Administrative security

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Administrative security

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-29. Administrative security
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Administrative security
Turning on administrative security enables many features, including:
• Authentication of HTTP and IIOP clients

l
• Administrative console security

ia
• Naming security
• Use of SSL transports
• Role-based authorization checks of servlets, EJB components, and

er
MBeans
• Propagation of identities (RunAs)
• The common user registry

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-30. Administrative security


ht

Administrative security not only protects the administrative tools, but also enables a number of
other security features:
• Authentication of HTTP and IIOP clients
rig

• Administrative console security


• Naming security
• Use of SSL transports
py

• Role-based authorization checks of servlets, EJBs, and MBeans


• Propagation of identities (RunAs)
• The common user registry
Co

Whichever user ID is used to run the application server process has implicit access as a console
administrator user.

© Copyright IBM Corp. 2016 9-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Console security
Defines which roles have access to the administrative tools
• Monitor: Least privileged, allows a user to view the WebSphere

l
configuration and current application server state

ia
• Configurator: Monitor privilege plus the ability to change the WebSphere
configuration
• Operator: Monitor privilege plus the ability to change runtime state, such as

er
starting or stopping servers
• Administrator: Operator, configurator, and iscadmins privilege, plus more
privileges that are granted solely to the administrator role

at
Administrator

Administrative
console
Security
check

M Configurator Monitor Operator


ed
Application
server
C:\> wsadmin
WebSphere security © Copyright IBM Corporation 2016

Figure 9-31. Console security


ht

Additional privileges for the administrator role include:


• Modifying the primary administrative user and password
rig

• Mapping users and groups to the administrator role


• Enabling or disabling administrative and Java 2 security
py
Co

© Copyright IBM Corp. 2016 9-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

More console security roles


• iscadmins (Integrated Solutions Console)
ƒ Available only for administration console users

l
ƒ Allows a user to manage users and groups in the federated repositories

ia
• Deployer
ƒ Allows a user to change configuration and runtime state on applications
that use wsadmin

er
• Admin Security Manager
ƒ Allows a user to map users to administrative roles by using wsadmin
ƒ When restricted access to resource authentication data is in effect, users

at
can also manage authorization groups
• And others

M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-32. More console security roles


ht

There are more console security roles available; these include iscadmins, deployer, and
AdminSecurityManager.
rig
py
Co

© Copyright IBM Corp. 2016 9-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Administrative roles
Edit
Administrator * security

l
ia
Configurator Operator

Deployer

er
Monitor

at
iscadmins

Edit

M
roles

AdminSecurityManager * Auditor *
ed
Edit audit
* = implicitly part of primary administrative user
WebSphere security © Copyright IBM Corporation 2016

Figure 9-33. Administrative roles


ht

This graphic shows a representation of the various administrative security roles that are available,
and how they overlap.
rig
py
Co

© Copyright IBM Corp. 2016 9-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Console security: Creating users and groups


• To set up console security
ƒ Turn on administrative security

l
ƒ Create console users and groups

ia
ƒ Done in active user registry

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-34. Console security: Creating users and groups


ht

This diagram shows the creation of users and groups through the administrative console.
rig
py
Co

© Copyright IBM Corp. 2016 9-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Console security: Mapping users and groups


• To set up console security
ƒ Turn on administrative security

l
ƒ Create console users and groups

ia
ƒ Map users and groups to
administrative roles

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-35. Console security: Mapping users and groups


ht

This diagram shows the mapping of users to specific console security roles. The interface for
mapping administrative groups is virtually the same.
rig
py
Co

© Copyright IBM Corp. 2016 9-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.4. Application security

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Application security

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-36. Application security
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Authorization
Authorization involves granting trusted principals permission to perform
actions on resources (web pages, servlets, JSP pages, and EJB

l
components)

ia
Control access to resources
• Security lookup (by server)
ƒ Determine security privileges for principal

er
ƒ Access information that is stored in registry
• Rule enforcement (by server)
ƒ Obtain rules from registry

at
ƒ Given privileges of
principal and rules,
determine access Decision opY???
Rules

userX, opY

M
ed
userX??
Client Server
WebSphere security © Copyright IBM Corporation 2016

Figure 9-37. Authorization


ht

Java EE security can provide the rules engine through the WebSphere Application Server.
Alternatively, another authorization service (such as Tivoli Access Manager) can be used.
rig
py
Co

© Copyright IBM Corp. 2016 9-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security roles: Application authorization


EAR file
• Use security roles for authorization
ƒ Specify security at an abstract level Web module

l
without knowledge of actual users JSP,
Servlets

ia
and groups HTML

• Security roles are then applied to EJB module

er
the web and EJB application
components
ƒ Web URIs or EJB methods

at
Security
roles
• Binding of the users and groups to
the security roles is generally done

M
Binding
at the application installation time
ƒ Can also be done post-installation
ed
Users and
groups
WebSphere security © Copyright IBM Corporation 2016

Figure 9-38. Security roles: Application authorization


ht

Java EE security is concerned with controlling access to application resources, not system
resources.
rig
py
Co

© Copyright IBM Corp. 2016 9-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Securing Java EE application artifacts: Part 1


EAR file

EJB

l
method
Manager Method

ia
permissions EJB
method
EJB
method

er
Teller
Enterprise
JavaBeans
Security permissions

at
Servlet

Security
Customer constraints JSP

Java EE security
M HTML

Web
ed
roles resources

WebSphere security © Copyright IBM Corporation 2016

Figure 9-39. Securing Java EE application artifacts: Part 1


ht

To control who can do what to an application, several XML objects can be added to the EAR file. It
is worth noting that these XML objects do not affect the application code itself.
rig

The first step is to create security roles. These roles are merely XML objects that the runtime uses
to define which users and groups have access to the application. The second step is to map the
security roles to the application code. These mappings are also just XML objects. These mappings
are called security constraints (for web container objects) and method permissions (for EJBs).
Again, these XML objects do not affect the application code; they are merely part of the deployment
py

descriptors.
Co

© Copyright IBM Corp. 2016 9-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Securing Java EE application artifacts: Part 2


EAR file

EJB

l
Manager method
Method

ia
permissions EJB
Bob method
EJB
Mary Teller method

er
Enterprise
JavaBeans
Alice Security role binding Security permissions

at
Servlet
Security
Customer
constraints JSP

Clients
M
Java EE
security
HTML

Web
ed
Users and
roles resources
groups

WebSphere security © Copyright IBM Corporation 2016

Figure 9-40. Securing Java EE application artifacts: Part 2


ht

During the deployment process (or afterward), the security roles are mapped to the users in groups
in the environment. This mapping means that the runtime is able to understand which users and
groups in its environment must access the various objects in the application code.
rig

In this example, the security role that is called Manager is mapped to various application methods
(perhaps the method that is used to create a customer bank account). The actual user who is called
Bob is mapped to the security role Manager during deployment. Therefore, when a user attempts to
access the method for creating a bank account, the runtime is aware of a constraint on that method.
py

It checks to make sure that the user is mapped to the Manager security role. If not, the user gets an
authorization failure.
Co

© Copyright IBM Corp. 2016 9-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Applying application security


• Application security can be applied to resources within an EAR
ƒ Security roles are defined in the application deployment descriptor

l
ƒ Servlets and JSP pages are protected with security constraints, which are

ia
mapped to the security roles
ƒ EJB components are protected with method permissions, which are
mapped to
the security

er
roles
• The security
roles are

at
then mapped
to actual
users and
groups during
installation
of the
M
ed
application

WebSphere security © Copyright IBM Corporation 2016

Figure 9-41. Applying application security


ht

The security roles are defined within the EAR file. This screen shows the SampAdmin security role
within the PlantsByWebSphere application.
rig
py
Co

© Copyright IBM Corp. 2016 9-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Creating security constraints


• After the security role is created, it can be mapped in a security
constraint to protect web application artifacts

l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-42. Creating security constraints


ht

This screen shows the constraints for the PlantsByWebSphere application, which is mapped to the
SampAdmin security role.
rig
py
Co

© Copyright IBM Corp. 2016 9-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Using the console to map security roles


• The mapping of users and groups to security roles can take place
during or after application installation

l
ƒ After installation, use the administrative console

ia
ƒ Go to the application
ƒ Under Detailed Properties, select Security role to user/group mapping

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-43. Using the console to map security roles


ht

As soon as the application is deployed, the console can be used to map the security roles to the
actual user and groups that exist within that environment. This mapping can be done at deployment
time or any time thereafter through the security role to user and group mapping functions.
rig
py
Co

© Copyright IBM Corp. 2016 9-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.5. Java 2 security

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Java 2 security

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-44. Java 2 security
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Java security model


• Java 1.0 (sandbox model): • Java 1.1 (signed code):
ƒ Downloaded code (untrusted) runs ƒ Extends 1.0 sandbox model

l
in a sandbox ƒ Introduces signed code
(restricted environment) ƒ If the public key that is used to

ia
ƒ Application code (local Java classes) verify the signature is trusted,
has full access to resources digitally signed remote code is
(trusted and no protection) treated like local code

er
Local code Remote code Local code Remote code

at
Trusted signed
code

JVM full access to Sandbox restricted JVM full access to Sandbox restricted

M
resources access resources access
Security manager Security manager
ed
System resources (such as files and System resources (such as files and
network connections) network connections)

WebSphere security © Copyright IBM Corporation 2016

Figure 9-45. Java security model


ht

This slide introduces the concept of the Java sandbox and what it can do. Initially, in Java 1.0, it
was not possible to have something that ran within the sandbox access anything on the local
system. This restriction was designed to protect the local system from the code that ran on it (this
rig

protection is different from application security, which protects the running code from clients who
might attempt to use it). With Java 1.1, it was possible to sign code and trust it as a result. This
feature allowed the administrator to have code that was running access certain parts of the local
system.
py
Co

© Copyright IBM Corp. 2016 9-52


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Java security overview JVM

• Protects the system from the Protection domain


applications
Security manager System

l
• Provides an access control Java
class Access controller resource

ia
mechanism to manage the
application access to system Java security
permissions
level resources

er
ƒ File I/O, network connections
(sockets), property files
ƒ Policy-based Java 2
policy
• Policies define a set of permissions

at
files
available from various signers and
code locations • Java code needs access to certain
ƒ Stored in policy files system resources
• All Java code runs under a security

M
• Java code must get the permission
from Java 2 access control
policy
• Access control looks at the Java 2
ƒ Grants access to certain resources policy files to determine whether
ed
• Can be turned on or off independent the requesting Java code has the
of administrative security appropriate permission
WebSphere security © Copyright IBM Corporation 2016

Figure 9-46. Java security overview


ht

Orthogonal to Java EE role-based security, Java 2 security is about protecting system resources. It
is policy-based (several .policy files control it) and provides fine-grained access control to
system resources, such as:
rig

• File I/O
• Sockets
• Properties
py

To find Java 2 access exceptions, look for the string java.security.AccessControlExceptions


in the SystemOut.log or SystemError.log file.
Co

© Copyright IBM Corp. 2016 9-53


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Enabling Java 2 security

l
ia
• Can be enabled and
disabled independent of

er
administrative and
application security
• Java 2 security provides
a policy-based,

at
fine-grained access
control mechanism that
increases overall system
integrity

M • Java 2 security checks


for permissions before
allowing access to
certain protected system
ed
resources

WebSphere security © Copyright IBM Corporation 2016

Figure 9-47. Enabling Java 2 security


ht

When Java 2 security is enabled in WebSphere, the security manager component by default throws
a java.security.AccessControl exception when a permission violation occurs. This exception,
if not handled, often causes a runtime failure. This exception is also logged in the SystemOut.log
rig

file.
However, when the JVM com.ibm.websphere.java2secman.norethrow property is set and has a
value of true, the security manager does not throw the AccessControl exception: it is only logged.
Note: This property is intended for a sandbox or debug environment only since it instructs the
py

security manager not to throw the AccessControl exception. By not rethrowing the exception, Java
2 security is not truly enforced. Do not use this property in a production environment where a
relaxed Java 2 security environment weakens the very integrity that Java 2 security is intended to
produce.
Co

The JVM parameter that is entered on the command line starts the server, usually in the script
startServer. Enter as: –Dcom.ibm.websphere.java2secman.norethrow=true
Look in the log for the next line to verify that the previous is in place:
SecurityManag W SECJ0381I: Warning, the com.ibm.websphere.java2secman.norethrow
property is true. The WebSphere Java 2 Security Manager is not rethrowing

© Copyright IBM Corp. 2016 9-54


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
AccessControl exceptions. Do not use this debug setting in a production
environment. See the Knowledge Center for Java 2 Security debugging features.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-55


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty
9.6. Security auditing

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-56


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security auditing

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-48. Security auditing
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-57


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Security auditing
• The security auditing subsystem has two primary goals:
ƒ Confirm the effectiveness and integrity of the existing security configuration

l
ƒ Identify areas where improvement to the security configuration might be

ia
needed

• The security auditing subsystem can capture the following types of

er
auditable events:
ƒ Authentication
ƒ Authorization

at
ƒ Principal and credential mapping
ƒ Audit policy management
ƒ User registry and identity management
ƒ
ƒ
Delegation
Administrative configuration management
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-49. Security auditing


ht

Security auditing is a new feature in WebSphere Version 7. Auditing can log various information,
including:
• Authentication
rig

• Authorization
• Principal-credential mapping
• Audit policy management
py

• User registry and identity management


• Delegation
• Administrative configuration management
Co

© Copyright IBM Corp. 2016 9-58


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Enable security auditing


• Configuration is necessary before auditing can be enabled
ƒ Create an audit-specific set of console users or groups and map to Auditor

l
role
ƒ Define notification mechanism (log file, email)

ia
ƒ Enable monitoring
• Enable auditing

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-50. Enable security auditing


ht

Enabling security auditing requires some configuration settings. This diagram shows security
auditing as it is enabled.
rig
py
Co

© Copyright IBM Corp. 2016 9-59


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Viewing audit data


• Audit data can be
viewed as:

l
ƒ Text
ƒ An HTML report

ia
(through wsadmin)

er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-51. Viewing audit data


ht

With security auditing enabled, it is possible to view the security logs as either text files or as HTML
reports (generated through wsadmin).
rig
py
Co

© Copyright IBM Corp. 2016 9-60


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Securing audit records


• Access to audit configurations is restricted
ƒ To change audit settings, Auditor access is required (Administrator access

l
is not sufficient)

ia
• Audit data can be digitally
protected
ƒ Can be digitally signed

er
ƒ Can be encrypted with a
separate audit certificate

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-52. Securing audit records


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-61


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Unit summary
• Explain basic security concepts
• Describe WebSphere Application Server security

l
• Describe enhancements to certificate management

ia
• Configure fine-grained administrative security
• Configure application security

er
• Describe auditing features and functions

at
M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-53. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-62


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Review questions
1. Which type of security restricts access to the application?
A. Administrative security

l
B. Application security

ia
C. Java 2 security
D. File system security
2. Which type of security restricts access to the operating

er
system?
A. Administrative security
B. Application security

at
C. Java 2 security
D. File system security
3. Which type of security restricts access to the console?

M
A. Administrative security
B. Application security
C. Java 2 security
ed
D. File system security

WebSphere security © Copyright IBM Corporation 2016

Figure 9-54. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py
Co

© Copyright IBM Corp. 2016 9-63


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Review answers
1. Which type of security restricts access to the application?
A. Administrative security

l
B. Application security
C. Java 2 security

ia
D. File system security
The answer is B.

er
2. Which type of security restricts access to the operating system?
A. Administrative security
B. Application security
C. Java 2 security

at
D. File system security
The answer is C.

M
3. Which type of security restricts access to the console?
A. Administrative security
B. Application security
C. Java 2 security
ed
D. File system security
The answer is A.
WebSphere security © Copyright IBM Corporation 2016

Figure 9-55. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-64


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Exercises:

l
ia
Configuring WebSphere
Application Server security

er
Configuring application
security

at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 9-56. Exercises: Configuring WebSphere Application Server security, Configuring application security
ht
rig
py
Co

© Copyright IBM Corp. 2016 9-65


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 9. WebSphere security

Uempty

Exercise objectives
After completing Exercise 7, you should be able to:
• Enable WebSphere Application Server security

l
• Configure administrative security by configuring access to

ia
administrative functions
• Configure fine-grained administrative security

er
After completing Exercise 8, you should be able to:
• Define Java EE security roles

at
• Define access for resources in an application
• Enable and verify application security

M
ed
WebSphere security © Copyright IBM Corporation 2016

Figure 9-57. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 9-66


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Unit 10. Performance monitoring


Estimated time
00:45

l
ia
Overview
This unit describes performance monitoring methods and tools that are available through the

er
administrative console.

How you will check your progress

at
• Review questions
• Lab exercises

References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center, Monitoring, and
Tuning Performance:
ed
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Unit objectives
• Describe performance monitoring and tuning methods
• Use the Tivoli Performance Viewer to monitor application server

l
resources

ia
• Use the performance servlet to generate performance data
• Configure the Request Metrics tool to generate performance data
about the end-to-end request flow

er
• Use Performance Advisors to generate suggested tuning actions

at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 10-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Topics
• Performance tuning and monitoring
• Request metrics

l
• Performance advisors

ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-2. Topics


ht
rig
py
Co

© Copyright IBM Corp. 2016 10-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
10.1. Performance tuning and monitoring

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance tuning and

l
monitoring

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 10-3. Performance tuning and monitoring
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

The need for performance monitoring and tuning


• How well a website responds while receiving heavy user traffic is an
essential factor in the overall success of an organization

l
• Poor performance results in:

ia
ƒ Escalated support costs
ƒ Loss of customer confidence

er
ƒ Loss of revenue

• Performance problems can be anywhere in the application server


environment

at
ƒ Monitoring ensures that applications are running as expected and, if not,
determines why and where the problem lies

M
• WebSphere Application Server can function with default settings but:
ƒ Improving throughput, and reducing server response times, requires more
tuning
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-4. The need for performance monitoring and tuning


ht

The goal of performance monitoring is to collect runtime statistics on your application and its
environment to quantify their performance behavior. You can use it to determine whether your
application meets its performance objectives and helps to identify any performance bottlenecks.
rig
py
Co

© Copyright IBM Corp. 2016 10-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tuning performance suggested practices


• Plan for performance
• Take advantage of performance functions (for example, use the

l
dynamic cache service)

ia
• Obtain performance advice from the advisors
• Tune the environment

er
• Troubleshoot performance problems

at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-5. Tuning performance suggested practices


ht

Tuning WebSphere Application Server is a critical part of getting the best performance from your
website. But tuning WebSphere Application Server involves analyzing performance data and
determining the optimal server configuration. This determination requires considerable knowledge
rig

about the various components in the application server and their performance characteristics. The
performance advisors encapsulate this knowledge and analyze the performance data. The advisors
provide configuration recommendations to improve the application server performance. Therefore,
the performance advisors provide a starting point for tuning the application server. Keep in mind the
following suggestions:
py

• Take advantage of performance functions.


• Obtain performance advice from the advisors.
• Tune the environment.
Co

• Troubleshoot performance problems.

© Copyright IBM Corp. 2016 10-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance terminology
• Response time measures an individual user’s average wait for a request
• Response time includes:

l
ƒ Processing time

ia
ƒ Transit time
ƒ Wait time in queues
• Throughput measures activities that are completed in a unit of time

er
ƒ Example: Website pages that are served per second
• Bottleneck defines a choke point in the system such as multiple threads
that are waiting for some task to complete

at
• Bottlenecks result when users are queued waiting for a shared resource
ƒ Processor

M
ƒ Data source connections
ƒ Disk I/O
• Load is user activity against a website
ed
ƒ Users arriving, logging in, sending requests
ƒ Requests per second, pages per hour
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-6. Performance terminology


ht

Some other performance-related terms are path length, scalability, and capacity.
Path length refers to the number of steps that an action takes. Reducing the path length speeds up
rig

a website or application. Path length reduction can be achieved by speeding up the steps and
reducing the number of steps an activity takes.
Scalability defines how easily a site can expand. Sites must expand, sometimes with little warning,
to support increased load. Load can come from many sources: new markets, normal growth, and
extreme peaks in activity.
py

Capacity describes how much load the site can support. Discovering the website capacity is the
result of performance and load testing.
Co

© Copyright IBM Corp. 2016 10-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tuning parameter hot list


• Review hardware and software requirements
• Install the current refresh pack, fix pack, and the interim fixes

l
• Check hardware configuration and settings

ia
• Tune the operating system
• Set the minimum and maximum Java virtual machine (JVM) heap

er
sizes
• Tune WebSphere Application Server data sources and connection
pools

at
• Enable the pass by reference option
• Tune related components, for example, the database


Disable functions that are not required
Review the application design
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-7. Tuning parameter hot list


ht

This hot list contains recommendations that improve performance or scalability, or both, for many
applications.
rig

WebSphere Application Server provides several tunable parameters and options to match the
application server environment to the requirements of your application.
• Review the hardware and software requirements.
For correct functionality and performance, it is critical to satisfy the minimum hardware and
software requirements. See the IBM WebSphere Application Server supported hardware,
py

software, and APIs website, which details hardware and software requirements.
• Install the most current refresh pack, fix pack, and suggested interim fixes.
The list of suggested updates is maintained on the support site.
Co

• Check hardware configuration and settings.


Verify that network interconnections and hardware configuration are set up for peak
performance.
• Tune the operating systems.
Operating system configuration plays a key role in performance. For example, adjustments
such as TCP/IP parameters might be necessary for your application.

© Copyright IBM Corp. 2016 10-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
• Set the minimum and maximum Java virtual machine (JVM) heap sizes.
Many applications need a larger heap size than the default for best performance. It is also
advisable to select an appropriate GC policy that is based on the characteristics of the
application.
• Tune WebSphere Application Server JDBC data sources and associated connection
pools.

l
The JDBC data source configuration might have a significant performance impact. For example,

ia
the connection pool size and prepared statement cache must be sized based on the number of
concurrent requests that are processed and the design of the application.
• Enable the pass by reference option.

er
Use applications that can take advantage of the pass by reference option to avoid the cost of
copying parameters to the stack.
• Ensure that the transaction log is assigned to a fast disk.

at
Some applications generate a high rate of writes to the WebSphere Application Server
transaction log. Locating the transaction log on a fast disk or disk array can improve response
time.

M
• Tune related components, for example, database.
In many cases, some other component, for example a database, needs adjustments to achieve
higher throughput for your entire configuration.
ed
• Disable functions that are not required.
For example, if your application does not use the Web Services Addressing (WS-Addressing)
support, disabling this function can improve performance. Attention: Use this property with
care because applications might require WS-Addressing MAPs to function correctly. Setting this
ht

property also disables WebSphere Application Server support for the following specifications,
which depend on the WS-Addressing support: Web Services Atomic Transactions, Web
Services Business Agreement, and Web Services-Notification. To disable the support for
WS-Addressing, see “Enabling Web Services Addressing support for JAX-RPC applications.”
rig

• Review your application design.


You can track many performance problems back to the application design. Review the design to
determine whether it causes performance problems.
py
Co

© Copyright IBM Corp. 2016 10-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Solving performance problems


• An iterative process:
1. Load test the system

l
2. Monitor and collect performance data

ia
3. Identify bottlenecks 1
4. Tune parameters to eliminate the
most severe bottleneck

er
5. Repeat
2

at
Performance 3
data

M 4
5
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-8. Solving performance problems


ht

Your application and its runtime environment must also be tuned optimally. This process entails
conducting many iterations of a monitor, tune, and test cycle. In short, monitoring, performance
testing, and tuning are essential tasks for ensuring a well-performing, application-serving
rig

environment.
This process is often iterative because when one bottleneck is removed, some other part of the
system now constrains the performance. For example, replacing slow hard disks with faster ones
might shift the bottleneck to the processor of a system.
py
Co

© Copyright IBM Corp. 2016 10-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Measuring performance and collecting data


• Establish a benchmark:
ƒ A benchmark is a standard set of application functions to run

l
ƒ Use the benchmark to test the application under expected loads

ia
ƒ Record throughput and response time under normal load and peak load

• Two types of performance data:

er
ƒ WebSphere Application Server Performance Monitoring Infrastructure (PMI)
provides performance data that you can use to tune application server
performance

at
ƒ With the Request Metrics tool, you can track individual transactions,
recording the processing time in each of the major WebSphere Application
Server components

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-9. Measuring performance and collecting data


ht

Begin by choosing a benchmark, a standard set of operations to run. This benchmark exercises
application functions that are experiencing performance problems. Complex systems frequently
need a warm-up period to cache objects and optimize code paths. System performance during the
rig

warm-up period is much slower than after the warm-up period. The benchmark must be able to
generate work that warms up the system before recording the measurements that are used for
performance analysis. Depending on the system complexity, a warm-up period can range from a
few thousand transactions to longer than 30 minutes.
py

If the performance problem under investigation occurs only when many clients use the system, then
the benchmark must also simulate multiple users. Another key requirement is that the benchmark
must be able to produce repeatable results. If the results vary more than a few percent from one run
to another, consider the possibility that the initial state of the system might not be the same for each
run. It might also be that the measurements are made during the warm-up period, or that the
Co

system is running more workloads.


Several tools facilitate benchmark development. The tools range from tools that merely invoke a
URL to script-based products that can interact with dynamic data that the application generates.
IBM Rational has tools that can generate complex interactions with the system under test and
simulate thousands of users. Producing a useful benchmark requires effort and must be part of the
development process. Do not wait until an application goes into production to determine how to
measure performance.

© Copyright IBM Corp. 2016 10-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
The benchmark records throughput and response time results in a form to allow graphing and other
analysis techniques. The performance data that WebSphere Application Server Performance
Monitoring Infrastructure (PMI) provides helps to monitor and tune the application server
performance. Request metrics are another source of performance data that WebSphere Application
Server provides. Request metrics allow a request to be timed at WebSphere Application Server
component boundaries, enabling a determination of the time that is spent in each major
component.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

WebSphere performance tools (1 of 3)


• WebSphere provides integrated tools to monitor and tune system
and application performance:

l
• Tivoli Performance Viewer

ia
ƒ With Tivoli Performance Viewer, administrators can monitor the overall
health of WebSphere Application Server

er
ƒ Accessed from within the administrative console

• Performance advisors
ƒ Analyze collected performance data and provide configuration

at
recommendations to improve the application server performance
ƒ Output can be viewed in Tivoli Performance Viewer or in administrative
console runtime messages

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-10. WebSphere performance tools (1 of 3)


ht

These tools are explained in greater detail in the subsequent sections.


rig
py
Co

© Copyright IBM Corp. 2016 10-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

WebSphere performance tools (2 of 3)


• Request Metrics (tool)
ƒ With request metrics, you can track individual transactions, recording the

l
processing time in each of the major WebSphere Application Server

ia
components
ƒ Output is viewed in standard logs or by using an Application Response
Measurement (ARM)-based tool

er
• Performance servlet
ƒ Provides simple retrieval of performance data in XML format

at
ƒ Accessed through a browser

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-11. WebSphere performance tools (2 of 3)


ht

These tools are explained in greater detail in the subsequent sections.


rig
py
Co

© Copyright IBM Corp. 2016 10-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

WebSphere performance tools (3 of 3)


Tivoli Performance Viewer
and Advisors

l
ARM agent

ia
er
PMI data Request metrics

at
M
Performance
servlet
WebSphere Application
XML Server
Logs
ed
ARM= Application Response Measurement
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-12. WebSphere performance tools (3 of 3)


ht

WebSphere provides integrated tools to monitor and tune system and application performance:
• Tivoli Performance Viewer
rig

▪ Gives administrators the ability to monitor the overall health of WebSphere Application
Server
▪ Accessed from within the administrative console
• Request metrics (tool)
py

▪ Gives you the ability to track individual transactions, recording the processing time in each
of the major WebSphere Application Server components
▪ Output is viewed in standard logs or by using an Application Response Measurement
Co

(ARM)-based tool
• Performance advisors
▪ Analyze collected performance data and provide configuration recommendations to improve
the application server performance
▪ Output is viewed in Tivoli Performance Viewer or in administrative console runtime
messages

© Copyright IBM Corp. 2016 10-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
• Performance servlet
▪ Provides simple retrieval of performance data in XML format
▪ Accessed through a browser

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

PMI architecture
WebSphere PMI interface Partner and
customer API

l
IBM Tivoli Monitoring for
Web Infrastructure

ia
JMX WebSphere
User-developed client Application
monitoring tools Server

er
JMX API
Third-party monitoring PMI service
tools

at
JMX API
PMI API Deployment
manager
(JMX connector) WebSphere
Web Application

M
client Server

PMI service
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-13. PMI architecture


ht

The Performance Monitoring Infrastructure (PMI) uses a client/server architecture.


The figure shows the overall PMI architecture. On the right side, the server updates and keeps PMI
rig

data in memory. The left side displays a web client, a Java client, and a Java Management
Extensions (JMX) client that retrieves the performance data. This data consists of counters such as
servlet response time and data connection pool usage. The data points are then retrieved by using
a web client, a Java client, or a JMX client. WebSphere Application Server contains Tivoli
Performance Viewer, a Java client that displays and monitors performance data.
py

The server collects performance data from various WebSphere Application Server components. A
client retrieves performance data from one or more servers and processes the data. WebSphere
Application Server supports the Java Platform, Enterprise Edition (Java EE) Management
Reference Implementation (JSR-77).
Co

PMI counters are enabled, based on a monitoring or instrumentation level. The levels are None,
Basic, Extended, All, and Custom. These levels are specified in the PMI module XML file. Enabling
the module at a certain level includes all the counters at that level plus counters from levels below
that level. As a result, enabling the module at the extended level enables all the counters at that
level plus all the Basic level counters.

© Copyright IBM Corp. 2016 10-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
JSR-077 defines a set of statistics for Java EE components as part of the Statistic Provider
interface. The PMI monitoring level of Basic includes all of the JSR-077 specified statistics. PMI is
set to monitor at a Basic level by default.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Types of performance data


• System resources such as processor usage

l
• WebSphere pools and queues, such as a database connection pool

ia
• Customer application data, such as average servlet response time

er
• You can also view data for other products or customer applications that
implement custom PMI by using the Tivoli Performance Viewer

at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-14. Types of performance data


ht

Tivoli Performance Viewer is used to help manage configuration settings by viewing the various
graphs or by using the Tivoli Performance Advisor. For example, by looking at the summary chart
for thread pools, you can determine whether the thread pool size must be increased or decreased
rig

by monitoring the percent usage. After configuration settings are changed based on the data that is
provided, you can determine the effectiveness of the changes. To help with configuration settings,
use the Tivoli Performance Advisor. The Advisor assesses various data while your application is
running, and provides advice about configuration settings to improve performance.
py
Co

© Copyright IBM Corp. 2016 10-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

PMI data collection settings


• None
ƒ All statistics are unavailable

l
• Basic

ia
ƒ Statistics that are specified in Java EE specification, plus top statistics like
processor usage and live HTTP sessions, are enabled
ƒ This set is enabled by default and provides basic performance data about

er
runtime and application components (up to 2% more processor usage)
• Extended
ƒ Basic set, plus key statistics from various WebSphere Application Server

at
components like WLM and dynamic caching, are enabled
ƒ This set provides detailed performance data about various runtime and
application components (up to 3% more processor usage)
• All

• Custom
ƒ Statistics are enabled individually M
ƒ All statistics are enabled (up to 6% more processor usage)
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-15. PMI data collection settings


ht

PMI uses statistics sets to specify the type and amount of performance data to collect.
PMI counters are enabled, based on a monitoring or instrumentation level. The levels are None,
rig

Basic, Extended, All, and Custom. These levels are specified in the PMI module XML file. Enabling
the module at a certain level includes all the counters at that level plus counters from levels below
that level. So, enabling the module at the extended level enables all the counters at that level plus
all the Basic level counters.
py
Co

© Copyright IBM Corp. 2016 10-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Using the administrative console to enable PMI


• Click Servers >
Server Types >
WebSphere Application

l
Servers > server_name

ia
• On the Configuration tab,
under Performance, click
Performance Monitoring

er
Infrastructure (PMI)
• Select the Enable
Performance Monitoring

at
Infrastructure (PMI)
check box
• Select the statistics set

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-16. Using the administrative console to enable PMI


ht

Click Servers > Server Types > WebSphere Application Servers > <server_name>.
On the Configuration tab, under Performance, click Performance Monitoring Infrastructure
(PMI).
rig

Select the Enable Performance Monitoring Infrastructure (PMI) check box.


py
Co

© Copyright IBM Corp. 2016 10-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Start monitoring
• After enabling PMI, select the server and click Start Monitoring on
the Tivoli Performance Viewer page

l
ƒ In the administrative console, select Monitoring and Tuning >

ia
Performance Viewer > Current activity

er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-17. Start monitoring


ht

• Deprecated feature: Tivoli Performance Viewer displays graphics in either the Scalable Vector
Graphics (SVG) format or as a static image in the JPG format. If you do not have the Adobe
SVG browser plug-in, you are prompted to download and install it. If you select not to install the
rig

plug-in (by selecting Cancel), Tivoli Performance Viewer displays the static image.
Installing the Adobe SVG plug-in is advantageous for several reasons. First, the SVG format
provides interactive graphics that provide more information when you hover your mouse over a
point, line, or legend item. You can also use the SVG format to click a point and see details for
py

it. Second, using the SVG format provides a performance benefit because the work to display
the SVG image is done on the client side. When viewing a static image, the application server
must convert the SVG image into a static image, which is a processor-intensive and
memory-intensive operation. If your browser is Internet Explorer 7, the Adobe SVG installation
prompt might be inaccessible. To resolve the problem, you can reinstall Adobe SVG.
Co

• For users who are migrating from version 7: Beginning with version 8, the Tivoli
Performance Viewer graph uses Dojo technology for plotting the performance activity rather
than the Scalable Vector Graphics (SVG) format. The Dojo format provides a better user
experience and is more processor and memory efficient for the application server. The SVG
format is still supported but is deprecated in version 8 of this product. To use the SVG format
and image format, set the JVM property to false; for example:
com.ibm.websphere.tpv.DojoGraph=false

© Copyright IBM Corp. 2016 10-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
If the property is set to false, Dojo is disabled, and Tivoli Performance Viewer uses the SVG
format to display interactive graphics; or it uses the JPG format to display non-interactive
graphics.
When you specify to use the SVG format by setting
com.ibm.websphere.tpv.DojoGraph=false, if you do not have the Adobe SVG browser
plug-in, you are prompted to download and install it. If you select not to install the plug-in (by
selecting Cancel), Tivoli Performance Viewer displays the static image. If your browser is

l
Internet Explorer 7, the Adobe SVG installation prompt might be inaccessible. To resolve the

ia
problem, you can reinstall Adobe SVG. By default, this property is set to a value of true to use
the Dojo format.

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tivoli Performance Viewer (1 of 4)


• Select one or more performance
modules to monitor from the

l
navigation page

ia
• Click View Module(s)
• The performance data is
dynamically displayed in a chart

er
and table
• Note: The disabled modules

at
become active when you enable
the Extended or All PMI statistics
sets

M
JVM runtime
module is
selected
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-18. Tivoli Performance Viewer (1 of 4)


ht

The screen capture on this slide shows the navigation tree in Tivoli Performance Viewer where you
can select which components to monitor. In this case, the JVM Runtime module is selected.
rig
py
Co

© Copyright IBM Corp. 2016 10-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tivoli Performance Viewer (2 of 4)


• Chart view of JVM metrics

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-19. Tivoli Performance Viewer (2 of 4)


ht

Statistics for the selected modules are displayed as a line graph. You can select which metrics you
want to display in the graph, and you can optionally show the legend. In this example, only the heap
size and used memory metrics are displayed for the JVM runtime. The sawtooth pattern of the used
rig

memory graph is typical of a steady state JVM. The periodic reductions in used memory
correspond to JVM garbage collections, which return unused memory to the heap.
py
Co

© Copyright IBM Corp. 2016 10-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tivoli Performance Viewer (3 of 4)


• Chart view controls
ƒ Reset To Zero

l
ƒ Clear Buffer

ia
ƒ View Table
ƒ Show or Hide Legend

er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-20. Tivoli Performance Viewer (3 of 4)


ht

The Reset To Zero button sets a new baseline by using the current counter readings at the instant
the button is clicked. Future data points are plotted on the graph relative to their position at the time
Reset To Zero is clicked. Data points that are gathered before the time Reset To Zero is clicked
rig

are not displayed, although they are still held in the Tivoli Performance Viewer buffer. If Undo
Reset To Zero is clicked again, Tivoli Performance Viewer displays all data that is recorded from
the original baseline, not from the Reset To Zero point.
Click Clear Buffer to remove the PMI data from a table or chart.
py
Co

© Copyright IBM Corp. 2016 10-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tivoli Performance Viewer (4 of 4)


• Table view

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-21. Tivoli Performance Viewer (4 of 4)


ht

Statistics can also be viewed in a table format, by clicking View Table in the Tivoli Performance
Viewer.
rig
py
Co

© Copyright IBM Corp. 2016 10-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Summary reports
• View a statistics report by selecting one of the summary reports
• Servlets

l
ƒ Lists all servlets that are running in the current application server

ia
• EJB components
ƒ Lists all EJB components that are running in the server
ƒ Amount of time that is spent in their methods

er
ƒ Number of EJB invocations
ƒ Total time that is spent in each EJB
• EJB methods

at
ƒ Details about methods
• Connection pool
ƒ Lists all data source connections that

M
are defined in the application server
and show their usage over time
• Thread pool
ƒ Shows the usage of all thread pools
ed
in the application server over time
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-22. Summary reports


ht

The following summary reports help you to analyze various resources in the application server:
• The servlet summary lists all servlets that are running in the current application server. Use the
rig

servlet summary view to quickly find the most time-intensive servlets and the applications that
use them, and to determine which servlets are used most often. You can sort the summary table
by any of the columns.
Tip: Sort by Average Response Time to find the slowest servlet or JSP page. Sort by Total
Requests to find the servlet or JSP that is used the most. Sort by Total Time to find the most
py

costly servlet or JSP.


• The Enterprise JavaBeans (EJB) summary lists the following information: all enterprise beans
that are running in the server, the amount of time that is spent in their methods, the number of
EJB invocations, and the total time that is spent in each enterprise bean.
Co

total_time = number_of_invocations * time_in_methods


Sort the various columns to find the most expensive enterprise bean. Also, if the PMI counters
are enabled for individual EJB methods, you can select a check box next to the EJB name to
see statistics for each of the methods.

© Copyright IBM Corp. 2016 10-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
Tip: Sort by Average Response Time to find the slowest enterprise bean. Sort by Method
Calls to find the enterprise bean that is used the most. Sort by Total Time to find the most
costly enterprise bean.
• The EJB method summary shows statistics for each EJB method. Use the EJB method
summary to find the most costly methods of your enterprise beans.
Tip: Sort by Average Response Time to find the slowest EJB method. Sort by Method Calls to
find the EJB method that is used the most. Sort by Total Time to find the most costly EJB

l
method.

ia
• The connection pool summary lists all data source connections that are defined in the
application server and shows their usage over time.

er
When the application is experiencing normal to heavy usage, the pools that the application uses
must be nearly fully used. Low utilization means that resources are being wasted by
maintaining connections or threads that are never used. Consider the order in which work
progresses through the various pools. If the resources near the end of the pipeline are

at
underused, it might mean that resources near the front are constrained or that more resources
than necessary are allocated near the end of the pipeline.
• The thread pool summary shows the usage of all thread pools in the application server over

M
time.
When the application is experiencing normal to heavy usage, the pools that the application uses
must be nearly fully used. Low utilization means that resources are being wasted by
maintaining connections or threads that are never used. Consider the order in which work
ed
progresses through the various pools. If the resources near the end of the pipeline are
underused, it might mean that resources near the front are constrained or that more resources
than necessary are allocated near the end of the pipeline.
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Example: Servlet Summary Report


• Use the servlet summary to:
ƒ Find the servlets that use the most time and the applications that use them

l
ƒ Determine which servlets are called most often

ia
• You can sort the summary table by any of the columns

er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-23. Example: Servlet Summary Report


ht

In this screen capture, the servlets report is shown with the total requests column sorted. You can
see which two servlets in the PlantsByWebSphere application are used most frequently.
rig
py
Co

© Copyright IBM Corp. 2016 10-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance servlet overview


• Provides performance data output as an XML document, as the
provided document type definition (DTD) describes

l
ƒ The DTD is located inside the PerfServletApp.ear file

ia
• Deployed exactly as any other servlet:
1. Deploy the servlet on a single application server instance within the

er
domain
2. After the servlet deploys, you can start it to retrieve performance data
for the entire domain; start the performance servlet by accessing the

at
following default URL:
http://<hostname>/wasPerfTool/servlet/perfservlet

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-24. Performance servlet overview


ht

The servlet provides a way to use an HTTP request to query the performance metrics for an entire
WebSphere Application Server administrative domain. Because the servlet provides the
performance data through HTTP, issues such as firewalls are trivial to resolve.
rig

The PerfServlet provides the performance data output as an XML document, as described in the
provided document type definition (DTD). In the XML structure, the leaves of the structure provide
the actual observations of performance data and the paths to the leaves that provide the context.
The performance servlet EAR file PerfServletApp.ear is in the WAS_HOME/installableApps
py

directory, where WAS_HOME is the installation path for WebSphere Application Server.
Co

© Copyright IBM Corp. 2016 10-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance servlet output

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-25. Performance servlet output


ht

This screen capture shows sample output that the performance servlet generates, which is
displayed in a browser. The section that is shown here represents a request to the Snoop Servlet.
Tip: The PerfServlet is a sample monitoring tool that uses WebSphere Application Server
rig

administration and monitoring interfaces to extract and display performance data. Using the
PerfServlet is not intended for real-time performance monitoring in production environments or for
use in large topologies. For these environments, you might use the Tivoli Performance Viewer or
IBM Tivoli Composite Application Manager for WebSphere Application Server.
py

Specific tips for the PerfServlet include the following practices:


• PerfServlet resource usage: The PerfServlet is not designed to run concurrently. Being a
single threaded servlet, it would collect the data sequentially from available servers. This single
threaded operation can cause higher response times when the PerfServlet is used in larger
Co

deployments.
• PerfServlet in large deployments: By default, when the PerfServlet is first initialized, it
retrieves the list of nodes and servers within the cell in which it is deployed. Because collecting
this data requires system processing time, the PerfServlet holds this information as a cached
list. To force the servlet to refresh its configuration, you can use the option
"refreshconfig=true". However, using this option is not suggested unless required because

© Copyright IBM Corp. 2016 10-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
this option adds extra resource usage to the PerfServlet processing. Use option, node, and
server, if you are looking for performance data of a specific server.
• PerfServlet response time: How responsive the PerfServlet is depends on the following
factors: number of application servers that exist in the cell and number of resources that are
configured in the cell (including applications).
• PerfServlet alternative: If you are looking for an alternative to using the PerfServlet to capture
data programmatically, see the Perf MBean programming interfaces documentation. The

l
documentation can be found under the Reference > Programming Interfaces > MBean

ia
interfaces section of the WebSphere Application Server documentation in IBM Knowledge
Center.

er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
10.2. Request metrics

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Request metrics

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 10-26. Request metrics
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Request metrics (RM) overview


• This tool is a tracing facility to measure the amount of time a request
spends in each component that is traversed during its execution

l
• Captured information includes:

ia
ƒ Elapsed time in the web server
ƒ Response time of started components in the web and EJB containers
ƒ Response time of related JDBC calls

er
• Writes trace records to SystemOut.log or sends metrics to an
Application Response Measurement (ARM) agent

at
Request
Web correlator Web correlator EJB JDBC call
IP or URL server container container
filter
Entry or exit Entry or exit correlator

Log ARM
RM in plug-in

M RM in application server

Log ARM
DB
ed
Tivoli or third-party monitoring tools
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-27. Request metrics (RM) overview


ht

Request metrics allow you to monitor the transaction flow and analyze the response time of the
components that are involved in processing it. This analysis can help you target performance
problem areas and debug resource constraint problems. For example, it can help determine
rig

whether a transaction spends most of its time in the web server plug-in, the web container, the
Enterprise JavaBeans (EJB) container, or the back-end database. The response time that is
collected for each level includes the time that is spent at that level and the time that is spent in the
lower levels. For example, if the total response time for the servlet is 130 milliseconds, and it
includes 38 milliseconds from the enterprise beans and JDBC calls, then 92 ms can be attributed to
py

the servlet process.


An ARM agent is not included with WebSphere Application Server, but third-party tools can provide
it.
Co

© Copyright IBM Corp. 2016 10-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Enabling request metrics collection


1
Check to enable

l
ia
2
Select components Configure filters

er
5

3
Select trace level

at
Note: An ARM
4 agent is not
included with
Choose output
WebSphere

M
method Application Server,
and third-party
tools supply it
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-28. Enabling request metrics collection


ht

In the administrative console, select Monitoring and Tuning > Request Metrics and select the
check box to Prepare Servers for Request metrics collection.
Trace level specifies how much trace data to accumulate for a particular transaction. Trace level
rig

and Components to be instrumented work together to control whether a request is instrumented


or not. The trace level can be set to one of the following values:
• None: No instrumentation.
• Hops: Generates instrumentation information about process boundaries only. When this setting
py

is selected, you see the data at the application server level, not the level of individual
components such as enterprise beans or servlets.
• Performance_debug: Generates the data at Hops level and the first level of the intra-process
Co

servlet and Enterprise JavaBeans (EJB) call (for example, when an inbound servlet forwards to
a servlet and an inbound EJB calls another EJB). Other intra-process calls like naming and
service integration bus (SIB) are not enabled at this level.
• Debug: Provides detailed instrumentation data, including response times for all intra-process
calls. Note: Requests to servlet filters are instrumented only at this level.
• Standard logs: Enables the request metrics logging feature. Select this check box to trigger the
generation of request metrics logs in the SystemOut.log file. Note: Since enabling the request

© Copyright IBM Corp. 2016 10-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
metrics logging feature increases processor usage, it is suggested that you use this feature
together with filters so that only selected requests are instrumented.
• Application Response Measurement (ARM) agent: Allows request metrics to call an
underlying Application Response Measurement (ARM) agent. Before enabling ARM, you must
install an ARM agent and configure it to the appropriate class path and path, following the
instructions of the ARM provider.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Isolating performance for specific types of requests


• Click Monitoring and Tuning > Request Metrics > Filters
• Select a filter type (for example, SOURCE_IP)

l
• Assign filter values

ia
er
at
1

Check to

M
enable
Click to
assign value
ed
2

Performance monitoring © Copyright IBM Corporation 2016

Figure 10-29. Isolating performance for specific types of requests


ht

The request metrics filters are enabled according to your configuration. For example, if you enabled
source IP, only requests whose source IP matches the one specified in the filter are instrumented.
rig

Note: Filters are checked only for edge transactions. An edge transaction is the transaction that first
enters an instrumented system. For example, if a servlet calls an Enterprise JavaBeans
component, the servlet is the edge transaction. The servlet must not be instrumented at the web
server plug-in, and the URI and SOURCE_IP filters must be checked for the servlet request.
However, when the request comes to the EJB container, the EJB filter is not checked because it is
py

no longer an edge transaction.


You must regenerate the web server plug-in configuration file after modifying the request metrics
configuration.
Co

© Copyright IBM Corp. 2016 10-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Example request metrics data


• Request metrics data from a SystemOut.log file

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-30. Example request metrics data


ht

The example of request metrics data that is shown on this slide details the use of the prepared
statement cache to make an SQL call. You can trace the steps that are involved and timings for this
database transaction.
rig
py
Co

© Copyright IBM Corp. 2016 10-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
10.3. Performance advisors

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance advisors

l
ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 10-31. Performance advisors
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance advisors overview


• WebSphere provides two separate advisors:
ƒ Performance and Diagnostic Advisor – disabled by default

l
ƒ Tivoli Performance Viewer Advisor

ia
• Both provide configuration advice that is based on collected PMI data
on a per server basis
ƒ Advisors do not compare counters among different application servers

er
• Provides advice that is based on basic rules for tuning WebSphere
Application Server

at
ƒ Rules are IBM-defined and not configurable
• Advisors do not automatically tune WebSphere based on advice
ƒ Administrator must manually apply recommendations

M
ƒ Suggested settings must be checked against baseline performance to verify
improvement: tune, test, monitor
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-32. Performance advisors overview


ht

The advisors provide advice on the following application server resources: thread pools, persisted
session sizes, cache sizes, and JVM heap size.
rig

For example, consider the data source statement cache. It optimizes the processing of prepared
statements and callable statements by caching those statements that are not used in an active
connection. (Both statements are SQL statements that essentially run repeatable tasks without the
costs of repeated compilation.) If the cache is full, an old entry in the cache is discarded to make
room for the new one. The best performance is generally obtained when the cache is large enough
py

to hold all of the statements that are used in the application. The PMI counter, prepared statement
cache discards, indicates the number of statements that are discarded from the cache.
The performance advisors check this counter and provide recommendations to minimize the cache
discards. Another example is thread or connection pooling. The idea behind pooling is to use an
Co

existing thread or connection from the pool instead of creating an instance for each request.
Because each thread or connection in the pool consumes memory and increases the
context-switching cost, the pool size is an important configuration parameter. A pool that is too
large can hurt performance as much as a pool that is too small. The performance advisors use PMI
information about current pool usage, minimum or maximum pool size, and the application server
processor utilization to suggest efficient values for the pool sizes.

© Copyright IBM Corp. 2016 10-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
The advisors can also issue diagnostic advice to help in problem determination and health
monitoring. For example, if your application requires more memory than is available, the diagnostic
adviser tells you to increase the size of the heap for the application server.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance and Diagnostic Advisor (1 of 5)


• Performance advice:
ƒ Object Request Broker (ORB) service thread pools

l
ƒ Web container thread pools

ia
ƒ Connection pool size
ƒ Persisted session size and time
ƒ Prepared statement cache size

er
ƒ Session cache size
ƒ Memory leak detection

at
• Diagnostic advice:
ƒ Connection factory
diagnostic messages

M
ƒ Data source diagnostic messages
• Connection usage diagnostic messages
ƒ Detection of connection use by multiple threads
ed
ƒ Detection of connection use across components
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-33. Performance and Diagnostic Advisor (1 of 5)


ht

The Performance and Diagnostic Advisor runs in the Java virtual machine (JVM) process of the
application server; therefore, the performance cost is minimal.
To access the Performance and Diagnostic Advisor Configuration, click Servers > Server Types >
rig

WebSphere application servers > server_name > Performance and Diagnostic Advisor
Configuration.
py
Co

© Copyright IBM Corp. 2016 10-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance and Diagnostic Advisor (2 of 5)


• Click Servers > Server Types > WebSphere application servers >
server_name > Performance and Diagnostic Advisor

l
ia
er
at
• Run the Performance and Diagnostic Advisor
in the production simulation and test
environment

M
• Performance advice is most applicable
during peak load, when the processor usage
is high
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-34. Performance and Diagnostic Advisor (2 of 5)


ht

The Performance and Diagnostic Advisor analyzes PMI data and receives notifications about
performance and diagnostic information from components. Use this page to specify settings for the
Performance and Diagnostic Advisor. Performance issues can be related to memory leaks in the
rig

system. Use the Memory Dump Diagnostic for Java tool, which is a separate memory leak analysis
utility, for detecting memory leaks.
The Performance and Diagnostic Advisor Framework is disabled by default. Each time that you
enable it for an application server, you see the warning message:
py

Run the Performance and Diagnostic Advisor in the Production Simulation and Test
environment. Performance advice is most applicable during peak load, when the processor
utilization is high.
Co

© Copyright IBM Corp. 2016 10-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance and Diagnostic Advisor (3 of 5)


• Advisor configuration pane (on both configuration and runtime tabs)
• Select advice and click Start or Stop

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-35. Performance and Diagnostic Advisor (3 of 5)


ht

Advice type categorizes the primary intent of a piece of Advice.


Use Advice type for grouping, and then enable or disable sets of advice that is based on your
rig

performance goal. Advice has the following types:


• Performance: Performance advice provides tuning recommendations, or identifies problems
with your configuration from a performance perspective.
• Diagnostic: Diagnostic advice provides automated logic and analysis that relates to problem
identification and analysis. These types of advice are issued when the application server
py

encounters unexpected circumstances.


Performance impact generalizes the negative effect on performance that an alert might incur.
The performance impact of a particular piece of advice is highly dependent upon the scenario that
Co

is run and upon the conditions that are met. The performance categorization of alerts is based on
worst case scenario measurements. The performance categorizations are:
• Low: Advice has minimal negative effect on performance. Advice might be run in test and
production environments. Cumulative negative effect on performance is within run-to-run
variance when all advice of this type is enabled.

© Copyright IBM Corp. 2016 10-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
• Medium: Advice has measurable but low negative effect on performance. Advice might be run
within test environments, and might be run within production environments if deemed
necessary. Cumulative negative effect on performance is less than 4% when all advice of this
type is enabled.
• High: Advice impact is high or unknown. Advice might be run during problem determination
tests and functional tests. It is not run in production simulation or production environments
unless deemed necessary. Cumulative negative effect on performance might be significant

l
when all advice of this type is enabled.

ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance and Diagnostic Advisor (4 of 5)


• Tuning advice can be viewed in Runtime Events
• Click any TUNE message link for details

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-36. Performance and Diagnostic Advisor (4 of 5)


ht

Tuning advice is provided as messages written to the runtime events. The TUNExxxx messages
are typically at the Warning level.
rig

Examples include:
• TUNE0201W: The rate of discards from the prepared statement cache is high. Increase the size of
the prepared statement cache for the data source.
• TUNE0207W: Utilization of the connection pool is high. Performance might be improved by
increasing the maxPoolSize for data source {DS_name}. Try setting the minimum size to
py

{value}, and the maximum size to {value}.


• TUNE0220W: The Java virtual machine is spending a considerable amount of time in garbage
collection. Consider increasing the heap size.
Co

A complete list is available in the WebSphere Application Server V9 documentation in IBM


Knowledge Center under Reference > Messages > TUNE.

© Copyright IBM Corp. 2016 10-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance and Diagnostic Advisor (5 of 5)

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-37. Performance and Diagnostic Advisor (5 of 5)


ht

The message is:


TUNE9001W: Heap utilization patterns indicate that you might have a memory leak.
rig

Additional explanatory data follows. Data values for free memory between 8/9/11
11:44 AM and 8/9/11 11:46 AM were consistently less than the minimum required
percentage.
Explanation: Over time the amount of free memory seems to be decreasing or there is consistently
insufficient free memory in the heap, indicating that you might have a memory leak.
py

User action: Use tools to further analyze your memory usage over time. For more information about
diagnosing out-of-memory errors and Java heap memory leaks, see the IBM Knowledge Center.
Co

© Copyright IBM Corp. 2016 10-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Tivoli Performance Viewer advisor


• Performance advice:
ƒ ORB service thread pools

l
ƒ Web container thread pools

ia
ƒ Connection pool size
ƒ Persisted session size and time
ƒ Prepared statement cache size

er
ƒ Session cache size
ƒ Dynamic cache size
ƒ Java virtual machine (JVM) heap size

at
ƒ DB2 Performance Configuration wizard

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-38. Tivoli Performance Viewer advisor


ht

The performance advisor in Tivoli Performance Viewer provides advice on using collected
Performance Monitoring Infrastructure (PMI) data to help tune systems for optimal performance
and provide recommendations on inefficient settings. Obtain the advice by selecting the
rig

performance advisor in Tivoli Performance Viewer.


In a Network Deployment environment, the performance advisor in Tivoli Performance Viewer runs
within the JVM of the node agent and can provide advice on resources that are more expensive to
monitor and analyze. In a stand-alone application server environment, the performance advisor in
py

Tivoli Performance Viewer runs within the application server JVM. The Tivoli Performance Viewer
advisor requires that you enable performance modules, counters, or both.
Co

© Copyright IBM Corp. 2016 10-52


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Examples of performance advice


• Data sources
ƒ Situation: The prepared statement discard rate is too high, and heap space

l
is available

ia
ƒ Advice provided: Increase statement cache size
• Thread pools (ORB, web container, data source)
ƒ Situation: The number of connections is low (at the minimum)

er
ƒ Advice provided: Decrease pool size
ƒ Situation: All data source connections are heavily used, and heap space is
available

at
ƒ Advice provided: Increase maximum pool size
ƒ Situation: The size of the pool is fluctuating a lot (high variance), possibly
indicating batch processing, and wasted resources
ƒ Advice provided: Decrease pool size
• JVM heap size
M
ƒ Situation: Heap size is too small (less than 256 MB)
ƒ Advice provided: Increase the heap size to a value greater than 256 MB
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-39. Examples of performance advice


ht

More examples of advice that the performance advisors would give in certain situations include:
• Unbounded thread pools
rig

▪ Situation: Threads added to an unbounded pool are not pooled.


▪ Advice: If the average number of threads is higher than the pool size, then the pool must be
increased to allow better pooling.
• Sessions
py

▪ Situation: Read/write time or size is too large.


▪ Advice: Warn of application problem.
▪ Situation: The number of live sessions is greater than the session cache, and memory is
Co

available.
▪ Advice: Increase session cache.
▪ Situation: Requests are turned down because there is no room for new sessions.
▪ Advice: Either too many active sessions are present, or the cache size is too small.
• DB2 Performance Configuration wizard

© Copyright IBM Corp. 2016 10-53


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
▪ Situation: A DB2 database is detected in the configuration.
▪ Advice: Use the DB2 Performance wizard to tune the indicated database.

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-54


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Viewing performance advice


• In Tivoli Performance Viewer, click
the Advisor link

l
• From the list of messages, click a 1

ia
link to see more detail
ƒ Messages can be sorted by severity

er
2

at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-40. Viewing performance advice


ht

To view advice messages in Tivoli Performance Viewer, click the Advisor link.
From the list of messages, click a link to see more detail.
rig
py
Co

© Copyright IBM Corp. 2016 10-55


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance advice detail

l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-41. Performance advice detail


ht

In this example, the message suggests enabling servlet caching for better performance. Servlet
caching is a web container setting that is disabled by default. The User Action section in the advice
details provides instructions for enabling servlet caching.
rig
py
Co

© Copyright IBM Corp. 2016 10-56


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Performance advisor suggested practices


• Use only during stable production load tests
ƒ Application must remain stable during production tests

l
ƒ Any exceptions and deadlock issues must be resolved before running

ia
ƒ The test load must be consistent
ƒ Varied load might lead to contradictory advice

er
• Enable after production load tests reach peak load levels
ƒ Exclude ramp-up and ramp-down times from monitoring
ƒ Increasing or decreasing loads might lead to contradictory advice

at
ƒ Certain types of advice are only generated when processor is being
stressed (processor use > 50%)

M
• Important: tune your application before you tune WebSphere
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-42. Performance advisor suggested practices


ht

When using the performance advisors, processor utilization must rise above 50% before advice is
generated. Typically when running your production level load, you push the processor usage to
80–100% before turning on one of the performance advisors.
rig

Consider the following when using a performance advisor for tuning:


If the load changes on the system under test, contradictory advice is generated. This behavior is
because the collected PMI data shows a different type of environment, causing the advice to shift.
To avoid this situation, always run the advisors while simulating the load WebSphere experiences
py

during deployment (peak load).


If the pool size minimum and maximum values are the same, the performance advisor rules are
much more likely to give contradictory advice when load fluctuates.
Co

The amount of processor usage determines the amount of system activity. The advisors do not
consider disk activity, network activity, memory usage, or other factors to get a more realistic view
of system load.
Recommendations are generated only when processor load reaches 50% and higher.
Performance advisors from different application servers might give contradictory advice on the
same node resources. This behavior is because the application servers take into account only how
they are individually employing the resource. In this situation, if the advice from the different

© Copyright IBM Corp. 2016 10-57


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty
advisors varies greatly, consider the generated advice and decide what changes to make.
However, if all advisors are giving the same recommendations, then you must seriously consider
the suggested changes.
If the performance advisor suggests setting a pool size to X, you must set the minimum value to X/2
and the maximum value to X.
If the performance advisor suggests setting the prepared statement cache value to a certain
setting, check the amount of memory that is available before setting. The advisors do not consider

l
the amount of actual physical memory available on the system.

ia
er
at
M
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-58


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Unit summary
• Describe performance monitoring and tuning methods
• Use the Tivoli Performance Viewer to monitor application server

l
resources

ia
• Use the performance servlet to generate performance data
• Configure the Request Metrics tool to generate performance data
about the end-to-end request flow

er
• Use Performance Advisors to generate suggested tuning actions

at
M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-43. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 10-59


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Review questions
1. What are the two performance data collection technologies
in WebSphere?

l
ia
2. Which WebSphere performance tool do you use to monitor
overall system health?

er
3. True or False: The Performance Monitoring Infrastructure is
enabled by default.

at
4. True or False: The Tivoli Performance Viewer Advisor tool
generates tuning advice and automatically applies it to the
environment.

M
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-44. Review questions


ht

Write your answers here:


1. 
rig

2. 

3. 
py

4.
Co

© Copyright IBM Corp. 2016 10-60


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Review answers
1. What are the two performance data collection technologies
in WebSphere?

l
The answer is: The Performance Monitoring Infrastructure
(PMI) and request metrics provide the data collection mechanisms

ia
in WebSphere.
2. Which WebSphere performance tool do you use to monitor overall

er
system health?
The answer is: The Tivoli Performance Viewer monitors overall
system health.

at
3. True or False: The Performance Monitoring Infrastructure is enabled
by default.
The answer is True.

M
4. True or False: The Tivoli Performance Viewer Advisor tool generates
tuning advice and automatically applies it to the environment.
The answer is False. The performance advisor tools do not
ed
automatically tune the environment. You must tune manually and
test the effect of the changes.
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-45. Review answers


ht
rig
py
Co

© Copyright IBM Corp. 2016 10-61


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Exercise: Using the

l
performance monitoring tools

ia
er
at
M
ed
© Copyright IBM Corporation 2016
Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Figure 10-46. Exercise: Using the performance monitoring tools
ht
rig
py
Co

© Copyright IBM Corp. 2016 10-62


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 10. Performance monitoring

Uempty

Exercise objectives
After completing this exercise, you should be able to:
• Enable various levels of Performance Monitoring Infrastructure (PMI)

l
statistics for an application server

ia
• Monitor an application server by using Tivoli Performance Viewer
• Configure user settings for Tivoli Performance Viewer
• Examine summary reports and performance modules in Tivoli

er
Performance Viewer
• View performance messages from the Tivoli Performance Viewer
Advisor

at
• Enable and configure the Request Metrics tool
• View Request Metrics messages in the standard logs of an application

M
server
ed
Performance monitoring © Copyright IBM Corporation 2016

Figure 10-47. Exercise objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 10-63


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Unit 11. Course summary

Uempty

Unit 11. Course summary


Estimated time
00:05

l
ia
Overview
This unit summarizes the course and provides information for future study.

er
How you will check your progress
It is not necessary to check your progress on the summary.

at
References

M
WebSphere Application Server V9 documentation in IBM Knowledge Center, Monitoring, and
Tuning Performance:
http://www.ibm.com/support/knowledgecenter/en/SSEQTP_9.0.0/as_ditamaps/was900_welcome_
base.html
ed
ht
rig
py
Co

© Copyright IBM Corp. 2016 11-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

Unit objectives
• Explain how the course met its learning objectives
• Access the IBM Training website

l
• Identify other IBM Training courses that are related to this topic

ia
• Locate appropriate resources for further study

er
at
M
ed
Course summary © Copyright IBM Corporation 2016

Figure 11-1. Unit objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

Course objectives
• Relate WebSphere Application Server to the WebSphere family of
products

l
• Describe the features and standards in WebSphere Application Server

ia
V9
• Describe the use of WebSphere Application Server in cloud, hybrid
cloud, and on-premises environments

er
• Describe the architectural concepts that are related to WebSphere
Application Server
• Assemble and install server-side Java enterprise applications

at
• Use WebSphere administrative tools to configure and manage
enterprise applications
• Use wsadmin scripting



Configure WebSphere Application Server security

M
View performance information about server and application components
Troubleshoot problems by using problem determination tools and log
ed
files
Course summary © Copyright IBM Corporation 2016

Figure 11-2. Course objectives


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

To learn more on the subject


• IBM Training website:
ƒ www.ibm.com/training

l
• IBM Redbooks:

ia
ƒ www.redbooks.ibm.com

• IBM Knowledge Center for IBM WebSphere Application Server

er
traditional V9:
ƒ https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.0/as_ditamaps/
was900_welcome_base.html

at
• IBM support:
ƒ http://www.ibm.com/support/en-us/?lnk=hmmsu

• Product information:
ƒ http://www.ibm.com/software/products/en/appserv-was
M
ed
ƒ https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_
ca/4/877/ENUSZP16-0344/index.html&lang=en&request_locale=en
Course summary © Copyright IBM Corporation 2016

Figure 11-3. To learn more on the subject


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

Enhance your learning with IBM resources


Keep your IBM Cloud skills up-to-date

l
ia
• IBM offers resources for:

er
ƒ Product information
ƒ Training and certification
ƒ Documentation
ƒ Support

at
ƒ Technical information

M
• To learn more, see the IBM Cloud Education Resource Guide:
ed
ƒ www.ibm.biz/CloudEduResources

Course summary © Copyright IBM Corporation 2016

Figure 11-4. Enhance your learning with IBM resources


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

Unit summary
• Explain how the course met its learning objectives
• Access the IBM Training website

l
• Identify other IBM Training courses that are related to this topic

ia
• Locate appropriate resources for further study

er
at
M
ed
Course summary © Copyright IBM Corporation 2016

Figure 11-5. Unit summary


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Unit 11. Course summary

Uempty

Course completion
You have completed this course:
WebSphere Application Server V9 Administration

l
ia
Any questions?

er
at
M
ed
Course summary © Copyright IBM Corporation 2016

Figure 11-6. Course completion


ht
rig
py
Co

© Copyright IBM Corp. 2016 11-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Appendix A. List of abbreviations

AP

Appendix A. List of abbreviations


A
ARM Application Response Measurement

l
APAR authorized program analysis report

ia
API application programming interface

er
BSF Bean Scripting Framework

at
CaaS capabilities as a service
CSIv2 Common Secure Interoperability Protocol Version 2
CORBA Common Object Request Broker Architecture

D
DB database
DD deployment descriptor M
ed
DMZ demilitarized zone
DTD document type definition

E
ht

EAR enterprise archive


EE Enterprise Edition
EJB Enterprise JavaBean
rig

EJS Enterprise Java Services

F
py

G
GB gigabyte
GC garbage collection
Co

GCMV Garbage Collection and Memory Visualizer


GIF Graphics Interchange Format
GUI graphical user interface

H
HA high availability
HPEL High Performance Extensible Logging

© Copyright IBM Corp. 2016 A-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix A. List of abbreviations

AP
HTML Hypertext Markup Language
HTTP Hypertext Transfer Protocol
HTTPS HTTP over SSL

I
IaaS infrastructure as a service
IBM International Business Machines Corporation

l
IDE integration development environment

ia
IIOP Internet Inter-ORB Protocol
I/O input/output

er
IP Internet Protocol
IPsec IP Security
ISC Integrated Solutions Console

at
ISP internet service provider
IT information technology

J
J2C Java EE Connector Architecture
JAAS Java Authentication and Authorization Service
JACC Java Authorization Contract for Containers M
ed
JAF JavaBeans Activation Framework
JAR Java archive
Java EE Java Platform, Enterprise Edition
ht

JAXB Java Architecture for XML Binding


JAXP Java API for XML Processing
JAXR Java API for XML Registries
rig

JAX-RPC Java API for XML Remote Procedure Calls


JAX-RS Java API for XML-based Remote Procedure Calls
JAX-WS Java API for XML Web Services
JCA Java EE Connector Architecture
py

JCE Java Cryptology Extension


JDBC Java Database Connectivity
JDK Java Development Kit
JIT just-in-time
Co

JMS Java Message Service


JMX Java Management Extensions
JNDI Java Naming and Directory Interface
JPA Java Persistence API
JPG graphics file type or extension (lossy compressed 24-bit color image storage format developed by the
Joint Photographic Experts Group)

© Copyright IBM Corp. 2016 A-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix A. List of abbreviations

AP
JSF JavaServer Faces
JSP JavaServer Pages
JSR Java Specification Request
JSTL JavaScript Tag Library
JTA Java Transaction API
JVM Java virtual machine

l
K

ia
KVM kernel-based virtual machine

er
LDAP Lightweight Directory Access Protocol
LTPA Lightweight Third Party Authentication

at
M
MAP message addressing property
MB megabyte
MBean Managed Bean (Managed Java object)
MQ Message Queue

M
ed
N
ND network deployment (IBM Liberty WebSphere Application Server Network Deployment)
NT new technology
ht

O
OOM out-of-memory
ORB Object Request Broker
rig

OS operating system
OSGi Open Service Gateway initiative (originally)

P
py

PaaS platform as a service


PBW Plants By WebSphere
PDF Portable Document Format
PFBC properties file-based configuration
Co

PHD portable heap dump


PID process identifier
PME programming model extensions
PMI Performance Monitoring Infrastructure
PMR problem management record
PMRM Privacy Management Reference Model and Methodology

© Copyright IBM Corp. 2016 A-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix A. List of abbreviations

AP
PMT Program Management Tool
POJO plain old Java object

Q
R
RAR resource archive

l
RC return code

ia
RM request metrics
RMI Remote Method Invocation

er
S
SAAJ SOAP with attachments API for Java
SAM Security Access Manager

at
SAR SIP application resource
SAS Secure Association Service
SDO Service Data Objects
SIB or SIBus service integration bus
SIP Session Initiation Protocol
SOA service-oriented architecture
M
ed
SOAP SOAP is not an acronym; it is a word in itself (formerly an acronym for Simple Object Access Protocol)
SQL Structured Query Language
SSL Secure Sockets Layer
SSO single sign-on
ht

StAX Streaming API for XML


SVC supervisor call
SVG Scalable Vector Graphics
rig

T
TCP Transmission Control Protocol
TCP/IP Transmission Control Protocol/Internet Protocol
py

U
UDDI Universal Description, Discovery, and Integration
UNIX Uniplexed Information and Computing System
Co

UOW unit of work


URI Uniform Resource Identifier
URL Uniform Resource Locator

V
VMM virtual member manager

© Copyright IBM Corp. 2016 A-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix A. List of abbreviations

AP
VPN virtual private network

W
WAR web archive
WLM workload management
WS web services
WS-AT Web Services Atomic Transaction

l
WS-BA Web Services Business Activity

ia
WS-COOR Web Services Coordination
WS-I Web Services Interoperability

er
WSIF Web Services Invocation Framework
WSDL Web Services Description Language

at
XA extended architecture
XCT Cross Component Trace
XML Extensible Markup Language
XTP extreme transaction processing

Y M
ed
Z
z/OS zSeries operating system
ht
rig
py
Co

© Copyright IBM Corp. 2016 A-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
Co
py
rig
ht
ed
M
at
er
ia
l
V11.0
Appendix B. Resource guide

EXempty

Appendix B. Resource guide


Completing this IBM Training course is a great first step in building your IBM Middleware skills.
Beyond this course, IBM offers several resources to keep your Middleware skills on the cutting
edge. Resources available to you range from product documentation to support websites and

l
social media websites.

ia
Training

er
• IBM Training website
▪ Bookmark the IBM Training website for easy access to the full listing of IBM training
curricula. The website also features training paths to help you select your next course and

at
available certifications.
▪ For more information, see: http://www.ibm.com/training
• IBM Training News

M
▪ Review or subscribe to updates from IBM and its training partners.
▪ For more information, see: ibm.com/blogs/ibm-training
ed
• IBM Certification
▪ Demonstrate your mastery of IBM Middleware to your employer or clients through IBM
Professional Certification. Middleware certifications are available for developers,
administrators, and business analysts.
ht

▪ For more information, see: http://www.ibm.com/certify


• Training paths
▪ Find your next course easily with IBM training paths. Training paths provide a visual
rig

flow-chart style representation of training for many IBM products and roles, including
developers and administrators.
▪ For more information, see:
http://www-304.ibm.com/jct03001c/services/learning/ites.wss/us/en?pageType=page&c=a0
py

003096

Social media links


Co

Connect with IBM Middleware Education and IBM Training, and learn about the newest courses,
certifications, and special offers by seeing any of the following social media websites.
• Twitter
▪ Receive concise updates from Middleware Education a few times each week.
▪ Follow Middleware Education at: twitter.com/IBMCloudEdu

© Copyright IBM Corp. 2016 B-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix B. Resource guide

EXempty
• Facebook:
▪ Follow IBM Training on Facebook to keep in sync with the latest news and career trends,
and to post questions or comments.
▪ Find IBM Training at: facebook.com/ibmtraining
• YouTube:
▪ See the IBM Training YouTube channel to learn about IBM training programs and courses.

l
▪ Find IBM Training at: youtube.com/IBMTraining

ia
Support

er
• Middleware Support portal
▪ The Middleware Support website provides access to a portfolio of downloadable support

at
tools, including troubleshooting utilities, product updates, drivers, and authorized program
analysis reports (APARs). The Middleware Support website also provides links to online
Middleware communities and forums for collaboratively solving issues. You can now
customize the IBM Support website by adding or deleting portlets to show the most

M
important information for the IBM products that you work with.
▪ For more information, see: http://www.ibm.com/software/websphere/support
• IBM Support Assistant
ed
▪ The IBM Support Assistant is a local serviceability workbench that makes it easier and
faster for you to resolve software product issues. It includes a desktop search component
that searches multiple IBM and non-IBM locations concurrently and returns the results in a
single window, all within IBM Support Assistant.
ht

▪ IBM Support Assistant includes a built-in capability to submit service requests; it


automatically collects key problem information and transmits it directly to your IBM support
representative.
rig

▪ For more information, see: http://www.ibm.com/software/support/isa


• IBM Education Assistant
▪ IBM Education Assistant is a collection of multimedia modules that are designed to help you
gain a basic understanding of IBM software products and use them more effectively. The
py

presentations, demonstrations, and tutorials that are part of the IBM Education Assistant are
an ideal refresher for what you learned in your IBM Training course.
▪ For more information, see: http://www.ibm.com/software/info/education/assistant/ 
Co

Middleware documentation and tips


• IBM Redbooks
▪ The IBM International Technical Support Organization develops and publishes IBM
Redbooks publications. IBM Redbooks are downloadable PDF files that describe

© Copyright IBM Corp. 2016 B-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0
Appendix B. Resource guide

EXempty
installation and implementation experiences, typical solution scenarios, and step-by-step
“how-to” guidelines for many Middleware products. Often, Redbooks include sample code
and other support materials available as downloads from the site.
▪ For more information, see: http://www.ibm.com/redbooks
• IBM documentation and libraries
▪ IBM Knowledge Centers and product libraries provide an online interface for finding

l
technical information on a particular product, offering, or product solution. The IBM

ia
Knowledge Centers and libraries include various types of documentation, including white
papers, podcasts, webcasts, release notes, evaluation guides, and other resources to help
you plan, install, configure, use, tune, monitor, troubleshoot, and maintain Middleware
products. The IBM Knowledge Center and library are located conveniently in the left

er
navigation on product web pages.
• developerWorks
▪ IBM developerWorks is the web-based professional network and technical resource for

at
millions of developers, IT professionals, and students worldwide. IBM developerWorks
provides an extensive, easy-to-search technical library to help you get up to speed on the
most critical technologies that affect your profession. Among its many resources,

M
developerWorks includes how-to articles, tutorials, skill kits, trial code, demonstrations, and
podcasts. In addition to the Middleware zone, developerWorks also includes content areas
for Java, SOA, web services, and XML.
▪ For more information, see: http://www.ibm.com/developerworks
ed
Services
ht

• IBM Software Services for Middleware are a team of highly skilled consultants with broad
architectural knowledge, deep technical skills, expertise on suggested practices, and close ties
with IBM research and development labs. The Middleware Services team offers skills transfer,
rig

implementation, migration, architecture, and design services, plus customized workshops.


Through a worldwide network of services specialists, IBM Software Service for Middleware
makes it easy for you to design, build, test, and deploy solutions, helping you to become an
on-demand business.
• For more information, see:
py

http://www.ibm.com/services/us/en/it-services/systems/middleware-services/
Co

© Copyright IBM Corp. 2016 B-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V11.0

backpg

l
ia
er
at
M
ed
ht
rig
py
Co

© Copyright International Business Machines Corporation 2016.

You might also like