Professional Documents
Culture Documents
Deployment Guide Series: IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Deployment best practices and scheduling scenarios Planning and architecture Case studies and planning for engagement
ibm.com/redbooks
International Technical Support Organization Deployment Guide Series: IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2 May 2008
SG24-7528-00
Note: Before using this information and the product it supports, read the information in Notices on page xxiii.
First Edition (May 2008) This edition applies to IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Broker V1.2.
Copyright International Business Machines Corporation 2008. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv The team that wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvii Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvii Part 1. Concepts and architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Workload scheduling overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Market trends and directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Business solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 IBM Tivoli Workload Automation portfolio . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Tivoli Workload Automation in action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4.1 Tivoli Workload Automation integration with IBM products . . . . . . . . 15 Chapter 2. Tivoli Workload Scheduler concepts and architecture . . . . . . 17 2.1 Introduction to Tivoli Workload Scheduler and Tivoli Dynamic Workload Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 Overview of Tivoli Workload Scheduler. . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 Overview of Tivoli Dynamic Workload Broker . . . . . . . . . . . . . . . . . . . . . . 18 2.4 Tivoli Workload Scheduler architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.1 The Tivoli Workload Scheduler network . . . . . . . . . . . . . . . . . . . . . . 20 2.4.2 Tivoli Workload Scheduler workstation types . . . . . . . . . . . . . . . . . . 24 2.4.3 Tivoli Workload Scheduler topology . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.4 Tivoli Workload Scheduler components . . . . . . . . . . . . . . . . . . . . . . 26 2.4.5 Tivoli Workload Scheduler plan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5 Tivoli Workload Scheduler advanced customization . . . . . . . . . . . . . . . . . 33 2.5.1 Global options parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.5.2 Local options parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.6 Tivoli Workload Scheduler batch processing process flow . . . . . . . . . . . . 45 2.6.1 Scenarios for this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
iii
2.7 Sizing of typical Tivoli Workload Scheduler deployments . . . . . . . . . . . . . 50 2.8 What is new in Tivoli Workload Scheduler V8.4 . . . . . . . . . . . . . . . . . . . . 51 Chapter 3. Tivoli Dynamic Workload Broker concepts and architecture . 53 3.1 Topological view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2 Server components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.2.1 Resource Repository. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.2 Resource Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.3 Job Dispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.4 Job Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.2.5 Allocation Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.3 Tivoli Dynamic Workload Broker agent . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.3.1 Agent components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.3.2 Agent subcomponents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.4 Common Agent Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.4.1 Agent Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.4.2 Common Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.4.3 Interaction between Tivoli Dynamic Workload Broker and Common Agent Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5 Job and resource definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5.1 Job definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5.2 Resource definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.6 Tivoli Dynamic Workload Broker user interfaces. . . . . . . . . . . . . . . . . . . . 77 3.6.1 Tivoli Dynamic Workload Console . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.6.2 Command-line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.6.3 Job Brokering Definition Console . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.7 Useful tips for working with job definitions. . . . . . . . . . . . . . . . . . . . . . . . . 84 3.7.1 Comfort approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.7.2 Security approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.7.3 Job Brokering Definition Console enhancements . . . . . . . . . . . . . . . 87 3.8 Security features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8.1 Encrypted communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8.2 Firewall support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.8.3 Authentication mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.8.4 Authorization roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.8.5 Single sign-on enablement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.8.6 Recommended security best practices after installation . . . . . . . . . 113 3.9 Tivoli Dynamic Workload Broker auditing . . . . . . . . . . . . . . . . . . . . . . . . 114 3.9.1 Tivoli Dynamic Workload Broker audit capabilities . . . . . . . . . . . . . 115 3.9.2 Configuring the auditing properties . . . . . . . . . . . . . . . . . . . . . . . . . 115 3.9.3 Audit trail file name convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.9.4 Important security note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
iv
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
3.10 Web services interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.11 Physical location of Tivoli Dynamic Workload Broker components . . . . 119 3.11.1 Locations of server components . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.11.2 Locations of agent components . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.11.3 Location of certificates and private keys . . . . . . . . . . . . . . . . . . . . 122 3.12 What is new in Tivoli Dynamic Workload Broker 1.2 . . . . . . . . . . . . . . . 124 3.13 Combined Tivoli Workload Scheduler and Tivoli Dynamic Workload Broker solution architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Part 2. Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Chapter 4. Installation and configuration . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.1 Software and hardware requirements for Tivoli Workload Scheduler . . . 132 4.2 Tivoli Workload Scheduler software requirements . . . . . . . . . . . . . . . . . 132 4.2.1 Supported operating systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4.3 Tivoli Dynamic Workload Broker hardware and software requirements . 135 4.4 Supported operating systems for other Tivoli products . . . . . . . . . . . . . . 135 4.5 Our Tivoli Workload Automation environment . . . . . . . . . . . . . . . . . . . . . 136 4.6 Installing and configuring Tivoli Workload Scheduler V8.4 . . . . . . . . . . . 137 4.6.1 Tivoli Workload Scheduler V8.4 installation . . . . . . . . . . . . . . . . . . 137 4.6.2 Installing Tivoli Dynamic Workload Console V8.4 . . . . . . . . . . . . . . 154 4.6.3 Installing Tivoli Job Scheduling Console V8.4 . . . . . . . . . . . . . . . . 163 4.7 Installing and configuring Tivoli Dynamic Workload Broker V1.2 . . . . . . 168 4.7.1 IBM Tivoli Dynamic Workload Broker V1.2 installation . . . . . . . . . . 169 4.7.2 Installing IBM DB2 Universal Database V9.1 . . . . . . . . . . . . . . . . . 184 4.7.3 Installing WebSphere Application Server V6.1 . . . . . . . . . . . . . . . . 197 4.7.4 Installing Job Brokering Definition Console V1.2 . . . . . . . . . . . . . . 205 4.8 Installing Tivoli Dynamic Workload Console V8.4 on an existing WebSphere Application Server V6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Chapter 5. Demonstration scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 5.1 Tivoli Workload Scheduler quick-start demonstration . . . . . . . . . . . . . . . 220 5.1.1 Create a job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 5.1.2 Create a new job from an existing job . . . . . . . . . . . . . . . . . . . . . . . 224 5.1.3 Create a job stream containing multiple jobs . . . . . . . . . . . . . . . . . 226 5.1.4 Schedule a job stream for automatic submission . . . . . . . . . . . . . . 234 5.1.5 Submit a job stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 5.1.6 Submit an ad hoc job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 5.1.7 Browse a job log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 5.2 Tivoli Workload Scheduler custom reports demonstration . . . . . . . . . . . 248 5.3 IBM Tivoli Dynamic Workload Broker V1.2 scenario . . . . . . . . . . . . . . . . 255 5.3.1 Resource optimization scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Contents
5.4 Tivoli Workload Scheduler V8.4 and Tivoli Dynamic Workload Broker V1.2 integration scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 5.4.1 Configuring Tivoli Workload Scheduler Bridge in the Tivoli Workload Scheduler environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 5.4.2 Integration scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Chapter 6. Event driven workload automation . . . . . . . . . . . . . . . . . . . . . 269 6.1 Event driven workload automation highlights . . . . . . . . . . . . . . . . . . . . . 271 6.2 Event driven workload automation logical design . . . . . . . . . . . . . . . . . . 271 6.2.1 The event driven workload automation concept . . . . . . . . . . . . . . . 272 6.2.2 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 6.2.3 Event rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6.2.4 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 6.2.5 Event providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 6.2.6 Action providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 6.3 Event driven workload automation implementation details . . . . . . . . . . . 284 6.3.1 Event driven workload automation topology . . . . . . . . . . . . . . . . . . 284 6.3.2 Event driven workload automation: high availability . . . . . . . . . . . . 287 6.3.3 Event driven workload automation: security . . . . . . . . . . . . . . . . . . 287 6.3.4 Event rule deployment process. . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 6.3.5 Communication among the event processor and agents . . . . . . . . 292 6.3.6 Important files and directories on the event processor . . . . . . . . . . 293 6.3.7 Important files and directories on the workstations . . . . . . . . . . . . . 294 6.3.8 Event providers implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 6.4 Working with event driven workload automation . . . . . . . . . . . . . . . . . . . 297 6.4.1 User interfaces interacting with event driven workload automation 298 6.4.2 Logging in to the Tivoli Dynamic Workload Console . . . . . . . . . . . . 298 6.4.3 Navigation to event driven workload automation portlets . . . . . . . . 299 6.4.4 Creating rules using the rule editor . . . . . . . . . . . . . . . . . . . . . . . . . 300 6.4.5 Changing the rule status to Complete . . . . . . . . . . . . . . . . . . . . . 324 6.4.6 Deploying and activating a rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 6.4.7 Querying the rule instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 6.4.8 Querying the triggered actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 6.4.9 Querying the Operator messages . . . . . . . . . . . . . . . . . . . . . . . . . . 336 6.4.10 Linking the Job Scheduling Console and the Tivoli Dynamic Workload Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 6.4.11 Useful command-line interface commands . . . . . . . . . . . . . . . . . . 338 6.4.12 Event driven workload automation related global options . . . . . . . 340 6.4.13 Event driven workload automation related local options . . . . . . . . 342 6.4.14 Creating generic plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 6.4.15 Defining new events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 6.4.16 Tivoli Enterprise Console integration in detail . . . . . . . . . . . . . . . . 345
vi
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
6.5 Event driven workload automation demonstration . . . . . . . . . . . . . . . . . 360 6.5.1 Scenario 1: Simple notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 6.5.2 Scenario 2: Trigger TWS Agents status . . . . . . . . . . . . . . . . . . . . . 389 6.5.3 Scenario 3: Submit a Job Stream when FTP transfer completes . . 397 6.5.4 Scenario 4: Trigger a shopping online transaction . . . . . . . . . . . . . 397 Part 3. Generic branch job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Chapter 7. Generic branch job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 7.2 Branch job functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 7.2.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 7.2.2 Branch job capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 7.2.3 Branch job design advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 7.3 Sample scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 7.3.1 Scenarios based on condition type . . . . . . . . . . . . . . . . . . . . . . . . . 413 7.3.2 Simple branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 7.3.3 Long branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 7.3.4 Multiple branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 7.3.5 Parent abend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 7.3.6 Complex branch scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 7.3.7 Complex branch - Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 7.3.8 Complex branch - negated pattern . . . . . . . . . . . . . . . . . . . . . . . . . 437 7.3.9 Complex branch - Pattern within pattern row . . . . . . . . . . . . . . . . . 442 7.3.10 Pattern within pattern row - negated . . . . . . . . . . . . . . . . . . . . . . . 447 7.3.11 Complex branch - Numeric value comparison . . . . . . . . . . . . . . . 452 7.3.12 Complex scenario - multiple conditions. . . . . . . . . . . . . . . . . . . . . 458 7.3.13 Additional string parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 7.3.14 Scenarios based on action type . . . . . . . . . . . . . . . . . . . . . . . . . . 466 7.3.15 Pause/Release actions scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 467 7.3.16 Multiple pause/release scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 476 7.3.17 Signal action scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 7.3.18 Important scenario notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 7.4 Working with the branch job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 7.4.1 Branch job prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 7.4.2 Branch job shell script installation . . . . . . . . . . . . . . . . . . . . . . . . . . 489 7.4.3 Branch job definition and signal job definition in the database . . . . 493 7.4.4 Placing the branch job into the job stream . . . . . . . . . . . . . . . . . . . 503 7.4.5 Using the ABEND job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 7.4.6 Passing the input parameters to the branch job . . . . . . . . . . . . . . . 509 7.5 Working with the branch job parameters. . . . . . . . . . . . . . . . . . . . . . . . . 509 7.5.1 Putting a parameter into job stream Comments field . . . . . . . . . . . 511 7.5.2 Parameters reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Contents
vii
7.5.3 Case sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 7.5.4 Sample condition examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 7.6 Important notes about the branch job . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 7.7 Sample scenarios installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 7.7.1 Installation packages content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 7.7.2 Installation on UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 7.7.3 Installation on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 7.8 Generic branch job script source code . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Chapter 8. Installation of Cygwin onto a Windows master . . . . . . . . . . . 547 8.1 Selected installation approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 8.2 Downloading Cygwin from the Cygwin Web site . . . . . . . . . . . . . . . . . . . 549 8.3 Transferring the installables to the master . . . . . . . . . . . . . . . . . . . . . . . 561 8.4 Performing the Cygwin installation on the master domain manager . . . . 562 8.5 Testing the Cygwin functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Part 4. Planning for a client engagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 Appendix A. Planning for a client engagement . . . . . . . . . . . . . . . . . . . . 571 Services engagement preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Implementation skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Available resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Solution scope and components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Basic solution definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 Advanced solution definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 Services engagement overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 Executive Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Demonstration system setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Hardware and software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 Analyze solution tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 Creating a contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 Estimating time and activities of the engagement . . . . . . . . . . . . . . . . . . . . . 582 Perform environmental analysis and plan tasks . . . . . . . . . . . . . . . . . . . . 582 Plan the solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Implement the solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585 Close the engagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 Appendix B. Sample Statement of Work for a Tivoli Workload Automation solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 Building an operating system deployment solution . . . . . . . . . . . . . . . . . . . . 588 Executive summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Solution description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 Business Partner responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
viii
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Client responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589 Staffing estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590 Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 Completion criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 Appendix C. Generic branch job source code . . . . . . . . . . . . . . . . . . . . . 593 Appendix D. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 System requirements for downloading the Web material . . . . . . . . . . . . . 616 How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 How to get Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Contents
ix
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Figures
1-1 1-2 1-3 1-4 1-5 1-6 2-1 2-2 2-3 2-4 IBM Tivoli Workload Automation portfolio . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Workload infrastructure solution scenario . . . . . . . . . . . . . . . . . . . . . . . . . 10 Tivoli Workload Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Tivoli Dynamic Workload Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 IBM Tivoli LoadLeveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Enterprise Workload Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 An example Tivoli Workload Scheduler network with only one domain . . 21 Tivoli Workload Scheduler network with three domains . . . . . . . . . . . . . . 22 A multi-tiered Tivoli Workload Scheduler network. . . . . . . . . . . . . . . . . . . 23 A Tivoli Workload Scheduler network with the Job Scheduling Console client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2-5 Tivoli Workload Scheduler interprocess communication with application server subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2-6 JnextPlan creates the plan file for each production day . . . . . . . . . . . . . . 31 2-7 The distribution of the plan (Symphony file) in a Tivoli Workload Scheduler network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2-8 Tivoli Workload Scheduler process flow . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3-1 Tivoli Dynamic Workload Broker topology . . . . . . . . . . . . . . . . . . . . . . . . 56 3-2 Tivoli Dynamic Workload Broker server architecture . . . . . . . . . . . . . . . . 59 3-3 Job Execution Agent - architecture and interaction with server . . . . . . . . 67 3-4 Resource Advisor Agent - architecture and interaction with server . . . . . 69 3-5 Communication between the Tivoli Dynamic Workload Broker server and an agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3-6 Resource wizard in Tivoli Dynamic Workload Console . . . . . . . . . . . . . . . 76 3-7 Tivoli Dynamic Workload Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3-8 Job Brokering Definition Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3-9 Context assistant - Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3-10 Context assistant - Logical resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3-11 Search for matching resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 3-12 Communication networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3-13 Communication networks and used certificates . . . . . . . . . . . . . . . . . . . 97 3-14 Sample - interaction with firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3-15 Client to server authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3-16 Browser-ISC-TDWB server authentication w/ separate user registries 103 3-17 TDWB/TWS environment leveraging single sign-on . . . . . . . . . . . . . . . 106 3-18 Server Connection within Tivoli Dynamic Workload Console . . . . . . . . 108 3-19 Authentication with no shared user registry . . . . . . . . . . . . . . . . . . . . . 110 3-20 Authentication with shared user registry without single sign-on . . . . . . 111
xi
3-21 Authentication with shared user registry and single sign-on . . . . . . . . . 112 3-22 List of server components (WebSphere Management Console) . . . . . 120 3-23 A Tivoli Workload Scheduler network with subordinate Tivoli Dynamic Workload Broker agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 4-1 Installation setup language window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4-2 Welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 4-3 Installation choice window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4-4 Type of Instance window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4-5 The user name and password window . . . . . . . . . . . . . . . . . . . . . . . . . . 142 4-6 The workstation configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4-7 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 4-8 Database selection window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 4-9 Database installation action window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4-10 DB2 installation information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 4-11 DB2 database configuration window. . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4-12 Summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 4-13 DB2 installation script selection window . . . . . . . . . . . . . . . . . . . . . . . . 154 4-14 Language selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4-15 TDWC welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4-16 Installation choice window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4-17 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 4-18 Type of installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4-19 Advanced Installation window 1 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 4-20 Advanced Installation window 2 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4-21 Advanced Installation window 3 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4-22 Administrative user credential window . . . . . . . . . . . . . . . . . . . . . . . . . 161 4-23 wasadmin roles window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4-24 Summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4-25 Successful installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4-26 Language selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4-27 Welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4-28 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4-29 Shortcut window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 4-30 Summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4-31 InstallShield finish window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 4-32 IBM Tivoli Dynamic Workload Broker launchpad . . . . . . . . . . . . . . . . . 169 4-33 Language selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4-34 IBM Tivoli Dynamic Workload Broker welcome window . . . . . . . . . . . . 170 4-35 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 4-36 Installation choice window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 4-37 Custom installation window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 4-38 Database selection window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 4-39 Database connection box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
xii
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
4-40 4-41 4-42 4-43 4-44 4-45 4-46 4-47 4-48 4-49 4-50 4-51 4-52 4-53 4-54 4-55 4-56 4-57 4-58 4-59 4-60 4-61 4-62 4-63 4-64 4-65 4-66 4-67 4-68 4-69 4-70 4-71 4-72 4-73 4-74 4-75 4-76 4-77 4-78 4-79 4-80 4-81 4-82
Database customization window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Application Server connection window . . . . . . . . . . . . . . . . . . . . . . . . . 177 Tivoli Dynamic Workload Broker port selection window . . . . . . . . . . . . 178 Tivoli Agent Manager information window . . . . . . . . . . . . . . . . . . . . . . 179 Advanced installation information window 1 of 2 . . . . . . . . . . . . . . . . . 179 Advanced installation information window 2 of 2 . . . . . . . . . . . . . . . . . 180 Restart Application Server window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Installation summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Summary of completed steps window. . . . . . . . . . . . . . . . . . . . . . . . . . 183 Installation Completed window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 DB2 Setup launchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Db2 Setup Wizard window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Installation type window 1 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Installation type window 2 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 User information window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Instance configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Instance configuration window 1 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Instance configuration window 2 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Instance configuration window 3 of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 192 DB2 tools catalog window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 SMTP Server configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Operating system security window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Summary installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Setup completed window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Welcome launchpad window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Welcome wizard window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Security enablement window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Installation summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Installation result window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 First Step window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Server started window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Language selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Welcome installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Installation directory window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Summary installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Installation completed window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Welcome launchpad window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Language selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 TDWC welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Installation choice window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Identify WebSphere Application Server installation window . . . . . . . . . 213
Figures
xiii
4-83 WebSphere Update installer location window. . . . . . . . . . . . . . . . . . . . 214 4-84 Administrative credential window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 4-85 Wasadmin roles window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 4-86 Summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 4-87 Successful installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 5-1 Creating a new job definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 5-2 Creating a new job definition: General properties . . . . . . . . . . . . . . . . . . 222 5-3 Creating a new job definition: Task properties . . . . . . . . . . . . . . . . . . . . 223 5-4 Creating a new job definition from an existing job definition . . . . . . . . . . 224 5-5 Creating a new job definition from an existing job definition: General properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 5-6 Creating a new job stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 5-7 Creating a new job stream: General properties . . . . . . . . . . . . . . . . . . . 227 5-8 Creating a new job stream: adding the first job to the job stream . . . . . . 228 5-9 Adding the first job to the job stream. . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 5-10 Creating a new job stream: one job created . . . . . . . . . . . . . . . . . . . . . 230 5-11 Creating a job stream: two jobs successfully added to the job stream . 231 5-12 Adding a dependency between two jobs in a job stream . . . . . . . . . . . 232 5-13 A job stream with two jobs and a dependency between the jobs . . . . . 233 5-14 Switching the job stream editor to the Run Cycle View. . . . . . . . . . . . . 234 5-15 Adding a run cycle to a job stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 5-16 Adding a daily run cycle to select a job stream for execution every day of the week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 5-17 Run Cycle View: displaying the effect of a run cycle. . . . . . . . . . . . . . . 237 5-18 Submitting a job stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 5-19 Submitting a job stream: finding the job stream to submit . . . . . . . . . . 240 5-20 The TEST-STREAM-1 job stream in the Ready status. . . . . . . . . . . . . 241 5-21 The TEST-STREAM-1 job stream in the Successful status . . . . . . . . . 241 5-22 The two jobs in TEST-STREAM-1, both in the Successful status. . . . . 241 5-23 Submitting an ad hoc job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 5-24 Submitting an ad hoc job: General properties. . . . . . . . . . . . . . . . . . . . 244 5-25 Submitting an ad hoc job: Task properties . . . . . . . . . . . . . . . . . . . . . . 245 5-26 Browsing a job log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 5-27 Browsing a job log: the job log window . . . . . . . . . . . . . . . . . . . . . . . . . 247 5-28 Customize and generate reports for Tivoli Workload Scheduler . . . . . . 248 5-29 Creating a new task that generates a custom TWS Job Run Statistics Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 5-30 Creating a Job Run Statistics Report task: entering the basic task information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 5-31 Creating a Job Run Statistics Report task: configuration of the report header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 5-32 Creating a Job Run Statistics Report task: specifying filter criteria . . . . 252 5-33 Running a newly-created custom report task . . . . . . . . . . . . . . . . . . . . 253
xiv
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
5-34 Running a custom report task: specifying scheduling engine details . . 254 5-35 Excerpt from the output of the custom report task . . . . . . . . . . . . . . . . 255 5-36 Logical resource view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 5-37 Hardware requirements view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 5-38 Software requirements view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 5-39 Job submission view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 5-40 Job instances view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 5-41 New Workstation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 5-42 Logical resource view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 5-43 Job Brokering Definition Console view . . . . . . . . . . . . . . . . . . . . . . . . . 264 5-44 Physical memory assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 5-45 Job definition window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 5-46 Run cycle definition window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 5-47 Run cycle view window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 6-1 Event driven workload automation concept . . . . . . . . . . . . . . . . . . . . . . 272 6-2 Event rule life cycle - numbered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 6-3 Event rule life cycle schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 6-4 Event driven workload automation - topological view . . . . . . . . . . . . . . . 285 6-5 Tivoli Dynamic Workload Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 6-6 Navigation to event driven workload automation portlets . . . . . . . . . . . . 300 6-7 Event Rule editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 6-8 Event rule General Information pane . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 6-9 Adding new objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 6-10 Working with object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 6-11 Events pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 6-12 Event correlation conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 6-13 Event pane Correlate on option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 6-14 Actions pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 6-15 Actions Pane - Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 6-16 Link between the selected object and Properties pane. . . . . . . . . . . . . 315 6-17 Properties pane for Event objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 6-18 Multiple filters -positive logic OR relationship . . . . . . . . . . . . . . . . . . . 318 6-19 Multiple filters -negative logic AND relationship . . . . . . . . . . . . . . . . . 318 6-20 Properties pane for Action objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 6-21 Using variables in the rule editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 6-22 Changing rule status to Complete inside the rule editor . . . . . . . . . . . . 324 6-23 Getting list of defined event rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 6-24 Event rule list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 6-25 Changing rule status to Complete outside the rule editor. . . . . . . . . . 326 6-26 Rule in Complete status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 6-27 Active rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 6-28 Querying the event rule instances -1 . . . . . . . . . . . . . . . . . . . . . . . . . . 330 6-29 Querying the event rule instances - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Figures
xv
Querying the event rule instances -3 . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Working with instance list - 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Working with instance list - 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Working with instance list - 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Working with instance list - 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Querying triggered actions - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Querying triggered actions - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Querying triggered actions - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Querying triggered actions - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Querying operator messages - 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Querying operator messages - 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Querying operator messages - 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Linking the Job Scheduling Console and the Tivoli Dynamic Workload Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 6-43 Sample mapping of custom attributes. . . . . . . . . . . . . . . . . . . . . . . . . . 353 6-44 Simple notification scenario - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 6-45 Simple notification scenario - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 6-46 Simple notification scenario - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 6-47 Simple notification scenario - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 6-48 Simple notification scenario - 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 6-49 Simple notification scenario - 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 6-50 Simple notification scenario - 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 6-51 Simple notification scenario - 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 6-52 Simple notification scenario - 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 6-53 Simple notification scenario - 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 6-54 Simple notification scenario - 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 6-55 Simple notification scenario - 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 6-56 Simple notification scenario - 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 6-57 Simple notification scenario - 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 6-58 Simple notification scenario - 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 6-59 Simple notification scenario - 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 6-60 Simple notification scenario - 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 6-61 Simple notification scenario - 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 6-62 Simple notification scenario - 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 6-63 Simple notification scenario - 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 6-64 Simple notification scenario - 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 6-65 Simple notification scenario - 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 6-66 Simple notification scenario - 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 6-67 Simple notification scenario - 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 6-68 Simple notification scenario - 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 6-69 Simple notification scenario - 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 6-70 Simple notification scenario - 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 6-71 Simple notification scenario - 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
6-30 6-31 6-32 6-33 6-34 6-35 6-36 6-37 6-38 6-39 6-40 6-41 6-42
xvi
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
6-72 Simple notification scenario - 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 6-73 Simple notification scenario - 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 6-74 Simple notification scenario - 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 6-75 Simple notification scenario - 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 6-76 Simple notification scenario - 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 6-77 Simple notification scenario - 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 6-78 Simple notification scenario - 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 6-79 Simple notification scenario - 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 6-80 FTA scenario - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 6-81 FTA scenario - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 6-82 FTA scenario - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 6-83 FTA scenario - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 6-84 FTA scenario - 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 6-85 FTA scenario - 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 7-1 Purpose of the branch job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 7-2 Terms related to job stream definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 7-3 Terms related to job stream run (concrete job stream instance). . . . . . . 409 7-4 Simple branch (SUCC) definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 7-5 Simple branch (SUCC) final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 7-6 Simple branch (SUCC) commented joblog . . . . . . . . . . . . . . . . . . . . . . . 415 7-7 Simple branch (ABEND) definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 7-8 Simple branch (ABEND) final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 7-9 Simple branch (ABEND) joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 7-10 Long branch (SUCC) definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 7-11 Long branch(SUCC) final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 7-12 Long branch(ABEND) final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 7-13 Multiple branch jobs within one job stream . . . . . . . . . . . . . . . . . . . . . . 425 7-14 Parent abend (SUCC) definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 7-15 Parent abend (SUCC) final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 7-16 Pattern scenario - definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 7-17 Pattern scenario final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 7-18 Negated Pattern scenario definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 7-19 Negated Pattern scenario final status . . . . . . . . . . . . . . . . . . . . . . . . . . 439 7-20 Pattern within pattern row definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 7-21 Pattern within pattern row final status . . . . . . . . . . . . . . . . . . . . . . . . . . 444 7-22 Pattern within pattern row negated definition . . . . . . . . . . . . . . . . . . . . 448 7-23 Pattern within pattern row negated final status . . . . . . . . . . . . . . . . . . . 449 7-24 Numeric comparison branch definition . . . . . . . . . . . . . . . . . . . . . . . . . 454 7-25 Numeric comparison branch final status . . . . . . . . . . . . . . . . . . . . . . . . 455 7-26 Complex condition definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 7-27 Complex condition final status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 7-28 Pause/Release action definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 7-29 Pause/Release action status after first branch job . . . . . . . . . . . . . . . . 471
Figures
xvii
7-30 Pause/Release action after second branch job. . . . . . . . . . . . . . . . . . . 473 7-31 Multiple pause/release scenario definition . . . . . . . . . . . . . . . . . . . . . . 478 7-32 Signal action definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 7-33 Signal action state after the signal job . . . . . . . . . . . . . . . . . . . . . . . . . 482 7-34 Signal action state after the subsequent branch job . . . . . . . . . . . . . . . 484 7-35 Branch job definition on UNIX master domain manager - 1 . . . . . . . . . 495 7-36 Branch job definition on UNIX master domain manager - 2 . . . . . . . . . 496 7-37 Branch job definition on Windows master domain manager - 1 . . . . . . 498 7-38 Branch job definition on Windows master domain manager - 2 . . . . . . 499 7-39 Branch job suffix within the branch job alias . . . . . . . . . . . . . . . . . . . . . 504 7-40 Common placing of the branch job into the job stream. . . . . . . . . . . . . 505 7-41 Setting the flag Requires Confirmation for the first branch job . . . . . . . 507 7-42 Placing jobs into the job stream for the SIGNAL action scenario . . . . . 508 7-43 Parameters for multiple branch jobs within one job stream . . . . . . . . . 510 7-44 Sample scenarios - job definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 7-45 Sample scenarios - job stream definitions . . . . . . . . . . . . . . . . . . . . . . 537 7-46 Sample scenarios - job definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 7-47 Sample scenarios - job stream definitions . . . . . . . . . . . . . . . . . . . . . . 545 8-1 Cygwin home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 8-2 Downloading the installation program . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 8-3 Selecting the directory for Cygwin bundle . . . . . . . . . . . . . . . . . . . . . . . . 553 8-4 Windows warning message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 8-5 Cygwin setup - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 8-6 Cygwin setup - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 8-7 Cygwin setup - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 8-8 Cygwin setup - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 8-9 Cygwin setup - 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 8-10 Cygwin setup - 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 8-11 Cygwin setup - 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 8-12 Cygwin setup - 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 8-13 Cygwin installation on master - 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 8-14 Cygwin installation on master - 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 8-15 Cygwin installation on master - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 8-16 Cygwin installation on master - 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 8-17 Cygwin installation on master - 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 8-18 Cygwin installation on master - 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 8-19 Cygwin installation on master - 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
xviii
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Tables
2-1 2-2 3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 4-1 4-2 4-3 4-4 5-1 6-1 6-2 6-3 Options for tuning job processing on a workstation . . . . . . . . . . . . . . . . . 48 Maximum tweaked scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Command-line interface command list . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 List of Tivoli Dynamic Workload Broker authorization roles . . . . . . . . . . 104 Default server paths on Windows platform . . . . . . . . . . . . . . . . . . . . . . . 120 Default server paths on UNIX and Linux platforms . . . . . . . . . . . . . . . . . 121 Default agent paths on the Windows platform . . . . . . . . . . . . . . . . . . . . 121 Default agent paths on UNIX and Linux platforms . . . . . . . . . . . . . . . . . 122 Keystores for client network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Keystores for the agent network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Supported operating systems: abbreviations used . . . . . . . . . . . . . . . . . 132 Supported operating systems for the TWS engine . . . . . . . . . . . . . . . . . 133 Tivoli Workload Automation environment . . . . . . . . . . . . . . . . . . . . . . . . 136 Default ports used during installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Logical resource assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Events generated by the Tivoli Workload Scheduler Object Monitor . . . 281 Events generated by the File Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Group membership necessary for event driven workload automation portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 6-4 Tivoli Workload Scheduler security file objects for EDWA . . . . . . . . . . . 290 6-5 Important EIF related files and directories on event processor . . . . . . . . 293 6-6 Location of event and action plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 6-7 Important EIF related files and directories on workstations . . . . . . . . . . 295 6-8 Important monman configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 6-9 Conmon extensions: managing event driven workload automation . . . . 339 6-10 Composer extensions: managing event driven workload automation . . 339 6-11 Planman extensions: managing event driven workload automation . . . 339 6-12 General event driven workload automation related Global options. . . . 340 6-13 TEC Event Forwarder global options . . . . . . . . . . . . . . . . . . . . . . . . . . 340 6-14 Mail Sender global options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 6-15 Message Logger related Global options . . . . . . . . . . . . . . . . . . . . . . . . 342 6-16 Local options related to the event driven workload automation . . . . . . 342 7-1 Input parameters for the negative branch job scenario . . . . . . . . . . . . . . 430 7-2 Input parameters for the pattern job scenario . . . . . . . . . . . . . . . . . . . . . 436 7-3 Input parameters for the pattern job scenario . . . . . . . . . . . . . . . . . . . . . 441 7-4 Input parameters for the pattern within pattern row scenario . . . . . . . . . 446 7-5 Input parameters for negated pattern within pattern row scenario . . . . . 451 7-6 Input parameters for the Numeric comparison scenario . . . . . . . . . . . . . 457
xix
7-7 Input parameters for the complex condition scenario . . . . . . . . . . . . . . . 464 7-8 Input parameters for the pause/release scenario . . . . . . . . . . . . . . . . . . 475 7-9 Input parameters for the signal action scenario . . . . . . . . . . . . . . . . . . . 486 7-10 Parameters reference table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 7-11 Arithmetical operators explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 8-1 Solution task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 8-2 Solution demonstration tasks for Tivoli Workload Scheduler . . . . . . . . . 577 8-3 Solution demonstration tasks for Tivoli Dynamic Workload Broker. . . . . 577 8-4 Skill adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 8-5 Estimated time in hours for identified tasks. . . . . . . . . . . . . . . . . . . . . . . 582 8-6 Technical requirement: gathering sample questions. . . . . . . . . . . . . . . . 583 8-7 Time line estimates for implementation activities . . . . . . . . . . . . . . . . . . 585
xx
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Examples
3-1 Submitting a job from the command-line interface . . . . . . . . . . . . . . . . . . 81 3-2 Default audit properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6-1 Test of communication between TWS and TEC - successful . . . . . . . . . 347 6-2 Test of communication between TWS and TEC - unsuccessful . . . . . . . 347 6-3 Checking the TEC related global options . . . . . . . . . . . . . . . . . . . . . . . . 347 6-4 TWSEvent class available with the FP01 . . . . . . . . . . . . . . . . . . . . . . . . 348 6-5 Adjusted TWSEvent class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 6-6 Determining the current rulebase name . . . . . . . . . . . . . . . . . . . . . . . . . 351 6-7 Sample TEC rule used handling of custom attributes mapping . . . . . . . 354 6-8 Sample TEC rule working with the TWS event type . . . . . . . . . . . . . . . . 355 6-9 Determining the current rulebase name . . . . . . . . . . . . . . . . . . . . . . . . . 356 6-10 Determining the current rulebase name . . . . . . . . . . . . . . . . . . . . . . . . 358 6-11 Determining the current rulebase path . . . . . . . . . . . . . . . . . . . . . . . . . 358 6-12 Simple notification scenario - incoming e-mail . . . . . . . . . . . . . . . . . . . 387 7-1 Long branch (SUCC) joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 7-2 Long branch (ABEND) joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 7-3 Parent abend (SUCC) joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 7-4 Parent abend scenario parameters definition . . . . . . . . . . . . . . . . . . . . . 430 7-5 Pattern scenario joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 7-6 Pattern scenario parameters definition . . . . . . . . . . . . . . . . . . . . . . . . . . 436 7-7 Negated Pattern joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 7-8 Pattern scenario parameters definition . . . . . . . . . . . . . . . . . . . . . . . . . . 441 7-9 Example of parents joblog - 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 7-10 Example of parents joblog - 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 7-11 Pattern within pattern row branch joblog . . . . . . . . . . . . . . . . . . . . . . . . 444 7-12 Pattern scenario parameters definition . . . . . . . . . . . . . . . . . . . . . . . . . 446 7-13 Pattern within pattern row branch joblog . . . . . . . . . . . . . . . . . . . . . . . . 449 7-14 Negated pattern within pattern scenario parameters definition . . . . . . . 451 7-15 Example of parents joblog numeric value comparison . . . . . . . . . . . . . 453 7-16 Numeric comparison branch joblog. . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 7-17 Numeric comparison scenario parameters definition . . . . . . . . . . . . . . 457 7-18 Complex condition joblog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 7-19 Complex condition scenario parameters definition . . . . . . . . . . . . . . . . 464 7-20 Pause/Release action - joblog of the 1st branch job. . . . . . . . . . . . . . . 472 7-21 Pause/Release action - joblog of the 1st branch job. . . . . . . . . . . . . . . 474 7-22 Pause/Release scenario parameters definition. . . . . . . . . . . . . . . . . . . 475 7-23 Signal action joblog of the 1st branch job . . . . . . . . . . . . . . . . . . . . . . . 483 7-24 Signal action - joblog of the 2nd branch job . . . . . . . . . . . . . . . . . . . . . 485
xxi
7-25 7-26 7-27 7-28 7-29 7-30 7-31 7-32 7-33 7-34 7-35 7-36 7-37 7-38 7-39 7-40 7-41 7-42 7-43
Complex condition scenario - parameters definition . . . . . . . . . . . . . . . 486 Content of the installation package for UNIX platforms . . . . . . . . . . . . 490 Content of the installation package for Windows platforms . . . . . . . . . 492 UNIX branch job definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Windows branch job definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 Sample parameter set put inside the separators . . . . . . . . . . . . . . . . . 512 Sample parameters definition for job stream with two branch jobs . . . . 512 Separator syntax for SIGNAL jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Parameter index - incremental counter . . . . . . . . . . . . . . . . . . . . . . . . . 515 Parameter index - incremental counter . . . . . . . . . . . . . . . . . . . . . . . . . 516 Pause/Release scenario - parameters definition . . . . . . . . . . . . . . . . . 520 Single pattern search - parameters definition . . . . . . . . . . . . . . . . . . . . 521 Negated pattern search - parameters definition . . . . . . . . . . . . . . . . . . 521 Multiple pattern search - parameters definition . . . . . . . . . . . . . . . . . . . 522 Pattern search with numeric comparison - parameters definition . . . . . 523 Pattern search with numeric comparison - parameters definition . . . . . 523 Combination of pattern search / pause action - parameters definition . 524 Signal action combined with pattern search - parameters definition . . . 525 Combination of complex condition and pause action - parameters definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526 7-44 Multiple branch jobs within one job stream - parameters definition . . . 527 7-45 Content of the installation package for UNIX platforms . . . . . . . . . . . . 532 7-46 Sample scenarios installation - UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . 534 7-47 Content of the installation package for Windows platforms . . . . . . . . . 538 7-48 Setting Cygwin path and launching bash . . . . . . . . . . . . . . . . . . . . . . . 540 7-49 Sample scenarios installation - Windows . . . . . . . . . . . . . . . . . . . . . . . 541 8-1 bash command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 C-1 Generic branch job source code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
xxii
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Notices
This information was developed for products and services offered in the U.S.A. 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 document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: 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 states 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) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply 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. 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 the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
xxiii
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol ( or ), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: Redbooks (logo) AIX 5L AIX DB2 Universal Database DB2 Enterprise Workload Manager i5/OS IBM LoadLeveler Netcool OS/400 PartnerWorld Passport Advantage Redbooks System x System z Tivoli Enterprise Console Tivoli Management Environment Tivoli TME WebSphere z/OS
The following terms are trademarks of other companies: SAP R/3, SAP, and SAP logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries. Oracle, JD Edwards, PeopleSoft, Siebel, and TopLink are registered trademarks of Oracle Corporation and/or its affiliates. AMD, AMD Opteron, the AMD Arrow logo, and combinations thereof, are trademarks of Advanced Micro Devices, Inc. EJB, J2EE, Java, JavaScript, Solaris, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Internet Explorer, Microsoft, Windows Server, Windows Vista, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Itanium, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
xxiv
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Preface
IBM Tivoli Workload Scheduler and IBM Tivoli Dynamic Workload Broker are key products in the comprehensive, on demand IBM Tivoli Workload Automation portfolio. Tivoli Workload Scheduler is the IBM centralized job scheduler for distributed, mainframe, and end-to-end environments that allows you to do batch scheduling based on a calendar. Tivoli Dynamic Workload Broker extends Tivoli Workload Automation capabilities by providing dynamic optimization of workload processing based on the performance of the scheduling infrastructure and workload demands. In this easy-to-follow IBM Redbooks publication, we cover different scheduling scenarios with Tivoli Workload Scheduler V8.4 and Tivoli Dynamic Workload Broker V1.2 in distributed environments. We also discuss best practices for designing and implementing a scheduling solution for small, medium, and enterprise accounts. Finally, we cover the sales engagement planning for a Tivoli Workload Automation portfolio, including a sample statement of work. The primary audience for this section is Business Partners and pre-sales Systems Engineers working in this area. This book is a major reference for IT Specialists and IT Architects working in the Tivoli Workload Automation area.
xxv
Giuseppe Grammatico is a Software Support Specialist working for Italy IMT in the Tivoli Customer Support team within IBM Global Technology Services. He has been working for IBM since 2002 and has strong skills in several Tivoli Product suites. During these years he has been involved in several projects implementing Tivoli solutions for IBM Clients in Italy, especially for Tivoli Workload Scheduler, Tivoli Management Framework, Tivoli Storage Manager, Tivoli Directory Servers, and Tivoli Identity Manager. In April 2006, Giuseppe was awarded a Professional Certification from IBM for Tivoli Workload Scheduler V8.2 Martin Lisy has been working for IBM since 1995. He is a Systems Management Specialist in the area of the Tivoli Enterprise Management Solutions. Martin has worked on various Tivoli customer projects as the Solution Designer and Implementor. His area of expertise is Tivoli Workload Scheduler, for which he has created various scripting functions that enhance the product capabilities. Martin is an IBM Certified Deployment Professional for Tivoli Workload Scheduler V8.2 and V8.3, an IBM Certified Deployment Professional for Tivoli Identity Manager V4.6, and an IBM Certified Deployment Professional for Tivoli Enterprise Console V3.9. He works with IBM enablement teams in the area of Workload Automation, where he is focusing on hands-on training development. Martin also participates on requirements definitions for new releases of Tivoli Workload Automation suite. He also develops Tivoli certification tests in this area. Martin holds an engineering degree in Computer Science from VSB-Technical University of Ostrava. Michael A Lowry is an IBM-certified consultant and instructor based in Stockholm, Sweden. He has 12 years of experience in the IT services business and has been with IBM since 1996. Michael studied engineering and biology at the University of Texas. He has seven years of experience with Tivoli Workload Scheduler and has extensive experience with IBM network and storage management products. He is also an IBM Certified AIX Support Professional. Thanks to the following people for their contributions to this project: Arzu Gucer International Technical Support Organization, Austin Center Jackie Biggs and Warren Gill IBM USA Arcangelo Di Balsamo, Silvia Bellucci, Vinicio Bombacino, Paolo Deidda, Xavier Giannakopoulos, Domenico Di Giulio, Franco Mossotto, Monica Ross, Andrea Tortosa IBM Italy
xxvi
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Comments welcome
Your comments are important to us! We want our books to be as helpful as possible. Send us your comments about this book or other IBM Redbooks in one of the following ways: Use the online Contact us review Redbooks form found at: ibm.com/redbooks Send your comments in an e-mail to: redbooks@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400
Preface
xxvii
xxviii
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Part 1
Part
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Chapter 1.
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
Workload automation solutions should be supported by SOA, an open framework that enables IT organizations to easily build, deploy, and integrate business and IT workload processes. SOA can be key to dynamically reconfiguring the delivery of services according to business demand, helping to foster innovation and better align IT to business goals. SOA also enables open interfacing for the simplified integration of workload automation into the application and systems management paradigms. As the market evolves, the requirements for a job scheduling solution evolve too. The traditional scheduling that uses a calendar-based production workload planning and batch job execution is changing. Business needs for new scheduling requirements for platform or application agnostic scheduling, a single consolidated view of all scheduling points, event-based scheduling, and the use of virtualization with Grid computing technology exists today. These requirements will continue to evolve into a service-based scheduling. These requirements follow a process-driven model within a dynamic topology that uses service-oriented architecture integration or adapters based on standards such as Web services. These challenges can be effectively addressed by a dynamic end-to-end workload automation solution that provides a virtual point of control to implement standardized service execution processes and support a SOA. Solutions should be designed to respond quickly to service demands and changes in the IT environment, balance computing costs and service levels, and improve utilization of IT capacity. The right management tools should be able to: Support business processes and policies. Enable planned changes to business processes and the IT infrastructure. Adapt to unplanned incidences in the IT infrastructure. Maximize workload velocity. Optimize the utilization of IT resources. Adhere to stringent service level agreements (SLAs). Ensure adherence to compliance and governance requirements.
practices and expertise, and then you can execute processes in a consistent, error-free manner. The benefits of this solution provide an efficiency to business processes for your enterprise. The results are increasing customer satisfaction, reducing or eliminating complaints from Business Partners, improving the brand or company image, increasing sales that positively impact the bottom line, and allowing the business to be more competitive or flexible in your industry. IBM Tivoli Workload Automation solutions enable you to centrally manage IT workloads with complex dependencies that span multiple applications, systems, and business units, which include mainframe, distributed, Grid, and high-performance computing environments. As a result, you can dynamically route workloads to the best available resources, in real time and in line with changing business demands.
IBM Tivoli Workload Scheduler and IBM Tivoli Workload Scheduler for z/OS provide advanced workload planning and choreography services,
along with extensive calendar and event-triggering services for real-time, near-real-time, and batch workloads. They include open Java 2 Enterprise Edition (J2EE) and Web services interfaces to allow IT organizations to consolidate custom applications and services into the service execution process. They also include IBM Tivoli Dynamic Workload Console, which provides a single, Web-based point of control for the entire workload automation network, including the ability to manage workloads by exception, initiate actions, and generate reports. Tivoli Workload Scheduler for z/OS end-to-end is an additional scheduling feature of Tivoli Workload Scheduler and Tivoli Workload Scheduler for z/OS. With this feature, you can use the two scheduler products together to schedule workloads from your z/OS system and run jobs in both mainframe and distributed environments.
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
IBM Tivoli Workload Scheduler LoadLeveler delivers the ideal solution for
high-performance computing environments, such as financial modeling, research, or biotechnology simulations. It can be integrated with Tivoli Workload Scheduler networks through Tivoli Workload Scheduler for Virtualized Data Centers to allow enterprises to consolidate high-performance computing workloads with the service execution process.
IBM Tivoli Workload Scheduler for Virtualized Data Centers provides integration between IBM Tivoli Workload Scheduler and the Open Grid Services Architecture.
W orkload Scheduler
Batch scheduling, calendaring Workload planning Orchestration of jobs Centralized systems management Deadline scheduling
LoadLeveler
Parallel job scheduling Workload is defined by the Load balancing requirements of the job Jobs are assigned based on policy Resource pools are automatically detected Resource metering
QoS enforcement Job monitoring and control Thread level priorities Execution monitoring
Tivoli Workload Scheduler is the centralized job scheduler that allows you to do batch scheduling based on a calendar. You would plan the workload with dependencies between jobs within a job stream over a future time period. This software will then execute, also known as orchestrate, these job streams and allow centralized management for successful or exception handling for unsuccessful job execution. If necessary, due to workload delays, deadline scheduling can be handled by the software. Tivoli Workload Scheduler can be specified to suppress, continue, or cancel a job or job stream processing for the desired results. Tivoli Dynamic Workload Broker manages the workload submitted to it based on a resource allocation policy. A policy is defined by the workload administrator by criteria of available resources. The Tivoli Dynamic Workload Broker server software determines what hardware has the available resources required by the job. Clustered systems pooled together have Tivoli Dynamic Workload Broker agents that communicate with the server. These agents automatically detect the current state of resources. The server then determines the system with the agent
IBM Tivoli Workload Scheduler V8.4 and IBM Tivoli Dynamic Workload Broker V1.2
that has the resources based on the policy requirements for the job. The job is assigned and run on this resource. When completed, the agent communicates the job status back to the server. Tivoli Workload Scheduler LoadLeveler (LoadLeveler) is a parallel scheduling system that matches each job's processing needs and priority with available resources and special instructions for maximum resource utilization. It can track the total resources used by each serial or parallel job and offers several reporting options to track jobs and utilization by user, group, account, or type over a specified time period. LoadLeveler offers job checkpointing and suspension with optional job cancellation, hold, and re-queue. These capabilities provide great flexibility in defining real-time job and resource priority control. It delivers tight control of resources so that it can limit the use of individual machines to specific times, users, or job classes, or can use machines only when the keyboard and mouse are inactive. LoadLeveler also provides a single point of control for effective workload management, offers detailed accounting of system utilization for tracking or chargeback, and supports high availability configurations. Enterprise Workload Manager is an implementation of policy-based performance management. The scope of management is a set of servers that you logically group into what is called an Enterprise Workload Manager Management Domain. The set of servers included in the Management Domain has some type of relationship, for example, the set of servers supporting a particular line of business. The line of business may consist of multiple business processes spread across a few servers or a thousand servers. There is a management focal point for each Enterprise Workload Manager Management Domain, called the Enterprise Workload Manager domain manager. The domain manager coordinates policy actions across the servers, tracks the state of those servers, and accumulates performance statistics on behalf of the domain. On each server (operating system) instance in the management domain there is a thin layer of Enterprise Workload Manager logic installed called the Enterprise Workload Manager managed server. From one perspective, the managed server layer is positioned between applications and the operating system. The managed server layer understands each of the supported operating systems, gathering resource usage and delay statistics known to the operating system. A second role of the managed server layer is to gather relevant transaction-related statistics from middleware applications. The application middleware implementations, such as WebSphere Application Server, understand when a piece of work starts and stops, and the middleware understands when a piece of work has been routed to another server for processing, for example, when a Web server routes a servlet request to a WebSphere Application Server.
The managed server layer dynamically constructs a server-level view describing relationships between transaction segments known by the applications with resource consumption data known by the operating system. A summary of this information is periodically sent to the domain manager, where the information is gathered together from all the servers in the Management Domain to form a global view. See Figure 1-2.
IBM Software Group | Tivoli software
1 2 3