IBM Cognos 8 Business Intelligence: Architecture and Deployment Guide
IBM Cognos 8 Business Intelligence: Architecture and Deployment Guide
IBM Cognos 8 Business Intelligence: Architecture and Deployment Guide
Product Information
This document applies to IBM Cognos 8 Version 8.4 and may also apply to subsequent releases. To check for newer versions of this document, visit the IBM Cognos Resource Center (http://www.ibm.com/software/data/support/cognos_crc.html).
Copyright
Copyright 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC is an IBM Company. Portions of Cognos ULC software products are protected by one or more of the following U.S. Patents: 6,609,123 B1; 6,611,838 B1; 6,662,188 B1; 6,728,697 B2; 6,741,982 B2; 6,763,520 B1; 6,768,995 B2; 6,782,378 B2; 6,847,973 B2; 6,907,428 B2; 6,853,375 B2; 6,986,135 B2; 6,995,768 B2; 7,062,479 B2; 7,072,822 B2; 7,111,007 B2; 7,130,822 B1; 7,155,398 B2; 7,171,425 B2; 7,185,016 B1; 7,213,199 B2; 7,243,106 B2; 7,257,612 B2; 7,275,211 B2; 7,281,047 B2; 7,293,008 B2; 7,296,040 B2; 7,318,058 B2; 7,325,003 B2; 7,333,995 B2. Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated) in the United States and/or other countries. IBM and the IBM logo are trademarks of International Business Machines Corporation in the United States, or other countries or both. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. While every attempt has been made to ensure that the information in this document is accurate and complete, some typographical errors or technical inaccuracies may exist. Cognos does not accept responsibility for any kind of loss resulting from the use of information contained in this document. This document shows the publication date. The information contained in this document is subject to change without notice. Any improvements or changes to the information contained in this document will be documented in subsequent editions. U.S. Government Restricted Rights. The software and accompanying materials are provided with Restricted Rights. Use, duplication, or disclosure by the Government is subject to the restrictions in subparagraph (C)(1)(ii) of the Rights in Technical Data and Computer clause at DFARS 252.227-7013, or subparagraphs (C)(1) and (2) of the Commercial Computer Software - Restricted Rights at 48CFR52.227 as applicable. The Contractor is Cognos Corporation, 15 Wayside Road, Burlington, MA 01803. This document contains proprietary information of Cognos. All rights are reserved. No part of this document may be copied, photocopied, reproduced, stored in a retrieval system, transmitted in any form or by any means, or translated into another language without the prior written consent of Cognos.
Table of Contents
Introduction
11 13
User Interfaces 13 Web-based User Interfaces 14 Windows-based User Interfaces 16 Tier 1. Web Server: IBM Cognos 8 Gateways 18 Tier 2. Applications: IBM Cognos 8 Servers 19 Dispatcher 19 Content Manager 22 Tier 3. Data: Content Providers 24 Content Store 24 Data Sources 25 Metric Store 26 Chapter 3: Communications
27
Messaging and Dispatching 28 Local Preferred Dispatching 28 Log Message Processing 28 Planning Log Message Destinations in a Distributed Installation 29 Recommendation -- Consolidate Log Messages in a Distributed Environment Using a Remote Log Server 30 Recommendation -- Configure a Log File for Each Log Server 31 Database Connection Management 31 Content Store Database 31 Query Databases 32 Metric Store Databases 32 Microsoft .NET Framework Interactions 32 Port Usage 33 Request Flow Processing 33 Accessing IBM Cognos 8 34 Viewing a Report or Analysis 36 Running a Report or Analysis 36 Scheduling a Task to Run 38 Opening IBM Cognos Connection Folder 39 Running an Agent 40 Portal Pages 41 Chapter 4: Workflow
43
Table of Contents Configuring IBM Cognos 8 45 Monitoring Configuration Changes 45 Configuring Security 46 Configuring IBM Cognos 8 for Multilingual Reporting 46 Administering IBM Cognos 8 47 Using IBM Cognos 8 for Reporting and Analysis 47 Creating Reporting Models and Packages 47 Authoring Reports 49 Using IBM Cognos 8 for Scorecarding 50 Packaging in Metric Studio 50 Authoring Scorecarding Applications 51 Using IBM Cognos 8 to Create PowerCubes 51 Managing Events 51 Part 2: Deployment Chapter 5: Implementation Planning Checklist Chapter 6: Installation Options
53
55
Installing All Components on One Computer 55 Installing the Gateway on a Separate Computer 56 Installing Application Tier Components and Content Manager on Separate Computers 58 Multiple Installations of Content Manager 60 Modeling Tool Installation Options 61 IBM Cognos 8 with Other IBM Cognos Products 63 IBM Cognos Products That Can Be Upgraded to IBM Cognos 8 63 IBM Cognos Series 7 Products That Can Be Migrated to IBM Cognos 8 65 IBM Cognos Products That Interoperate with IBM Cognos 8 65 IBM Cognos Series 7 Content That Can Be Recreated in IBM Cognos 8 67 Chapter 7: Performance Planning
69
Capacity Planning 70 Estimating IBM Cognos 8 User Load 70 Assessing Application Complexity 72 Planning Infrastructure Components 72 Scalability Planning 75 Web Server and Gateway Scalability 75 IBM Cognos 8 Server Scalability 80 Availability Planning 81 IBM Cognos 8 Gateway Availability 81 IBM Cognos 8 Server Availability 82 Content Manager Availability 82 Content Store Availability 83 Chapter 8: Performance Monitoring and Tuning Performance Metrics 85 Database Tuning 87 Application Server Tuning 87 Changing Memory Settings 87 Setting Connection Limits 87 Web Server Tuning 88 4
85
Table of Contents IBM Cognos 8 Tuning 88 Designing Models and Reports for Performance 88 Tuning IBM Cognos 8 Dispatchers 89 Tuning the Report Service, Batch Report Service, and Report Data Service 90 Setting Affinity Connections 90 Best Practices for Scheduled Reporting 92 Best Practices for Report Bursting 93 PDF Rendering 94 Low Bandwidth Connections 95 Disk Maintenance 95 Monitoring IBM Cognos 8 Servers 95 Temporary Space for IBM Cognos 8 Servers 95 Advanced Report Processing Configuration Settings 96 Chapter 9: Globalization Considerations
97
Locales 98 Adding Fonts to the IBM Cognos 8 Environment 99 Changing the Language of the User Interface 100 Changing the Language of Reports, Data, or Metadata for Users 101 Customizing Currency, Numbers, Dates, and Times 103 Setting up a Multilingual IBM Cognos 8 Environment 104 Configuring a Database for Multilingual Reporting 105 Part 3: Security Chapter 10: Security Architecture
107
IBM Cognos Application Firewall 107 IBM Cognos Authentication Services 108 Cognos Namespace 108 Single Signon 109 IBM Cognos Authorization Services 109 Distributed Administration 109 Permissions 109 Cryptographic Services 110 Using a Third-party Certificate Authority 110 Standard Cryptographic Provider 110 Enhanced Cryptographic Providers 111 Chapter 11: Securing the Deployment
113
Techniques for Securing the Operating System 114 Techniques for Securing the Network 118 Securing the Application 119 Recommendation - Use IBM Cognos Application Firewall 119 Configuring the Cryptographic Environment 120 Securing Temporary Files 122 Techniques for Securing Access to IBM Cognos Connection 123 Securing IBM Cognos PowerCubes 127 Securing Data Source Signons 127 Securing the Content Store 128 Security Audit 129
131
Introduction
This document is intended for use with IBM Cognos 8. This document is for the business intelligence solutions architect who oversees the setup, administration, and use of IBM Cognos 8, a Web-based business intelligence solution with integrated reporting, analysis, scorecarding, and event management features. Part 1 describes the IBM Cognos 8 architecture from the perspectives of structure, communications, workflow, and security. Part 2 provides information to help you plan to install and configure IBM Cognos 8 and to maximize its performance. Part 3 describes the IBM Cognos 8 security architecture and provides guidelines for securing the deployment.
Audience
To use this guide effectively, you should already be familiar with your information technology infrastructure and with the business needs of the people in your organization who will use IBM Cognos 8.
Related Documentation
Our documentation includes user guides, getting started guides, new features guides, readmes, and other materials to meet the needs of our varied audience. The following documents contain related information and may be referred to in this document. Note: For online users of this document, a Web page such as The page cannot be found may appear when clicking individual links in the following table. Documents are made available for your particular installation and translation configuration. If a link is unavailable, you can access the document on the IBM Cognos Resource Center (http://www.ibm.com/software/data/support/cognos_crc.html).
Document
Description
IBM Cognos 8 Installation and Configuration Installing, upgrading, configuring, and testing Guide IBM Cognos 8, changing application servers, and setting up samples IBM Cognos 8 Administration and Security Guide Managing servers, security, reports, and portal services; and setting up the samples, customizing the user interface and troubleshooting Teaching new users how to use IBM Cognos 8 Creating and publishing models using Framework Manager Authoring scorecard applications and monitoring the metrics within them Architecture and Deployment Guide 7
Introduction
Document
Report Studio Professional Authoring User Guide Query Studio User Guide Analysis Studio User Guide
Description
Authoring reports that analyze corporate data according to specific needs Creating self-service business intelligence reports Exploring, analyzing, and comparing dimensional data Creating and managing agents that monitor data and perform tasks when the data meets predefined thresholds Using IBM Cognos Configuration to configure IBM Cognos 8 Using IBM Cognos Connection to publish, find, manage, organize, and view IBM Cognos content, such as scorecards, reports, analyses, and agents Managing IBM Cognos 8 processes and implementing custom reporting solutions by using a collection of cross-platform Web services, libraries, and programming interfaces provided with the IBM Cognos 8 SDK
IBM Cognos Enhanced Encryption Module for Installing and configuring the IBM Cognos OpenSSL Installation and Configuration Guide Enhanced Encryption Module for OpenSSL on Windows or UNIX
Finding Information
Product documentation is available in online help from the Help menu or button in IBM Cognos products. To find the most current product documentation, including all localized documentation and knowledge base materials, access the IBM Cognos Resource Center (http://www.ibm.com/software/ data/support/cognos_crc.html). You can also read PDF versions of the product readme files and installation guides directly from IBM Cognos product CDs.
Introduction
Getting Help
For more information about using this product or for technical assistance, visit the IBM Cognos Resource Center (http://www.ibm.com/software/data/support/cognos_crc.html). This site provides information on support, professional services, and education.
Introduction
10
12
network firewall IBM Cognos 8 Application Tier Components with dispatcher and Content Manager
Tier 2: Applications
network firewall JDBC Tier 3: Data Content store Metric stores API JDBC
Query databases
This information describes a single-server IBM Cognos 8 configuration. To meet your requirements, you can choose a different configuration. For more information, see "Installation Options" (p. 55).
User Interfaces
IBM Cognos 8 is configured using IBM Cognos Configuration. You also use IBM Cognos Configuration to start and stop IBM Cognos 8 services. In addition to IBM Cognos Configuration, IBM Cognos 8 has Web-based and Windows-based user interfaces.
Web-based interfaces
IBM Cognos Connection
Windows-based interfaces
Framework Manager
IBM Cognos Administration Metric Designer Query Studio Report Studio Transformer Map Manager
Web-based interfaces
Analysis Studio Event Studio Metric Studio
Windows-based interfaces
IBM Cognos 8 Go! Office
The interfaces that are available to users depend on user permissions and on the IBM Cognos 8 packages that your organization purchased.
14
Chapter 2: The Multitiered Architecture My Folders My Folders store personal IBM Cognos 8 content, such as reports, shortcuts, and jobs. User preferences The my area button includes links to My Watch Items, alert lists and watch rules that help you monitor business events; My Preferences, settings for format, language, time zone, contact information, and portal content; and My Activities and Schedules, status windows where you can set priorities for and monitor your IBM Cognos 8 activities. Link to tools and applications The Launch button provides links to the IBM Cognos 8 studios, Drill-through Definitions, which are used to navigate through related data when querying or analyzing data, and IBM Cognos Administration. For information about using IBM Cognos Connection, see the IBM Cognos Connection User Guide or the online Quick Tour. The open IBM Cognos 8 architecture means that you can choose to integrate IBM Cognos 8 into your organizations existing Web portal. You can use Portal Services, provided with IBM Cognos 8, to integrate IBM Cognos 8 with a number of portals, including SAP Enterprise IBM WebSphere Plumtree
Chapter 2: The Multitiered Architecture For information about using IBM Cognos Administration, see the Administration and Security Guide.
Query Studio
Using Query Studio, users with little or no training can quickly design, create and save reports to meet reporting needs not covered by the standard, professional reports created in Report Studio. For information about using Query Studio, see the Query Studio User Guide or the online Quick Tour.
Report Studio
Using Report Studio, report authors create, edit, and distribute a wide range of professional reports. They can also define corporate-standard report templates for use in Query Studio, and edit and modify reports created in Query Studio or Analysis Studio. For information about using Report Studio, see the Report Studio User Guide or the online Quick Tour.
Analysis Studio
In Analysis Studio, users can explore, analyze, and compare dimensional data. Analysis Studio provides access to dimensional, OLAP (online analytical processing), and dimensionally modeled relational data sources. Analyses created in Analysis Studio can be opened in Report Studio and used to build professional reports. For information about using Analysis Studio, see the Analysis Studio User Guide or the online Quick Tour.
Event Studio
In Event Studio, you set up agents to monitor your data and perform tasks when business events or exceptional conditions occur in your data that must be dealt with. When an event occurs, people are alerted to take action. Agents can publish details to the portal, deliver alerts by email, run and distribute reports based on events, and monitor the status of events. For example, a support call from a key customer or the cancellation of a large order may trigger an event, sending an email to the appropriate people. For information about using Event Studio, see the Event Studio User Guide or the online Quick Tour.
Metric Studio
In Metric Studio, you can create and deliver a customized scorecarding environment for monitoring and analyzing metrics throughout your organization. Users can monitor, analyze, and report on time-critical information by using scorecards based on cross-functional metrics. For information about using Metric Studio, see the Metric Studio User Guide for Authors.
16
Framework Manager
Framework Manager is the IBM Cognos 8 modeling tool for creating and managing business-related metadata for use in IBM Cognos 8 analysis and reporting. Metadata is published for use by reporting tools as a package, providing a single, integrated business view of any number of heterogeneous data sources. OLAP cubes are designed to contain sufficient metadata for business intelligence reporting and analysis. Because cube metadata may change as a cube is developed, Framework Manager models the minimum amount of information needed to connect to a cube. Cube dimensions, hierarchies, and levels are loaded at run time. For information about using Framework Manager, see the Framework Manager User Guide.
Metric Designer
Metric Designer is the IBM Cognos 8 modeling tool used to create extracts for use in IBM Cognos 8 scorecarding applications. Extracts are used to map and transfer information from existing metadata sources such as Framework Manager and Impromptu Query Definition (.iqd) files. For information about using Metric Designer, see the Metric Designer User Guide.
For more information about using IBM Cognos 8 Go! Office, see the IBM Cognos 8 Go! Office User Guide. For more information about configuring and deploying IBM Cognos 8 Go! Office clients, see the Installation and Configuration Guide.
Transformer
IBM Cognos 8 Transformer is the IBM Cognos 8 modeling tool used to create PowerCubes for use in IBM Cognos 8. Secured IBM Cognos 8 PowerCubes are not compatible with IBM Cognos Series 7. For information about installing and configuring versions of Transformer that are earlier than 8.4, see the documentation provided with your edition of Transformer.
Map Manager
Administrators and modelers use a Windows utility named Map Manager to import maps and update labels for maps in Report Studio. For map features such as country and city names, administrators and modelers can define alternative names to provide multilingual versions of text that appears on the map. For information about using Map Manager, see the Map Manager Installation and User Guide. Architecture and Deployment Guide 17
For information about configuring IBM Cognos 8 gateways, see the Installation and Configuration Guide.
18
Content Manager
Access Manager
Dispatcher
The dispatcher starts all IBM Cognos 8 services configured and enabled on a computer, and routes requests. The dispatcher is a multithreaded application that uses one or more threads per request. Configuration changes are routinely communicated to all running dispatchers. The dispatcher includes IBM Cognos Application Firewall to provide security for IBM Cognos 8. For more information, see "IBM Cognos Application Firewall" (p. 107). The dispatcher can route requests to a local service, such as the report service, presentation service, job service, or monitor service. A dispatcher can also route requests to a specific dispatcher to run a given request. Requests can be routed to specific dispatchers based on load-balancing needs, or package or user group requirements. For example, if a particular OLAP data source is available for only one IBM Cognos server group, you specify that all requests for the data source be routed to that IBM Cognos server group. For more information about routing requests based on packages or user groups, see the Administration and Security Guide. When you configure IBM Cognos 8 gateways, you can list the universal resource identifiers (URIs) of target dispatchers in order of most to least preferred. If a dispatcher fails, requests are routed to another dispatcher based on the list. The primary dispatcher status is monitored by the gateway, and requests are routed back to this component when it returns to service. For more information, see the Installation and Configuration Guide. When a dispatcher starts, it registers itself with Content Manager. As a result, each dispatcher is aware of the other dispatchers. If a dispatcher fails or is unavailable, requests for that dispatcher are routed to the next available dispatcher until the failed dispatcher reregisters itself.
Service
Agent service
Purpose
Runs agents. If the conditions for an agent are met when the agent runs, the agent service asks the monitor service to run the tasks. Manages background requests to run reports and provides output on behalf of the monitor service. Performs object manipulation functions in the content store, such as add, query, update, delete, move, and copy Performs content store management functions, such as import and export
Manages the execution of data movement tasks in IBM Cognos 8. Data movement tasks, such as Builds and JobStreams, are created in Data Manager Designer and published to IBM Cognos 8. Sends emails to an external SMTP server on behalf of other services, such as the report service, job service, agent service, or data integration service Creates, schedules, and manages event objects that represent reports, jobs, agents, content store maintenance, deployment imports and exports, and metrics Runs jobs by signaling the monitor service to run job steps in the background. Steps include reports, other jobs, import, exports, and so on.
Delivery service
Job service
20
Service
Log service
Purpose
Records log messages generated by the dispatcher and other services. The log service can be configured to record log information in a file, a database, a remote log server, Windows Event Viewer, or a UNIX system log. The log information can then be analyzed by customers or by Cognos Software Services, including: security events system and application error information selected diagnostic information
Provides the Metric Studio user interface for monitoring and entering performance information Manages the migration from IBM Cognos Series 7 to IBM Cognos 8. Manages the monitoring and execution of tasks that are scheduled, submitted for execution at a later time, or run as a background task Assigns a target service to handle a scheduled task. For example, the monitor service may ask the batch report service to run a report, the job service to run a job, or the agent service to run an agent. Creates history objects within the content manager and manages failover and recovery for executing entries
Migration service
Monitor service
Manages communications with the Planning Job Server subsystem. Manages communications with Contributor Web and Contributor Add-in for Excel users.
Planning administration console service Manages communication with the Contributor Administration Console. Planning data service Manages communications for real-time reporting from Contributor plan data in IBM Cognos 8.
Service
Presentation service
Purpose
Transforms generic XML responses from another service into output format, such as HTML or PDF Provides display, navigation, and administration capabilities in IBM Cognos Connection
Manages the transfer of report data between IBM Cognos 8 and applications that consume the data, such as IBM Cognos 8 Go! Office and IBM Cognos 8 Go! Mobile. Manages interactive requests to run reports and provides output for a user in IBM Cognos Connection or a studio Defines the Business Intelligence Bus API-compliant service used to obtain application-wide IBM Cognos 8 configuration parameters. It also provides methods that normalize and validate locale strings and map locale strings to locales supported by your application.
Report service
System service
Content Manager
Content Manager is the IBM Cognos 8 service that manages the storage of customer application data, including security, configuration data, models, metrics, report specifications, and report output. Content Manager is needed to publish packages, retrieve or store report specifications, manage scheduling information, and manage the Cognos namespace. Content Manager stores information in a content store (p. 24) database, which is typically located in Tier 3 of the architecture.
22
Content Manager
Cryptographic service
Content store
Authentication store
Your installation may include more than one Content Manager, each on a different computer. One Content Manager computer is active and one or more Content Manager computers are on standby. The standby Content Manager computers are for failover protection. If the active Content Manager computer is not available because of a software or hardware failure, a standby Content Manager computer becomes active and requests are directed to it. When the active Content Manager fails, unsaved session data is lost. When another Content Manager becomes active, users may be prompted to log on. Although we describe Content Manager as part of the applications tier, for maximum security you can choose to configure IBM Cognos 8 with Content Manager in the data tier. The information stored by Content Manager includes reports Reports contain specifications, properties, security settings, and outputs. This includes analyses created in Analysis Studio, queries created in Query Studio, and reports created in Report Studio. report packages Packages contain metadata, reports, and folders. metric packages Metric packages contain metadata, scorecards, and folders. agents Agents include the conditions, schedules, and tasks used to monitor events and deliver notifications. This includes the list of recently detected instances of an event. server configuration Server configuration contains directory information, the Cognos namespace (p. 108), and information about contacts, distribution lists, data sources, and printers.
Chapter 2: The Multitiered Architecture personal user information Personal user information consists of My Folders and My Pages. language information Language information includes names, descriptions, and tool tips in different languages to support IBM Cognos 8 multilingual capabilities. Content Manager performs general functions, such as add, query, update, delete, move, and copy. It also performs content store management functions, such as export and import.
Access Manager
Content Manager contains Access Manager, the primary security component of IBM Cognos 8. Access Manager leverages your existing security providers for use with IBM Cognos 8. It provides IBM Cognos 8 with a consistent set of security capabilities and APIs, including user authentication (p. 108), authorization (p. 109), and encryption (p. 110). It also provides support for the Cognos namespace (p. 108). Some security capabilities, such as user authentication, are external to IBM Cognos 8 but are exposed to IBM Cognos 8 by Access Manager. Other capabilities, such as authorization, are internal to IBM Cognos 8, and are implemented by Access Manager. For many security-related functions, Access Manager requires certificates, and interacts with a certificate authority. By default, IBM Cognos 8 uses its own certificate authority service to establish the root of trust in the IBM Cognos 8 security infrastructure. If you use a third-party certificate authority, you can configure IBM Cognos 8 to use it instead of the default IBM Cognos 8 certificate authority. For more information, see "Security Architecture" (p. 107).
Content Store
The content store is a relational database that contains data that IBM Cognos 8 needs to operate, such as report specifications, published models, and the packages that contain them; connection information for data sources; information about the external namespace, and the Cognos namespace itself; and information about scheduling and bursting reports. The relational database can be Cognos Content Database or another supported database. Design models and log files are not stored in the content store. IBM Cognos 8 includes the IBM Cognos Content Database as a default content store. You can use the IBM Cognos Content Database as your content store, or you can use other databases, such as Microsoft SQL Server, Oracle, IBM DB2, or Sybase.
24
Chapter 2: The Multitiered Architecture The IBM Cognos 8 service that uses the content store is named Content Manager. Content Manager uses a JDBC (Java DataBase Connectivity) API to access the content store and metric stores. IBM Cognos 8 comes with the JDBC drivers for IBM Cognos Content Database and MS SQL Server. If you are using Oracle, IBM, or Sybase databases, ensure you obtain the appropriate JDBC drivers. IBM Cognos 8 does not publish the content store schema, but updates the schema periodically, isolating changes from the user through stable user interfaces and APIs. Much of the information in the content store, such as report results and XML report specifications, is stored as binary large object (BLOB) fields. PDF results are compressed from creation, to storage, to serving, to the browser. The PDF format does not allow the main body of a report to be compressed, but the page contents, fonts, and images are compressed. Adobe Acrobat Reader uncompresses PDF files at view time. Report results in other formats, such as HTML, XML, and CSV (comma separated values), are stored in compressed form and are uncompressed by Content Manager before they are sent to a user.
Data Sources
Data sources, also known as query databases, are relational databases, dimensional cubes, files, or other physical data stores that can be accessed through IBM Cognos 8. Application Tier Components use data source connections to access data sources.
Chapter 2: The Multitiered Architecture In the following scenario, the EII product models a set of databases, producing a unified view as a single virtual data source. IBM Cognos 8 accesses the EII service as though it were a single database, and the EII service joins data from the various enterprise data sources as needed.
network firewall JDBC Tier 3: Data Content store Enterprise Information Integrator (EII) Service API
EII modeling
Metric Store
A metric store is a relational database that contains content for metric packages. A metric store also contains Metric Studio settings, such as user preferences. More than one metric store may be created. For example, one metric store may contain content for a sales application and another metric store may contain content for a finance application.
26
Chapter 3: Communications
IBM Cognos 8 components communicate with each other, and with any additional applications integrated with IBM Cognos 8, using the BI Bus. The BI Bus is an open, documented, Simple Object Access Protocol (SOAP) API that supports Web Services Definition Language (WSDL). For information about integrating applications with IBM Cognos 8 components, see the IBM Cognos 8 Software Development Kit Developer Guide. The BI Bus is not a software component like Content Manager or IBM Cognos 8 server, but a set of protocols that govern communications among IBM Cognos 8 services. It also defines how industry standards and protocols are used with IBM Cognos 8, enabling IBM Cognos 8 to be a fully open system.
IBM Cognos 8 user interfaces network firewall IBM Cognos 8 gateways Tier 1: Web server
Web server
network firewall
Tier 2: Applications
IBM Cognos 8 Application Tier Components with dispatcher and Content Manager
network firewall
JDBC API JDBC
Query databases
Everything that is managed through IBM Cognos Connection (p. 14) or your portal is exposed through the BI Bus. This includes packages, folders, reports, analyses, events, directory objects, servers, deployment objects, and metadata. Using an API through the IBM Cognos 8 SDK, you can create, read, update, and delete these objects, and set security and other properties. The processes enabled by the BI Bus protocol include messaging and dispatching log message processing database connection management Microsoft .NET Framework interactions port usage
Configure logging
Set up logging
28
Chapter 3: Communications During planning, determine the logging configuration that is suitable for your environment. For example, evaluate various log message destinations, such as remote log servers and log files, such as the UNIX or Linux syslog or the Windows NT Event log, in addition to the local log file. You can also send only audit logging information to a database. Consider security, such as methods available for protecting log files from system failures and user tampering. For information about planning, see the Architecture and Deployment Guide. During configuration, define the startup properties for logging, such as connection settings for databases. You must also create a logging database if you plan to collect audit logs. If communication between a local log server and a remote log server must be secured, make the appropriate configuration changes on both IBM Cognos 8 computers. For information about configuring logging, see the Installation and Configuration Guide. When setting up logging, specify the level of detail to log to focus messages on the information that is relevant in your organization. Audit reports may also be set up to track user and report activity. For information about setting up logging, see the Administration and Security Guide.
For information about using log messages to solve problems and resolving logging-related issues, see the Troubleshooting section of the Administration and Security Guide.
Log server
Log server
File
You can also configure IBM Cognos 8 to send audit log information from each log server to a common database. The common database can be on the same computer as one of the log servers, or on a different computer.
Chapter 3: Communications
Computer B
IBM Cognos 8 component IBM Cognos 8 component
Log server
Log server
Database
The local log server provides failover and recovery processes in the following three circumstances: When the local log server is configured to send log information to a remote log server that is not available, log information from the local log server is stored in local recovery files. When the remote log server becomes available, an automatic recovery process moves information from the local recovery files to the remote log server, and deletes the local recovery files. When local IBM Cognos 8 components are configured to communicate with the local log server using a TCP connection and this connection is not available, log information for these local components is stored in local recovery files. When the TCP connection becomes available, an automatic recovery process moves information from the local recovery files to the remote log server, and deletes the local recovery files. When a log server is configured to send audit log information to a database, and the connection between the log server and the database fails, no information is logged in the database. When the connection is restored, information about the connection failure and restoration is stored in the local log file, if it exists, and the log server resumes sending new log information to the database. This information stored in the local log file is not stored in the logging database.
For information about specifying where to send log messages and configuring TCP connections, see the Installation and Configuration Guide.
Recommendation -- Consolidate Log Messages in a Distributed Environment Using a Remote Log Server
In a default configuration, the local log server on each Content Manager or Application Tier Components computer writes log messages to a local file. Configurations that consolidate the contents of individual log files may improve usability and performance. Consider consolidating log messages produced on each IBM Cognos 8 computer by sending them to a remote log server. Configure the remote log server to send all messages to a single log file or to send audit logs to a database (p. 29).
30
Chapter 3: Communications Log messages may be easier to interpret if all messages from each IBM Cognos 8 computer appear in a consolidated location. For example, the log messages can then be sorted by their timestamp to determine the order in which events on various IBM Cognos 8 computers occurred. If you are using a database to capture audit log messages, performance may be improved if you route all audit log messages to a single log server that sends messages to the database. If a single log server is not used, the local log server on each IBM Cognos 8 computer would require its own connection to the database. Another benefit of using a single log server with a database is that configuration changes to the database are easier to maintain. You must update the configuration of only the remote log server.
Chapter 3: Communications
Query Databases
The IBM Cognos 8 server computer accesses the query databases. You can configure the maximum number of query database connections available to the IBM Cognos 8 server computer, and the duration that connections are retained. A cleanup thread examines the connections every minute. Any connection that has been inactive longer than the time-out value is removed. Inactive query database connections can be claimed by a new request. This occurs when the maximum number of connections has been reached and none of the inactive connections can be used by the new request. In this case, the oldest inactive connection is terminated and a new connection is created. A query database connection is only reused when the database credentials of the connection match those of the new request. If the maximum number of connections is reached, and all are active, additional requests fail.
Metric Studio accesses the metric store database. Metric Designer is used to define jobs that extract data from other query databases and populate the metric store database, although you can also manually create processes to do this.
32
Chapter 3: Communications The Microsoft .NET Framework does not have to be installed on your IBM Cognos 8 server. IBM Cognos 8 Go! Office can run on any supported IBM Cognos 8 server platform. For information about configuring IBM Cognos 8 Go! Office, see the Installation and Configuration Guide.
Port Usage
All communication between IBM Cognos 8 components, except for IBM Cognos Content Database and log server communication, can take place through one incoming port. This is true whether components are on the same computer or on different computers and whether communication is all non-SSL protocol or all SSL protocol. The default port number is 9300. If IBM Cognos 8 is configured to use a combination of non-SSL protocol and SSL protocol, communication takes place through two ports. You can use the default port for the non-SSL protocol communication and use a different port, such as 9334, for the SSL protocol communication. Log server communication must take place through a unique port. The default port is 9362. You can configure log server communication to use either non-SSL or SSL protocol. Framework Manager, Metric Designer, and IBM Cognos 8 Transformer can communicate with the IBM Cognos 8 server using either of two routes: through the Web server gateway, or directly to the Application Tier Components dispatcher. For more information see "Modeling Tool Installation Options " (p. 61). Communications with other software products, such as databases and authentication providers, use the ports required by those products. For information about using SSL and specifying where to send log messages, see the Installation and Configuration Guide.
Anonymous Access
1 Web browser
When a user requests anonymous access to IBM Cognos 8, the following occurs:
1. The user attempts to access the IBM Cognos 8 Welcome page or any other IBM Cognos 8 user interface from a Web browser, sending a request to the IBM Cognos 8 gateway. The IBM Cognos 8 gateway accepts the request and sends it to a dispatcher. The dispatcher notes that there is no passport attached to the request, and sends the request to Content Manager. Content Manager sends the request to Access Manager. Anonymous access is enabled in this IBM Cognos 8 system, so a passport is attached to the request and the request is returned through Content Manager to the dispatcher. The dispatcher processes the request and sends it to the presentation service. The presentation service sends the Welcome page back through the dispatcher and the gateway to the user.
2. 3. 4. 5.
6. 7.
34
Chapter 3: Communications
Authenticated Access
1 Web browser 9
5 12
7 14
When a user requests authenticated access to IBM Cognos 8, the following occurs:
1. The user attempts to access the IBM Cognos 8 Welcome page or any other IBM Cognos 8 user interface from a Web browser, sending a request to the IBM Cognos 8 gateway. The gateway accepts the request and sends it to a dispatcher. The dispatcher notes that there is no passport attached to the request and sends the request to Content Manager. Content Manager sends the request to Access Manager. Anonymous access is disabled in this IBM Cognos 8 system, so Access Manager sends the request back to Content Manager with a fault attached. The fault contains information about what is needed to log on. For example, if there are multiple namespaces, the user may be required to select a namespace. If there is only one namespace, the user may be required to provide a user ID and password. Content Manager returns the request with the attached fault to the dispatcher. The dispatcher sends the request to the presentation service. The presentation service creates the appropriate logon page for the user, and returns the page through the dispatcher and the gateway to the user. The user enters the required information, such as a user ID and password. The information is attached to the original request and sent through the gateway to the dispatcher.
2. 3. 4. 5.
6. 7. 8.
9.
10. The dispatcher sends the request to Content Manager. 11. Content Manager sends the request to Access Manager. 12. If all the required information is correct, Access Manager issues a passport, attaches it to the original request, and sends the request back to Content Manager. If the required information is incorrect or incomplete, then the request faults back to step 9. 13. Content Manager sends the request to a dispatcher. 14. The dispatcher processes the request and sends it to the presentation service.
Chapter 3: Communications
15. The presentation service sends the Welcome page back through the dispatcher and the gateway to the user.
2 Presentation service
When an authenticated user views a saved HTML or PDF report or analysis through IBM Cognos Connection, the following occurs:
1. The user clicks a report or analysis to view it, and the request goes through the gateway and the dispatcher to the presentation service. The presentation service returns the Cognos Viewer through the dispatcher and gateway to the browser. The Cognos Viewer has an HTML frame that shows the report or analysis page. The data view of the page contains a URL to a Content Manager object to be displayed. The browser sends the URL through the gateway and dispatcher to Content Manager. Content Manager checks with Access Manager to see whether the user has read privileges for the report or analysis. To do this, Content Manager sends Access Manager the access control lists for the report or analysis, the attempted action (read), and the user information. Access Manager determines that the user can perform the action, and Content Manager sends the report or analysis in the form of an HTML page or PDF document through the dispatcher and gateway to the user. When serving a PDF report or analysis, byte serving is used.
2.
3. 4.
5.
36
Chapter 3: Communications
When a user runs an HTML report or analysis through IBM Cognos Connection, the following occurs:
1. The user clicks a report or analysis to run it, and the request goes through the gateway and the dispatcher to the presentation service. The presentation service sends the request to the report service through the dispatcher. The report service requests the report or analysis and metadata from Content Manager, through the dispatcher. Content Manager sends the report or analysis XML specifications and metadata to the report service. Content Manager refreshes metadata only when IBM Cognos 8 is stopped and restarted or the model is updated and republished. The report service returns one of these results to the presentation service: 6. an error page a not ready page a page of an HTML report or analysis
2. 3. 4.
5.
The presentation service sends one of these results through the dispatcher and gateway to the browser: an error page a wait or cancel page a page of a completed HTML report or analysis in the Cognos Viewer interface
When the user presses page down or page bottom in the browser, the same path is followed again. The request has a high state of request affinity to ensure that it is routed to the same report service for additional rows of data. The report is cached so that the process does not have to restart.
Chapter 3: Communications
When a user runs a PDF report or analysis through IBM Cognos Connection, the following occurs:
1. The user clicks a report or analysis to run it, and the request goes through the gateway and the dispatcher to the presentation service. The presentation service sends the request to the report service through the dispatcher. The report service requests the report XML specification and metadata from Content Manager, through the dispatcher. Content Manager sends the report XML specification and metadata to the report service. Content Manager refreshes metadata only when IBM Cognos 8 is stopped and restarted or the model is updated and republished. The report service returns one of these results to the presentation service: 6. an error page a not ready page a PDF report or analysis
2. 3. 4.
5.
The presentation service sends the PDF result to Content Manager for storage in the user's session temporary area. Byte serving is used. The wait/cancel page polls every few seconds to see if the report or analysis is complete. When it is complete, the Cognos Viewer HTML frame content is replaced with the PDF. A request is sent through the gateway and the dispatcher to the Content Manager and back with the PDF.
7.
38
Chapter 3: Communications
Web browser
Monitor service 4 3 5 7
Target services
2.
3.
4.
5. 6.
7.
Chapter 3: Communications
Web browser 1
IBM Cognos 8 server Content Manager 4 3 IBM Cognos Access Manager Dispatcher
5 Presentation service 2
When a user opens a folder in IBM Cognos Connection, the following occurs:
1. The user clicks a folder to open it, and the request goes through the gateway and the dispatcher to the presentation service. The presentation service sends the request to Content Manager through the dispatcher. Content Manager checks with Access Manager to determine whether access is granted. Content Manager sends the folder contents or an error message to the presentation service. The presentation service formats the appropriate HTML page and sends it through the dispatcher and the gateway to the user.
2. 3. 4. 5.
Running an Agent
You can run agents to monitor your data and detect occurrences of business events.
40
Chapter 3: Communications
Web browser 1
8 Monitor service IBM Cognos Access Manager 2 3 7 Agent service 5 6 Batch reporting service Target services
When the user clicks an agents run link, the following occurs:
1. 2. 3. The request goes through the gateway and the dispatcher to the monitor service. The monitor service authenticates the request and creates a history in Content Manager for the agent run. The monitor service forwards the request to the agent service. The monitor service maintains the asynchronous protocol (wait/cancel) on behalf of the gateway. The agent service requests the agent definition and the previous agent event list from Content Manager. The agent service executes the agent condition through the batch report service. The agent service compares the generated result set with the previous event list, and creates and stores the updated agent event list in Content Manager. Based on the authored agent tasks, the agent service executes its tasks through the monitor service. The monitor service creates a history in Content Manager for each step and forwards the request (maintaining the asynchronous protocol) to the relevant service. For example, email messages are forwarded to the delivery service, reports are forwarded to the batch report service, and jobs are forwarded to the job service.
4. 5. 6.
7. 8.
Portal Pages
Whether you are using IBM Cognos Connection or another portal, all IBM Cognos functionality is available on the BI Bus. You can search for reports and view them in the portal and perform additional analysis, if needed. You can also monitor, configure, and administer IBM Cognos users and content using the portal. Whether you are working with reports or performing administration tasks, requests are sent to the BI Bus and then forwarded to the appropriate IBM Cognos 8 service for processing.
Chapter 3: Communications The following IBM Cognos functions are commonly provided through portlets: Cognos Navigator retrieves selected content. Cognos Search finds and opens published content. Cognos Viewer shows content selected in Cognos Navigator or Cognos Search.
For each portlet, all security permissions and credentials are inherited and passed along through the request. For example, if you go to a particular folder or search for a particular object, only those objects that you have permission to view are returned. Similarly, if you click a report in the Cognos Navigator or Search portlet, the report identifier and security credentials are included with the request. You can view the report in either the same portlet or a new portlet, but only the data that you have access to will appear.
42
Chapter 4: Workflow
The series of tasks that people in your organization will perform to understand, install, configure, and use IBM Cognos 8 include the following: planning for implementation (p. 44) Implementation planning should be done before installing and configuring IBM Cognos 8. It is typically carried out by a team assembled and led by the business intelligence solutions architect. installing and configuring (p. 44) IBM Cognos 8 Technical personnel install and configure IBM Cognos 8, typically under the direction of the business intelligence solutions architect. administering IBM Cognos 8 (p. 47) Administrators establish and maintain security, set up multilingual capabilities, install fonts, manage report distribution, and perform ongoing administration. working with models and packages to author reports and analyses for viewing (p. 47) Modelers create one or more metadata models, and use those models to publish packages that can be used to author reports and analyses (p. 47). Authors use published models to create and maintain reports and analyses (p. 49). Report users view and print reports and analyses through IBM Cognos Connection. For more information, see the IBM Cognos Connection User Guide. Authors and report users import report data to Microsoft Office workbooks and presentations using IBM Cognos 8 Go! Office (p. 50). creating scorecarding applications and monitoring metrics (p. 50) Scorecard authors create packages that contain connection, report, and maintenance task information (p. 50). Authors then deploy, maintain, and access scorecard applications in Metric Studio (p. 51). Business users use metrics to monitor and analyze performance in key business areas. For more information, see the Metric Studio User Guide for Authors. creating Transformer models and PowerCubes (p. 51) Modelers create one or more metadata models and then use those models to create PowerCubes that can be used in reporting and analysis managing events (p. 51) Users create agents to monitor data and detect occurrences of business events.
Chapter 4: Workflow
Plan Plan for implementation Install, configure, and administer
Install IBM Cognos 8
Use
one-time task
You can install the components on one computer, or distribute them across a network. Before installing IBM Cognos 8, choose the appropriate installation and configuration option (p. 55). You must also install Framework Manager (p. 17), a Windows-based metadata modeling tool. The studio interfaces are HTML- and JavaScript-based, and do not require installation.
44
Chapter 4: Workflow You can choose to install optional Windows-based metadata modeling tools. If you plan to use IBM Cognos 8 for scorecarding, you can install Metric Designer (p. 17). If you plan to create PowerCubes in IBM Cognos 8, you can install IBM Cognos 8 Transformer (p. 17).
Unattended Installation
If you plan to install an identical IBM Cognos 8 configuration across several computers on a network, or to install multiple configurations, you can set up and run an unattended installation. This is a noninteractive method of installing and configuring IBM Cognos 8 in which all the tasks run automatically, without user intervention. You can run the unattended installation as part of a script, or from the command line. An unattended installation is useful if you must install IBM Cognos 8 at different geographic locations, some of which have no technical personnel to perform the installation. For more information, see the Installation and Configuration Guide.
Chapter 4: Workflow This file records locale settings used for multilingual reporting. An example is coglocale_ 200211261401.xml If you are unable to save a configuration, or you have problems with a configuration, you can revert to a previous configuration file. You can use the files to review your configuration history. Before calling Cognos Software Services for help, print a history of the configuration changes made in IBM Cognos 8. For more information about the cogstartup.xml and coglocale.xml files, see the Installation and Configuration Guide. For information about troubleshooting, see the Troubleshooting section of the Administration and Security Guide.
Configuring Security
IBM Cognos 8 integrates with an existing security infrastructure to provide user authentication. IBM Cognos 8 can secure content by using the user and group definitions from your security system, without any changes required. An Cognos namespace is included to provide the optional ability to define additional groups for securing content. These groups can simplify security administration by including users and groups from one or more authentication providers. IBM Cognos 8 includes IBM Cognos Application Firewall, which is included with the dispatcher to validate and filter incoming and outgoing traffic at the dispatcher layer. By default, IBM Cognos Application Firewall is enabled. IBM Cognos 8 also provides an authorization facility for assigning permissions to users defined in the authentication provider. It also provides a standard certificate authority (CA) for setting up encryption. Enhanced capabilities are available separately upon request. If you intend to set up security for IBM Cognos 8, it should be the first thing you do after installation (p. 107). For information about setting up and maintaining security, see the Administration and Security Guide.
Installing Fonts
IBM Cognos 8 uses fonts to render PDF reports and to render charts used in PDF and HTML reports. To show output correctly, fonts must be available where the report or chart is rendered. This may involve installing additional fonts on the IBM Cognos 8 server, and on the personal computers of IBM Cognos 8 users. If users specify a font that is not installed, IBM Cognos 8 substitutes a default font. For more information, see "Adding Fonts to the IBM Cognos 8 Environment" (p. 99).
Configuring Browsers
IBM Cognos 8 uses the default browser configurations of supported browsers. To ensure that IBM Cognos 8 operates effectively, you should check your browser configuration settings and modify them if necessary. For information, see "Globalization Considerations" (p. 97). 46
Chapter 4: Workflow
For information about using IBM Cognos Connection, see the IBM Cognos Connection User Guide. For information about administration, setting up sample report projects and models, and troubleshooting problems, see the Administration and Security Guide.
Author
View
Create a model
one-time task
Publish packages
Author reports
Chapter 4: Workflow Creating models and publishing packages are tasks that should be planned carefully. Models and packages that are well-designed from the start ensure that user requirements are met, data is secure, and your IBM Cognos 8 application can be easily administered. To understand the modeling and packaging process, users can study the sample models, packages, and reports provided with IBM Cognos 8. For information about setting up the samples, see the Administration and Security Guide. For IBM Cognos 8 reporting, models and packages are created using Framework Manager. The following topics provide an overview. For more information, see the Framework Manager User Guide.
Modeling
Framework Manager is used to create a model that provides users with a single, integrated, business view of the database, and to provide IBM Cognos 8 with information about how data is accessed, related, and secured. A model that is designed to meet user requirements adds significant value to your data. It structures, adds to, and manages the data in ways that make sense to business users. Creating a model is an important task that should be planned and executed by a modeler or a modeling team familiar with both the database structure and the needs of your business users. When you create a model, you specify the metadata to import from data sources defined in the IBM Cognos 8 content store refine the metadata by adding business names, descriptions, multilingual values, calculations, filters, and other components specify joins and relationships organize the data for presentation in ways that make sense to business users and add value to your databases add security to the metadata to determine who can use the metadata and for what purposes
Packaging
After a model is created, packages are published to locations on the IBM Cognos 8 server where report authors can use them to create reports. A different package, containing only the necessary information, can be published for each group of users. Reports cannot contain data from more than one package. When publishing a package, it is important to ensure that the package contains all the data required to meet the needs of the intended users. The hierarchical structure of a package controls the way in which folders, reports, and other data objects are structured in the interface used by the report author. It also controls how security is applied to the objects, and how easy it is to deploy the package to other environments. As a result, it is important to ensure that the structure of a package makes sense from the perspective of a business user, and not just from an administrative perspective.
48
Chapter 4: Workflow
Authoring Reports
IBM Cognos 8 can be used to create many different types of reports, including lists, crosstab reports, charts, master and detail reports, and user-designed reports. You create planned, professional reports in Report Studio, and ad hoc reports in Query Studio. You can explore and analyze data in Analysis Studio. You can use report data from Report Studio, Query Studio, and Analysis Studio in Microsoft Office applications through Cognos 8 Go! Office. The IBM Cognos 8 architecture is fully open to third-party products and to custom development. IBM Cognos 8 can be integrated with existing transaction-based Web products or portals. For information about custom development, see the IBM Cognos 8 SDK Developer Guide. For information about integrating IBM Cognos 8 with other enterprise portals, see the Administration and Security Guide.
Query Studio
Report authors and users create ad hoc reports using Query Studio. Ad hoc reports, also called ad hoc queries, can be created quickly, with little or no training, to meet reporting needs not covered by standard, professional reports. Authors can save query specifications for future revision, or as templates for other new reports. Reports can be made available in interactive mode, so that users can expand them, or in read-only mode. Reports created in Query Studio can be viewed and edited in Report Studio. Before creating ad hoc queries, users should complete the tutorial provided to familiarize themselves with best practices in report creation. For more information, see the Getting Started Guide. For information about Query Studio, see the Query Studio User Guide.
Report Studio
Report authors create professional reports using Report Studio. Planned reports are standard, professional reports designed to meet specific, recurring needs of business users. Authors can also use Report Studio to edit reports generated in Query Studio. To create a report in Report Studio, an author specifies the model that will provide data for the report. The author then builds a report specification that defines the queries and prompts used to retrieve the data. The author also creates the layouts and styles used to present the data. In addition to creating new reports, authors can modify existing reports. Before creating reports for corporate use, report authors should use the tutorial provided to familiarize themselves with best practices in report creation. For more information, see the Getting Started Guide. For information about Report Studio, see the Report Studio User Guide.
Analysis Studio
In Analysis Studio, users can explore, analyze, and compare dimensional data. Analysis Studio provides access to dimensional, OLAP (online analytical processing), and dimensionally modeled relational data sources. Analyses created in Analysis Studio can be opened in Report Studio and used to build professional reports.
Chapter 4: Workflow Before creating an analysis, the administrator must have created a package in Framework Manager and published it to a location in the IBM Cognos Connection portal for user access. Users can then select the package and find the data they require for the analysis. Users may also choose to share findings with others. For information about using Analysis Studio, see the Analysis Studio User Guide or the online Quick Tour.
Package
Author
Monitor
Create packages
Monitor metrics
one-time task
50
Chapter 4: Workflow
Deploy
View
Update PowerCubes
one-time task
Make PowerCube available to IBM Cognos 8 server Publish PowerCube data source and package Make PowerCubes available to users
Managing Events
An event is any situation that can affect the success of your business. To ensure that the appropriate personnel are made aware of an event, you create agents in Event Studio to monitor your data and detect occurrences of business events.
Chapter 4: Workflow
52
54
network firewall
Content store
Query database
Metric stores
The following diagram provides a more detailed view of an IBM Cognos 8 installation in which all server components are installed on a single computer. The modeling components, such as Framework Manager, Metric Designer, and Transformer, can be installed on different computers.
Web browser
BI Bus
Dispatcher
Content Manager
JNI
Report service Batch Report service Report Data service Presentation service Event Management service Monitor service Job service Agent service Delivery service Data Integration service Metrics Manager service HTTP request/ response BI Bus interface Dispatcher interface Servlet container Log service Migration service
Access Manager
If IBM Cognos 8 is installed on a Windows platform, you can install the modeling tools on the same computer. If IBM Cognos 8 is installed on a UNIX or Linux platform, you must install the Windows-based modeling tools on a separate computer that runs under Windows.
56
Chapter 6: Installation Options cessing may be required if you have a network firewall between the Web server and your Application Tier Components computers. In the following diagram, the Web server has a gateway installed. Incoming requests are passed to the gateway and forwarded to the Application Tier Components computer. If request information is not saved, the result is returned from the Application Tier Components computer. If request information is saved, it is saved in the content store.
Web server Gateway
network firewall
network firewall
Content store
Query database
Metric stores
The following diagram provides a more detailed view of an installation in which the gateway is on a separate computer from other IBM Cognos 8 components. In this example, two Web servers are used, each with a gateway.
Web browser
BI Bus
Dispatcher
Content Manager
JNI
Report service Batch Report service Report Data service Presentation service Event Management service Monitor service Job service Agent service Delivery service Data Integration service Metrics Manager service Log service Migration service Servlet container Dispatcher interface
Access Manager
Computer C
58
Chapter 6: Installation Options You may also choose to install Content Manager on a separate computer if large volumes of data are managed by Content Manager. In this type of environment, IBM Cognos 8 scalability can be improved by increasing the size of the processor on which Content Manager is installed. In the following diagram, incoming requests are routed to a gateway. The gateway forwards the request to the Application Tier Components computer. The Application Tier Components computer forwards it to the active Content Manager computer, which queries the content store and sends the results back to the Application Tier Components computer for rendering.
Web server Gateway
network firewall
network firewall
network firewall
Content store
Query database
Metric stores
The following diagram shows a more detailed view of an IBM Cognos 8 installation in which separate computers are used for Application Tier Components and the Content Manager. This example shows only one installation of Application Tier Components, however the IBM Cognos 8 environment can include multiple Application Tier Components computers.
Dispatcher
Report service Batch Report service Report Data service Presentation service Event Management service Monitor service Agent service Delivery service Data Integration service Metrics Manager service Log service Migration service Servlet container Computer A: Application Tier Component Installation
BI Bus
Dispatcher
Content Manager
JNI
Access Manager
60
Chapter 6: Installation Options When the active Content Manager fails, unsaved session data is lost. When another Content Manager becomes active, users may be prompted to log on.
Chapter 6: Installation Options If you use a Web server other than Microsoft IIS, we recommend that you configure the modeling tool to communicate through your Web server gateway (Route 1). This eliminates the need to set up additional communications channels if you use firewalls to separate the modeling tool, your Web server, and your Application Tier Components.
network firewall Application Tier Components 2 Communication with Application Tier Components
network firewall
To avoid communication issues when communicating directly with the dispatcher, install the modeling tool in the same architectural tier as the Application Tier Components.
62
Modeling tool
network firewall
Alternatively, you can install an additional gateway that is dedicated for communication with the modeling tool. You then configure the modeling tool and its gateway such that the dispatcher will accept requests from the modeling tool. In addition to the environment properties that must be configured for the modeling tool, you must configure the Dispatcher URIs for gateway property on the dedicated gateway computer.
ReportNet
For ReportNet and IBM Cognos 8 to run concurrently, each version must have unique ports, content stores, aliases, and cookie settings. If you use the default settings, configuration is required only to select new ports and a new content store for IBM Cognos 8. You cannot use data from ReportNet directly in IBM Cognos 8 until you upgrade ReportNet. When you upgrade to IBM Cognos 8, the content store is upgraded to use the IBM Cognos 8 schema.
Chapter 6: Installation Options Therefore, you need to maintain both the old and new content stores to run both product versions. You can maintain both content stores using one of the following approaches: copy the ReportNet content store database and use it with IBM Cognos 8 export the ReportNet content store database and import it into IBM Cognos 8
You can upgrade reports at the same time or upgrade them later if compatibility is required with some existing SDK applications. For instructions about running concurrently and upgrading, see the upgrade chapter in the Installation and Configuration Guide.
The tools are available at the IBM Cognos Customer Service Center (http://www.ibm.com/software/ data/support/cognos_crc.html). For instructions about upgrading, see the Migration Tools User Guide.
64
Architect
You can migrate Architect models for use as a metadata source for Framework Manager.
Impromptu
You can migrate Impromptu catalogs and reports to IBM Cognos 8. You use migrated catalogs as a metadata source for Framework Manager. After completing the catalog migration process, you can migrate and deploy Impromptu reports.
Upfront
You can migrate Upfront content to IBM Cognos 8. The migration process maps the Upfront content structure to an IBM Cognos Connection folder structure. By preserving the existing Upfront organization, it is easier to complete administrative tasks, such as applying security to the migrated content.
Transformer
You can use IBM Cognos PowerCubes and Transformer models that were generated by Transformer 7.3 or later directly in IBM Cognos 8. The cubes and models are upwards compatible and require no migration or upgrade tools. You can run reports and analyses in IBM Cognos 8 against the IBM Cognos PowerCubes. If you want to use the new integration features of Transformer with IBM Cognos 8, you can upgrade IBM Cognos Series 7.x Transformer models to IBM Cognos 8 BI Transformer 8.4. This allows you to use IBM Cognos 8 data sources (such as published packages), list reports authored in Query Studio or Report Studio, authenticate using IBM Cognos 8 security, and publish directly to IBM Cognos Connection. Before you load the model, the IBM Cognos Series 7 namespace must be configured in IBM Cognos 8. The name ID that is used to configure the namespace in IBM Cognos 8 must match the name used in IBM Cognos Series 7. For more information about configuring an IBM Cognos Series 7 namespace in IBM Cognos 8, see the Installation and Configuration Guide. For more information about upgrading IBM Cognos Series 7 secured PowerCubes, see the IBM Cognos 8 Transformer User Guide. For IBM Cognos Series 7 PowerCubes to be used in IBM Cognos 8, we recommend that you optimize the cubes for use in IBM Cognos 8 by using the pcoptimizer utility, which is supplied with
66
Chapter 6: Installation Options IBM Cognos 8. Otherwise, PowerCubes that were created with previous versions of Transformer may take too long to open in the IBM Cognos 8 Web studios. This optimization utility is suitable for older PowerCubes when the model no longer exists or the data used to build the PowerCube is no longer available. It is not necessary to run this command line utility for cubes created in Transformer 8.4. For more information about optimizing PowerCubes, see the Transformer User Guide. You can publish PowerCubes using Transformer 8.4, Framework Manager, or directly in the IBM Cognos 8 portal. You can publish single PowerCube data sources and packages to IBM Cognos Connection interactively in Transformer or in the command line. You can also publish silently using batch scripts after building a PowerCube. A user who has privileges to create data sources and packages in IBM Cognos Connection can publish PowerCubes in IBM Cognos Connection as well. The MDC file must be in a secured location that the IBM Cognos 8 dispatcher can access. Packages that use multiple PowerCubes or PowerCubes mixed with other data sources should be published using Framework Manager. If you use an IBM Cognos Series 7 PowerCube as a data source, IBM Cognos 8 converts the cube data from the encoding that was used on the system where the PowerCube was created. For a successful conversion, IBM Cognos Series 7 PowerCubes must be created with a system locale set to match the data in the PowerCube.
Data Manager
Data Manager is used to create data warehouses and data repositories for reporting, analysis, and performance management. When Data Manager is installed in your IBM Cognos 8 environment, you can use the Data Movement Service to run builds and JobStreams in IBM Cognos Connection. You must install the Data Manager engine in the same location as your IBM Cognos 8 Application Tier Components. Both Data Manager and IBM Cognos 8 BI must be the same version.
Chapter 6: Installation Options functionality for the products described below: use the Upfront portal in the IBM Cognos 8 portal or duplicate queries, visualizations, or objects by using IBM Cognos 8 studios.
IBM CognosScript
You can duplicate automation functionality using the IBM Cognos 8 Software Development Kit.
68
Capacity Planning
Planning for capacity means determining the hardware needed for your system to perform well under its anticipated workload. Capacity planning is a challenge, because it involves many variables, some of which are difficult or impossible to measure. It is the science of measuring known variables and developing an educated estimate of resource requirements on the basis of those measurements. It is also the art of allowing for unknown variables and assessing their impact on the estimates derived from the known variables. To determine your IBM Cognos 8 capacity requirements, gather information about the following: IBM Cognos 8 users Estimate the number of IBM Cognos 8 users you expect to have, and when you expect them to use IBM Cognos 8. application complexity Assess the complexity of the processing that your users will demand of IBM Cognos 8. your infrastructure The characteristics of your environment and infrastructure. Capacity planning is an ongoing process. After implementing IBM Cognos 8, monitor and modify your capacity as necessary to meet your performance expectations.
70
Chapter 7: Performance Planning As a general rule, the ratio of named to active to concurrent users for business intelligence applications is about 100:10:1. In other words, for every 1000 named users there are 100 active users and 10 concurrent users. The concurrency ratio can vary over time, and is affected by many factors. For example, the number of concurrent users relative to active and named users tends to be higher when the user population is small. However, the most important determinant of the concurrency ratio is how processing demand is distributed over time.
By determining when users are most likely to be using IBM Cognos 8 and submitting processing requests, you can decide when to schedule automated processes. This allows you to distribute the processing load evenly over time, so that you make the best use of your system resources to maintain optimal performance. The key to doing this is estimating the number of concurrent users that will be applying load to your IBM Cognos 8 system at any time. Factors such as business hours, business practices, and the geographic distribution of users can determine how the concurrency rate changes over time, and how you choose to ensure adequate capacity. A business intelligence application in which requests are spread evenly throughout the day has a lower peak concurrency ratio than an application in which the majority of requests are limited to a specific time of day. For example, if users are concentrated in one time zone, there will likely be heavy demand during business hours, followed by a period of low demand after hours. In this situation, you may be able to manage peak and non-peak time periods by sharing hardware resources between interactive and noninteractive processes. You would schedule automated activity to run in non-peak times to produce content for retrieval by interactive users in peak times. On the other hand, if your user population is distributed across several time zones, user load on the system tends to be spread out over more hours, and there are fewer available non-peak hours for scheduled activities. In this situation, you may choose to dedicate separate hardware resources for interactive and noninteractive use.
Chapter 7: Performance Planning These are reports for which multiple users require filtered data based on a predetermined schedule. Burst reports are used when a common report format is applicable to more than one recipient, but each recipient requires customized information. Scheduling is most useful for reports based on data that is updated on a predictable and cyclical basis. For example, an organization may need to produce sales reports based on information from the previous day, and make them available to users at the start of each business day. If users generate these reports at the beginning of each day, it creates considerable load on the system. By scheduling the reports to be triggered by data refresh, and run during non-peak times, the capacity required at peak times is reduced. For information about tuning report scheduling and bursting after IBM Cognos 8 is implemented, see "IBM Cognos 8 Tuning" (p. 88). For information about how to schedule reports, see the Administration and Security Guide.
Chapter 7: Performance Planning Use the gateway type most appropriate for your environment. For example, for some environments, ISAPI or Apache may provide better performance than CGI. The complexity of your security infrastructure can increase response time. As your security infrastructure becomes more complex, a user request must be validated more frequently. For example, if you implement multiple network firewalls, each firewall must validate every request that passes through it. This can increase the time taken to complete the request. In addition, if you use SSL, the overhead of SSL encryption adds both processing overhead and size to the response. Because notification service generates additional email traffic, ensure that your mail server can scale to support the increased load.
Chapter 7: Performance Planning additional storage items Additional storage items, such as transaction logs and temporary space requirements, increase the size of the content store required.
Factor
Number
Saved reports: 1-10 pages (2 per user for Public 1001 and Myfolder copies at 340 Kb per report) Saved reports: 10-100 pages (9 per user for 4 5,004 Public and 5 Myfolder copies at 440 Kb per report) Saved custom views: 1-100 rows (3 per user, 3,000 all Myfolders at 250 Kb per view) Saved custom views: 100-1000 rows (8 per user, all Myfolders at 350 Kb per view) Folders (Public and Myfolders) Framework Manager models Framework Manager models (tables) 8,000
2,201,760
750,000
2,800,000
1,025 15 25
Framework Manager models (query subjects) 50 Schedules (day and week) 74 175
Factor
Number
----
*As a rule of thumb, the ratio of named to active to concurrent users is 100:10:1. However, the ratio varies with the environment. For more information, see "Estimating Concurrent Users" (p. 70). For more information about capacity planning, visit the IBM Cognos Customer Service Center (http://www.ibm.com/software/data/support/cognos_crc.html).
Scalability Planning
Scalability is the ability of a system to adapt to increased processing demands in a predictable way, without becoming too complex, expensive, or unmanageable. As you deploy a system to larger numbers of users, often in different locations and time zones and with different language requirements, scalability becomes increasingly important. IBM Cognos 8 was designed for scalability. It scales vertically using more powerful computers, and horizontally using a greater number of computers. How you install and configure IBM Cognos 8 components can enhance its scalability.
Load Balancing
Load balancing spreads tasks among all available processors. It is important in any system, and is a key to processing capacity and scalability. In IBM Cognos 8, load balancing means ensuring that processing requests are distributed appropriately among all the available IBM Cognos 8 servers. IBM Cognos 8 does this automatically, but you can configure load balancing as well.
This extra step can be avoided by either implementing load balancing without an external load balancing mechanism, or by using a router or other load balancing mechanism.
76
This ensures that the processing capacity of the IBM Cognos 8 servers is directed toward serving report requests rather than load balancing requests. You can also achieve load balancing by having gateways direct all traffic to an IBM Cognos 8 server computer that is dedicated to dispatching, as shown in the following diagram.
Web server gateway Web server gateway Web server gateway
Dispatcher
This configuration also removes dispatching load from the IBM Cognos 8 servers. However, it does require separate dispatching computers.
You can use an external load-balancing mechanism to distribute requests to dispatchers across all available servers, as shown in the following diagram.
load balancing
You can also use routers with multiple gateways, as shown in the following diagram.
Web server gateway Web server gateway Web server gateway
load balancing
An ideal load-balancing mechanism provides the same capacity awareness as an IBM Cognos 8 dispatcher. To ensure that requests are not distributed by both an external load-balancing mechanism and the dispatcher, you must configure the dispatchers to not use their built-in load balancing for low affinity requests (p. 78). This ensures that requests remain at the server where the hardware load balancer directed them.
Request Affinity
Affinity refers to whether a request is assigned to a specific server or whether a load-balancing mechanism can assign it to another server. Affinity between request and server ensures that requests are routed to an appropriate computer for processing. IBM Cognos 8 uses the following types of affinity: absolute, control, high, low, session, and server. The cancel operation is handled with a dedicated connection and does not have an affinity type. To ensure that requests are managed efficiently and load is balanced, IBM Cognos 8 uses request affinity to route some requests. For example, requests are routed back to the IBM Cognos 8 server that handled earlier, related requests. IBM Cognos 8 does this automatically. The use of one or more load-balancing mechanisms does not disrupt request affinity processing.
78
Chapter 7: Performance Planning ReportService connections can be defined as AffineConnections or NonAffineConnections. AffineConnections accept only absolute and high affinity requests. NonAffineConnections accept all types of reportService requests.
Absolute Affinity
Absolute affinity requests are always routed back to the server that processed the original request. If the server is not available, the request fails. For example, when a user cancels a running report, absolute affinity routes the cancel request back to the executing process. Absolute affinity is used to create an association between the client and the executing server to ensure that long-running requests do not time out. IBM Cognos 8 routes absolute affinity requests to a specific server, regardless of the load balancing used. An absolute affinity request is used with operations such as getOutput and release.
Control Affinity
Control affinity requests are routed in the same way as absolute affinity requests. A control affinity request is reserved for system operations such as wait and cancel.
High Affinity
High affinity requests can be processed on any of a number of servers, but resource consumption is minimized if the request is routed back to the executing process. The dispatcher routes a high affinity request to the server that is specified by the conversation context node ID. If the specified server is not available, the request is routed to any available server. For example, when a pageDown command is run while reading a report, the command can be run most efficiently by using the process that served up the page that is shown. If that process is not available because the administrator shut down the computer or there was a network failure, the request is routed to another available process. The next page can still be served up, although the process will be slower. IBM Cognos 8 routes high affinity requests to a specific server regardless of the load balancing used. A high affinity request is used with the following operations: back, email, firstPage,
forward, lastPage, nextPage, previousPage, print, render, save, and saveAs.
Low Affinity
Low affinity requests will operate just as efficiently on any computer. For example, a report request can run on any computer in the IBM Cognos 8 system. A low affinity request is used with the following operations: add, collectParameterValues,
execute, getMetadata, getParameters, query, testDataSourceConnection, update, and validate.
For more information about affinity in IBM Cognos 8, see "Setting Affinity Connections" (p. 90).
Session Affinity
Session affinity requests are routed according to the conversation context node ID. If the node ID is present, they are routed in the same way as a high affinity request. If the node ID is absent, they are routed in the same way as a low affinity request. Session affinity is used with the query reuse
Chapter 7: Performance Planning feature: when query reuse is turned on and you run a report for the first time, the query is stored in the cache of your current session and reused the next time you run the report. For more information, see the Framework Manager User Guide.
Server Affinity
Server affinity requests are routed in the same way as absolute affinity requests.Server affinity is used for data source testing in administration: an administrator can test the connection to a new data source. For more information, see the topic about creating a data source in the Administration and Security Guide.
80
Content Manager
Content Manager, which can be installed in Tier 2 or 3 of IBM Cognos 8, stores information in the content store. To allow fast retrieval, Content Manager builds an in-memory cache to service many requests. This ensures optimal performance and enhances scalability by limiting the number of database reads required to meet user requests. In the single Content Manager process, multiple threads can concurrently service requests for content. Content Manager creates one or more threads for each user request. Performance depends on the power of the central processor unit (CPU) of the computer on which Content Manager is installed. To increase scalability, use a larger computer capable of managing more concurrent request threads. When scaling up Content Manager, be sure to scale up the content store relational database management system so that it does not impede Content Manager performance.
Other Services
The scalability of the presentation service, job and schedule monitor service, and log service, is primarily dependant on the CPU size and the available memory. These components can be scaled in two ways: vertically, by using a larger computer capable of managing more concurrent request threads horizontally, by running the services on additional computers
There is no specific configuration to tune these components. However, you can view the load-balancing configuration set by the server administrator to determine how much load is given to each computer running these services.
Availability Planning
Availability is the ability of a system to withstand or recover from exceptional situations, such as a computer failure. All IBM Cognos 8 components have built-in failover features to ensure that IBM Cognos 8 handles exceptions well. You can configure components in each of the IBM Cognos 8 tiers to enhance availability. As a general rule, make all IBM Cognos 8 components available on at least two computers. If the computer on which a IBM Cognos 8 component is running fails, another computer takes over. If, for tuning reasons, you are not running all IBM Cognos 8 components on every IBM Cognos 8 server, ensure that each component is running on at least two servers. In the event of a computer failure, the remaining component processes requests. Performance may degrade, but there will be service.
Chapter 7: Performance Planning In the unlikely event of a failure, the IBM Cognos 8 gateway and IBM Cognos Application Firewall are restarted automatically by the Web server.
82
84
Performance Metrics
You can monitor current system performance using metrics. You can assess the status of the system as a whole, as well as the status of individual servers, dispatchers, and enabled services.
Chapter 8: Performance Monitoring and Tuning For example, you check the performance metrics and notice that the report service shows a red square indicator, which identifies poor performance. You view the metrics for the report service and determine that the number of requests waiting in the queue exceeds the number that can be processed in a specified length of time. You can then take action to reduce the number of requests waiting in the queue. Metrics are grouped using the following categories: session metrics for monitoring the number of sessions in your system These metrics are collected by Content Manager. queue metrics for monitoring the ability of dispatchers and services to keep up with requests that are waiting in queues For example, queue metrics for services may identify that requests are waiting too long in a queue for processing. There are two types of queue metrics. Global queue metrics, which include the JobQueue, SMTP Queue, and Task Queue, are collected by the monitor service. Service queue metrics are collected by individual services. JVM metrics for monitoring status information such as the length of time a JVM in the IBM Cognos 8 environment has been running and how much memory it is using These metrics are collected by the JVM. service request metrics for monitoring processing times, volume of requests, operational status of services, and response times These metrics are collected by the dispatcher that manages the service. report service metrics for monitoring report service processes These metrics are collected by the dispatcher that manages the report service. The availability of a metric depends on the resource with which the metric is associated. For example, some metrics are available for the system, servers, dispatchers, and services. Other metrics may be available for only a subset of these resources. You define the threshold values that determine whether the status for a resource indicates excellent performance (a green indicator), average performance (a yellow indicator), or poor performance (a red indicator). There are no default threshold values. If you define thresholds, the values are stored in the content store. You can also create an agent that monitors the metrics and notifies you when threshold values are exceeded. For example, you can create an agent that sends you an email when a threshold value is exceeded. When a threshold is exceeded, the dispatcher writes an entry to the logging database. For information about system metrics, including how to define threshold values and notifications, see the IBM Cognos 8 Administration and Security Guide.
86
Database Tuning
The data source used by IBM Cognos 8 is usually a relational database management system, such as IBM DB2, Microsoft SQL Server, or Oracle. To ensure that IBM Cognos 8 continues to perform well, it is important to maintain the performance of your database. This means optimizing it for querying, reporting, and analyzing. If IBM Cognos 8 and other applications demand more of a database than it can provide, or queries are too large for a database to handle efficiently, you may experience increased response times and degradation in IBM Cognos 8 performance and scalability. For information about tuning your database, see its documentation.
Chapter 8: Performance Monitoring and Tuning If the value of this application server setting is too low, users may encounter difficulties when making IBM Cognos 8 requests. It is a good practice to monitor the application server process and its use of connections.
88
Chapter 8: Performance Monitoring and Tuning database only The database server does all the SQL processing and execution. An error appears if any reports or report sections require local SQL processing. Although the database server can usually run the SQL and run reports much faster, local processing is sometimes necessary. For example, choose limited local processing if you want to create cross database joins or if you want report authors to use unsupported SQL99 functions. Some complex queries, such as a query that must generate an At clause to avoid double-counting, require limited local processing. In this case, the query automatically uses limited local processing even if the package was published with database only processing. For more information, see the Framework Manager User Guide.
Tuning the Report Service, Batch Report Service, and Report Data Service
The report service, batch report service, and report data service have several settings that you can configure to optimize the use of resources. There are a number of processes associated with the report service (p. 20) and the batch report service (p. 20). When these services receive requests from the dispatcher, they start processes to handle the requests. You can specify the maximum number of processes that these services can start at any one time. The number of processes should be configured based on the amount of available capacity provided by IBM Cognos 8 servers. In general, report processing is a CPU-bound process. As a result, the number of CPUs in a server, and the clock rates of those CPUs, are the main variables to keep in mind when adjusting this setting from the default value of 2. For example, a server with four available CPUs should generally be configured to use more batch report service processes than a server with only two available CPUs. Similarly, given two servers with an equal number of CPUs, the server with a significantly faster CPU clock rate should be configured to use more batch report and report service processes. For the report data service (p. 20), you can specify the maximum report size that can be sent. For more information about server administration settings, see the Administration and Security Guide.
90
Chapter 8: Performance Monitoring and Tuning After system resource use is configured to operate efficiently, the number of affinity connections can be tuned for further optimization. Note: If the number of affinity connections per process is set too high, the process may be overburdened with managing connections. This will result in competition for system resources, and requests will take longer to complete due to inefficient use of server resources.
HTML report navigation Top page Page up Page down Bottom page
Chapter 8: Performance Monitoring and Tuning Save Save As Print Email Viewing
IBM Cognos 8 includes the following low affinity activities: report querying reporting report processing
administrative testing data source connections adding objects (folders, jobs, schedules, etc.) refreshing portal page
For more information about affinity, see "Request Affinity" (p. 78). For information about setting affinity connections, see the Administration and Security Guide.
92
Chapter 8: Performance Monitoring and Tuning Jobs can be submitted to run as follows: all at once All activities in a job will execute simultaneously. This execution strategy is particularly useful when the number of activities within a job (or multiple jobs) is less than the total number of low affinity connections available during the execution period. in sequence The activities in a job will execute one at a time, based on their sequence ordering. This execution strategy is particularly useful when the number of activities within a job (or multiple jobs) is more than the total number of low affinity connections available during the execution period. In this case, batch report throughput can be maximized by setting an equal number of jobs as available for low affinity connections. The number of activities per job would be set up so that the total number of activities results in the completion of the batch reporting requirements.
Chapter 8: Performance Monitoring and Tuning Report bursting offers scalability benefits and helps in the effective management of resources. It also reduces network traffic, minimizes database queries, and enables IBM Cognos 8 to process multiple personalized reports in parallel. Report bursting can be driven interactively or through batch activity. By default, report bursting is configured to use one thread for querying and three threads for report assembly using the raw data returned from a report bursting query. Depending on the amount of hardware available, resource use during a burst is influenced by the number of threads configured. Each thread used for assembling personalized reports can typically use one processor. Depending on the available capacity of a server, and on the overlap of burst reporting with other forms of processing, it may be beneficial to adjust the default report bursting thread model. For example, if a single report is being burst, and no other processing activity is being performed on a server, it is best to allocate as many threads for report assembly as there are available processors. The report bursting assembly thread model can be configured to optimize resource use. In the rsvpproperties.xml file located in the c8_location/configuration directory, edit the BurstThreadPoolSize property:
<property>BurstThreadPoolSize</property> <value type="long">3</value>
For information about using the rsvpproperties.xml file, see "Advanced Report Processing Configuration Settings" (p. 96).
PDF Rendering
You can change PDF rendering settings to improve response time. If a user views a one-page document on an idle system, the CPU time is often less than one second. However, PDF files vary in size, and response time is limited by your network speed. To improve response time, you can do the following: Turn off font embedding. Embedding fonts can add 100 Kilobytes or more to each report. Where connection speeds are 56 Kbps or less, we recommend that you turn off font embedding. Avoid uncommon fonts. When you turn off font embedding, report authors should avoid using any fonts that report consumers may not have installed on their computers. If report consumers do not have the font set used by report authors installed on their computers, a default font is substituted. Enable linearized PDF documents. You can enable linearized PDF viewing, known as byte serving, which delivers documents to your users as the pages become available. This is enabled by default in the PDF rendering settings and Adobe Acrobat Reader. For more information about PDF documents, see the documentation provided with Adobe Acrobat.
94
Disk Maintenance
Over time, data on a physical disk becomes fragmented, which can cause performance degradation when writing to or accessing from the disk. Disk defragmentation should be a regular system maintenance activity.
Chapter 8: Performance Monitoring and Tuning For information about using the rsvpproperties.xml file, see "Advanced Report Processing Configuration Settings" (p. 96).
96
Locales
IBM Cognos 8 supports various types of locale. By default, IBM Cognos 8 ensures that all locales, which may come from different sources and in various formats, use a consistent format. That means that all expanded locales conform to a language and regional code setting. In IBM Cognos 8, a locale specification consists of the following parts, separated by a dash (-): The first part is a two-character-set code, such as en, that specifies a language. The second part is a two-character-set code, such as us, that specifies a regional setting.
A locale specifies linguistic information and cultural conventions for character type, collation, format of date and time, currency unit, and messages. More than one locale can be associated with a particular language, which allows for regional differences.
Product Locale
The product locale controls the language of the user interface and all messages, including error messages.
Content Locale
The content locale consists of the language and region combinations that are supported for Content Manager objects, Framework Manager objects, Content Manager data formatting, report data formatting, report text (titles), and database data (if the database tool is configured to use locale).
Server Locale
The server locale ensures that all log messages are in one language. It is configured during installation. In a distributed environment, each IBM Cognos 8 server obtains the server locale from Content Manager. Do not change the server locale after specifying any IBM Cognos groups or roles as part of security modeling within your environment. As well, if more than one Content Manager exists in your IBM Cognos 8 installation, ensure that the server locale is set to the same value for all Content Managers.
Author Locale
The author locale is based on content locale and is the locale used when a report or query specification is created. It determines model binding and literal data formats. Author locales must be supported by the metadata model on which the report is based.
User Locale
Determining the language and locale preferences of users and enforcing an appropriate response locale are important issues when you distribute reports in different languages. A user locale specifies the default settings that a user wants to use for formatting dates, times, currency, and numbers. IBM Cognos 8 uses this information to present data to the user. IBM Cognos 8 obtains a value for user locale by checking these sources, in the order listed: 1. authentication provider
98
Chapter 9: Globalization Considerations If the authentication provider has locale settings that are configured, IBM Cognos 8 uses these values for the user product and content locale. 2. user preference settings If the user sets the user preference settings in IBM Cognos Connection, IBM Cognos 8 uses these settings for the user product and content locale and for default formatting options. The user preference settings override the values obtained from the authentication provider. 3. browser cookie Anonymous and guest users cannot set user preference settings. For these users, IBM Cognos 8 obtains a user locale from the browser cookie stored on the computer.
Run Locale
Run locale refers to a user product and content locales for a specific IBM Cognos 8 session. IBM Cognos 8 obtains a value for run locale by checking these sources, in the order listed: 1. URL 2. user account object in the content store 3. account information from the authentication provider Product locale is used, if specified. Otherwise, content locale is used. 4. language settings in the browser Each entry in the locale list for the browser is checked against the product mapping table, and then against the content locale mapping table (p. 102). 5. server locale for the Content Manager computer
Chapter 9: Globalization Considerations When generating a PDF, IBM Cognos 8 embeds only the glyphs that are used in the report. If you plan to use different fonts, you must license and install those fonts on each server computer in your authoring environment and production system. You must also ensure that the fonts used in the authoring environment match the fonts used on your Windows and UNIX server computers. For information about configuring fonts and about mapping substitute fonts, see the Installation and Configuration Guide.
Embedded Fonts
To ensure that PDF reports appear correctly in Adobe Reader, IBM Cognos 8 embeds required fonts in reports by default. To minimize the file size, IBM Cognos 8 embeds only the characters (also called glyphs) used in the report rather than all characters in the font set. IBM Cognos 8 embeds fonts only if they are licensed for embedding. The license information is stored in the font itself and is read by IBM Cognos 8. If you are confident that the fonts used in reports are available on users computers, you can limit or eliminate embedded fonts to reduce the size of PDF reports. When limiting fonts, you specify whether a font is always or never embedded, using an embedded fonts list in IBM Cognos Configuration. For more information about limiting embedded fonts, see the Installation and Configuration Guide.
100
Chapter 9: Globalization Considerations Determine which languages will be supported in the user interface Ensure that translations exist for all strings that appear in the IBM Cognos 8 user interface, in the languages you require. Install language files on all computers in your distributed environment. Add or remove user interface language support using the Product Locale table on each Content Manager computer. By default, the user sees the product interface in the language that matches the language setting of the user locale. For more information, see the Installation and Configuration Guide. Map unsupported languages to supported languages using the Product Locale Mappings table on each Content Manager computer. You can then select the language to be used in the user interface when the language specified in the user locale is not available. You can ensure that all regions for a locale use the same language, or that a specific, complete locale (language-region) uses a particular language.
Content locale does not apply to PowerCubes, whether they are created in IBM Cognos 8 Transformer or IBM Cognos Series 7 Transformer. Each PowerCube is created with a single language encoding. For multiple languages, a separate PowerCube is required for each language. If you have a multilingual model, you can specify the content locale of query data.
Chapter 9: Globalization Considerations Users can create reports and access data using one of the supported languages, which include: English, French, German, Japanese, Dutch, Finnish, Swedish, Spanish, Italian, Portuguese, Traditional and Simplified Chinese, Korean, Czech, Hungarian, Polish, Romanian, Slovak, Greek, Turkish, Norwegian, Danish, and Russian. The architecture is capable of supporting locales as well as additional languages. Therefore, it is possible to show data in two versions of English, each using a locale, such as en-us (English, United States) and en-ca (English, Canada). User preferences allow the user to specify a locale or use the Web browser locale for both the product and content locale.
When you map partial locales, IBM Cognos 8 does the mapping after checking for a user locale. If all users are using the same Web browser types, mappings behave the same way for all users. However, if you have multiple browsers, results vary. For example, on Internet Explorer, locale identifiers for many European regions do not exist. In other words, the user locale of fr-fr (French, France) cannot be selected. Only the fr (French language identifier) is available. To correct the problem, fr can be mapped to fr-fr, so that the language-region value is returned. Netscape provides region identifiers, so locale mapping is not required to return a value of fr-fr. This distinction may produce inconsistent results for different browser users. On Internet Explorer, where fr is mapped to fr-fr, users receive content that is region specific (fr-fr). On Netscape, where fr does not return a value of fr-fr, users receive content that is not region specific.
102
User Choices
In a Framework Manager model, users can specify the column titles and column descriptions that they want to see in their own language. A report automatically switches to the user preferred language. No action is required by the author. In Report Studio, users can specify a language or locale for report data items, such as calculations, that do not exist in the metadata model text in a report, such as the page title report layouts
Symbol
Shift-JIS
0x81A2 0x81A3 0x81A4 0x81A5
Unicode
U+25B3 U+25B2 U+25BD U+25BC
104
Chapter 9: Globalization Considerations For more information, see the Report Studio User Guide. Specify the language in which a report is viewed. You can use IBM Cognos Connection to do the following: Define multilingual properties, such as a name, screen tip, and description, for each entry in the portal. Specify the default language to be used when a report is run. Tip: You can specify the default language on the run options page, in the report properties, or in your preferences. Specify a language, other than the default, to be used when a report is run. For more information, see the IBM Cognos Connection User Guide. The data then appears in the language and with the regional settings specified in the user's Web browser options the run options the IBM Cognos Connection preferences
Any text that users or authors add appears in the language in which they typed it.
106
Gateway
network firewall Tier 2: Applications Authorization service network firewall JDBC Tier 3: Data Content store Query databases API IBM Cognos 8 server Content Manager IBM Cognos Application Firewall Authentication service
Authentication source
For information about setting up security in IBM Cognos 8, see "Securing the Deployment" (p. 113).
Chapter 10: Security Architecture Cognos Application Firewall will remove this protection, and should not be done under normal circumstances (p. 119). For information about configuring IBM Cognos Application Firewall, see the Installation and Configuration Guide.
For information about configuring third-party authentication providers, see the Installation and Configuration Guide. For information about creating a custom authentication provider, see the Custom Authentication Provider Developer Guide, available when you purchase the IBM Cognos 8 software development kit. For information about anonymous access and authenticated access, see "Request Flow Processing" (p. 33).
Cognos Namespace
IBM Cognos 8 has its own namespace that exists regardless of any additional namespaces that are configured based on third-party authentication providers. The Cognos namespace does not replicate the groups and roles defined in your authentication provider. Instead, you may want to use the Cognos namespace to define groups and roles that can span multiple third-party authentication providers. This practice can add value to your existing groups and roles by reorganizing them for IBM Cognos 8 without changing them in your authentication provider. You can use the Cognos namespace to set up security that links easily with client security systems. For an example, see "Using the Cognos Namespace to Restrict Access" (p. 123). For more information, see the Administration and Security Guide.
108
Single Signon
You can configure IBM Cognos 8 for single signon. Users can then sign on once to an environment that includes IBM Cognos 8 and other programs, without having to sign on each time they move between programs. Implementation of a single signon solution depends on the environment and authentication provider configuration. For more information, see the Installation and Configuration Guide.
Distributed Administration
The IBM Cognos 8 security model supports the distribution of security administration. Because objects in Content Manager, such as folders and groups, can be secured separately, security administration can be assigned to individuals in separate functional areas of the organization. Security administration does not have to be centralized with an Information Technology group or other overall administration group.
Permissions
Permissions define access rights to objects, such as directories, folders, and other content, for each user, group, or role. Permissions also define the activities that can be performed with these objects. IBM Cognos 8 authorization assigns permissions to groups and roles created in the Cognos namespace in Content Manager. These groups and roles are referred to as IBM Cognos groups and IBM Cognos roles. entire namespaces, users, groups, and roles created in third-party authentication providers.
Users
A user entry is created and maintained in a third-party authentication provider to uniquely identify an account belonging to a person or a computer. You cannot create user entries in IBM Cognos 8. The user entry stored in the authentication provider may include information such as first and last names, passwords, IDs, locales, and email addresses. However, IBM Cognos 8 may require additional information, such as the location of the users personal folders or their format preferences for viewing reports in the portal. This additional information is stored in IBM Cognos 8. You can assign users to groups and roles defined in the authentication provider and in IBM Cognos 8. A user can belong to one or more groups or roles. If users are members of more than one group, their access permissions are merged. For more information about users, see the Administration and Security Guide. Architecture and Deployment Guide 109
Cryptographic Services
Cryptographic services ensure that IBM Cognos 8 communications and sensitive data are secure. Encryption is used to secure static data temporary data transient data
Two categories of encryption strength are available for IBM Cognos 8. Basic encryption is the standard IBM Cognos cryptographic service included with IBM Cognos 8. If an assessment of your security risks indicates a need for stronger cryptographic services, you can replace the standard IBM Cognos cryptographic services with one of the enhanced encryption modules. For more information, see "Configuring the Cryptographic Environment" (p. 120).
110
Chapter 10: Security Architecture encryption of temporary files Symmetric algorithms are used to encrypt and decrypt temporary files. Data stored in the database depends on database security to protect it. The standard IBM Cognos cryptographic provider uses an encryption mechanism with keys up to 56 bits. Use it either with the built-in certificate authority (CA), or with a third-party CA.
112
You must ensure that users cannot, either through inadvertent or malicious actions, view data that they are not authorized to view, bypass authentication and authorization mechanisms, steal or violate session states to assume the identity of another user, or escalate existing privileges. You must also prevent users from causing disruptions in service for the application. This information will help you configure an IBM Cognos 8 installation for maximum security. The issues discussed include the environment security, which involves the operating system (p. 114) and network security (p. 118), and the application security (p. 119). All of these areas were considered during the security audit (p. 129) that was conducted on IBM Cognos 8 as part of the developmental cycle. Each customers installation and configuration of IBM Cognos 8 is unique. As a result, the security requirements for each installation and configuration are also unique. This section does not contain complete information about issues involved in securing an IBM Cognos 8 environment. However, it provides guidelines and recommendations that supplement the more detailed information in the IBM Cognos 8 Installation and Configuration Guide. The IBM Cognos 8 security framework is based on the industry standard approach to securing Web applications. This involves addressing security issues during the design and development of functional areas that are vulnerable to security threats. The following IBM Cognos 8 functional areas were developed with special attention to security.
Session Management
Session management supports appropriate access control. It relies on strong session identifiers that are difficult to guess. The effectiveness of the security strategy depends on the type of session management systems used, the information that they include, and where in the program cycle the sessions are validated.
Transport Security
Transport security is used during transmission to secure transactions that contain sensitive information when untrusted networks are used. The effectiveness of the security strategy depends on how data is encrypted.
Encryption
Encryption protects sensitive data, such as account credentials and personal information. The effectiveness of the security strategy depends on how data is encrypted and stored.
Administration
Administrative access includes the right to add and remove users, provide group and role-based access, and configure application components. Administrative access should be restricted to appropriate individuals. The effectiveness of the security strategy depends on how the application is administered, the configuration of administrative options for security, and how these options are protected.
114
User Accounts
Limit the number of user accounts on the server computers. Unnecessary and legacy user accounts increase system complexity and may present system vulnerabilities. Fewer user accounts reduces the amount of time administrators spend on account administration. Ensure that only a few trusted users have administrative access to the server computers. Fewer administrators make it easier to maintain accountability. The administrators must be competent. Assign the minimum required access permissions for the account that runs the application. If attackers obtain access to the application, they have the permissions of the user who runs the application.
Account Policies
Develop and administer password policies that promote operating system security. Examples of such policies are the strong password rule and the password change schedule. Test the strength of users passwords by breaking the passwords. The users who do not comply with the strong password rule receive a notification to update their passwords according to the organization password policy. Software is available to help you with this task. On UNIX, activate the shadow password file. On UNIX, passwords are stored in the /etc/passwd file. This file is open to everyone, which presents a security risk. To enhance password security, activate the shadow password file named /etc/shadow. If this file is available, passwords are stored in it instead of the passwd file. Because permissions for the /etc/shadow file are more restrictive, the security risk is lower.
File System
Grant the users read-only permissions for required directories. If attackers obtain access to an application, they have the user permissions. Deny access by default. Access to resources is denied for everyone except for the users to whom access is granted explicitly. You can deny read and write permissions for all directory structures for all users. Only users to whom these permissions are granted explicitly have access to the directories and files. This policy also protects any resources that were overlooked by an administrator.
Network Services
Provide the minimum number of required services on the server computer.
Chapter 11: Securing the Deployment Use only the services that you need to run the application. Each service is a potential entry point for a malicious attack. Reducing the number of running services also makes your system more manageable. For example, you may not need the ftp, rlogin, or ssh services. Reduce the level of access permissions for the network services users. Network services are exposed to the public. Ensure that the user accounts that have access to the Web server do not have access to the shell functions. Ensure that unused services do not exist in the rc files, rc0 through to rc6, in the /etc directory on UNIX and Linux. Ensure that unused services are not running, and that they do not start automatically on Windows. Ensure that required services are running on UNIX. You can use the ps and netstat utilities to see the running services. The ps utility gives a list of processes currently running on the computer. The netstat utility provides a list of ports that are currently in use. Reduce the number of trusted ports specified in the /etc/services file. Delete or comment out the ports that you do not plan to use to eliminate possible entry points to the system. Protect your system against NetBIOS threats associated with ports 137, 138, and 139. These ports are listed in the /etc/services file. Use wrapper services, such as iptables. Ensure that the services are current by checking often for security updates. Avoid using services that have a graphical user interface (GUI), if possible. Such services introduce many known security vulnerabilities.
System Patches
Run the latest, vendor-recommended patches for the operating system. The patches may be core OS patches, or patches required by additional applications. Schedule regular maintenance of security patches.
116
Chapter 11: Securing the Deployment You may need third-party software to do this.
System Integrity
Build production systems from a known and repeatable process to ensure the system integrity. Check systems periodically against snapshots of the original system. Use available third-party auditing software to check the system integrity. Back up the system resources on a regular basis.
Web Servers
Consider implementing the following security best practices for all types of Web servers: Remove any unused virtual directories. Grant read, write, and execute permissions explicitly for each Web site and virtual directory. Create a root directory for the Web server. For Apache, this is known as chrooting. For IIS, you can assign the root Web site to a specific directory. The user who runs IIS can be given read and write permissions for this directory. All other user permissions can be removed. Ensure that access permissions for the physical files are set up properly. Only some users require read and write permissions for these files. Remove unwanted default mappings, such as for applications with the .htr, .idc, .stm, .printer, and .htw file extensions. Enable secure sockets layer (SSL) on the Web server. SSL is used to encrypt a users communication with the Web server. For more information, see the section about configuring the Web server in the Installation and Configuration Guide. For Apache, also implement the following best practices: Enable only the required modules.
118
Chapter 11: Securing the Deployment Ensure that your Apache installation hides version information and other sensitive information. Turn off directory browsing. Configure the Web server to restrict access by IP address. Ensure that error logging and access logging are enabled. These types of logging are controlled by the ErrorLog and mod_log directives in the configuration file. For IIS, also implement the following best practices: Disable protocols, such as ftp, if they are not used. Enable logging in the configuration tool. Disable Remote Data Service if it is not required. Remove sample applications, such as \\IISSamples, \IISHelp, and \MSADC. Set access permissions for the winreg registry key. Only administrators require access to this key.
120
Chapter 11: Securing the Deployment ated and imported. For more information, see the section about configuring IBM Cognos 8 components to use a third-party certificate authority in the Installation and Configuration Guide. For internal systems that are not exposed to the Internet, you can set up your own CA using the open source software OpenSSL. IBM Cognos 8 does not support self-signed certificates because they do not adhere to the public key infrastructure (PKI) principles.
Additionally, for deployments that use enhanced encryption, cipher suites with keys greater than 56 bits are supported.
Enabling SSL
When you use secure sockets layer (SSL), you protect the data crossing between the Web servers, application servers, and LDAP servers. Except for the Web servers, the servers are internal and protected by a firewall. You can usually rely on the network security for external network links. If this security is not enough, SSL should be enabled for communications between IBM Cognos 8 components and other servers. Enabling SSL requires a certificate authority (CA) (p. 120), and an administrator with a good knowledge of the public key infrastructure (PKI) technology and SSL. You can configure IBM Cognos components to use the SSL protocol for
Chapter 11: Securing the Deployment internal connections If you configure SSL only for internal connections, IBM Cognos components on the local computer communicate using this protocol. The dispatcher listens for secure connections on a different port than for remote, HTTP requests. Therefore, you must configure two dispatcher URIs. If you use Tomcat to run IBM Cognos 8, you configure the SSL protocol in IBM Cognos Configuration. If you use a different type of application server, the SSL protocol must be configured on the application server. external connections If you configure SSL only for external connections, communications from remote IBM Cognos components to the local computer use the SSL protocol. You must configure the dispatcher to listen for secure remote requests on a different port than local HTTP requests. You must also configure the Content Manager URIs and the dispatcher URI for external applications to use the same protocol and port as the external dispatcher. For externally accessible Web servers, SSL should always be enabled. For more information, see the Installation and Configuration Guide internal and external connections If you configure SSL for all connections, the dispatcher can use the same port for internal and external connections. Similarly, if you do not use SSL for local or remote communication, the dispatcher can use the same port for all communications. You must also update the Content Manager URIs, dispatcher URI for external applications, and Gateway URI to use SSL, if required. LDAP connections If you use an LDAP directory server, you can enable LDAPS, the secure LDAP protocol, for communications between the Access Manager component of Content Manager and the LDAP directory server. Unsecured LDAP traffic is transmitted as clear text. To enable LDAPS, you must install a server certificate that is signed by a certificate authority (CA) in your directory server, create a certificate database to contain the certificates, and configure the directory server and the IBM Cognos 8 LDAP namespace to use LDAPS. For more information, see the sections about configuring LDAP authentication providers in the Installation and Configuration Guide. For more information about configuring the SSL protocol, see the Installation and Configuration Guide.
122
Chapter 11: Securing the Deployment Grant read and write permissions for the temp directory only to the IBM Cognos 8 service account. Deny all other accounts any access. The temp directory can be in the default c8_location\temp location, or in a different location, as specified in IBM Cognos Configuration. Enable encryption of temporary files. Because encrypted content is unintelligible, it is useless for potential attackers. Encrypting temporary files may affect performance. For more information, see the section about configuring temporary files properties in the Installation and Configuration Guide.
Chapter 11: Securing the Deployment Add the user accounts, groups, and roles created in your authentication provider to the Cognos namespace. remove the group Everyone from the built-in and predefined IBM Cognos groups and roles By default, the group Everyone is a member of all built-in and predefined groups and roles in the Cognos namespace. For more information about managing groups and roles in IBM Cognos 8, see the Administration and Security Guide. For more information about configuring IBM Cognos 8 to use an authentication provider, see the Installation and Configuration Guide.
Using Roles
The roles for this technique are created using Sun Java System directory server. For more information about creating this type of roles, see the Sun Java System documentation. Ensure that the following parameters are properly defined in IBM Cognos Configuration, in the Security, Authentication category. User lookup Configure the user lookup string to contain the attribute that will be used to authenticate against the ${userID} variable. This variable takes the user name entered at logon and substitutes the variable with the value before passing the search string to the directory server. The distinguished name (DN) of the role must also be included in the string. Here is an example of the lookup string: (&(uid=${userID})
(nsrole=cn=Cognos8,ou=people,dc=cognos,dc=com))
In this example, all members of the IBM Cognos 8 role located in the organizational unit (ou) named people have access to IBM Cognos Connection. Use external identity? Set the value to True if single signon is enabled. External identity mapping Specify this property if Use external identity? is set to True.
124
Chapter 11: Securing the Deployment Construct a string to locate a user in the LDAP directory server. At logon time, the environment variable ${environment("REMOTE_USER")} in this string is replaced by the user name. In the following example, the Web browser sets the environment variable REMOTE_USER that matches the user's uid attribute:
(&(uid=${environment("REMOTE_USER")}) (nsrole=cn=Cognos8,ou=people,dc=cognos,dc=com)).
In some cases, the REMOTE_USER variable, which is typically in the DOMAIN\username format, may not match any of the user's uid attributes. To solve this problem, include the replace function in the string, as in the following example:
(&(uid=${replace(${environment("REMOTE_USER")},"ABC\\","")}) (nsrole=cn=Cognos8,ou=people,dc=cognos,dc=com))
If the replace function is included, the domain name, ABC in this example, is replaced with a blank string, and only the user name is passed to the directory server. The domain name is case sensitive in this context. After the role is created, configure it for access to IBM Cognos Connection using IBM Cognos Configuration. The role can also be added to the Cognos namespace.
Using Groups
The groups for this technique are created using Active Directory. This technique involves modifications to the user lookup string. Because Active Directory does not have this property, it cannot be used. Instead, the associated LDAP provider is used. Ensure that the following parameters are properly specified in IBM Cognos Configuration, in the Security, Authentication category. User lookup Configure the lookup string to contain the attribute that will be used to authenticate against the ${userID} variable. This variable takes the user name entered at logon and substitutes the variable with the value before passing the search string to the directory server. The distinguished name (DN) of the group must also be included in the string. Here is an example of the lookup string: (&(sAMAccountName=${userID})
(memberOf=cn=ReportNet,ou=Groups,dc=cognos,dc=com))
Use external identity? Set the value to True if single signon is enabled.
External identity mapping Specify this property if Use external identity? is set to True. Construct a string to locate a user in the LDAP directory server. At logon time, the environment variable ${environment("REMOTE_USER")} in this string is replaced by the user name and then the string is passed to the directory server.
Chapter 11: Securing the Deployment In the following example, the Web browser sets the environment variable REMOTE_USER that matches the user's uid attribute. Instead of substituting the hard-coded sAMAccountName value with ${userID}, the environment variable is read from the browser session.
(&(sAMAccountName=${environment("REMOTE_USER")}) (memberOf=cn=Cognos8,cn=Groups,dc=cognos,dc=com))
After the group is created, configure it for access to IBM Cognos Connection using IBM Cognos Configuration. The group can also be added to the Cognos namespace.
If users from only the East OU need access to IBM Cognos Connection, the values can be specified as follows.
Property
Base Distinguished Name User lookup
Value
ou=East, ou=people, dc=abc, dc=com uid=${userID}
If users from both East and West OUs require access, the values can be specified as follows.
Property
Base Distinguished Name User lookup
Value
ou=people, dc=abc, dc=com (uid=${userID})
The parentheses () in the User lookup property are used as a filter that can search all OUs located under the specified Base DN. In the first example, only the East OU is searched for user accounts. In the second example, both the East and West OUs are searched.
126
Chapter 11: Securing the Deployment However, in both of the above examples, groups are excluded from access to IBM Cognos Connection because they are located in a different branch of the directory tree than users. To include both the groups and users, the Base DN must be the root of the directory tree. The values would then be as follows.
Property
Base Distinguished Name User lookup
Value
dc=abc, dc=com (uid=${userID})
As a result, all users in the directory have access to IBM Cognos Connection. The last example shows that using OUs may not always be the most efficient way of securing access to IBM Cognos Connection. You can use this method if you want to grant access for all users in a particular OU. If you want to grant access only for specific users, you may want to consider creating a designated IBM Cognos 8 group or role in your directory server, and granting this group or role access to IBM Cognos Connection (p. 124).
To use secured PowerCubes from IBM Cognos Series 7 in IBM Cognos 8, you must have a Series 7 namespace configured as an available authentication provider. PowerCubes that you create in IBM Cognos 8 can be secured against any available authentication provider. For more information, see the Transformer User Guide or the Administration and Security Guide.
Chapter 11: Securing the Deployment deny execute permissions explicitly for all users, groups, and roles that do not need the signons This ensures that access is not permitted through an unknown membership. For more information about data source signons, see the Administration and Security Guide.
128
Security Audit
A methodical security audit was conducted on IBM Cognos 8 to check the effectiveness of the implemented security strategy. The following distributed installation was used during the audit.
Internet
network firewall
Dispatcher 1 on Solaris
Dispatcher 2 on Solaris
network firewall
Authentication provider: LDAP Content store: SQL Server Gateway onHP HPUNIX UNIX Gateway on Samples: Oracle 10 Server
130
Index
Symbols
.xml configuration files, 45 architecture communications, 27 scalability, 75 security, 107 workflow, 43 audience of document, 7 audit logs log destinations, 28 See Also log messages See Also troubleshooting authenticated access, 35 authentication, 108 authentication providers Active Directory, 123 Series 7 namespace, 127 Sun Java System, 123 authorization services, 109 author locale, 98 availability, 69 Content Manager, 82 content store, 83 IBM Cognos 8 gateway, 81 IBM Cognos 8 server, 82 maximizing, 81 planning, 81
A
absolute affinity, 79 accessing IBM Cognos 8, 34 anonymous access, 34 authenticated access, 35 Access Manager, 24 Active Directory, 123 ActiveX, 14 administration, 47 distributed, 109 IBM Cognos Connection, 47 affinity high, 90 IBM Cognos 8 activities, 91 low, 91 request, 78 setting, 90 agents running, 40 agent service, 20 analysis Analysis Studio, 16 running, 36, 38 viewing, 36 Analysis Studio, 16 Apache Tomcat, 82 memory settings, 87 Apache Web server, 118 application servers SSL, 121 tuning, 87 applications tier, 19 Application Tier Components, 19 installing, 58 log server, 28 Architect models migration to IBM Cognos 8, 65
B
balancing loads, 28 batch report service, 20 batch report services tuning, 90 best practices security, 113 BI Bus API, See IBM Cognos 8 BI Bus API browsers configuring, 46, 99 fonts in HTML reports, 99 builds running in IBM Cognos Connection by using Data Movement service, 67 bursting reports, 93
Index
C
capacity planning, 69 infrastructure components, 72 certificate authority, 110, 120 CGI, See common gateway interface cipher strength, 120 cipher suites, 121 coglocale.xml files, 45 Cognos namespace, 46, 108 securing IBM Cognos Connection, 123 cogstartup.xml files, 45 common gateway interface, 18 common symmetric key, 82 in encryption, 110 communications, 27 components IBM Cognos 8, 55 installing, 55 startup configuration, 45 Composite Information Server, See IBM Cognos 8 Virtual View Manager compressing PDF reports, 24 configuration browsers, 99 fonts, 99 multi-lingual reporting, 46 planning, 53 security, 46 startup, 45 Web browsers, 46 configuration files, 45 connecting to database, 31 connection limits setting, 87 connections low bandwidth, 95 content locale, 98 content locales, 101 mapping, 102 Content Manager, 19, 22 availability, 82 installing, 58 log server, 28 scalability, 80 standby, 19, 80 Content Manager service, 20 132
content providers, 24 content store, 24 availability, 83 securing, 128 sizing, 73 control affinity, 79 cookies browser settings, 99 copyright material printing, 9 creating models, 47 packages, 47 reports, 49 cryptographic keys common symmetric key, 110 encryption key pair, 110 signing key pair, 110 cryptographic providers, 120 cipher strength, 120 enhanced, 111 standard, 110 cryptographic services, 110 cryptography configuring, 120 CSK, See common symmetric key currency, 103
D
data data sources, 24 multilingual, 104 database configuring for multilingual reporting, 105 modeling, 48, 50 tuning, 87 database connection management, 31 content store database, 31 metric store databases, 32 query databases, 32 data integration service, 20 Data Manager using in IBM Cognos 8 BI, 67 Data Movement service using in IBM Cognos Connection, 67
Index data source signons securing, 127 data tier, 24 dates, 103 DecisionStream requirements to upgrade catalogs to IBM Cognos 8, 64 DecisionStream to IBM Cognos 8 upgrade consideration, 63 default settings browsers, 99 fonts, 99 security disabled, 107 delivery service, 20 diagnostics, See troubleshooting disk maintenance, 95 dispatcher metrics, 85 dispatchers, 19 load balancing, 76 logging, 107 tuning, 89 dispatching, 28 local preferred, 28 distributed administration, 109 distributing requests, 28 fonts configuration, 99 installing, 46 formats numbers, 103 Framework Manager, 17 configuration requirements, 61 installation options, 61 modeling, 48, 50 packages, 48
G
gateways IBM Cognos 8, 18, 56 installing, 56 scalability, 75 globalization considerations, 97 groups, 110 securing IBM Cognos Connection, 124
H
help getting, 9 high affinity, 79 HTML reports running, 36, 37 viewing, 36
E
enabling SSL, 121 encryption enhanced module for Entrust, 111 enhanced module for Open SSL, 111 key pairs, 110 key size, 111 strong, 111 Enterprise Information Integrators, 25 Entrust enhanced encryption module, 111 event management service, 20 Event Studio, 16 Excel, See Microsoft Office
I
IBM Cognos 8 accessing, 34 communications, 27 configuring, 45 dispatchers, 22 gateways, 18 installing, 44 performance tuning, 85 scalability, 75 security, 107, 110 services, 22 tuning, 89 user interfaces, 13 workflow, 43 IBM Cognos 8 BI Bus API, 27 IBM Cognos 8 Go! Office, 17, 32, 50
F
finding information, 8 firewalls, 19, 107 Framework Manager installation, 62
Index IBM Cognos 8 Go! Search using to search IBM Cognos 8 BI content, 67 IBM Cognos 8 servers, 19 availability, 82 monitoring, 95 IBM Cognos 8 services scalability, 80 IBM Cognos 8 Virtual View Manager, 25 IBM Cognos Administration, 15 IBM Cognos Application Firewall, 19, 107, 119 IBM Cognos BI Bus API, 27 IBM Cognos Configuration, 45 user interfaces, 13 IBM Cognos Connection, 14 opening a folder, 39 securing, 123, 124, 126 IBM Cognos Content Database, 24, 25 IBM Cognos Controller data access in IBM Cognos 8, 66 IBM Cognos DecisionStream requirements to upgrade catalogs to IBM Cognos 8, 64 IBM Cognos Finance data access in IBM Cognos 8, 66 IBM Cognos Go! Mobile mobile reports, 67 IBM Cognos Metrics Manager requirements to upgrade to IBM Cognos 8, 64 upgrading to IBM Cognos 8, 63 IBM Cognos NoticeCast duplication of functionality in IBM Cognos 8, 68 IBM Cognos Planning - Analyst data access in IBM Cognos 8, 66 IBM Cognos Planning - Contributor data access in IBM Cognos 8, 66 migration to IBM Cognos 8, 65 IBM Cognos Portal Services migration overview, 68 IBM Cognos PowerPlay Web requirements to upgrade reports to IBM Cognos 8, 64 IBM Cognos Query duplication of functionality in IBM Cognos 8, 68 IBM Cognos Report Studio, 49 IBM Cognos Resource Center, 9 IBM CognosScript migration overview, 68 IBM Cognos Series 7 migration to IBM Cognos 8, 65 IBM Cognos Series 7 PowerCubes requirements for successful language conversion, 66 IBM Cognos Visualizer duplication of functionality in IBM Cognos 8, 68 IBM Cognos Web Services migration overview, 68 IBM WebSphere Portal, 14 IIS Web server, 118 implementation planning, 44 checklist, 53 Impromptu catalogs and reports migration to IBM Cognos 8, 65 Impromptu Web Reports migration to IBM Cognos 8, 65 information finding, 8 installation Application Tier Components, 58 components, 44 Content Manager, 58 fonts, 46 Framework Manager, 61 gateways, 56 Metric Designer, 61 options, 55 planning, 53 setting up security, 110 interfaces, 13 Internet Server API, 18 ISAPI, See Internet Server API
J
job service, 20 JobStreams running in IBM Cognos Connection by using Data Movement service, 67 JVM metrics, 85
L
language restrictions for PowerCubes, 101
134
Index languages supported, 101 user interface, 100 user preferences, 101 LDAP namespaces, 123 load balancing, 75 automatic in IBM Cognos 8, 75 configuring, 76 settings, 28 with external mechanisms, 77 without external mechanisms, 76 load distribution application complexity, 72 concurrent users, 70 estimating, 71 locales author, 98 content, 98, 101 content mapping, 102 description, 98 product, 98, 100 run, 99 server, 98 user, 98, 99 local preferred dispatching, 28 log destinations types of, 28 logging dispatcher, 107 secure, 107 logging database adding metrics, 85 log messages log destinations, 28 remote log server, 28 See Also audit logs See Also troubleshooting logs message processing, 28 service, 21 low affinity, 79 maximizing availability, 81 memory settings Apache Tomcat, 87 messaging, 28 metadata modeling, 48, 50 Metric Designer, 17 configuration requirements, 61 installation options, 61 metrics, performance, 85 Metrics Manager service, 21 metric store, 24 Metric Studio, 16 Microsoft .NET Framework, 17, 32, 50 Microsoft Office IBM Cognos 8 report data, 17 IBM Cognos 8 report data in workbooks and presentations, 50 report data service, 22 migration from other IBM Cognos products to IBM Cognos 8, 65 Migration service, 21 mobile devices using to access reports, 67 modeling, 17 and IBM Cognos 8 performance, 88 databases, 48, 50 metadata, 48, 50 packages, 48 users, 48, 50 models, 48 creating, 47 Framework Manager, 48, 50 publishing, 48 monitor service, 21 multilingual Map Manager, 104 multilingual reporting configuring, 46
N
namespaces Active Directory, 123 IBM Cognos, 123 LDAP, 123 Series 7, 127 Architecture and Deployment Guide 135
M
maintaining disks, 95 Map Manager, 17, 104
Index Sun Java System, 123 network securing, 118 combining cubes from multiple locales, 104 conversion from IBM Cognos Series 7, 104 language restrictions, 101 requirements for successful language conversion, 66 securing, 127 PowerPlay considerations for upgrading to IBM Cognos 8, 63 migrating PowerPlay Web reports to IBM Cognos 8, 65 PowerPlay Web requirements to upgrade reports to IBM Cognos 8, 64 PowerPoint See Microsoft Office, 17 presentations using IBM Cognos 8 data in Microsoft Office PowerPoint, 17 presentation service, 22 printing copyright material, 9 process capacity setting, 89 processing log messages, 28 product locales, 98, 100 prompts, 88
O
OLAP, 17 operating system securing, 114 organizational units (OUs), 126
P
packages creating, 47 Framework Manager, 48 parameter signing, 107 PDF report compression, 24 running reports, 36, 38 viewing reports, 36 PDF rendering, 94 performance application complexity, 72 dispatch times, 28 estimating load distribution, 71 planning, 69 performance metrics, 85 performance tuning, 85 permissions, 109 planning availability, 81 checklist, 53 configuration, 53 implementation, 44, 53 installation, 53 performance, 69 planning data service, 21 planning job service, 21 planning Web service, 21 plannning administration console service, 21 plug-ins, 14 portal pages, 41 portal services, 14 portlets, 41 port usage, 33 PowerCubes access in IBM Cognos 8, 66 136
Q
query processing types, 88 Query Studio, 16, 49 queue metrics, 85 quick tours using, 9
R
related documentation, 7 report bursting, 93 report data using in Microsoft Office, 17, 50 report data service, 22 tuning, 90 ReportNet requirements to upgrade to IBM Cognos 8, 63 upgrading, 63 reports bursting, 71, 93 creating, 49 multilingual, 104 running, 36
Index scheduling, 38, 71, 92 viewing, 36 report service metrics, 85 report services, 22 scalability, 80 tuning, 90 Report Studio, 16 report types capacity planning, 70 request affinity, 78 requests distributing, 28 flow processing, 33 managing, 28 requirements modeling, 48, 50 robustness, See availability roles, 110 securing IBM Cognos Connection, 124 routers using, 77 rsvpproperties.xml files, 96 run locale, 99 running analysis, 36 HTML reports, 36, 37 reports, 36 PowerCubes, 127 temporary files, 122 Web servers, 118 security audit, 129 authentication providers, 108 best practices, 113 configuration, 46 Content Manager, 109 IBM Cognos 8, 107, 110 keys,, 110 See cryptographic keys Series 7 namespace, 127 Series 7 PowerCubes requirements for successful language conversion, 66 server locales, 98 server affinity, 80 server metrics, 85 service request metrics, 85 services agent, 20 authorization, 109 batch report, 20 Content Manager, 20, 22 data integration, 20 delivery, 20 event management, 20 IBM Cognos 8, 22 IBM Cognos Content Database, 24 job, 20 load balancing, 28 log, 21 Metrics Manager, 21 Migration, 21 monitor, 21 planning data, 21 presentation, 22 report, 22 report data, 22 scalability, 80 system, 22 services metrics, 85 session affinity, 79 session metrics, 85 signing key pair, 110 Architecture and Deployment Guide 137
S
scalability, 69, 75 Content Manager, 80 IBM Cognos 8 gateway, 75 IBM Cognos 8 server, 80 planning, 75 Web server, 75 searching IBM Cognos 8 BI content, 67 SecureError, 107 secure logging, 107 secure sockets layer, 110 secure sockets layer, See SSL securing content store, 128 data source signons, 127 IBM Cognos Connection, 123, 124, 126 network, 118 operating system, 114
Index single signon, 109 sizing the content store, 73 SSL application servers, 121 enabling, 121 enabling on Web servers, 118 SSL, See secure sockets layer standby Content Manager, 22 standby Content Manager, 19, 80 startup configuration, 45 files, 45 Sun Java System directory server, 123 system metrics, 85 system service, 22 user load estimating, 70 user locale, 98, 99 users, 109 active, 70 concurrent, 70 named, 70
V
viewing analysis, 36 HTML reports, 36 PDF reports, 36 Virtual View Manager, 25
W T
temporary files securing, 122 thresholds, metrics, 85 tiers applications, 19 data, 24 Web server, 18 Transformer, 17 data access in IBM Cognos 8, 66 troubleshooting logging, 28 tuning application servers, 87 databases, 87 dispatchers, 89 IBM Cognos 8, 85 report services, 90 Web-based user interfaces, 14 Web browsers configuring, 46 Web portal, 14 Web servers, 61 Apache, 118 enabling SSL, 118 IIS, 118 scalability, 75 securing, 118 tuning, 88 Web server tier, 18 Windows-based user interfaces, 16 workbooks using IBM Cognos 8 data in Microsoft Office Excel, 17 workflow, 43
X U
UNIX servers fonts, 99 Upfront migrating content to IBM Cognos 8, 65 upgrading from other IBM Cognos products to IBM Cognos 8, 63 user community size, 70 user interfaces, 13 138 XML configuration files, 45 XML support, 24
Y
Year, in dates, 103