Front cover WebSphere Process Server for z/OS: Configuring a Network Deployment Environment Provides step-by-step configuration guides Includes WebSphere Process Server DB2 setup Describes a Network Deployment environment G Michael Connolly Jo Johnston Kevin Senior ibm.com/redbooks Redpaper International Technical Support Organization WebSphere Process Server for z/OS: Configuring a Network Deployment Environment February 2008 REDP-4388-00 Note: Before using this information and the product it supports, read the information in “Notices” on page v. First Edition (February 2008) This edition applies to Version 6, Release 0, Modification 2 of WebSphere Process Server (product number 5655-N53). © 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 Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii The team that wrote this paper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Chapter 1. WebSphere Application Server Network Deployment configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Initial software configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 WebSphere Application Server configuration . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Fill out the Configuration Planning Spreadsheet . . . . . . . . . . . . . . . . . . . . . 6 1.4.1 Security domain customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4.2 Deployment Manager customization . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4.3 Primary node customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter 2. WebSphere Process Server primary node configuration with DB2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.1 Configure WebSphere Process Server primary node . . . . . . . . . . . . . . . . 42 2.2 Augment the nodes to support WebSphere Process Server. . . . . . . . . . . 42 2.2.1 Prepare to work with DB2 z/OS and UNIX System Services . . . . . . 43 2.2.2 Augment the Deployment Manager node . . . . . . . . . . . . . . . . . . . . . 47 2.2.3 Augment the primary node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 © Copyright IBM Corp. 2008. All rights reserved. iii 2.3 Create WebSphere Process Server databases in DB2. . . . . . . . . . . . . . . 60 2.3.1 Plan the DB2 database names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.3.2 Create DB2 databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.3.3 Grant access to DB2 databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.3.4 Create DB2 tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4 Configure a WebSphere Process Server cluster. . . . . . . . . . . . . . . . . . . . 72 2.4.1 Configure the cluster and the first cluster member . . . . . . . . . . . . . . 73 2.4.2 Configure the SCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 2.4.3 Configure Common Event Infrastructure. . . . . . . . . . . . . . . . . . . . . 108 2.4.4 Configure business process container . . . . . . . . . . . . . . . . . . . . . . 128 2.4.5 Configure BPC Event Collector and BPC Observer . . . . . . . . . . . . 146 2.4.6 Complete the configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 2.4.7 Start the primary node server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 2.5 Verify installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Chapter 3. WebSphere Process Server for z/OS secondary node customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 3.1 WebSphere Process Server secondary node configuration steps . . . . . 181 Chapter 4. IBM HTTP Server for z/OS configuration . . . . . . . . . . . . . . . . 205 4.1 HTTP server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Appendix A. Errors we encountered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 GlobalMonitoringMbean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Human Task Container settings runtime configuration . . . . . . . . . . . . . . . . . 230 Failure to define business process container . . . . . . . . . . . . . . . . . . . . . . . . . 231 Appendix B. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 How to get Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 iv WebSphere Process Server for z/OS: Configuring a Network Deployment environment 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. © Copyright IBM Corp. 2008. All rights reserved. v 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. Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: Redbooks (logo) z/OS® zSeries® Cloudscape™ CICS® DB2® IBM® IMS™ MVS™ Parallel Sysplex® Redbooks® RACF® System z™ WebSphere® ® The following terms are trademarks of other companies: Java, JavaServer, JavaServer Pages, JDBC, JSP, JVM, J2EE, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, or service names may be trademarks or service marks of others. vi WebSphere Process Server for z/OS: Configuring a Network Deployment environment Preface WebSphere® Process Server for z/OS® forms part of the WebSphere Business Integration family of products that provide functionality for implementing Service-Oriented Architecture (SOA) on System z™. This paper provides a detailed step-by-step configuration guide to setting up a clustered WebSphere Application Server Network Deployment cell and a guide to implementing WebSphere Process Server with DB2® in that cell. We configure WebSphere Process Server this way because this type of cell is used in a typical customer production environment. It provides resilience and scalability. The team that wrote this paper This IBM® Redpaper was produced by a team of specialists from around the world working at the International Technical Support Organization, Poughkeepsie Center. G Michael Connolly is an IT consultant at the ITSO, Poughkeepsie Center. He has more than 30 years of IBM software development experience in both distributed systems and the mainframe zSeries®. He holds a BA in Humanities from Villanova University. His areas of expertise include TCP/IP communications, UNIX® System Services, EWLM, and WebSphere for z/OS. © Copyright IBM Corp. 2008. All rights reserved. vii Jo Johnston is an Accredited Senior IT Specialist, who has recently joined IBM's System z Technical Sales Team in the United Kingdom. She has worked on IBM mainframe systems as a systems programmer supporting MVS™, CICS®, DB2, and IMS™ for more than 30 years. She joined IBM in 2001 working in Strategic Outsourcing Commercial Platform Support where she provided day-to-day z/OS, CICS, DB2, and IMS support for customer systems that had been outsourced to IBM. She now specializes in WebSphere Business Integration products on System z with specific responsibility for WebSphere Application Server, WebSphere Process Server, and WebSphere Service Registry and Repository. Kevin Senior is an IBM certified IT Specialist working for the Cross Brand team within IBM Software Group Lab Services, which is part of the IBM Hursley Laboratory in the United Kingdom. He has 27 years’ experience at IBM as a Systems Programmer working with IMS, DB2, CICS, and WebSphere on z/OS, and he specializes in the latter two, this year covering WebSphere Portal Server and WebSphere Process Server for z/OS. For the ITSO, Kevin coauthored the IBM Redbooks®, WebSphere Application Server for z/OS V5 and J2EEWebSphere Application Server for z/OS V5 and J2EE 1.3 Security Handbook, SG24-6086, and z/OS Getting Started: WebSphere Process Server and WebSphere Enterprise Service Bus V6, SG24-7378. Although Kevin is English, he now lives in Italy and works throughout Europe. Thanks to the following people for their contributions to this project: Don Bagwell, John Hutchinson IBM Washington Systems Center Rich Conway International Technical Support Organization, Poughkeepsie Center John Cowel IBM US Russ Heald IBM Hursley Ron Lotter IBM Raleigh Mike Poirier, Dave Bonaccorsi IBM Middletown, RI Andrea Schuetz IBM Böblingen viii WebSphere Process Server for z/OS: Configuring a Network Deployment environment Become a published author Join us for a two- to six-week residency program! Help write a book dealing with specific products or solutions, while getting hands-on experience with leading-edge technologies. You will have the opportunity to team with IBM technical professionals, Business Partners, and Clients. Your efforts will help increase product acceptance and customer satisfaction. As a bonus, you will develop a network of contacts in IBM development labs, and increase your productivity and marketability. Find out more about the residency program, browse the residency index, and apply online at: ibm.com/redbooks/residencies.html Comments welcome Your comments are important to us! We want our papers to be as helpful as possible. Send us your comments about this paper 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 ix x WebSphere Process Server for z/OS: Configuring a Network Deployment environment 1 Chapter 1. WebSphere Application Server Network Deployment configuration In this chapter we describe the configuration of a WebSphere Process Server for z/OS horizontal cluster by starting with the setup of the WebSphere Application Server. (This chapter does not describe the System Modification Program/Extended (SMP/E) installation of the software.) When configuring our WebSphere Application Server cell, we used the spreadsheet in the white paper, WebSphere for z/OS - Configuration Planning Spreadsheet, PRS1331, on the IBM Techdocs site (http://www.ibm.com/support/techdocs/). The usage of this spreadsheet and of the many important best practices for configuring a WebSphere Application Server for z/OS cell are described in the white paper, WebSphere z/OS V6 WSC Sample ND Configuration, WP100653, which you can obtain here: http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100653 Although we illustrate how we used the spreadsheet to configure our cell, the choices we made may not be appropriate for your installation. For example, we did not configure our Deployment Manager so it could run on any Logical Partition (LPAR) as described in the white paper, WebSphere for z/OS Version 6 - Starting DMGR on Another MVS Image, WP100585. We strongly © Copyright IBM Corp. 2008. All rights reserved. 1 recommend you obtain the white papers WP100653 and WP100585 when configuring your cell and follow the best practices they describe. 1.1 Architecture We started by creating a Network Deployment cell comprising a daemon and a Deployment Manager. Next we augmented the Deployment Manager to support the WebSphere Process Server. We then created an empty node and augmented it to support the WebSphere Process Server. We refer to this first managed node as the “primary node.” Then we federated the augmented primary node into the Network Deployment cell. After the WebSphere Process Server was configured in the primary node, a secondary node was created on a separate LPAR; the secondary node was augmented to support the WebSphere Process Server and then federated into the cell. Then a horizontal cluster was created across the two nodes. The cell that we defined is a4cell. Initially this cell comprised only the Deployment Manager’s node, a4dmnode. Then the empty node a4nodea was defined but not federated. Prior to federation the empty node exists within a separate cell that, for our configuration, was called a4basea. That empty node was augmented to support the WebSphere Process Server. 2 WebSphere Process Server for z/OS: Configuring a Network Deployment environment The address spaces represented by the cell at this stage are illustrated in Figure 1-1 and are as follows: Daemon A4DEMN Primary node’s node agent A4AGNTA Network Deployment Manager A4DMGR Network Deployment Manager’s servant A4DMGRS SC48 LPAR – wtsc48.itso.ibm.com Cell a4cell Daemon A4DEMN DMGR Node a4dmnode Deployment Manager Cell a4basea Daemon A4DEMNA Node a4nodea Node Agent A4AGNTA Controller A4DMGR Servant A4DMGRS Admin DB2 Figure 1-1 Network Deployment cell A4 and the primary empty node Notice that no WebSphere Application Server exists at this stage. The application server is created later when the cluster is created. Notice also that the node agent, a4agnta, is shown in a dashed box because the empty node is unfederated at this stage. The node agent is not started until after the node is federated into the cell. After the empty node has been augmented to support the WebSphere Process Server for z/OS, it is federated into the cell by running the BBOWMNAN job. After the node has been federated, a cluster can be created together with the first cluster member. A cluster member is just another name for an application server instance that is part of a cluster. For our A4 cell we defined the cluster a4cl01 and Chapter 1. WebSphere Application Server Network Deployment configuration 3 the server a4sr01a. When the cluster and cluster member have been configured, the following WebSphere Process Server components can be configured: Service Component Architecture (SCA) Common Event Infrastructure (CEI) Business Process Choreographer (BPC) Business Process Choreographer Observer (BPCO) The configuration at this stage is illustrated in Figure 1-2. SC48 LPAR – wtsc48.itso.ibm.com Cell a4cell Daemon A4DEMN DMGR Node a4dmnode Deployment Manager Controller A4DMGR Servant A4DMGRS Admin Node a4nodea Node Agent A4AGNTA Cluster A4CL01 Server a4sr01a Controller A4SR01A Adjunct A4SR01AA Servant(s) A4SR01AS WPS DB2 Figure 1-2 A4 cell with federated primary node, cluster, and the first server When all the WebSphere Process Server for z/OS components have been configured, the server a4sr01a can be started and tested. The final stage is to define a secondary empty node on a second LPAR in your Parallel Sysplex®. That secondary node must be augmented to support WebSphere Process Server and then federated into the cell. Then a second cluster member (server) is created in the secondary node by cloning the first server. To create a horizontal cluster in this manner, a Parallel Sysplex configured with DB2 data sharing is a prerequisite. If you intend to use WebSphere MQ to 4 WebSphere Process Server for z/OS: Configuring a Network Deployment environment provide messaging services, you need to configure WebSphere MQ shared queues. The clustered environment is illustrated in Figure 1-3. DVIPA - a4.http.itso.ibm.com LPAR SC48 – wtsc48.itso.ibm.com LPAR SC52 – wtsc52.itso.ibm.com HTTP Server webwps48 a4cell HTTP Server webwps52 A4DEMN a4dmnode Deployment Manager CR A4DEMN A4AGNTA a4nodea Server A4SR01A a4nodeb Cluster A4CL01 SR SR CR Admin CRA A4AGNTB Server A4SR01B SR CR WPS WPS CRA D8I1 Shared DB2 database D8I3 RACF Shared RACF database RACF MQR1 Shared queues MQR3 Figure 1-3 A4 cell with federated, secondary node containing a second server One of the objectives of creating a horizontal cluster is to balance the workload across multiple LPARs. The IBM Sysplex Distributor can do that, but you need to define one or more distributed Dynamic Virtual IP Addresses (DVIPAs). In addition, to maintain HTTP session affinity to a particular server, you have to configure an HTTP server with the WebSphere plugin. We created an HTTP server on each LPAR, as shown inFigure 1-3. The distributed DVIPA a4.http.itso.ibm.com was configured to balance HTTP requests between these HTTP servers. Note: For each of the WebSphere Process Server components, we used separate DB2 databases to avoid duplicate table space names - in preference to using one DB2 database for everything. Chapter 1. WebSphere Application Server Network Deployment configuration 5 1.2 Initial software configuration We used the following software levels in our installation: z/OS V1.8 DB2 V8 (data store for the relational databases) WebSphere Application Server V6.0.2.19. WebSphere Process Server V6.0.2.1 (extension to V6.0.2.19) Note: We recommend using at least WebSphere Application Server Version 6.0.2.19 because it contains specific fixes that are required to enable WebSphere Process Server in a WebSphere Application Server cell. 1.3 WebSphere Application Server configuration In this section, we configure the WebSphere Application Server cell. In summary the process is as follows: 1. Plan the cell’s naming convention and port assignments by filling out the planning spreadsheet. 2. Configure the Security Domain. 3. Configure the Deployment Manager. 4. Configure the primary empty node, but stop before the step that federates the node into the cell. These steps are described in detail in the sections that follow. 1.4 Fill out the Configuration Planning Spreadsheet We downloaded a copy of the WebSphere Application Server for z/OS Configuration Planning Spreadsheet from the Techdocs Web site located at: http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS1331 Use the spreadsheet version that matches your WebSphere Application Server version. We chose the ISPF panel Version 6.0.2 (see Figure 1-4 on page 7). 6 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-4 Download the spreadsheet Chapter 1. WebSphere Application Server Network Deployment configuration 7 Fill in all the necessary values according to your naming conventions in the following worksheets: Variables Security Domain DMGR Empty Managed Node The other worksheets on the IBM Techdocs Web site are used for configuring a standalone server or for federating a standalone server into a network deployment server. Our completed spreadsheet is included in “Appendix B, “Additional material” on page 235.” 1.4.1 Security domain customization This section describes how to configure the security domain. Define variables We started the ISPF dialog by entering the TSO command shown in Figure 1-5. Figure 1-5 Open the WebSphere customization ISPF dialog This command is provided at the top of the Security Domain worksheet and can be copied from the spreadsheet into the command line in TSO. The ISPF Configuration dialog box opens. 1. First configure the security domain. a. Enter option 1, Configure a Security Domain. b. Select option 1, Allocate target data sets. 8 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-6 lists the data set names from the worksheet. Figure 1-6 Security Domain worksheet - data set names 2. Enter the high-level qualifier for the .CNTL and .DATA data set names from the worksheet into the ISPF dialog box (see Figure 1-7). Figure 1-7 ISPF dialog Allocate Target Data Sets 3. Press Enter to allocate the .CNTL and .DATA data sets. Then select option 2, Define variables. At this point, you fill in the variables you entered in the configuration spreadsheet. If your RACF® administrator is using AUTOGID and AUTOUID to assign GIDs and UIDs, you do not need to worry about the numbers entered on this panel at this stage. The BBOSBRAK member that is generated in the .DATA data set can be edited to include AUTOGID and AUTOUID. Then, when the groups and userids have been created, you can come back to the WebSphere ISPF customization dialog and enter the numbers that were assigned before proceeding to the BBOSBRAM job. Chapter 1. WebSphere Application Server Network Deployment configuration 9 Figure 1-8 shows the first part of the Security Domain Configuration spreadsheet. Figure 1-8 Security Domain Configuration worksheet (1 of 2) 10 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-9 shows the variables entered into the ISPF panel. Figure 1-9 ISPF panel Security Domain Configuration (1 of 2) Chapter 1. WebSphere Application Server Network Deployment configuration 11 Figure 1-10 shows the second part of the Security Domain Configuration worksheet. Figure 1-10 Security Domain Configuration worksheet (2 of 2) 12 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-11 shows the second part of the ISPF dialog, Security Domain Configuration. Figure 1-11 ISPF dialog Security Domain Configuration (2 of 2) 4. After entering the variables into the ISPF panels, select option 3, Save security domain variables. We saved them to data set A4CELL.A4SECDM.SAVECFG. 5. Select option 4, Generate customization jobs, which will generate the jobs and parameters in the target data sets created earlier. 6. When the Generate customization jobs panel prompts you for a valid jobcard, select option 5, View instructions. This step displays member BBOSDINS on the target CNTL library. In our configuration, the CNTL library is A4CELL.A4SECDM.CNTL. Chapter 1. WebSphere Application Server Network Deployment configuration 13 Run the jobs To run the generated jobs, follow the instructions provided in member BBOSDINS. Note: We performed the configuration using a userid that did not have UID(0). Instead our userid had access to the following UNIXPRIV RACF profiles: CONTROL access to SUPERUSER.FILESYS UPDATE access to SUPERUSER.FILESYS.MOUNT READ access to SUPERUSER.FILESYS.CHOWN READ access to SUPERUSER.FILESYS.CHANGEPERMS READ access to SUPERUSER.FILESYS.PFSCTL Access to these UNIXPRIV profiles meant that we did not require UID=0 to run job BBOSBRAM or any subsequent jobs that required UID=0 according to the instructions in BBOSDINS. 1.4.2 Deployment Manager customization Define variables When all Security Domain Configuration jobs have been run successfully, go back to the entry panel of the customization dialog. 1. Select option 2, Create Network Deployment cells and nodes. 2. Select option 1, Create Network Deployment cell. 3. Select option 1, Load security domain variables. 4. On the next panel, enter the name of the data set containing the security domain variables, which in our case is A4CELL.A4SECDM.SAVECFG. 5. Select option 2, Allocate target data sets. Figure 1-12 lists the target data set names from our spreadsheet. Figure 1-12 Target data set names 6. After allocating the data sets, select option 3, Define variables, which takes you to the ISPF panel Define Variables to Configure Deployment Manager Node. 7. Select option 1, System Locations. 14 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Fill in the variables you entered in the DMGR worksheet for the Deployment Manager configuration. Figure 1-13 shows the first part of the System Locations worksheet as we defined it in our installation. Figure 1-13 System Locations worksheet (1 of 2) Chapter 1. WebSphere Application Server Network Deployment configuration 15 Figure 1-14 shows the variables as entered into the ISPF panel Systems Locations (1 of 2). Figure 1-14 ISPF panel System Locations (1 of 2) Figure 1-15 shows the second part of the System Locations worksheet. The path to the WebSphere Application Server product directory should not be the mount point of the HFS/ZFS that contains the WebSphere Application Server for the z/OS product. Instead you should create an intermediate symbolic link that references the physical mount point. Figure 1-15 System Locations worksheet (2 of 2) 16 WebSphere Process Server for z/OS: Configuring a Network Deployment environment For a full explanation of the importance of using intermediate symbolic links, refer to the previously cited white paper WP100653 and to the white paper, WebSphere Application Server for z/OS - Planning for Test, Production and Maintenance, WP100396, which you can obtain from: http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/Techdocs Figure 1-16 shows the variables as entered into the ISPF panel System Locations (2 of 2). Figure 1-16 ISPF panel System Locations (2 of 2) 8. After you enter all variables for the System Locations panels, select option 2, System Environment Customization. Here you fill in the variables you entered in the configuration worksheet for the System Environment Customization part of the Deployment Manager configuration. Chapter 1. WebSphere Application Server Network Deployment configuration 17 Figure 1-17 shows the System Environment Customization worksheet (1 of 2) as we defined it for our installation. You will note a third panel in the ISPF dialog box; this third panel is not currently in the planning spreadsheet. Thus, on the spreadsheet, you will find System Environment Customization (1 of 2) and (2 of 2), whereas on the ISPF panels, you will find System Environment Customization (1 of 3), (2 of 3), and (3 of 3). Figure 1-17 System Environment Customization worksheet (1 of 2) Figure 1-18 shows the data as entered into the ISPF panel System Environment Customization (1 of 3). Figure 1-18 DMGR ISPF panel System Environment Customization (1 of 3) 18 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-19 shows the System Environment Customization worksheet (2 of 2) with the values set for our environment. Figure 1-19 DMGR System Environment Customization worksheet (2 of 2) Figure 1-20 shows the data as entered into the ISPF panel System Environment Customization (2 of 3). For a production cell, you should define the error log stream as resident in the coupling facility. Because the configuration of our system was solely for testing, we set the Is log stream CF resident? field to N. d Figure 1-20 DMGR ISPF panel System Environment Customization (2 of 3) Because ours was a test cell, we also reduced the space allocations on the log data sets from 3,000 to 300. Chapter 1. WebSphere Application Server Network Deployment configuration 19 Note: If you decide to use a log stream, you must first define a structure to the coupling facility to hold the log streams and then add the log streams to that structure. The same error log stream can be shared by all servers in a cell; however, you may prefer to define a separate log stream for each cluster. JCL for defining a log structure can be found in member BBORRSLC in WebSphere’s SBBOJCL. Although this JCL is an example for setting up log streams for Resource Recovery Services (RRS), you can use DEFINE STRUCTURE as an example when creating a structure for the error log structure. JCL for defining the error log stream is customized in member BBOERRLG when you configure the Deployment Manager. For our A4 cell, for example, the BBOERRLG job was in A4CELL.A4DMGR.CNTL(BBOERRLG). Figure 1-21 shows the data as entered into the ISPF panel System Environment Customization (3 of 3) to configure the CTRACE. Figure 1-21 DMGR ISPF panel System Environment Customization (3 of 3) Setting this parameter only tells WebSphere the suffix of its CTIBBOxx member in SYS1.PARMLIB where “xx” is the suffix you specify on the panel. For instructions on enabling CTRACE, refer to the chapter, “Setting up component trace (CTRACE),” in the Infocenter article, WebSphere Application Server (z/OS), V 6.0.x. You can access the article here: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.zseries.doc/info/zseries/ae/ttrb_setupCTRACE.html We have summarized the steps we performed when setting up CTRACE in “Set up CTRACE” on page 27. 20 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 9. When the System Environment Customization is complete, select option 3, Server Customization. Fill in the variables you entered in the spreadsheet for the Server Customization part of the DMGR Customization worksheet. Figure 1-22 shows part (1 of 4) of the Server Customization from the DMGR’s worksheet as we defined it for our installation. Figure 1-22 DMGR Server Customization worksheet (1 of 4) Chapter 1. WebSphere Application Server Network Deployment configuration 21 Figure 1-23 shows the equivalent data as entered into the first ISPF panel Server Customization (1 of 4) when configuring the Deployment Manager. Figure 1-23 DMGR ISPF panel Server Customization (1 of 4) 22 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-24 shows part of the Server Customization worksheet (2 of 4) as we defined it for our installation. Figure 1-24 DMGR Server Customization worksheet (2 of 4) Figure 1-25 shows the equivalent data as entered into the ISPF panel Server Customization (2 of 4) when configuring the Deployment Manager. Figure 1-25 DMGR ISPF panel Server Customization (2 of 4) Chapter 1. WebSphere Application Server Network Deployment configuration 23 Figure 1-26 shows part of the Server Customization worksheet (3 of 4) as we defined it for our installation. Figure 1-26 DMGR Server Customization worksheet (3 of 4) 24 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-27 shows the equivalent data as entered into the ISPF panel Server Customization (3 of 4) when configuring the Deployment Manager. Figure 1-27 ISPF panel Server Customization (3 of 4) Chapter 1. WebSphere Application Server Network Deployment configuration 25 Figure 1-28 shows part of the Server Customization worksheet (4 of 4) as we defined it for our installation. Figure 1-28 Server Customization worksheet (4 of 4) Figure 1-29 shows the equivalent data as entered into the ISPF panel Server Customization (4 of 4) when configuring the Deployment Manager. Figure 1-29 ISPF panel Server Customization (4 of 4) 26 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 10.After you enter all variables, you select option 4, View Security Domain Configuration Panels and verify that the variables displayed are what you expect for the cell you are configuring. Run the jobs Follow the instructions in member BBOCCINS. We ran all the jobs detailed in the instructions without using UID=0. Job BBODBRAJ customizes Resource Access Control Facility (RACF) commands into member BBODBRAK in the .DATA library. We recommend you review these commands carefully with your RACF administrator before submitting job BBODBRAK, which executes them. We made changes to the profiles to convert them into generic profiles that apply to any server in the cell. For example, we created a RACF STARTED class profile in the form A4*.* to associate all started tasks that began with the string “A4” with the controller userid, A4ACRU. Later we defined additional generic profiles in the form A4%%%%%A.* and A4%%%%%S.* to associate the userid A4ASRU with the adjunct and the servant. For details, see “Set up RACF profiles for the servant and adjunct” on page 45. You can read about customizing these profiles to be more generic in the white paper, WebSphere z/OS V6 - WSC Sample ND Configuration, WP100653, which can be obtained from the Techdocs Library Web site: http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/Techdocs After all jobs complete successfully, we started the Deployment Manager. We checked the job logs for errors and the location of the ffdc logs to see if any log files had been created. The location of the ffdc logs is: <dmgr_root>/profiles/default/logs/ffdc In our case, the value of <dmgr_root> was: /wasa4config/a4cell/a4dmnode/DeploymentManager Set up CTRACE For instructions on enabling CTRACE, refer to the chapter “Setting up component trace (CTRACE)” in the Infocenter article, WebSphere Application Server (z/OS), Version 6.0.x. That information can be accessed at: http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/ com.ibm.websphere.zseries.doc/info/zseries/ae/ttrb_setupCTRACE.html Chapter 1. WebSphere Application Server Network Deployment configuration 27 When you configure the WebSphere cell using the WebSphere Application Server for z/OS ISPF dialogs, you specify the suffix of the SYS1.PARMLIB CTIBBOxx member that contains the CTRACE parameters used by the cell. The suffix you enter on the ISPF panel is the WebSphere environment variable ras_trace_ctraceParms. You must manually create this member. Example 1-1 shows the CTIBBOA4 member we coded for use by our A4 cell. Example 1-1 SYS1.PARMLIB member CTIBBOA4 /* ================================================================ */ /* CTIBBOA4 for A4 cell */ /* ================================================================ */ TRACEOPTS /* ---------------------------------------------------------------- */ /* -Start a ctrace writer. Remove comments to start the PROC */ /* during CB Series address space initialization. */ /* ---------------------------------------------------------------- */ WTRSTART(A4BBOWTR) */ /* */ /* ---------------------------------------------------------------- */ /* -Indicate that tracing is active for CB Series: */ /* ---------------------------------------------------------------- */ OFF /* ---------------------------------------------------------------- */ /* -Connect to ctrace external writer (BBOWTR): */ /* (Note that the WTR value must match the value for the started */ /* ctrace external writer, wtrstart.) */ /* ---------------------------------------------------------------- */ WTR(A4BBOWTR) Notice that we decided to have the trace writer start automatically when any component of the cell is started. We also decided to set CTRACE to OFF, preferring to manually enable CTRACE when required using the z/OS TRACE command. 28 WebSphere Process Server for z/OS: Configuring a Network Deployment environment You must also create JCL in SYS1.PROCLIB for the task started by trace writer. The JCL we used is shown in Example 1-2. Notice the use of the variable &SYSCLONE. Because this JCL procedure will be shared across the sysplex, you must use a variable like &SYSCLONE so that a separate CTRACE data set is used on each LPAR. Example 1-2 JCL for the A4 cell task started by CTRACE writer //A4BBOWTR PROC //BBOWTR EXEC PGM=ITTTRCWR,REGION=32M //TRCOUT01 DD DISP=SHR,DSN=A4CELL.SC&SYSCLONE..CTRACE // The data set specified on the TRCOUT01 DD statement in Example 1-2 must be created manually using JCL as shown in Example 1-3. It is important to specify the DSORG=PS parameter. Example 1-3 Allocate a CTRACE data set // EXEC PGM=IEFBR14 //TRACE1 DD DSN=A4CELL.SC48.CTRACE,UNIT=3390,VOL=SER=HPK19A, // SPACE=(CYL,(20,0)),DISP=(NEW,CATLG),DSORG=PS //TRACE2 DD DSN=A4CELL.SC52.CTRACE,UNIT=3390,VOL=SER=HPK19A, // SPACE=(CYL,(20,0)),DISP=(NEW,CATLG),DSORG=PS 1.4.3 Primary node customization This section describes how to customize the primary node. Define variables When the Deployment Manager has been configured and started successfully, go back to the entry panel of the customization dialog. We started the ISPF dialog by entering the following TSO command. Note that we used a new APPL(A4NA) so the variables for the primary node (node A) were separate from those used for the Deployment Manager (see Figure 1-30). Figure 1-30 Start the WebSphere customization ISPF dialog for primary empty node Chapter 1. WebSphere Application Server Network Deployment configuration 29 1. Select option 2, Create Network Deployment cells and nodes. 2. Select option 2, Create an empty managed node. 3. Select option 1, Load security domain variables. 4. On the next panel, enter the name of the data set containing the security domain variables, which in our case is A4CELL.A4SECDM.SAVECFG. 5. Select option 2, Allocate target data sets. Figure 1-31 lists the target data set names from our spreadsheet. Figure 1-31 Empty node A target data set names 6. After allocating the data sets, select option 3, Define variables. You access the ISPF panel Define Variables to Configure a Managed Node. 7. Select option 1, System Locations. At this point, you must fill in the variables you entered in the configuration worksheet for the Empty Managed Node configuration. Figure 1-32 shows the first part of the System Locations spreadsheet as we defined it in our installation. Figure 1-32 System Locations worksheet (1 of 2) 30 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-33 shows the variables as entered into the ISPF panel System Locations (1of 2). Figure 1-33 ISPF panel System Locations (1 of 2) Figure 1-34 shows the second part of the System Locations worksheet. Figure 1-34 System Locations worksheet (2 of 2) Chapter 1. WebSphere Application Server Network Deployment configuration 31 Figure 1-35 shows the variables as entered into the ISPF panel System Locations (2 of 2). Figure 1-35 ISPF panel System Locations (2 of 2) 8. After you enter all variables for the System Locations panels, select option 2, System Environment Customization. Here you fill in the variables you entered in the configuration spreadsheet for the System Environment Customization part of the Empty Managed Node configuration. Figure 1-36 shows the System Environment Customization worksheet (1 of 4) as we defined it for our installation. Figure 1-36 System Environment Customization worksheet (1 of 1) 32 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-37 shows the data as entered into the ISPF panel System Environment Customization (1 of 3). Figure 1-37 System Environment Customization worksheet (1 of 3) for empty node The spreadsheet does not include sections for System Environment Customization (2 of 3) and System Environment Customization (3 of 3), but the values you need to enter are the same as those shown for the identical panels in the DMGR worksheet. Figure 1-38 shows the data as entered into the ISPF panel System Environment Customization (2 of 3) when configuring an empty managed node. Figure 1-38 System Environment Customization (2 of 3) for empty node Chapter 1. WebSphere Application Server Network Deployment configuration 33 Figure 1-39 shows the data as entered into the ISPF panel System Environment Customization (3 of 3) when configuring an empty managed node. Figure 1-39 ISPF panel System Environment Customization (3 of 3) for empty node 9. When the System Environment Customization is complete, select option 3, Server Customization. Fill in the variables you entered in the configuration spreadsheet for the Server Customization worksheet part of the Empty Managed Node configuration. Figure 1-40 shows part (1 of 4) of the Empty Managed Node Customization worksheet as we defined it for our installation. Figure 1-40 Server Customization worksheet (1 of 4) for empty managed node 34 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-41 shows the equivalent data entered into the first ISPF panel Server Customization (1 of 4) when configuring an empty node. Figure 1-41 ISPF panel Server Customization worksheet (1 of 4) for empty managed node Chapter 1. WebSphere Application Server Network Deployment configuration 35 Figure 1-42 shows part (2 of 4) of the Server Customization worksheet as we defined it for our installation. Figure 1-42 Server Customization worksheet (2 of 4) for empty managed node 36 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-43 shows the equivalent data as entered into the ISPF panel Server Customization (2 of 4) when configuring an empty managed node. Figure 1-43 ISPF panel Server Customization (2 of 4) for empty managed node Figure 1-44 shows part of the Server Customization worksheet (3 of 4) as we defined it for our installation when configuring an empty managed node. Figure 1-44 Server Customization worksheet (3 of 4) for empty managed node Chapter 1. WebSphere Application Server Network Deployment configuration 37 Figure 1-45 shows the equivalent data as entered into the ISPF panel Server Customization (3 of 4) when configuring an empty managed node. Figure 1-45 ISPF panel Server Customization (3 of 4) for empty managed node 38 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 1-46 shows part of the Server Customization worksheet (4 of 4) as we defined it for our installation when configuring an empty managed node. Figure 1-46 Server Customization worksheet (4 of 4) for empty managed node Chapter 1. WebSphere Application Server Network Deployment configuration 39 Figure 1-47 shows the equivalent data as entered into the ISPF panel Server Customization (4 of 4) when configuring an empty managed node. Figure 1-47 ISPF panel Server Customization (4 of 4) for empty managed node 10.After you enter all variables, select option 4, View Security Domain Configuration Panels and verify that the variables displayed are what you expect for the cell you are configuring. Run the jobs Follow the instructions in member BBOMNINS; however, do not run BBOWMNAN at this time. Stop after you have run the job BBOMHFSB. We ran these jobs without using UID=0. 40 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 2 Chapter 2. WebSphere Process Server primary node configuration with DB2 After you create a WebSphere Application Server cell with a Deployment Manager and a primary empty node, you can add WebSphere Process Server to the cell. This chapter describes the process you use to do so. You start by working with the Deployment Manager and the primary node. Once you have a working WebSphere Process Server in the primary node, you can add secondary nodes to the cluster. © Copyright IBM Corp. 2008. All rights reserved. 41 2.1 Configure WebSphere Process Server primary node The main steps involved in configuring WebSphere Process Server in the primary node are as follows: 1. Augment the Deployment Manager’s node and the empty node to support WebSphere Process Server. 2. Create the WebSphere Process Server databases in DB2 z/OS. 3. Configure a WebSphere Process Server cluster with a cluster member (server). The following WebSphere Process Server components are added to the cluster in this phase: – – – – – Service Component Architecture (SCA) Enterprise Service Bus (ESB) Common Event Infrastructure (CEI) Business Process Choreographer (BPC) Business Process Choreographer Observer (BPCO) 4. Run the installation verification programs (IVPs). 2.2 Augment the nodes to support WebSphere Process Server In this section, we describe how the WebSphere Application Server cell is augmented to support WebSphere Process Server for z/OS and how the empty node is federated into the cell. In addition, we explain how to prepare the cell so it can work with DB2. In summary the steps are as follows: 1. Prepare to work with DB2 z/OS and UNIX System Services. 2. Augment the Deployment Manager’s node. 3. Augment the empty node and federate it into the cell. These steps are described in the sections that follow. 42 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 2.2.1 Prepare to work with DB2 z/OS and UNIX System Services Before starting to augment the cell, you prepare the UNIX environment of the userid that will run the jobs. In addition, you prepare the cell to work with DB2 on z/OS. 1. Update the started task JCL so it contains the DB2 libraries. 2. Create a DB2 JCC properties file that determines which DB2 system the WebSphere Process Server will work with. 3. Create RACF userids and groups to support the userids that will be used to access DB2 and the many roles that WebSphere Process Server uses. 4. Create RACF STARTED class profiles for the servant and adjunct that are created later. 5. Set up the UNIX System Services environment for the userid that will configure WebSphere Process Server. These steps are described in the sections that follow. Add DB2 libraries to the started task JCL WebSphere Process Server accesses DB2 for z/OS, and the DB2 load libraries must be added to the STEPLIB of the servant regions (including the adjunct) if they are not defined in the system LINKLST. 1. First we updated the following members of SYS1.PROCLIB: – A4MGSRZ – A4CRAAZ – A4ASRAZ 2. We added the highlighted SDSN* libraries: //STEPLIB // // // // DD DD DD DD DD DISP=SHR,DSN=BB46048.SBBOLD2 DISP=SHR,DSN=BB46048.SBBOLOAD DISP=SHR,DSN=DB8IU.SDSNEXIT DISP=SHR,DSN=DB8I8.SDSNLOAD DISP=SHR,DSN=DB8I8.SDSNLOD2 Note that the customized SDSNEXIT DD statement must occur before the SDSNLOAD DD statement. Any libraries added to the WebSphere STEPLIBs must be authorized by APF and program-controlled by RACF. For example, we used the following command to program-control the SDSNLOD2 library: RALT PROGRAM * ADDMEM('DB8I8.SDSNLOD2'//NOPADCHK) Chapter 2. WebSphere Process Server primary node configuration with DB2 43 Create a DB2 JCC properties file When using a type 2 JDBC connection to DB2 z/OS, the name of the DB2 subsystem you wish to connect to is specified on the property db2.jcc.ssid, which is held within a DB2 JCC properties file. We recommend you give some thought to the name of the DB2 JCC properties file. WebSphere locates this file because the JVM™ argument db2.jcc.propertiesFile sets the specific location of the file. (That JVM argument is set by the zWPSConfig.sh script that you run later.) When you use db2.jcc.propertiesFile to set the location of the JCC properties file, you can call the file anything you like. However, when a batch job or a shell has to make requests to DB2 over a JDBC type 2 connection, it often does not pass property db2.jcc.propertiesFile to specify the location of the DB2 JCC properties file. In that case, DB2 searches the classpath for the file DB2JccConfiguration.properties. If it fails to find a file of that name, DB2 tries to contact the DB2 whose SSID is coded in the DSNHEDCP module located in the customized SDSNEXIT library. We created a directory /u/db8iu for the file and named our file properties. Both the userid running the configuration jobs and the userid of the Application Server Control Region require read access to the file. In the .profile shown later in Example 2-2 on page 46, we included the following statement: export STEPLIB=DB8IU.SDSNEXIT ... The DSNHDECP module in the customized DB8IU.SDSNEXIT contained the correct SSID for our DB2; therefore, batch jobs or shells running under this .profile can connect to the correct DB2 because of the STEPLIB setting. Alternatively, if you create your JCC properties file as /u/db8i/DB2JccConfiguration.properties, you can add the directory /u/db8i to the classpath within the .profile. The DB2JccConfiguration.properties file in the classpath takes precedence over DSNHDECP in the SDSNEXIT library. Whatever approach you decide to take, you have to create a DB2 JCC properties file containing the property db2.jcc.ssid. For our DB2 system we coded db2.jcc.ssid=D8I1. In our case, D8I1 is the DB2 subsystem’s member name, not the group-sharing name, but you can code the group-sharing name. 44 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Set up RACF userid and group We used job A4RACF to create the RACF users and groups shown in Figure 2-1. Figure 2-1 RACF users and groups for A4 cell Set up RACF profiles for the servant and adjunct RACF-started class profiles are needed to provide userids for the servant and adjunct that will be created later. Normally these profiles are created by job BBOCBRAK when you configure a standalone server, but because we are working with an empty node these profiles have to be created manually. We created the following generic profiles: RDEF STARTED A4%%%%%A.* RDEF STARTED A4%%%%%S.* STDATA(USER(A4ASRU) GROUP(A4CFG) TRACE(YES)) STDATA(USER(A4ASRU) GROUP(A4CFG) TRACE(YES)) Note: We also created the following generic profile that assigned the controller userid to all controllers and daemons: RDEF STARTED A4*.* STDATA(USER(A4ACRU) GROUP(A4CFG) TRACE(YES)) Chapter 2. WebSphere Process Server primary node configuration with DB2 45 If you do not create these profiles, the servant and the adjunct start up with the wrong userid, which may cause access problems (see Example 2-1). Example 2-1 RACF access error ICH408I USER(STC ) GROUP(SYS1 ) NAME(STARTED TASK A4CELL.ERROR.LOG CL(LOGSTRM ) INSUFFICIENT ACCESS AUTHORITY ACCESS INTENT(UPDATE ) ACCESS ALLOWED(READ ) ) In addition, you must permit read access to the CBIND profiles. We gave our RACF group A4CFG access using the following commands: pe CB.BIND.A4.* class(CBIND) id(A4CFG) setr raclist(CBIND) refresh pe CB.A4.* class(CBIND) id(A4CFG) setr raclist(CBIND) refresh Set up UNIX System Services For each of the userids created in the previous step, you must create a home directory. Userids running a job must have a .profile file in their home directory, which gives them access to java and db2jcc. Example 2-2 lists the statements in the .profile. Example 2-2 Our .profile contents PATH=$PATH:$HOME: #JAVA export PATH=/usr/lpp/java/J1.4/bin:$PATH export JAVA_HOME=/usr/lpp/java/J1.4 #DB2 both JDBC and JCC export LIBPATH=/usr/lpp/db2/d8ig/jcc/lib:/usr/lpp/db2/d8ig/lib:$LIBPATH export STEPLIB=DB8IU.SDSNEXIT:DB8I8.SDSNLOAD:DB8I8.SDSNLOD2 #### #JCC PATH=/usr/lpp/db2/d8ig/jcc/bin:$PATH unset CLASSPATH CLASSPATH=/usr/lpp/db2/d8ig/jcc/classes/db2jcc.jar:/usr/lpp/db2/d8ig /jcc/classes/db2jcc_javax.jar CLASSPATH=$CLASSPATH:/usr/lpp/db2/d8ig/jcc/classes/sqlj.zip:/usr/lpp /db2/d8ig/jcc/classes/db2jcc_license_cisuz.jar CLASSPATH=$CLASSPATH:. export CLASSPATH PATH 46 WebSphere Process Server for z/OS: Configuring a Network Deployment environment To test this access, run OMVS from the userid running the jobs and issue the command java -fullversion. Example 2-3 shows our output. Example 2-3 java -fullversion command and output ERDMANN:/SC48/var/WebSphere/home/A4SRG: >java -fullversion java full version "J2RE 1.4.2 IBM z/OS Persistent Reusable VM build cm142-20061124 (SR7)" Issue command db2jcc -version. Example 2-4 shows output from this command. Example 2-4 db2jcc -version command and output ERDMANN:/SC48/var/WebSphere/home/A4SRG: >db2jcc -version IBM DB2 JDBC Universal Driver Architecture 2.10.59 2.2.2 Augment the Deployment Manager node Augmenting the Deployment Manager’s node to support WebSphere Process Server consists of the following steps: 1. Back up the WebSphere Application Server configuration data sets. 2. Run zSMPInstall against the Deployment Manager’s node. 3. Customize a DmgrDB2.rsp response file. 4. Run zWPSConfig.sh against the Deployment Manager’s node. 5. Run fixWPSvars.jacl to complete the configuration of the resources in the Deployment Manager. These steps are described in the sections that follow. Back up the WebSphere Application Server configuration Back up the configuration HFS or ZFS data sets. We used the JCL shown in Example 2-5. Example 2-5 JCL to back up WebSphere Application Server configuration //DUMP EXEC PGM=ADRDSSU //DASD DD DISP=(NEW,CATLG),DSN=A4CELL.WAS.BASE.DUMP, // UNIT=3390,SPACE=(CYL,(500,100),RLSE),VOL=SER=TSTO51 //SYSPRINT DD SYSOUT=* Chapter 2. WebSphere Process Server primary node configuration with DB2 47 //SYSIN DD * DUMP DATASET( INCLUDE( OMVS.WAS6.A4CELL.A4DMNODE.CONFIG.HFS OMVS.WAS6.A4CELL.A4NODEA.CONFIG.HFS - ) ) OUTDD(DASD) TOL(ENQF) - /* Note: The JCL examples in this chapter are provided in Appendix B, “Additional material” on page 235. Run the zSMPInstall script for the Deployment Manager At this point, you should stop the Deployment Manager if it is running. To start the process of running the script, we first ran the shell script zSMPInstall.sh by submitting job A4INSDM, as shown in Example 2-6. Example 2-6 Job A4INSDM //***********************************************************/ //* STEP TO CREATE LINKS TO WPS LIBRARIES */ //***********************************************************/ //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4dmnode/DeploymentManager/bin; + /usr/lpp/zWPSA4/V6R0/zos.config/bin/zSMPInstall.sh + '-smproot /usr/lpp/zWPSA4/V6R0' + '-runtime /wasa4config/a4cell/a4dmnode/DeploymentManager' + '-install' + 1> /tmp/installonly_1032.out + 2> /tmp/installonly_1032.err //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB46048.SBBOEXEC //SYSTSPRT DD SYSOUT=* 48 WebSphere Process Server for z/OS: Configuring a Network Deployment environment //SYSTSIN DD * BBOHFSWR '/tmp/installonly_1032.out' BBOHFSWR '/tmp/installonly_1032.err' /* // Note: All jobs discussed in this chapter, including A4INSDM, are included in Appendix B, “Additional material” on page 235. The output from this job should look like that shown in Example 2-7. Example 2-7 A4INSDM job output BBOHFSWR CWPIZ0253I: CWPIZ0254I: CWPIZ0255I: CWPIZ0256I: CWPIZ0257I: CWPIZ0259I: CWPIZ0260I: CWPIZ0262I: CWPIZ0263I: CWPIZ0264I: READY '/tmp/installonly_1032.out' parsing command arguments... parsing arguments complete setting up configuration... set up configuration complete creating the symbolic links... creation of symbolic links complete doing post install file updates... post install updates complete running Configuration Manager update... Configuration Manager update complete If any errors occur in the job output, look at the following logs: /<dmgr_root>/logs/events_install_msg.log /<dmgr_root>/logs/events_install_trc.log /<dmgr_root>/logs/wbi/100SUpgradeCoreAdminConsolePlugins.ant.log /<dmgr_root>/logs/wbi/101SUpgradeServerAdminConsolePlugins.ant.log /<dmgr_root>/logs/wbi/101SWbiWebuiUpgrade.ant.log /<dmgr_root>/logs/wbi/102SUpgradeIscdeploy.ant.log /<dmgr_root>/logs/wbi/90SConfigNoProfileFirstStepsESB.ant.log /<dmgr_root>/logs/wbi/90SConfigNoProfileFirstStepsWBI.ant.log /<dmgr_root>/logs/wbi/90SConfigureWSProfileForWBI.ant.log /<dmgr_root>/logs/wbi/90SInstallCEI.ant.log /<dmgr_root>/logs/wbi/90SUpdateJavaOptions.ant.log /<dmgr_root>/logs/wbi/91SConfigNoProfileFirstStepsCharset.ant.log /<dmgr_root>/logs/wbi/98SDeployBPCAdminConsolePlugins.ant.log /<dmgr_root>/logs/wbi/98SDeployServerAdminConsolePlugins.ant.log /<dmgr_root>/logs/wbi/99SDeployCoreAdminConsolePlugins.ant.log /<dmgr_root>/logs/wbi/cmtInstall.log /<dmgr_root>/logs/wbi/cmtInstall.log.lck Chapter 2. WebSphere Process Server primary node configuration with DB2 49 /<dmgr_root>/logs/wbi/zSMPInstall.log /<dmgr_root>/logs/wbi/zSMPInstall.trace In our configuration, <dmgr_root> is: /wasa4config/a4cell/a4dmnode/DeploymentManager Customize the DmgrDB2 response file We copied the DmgrDB2.rsp response file from /<wps_install_root>/zos.config/ to a work directory. In our case, <wps_install_root> is: /usr/lpp/zWPSA4/V6R0 And the work directory is: /u/seniokj/wpswork. In this step, you have to edit the file and remove all unprintable characters. We set up the values as shown in Example 2-8. The userid running the configuration jobs must have read access to this file. Example 2-8 DmgrDB2.rsp response file JMSUSER=a4jmsu JMSPASS=a4jmsu CONFIGSERVER=dmgr DBPRODUCT=DB2UDBOS390_V8_1 DBLOCATION=DB8I DBPROPERTIES=/u/db8iu/properties DBJDBCCLASSPATH=/usr/lpp/db2/d8ig/jcc/classes DBUSER=a4dbu DBPASS=a4dbu DBHOSTNAME=db8i.wtscplx1.itso.ibm.com DBSERVERPORT=38100 augment profileName=default profilePath=/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/def ault templatePath=/wasa4config/a4cell/a4dmnode/DeploymentManager/profileTemp lates/dmgr.* cellName=a4cell nodeName=a4dmnode serverName=$CONFIGSERVER dbCreateNew=false dbDelayConfig=true configureScaSecurity=true scaSecurityUserId=$JMSUSER 50 WebSphere Process Server for z/OS: Configuring a Network Deployment environment scaSecurityPassword=$JMSPASS configureAppScheduler=false appSchedulerServer=$CONFIGSERVER dbName=A4WPSDB dbStorageGroup=A4DBSTO dbType=$DBPRODUCT dbConnectionLocation=$DBLOCATION dbJDBCProperties=$DBPROPERTIES dbJDBCClasspath=$DBJDBCCLASSPATH dbUserId=$DBUSER dbPassword=$DBPASS dbHostName=$DBHOSTNAME dbServerPort=$DBSERVERPORT Run the zWPSConfig script for the Deployment Manager We ran the shell script zWPSConfig.sh by submitting job A4CFG DM, as shown in Example 2-9. Example 2-9 Job A4CFGDM //***********************************************************/ //* Run zWPSConfig.sh */ //***********************************************************/ //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4dmnode/DeploymentManager/bin; + zWPSConfig.sh + -response /u/seniokj/wpswork/DmgrDB2.rsp + -augment + 1> /tmp/zWPSConfig_2033.out + 2> /tmp/zWPSConfig_2033.err /* //***********************************************************/ //* STEPS TO COPY THE OUTPUT T0 THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB36048.SBBOEXEC //SYSTSPRT DD SYSOUT=* Chapter 2. WebSphere Process Server primary node configuration with DB2 51 //SYSTSIN DD * BBOHFSWR '/tmp/zWPSConfig_2033.out' BBOHFSWR '/tmp/zWPSConfig_2033.err' /* // The output from this job should look like that in Example 2-10. Example 2-10 A4CFGDM job output BBOHFSWR '/tmp/zWPSConfig_2033.out' CWPIZ0253I: parsing command arguments... CWPIZ0254I: parsing arguments complete CWPIZ0255I: setting up configuration... CWPIZ0256I: set up configuration complete CWPIZ0265I: augmenting profile(s)... INSTCONFSUCCESS: Profile augmentation succeeded. INSTCONFSUCCESS: Profile augmentation succeeded. INSTCONFSUCCESS: Profile augmentation succeeded. CWPIZ0267I: augmenting profile(s) complete READY If any errors occur in the job output, look at the following logs: /<dmgr_root>/logs/wbi/zWPSConfig.log /<dmgr_root>/logs/wbi/zWPSConfig.trace /<dmgr_root>/logs/wbi/c2n.log In our case, <dmgr_root> is: /wasa4config/a4cell/a4dmnode/DeploymentManager Note: In addition to looking in the logs for the cause of the error, double-check all the properties in the DmgrDB2.rsp file for typing errors. Also ensure that you are using the dmgr.* template on the templatePath. If this job fails, it may not be re-runnable. You must restore the Deployment Manager’s configuration HFS from the data dump you took after completing the base WebSphere Application Server configuration. Run fixWPSvars.jacl to update the DMGR After you run the WebSphere Process Server configuration jobs, not all the variables are correctly set up in the server. To correct these variables, we have provided the fixWPSvars.jacl script in Appendix B, “Additional material” on page 235. 52 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Note: All scripts discussed in this chapter, including fixWPSvars.jacl, are included in Appendix B, “Additional material” on page 235. You must copy the script to a UNIX System Services working directory. In our case, we used the /u/jo/wpswork directory. We executed the script by running the job A4FIXDM, as shown in Example 2-11. Example 2-11 FIXDM from job A4FIXDM //FIXDM EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4dmnode/DeploymentManager; + cd profiles/default/bin; + wsadmin.sh + -conntype none + -f /u/jo/wpswork/fixWPSvars.jacl + -wbiInstallRoot /wasa4config/a4cell/a4dmnode/DeploymentManager + -cell a4cell + -node a4dmnode + -jcchome /usr/lpp/db2/d8ig/jcc + -jccproperties /u/db8iu/properties + -dbLoc DB8I + -sibjndi jdbc/MEDataSource + -sibauth WPSDBAlias + -sibSCA A4CELLS + -sibAPP A4CELLA + -sibCEI A4CELLC + -sibBPC A4CELLB + -esbSchema + 1> /tmp/zFixVars_1034.out + 2> /tmp/zFixVars_1034.err After executing this script, we backed up the configuration HFS data sets using the HFSDUMP job. Chapter 2. WebSphere Process Server primary node configuration with DB2 53 2.2.3 Augment the primary node Augmenting the empty node to support WebSphere Process Server consists of the following steps: 1. Run zSMPInstall against the primary empty node. 2. Customize a ManagedDB2.rsp response file. 3. Run zWPSConfig.sh against the primary empty node. 4. Federate the empty node into the cell. These steps are described in the sections that follow. Run the zSMPInstall script for the primary empty node First we ran the shell script zSMPInstall.sh by submitting job A4INSNA, as shown in Example 2-12. Example 2-12 Job A4INSNA //***********************************************************/ //* STEP TO CREATE LINKS TO WPS LIBRARIES */ //***********************************************************/ //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4nodea/AppServer/bin; + /usr/lpp/zWPSA4/V6R0/zos.config/bin/zSMPInstall.sh + '-smproot /usr/lpp/zWPSA4/V6R0' + '-runtime /wasa4config/a4cell/a4nodea/AppServer' + '-install' + 1> /tmp/installonly_1033.out + 2> /tmp/installonly_1033.err //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB46048.SBBOEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BBOHFSWR '/tmp/installonly_1033.out' BBOHFSWR '/tmp/installonly_1033.err' /* // 54 WebSphere Process Server for z/OS: Configuring a Network Deployment environment The output from this job should look like that shown in Example 2-13. Example 2-13 A4INSNA job output BBOHFSWR '/tmp/installonly_1033.out' CWPIZ0253I: parsing command arguments... CWPIZ0254I: parsing arguments complete CWPIZ0255I: setting up configuration... CWPIZ0256I: set up configuration complete CWPIZ0257I: creating the symbolic links... CWPIZ0259I: creation of symbolic links complete CWPIZ0260I: doing post install file updates... CWPIZ0262I: post install updates complete CWPIZ0263I: running Configuration Manager update... CWPIZ0264I: Configuration Manager update complete READY If any errors occur in the job output, look at the following logs: /<app_server_root>/logs/events_install_msg.log /<app_server_root>/logs/events_install_trc.log. /<app_server_root>/logs/wbi/100SUpgradeCoreAdminConsolePlugins.ant.log /<app_server_root>/logs/wbi/101SUpgradeServerAdminConsolePlugins.ant.log /<app_server_root>/logs/wbi/101SWbiWebuiUpgrade.ant.log /<app_server_root>/logs/wbi/102SUpgradeIscdeploy.ant.log /<app_server_root>/logs/wbi/90SConfigNoProfileFirstStepsESB.ant.log /<app_server_root>/logs/wbi/90SConfigNoProfileFirstStepsWBI.ant.log /<app_server_root>/logs/wbi/90SConfigureWSProfileForWBI.ant.log /<app_server_root>/logs/wbi/90SInstallCEI.ant.log /<app_server_root>/logs/wbi/90SUpdateJavaOptions.ant.log /<app_server_root>/logs/wbi/91SConfigNoProfileFirstStepsCharset.ant.log /<app_server_root>/logs/wbi/98SDeployBPCAdminConsolePlugins.ant.log /<app_server_root>/logs/wbi/98SDeployServerAdminConsolePlugins.ant.log /<app_server_root>/logs/wbi/99SDeployCoreAdminConsolePlugins.ant.log /<app_server_root>/logs/wbi/cmtInstall.log /<app_server_root>/logs/wbi/cmtInstall.log.lck /<app_server_root>/logs/wbi/zSMPInstall.log /<app_server_root>/logs/wbi/zSMPInstall.trace In our case, <app_server_root> is: /wasa4config/a4cell/a4nodea/AppServer Chapter 2. WebSphere Process Server primary node configuration with DB2 55 Customize a ManagedDB2 response file We copied the ManagedDB2.rsp response file from /<wps_install_root/zos.config/ to a work directory. In our case, <wps_install_root is: usr/lpp/zWPSA4/V6R0 And the work directory is: /u/seniokj/wpswork At this point, you edit the file and remove all unprintable characters. We set up the values as shown in Example 2-14. The userid running the configuration jobs must have read access to this file. Example 2-14 ManagedDB2.rsp JMSUSER=a4jmsu JMSPASS=a4jmsu DBPRODUCT=DB2UDBOS390_V8_1 DBLOCATION=DB8I DBPROPERTIES=/u/db8iu/properties DBJDBCCLASSPATH=/usr/lpp/db2/d8ig/jcc/classes DBUSER=a4dbu DBPASS=a4dbu DBHOSTNAME=db8i.wtscplx1.itso.ibm.com DBSERVERPORT=38100 augment profileName=default profilePath=/wasa4config/a4cell/a4nodea/AppServer/profiles/default templatePath=/wasa4config/a4cell/a4nodea/AppServer/profileTemplates/man aged.* cellName=a4basea nodeName=a4nodea dbCreateNew=false dbDelayConfig=true configureScaSecurity=true scaSecurityUserId=$JMSUSER scaSecurityPassword=$JMSPASS configureAppScheduler=false dbName=A4WPSDB dbStorageGroup=A4DBSTO dbType=$DBPRODUCT dbConnectionLocation=$DBLOCATION dbJDBCProperties=$DBPROPERTIES dbJDBCClasspath=$DBJDBCCLASSPATH dbUserId=$DBUSER 56 WebSphere Process Server for z/OS: Configuring a Network Deployment environment dbPassword=$DBPASS dbHostName=$DBHOSTNAME dbServerPort=$DBSERVERPORT Run zWPSConfig script for the primary empty node We ran the shell script zWPSConfig.sh by submitting job A4CFG NA, as shown in Example 2-15. Example 2-15 Job A4CFGNA //***********************************************************/ //* Run zWPSConfig.sh */ //***********************************************************/ //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4nodea/AppServer/bin; + zWPSConfig.sh + -response /u/seniokj/wpswork/ManagedDB2.rsp + -augment + 1> /tmp/zWPSConfig_2033.out + 2> /tmp/zWPSConfig_2033.err /* //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB36048.SBBOEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BBOHFSWR '/tmp/zWPSConfig_2033.out' BBOHFSWR '/tmp/zWPSConfig_2033.err' /* // The output from this job should look like that in Example 2-16. Example 2-16 A4CFGNA job output READY BBOHFSWR '/tmp/zWPSConfig_2033.out' CWPIZ0253I: parsing command arguments... CWPIZ0254I: parsing arguments complete Chapter 2. WebSphere Process Server primary node configuration with DB2 57 CWPIZ0255I: setting up configuration... CWPIZ0256I: set up configuration complete CWPIZ0265I: augmenting profile(s)... INSTCONFSUCCESS: Profile augmentation succeeded. INSTCONFSUCCESS: Profile augmentation succeeded. INSTCONFSUCCESS: Profile augmentation succeeded. CWPIZ0267I: augmenting profile(s) complete READY If any errors are generated in the job output, look at the following logs: /<app_server_root>/logs/wbi/zWPSConfig.log /<app_server_root>/logs/wbi/zWPSConfig.trace /<app_server_root>/logs/wbi/c2n.log. In our case, <app_server_root> is: /wasa4config/a4cell/a4nodea/AppServer After running the script, we backed up the HFS using the HFSDUMP job. Federate the primary empty node The following steps enable you to federate the primary empty node: 1. Start the Deployment Manager. To start our Deployment Manager, we used the following command: S A4MGCR,JOBNAME=A4DMGR,ENV=A4CELL.A4DMNODE.A4DMGR Do not be surprised if numerous errors are generated during the initialization of the Deployment Manager (see Example 2-17). Example 2-17 Errors generated before data source exists ExtendedMessage: BBOO0220E: WSVR0501E: Error creating component null Ýclass com.ibm.ws.runtime.component.ApplicationServerImpl¨ com.ibm.ws.exception.RuntimeWarning: Database is not configured or not available. A data source will be created in the Deployment Manager later to connect to WebSphere Process Server databases in DB2, but at this stage, the databases and data sources do not exist. 2. Return to the .CNTL data set that contains the customized jobs for creating the empty managed node and run the BBOWMNAN job. On our system, this job was in A4CELL.A4BASEA.EMPTY.CNTL. This job starts the node agent A4AGNTA after the node has been federated. 58 WebSphere Process Server for z/OS: Configuring a Network Deployment environment If the BBOWMNAN job does not finish within approximately 10 minutes and appears to be inactive, the most likely cause is that the node agent has not initialized correctly. In this case, you need to look at the output from the node agent and diagnose the cause of the problem. Note: The BBOWMNAN job runs under the WebSphere Application Server administrator userid, and you must ensure it can read the customized .CNTL and .DATA data sets used by the job. Later you will run jobs under the WebSphere Application Server administrator userid that will create data sets under the same high-level qualifier, and ALTER access will be required at that time. Therefore, permit the WebSphere Application Server administrator userid or its group ALTER to access the RACF profile, protecting the customization data sets you are using for the cell. To do so, we issued the follow command: PE ‘A4CELL.**’ ID(A4CFG) ACCESS(ALTER) When BBOWMNAN completes normally, you see the following message: ADMU0003I: Node a4nodea has been successfully federated. In the job log for the node agent, look for message ADMS0003I indicating that synchronization with the Deployment Manager has succeeded (see Example 2-18). Example 2-18 Node agent job log showing synchronization completed BBOO0222I: WSVR0001I: Server CONTROL PROCESS nodeagent open for 373 e-business BBOO0019I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL 382 PROCESS A4AGNTA. BBOO0247I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL 383 PROCESS A4CELL/A4NODEA/A4AGNTA/A4AGNTA. BBOO0222I: ADMR0011I: Document 384 cells/a4cell/nodes/a4nodea/servers/nodeagent/trace.dat is deleted. ADMS0003I: The configuration synchronization completed successfully. 3. When you are satisfied that the node has been successfully federated, take another backup of the configuration HFS data sets. We backed up the HFS using the HFSDUMP job provided in Appendix B, “Additional material” on page 235. Chapter 2. WebSphere Process Server primary node configuration with DB2 59 2.3 Create WebSphere Process Server databases in DB2 In this section databases are configured in DB2 for z/OS to support WebSphere Process Server for z/OS. In summary the steps are as follows: 1. Plan the DB2 database names, userids, and names for the storage groups and schemas. 2. Create the database, storage group, and tablespaces. 3. Grant access to DB2 databases. 4. Create DB2 tables for WebSphere Process Server, ESB, and Service Integration Buses (SIBs). 2.3.1 Plan the DB2 database names Figure 2-2 shows our DB2 setup. We used separate databases for each part of the product rather than one database for every part to avoid duplicate tablespace names in the SIB definitions. Figure 2-2 Database setup for A4 cell 2.3.2 Create DB2 databases The WebSphere Process Server for z/OS Infocenter (which can be found at http://www-306.ibm.com/software/integration/wps/library/v602.html) describes the DBUtility.sh utility, which can create databases, tables, a JDBC provider, and data sources. However, the utility does not enable you to create storage groups or to specify properties such as STOGROUP, VCAT, or BUFFERPOOLS on CREATE DATABASE. When using DB2 on z/OS, it is best to create STOGROUPs and DATABASEs manually after you have decided on your naming convention (see Figure 2-2). 60 WebSphere Process Server for z/OS: Configuring a Network Deployment environment We created the job A4CRDB to create the storage group and databases because this SQL is not supplied with WebSphere Process Server (see Example 2-19). Example 2-19 Job A4CRDB //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 //* //* Create WPS databases and stogroups. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * CREATE STOGROUP A4DBSTO VOLUMES ('TOTDCA') VCAT DB8IU; COMMIT; CREATE DATABASE A4EVTDB STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4EVCTDB STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4ESBDB STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4SIBAPP STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; Chapter 2. WebSphere Process Server primary node configuration with DB2 61 CREATE DATABASE A4SIBSCA STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4SIBBPC STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4SIBCEI STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4BPEDB STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; CREATE DATABASE A4WPSDB STOGROUP A4DBSTO BUFFERPOOL BP0 INDEXBP BP0; 2.3.3 Grant access to DB2 databases The WebSphere Process Server userids require access to the databases. Access is available at the table level, but we decided to perform this task at the database level, which is simpler. We created and ran job A4GRANT (see Example 2-20). Example 2-20 Job A4GRANT //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * 62 WebSphere Process Server for z/OS: Configuring a Network Deployment environment GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM DBADM ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON ON DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE DATABASE GRANT USE OF STOGROUP GRANT USE OF STOGROUP A4WPSDB TO A4DBU WITH GRANT OPTION; A4WPSDB TO A4CELL WITH GRANT OPTION; A4BPEDB TO A4DBU WITH GRANT OPTION; A4BPEDB TO A4CELL WITH GRANT OPTION; A4SIBAPP TO A4DBU WITH GRANT OPTION; A4SIBAPP TO A4CELL WITH GRANT OPTION; A4SIBSCA TO A4DBU WITH GRANT OPTION; A4SIBSCA TO A4CELL WITH GRANT OPTION; A4SIBBPC TO A4DBU WITH GRANT OPTION; A4SIBBPC TO A4CELL WITH GRANT OPTION; A4SIBCEI TO A4DBU WITH GRANT OPTION; A4SIBCEI TO A4CELL WITH GRANT OPTION; A4EVTDB TO A4DBU WITH GRANT OPTION; A4EVTDB TO A4CELL WITH GRANT OPTION; A4EVCTDB TO A4DBU WITH GRANT OPTION; A4EVCTDB TO A4CELL WITH GRANT OPTION; A4ESBDB TO A4DBU WITH GRANT OPTION; A4ESBDB TO A4CELL WITH GRANT OPTION; A4DBSTO A4DBSTO TO A4DBU; TO A4CELL; GRANT USE OF BUFFERPOOL BP0 GRANT USE OF BUFFERPOOL BP0 TO A4DBU; TO A4CELL; GRANT GRANT GRANT GRANT USE USE USE USE TO TO TO TO GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT GRANT CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, CREATEIN, OF OF OF OF BUFFERPOOL BUFFERPOOL BUFFERPOOL BUFFERPOOL DROPIN DROPIN DROPIN DROPIN DROPIN DROPIN DROPIN DROPIN DROPIN DROPIN BP8K0 BP8K0 BP16K0 BP16K0 ON ON ON ON ON ON ON ON ON ON SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA SCHEMA A4DBU; A4CELL; A4DBU; A4CELL; A4CELL A4CELL A4CELLA A4CELLA A4CELLS A4CELLS A4CELLB A4CELLB A4CELLC A4CELLC TO A4DBU; TO A4CELL; TO A4DBU; TO A4CELL; TO A4DBU; TO A4CELL; TO A4DBU; TO A4CELL; TO A4DBU; TO A4CELL; Chapter 2. WebSphere Process Server primary node configuration with DB2 63 For those who prefer to grant privileges at the table level, the following members are included in Appendix B, “Additional material” on page 235: GRANTBPC GRANTCEI GRANTESB GRANTSIB GRANTWPS 2.3.4 Create DB2 tables This section describes how you create DB2 tables for WebSphere Process Server, ESB, and SIB. After creating the databases and storage groups, you execute the DB2 SQL data definition language (DDL) statements to define all the DB2 tables, indexes, views, and functions. Each component of WebSphere Process Server provides SQL DDL and usually a shell script to tailor it. On non-z/OS platforms, the DDL normally is executed by running a shell script that invokes a Java™ program that makes remote JDBC requests to the DB2 database. Most DB2 for z/OS database administrators prefer to inspect the DDL before execution and to use one of the supplied DB2 programs such as DSNTEP2 to run the DDL. In this section, we describe how to generate the SQL and then transform it into a form that is acceptable to DSNTEP2. Some of these changes are not simply cosmetic. In some cases, we add a schema (qualifier) to table names that did not have one in the generated SQL. An alternative to using the method described in this section is to use the SQL DDL that has already been edited and is provided in the PRS2520_WPS602Sql.zip file, which you can find in the document WPS and WESB Ver. 6.0.x for z/OS Configuration Tools and Samples, PRS2520, on the IBM Techdocs Library Web site: http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS2520 For information on how to use the SQL in the PRS2520_WPS602Sql.zip file, refer to the white paper, WPS V.6.0.x for z/OS Datasource & Database Configuration Hints & Tips, WP100833. In summary, the following steps generate, copy, edit, and run the SQL: 1. Generate the WebSphere Process Server SQL. 2. Generate the ESB SQL. 64 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. Tailor the SQL members. 4. Create tables for the SIBs. These steps are described in the sections that follow. Generate the WebSphere Process Server SQL We ran the SQL as a batch job so we copied the SQL statements from the UNIX System Services files to MVS data sets. The SQL for job A4WPSDB is in the directory /<dmgr_root>/profiles/default/dbscripts/CommonDB/DB2zOSV8/A4WPSDB in files: createTable_AppScheduler.sql createTable_CommonDB.sql createTable_customization.sql createTable_lockmanager.sql createTable_mediation.sql createTable_Recovery.sql createTable_Relationship.sql insertTable_CommonDB.sql Note: All jobs related to creating databases and tables should end with the return code=0000. In our case, <dmgr_root> is: /wasa4config/a4cell/a4dmnode/DeploymentManager The job A4SQLCPY converts the files within the A4WPSDB directory from ASCII to EBCDIC and then copies them into MVS sequential data sets. 1. The job A4SQLCPY uses the shell script cvtA2E.sh to convert the files from ASCII to EBCDIC (see Example 2-21). Example 2-21 ASCII-to-EBCDIC conversion //***********************************************************/ //* COPY DDL from UNIX to zOS */ //***********************************************************/ //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + cd /wasa4config/a4cell/a4dmnode/DeploymentManager/; + Chapter 2. WebSphere Process Server primary node configuration with DB2 65 cd profiles/default/dbscripts/; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_AppScheduler.sql' + '/tmp/A4APSTB.sql' + 1> /tmp/wpssqlcopy_2031.out + 2> /tmp/wpssqlcopy_2031.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_CommonDB.sql' + '/tmp/A4CMNTB.sql' + 1> /tmp/wpssqlcopy_2032.out + 2> /tmp/wpssqlcopy_2032.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_customization.sql' + '/tmp/A4CUSTB.sql' + 1> /tmp/wpssqlcopy_2033.out + 2> /tmp/wpssqlcopy_2033.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_lockmanager.sql' + '/tmp/A4LCKTB.sql' + 1> /tmp/wpssqlcopy_2034.out + 2> /tmp/wpssqlcopy_2034.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_mediation.sql' + '/tmp/A4MEDTB.sql' + 1> /tmp/wpssqlcopy_2035.out + 2> /tmp/wpssqlcopy_2035.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_Recovery.sql' + '/tmp/A4RECTB.sql' + 1> /tmp/wpssqlcopy_2036.out + 2> /tmp/wpssqlcopy_2036.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/createTable_Relationship.sql' + '/tmp/A4RELTB.sql' + 1> /tmp/wpssqlcopy_2037.out + 2> /tmp/wpssqlcopy_2037.err; + /u/jo/wpswork/cvtA2E.sh + 'CommonDB/DB2zOSV8/A4WPSDB/insertTable_CommonDB.sql' + '/tmp/A4ICMTB.sql' + 1> /tmp/wpssqlcopy_2038.out + 2> /tmp/wpssqlcopy_2038.err 2. The job prints the output and the error files created in the first step. 66 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. The job copies the output from the UNIX System Services files to MVS data sets using an OGET (see Example 2-22). Example 2-22 Copy UNIX System Services files to MVS data sets //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * OGET '/tmp/A4APSTB.sql' 'A4CELL.SQL.A4APSTB' OGET '/tmp/A4ICMTB.sql' 'A4CELL.SQL.A4ICMTB' OGET '/tmp/A4CMNTB.sql' 'A4CELL.SQL.A4CMNTB' OGET '/tmp/A4CUSTB.sql' 'A4CELL.SQL.A4CUSTB' OGET '/tmp/A4LCKTB.sql' 'A4CELL.SQL.A4LCKTB' OGET '/tmp/A4MEDTB.sql' 'A4CELL.SQL.A4MEDTB' OGET '/tmp/A4RECTB.sql' 'A4CELL.SQL.A4RECTB' OGET '/tmp/A4RELTB.sql' 'A4CELL.SQL.A4RELTB' /* 4. The final step deletes the temporary UNIX System Services files. Generate the ESB SQL Job A4SQLCP2 copies the SQL statements needed to set up the A4ESBDB database from the UNIX System Services files to MVS data sets. The SQL for A4ESBDB is in the following file: /<dmgr_root>/util/EsbLoggerMediation/DB2UDBOS390_V8_1/Table_esb_DB2UDBO S390_V8_1.ddl 1. This job copies the DDL into a temporary directory (see Example 2-23). Example 2-23 Step 1 of job A4SQLCP2 //***********************************************************/ //* COPY DDL from UNIX to zOS */ //***********************************************************/ //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + cd /wasa4config/a4cell/a4dmnode/DeploymentManager/util/; + cd EsbLoggerMediation/DB2UDBOS390_V8_1 ; + cp Table_esb_DB2UDBOS390_V8_1.ddl /tmp/A4ESBDB.ddl + 1> /tmp/wpssqlcopy_1031.out + 2> /tmp/wpssqlcopy_1031.err; 2. The job prints the output and the error files created in the first step. Chapter 2. WebSphere Process Server primary node configuration with DB2 67 3. Then the job copies the output from the UNIX System Services files to ISPF data sets using an OGET . 4. The final step deletes the temporary UNIX System Services files. After running these jobs you should have the following MVS files: A4CELL.SQL.A4APSTB A4CELL.SQL.A4CMNTB A4CELL.SQL.A4CUSTB A4CELL.SQL.A4ESBDB A4CELL.SQL.A4ICMTB A4CELL.SQL.A4LCKTB A4CELL.SQL.A4MEDTB A4CELL.SQL.A4RECTB A4CELL.SQL.A4RELTB These files have an LRECL of 255 and a RECFM of VB. However, to execute SQL in batch mode requires the input file to have an LRECL of 80 and RECFM of F or FB. To make these changes, we ensured that no statements extended beyond column 72, and then we copied the MVS data sets containing the SQL statements into members within a PDS with a LRECL of 80. Tailor the SQL members You have to perform the following checks on each file: Remove all unprintable characters. Ensure that every table name is qualified by a schema name. Ensure that every index name is qualified by a schema name. We used the following ISPF edit commands to modify the SQL statements. You must perform the changes in the order they are shown. 1. C P'.' ' ' ALL This command removes all unprintable characters. Important: Do not use the ALL parameter with the commands in steps 2–6 because it could change the statements incorrectly. 2. C 'TABLE ' 'TABLE A4CELL.' This adds the schema name to the table name. 68 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. C 'INDEX ' 'INDEX A4CELL.' This command adds the schema name to the index name. 4. C 'ON ' 'ON A4CELL.' This adds the schema name to the table name on the create index. 5. C 'STORES ' 'STORES A4CELL.' This adds the schema name to the table name on a create aux table. 6. C 'INTO ' 'INTO A4CELL.' This command adds the schema name to the table name on an insert statement. 7. Comment out the drop tablespace and drop table commands in A4MEDTB by inserting two hyphens (--) in front of them. 8. In A4ESBDB file only, C V_DBNAME A4ESBDB. 9. In A4ESBDB, C V_DBSTORAGEGROUP A4DBSTO. 10.In A4ESBDB, C V_SQLID A4CELL. (This command sets the schema name.) Note: Several change commands in the preceding list include a space in order to correctly add the schema name to the table or index name that follows. Be sure to perform these changes as shown using the quotes and the spaces. We ran the job A4SQLRUN, which executes the SQL statements needed to create the WebSphere Process Server tables (see Example 2-24). Example 2-24 Job A4SQLRUN //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 //* //* Create WPS databases and stogroups. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') Chapter 2. WebSphere Process Server primary node configuration with DB2 69 //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4APSTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4CMNTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4CUSTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4LCKTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4MEDTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4RECTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4RELTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4ICMTB) We ran the job A4SQLRU1, which executes the SQL statements needed to create the ESB tables (see Example 2-25). Example 2-25 Job A4SQLRU1 //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 //* //* Create ESB databases and stogroups. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4ESBDB) 70 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Create the tables for the SIBs The DDL to create the tables for the SIB databases must be generated. This is done by running the shell script sibDDLGenerator.sh for each SIB database. We ran the job A4SIBDDL to generate the DDL for all the SIB databases and to copy the SQL to MVS data sets (see Example 2-26). Example 2-26 First step of job A4SIBDDL //***********************************************************/ //* COPY DDL from UNIX to zOS */ //***********************************************************/ //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + cd /wasa4config/a4cell/a4nodea/AppServer/profiles/default/bin/; + sibDDLGenerator.sh + -system db2 -version 8.1 -platform zos -schema A4CELLA + -user A4DBU -create -database A4SIBAPP -storagegroup A4DBSTO + -statementend ";" + 1> /tmp/A4SIBAPP.ddl + 2> /tmp/wpssqlcopy_2031.err; + sibDDLGenerator.sh + -system db2 -version 8.1 -platform zos -schema A4CELLS + -user A4DBU -create -database A4SIBSCA -storagegroup A4DBSTO + -statementend ";" + 1> /tmp/A4SIBSCA.ddl + 2> /tmp/wpssqlcopy_2032.err; + sibDDLGenerator.sh + -system db2 -version 8.1 -platform zos -schema A4CELLB + -user A4DBU -create -database A4SIBBPC -storagegroup A4DBSTO + -statementend ";" + 1> /tmp/A4SIBBPC.ddl + 2> /tmp/wpssqlcopy_2033.err; + sibDDLGenerator.sh + -system db2 -version 8.1 -platform zos -schema A4CELLC + -user A4DBU -create -database A4SIBCEI -storagegroup A4DBSTO + -statementend ";" + 1> /tmp/A4SIBCEI.ddl + 2> /tmp/wpssqlcopy_2034.err; The running of this job creates the following four data sets: A4CELL.WPSDB2.SQL.A4SIBAPP A4CELL.WPSDB2.SQL.A4SIBSCA Chapter 2. WebSphere Process Server primary node configuration with DB2 71 A4CELL.WPSDB2.SQL.A4SIBBPC A4CELL.WPSDB2.SQL.A4SIBCEI We edited the SQL statements within the MVS data sets using the same commands as described previously in this section. In addition, we changed BUFFERPOOL BP1 to BUFFERPOOL BP0. We also commented out the create stogroup, the create database, as well as the grants. We ran the job A4SQLRU5, which executes the SQL to create the SIB tables (see Example 2-27). Example 2-27 Job A4SQLRU5 //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 //* //* Create WPS databases and stogroups. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4SIBAPP) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4SIBBPC) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4SIBCEI) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4SIBSCA) 2.4 Configure a WebSphere Process Server cluster Now that the augmented node has been federated into the cell, you must define a cluster with a cluster member, or just a server, where you will run a WebSphere Process Server or WebSphere Enterprise Service Bus workload. After you have created the cluster, you can configure the components of WebSphere Process Server in the cluster. 72 WebSphere Process Server for z/OS: Configuring a Network Deployment environment In summary, the process of configuring a WebSphere Process Server-enabled cluster is as follows: 1. Configure a cluster and add a cluster member (server) using the WebSphere Administration Console. 2. Configure Service Component Architecture (SCA). 3. Configure Common Event Infrastructure (CEI). 4. Configure Business Process Choreographer (BPC). 5. Configure BPC Event Collector and BPC Observer. 6. Complete the configuration. Before starting the server, complete the configuration by running the fixWPSvars.jacl script. This script updates the resources in the primary node as well as performing several other required changes. 7. Start the primary node’s server. These steps are described in the sections that follow. 2.4.1 Configure the cluster and the first cluster member You create a cluster and server using the WebSphere Administration Console, not the WebSphere Application Server ISPF application. The names and ports that you use when creating the server should conform to your naming convention. If you follow the guidance and use the spreadsheet provided in the white paper, WebSphere z/OS V6—WSC Sample ND Configuration, WP100653, on the IBM Techdocs Library Web site, to plan your naming conventions, the Stand-Alone Server worksheet contains the names and the Variables worksheet contains the ports that you should use when creating the cluster member. In summary, the steps are as follows: 1. Create a cluster and add a cluster member (server) using the WebSphere Administration Console. 2. Update the server and node agent configuration to correct the server short name, ports, and virtual hosts. 3. Take another backup of your configuration HFS data sets before adding SCA, CEI, BPC and BPC Observer to the cluster. These steps are described in the sections that follow. Chapter 2. WebSphere Process Server primary node configuration with DB2 73 Create the cluster and first cluster member The following steps enable you to create a cluster and add a cluster member using the WebSphere Administration Console: 1. Log in to the administration console and navigate to Servers → Clusters as shown in Figure 2-3. Figure 2-3 Navigate to Servers → Clusters 2. Click New to start the wizard that configures a cluster and cluster members. 74 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. Enter a cluster name in the textbox shown in Figure 2-4. It is a good idea to enter a lowercase cluster name that is preceded by your two-character cell prefix. For our A4 cell, we created a4cl01 because it was the first cluster. Figure 2-4 Enter cluster name We decided not to create a replication domain at this time so we did not check the Create a replication domain for this cluster check box. 4. Click Next. Chapter 2. WebSphere Process Server primary node configuration with DB2 75 5. On the screen shown in Figure 2-5, enter a name for the new server that will be created as the first cluster member in the cluster. Do not click Next yet. Figure 2-5 Create first cluster member using defaultProcessServerZOS template The name that you specify here should be the long name for the server. For example, for the first server on node a of our A4 cell, we specified a server name of a4sr01a. 6. While still on the Create a new cluster screen, click the radio button for Default application server template and open the drop-down list box to select defaultProcessServerZOS, as shown in Figure 2-5. 76 WebSphere Process Server for z/OS: Configuring a Network Deployment environment It is not important whether you click the check box Generate Unique Http Ports because later you will manually set all the ports to correct values. 7. Click Apply, then Next. You access another Create a new cluster screen, as shown in Figure 2-6, in which you can define a second cluster member, but do not do so at this point. Also the server you just created is listed at the bottom of the screen. Figure 2-6 Name of application server Chapter 2. WebSphere Process Server primary node configuration with DB2 77 8. Click Next. On the screen shown in Figure 2-7, check the details in the Summary of actions box and click Finish. Figure 2-7 Summary of actions 78 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 9. In the Server Cluster screen shown in Figure 2-8, your new cluster is listed and a link at the top of the screen will save the configuration changes. Click the Save link to save your configuration changes. Figure 2-8 New cluster listed in Server Cluster screen Chapter 2. WebSphere Process Server primary node configuration with DB2 79 10.When the configuration changes have been saved, click the link to the cluster configuration as shown in Figure 2-9. Figure 2-9 Update cluster definition 80 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 11.Update the cluster Short name field in the screen shown in Figure 2-10. For example, for our cluster we set the short name to A4CL01, which is the uppercase equivalent of the cluster name a4cl01. Then click OK. Figure 2-10 Update cluster short name Note: The cluster short name is important because RACF profiles in class CBIND and SERVER control access to the members of a cluster. You should have defined RACF CBIND and SERVER profiles for your cell when you defined your Deployment Manager. If you followed the guidance in the previously referenced white paper, WP1006553, on the IBM Techdocs Library Web site, you should have created generic RACF profiles (see 1.4.2, “Deployment Manager customization” on page 14). These RACF profiles are valid provided you used a cluster name that was prefixed by your two-character cell prefix. If you chose some other name, you must define CBIND and SERVER class profiles that match the cluster name you have chosen. Chapter 2. WebSphere Process Server primary node configuration with DB2 81 12.Click the Cluster members link and navigate to Servers → Application servers. 13.Click the link for the server name (ours is a4sr01 as shown in Figure 2-11) to view and update the server’s configuration. Figure 2-11 Update server configuration 82 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 14.Update the server’s short name field to the value in the Stand-Alone Server worksheet (see the sample spreadsheet provided in the previously referenced document, PRS1331, available on the IBM Techdocs Library Web site). For example, the long name for our server is a4sr01a, and we set our short name to A4SR01A, as shown in Figure 2-12. Figure 2-12 Update server short name 15.Click Apply to save your configuration changes. 16.Navigate to Servers → Cluster Topology and expand the tree to view your cell, cluster, node, and cluster member topology. Update the server configuration When the first cluster member is created, the ports assigned to it almost certainly will not match those you planned to use. You must update the virtual host definitions to match the HTTP and HTTPs ports you have assigned. Chapter 2. WebSphere Process Server primary node configuration with DB2 83 1. Navigate to Servers → Application Servers and click the name of the server you just created. 2. Then expand Web Container Settings under Container settings and click HTTP transports as shown in Figure 2-13. Figure 2-13 Navigate to HTTP transports 3. Click the blue asterisk (*) for the first port. Note that SSL Enabled is set to false, indicating it is the HTTP port (port 9081 shown in Figure 2-14). Figure 2-14 Update HTTP port 4. Set the Port field to the value of the HTTP port from the Variables worksheet in your cell planning spreadsheet. This is the HTTP port under the App 84 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Server 01 column and usually ends in 48. For our A4SR01A server, we set port 22548 as shown in Figure 2-15. Figure 2-15 Set correct value for HTTP port Do not save the configuration changes yet. 5. Click the blue asterisk (*) in the second row to update the port where SSL is enabled as shown in Figure 2-16 Figure 2-16 Update HTTPs (SSL) port Chapter 2. WebSphere Process Server primary node configuration with DB2 85 6. Set the Port field to the value of the HTTPs port from the Variables worksheet in your cell planning spreadsheet. This is the HTTP SSL port under the App Server 01 column and usually ends in 49. For our A4SR01A server, we set port 22549 as shown in Figure 2-17. Figure 2-17 Set correct value for HTTPs (SSL) port Do not save your configuration changes yet. 7. Navigate to Environment → Virtual Hosts → default_host and then click Host Aliases under Additional Properties as shown in Figure 2-18. Figure 2-18 Navigate to virtual host aliases 86 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Notice that there are two virtual host entries for the incorrect ports you just changed. In Figure 2-19 these are 9080 and 9443. Figure 2-19 Virtual host list before being corrected 8. Click the blue asterisk (*) in the fourth row to change the port value. Chapter 2. WebSphere Process Server primary node configuration with DB2 87 9. Change the port number to the one you are using for the HTTP port. For our A4 cell, we changed the port value to 22548 as shown in Figure 2-20. Figure 2-20 Set correct port number in HTTP Virtual Host entry 10.Click OK. You are returned to the Host Aliases list. 11.Click the blue asterisk (*) that corresponds to the incorrect SSL port (9443 in our case). 88 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 12.Change the SSL port number to the one you are using for the HTTP SSL port. For our A4 cell, we changed the port value to 22549 as shown in Figure 2-21. Figure 2-21 Set correct SSL port number Chapter 2. WebSphere Process Server primary node configuration with DB2 89 When you finish, you see the virtual host aliases listed again as shown in Figure 2-22. Figure 2-22 Corrected virtual host alias listing The port values you see listed should be those you have planned for the application server (those ports ending 48 and 49) and for the Deployment Manager (those ports ending in 18 and 19). The entry for port 80 can be left as is at this time, but you may need to update it later when you configure an HTTP server. 13.Save your configuration changes. 14.Next you must correct the other port assignments for the server. Navigate to Servers → Application servers and click your server in the list. 90 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 15.Scroll down and click Ports under Communication on the right to access the list of ports. The current non-HTTP port assignments are displayed as shown in Figure 2-23. Figure 2-23 TCP/IP port settings before being corrected 16.Click the blue hyperlink and set the correct value for the port for the BOOTSTRAP_ADDRESS. You can find the correct port number in the ports section of the Variables worksheet in your planning spreadsheet (see the sample spreadsheet provided in the previously referenced document, PRS1331, available on the Chapter 2. WebSphere Process Server primary node configuration with DB2 91 IBM Techdocs Library Web site). For our A4 cell, we set the port for the BOOTSTRAP_ADDRESS to 22541 as shown in Figure 2-24. Figure 2-24 Set port number of BOOTSTRAP_ADDRESS 17.Click OK. Notice that the ORB LISTENER port has been set to the same value as the port you assigned to BOOTSTRAP_ADDRESS. This setting is normal behavior in WebSphere Application Server for z/OS. 18.Click each of the port names in the list in turn and set the correct port values until you have all the correct port values assigned. 19.Click OK after setting each port value. 20.When you finish, click OK and save your configuration changes. 92 WebSphere Process Server for z/OS: Configuring a Network Deployment environment When we finished, the ports for our A4 cell were as shown in Figure 2-25. Figure 2-25 Port settings after being corrected Chapter 2. WebSphere Process Server primary node configuration with DB2 93 Update the node agent ports Most of the node agent ports are assigned on the WebSphere ISPF panels when you configure the primary empty node, but some are not. You must set these using the WebSphere Administration Console. 1. Navigate to System Administration → Node Agents and then click the blue hyperlink to the nodeagent configuration. 2. Click Ports under Additional Properties on the right. The node agent ports are listed, and the following five ports still have default values assigned as shown in Figure 2-26. CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS DRS_CLIENT_ADDRESS NODE_IPV6_MULTICAST_DISCOVERY_ADDRESS SAS_SSL_SERVERAUTH_LISTENER_ADDRESS Figure 2-26 Node agent ports before update 94 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. Update the five node agent ports and set the values you planned on your worksheet as shown in Figure 2-27. Figure 2-27 Planned values for node agent ports When we finish, the node agent ports were as shown in Figure 2-28. Figure 2-28 Node agent ports after changing to planned values 4. Click OK after setting each port value. 5. When you finish, click OK and save your configuration changes. Chapter 2. WebSphere Process Server primary node configuration with DB2 95 Back up the configuration HFS data sets Back up the HFS data sets using the job HFSDUMP. 2.4.2 Configure the SCA The SCA component of WebSphere Process Server requires SIBs in order to function. You can launch a wizard from the WebSphere Administration Console that configures the SIBS. The wizards configure two SIBs, and two more are created later when you configure the CEI and the BPC. All of these SIBs can share the same data source. A data source for the SIBs was created when you ran the fixWPSVars.jacl script as described in the previous section, “Run fixWPSvars.jacl to update the DMGR” on page 52. However, the J2C authentication alias is not configured by the jacl script, and you configure it using the WebSphere Administration Console. In summary, the steps to configure SCA are as follows: 1. Check the SIB data source definition. 2. Run the wizard to configure SCA. These steps are described in the sections that follow. Configure the data source for the SIBs The following steps enable you to configure the SIB data source. 1. From the administration console, navigate to Resources → JDBC Providers. 2. Set the Scope at the cell level by clearing out the server, node, and cluster fields and then clicking Apply. 96 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Two JDBC providers are listed as shown in Figure 2-29. Figure 2-29 DB2 universal JDBC provider at cell level Chapter 2. WebSphere Process Server primary node configuration with DB2 97 3. Click the DB2 Universal JDBC Driver Provider link and then click the Data Sources link under Additional Properties as shown in Figure 2-30. Figure 2-30 Select data sources 4. Click the WPS_SIB_DataSource data source. 5. Check the Use this Data Source in container manager persistence (CMP) check box as shown in Figure 2-31 and verify that the JNDI name is jdbc/MEDataSource (Message Engine Data Source). Figure 2-31 Use this data source in container managed persistence (CMP) check box 98 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 6. Under Component-managed authentication alias, expand the drop-down list box and select the WPSDBAlias J2C authentication alias shown in Figure 2-32. Figure 2-32 Select WPSDBAlias for SIB data source 7. Scroll down and check the properties under DB2 Universal data source properties. The database name should be set to the location name of your DB2 system, and the driver type should be 2. The server name and port number fields apply only to type 4 connections, so while their values are unimportant, these fields cannot be blank. 8. Click OK but do not save the configuration changes yet. 9. Click Custom properties under Additional Properties on the right. Check that the property fullyMaterializeLobData is set to false as shown in Figure 2-33. Figure 2-33 fullyMaterializeLobData set to false 10.Save the configuration changes. Chapter 2. WebSphere Process Server primary node configuration with DB2 99 Run the SCA wizard The following steps enable you to run the wizard to configure SCA: 1. Navigate to Servers → Clusters and click your cluster. 2. Click Service Component Architecture under Additional Properties on the right of the screen as shown in Figure 2-34. Figure 2-34 Navigate to SCA configuration 3. Click the Configure a destination location radio button. 100 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 4. Then use the drop-down list box to choose the database that will provide the data store for the SIBs. With WebSphere Process Server for z/OS, you usually choose DB2 z/OS 7 & 8 (DB2 Universal Driver Provider type 2) as shown in Figure 2-35. Figure 2-35 Select type of database as data store for SIBs 5. Set the data source user name and data source password to the userid and password that you will use on the J2C authentication alias associated with the SIBs. For our A4 cell, we used userid A4DBU as the J2C authentication alias userid as shown in Figure 2-36. Figure 2-36 Set J2C authentication alias userid and password Chapter 2. WebSphere Process Server primary node configuration with DB2 101 6. Under System Bus, check the Use existing data source check box and choose MEDataSource from the drop-down list box as shown in Figure 2-37. Figure 2-37 Choose existing MEDataSource as data source for SIBs 7. Set the schema name you will use for the system bus. Remember that once the CEI and BPC SIBs have been configured, there will be four SIBs. Each of the SIBs contains tables with the same names; therefore, it is important that a different schema name is used for each SIB. For our A4 cell, we used A4CELL as the schema name for other data sources, and we added one character to the name “A4CELL” to create a unique schema name for each SIB. The names we chose for the SIB schemas in our A4 cell are as follows: Application SCA Bus Schema Name Business Process Container SIB Schema Name Common Event Infrastructure SIB Schema Name System SCA Bus Schema Name A4CELLA A4CELLB A4CELLC A4CELLS For the system bus, we set the schema name to A4CELLS as shown in Figure 2-38. Figure 2-38 Set schema name for system SCA bus 102 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Notice in Figure 2-38 that Database properties is greyed out and that some of the properties shown are incorrect. The property databaseName, for example, should be set to the location name of the DB2 but is currently set to SCADB. Because the data source will be updated later, it is not necessary to be concerned about these properties at this stage. For the application SCA bus, we set the schema name to A4CELLA as shown in Figure 2-39. It is important that the Create tables check box is unchecked. Figure 2-39 Set schema name for application SCA bus 8. Click OK and then save the configuration changes. 9. Navigate to Service Integration → Buses. Chapter 2. WebSphere Process Server primary node configuration with DB2 103 The two SIBs created by the SCA configuration wizard are shown in Figure 2-40. Figure 2-40 SIBs created by SCA configuration wizard 104 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 10.Clink the link to the SCA.SYSTEM SIB configuration. 11.Click the Bus members link for the SIB as shown in Figure 2-41. Figure 2-41 Click to display bus members Chapter 2. WebSphere Process Server primary node configuration with DB2 105 12.Click the link to your cluster name as shown in Figure 2-42. Figure 2-42 Click link to cluster name 13.Follow the link to the message engine configuration for the SCA.SYSTEM bus as shown in Figure 2-43. Figure 2-43 Click link to message engine configuration 106 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 14.Under Additional Properties, click the Data store link for the SCA.SYSTEM bus as shown in Figure 2-44. Figure 2-44 Click link to data store for SCA.SYSTEM bus The data source JNDI name and the schema name should have been set correctly by the SCA configuration wizard; however, you may need to remove the authentication alias that is associated with the Message Engine Data Store. These two SIBs (and the other two you will configure later for use by CEI and BPC) use DB2 z/OS as a data store. You previously created at the cell level a data source called WPS SIB DataSource, which was to be shared by the four SIBs. Because an authentication alias is already set on the WPS SIB DataSource, you do not have to specify an authentication alias on the Message Engine Data Store definition. Be aware, however, that the fixWPSVars.jacl script will add an authentication alias to the Message Engine Data Store definitions if you set the -sibauth option when invoking the script. As long as you set -sibauth to the same authentication alias that is specified on the WPS SIB DataSource, it does not matter whether the alias is also set on the Message Engine Data Store definitions. In general, however, we recommend that you use the minimum number of authentication aliases and that you specify them only on the data source definitions and not on the Message Engine Data Store definitions. Chapter 2. WebSphere Process Server primary node configuration with DB2 107 15.Click the Authentication alias drop-down list box and select None. Make sure that the Create tables check box is unchecked as shown in Figure 2-45. Figure 2-45 Do not set Authentication Alias and ensure Create tables is not checked 16.Click OK but do not save the configuration changes yet. 17.Click the Bus members link at the top of the screen. 18.Then click the link to the SCA.APPLICATION bus and repeat the changes described previously to remove the authentication alias. Remember to uncheck the Create tables check box from the Message Engine Data Store definition. 19.When you finish, click OK and save the configuration changes. 2.4.3 Configure Common Event Infrastructure In WebSphere Process Server for z/OS Version 6.0.1, none of the WebSphere Process Server infrastructure itself depended on the CEI; therefore, configuring it was optional. In WebSphere Process Server V6.0.1, you had to configure CEI only if your applications wanted to exploit it. 108 WebSphere Process Server for z/OS: Configuring a Network Deployment environment However, in WebSphere Process Server for z/OS Version 6.0.2, the Business Process Container Observer (BPC Observer) makes use of CEI, and therefore you must configure CEI if you expect to use the BPC Observer. The wizard that configures BPC contains options that configure the BPC Observer, but to configure the BPC Observer, the CEI must already have been configured. Thus if you plan to use BPC Observer, you should configure CEI before configuring BPC and the BPC Observer. Before you start to configure CEI, you must decide which source you will use for the CEI DDL. You have the following two options: Customize the DDL included in the PRS2520_WPS602Sql.zip file that is provided in WPS and WESB Ver. 6.0.x for z/OS Configuration Tools and Samples, PRS2520. Refer to the Techdoc WP100833 for information on how to use the DDL in PRS2520_WPS602Sql.zip (both documents are available on the IBM Techdoc Web site). The DDL in the PRS2520_WPS602Sql.zip file uses one database for all the tables, which means the tablespace names on the SIBs have been changed from those generated by the product to avoid the problem of duplicate tablespace names. Generate the DDL and then customize it so it is suitable for your DB2 z/OS environment. In our configuration, we used this option. In summary, the steps to configure the CEI are as follows: 1. Customize the CEI response file DB2ZOSResponseFile.rsp. 2. Run config_event_database.sh to generate the DDL. 3. Customize the DDL that creates the CEI tables and indexes. 4. Execute the DDL to create the CEI tables and indexes. 5. Run cr_db2zos_jdbc_provider.sh to configure the CEI resources in the WebSphere Process Server. 6. Run event-profile.jacl to install the event-application.ear and the event-message.ear. 7. Set the currentSchema property on the CEI JDBC data sources. 8. Delete the old CEI Cloudscape™ data source. Customize the CEI response file Customize the DB2ZOSResponseFile.rsp response file that is used as input to the config_event_database.sh shell script. You can find an example of this response file in the DeploymentManager <WAS_HOME>/event/dbconfig directory in the DB2ZOSResponseFile.txt file (note the .txt extension). Chapter 2. WebSphere Process Server primary node configuration with DB2 109 We copied this response file into our working directory /u/seniokj/wpswork and renamed it DB2ZOSResponseFile.rsp before editing it. The customized DB2ZOSResponseFile.rsp file for our A4 cell is shown in Example 2-28. Example 2-28 Customized DB2ZOSResponseFile.rsp CLUSTER_NAME=a4cl01 SCOPE=cluster DB_NAME=DB8I JDBC_PROVIDER="DB2 Universal JDBC Driver Provider" JDBC_CLASSPATH="/usr/lpp/db2/d8ig/jcc/classes" UNIVERSAL_JDBC_DRIVER_NATIVEPATH="/usr/lpp/db2/d8ig/jcc/lib" UNIVERSAL_JDBC_CLASSPATH="/usr/lpp/db2/d8ig/jcc/classes" JDBC_DRIVER_TYPE=2 DB_HOST_NAME=db8i.wtscplx1.itso.ibm.com DB_INSTANCE_PORT=38100 EXECUTE_SCRIPTS=NO DB_TYPE=DB2ZOS EVENT_DB_NAME=A4EVTDB CATALOG_DB_NAME=A4EVCTDB STORAGE_GROUP=A4DBSTO BUFFER_POOL_4K=BP0 BUFFER_POOL_8K=BP8K0 BUFFER_POOL_16K=BP16K0 DAYS_TO_KEEP_EVENTS=1 AVERAGE_EVENTS_PER_SECOND=1 AVERAGE_NUMBER_CONTEXT_PER_EVENT=1 AVERAGE_NUMBER_EXTENDED_DATA_ELEMENT_PER_EVENT=2 AVERAGE_NUMBER_EXTENDED_DATA_ELEMENT_ARRAY_ELEMENTS=3 AVERAGE_NUMBER_MSG_TOKENS_PER_EVENT=1 AVERAGE_ASSOCIATIONS_PER_EVENT=2 TABLESPACE_EXTENDED_BINARY_VALUE_PRIMARY=100 TABLESPACE_EXTENDED_BINARY_VALUE_SECONDARY=10 TABLESPACE_ANY_VALUE_PRIMARY=100 TABLESPACE_ANY_VALUE_SECONDARY=10 PERCENTAGE_FREE_SPACE=20 FREE_PAGE=10 NUMBER_EVENT_DEFINITIONS=100 AVERAGE_SOURCE_CATEGORY_PER_EVENT_DEFINITION=5 AVERAGE_EXTENDED_DATA_ELEMENT_PER_EVENT_DEFINITION=5 AVERAGE_NUMBER_PROPERTY_DESCRIPTIONS_PER_EVENT_DEFINITION=5 TABLESPACE_HEX_DEFAULT_PRIMARY=100 TABLESPACE_HEX_DEFAULT_SECONDARY=10 110 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Notice in particular that we set the CLUSTER_NAME property to configure CEI at the cluster level. Notice also that it is important to set EXECUTE_SCRIPTS=NO (the default is YES) to prevent the shell script from trying to run DDL before it has been customized. Generate the DDL To run the config_event_database.sh file, we prepared and ran the A4CFGCIE job that is shown in Example 2-29. Example 2-29 A4CFGCIE JCL //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:£PATH; + cd /wasa4config/a4cell/a4dmnode/DeploymentManager; + cd profiles/default/event/dbconfig; + config_event_database.sh + /u/seniokj/wpswork/DB2ZOSResponseFile.rsp + 1> /tmp/zWPSConfig_3033.out + 2> /tmp/zWPSConfig_3033.err /* //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB46048.SBBOEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BBOHFSWR '/tmp/zWPSConfig_3033.out' BBOHFSWR '/tmp/zWPSConfig_3033.err' /* // Since CEI is being configured in a cluster, config_event_database.sh is executed from the Deployment Manager <WAS_HOME>/event/dbconfig directory. Chapter 2. WebSphere Process Server primary node configuration with DB2 111 When the A4CFGCIE job ends, check for the message CEIIN0186I, which confirms that the CEI DDL has been created successfully as shown in Example 2-30. Then look for the generated DDL in the Deployment Manager <WAS_HOME>/event/dbscripts/ directory. Example 2-30 Output from A4CFGCEI INFO: CEIIN0178I The output directory for the data source scripts is /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/event/d sscripts. Oct 4, 2007 5:21:17 PM com.ibm.events.install.db.ConfigureDB configureDB INFO: CEIIN0176I Creating the database and data source scripts. Oct 4, 2007 5:21:56 PM com.ibm.events.install.db.ConfigureDB runCreateScripts INFO: CEIIN0186I The Common Event Infrastructure database and data source scripts for DB2ZOS created successfully. Oct 4, 2007 5:21:56 PM com.ibm.events.install.db.ConfigureDB main INFO: CEIIN0070I Consult the log file for more information. Oct 4, 2007 5:21:56 PM com.ibm.events.install.db.ConfigureDB main INFO: ========================================================= READY For our A4 cell, the DDL was generated to: /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/ event/dbscripts Note: If the A4CFGCEI job seems to take a long time to run, it could be that you specified EXECUTE_SCRIPTS=YES in DB2ZOSResponseFile.rsp. In that case, the script tries to prompt for a database userid and will go into a loop testing for a response. If you cancel the job, you may see the following output: READY BBOHFSWR '/tmp/zWPSConfig_3033.out' Enter the DB2 user id: Set EXECUTE_SCRIPTS=NO in the DB2ZOSResponseFile.rsp to avoid this. 112 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Customize the CEI DDL To customize the CEI DDL and run it using a normal DB2 z/OS utility such as DSNTEP2, it is easiest to copy the generated DDL from the UNIX file system into the z/OS file. We created a job A4SQLCP3 to copy the DDL to a sequential data set, and the JCL is shown in Example 2-31. Example 2-31 First step of A4SQLCP3 copy job //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + cd /wasa4config/a4cell/a4dmnode/DeploymentManager/; + cd profiles/default/event/dbscripts/db2zos/ddl; + cp 'cr_db.db2' /tmp/A4EVTDB + 1> /tmp/ceisqlcopy_1029.out + 2> /tmp/ceisqlcopy_1029.err; + cp 'cr_db_catalog.db2' /tmp/A4EVTDBC 1> /tmp/ceisqlcopy_1030.out + 2> /tmp/ceisqlcopy_1030.err; + cp 'cr_tbl.db2' /tmp/A4EVTTB + 1> /tmp/ceisqlcopy_1031.out + 2> /tmp/ceisqlcopy_1031.err; + cp 'cr_tbl_catalog.db2' /tmp/A4EVTTBC + 1> /tmp/ceisqlcopy_1032.out + 2> /tmp/ceisqlcopy_1032.err; + cp 'ins_metadata.db2' /tmp/A4EVTINS + 1> /tmp/ceisqlcopy_1033.out + 2> /tmp/ceisqlcopy_1033.err; + cp 'catalogSeed.db2' /tmp/A4EVTSEE + 1> /tmp/ceisqlcopy_1034.out + 2> /tmp/ceisqlcopy_1034.err; + 1. The job A4SQLCP3 first copies the DDL to a temporary directory. 2. The A4SQLCP3 job prints the output and the error files created in the first step. 3. The A4SQLCP3 job copies the output from the UNIX System Services files to sequential data sets using an OGET command. 4. The final step deletes the temporary UNIX System Services files. After running these jobs you should have the following sequential data sets: A4CELL.SQL.A4EVTDB A4CELL.SQL.A4EVTDBC A4CELL.SQL.A4EVTINS Chapter 2. WebSphere Process Server primary node configuration with DB2 113 A4CELL.SQL.A4EVTSEE A4CELL.SQL.A4EVTTB A4CELL.SQL.A4EVTTBC These files have an LRECL of 255 and a RECFM of VB, but to execute SQL in batch mode requires the input file to have an LRECL of 80 and RECFM of F or FB. After ensuring that no statements extend beyond column 72, we copied the MVS data sets containing the SQL statements into members within a PDS with a LRECL of 80. For our A4 cell, we copied the DDL into a partitioned data set called A4CELL.WPSDB2.SQL. The DDL that is generated for CEI by config_event_database.sh is unqualified; you must add a schema name (that is, a qualifier) in front of all the table and index names. The editing must be done very carefully. You have to perform the following checks on each file: 1. Remove all unprintable characters. 2. Wherever a table name is mentioned, ensure it is qualified by a schema name. 3. Wherever an index name is mentioned, ensure it is qualified by a schema name. We used the ISPF edit commands, in the following order, to modify the SQL statements as described previously: 1. C P'.' ' ' ALL This command removes all unprintable characters. 2. C 'TABLE cei' 'TABLE A4CELL.cei' ALL This adds the schema name to the table name. 3. C 'INDEX ' 'INDEX A4CELL.' This adds the schema name to the index name. Do not use the ALL parameter with this command because it could change statements incorrectly. 4. C 'ON cei' 'ON A4CELL.cei' ALL This adds the schema name to the table name on the create index. 5. C 'STORES cei' 'STORES A4CELL.cei' ALL This command adds the schema name to the table name on a create aux table. 6. C 'INTO cei' 'INTO A4CELL.cei' ALL This adds the schema name to the table name on an insert statement. 114 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 7. C 'REFERENCES cei' 'REFERENCES A4CELL.cei' ALL This adds the schema name to a foreign key definition. 8. C 'VIEW cei' 'VIEW A4CELL.cei' ALL This command adds the schema name to the table name on a create table view definition. 9. C 'UPDATE cei' 'UPDATE A4CELL.cei' ALL This adds the schema name to the table name on an update statement. 10.F PRIQTY and SECQTY to find all primary and secondary space allocations. Note: Several of the change commands described in the previous steps include a space as part of the string to be changed in order to correctly add the schema name to the following table or index name. Be sure to perform these changes as shown using the quotes and the spaces. Execute the CEI DDL We ran the job A4SQLRU2. which executes the SQL statements needed to create the CEI tables (see Example 2-32). Example 2-32 A4SQLRU2 JCL //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTDB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTDBC) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTTB) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTTBC) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTINS) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4EVTSEE) Note: The order of the concatenated SYSIN DD statements is important and should be executed as shown. This job should complete with return code 0. Chapter 2. WebSphere Process Server primary node configuration with DB2 115 Configure the CEI resources The shell script cr_db2zos_jdbc_provider.sh is used to configure the CEI resources in WebSphere Process Server. You can find the shell script in the Deployment Manager <WAS_HOME>/event/dsscripts/db2zos directory. The shell script was created by config_event_database.sh, which you ran earlier, and has been customized with the variables you specified in the DB2ZOSResponseFile.rsp file. However, the J2C authentication alias userid and password are not specified in the response file, and you must enter them interactively. The cr_db2zos_jdbc_provider.sh script can be executed only in interactive mode so we launched it from a telnet session. Example 2-33 shows the log of our telnet session when we configured CEI in cluster a4cl01 of our A4 cell. Example 2-33 Log of telnet session running cr_db2zos_jdbc_provider A4ADMIN: > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/event/d sscripts/db2zos A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default /event/dsscripts/db2zos: >./cr_db2zos_jdbc_provider.sh cluster a4cl01 Enter the DB2 user id: A4DBU Enter the DB2 password: display <== the password is suppressed from the Oct 5, 2007 10:09:41 AM com.ibm.events.install.util.WsadminUtil executeCommand INFO: WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-cluster, a4 cl01, -action, add, -dbName, DB8I, -jdbcDriverType, 2, -jdbcProvider, DB2 Universal JDBC Driver Provider, -jdbcClassPath, /usr/lpp/db2/d8ig/jcc/classes, uniJdbcClassPath, /usr/lpp/db2/d8ig/jcc/classes, -uniJdbcNativePath, /usr/lpp/db2/d8ig/jcc/lib]" Oct 5, 2007 10:09:41 AM com.ibm.events.install.util.WsadminUtil executeCommand INFO: Oct 5, 2007 10:09:06 AM db2zos_jdbc_provider INFO: CEIIN0564I The WebSphere Application Server is in cell a4cell Oct 5, 2007 10:09:06 AM db2zos_jdbc_provider 116 WebSphere Process Server for z/OS: Configuring a Network Deployment environment INFO: CEIIN0566I The share database is specified to cluster scope /ServerCluster:a4cl01. Oct 5, 2007 10:09:06 AM db2zos_jdbc_provider INFO: CEIIN0583I Creating the JDBC provider Event_DB2ZOS_JDBC_Provider at scope /ServerCluster:a4cl01. Oct 5, 2007 10:09:12 AM db2zos_jdbc_provider INFO: CEIIN0584I The JDBC provider template "DB2 Universal JDBC Driver Provider" has been found. Oct 5, 2007 10:09:35 AM db2zos_jdbc_provider INFO: CEIIN0578I Creating the data source /ServerCluster:a4cl01/JDBCProvider:Event_DB2ZOS_JDBC_Provider/DataSourc e:event.. Oct 5, 2007 10:09:36 AM db2zos_jdbc_provider INFO: CEIIN0587I Modifying the connection pool properties for the data source event at scope /ServerCluster:a4cl01. Oct 5, 2007 10:09:37 AM db2zos_jdbc_provider INFO: CEIIN0578I Creating the data source /ServerCluster:a4cl01/JDBCProvider:Event_DB2ZOS_JDBC_Provider/DataSourc e:event_catalog.. Oct 5, 2007 10:09:37 AM db2zos_jdbc_provider INFO: CEIIN0579I Creating the connection factory Event_Catalog_DB2ZOS_CF. Oct 5, 2007 10:09:38 AM db2zos_jdbc_provider INFO: CEIIN0587I Modifying the connection pool properties for the data source event_catalog at scope /ServerCluster:a4cl01. Oct 5, 2007 10:09:38 AM db2zos_jdbc_provider INFO: CEIIN0575I Saving the configuration. Oct 5, 2007 10:09:40 AM db2zos_jdbc_provider INFO: CEIIN0571I The JDBC provider Event_DB2ZOS_JDBC_Provider and the data sources event, event_catalog have been created successfully. Chapter 2. WebSphere Process Server primary node configuration with DB2 117 Install the CEI applications You need to install two CEI applications, event-application.ear and event-message.ear. We installed both applications using the wsadmin utility. We found that the total length of the command to execute wsadmin.sh and pass all the variables exceeded the limit of BPXBATCH SYSIN so we ran wsadmin.sh from a telnet command line as shown in Example 2-34. Notice that we used the -cluster option to define the CEI JDBC provider at the cluster level. Example 2-34 Telnet session installing event application > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/event/ application > ../../bin/wsadmin.sh -profile event-profile.jacl -f event-application.jacl -action install -earfile event-application.ear -backendid DB2UDBOS390_V8_1 -cluster a4cl01 WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-action, ins tall, -earfile, event-application.ear, -backendid, DB2UDBOS390_V8_1, -cluster, a4cl01]" Oct 5, 2007 10:35:19 AM com.ibm.events.install.msg INFO: CEIIN0501I The enterprise application EventServer is not detected. Oct 5, 2007 10:35:21 AM com.ibm.events.install.msg INFO: CEIIN0501I The enterprise application EventServer is not detected. Oct 5, 2007 10:35:21 AM com.ibm.events.install.msg INFO: CEIIN0676I The enterprise application EventServer is being installed on cluster a4cl01. WASX7327I: Contents of was.policy file: grant codeBase "file:${application}" { // The following is required by JXPath permission java.io.FilePermission "${was.install.root}${/}java${/}jre${/}lib${/}jxpath.properties", "read"; permission java.io.FilePermission "${was.install.root}${/}event${/}CloudScapeEventDB${/}-", "read, write, delete"; 118 WebSphere Process Server for z/OS: Configuring a Network Deployment environment permission java.io.FilePermission "${java.io.tmpdir}${/}guid.lock", "read, write, delete"; }; grant codeBase "file:${jars}" { }; grant codeBase "file:${connectorComponent}" { }; grant codeBase "file:${webComponent}" { }; grant codeBase "file:${ejbComponent}" { }; ADMA5016I: Installation of EventServer started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application EventServer is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application EventServer is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/ Script115709741ab/workspace/cells/ a4cell/applications/EventServer.ear/EventServer.ear ADMA5005I: The application EventServer is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application EventServer are being configured. CWSCA3023I: The EAR file app23924.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application EventServer have been configured successfully. SECJ0400I: Successfuly updated the application EventServer with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application EventServer is complete. ADMA5013I: Application EventServer installed successfully. Oct 5, 2007 10:36:44 AM com.ibm.events.install.msg INFO: CEIIN0500I The enterprise application EventServer is detected. Chapter 2. WebSphere Process Server primary node configuration with DB2 119 Oct 5, 2007 10:36:47 AM com.ibm.events.install.msg INFO: CEIIN0638I The registered enterprise application of the Common Event Infrastructure service at scope cluster=a4cl01 is EventServer. Oct 5, 2007 10:36:47 AM com.ibm.events.install.msg INFO: CEIIN0668I The enterprise application EventServer has been installed successfully on cluster a4cl01. Oct 5, 2007 10:36:48 AM com.ibm.events.install.msg INFO: CEIIN0680I The Common Event Infrastructure resource of type EventBusTransmissionProfile with the name Default Common Event Infrastructure event bus transmission for a4cl01 at scope Cell:a4cell has been created successfully. Oct 5, 2007 10:36:48 AM com.ibm.events.install.msg INFO: CEIIN0613I The emitter factory profile Default Common Event Infrastructure emitter for a4cl01 at scope Cell:a4cell has been created successfully. Oct 5, 2007 10:36:50 AM com.ibm.events.install.msg INFO: CEIIN0546I Configuration updates have been saved. After installing event-message.ear, we launched wsadmin.sh to install event-message.ear, as shown in Example 2-35. When installing event-message.ear, you will be prompted for the userid and password that will be used as a J2C authentication alias on the CEI SIB definition. Example 2-35 Telnet session to install event message application > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/event/application: > ../../bin/wsadmin.sh -profile event-profile.jacl -f default-event-message.jacl -action install -earfile event-message.ear -cluster a4cl01 WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-action, ins tall, -earfile, event-message.ear, -cluster, a4cl01]" Oct 5, 2007 10:39:50 AM com.ibm.events.install.util.StdinUtil getValuesFromStdin FINEST: No values found from stdin pipe. Enter the user ID for embedded messaging authentication: A4JMSU Enter the password for the user ID for embedded messaging authentication: Retype the password for the user ID for embedded messaging authentication: Oct 5, 2007 10:40:34 AM com.ibm.events.install.msg 120 WebSphere Process Server for z/OS: Configuring a Network Deployment environment INFO: CEIIN0641I The authentication alias a4cl01/CommonEventInfrastructureJMSAuthAlias for the Common Event Infrastructure application was created. Oct 5, 2007 10:40:34 AM com.ibm.events.install.msg INFO: CEIIN0541I Installing messaging resources. Oct 5, 2007 10:40:43 AM com.ibm.events.install.msg INFO: CEIIN0650I The WebSphere Application Server JMS bus CommonEventInfrastructure_Bus has been created successfully. Oct 5, 2007 10:40:45 AM com.ibm.events.install.msg INFO: CEIIN0652I The WebSphere Application Server JMS bus member cluster=a4cl01 has been added to JMS bus CommonEventInfrastructure_Bus successfully. Oct 5, 2007 10:40:49 AM com.ibm.events.install.msg INFO: CEIIN0656I The JMS destination CommonEventInfrastructureQueueDestination has been created successfully. Oct 5, 2007 10:40:49 AM com.ibm.events.install.msg INFO: CEIIN0656I The JMS destination CommonEventInfrastructureTopicDestination has been created successfully. Oct 5, 2007 10:40:53 AM com.ibm.events.install.msg INFO: CEIIN0523I The WebSphere Application Server queue CommonEventInfrastructure_Queue at scope cell=a4cell has been created successfully. Oct 5, 2007 10:40:56 AM com.ibm.events.install.msg INFO: CEIIN0527I The WebSphere Application Server queue connection factory CommonEventInfrastructure_QueueCF at scope cell=a4cell has been created success fully. Oct 5, 2007 10:40:57 AM com.ibm.events.install.msg INFO: CEIIN0554I The WebSphere Application Server topic CommonEventInfrastructure_AllEventsTopic at scope cell=a4cell has been created successfully. Oct 5, 2007 10:40:58 AM com.ibm.events.install.msg INFO: CEIIN0558I The WebSphere Application Server topic connection factory CommonEventInfrastructure_AllEventsTopicCF at scope cell=a4cell has been create d successfully. Oct 5, 2007 10:40:59 AM com.ibm.events.install.msg INFO: CEIIN0660I The WebSphere Application Server JMS Activation Specification CommonEventInfractructure_ActivationSpecs has been created successfully. Oct 5, 2007 10:41:01 AM com.ibm.events.install.msg INFO: CEIIN0634I The default resource for the Common Event Infrastructure application has been modified successfully. Resource Type: EmitterFactoryProfile Scope: Cell:a4cell Name: Default Common Event Infrastructure emitter Oct 5, 2007 10:41:01 AM com.ibm.events.install.msg INFO: CEIIN0599I The JMS transmission profile Default Common Event Infrastructure JMS transmission at scope Cell:a4cell has been created successfully. Oct 5, 2007 10:41:02 AM com.ibm.events.install.msg INFO: CEIIN0634I The default resource for the Common Event Infrastructure application has been modified successfully. Resource Type: EventGroupProfile Scope: Cell:a4cell Name: All events Oct 5, 2007 10:41:03 AM com.ibm.events.install.msg Chapter 2. WebSphere Process Server primary node configuration with DB2 121 INFO: CEIIN0634I The default resource for the Common Event Infrastructure application has been modified successfully. Resource Type: EmitterFactoryProfile Scope: Cell:a4cell Name: Default Common Event Infrastructure emitter for a4cl01 Oct 5, 2007 10:41:03 AM com.ibm.events.install.msg INFO: CEIIN0501I The enterprise application EventServerMdb is not detected. Oct 5, 2007 10:41:03 AM com.ibm.events.install.msg INFO: CEIIN0676I The enterprise application EventServerMdb is being installed on cluster a4cl01. WASX7327I: Contents of was.policy file: grant codeBase "file:${application}" { // The following is required by JXPath permission java.io.FilePermission "${was.install.root}${/}java${/}jre${/}lib${/}jxpath.properties", "read"; }; grant codeBase "file:${jars}" { }; grant codeBase "file:${connectorComponent}" { }; grant codeBase "file:${webComponent}" { }; grant codeBase "file:${ejbComponent}" { }; ADMA5016I: Installation of EventServerMdb started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application EventServerMdb is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application EventServerMdb is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/Script115709b678f /workspace/cells/ a4cell/applications/EventServerMdb.ear/EventServerMdb.ear ADMA5005I: The application EventServerMdb is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application EventServerMdb are being configured. CWSCA3023I: The EAR file app24635.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application EventServerMdb have been configured successfully. SECJ0400I: Successfuly updated the application EventServerMdb with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application EventServerMdb is complete. ADMA5013I: Application EventServerMdb installed successfully. Oct 5, 2007 10:42:10 AM com.ibm.events.install.msg INFO: CEIIN0500I The enterprise application EventServerMdb is detected. 122 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Oct 5, 2007 10:42:10 AM com.ibm.events.install.msg INFO: CEIIN0638I The registered enterprise application of the Common Event Infrastructure service at scope cluster=a4cl01 is EventServer EventServerMdb. Oct 5, 2007 10:42:10 AM com.ibm.events.install.msg INFO: CEIIN0668I The enterprise application EventServerMdb has been installed successfully on cluster a4cl01. Oct 5, 2007 10:42:13 AM com.ibm.events.install.msg INFO: CEIIN0546I Configuration updates have been saved. Notice that during the installation of event-message.ear, the event-message.jacl script also configures a SIB for the CEI. You can see the new SIB by navigating to Service Integration → Buses. At this point, the CEI SIB is not fully configured. You could configure it manually, but the configuration will be completed when you run the fixWPSVars.jacl script later. Set the currentSchema property on the CEI JDBC data sources The shell script cr_db2zos_jdbc_provider.sh creates a JDBC provider with two data sources for the CEI at cluster level. You must customize the currentSchema property, and the steps that follow describe how to do so. Chapter 2. WebSphere Process Server primary node configuration with DB2 123 1. Navigate to Resources → JDBC Providers and set the scope to the cluster level. You will access a JDBC provider Event_DB2ZOS_JDBC_Provider as shown in Figure 2-46. Figure 2-46 CEI event JDBC provider 124 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 2. Click the link to the Event_DB2ZOS_JDBC_Provider configuration and then click the Data sources link under Additional Properties as shown in Figure 2-47. Figure 2-47 Click link to data sources You will access two data sources as shown in Figure 2-48. Figure 2-48 CEI data sources 3. Click the data source in the first row (event) and then click Custom properties. Look for the currentSchema property, which will not be set. Chapter 2. WebSphere Process Server primary node configuration with DB2 125 4. Click the currentSchema property and set the value to the schema name you wish to use for the CEI database. For CEI in our A4 cell, we used a schema name of A4CELL as shown in Figure 2-49. Figure 2-49 Set CEI event data source schema name 5. Check that the property fullyMaterializeLobData is set to false as shown in Figure 2-50. Figure 2-50 Check that fullyMaterializeLobData is set to false 126 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Delete the CEI Cloudscape data source The Cloudscape data source defined for CEI can be deleted because you will be using the DB2 JDBC provider when configuring WebSphere Process Server for z/OS in a cluster. The following steps describe the process of deleting the Cloudscape data source. 1. Navigate to Resources → JDBC providers and set the scope to the cluster level as shown in Figure 2-51. Figure 2-51 CEI JDBC providers 2. Click the Cloudscape JDBC Provider (XA) link. Chapter 2. WebSphere Process Server primary node configuration with DB2 127 3. Click the link to Data sources under Additional Properties as shown in Figure 2-52. Figure 2-52 Link to CEI data sources 4. Check the box next to the data source and then click the Delete button as shown in Figure 2-53. Figure 2-53 Delete old CEI Cloudscape data source 5. Save your configuration changes. 2.4.4 Configure business process container In WebSphere Process Server for z/OS Version 6.0.1, the business process container can be configured using either a wizard provided on the WebSphere Administration Console or by running the bpeconfig.jacl script. 128 WebSphere Process Server for z/OS: Configuring a Network Deployment environment When configuring a WebSphere Process Server for z/OS Version 6.0.1 cluster, we recommended using the bpeconfig.jacl script rather than the wizard. The bpeconfig.jacl had to be run interactively when configuring business process container in a cluster. In WebSphere Process Server for z/OS Version 6.0.2, you have the same two options, and the bpeconfig.jacl script has been enhanced to accept a series of properties passed to it on invocation. Although passing properties to bpeconfig.jacl is much easier than driving bpeconfig.jacl interactively, it does not support a clustered configuration, so you still have to run bpeconfig.jacl interactively when configuring the business process container into a cluster. We decided to use the business process container wizard to configure the business process container in WebSphere Process Server for z/OS Version 6.0.2. WebSphere Process Server for z/OS Version 6.0.2 includes a new BPC feature—the BPC Observer, which is also configured using the business process container installation wizard. If you want to use the BPC Observer, you normally configure it at the same time as you configure the business process container. In summary, the steps to configuring the business process container are as follows: 1. Copy the supplied business process container DDL. 2. Customize the DDL that creates the business process container tables and indexes. 3. Execute the business process container DDL. 4. Run the business process container installation wizard. 5. Run the Human Task Container installation wizard. Copy the business process container DDL The A4SQLCP1 job copies the supplied business process container DDL files into MVS files. This copy process requires multiple steps. 1. The first step in the A4SQLCP1 job copies and converts the supplied DDL into a temporary directory (see Example 2-36). Example 2-36 A4SQLCP1 copies DDL //COPY EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + cd /usr/lpp/zWPSA4/V6R0/dbscripts; + Chapter 2. WebSphere Process Server primary node configuration with DB2 129 cd ProcessChoreographer/DB2zOSV8; + /u/jo/wpswork/cvtA2E.sh + 'createSchema.sql' + '/tmp/A4BPETB.sql' + 1> /tmp/wpssqlcopy_1030.out + 2> /tmp/wpssqlcopy_1030.err; + /u/jo/wpswork/cvtA2E.sh + 'createSchema_Observer.sql' + '/tmp/A4BPEOTB.sql' + 1> /tmp/wpssqlcopy_1031.out + 2> /tmp/wpssqlcopy_1031.err; + /u/jo/wpswork/cvtA2E.sh + 'createTablespace.sql' + '/tmp/A4BPETS.sql' + 1> /tmp/wpssqlcopy_1032.out + 2> /tmp/wpssqlcopy_1032.err; + /u/jo/wpswork/cvtA2E.sh + 'createTablespace_Observer.sql' + '/tmp/A4BPEOTS.sql' + 1> /tmp/wpssqlcopy_1033.out + 2> /tmp/wpssqlcopy_1033.err; 2. The A4SQLCP1 job prints the output and the error files created in the first step. 3. The A4SQLCP1 job copies the output from the UNIX System Services files to ISPF data sets using an OGET command. 4. The A4SQLCP1 job deletes the temporary UNIX System Services files. After running these jobs, you should have the following MVS files: A4CELL.SQL.A4BPEOTB A4CELL.SQL.A4BPEOTS A4CELL.SQL.A4BPETB A4CELL.SQL.A4BPETS These files have an LRECL of 255 and a RECFM of VB, but to execute SQL in batch mode requires the input file to have an LRECL of 80 and RECFM of F or FB. To make these changes, we first ensured that no statements extended beyond column 72. Then we copied the MVS data sets containing the SQL statements into members within a PDS with a LRECL of 80. 130 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Customize the business process container DDL You have to perform the following checks on each file: Remove all unprintable characters. Wherever a table name is mentioned, ensure it is qualified by a schema name. Wherever an index name is mentioned, ensure it is qualified by a schema name. To modify the SQL statements as described in the preceding list, we used the following ISPF edit commands in the following order: 1. C P'.' ' ' ALL This command removes all unprintable characters. 2. C '@STOGROUP@' 'A4DBSTO' ALL This changes the DB2 storage group. 3. C '@DBNAME@' 'A4BPEDB' ALL This changes the DB2 database name. 4. C '@_SQLID@' 'A4CELL' ALL This changes the DB2 schema name. 5. C '@WLMID@' 'D8IGWLMJ' ALL This command changes the WLM_ENVIRONMENT name of the stored procedure address space. This address space will run the user-defined function provided in bpcodbutil.jar. Note: Several of the change commands include a space in order to correctly add the schema name to the table or index name that follows. Be sure to perform these changes as shown using the quotes and the spaces. Execute the business process container DDL We ran the job A4SQLRU3 shown in Example 2-37, which executes only the DDL to create the business process container tables. Example 2-37 Job A4SQLRU3 to execute business process container DDL //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 Chapter 2. WebSphere Process Server primary node configuration with DB2 131 //* //* Create BPE Tables and Tablespaces. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4BPETS) // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4BPETB) This job should complete with return code 0. The DDL for the BPC Observer cannot be executed via SPUFI or DSNTEP2 at this time because it uses a CREATE FUNCTION that refers to a Java utility that must be defined to DB2 first. We decided to configure the BPC Observer DDL as a later step. 132 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Run the business process container installation wizard The following steps show how the business process container installation wizard is invoked using the WepSphere Administration Console. 1. Log in to the WebSphere Administration Console and navigate to Servers → Clusters. 2. Click the cluster name and then click Business process container under Additional Properties as shown in Figure 2-54. Figure 2-54 Navigate to Business process container configuration Chapter 2. WebSphere Process Server primary node configuration with DB2 133 3. Click the Business process container Installation wizard link to start the configuration process as shown in Figure 2-55. Figure 2-55 Start Business process container installation wizard The messages in the message box at the top of the screen indicate that the business process container and the human task container have not been configured. The business process container installation wizard includes the following three steps: 1. First you choose the type of database that will be used as the data store for business process container. For our WebSphere Process Server for z/OS cell, we selected DB2 on z/OS as shown in Figure 2-56. Figure 2-56 Select data store 134 WebSphere Process Server for z/OS: Configuring a Network Deployment environment After you have chosen the type of data store, the wizard completes the implementation class name and the classpath for the JDBC provider. Farther down the database configuration page inappropriate values are set for the Data source user name and Data source password fields. You must also change some of the custom properties. 2. Set the data source user name and data source password to the userid and password you have decided to use as the J2C authentication alias for JDBC data sources. For our A4 cell, this name was A4DBU so we completed the fields as shown in Figure 2-57. Figure 2-57 Set data source user name 3. Change the databaseName property in the Custom Properties list box to the location name of your DB2 system. For our A4 cell, this name was DB8I as shown in Figure 2-58. Figure 2-58 Set database name property Chapter 2. WebSphere Process Server primary node configuration with DB2 135 4. Scroll down the list of custom properties and set the currentSchema property to the correct value for the business process container database. For our A4 cell, we set currentSchema to A4CELL as shown in Figure 2-59. Figure 2-59 Set currentSchema property 5. Click Next to proceed. On the step 2 panel of the Business process container Installation wizard, the JMS userid and the JMS API userid are set to the userid you used to log in to the WebSphere Administration Console. 6. Set these userids and their passwords correctly to reflect the userids you planned to use. For our A4 cell, the JMS userid is A4JMSU and the JMS API userid is A4JMSAPI as shown in Figure 2-60. Figure 2-60 Set JMS userids and role groups 7. Click Next to proceed. 136 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 8. You can change the context root for the business process container in step 3 of the wizard, but we decided to let it default to /bpc. You must change the JMS userid and JMS password fields to the userid and password you planned to use for the business process container SIB JMS queue access. For our A4 cell, this was A4JMSU as shown in Figure 2-61. Figure 2-61 Set business process container context root and JMS userid 9. Click Next. A summary of the configuration actions that will made is displayed (see Figure 2-62). Notice that the messages at the top warn that you must manually create the tablespaces, tables, and indexes because the wizard is not going to create them. Figure 2-62 Business process container installation wizard configuration summary 10.Click Finish. Chapter 2. WebSphere Process Server primary node configuration with DB2 137 After you click Finish, the messages shown in Example 2-38 are issued and confirm the correct configuration of the business process container. Example 2-38 Messages issued by business process container installation wizard Installing... Check the SystemOut.log on the Deployment Manager or server where the application is deployed for specific information about the EJB deployment process as it occurs. ADMA5016I: Installation of BPEContainer_a4cl01 started. WSEC0106W: Your application may have Web Services Security enabled. If it does, you must go to the Enterprise Application Management panels to configure the binding information for Web Services Security. The binding information for Web Services Security is not collected during application deployment. If it is not properly configured, your application may not start or be usable. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPEContainer_a4cl01.ear/BPEContainer_a4cl01.ear ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPEContainer_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPEContainer_a4cl01.ear is being loaded for the SCA module. CWSCA3017I: Installation task Resource Task for SCA Messaging Binding and EIS Binding is running. CWSCA4007I: SCDL module BFMIF_a4cl01 is being loaded. Import "sca/dynamic/import/scaimport". CWSCA4007I: SCDL module BFMIF_a4cl01 is being loaded. Import "sca/dynamic/import/wsimport". CWSCA4008I: SCDL module BFMIF_a4cl01 is being loaded. Export "com/ibm/bpe/api/sca/BFMWS". CWSCA3017I: Installation task MQ Resource Task for SCA MQImportBinding/MQExportBinding is running. CWSCA3017I: Installation task SIBus Destination Resource Task for SCA Asynchronous Invocations is running. CWSCA3017I: Installation task EJB NamespaceBinding Resource Task for SCAImportBinding is running. CWSCA3017I: Installation task SIBus Destination Resource Task for SCA SOAP/JMS Invocations is running. CWSCA3014I: Resources for the SCA application BPEContainer_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPEContainer_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPEContainer_a4cl01 is complete. ADMA5013I: Application BPEContainer_a4cl01 installed successfully. ADMA5017I: Uninstallation of BPCExplorer_a4cl01 started. 138 WebSphere Process Server for z/OS: Configuring a Network Deployment environment CWSCA3018I: Resources for the SCA application BPCExplorer_a4cl01 are being removed. ADMA5104I: The server index entry for WebSphere:cell=a4cell,node=a4nodea is updated successfully. ADMA5102I: The configuration data for BPCExplorer_a4cl01 from the configuration repository is deleted successfully. ADMA5011I: The cleanup of the temp directory for application BPCExplorer_a4cl01 is complete. ADMA5106I: Application BPCExplorer_a4cl01 uninstalled successfully. ADMA5016I: Installation of BPCExplorer_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5009I: An application archive is extracted at /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/wstemp/app_1158aa 36912/ext ADMA5003I: The JavaServer Pages (JSP) files in the Web archive (WAR) files bpcexplorer.war compiled successfully. ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCExplorer_a4cl01.ear/BPCExplorer_a4cl01.ear ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCExplorer_a4cl01 are being configured. CWSCA3023I: The EAR file ext is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCExplorer_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCExplorer_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPCExplorer_a4cl01 is complete. ADMA5013I: Application BPCExplorer_a4cl01 installed successfully. ADMA5017I: Uninstallation of BPCObserver_a4cl01 started. CWSCA3018I: Resources for the SCA application BPCObserver_a4cl01 are being removed. ADMA5104I: The server index entry for WebSphere:cell=a4cell,node=a4nodea is updated successfully. ADMA5102I: The configuration data for BPCObserver_a4cl01 from the configuration repository is deleted successfully. ADMA5011I: The cleanup of the temp directory for application BPCObserver_a4cl01 is complete. ADMA5106I: Application BPCObserver_a4cl01 uninstalled successfully. ADMA5016I: Installation of BPCObserver_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. Chapter 2. WebSphere Process Server primary node configuration with DB2 139 ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCObserver_a4cl01.ear/BPCObserver_a4cl01.ear ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCObserver_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPCObserver_a4cl01.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCObserver_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCObserver_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPCObserver_a4cl01 is complete. ADMA5013I: Application BPCObserver_a4cl01 installed successfully. ADMA5017I: Uninstallation of BPCECollector_a4cl01 started. CWSCA3018I: Resources for the SCA application BPCECollector_a4cl01 are being removed. ADMA5104I: The server index entry for WebSphere:cell=a4cell,node=a4nodea is updated successfully. ADMA5102I: The configuration data for BPCECollector_a4cl01 from the configuration repository is deleted successfully. ADMA5011I: The cleanup of the temp directory for application BPCECollector_a4cl01 is complete. ADMA5106I: Application BPCECollector_a4cl01 uninstalled successfully. ADMA5016I: Installation of BPCECollector_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCECollector_a4cl01.ear/BPCECollector_a4cl01.ear ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCECollector_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPCECollector_a4cl01.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCECollector_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCECollector_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPCECollector_a4cl01 is complete. ADMA5013I: Application BPCECollector_a4cl01 installed successfully. ADMA5013I: Application BPEContainer_a4cl01 installed successfully. ADMA5013I: Application BPCExplorer_a4cl01 installed successfully. ADMA5013I: Application BPCObserver_a4cl01 installed successfully. ADMA5013I: Application BPCECollector_a4cl01 installed successfully. 140 WebSphere Process Server for z/OS: Configuring a Network Deployment environment After saving your changes to the master configuration, you must also restart the server to be able to use the business process container. In order to use human task capabilities, the Human Task Manager must also be configured. The Human Task Manager configuration is here. To start the application, first save changes to the master configuration. Save to Master Configuration Configure the human task container After you have configured the business process container, you configure the human task container. When you finish with the business process container installation wizard and save the configuration changes, you return to the Server Cluster panel. 1. Click the Human task container link under Additional Properties as shown in Figure 2-63. Figure 2-63 Click link to configure human task container Chapter 2. WebSphere Process Server primary node configuration with DB2 141 2. Under Additional Properties, click the link to start the Human task container installation wizard as shown in Figure 2-64. Figure 2-64 Start Human task container installation wizard 3. In the panel for step 1 of the wizard, set the appropriate userids and passwords. The Webservices Endpoint field under SCA Bindings configuration should be left as HTMIF_<clustername> where <clustername> is the cluster into which you are configuring the human task container. 142 WebSphere Process Server for z/OS: Configuring a Network Deployment environment For our A4 cell, the values we entered are as shown in Figure 2-65. Figure 2-65 Set userids and role groups 4. Click Next to proceed to step 2 of the Human task container installation wizard. 5. In the step 2 panel (see Figure 2-66), you can make selections for the mail session and logging. Figure 2-66 Enable CEI logging and audit logging We decided not to check the box for a mail session because we did not have a mail server configured. However, since we planned to use the BPC Observer, we checked the Enable Common Event Infrastructure logging and Enable audit logging for all human tasks check boxes. Chapter 2. WebSphere Process Server primary node configuration with DB2 143 6. Click Next to proceed to step 3 of the wizard, which is a summary of the configuration actions that will be performed (see Figure 2-67). Figure 2-67 Human task container installation wizard configuration summary 7. Click Finish to start the configuration. After you click Finish, the messages shown in Example 2-39 are issued and confirm the correct configuration of the human task container. Example 2-39 Messages issued by Human task container installation wizard Installing... Check the SystemOut.log on the Deployment Manager or server where the application is deployed for specific information about the EJB deployment process as it occurs. ADMA5016I: Installation of TaskContainer_a4cl01 started. WSEC0106W: Your application may have Web Services Security enabled. If it does, you must go to the Enterprise Application Management panels to configure the binding information for Web Services Security. The binding information for Web Services Security is not collected during application deployment. If it is not properly configured, your application may not start or be usable. ADMA5016I: Installation of SchedulerCalendars started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application SchedulerCalendars is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application SchedulerCalendars is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/SchedulerCalendars.ear/SchedulerCalendars.ear ADMA5005I: The application SchedulerCalendars is configured in the WebSphere Application Server repository. 144 WebSphere Process Server for z/OS: Configuring a Network Deployment environment CWSCA3013I: Resources for the SCA application SchedulerCalendars are being configured. CWSCA3023I: The EAR file 1769895740SchedulerCalendars.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application SchedulerCalendars have been configured successfully. SECJ0400I: Successfuly updated the application SchedulerCalendars with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application SchedulerCalendars is complete. ADMA5013I: Application SchedulerCalendars installed successfully. ADMA5013I: Application SchedulerCalendars installed successfully. After saving to the master configuration, you must restart the server to be able to use the Human Task Manager. In order to use Human Task Manager capabilities, the Business Process Container must also be configured. The Business Process Container configuration is here. To start the application, first save changes to the master configuration. Save to Master Configuration The Business process container and Human task container installation wizards install applications in addition to configuring several resources. You can confirm whether the containers are started as follows: 8. Navigate to Applications → SCA Modules. Both the two entries listed should be started as shown in Figure 2-68. Figure 2-68 Check that business process container and human task container SCA modules are started The business process container configuration is now complete. Back up the HFS using the job HFSDUMP. Chapter 2. WebSphere Process Server primary node configuration with DB2 145 2.4.5 Configure BPC Event Collector and BPC Observer The BPC Observer depends on a component called the BPC Event Collector, which must be configured along with the BPC Observer. The BPC Event Collector makes use of a DB2 user-defined function (UDF), which is Java code provided with WebSphere Process Server in the jar file bpcodbutl.jar. The Java function is named in CREATE FUNCTION statements in the DDL that configures the BPC Event Collector in DB2. Therefore the function must be installed into DB2 before you run the DDL that contains the CREATE FUNCTION statements. The following two approaches are used to define the function to DB2: Create a stored procedure address space configured for Java and put bpcodbutil.jar on the CLASSPATH. Load bpcodbutil.jar into DB2 using the DB2-provided stored procedure SQLJ.DB2_INSTALL_JAR. We used the latter approach because it is described in the WebSphere Process Server documentation. The setupEventCollector.sh shell script loads bpcodbutil.jar into the DB2 catalog (into SYSIBM.SYSJARCONTENTS) and defines all the BPC Event Collector and BPC Observer tables. A disadvantage to this approach is that the bpcodbutil.jar file is no longer associated with a particular WebSphere Process Server node’s product HFS. Normally product upgrades are implemented by rolling out the new product across one node at a time, but if bpcodbutil.jar is updated by a program temporary fix (PTF), you have to replace it in the DB2 catalog. The setupEventCollector.sh script provides an option that loads bpcodbutil.jar and also configures the BPC Event Collector and BPC Observer tables, but no single, separate option just replaces bpcodbutil.jar. You have to create your own program to call SQLJ.DB2_REPLACE_JAR to replace bpcodbutil.jar. For this reason, you may prefer not to load bpcodbutil.jar into DB2 and instead load it from the CLASSPATH of the stored procedure address space. The next two sections describe each of the two previously listed approaches to making bpcodbutil.jar available to CREATE FUNCTION. 146 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Accessing bpcodbutil.jar from stored procedure CLASSPATH This section describes how to set up a DB2 stored procedure address space so that bpcodbutil.jar is loaded via the CLASSPATH. We did not follow this approach, but it is a valid alternative described on the DB2 Infocenter Web site—that is, the IBM Information Management Software for z/OS Solutions Information Center, which is accessible from: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp You should consult the DB2 Infocenter for more detailed information about how to set up stored procedure address spaces to run a Java routine. We followed the approach described in the next section “Loading bpcodbutil.jar into the DB2 catalog” on page 152. The DDL provided for the Event Collector includes CREATE FUNCTION statements. Before you can execute a CREATE FUNCTION statement, the function must be available via either CLASSPATH or the DB2 catalog table SYSIBM.SYSJARCONTENTS. The EXTERNAL NAME parameter on the CREATE FUNCTION statement references the Java class within bpcodbutil.jar that provides the INTERVALIN UDF. The two formats for the EXTERNAL NAME are as follows: The DDL, as supplied, uses the format that expects bpcodbutil.jar to be loaded into the DB2 catalog. That format is as follows: EXTERNAL NAME ‘BPCODBUTIL:com.ibm.bpe.observer.dbutil.Timestamputil.intervalinInt’ The first part of the EXTERNAL NAME (BPCODBUTIL) is the name of the jar file that contains the class. You use this form if you plan to load bpcodbutil.jar into the DB2 catalog. The second form of EXTERNAL NAME does not specify the name of the JAR file, which means that the class must be loaded from the CLASSPATH of the stored procedure address space where it will execute. This form of EXTERNAL NAME is as follows: EXTERNAL NAME ‘com.ibm.bpe.observer.dbutil.Timestamputil.intervalinInt’ The CREATE FUNCTION statement also contains the WLM ENVIRONMENT parameter. The WLM ENVIRONMENT name you specify on CREATE FUNCTION must be defined to zWLM, and you must create a stored procedure address space that will service that WLM ENVIRONMENT. That stored procedure address space must be set up as a Java-language address space with Chapter 2. WebSphere Process Server primary node configuration with DB2 147 a //JAVAENV DD statement that includes environment variables for a Java virtual machine. One of these is the CLASSPATH on which you will include bpcodbutil.jar. For example, the steps that follow are based on the assumption that your DB2 data-sharing group name is DB2G: 1. You can choose to use a WLM ENVIRONMENT called DB2GWPSJ on the CREATE FUNCTION statements in the BPC Event Collector DDL. 2. Define the application environment called DB2GWPSJ to zWLM, specifying the name of the stored procedure address space that will service that environment. 3. Start the WLM ISPF dialog using the command TSO %IWMARIN0 from the ISPF command line. 4. Press Enter to remove the WLM logo. 5. Choose option 2 to extract the WLM definition from the coupling data set. 6. Select option 9 to define the application environments. 7. Under the Action column on the left, you can either enter 1 to create a new definition or locate an entry for an existing DB2 stored procedure application environment and enter 2 to copy it. 8. Define the DB2GWPSJ application environment as shown in Figure 2-69. Figure 2-69 Define DB2GWPSJ application environment to zWLM 9. Hit PF3 to go back to the main menu. 10.Move your cursor to the Utilities option at the top of the screen and press Enter. 148 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 11.Select option 1 to Install the changed definition. 12.Select option 3 to activate the WLM policy. You must select your current WLM policy on the next menu. The DB2GWPSJ application environment has now been created and is active. 13.Allocate a sequential data set to contain the JVM environment variables. This data set should be allocated as RECFM=VB, LRECL=255.The name of this data set does not matter, but let us assume you call it A4CELL.WPS.JAVAENV. 14.Edit the A4CELL.WPS.JAVAENV data set and set up the environment variables as shown in Example 2-40. Example 2-40 JAVAENV environment variables XPLINK(ON), ENVAR("JAVA_HOME=/wasa4config/a4cell/a4dmnode/DeploymentManager/java", "JCC_HOME=/usr/lpp/db2/db2g/jcc", "CLASSPATH=.:/wasa4config/a4cell/a4dmnode/DeploymentManager/lib/bpcodbu til.jar", "JVMPROPS=/u/db2g/jvmprops", "WORK_DIR=/tmp/db2gwlmj"), MSGFILE(JSPDEBUG) – Set the JAVA_HOME variable to the path for the Java SDK that is associated with WebSphere Application Server Version 6.0.2. Normally each node references its Java SDK at <WAS_INSTALL_ROOT>/java; however, because the JCL for a stored procedure address space applies across the sysplex, specifying one of the WebSphere Application Server nodes on the path does not make sense unless you organize your system proclibs so that the DB2GWPSJ-started task JCL is not in a shared proclib. In Example 2-40, we reference the DeploymentManager’s Java SDK. – The variable JCC_HOME should reference the path to the DB2 Universal Driver home directory. Chapter 2. WebSphere Process Server primary node configuration with DB2 149 – The CLASSPATH variable must include the current directory (“.”) and the path to bpcodbutil.jar. – The JVMPROPS variable must reference a properties files in the UNIX file system. The properties files should be set up as shown in Example 2-41. Example 2-41 JVMPROPS file # Properties file # Set the initial -Xms64M # Set the maximum -Xmx128M # Initial size of -Xinitacsh512K # Initial size of -Xinitsh512K # Initial size of -Xinitth32M for JVM for Java routines size of middleware heap size of non-system heap application class system heap system heap transient heap – The properties WORK_DIR and MSGFILE are used to control where diagnostics are issued. 15.Create a started task JCL in SYS1.PROCLIB for the DB2GWPSJ stored procedure address space (see Example 2-42). Note the two DD statements JAVAENV and JSPDEBUG, The latter is useful during testing to resolve problems. Example 2-42 JCL for DB2GWPSJ stored procedure address space //D82GWPSJ PROC DB2SSN=DB2G,NUMTCB=1,APPLENV=DB2GWPSJ //* //NUMTCB@1 SET NUMTCB= <== Null NUMTCB symbol //* //DSNTPSMP EXEC PGM=DSNX9WLM,TIME=1440, // PARM='&DB2SSN,1,&APPLENV', <== Use 1, not NUMTCB // REGION=0M,DYNAMNBR=5 <== Allow for Dyn Allocs //* Include SDSNEXIT to use Secondary Authids (DSN3@ATH DSN3@SGN exits) //STEPLIB DD DISP=SHR,DSN=RC48.DB2.LOAD // DD DISP=SHR,DSN=DB2G.SDSNEXIT // DD DISP=SHR,DSN=DB2.SDSNLOAD // DD DISP=SHR,DSN=DB2.SDSNLOD2 // DD DISP=SHR,DSN=DB2.SDXXLOAD // DD DISP=SHR,DSN=CBC.SCCNCMP <== C Compiler // DD DISP=SHR,DSN=CEE.SCEERUN <== LE runtime //SYSEXEC DD DISP=SHR, <== Location of DSNTPSMP // DSN=DB2.SDSNCLST //JAVAENV //JSPDEBUG DD //SYSOUT DD //SYSTSPRT DD 150 DD DISP=SHR,DSN=A4CELL.WPS.JAVAENV SYSOUT=* SYSOUT=* SYSOUT=* WebSphere Process Server for z/OS: Configuring a Network Deployment environment //CEEDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSABEND DD DUMMY //DSNTRACE DD SYSOUT=* //* //**** Data sets required by the SQL Procedures Processor //SQLDBRM DD DISP=SHR, <== DBRM Library // DSN=DB2G.DBRMLIB.DATA //SQLCSRC DD DISP=SHR, <== Generated C Source // DSN=DB2G.SRCLIB.DATA //SQLLMOD DD DISP=SHR, <== Application Loadlib // DSN=DB2G.RUNLIB.LOAD //SQLLIBC DD DISP=SHR, <== C header files // DSN=CEE.SCEEH.H // DD DISP=SHR, // DSN=CEE.SCEEH.SYS.H // DD DISP=SHR, <== Debug header file // DSN=DB2.SDSNC.H //SQLLIBL DD DISP=SHR, <== Linkedit includes // DSN=CEE.SCEELKED // DD DISP=SHR, // DSN=DB2.SDSNLOAD //SYSMSGS DD DISP=SHR, <== Prelinker msg file // DSN=CEE.SCEEMSGP(EDCPMSGE) //* //**** DSNTPSMP Configuration File - CFGTPSMP (optional) //* A site provided sequential dataset or member, used to //* define customized operation of DSNTPSMP in this APPLENV. //*CFGTPSMP DD DISP=SHR,DSN= //* //**** Workfiles required by the SQL Procedures Processor //SQLSRC DD UNIT=SYSALLDA,SPACE=(23440,(20,20)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) //SQLPRINT DD UNIT=SYSALLDA,SPACE=(23476,(20,20)), // DCB=(RECFM=VB,LRECL=137,BLKSIZE=23476) //SQLTERM DD UNIT=SYSALLDA,SPACE=(23476,(20,20)), // DCB=(RECFM=VB,LRECL=137,BLKSIZE=23476) //SQLOUT DD UNIT=SYSALLDA,SPACE=(23476,(20,20)), // DCB=(RECFM=VB,LRECL=137,BLKSIZE=23476) //SQLCPRT DD UNIT=SYSALLDA,SPACE=(23476,(20,20)), // DCB=(RECFM=VB,LRECL=137,BLKSIZE=23476) //SQLUT1 DD UNIT=SYSALLDA,SPACE=(23440,(20,20)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) //SQLUT2 DD UNIT=SYSALLDA,SPACE=(23440,(20,20)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) //SQLCIN DD UNIT=SYSALLDA,SPACE=(32000,(20,20)) //SQLLIN DD UNIT=SYSALLDA,SPACE=(3200,(30,30)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200) //SQLDUMMY DD DUMMY //SYSMOD DD UNIT=SYSALLDA,SPACE=(23440,(20,20)), <= PRELINKER // DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) Chapter 2. WebSphere Process Server primary node configuration with DB2 151 16.Define a RACF-started class profile so that the stored procedure address space runs under a userid that has authority to access the CLASSPATH variable you will use in the //JAVAENV DD statement. 17.Start the DB2GWPSJ address space. 18.You can now execute the DDL to define the BPC Event Collector and BPC Observer tables, including the CREATE FUNCTION statements. You could use standard DB2 for z/OS utilities such as DSNTEP2, provided you edit the supplied DDL so it uses the correct schema name. The DDL for the BPC Observer can be found in directory: /usr/lpp/zWPSA4/V6R0/dbscripts/ProcessChoreographer/DB2zOSV8 The create Tablespace_Observer.sql file contains the DDL to create the tablespaces, and the createSchema_Observer.sql file creates the tables, functions, and indexes. If you used the JCL example we provided previously in Example 2-36 on page 129, you will have already copied the BPC Observer DDL into two z/OS sequential files. You must have edited the DDL as described in “Customize the business process container DDL” on page 131 before you execute it. Loading bpcodbutil.jar into the DB2 catalog The WebSphere Process Server documentation describes the setupEventCollector.sh shell script that can be used to configure the BPC Event Collector. We followed this approach to load bpcodbutil.jar into the DB2 catalog and define the BPC Event Collector and BPC Observer tables. The setupEventCollector.sh script runs interactively. It includes a menu with four options enabling you to choose different configuration tasks. When you select the option to configure the database, the shell prompts you for the name of the database in which you will configure the BPC Event Collector. The shell script will check for the existence of the BPC Observer tablespaces in the database that you name in response to the prompt. Therefore, you cannot configure BPC Event Collector in a separate database; the BPC Event Collector tablespaces must share the same database with the other BPC tablespaces. Check that the stored procedure SQLJ.DB2_INSTALL_JAR has been installed and that a WLM ENVIRONMENT and stored procedure address space has been prepared to run it. 152 WebSphere Process Server for z/OS: Configuring a Network Deployment environment At this point, you can configure the BPC Observer. In summary, the steps to do so are as follows: 1. Run the DDL to define the BPC Event Collector and BPC Observer tablespaces in the same database as the other BPC tablespaces. 2. Run setupEventCollector.sh to load bpcodbutil.jar into DB2 and define the BPC Event Collector and BPC Observer tables. 3. Run setupEventCollector.sh to change configuration properties. 4. Run setupObserver.sh to set the schema name used by the BPC Observer. Create the BPC Observer tablespaces Earlier when you copied the BPC DDL from the UNIX file system into sequential data sets, some DDL was related to the BPC Event Collector and BPC Observer, which are, respectively, the DDL files and the name of the sequential data sets we copied the DDL into when configuring BPC Observer for our A4 cell. createTablespace_Observer.sql createSchema_Observer.sql A4CELL.SQL.A4BPEOTS A4CELL.SQL.A4BPEOTB At this stage you need to define only the tablespaces to DB2. You should have already edited the DDL to include the correct schema name. For our A4 cell, we ran job A4SQLRU4 to define the BPC Event Collector and BPC Observer tablespaces as shown in Example 2-43. Example 2-43 Job A4SQLRU4 definesBPC Observer tablespaces //JOBLIB DD DISP=SHR,DSN=DB8IU.SDSNEXIT // DD DISP=SHR,DSN=DB8I8.SDSNLOAD //* //* Before running this: //* The userid on the SET CURRENT SQLID statement must //* have DB2 SYSADM authority and EXECUTE on PLAN DSNTIA81 //* //* Create BPE Tables and Tablespaces. //* //CREATE EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(D8I1) RUN PROGRAM(DSNTEP2) PLAN(DSNTEP81) LIB('DB8IU.RUNLIB.LOAD') //SYSIN DD * SET CURRENT SQLID = 'A4CELL' ; // DD DISP=SHR,DSN=A4CELL.WPSDB2.SQL(A4BPEOTS) Chapter 2. WebSphere Process Server primary node configuration with DB2 153 Run setupEventCollector.sh to load bpcodbutil.jar Before you run setupEventCollector.sh, the DDL for the BPC Event Collector and BPC Observer must be updated to contain a SET CURRENT SQLID statement at the start. If you do not do so, the shell script fails to execute because the schema name does not equal the current SQLID, and you will encounter the following error: A DYNAMIC CREATE STATEMENT CANNOT BE PROCESSED WHEN THE VALUE OF CURRENT SCHEMA DIFFERS FROM CURRENT SQLID Error Code: -20283 The setupEventCollector.sh script uses the DDL that is located in the UNIX file system in the following DeploymentManager directory: <WAS_HOME>/dbscripts/ProcessChoreographer/DB2zOSV8/createSchema_ Observer.sql However, this is a symbolic link to the product HFS. If you do not want to edit the DDL in the product HFS, delete the symbolic link and copy the createSchema_Observer.sql file from the product HFS to: <WAS_HOME>/dbscripts/ProcessChoreographer/DB2zOSV8. Insert the following line at the start of createSchema_Observer.sql: SET CURRENT SQLID=’@_SQLID@’; The string “@_SQLID@” will be substituted by the setupEventCollector.sh shell script according to the schema name you enter when prompted. Note that createSchema_Observer.sql is an ASCII file and must remain in ASCII after you edit it. When setupEventCollector.sh creates the BPC Event Collector and BPC Observer tables, it will do so under a userid you specify in response to a prompt. That userid must be connected to the RACF group for the schema name. For our A4 cell, for example, the userid we specified when prompted by setupEventCollector.sh was the userid A4DBU that we planned to use as the JAAS authentication alias userid on the BPC data sources. Therefore, we had to connect A4DBU to the RACF group A4CELL. If you do not do so, you will encounter SQLCODE -553. We issued the following RACF command to perform the connect: CONNECT A4DBU GROUP(A4CELL) When setupEventCollector.sh loads bpcodbutil.jar into the DB2 catalog, it requires USAGE on the jar file. If you do not do this, you will encounter SQLCODE -551. 154 WebSphere Process Server for z/OS: Configuring a Network Deployment environment We issued the following DB2 GRANT: GRANT USAGE ON JAR A4CELL.BPCDBUTIL TO A4CELL; Notice that you must export the variable WAS_HOME before invoking setupEventCollector.sh as shown in Example 2-44. Example 2-44 telnet log of setupEventCollector.sh execution A4ADMIN:/var/WebSphere/home/A4CFG: > export WAS_HOME=/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default A4ADMIN:/var/WebSphere/home/A4CFG: > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: > ./setupEventCollector.sh -conntype SOAP -user A4ADMIN -password A4ADM IN -profileName default -cluster a4cl01 WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-cluster, a4 cl01]" -------------------------------------------------------------------------------Welcome to the WebSphere Business Process Choreographer Event Collector setup! -------------------------------------------------------------------------------Logfile is '/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/logs/setupEventCollecto r.log' Initializing ... Commands Menu Working on cluster 'a4cl01'. 1) 2) 3) 4) Prepare a database for the Event Collector Install the Event Collector application Remove the Event Collector application and related objects Change configuration settings of an installed Event Collector 0) Exit Menu 1 Prepare a database for the WebSphere Business Process Choreographer Event Collector Select the type of your DBMS : 'd' ... DB2 'c' ... Cloudscape '7' ... DB2 V7 on z/OS Chapter 2. WebSphere Process Server primary node configuration with DB2 155 '8' ... DB2 V8 on z/OS 'o' ... Oracle 'x' ... Exit Your selection : [c] 8 Selected database management system : DB2zOSV8 Specify the database to be used. Note: Database must already exist. Specify the name of database in local catalog : [BPEDB] Selected local name: 'DB8I' DB8I Specify the name of the database as known by the susbsystem [DB8I] : Selected remote name: 'A4BPEDB' Specify userid to connect to the database 'DB8I' [db2admin] : Specify the password for userid 'A4DBU' : Trying to connect to database 'DB8I', using user 'A4DBU' Connected to 'DB8I' Specify the database schema to be used. [A4DBU] : Selected schema: 'A4CELL' A4BPEDB A4DBU A4CELL Specify the DB2 storage group name to be used. [OBSVRSG] : Selected storage group: A4DBSTO A4DBSTO Specify the WLM environment name where the UDF should run. [] : Selected WLM environment name: D8IGWLMJ D8IGWLMJ Checking for required tablespace(es) ['OBSVR01', 'OBSVR02', 'OBSVR03', 'OBSVR04', 'OBSVR05', 'OBSVR06', 'OBSVR07', 'OBSVR08', 'AS25A01', 'AS25A02', 'AS25A 03', 'AS25A04'] All required tablespaces were found. Loading the jar file '/wasa4config/a4cell/a4dmnode/DeploymentManager/lib/bpcodbutil.jar' into the database. Note: To activate the updated jar file, you must restart the database DB8I. The jar file '/wasa4config/a4cell/a4dmnode/DeploymentManager/lib/bpcodbutil.jar' was sucessfully installed. The setup of the database completed successfully. Note: To allow the Event Collector to work with this database, you must also setup a datasource within the Administrative Console. Commands Menu Working on cluster 'a4cl01'. 1) Prepare a database for the Event Collector 2) Install the Event Collector application 156 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3) Remove the Event Collector application and related objects 4) Change configuration settings of an installed Event Collector 0) Exit Menu 0 A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config:> Although we entered 0 at the last prompt to exit the shell script, you can remain in the shell script because, in the next step, you alter the schema name that the BPC Event Collector and BPC Observer applications will use. Change Event Collector configuration properties By selecting option 4 from the setupEventCollector.sh menu, you can change the schema name used for the Event Collector and reduce some of the thresholds that control when events are made available to the BPC Observer. If you do not reduce the thresholds, no events will be listed when you get to the point where you test the BPC Observer. We executed setupEventCollector.sh from a telnet session and the log of the session is shown in Example 2-45. Example 2-45 Run setupEventCollector.sh to change configuration properties A4ADMIN:/var/WebSphere/home/A4CFG: > export WAS_HOME=/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default A4ADMIN:/var/WebSphere/home/A4CFG: > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: > ./setupEventCollector.sh -conntype SOAP -user A4ADMIN -password A4ADMIN -profileName default -cluster a4cl01 A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-cluster, a4cl01]" -------------------------------------------------------------------------------Welcome to the WebSphere Business Process Choreographer Event Collector setup! -------------------------------------------------------------------------------Logfile is '/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/logs/setupEventCollecto r.log' Initializing ... Commands Menu Chapter 2. WebSphere Process Server primary node configuration with DB2 157 Working on cluster 'a4cl01'. 1) 2) 3) 4) Prepare a database for the Event Collector Install the Event Collector application Remove the Event Collector application and related objects Change configuration settings of an installed Event Collector 0) Exit Menu 4 Enter number of the configuration parameter you want to change/display: 1) 2) 3) 4) BPCEventCollectorSchema BPCEventTransformerEventCount BPCEventTransformerMaxWaitTime BPCEventTransformerToleranceTime 0) Exit Menu Your selection : 1 Edit a configuration parameter. Configuration parameter: Description: Data type: Current value is: BPCEventCollectorSchema The database schema under which the Event Collector tables were created. If this value is not set, the default schema of the authenticated user is taken. String '<not set>' Enter a new value. Enter 'Space' to unset. Press 'Enter' to exit. Your selection : A4CELL Value for 'BPCEventCollectorSchema' set to 'A4CELL'. Enter number of the configuration parameter you want to change/display: 1) 2) 3) 4) BPCEventCollectorSchema BPCEventTransformerEventCount BPCEventTransformerMaxWaitTime BPCEventTransformerToleranceTime 0) Exit Menu Your selection : 2 Edit a configuration parameter. Configuration parameter: Description: Data type: 158 BPCEventTransformerEventCount The number of events after which the Event Collector sends a notification to the Transformer. Integer WebSphere Process Server for z/OS: Configuring a Network Deployment environment Unit: Current value is: Events '500' Enter a new value. Press 'Enter' to exit. Your selection : 0 Value for 'BPCEventTransformerEventCount' set to '0'. Enter number of the configuration parameter you want to change/display: 1) 2) 3) 4) BPCEventCollectorSchema BPCEventTransformerEventCount BPCEventTransformerMaxWaitTime BPCEventTransformerToleranceTime 0) Exit Menu Your selection : 3 Edit a configuration parameter. Configuration parameter: Description: Data type: Unit: Current value is: BPCEventTransformerMaxWaitTime Time in minutes after the Transformer is notified although the number of events is not reached. Integer Minutes '10' Enter a new value. Press 'Enter' to exit. Your selection : 1 Value for 'BPCEventTransformerMaxWaitTime' set to '1'. Enter number of the configuration parameter you want to change/display: 1) 2) 3) 4) BPCEventCollectorSchema BPCEventTransformerEventCount BPCEventTransformerMaxWaitTime BPCEventTransformerToleranceTime 0) Exit Menu Your selection : 4 Edit a configuration parameter. Configuration parameter: Description: Data type: Unit: Current value is: BPCEventTransformerToleranceTime Time in minutes while the Transformer ignores the events in the database. Integer Minutes '10' Chapter 2. WebSphere Process Server primary node configuration with DB2 159 Enter a new value. Press 'Enter' to exit. Your selection : 1 Value for 'BPCEventTransformerToleranceTime' set to '1'. Enter number of the configuration parameter you want to change/display: 1) 2) 3) 4) BPCEventCollectorSchema BPCEventTransformerEventCount BPCEventTransformerMaxWaitTime BPCEventTransformerToleranceTime 0) Exit Menu Your selection : 0 Do you want to save the changes? (y/n) y Update of BPCECollector_a4cl01 has started. CWSCA3020I: The SCA application BPCECollector_a4cl01 is being updated. ADMA5009I: An application archive is extracted at /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/wstemp/app_11595d b200d/ext ADMA5064I: FileMergeTask completed successfully for BPCECollector_a4cl01. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3021I: The SCA application BPCECollector_a4cl01 has been updated. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5011I: The cleanup of the temp directory for application BPCECollector_a4cl01 is complete. Update of BPCECollector_a4cl01 has ended. Note: To activate the changes, you must restart the application BPCECollector_a4cl01. Do you want to restart the application now? (y/n) y Stopping the application 'BPCECollector_a4cl01'... Failed to start 'BPCECollector_a4cl01' Error: Scripting exception occured ! com.ibm.ws.scripting.ScriptingException com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName. Traceback (innermost last): File "/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config/./bpelib.py" , line 2596, in stopApplication Starting the application 'BPCECollector_a4cl01'... Failed to stop 'BPCECollector_a4cl01' Error: Scripting exception occured ! com.ibm.ws.scripting.ScriptingException com.ibm.ws.scripting.ScriptingException: WASX7025E: Error found in String ""; cannot create ObjectName. 160 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Traceback (innermost last): File "/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config/./bpelib.py" , line 2552, in startApplication Information: Please run the node synchronization (run syncNode.bat|.sh) to activate the changes. Commands Menu Working on cluster 'a4cl01'. 1) 2) 3) 4) Prepare a database for the Event Collector Install the Event Collector application Remove the Event Collector application and related objects Change configuration settings of an installed Event Collector 0) Exit Menu 0 A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: > After selecting option 4, notice that in order to change the configuration settings, we were prompted to choose the parameters we wanted to change. The first of these parameters is BPCEventCollectorSchema.You must set the schema name at this point; otherwise, you will encounter SQLCODE -440 problems when running the BPC Event Collector. The changed values we set for the BPC Event Collector are: BPCEventCollectorSchema=A4CELL BPCEventTransformerEventCount=0 BPCEventTransformerMaxWaitTime=1 BPCEventTransformerToleranceTime=1 On the previous invocation, because we experienced a problem after replying “Y” to the question about restarting the application, we replied “N” this time. Then we stopped and started the BPC Event Collector application using the WebSphere Administration Console. Run setupObserver.sh to set the BPC Observer schema A second shell script—setupObserver.sh—must be executed to set the schema name used by the BPC Observer. The setupObserver.sh script is also interactive and like setupEventCollector, it presents a menu of options to choose from. Chapter 2. WebSphere Process Server primary node configuration with DB2 161 Execute setupObserver.sh from OMVS or a telnet session. When presented with the menu, choose option 1 to set the BPCObserverSchema as shown in Example 2-46. Example 2-46 Run setupObserver.sh execution to set BPC Observer schema A4ADMIN:/var/WebSphere/home/A4CFG: > export WAS_HOME=/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default A4ADMIN:/var/WebSphere/home/A4CFG: > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: >./setupObserver.sh -conntype SOAP -user A4ADMIN -password A4ADMIN -profileName default -cluster a4cl01 WASX7209I: Connected to process "dmgr" on node a4dmnode using SOAP connector; The type of process is: DeploymentManager WASX7303I: The following options are passed to the scripting environment and are available as argument that is stored in the argv variable: "[-cluster, a4 cl01]" -------------------------------------------------------------------------------Welcome to the WebSphere Business Process Choreographer Observer setup! -------------------------------------------------------------------------------Logfile is '/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/logs/setupObserver.log' Initializing ... Commands Menu Working on cluster 'a4cl01'. 1) Install the Observer application 2) Remove the Observer application and related objects 3) Change configuration settings of an installed Observer 0) Exit Menu 3 Enter number of the configuration parameter you want to change/display: 1) BPCObserverSchema 2) ReportAtSnapshotRange 0) Exit Menu Your selection : 1 Edit a configuration parameter. Configuration parameter: 162 BPCObserverSchema WebSphere Process Server for z/OS: Configuring a Network Deployment environment Description: Data type: Current value is: The database schema under which the Observer tables were created. If this value is not set, the default schema of the authenticated user is taken. String '<not set>' Enter a new value. Enter 'Space' to unset. Press 'Enter' to exit. Your selection : A4CELL Value for 'BPCObserverSchema' set to 'A4CELL'. Enter number of the configuration parameter you want to change/display: 1) BPCObserverSchema 2) ReportAtSnapshotRange 0) Exit Menu Your selection : 0 Do you want to save the changes? (y/n) y Update of BPCObserver_a4cl01 has started. CWSCA3020I: The SCA application BPCObserver_a4cl01 is being updated. ADMA5009I: An application archive is extracted at /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/wstemp/app_115960 30ce2/ext ADMA5064I: FileMergeTask completed successfully for BPCObserver_a4cl01. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3021I: The SCA application BPCObserver_a4cl01 has been updated. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. ADMA5011I: The cleanup of the temp directory for application BPCObserver_a4cl01 is complete. Update of BPCObserver_a4cl01 has ended. Note: To activate the changes, you must restart the application BPCObserver_a4cl01. Do you want to restart the application now? (y/n) n Information: Please run the node synchronization (run syncNode.bat|.sh) to activate the changes. Commands Menu Working on cluster 'a4cl01'. 1) Install the Observer application 2) Remove the Observer application and related objects 3) Change configuration settings of an installed Observer Chapter 2. WebSphere Process Server primary node configuration with DB2 163 0) Exit Menu 0 A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/ProcessChoreographer/config: > 2.4.6 Complete the configuration Before you start the server, additional changes are required to complete the configuration. Most of the changes are performed by running fixWPSVars.jacl against the primary node; however, some manual changes are necessary. You use the WebSphere Administration Console to make these changes. In summary the steps are as follows: 1. Run fixWPSvars.jacl against the primary node. 2. Optionally define an ESB logger mediation data source. 3. Optionally correct the ESB logger namespace binding. 4. Copy the server-bpc.xml file into the node’s configuration HFS. 5. Grant SELECT on SYSIBM.SYSTABLES to the BPC database JAAS authentication alias userid. 6. Remove db2jcc_license_cu.jar from the CLASSPATH of the DB2 JDBC™ providers. 7. Recheck that the data sources are all configured correctly. Run fixWPSvars.jacl against the primary node The JCL for A4FIXNA is provided in Appendix B, “Additional material” on page 235. Example 2-47 shows the first step of the A4FIXNA job. Example 2-47 Run fixWPSVars.jacl for primary node //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4dmnode/DeploymentManager; + cd profiles/default/bin; + wsadmin.sh + -conntype none + -f /u/jo/wpswork/fixWPSvars.jacl + -wbiInstallRoot /wasa4config/a4cell/a4nodea/AppServer -cell a4cell + -node a4nodea + 164 + WebSphere Process Server for z/OS: Configuring a Network Deployment environment -jcchome /usr/lpp/db2/d8ig/jcc + -jccproperties /u/db8iu/properties + -dbLoc DB8I + -sibjndi jdbc/MEDataSource + -sibauth WPSDBAlias + -sibSCA A4CELLS + -sibAPP A4CELLA + -sibCEI A4CELLC + -sibBPC A4CELLB + -esbSchema + 1> /tmp/zFixVars_4031.out + 2> /tmp/zFixVars_4031.err Create ESB logger mediation data source The process of completing this optional step is as follows: 1. From the WebSphere Administrative Console, navigate to Resources → JDBC providers. 2. Set the scope to the cluster level and then navigate to DB2 Universal JDBC Driver Provider → Data sources. One data source is listed for BPEDataSourceDb2zOS_<clustername>. 3. Click New to create a new data source called ESB Logger Mediation Data Source. Chapter 2. WebSphere Process Server primary node configuration with DB2 165 Make sure the DB2 universal data source properties have the correct values for your DB2 environment. Our values are shown in Figure 2-70. Figure 2-70 ESBLogegr data source properties 4. Set the component-managed authentication alias name as shown in Figure 2-71. We used WPSDBAlias, which is the same name used by the main WebSphere Process Server data source, WPS_Datasource. Figure 2-71 Set authentication alias for ESBLogger data source 166 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 5. Set the database name to the location name of your DB2 system and set the driver type to 2 as shown in Figure 2-72. The host name and port fields can remain as the defaults (they are used by only driver type 4 data sources) but should not be blank. Figure 2-72 Set database name anddriver type 6. Click OK. You are returned to the list of data sources that at this point show the data source you just created (see Figure 2-73). Figure 2-73 Data source list with new ESBLogger data source Chapter 2. WebSphere Process Server primary node configuration with DB2 167 7. Click the ESB Logger Mediation Data Source link and then click Custom properties under Additional Properties. 8. Click the custom property fullyMaterializeLobData and set its value to false. 9. Click the custom property currentSchema and set its value to that of your schema name. For our A4 cell, we set the currentSchema property to A4CELL as shown in Figure 2-74. Figure 2-74 Set current schema for ESBLogger data source 10.Click OK and save your configuration changes. Change the namespace binding on ESB Logger Complete this optional step as follows: 1. Define the namespace binding for the ESBLogger. 2. Using the WebSphere Administration console, navigate to Environment → Naming → Name Space Bindings. 3. Set the scope to the server in the primary node. 168 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 4. Click New and add Binding Identifier Name ESBMessageLogger to namespace esb/messageLogger/qualifier and a string value equal to your schema ID. Our value is A4CELL as shown in Figure 2-75. Figure 2-75 ESB namespace binding general properties Note: If you do not perform step 4, a schema name of ESBLOG is used. 5. Click OK. 6. Change the scope to that of the server in the secondary node and make the same namespace binding changes for that server. 7. Click OK and then save your configuration changes. Chapter 2. WebSphere Process Server primary node configuration with DB2 169 Copy server-bpc.xml Complete the following steps: 1. Copy the server-bpc.xml file into the DMGR's /config/cells/ ... directory structure. The file will be copied to the nodes when the next synchronization occurs. If you do not perform this step, you will encounter the following errors in the server and nodeagent: java.io.FileNotFoundException: /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/ config/cells/a4cell/nodes/a4dmnode/servers/dmgr/server-bpc.xml (EDC5129I No such file or directory. (errno2=0x056200622)) 2. Copy the server-bpc.xml file from the following Deployment Manager directory: <WAS_HOME>/profileTemplates/managed.bfm/documents /config/templates/servertypes/APPLICATION_SERVER/servers/default to the following directories under the Deployment Manager’s <WAS_HOME>/profiles/default/config/cells/<cellname>/nodes directory: /<dmnode>/servers/dmgr /<node>/servers/nodeagent /<node>/servers/<server> For example, we entered the following copy commands via a telnet session: cp /wasa4config/a4cell/a4dmnode/DeploymentManager/profileTemplates/managed.bfm/documents /config/templates/servertypes/APPLICATION_SERVER/servers/default/server-bpc.xml /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/config/cells/a4cell/ nodes/a4dmnode/servers/dmgr/server-bpc.xml cp /wasa4config/a4cell/a4dmnode/DeploymentManager/profileTemplates/managed.bfm/documents /config/templates/servertypes/APPLICATION_SERVER/servers/default/server-bpc.xml /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/config/cells/a4cell/ nodes/a4nodea/servers/nodeagent/server-bpc.xml cp /wasa4config/a4cell/a4dmnode/DeploymentManager/profileTemplates/managed.bfm/documents /config/templates/servertypes/APPLICATION_SERVER/servers/default/server-bpc.xml /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/config/cells/a4cell/ nodes/a4nodea/servers/a4sr01a/server-bpc.xml Grant access to SYSIBM.SYSTABLES In this step, you grant SELECT on SYSIBM.SYSTABLES to the BPC database’s JAAC authentication alias userid. 170 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Important: When we started the server and tried to connect to BPC, we received the following error in the Application Server servant job log, which we traced to a SELECT statement on SYSIBM.SYSTABLES: Trace: 2007/07/10 18:30:19.814 01 t=7FF290 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.startupservice.StartBeanInfo SourceId: com.ibm.ws.startupservice.StartBeanInfo Category: SEVERE ExtendedMessage: BBOO0220E: STUP0005E: Startup bean named ejb/htm/TaskContainerStartUpBean forced application to stop. Trace: 2007/07/10 18:30:19.815 01 t=7FF290 c=UNK key=P8 (0000000A) Description: Log Boss/390 Error from filename: ./bborjtr.cpp at line: 932 error message: BBOO0220E: STUP0005E: Startup bean named ejb/htm/TaskContainerStartUpBean forced application to stop. com.ibm.ws.st artupservice.StartBeanInfo com.ibm.ws.startupservice.StartBeanInfo Trace: 2007/07/10 18:30:20.056 01 t=7FF290 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.runtime.component.ApplicationMgrImpl SourceId: com.ibm.ws.runtime.component.ApplicationMgrImpl Category: WARNING ExtendedMessage: BBOO0221W: WSVR0101W: An error occurred starting, TaskContainer_a4nodea_a4sr01a Trace: 2007/07/10 18:30:20.058 01 t=7FF290 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.ws.runtime.component.ApplicationMgrImpl SourceId: com.ibm.ws.runtime.component.ApplicationMgrImpl Category: AUDIT ExtendedMessage: BBOO0222I: WSVR0217I: Stopping application: TaskContainer_a4nodea_a4sr01a Trace: 2007/07/10 18:30:20.061 01 t=7FF290 c=UNK key=P8 (13007002) ThreadId: 0000000a FunctionName: com.ibm.task.framework.StartUpBean.stop(StartUpBean.java:205) SourceId: com.ibm.task.util.TraceHTM Category: FINER ExtendedMessage: ENTRY We traced this problem to a SELECT statement on SYSIBM.SYSTABLES. The userid DBUSER, which on our system is A4DBU, requires select access to Chapter 2. WebSphere Process Server primary node configuration with DB2 171 SYSIBM.SYSTABLES. We granted this access using the following spufi command: GRANT SELECT ON TABLE SYSIBM.SYSTABLES TO A4DBU; Remove db2jcc_license_cu.jar Some of the jar files defined on the CLASSPATH of the DB2 JDBC providers have invalid paths. These cause errors such as: This classloader contains bad files , please check file: /pp/db2v8/UK20656/jcc/classes/db2jcc_license_cu.jar Defects have been opened for this; however, it is easy to correct by removing the unnecessary jar files from the CLASSPATH. The db2jcc_license_cu.jar file is defined on the CLASSPATH of the DB2 JDBDC providers twice as follows: ${JDBC_DRIVER_PATH}/db2jcc_license_cu.jar ${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar In the first entry above the definition is the JDBC_DRIVER_PATH variable that resolves to an incorrect location. The db2jcc_license_cu.jar file does not exist in the directory in: ${JDBC_DRIVER_PATH}/db2jcc_license_cu.jar. In addition, although the ${UNIVERSAL_JDBC_DRIVER_PATH} variable resolves to ${WAS_INSTALL_ROOT}/UniversalDriver/lib, which is a valid path to locate db2jcc_license_cu.jar, the ${WAS_INSTALL_ROOT} variable is not defined at a cluster or cell level. Therefore, it cannot be resolved by DB2 JDBC providers defined at the cluster or cell level. To resolve these problems, it is necessary to remove some entries from the CLASSPATH of the DB2 JDBC providers defined at the cluster and cell level. For the DB2 universal JDBC provider defined at the cell level, remove the following four jar files from the CLASSPATH: ${JDBC_DRIVER_PATH}/db2jcc.jar ${JDBC_DRIVER_PATH}/db2jcc_license_cu.jar ${JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar ${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar Two DB2 universal JDBC providers are defined at cluster level: DB2 Universal JDBC Driver Provider defined at cluster level Event_DB2ZOS_JDBC_Provider defined at cluster level 172 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Remove the following jar file from the CLASSPATH: ${UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cu.jar Removing the jar file is shown in Figure 2-76. Figure 2-76 Remove db2jcc_license_cu.jar from DB2 JDBC providers When you finish, the CLASSPATH of the three DB2 JDBC providers should contain only the following two jar files: ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc.jar ${DB2UNIVERSAL_JDBC_DRIVER_PATH}/db2jcc_license_cisuz.jar Chapter 2. WebSphere Process Server primary node configuration with DB2 173 Note: The white paper, WPS V.6.0.x for z/OS Datasource and Database Configuration Hints and Tips, WP100833, suggests you can also resolve the classloader problem for db2jcc_license_cu.jar by defining the environment variable WAS_INSTALL_ROOT at the cell level so that the variable ${UNIVERSAL_JDBC_DRIVER_PATH} (which is set to ${WAS_INSTALL_ROOT}/UniversalDriver/lib) is resolved to a valid path. Although this solution is a valid alternative for a non-clustered configuration, when you are configuring WebSphere Process Server in a cluster, you cannot define WAS_INSTALL_ROOT at the cell or cluster level because that variable contains the path to a particular node. Because the db2jcc_license_cu.jar file is not required when using the DB2 Universal Driver, the easiest approach is to remove it from the CLASSPATH. Check all the data sources Although the fixWPSvars.jacl script sets most of the correct values for the various data sources and bus definitions, we recommend manually inspecting all the data sources again. In particular, you should look for the currentSchema property that is set in the Custom properties for a data source definition because fixWPSvars.jacl does not correct schema names. Data sources are defined at both the cell and cluster level when you configure WebSphere Process Server for z/OS in a cluster. 1. Using the WebSphere Administration console, navigate to Resources → JDBC providers. 2. Set the scope to the cell level by clearing out the node, cluster, and server fields and clicking Apply. 3. Navigate to DB2 Universal JDBC Driver Provider → Data sources. 174 WebSphere Process Server for z/OS: Configuring a Network Deployment environment We had three data sources defined at the cell level on our system, as shown in Figure 2-77. Figure 2-77 Data sources at cell level 4. Click the first data source and check that the component-managed authentication alias is set to the correct value. Note: WebSphere Process Server is comprised of several components configured separately. While several different authentication alias names are used by the data sources, these authentication aliases may refer to the same userid and password. For our A4 cell, for example, we wanted to use the userid A4DBU as the authentication alias on all JDBC data sources. However, the configuration procedure created several different authentication aliases with different names but with the same userid/password. If your intention, like ours, is to use the same authentication alias userid on all data sources, you can simplify your configuration by altering all the data sources to use the same authentication alias. Then delete all the J2C authentication alias entries that are no longer required: a. Navigate to Security → Global Security. b. Expand JAAS Configuration on the right and click J2C Authentication Aliases to see all the aliases. c. Select and delete any that are no longer required. 5. After checking the component-managed authentication alias, click Custom properties. Chapter 2. WebSphere Process Server primary node configuration with DB2 175 6. Check that fullyMaterializeLobData has a value of false and that currentSchema is set to the correct schema name for that data source. We found that no currentSchema was set for the WPS_Datasource, and we had to set it. Note: An incorrect currentSchema will result in various negative SQLCODE errors. If currentSchema is not set correctly for the WPS_DataSource, for example, you will encounter a DB2 SQLCODE -601 error in the Deployment Manager’s servant. You may also encounter SQLCODE -204 in the application server servant for table WSCH_LMGRs. 7. Repeat the check for the other data sources and save any configuration changes you make. 8. Navigate again to Resources → JDBC providers. 9. Set the scope to the cluster level and click Apply. 10.Navigate to DB2 Universal JDBC Driver Provider → Data sources. Two data sources were at the cluster level in our system, as shown in Figure 2-78. (You may see only one if you decided not to create the optional ESBLogger data source.) Figure 2-78 Data sources at cluster level 176 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 11.Click each data source in turn and check the same items that you checked for the data sources at the cell level. 12.Save any configuration changes you make. 2.4.7 Start the primary node server We started the server using the following command: S A4ACRA,JOBNAME=A4SR01A,ENV=A4CELL.A4NODEA.A4SR01A When you see the following message in the servant job log: BBOO0222I: WSVR0001I: Server SERVANT PROCESS a4sr01a open for e-business log in to the WebSphere Administration Console. The URL we used is: http://wtsc48.itso.ibm.com:22548/ibm/console/ At this point, the job log should contain no errors. If you encounter errors, check the logs in the /<app_server_root>/profiles/default/logs/ffdc directory. The <app_server_root> in our case is: /wasa4config/a4cell/a4nodea/AppServer. 2.5 Verify installation We tested the system using the installation verification procedures (IVPs) that are documented in the white paper, Performing Installation Verification for WPS on z/OS V6.0.1, WP100830. Although this document was created for V6.0.1 it is valid for V6.0.2. The .ear files and the documentation is available at the IBM Techdocs Library Web site at: http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100830 Chapter 2. WebSphere Process Server primary node configuration with DB2 177 178 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3 Chapter 3. WebSphere Process Server for z/OS secondary node customization After you have configured the primary node and created a cluster with a cluster member, you can extend the cluster “horizontally.” You do so by configuring one or more secondary nodes on other LPARs in your Parallel Sysplex. Horizontal clustering is desirable because it provides high availability by protecting against single points of failure that would exist if you ran WebSphere Process Server for z/OS only in a single LPAR. On z/OS, you configure a horizontal cluster to increase availability by removing single points of failure such as the WebSphere controller, the adjunct, or a backend enterprise information system such as DB2, IMS, or CICS. On a non-z/OS platform, an additional reason to configure a cluster is to achieve scalability. However with WebSphere Application Server for z/OS, you can scale the environment within an LPAR by simply adding more servant regions to the server. © Copyright IBM Corp. 2008. All rights reserved. 179 In this chapter, we describe how to define a secondary empty node and augment it to support WebSphere Process Server for z/OS. After the secondary node has been federated, a second cluster member (server) is created in the secondary node by using the WebSphere Administration Console. 180 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3.1 WebSphere Process Server secondary node configuration steps The sequence of steps required to configure a secondary node are as follows: 1. Launch the WebSphere Application Server for z/OS ISPF dialog and configure the secondary empty node. 2. Run the zSMPInstall script for the secondary empty node. 3. Edit a new ManagedDB2 response file and customize it for the secondary node. 4. Run the zWPSConfig script to augment the secondary empty node for WebSphere Process Server for z/OS. 5. Federate the secondary node. 6. Add DB2 libraries to the started task JCL of secondary node address spaces. 7. Add a cluster member in the secondary node. 8. Update the new server’s configuration (that is, the server short name, ports, and virtual hosts). 9. Update some of the node agent’s ports for the secondary node. 10.Start the server on the secondary node. Define variables for the secondary node We started the ISPF dialog by entering the TSO command shown in Figure 3-1. Note that we used a new APPL(A4NB) so the variables for the secondary node (node B) were separate from those used for the primary node. Figure 3-1 Start ISPF dialog for secondary empty node Complete these steps to define the variables for the secondary node: 1. Select option 2, Create Network Deployment cells and nodes. 2. Select option 2, Create an empty managed node. 3. Select option 1, Load security domain variables. Chapter 3. WebSphere Process Server for z/OS secondary node customization 181 4. Enter the name of the data set containing the security domain variables, which in our case is A4CELL.A4SECDM.SAVECFG. 5. Select option 2, Allocate target data sets. The target data set names from our spreadsheet are shown in Figure 3-2. Figure 3-2 Empty node B target data set names 6. After allocating the data sets, select the following options a. Option 3, Define variables, which takes you to the Define Variables to Configure a Managed Node ISPF panel. b. Option 1, System Locations. You must fill in the variables you entered in the Empty Managed Node worksheet for node B. Figure 3-3 shows System Locations (1 of 2) from the Empty Managed Node worksheet. It is important to ensure that the system name (LPAR name) is set correctly and that you refer to the correct set of WebSphere SBBO* libraries. Figure 3-3 System Locations worksheet (1 of 2) 182 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 3-4 shows the variables as entered into the ISPF panel Systems Locations (1 of 2). Figure 3-4 ISPF panel System Locations (1 of 2) Figure 3-5 shows the second part of the System Locations worksheet. The path to the WebSphere Application Server product directory should not be the mount point of the HFS/ZFS that contains the WebSphere Application Server for z/OS product. Instead you should create an intermediate symbolic link that references the physical mount point. Figure 3-5 System Locations worksheet (2 of 2) For a full explanation of the importance of using intermediate symbolic links, refer to the white papers, WebSphere z/)S V6 - WSC Sample ND Configuration, WP100653, and WebSphere Application Server for z/OS - Chapter 3. WebSphere Process Server for z/OS secondary node customization 183 Planning for Test, Production and Maintenance, WP100396, which you can obtain from the IBM Techdocs Library Web site at: http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/Techdocs Figure 3-6 shows the variables as entered into the ISPF panel System Locations (2 of 2). Figure 3-6 ISPF panel System Locations (2 of 2) 7. After you entered all variables for the System Locations panels, select option 2, System Environment Customization. Here you have to fill in the variables you entered in the configuration spreadsheet for the system environment customization part of the empty managed node configuration. Figure 3-7 shows the System Environment Customization (1 of 1) spreadsheet as we defined it for our installation. Figure 3-7 System Environment Customization spreadsheet (1 of 1) 184 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 3-8 shows the data as entered into the ISPF panel System Environment Customization (1 of 3). Figure 3-8 ISPF panel System Environment Customization (1 of 3) The spreadsheet does not include sections for System Environment Customization (2 of 3) and System Environment Customization (3 of 3), but you must enter the same values as those shown for the same panels on the DMGR spreadsheet (see “Deployment Manager customization” on page 14). Figure 3-9 shows the data as entered into the ISPF panel System Environment Customization (2 of 3) when configuring an empty managed node. Figure 3-9 ISPF panel System Environment Customization (2 of 3) Chapter 3. WebSphere Process Server for z/OS secondary node customization 185 Figure 3-10 shows the data as entered into the ISPF panel System Environment Customization (3 of 3) when configuring an empty managed node. Figure 3-10 ISPF panel System Environment Customization (3 of 3) 8. When the System Environment Customization is complete, select option 3, Server Customization. 9. Fill in the variables you entered in the configuration spreadsheet for the Server Customization spreadsheet part of the standalone server configuration. Figure 3-11 shows the Empty Managed Node Customization spreadsheet (1 of 4) as we defined it for our installation. Figure 3-11 Server Customization spreadsheet (1 of 4) 186 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 3-12 shows the equivalent data as entered into the ISPF panel Server Customization (1 of 4) when configuring the secondary node. Figure 3-12 ISPF panel Server Customization (1 of 4) Chapter 3. WebSphere Process Server for z/OS secondary node customization 187 Figure 3-13 shows the Server Customization (2 of 4) spreadsheet as we defined it for our installation. Figure 3-13 Server Customization spreadsheet (2 of 4) 188 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 3-14 shows the equivalent data as entered into the ISPF panel Server Customization (2 of 4) when configuring the secondary node. Figure 3-14 ISPF panel Server Customization (2 of 4) Figure 3-15 shows the Server Customization spreadsheet (3 of 4) as we defined it for our installation when configuring the secondary node. Figure 3-15 Server Customization spreadsheet (3 of 4) Chapter 3. WebSphere Process Server for z/OS secondary node customization 189 Figure 3-16 shows the equivalent data as entered into the ISPF panel Server Customization (3 of 4) when configuring the secondary node. Figure 3-16 ISPF panel Server Customization (3 of 4) 190 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Figure 3-17 shows the Server Customization spreadsheet (4 of 4) as we defined it for our installation when configuring the secondary node. Figure 3-17 Server Customization spreadsheet (4 of 4) Chapter 3. WebSphere Process Server for z/OS secondary node customization 191 Figure 3-18 shows the equivalent data as entered into the ISPF panel Server Customization (4 of 4) when configuring the secondary node. Figure 3-18 ISPF panel Server Customization (4 of 4) 10.After you entered all variables, you select option 4, View Security Domain Configuration Panels, and verify that the variables displayed are what you expect for the cell you are configuring. 11.Press the F3 key, then select option 4 to generate the jobs. 12.Select option 5 to view the instructions member BBOMNINS. 13.Run the jobs. Follow the instructions in member BBOMNINS; however, do not run BBOWMNAN at this time. Stop after you have run the job BBOMHFSB. We ran these jobs without using UID=0. 192 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Run zSMPInstall against the secondary empty node We copied the JCL we used to run zSMPInstall for the primary node and tailored it to run against the secondary node as shown in Example 3-1. Example 3-1 Job A4INSANB //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4nodeb/AppServer/bin; + /usr/lpp/zWPSA4/V6R0/zos.config/bin/zSMPInstall.sh + '-smproot /usr/lpp/zWPSA4/V6R0' + '-runtime /wasa4config/a4cell/a4nodeb/AppServer' + '-install' + 1> /tmp/installonly_1033.out + 2> /tmp/installonly_1033.err //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB46052.SBBOEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BBOHFSWR '/tmp/installonly_1033.out' BBOHFSWR '/tmp/installonly_1033.err' /* // Note: Job A4INSANB, and all the jobs in this chapter, are included in Appendix B, “Additional material” on page 235. Chapter 3. WebSphere Process Server for z/OS secondary node customization 193 Edit a ManagedDB2.rsp file for the secondary node We copied the ManagedDB2.rsp response file we used when configuring the primary node to a new file called NodeBManagedDB2.rsp. Then we edited it so the properties were correct for the secondary node. Example 3-2 shows the four properties we changed. All other properties were the same as those that we had specified in the ManagedDB2.rsp file for the primary node. Example 3-2 Updated properties in NodeBManagedDB2.rsp file profilePath=/wasa4config/a4cell/a4nodeb/AppServer/profiles/default templatePath=/wasa4config/a4cell/a4nodeb/AppServer/profileTemplates/managed.* cellName=a4baseb nodeName=a4nodeb Run zWPSConfig against the secondary empty node We ran the shell script zWPSConfig.sh by submitting job A4CFG NB (see Example 3-3). Example 3-3 ‘Job A4CFGNB //***********************************************************/ //* Run zWPSConfig.sh */ //***********************************************************/ //INSTO EXEC PGM=IKJEFT01,REGION=0M,TIME=1440 //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BPXBATCH SH + export PATH=.:$PATH; + cd /wasa4config/a4cell/a4nodeb/AppServer/bin; + zWPSConfig.sh + -response /u/seniokj/wpswork/NodeBManagedDB2.rsp + -augment + 1> /tmp/zWPSConfig_2033.out + 2> /tmp/zWPSConfig_2033.err /* //***********************************************************/ //* STEPS TO COPY THE OUTPUT THE JOB LOG */ //***********************************************************/ //CPOUT EXEC PGM=IKJEFT01,REGION=0M //SYSEXEC DD DISP=SHR,DSN=BB36052.SBBOEXEC //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * BBOHFSWR '/tmp/zWPSConfig_2033.out' 194 WebSphere Process Server for z/OS: Configuring a Network Deployment environment BBOHFSWR '/tmp/zWPSConfig_2033.err' /* // The output from A4CFGNB should be the same as for the A4CFGNA job, which was previously shown in Example 2-15 on page 57. Federate the secondary node The following steps enable you to federate the secondary node: 1. Make sure that the Deployment Manager is started. To start our Deployment Manager, we used the following command: S A4MGCR,JOBNAME=A4DMGR,ENV=A4CELL.A4DMNODE.A4DMGR 2. Return to the .CNTL data set that contains the customized jobs for creating the empty managed node and run the BBOWMNAN job. On our system, the .CNTL data set was in A4CELL.A4BASEB.EMPTY.CNTL. This job will start the node agent A4AGNTB once the node has been federated. If the BBOWMNAN job does not finish within approximately 10 minutes and appears to be inactive, the most likely cause is that the node agent has not initialized correctly. Look at the output from the node agent and diagnose the cause of the problem. 3. When BBOWMNAN completes normally, you will see the following message: ADMU0003I: Node a4nodeb has been successfully federated. 4. In the job log for the node agent A4AGNTB, look for message ADMS0003I indicating that synchronization with the Deployment Manager has succeeded (see Example 3-4). Example 3-4 Node agent job log showing synchronization completed BBOO0222I: WSVR0001I: Server CONTROL PROCESS nodeagent open for 373 e-business BBOO0019I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL 382 PROCESS A4AGNTA. BBOO0247I INITIALIZATION COMPLETE FOR WEBSPHERE FOR Z/OS CONTROL 383 PROCESS A4CELL/A4NODEA/A4AGNTA/A4AGNTB. BBOO0222I: ADMR0011I: Document 384 cells/a4cell/nodes/a4nodeb/servers/nodeagent/trace.dat is deleted. ADMS0003I: The configuration synchronization completed successfully. Chapter 3. WebSphere Process Server for z/OS secondary node customization 195 5. When you are satisfied that the secondary node has been successfully federated, take another backup of the configuration HFS data sets. We backed up the HFS using the HFSDUMP job. Add DB2 libraries to the started task JCL Started task JCL for the secondary node’s address space is copied into SYS1.PROCLIB by the BBOWCPYM job you ran while configuring the secondary empty node. WebSphere Process Server accesses DB2 for z/OS, and the DB2 load libraries must be added to the STEPLIB of the servant regions (including the adjunct) if they are not defined in the system LINKLST. 1. We updated the following members of SYS1.PROCLIB: A4CRABZ A4ASRBZ 2. We added the highlighted SDSN* libraries: //STEPLIB // // // // DD DD DD DD DD DISP=SHR,DSN=BB46048.SBBOLD2 DISP=SHR,DSN=BB46048.SBBOLOAD DISP=SHR,DSN=DB8IU.SDSNEXIT DISP=SHR,DSN=DB8I8.SDSNLOAD DISP=SHR,DSN=DB8I8.SDSNLOD2 Add a second cluster member in the secondary node The procedure for adding a cluster member into the secondary node is very similar to that which you followed in order to create a cluster member in the primary node, which is described in “Create the cluster and first cluster member” on page 74. 1. Make sure that the Deployment Manager and both node agents are running. 2. On the WebSphere Administration console, navigate to Application Servers → Clusters. 196 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. Click the link to open the configuration of your cluster as shown in Figure 3-19. Figure 3-19 Click link to cluster configuration 4. Click the link to Cluster members that is on the right under Additional properties. 5. Click New to start the Create cluster member wizard. 6. On the Step 1 screen, enter the name of the cluster member (server) that you will create in the secondary node. Make sure that the correct secondary node is selected in the drop-down list box. Chapter 3. WebSphere Process Server for z/OS secondary node customization 197 For our A4 secondary node a4nodeb, the cluster member is a4sr01b as shown in Figure 3-20. Figure 3-20 Step 1 of Create cluster member wizard 198 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 7. Click Apply. In the area at the bottom of the screen, a row with the name of the new server you entered on the last screen is displayed (see Figure 3-21). Figure 3-21 New server listed Note: It is important to click Apply on the Step 1 screen before clicking Next; otherwise, the second step of the wizard will have null input. Chapter 3. WebSphere Process Server for z/OS secondary node customization 199 8. Uncheck the Generate Unique Http Ports check box. 9. Click Next to progress to the Step 2 Summary panel as shown in Figure 3-22. Figure 3-22 Summary of actions prior to creating cluster member Notice that the information under Summary of actions indicates that the so-called “Clone Template” is the server a4cell/a4nodea/a4sr01a. This means that the primary node’s server (the first cluster member of cluster a4cl01) is being used as the template for cloning the new server in the secondary node. 200 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 10.Check the information in the Summary panel and when you are satisfied that it is correct, click Finish. You are returned to the list of cluster members, and the second server you just created is displayed in the list as shown in Figure 3-23. Figure 3-23 Second server listed 11.Click the link at the top of the page to save your configuration changes. Update the secondary node server configuration Although the new server in the secondary node is cloned from that in the primary node, you must make a few changes to the second server’s configuration. The server short name will take an incorrect default. In addition you must check the port assignments. The changes can be made by following these steps: 1. On the WebSphere Administration console, navigate to Application Servers → Servers. 2. Click the server you created in the secondary node. For our A4 cell, this was a4sr01b. Chapter 3. WebSphere Process Server for z/OS secondary node customization 201 3. Change the server short name from BBOS001 to the uppercase equivalent of your server long name. For our server a4sr01b (which is the lowercase “long” name), we set the short name to A4SR01B as shown in Figure 3-24. Figure 3-24 Set short name for server in secondary node 4. Click OK, but do not save the configuration changes yet because you must also change the port numbers. 5. Follow the procedure described in “Update the server configuration” on page 83 to set the correct port values for the server. The port numbers should be exactly the same as those used by the server in the primary node. 6. When you have finished, save the configuration changes. Update node agent ports for the secondary node The node agent in the secondary node will have some ports assigned to default values. Follow the same procedure you followed when configuring the primary node to set the correct port values. The procedure is described in “Update the node agent ports” on page 94. Start the secondary node server The following steps enable you to start the second node server: 1. We started the server using the following command: S A4ACRB,JOBNAME=A4SR01B,ENV=A4CELL.A4NODEA.A4SR01B 2. When you see the following message in the servant job log: BBOO0222I: WSVR0001I: Server SERVANT PROCESS a4sr01b open for e-business 202 WebSphere Process Server for z/OS: Configuring a Network Deployment environment log in to the WebSphere Administrative Console. We used the following URL: http://wtsc48.itso.ibm.com:22548/ibm/console/ At this point, the job log should not list any errors. If you get errors, look in the error logs in /<app_server_root>/profiles/default/logs/ffdc. The <app_server_root> in our case is /wasa4config/a4cell/a4nodeb/AppServer. Chapter 3. WebSphere Process Server for z/OS secondary node customization 203 204 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 4 Chapter 4. IBM HTTP Server for z/OS configuration After the WebSphere Process Server for z/OS cluster has been configured, you must create HTTP servers. These servers run the WebSphere HTTP plugin so that HTTP requests are balanced across the cluster and session affinity maintained. Note: In this section, the terms “HTTP server” and “Web server” are equivalent and refer to the IBM HTTP Server for z/OS. A complete description of the steps required to configure IBM HTTP Server for z/OS is beyond the scope of this Redpaper. We do not explain the steps you must take to enable the IBM HTTP Server for z/OS to run on a z/OS LPAR for the first time. You can read about how to do that in the manual, “HTTP Server Planning, Installing Using,” SC34-4826. Once you have enabled the IBM HTTP Server for z/OS to run in a z/OS LPAR, you can use the information in this chapter to configure an HTTP server in each LPAR where you have configured WebSphere Process Server nodes. © Copyright IBM Corp. 2008. All rights reserved. 205 4.1 HTTP server configuration In summary, the steps required to configure HTTP servers to work with a WebSphere Process Server for z/OS cluster are as follows: 1. Plan a TCP/IP address and DVIPA name that will be used to balance HTTP requests between cloned HTTP servers in your Parallel Sysplex. 2. Create and mount HFS/ZFS data sets for the HTTP server configuration and logs. 3. Customize the httpd.conf and httpd.envars files. 4. Create started task JCL for the HTTP servers. 5. Add the WebSphere plugin to the httpd.conf files of each HTTP server. 6. Define HTTP servers using the WebSphere Administration Console. 7. Update the HTTP server start and stop commands. 8. Generate the plugin-cfg.xml file. 9. Edit the plugin-cfg.xml file to correct the path to the plugin log file. Set up TCP/IP addresses and domain names The following steps enable you to set up TCP/IP addresses and domain names: 1. Plan and define the TCP/IP addresses and domain names that you will use to distribute HTTP requests across multiple HTTP servers in your sysplex. Your network systems programmer must define a Distributed Virtual IP Address (DVIPA) that will be used when making requests from a browser to the WebSphere Process Server cluster. 2. Add a domain name entry to your Domain Name Server (DNS) that maps to the DVIPA address. For example, in our environment we had two LPARs, SC48 and SC52. The domain names and IP addresses are shown in the first two rows of Table 4-1. We defined a DVIPA as shown in the third row of Table 4-1. Table 4-1 TCP/IP address and domain names for A4 cell 206 Usage TCPIP address Domain Name Primary node’s nondistributed ports. (LPAR SC48) 9.12.4.38 wtsc48.itso.ibm.com Secondary node’s nondistributed ports. (LPAR SC52) 9.12.4.42 wtsc52.itso.ibm.com DVIPA for HTTP requests to HTTP servers 9.12.4.108 a4.http.itso.ibm.com WebSphere Process Server for z/OS: Configuring a Network Deployment environment The DVIPA domain name was registered in our DNS so we could use that name in URLs entered from our browsers. The domain names that are specific to each LPAR are not distributed virtual IP addresses. They can be virtual IP addresses but they must not be distributed. For a full discussion of choosing network names and DVIPAs, we recommend you consult the white paper, WebSphere z/OS V6 - WSC Sample ND Configuration, WP100653, available on the IBM Techdocs Library Web site here: http://www.ibm.com/support/techdocs/atsmastr.nsf/Web/Techdocs Create and mount Web server HFS/ZFS data sets We recommend you use a ZFS data set rather than HFS data sets because ZFS performs better and HFS is functionally stabilized. You should define all new UNIX file systems on z/OS using ZFS rather than HFS. 1. Create an HFS or a ZFS to hold the HTTP server configuration and another larger HFS/ZFS to hold the logs. You need a configuration HFS/ZFS and a log HFS/ZFS for each LPAR that runs a WebSphere Process Server node. 2. Create mount points for these HFS/ZFS data sets that are not shared - for example, /$SYSNAME/web/wps, where $SYSNAME is the system symbolic variable that resolves to the LPAR name. 3. Mount the HFS/ZFS data sets. 4. On each LPAR, create a symbolic link in the sysplex root called /web/wps pointing to /$SYSNAME/web/wps. This means that each HTTP server's started task JCL and configuration files can reference the same symbolic link /web/wps to refer to that LPAR's HTTP configuration or logs directory. 5. Update BPXPRMxx in SYS1.PARMLIB and add mount statements for the HFS/ZFS data sets, making sure you use the SYSNAME and NOAUTOMOVE properties to ensure correct ownership of the configuration HFS/ZFS data sets. 6. Create the required directories under the mount points. Depending on how you decide to organize your HTTP server logs, you could decide to create a different directory structure for the logs, but the default httpd.conf file uses the following directories. /pub /pub/reports /logs Chapter 4. IBM HTTP Server for z/OS configuration 207 7. Make sure the permissions are set to at least 770 with the owner set to the HTTP server's userid and the group authority set to the WebSphere HTTP plugin 205 8. cell's configuration group. The HTTP server started task userid can write to the HTTP log files because it is the owner of the directories and files under /web/wps. WebSphere administrators can write to can write to the HTTP configuration files (to update the plugin-cfg.xml, for example) because they are members of the RACF group that has group privilege over /web/wps. Customize the httpd.conf and httpd.envars files The following steps enable you to customize the httpd.conf and httpd.envars files: 1. Copy the sample httpd.conf.base file from <httpserver_install_root>/samples/config to the directory you decided to use for the HTTP server configuration. Rename the file to httpd.conf. For our environment, we copied it into each /$SYSNAME/web/wps directory. 2. In httpd.conf, set the correct host name directive. This directive must be the DVIPA that was created so that sysplex distributor will balance requests across the HTTP servers. 3. Review the rest of httpd.conf file, checking that the logs and reporting directories refer to the directory where you want to hold logs. It is best to override the port directive using the -p parameter on the started task JCL, but you could code the correct value in the httpd.conf too. 4. In httpd.envars, set JAVA_HOME so it points to the WebSphere node's /java directory, which is at <appserver_install_root>/java. The httpd.envars file we used for our webwps48 HTTP server is shown in Example 4-1. The same file can be used for HTTP servers on other LPARs, but you must change the WebSphere Application Server’s node name on JAVA_HOME. Example 4-1 Configured httpd.envvars file for webwps48 HTTP server JAVA_HOME=/wasa4config/a4cell/a4nodea/AppServer/java PATH=/bin:.:/usr/sbin:/usr/lpp/internet/bin:/usr/lpp/internet/sbin:\ /usr/lpp/ldap/bin:$JAVA_HOME SHELL=/bin/sh TZ=EST5EDT LANG=C LC_ALL=en_US.IBM-1047 NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lpp/internet/%L/%N:\ /usr/lpp/ldap/lib/nls/msg/%L/%N 208 WebSphere Process Server for z/OS: Configuring a Network Deployment environment LIBPATH=/usr/lpp/internet/bin:/usr/lpp/internet/sbin:/usr/lpp/ldap/lib STEPLIB=CURRENT GSKV3CACHESIZE=1024 GSKV2CACHESIZE=512 Make sure that the PATH contains $JAVA_HOME so that the plugin is running with the same level of Java as WebSphere Application Server. Create started task JCL for the HTTP server We decided to include two numeric digits from the LPAR name in the name of our HTTP server. We created started tasks called WEBWPS48 on LPAR SC48 and WEBWPS52 on LPAR SC52. 1. Create JCL in SYS1.PROCLIB like that shown in Example 4-2. Example 4-2 HTTP server started task JCL //WEBWPS48 PROC P1='-p 80', // P2='-r /web/wps/httpd.conf', //*P3='-B -vv', // P3='-B', // LEPARM='ENVAR("_CEE_ENVFILE=/web/wps/httpd.envvars")' //*************************************************************** //WEBSRV EXEC PGM=IMWHTTPD,REGION=0K,TIME=NOLIMIT, // PARM=('&LEPARM/&P1 &P2 &P3') //*************************************************************** //SYSIN DD DUMMY //OUTDSC OUTPUT DEST=* //SYSPRINT DD SYSOUT=* //SYSERR DD SYSOUT=* //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSOUT DD SYSOUT=* //CEEDUMP DD SYSOUT=* Notice that you can pass the port number on the -p PARM so you do not have to code it in the httpd.conf file on the port directive. 2. Check that the HTTP server starts successfully. Look for the following message in the HTTP server log: IMW3536I SA 51184628 0.0.0.0:80 * * READY Chapter 4. IBM HTTP Server for z/OS configuration 209 Add the WebSphere HTTP plugin to the httpd.conf file The following steps enable you to add the plugin to the httpd.conf file: 1. Add the WebSphere HTTP plugin's ServerInit, ServerTerm, and Service directives to the httpd.conf file for each HTTP server. 2. Place the ServerInit and ServerTerm statements before any “Pass” statements in the httpd.conf file. 3. On ServerInit and ServerTerm, you must set the path to the plugin DLL, as the first parameter. The plugin DLL is located here: <app_server_root>/bin/ihs390WAS60Plugin_http.so 4. On the ServerInit directive only, you set the path to the plugin-cfg.xml file as the second parameter. You can place the plugin in any directory you like, but the HTTP server’s started task userid requires READ permission to it. We recommend placing the plugin-cfg.xml file in the same directory as httpd.conf. For example, the ServerInit and ServerTerm statements for our A4 cell are as shown in Example 4-3. Note that the ServerInit statement should be coded on one line but has been split across two lines so it fits on the page. Example 4-3 ServerInit and ServerTerm directives in httpd.conf for our A4 cell ServerInit /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:init_exit \ /web/wps/plugin-cfg.xml ServerTerm /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:term_exit 5. Add Service directives after the ServerTerm statement for each of the context roots that exist in your WebSphere HTTP plugin cell and that you wish to be served through the HTTP server. An easy way to obtain a list of all these context roots is to copy them from the plugin-cfg.xml file after you have generated it. See “Generate the plugin-cfg.xml file” on page 225. The context roots required for WebSphere Process Server itself are shown in Example 4-4. You must add Service directives for your application's context roots. Example 4-4 Service directives in httpd.conf for our A4 cell Service Service Service Service Service /BFMIF_a4cl01/* /bpc/* /bpcobserver/* /HTMIF_a4cl01/* /bpcivt/* /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:service_exit /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:service_exit /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:service_exit /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:service_exit /wasa4config/a4cell/a4nodea/AppServer/bin/ihs390WAS60Plugin_http.so:service_exit 210 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 6. Start the HTTP server to check that the plugin initializes successfully. Check for the following message: WebSphere HTTP Plug-in for z/OS and OS/390 initialization went OK :-) Define the Web servers to WebSphere Administration Console Although not required, it can be useful to define the Web servers to the WebSphere Administration Console because you can see the status of the servers on the administration console and view the httpd.conf and plugin-cfg.xml files. You can also start and stop the HTTP servers from the administration console. The definitions for the HTTP server are associated with a managed node, and the HTTP server is referred to as a “managed HTTP server.” 1. On the WebSphere Administration Console, navigate to Application Servers → Web servers. 2. Click New as shown in Figure 4-1. Figure 4-1 Start the wizard to configure new Web server Chapter 4. IBM HTTP Server for z/OS configuration 211 3. Select the primary node from the Select node drop-down list box as shown in Figure 4-2. (Careful - it may start off pointing to the secondary node!) Figure 4-2 Select node and enter Web server name 4. Enter the HTTP server name in the Server name field. We entered the lowercase form of the HTTP server's started task name, webwps48. 212 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 5. Click Next to progress to the second step of the wizard as shown in Figure 4-3. Figure 4-3 Enter Web server properties 6. Allow type to default to IHS. 7. Set the port number. We used the default port 80. 8. Set the installation path for the HTTP server. On our system, this path is the default location /usr/lpp/internet. 9. Set the location of the plugin-cfg.xml file. We set it to be the same directory as the httpd.conf file - that is, /web/wps. Chapter 4. IBM HTTP Server for z/OS configuration 213 10.Click Next to progress to step 3 of the wizard as shown in Figure 4-4. Figure 4-4 Select IHS OS390 WebServer Template 11.Click the radio button to select the IHS OS390 template. 12.Click Next to progress to step 4 of the wizard, which summarizes the properties entered, as shown in Figure 4-5. Figure 4-5 Web server configuration summary 214 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 13.Click Finish. You will be returned to the list of Web servers, and your Web server will be listed as shown in Figure 4-6. Do not save the configuration yet. Figure 4-6 Select Web server 14.Click the link to the first Web server. Chapter 4. IBM HTTP Server for z/OS configuration 215 15.Change the configuration file name to the location of your httpd.conf file. On our system, we specified /web/wps/httpd.conf as shown in Figure 4-7. Figure 4-7 Set Web server General Properties 16.Click Apply. 216 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 17.Click the link on the right to Plug-in properties. You access the screen shown in Figure 4-8. Figure 4-8 Set plugin properties 18.Uncheck the Automatically propagate plugin configuration file check box. (This step does not work with IBM HTTP Server - IHS - on z/OS.) 19.Set the plug-in logging path to the directory you created to hold the HTTP server logs. For our webwps48 HTTP server, the path is /web/wps/logs/http_plugin.log. 20.Click OK. You can now create the second HTTP server on the secondary node. Follow these steps: 1. Navigate back to Servers → Web servers. 2. Click New. Chapter 4. IBM HTTP Server for z/OS configuration 217 3. Make sure the secondary node is selected in the Select node drop-down list box as shown in Figure 4-9. Figure 4-9 Enter name for second Web server 4. Set the second Web server’s name. We entered the lowercase form of the HTTP server's started task name, webwps52. 5. Click Next to access the panel shown in Figure 4-10. Figure 4-10 Set properties for second Web server 218 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 6. Allow type to default to IHS. 7. Set the port number. We used the default port 80. 8. Set the Installation path for the HTTP server. On our system, this path is the default location, /usr/lpp/internet. 9. Set the location of the plugin-cfg.xml file. We set it to be the same directory as the httpd.conf file - that is, /web/wps. 10.Click Next. 11.Click the one radio button to select the IHS z/OS template as shown in Figure 4-11. Figure 4-11 Select IHSZOS template 12.Click Next. 13.Click Finish. 14.Click the link to the second Web server. Chapter 4. IBM HTTP Server for z/OS configuration 219 15.Change the configuration file name to the location of your httpd.conf file. On our system, we specified /web/wps/httpd.conf as shown in Figure 4-12. Figure 4-12 Set file name of second Web server 16.Click Apply. 220 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 17.Click the Plug-in properties link on the right to access the Plug-in properties panel as shown in Figure 4-13. Figure 4-13 Set plugin properties for second Web server 18.Uncheck the Automatically propagate plugin configuration file check box as shown. (This step does not work with IHS on z/OS.) 19.Set the plug-in logging path to the directory you created to hold HTTP server logs. For our webwps52 HTTP server, this path is /web/wps/logs/http_plugin.log. 20.Click OK. You will now need to perform additional settings to complete the configuration of the Web servers into your WebSphere environment. 1. Navigate to Environment → Virtual Hosts and make sure a virtual host entry exists in for the HTTP server’s ports. We had virtual host entries for the ports 80 and 443. Chapter 4. IBM HTTP Server for z/OS configuration 221 2. Navigate to Application servers → Servers and click the link to the first WebSphere Application Server. Our server is a4sr01a. 3. Navigate to Web Container → HTTP Transport. 4. Click the blue asterisk (*) link for the first port and then click Custom properties. 5. Click New. 6. Add the property TrustedProxy and set the value to true as shown in Figure 4-14. Figure 4-14 Set TrustedProxy property on HTTP transport port 7. Click the paper trail link at the top of the page to navigate back to the first application server’s HTTP transports. 8. Select the second port (the HTTPs port), then click Custom properties. 9. Click New. 10.As before, add the property TrustedProxy and set the value to true. 11.Navigate to the second WebSphere Application Server (our server is a4sr01b), and following the procedure just described, set TrustedProxy to true for both of its HTTP transport ports. 12.Save your configuration changes. 222 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Although not absolutely necessary in order to configure an HTTP server, we recommend that you set WLMStatefulSession to true to evenly distribute HTTP sessions between multiple servants. Once you have created your horizontal cluster, you will probably want to scale your environment by running more than one servant region. If the HTTP sessions are not evenly distributed, the majority of the sessions (and hence the load) can end up being “pinned” to one servant. Refer to the WebSphere Application Server for z/OS Infocenter for a full discussion of this subject in “Configuring an application server to use the WLM even distribution of HTTP requests function.” 1. Navigate to Servers → Application servers and click the link to the first server. 2. Navigate to: Administration → Administration Services under Server Infrastructure. 3. Under Additional Properties, click Custom Properties. 4. Click WLMStatefulSession and change the Value field to true as shown in Figure 4-15. Figure 4-15 Set WLMStatefulSession to true 5. Click OK. Chapter 4. IBM HTTP Server for z/OS configuration 223 6. Click the paper trail link at the top of the screen to navigate back to Servers → Application servers and then click the link to the second server. 7. Navigate to Administration → Administration Services under Server Infrastructure. Under Additional Properties, click Custom Properties. 8. Click WLMStatefulSession and change the Value field to true. 9. Click OK. 10.Save the configuration changes and synchronize to the nodes. Update the HTTP server start and stop commands By default the start and stop commands for the HTTP servers are START IMWEBSRV and STOP IMWEBSRV, respectively. If your HTTP server started tasks are not called IMWEBSRV, and you want to be able to stop and start them from the WebSphere Administration Console, then you must update the start and stop commands, which you can do by following these steps: 1. Navigate to Application Servers → Web Servers and click the link to the first HTTP server configuration. 2. Click the Process Definition link on the right. 224 WebSphere Process Server for z/OS: Configuring a Network Deployment environment 3. Set the correct start and stop commands and clear out StartCommandArgs, removing ICSPARM='-vv' as shown in Figure 4-16. Figure 4-16 Update start and stop commands for Web server If you leave the -vv option in the StartCommandArgs field, it will enable verbose tracing for the HTTP server. Should you need it, it is best to enable tracing in the HTTP server using the following z/OS modify command: F<webserver>,APPL=-vv.) 4. Click OK. 5. Click the link in the paper trail at the top of the screen to navigate back to Application Servers → Web Servers. 6. Click the link to the second HTTP server’s configuration and make the same changes there. 7. Click OK and then save the configuration and synchronize to the nodes. Generate the plugin-cfg.xml file Follow these steps to generate the plugin-cfg.xml file: 1. Open an OMVS session or telnet session and navigate to the Deployment Manager <app_server_root>/profiles/default/bin directory. Chapter 4. IBM HTTP Server for z/OS configuration 225 For example, for our A4 cell we navigated to the following directory: cd /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/bin 2. Run the GenPluginCfg.sh script with no parameters as shown in Example 4-5. Doing so generates a plugin that is “cluster-aware” and has information about the cluster members and all the WebSphere Process Server applications. Example 4-5 Telnet session log generating plugin A4ADMIN:/SC48/var/WebSphere/home/A4CFG: > cd /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/bin A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/bin: >./GenPluginCfg.sh IBM WebSphere Application Server, Release 6.0 WebSphere Plugin Configuration Generator Copyright IBM Corp., 1997-2004 PLGC0012I: The plug-in is generating a server plug-in configuration file using the cluster definition a4cell. PLGC0005I: Plug-in configuration file = /wasa/config/cells/plugin-cfg.xml A4ADMIN:/wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/bin: >./GenPluginCfg.sh IBM WebSphere Application Server, Release 6.0 WebSphere Plugin Configuration Generator Copyright IBM Corp., 1997-2004 PLGC0012I: The plug-in is generating a server plug-in configuration file using the cluster definition a4cell. PLGC0005I: Plug-in configuration file = /wasa/config/cells/plugin-cfg.xml Notice the message PLGC0005I states that the plugin-cfg.xml file is at /wasa/config/cells. In fact the plugin-cfg.xml file is generated to the DeploymentManager <app_server_root>/profiles/default/config/cells directory. For our A4 cell, the file was generated to the following directory: /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/config/cells Edit the plugin-cfg.xml file to update log paths Use an ASCII editor to edit the plugin-cfg.xml file for each HTTP server to set the correct plugin log path. If you do not do so, you will receive the following error in the HTTP server SDSF log: ws_config_parser: handleLogEnd: Failed to open log file: '/wasa/logs/http_plugin.log', OS Err: 129 For our A4 cell configuration, we changed all occurrences of /wasa/logs to /web/wps in plugin-cfg.xml. 226 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Copy the plugin-cfg.xml file into the directory you specified as the second parameter on the ServerInit directive in httpd.conf. For our A4 cell, we copied the plugin-cfg.xml file into /SC48/web/wps and /SC52/web/wps. Make sure that the permissions on the plugin-cfg.xml file allow the HTTP server started task userid and the WebSphere HTTP plugin cell’s controller started task userid to read it. View plugin-cfg.xml in the administration console When you configured the Web servers in the WebSphere Administration Console, you specified the path to the plugin-cfg.xml file. If that path is correct, and the cell’s controller userid has the correct permission, you should be able to view the contents of plugin-cfg.xml from the administration console. 1. Navigate to Application Server → Web Servers and then click the link to one of the Web servers. 2. Click the link to Plugin properties on the right. 3. Click the View button as shown in Figure 4-17. If an error has occurred and the plugin-cfg.xml is not displayed, check the system log for messages that might indicate a permission problem. Also recheck that the path you specified for the plugin-cfg.xml file is correct. Figure 4-17 View plugin-cfg.xml Start the HTTP servers To complete this part of the HTTP server configuration process, follow these steps: 1. Start the HTTP servers using the MVS START command or using the WebSphere Administration Console. 2. Check for the following messages in the HTTP server’s SDSF log: WebSphere HTTP Plug-in for z/OS and OS/390 initialization went OK :-) 3. Check the status of the Web servers on the WebSphere Administration Console by navigating to Application Servers → Web Servers. You should Chapter 4. IBM HTTP Server for z/OS configuration 227 see both Web servers with the green “started” arrow icon as shown in Figure 4-18. Figure 4-18 HTTP servers show started status Verify the applications Verify once again that you can access the WebSphere Process Server Web applications through the HTTP servers. Try accessing BPC Observer, for example, from a browser by specifying the HTTP server port. Open another browser and try it again. You should see JavaServer™ Pages™ (JSP™) initialization messages in the SDSF log of both node's servants when the plugin routes one request to one server and the next to the other server. For our A4 cell, we used the following URL: http://a4.http.itso.ibm.com/bpc/ 228 WebSphere Process Server for z/OS: Configuring a Network Deployment environment A Appendix A. Errors we encountered This appendix describes the problems we encountered during the configuration of our WebSphere Process Server. © Copyright IBM Corp. 2008. All rights reserved. 229 GlobalMonitoringMbean In the Process Server servant job log, you may get the following error (see Figure A-1): The service is unable to activate MBean: type GlobalMonitoringMBean Figure A-1 MBEAN error This ia a known fault which we believe does not affect the functioning of the WebSphere Process Server. It is due to be fixed in a later release. Human Task Container settings runtime configuration We encountered a problem when we performed the following sequence using the WebSphere Administration Console. When the problem occurs, it prevents you from logging back in to the Administration Console until you restart the server: Application servers → a4sr01a → Human Task Container Settings, then select Runtime Configuration 230 WebSphere Process Server for z/OS: Configuring a Network Deployment environment You may get the following error (see Figure A-2): +CEE0374C CONDITION=CEE3250C Figure A-2 CEE0374C error Note: This error has been reported to IBM, PMR 55072,180,000. Failure to define business process container We received the ADMA5014E failure message during the installation of the business process container. See the high lighted lines in Example: A-1. Example: A-1 Messages issued when BPC failed to configure Installing... Check the SystemOut.log on the Deployment Manager or server where the application is deployed for specific information about the EJB deployment process as it occurs. ADMA5016I: Installation of BPEContainer_a4cl01 started. WSEC0106W: Your application may have Web Services Security enabled. If it does, you must go to the Enterprise Application Management panels to configure the binding information for Web Services Security. The binding information for Web Services Security is not collected during application deployment. If it is not properly configured, your application may not start or be usable. Appendix A. Errors we encountered 231 ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPEContainer_a4cl01.ear/BPEContainer_a4cl01.ear ADMA5005I: The application BPEContainer_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPEContainer_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPEContainer_a4cl01.ear is being loaded for the SCA module. CWSCA3017I: Installation task Resource Task for SCA Messaging Binding and EIS Binding is running. CWSCA4007I: SCDL module BFMIF_a4cl01 is being loaded. Import "sca/dynamic/import/scaimport". CWSCA4007I: SCDL module BFMIF_a4cl01 is being loaded. Import "sca/dynamic/import/wsimport". CWSCA4008I: SCDL module BFMIF_a4cl01 is being loaded. Export "com/ibm/bpe/api/sca/BFMWS". CWSCA3017I: Installation task MQ Resource Task for SCA MQImportBinding/MQExportBinding is running. CWSCA3017I: Installation task SIBus Destination Resource Task for SCA Asynchronous Invocations is running. CWSCA3017I: Installation task EJB NamespaceBinding Resource Task for SCAImportBinding is running. CWSCA3017I: Installation task SIBus Destination Resource Task for SCA SOAP/JMS Invocations is running. CWSCA3014I: Resources for the SCA application BPEContainer_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPEContainer_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPEContainer_a4cl01 is complete. ADMA5014E: The installation of application BPEContainer_a4cl01 failed. ADMA5016I: Installation of BPCExplorer_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5009I: An application archive is extracted at /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/wstemp/app_1158a6 3fd4e/ext ADMA5003I: The JavaServer Pages (JSP) files in the Web archive (WAR) files bpcexplorer.war compiled successfully. ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCExplorer_a4cl01.ear/BPCExplorer_a4cl01.ear 232 WebSphere Process Server for z/OS: Configuring a Network Deployment environment ADMA5005I: The application BPCExplorer_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCExplorer_a4cl01 are being configured. CWSCA3023I: The EAR file ext is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCExplorer_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCExplorer_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPCExplorer_a4cl01 is complete. ADMA5013I: Application BPCExplorer_a4cl01 installed successfully. ADMA5016I: Installation of BPCObserver_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCObserver_a4cl01.ear/BPCObserver_a4cl01.ear ADMA5005I: The application BPCObserver_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCObserver_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPCObserver_a4cl01.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCObserver_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCObserver_a4cl01 with the appContextIDForSecurity information. ADMA5011I: The cleanup of the temp directory for application BPCObserver_a4cl01 is complete. ADMA5013I: Application BPCObserver_a4cl01 installed successfully. ADMA5016I: Installation of BPCECollector_a4cl01 started. ADMA5058I: Application and module versions validated with versions of deployment targets. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5053I: The library references for the installed optional package are created. ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. ADMA5001I: The application binaries are saved in /wasa4config/a4cell/a4dmnode/DeploymentManager/profiles/default/wstemp/1769895740/worksp ace/cells/a4cell/applications/BPCECollector_a4cl01.ear/BPCECollector_a4cl01.ear ADMA5005I: The application BPCECollector_a4cl01 is configured in the WebSphere Application Server repository. CWSCA3013I: Resources for the SCA application BPCECollector_a4cl01 are being configured. CWSCA3023I: The EAR file 1769895740BPCECollector_a4cl01.ear is being loaded for the SCA module. CWSCA3014I: Resources for the SCA application BPCECollector_a4cl01 have been configured successfully. SECJ0400I: Successfuly updated the application BPCECollector_a4cl01 with the appContextIDForSecurity information. Appendix A. Errors we encountered 233 ADMA5011I: The cleanup of the temp directory for application BPCECollector_a4cl01 is complete. ADMA5013I: Application BPCECollector_a4cl01 installed successfully. ADMA5014E: The installation of application BPEContainer_a4cl01 failed. ADMA5013I: Application BPCExplorer_a4cl01 installed successfully. ADMA5013I: Application BPCObserver_a4cl01 installed successfully. ADMA5013I: Application BPCECollector_a4cl01 installed successfully. After saving your changes to the master configuration, you must also restart the server to be able to use the business process container. In order to use human task capabilities, the Human Task Manager must also be configured. The Human Task Manager configuration is here. To start the application, first save changes to the master configuration. Save to Master Configuration We looked in the log of the Deployment Manager’s servant and found the errors shown in Example A-2. Example: A-2 Errors in the DMGR’s servant when configuring BPC Trace: 2007/10/10 14:48:49.620 01 t=7B9408 c=UNK key=P8 (13007002) ThreadId: 00000563 FunctionName: checkDBStatus() SourceId: CommonDB Category: SEVERE ExtendedMessage: Error encountered while checking database status.java.sql.SQLException: Failure in loading T2 native library db2jcct2zos, reason: java.lang.UnsatisfiedLinkError: /pp/db2v8/UK20656/jcc/lib/libdb2jcct2zos.so: EDC5157I An internal error has occurred. (errno2=0x0BDF03B2)DSRA0010E: SQL State = null, Error Code = -99,999DSRA0010E: SQL State = null, Error Code = -99,999 These errors occur because the Deployment Manager’s servant did not have the DB2 SDSNEXIT, SDSNLOAD and SDSNLOD2 libraries in its STEPLIB. The DB2 Universal JDBC driver is trying to load a non-Java load module from the SDSNLOAD2 library, and in order to do this, the library must be in STEPLIB or LNKLIST. 234 WebSphere Process Server for z/OS: Configuring a Network Deployment environment B Appendix B. Additional material This paper refers to additional material that can be downloaded from the Internet as described below. Locating the Web material The Web material associated with this paper is available in softcopy on the Internet from the IBM Redbooks Web server. Point your Web browser at: ftp://www.redbooks.ibm.com/redbooks/REDP4388 Alternatively, you can go to the IBM Redbooks Web site at: ibm.com/redbooks Select Additional Materials and open the directory that corresponds with the IBM Redpaper form number, REDP4388. © Copyright IBM Corp. 2008. All rights reserved. 235 Using the Web material The additional Web material that accompanies this paper includes the following files: File name redp4388.zip Description Zipped Code Samples, readme file How to use the Web material Create a subdirectory (folder) on your workstation, and unzip the contents of the Web material zip file into this folder. Open the readme file. This file contains the description of the accompanying files and the instructions for their use. 236 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Related publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this paper. IBM Redbooks For information about ordering these publications, see “How to get Redbooks” on page 238. WebSphere Process Server for z/OS Configuring a stand-alone server environment, REDP-4349 z/OS Getting Started: WebSphere Process Server and WebSphere Enterprise Service Bus V6, SG24-7378 Other publications These publications are also relevant as further information sources: z/OS V1R8.0 UNIX System Services Planning, GA22-7800 (can be found at http://www-1.ibm.com/support/docview.wss?uid=pub1ga22780010). © Copyright IBM Corp. 2008. All rights reserved. 237 Online resources These Web sites are also relevant as further information sources: Installing and Configuring WebSphere Process Server. http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?t opic=/com.ibm.wsps.602.z.ins.doc/doc/iins_zos_welcome.html The IVP we used is documented in Performing Installation Verification for WPS on z/OS V6.0.1. http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100830 WebSphere for z/OS Version 6 - Configuration Planning Spreadsheet http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS1331 Sample script to fix variable settings in WPS and WESB for z/OS Ver. 6.0.x http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS2232 The following Techdocs articles are available at http://www.ibm.com/support/techdocs – PRS2378, WebSphere Process Server v6.0.1 for z/OS Base Application Server Configuration Lab – PRS2520, WPS and WESB ver.6.0.x for z/OS Configuration Tools and Samples – WP100830, Performing Installation Verification for WPS on z/OS V6.0.1 – WP100833, WPS V.6.0.x for z/OS Datasource & Database Configuration Hints & Tips – WP100878, WPS/WESB V6.0.x for z/OS: Network Deployment Configuration Lab – WP100653, WebSphere z/OS V6 - WSC Sample ND Configuration How to get Redbooks You can search for, view, or download Redbooks, Redpapers, Technotes, draft publications and Additional materials, as well as order hardcopy Redbooks, at this Web site: ibm.com/redbooks 238 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Help from IBM IBM Support and downloads ibm.com/support IBM Global Services ibm.com/services Related publications 239 240 WebSphere Process Server for z/OS: Configuring a Network Deployment environment Back cover WebSphere Process Server for z/OS: Configuring a Network Deployment Environment Provides step-by-step configuration guides WebSphere Process Server for z/OS forms part of the WebSphere Business Integration family of products that provide functionality for implementing Service-Oriented Architecture (SOA) on System z. Includes WebSphere Process Server DB2 setup This IBM Redpaper provides a detailed step-by-step configuration guide to setting up a clustered WebSphere Application Server Network Deployment cell and a guide to implementing WebSphere Process Server with DB2 in that cell. We configure WebSphere Process Server this way because this type of cell is used in a typical customer production environment. It provides resilience and scalability. Describes a Network Deployment environment ® Redpaper INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment. For more information: ibm.com/redbooks REDP-4388-00 ™