Wa5901course Secured
Wa5901course Secured
ia
er
at
dM
te
WebSphere Application Server
V9 Administration
h
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
TOC
Contents
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
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
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
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
l
HTML documentation for PlantsByWebSphere (1 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
ia
HTML documentation for PlantsByWebSphere (2 of 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
Unit summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
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
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
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
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
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
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
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
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
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
pref
Course description
WebSphere Application Server V9 Administration
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
on-premises environments
Objectives
Co
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
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
Day 3
(01:30) Unit 9. WebSphere security
(00:30) Exercise 7. Configuring WebSphere Application Server security
py
Uempty
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
Uempty
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.
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
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
Uempty
1.1. Platform and packaging
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
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 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
Uempty
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
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
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
Uempty
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
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
Uempty
l
Core Application Stand-alone node Multiple distributed nodes, with
ia
Server centralized administration
er
Application client, ¥ ¥
update installer,
installation factory,
at
migration tools, IBM
Support Assistant
M
drivers
Liberty profile ¥ ¥
Intelligent
ed
Management Pack ¥
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
Uempty
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
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
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
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
Uempty
1.2. Related WebSphere products and
cloud-based offerings
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
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
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.
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
Uempty
l
ia
er
WebSphere Application Server
WebSphere Docker
on-premises
at
M
ed
WebSphere product family overview © Copyright IBM Corporation 2016
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
Uempty
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 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
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.
Uempty
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
Uempty
l
ia
cf push PaaS
app.war
WAR
er
IaaS/CaaS
at
M VM
IaaS
ed
VM
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
Uempty
l
ia
Dedicated Local
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
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
Uempty
+ =
l
ia
WebSphere WebSphere
IBM Bluemix Application
Application
Server for
er
Server
Bluemix
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
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
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.
Uempty
l
middleware, JDK, and OS
settings
ia
er
• GitHub stores Docker files
so that you can build
at
custom WebSphere
Application Server images
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
Uempty
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
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
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
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?
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
2.
3.
py
4.
Co
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
Uempty
l
Estimated time
ia
01:00
Overview
er
This unit provides an architectural overview of WebSphere Application Server V9 at run time.
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
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
Uempty
Topics
• Architecture runtime
• Architecture administration
l
• Profiles
ia
er
at
M
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
Uempty
2.1. Architecture runtime
This topic provides information about architecture runtime.
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
Version 9 packaging
l
Clustering Node agent Deployment manager
ia
Intelligent Management Web Services Gateway
er
WebSphere Application Server Traditional
at
Web-based admin Web services
Web container
M PMEs
JDK
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
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
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.
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
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
Name server
M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
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
Name server
M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
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
Name server
M Other services
ed
Legend HTTP or HTTPS RMI/IIOP SOAP JDBC
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
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
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
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
Uempty
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
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
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
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
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
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
Rather than having the JDBC drivers communicate directly with the database, the communication
is abstracted into a data source.
rig
py
Co
Uempty
2.2. Administration architecture
This topic provides information about architecture administration.
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
l
Web container EJB container
Embedded HTTP
ia
Servlets
EJB
Server
JSP pages
er
Web services Messaging
engine engine
at
Dynamic cache JMX
Name server
M Other services
ed
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
l
Web container EJB container
Admin
Embedded HTTP
ia
Servlets service
JSP EJB
Server
Admin
Admin
MBeans
er
application
at
Dynamic cache JMX
Name server
M Other services
ed
XML
configuration
files
WebSphere Application Server architecture: Stand-alone © Copyright IBM Corporation 2016
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
Uempty
l
console Web container EJB container
Admin
Embedded HTTP
ia
Servlets service
JSP EJB
Server
Admin
Admin
MBeans
er
application
at
Dynamic cache JMX
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
3 of 4: This diagram illustrates communication from the browser to the XML configuration files.
rig
py
Co
Uempty
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
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
Uempty
2.3. Profiles
This topic provides information about profiles.
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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
Uempty
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
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
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
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
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
▪ Job manager
• Application server
▪ Stand-alone
Co
• Custom profile
▪ Federated node
▪ (No application server)
▪ Secure proxy
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
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
2.
3.
py
Co
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
Uempty
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
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
Uempty
l
Estimated time
ia
00:30
Overview
er
This unit describes the features in the administrative console for WebSphere Application Server.
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
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
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
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
Uempty
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
application. WebSphere administrative security is used to control which users can log in to the
console.
py
Co
Uempty
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
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
2 Detail pages
at
3
Wizard pages
y JDBC wizard is M
ed
an example
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
Uempty
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
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
Uempty
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
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
Uempty
l
configuration tasks such a connecting to a
ia
database
er
Applications Installation and management of applications
at
reliable message state
Security
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
Uempty
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
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
Uempty
l
y Select from list of
references
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016
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
Uempty
l
from help workspace
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016
▪ 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.
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
Uempty
l
ia
er
at
M Specify how features
of the administrative
console workspace
ed
behave
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
Jython editor for WebSphere Application Server. Enablement of this option is suggested for
non-production environments only.
Uempty
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
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
Uempty
l
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016
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
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
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
Uempty
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
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
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
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
Uempty
l
ia
er
at
M
ed
WebSphere Application Server administrative console © Copyright IBM Corporation 2016
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
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
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
2.
py
Co
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
Uempty
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
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
Uempty
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
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
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
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
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
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.
Uempty
l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016
This screen shows the home screen for the PlantsByWebSphere application.
rig
py
Co
Uempty
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
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
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
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
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
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
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
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
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
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
Uempty
l
information,
ia
including credit
card data
• Click Continue
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016
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
Uempty
l
complete the
ia
transaction
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016
When the billing information is entered, the user is able to click Submit Order.
rig
py
Co
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
• Overview:
<was_root>/samples/PlantsByWebSphere/docs/index.html
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016
• <was_root>/samples/PlantsByWebSphere/docs/techNotes.html
py
Co
Uempty
l
ia
er
at
M
ed
Introduction to the PlantsByWebSphere application © Copyright IBM Corporation 2016
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
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
Uempty
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.
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
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
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
Uempty
5.1. Overview of Java EE application packaging
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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
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
This diagram shows the pieces that can be put together to create a Java EE application.
rig
py
Co
Uempty
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
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
Uempty
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
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
Uempty
5.2. Application assembly and deployment
tools
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
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
Uempty
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
Uempty
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
Uempty
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
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
Uempty
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
Uempty
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
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
Uempty
l
are available for
different versions
ia
of WebSphere
Application Server
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
Uempty
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
When the application.xml deployment descriptor is automatically generated, default names are
used.
rig
py
Co
Uempty
Java EE perspective
l
ia
er
Stacked views
at
Project view Editor
(Enterprise
Explorer)
M
ed
Application assembly © Copyright IBM Corporation 2016
This screen capture shows the primary perspective of IBM WebSphere Application Server
Developer Tools for Eclipse for packaging Java EE applications.
rig
py
Co
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
to include
in the
ia
enhanced
EAR file
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
Data sources
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
5.3. Enhanced EAR
l
ia
er
at
M
ed
ht
rig
py
Co
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
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
Resources are defined at application scope, which takes precedence over higher-level scopes.
rig
py
Co
Uempty
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
When an enhanced EAR file is uninstalled, the resources that are defined at the application scope
are removed.
rig
py
Co
Uempty
l
ia
er
at
To ignore
application scoped
resources at M
ed
installation time
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
Uempty
5.4. Java EE modules
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
l
• Adds Enterprise JavaBeans in the module
ia
ƒ Session bean
ƒ Entity bean
er
ƒ Message-driven bean
at
ƒ Security roles
ƒ Method permissions
ƒ Application exceptions
ƒ Container transactions
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
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
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
Uempty
Web module
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
The second step of exporting an application is to specify the target file type: JAR, EAR, RAR, or
shared EAR file.
rig
py
Co
Uempty
l
ia
er
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
Uempty
5.5. Java EE annotations
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
...
@Stateless
@RolesAllowed ("SampAdmin")
public class BackOrderMgr
at
{
@PersistenceContext(unitName="PBW")
private EntityManager em;
M
...
ed
Application assembly © Copyright IBM Corporation 2016
In the Enterprise Explorer view, you can see the hierarchy of the application, its modules, and the
components of the modules.
rig
py
Co
Uempty
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
Here you see how an annotation becomes application metadata as seen in the console.
rig
py
Co
Uempty
l
import javax.ejb.EJB;
ia
import javax.inject.Named;
...
@Named("help")
public class HelpBean {
er
@EJB ResetDBBean rdb;
at
M
ed
Application assembly © Copyright IBM Corporation 2016
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
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
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
Uempty
l
ia
Description Binding pattern
er
interfaces
at
Long form local ejblocal:<component-id>#
interfaces <package.qualified.interface>
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
Uempty
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
at
ƒ They are generated for you when you deploy the EAR in the application
server
M
ed
Application assembly © Copyright IBM Corporation 2016
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
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
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.
er
preferred way to deploy applications in a production
environment.
at
M
ed
Application assembly © Copyright IBM Corporation 2016
2.
3.
py
Co
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
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
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
Uempty
l
ia
Overview
In this unit, you learn ways to install and update enterprise applications on WebSphere Application
er
Server.
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
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
Uempty
Topics
• Application installation
• Application settings and interaction
l
• Monitored directory
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
Uempty
6.1. Application installation
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
l
ia
EAR file
Administrative
console
er
Jython
script WebSphere
wsadmin> Application
Server
at
EAR file
M
ed
Monitored directory Configuration
This simple diagram shows the three paths for installing an EAR file (enterprise application) into the
application server:
• From the administrative console
rig
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
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
Uempty
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
Here is the input screen for creating a security resource that is used to access a back-end
resource.
rig
py
Co
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
JDBC driver paths
can be defined in
the wizard
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
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
Uempty
l
ia
er
Reference an existing
security alias or create
a new one
at
M
ed
Application installation © Copyright IBM Corporation 2016
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
Uempty
l
New Enterprise
Application
ia
er
at
1
M
ed
3
Here are the screens for the simple method of installing an application. This method is called the
“fast path.”
rig
py
Co
Uempty
Step 1:
l
Select
ia
installation
options
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
Uempty
l
ia
Summary
step
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
This picture shows the summary of information just before the application is installed.
rig
py
Co
Uempty
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
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
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
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
Uempty
6.2. Application settings and interaction
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
Starting an application
l
ƒ Click Applications > Application types > WebSphere enterprise
ia
applications
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
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
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
Uempty
Manage modules (2 of 4)
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
Manage modules (3 of 4)
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
Manage modules (4 of 4)
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
These four slides show the steps for viewing the deployment descriptor of an EJB JAR file (EJB
module).
rig
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
• 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.
Uempty
l
ia
er
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
Uempty
6.3. Monitored directory
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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.
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
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
Uempty
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
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
Uempty
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>
M
ƒ Applications are deployed to all servers with the same name
ƒ Create:
ed
.../monitoredDeployableApps/nodes/nodename/servers/
<servername>
Application installation © Copyright IBM Corporation 2016
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
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
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
• Step 4: Copy the properties file to the deploymentProperties
ia
directory
er
copy
at
M
ed
Application installation © Copyright IBM Corporation 2016
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
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
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
2.
3.
py
Co
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.
at
the Applications > Global Deployment settings pane.
The answer is True.
M
ed
Application installation © Copyright IBM Corporation 2016
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
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
Uempty
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
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
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
Uempty
7.1. Server logs and diagnostic tracing
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
WebSphere provides several useful logs and messaging facilities, including JVM logs, HTTP
plug-in logs, and console runtime messages.
rig
py
Co
Uempty
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
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
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.
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
Uempty
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
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
• 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.
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
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
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
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
Uempty
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
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
Uempty
l
server_name >
ia
Diagnostic Trace
er
ƒ Memory buffer
ƒ File (default)
at
• Configure Trace Output Format
ƒ Basic (IBM Support preference)
M
ƒ Advanced
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
Uempty
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
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
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)
Uempty
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
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
Uempty
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]
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
Uempty
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
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)
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.
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
l
ƒ Numerous filtering options are available to modify which records are
ia
displayed
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
• The request might traverse more than one
ƒ Thread
ƒ Process
er
ƒ Server
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
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
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
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
Uempty
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
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
Uempty
l
ƒ logViewer.sh -includeExtensions requestID=AAAsirk1Njr-
ia
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
▪ 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
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
Uempty
7.2. Gathering diagnostic data
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
• Select servers and click
M
ƒ Heap dump
ƒ Java core
ƒ System dump
ed
Problem determination © Copyright IBM Corporation 2016
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.
Uempty
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
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
Uempty
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
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
Uempty
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
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
Uempty
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
M
connectionWaitTimeoutException occurs
ƒ Enable by using trace string WAS.j2c=finest
ed
Problem determination © Copyright IBM Corporation 2016
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.
Uempty
l
ƒ The report includes a list of changed components and installed or
ia
uninstalled maintenance packages
er
ƒ Tracks software defects that customers report
at
Support page
M
ed
Problem determination © Copyright IBM Corporation 2016
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
Uempty
7.3. Problem determination tools
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
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
Uempty
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
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
Uempty
l
ƒ
ia
JDBC resources
ƒ EJB components
ƒ JMS resources
er
ƒ Other resources
at
<was_root>\bin\dumpNameSpace
[-host bootstrap_host_name (defaults to localhost)]
[-port bootstrap_port_number (defaults to 2809)]
[-startAt subcontext/in/the/tree]
Uempty
7.4. IBM Support Assistant
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
The IBM Support Assistant is a free tool for problem determination for certain IBM products,
including WebSphere Application Server.
rig
• 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
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
Uempty
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
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
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
Uempty
l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Problem determination © Copyright IBM Corporation 2016
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
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
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?
er
4. What are the three major features of the IBM Support
at
Assistant that are accessible from the Welcome screen?
M
experience?
ed
Problem determination © Copyright IBM Corporation 2016
2.
3.
py
4.
5.
Co
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
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
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
Uempty
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
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
Uempty
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)
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
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
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
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
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
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
Uempty
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
There are several wsadmin invocation options available. Use the following command-line
invocation syntax for the wsadmin scripting client:
• -h, -help, -?
rig
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
<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
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
Uempty
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
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
▪ 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.
Uempty
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
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
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
Uempty
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
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
task-oriented.
• Help: Use Help to obtain general help.
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
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
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
Uempty
l
ƒ Prompted
ia
er
at
ƒ Command-line parameters
▪ 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
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
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=
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
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
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.
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
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
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
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
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
Uempty
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
Management configuration scripts use the AdminConfig object to access the repository where
configuration information is stored.
rig
• Obtain help
Uempty
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
Application management scripts use the AdminApp object to manage applications in the application
server configuration.
rig
Uempty
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
Operation management scripts use the AdminControl object to communicate with the MBeans that
represent running objects.
rig
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.
Uempty
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
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
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
Uempty
l
• print Help.AdminConfig() • print Help.AdminApp()
ia
• print Help.AdminTask()
er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016
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
• 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.
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
Uempty
l
ia
• Example of command-level help:
er
at
M
ed
Introduction to wsadmin and scripting © Copyright IBM Corporation 2016
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
Uempty
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
• 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
objects:
AdminConfig.save()
Uempty
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 = AdminConfig.list("Cell")
node = AdminConfig.list("Node")
cellName = AdminConfig.showAttribute(cell, "name")
nodeName = AdminConfig.showAttribute(node, "name")
print ""
py
Uempty
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
print ""
appNames = AdminApp.list()
appNamesArray = appNames.split('\r\n')
for appName in appNamesArray:
print "App Name: " + appName
py
Uempty
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
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
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
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
Uempty
l
wsadmin>AdminServerManagement.createApplicationServer("profile1",
ia
"server1", "default")
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
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
start the wsadmin tool, and run individual scripts that are included in the script library:
wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer",
"default")
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
Uempty
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
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
objects.
The graphic shows JDBCProvider object content from the configuration XML file named
resources.xml.
Uempty
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
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
• 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
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
Uempty
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
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
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
Uempty
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')
at
wsadmin>AdminTask.applyConfigProperties('-propertiesFileName
app.props')
M
wsadmin>AdminTask.deleteConfigProperties('-propertiesFileName
thread.props')
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.
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
ResourceId=Cell=!{cellName}:Node=!{nodeName}:Server=!
{serverName}:ThreadPoolManager=
ID#ThreadPoolManager_1:ThreadPool-myThreadPool
DELETE=true
#
py
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
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
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
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
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
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
2.
3.
py
Co
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
Uempty
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
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
Uempty
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.
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
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
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
Uempty
9.1. WebSphere security basics
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
l
levels
ia
WebSphere security
er
Security APIs
at
OS security
M Network security
ed
Physical security
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.
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
Uempty
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
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
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
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
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
Administrative security allows the administrator to restrict access to the administrative interfaces,
including the administrative console, the administrative scripts, and wsadmin.
rig
py
Co
Uempty
l
application users
ia
ƒ Security constraints protect servlets
ƒ Method permissions protect EJB
components
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
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
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
Uempty
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
• 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
Uempty
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
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
Uempty
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
Uempty
l
ƒ Form-based is defined by adding a login configuration
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
9.2. WebSphere user registries
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
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
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
Uempty
l
user registries
ia
ƒ Manually (preferred)
ƒ Wizard (considered
too simplistic)
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
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
Uempty
l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
This diagram shows step 2 of the security wizard. The user repository is being selected.
rig
py
Co
Uempty
l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
This diagram shows step 3 of the security wizard and specifies the user name and password for the
primary administrative user.
rig
py
Co
Uempty
l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
Uempty
l
ia
Local OS LDAP
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
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
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
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
Uempty
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
• 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
Uempty
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
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
Uempty
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
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
Uempty
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
It is also possible to configure multiple cells to share LTPA tokens, thus creating SSO for multiple
cells.
rig
py
Co
Uempty
9.3. Administrative security
l
ia
er
at
M
ed
ht
rig
py
Co
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
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
Administrative security not only protects the administrative tools, but also enables a number of
other security features:
• Authentication of HTTP and IIOP clients
rig
Whichever user ID is used to run the application server process has implicit access as a console
administrator user.
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
Uempty
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
There are more console security roles available; these include iscadmins, deployer, and
AdminSecurityManager.
rig
py
Co
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
This graphic shows a representation of the various administrative security roles that are available,
and how they overlap.
rig
py
Co
Uempty
l
ƒ Create console users and groups
ia
ƒ Done in active user registry
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
This diagram shows the creation of users and groups through the administrative console.
rig
py
Co
Uempty
l
ƒ Create console users and groups
ia
ƒ Map users and groups to
administrative roles
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
9.4. Application security
l
ia
er
at
M
ed
ht
rig
py
Co
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
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
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
Uempty
l
without knowledge of actual users JSP,
Servlets
ia
and groups HTML
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
Java EE security is concerned with controlling access to application resources, not system
resources.
rig
py
Co
Uempty
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
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
Uempty
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
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
Uempty
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
The security roles are defined within the EAR file. This screen shows the SampAdmin security role
within the PlantsByWebSphere application.
rig
py
Co
Uempty
l
ia
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
This screen shows the constraints for the PlantsByWebSphere application, which is mapped to the
SampAdmin security role.
rig
py
Co
Uempty
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
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
Uempty
9.5. Java 2 security
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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)
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
Uempty
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
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
Uempty
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
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
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
Uempty
9.6. Security auditing
l
ia
er
at
M
ed
ht
rig
py
Co
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
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
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
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
Uempty
l
role
ƒ Define notification mechanism (log file, email)
ia
ƒ Enable monitoring
• Enable auditing
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
Enabling security auditing requires some configuration settings. This diagram shows security
auditing as it is enabled.
rig
py
Co
Uempty
l
ƒ Text
ƒ An HTML report
ia
(through wsadmin)
er
at
M
ed
WebSphere security © Copyright IBM Corporation 2016
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
Uempty
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
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
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
2.
3.
py
Co
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
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
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
Uempty
l
ia
Overview
This unit describes performance monitoring methods and tools that are available through the
er
administrative console.
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
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
Uempty
Topics
• Performance tuning and monitoring
• Request metrics
l
• Performance advisors
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
Uempty
10.1. Performance tuning and monitoring
l
ia
er
at
M
ed
ht
rig
py
Co
Uempty
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
Uempty
l
• Poor performance results in:
ia
ƒ Escalated support costs
ƒ Loss of customer confidence
er
ƒ Loss of revenue
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
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
Uempty
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
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
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
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
Uempty
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
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
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
Uempty
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
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
Uempty
l
ƒ Use the benchmark to test the application under expected loads
ia
ƒ Record throughput and response time under normal load and peak load
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
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
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
Uempty
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
Uempty
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
Uempty
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
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
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
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
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.
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
Uempty
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
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
Uempty
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
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
Uempty
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
Click Servers > Server Types > WebSphere Application Servers > <server_name>.
On the Configuration tab, under Performance, click Performance Monitoring Infrastructure
(PMI).
rig
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
• 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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
l
ƒ Clear Buffer
ia
ƒ View Table
ƒ Show or Hide Legend
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
Statistics can also be viewed in a table format, by clicking View Table in the Tivoli Performance
Viewer.
rig
py
Co
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
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
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
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
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
Uempty
10.2. Request metrics
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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
Uempty
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
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
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
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
Uempty
l
• Assign filter values
ia
er
at
1
Check to
M
enable
Click to
assign value
ed
2
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
10.3. Performance advisors
l
ia
er
at
M
ed
ht
rig
py
Co
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
Uempty
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
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.
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
Uempty
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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.
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
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
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
Tivoli Performance Viewer runs within the application server JVM. The Tivoli Performance Viewer
advisor requires that you enable performance modules, counters, or both.
Co
Uempty
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
More examples of advice that the performance advisors would give in certain situations include:
• Unbounded thread pools
rig
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
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
Uempty
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
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
Uempty
l
ia
er
at
M
ed
Performance monitoring © Copyright IBM Corporation 2016
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
Uempty
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
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
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
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
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
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
2.
3.
py
4.
Co
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
Uempty
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
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
Uempty
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
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
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
Uempty
l
• IBM Redbooks:
ia
ƒ www.redbooks.ibm.com
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
Uempty
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
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
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
AP
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
F
py
G
GB gigabyte
GC garbage collection
Co
H
HA high availability
HPEL High Performance Extensible Logging
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
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
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
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
V
VMM virtual member manager
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
EXempty
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
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
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
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
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
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
http://www.ibm.com/services/us/en/it-services/systems/middleware-services/
Co
backpg
l
ia
er
at
M
ed
ht
rig
py
Co