148
Best Practices for the WebFOCUS 8 Deployment Roadmap July 29, 2015

Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Embed Size (px)

Citation preview

Page 1: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Best Practices for the WebFOCUS 8Deployment Roadmap

July 29, 2015

Page 2: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Active Technologies, EDA, EDA/SQL, FIDEL, FOCUS, Information Builders, the Information Builders logo, iWay, iWay Software,Parlay, PC/FOCUS, RStat, Table Talk, Web390, WebFOCUS, WebFOCUS Active Technologies, and WebFOCUS Magnify areregistered trademarks, and DataMigrator and Hyperstage are trademarks of Information Builders, Inc.

Adobe, the Adobe logo, Acrobat, Adobe Reader, Flash, Adobe Flash Builder, Flex, and PostScript are either registeredtrademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Due to the nature of this material, this document refers to numerous hardware and software products by their trademarks.In most, if not all cases, these designations are claimed as trademarks or registered trademarks by their respective companies.It is not this publisher's intent to use any of these names generically. The reader is therefore cautioned to investigate allclaimed trademark rights before using any of these names other than to refer to the product described.

Copyright © 2015, by Information Builders, Inc. and iWay Software. All rights reserved. Patent Pending. This manual, or partsthereof, may not be reproduced in any form without the written permission of Information Builders, Inc.

Page 3: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

User Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Information Builders Consulting and Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1. Understanding Business Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Business Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Business Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Business Methodologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Business Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Defining the Users and Their Business Needs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Segmenting Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

User Roles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

User Skill Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

User Questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

User Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Data Timeliness/Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

User Connection Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Mapping Business Requirements to a WebFOCUS Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2. Defining the Infrastructure to Support the WebFOCUS 8 Solution . . . . . . . . . . . . . . . 21Staffing and Leadership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

WebFOCUS Solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Enterprise Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Hardware Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Software Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Network Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Information Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Create a Competency Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Develop WebFOCUS Production Deployment Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Implement the WebFOCUS Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Best Practices for the WebFOCUS 8 Deployment Roadmap 3

Page 4: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

3. Sizing and Capacity Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Staffing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Elements of Resource Sizing and Capacity Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Application Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Sizing Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

System Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Query Workloads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Peak Processing Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Service Level Agreement (SLA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Enterprise Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

User Population. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Network Bandwidth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Resource Sizing for New Workloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Capacity Planning for Existing Workloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Plan for the Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Benchmarking Methodologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4. Understanding the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Data Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Data Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

ETL Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Data Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Data Volume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Data Movement and Data Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5. Creating Standards for Application Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Center of Excellence or Competency Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Role of Business and Information Technology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Development Skill Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Developer On-Boarding and Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Establishing Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Naming Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 Information Builders

Contents

Page 5: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Domain Folders and Application Directories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

BI Portals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

ReportCaster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Data Adapter Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Reporting Server Nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Metadata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Coding Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Manual Coding Versus the GUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Standardizing and Reusing Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Working With WebFOCUS Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Setting the Application Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Using Profiles to Manage the WebFOCUS Development Environment . . . . . . . . . . . . . . . . . . . . . . . 57

Working With WebFOCUS Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Integrating DBA Security Into an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Static Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Dynamic Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Working With Styling Resources and HTML Launch Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Presentation Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Reporting and Metadata Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Branding Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Managing Application Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Managing Large Data Volumes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Row and Column Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Reporting Portals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Verifying Queries Are Optimized. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Impact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Source and Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6. Planning for Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

WebFOCUS Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

7. Designing the WebFOCUS 8 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Review the WebFOCUS Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

WebFOCUS Multi-Layered Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Best Practices for the WebFOCUS 8 Deployment Roadmap 5

Contents

Page 6: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

WebFOCUS Architecture Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Single-Tier Architecture Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Single-Tier Clustered Architecture Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Multi-Tier Architecture Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Multi-Tier Clustered Architecture Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Considerations for Clustered Architecture Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Separate WebFOCUS Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Shared WebFOCUS Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Shared Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

WebFOCUS 8 Repositories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

WebFOCUS Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Separation of WebFOCUS Environments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8. Implementing High Availability, Failover, and Load Management . . . . . . . . . . . . . . . . 85Defining High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Maintenance Window and Unplanned Downtime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Implementing High Availability, Failover, and Load Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Hardware and Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

WebFOCUS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Workload Distribution Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Workflow for CLM Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

ReportCaster Workload Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Configuring WebFOCUS for High Availability, Failover, and Load Management . . . . . . 93

9. Defining Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Authentication Checkpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Authentication Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Choosing an Authentication Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Mixed Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Integrating Authorization Across WebFOCUS Components. . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Data Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Confidentiality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

10. Administering WebFOCUS 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Installation of Unplanned Service Packs or Hotfixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6 Information Builders

Contents

Page 7: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

WebFOCUS Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Auditing Configuration Changes and Customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

11. Promoting Resources Across WebFOCUS 8 Environments . . . . . . . . . . . . . . . . . . . . 105Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Change Management Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Change Management Authorization Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Creating and Exporting Change Management Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Copying Change Management Packages Between Environments . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Importing Change Management Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Approaches to Using Change Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Move Content Only. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Moving Content and Security Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

12. Monitoring and Managing Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Resource Analyzer Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Configuring Monitoring Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Resource Analyzer Repository Sizing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Determining Resources to Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Choosing an Option for Archiving Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Setting Up Scheduled Jobs to Archive Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Determining Maintenance Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

Integrating Event Routing With Resource Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Reporting on Collected Resource Analyzer Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Keeping Archived Logs for Historical and Auditing Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Migrating Resource Analyzer Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Considerations for Clustered Architecture Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

13. Conducting Performance Benchmarks, Analysis, and Tuning . . . . . . . . . . . . . . . . . . 129Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Conducting Performance Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Analyzing Performance Benchmark Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Tuning Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Third-Party Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

WebFOCUS Tuning Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Best Practices for the WebFOCUS 8 Deployment Roadmap 7

Contents

Page 8: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

14. Deploying the WebFOCUS 8 Application to Production . . . . . . . . . . . . . . . . . . . . . . . 139Production Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Training the Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Supporting the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Maintaining the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

15. Implementing the WebFOCUS 8 Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Processes and Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Customer Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

8 Information Builders

Contents

Page 9: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Preface

This document summarizes the best practices for implementing a WebFOCUS 8 architecture tosupport business requirements. It is intended for Information Builders technical professionalsand customers responsible for the planning, deployment, and maintenance of the WebFOCUSBusiness Intelligence (BI) platform. The goal is for customers to use these best practices tocreate an architecture that is aligned with their short-term and long-term goals.

The Best Practices documentation will be updated on a regular schedule. We will address gapsin the documentation based on feedback.

How This Manual Is Organized

This manual includes the following chapters:

ContentsChapter/Appendix

Describes the significance of understanding businessrequirements that are the basis for building anarchitecture.

Understanding BusinessRequirements

1

Outlines the key building blocks for building theinfrastructure to support the WebFOCUS 8 solution.

Defining the Infrastructure toSupport the WebFOCUS 8Solution

2

Outlines best practices for sizing new applications andgrowing the infrastructure for existing applications.

Sizing and Capacity Planning3

Describes various aspects of data architecture.Understanding the Data4

Describes best practices for creating standards forapplication development.

Creating Standards forApplication Development

5

Covers measures for restoring WebFOCUS 8applications, following a catastrophic event.

Planning for DisasterRecovery

6

Outlines best practices for designing a WebFOCUS 8architecture to support a WebFOCUS solution.

Designing the WebFOCUS 8Architecture

7

Outlines best practices for creating systems that arerobust and reliable to meet Service Level Agreements.

Implementing HighAvailability, Failover, and LoadManagement

8

Best Practices for the WebFOCUS 8 Deployment Roadmap 9

Page 10: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

ContentsChapter/Appendix

Outlines best practices for defining a WebFOCUS 8security framework.

Defining Security9

Covers key aspects of administering WebFOCUS 8.Administering WebFOCUS 810

Describes key aspects of using Change Managementutilities to support a WebFOCUS 8 productiondeployment.

Promoting Resources AcrossWebFOCUS 8 Environments

11

Describes best practices for using Resource Analyzerto collect and leverage statistics about WebFOCUS 8applications usage.

Monitoring and ManagingResources

12

Guides customers through the iterative process ofdeveloping and executing performance benchmarks bytuning configuration parameters for applicablecomponents.

Conducting PerformanceBenchmarks, Analysis, andTuning

13

Outlines best practices for rolling out a live application.Deploying the WebFOCUS 8Application to Production

14

Outlines the processes and procedures for the varyingstages of the WebFOCUS 8 Roadmap.

Implementing the WebFOCUS8 Roadmap

15

Related Publications

Visit our Technical Content Library at http://documentation.informationbuilders.com. You can alsocontact the Publications Order Department at (800) 969-4636.

Customer Support

Do you have questions about this product?

Join the Focal Point community. Focal Point is our online developer center and more than amessage board. It is an interactive network of more than 3,000 developers from almost everyprofession and industry, collaborating on solutions and sharing tips and techniques. Access FocalPoint at http://forums.informationbuilders.com/eve/forums.

10 Information Builders

Related Publications

Page 11: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

You can also access support services electronically, 24 hours a day, with InfoResponse Online.InfoResponse Online is accessible through our website, http://www.informationbuilders.com. Itconnects you to the tracking system and known-problem database at the Information Builderssupport center. Registered users can open, update, and view the status of cases in the trackingsystem and read descriptions of reported software issues. New users can register immediatelyfor this service. The technical support section of http://www.informationbuilders.com also providesusage techniques, diagnostic tips, and answers to frequently asked questions.

Call Information Builders Customer Support Services (CSS) at (800) 736-6130 or (212) 736-6130. Customer Support Consultants are available Monday through Friday between 8:00 a.m.and 8:00 p.m. EST to address all your questions. Information Builders consultants can also giveyou general guidance regarding product capabilities. Please be ready to provide your six-digit sitecode number (xxxx.xx) when you call.

To learn about the full range of available support services, ask your Information Buildersrepresentative about InfoResponse Online, or call (800) 969-INFO.

User Feedback

In an effort to produce effective documentation, the Technical Content Management staff welcomesyour opinions regarding this document. You can contact us through our website,http://documentation.informationbuilders.com/connections.asp.

Thank you, in advance, for your comments.

Information Builders Consulting and Training

Interested in training? Information Builders Education Department offers a wide variety of trainingcourses for this and other Information Builders products.

For information on course descriptions, locations, and dates, or to register for classes, visit ourwebsite (http://education.informationbuilders.com) or call (800) 969-INFO to speak to an EducationRepresentative.

Best Practices for the WebFOCUS 8 Deployment Roadmap 11

Preface

Page 12: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

12 Information Builders

Information Builders Consulting and Training

Page 13: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Understanding Business Requirements1Chapter

This chapter reviews the importance of understanding business requirements that are thebasis for building an architecture.

In this chapter:

Business Requirements

Business Objectives

Business Methodologies

Business Users

Mapping Business Requirements to a WebFOCUS Solution

Business Requirements

Customers need to engage in a methodical approach to planning and guiding a project from startto finish that includes:

Performing a business and infrastructure requirements assessment.

Creating a communications plan with defined roles and responsibilities.

Defining milestones and deliverables.

Ensuring a collaborative environment for knowledge sharing (for example, forums, user groupmeetings, and lunch and learn sessions offered by the local branches).

An enterprise architecture is driven by business objectives, business methodologies, functionalbusiness user requirements, and operational and infrastructure requirements.

Business objectives cover the strategy and vision of the company for the enterprise or department.

Business methodologies address established processes and controls, and the need for newones.

Best Practices for the WebFOCUS 8 Deployment Roadmap 13

Page 14: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Business user requirements vary widely between organizations and form the basis for a businesssolution to satisfy requirements. Requirements can span across several spectrums, includingenterprise integration and business intelligence. For instance, business users may need accessto enterprise data from operational and informational data stores. However, operational datastores may have to be created dynamically, requiring an Extract, Transform, Load (ETL) process,such as DataMigrator. Additionally, business users may need data access to Decision SupportSystems (DSS), such as WebFOCUS InfoAssist, and Executive Information Systems (EIS), suchas Performance Management Framework (PMF).

Business Objectives

Customers must have a strategy and vision for their reporting needs. It may be one of a sharedservices model, where many applications share a common infrastructure, or it may be one thatis departmental. Whatever that vision is, it needs to be clearly defined, starting with pertinentapplication information.

Business Methodologies

The methodologies employed by a company are key to the eventual enterprise architectureimplementation. We need to understand what, if any, methodologies are in effect to manage:

Organizational challenges, where productivity may lag due to inefficiencies in the currentsystem.

Technical processes, such as:

Data sources and data administration.

Computing platforms and operations.

Applications and their associated challenges.

Current architecture and related diagrams (network and database).

Analytical needs, such as:

Information the analysts provide, and the processes and tools they use to share thisinformation with their colleagues.

How much time it takes for an analyst to perform tasks that can be streamlined with betterprocesses and information.

Data analysts’ vision of an optimized process and the benefits of that process.

14 Information Builders

Business Objectives

Page 15: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Executive processes, such as:

How information is used to make decisions.

Problems and "decision lag time."

Business processes and overall strategy.

How the effectiveness of the business is measured.

Business Users

The Business Intelligence (BI) Platform Capability Matrix (BI Capabilities Matrix) published byGartner, Inc. can be used as the starting point for gathering business user requirements.

Gartner, Inc. categorizes the twelve (12) capabilities of a BI platform into the following threeareas:

Information Delivery

Integration

Analysis

According to Gartner, Inc. (in their Publication Date: 23 April 2007, ID Number: G00146865),only the combination of all three capability categories (Information Delivery, Integration, andAnalysis) can create a platform that delivers BI pervasively to the business.

For more information on the Business Intelligence Platform Capability Matrix by Gartner, Inc., seehttp://www.informationbuilders.com/products/webfocus/pdf/Gartner_BI_Matrix.pdf.

Using the Gartner, Inc. BI Capabilities Matrix has two advantages. Requirements are aligned withindustry standards, and the matrix adds structure to the user requirements by grouping thecapabilities. In a case where several applications are under review, business user requirementsmust be obtained for each application in order to determine if the applications can co-exist ormust be implemented separately.

Best Practices for the WebFOCUS 8 Deployment Roadmap 15

1. Understanding Business Requirements

Page 16: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Defining the Users and Their Business Needs

As shown in the following Population pyramid, studies show that a large percentage of users ina typical organization are non-technical or consist of other types of users, who need informationusing self-service applications, instead of tools. Only a small percentage of users are businessanalysts or data discovery analysts, who create new information and perform analytical functionsusing development tools.

Data Discovery Analysts. Try to find insights and patterns in data, using a data discoverytool, such as InfoDiscovery.

Business Analysts. Understand the data and need to create specific ad hoc reports thataccess the data, using a development tool, such as InfoAssist.

Developers (not shown in pyramid). Create InfoApps for all users, using a developmentenvironment tool, such as App Studio.

Viewers. Consumers of InfoAssist, InfoDiscovery, and InfoApps applications, which can behosted on a WebFOCUS portal.

16 Information Builders

Business Users

Page 17: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Segmenting Users

We need to understand:

The role of the user in the organization.

The skill and sophistication level of the user.

The amount of time available to the user in using the application.

The availability of information for the user. Does the information exist or must it be derived?Does the information exist, but needs to be discovered by doing a search?

The amount of time the user is at the desktop or mobile device. Does the user need informationwhile mobile?

The timeliness of the data. Does the user need data in real time, or is there flexibility for datalatency?

User Roles

The role of a business user or analyst in an organization dictates how information is disseminatedand what tools are required on a user-role basis. Organizations are typically composed of thefollowing users:

Executives. Retrieve information through reports, dashboards, and scorecards.

Middle managers. Retrieve information through reports, dashboards, and scorecards.

Analysts. Create new information and perform analytical functions using ad hoc developmenttools, Online Analytical Processing (OLAP) tools, visualization, and predictive analytics.

Frontline workers. Retrieve information through reporting applications and searchapplications.

External users. Retrieve information through reporting applications, search applications,and interactive reports.

Best Practices for the WebFOCUS 8 Deployment Roadmap 17

1. Understanding Business Requirements

Page 18: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

User Skill Sets

User skill level and sophistication determines whether the user should access information throughreports or if the user should be granted access to ad hoc development tools. Users can beclassified as having skill sets that are:

Advanced

Users with advanced skills understand data structures and development. They can effectivelyuse predictive analysis, analytical, and ad hoc development tools. They may need:

Ad hoc development

Visualization

Modeling: OLAP and Statistics

Intermediate

Users with intermediate skills have the necessary technical skills to use a drag and drop tool,such as Excel.

Non-Technical

Non-technical users need information, not tools. They are business oriented, using enterprisesearch as a means to access data, typically displayed in PDF format.

User Questions

User access to appropriate WebFOCUS features can be determined from the questions they mayask, as described below.

Guided ad hoc reporting is for users who ask about existing information. They need performancemanagement, dashboards, and scorecards.

Ad hoc development tools are for users who know what they want, but the information doesnot exist as a key metric. It has to be derived.

Discovery and search are for users who are not sure what they want or what exists.

Visualization is for users who want to view information that easily exposes complex patternsand correlations.

Predictive analysis is for users who need to analyze current and historical data to makepredictions about future trends.

18 Information Builders

Business Users

Page 19: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

User Time

The amount of time a user spends on an application determines how information should bedisseminated to them. For example, if a user has limited time to spend using an online application,the status of key metrics should be mailed to them on a regular basis.

In general:

An analyst or frontline worker may be signed in to the application 50%-100% of the time.

A middle manager may be signed in to the application 10%-20% of the time.

An executive may be signed in to the application 0%-5% of the time.

Data Timeliness/Latency

Understanding data latency helps to determine how to design an application for providing statusof key metrics. If data updates are to be viewed:

On a schedule or periodically, then the reports and dashboards should be updated periodically.For this, you would use a guided ad hoc application.

On demand and up to the minute, then the reports should reflect updated data at the pointof request.

In real time, then the reports and dashboards should be updated in real time as the datachanges. For this, you would need a real-time dashboard.

User Connection Status

Users who use their desktops for online access have more flexibility in accessing applications.They rely less heavily on information being distributed by email. Partial or fully mobile users mayfind email and mobile applications the best way to stay connected. Users may be:

Always connected.

Sometimes connected, but need information while mobile.

Always offline, such as the mobile workforce.

Best Practices for the WebFOCUS 8 Deployment Roadmap 19

1. Understanding Business Requirements

Page 20: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Mapping Business Requirements to a WebFOCUS Solution

The next step in the roadmap to a successful WebFOCUS deployment is to map requirements toa WebFOCUS solution. In the context of this document, a solution refers to the WebFOCUScomponents that are suited to the business requirements and how they will be used. Dependingon requirements and licensing, solutions can include a subset of WebFOCUS components or allWebFOCUS components.

WebFOCUS solutions can be implemented by the customer or Information Builders ProfessionalServices, or using a blended approach.

To support the WebFOCUS solution, the next step is to define the infrastructure key buildingblocks that support the business solution and its resulting architecture. They are used to gaugeoperational readiness.

20 Information Builders

Mapping Business Requirements to a WebFOCUS Solution

Page 21: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Defining the Infrastructure to Support theWebFOCUS 8 Solution

2Chapter

This chapter outlines the key building blocks for building the infrastructure to support theWebFOCUS 8 solution.

In this chapter:

Staffing and Leadership

Processes

Technology

Create a Competency Center

Develop WebFOCUS Production Deployment Plan

Implement the WebFOCUS Roadmap

Staffing and Leadership

The roadmap plan must ensure that project leadership is established at the onset of a WebFOCUSdeployment. Typically, it begins with the project sponsor who champions and funds the project,and whose role it is to resolve any conflicts that may impact its success. Project leadership,individually or as a group, is tasked with making strategic decisions, such as scheduling anddelegating responsibilities. Approvals and signoff on implementation may also be part of theleadership.

Key staffing and leadership components include:

Assembling an experienced project team

Project members should have an excellent grasp of requirements and technology. Within anyorganization, it is necessary to identify and mobilize leads for specific implementationprocesses and tasks.

Best Practices for the WebFOCUS 8 Deployment Roadmap 21

Page 22: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

ResponsibilitiesStaffing

Sponsors and funds the project.

Resolves conflicts to ensure the success of the project.

Determines deliverables and rollout production schedules.

Project Sponsor

Manages the project.

Delegates responsibilities and tasks.

Project Leader

Manage the hardware and third-party software resources.

Manage the operating systems and storage.

Monitor resource utilization.

System Administrators

Manage the network between servers and services.Network Administrators

Manage web server and application server farms.

Install third-party software, such as WebFOCUS.

Application Administrators

Manage the database servers including the tuning, monitoringof queries, connections, and resource utilization.

Database Administrators

Work closely with the developers constructing the reportsbecause they understand the data model. They can providevaluable guidance on developing reports for maximumoptimization, performance, and efficiency.

Data or Subject MatterExperts

Manage the WebFOCUS BI platform.WebFOCUS Administrators

Defining the scope of the project

A well-defined project plan is crucial so that all project team members have the sameexpectations. The project plan should address the following:

Final deliverables. What will be delivered to the end users?

Tasks. What must be done?

Schedules. When will the tasks be done?

Cost. How much will it cost?

22 Information Builders

Staffing and Leadership

Page 23: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Staffing and responsibilities. Who will do it?

Dependencies. What are the prerequisites and dependencies?

Risks. What are the risks?

Contingency plans. What to do if something goes wrong?

Communications. How do team members communicate effectively?

Training. How are the end users trained to use the application?

Development. How will developers be trained to develop?

Upgrades and migrations. When will upgrades and migrations be scheduled?

Hotfixes. What is the process for Hotfixes?

Planned Maintenance. What is the schedule for planned maintenance?

Engaging the business users

It is important to involve the business user community in the project, since they will be theprimary users of the application. The business users should specify data access and businessrules requirements. There is little value in rolling out an application to users who were notgiven the opportunity to provide input, and then have that application fail to meet userexpectations.

Securing the appropriate resources

The experience, skill set, and quality of project team members is critical. Team membersmust be able to work collectively as a group. Project team members must have access tohardware, software, and system resources. For instance, database administrators must beon board to assist with database management systems.

Processes

It is important to identify all the processes, procedures, and tasks associated with building thesupporting infrastructure so that you have a complete picture of all the resources required andthe potential impact on deliverables. Tasks are typically delegated by the project leader orempowered project team member.

Outlined below is a summary of the processes, each of which is detailed in the following section.

Understand WebFOCUS technology and solutions to determine what additional staffing andresources are required.

Understand the enterprise data.

Best Practices for the WebFOCUS 8 Deployment Roadmap 23

2. Defining the Infrastructure to Support the WebFOCUS 8 Solution

Page 24: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Identify the hardware resources.

Identify the software resources.

Identify the network resources.

Identify information services.

Create a Competency Center.

Develop a WebFOCUS production deployment plan.

Implement the WebFOCUS roadmap.

Technology

The technology required to support the BI platform encompasses a wide range of resources.

WebFOCUS Solution

WebFOCUS supports a broad set of core and extended product features. Depending on the productfeatures and product usage required, resources may vary between customers. The following tabledescribes the core product features.

WebFOCUS requires the following resources to run.

Resources RequiredDescriptionCore ProductComponents

Design mode: Internet Explorer9 or higher.

Run time: Any supportedbrowser at run time.

Source control libraries(optional).

Desktop developmenttool.

Can be integrated withsource control tools.

App Studio

24 Information Builders

Technology

Page 25: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Resources RequiredDescriptionCore ProductComponents

Any supported browser.

Web server (optional).

Web server plug-ins (optional).

32-bit or 64-bit Java ApplicationServer.

32-bit or 64-bit Java SDK orJRE.

RDBMS database repository.

32-bit or 64-bit JDBC drivers forconnection to the WebFOCUSRDBMS repository database.

Manages the webdevelopment tools, datadiscovery tools, reportingtools, and portals.

Comprised of a numberof web applications.

Sends user requests tothe WebFOCUS ReportingServer for processing.

WebFOCUS Client

32-bit or 64-bit Java SDK or JRE (ifinstalled on a separate machinefrom the WebFOCUS Client).

Manages scheduling anddistribution.

Comprised of SchedulingWizard and DistributionServer.

ReportCaster

Best Practices for the WebFOCUS 8 Deployment Roadmap 25

2. Defining the Infrastructure to Support the WebFOCUS 8 Solution

Page 26: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Resources RequiredDescriptionCore ProductComponents

Any supported browser foraccess to the Web Console.

32-bit or 64-bit Java SDK orJRE for Java Services.

32-bit or 64-bit native databaseclient libraries to match the bitaddressing of the ReportingServer.

32-bit or 64-bit JDBC drivers foraccess to JDBC data sources.

32-bit or 64-bit LDAP librariesfor access to LDAP/AD servers.

32-bit or 64-bit Open SSLlibraries for Web Consoleencryption.

Provides data access.

Manages metadata.

Performs aggregationsand calculations.

Provides styling andformatting.

Processes Java Servicesrequests.

WebFOCUS ReportingServer

Any supported browser for accessto the CLM Web Console.

Manages workloaddistribution.

WebFOCUS WorkloadDistribution Facility (CLM)

RDBMS repository for storingcollected statistics.

Collecting applicationstatistics.

Resource Management

26 Information Builders

Technology

Page 27: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Enterprise Data

At the heart of an enterprise architecture and BI platform are the Operational Data Stores (ODS),Enterprise Data Warehouses (EDW), and Data Marts (DM) that supply the integrated, transformed,and cleansed data for reporting and analysis. For more information, see Understanding the Dataon page 43.

Hardware Resources

Hardware choices are an important factor in achieving a scalable platform that performs optimally.

Choosing a Platform

Unless a platform has been pre-determined by company policy or by some other means, the mostreliable way to make a choice is by:

Consulting with different hardware vendors in conjunction with benchmarking several platforms.This includes VMWare which is fully supported by WebFOCUS.

Gauging the knowledge and skill sets of employees to administer and maintain platforms.

Support for WebFOCUS and third-party software on that platform.

Load Balancers and Proxy Servers

For a load-balanced architecture, a common approach is to cluster server components so itappears to be a single server. A hardware-based load balancer may be used by some customersto distribute requests to different web servers in a web server cluster. The same load balancermay act as a proxy server. A virtual IP is exposed to external users so it seems they are accessinga single machine. However, internally, the virtual IP is mapped to each of the web servers in theweb server cluster. It is recommended that:

External-facing applications are routed through a load balancer or proxy server so the identityof machines behind the firewall is not exposed to external users.

Session affinity is enabled on the load balancer.

Software Resources

Identify software resources:

WebFOCUS and third-party software

Developer tools and version control tools

System monitoring tools

Benchmarking tools

Best Practices for the WebFOCUS 8 Deployment Roadmap 27

2. Defining the Infrastructure to Support the WebFOCUS 8 Solution

Page 28: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Network Resources

It is important to review the following aspects of your network when designing the architecture.

Network Speed and Availability

The speed of the network and availability of network bandwidth is one of the deciding factors inthe placement of WebFOCUS server components.

TCP/IP Ports

TCP/IP ports are used in two ways:

They are assigned or referenced to WebFOCUS components that listen and/or receiveconnections on specified ports. The WebFOCUS Reporting Server is one such example.

They are referenced in WebFOCUS configuration files for communication with third-partysoftware and information services.

Host Names and DNS Aliases

Before performing the WebFOCUS installation, you must know if the machines will be referencedby their Domain Name Service (DNS) physical name or DNS aliases (CNAME). Knowing this upfront and entering the correct entries during installation will prevent a reinstallation or manualchanges to WebFOCUS configuration files.

Network Restrictions

As a security measure, customers sometimes impose restrictions on TCP/IP ports so they cannotbe accessed from certain machines. WebFOCUS server components use a number of TCP/IPports to listen for incoming requests. Depending on which WebFOCUS features are part of theWebFOCUS solution, they can be changed or addressed during the design process.

Network Security

Any website exposed to the Internet must be protected. Common protections include the use ofproxy servers, multiple firewalls (DMZs), and third-party software. Many companies deployingsensitive information over the web require a secure sign in prior to granting access to the website.

28 Information Builders

Technology

Page 29: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Information Services

A crucial aspect in planning an implementation is knowing which services are required and ensuringthat those services are available and functioning independent of WebFOCUS. Outlined below arecommon information services for WebFOCUS.

Email server

FTP server

SFTP server

Print server

Create a Competency Center

If effective operational procedures and guidelines are not in place to support the applicationsand business users, resources may be used inefficiently. There are several areas in which onemust spend the time to plan and organize operational tasks. For more information, see CreatingStandards for Application Development on page 47.

Develop WebFOCUS Production Deployment Plan

A key element of defining the infrastructure in the WebFOCUS roadmap is to develop acomprehensive set of procedures prior to implementing and executing the WebFOCUS roadmap.

Implement the WebFOCUS Roadmap

Now that all of the key infrastructure building blocks have been defined, the processes andprocedures can be implemented for a successful WebFOCUS deployment.

Best Practices for the WebFOCUS 8 Deployment Roadmap 29

2. Defining the Infrastructure to Support the WebFOCUS 8 Solution

Page 30: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

30 Information Builders

Implement the WebFOCUS Roadmap

Page 31: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Sizing and Capacity Planning3Chapter

This chapter outlines best practices for sizing new applications and growing the infrastructurefor existing applications.

In this chapter:

Introduction

Terminology

Staffing

Elements of Resource Sizing and Capacity Planning

Resource Sizing for New Workloads

Capacity Planning for Existing Workloads

Plan for the Future

Benchmarking Methodologies

Introduction

A successful WebFOCUS implementation relies heavily on an accurate assessment of the allocationof resources when growing an existing application or when implementing new applications.

Resource sizing is the estimation of resources needed for a new workload or application whenusage patterns are unknown. For instance, applications that are not yet in production.

Capacity planning is the estimation of resources for future growth with production workloadswhere the usage patterns are known. It is important to understand how to size the infrastructureto accommodate that growth so we can maintain performance and Service Level Agreements asusage increases. For example, if the number of active users for a specific WebFOCUS applicationis expected to grow by 10% in the next year, resource allocation to accommodate that growth iscritical. It is important to understand:

What, if any, infrastructure components need to be expanded for projected growth whilemaintaining Service Level Agreements (SLAs) and Units of Work (UOW).

How the infrastructure needs to change, if at all.

Best Practices for the WebFOCUS 8 Deployment Roadmap 31

Page 32: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

To estimate resources for new or existing workloads, the iterative process of tuning and runningbenchmark tests is a must.

Terminology

The following terms appear throughout this document.

DefinitionTerm

Extract, Transform, and LoadETL

Graphical User InterfaceGUI

Java Application ServerJAS

Java Virtual MachineJVM

ReportCasterRC

Rule of thumbROT

Service Level AgreementSLA

Subject Matter ExpertSME

Unit of WorkUOW

WebFOCUS Reporting ServerWRS

WebFOCUS Workload Distribution FacilityWWDF

Defined as those components that execute a specific function.Layer

Database Server/Servers. This layer supports the processingof SQL queries and data processing.

Data Layer

WebFOCUS Reporting Server. This layer supports secureaccess to WebFOCUS, data, and metadata.

Reporting and Metadata Layer

WebFOCUS Client and ReportCaster. This layer interactsdirectly with the user through GUI implementations.

Presentation Layer

32 Information Builders

Terminology

Page 33: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

DefinitionTerm

Machine or machines that host either the Data Layer,Reporting and Metadata Layer, or Presentation Layer.

Tier

Overall workload on each machine of each tier.Workload

Grouping of report functions and defined as guided ad hocreporting, batch reporting, and ad hoc reporting.

Query workload

Collection of reports, which may be parameterized, but cannotbe updated by a user. It can only be executed as is.

Guided ad hoc workload

Reports that can be created from the Presentation Layer bypower or analytical users.

Ad hoc workload

Reports that are run and distributed in batch mode.Batch workload

This is a mix of guided ad hoc, ad hoc, and batch queries thatsimulate mixed usage patterns.

Integrated workload

Staffing

The following SMEs are critical to the sizing process.

Systems Administrator

System administrators are typically tasked with monitoring resource utilization on a machine.It is best to capture resource utilization statistics overall, by application, and by component.This way, you can isolate and identify system bottlenecks. Additionally, it allows you to identifyactivity at high, low, and average peaks. You will then know how much activity is occurringand when to allocate resources appropriately.

Network administrator

Network administrators are typically tasked with monitoring network resource utilization. Thisis especially important in a multi-tiered physical architecture where data is transferred overthe network between machines and across security domains.

Best Practices for the WebFOCUS 8 Deployment Roadmap 33

3. Sizing and Capacity Planning

Page 34: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Database Administrator (DBA)

The DBA is critical to the sizing process and must have a thorough understanding of thedatabase design, database volumes, indexing, and database and query optimization. TheDBA must be able to work with developers so queries are constructed to take advantage ofdatabase optimization features. For instance, if a request is taking a long time to run and itappears that the WebFOCUS Reporting Server is just waiting for the database server torespond, then we need the DBA to verify that the database server is still processing therequest.

WebFOCUS Administrators

WebFOCUS Administrators must work together with system, network, and databaseadministrators on sizing. They will need to perform WebFOCUS administrative tasks duringthe sizing and benchmarking process. The other administrators will expect the WebFOCUSAdministrator to explain how WebFOCUS and associated applications work.

Elements of Resource Sizing and Capacity Planning

To develop a comprehensive set of benchmark test cases, consider the following sizing elements.

Application Information

Having a thorough understanding of WebFOCUS application usage is critical to sizing in manyways. If the WebFOCUS systems are shared between different business applications, you mustaccount for that usage when sizing.

Sizing Components

Primary components for which we need to allocate resources are:

Data Layer

Database server usage is any activity that requires a connection and processing of a datarequest to and by the database server.

Reporting and Metadata Layer

WebFOCUS Reporting Server

WebFOCUS Reporting Server usage is any activity that requires the use of the WebFOCUSReporting Server. These include but are not limited to:

Processing of ad hoc report requests that require the retrieval of metadata elements,such as Master File lists and column information from the WebFOCUS Reporting Server.

34 Information Builders

Elements of Resource Sizing and Capacity Planning

Page 35: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Processing of all live and batch report requests, including database connectivity.

Formatting of all reports for styled and unstyled output formats.

WebFOCUS Reporting Server administration tasks from the Web Console.

Presentation Layer

Presentation layer usage is any activity that requires the use of the WebFOCUS Client andReportCaster front-end tools. These activities include, but are not limited to:

Web-based ad hoc development using tools such as InfoAssist and InfoDiscovery.

ReportCaster scheduling, using the Basic and Advanced Scheduling Wizards andReportCaster Explorer.

Administration tasks from any of the administration consoles, including the WebFOCUSClient Administration Console and ReportCaster Console.

Processing of answer sets returned by the WebFOCUS Reporting Servers.

System Resources

Response times and job throughput capacity will be impacted if there are not enough resourcesfor components to service requests, which may violate SLAs.

Resource utilization and allocation. It is important to determine how much resources areconsumed and when to adjust resources. For instance, at peak times, adjustments may haveto be made to handle the increased usage. It is important to understand if there is a repeatablepattern of utilization at high, low, and average peaks.

System resources must be captured for each physical tier in the architecture. It is best to dothe following:

Measure resource usage for baseline tests.

Measure overall resource usage for each tier for each query workload.

Measure resource usage by component for each query workload.

We need to monitor resources on each machine to see if they are saturated or availableduring critical processing times. Some customers may choose to capture statistics on anhourly basis to identify high, low, and average peaks, and to gauge if there are repeatablepatterns of resource utilization.

Best Practices for the WebFOCUS 8 Deployment Roadmap 35

3. Sizing and Capacity Planning

Page 36: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Application contention. Multiple applications competing simultaneously for resources alsohave an impact. For instance, are ETL batch jobs running during the day, competing forresources?

System resources that should be monitored are:

CPU (total user and system)

The database server is also very CPU-intensive, and that is why most customers mustseparate the Data Layer from the Reporting and Metadata Layer. Having both layers onone machine will most likely result in resource contention.

RAM

Memory can be physical or virtual, but in this documentation, we will focus on physicalmemory. Virtual memory and swapping statistics can be captured and added as a resourcethat has to be sized. The ReportCaster Distribution Server uses more memory than CPU.The WebFOCUS Client, which is comprised of a number of web applications, runs withina JVM that is memory-intensive. The JVM must be configured to use appropriate memory,referred to as JVM heap size. There is a minimum and maximum heap size, which is howmuch memory the JVM should start with and the maximum it can use.

Network I/O

Depending on the design of the physical architecture, network bandwidth can impactperformance. Application performance will reflect the performance of the available networkbandwidth.

Disk Command Queue

Monitoring disk activity with a tool like Microsoft® diskperf™, or the equivalent on otheroperating systems, is important for many reasons. It will allow you to track the number ofrequests that are queued and waiting for a disk, to see if it is a bottleneck. It will allowyou to measure the size of input/output (I/O) operations.

Disk space

We need to understand how much disk space to allocate for the current workload andfuture workload growth.

36 Information Builders

Elements of Resource Sizing and Capacity Planning

Page 37: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

File system

File extracts. Files that are written to disk, and temporary and permanent file extractsgenerated by the WebFOCUS Reporting Server, need the most disk space. These areusually created from ON TABLE HOLD type commands. If you have an idea of thenumber and size of these files, you can allocate the proper amount of disk space locallyon the WebFOCUS Reporting Server machine or on a remote and possibly shared filesystem.

FOCUS databases. File extracts can also include FOCUS databases.

WebFOCUS Repository storage

WebFOCUS 8 requires a database repository to store content created by the PresentationLayer. You need to understand how much data is expected to be stored.

Resource Analyzer/Resource Governor

The recommended size of your tables will vary from one implementation to another. Formore information on recommended table sizes utilized by Resource Analyzer, see theResource Analyzer Administrator’s and User’s Manual.

Query Workloads

WebFOCUS queries can be the following workload types:

Guided Ad Hoc Query Workload. These are queries submitted from a browser and returned tothe browser. Sample queries include:

Small. 0-120 rows, pages=rows/lines per page, LRECL=n bytes, File Size=n megabytes,Formats=PDF, EXCEL

Medium. 3600 rows, pages=rows/lines per page, LRECL=n bytes, File Size=n megabytes,Formats=PDF, EXCEL

Large. >3600 rows, pages=rows/lines per page, LRECL=n bytes, File Size=n megabytes,Formats=PDF, EXCEL

Complex calculations. 3600 rows, pages=rows/lines per page, LRECL=n bytes, File Size=nmegabytes, Format=AHTML, HTML

Complex PDF with embedded graphs, 3600 rows, pages=rows/lines per page, 12 graphs perpage, LRCEL=n bytes, File Size=n megabytes, Format=PDF

Ad Hoc Query Workload. These are queries and visualizations that are built by production usersusing ad hoc tools, such as InfoAssist and InfoDiscovery.

Best Practices for the WebFOCUS 8 Deployment Roadmap 37

3. Sizing and Capacity Planning

Page 38: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Batch Query Workload. These are ReportCaster scheduled jobs.

Integrated Query Workload. This is a mix of guided ad hoc, ad hoc, data discovery workload,and batch queries that simulate mixed usage patterns.

Peak Processing Time

It is important to identify the critical processing times for each query workload in order to do theproper sizing. If during the hours of 7AM to 9AM most users sign in and run reports, then resourceswill have to be adjusted and prioritized accordingly.

Service Level Agreement (SLA)

A Service Level Agreement is an agreement between a service provider and its users. For example,there may be an established SLA within an organization that requires a WebFOCUS report to runand return the report output within five seconds. SLAs are typically user-driven, but can also existin other areas, like administration. For instance, a systems administrator has to create a databasefor a business unit within three business days after the request has been submitted. Mostcompanies have established Service Level Agreements (SLA). Some are measured in responsetimes and resource utilization, others in job throughput.

Response Times and Resource Utilization

The response times and resource utilization captured from submitting a request and receiving areport can be broken down into different levels and can be built around peak or off-peak times.Typically, it is built around peak times.

Some customers want the total elapsed time and resource utilization percentages.

Some customers want a breakdown of the elapsed time at multiple levels, as in the following,where an SLA is comprised of two parts:

SLA1 is the elapsed time and resources utilized by the database server to return the completeanswer set to the WebFOCUS Reporting Server.

SLA2 is the elapsed time and resources utilized by the WebFOCUS Reporting Server inprocessing the complete answer set retrieved from the database server. This includes theformatting and rendering of the report to the user.

Throughput Capacity

Throughput is typically measured as a Unit of Work (UOW). For instance, in an SLA that is basedon job throughput, the UOW can be the number of reports per minute or per hour. The SLA maybe ten UOWs per hour or one UOW per minute.

38 Information Builders

Elements of Resource Sizing and Capacity Planning

Page 39: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Enterprise Data

The data and data sources are critical to sizing. We must have a thorough understanding of:

Data stores

These can be Enterprise Data Warehouses (EDW), Data Marts, or Operational Data Stores(ODS). If it is an EDW, we need to know if and when ETL jobs are launched so we can addressany type of resource contention if reporting and ETL jobs overlap.

Data volume

It is also critical to know the database architecture, tables, and table relationships, and mostimportantly, the size of the tables. Is the data in the tables static or dynamic? What is thefrequency of data growth? Naturally, performance will be impacted if there is a lot more datato scan.

User Population

For existing workloads, we can determine the user population and usage patterns from capturedstatistics. With new applications not yet in production, we do not have statistics for establishingusage patterns, so we have to use a rule of thumb (ROT) or some other means.

Sample for Usage Patterns

Total Named Users

= 100%

Signed-on Users (accessing the Presentation Layer simultaneously)

=35% of total named users

Concurrent Users (hitting the WebFOCUS Reporting Server or ReportCaster Distribution Serverand Database Server simultaneously)

=5% of Signed-on Users

Network Bandwidth

Available network bandwidth may have a significant impact on performance and the ability tomeet SLAs.

Best Practices for the WebFOCUS 8 Deployment Roadmap 39

3. Sizing and Capacity Planning

Page 40: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Resource Sizing for New Workloads

You can add new WebFOCUS applications to a shared WebFOCUS instance or set up a newWebFOCUS instance to host applications. In either case, usage patterns may be unknown, butwe need to estimate resource utilization using some ROT extrapolation method. You can:

Extrapolate from captured statistics for an existing query workload profile that may be similarto the new workload.

Conduct benchmarks for the existing query workload profile that may be similar to the newworkload.

Create a new custom query workload profile and conduct benchmarks to simulate anticipatedusage.

Using an Existing Query Workload Profile

The extrapolation method is based on another query workload profile in the company. We haveseen customers adopt this approach in proofs of concept, investing in hardware, software, andpeople resources to get accurate sizing with representative data and usage patterns. It is essentialto build a margin of error into the sizing methodology.

Capacity Planning for Existing Workloads

The idea behind capacity planning is to determine what has to be done to grow the existinginfrastructure to meet anticipated growth. That growth can be measured by the number of users,job throughput capacity, or using some other measurement. It is important to capture statistics24/7 over an extended period so you can determine what the high, low, and average peak timesare. This will help us in making resource allocation adjustments appropriately.

Plan for the Future

To plan properly for future growth, we need to understand areas of growth.

Calculate Resource Utilization

Resource utilization for existing workloads will be useful to plan for future growth. Analyze capturedstatistics, as follows:

Resource Analyzer. Captured CPU utilization for individual WebFOCUS application queries.

System Monitoring Logs. Captured system resources, including CPU and RAM at the processlevel. This includes the WebFOCUS Reporting Server, ReportCaster Distribution Server,application server, web server, and databases.

40 Information Builders

Resource Sizing for New Workloads

Page 41: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Measure Growth

Growth in any one of the following areas can affect legitimate capacity.

Data. An increase in data volume could increase query response times with more data toscan. Answer sets can increase for the same query in relation to the amount of data scannedin the database. We need to determine additional resources required to process the largeranswer sets.

Queries. New queries for a query workload can be created.

User Population. Increases in user population will result in an increase in queries andpotentially data. WebFOCUS is non-persistent, so there is a 1:1 ratio between a query and auser.

Growing the Infrastructure

Using the baseline physical architecture and the sizing formula above, we will determine how togrow the infrastructure so we can create a matrix, as follows:

Matrix of Infrastructure Growth

Tier 4

(DatabaseServers)

Tier 3

(WebFOCUSReportingServer)

Tier 2

(WebFOCUSClient/ReportCaster)

Tier 1

(Web ServerMachine)

Growth Rate

X2 machines2 machines1 machineBaseline

X3 machines2 machines1 machineGrowth Phase1

X & Y4 machines2 machines1 machineGrowth Phase2

X & Y & Z5 machines3 machines2 machinesGrowth Phase3

Best Practices for the WebFOCUS 8 Deployment Roadmap 41

3. Sizing and Capacity Planning

Page 42: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Benchmarking Methodologies

Ideally, benchmarks should be conducted using parameters that accurately represent productiondata sources, production usage, and an operating environment that mirrors production, such asa mock run. Barring that, benchmarks can be conducted with custom query workload profilesbased on the characteristics of the existing batch query workload profiles.

Benchmarks conducted in a controlled environment are essential to the process of capturingconsistent statistics. This means that the database servers and machines in the physicalarchitecture must have planned downtimes built into the schedule to allow for controlledbenchmarks. Only then can we determine if there is a repeatable pattern of utilization at high,low, and average peaks for expected load. Benchmarks have to be repeated without controls todetermine how capacity is affected when other applications are competing for resources.

The benchmarking process is outlined below:

1. Validate queries.

As a prerequisite to benchmarks, all queries have to be validated.

2. Establish a starting point.

We have to establish a starting point that allows us to determine the legitimate capacity ofeach component.

3. Start with baseline configuration parameters.

4. Iteratively benchmark, tune configuration parameters, and increase the load.

Once the capacity criteria has been met through this iterative process, you have a baselinephysical architecture and baseline configuration for server components that can legitimatelyhandle n number of requests.

42 Information Builders

Benchmarking Methodologies

Page 43: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Understanding the Data4Chapter

In this section, we take a look at the data sources used for reporting and analyticalapplications, together with how those data sources are populated. Start with understandingthe business requirements and then work your way back to the data.

In this chapter:

Data Sources

Data Standards

Data Structures

Data Quality

ETL Processes

Data Performance

Data Sources

Customers use a mix of data sources consisting of operational data stores (ODS), EnterpriseData Warehouses (EDW), and cube databases. For WebFOCUS usage, some guidelines include:

Avoid reporting directly off transactional systems.

Use operational data stores, enterprise data warehouses, or data marts, as opposed totransactional processing systems.

Create views, when appropriate.

Data Standards

Review the data standards that should have been established from the onset. While data standardsdo not solve data quality issues, they do help and provide consistency in the data when adheredto. For example, data standards can eliminate case-sensitivity issues, duplicate data, varyingrepresentations of similar data, such as zip codes, special characters in a field, and so on.

Data Structures

How data is organized and stored impacts application performance.

Best Practices for the WebFOCUS 8 Deployment Roadmap 43

Page 44: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Ensure that the data has primary keys.

Add indexes to the table to improve query performance. Indexes can:

Reduce the amount of data retrieved.

Consume less bandwidth and require less processing.

Presort data.

Help eliminate post-retrieval work for GROUP BY and ORDER BY queries.

Enforce referential integrity.

Data Quality

Ideally, data should be clean, but in reality that is not always the case. Therefore, data cleaningprocesses should be in place to enforce data quality, which can impact screening conditions ifdata is inconsistent, duplicated, and simply inaccurate because of incorrect data entries. Baddata means bad analytics and bad business decisions so it is important for the data to be cleanedand prepared.

ETL Processes

Understand the ETL process that extracts, transforms, and loads the data into EDWs, DMs, andODSs. If there are Extract, Transform, Load (ETL) processes in effect that update the data stores,it is useful to understand the frequency of the updates, the time of the updates, and the lengthof time for the updates to complete. This will impact applications or batch type reports thatdepend on the availability of real-time data.

Data Performance

It is important to ensure that databases are fully optimized for best performance. Databases varyin terms of optimization and tuning parameters. Common database optimization options include:

Data Partitioning. Data can be physically split into horizontal or vertical partitions acrossseveral machines or on the same machine.

Parallelism. Database operations are conducted in parallel, not serially, improvingperformance.

Aggregate awareness. Use of aggregated and detailed data stored in aggregated tablesand/or indexes can speed up performance. To view detailed data, use drill-down capabilities.

44 Information Builders

Data Quality

Page 45: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Data Volume

The amount of data stored in a database can vary tremendously and can impact performancedepending on how it is stored. You need to account for the volume of data in the database andthe answer sets that need to be returned.

Data Movement and Data Latency

The physical location of the data directly impacts performance depending on the speed of thenetwork, network availability, and network distance. Understanding data movement and thefrequency of data movement is important. For example, if data is moved from an EDW to a datamart, how often does the data get updated and how will this affect reports? How are userexpectations set and managed?

Data movement may impact:

Report output

Dependent jobs

Report and application performance

Service Level Agreements

Batch processing

Users must be notified of the frequency of data updates so they expect differences in reportoutput when reports are executed at different times. For instance, if data is moved from an EDWto one or more data marts every hour, reports accessing the data marts will produce differentreport output at different times during the day.

A published schedule available on the Dashboard or on a SharePoint site are some of the waysto keep users aware of data updates and any changes that may be scheduled on the database.This information can also be accessed from a customized portal sign-in page, where a link canbe added to the ETL schedule and other information regarding data updates and changes.

Best Practices for the WebFOCUS 8 Deployment Roadmap 45

4. Understanding the Data

Page 46: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

46 Information Builders

Data Performance

Page 47: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Creating Standards for ApplicationDevelopment

5Chapter

Standardizing on application development has many benefits:

Applications can be developed faster, generating greater Return On Investment (ROI).

Ability to modularize and reuse code.

Consistent results across all output.

Applications are easier to troubleshoot.

Applications become easier to understand and modify.

Applications have fewer defects.

Developers can undergo standardized training allowing them to come up to speed quickly,seamlessly switching between projects for timely delivery.

A Center of Excellence or Competency Center can be created to establish standards forapplication development.

In this chapter:

Center of Excellence or Competency Center

Establishing Standards

Working With WebFOCUS Metadata

Setting the Application Path

Using Profiles to Manage the WebFOCUS Development Environment

Working With WebFOCUS Variables

Integrating DBA Security Into an Application

Working With Styling Resources and HTML Launch Pages

Branding Applications

Managing Application Performance

Impact Analysis

Source and Version Control

Best Practices for the WebFOCUS 8 Deployment Roadmap 47

Page 48: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Center of Excellence or Competency Center

The infrastructure deployed to support the lifecycle of an application is critical to its success andcan begin with the creation of a Center of Excellence or Competency Center, virtual or real,depending on available resources. An important function of the Competency Center is to definethe standards for application development and business requirements. A real Competency Centeris an actual department that has been created and is staffed by employees who are dedicatedto working in the Competency Center. In a virtual Competency Center, staff may be in differentdepartments, but they are tasked with Competency Center responsibilities that must be prioritized.

The framework to establish a Competency Center can be brought to maturity incrementally, whilestill serving the day to day needs of an organization. A Competency Center provides a centralizedlocation for developing and supporting the business requirements of an organization.

A Competency Center, if organized and staffed properly can help:

Define standards across departments and the organization.

Integrate the requirements and priorities of departments and the organization.

Enable skills and knowledge transfer.

Streamline, implement, and support cross-functional projects.

Reduce conflicts between departments and across the organization, as a whole.

Reduce redundancy and increase effectiveness.

Ensure that information and best practices are communicated and shared so all staff canbenefit.

Empower business users through coaching and training.

Functional areas of a WebFOCUS Competency Center include:

Competency Center Management

Collaborates with Information Builders to design and implement WebFOCUS architectureand solutions.

Responsible for setting standards and establishing best practices, processes, andprocedures in agreement with the business community.

Data Management

Responsible for aspects of the data that will be accessed by WebFOCUS applications. Thisincludes data definition, ownership and security, metadata management, and data standards.

48 Information Builders

Center of Excellence or Competency Center

Page 49: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Information Delivery

Works with the business community to promote standards, user training, and support.

Establishes effective channels of communication internally with the Competency Centerstaff and with the business community.

Role of Business and Information Technology

Application development standards should take into consideration the role of business and IT ofwhich there are several models. Companies employ varying delivery models, where theresponsibility for development varies between the Business and Information Technology (IT).Some models include:

Hybrid Delivery Model

Business responsible for development.

IT sets up data and supports infrastructure.

All Business Delivery Model

Business supports development and infrastructure.

Works with data base administrators (DBAs) for data set up.

All IT Delivery Model

Development all in IT.

Centralized and decentralized IT.

Non-IT, non-Business Delivery Model

IT sets up data and supports infrastructure.

Business provides requirements.

Independent group responsible for development.

Development Skill Set

The list below is based on the assumption that developers have basic application developmentskills. Depending on the complexity of the requirements, the development skill set may include:

General programming skills.

Understanding database models for report development.

Best Practices for the WebFOCUS 8 Deployment Roadmap 49

5. Creating Standards for Application Development

Page 50: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Toolset knowledge.

Knowledge of SQL syntax.

Portal development may require knowledge of JavaScript, AJAX techniques, HTML, CSS, XML,and other development languages.

Developer On-Boarding and Training

Developers will need a defined set of on-boarding procedures that are clearly documented tofacilitate rapid development, including but not limited to:

List of required WebFOCUS development tools.

Standard development workflows, frameworks, and third-party libraries.

Access to development and support forums such as Focal Point.

Access to the Technical Support Center.

Access to available education classes.

Specifications of environments and related software developers need to support, such asweb browsers.

In addition to the development infrastructure, the development teams should also decide on alist of internal development guidelines, so all developers can contribute code that can bemaintained easily.

Establishing Standards

It is beneficial to apply consistent naming standards for the Presentation and Reporting andMetadata Layers. Easily identifiable patterns adopted organizationally makes it easier to organizeand search for content. Naming standards are expected to differ between companies.

Naming Standards

Apply naming standards across all WebFOCUS environments to reduce configuration and applicationchanges when promoting code between WebFOCUS environments.

Domain Folders and Application Directories

The names given to a Domain folder and an Application Directory should have consistentpatterns that are meaningful and can be easily identified. Additionally, names given to Domainfolders and Application Directories should be indicative of the relationship between them.

50 Information Builders

Establishing Standards

Page 51: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

When there is a one-to-one mapping between Domain folders and Application Directories, youcan use the same name for both, which makes the mapping clearer. For example, the Domainfolder can be SALES and the Application Directory can be SALES.

Procedures

Procedures, which are often used to generate reports, charts, and visualizations, may be locatedon the Presentation Layer under the Content node or on the WebFOCUS Reporting Server in thelocation specified by the approot configuration parameter. It is beneficial to apply namingconventions to each procedure so they can be easily traced back to application or procedureusage. For example, all procedures under SALES begin with SA_.

BI Portals

It is beneficial to apply naming standards to both a portal and portal pages. Some customersapply security authorization to portal pages, limiting access to specific groups. Applying namesthat can be related to a business purpose or department is useful.

ReportCaster

ReportCaster schedules can be Managed Reporting based, WebFOCUS Server schedule based,or both. Naming standards can be applied to the name of the ReportCaster schedule so it iseasily distinguishable as to which type of procedure the ReportCaster schedule is based.

Data Adapter Connections

Keep logical data connection names uniform across WebFOCUS environments to allow seamlesscode migration across WebFOCUS environments. The properties of the database connection foreach WebFOCUS environment should point to environment specific data. Connection names arewritten to the Access File. When metadata is moved between WebFOCUS environments, theconnection names need to match or the request will fail. For example, in DEV, if a connectionname is called MyTest, the QA environment should also have a connection name of MyTest thatis pointing to QA data.

Reporting Server Nodes

Keep Reporting Server node names uniform across environments to allow seamless code migrationacross environments. The properties of the Reporting Server node can be assigned to Domainfolders or resources. When resources are moved between WebFOCUS environments using ChangeManagement, the Reporting Server node specified on Domain folders or resources must matchReporting Server nodes defined in the WebFOCUS Client communications configuration file,odin.cfg, in the target environment.

Best Practices for the WebFOCUS 8 Deployment Roadmap 51

5. Creating Standards for Application Development

Page 52: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Metadata

It is beneficial to apply naming conventions to metadata so they can be easily traced back toapplication or procedure usage. For example, all metadata referring to SALES begin with SA_.

Coding Standards

Creating code modules that are standardized is beneficial in that all developers can use thesame code across applications. For instance, a FOCEXEC can be created to contain all the datevariables that are used in the applications and used by all developers.

Avoid hard-coded references in application code (FOCEXECs), including:

Site-specific references in FOCEXECs.

Hard-coded paths.

Operating system commands. This is especially true when working with different OperatingSystem environments.

Hard-coded URLs.

Dates or date ranges.

Selections and exclusions. Values in WHERE or IF statements, unless desired.

Values in DEFINE or COMPUTE commands, unless desired.

Manual Coding Versus the GUI

Developers should always begin in the GUI and stay in the GUI, unless it becomes absolutelynecessary to continue coding manually. This may be the case if Dialogue Manager is needed forcertain types of logic.

There is no guarantee that a procedure will open in the GUI after manual changes to codehave been made.

With manual coding, there is no syntax validation when using styling combinations.

52 Information Builders

Establishing Standards

Page 53: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

In Release 8.1.x and higher, manually making changes to the HTML Canvas using a TextEditor is discouraged. The official position and recommendation for customers who wish touse custom HTML and embed or call WebFOCUS procedures is as follows:

The HTML Canvas is intended for the business developer who needs to create a launch page for WebFOCUS reports and charts. It shields the business user from the complexities of HTML, CSS, XML, and JavaScript. HTML Canvas files are not meant to be manually edited and doing such will most likely render them unable to run and we cannot support them. Developers who are familiar with HTML and JavaScript coding who want to write their own code, are encouraged to make use of the WebFOCUS Web Services Enablement Option along with the HTML Authoring tool of their choice. In App Studio, there is a right-click menu option called Edit in Windows Associated Tool when an HTM file in the Configured Environments tree is selected. The user can use Windows Explorer to associate the HTM extension to an HTML Authoring tool of their choice and then this option will cause that HTML Authoring tool to open with the HTM file.

See the WebFOCUS Web Services documentation for further information.

Standardizing and Reusing Objects

Reusing objects to keep applications and code standardized across the enterprise has severaladvantages and can be enforced at several levels:

Reporting Objects. Apply global filters and temporary fields for use with every report.

Variables. Add types of variables and dependencies. For example, ensure that all variables,system or custom, are available from all areas of the product. For example, the&FOCSECGROUP system variable was not available in ReportCaster with earlier releases ofWebFOCUS 8.0.x. Variables can be stored in common procedures and used across multipleapplications.

Portal Templates. Can expedite development and provide all applications with the samelook and feel. It can also help standardize and reduce the amount of training for all developers.

Styling Files. Standardized styling modules and style sheets can be created and applied inan application ensuring all report output and screen designs are standardized with similarfonts, font sizes, and so on.

Note: Working With WebFOCUS Metadata on page 54 covers reuse of metadata attributes,including the use of temporary fields used with DEFINE and COMPUTE.

Best Practices for the WebFOCUS 8 Deployment Roadmap 53

5. Creating Standards for Application Development

Page 54: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Working With WebFOCUS Metadata

Metadata is the mapping needed for users to access and manipulate data. For consistency,everything that can possibly be included in the metadata should be included, so all users get thesame view of the data. You want to avoid a situation where you may have two reports on thesame data, generating different values, because the calculation was done in different ways.

The metadata can contain a wealth of information. Items which should be included in the metadatafor WebFOCUS systems include:

File Remark. Adding the optional file remark attribute provides descriptive information aboutthe data source.

Data Location. If the data is stored in an external dataset, it should be indicated in themetadata, so all users access the same file. The data may also be stored in databases, inwhich case the location is indicated in the Access File (ACX).

Profile. If there are any dynamic attributes, they should be set in the MFD_PROFILE. This fileis executed at every invocation of the metadata. Some common values that can be set includedataset, security, titles, expressions, and so on.

File Commentary. Placing important information in comments at the beginning of the metadataallows administrators to understand the use of the files. Common information stored includes:

Use of the data (for example, where it is from, and how it is used).

Contact information (for example, who is responsible for the metadata and the data).

Inputs (for example, any parameters used for dynamic attributes).

Field Names. Field names may indicate what the data represents. However, since the samefield name may be used in multiple metadata, it is a good idea to add an indicator, as to themetadata source for the field. This may be a short prefix before each field (for example, fieldsin the SALES file all begin with SA_).

Format. For display purposes, using format options to indicate comma-editing, currencysymbols, decimal points, and decimal digits ensure everyone sees the data the same way.

Title. Adding titles to the metadata allows all output to use the same column heading for anyfield. The facility also exists to allow titles to be stored in multiple languages, so only a singlemetadata is required for multiple countries.

Field Description. Adding a description helps to explain the meaning of field names, especiallythough the GUI tools, where these descriptions can be displayed.

54 Information Builders

Working With WebFOCUS Metadata

Page 55: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Calculations (DEFINE/COMPUTE/FILTER). To ensure that all users use the samecalculations, store them in the metadata, so they are available to all and consistent acrossuse.

Metadata Location

Metadata is stored on the WebFOCUS Reporting Server in Application Directories. Somecustomers choose to keep the Master Files and Access Files in the same Application Directorywhile others choose to keep them in separate Application Directories. WebFOCUS by default,will search for both Master Files and Access Files in the same directory. If they reside inseparate Application Directories, then the following rule change must be issued in the globalserver profile or in the appropriate profile or procedure.

APP SET METALOCATION_SAME OFF

Note: The default value for METALOCATION_SAME is ON.

Segregate Master Files, Access Files, and FOCEXECs by WebFOCUS applications and storethem in separate Application Directories.

Paths specified in the Master File DATASET attribute must exist on all environments to reducethe need for manual changes.

Describing the Data With Schemas

There are several types of schemas that can be used to describe the data, starting with the baseschema.

Base Schema

Core metadata attributes, such as DEFINEs and COMPUTEs, should be defined in the baseschema.

Cluster Views and Business Views that are based on the base schema will respect theseattributes, eliminating the need to redefine them in the views.

Customizing Views for Business Requirements

Mask selected fields, hide interrelationships from the end user. The Business View providesthe flexibility to name fields in business terms that make sense to the business analyst.

Hide fields that are not relevant or restricted.

Fields can be described in the metadata that are for internal use and not exposed to any typeof user using ACCESS_PROPERTY=INTERNAL.

Respects attributes in the base schema, such as MFD_PROFILEs and DBA security rules.

Best Practices for the WebFOCUS 8 Deployment Roadmap 55

5. Creating Standards for Application Development

Page 56: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Relating Base Schemas With Cluster Views

Single metadata that encompasses multiple other metadata and their relationships.

Avoid redundancy in that lookups are used as opposed to storing the lookup values with everydimension.

The Cluster View is a pre-built view of the fact/dimension relationships.

Respects attributes in the base schema, such as MFD_PROFILEs and DBA security rules.

Defining Column Hierarchies With Dimension Views

Use this when there is a hierarchical relationship (rollup/drill down) between the fields of thedata (COUNTRY/STATE/CITY).

Setting the Application Path

Application directories can contain Master Files, Access Files, FOCEXECs, StyleSheets, HTMLfiles, and other types of files.

The following guidelines can be followed to set the Application Path (APP PATH).

Add Application Directories that are common to all users to the server profile, edasprof.prf.

Create Access Control Templates (ACL) to support domain-specific Application Directories.The rules defined by the ACL on the model Application Directory will be dynamically appliedat run time.

Set the APP PATH on the Server Properties of the Domain folder if there is not a consistentpattern between the Domain folders and Application Directories for which the ACL could notbe used.

Note: Application Directory baseapp is always implicitly included in the WebFOCUSapplication path so contents are available to all users. It is recommended, at the minimum,that you restrict Write access to the baseapp Application Directory using Access ControlRules or delete the baseapp directory.

Using One-Part and Two-Part File Names

When referencing files on the Reporting Server, it is best to use two-part file names to avoidfile conflicts with files of the same name, but residing in different Application Directories.

Be consistent with the use of one-part file names or two-part file names. If you have electedto use one-part file names, use them consistently throughout applications. This is anotherreason for using a prefix on a file name.

56 Information Builders

Setting the Application Path

Page 57: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

If you have elected to use two-part file names, use them consistently throughout applications.

In Release 8.1.x and higher, InfoAssist has two-part file names enabled, by default. This isconfigurable from the WebFOCUS Administration Console/Utilities/InfoAssist Properties.

Using Profiles to Manage the WebFOCUS Development Environment

The following guidelines for leveraging WebFOCUS profiles can be used to create developmentstandards.

In the Reporting Server global profile, edasprof.prf, specify:

Global SET commands that are available for all users and WebFOCUS applications.

Default values for WebFOCUS custom parameters.

Global system variables.

Global connections for Data Adapters.

User written subroutines to return values that are used by all user connections. For example,the CNCTUSR subroutine is commonly used to extract the connecting WebFOCUS user ID foruse in applications. Invoke the routine once, and set the result for all users as a globalvariable.

Working With WebFOCUS Variables

There are three main types of variables in WebFOCUS:

System. These are set and managed by WebFOCUS and available to all users at all times.

Global. These are set by the user or application and can be available to a user or all usersfor the duration of their session, depending on how they are made available, as explainedbelow.

Local. These are set by the user or application and available locally to the procedure fromwhich it is set.

The following guidelines can be used to leverage WebFOCUS variables:

Centralize global variables used by all metadata and users in the Reporting Server globalprofile, edasprof.prf.

Centralize global variables that are metadata specific in the Master File profile.

Best Practices for the WebFOCUS 8 Deployment Roadmap 57

5. Creating Standards for Application Development

Page 58: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Variables can be passed between procedures, as follows.

Global variables are available to all procedures.

Local variables can be passed between procedures, using:

EX {procedure} syntax, where you can control which local variables can be passed tothe procedure.

-INCLUDE {procedure} syntax, where all local variables are passed to the procedure.

Integrating DBA Security Into an Application

You can use DBA security features to provide security for any data source. A DBA security ruleis comprised of the following attributes, the values of which can be static or variable.

The names or passwords of WebFOCUS users granted access to a data source.

The type of access the user is granted.

The segments, fields, or ranges of data values to which the user access is restricted.

In the DBA security rule:

USER=LARRY, ACCESS=U, RESTRICT=FIELD, NAME=SALARY ,$

Name: USER=LARRY

Type of Access: ACCESS=U

The segments, fields, or ranges of data values to which the user access is restricted:

RESTRICT=FIELD, NAME=SALARY ,$

There are two options for leveraging the DBA attribute.

Static Security

In this option, the attribute values and the security rules are unchanging.

For example:

USER=LARRY, ACCESS=U, RESTRICT=FIELD, NAME=SALARY ,$

Considerations:

Additional administration and maintenance is incurred to keep the hard-coded values current.

Changes to metadata have to be planned to avoid disrupting the user community.

58 Information Builders

Integrating DBA Security Into an Application

Page 59: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Dynamic Security

In this option, the security rule itself is unchanging, but the attribute values are parameter drivenusing the MFD_PROFILE feature or leveraging system variables. The variables are populated inreal-time and are dynamically applied so it is not possible to inject or override values at run time.

For example:

USER=&FOCSECUSER, ACCESS=U, RESTRICT=FIELD, NAME=SALARY ,$USER=&FOCSECGROUP, ACCESS=U, RESTRICT=FIELD, NAME=SALARY ,$

Considerations:

Reduced administration and maintenance to metadata. For example, if a user leaves thecompany or moves to a different department, there is no need to make changes to themetadata.

Changes to metadata have to be planned to avoid disrupting the user community.

Working With Styling Resources and HTML Launch Pages

WebFOCUS configuration parameters which control the location of styling resources and HTMLlaunch pages should follow the guideline below:

The directories specified in WebFOCUS Administration Console/Configuration/ApplicationDirectories/IBI_Approot_Directory and the application server web deployment descriptor,approot.xml, should be the same. This value should never be the same as that of the ReportingServer approot configuration parameter.

HTML launch pages and styling resources such as StyleSheets, cascading style sheets, images,JavaScripts, and similar resources, are processed by both the Presentation Layer (front-end) andthe Reporting and Metadata Layer (Reporting Server).

Presentation Layer

For Managed Reporting based applications:

Create HTML launch pages in the WebFOCUS repository.

Store styling resources in the WebFOCUS repository. You can use the Hidden Content folder,which is quite useful for referencing resources that are required by applications, but remainhidden.

For non-Managed Reporting legacy self-service applications, styling resources are referenceddifferently at design time and run time.

Best Practices for the WebFOCUS 8 Deployment Roadmap 59

5. Creating Standards for Application Development

Page 60: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Design (development) time

Create HTML launch pages in Application Directories on the WebFOCUS Reporting Server.This is the only option.

Store styling resources in the location specified by the WebFOCUS configuration parameter,WebFOCUS Administration Console/Configuration/ApplicationDirectories/IBI_Approot_Directory. Styling resources are exposed in the WebFOCUSdevelopment tools under the Web node.

Run time

Copy HTML launch pages from the Application Directories to the location specified by theconfiguration parameter IBI_Approot_Directory and in the web deployment descriptor,approot.xml.

Reporting and Metadata Layer

Styling resources that are embedded in output generated by the Reporting Server should residein Application Directories. Examples include:

PDF output.

HTML pages created when the setting SET HTMLEMBEDIMG=ON is in effect.

Branding Applications

Standardize on cascading style sheets and WebFOCUS StyleSheets to control the look and feelof BI portals, InfoApps, and web development tools.

We will expand this section in future revisions of this document.

Managing Application Performance

Application User Interface must be designed around providing optimal performance.

Reports must be coded efficiently to meet expected response times.

Ensure that data attributes such as primary keys, indexes, and foreign keys are specifiedcorrectly in the WebFOCUS metadata and match those in the data structures.

Data retrieval performance must be efficient and optimal and is dependent on:

Data structures. An inefficiently defined data structure will result in bad performanceand will affect both WebFOCUS and SQL Passthru requests.

Database optimization. The database must be tuned optimally to manage the workload.

60 Information Builders

Branding Applications

Page 61: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Query optimization. Queries must be tuned for fast retrieval.

Data volume. Consideration must be given to the amount of data being accessed andthe resulting answer set.

Managing Large Data Volumes

Some options for managing large volumes of data in applications include:

HOLD files

HOLD files can improve response times and reduce connections to the back-end databases.A HOLD file is a data extract on which you can build calculations, defined fields, joined tables,and other functions. HOLD files can be used by multiple applications.

Drop-down list boxes

Drop-down list boxes can contain only the values needed in the list box or drop down. Forinstance, if there are more than 50 values listed, you may want to consider one or moresubcategory list boxes. Too many values listed in the list box may add to the time it takes toload the HTML launch page. Fewer values allow users to easily find the values they need.

Dynamic versus static data for launch pages

Static data allows for faster loading of HTML launch pages because the data is loaded froma data extract that was previously created, possibly using ReportCaster or an ETL job.Depending on the frequency of data updates, the data extracts may have to be refreshed ona regularly scheduled basis.

Dynamic data may be a better choice if using highly efficient data retrieval against an optimizeddata mart, materialized query table (MQT), DBMS view, or cubes (dimensional data).

Aggregated data versus detailed data

Summary reports can be built against aggregated data and also provide users with drill-downcapabilities to detailed data. Data extracts for detailed data can be created using ReportCasterjobs scheduled during off peak hours.

Row and Column Selection

Limit the number of rows that the DBMS returns to WebFOCUS. The less data that theWebFOCUS query requests, the faster the report runs.

Specify a selection criteria with the WHERE clause that limits the number of rows that theDBMS returns to WebFOCUS.

Best Practices for the WebFOCUS 8 Deployment Roadmap 61

5. Creating Standards for Application Development

Page 62: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Specify READLIMIT in the request to retrieve only the first (n) rows of a table. Depending onthe DBMS, READLIMIT is translated to the appropriate SQL syntax. The syntax is passed tothe DBMS to limit the number of rows being transmitted across the network, significantlyimproving performance against larger tables.

Select only the DBMS columns that are required for the report since unnecessary columnswill slow down the data retrieval.

Reporting Portals

Minimize the number of requests per page.

Reports and Graphs

Controls

Drop downs

Use conditional chaining with drop downs, where applicable.

Database design is consistent with report requirements.

Database optimized for quick retrieval.

Excessive use of common code (-INCLUDE) can create issues under load.

Minimize the number of controls that are linked to a procedure (<15 dynamic controls) forhigh performance dashboards.

Utilize "conditional" chaining when it can be applied to improve dynamic chained drop-downcontrols. This will help initial load time as users navigate within the hierarchy.

Limit each Dashboard to approximately seven reports and charts.

Use cached/staged data, where possible.

Conduct extensive code review by an experienced architect early in the development process.This will eliminate code inefficiencies.

Reduce the number of separate data requests within each report procedure.

Reduce the use of common Managed Reporting procedures (-INCLUDE).

Limit the use of -INCLUDE procedures within each report (<=5 -INCLUDEs) for high performancereports.

62 Information Builders

Managing Application Performance

Page 63: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Verifying Queries Are Optimized

To verify if WebFOCUS 4GL queries are generating optimized SQL syntax, there are several optionsthat will allow developers to view the SQL syntax being generated.

Enable traces in the report request. Traces must be disabled when they are no longer neededso performance is not impacted.

SET XRETRIEVAL = OFF - Specifies that no retrieval is to be performed.SET TRACEOFF = ALL - Deactivates all traces for all components.SET TRACEON = SQLAGGR//CLIENT - Provides optimization information (formerly FSTRACE3). The CLIENT destination displays the trace output on the screen of an online session.SET TRACEON = STMTRACE//CLIENT - Displays generated SQL statements (formerly FSTRACE4). The CLIENT destination displays the trace output on the screen of an online session.SET TRACEUSER = ON - Turns dynamic traces on for a user and sends the trace to a named file.SET TRACESTAMP = OFF - Omits the timestamp from the trace output.

Enable SQL tracing in App Studio.

Capture generated SQL from the Web Console Session Log window.

Run requests with the Run with SQL trace option from the BI Portal tree.

Impact Analysis

The WebFOCUS Impact Analysis tool in Developer Studio provides the ability to gauge the impacton an application as metadata is refreshed. Metadata can be refreshed for a number of reasonsincluding changes to the data sources, such as:

Changes in column formats.

Deletion or addition of columns.

Changes in column names.

To generate a report of impacted files, the Impact Analysis tool can be launched from any of thefollowing application deployment models:

Local Projects

Managed Reporting

Data Servers

Note that the Impact Analysis tool does not search HTML launch pages.

Best Practices for the WebFOCUS 8 Deployment Roadmap 63

5. Creating Standards for Application Development

Page 64: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

As a best practice:

Establish a process to schedule changes to the data sources so applications are not impacted.

Synchronize changes with WebFOCUS Administrators and/or Developers so they are notifiedin advance, allowing them to schedule a refresh of the metadata when it has minimal impactto the application usage.

Create and analyze the Impact Analysis reports and update impacted files appropriately.

Search the HTML launch pages to gauge impact.

Source and Version Control

This will be addressed in a future release of this document.

64 Information Builders

Source and Version Control

Page 65: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Planning for Disaster Recovery6Chapter

A Disaster Recovery Plan (DRP) covers Information Technology (IT) related issues. It shouldhave documented measures for restoring WebFOCUS 8 applications, following a catastrophicevent.

In this chapter:

Disaster Recovery

Disaster Recovery

A DRP should plan for infrastructure failures including, but not limited to:

Automatic resumption of applications

Data

Hardware

Networking

WebFOCUS Considerations

WebFOCUS configuration files store host names and TCP/IP ports. These would have to bemapped to an IP failover address so the WebFOCUS applications resume automatically oncethe Disaster Recovery (DR) system is online.

Third-party software used by WebFOCUS must have an automatic failover strategy in the DRP.These include:

External storage

Database servers

Load balancers and proxy servers

Web servers and web server farms

Java Application Servers

Search engines

Best Practices for the WebFOCUS 8 Deployment Roadmap 65

Page 66: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The following are WebFOCUS considerations when planning Disaster Recovery measures.

WebFOCUS configurations contain machine host names, UDP, and TCP/IP ports. In the caseof a catastrophic event, those host names must be known to facilitate IP reassignment forthose hosts. WebFOCUS depends on a number of third-party software to run, so it is importantto start those in the proper order. The software required is mapped to what customers areusing. The following is all known third-party software, listed in the start-up priority order.

Database back-end systems used by the Reporting Server Data Adapters and WebFOCUSRepositories.

Reporting Servers

Java Application Servers

ReportCaster Distribution Server

Web servers

Load Balancer

The Recovery Time Objective (RTO) for getting all applications back online in the event of acatastrophic event is clearly defined.

The Recovery Point Objective (RPO), the frequency for taking snapshots of the system, is alsoclearly defined.

WebFOCUS applications are backed up daily.

Conduct a complete Disaster Recovery infrastructure drill yearly.

Conduct a complete application drill twice a year and include in the yearly Disaster Recoveryinfrastructure drill.

66 Information Builders

Disaster Recovery

Page 67: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Designing the WebFOCUS 8 Architecture7Chapter

This chapter outlines best practices for designing a WebFOCUS 8 architecture to supporta WebFOCUS solution.

A summary of best practices in this chapter include:

Use a multi-tier architecture model.

Use a multi-tier clustered architecture model if High Availability and Failover arerequirements.

For multi-tiered clustered architecture models, use:

Shared file system for common application and configuration files. The shared filesystem should support high availability to avoid a single point of failure.

Shared WebFOCUS database repository that was created with the case-sensitivecollation. The shared WebFOCUS database repository should support high availabilityto avoid a single point of failure.

Maintain separate WebFOCUS environments (Dev, QA/Test, Production).

Install WebFOCUS separately on each machine.

Ensure that there is sufficient bandwidth between the machines and server componentsin the architecture through performance benchmarks.

In this chapter:

Review the WebFOCUS Solution

WebFOCUS Multi-Layered Design

WebFOCUS Architecture Models

Considerations for Clustered Architecture Models

WebFOCUS Environments

Best Practices for the WebFOCUS 8 Deployment Roadmap 67

Page 68: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Review the WebFOCUS Solution

Start the design process with a review of the WebFOCUS solution. Because WebFOCUS solutionsvary between customers, it is not possible to document every possible solution. Therefore, sothat all readers can benefit, we analyze generally how data, server components, and software fitinto the various WebFOCUS architecture models.

WebFOCUS Multi-Layered Design

WebFOCUS is based on a web-deployable architecture that is scalable and robust. Its core designis founded on several key components, which we classify as layers, as shown in the followingimage.

Presentation Layer. This layer is comprised of the WebFOCUS Client and the ReportCasterDistribution Server (Primary and Failover). This layer directly interacts with the end user throughdashboards, portals, and other user interfaces. It includes the ad hoc development toolInfoAssist, as well as the data discovery tool InfoDiscovery, to develop business queries andanalyze data. It presents results in multiple formats, such as HTML, PDF, Excel, and activereports. It distributes report output through multiple channels, including email and FTP. ThePresentation Layer can be clustered to provide high availability, failover, and load managementthrough the use of load balancers.

68 Information Builders

Review the WebFOCUS Solution

Page 69: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Reporting and Metadata Layer. This layer is comprised of the WebFOCUS Reporting Serverthat supports secured access to the application metadata and data. It manages metadataand processes requests, formatting and styling data retrieved from various data sourcesbefore sending it to the Presentation Layer for presentation to the business user. It may alsomanage various security aspects, such as authentication and authorization. It generates SQLand validates it by leveraging dialect translation features. It also monitors application usageusing defined business rules. The Reporting and Metadata Layer can be clustered to providehigh availability, failover, and load management through the WebFOCUS Workload DistributionFacility (CLM).

Data Layer. This layer supports all requests from the Reporting and Metadata Layer for data.It manages enterprise data through Extract, Transform, Load (ETL) processes that move,store, and change the raw data from Operational Data Stores (ODSs) to Enterprise DataWarehouses (EDWs) and Data Marts.

WebFOCUS Architecture Models

The WebFOCUS layers can be leveraged to create several architecture models, as explained inthe following sections. In all architecture models, to minimize network traffic and reduce networklatency it is recommended that:

Data sources be located as close as possible to the WebFOCUS Reporting Servers.

WebFOCUS database repositories be located as close as possible to the WebFOCUS Client.

Best Practices for the WebFOCUS 8 Deployment Roadmap 69

7. Designing the WebFOCUS 8 Architecture

Page 70: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Single-Tier Architecture Model

In a single-tier architecture model, the Presentation and Reporting and Metadata Layers arehosted on a single machine, as shown in the following image. The Data Layer should be onmachines separate from the other layers.

The single-tier architecture model:

Does not support high availability, failover, or load management at the Presentation andReporting and Metadata Layers.

Restricts users from accessing the WebFOCUS application if either the Presentation orReporting and Metadata Layers are taken down for maintenance or for other reasons.

Note: Sufficient system resources are required to handle the projected workload and meetService Level Agreements (SLAs), if they are in effect.

It is understood that sometimes there are constraints around procuring hardware that makes itdifficult to keep the layers separate. It is for that reason that we have covered the single-tierarchitecture model as an option, although it is not a best practice.

70 Information Builders

WebFOCUS Architecture Models

Page 71: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Single-Tier Clustered Architecture Model

In a single-tier clustered architecture model, Presentation and Reporting and Metadata Layersare hosted on the same machine, but replicated on additional machines using a clustermechanism, as shown in the following image. Clustered components are referred to as clustermembers. To a user, it appears that there is a single Presentation Layer. The Data Layer shouldbe on machines separate from the other layers.

The single-tier clustered architecture model supports high availability and failover at thePresentation and Reporting and Metadata Layers. Users will still be able to access the WebFOCUSapplications if cluster members of the different layers are taken down for maintenance or otherreasons.

Note:

To support high availability, the WebFOCUS Repository, the databases, and the shared filesystems must also support high availability.

Sufficient system resources are required to handle the projected workload and meet ServiceLevel Agreements (SLAs), if they are in effect.

Best Practices for the WebFOCUS 8 Deployment Roadmap 71

7. Designing the WebFOCUS 8 Architecture

Page 72: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Multi-Tier Architecture Model

In a multi-tier architecture model, Presentation and Reporting and Metadata Layers are installedon separate machines, as shown in the following image. The Data Layer should be on machinesseparate from the other layers.

The multi-tier architecture model:

Keeps the Reporting and Metadata Layer separate from the Presentation Layer, making iteasier to isolate either layer.

Allows for clear separation of responsibilities for the different layers.

Conforms to security regulatory policies by keeping each layer separate.

Supports high availability and failover at the Presentation and Reporting and Metadata Layers.Users will still be able to access the WebFOCUS applications if cluster members of the differentlayers are taken down for maintenance or other reasons.

Note: Sufficient system resources are required to handle the projected workload and meetService Level Agreements (SLAs), if they are in effect.

72 Information Builders

WebFOCUS Architecture Models

Page 73: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Multi-Tier Clustered Architecture Model

In a multi-tier clustered architecture model, Presentation and Reporting and Metadata Layers areinstalled on separate machines, but replicated across additional machines using a clustermechanism, as shown in the following image. Clustered components are referred to as clustermembers. To a user, it appears that there is a single Presentation Layer. The Data Layer shouldbe on machines separate from the other layers.

The multi-tier clustered architecture model:

Keeps the Reporting and Metadata Layer separate from the Presentation Layer, making iteasier to isolate either layer.

Allows for clear separation of responsibilities for the different layers.

Conforms to security regulatory policies by keeping each layer separate.

Supports high availability and failover at the Presentation and Reporting and Metadata Layers.Users will still be able to access the WebFOCUS applications if cluster members of the differentlayers are taken down for maintenance or other reasons.

Best Practices for the WebFOCUS 8 Deployment Roadmap 73

7. Designing the WebFOCUS 8 Architecture

Page 74: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Note:

To support high availability, the WebFOCUS Repository, the databases, and the shared filesystems must also support high availability.

Sufficient system resources are required to handle the projected workload and meet ServiceLevel Agreements (SLAs), if they are in effect.

Considerations for Clustered Architecture Models

Outlined below are considerations for single-tier or multi-tier clustered architecture models.

We begin with two options for installing WebFOCUS for use with a clustered architecture model:

Separate WebFOCUS installation. Install WebFOCUS separately on each cluster memberand share certain files.

Shared WebFOCUS installation. Install WebFOCUS once and directly onto the shared filesystem.

Separate WebFOCUS Installation

This is the recommended installation option and encompasses the following guidelines.

WebFOCUS Client

Install the WebFOCUS Client separately on each cluster member.

ReportCaster

There are several options for installing the ReportCaster Distribution Server.

Install the Primary and Failover ReportCaster Distribution Servers on each of the WebFOCUSClient machines. There can only be one ReportCaster Primary and one ReportCaster Failover.If there are more than two WebFOCUS Clients in the cluster, then install ReportCaster on allinstances of the WebFOCUS Client, but disable ReportCaster on all but two instances of theWebFOCUS Client. This is the recommended option.

Install the Primary and Failover ReportCaster Distribution Servers on separate WebFOCUSClient machines. Additional maintenance and administration of WebFOCUS configuration fileswill be required.

74 Information Builders

Considerations for Clustered Architecture Models

Page 75: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

In WebFOCUS 7.x releases, the recommendation used to be that the ReportCaster DistributionServer be installed on the Reporting Server machine. However, the new WebFOCUS 8 designis more suited to having the ReportCaster Distribution Server installed with the WebFOCUSClient. There may be rare cases that warrant the ReportCaster Distribution Server beinginstalled on the same machine as the WebFOCUS Reporting Server, but that need wouldrequire further discussion.

WebFOCUS Reporting Server

Install the WebFOCUS Reporting Server separately on each cluster member.

The WebFOCUS Reporting Server should not be installed on the same machine as theback-end database servers in order to avoid resource contention problems.

The WebFOCUS Reporting Server should not be installed on the same machine as theWebFOCUS Client, unless working with a single-tier clustered architecture model.

Stand-Alone WebFOCUS Hyperstage

Install WebFOCUS Hyperstage on a separate machine from other WebFOCUS software. TheWebFOCUS Reporting Servers in the cluster would each have to be configured to communicateto the stand-alone WebFOCUS Hyperstage Server.

WebFOCUS Workload Distribution Facility (CLM)

Install each cluster member of the WebFOCUS Workload Distribution Facility (CLM) on its ownmachine. If there are company constraints that do not allow for a separate installation, thenCLM can also be installed on the same machine as the WebFOCUS Client. For example, somecustomers prohibit non-J2EE applications on the same machines that are officially designatedfor hosting J2EE applications.

CLM should not be installed on the same machine as the WebFOCUS Reporting Server, sinceits main function is to poll those servers to check their status.

CLM should not be embedded with WebFOCUS Reporting Servers.

Considerations of a Separate Installation

Presentation and Reporting and Metadata Layers must be installed multiple times on eachcluster member.

Best Practices for the WebFOCUS 8 Deployment Roadmap 75

7. Designing the WebFOCUS 8 Architecture

Page 76: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

It is highly recommended that the same WebFOCUS Client installation directory and ports foreach cluster member machine be identical to allow for the installation of EAR or WAR modulesto a cluster deployment manager and not to the individual cluster members. For example,with WebSphere, the EAR or WAR modules are installed using the WebSphere ApplicationServer Network Deployment. The Network Deployment will then upload the files to each ofthe cluster member machines. So, the directory structure cannot be different on each machine,or the WebFOCUS Client will not work.

Service Packs and Hotfixes will have to be applied on each cluster member machine. Theadvantages outweigh the manual application of Service Packs and Hotfixes, as previouslyexplained.

Shared WebFOCUS Installation

Similar to the separate installation option, there are advantages and disadvantages to a sharedinstallation.

Advantages

Single copy of the WebFOCUS Client product system files is installed and maintained.

WebFOCUS Client files are immediately accessible by all cluster members.

Avoid the possible pitfalls of changing files manually on each cluster member machine.

Perform the WebFOCUS Client Service Pack, Hotfixes, and upgrade installation once.

Configuration file changes are applied once.

Eliminate the need to manually synchronize files or employ additional synchronization software.

Disadvantages

Network latency may impact application performance since the application has to access filesover the network. Sometimes hardware resources span many sites across multiple datacenters that are physically located in different states or countries.

Lack of redundancy or fault-tolerance measures in place can make the shared file system asingle point of failure. For example, on UNIX, one can share file systems across machinesusing Network File Systems (NFS). First, the NFS file system will need to be mounted acrossmachines in Read/Write mode. Second, if for any reason that NFS system becomesunavailable, the applications will become unavailable. Unlike the separate WebFOCUSinstallation option, where moving a small subset of shared files to the local file system canbe done to mitigate a shared file system failure, it is quite difficult to move an entire WebFOCUSinstallation to another file system. It will require a reinstallation.

76 Information Builders

Considerations for Clustered Architecture Models

Page 77: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The shared file system has to be robust enough to handle the volume of activity.

Windows Program Folders and NT Registry entries. On Windows, Program Folders are createdonly on the machine from which the installation was done. On the other cluster members,there is no way to determine that WebFOCUS was installed, since neither NT Registry entriesor Program Folders are created.

Managing Logs

On all platforms, installation logs are created only on the machine from which theinstallation was done. There will not be an installation log to indicate that software wasinstalled on any other machine.

Application logs will be created by each cluster member in a single directory, making itdifficult to detect the origin of the WebFOCUS Client generating the logs. This adds anunnecessary level of difficulty to troubleshooting issues. It is better to keep the log filesseparately on each cluster member.

The WebFOCUS Client generates temporary files for certain types of requests per usersession. All temporary files will be created by each cluster member in a single directory,making it difficult to detect the origin of the WebFOCUS Client generating the temporaryfiles. Furthermore, in a clustered architecture model, session affinity is enabled on theload balancer so a user request will always be processed by the same Java ApplicationServer instance.

Shared Files

In a clustered architecture model, members must have the same view of configuration andapplication content at all times.

The most common way to do this is to place the files on a shared device. The other way is tokeep the files on the local file system of each cluster member, but synchronize them throughsome external process.

Let us take a look at:

Files that can be shared between cluster members.

Sharing mechanisms for shared files.

Keeping shared files on a shared device.

Keeping separate copies of files on the local file system.

Best Practices for the WebFOCUS 8 Deployment Roadmap 77

7. Designing the WebFOCUS 8 Architecture

Page 78: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Files that can be shared between cluster members

Files that can be shared between cluster members are of the following two types:

WebFOCUS application content files

WebFOCUS configuration files

Reporting Server/Application Content

approot

Specifies the location of application directories.

The default value (ibi/apps) can be changed from the WebConsole/Workspace/Configuration Files/edaserve.cfg to a shared file system.

edaprfu

Specifies the location of private user content.

The default value (ibi/homeapps) can be changed from the WebConsole/Workspace/Configuration Files/edaserve.cfg to a shared file system.

Reporting Server/Configuration

edaprfu

Specifies the location of user and group profiles and Access Control rules.

The default value (ibi/profiles) can be changed from the WebConsole/Workspace/Configuration Files/edaserve.cfg to a shared file system.

Run edastart -reload to apply changes to admin.cfg to all Reporting Servers in the cluster.

Hard-coded to look in EDACONF/etc (EDACONF/etc/edasprof.prf), where EDACONF is theWebFOCUS Reporting Server configuration directory.

Global profile for the Reporting Server. It is executed for every user.

It is not advisable to share the etc directory, only the edasprof.prf using a symbolic link.

On a cautionary note, new adapter configurations (not new connections) would need amanual change to edaserve.cfg. If the new adapter is being added to a cluster member,then a manual change would need to be made to the remaining cluster members, requiringa recycle.

78 Information Builders

Considerations for Clustered Architecture Models

Page 79: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

WebFOCUS Client/Application Content

IBI_Approot_Directory

Specifies the location of images and static files used by the WebFOCUS Client, web tier,and App Studio.

The default value (ibi/apps) can be changed from WebFOCUS AdministrationConsole/Configuration/Application Directories.

Note: The IBI_Approot_Directory parameter is different from the approot parameter on theReporting Server.

As a best practice and for security reasons, the value of the IBI_Approot_Directory andthe approot parameters must be different.

IBI_Export_Directory (../cm/export)

Change Management (CM) export packages are created in this location.

The default value (../cm/export) can be changed from WebFOCUS AdministrationConsole/Configuration/Application Directories.

IBI_Import_Directory

Change Management (CM) import packages are read from this location.

The default value (../cm/import) can be changed from WebFOCUS AdministrationConsole/Configuration/Application Directories.

IBI_Resource_Templates_Directory

Specifies directory where Domain Templates are stored.

The default value (../config/resource_templates) can be changed from WebFOCUSAdministration Console/Configuration/Application Directories.

ReportCaster Configuration

dserver.xml

Specifies ReportCaster configuration information.

Stored in the WebFOCUS Client repository so it is shared automatically between all clustermembers.

Best Practices for the WebFOCUS 8 Deployment Roadmap 79

7. Designing the WebFOCUS 8 Architecture

Page 80: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Sharing Mechanisms for Shared Files

There are two mechanisms for providing cluster members with the same view of applicationcontent and configuration files.

Keeping Files on a High Availability Shared File System

The most common mechanism for sharing WebFOCUS files is with the use of a high availabilityfile system that can be accessed by all cluster members for reading and writing.

Keeping Files on a Local File System

When maintaining WebFOCUS files on the local file system of each WebFOCUS installation,files need to be synchronized so all cluster members have the same view.

WebFOCUS 8 Repositories

WebFOCUS 8 requires two database repositories:

For storing user content, security authorization information, and scheduling and distributioninformation created by the Presentation Layer, which is comprised of the WebFOCUS Clientand ReportCaster.

For storing collected statistics generated by Resource Analyzer monitoring.

WebFOCUS 8 Client

The WebFOCUS 8 Repository is required to have a case-sensitive collation sequence.

In a clustered architecture model, the WebFOCUS 8 Repository must be shared between allcluster members to allow users the same view. Each cluster member must be configuredidentically to communicate to the same repository.

To support high availability, the WebFOCUS Repository must also support high availability.

Resource Analyzer

In a clustered architecture model, this repository must be shared between all WebFOCUSReporting Server members for centralized storage of collected statistics. If the repository isnot shared, then it becomes an administrative task to merge the data from each ResourceAnalyzer database repository. Each Reporting Server cluster member must be configuredidentically to communicate to the same Resource Analyzer database repository.

To support high availability, the Resource Analyzer Repository must also support highavailability.

80 Information Builders

Considerations for Clustered Architecture Models

Page 81: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Note: Some customers will need to keep both WebFOCUS 8 Repositories in a commondatabase schema to conform to company policy. This does not create any conflict betweenthe two repositories because they are logically separated and have different table names.

WebFOCUS Environments

The minimum number of WebFOCUS environments set up to manage an application should bethree (Development, Test, and Production). However, the architecture can include a full set ofenvironments, as follows:

Sandbox

Typically used to test Service Packs or Hotfixes, it is also used for testing new features andconfiguration changes.

Development

The development environment is used strictly by developers using the standard WebFOCUSdevelopment tools.

QA/Test

QA/Test is used to test new reports and applications from development. In the developmentcycle, if there are failures in QA/Test, changes or new applications will be rejected and returnedto development to be corrected. This cycle is repeated until the corrections are made andaccepted by QA/Test. After that, it moves to Production.

Production

This environment is considered pristine and should never undergo any changes without thenecessary change management and change approval process. The only dynamic aspect of aproduction environment should be for ad hoc development using InfoAssist and for users whoare allowed to create My Reports.

Others

Companies have unique policies so it is possible that other environments, such as BusinessContinuity Plan (BCP)/Disaster Recovery (DR) and Preproduction, may be set up.

Best Practices for the WebFOCUS 8 Deployment Roadmap 81

7. Designing the WebFOCUS 8 Architecture

Page 82: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Separation of WebFOCUS Environments

Separate WebFOCUS environments are recommended, since they serve different purposes andare invaluable in minimizing downtime and disruptions to production systems.

Ideally, all WebFOCUS environments should be configured identically, especially QA/Test andProduction. Sometimes, and mostly due to limited resources, customers consolidate environmentsor scale back on the number of machines for a specific environment, such as Development.

The following are benefits of separate WebFOCUS environments, which are also integrated intothe image shown below:

Can be integrated with Change Management systems to ensure and preserve the integrity ofWebFOCUS applications as they get promoted from DEV to QA to PROD.

Expedites the implementation of upgrades, and development of enhanced features andapplications.

Protects production applications with early detection of potential problems in preproductionenvironments.

Provides a controlled environment for regression testing applications in new WebFOCUSreleases, Service Packs, or Hotfixes.

Developers have the flexibility of a dedicated and controlled environment to test and updatenew and existing content at any time.

Testing teams have a production mirrored WebFOCUS environment to test new and updatedcontent promoted from the development environment.

82 Information Builders

WebFOCUS Environments

Page 83: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The following image illustrates the benefits of using separate WebFOCUS environments for testingWebFOCUS Hotfixes, Service Packs, and new releases.

Best Practices for the WebFOCUS 8 Deployment Roadmap 83

7. Designing the WebFOCUS 8 Architecture

Page 84: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

84 Information Builders

WebFOCUS Environments

Page 85: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Implementing High Availability, Failover,and Load Management

8Chapter

This chapter outlines best practices for creating systems that are robust and reliable tomeet Service Level Agreements.

A summary of best practices in this chapter include:

Consider implementing both hardware and WebFOCUS application high availability andfailover measures for minimal downtime. Enable session affinity on the load balancer,if it is being used.

Leverage WebFOCUS Reporting Server Data Services to identify the source of the requestand also to manage throughput.

Use a cluster of JSCOMs for Java Services.

Use CLM for both WebFOCUS Client and ReportCaster to provide high availability, failover,and load management.

Use a cluster of CLMs to provide high availability and failover. If one CLM becomesunavailable, the remaining CLMs will continue processing requests.

Use the Smart CLM dispatch algorithm for all Remote Servers, unless there is a needfor individual Remote Servers to use a different dispatch algorithm.

Configure ReportCaster to use all available Client, Cluster, and CLM processing nodesdefined on the WebFOCUS Client.

Configure the Primary ReportCaster Distribution Server completely, then validate on theFailover ReportCaster Distribution Server to ensure that the configuration is in effect.

Increase capacity of remaining cluster members or add additional cluster memberswhen system is operating at reduced capacity due to unavailability of one or more clustermembers.

In this chapter:

Defining High Availability

Implementing High Availability, Failover, and Load Management

Best Practices for the WebFOCUS 8 Deployment Roadmap 85

Page 86: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Defining High Availability

High Availability, in a general sense, means that systems should be available when needed.

Customers must define high availability for their systems, which can be 24/7 or for a specifiedperiod. This leads us to the topic of a maintenance window and unplanned downtime.

Maintenance Window and Unplanned Downtime

Any system can undergo disruptions that are within a maintenance window or unplanned. In allcases, procedures and control measures must be put in place to prevent, detect, and addressthese situations.

Maintenance Window Downtime

A maintenance window is a critical consideration when dealing with high availability systems. Forinstance, when applying Service Packs or Hotfixes, you will need a plan that minimizes disruptionsto the end user. In this example, measuring the length of planned downtime has to take intoaccount:

Advance user notification

Service Level Agreements

Testing of Service Packs or Hotfixes

Rollback plans if testing fails

Unplanned Downtime

Unplanned events can occur at any time. You can have a hardware failure or a power outage.Regardless of how high availability is defined, the deployment plan must have built-in controlmeasures for preventing, detecting, and addressing unplanned events.

For systems that have high availability defined as 24/7 or for a specified period, there may besome flexibility with the system being unavailable. However, for mission-critical systems, controlmeasures take on an even greater significance. A Disaster Recovery Plan (DRP) must be in place.This is covered in Planning for Disaster Recovery on page 65.

Implementing High Availability, Failover, and Load Management

High availability, failover, and load management can be implemented at several components:

Hardware

Third-party software

WebFOCUS

86 Information Builders

Defining High Availability

Page 87: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

There are two main types of schemes to support high availability, failover, and load managementschemes:

Active-Passive. The workload is routed to an active node, while the other passive node waitsfor a failover to occur. A failover occurs when the active instance becomes inaccessible, andthen the passive node is brought online to accept and process requests. The process ofswitching the roles of the active and passive nodes can be done automatically or manually,in which case there may be a small downtime.

Active-Active. All nodes are active and handle requests concurrently.

In the following sections we will take a look at how these schemes can be implemented withWebFOCUS for the components listed earlier.

Hardware and Software

The following images illustrate how hardware can be configured to support the commonly usedActive-Active load management schemes to support the clustered architecture models coveredin Designing the WebFOCUS 8 Architecture on page 67.

We make reference to the Presentation Layer, which is comprised of the WebFOCUS Client andReportCaster, and the Reporting and Metadata Layer, which is comprised of the Reporting Server.

This section is not intended to cover high availability and failover at the WebFOCUS ApplicationLevel. Later on we will cover how WebFOCUS Workload Distribution Facility (CLM) can be usedto provide high availability and failover at the WebFOCUS Application Level.

Note: Third-party resources that are required to support the clustered architecture modelsmust also support high-availability.

In the following Active-Active Single-Tier Clustered Architecture Model image:

There are two machines, both in active mode.

Each machine hosts both the Presentation and Reporting and Metadata Layers.

Provides high availability and failover at the machine level.

For active machines:

Both machines are actively listening for incoming requests and will process all requestsconcurrently.

Best Practices for the WebFOCUS 8 Deployment Roadmap 87

8. Implementing High Availability, Failover, and Load Management

Page 88: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

If one of the machines become unavailable, all requests will be routed to the remainingmachine.

In the following Active-Active Multi-Tier Clustered Architecture Model image:

There are two machines, each hosting the Presentation Layer.

There are three machines, each hosting the Reporting and Metadata Layer.

Provides high availability and failover at the machine level for both Presentation and Reportingand Metadata Layers.

Presentation Layer. Active machines. Both machines are actively listening for incomingrequests and will process all requests concurrently.

88 Information Builders

Implementing High Availability, Failover, and Load Management

Page 89: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Reporting and Metadata Layer. Active machines. All requests will be routed to all threemachines, each of which are actively listening for incoming requests and will process allrequests concurrently.

Maintaining Performance When Cluster Members Become Unavailable

There must be adequate resources to support desired load in the event one or more clustermembers become unavailable. Companies must establish policy as to what constitutes acceptabledegradation.

For example, if you have a cluster of two Reporting Servers running at 75% capacity, and onegoes offline, the workload of the remaining Reporting Server will be increased potentially resultingin performance degradation. To maintain the same performance of the system as when runningat full capacity, consider increasing the capacity of the remaining Reporting Server or adding athird Reporting Server node.

Best Practices for the WebFOCUS 8 Deployment Roadmap 89

8. Implementing High Availability, Failover, and Load Management

Page 90: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Considerations for Web Servers and Java Application Servers

Web server farms can be fronted by load balancers to support load management and failoverschemes, as shown in the following image.

In the Failover/Load Management image, a load balancer routes user requests to the web serversin the web server farm using a defined dispatch algorithm. Each web server in the Web ServerFarm is installed with a web server plug-in to communicate to the application servers in theApplication Server Farm that are hosting WebFOCUS. The web server plug-in has a default dispatchalgorithm.

There are special considerations for web servers and application servers, which are describedbelow.

Fronting the Application Server With a Web Server

Often, we are asked, "Do we need a web server and an application server?" While WebFOCUSwill work with both a web server and application server, or only an application server that has abuilt-in HTTP server, it is best to design an architecture using web servers working in tandem withapplication servers for WebFOCUS usage.

90 Information Builders

Implementing High Availability, Failover, and Load Management

Page 91: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

A web server primarily serves up static and dynamic pages from HTTP requests. It does notsupport transactions, database connection pooling, servlet, or JavaServer™ Pages (JSP) files,and will typically pass such requests to a server-side program that can handle it, such as a servletcontainer. WebFOCUS consists of web applications that are comprised of related files, includingHTML files, JavaServer Pages files, and servlets.

Some of the advantages in fronting a application server with a web server are outlined below:

Content. Separate content, in that you can have the web server serve up static pages andimages so that some of the burden on the application server is reduced.

Scalability. By placing a web server in front of the application server, you can use the loadbalancing features of the web server and plug-ins to distribute the workload among severalapplication servers.

Security. Placing a web server in front of the application server provides an additional levelof filtering and security that can be integrated with SSO policy agents of security authenticationproviders, such as CA SiteMinder.

WebFOCUS

Customers can leverage the built-in failover and load management capabilities of WebFOCUS tominimize application downtime and distribute workload to maintain optimal performance. Thesecapabilities are implemented for the following WebFOCUS components.

Workload Distribution Facility. The Cluster Manager (CLM) works in tandem with thePresentation Layer to distribute workload across a cluster of WebFOCUS Reporting Servers.

ReportCaster Workload Distribution. The Workload Manager distributes scheduled jobsacross a cluster of Distribution workers.

Let us first take a look at how these components are designed to work and how they can be bestused to satisfy failover and workload distribution requirements using supported load-managementschemes.

Workload Distribution Facility

The Workload Distribution Facility (CLM) is an independent server component that manages oneor more clusters of WebFOCUS Reporting Servers. You can have one CLM or a cluster of CLMsrunning at the same time in Active-Active mode. To leverage CLM, you need to configure thePresentation Layer to communicate to one or a cluster of CLMs. It is recommended to use acluster of CLMs for high availability and failover.

Best Practices for the WebFOCUS 8 Deployment Roadmap 91

8. Implementing High Availability, Failover, and Load Management

Page 92: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The main functions of the CLM are to:

Use collected polling statistics to determine which remote WebFOCUS Reporting Servers aWebFOCUS request should be routed. CLM sends this information to the Presentation Layer,which will forward the user request to the recommended server.

Maintain attributes for each remote WebFOCUS Reporting Server.

Monitor all of the remote WebFOCUS Reporting Servers through a central console.

Define rules for monitoring and dispatching requests to the remote WebFOCUS ReportingServers.

Log statistics about remote WebFOCUS Reporting Servers for reporting and subsequentanalysis.

Workflow for CLM Processing

When a user submits a request to the Presentation Layer, the high-level workflow for processingthat request is outlined, as shown in the following image.

92 Information Builders

Implementing High Availability, Failover, and Load Management

Page 93: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

1. Request is submitted and routed through the load balancer to a web server.

2. Request is sent from the web server to the application server, where the WebFOCUS Clientor ReportCaster is installed.

3. WebFOCUS Client or ReportCaster asks CLM for the remote WebFOCUS Reporting Server towhich the request should be sent.

4. CLM uses collected polling statistics to determine the most appropriate remote WebFOCUSReporting Server to process the request, and notifies the WebFOCUS Client or ReportCaster.

5. The WebFOCUS Client or ReportCaster sends the request to the specified WebFOCUS ReportingServer.

ReportCaster Workload Distribution

When ReportCaster is configured for Workload Distribution, the Workload Manager is activatedon the ReportCaster Distribution Server. The Workload Manager distributes scheduled jobs to acluster of Workers for processing. This provides a scalable way to process a larger number ofscheduled jobs. CLM and ReportCaster Workload Distribution can be configured to work in tandemto manage the workload.

Note: ReportCaster supports Active-Passive failover for the ReportCaster Distribution Servers.There can only be a single Primary ReportCaster Distribution Server in a WebFOCUS instance.If the Primary ReportCaster Distribution Server becomes unavailable, then the roles are switchedand the Failover ReportCaster Distribution Server is automatically brought online and becomesthe Primary ReportCaster Distribution Server. ReportCaster supports Active-Active failover andload management for the Workload Distribution Workers.

Configuring WebFOCUS for High Availability, Failover, and Load Management

The following is the recommended order for configuring WebFOCUS to support high availability,failover, and load management.

WebFOCUS Reporting Servers.

Cluster JSCOM agents under Java Services.

Create Data Services on each WebFOCUS Reporting Server.

Best Practices for the WebFOCUS 8 Deployment Roadmap 93

8. Implementing High Availability, Failover, and Load Management

Page 94: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Workload Distribution Facility (CLM)

Install a cluster of CLMs. For each installation of the Workload Distribution Facility (CLM):

Enable the Cluster Manager (CLM).

Assign values to CLM properties.

Add Active Remote Server nodes and assign values for Remote Server properties.

Create a CLUSTER node called EDASERVE and assign values for Remote Server properties.

Create additional CLUSTER nodes if the configuration requires multiple clusters and assignvalues for Remote Server properties.

Assign Remote Servers to each of the CLUSTER nodes.

WebFOCUS Client

Create CLM Processing nodes to match the CLM CLUSTER nodes created on the CLM. TheWebFOCUS Client has to be configured to communicate to one or more clusters defined onthe CLM.

Convert the default Client node, EDASERVE, to be a CLM Processing node.

Create a separate CLM Processing node for each additional CLM CLUSTER node, usingidentical names. For example, if the CLM CLUSTER node is called UNIXCLUS, then the nameof the CLM Processing node must also be UNIXCLUS. Assign values for properties.

If using a cluster of CLMs, add each CLM to the CLM Processing node using the Add option.

ReportCaster

As of WebFOCUS Release 8.1 Version 03, ReportCaster leverages the WebFOCUS Clientcommunications file, odin.cfg. You no longer have to create Data Servers in the ReportCasterconfiguration GUI. Instead, when you click New from the ReportCaster configuration GUI, the listof Client, CLM Processing, and Cluster nodes defined on the WebFOCUS Client will display. Youcan then choose the appropriate nodes that are required for ReportCaster scheduling.

The recommendation is to select all listed nodes because at the time when the schedule is beingcreated, a check is not done to ensure that the assigned server for the resource being scheduledis available to ReportCaster. If the assigned server is not available to the Primary ReportCasterDistribution Server, the scheduled job will fail when it is executed. This capability is being evaluatedfor a future release.

94 Information Builders

Implementing High Availability, Failover, and Load Management

Page 95: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Defining Security9Chapter

This chapter outlines best practices for defining a WebFOCUS 8 security framework forEnterprise and SaaS customers. A security framework is comprised of several securitycomponents that can be found in the Security and Administration Manual.

Note: In the next update of this documentation, we plan to expand on the security bestpractices, as well as add new topics, including Information Assurance and SecurityRegulatory Compliance.

In this chapter:

Authentication

Authorization

Data Integrity

Confidentiality

Authentication

This section covers the authentication best practices for WebFOCUS.

Best Practices for the WebFOCUS 8 Deployment Roadmap 95

Page 96: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Authentication Checkpoints

We begin with an overview of authentication checkpoints, which are shown in the following image.

96 Information Builders

Authentication

Page 97: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The security checkpoints serve the following purpose.

The purpose of this security checkpoint is to ensure that onlyauthenticated users are granted access to WebFOCUS. Then, basedon their privileges they are granted access to authorized content.

WebFOCUS Client

The purpose of this security checkpoint is to ensure that theconfigured database user ID has the appropriate permissions inthe database to successfully execute SQL database commandsrequired by WebFOCUS. By default, it is the database service userID entered during the WebFOCUS installation. Credentials can be:

Explicit

Trusted. The user ID used to start up the application server willmake a trusted connection to the database repository.

WebFOCUS Repository

The purpose of this security checkpoint is to ensure thatauthenticated users are granted access to the Reporting Server.Then, based on their user ID, or role and group, they are:

Granted access to authorized Application Directories.

Granted access to authorized data.

WebFOCUS ReportingServer

The purpose of this security checkpoint is to ensure that theconfigured database user ID for the Data Adapters has appropriateaccess to connect to the back-end database servers and accessdata. The connecting user credentials can, in some cases, bepassed to the databases to leverage data-level security, if enforcedat the database level.

Database Servers

Best Practices for the WebFOCUS 8 Deployment Roadmap 97

9. Defining Security

Page 98: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Authentication Methods

At each security checkpoint, there are several authentication methods from which to choose.These authentication methods impact the choice of a Security Provider and Data Adapter securityconfiguration and are summarized below.

On the WebFOCUS Client:

Internal. The user is authenticated by WebFOCUS and has to sign in to WebFOCUS with fullcredentials, entering a user ID and a password. The user ID and password are available toWebFOCUS.

Explicit. The user is authenticated by an external source and has to sign into WebFOCUSwith full credentials, entering a user ID and a password. The user ID and password are availableto WebFOCUS.

Pre-Authentication. The user is pre-authenticated and the user identity information is passedto WebFOCUS.

On the WebFOCUS Reporting Server:

PTH. The PTH Security Provider is proprietary in that it is not tied to any external securityentity. PTH should not be configured as the Primary Security Provider. It should be configuredas the Secondary Security Provider for two reasons:

For access to the Web Console, if the Primary Security Provider becomes unavailable.

To facilitate the retrieval of external groups from the WebFOCUS Reporting Server.

OPSYS. The connected user is authenticated by the operating system.

LDAP. The user is authenticated against Active Directory or LDAP.

DBMS. The user is authenticated against a relational database (RDBMS).

Custom SQL. The user is authenticated against a customer proprietary relational data source(RDBMS).

Choosing an Authentication Method

The authentication checkpoints do not operate in isolation and can be integrated to provide acomplete security solution based on requirements. The question then becomes, "Whatauthentication and authorization method should I choose at each of these checkpoints to meetmy requirements?"

For purposes of this documentation, assume that an authenticated user to WebFOCUS can bean application user ID or an individual user ID.

98 Information Builders

Authentication

Page 99: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

To start, we need to understand the following:

Will each user need to connect to the back-end database to leverage data-level securityenforced at the back-end databases?

Will a single database user connect to the back-end database?

For pre-authenticated users, how will the user ID be made available to WebFOCUS (for example,HTTP Header, token, Kerberos ticket)?

Will you need to leverage externally stored user authorization information in WebFOCUS?

Are all users stored in the same user repository?

These requirements drive the choice of a Security Provider and Data Adapter security setting. Forexample, the more commonly used Reporting Server Security Providers are typically used asfollows:

LDAP, when companies want to leverage existing LDAP users and groups for use withWebFOCUS.

OPSYS, when there is a requirement to pass the connecting user ID to the back-end database.

Custom SQL, when authorization information is stored in an external proprietary database.

Mixed Authentication

Customers sometimes have a need to support mixed authentication. The Alternate zone featurewas designed to support multiple authentication methods. However, it is based on the webbrowser IP address, so it can require extensive maintenance and administration. The followingguidelines should be used when leveraging the Alternate zone feature.

By default, the Alternate zone supports form-based authentication for WebFOCUS administratorswho access WebFOCUS with the web browser installed on the WebFOCUS client machine.

If direct access to the WebFOCUS machine is restricted, then the IP address of the WebFOCUSAdministrator browser machine should be added to the Alternate zone.

Configure the Alternate zone to use the authentication method that has the least amount ofincoming unique IP addresses.

Configure the Default zone to use the authentication method that has the most varied numberof incoming IP addresses.

Best Practices for the WebFOCUS 8 Deployment Roadmap 99

9. Defining Security

Page 100: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The last two guidelines are best explained with an example. Assume the following:

500 internal users are pre-authenticated. The IP addresses seen by the application serverfor all users is the same because the requests originate from a proxy server.

20 external users are explicitly authenticated. The IP addresses seen by the application serverfor all users are unique.

We will configure the Alternate zone for the internal users and the Default zone for the externalusers for the following reasons:

Despite the total number of internal users being much greater than the external users, theIP address that is seen by the application server for the internal users is only one IP addressbecause the HTTP header REMOTE_ADDR contains the value of the proxy server, not theindividual user web browser machine. Currently, the IP address used by the Alternate zonefeature is derived from the value of the HTTP header REMOTE_ADDR (Remote Address value).This works well in many reverse proxy configurations where the Remote Address value, asseen by the application server, is the address of the forwarding proxy.

You can reduce the amount of maintenance by adding one IP address to the Alternate zonefor the 500 internal users and using the Default zone for the 20 external users without havingto add each of their IP addresses.

Authorization

This section covers the authentication best practices for WebFOCUS.

Integrating Authorization Across WebFOCUS Components

Start with setting up the security framework, integrating security between WebFOCUS ReportingServer and WebFOCUS Client security components, including External groups, ApplicationDirectories, and Domain Templates. For purposes of this document, a security framework iscomprised of:

Security authentication methods for appropriate WebFOCUS components.

Security authorization policy for appropriate WebFOCUS components.

Externally mapped WebFOCUS groups.

100 Information Builders

Authorization

Page 101: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The following guidelines can be used:

Use the Domain Templates that are packaged with WebFOCUS to determine if the securitypolicy created from the execution of the domain templates meet requirements. In some cases,a custom Domain Template may be created to tailor to specific needs. In some cases, if theDomain Templates do not meet requirements, customers will need to develop their ownsecurity policy.

Use the Access Control Templates feature that is built in to the WebFOCUS Reporting Serverto associate a Domain folder to Application Directories. This can significantly easeadministration and maintenance by eliminating the need to manually apply access controlrules to Application Directories. The simplest scenario is where there is a one-to-one mappingbetween a Domain folder that was created from running the Domain Templates to an ApplicationDirectory. For more information, see Creating Access Control Templates to SupportDomain-Specific Application Directories athttps://techsupport.informationbuilders.com/tech/wbf/v8templates/ac_template_example.pdf

Configure the WebFOCUS Client and ReportCaster to make a trusted connection to theWebFOCUS Reporting Server.

Custom security solutions are sometimes required when the built-in capabilities of WebFOCUSneed to be expanded to meet customer requirements. In this case, it would be helpful toengage with Information Builders Professional Services to develop a custom solution.

Data Integrity

If data level security is to be implemented by the WebFOCUS applications, use the DBA feature,which is covered in the Describing Data With WebFOCUS Language manual. For guidelines onusing DBA, see Creating Standards for Application Development on page 47.

You can also leverage the WebFOCUS system variables, &FOCSECGROUP and &FOCSECUSER,to dynamically apply DBA rules based on the WebFOCUS user ID or groups to which the userbelongs.

Confidentiality

Use Secure Sockets Layer (SSL) or Transport Layer Security (TLS) to encrypt all sensitive databetween the Client browser and the web and application servers, using ciphers of 128-bitencryption or higher.

Use Advanced Encryption Standard (AES) encryption for TCP/IP secure communication from theWebFOCUS Client to the WebFOCUS Reporting Server.

Additional encryption methods are described in the WebFOCUS Security and Administration manual.

Best Practices for the WebFOCUS 8 Deployment Roadmap 101

9. Defining Security

Page 102: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

102 Information Builders

Confidentiality

Page 103: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Administering WebFOCUS 810Chapter

This chapter covers key aspects of administering WebFOCUS 8.

Note: In the next update of this document, we plan to expand the information in thisdocument to include a comprehensive set of guidelines for administering WebFOCUS.

In this chapter:

Installation of Unplanned Service Packs or Hotfixes

WebFOCUS Administration

Auditing Configuration Changes and Customizations

Installation of Unplanned Service Packs or Hotfixes

Contingency plans should be established for applying unplanned Service Packs and Hotfixes.Some options include:

Establishing the length of time an application can be offline.

Setting up a sandbox for initial testing.

Planning advance notification to users.

WebFOCUS Administration

WebFOCUS has built-in capabilities that can be used to ease administration and maintenancein the following areas:

Verification of Server Services and Listeners

Java Services agents should have a status of Active.

Data Services agents should have a status of Idle.

Verification of Metadata and Data Adapters

Generate sample data for synonyms created for the Data Adapters.

Best Practices for the WebFOCUS 8 Deployment Roadmap 103

Page 104: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Capturing Query Code From Connected Users

Use the Session Log console to capture generated SQL and run the captured SQL directly onthe database server.

Configuring Event Routing

When an event occurs, you can customize the action to be taken. WebFOCUS administratorscan receive email notifications in real-time for custom events.

Creating Custom Monitor Page

Centralize monitoring of statuses for different listeners.

Identifying connected users in real-time.

Isolating problematic queries.

Monitoring user sessions.

Time spent in the back-end databases.

Time spent in WebFOCUS processing data returned from the back-end databases.

There are some administration tasks that may need scripting, such as:

Performing health checks on the WebFOCUS systems.

Synchronization of configuration changes to all WebFOCUS environments.

Auditing Configuration Changes and Customizations

Best practices for managing product upgrades include:

Ensuring all customizations are documented and traceable.

Identifying customizations that are:

Obsolete and no longer required.

Integrated into the WebFOCUS product.

104 Information Builders

Auditing Configuration Changes and Customizations

Page 105: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Promoting Resources Across WebFOCUS8 Environments

11Chapter

This chapter describes key aspects of using Change Management (CM) utilities to supporta WebFOCUS 8 production deployment.

In this chapter:

Terminology

Introduction

Change Management Prerequisites

Change Management Authorization Privileges

Creating and Exporting Change Management Packages

Copying Change Management Packages Between Environments

Importing Change Management Packages

Approaches to Using Change Management

Terminology

In this chapter, all references to DEV, QA, and PROD have the following meaning, unless otherwisenoted:

DEV refers to the WebFOCUS 8 Development environment.

QA refers to the WebFOCUS 8 Quality Assurance environment.

PROD refers to the WebFOCUS 8 Production environment.

Introduction

Change Management (CM) is designed to move content, or content and security resources, fromlower WebFOCUS 8 environments to higher WebFOCUS 8 environments. For instance, CM wouldbe used to move content or content and security resources from DEV to QA, and then from QAto PROD. In this documentation, DEV, QA, and PROD are used in the examples to reinforce CMconcepts and best practices. QA is assumed to be a mirror of PROD.

Best Practices for the WebFOCUS 8 Deployment Roadmap 105

Page 106: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Note: CM packages are useful for troubleshooting content, as opposed to troubleshootingissues related to the WebFOCUS 8 infrastructure.

The following terms and definitions are used throughout this document:

Security framework. Collection of security resources, including roles, privileges, groups,users, and security rules.

In-flight content. WebFOCUS content that has been developed in WebFOCUS 7 productionin parallel with the WebFOCUS 8 migration effort.

Handles. In WebFOCUS 8, each resource has a handle or internal reference.

IBFS Path. In WebFOCUS 8, each new or migrated resource has an IBFS path.

Content. Defined as folders, subfolders, reports, charts, visualizations, style sheets, images,portals, application directories, Report Library Access Lists, Report Library Distribution Liststhat are:

Privately owned (unpublished)

My Content

Published

Security resources are defined as:

Roles

Privileges

Groups

Security Rules

Users that are the subject of a security rule

106 Information Builders

Introduction

Page 107: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Change Management Prerequisites

Before creating CM export packages, there are a number of CM configuration parameters thatmust match in the lower and higher WebFOCUS 8 environments, as shown in the following image.

The three configuration parameters shown in the image above are accessible from the WebFOCUS8 Administration Console/Configuration/Application Settings Change Management area.

IBI_CM_Export_WFRS_File_Extensions

IBI_CM_Format_Raw

IBI_CM_Retain_Handles

These parameters are described in the WebFOCUS Security and Administration manual.

Change Management Authorization Privileges

By default, the Resource Templates create roles with privileges that allow only the WebFOCUSAdministrator to create, export, and import CM packages. There may be situations where companypolicy mandates that CM export and import capabilities are to be restricted to specific users.Alternatively, you may wish to empower senior developers by allowing them to export theircompleted code for promotion to higher WebFOCUS 8 environments. In this case, the privilegeswould be additive to that of the Developer role. If you want to limit the scope of who can exportCM packages or allow developers to export their completed content you can do the following:

Create two separate custom roles for exporting and importing CM packages. The benefit ofcreating separate roles for export and import is that it provides flexibility and can be used tosatisfy company policy. For instance, you may need to create these two custom roles becausethe company policy states that the same user is not allowed to export CM packages in QAand also import CM packages in PROD.

The custom roles can further restrict what can be exported. For instance, if you do notwant to export security resources, you can use the custom role to restrict the user fromaccessing the GROUPS node in the CM Export utilities.

If you are using the Resource Templates, a custom Resource Template can be created to addthe export and import roles and groups.

Best Practices for the WebFOCUS 8 Deployment Roadmap 107

11. Promoting Resources Across WebFOCUS 8 Environments

Page 108: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Users can be added explicitly or AUTOADDED to the appropriate export and import groups sotheir privileges are additive to what they already have.

The following topics detail several aspects of the general workflow for promoting content orcontent and security resources from Development through Production. This workflow is illustratedin the following image.

Creating and Exporting Change Management Packages

This section outlines useful information that you should be aware of before creating and exportingCM packages.

CM packages should be imported from lower to higher WebFOCUS 8 environments (for example,DEV to QA to PROD).

CM packages can be exported by using the CM export utilities or by running WebFOCUS 8 CMbatch utilities.

As of WebFOCUS Release 8.1 Version 04, CM packages can be created and exported inWebFOCUS Release 8.0.x for import to WebFOCUS Release 8.1.x. This document will beupdated to provide guidelines for Release 8.2.x when that release is available.

108 Information Builders

Creating and Exporting Change Management Packages

Page 109: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

When a CM package is exported, the contents of the export package is written to the filesystem in a Raw format that provides a mechanism to customize the exported content beforeimporting into the higher WebFOCUS 8 environment. For example, if you want to replaceFORMAT EXCEL with FORMAT PDF in procedures, you would ordinarily need to open eachresource in the tool that you used to create the resource and change the format. Instead, youmake the change to the Raw format of the exported files on the file system, then import theresources into the target environment. The WebFOCUS IBI_CM_Format_Raw configurationparameter controls whether the export package is written to disk in Raw format.

CM export scenarios should be created with the Retain Handles option selected, if the contentyou are exporting does not include either ReportCaster content or WebFOCUS content migratedfrom WebFOCUS Release 7.x.

CM Export and Import utilities do not support ReportCaster content as follows:

Report Library content. The expectation is that Report Library content is generated in eachenvironment, negating the need for export and import of Report Library content.

ReportCaster Blackout Dates. ReportCaster Blackout Dates can be moved from a lowerWebFOCUS 8 environment to a higher WebFOCUS 8 environment using separate utilitiesas described in the ReportCaster manual.

ReportCaster Execution IDs. The expectation is that the Execution IDs exist in the higherWebFOCUS 8 environment.

Copying Change Management Packages Between Environments

After the CM export package has been created in the lower WebFOCUS 8 environment, the nextstep is to copy the CM export package to the higher WebFOCUS 8 environment for import.

There are several options available to copy the package:

You can explicitly copy CM export packages from a lower WebFOCUS 8 environment to a higherWebFOCUS 8 environment. This provides a mechanism to control the explicit copy/move stepin the process for integration with other change control systems. For instance, the CM packagefrom DEV would be checked into a change control system, and from there, be promoted to ahigher WebFOCUS 8 environment.

Best Practices for the WebFOCUS 8 Deployment Roadmap 109

11. Promoting Resources Across WebFOCUS 8 Environments

Page 110: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

You can use shared file systems to map the CM export directory in the DEV WebFOCUS 8environment to the CM import directory in the QA WebFOCUS 8 environment. Using a sharedCM location, the CM export packages are immediately available to the QA WebFOCUS 8environment, eliminating the explicit step of copying files between machines. With thisapproach, it becomes more difficult to maintain the integrity of the CM export package andits original contents. For example, a CM export is exported from DEV and becomes immediatelyavailable in the CM import directory in QA. It is then imported in QA. In the meantime, theexported package is changed in DEV and no longer matches what was imported in QA, makingit impossible to restore and audit.

It is not recommended to use this option between QA and PROD.

Another option is to write batch scripts to export, copy, and then import between environments.This preserves the integrity of the packages and the batch scripts can also be coded tointegrate with other change control systems.

Considerations for Clustered Architecture Models

In a clustered, distributed WebFOCUS 8 architecture and within a given WebFOCUS 8 environment,it is best to share the CM import and export directories so packages are immediately visible toall cluster members. It also depends on whether the utilities or command CM scripts are usedto import.

For instance, if you are copying the CM package to a particular cluster node (machine) and runningthe CM batch utilities from that machine, it is not necessary to share. If you are importing theCM package from the CM export utilities or with a RESTful web services call, you cannot predictwhich cluster node will run the import, so all cluster nodes in the WebFOCUS 8 environment musthave the same import directory (or, at least, the same set of files).

Importing Change Management Packages

Exported packages can be imported from the CM GUI utilities, by running WebFOCUS CM batchutilities or with a RESTful web services call. You can integrate the execution of the batch utilitiesand RESTful web services calls with your proprietary applications.

Approaches to Using Change Management

This section describes a high-level workflow of how the two CM approaches can be applied tothe various stages of first moving from WebFOCUS 7 to WebFOCUS 8, and then moving resourcesbetween WebFOCUS 8 environments.

110 Information Builders

Importing Change Management Packages

Page 111: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The two approaches are:

Move content only

Move content and security resources

Move Content Only

With this approach:

The expectation is that the security framework in DEV is different from QA or PROD. WebFOCUS8 environments serve different purposes and most likely have different security frameworksand users. QA and PROD are usually mirrored and have different security resources andexternal group mapping definitions from DEV. For instance, in an LDAP configuration, usersin DEV, QA, and PROD may be defined in different LDAP servers.

The CM strategy is to create the security framework using Resource Templates in the higherenvironment (QA, as an example) and import only content from DEV to QA on top of the existingsecurity framework. Using the same CM strategy, create the security framework using ResourceTemplates in the PROD environment and import only content from QA to PROD, on top of theexisting security framework.

Content imported to the higher WebFOCUS 8 environment will inherit security policies of theexisting security framework.

The CM strategy will be applied for the initial migration to WebFOCUS 8. Then, as theWebFOCUS 8 environments become operational, the CM strategy will be applied for changedor newly developed code and security resources from DEV to QA and then to PROD.

Considerations

When creating a CM export package:

The parent and top-level folders must pre-exist in the WebFOCUS 8 environment. Use theCheck With Subtree option to export the subfolders and resources.

Do not select the With Rules option when creating export packages. When the content fromthe exported package is imported into the higher WebFOCUS 8 environment, the content willinherit the security rules.

CM export scenarios should be created with the Retain Handles option selected, if the contentyou are exporting includes either ReportCaster content or WebFOCUS content migrated fromWebFOCUS Release 7.x.

Select the With Private Content option if the requirement is to export unpublished content andMy Content, which, while not visible, does get exported when With Private Content is selected.

Best Practices for the WebFOCUS 8 Deployment Roadmap 111

11. Promoting Resources Across WebFOCUS 8 Environments

Page 112: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Review the Main properties, Server properties, and Advanced properties of the Domain foldersto ensure that the assigned server nodes, Application Directory paths, and the properties ofthe BI Portal Easy Selector feature are correct for the higher WebFOCUS 8 environments.These are not security rules and, therefore, not controlled by the With Rules option. Propertyoptions will be preserved in the exported package and imported into the higher WebFOCUS8 environment.

Main Properties. As an example, if the Do not show on User's List option is selected,when the exported package is imported into the QA environment, this will remain selected.

Server Properties. As an example, if a Server node and/or Application Path are assignedvalues, when the exported package is imported into the higher WebFOCUS 8 environment,those properties will be preserved. As a best practice, use the same server node namesin all environments to avoid having to reassign values in each environment.

Advanced Properties. As an example, if the container defaults for Height and Width werechanged in DEV, when the exported package is imported into QA, the changed values willbe preserved.

Moving Content and Security Resources

With this approach:

The expectation is that the security framework is identical between all WebFOCUS 8environments.

The CM strategy is to first export both content and the security framework using ResourceTemplates in the lower environment (DEV as an example) and then import both content andthe security framework from DEV to QA. Using the same CM strategy, import both contentand the security framework from QA to PROD.

The CM strategy will be applied for the initial migration to WebFOCUS 8. Then, as theWebFOCUS 8 environments becomes operational, the CM strategy will be applied for changedor newly developed code and security resources from DEV to QA and then to PROD.

Considerations

When creating a CM export package:

The parent and top-level folders must pre-exist in the WebFOCUS 8 environment. Use theCheck With Subtree option to export the subfolders and resources.

112 Information Builders

Approaches to Using Change Management

Page 113: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Select the With Rules option when creating export packages so all security rules and thesubject of those rules including roles, groups, and users will be exported. This means thatthe security rules of the lower WebFOCUS 8 environment will be imported to the higherWebFOCUS 8 environments.

Note: If there are security rules on lower-level folders, the rules are not exported. To exportthose rules, first, you need to select the lower-level folders with the Rules Only option andthen select the parent folder.

External group mappings on exported WebFOCUS groups will be unconditionally preservedand imported into the higher WebFOCUS 8 environments. Currently, the CM export UI doesnot allow you to control whether it should be exported. In the higher WebFOCUS 8 environments,the external group mappings will have to be reviewed and adjusted accordingly.

CM export scenarios should be created with the Retain Handles option selected, if the contentyou are exporting includes either ReportCaster content or WebFOCUS content migrated fromWebFOCUS Release 7.x.

Select the With Private Content option if the requirement is to export unpublished content andMyContent, which, while not visible, does get exported when With Private Content is selected.

Review the Main properties, Server properties, and Advanced properties of the Domain foldersto ensure that the assigned server nodes, Application Directory paths, and the properties ofthe BI Portal Easy Selector feature are correct for the higher WebFOCUS 8 environments.These are not security rules and, therefore, are not controlled by the With Rules option.Property options will be preserved in the exported package and imported into the higherWebFOCUS 8 environment.

Main Properties. As an example, if the Do not show on User's List option is selected,when the exported package is imported into the QA environment, this will remain selected.

Server Properties. As an example, if a Server node and/or Application Path are assignedvalues, when the exported package is imported into the QA environment, those values willbe preserved in QA. As a best practice, use the same server node names in allenvironments to avoid having to reassign values in each environment.

Advanced Properties. As an example, if the container defaults for Height and Width werechanged in DEV, when the exported package is imported into QA, the changed values willbe preserved.

Best Practices for the WebFOCUS 8 Deployment Roadmap 113

11. Promoting Resources Across WebFOCUS 8 Environments

Page 114: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

114 Information Builders

Approaches to Using Change Management

Page 115: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Monitoring and Managing Resources12Chapter

This chapter describes best practices for using Resource Analyzer to collect and leveragestatistics about WebFOCUS 8 applications usage.

In this chapter:

Resource Analyzer Workflows

Configuring Monitoring Levels

Determining Maintenance Schedule

Integrating Event Routing With Resource Analyzer

Reporting on Collected Resource Analyzer Data

Keeping Archived Logs for Historical and Auditing Use

Migrating Resource Analyzer Data

Considerations for Clustered Architecture Models

Resource Analyzer Workflows

The following are the three main workflows for Resource Analyzer processing:

Configuration

Scheduling

Run time

Best Practices for the WebFOCUS 8 Deployment Roadmap 115

Page 116: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The workflow for configuring Resource Analyzer is shown in the following image, and is performedby the WebFOCUS administrator.

116 Information Builders

Resource Analyzer Workflows

Page 117: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The workflow for archiving Resource Analyzer logs using schedules is shown in the followingimage, and is performed by the WebFOCUS administrator.

Best Practices for the WebFOCUS 8 Deployment Roadmap 117

12. Monitoring and Managing Resources

Page 118: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The workflow for Resource Analyzer at run time is shown in the following image, and isautomatically triggered when a WebFOCUS user runs a request.

Configuring Monitoring Levels

The following guidelines should be followed for configuring monitoring levels on each ReportingServer.

Customers who do not know up front which monitoring levels to configure, will need to do thefollowing:

Enable Data Request Monitoring in Global Settings for a duration long enough to captureenough statistics that can be used to make a decision about monitoring levels for resourcesto be monitored. Because global monitoring will capture information about every request andsubsequently consume significant database storage, it should be enabled only for as long asit is necessary to get sufficient data for analysis. Processes should be put in place to trackdisk space utilization, while Data Request Monitoring is enabled.

Once sufficient information has been collected, turn global Data Request Monitoring off.

Analyze the collected information to determine the monitoring levels for resources to bemonitored.

118 Information Builders

Configuring Monitoring Levels

Page 119: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The following applies to all customers:

Configure the monitoring levels and add resources to be monitored to the monitor list.

Use the Submit Archive job option to get two key metrics, which will determine the schedulingintervals and date/time ranges:

Size of the log file, which is in proportion to the level of monitoring:

Some file systems impose maximum file size limits.

The larger the log file, the longer it will take to archive.

Time it takes to archive the log file.

The size of the log file is in direct relation to the time it takes to archive.

Keep the monitoring levels for resources at a less detailed level to reduce the size of the logfile so it takes less time to archive and, therefore, allows for more flexibility in the schedulingintervals.

If the resources must be monitored at a detailed level, then choose one of the options thatis best suited based on available system resources:

Archive more frequently so the Resource Analyzer log files are smaller and take less timeto archive without impacting performance of WebFOCUS applications.

Archive less frequently at a time when the system utilization is at a low, and with enoughtime between schedules.

In all cases, it is best to schedule archived jobs when the system is least utilized.

The following image illustrates the monitoring level options that should be enabled for DataRequest Monitoring.

The Field used by Reference check box is not selected by default, and, when selected, capturesinformation about DEFINE fields. Keep the default, unless complete field-level information isrequired.

The Messages check box is not selected, by default, and, when selected, captures messages.Keep the default, unless there is a need to capture messages. Messaging will be enhancedin future releases to collect auditing information.

Best Practices for the WebFOCUS 8 Deployment Roadmap 119

12. Monitoring and Managing Resources

Page 120: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

The Translations check box is not selected by default, and, when selected, captures the SQLgenerated from WebFOCUS requests. Keep the default, unless there is a need to capture thegenerated SQL.

Resource Analyzer Repository Sizing

For recommended relational table sizes utilized by Resource Analyzer, see the Resource AnalyzerAdministrator's and User's Manual. The size of the tables will vary from one implementation toanother based on the following factors:

Type of configuration: Standard or Many-to-One.

How many requests are anticipated from all configured servers?

The level of monitoring that will be used on each server:

There are three levels of detail in Stored Procedure monitoring.

There are seven levels of detail in Request monitoring.

Once the decision has been made about monitoring levels to be collected, the database hasbeen sized, and Data Request monitoring is turned off, the next step is to determine the resourcesto be monitored.

120 Information Builders

Configuring Monitoring Levels

Page 121: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Determining Resources to Monitor

Resources that can be monitored include:

Application Directories. Data sources and procedures that reside in an Application Directorycan be monitored.

Data Sources. Not selected, by default, the WebFOCUS administrator must select thedata sources for monitoring. The WebFOCUS administrator can also use the Remove DataSources from Monitor to remove synonyms from the monitoring list.

Procedures. All procedures are selected, by default. The WebFOCUS administrator mustuse the Remove Procedures from Monitor to remove procedures not to be monitored fromthe monitoring list.

Relational Adapters. Relational data sources and stored procedures can be monitored.

Data Sources. Not selected, by default, the WebFOCUS administrator must select therelational tables for monitoring. The WebFOCUS administrator can also use the RemoveData Sources from Monitor to remove relational tables from the monitoring list.

Stored Procedures. All stored procedures are selected, by default. The WebFOCUSadministrator must use the Remove Procedures from Monitor to remove stored proceduresfrom the monitoring list.

Choosing an Option for Archiving Logs

With the completion of the identification and configuration of the resources to be monitored, thenext step is to choose an option for archiving logs on each Reporting Server.

Note: An archive job is submitted upon start or restart of the Reporting Server.

There are several options for archiving Resource Analyzer logs, as shown in the following image.

Best Practices for the WebFOCUS 8 Deployment Roadmap 121

12. Monitoring and Managing Resources

Page 122: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

rmlog_max_sessions. Is sessions-based. With this option, you specify a maximum numberof sessions that is counted from the start or restart of a Reporting Server. When the maximumnumber of sessions is reached, an archive of the Resource Analyzer logs to the ResourceAnalyzer database repository is triggered.

rmlog_maxdays. Is based on a number of days. With this option, you specify a maximumnumber of days that is counted from the start or restart of a Reporting Server. When themaximum number of days is reached, an archive of the Resource Analyzer logs to the ResourceAnalyzer database repository is submitted. Days are counted from the time the ReportingServer is started or restarted. If a Reporting Server was started or restarted before themaximum number of days was reached, then the count is reset to 1.

rmlog_schedule_archive (Recommended). Is schedule-based. With this option, ResourceAnalyzer logs are archived on a pre-defined schedule.

As a best practice, the schedule based option, rmlog_schedule_archive, should be used for thefollowing reasons:

Session and date/time based options can trigger an archive job at peak hours, potentiallyaffecting performance. These options are being re-evaluated for future WebFOCUS releases.

The schedule-based option offers greater flexibility and control. Customers can schedulearchived jobs when the system utilization is low so WebFOCUS applications are not impactedduring peak hours.

The schedule-based option minimizes the level of administration and maintenance.

There is another option which can be useful for testing or archiving a job on demand outside ofthe regular schedule. This capability is provided with the Submit Archive job option, which archivesResource Analyzer logs immediately and is available from the Reporting Server WebConsole/Resource Management/Archive/Submit Archive job.

Setting Up Scheduled Jobs to Archive Logs

When the schedule option, rmlog_schedule_archive, is set to Yes, the Schedule and E-mail optionavailable from the Reporting Server Web Console/Resource Management/Archive is activated.

122 Information Builders

Configuring Monitoring Levels

Page 123: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Schedules can be created from the Schedule and E-mail option, and requires that the SchedulerListener is active. Schedules must be set up on each Reporting Server. The Schedule and E-mailUser interface, as shown in the following image, is used by all Reporting Server schedulingcomponents.

Note:

Options that are recommended for use with Resource Analyzer are described below.

The Set option should be used to create the Resource Analyzer schedules.

The following are key recommendations for assigning values to the scheduling parameters.

Schedule Status must be set to Active.

Best Practices for the WebFOCUS 8 Deployment Roadmap 123

12. Monitoring and Managing Resources

Page 124: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Schedule Type has options:

Recurring (Recommended). This option is recommended because it provides greaterflexibility and control, allowing the scheduled archive jobs to run when the system utilizationis at a low. It also provides consistency with the archives for reporting and maintenancepurposes.

Note:

The Run Once option is different from the Submit Archive job, since you can specifya date/time to archive the Resource Analyzer logs. With the Submit Archive joboption, the Resource Analyzer logs are archived immediately.

The Run when the server starts option is redundant, since the Resource Analyzerlogs are archived upon Reporting Server start or restart.

Interval Type:

Daily or Weekly (Recommended). This is the recommended option to start with, butfor reasons explained in Configuring Monitoring Levels on page 118, the log file must be ofa size that does not take long to archive. This reduces the probability of overlappingschedules.

Note:

Minutes and Hourly. These options may result in file contention when the archivedjobs run so close together. It also increases the throughput to the Resource Analyzerdatabase repository that may impact database and Reporting Server performance,if the database and Reporting Servers are already at a peak.

Monthly and Yearly. When using these options and depending on the monitoringlevels, the size of the Resource Analyzer log file may be too large to process. In thiscase, you need to reduce the level of details being monitored.

Intraday Start and Intraday End

These parameters are useful for effectively managing resources on the system. Havingthe ability to control the minute and hour intervals that archived jobs run allows a customerto maximize resources when the systems are at a low.

124 Information Builders

Configuring Monitoring Levels

Page 125: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Determining Maintenance Schedule

The retention period for archived data in the repository depends on several factors:

How is the data to be used?

Is the data required to satisfy audits, and if so, how many years of data do the auditors need?

Is it to be used for billing purposes?

How many years worth of data are required to meet requirements?

There are two maintenance options for deleting data:

Recurring Schedule. You can delete data, based on a specified number of months rangingfrom 1 to 99. In this case, you can create a recurring maintenance schedule to delete thedata for one or more of the Reporting Servers that archive logs to the same databaserepository.

In the following image, a list of all the Reporting Servers that are archiving logs to the sameResource Analyzer repository display. The schedule is set up to delete data older than 36months for all the Reporting Servers.

Clicking Next brings up the Scheduling User Interface described in Setting Up Scheduled Jobsto Archive Logs on page 122. A schedule can be created to delete older data based onscheduling options.

One-time Option. You can delete data within a fixed date range. This is a one-time option.

You can specify a start and end date to delete data within a specific date range, as shownin the following image.

Best Practices for the WebFOCUS 8 Deployment Roadmap 125

12. Monitoring and Managing Resources

Page 126: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Note: The one-time option may be combined with the recurring schedule in a future release.

Integrating Event Routing With Resource Analyzer

Integrating the Reporting Server Event Routing capability is important to keep WebFOCUSadministrators updated with the status of archived and maintenance jobs. It is recommendedthat the email options are leveraged as a means of providing automatic and real-time notificationwhen certain events are configured to be captured and require action by the WebFOCUSadministrators.

126 Information Builders

Integrating Event Routing With Resource Analyzer

Page 127: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Reporting on Collected Resource Analyzer Data

Reports can be generated for all Reporting Servers writing to the same repository from one ofthe Reporting Servers. There are many reporting options that are best matched with the resourcesbeing monitored to get meaningful reports. As an example, we can match the resources beingmonitored by running the reports shown in the following image. This is because information wascollected for users, procedures, and data sources.

It is also recommended that the Performance Analysis reports, shown in the following image, beleveraged to detect potential performance problems early in the deployment roadmap.

Keeping Archived Logs for Historical and Auditing Use

Customers are sometimes required to keep information for a period that satisfies auditing orother requirements. As of date, Resource Analyzer does not have a built-in option to selectivelymove archived logs from the active repository to another database. Customers will need to setup an independent process to do this.

Migrating Resource Analyzer Data

For information on migration approaches, see the Resource Analyzer Administrator's and User'sManual.

Best Practices for the WebFOCUS 8 Deployment Roadmap 127

12. Monitoring and Managing Resources

Page 128: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Considerations for Clustered Architecture Models

The following are considerations for Resource Analyzer in clustered architecture models, asdescribed in Designing the WebFOCUS 8 Architecture on page 67:

Customers who have clustered architecture models with multiple Reporting Servers in thecluster should use a centralized Resource Analyzer database repository for all ReportingServers in the cluster to connect.

Resource Analyzer scheduling information for archived jobs is stored to the EDACONF/catalogdirectory for each Reporting Server, using standard file names throughout Resource Analyzer.

Each Reporting Server in the cluster will generate, archive, and manage their Resource Analyzerlogs separately. Logs are archived to a centralized database, as previously mentioned.

Each Reporting Server in the cluster will need to be configured separately for Resource Analyzer.

Resource Analyzer scheduling is based on Deferred Execution technology. Output fromscheduled archived jobs is written to the directory specified by the dfm_dir configurationparameter of each Reporting Server.

128 Information Builders

Considerations for Clustered Architecture Models

Page 129: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Conducting Performance Benchmarks,Analysis, and Tuning

13Chapter

This chapter is designed to guide customers through the iterative process of developingand executing performance benchmarks by tuning parameters for applicable components.

In this chapter:

Introduction

Conducting Performance Benchmarks

Analyzing Performance Benchmark Results

Tuning Components

Introduction

The section Sizing and Capacity Planning on page 31 described guidelines for sizing machinesfor WebFOCUS current and future usage. This chapter covers, at a high-level, the three mainprocesses to validate that machines are sized appropriately to handle the workload. These threeprocesses are:

Conducting performance benchmarks.

Analyzing performance benchmark results.

Tuning components.

Note: In the next update of this documentation, we plan to expand the information to includea comprehensive WebFOCUS performance process.

Conducting Performance Benchmarks

There are many benefits to conducting performance benchmarks that include, but is not limitedto:

Detecting and addressing bottlenecks.

Establishing performance benchmark baselines.

Meeting user expectations and Service Level Agreements.

Best Practices for the WebFOCUS 8 Deployment Roadmap 129

Page 130: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

It is important that performance benchmarks be conducted in a controlled environment. Processesinclude:

Choosing a performance benchmarking tool.

Understanding WebFOCUS Usage Profiles, such as:

Number of concurrent users.

Response times for queries.

Creating a Performance Test Plan.

Setting up system monitors to track resource utilization.

Executing the performance test plan.

Analyzing logs.

Tuning components.

Documenting findings.

Analyzing Performance Benchmark Results

The output from performance benchmarks is statistics that include query response times andresource utilization usage for CPU, RAM, and other resources. When analyzing logs, the goal isto detect bottlenecks, which can exist at different levels, including:

Application Level. Developers can look for inefficiencies in their code.

Database Level. Use query optimizers and database profilers to check for bottlenecks.

Operating System Level. Administrators can use utilities tools, such as PerfMon on Windowsand on UNIX top, vmstat, and iostat to track CPU, RAM, and disk space utilization.

Network Level. Network Administrators can use utilities, such as netstat and packet sniffers,such as tcpdump, and others, such as ethereal.

Tuning Components

Tuning entails the repetitive process of:

Running performance benchmarks to identify bottlenecks.

Tuning components individually and re-running performance benchmarks.

Increasing the workload to identify all bottlenecks, until the objectives are met.

130 Information Builders

Analyzing Performance Benchmark Results

Page 131: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

There are two main types of components that can be tuned:

Third-party components

WebFOCUS

Third-Party Components

Third-party components that can be tuned include:

Operating System

Work with the Operating System Administrators to identify bottlenecks. If the system is maxedout on CPU and RAM, use the system utilities to identify which processes are taking up allthe resources. Perhaps, some jobs can be run at off-peak hours or deferred, or run at a lowerCPU priority.

Check all configuration files to ensure they are in sync with the current releases of installedsoftware. Upgrades may require updates to old configuration files that can improve performanceoverall on the system.

Track usage patterns on the machines to identify problems and failures, which can be fixedeasily.

System administrators will be able to provide additional insight and guidelines to tune theoperating systems.

Database Server

Verify that the database optimizer runs as recommended to generate good data statistics.Example: Oracle ANALYZE command creates optimizer statistics to choose methods of fastaccess to the data. If the statistics were not generated properly, performance will be affected.

Fix Indexes. Use EXPLAIN to see what the optimizer does with SQL statements. Does it do afull table scan? Does the table have appropriate indexes for the queries?

Spread the database over disks and I/O channels. For example, partition tables and indexesover multiple disks.

Database administrators will be able to provide additional insight and guidelines to tune thedatabase servers.

Best Practices for the WebFOCUS 8 Deployment Roadmap 131

13. Conducting Performance Benchmarks, Analysis, and Tuning

Page 132: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Network

Network administrators will be able to identify and tune bottlenecks with the use of:

Packet sniffers, such as tcpdump.

Network protocol analyzers, such as ethereal.

Utilities, such as netstat, ping, traceroute, and others.

Network administrators will be able to provide additional insight and guidelines to tune thenetwork.

Application Server

Auto-Reload. This feature automatically reloads the web application if a change is detected.According to Apache, this is useful during application development, but it requires significant run-time overhead. This is not recommended for use on deployed production applications.

For example, you can disable auto-reloading of the WebFOCUS web application file by adding thefollowing syntax in ibi_apps.xml:

"reloadable="false"

For example, you can enable auto-reloading of the WebFOCUS web application file by adding thefollowing syntax in ibi_apps.xml:

"reloadable="true"

Pre-Compile JavaServer Pages. The JVM interprets a web application by dynamically compilingJSPs. Over time, the application will run faster as all files are pre-compiled.

Enable and Tune Thread Pool

Initial Thread Pool size

Minimum number of threads in pool.

MaximumThread Pool size.

Maximum number of concurrent threads in pool.

Thread inactivity timeout

Time spent waiting for client response before being returned to pool.

Growable thread pool

Automatic increase in thread pool when maximum thread pool size is reached

132 Information Builders

Tuning Components

Page 133: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Logging

Start in non-debug mode.

Ensure that the application server or web applications do not have logging enabled at a levelof DEBUG. For example, if Tomcat is enabled with logging, make sure the log level is set toINFO in the log4j.properties file.

Considerations for Apache Tomcat

The following is specific to Tomcat, but we wanted to cover it briefly because Tomcat is commonlyused.

Tomcat supports many connectors and each can be tuned differently. In production you may wishto:

Set enableLookups to “false”.

Set maxThreads and AcceptCount high enough to handle incoming traffic.

Set compression options.

Remove unneeded applications to save memory and startup time. For example, Tomcat ROOTapplications should be removed, but you can leave the Manager web application active.

Apache Portable Runtime (APR) Based Native Library for Tomcat

The Apache Portable Runtime (APR) library is fully documented on the Apache website. It has thefollowing benefits:

Pre-built for Windows, but must be compiled on other platforms.

Makes Tomcat a better general-purpose web server.

Will enable much better integration with other native web technologies.

Overall, makes Java much more viable as a full-fledged web server platform, rather than simplya back-end focused technology.

Java Virtual Machine (JVM)

The JVM, which is used by the application server for deploying and executing web applicationscan be tuned, as follows:

JVM Server Modes

Client. Use with short-running applications.

Server. Use with 64-bit multi-threaded, long-running applications, such as WebFOCUS.

Best Practices for the WebFOCUS 8 Deployment Roadmap 133

13. Conducting Performance Benchmarks, Analysis, and Tuning

Page 134: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Main differences between the two modes:

How they handle compiling Java byte code into native machine code.

How they handle the Java Heap.

Optimization and thread management.

JVM Memory

JVM memory system manages two types of memory: heap and non-heap.

Heap Memory

The heap may be of a fixed size or may be expanded, depending on the needs of an application.Start the JVM with the initial heap size equal to the maximum heap size. This removes the needfor the JVM to resize the heap.

You can specify a starting heap size (-Xms) and a maximum heap size (-Xmx). For example,a minimum heap size of 1024 MB and a maximum heap size of 1024 MB is specified as:-Xms1024m –Xmx1024m.

Set the JVM MaxPermSize to 256m. For example, -XX:MaxPermSize=256m.

To determine the size of your application, use the Windows Task Manager, or ps or top onUNIX, or print out the garbage collector log files when running in verbose mode. You can alsouse a JVM Profiler.

Garbage Collection

There are documented guidelines for JVM server applications, some of which are outlined below:

Unless you have problems with pauses created from garbage collection, try granting as muchmemory as possible to the virtual machine. The default size (64MB) is often too small.

Setting -Xms and -Xmx to the same value increases predictability by removing the mostimportant sizing decision from the virtual machine. On the other hand, the virtual machinecannot compensate if you set the value too small.

Use the -verbosegc option to track frequency and times of garbage collection, then tune thegarbage collector.

JVM Monitoring

You can monitor the JVM using:

JConsole, which is included with the JDK.

jstat, which is included with the JDK.

134 Information Builders

Tuning Components

Page 135: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

JVM Profiler.

Java Management Extensions (JMX), for example, add the following parameters to your Tomcatstartup script or Windows service.bat:

set CATALINA_OPTS="-Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=%my.jmx.port% \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false"

WebFOCUS Tuning Components

The following are WebFOCUS components that can be tuned:

Applications

Reporting Server

ReportCaster

WebFOCUS Client

Applications

This version of this document is not intended to cover application tuning. However, at the minimum,ensure the following:

Requests are generating optimized SQL.

All RDBMS efficiencies are enforced.

Reporting Server

The Reporting Server has a built-in performance framework for core workspace functions andapplications. These include the following:

Data Services. The Data Services feature of the WebFOCUS Reporting Server feature is usefuland can be used to:

Identify the source of an incoming request. For example, a Data Service can be created toidentify requests that were sent from ReportCaster.

Manage throughput to the back-end databases. Data Services has several properties thatcan control the number of concurrent requests sent to the database servers.

Manage system resource utilization by the WebFOCUS Reporting Servers. Data Services hasseveral properties that can be assigned thresholds for RAM and CPU usage.

Best Practices for the WebFOCUS 8 Deployment Roadmap 135

13. Conducting Performance Benchmarks, Analysis, and Tuning

Page 136: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

You can:

Create Data Services to service specific application requirements. For example, create a dataservice to process all ReportCaster requests.

Configure and tune each Data Service differently to meet application requirements. For example,assume you want the maximum user concurrency rate for live requests to be ten and for batchrequests to be three. You can create two Data services and set different maximum userconcurrency rates for each. Another example, in the following image, shows limits being placedon the number of concurrent requests a user can run for InfoAssist, but not for ReportCasterjobs.

Data Adapters. There are a number of tuning parameters, depending on the types of queriesand answer sets being generated. A subset of these parameters are listed below. For moreinformation, see the Adapter Administration Manual.

Enable OPTIMIZATION flags (SET OPTIMIZATION).

Fetch data in larger blocks (SET FETCHSIZE).

Set ISOLATION Level RU (Read Uncommitted).

136 Information Builders

Tuning Components

Page 137: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Java Services. This feature is used for rendering graphical images on the Reporting Server, aswell as for managing JDBC Data Adapters.

Cluster the Java Services JSCOM agents for high availability, failover, and load management.

Standard JVM tuning parameters can be applied to Java Services for memory managementand garbage collection.

ReportCaster

ReportCaster Distribution Server. This is an independent Java application program. Tuningparameters include:

Maximum Threads. This is the maximum number of active concurrent threads to manageReportCaster scheduled jobs that are ready to be executed. Must be used in tandem withavailable system resources, like CPU, memory. This parameter has a default value of 6, outof which 3 are always reserved for internal use. The remaining three are used for the DataServer Maximum Connections/Threads parameter and can be split across one or more servernodes.

For example, if Maximum Threads=15:

Three (3) threads are reserved for internal use.

Twelve (12) threads are available to be used by all of the configured WebFOCUS ReportingServer nodes.

Data Server Maximum Connections/Threads. Control the maximum number of concurrentconnections made to the WebFOCUS Reporting Server.

For example, if Maximum Threads=15:

Three (3) threads are reserved for internal use.

Twelve (12) threads are available to be used by all of the configured WebFOCUS ReportingServer nodes.

There are two server nodes: EDASERVE and UNIXCLUS.

Data Server Maximum Connections/Threads for the thread EDASERVE has a value of6.

Data Server Maximum Connections/Threads for the thread UNIXCLUS has a value of3.

This means that there are three threads left that can be used by EDASERVE or UNIXCLUS,or by a new node.

Best Practices for the WebFOCUS 8 Deployment Roadmap 137

13. Conducting Performance Benchmarks, Analysis, and Tuning

Page 138: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Email ZIP. You can distribute the same report using EMAIL, with the ZIP option to minimizespace allocation. You can also ZIP and distribute active reports for your users, and they canslice and dice that data without being connected.

Standard JVM tuning parameters can be applied to the ReportCaster Distribution Server formemory management and garbage collection.

Report Library. This ReportCaster component can be used for archiving distributed output fromscheduled jobs. Performance features include:

PDF compression. For example, you can schedule a report that generates embedded graphicalimages in the distributed output and store it in compressed PDF format to the Report Library.

138 Information Builders

Tuning Components

Page 139: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Deploying the WebFOCUS 8 Application toProduction

14Chapter

As a best practice, create a production checklist. This will ensure that all aspects of theapplication rollout have been covered and the application performs as expected.

In this chapter:

Production Checklist

Training the Users

Supporting the Application

Maintaining the Application

Production Checklist

The following checklist summarizes the recommended tasks to be completed prior to deployingthe application in production.

Testing

The application has to be thoroughly tested and certified from the Quality Assurance (QA)environment to preproduction. This process should be automated and fully documented soit can be replicated from preproduction to production without errors.

Live testing by internal and external users should be conducted the day before the deploymentof the application. Some customers may choose to have a handful of users come in early onthat day to ensure the application works as expected.

Service Level Agreements

The application has to be benchmarked and established Service Level Agreements confirmedas being met in the preproduction environment.

Training

Business users must be adequately trained to use the application.

All administrators must be adequately trained to support the application.

Best Practices for the WebFOCUS 8 Deployment Roadmap 139

Page 140: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Contingency Plans

For application upgrades, contingency plans must be established to either restore an earlierversion of the application or run the earlier version in parallel. This contingency plan willaddress unexpected issues should they arise. Some customers may choose to create animage of the machine that hosts the earlier application. It can then be easily restored withminimal disruption to the production users.

Timing

Deployment of the application has to be timed so it does not coincide with critical processingtimes.

Deployment of the application should occur after business hours to minimize disruptions.

Notification

Business users, developers, and all administrators should be notified of the deployment ofthe application.

Early notification of application rollout and timeframes including a published schedule availableon one of the following:

Dashboard

Portal

Customized portal sign-in page

Support

Secure necessary resources to support the application:

Administrators should be advised that any problems related to the deployment are highpriority so they can respond rapidly.

Plan for vendor support, if necessary.

Documentation

Application documentation has been reviewed according to company standards.

Support documentation has been reviewed according to company standards.

140 Information Builders

Production Checklist

Page 141: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Training the Users

In preparation for the production release of an application, it is recommended that users areprovided:

Detailed documentation about using new applications or revisions of existing applications.Replacement of an existing application requires special user consideration to manage userexpectation. For instance, users may expect identical functionality between applications.

Online training.

Supporting the Application

When an application is rolled into production, a process must be in place to support the applicationusers:

Establish a Help Desk and provide appropriate application training.

Set up a chain of command for reporting issues. For instance, establish primary and secondarycontacts for Developer Studio issues.

Maintaining the Application

After applications are rolled out to production, it is quite typical for new reports to be added tothe application or for the application to undergo revisions.

Establish a strategy for managing application revisions and adding, updating, or deleting newreports using:

Versioning

Maintaining a revision history

Auditing logs and timestamps

One technique for tracking changes in an application is to document in the FOCEXEC achange record. Also, in the area where the code was changed/added, add a comment linethat gives information on what changed, when, and the earlier code, so the history of thechanges are clear.

Best Practices for the WebFOCUS 8 Deployment Roadmap 141

14. Deploying the WebFOCUS 8 Application to Production

Page 142: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

142 Information Builders

Maintaining the Application

Page 143: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Implementing the WebFOCUS 8 Roadmap15Chapter

This chapter outlines the processes and procedures for the varying stages of the WebFOCUS8 Roadmap.

In this chapter:

Introduction

Processes and Procedures

Prerequisites

Introduction

Now that the framework for the WebFOCUS roadmap has been completed, we need to identify,implement, and execute, in order, processes and procedures required for a successful WebFOCUSdeployment.

Note: In the next update of this document, we plan to include more details about the processesand procedures.

Processes and Procedures

The next step is to execute the list of processes and procedures. Responsibility for the executionof these procedures is typically delegated by the project leader or empowered project teammember.

Assign roles and responsibilities.

Define specific roles and functions for different user types, depending on their skill set.

Procure and provision resources.

Organizations typically have policies in place to manage various requests. Requests forprocuring and provisioning resources through internal work orders must be done to avoidproject delays.

Create a real or virtual Competency Center.

A Competency Center is used to set the guidelines and standards for supporting theinfrastructure elements and WebFOCUS.

Best Practices for the WebFOCUS 8 Deployment Roadmap 143

Page 144: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Install and verify prerequisites.

Identifying and verifying prerequisites before performing WebFOCUS installations is cost-effective and saves time. For a list of prerequisites, see the table in Prerequisites on page145.

For each WebFOCUS environment, repeat the following steps.

Install each WebFOCUS Reporting Server.

Validate each WebFOCUS Reporting Server installation.

Verify access to the WebFOCUS Reporting Server Web Console.

Configure each WebFOCUS Reporting Server.

Configure Security Providers.

Add WebFOCUS Administrators to the Server Administrator role.

Configure and validate the Data Adapters.

Create and test synonyms for the data sources.

Add Data Services.

Cluster JSCOMs.

Create Access Control Templates.

Create Application Directories.

Create group profiles and user profiles, as needed.

Secure the Web Console.

Install each WebFOCUS Client.

Install WebFOCUS web applications on the Java Application Server.

Add the WebFOCUS 8 repository JDBC driver to the Java Application Server.

Validate the installation of the WebFOCUS Client or WebFOCUS Clients.

Run the verification utility from the WebFOCUS Client Administration Console.

Install WebFOCUS Workload Distribution Facility (CLM).

Validate CLM.

Activate the license.

144 Information Builders

Processes and Procedures

Page 145: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Verify access to the CLM Console.

Configure CLM.

Add CLM Processing nodes to the WebFOCUS Client.

Configure security.

WebFOCUS Reporting Server

WebFOCUS Client

ReportCaster

Enforce security lockdown measures.

Prerequisites

Before configuring WebFOCUS components, the prerequisites in the following table must beverified.

PrerequisitesSoftware Component

Session Affinity must be enabled.Load Balancer

Add to application server CLASSPATH.

Add to WebFOCUS utilities batch program.

JDBC Drivers

JAVA_HOME system variable should be set and exportedat the web and Reporting and Metadata Layers.

Set JAVA_HOME or JDK_HOME for JRE or JDK installation,respectively.

JVM installation directory must be available to theapplication server prior to startup.

Java Virtual Machine

Verify the type of driver:

Type 2: Need both JDBC thin client and native clientdatabase libraries.

Type 4: Need JDBC thin client only.

JDBC drivers

Best Practices for the WebFOCUS 8 Deployment Roadmap 145

15. Implementing the WebFOCUS 8 Roadmap

Page 146: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

PrerequisitesSoftware Component

Verify host name and TCP/IP ports for HTTP/HTTPS.

Verify connectivity to the web server.

Web server

Verify connectivity to the Java Application Server.Java Application Server

Verify that it is installed and enabled.

Verify connectivity to the Java Application Server from theweb server. Run sample servlet and JSP scripts.

Web server plug-ins

Verify that they are installed.

Verify that required system variables are set and exported.

Native database client libraries

146 Information Builders

Prerequisites

Page 147: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Customer ConnectionsWhere users partner with Information Builders to provide feedback and create qualitydocumentation.

Partner With Us

Information Builders Technical Content Management team is comprised of many talentedindividuals who work together to design and deliver quality technical documentation products.Your feedback supports our ongoing efforts!

You can also join a usability study to get an early look at new documentation products andservices. Your participation helps us create documentation products that meet your needs.

To send us feedback or make a customer connection, contact Michele Brady, Service Director,Technical Content Management at [email protected].

Request Permission to Use Copyright Material

To request permission to repurpose copyrighted material, please contact Frances Gambino, VicePresident, Technical Content Management at [email protected].

Visit the Information Builders Technical Content Library

To visit the Technical Content Library, go to http://documentation.informationbuilders.com/.

Page 148: Best Practices for the WebFOCUS 8 Deployment …infocenter.informationbuilders.com/wf8100/topic/pubdocs/best/Best...Describes best practices for using Resource Analyzer to collect

Information Builders, Inc.Two Penn PlazaNew York, NY 10121-2898

Developer Studio A

pplication Developm

ent G

etting StartedVersion 8 Release 1.0

Best Practices for the WebFOCUS 8 Deployment Roadmap

DN4501066.0715